Function at 0x1400081c0
Capabilities:
Check if file exists
Get file attributes

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xd0]
sub rsp, 0x1d0
mov rax, qword [0x140089020]
xor rax, rsp
mov qword [rbp + 0xc0], rax
mov rsi, r8
xor r12d, r12d
mov edi, r12d
mov dword [rsp + 0x34], r12d
lea ecx, [r12 + 1]
call qword [sym.imp.api_ms_win_core_winrt_l1_1_0.dll_RoInitialize]
mov ebx, eax
mov dword [rsp + 0x38], eax
test eax, eax
js 0x140008c6c
xorps xmm0, xmm0
movups xmmword [rbp - 0x28], xmm0
mov qword [rbp - 0x18], r12
mov qword [rbp - 0x10], r12
mov r15, 0xffffffffffffffff
mov r8, r15
nop dword [rax + rax]
inc r8
cmp word [rsi + r8*2], 0
jne 0x140008240
mov rdx, rsi
lea rcx, [rbp - 0x28]
call fcn.140003db0
nop
lea rax, [rsp + 0x58]
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x70], 7
mov word [rsp + 0x58], r12w
lea rax, [rsp + 0x78]
mov qword [rsp + 0x40], rax
lea rdx, [rbp - 0x28]
lea rcx, [rsp + 0x78]
call fcn.140003790
nop
lea r8, [rsp + 0x58]
mov rdx, rax
lea rcx, [rbp + 0x60]
call fcn.140008d30
nop
call fcn.140027560
test al, al
jne 0x140008346
lea rdx, [rbp - 0x68]
call fcn.1400269e0
nop
lea rcx, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae rcx, qword [rbp - 0x68]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400082e2
test al, 0x10
je 0x1400082e2
mov sil, 1
jmp 0x1400082e5
xor sil, sil
mov rdx, qword [rbp - 0x50]
cmp rdx, 8
jb 0x140008325
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008320
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008cba
call fcn.14003a0d0
movdqa xmm0, xmmword [0x14007c4f0]
movdqu xmmword [rbp - 0x58], xmm0
mov word [rbp - 0x68], r12w
test sil, sil
je 0x140008341
call fcn.140028c60
call fcn.140027730
call fcn.140027960
test al, al
jne 0x1400083e3
lea rdx, [rbp + 0x38]
call fcn.140026b30
nop
lea rcx, [rbp + 0x38]
cmp qword [rbp + 0x50], 8
cmovae rcx, qword [rbp + 0x38]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14000837f
test al, 0x10
je 0x14000837f
mov sil, 1
jmp 0x140008382
xor sil, sil
mov rdx, qword [rbp + 0x50]
cmp rdx, 8
jb 0x1400083c2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x38]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400083bd
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008cc0
call fcn.14003a0d0
movdqa xmm0, xmmword [0x14007c4f0]
movdqu xmmword [rbp + 0x48], xmm0
mov word [rbp + 0x38], r12w
test sil, sil
je 0x1400083de
call fcn.140029080
call fcn.140027b30
call fcn.140027d60
test al, al
jne 0x140008480
lea rdx, [rbp + 0x18]
call fcn.140026c80
nop
lea rcx, [rbp + 0x18]
cmp qword [rbp + 0x30], 8
cmovae rcx, qword [rbp + 0x18]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14000841c
test al, 0x10
je 0x14000841c
mov sil, 1
jmp 0x14000841f
xor sil, sil
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x14000845f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000845a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008cc6
call fcn.14003a0d0
movdqa xmm0, xmmword [0x14007c4f0]
movdqu xmmword [rbp + 0x28], xmm0
mov word [rbp + 0x18], r12w
test sil, sil
je 0x14000847b
call fcn.1400292c0
call fcn.140027f30
call fcn.140027160
test al, al
jne 0x1400084a9
lea rdx, [rbp - 0x48]
call fcn.140026740
nop
mov edi, 1
mov dword [rsp + 0x34], edi
cmp qword [rax + 0x10], 0
je 0x1400084a9
movzx esi, dil
jmp 0x1400084ac
xor sil, sil
test dil, 1
je 0x14000850b
and edi, 0xfffffffe
mov dword [rsp + 0x34], edi
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x1400084f9
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400084f4
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008ccc
call fcn.14003a0d0
movdqa xmm0, xmmword [0x14007c4f0]
movdqu xmmword [rbp - 0x38], xmm0
mov word [rbp - 0x48], r12w
lea r14, str._uninstallMsiVersion
test sil, sil
je 0x140008615
call fcn.140026dd0
cmp eax, 1
jne 0x14000866e
call fcn.140029cd0
test al, al
je 0x140008537
call fcn.140028a70
lea rdx, [rbp - 0x48]
call fcn.140026740
nop
mov r8d, 1
mov rdx, rax
call fcn.1400284f0
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x140008590
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000858b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008cd2
call fcn.14003a0d0
movdqa xmm0, xmmword [0x14007c4f0]
movdqu xmmword [rbp - 0x38], xmm0
mov word [rbp - 0x48], r12w
call fcn.140027330
call fcn.140026f90
test al, al
je 0x140008615
lea rdx, [rbp - 0x48]
call fcn.140029e70
nop
mov rdx, rax
call fcn.14001e3d0
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x140008603
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400085fe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008cd8
call fcn.14003a0d0
movdqa xmm0, xmmword [0x14007c4f0]
movdqu xmmword [rbp - 0x38], xmm0
mov word [rbp - 0x48], r12w
mov r12, qword [rbp - 0x28]
mov rsi, qword [rbp - 0x18]
mov r13, qword [rbp - 0x10]
xor r15d, r15d
lea rcx, [rbp - 0x28]
cmp r13, 8
cmovae rcx, r12
cmp rsi, 0x14
jne 0x140008ba4
test rsi, rsi
je 0x140008c19
sub rcx, r14
nop word [rax + rax]
movzx eax, word [rcx + r14]
cmp ax, word [r14]
jne 0x140008ba4
add r14, 2
sub rsi, 1
jne 0x140008650
jmp 0x140008c19
test eax, eax
jne 0x140008615
call fcn.140029cd0
mov rsi, qword [rbp - 0x18]
test al, al
je 0x140008806
test rsi, rsi
jne 0x140008806
call fcn.140001400
mov rcx, rax
test rax, rax
je 0x140008cde
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x40], rax
lea edx, [rsi + 0x69]
lea rcx, [rsp + 0x40]
call fcn.140001800
call fcn.140001400
mov rcx, rax
test rax, rax
je 0x140008ce9
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x48], rax
lea edx, [rsi + 0x68]
lea rcx, [rsp + 0x48]
call fcn.140001800
call fcn.140001400
mov rcx, rax
test rax, rax
je 0x140008cf4
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
lea rdx, [rbp - 8]
call fcn.1400265f0
nop
cmp qword [rax + 0x18], 8
jb 0x14000871a
mov rax, qword [rax]
mov r8, rax
mov rdx, qword [rsp + 0x48]
lea rcx, [rsp + 0x50]
call fcn.140001e80
nop
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x14000876d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008768
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008cff
call fcn.14003a0d0
movdqa xmm0, xmmword [0x14007c4f0]
movdqu xmmword [rbp + 8], xmm0
mov word [rbp - 8], r12w
mov r9d, 0x24
mov r8, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x50]
mov rdx, rdi
xor ecx, ecx
call qword [sym.imp.USER32.dll_MessageBoxW]
cmp eax, 6
jne 0x1400087a5
call fcn.140028a70
nop
lea rdx, [rdi - 0x18]
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400087c0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, r15d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400087e0
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r15d
sub r15d, 1
jg 0x1400087fe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov rsi, qword [rbp - 0x18]
mov ebx, dword [rsp + 0x38]
lea rdi, [rbp - 0x28]
mov r12, qword [rbp - 0x28]
mov r13, qword [rbp - 0x10]
cmp r13, 8
cmovae rdi, r12
cmp rsi, 0x14
jne 0x140008921
mov rdx, rsi
mov rcx, r14
test rsi, rsi
je 0x140008849
sub rdi, r14
movzx eax, word [rdi + rcx]
cmp ax, word [rcx]
jne 0x140008921
add rcx, 2
sub rdx, 1
jne 0x140008832
lea rdx, [rbp - 8]
call fcn.140026740
nop
xor r8d, r8d
mov rdx, rax
call fcn.1400284f0
nop
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x14000889f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14000889a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008d05
call fcn.14003a0d0
movdqa xmm0, xmmword [0x14007c4f0]
movdqu xmmword [rbp + 8], xmm0
xor r15d, r15d
mov word [rbp - 8], r15w
call fcn.140027330
call fcn.140026f90
test al, al
je 0x140008624
lea rdx, [rbp - 0x48]
call fcn.140029e70
nop
mov rdx, rax
call fcn.14001e3d0
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x140008b2b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008b26
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008cae
jmp 0x140008b26
test rsi, rsi
jne 0x140008621
lea rdx, [rbp - 8]
call fcn.140026740
mov r15, rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x68], xmm0
xor r9d, r9d
mov qword [rbp - 0x58], r9
mov qword [rbp - 0x50], r9
mov qword [rbp - 0x58], r9
mov qword [rbp - 0x50], 7
mov word [rbp - 0x68], r9w
mov edx, 0x26
mov rcx, qword [rbp - 0x58]
sub rdx, rcx
mov rdi, qword [rbp - 0x50]
mov rax, rdi
sub rax, rcx
cmp rdx, rax
ja 0x1400089a3
mov qword [rbp - 0x58], 0x26
lea r8, [rbp - 0x68]
cmp rdi, 8
cmovae r8, qword [rbp - 0x68]
lea rdi, [r8 + rcx*2]
test rdx, rdx
je 0x14000899c
movzx eax, r9w
mov rcx, rdx
rep stosw word [rdi], ax
mov word [r8 + 0x4c], r9w
jmp 0x1400089bb
mov word [rsp + 0x20], r9w
mov r9, rdx
movzx r8d, byte [rsp + 0x30]
lea rcx, [rbp - 0x68]
call fcn.140003ee0
lea r9, [rbp - 0x68]
cmp qword [rbp - 0x50], 8
cmovae r9, qword [rbp - 0x68]
cmp qword [r15 + 0x18], 8
jb 0x1400089d3
mov r15, qword [r15]
xor r8d, r8d
xor edx, edx
mov rcx, r15
call qword [sym.imp.msi.dll_MsiSourceListClearAllW]
nop
mov rdx, qword [rbp - 0x50]
test eax, eax
jne 0x140008a2e
cmp rdx, 8
jb 0x140008a26
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008a21
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008d0b
call fcn.14003a0d0
xor r15d, r15d
mov dil, 1
jmp 0x140008a70
cmp rdx, 8
jb 0x140008a6a
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008a65
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008d0b
call fcn.14003a0d0
xor r15d, r15d
xor dil, dil
mov word [rbp - 0x68], r15w
mov qword [rbp - 0x50], 7
mov qword [rbp - 0x58], r15
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x140008ac1
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008abc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008d11
call fcn.14003a0d0
movdqa xmm0, xmmword [0x14007c4f0]
movdqu xmmword [rbp + 8], xmm0
mov word [rbp - 8], r15w
test dil, dil
je 0x140008b42
lea rdx, [rbp - 0x48]
call fcn.14002a040
nop
mov rdx, rax
call fcn.14001e3d0
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x140008b2b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008b26
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008d17
call fcn.14003a0d0
movdqa xmm0, xmmword [0x14007c4f0]
movdqu xmmword [rbp - 0x38], xmm0
mov word [rbp - 0x48], r15w
jmp 0x140008624
call fcn.140027330
call fcn.140026f90
test al, al
je 0x140008624
lea rdx, [rbp - 0x48]
call fcn.140029e70
nop
mov rdx, rax
call fcn.14001e3d0
nop
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x140008b2b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008b26
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008cb4
jmp 0x140008b26
call fcn.140002790
mov rax, qword [rbp + 0x60]
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x60]
call qword [rax + 8]
nop
lea rdx, [rbp + 0x18]
lea rcx, [rbp + 0x60]
call fcn.140002990
nop
mov rdx, qword [rbp + 0x30]
cmp rdx, 8
jb 0x140008c07
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp + 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140008c02
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008d1d
call fcn.14003a0d0
movdqa xmm0, xmmword [0x14007c4f0]
movdqu xmmword [rbp + 0x28], xmm0
mov word [rbp + 0x18], r15w
lea rcx, [rbp + 0x60]
call fcn.1400026c0
nop
cmp r13, 8
jb 0x140008c5b
lea rdx, [r13*2 + 2]
mov rax, r12
cmp rdx, 0x1000
jb 0x140008c53
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140008ca8
mov rcx, r12
call fcn.14003a0d0
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], 7
mov word [rbp - 0x28], r15w
test ebx, ebx
js 0x140008c76
call qword [sym.imp.api_ms_win_core_winrt_l1_1_0.dll_RoUninitialize]
xor eax, eax
mov rcx, qword [rbp + 0xc0]
xor rcx, rsp
call fcn.14003a0b0
lea r11, [rsp + 0x1d0]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.14004638c
nop
call fcn.14004638c
int3
call fcn.14004638c
int3
call fcn.14004638c
int3
call fcn.14004638c
int3
call fcn.14004638c
int3
call fcn.14004638c
int3
call fcn.14004638c
int3
call fcn.14004638c
int3
mov ecx, 0x80004005
call fcn.1400012d0
nop
mov ecx, 0x80004005
call fcn.1400012d0
nop
mov ecx, 0x80004005
call fcn.1400012d0
nop
call fcn.14004638c
nop
call fcn.14004638c
nop
call fcn.14004638c
nop
call fcn.14004638c
int3
call fcn.14004638c
int3
call fcn.14004638c
int3