Function at 0x1400851c0
Capabilities:
Check if file exists

Disassembly:
push r15
sub rsp, 0x70
mov rax, qword [0x1402a6808]
xor rax, rsp
mov qword [rsp + 0x48], rax
mov r15, rcx
test dl, dl
je 0x14001dfa3
mov rax, qword [rcx]
mov rcx, qword [rax + 0x8d0]
mov rcx, qword [rcx + 0x40]
call fcn.14001dce0
mov rcx, qword [rsp + 0x48]
xor rcx, rsp
call fcn.14017f700
add rsp, 0x70
pop r15
ret
mov qword [rsp + 0x90], rbp
mov ebp, dword [rcx + 0x38]
sub ebp, 1
js 0x14001e0d9
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 0x14001dfeb
cmp qword [r15 + 0x38], r12
je 0x14001e0bd
lea ebp, [rax - 1]
mov rbx, qword [r15 + 0x18]
movsxd rax, ebp
mov rbx, qword [rbx + rax*8]
cmp dword [rbx + 0xa0], 2
je 0x14001e0b4
cmp byte [rbx + 0x110], r12b
jne 0x14001e0b4
xor sil, sil
call fcn.14000c980
lea rdi, [rbx + 0xb0]
mov r14, rax
cmp qword [rdi + 0x18], 8
mov rcx, rdi
jb 0x14001e02f
mov rcx, qword [rdi]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14001e046
xor edx, edx
mov rcx, r14
call fcn.1400e92a0
mov sil, 1
cmp dword [rbx + 0xa0], 4
je 0x14001e102
cmp qword [rdi + 0x18], 8
mov rcx, rdi
jb 0x14001e060
mov rcx, qword [rdi]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x14001e0f5
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 0x14001e0a2
mov rcx, qword [rbx]
lea r8d, [rax + 0x70]
mov rdx, rbx
mov rcx, qword [rcx]
call fcn.140094370
test sil, sil
je 0x14001e0b4
mov edx, 1
mov rcx, r14
call fcn.1400e92a0
sub ebp, 1
jns 0x14001dfd6
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.14017f700
add rsp, 0x70
pop r15
ret
cmp dword [rbx + 0xa0], 4
jne 0x14001e1b0
cmp qword [rdi + 0x18], 8
mov rcx, rdi
jb 0x14001e10f
mov rcx, qword [rdi]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x14001e1b0
cmp qword [rdi + 0x18], 8
jb 0x14001e127
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 0x14001e0a2
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.1400211d0
test al, al
je 0x14001e0a2
cmp byte [rbx + 8], r12b
je 0x14001e190
mov rcx, qword [rbx]
mov r8d, 0x70
mov rdx, rbx
mov rcx, qword [rcx]
call fcn.140094370
lea rcx, [rbx + 0x150]
call fcn.14015e5b0
test eax, eax
je 0x14001e0a2
mov ecx, eax
call fcn.14015e6bc
jmp 0x14001e0a2
cmp qword [rdi + 0x18], 8
jb 0x14001e1ba
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 0x14001e0a2
movzx eax, byte [rsp + 0x20]
mov edi, r12d
and al, 1
cmp al, byte [rbx + 0xac]
je 0x14001e1ef
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 0x14001e21d
mov rax, qword [rsp + 0x34]
or edi, 0x60
mov qword [rsi], rax
mov dword [rbx + 0xa0], 8
test edi, edi
je 0x14001e0b4
lea rsi, [rbx + 0x150]
mov rcx, rsi
call fcn.14015e574
test eax, eax
je 0x14001e24d
cmp eax, 3
je 0x14001e0b4
mov ecx, eax
call fcn.14015e6bc
jmp 0x14001e0b4
cmp byte [rbx + 8], r12b
je 0x14001e264
mov rcx, qword [rbx]
mov r8d, edi
mov rdx, rbx
mov rcx, qword [rcx]
call fcn.140094370
mov rcx, rsi
call fcn.14015e5b0
test eax, eax
je 0x14001e0b4
mov ecx, eax
call fcn.14015e6bc
jmp 0x14001e0b4
push rbx
sub rsp, 0x20
movzx ebx, dl
call fcn.14004a480
mov rcx, rax
movzx edx, bl
add rsp, 0x20
pop rbx
jmp 0x14001df60