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

Disassembly:
mov r11, rsp
push rdi
sub rsp, 0xf0
mov qword [rsp + 0x88], 0xfffffffffffffffe
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
mov rax, qword [0x1401dd3a0]
xor rax, rsp
mov qword [rsp + 0xe0], rax
lea rcx, [r11 - 0x40]
call fcn.1400285d0
nop
lea rcx, [rsp + 0xb8]
call fcn.1400286b0
mov ebx, eax
mov qword [rsp + 0x58], 7
xor edi, edi
mov qword [rsp + 0x50], rdi
mov word [rsp + 0x40], di
lea r8d, [rdi + 0xb]
lea rdx, str.swi_lsp.dll
lea rcx, [rsp + 0x38]
call fcn.140001520
nop
lea r8, [0x1401a2d14]
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x60]
call fcn.140013df0
nop
lea r8, [rsp + 0x38]
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400222a0
nop
cmp qword [rsp + 0x80], 8
jb 0x14002a08e
mov rcx, qword [rsp + 0x68]
call fcn.1400ddb14
mov qword [rsp + 0x80], 7
mov qword [rsp + 0x78], rdi
mov word [rsp + 0x68], di
lea rcx, [rsp + 0x98]
cmp qword [rsp + 0xb0], 8
cmovae rcx, qword [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002a0ff
and eax, 0x10
test al, al
jne 0x14002a0ff
xor edx, edx
lea rcx, [rsp + 0x90]
call fcn.140021910
nop
cmp qword [rsp + 0xb0], 8
jb 0x14002a0f8
mov rcx, qword [rsp + 0x98]
call fcn.1400ddb14
mov eax, 1
jmp 0x14002a119
cmp qword [rsp + 0xb0], 8
jb 0x14002a117
mov rcx, qword [rsp + 0x98]
call fcn.1400ddb14
mov eax, edi
sub ebx, eax
cmp qword [rsp + 0x58], 8
jb 0x14002a12d
mov rcx, qword [rsp + 0x40]
call fcn.1400ddb14
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], rdi
mov word [rsp + 0x40], di
mov r8d, 0xe
lea rdx, str.swi_lsp_64.dll
lea rcx, [rsp + 0x38]
call fcn.140001520
nop
lea r8, [0x1401a2d14]
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x60]
call fcn.140013df0
nop
lea r8, [rsp + 0x38]
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400222a0
nop
cmp qword [rsp + 0x80], 8
jb 0x14002a19d
mov rcx, qword [rsp + 0x68]
call fcn.1400ddb14
mov qword [rsp + 0x80], 7
mov qword [rsp + 0x78], rdi
mov word [rsp + 0x68], di
lea rcx, [rsp + 0x98]
cmp qword [rsp + 0xb0], 8
cmovae rcx, qword [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002a20e
and eax, 0x10
test al, al
jne 0x14002a20e
xor edx, edx
lea rcx, [rsp + 0x90]
call fcn.140021910
nop
cmp qword [rsp + 0xb0], 8
jb 0x14002a207
mov rcx, qword [rsp + 0x98]
call fcn.1400ddb14
mov eax, 1
jmp 0x14002a228
cmp qword [rsp + 0xb0], 8
jb 0x14002a226
mov rcx, qword [rsp + 0x98]
call fcn.1400ddb14
mov eax, edi
sub ebx, eax
cmp qword [rsp + 0x58], 8
jb 0x14002a23c
mov rcx, qword [rsp + 0x40]
call fcn.1400ddb14
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], rdi
mov word [rsp + 0x40], di
mov r8d, 0xe
lea rdx, str.swi_lsp_2k.dll
lea rcx, [rsp + 0x38]
call fcn.140001520
nop
lea r8, [0x1401a2d14]
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x60]
call fcn.140013df0
nop
lea r8, [rsp + 0x38]
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400222a0
nop
cmp qword [rsp + 0x80], 8
jb 0x14002a2ac
mov rcx, qword [rsp + 0x68]
call fcn.1400ddb14
mov qword [rsp + 0x80], 7
mov qword [rsp + 0x78], rdi
mov word [rsp + 0x68], di
lea rcx, [rsp + 0x98]
cmp qword [rsp + 0xb0], 8
cmovae rcx, qword [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002a31d
and eax, 0x10
test al, al
jne 0x14002a31d
xor edx, edx
lea rcx, [rsp + 0x90]
call fcn.140021910
nop
cmp qword [rsp + 0xb0], 8
jb 0x14002a316
mov rcx, qword [rsp + 0x98]
call fcn.1400ddb14
mov eax, 1
jmp 0x14002a337
cmp qword [rsp + 0xb0], 8
jb 0x14002a335
mov rcx, qword [rsp + 0x98]
call fcn.1400ddb14
mov eax, edi
sub ebx, eax
cmp qword [rsp + 0x58], 8
jb 0x14002a34b
mov rcx, qword [rsp + 0x40]
call fcn.1400ddb14
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], rdi
mov word [rsp + 0x40], di
mov r8d, 0x15
lea rdx, str.swi_lsp_installer.exe
lea rcx, [rsp + 0x38]
call fcn.140001520
nop
lea r8, [0x1401a2d14]
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x60]
call fcn.140013df0
nop
lea r8, [rsp + 0x38]
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400222a0
nop
cmp qword [rsp + 0x80], 8
jb 0x14002a3bb
mov rcx, qword [rsp + 0x68]
call fcn.1400ddb14
mov qword [rsp + 0x80], 7
mov qword [rsp + 0x78], rdi
mov word [rsp + 0x68], di
lea rcx, [rsp + 0x98]
cmp qword [rsp + 0xb0], 8
cmovae rcx, qword [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002a42c
and eax, 0x10
test al, al
jne 0x14002a42c
xor edx, edx
lea rcx, [rsp + 0x90]
call fcn.140021910
nop
cmp qword [rsp + 0xb0], 8
jb 0x14002a425
mov rcx, qword [rsp + 0x98]
call fcn.1400ddb14
mov eax, 1
jmp 0x14002a446
cmp qword [rsp + 0xb0], 8
jb 0x14002a444
mov rcx, qword [rsp + 0x98]
call fcn.1400ddb14
mov eax, edi
sub ebx, eax
cmp qword [rsp + 0x58], 8
jb 0x14002a45a
mov rcx, qword [rsp + 0x40]
call fcn.1400ddb14
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], rdi
mov word [rsp + 0x40], di
mov r8d, 0x18
lea rdx, str.swi_lsp_installer_64.exe
lea rcx, [rsp + 0x38]
call fcn.140001520
nop
lea r8, [0x1401a2d14]
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x60]
call fcn.140013df0
nop
lea r8, [rsp + 0x38]
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400222a0
nop
cmp qword [rsp + 0x80], 8
jb 0x14002a4ca
mov rcx, qword [rsp + 0x68]
call fcn.1400ddb14
mov qword [rsp + 0x80], 7
mov qword [rsp + 0x78], rdi
mov word [rsp + 0x68], di
lea rcx, [rsp + 0x98]
cmp qword [rsp + 0xb0], 8
cmovae rcx, qword [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002a53b
and eax, 0x10
test al, al
jne 0x14002a53b
xor edx, edx
lea rcx, [rsp + 0x90]
call fcn.140021910
nop
cmp qword [rsp + 0xb0], 8
jb 0x14002a534
mov rcx, qword [rsp + 0x98]
call fcn.1400ddb14
mov eax, 1
jmp 0x14002a555
cmp qword [rsp + 0xb0], 8
jb 0x14002a553
mov rcx, qword [rsp + 0x98]
call fcn.1400ddb14
mov eax, edi
sub ebx, eax
cmp qword [rsp + 0x58], 8
jb 0x14002a569
mov rcx, qword [rsp + 0x40]
call fcn.1400ddb14
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], rdi
mov word [rsp + 0x40], di
mov r8d, 0x18
lea rdx, str.swi_lsp_installer_2k.exe
lea rcx, [rsp + 0x38]
call fcn.140001520
nop
lea r8, [0x1401a2d14]
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x60]
call fcn.140013df0
nop
lea r8, [rsp + 0x38]
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400222a0
nop
cmp qword [rsp + 0x80], 8
jb 0x14002a5d9
mov rcx, qword [rsp + 0x68]
call fcn.1400ddb14
mov qword [rsp + 0x80], 7
mov qword [rsp + 0x78], rdi
mov word [rsp + 0x68], di
lea rcx, [rsp + 0x98]
cmp qword [rsp + 0xb0], 8
cmovae rcx, qword [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002a64a
and eax, 0x10
test al, al
jne 0x14002a64a
xor edx, edx
lea rcx, [rsp + 0x90]
call fcn.140021910
nop
cmp qword [rsp + 0xb0], 8
jb 0x14002a643
mov rcx, qword [rsp + 0x98]
call fcn.1400ddb14
mov eax, 1
jmp 0x14002a664
cmp qword [rsp + 0xb0], 8
jb 0x14002a662
mov rcx, qword [rsp + 0x98]
call fcn.1400ddb14
mov eax, edi
sub ebx, eax
cmp qword [rsp + 0x58], 8
jb 0x14002a678
mov rcx, qword [rsp + 0x40]
call fcn.1400ddb14
mov qword [rsp + 0x58], 7
mov qword [rsp + 0x50], rdi
mov word [rsp + 0x40], di
mov r8d, 0xe
lea rdx, str.swi_config.exe
lea rcx, [rsp + 0x38]
call fcn.140001520
nop
lea r8, [0x1401a2d14]
lea rdx, [rsp + 0xb8]
lea rcx, [rsp + 0x60]
call fcn.140013df0
nop
lea r8, [rsp + 0x38]
mov rdx, rax
lea rcx, [rsp + 0x90]
call fcn.1400222a0
nop
cmp qword [rsp + 0x80], 8
jb 0x14002a6e8
mov rcx, qword [rsp + 0x68]
call fcn.1400ddb14
mov qword [rsp + 0x80], 7
mov qword [rsp + 0x78], rdi
mov word [rsp + 0x68], di
lea rcx, [rsp + 0x98]
cmp qword [rsp + 0xb0], 8
cmovae rcx, qword [rsp + 0x98]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x14002a759
and eax, 0x10
test al, al
jne 0x14002a759
xor edx, edx
lea rcx, [rsp + 0x90]
call fcn.140021910
nop
cmp qword [rsp + 0xb0], 8
jb 0x14002a752
mov rcx, qword [rsp + 0x98]
call fcn.1400ddb14
mov eax, 1
jmp 0x14002a773
cmp qword [rsp + 0xb0], 8
jb 0x14002a771
mov rcx, qword [rsp + 0x98]
call fcn.1400ddb14
mov eax, edi
sub ebx, eax
cmp qword [rsp + 0x58], 8
jb 0x14002a787
mov rcx, qword [rsp + 0x40]
call fcn.1400ddb14
test ebx, ebx
jne 0x14002a8cd
lea rcx, str.swifdiag.log
call fcn.140001910
mov rbx, rax
test rax, rax
je 0x14002a8b2
mov r10, qword [rax]
lea rbp, str.SwiUpdate::RemoveOldShadowLocation
mov qword [rsp + 0x20], rbp
lea rsi, str....._src_swic_srcSwiUpdateShadow.cpp
mov r9, rsi
lea r8, str.default
mov edx, 3
mov rcx, rax
call qword [r10 + 8]
test al, al
je 0x14002a8b2
mov byte [rbx + 0xf8], 0x76
mov eax, edi
mov r8b, 0x2e
mov rcx, rsi
mov edx, 1
nop
cmp r8b, 0x5c
cmove eax, edx
inc edx
inc rcx
movzx r8d, byte [rcx]
test r8b, r8b
jne 0x14002a7f0
add rax, rsi
mov qword [rbx + 0x100], rax
mov dword [rbx + 0x108], 0x10f
mov qword [rbx + 0x110], rbp
mov rcx, rbx
call fcn.1400027f0
mov rsi, rax
mov rbx, rdi
lea rbp, str.Removed_all_files_from
inc rbx
cmp byte [rbx + rbp], 0
jne 0x14002a835
mov ecx, dword [rax + 0x430]
mov dword [rax + 0x430], edi
cmp ebx, ecx
jge 0x14002a879
movzx eax, byte [rax + 0x42c]
mov byte [rsp + 0x30], al
sub ecx, ebx
mov edi, ecx
nop dword [rax]
mov r8d, 1
lea rdx, [rsp + 0x30]
mov rcx, rsi
call fcn.14002f090
sub rdi, 1
jne 0x14002a860
mov r8, rbx
mov rdx, rbp
mov rcx, rsi
call fcn.14002f090
lea rdx, [rsp + 0xc0]
cmp qword [rsp + 0xd8], 8
cmovae rdx, qword [rsp + 0xc0]
mov rcx, rsi
call fcn.140013b50
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 8]
lea rcx, [rsp + 0xb8]
call fcn.140028cc0
lea rcx, [rsp + 0xb8]
call fcn.140028f10
nop
cmp qword [rsp + 0xd8], 8
jb 0x14002a8e9
mov rcx, qword [rsp + 0xc0]
call fcn.1400ddb14
mov al, 1
jmp 0x14002a8eb
mov al, 1
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.1400dd780
lea r11, [rsp + 0xf0]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rsp, r11
pop rdi
ret