Function at 0x1401a7420
Capabilities:
Check if file exists

Disassembly:
push rbx
push rbp
push r14
push r15
sub rsp, 0x118
mov rax, qword [0x1402a76c0]
xor rax, rsp
mov qword [rsp + 0xf0], rax
xorps xmm0, xmm0
xorps xmm1, xmm1
xor r15d, r15d
mov rbx, r8
movups xmmword [rsp + 0x70], xmm0
mov dword [r8], r15d
mov rbp, rdx
movups xmmword [rsp + 0x80], xmm0
mov r14, rcx
movups xmmword [rsp + 0xb0], xmm1
movups xmmword [rsp + 0xc0], xmm1
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1401a748b
lea rdx, [rsp + 0x70]
mov rcx, r14
call fcn.140197480
jmp 0x1401a7491
mov dword [rbx], 2
mov rcx, rbp
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1401a76d1
lea rdx, [rsp + 0xb0]
mov rcx, rbp
call fcn.140197480
cmp dword [rbx], r15d
jne 0x1401a7531
lea rdx, [0x140251dfc]
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x1401a7538
lea rdx, [0x140251dfc]
lea rcx, [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
je 0x1401a7538
lea rcx, [rsp + 0x70]
movaps xmmword [rsp + 0x100], xmm6
call fcn.140200120
xorps xmm6, xmm6
lea rcx, [rsp + 0xb0]
cvtsd2ss xmm6, xmm0
call fcn.140200120
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
comiss xmm6, xmm1
jbe 0x1401a751e
mov dword [rbx], 1
comiss xmm1, xmm6
movaps xmm6, xmmword [rsp + 0x100]
jbe 0x1401a7538
mov dword [rbx], 0xffffffff
xor eax, eax
jmp 0x1401a76b3
cmp dword [rbx], r15d
jne 0x1401a7531
mov qword [rsp + 0x30], r15
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
xor r8d, r8d
mov qword [rsp + 0x158], rsi
mov edx, 0x80000000
mov rcx, r14
mov dword [rsp + 0x20], 3
mov qword [rsp + 0x110], rdi
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x30], r15
xor r9d, r9d
mov dword [rsp + 0x28], 0x80
xor r8d, r8d
mov edx, 0x80000000
mov dword [rsp + 0x20], 3
mov rcx, rbp
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rdi, rax
cmp rsi, 0xffffffffffffffff
je 0x1401a7680
cmp rax, 0xffffffffffffffff
je 0x1401a7680
lea r9, [rsp + 0x50]
mov rcx, rsi
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0x40]
call qword [sym.imp.KERNEL32.dll_GetFileTime]
lea r9, [rsp + 0x68]
mov rcx, rdi
lea r8, [rsp + 0x60]
lea rdx, [rsp + 0x58]
call qword [sym.imp.KERNEL32.dll_GetFileTime]
mov eax, dword [rsp + 0x54]
cmp eax, dword [rsp + 0x6c]
jbe 0x1401a760d
lea rcx, str.FileCompare__s____s
mov dword [rbx], 1
mov r8, rbp
mov rdx, r14
call fcn.1401b6310
jmp 0x1401a7689
jae 0x1401a7629
lea rcx, [0x14026a010]
mov dword [rbx], 0xffffffff
mov r8, rbp
mov rdx, r14
call fcn.1401b6310
jmp 0x1401a7689
mov eax, dword [rsp + 0x50]
cmp eax, dword [rsp + 0x68]
jbe 0x1401a764d
lea rcx, str.FileCompare__s____s
mov dword [rbx], 1
mov r8, rbp
mov rdx, r14
call fcn.1401b6310
jmp 0x1401a7689
jae 0x1401a7669
lea rcx, [0x14026a010]
mov dword [rbx], 0xffffffff
mov r8, rbp
mov rdx, r14
call fcn.1401b6310
jmp 0x1401a7689
lea rcx, str.FileCompare__s___s
mov dword [rbx], r15d
mov r8, rbp
mov rdx, r14
call fcn.1401b6310
jmp 0x1401a7689
mov dword [rbx], r15d
cmp rdi, 0xffffffffffffffff
je 0x1401a7692
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdi, qword [rsp + 0x110]
cmp rsi, 0xffffffffffffffff
je 0x1401a76a9
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rsi, qword [rsp + 0x158]
xor eax, eax
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1401e2900
add rsp, 0x118
pop r15
pop r14
pop rbp
pop rbx
ret
mov dword [rbx], 0xfffffffe
xor eax, eax
jmp 0x1401a76b3