Function at 0x14001dfa0
Capabilities:
Check if file exists

Disassembly:
push r15
sub rsp, 0x70
mov rax, qword [0x1402a98a8]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov r15, rcx
test dl, dl
je 0x14001dfe3
mov rax, qword [rcx]
mov rcx, qword [rax + 0x8d0]
mov rcx, qword [rcx + 0x40]
call fcn.14001dd20
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1401813e0
add rsp, 0x70
pop r15
ret
mov qword [rsp + 0x90], rbp
mov ebp, dword [rcx + 0x38]
sub ebp, 1
js 0x14001e119
mov qword [rsp + 0x58], r12
xor r12d, r12d
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x60], rdi
mov qword [rsp + 0x50], r14
mov eax, dword [r15 + 0x38]
cmp ebp, eax
jl 0x14001e02b
cmp qword [r15 + 0x38], r12
je 0x14001e0fd
lea ebp, [rax - 1]
mov rbx, qword [r15 + 0x18]
movsxd rax, ebp
mov rbx, qword [rbx + rax*8]
cmp dword [rbx + 0xa0], 2
je 0x14001e0f4
cmp byte [rbx + 0x110], r12b
jne 0x14001e0f4
xor sil, sil
call fcn.14000c990
lea rdi, [rbx + 0xb0]
mov r14, rax
cmp qword [rdi + 0x18], 8
mov rcx, rdi
jb 0x14001e06f
mov rcx, qword [rdi]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14001e086
xor edx, edx
mov rcx, r14
call fcn.1400ea9c0
mov sil, 1
cmp dword [rbx + 0xa0], 4
je 0x14001e142
cmp qword [rdi + 0x18], 8
mov rcx, rdi
jb 0x14001e0a0
mov rcx, qword [rdi]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14001e135
mov dword [rbx + 0xa0], 4
mov byte [rbx + 0xac], r12b
mov byte [rbx + 0x48], 1
mov qword [rbx + 0xa4], r12
cmp byte [rbx + 8], r12b
je 0x14001e0e2
mov rcx, qword [rbx]
lea r8d, [rax + 0x70]
mov rdx, rbx
mov rcx, qword [rcx]
call fcn.1400956b0
test sil, sil
je 0x14001e0f4
mov edx, 1
mov rcx, r14
call fcn.1400ea9c0
sub ebp, 1
jns 0x14001e016
mov rbx, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov r14, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.1401813e0
add rsp, 0x70
pop r15
ret
cmp dword [rbx + 0xa0], 4
jne 0x14001e1f0
cmp qword [rdi + 0x18], 8
mov rcx, rdi
jb 0x14001e14f
mov rcx, qword [rdi]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14001e1f0
cmp qword [rdi + 0x18], 8
jb 0x14001e167
mov rdi, qword [rdi]
lea r8, [rsp + 0x20]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
je 0x14001e0e2
movzx eax, byte [rsp + 0x20]
lea rcx, [rbx + 0x150]
and al, 1
mov dword [rbx + 0xa0], 8
mov byte [rbx + 0xac], al
mov rax, qword [rsp + 0x34]
mov qword [rbx + 0xa4], rax
call fcn.140021230
test al, al
je 0x14001e0e2
cmp byte [rbx + 8], r12b
je 0x14001e1d0
mov rcx, qword [rbx]
mov r8d, 0x70
mov rdx, rbx
mov rcx, qword [rcx]
call fcn.1400956b0
lea rcx, [rbx + 0x150]
call fcn.140160290
test eax, eax
je 0x14001e0e2
mov ecx, eax
call fcn.14016039c
jmp 0x14001e0e2
cmp qword [rdi + 0x18], 8
jb 0x14001e1fa
mov rdi, qword [rdi]
lea r8, [rsp + 0x20]
xor edx, edx
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesExW]
test eax, eax
je 0x14001e0e2
movzx eax, byte [rsp + 0x20]
mov edi, r12d
and al, 1
cmp al, byte [rbx + 0xac]
je 0x14001e22f
mov byte [rbx + 0xac], al
mov edi, InitCommonControls
lea rsi, [rbx + 0xa4]
mov rcx, rsi
lea rdx, [rsp + 0x34]
call qword [sym.imp.KERNEL32.dll_CompareFileTime]
test eax, eax
je 0x14001e25d
mov rax, qword [rsp + 0x34]
or edi, 0x60
mov qword [rsi], rax
mov dword [rbx + 0xa0], 8
test edi, edi
je 0x14001e0f4
lea rsi, [rbx + 0x150]
mov rcx, rsi
call fcn.140160254
test eax, eax
je 0x14001e28d
cmp eax, 3
je 0x14001e0f4
mov ecx, eax
call fcn.14016039c
jmp 0x14001e0f4
cmp byte [rbx + 8], r12b
je 0x14001e2a4
mov rcx, qword [rbx]
mov r8d, edi
mov rdx, rbx
mov rcx, qword [rcx]
call fcn.1400956b0
mov rcx, rsi
call fcn.140160290
test eax, eax
je 0x14001e0f4
mov ecx, eax
call fcn.14016039c
jmp 0x14001e0f4
push rbx
sub rsp, 0x20
movzx ebx, dl
call fcn.14004a380
mov rcx, rax
movzx edx, bl
add rsp, 0x20
pop rbx
jmp 0x14001dfa0