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

Disassembly:
mov r11, rsp
push rdi
push r12
push r13
sub rsp, 0x110
mov qword [rsp + 0x80], 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 + 0x100], rax
lea rcx, [r11 - 0x78]
call fcn.140028560
nop
lea rcx, [rsp + 0xb0]
call fcn.1400286b0
mov ebx, eax
mov qword [rsp + 0x50], 7
xor esi, esi
mov qword [rsp + 0x48], rsi
mov word [rsp + 0x38], si
lea r8d, [rsi + 0xe]
lea rdx, str.swi_filter.dll
lea rcx, [rsp + 0x30]
call fcn.140001520
nop
lea r8, [0x1401a2d14]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x58]
call fcn.140013df0
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.1400222a0
nop
cmp qword [rsp + 0x78], 8
jb 0x14002955f
mov rcx, qword [rsp + 0x60]
call fcn.1400ddb14
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], rsi
mov word [rsp + 0x60], si
lea rcx, [rsp + 0x90]
cmp qword [rsp + 0xa8], 8
cmovae rcx, qword [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov edi, 1
cmp eax, 0xffffffff
je 0x1400295cf
and eax, 0x10
test al, al
jne 0x1400295cf
xor edx, edx
lea rcx, [rsp + 0x88]
call fcn.140021910
nop
cmp qword [rsp + 0xa8], 8
jb 0x1400295cb
mov rcx, qword [rsp + 0x90]
call fcn.1400ddb14
mov eax, edi
jmp 0x1400295e9
cmp qword [rsp + 0xa8], 8
jb 0x1400295e7
mov rcx, qword [rsp + 0x90]
call fcn.1400ddb14
mov eax, esi
sub ebx, eax
cmp qword [rsp + 0x50], 8
jb 0x1400295fd
mov rcx, qword [rsp + 0x38]
call fcn.1400ddb14
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rsi
mov word [rsp + 0x38], si
mov r8d, 0x11
lea rdx, str.swi_filter_64.dll
lea rcx, [rsp + 0x30]
call fcn.140001520
nop
lea r8, [0x1401a2d14]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x58]
call fcn.140013df0
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.1400222a0
nop
cmp qword [rsp + 0x78], 8
jb 0x14002966a
mov rcx, qword [rsp + 0x60]
call fcn.1400ddb14
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], rsi
mov word [rsp + 0x60], si
lea rcx, [rsp + 0x90]
cmp qword [rsp + 0xa8], 8
cmovae rcx, qword [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400296d5
and eax, 0x10
test al, al
jne 0x1400296d5
xor edx, edx
lea rcx, [rsp + 0x88]
call fcn.140021910
nop
cmp qword [rsp + 0xa8], 8
jb 0x1400296d1
mov rcx, qword [rsp + 0x90]
call fcn.1400ddb14
mov eax, edi
jmp 0x1400296ef
cmp qword [rsp + 0xa8], 8
jb 0x1400296ed
mov rcx, qword [rsp + 0x90]
call fcn.1400ddb14
mov eax, esi
sub ebx, eax
cmp qword [rsp + 0x50], 8
jb 0x140029703
mov rcx, qword [rsp + 0x38]
call fcn.1400ddb14
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rsi
mov word [rsp + 0x38], si
mov r8d, 0xe
lea rdx, str.swi_ifslsp.dll
lea rcx, [rsp + 0x30]
call fcn.140001520
nop
lea r8, [0x1401a2d14]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x58]
call fcn.140013df0
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.1400222a0
nop
cmp qword [rsp + 0x78], 8
jb 0x140029770
mov rcx, qword [rsp + 0x60]
call fcn.1400ddb14
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], rsi
mov word [rsp + 0x60], si
lea rcx, [rsp + 0x90]
cmp qword [rsp + 0xa8], 8
cmovae rcx, qword [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400297db
and eax, 0x10
test al, al
jne 0x1400297db
xor edx, edx
lea rcx, [rsp + 0x88]
call fcn.140021910
nop
cmp qword [rsp + 0xa8], 8
jb 0x1400297d7
mov rcx, qword [rsp + 0x90]
call fcn.1400ddb14
mov eax, edi
jmp 0x1400297f5
cmp qword [rsp + 0xa8], 8
jb 0x1400297f3
mov rcx, qword [rsp + 0x90]
call fcn.1400ddb14
mov eax, esi
sub ebx, eax
cmp qword [rsp + 0x50], 8
jb 0x140029809
mov rcx, qword [rsp + 0x38]
call fcn.1400ddb14
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rsi
mov word [rsp + 0x38], si
mov r8d, 0x11
lea rdx, str.swi_ifslsp_64.dll
lea rcx, [rsp + 0x30]
call fcn.140001520
nop
lea r8, [0x1401a2d14]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x58]
call fcn.140013df0
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.1400222a0
nop
cmp qword [rsp + 0x78], 8
jb 0x140029876
mov rcx, qword [rsp + 0x60]
call fcn.1400ddb14
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], rsi
mov word [rsp + 0x60], si
lea rcx, [rsp + 0x90]
cmp qword [rsp + 0xa8], 8
cmovae rcx, qword [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400298e1
and eax, 0x10
test al, al
jne 0x1400298e1
xor edx, edx
lea rcx, [rsp + 0x88]
call fcn.140021910
nop
cmp qword [rsp + 0xa8], 8
jb 0x1400298dd
mov rcx, qword [rsp + 0x90]
call fcn.1400ddb14
mov eax, edi
jmp 0x1400298fb
cmp qword [rsp + 0xa8], 8
jb 0x1400298f9
mov rcx, qword [rsp + 0x90]
call fcn.1400ddb14
mov eax, esi
sub ebx, eax
cmp qword [rsp + 0x50], 8
jb 0x14002990f
mov rcx, qword [rsp + 0x38]
call fcn.1400ddb14
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rsi
mov word [rsp + 0x38], si
mov r8d, 0x12
lea rdx, str.swi_lsp32_util.exe
lea rcx, [rsp + 0x30]
call fcn.140001520
nop
lea r8, [0x1401a2d14]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x58]
call fcn.140013df0
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.1400222a0
nop
cmp qword [rsp + 0x78], 8
jb 0x14002997c
mov rcx, qword [rsp + 0x60]
call fcn.1400ddb14
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], rsi
mov word [rsp + 0x60], si
lea rcx, [rsp + 0x90]
cmp qword [rsp + 0xa8], 8
cmovae rcx, qword [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400299e7
and eax, 0x10
test al, al
jne 0x1400299e7
xor edx, edx
lea rcx, [rsp + 0x88]
call fcn.140021910
nop
cmp qword [rsp + 0xa8], 8
jb 0x1400299e3
mov rcx, qword [rsp + 0x90]
call fcn.1400ddb14
mov eax, edi
jmp 0x140029a01
cmp qword [rsp + 0xa8], 8
jb 0x1400299ff
mov rcx, qword [rsp + 0x90]
call fcn.1400ddb14
mov eax, esi
sub ebx, eax
cmp qword [rsp + 0x50], 8
jb 0x140029a15
mov rcx, qword [rsp + 0x38]
call fcn.1400ddb14
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rsi
mov word [rsp + 0x38], si
mov r8d, 0x11
lea rdx, [0x1401a2c28]
lea rcx, [rsp + 0x30]
call fcn.140001520
nop
lea r8, [0x1401a2d14]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x58]
call fcn.140013df0
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.1400222a0
nop
cmp qword [rsp + 0x78], 8
jb 0x140029a82
mov rcx, qword [rsp + 0x60]
call fcn.1400ddb14
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], rsi
mov word [rsp + 0x60], si
lea rcx, [rsp + 0x90]
cmp qword [rsp + 0xa8], 8
cmovae rcx, qword [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140029aed
and eax, 0x10
test al, al
jne 0x140029aed
xor edx, edx
lea rcx, [rsp + 0x88]
call fcn.140021910
nop
cmp qword [rsp + 0xa8], 8
jb 0x140029ae9
mov rcx, qword [rsp + 0x90]
call fcn.1400ddb14
mov eax, edi
jmp 0x140029b07
cmp qword [rsp + 0xa8], 8
jb 0x140029b05
mov rcx, qword [rsp + 0x90]
call fcn.1400ddb14
mov eax, esi
sub ebx, eax
cmp qword [rsp + 0x50], 8
jb 0x140029b1b
mov rcx, qword [rsp + 0x38]
call fcn.1400ddb14
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rsi
mov word [rsp + 0x38], si
mov r8d, 0xe
lea rdx, str.swi_update.exe
lea rcx, [rsp + 0x30]
call fcn.140001520
nop
lea r8, [0x1401a2d14]
lea rdx, [rsp + 0xb0]
lea rcx, [rsp + 0x58]
call fcn.140013df0
nop
lea r8, [rsp + 0x30]
mov rdx, rax
lea rcx, [rsp + 0x88]
call fcn.1400222a0
nop
cmp qword [rsp + 0x78], 8
jb 0x140029b88
mov rcx, qword [rsp + 0x60]
call fcn.1400ddb14
mov qword [rsp + 0x78], 7
mov qword [rsp + 0x70], rsi
mov word [rsp + 0x60], si
lea rcx, [rsp + 0x90]
cmp qword [rsp + 0xa8], 8
cmovae rcx, qword [rsp + 0x90]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140029bf3
and eax, 0x10
test al, al
jne 0x140029bf3
xor edx, edx
lea rcx, [rsp + 0x88]
call fcn.140021910
nop
cmp qword [rsp + 0xa8], 8
jb 0x140029bef
mov rcx, qword [rsp + 0x90]
call fcn.1400ddb14
mov eax, edi
jmp 0x140029c0d
cmp qword [rsp + 0xa8], 8
jb 0x140029c0b
mov rcx, qword [rsp + 0x90]
call fcn.1400ddb14
mov eax, esi
sub ebx, eax
cmp qword [rsp + 0x50], 8
jb 0x140029c21
mov rcx, qword [rsp + 0x38]
call fcn.1400ddb14
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rsi
mov word [rsp + 0x38], si
mov r8d, 0xe
lea rdx, str.sxl3_cache.dat
lea rcx, [rsp + 0x30]
call fcn.140001520
nop
xor r8d, r8d
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xb0]
call fcn.1400293b0
sub ebx, eax
cmp qword [rsp + 0x50], 8
jb 0x140029c75
mov rcx, qword [rsp + 0x38]
call fcn.1400ddb14
lea r13, str.SwiUpdate::RemoveShadowLocation
lea r12, str....._src_swic_srcSwiUpdateShadow.cpp
lea rbp, str.Removed_all_files_from
test ebx, ebx
jne 0x140029d8a
lea rcx, str.swifdiag.log
call fcn.140001910
mov rbx, rax
test rax, rax
je 0x140029d70
mov r10, qword [rax]
mov qword [rsp + 0x20], r13
mov r9, r12
lea r8, str.default
mov edx, 3
mov rcx, rax
call qword [r10 + 8]
test al, al
je 0x140029d70
mov byte [rbx + 0xf8], 0x76
mov eax, esi
mov r8b, 0x2e
mov rcx, r12
mov edx, edi
nop word [rax + rax]
cmp r8b, 0x5c
cmove eax, edx
inc edx
inc rcx
movzx r8d, byte [rcx]
test r8b, r8b
jne 0x140029cf0
add rax, r12
mov qword [rbx + 0x100], rax
mov dword [rbx + 0x108], 0xeb
mov qword [rbx + 0x110], r13
mov rcx, rbx
call fcn.1400027f0
mov rbx, rax
mov r8, rsi
nop
inc r8
cmp byte [r8 + rbp], 0
jne 0x140029d30
mov rdx, rbp
mov rcx, rax
call fcn.1400138f0
lea rdx, [rsp + 0xb8]
cmp qword [rsp + 0xd0], 8
cmovae rdx, qword [rsp + 0xb8]
mov rcx, rbx
call fcn.140013b50
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 8]
lea rcx, [rsp + 0xb0]
call fcn.140028cc0
lea rcx, [rsp + 0xb0]
call fcn.140028f10
lea rcx, [rsp + 0xd8]
call fcn.140028640
nop
lea rcx, [rsp + 0xd8]
call fcn.1400286b0
mov ebx, eax
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rsi
mov word [rsp + 0x38], si
mov r8d, 0xe
lea rdx, str.swi_filter.dll
lea rcx, [rsp + 0x30]
call fcn.140001520
nop
xor r8d, r8d
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xd8]
call fcn.1400293b0
sub ebx, eax
cmp qword [rsp + 0x50], 8
jb 0x140029dfb
mov rcx, qword [rsp + 0x38]
call fcn.1400ddb14
mov qword [rsp + 0x50], 7
mov qword [rsp + 0x48], rsi
mov word [rsp + 0x38], si
mov r8d, 0x11
lea rdx, str.swi_filter_64.dll
lea rcx, [rsp + 0x30]
call fcn.140001520
nop
xor r8d, r8d
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0xd8]
call fcn.1400293b0
sub ebx, eax
cmp qword [rsp + 0x50], 8
jb 0x140029e4f
mov rcx, qword [rsp + 0x38]
call fcn.1400ddb14
test ebx, ebx
jne 0x140029f4b
lea rcx, str.swifdiag.log
call fcn.140001910
mov rbx, rax
test rax, rax
je 0x140029f30
mov r10, qword [rax]
mov qword [rsp + 0x20], r13
mov r9, r12
lea r8, str.default
mov edx, 3
mov rcx, rax
call qword [r10 + 8]
test al, al
je 0x140029f30
mov byte [rbx + 0xf8], 0x76
mov eax, esi
mov dl, 0x2e
mov rcx, r12
nop word [rax + rax]
cmp dl, 0x5c
cmove eax, edi
inc edi
inc rcx
movzx edx, byte [rcx]
test dl, dl
jne 0x140029eb0
add rax, r12
mov qword [rbx + 0x100], rax
mov dword [rbx + 0x108], 0xf8
mov qword [rbx + 0x110], r13
mov rcx, rbx
call fcn.1400027f0
mov rbx, rax
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [r8 + rbp], 0
jne 0x140029ef0
mov rdx, rbp
mov rcx, rax
call fcn.1400138f0
lea rdx, [rsp + 0xe0]
cmp qword [rsp + 0xf8], 8
cmovae rdx, qword [rsp + 0xe0]
mov rcx, rbx
call fcn.140013b50
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 8]
lea rcx, [rsp + 0xd8]
call fcn.140028cc0
lea rcx, [rsp + 0xd8]
call fcn.140028f10
nop
cmp qword [rsp + 0xf8], 8
jb 0x140029f63
mov rcx, qword [rsp + 0xe0]
call fcn.1400ddb14
mov qword [rsp + 0xf8], 7
mov qword [rsp + 0xf0], rsi
mov word [rsp + 0xe0], si
cmp qword [rsp + 0xd0], 8
jb 0x140029f9b
mov rcx, qword [rsp + 0xb8]
call fcn.1400ddb14
mov al, 1
jmp 0x140029f9d
mov al, 1
mov rcx, qword [rsp + 0x100]
xor rcx, rsp
call fcn.1400dd780
lea r11, [rsp + 0x110]
mov rbx, qword [r11 + 0x20]
mov rbp, qword [r11 + 0x28]
mov rsi, qword [r11 + 0x30]
mov rsp, r11
pop r13
pop r12
pop rdi
ret