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

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x2a8]
sub rsp, 0x390
mov qword [rbp - 0x10], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14016b400]
xor rax, rsp
mov qword [rbp + 0x280], rax
mov rbx, rdx
lea rsi, str.base_stor_vssmoduleswritersdeletewriter.cpp
mov qword [rsp + 0x48], rsi
lea r14, str.CVssDeletingWriter::PathIsRedirected
mov qword [rsp + 0x50], r14
lea r15, str.WRTDELET
mov qword [rsp + 0x58], r15
mov dword [rsp + 0x60], 0x617
mov dword [rsp + 0x64], 4
mov dword [rsp + 0x68], 0xff
xor edi, edi
mov dword [rbp - 0x18], 0x1000000
xor edx, edx
lea r8d, [rdi + 0x78]
lea rcx, [rsp + 0x70]
call sub.msvcrt.dll_memset
xor r8d, r8d
lea rdx, [rsp + 0x48]
lea rcx, [rbp]
call fcn.14001cce0
nop
mov qword [rsp + 0x40], rdi
lea rax, [0x1400f83f8]
mov qword [rsp + 0x38], rax
cmp word [rbx], di
je 0x1400538c5
mov rdx, rbx
lea rcx, [rsp + 0x38]
call fcn.1400189f0
mov rbx, qword [rsp + 0x40]
or rax, 0xffffffffffffffff
lea rax, [rax + 1]
cmp word [rbx + rax*2], 0
jne 0x1400209f5
cmp word [rbx + rax*2 - 2], 0x5c
je 0x14005384c
mov r8d, 0x104
lea rdx, [rbp + 0x70]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetVolumePathNameW]
test eax, eax
je 0x140053865
lea rcx, [rbp + 0x70]
or rax, 0xffffffffffffffff
nop
lea rax, [rax + 1]
cmp word [rcx + rax*2], 0
jne 0x140020a30
cmp word [rbp + rax*2 + 0x6e], 0x5c
jne 0x140020a5c
lea rax, [rax*2 - 2]
cmp rax, 0x208
jae 0x140020ba5
mov word [rbp + rax + 0x70], di
or rax, 0xffffffffffffffff
inc rax
cmp word [rbx + rax*2], 0
jne 0x140020a60
cmp rax, 3
jb 0x140020ad0
mov rdx, rbx
lea rcx, [rbp + 0x70]
call qword [sym.imp.msvcrt.dll__wcsicmp]
test eax, eax
je 0x140020ad0
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_file_l1_1_0.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140020b40
bt eax, 0xa
jb 0x1400538ef
mov edx, 0x5c
mov rcx, rbx
call qword [sym.imp.msvcrt.dll_wcsrchr]
test rax, rax
je 0x140020ad0
mov word [rax], di
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x140020ac0
cmp rax, 3
jae 0x140020a70
lea rax, str.FALSE
mov qword [rsp + 0x20], rax
lea r9, str.Returning_BOOL:__s
mov r8d, 0xaa
lea rdx, str.RETURN
lea rcx, [rbp]
call fcn.14001d380
nop
test rbx, rbx
je 0x140020b09
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_heap_l2_1_0.dll_LocalFree]
nop
lea rcx, [rbp]
call fcn.14001ce00
xor al, al
mov rcx, qword [rbp + 0x280]
xor rcx, rsp
call fcn.1400321c0
lea r11, [rsp + 0x390]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x30]
mov rdi, qword [r11 + 0x38]
mov rsp, r11
pop r15
pop r14
pop rbp
ret
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r15
mov dword [rsp + 0x60], 0x655
mov dword [rsp + 0x64], 4
mov dword [rsp + 0x68], 0xff
mov dword [rbp - 0x18], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x70]
call sub.msvcrt.dll_memset
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [rsp + 0x20], eax
mov r9, rbx
lea r8, str.GetFileAttributes__s__failed_with__d
lea rdx, [rsp + 0x48]
lea rcx, [rbp]
call fcn.14001cc70
jmp 0x140020a9d
call fcn.1400324a4
int3
or rax, 0xffffffffffffffff
lea rax, [rax + 1]
cmp word [rbx + rax*2], 0
jne 0x140053850
mov word [rbx + rax*2 - 2], di
jmp 0x140020a0c
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r15
mov dword [rsp + 0x60], 0x62e
mov dword [rsp + 0x64], 4
mov dword [rsp + 0x68], 0xff
mov dword [rbp - 0x18], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x70]
call sub.msvcrt.dll_memset
call qword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov dword [rsp + 0x20], eax
mov r9, rbx
lea r8, str.GetVolumePathName__s__failed_with__d
lea rdx, [rsp + 0x48]
lea rcx, [rbp]
call fcn.14001cc70
xor edx, edx
lea rcx, [rbp]
call fcn.14001cbf4
movzx ebx, al
lea rcx, [rsp + 0x38]
call fcn.140027ab0
nop
lea rcx, [rbp]
call fcn.14001ce00
movzx eax, bl
jmp 0x140020b14
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], r14
mov qword [rsp + 0x58], r15
mov dword [rsp + 0x60], 0x65c
mov dword [rsp + 0x64], 4
mov dword [rsp + 0x68], 0xff
mov dword [rbp - 0x18], 0x1000000
xor edx, edx
lea r8d, [rdx + 0x78]
lea rcx, [rsp + 0x70]
call sub.msvcrt.dll_memset
mov r9, rbx
lea r8, str.reparse_point_found:__s
lea rdx, [rsp + 0x48]
lea rcx, [rbp]
call fcn.14001cc70
mov dl, 1
lea rcx, [rbp]
call fcn.14001cbf4
movzx ebx, al
lea rcx, [rsp + 0x38]
call fcn.140027ab0
nop
lea rcx, [rbp]
call fcn.14001ce00
movzx eax, bl
jmp 0x140020b14