Function at 0x1400d7574
Capabilities:
Check if file exists

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r14
push r15
mov rbp, rsp
sub rsp, 0x40
mov r14, rdx
mov rbx, rcx
test rcx, rcx
je 0x1400d787f
test rdx, rdx
je 0x1400d787f
and qword [rdx], 0
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x1400d75b7
mov eax, 0x80070002
jmp 0x1400d7884
or qword [rbp + 0x30], 0xffffffffffffffff
lea rcx, [rbp + 0x30]
mov r15d, 1
mov dword [rsp + 0x28], 0x80
mov r9d, r15d
mov dword [rsp + 0x20], 3
mov r8d, 0x120089
mov rdx, rbx
call fcn.1400fa44c
mov ebx, eax
test eax, eax
jns 0x1400d7634
mov rcx, qword [0x14016d280]
lea rdx, [0x14016d280]
cmp rcx, rdx
je 0x1400d761d
test byte [rcx + 0x1c], r15b
je 0x1400d761d
mov rcx, qword [rcx + 0x10]
lea edx, [r15 + 0x37]
mov r9d, eax
lea r8, [0x140146c28]
call fcn.140044380
mov rcx, qword [rbp + 0x30]
cmp rcx, 0xffffffffffffffff
je 0x1400d762d
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, ebx
jmp 0x1400d7884
mov rbx, qword [rbp + 0x30]
lea rcx, [rbp + 0x40]
and qword [rbp + 0x40], 0
mov rdx, rbx
call fcn.1400fa79c
mov edi, eax
test eax, eax
jns 0x1400d7696
mov rcx, qword [0x14016d280]
lea rdx, [0x14016d280]
cmp rcx, rdx
je 0x1400d7680
test byte [rcx + 0x1c], r15b
je 0x1400d7680
mov rcx, qword [rcx + 0x10]
lea r8, [0x140146c28]
mov edx, 0x39
mov r9d, eax
call fcn.140044380
cmp rbx, 0xffffffffffffffff
je 0x1400d768f
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, edi
jmp 0x1400d7884
mov rsi, qword [rbp + 0x40]
cmp rsi, 0xffffe
jb 0x1400d76ed
mov rcx, qword [0x14016d280]
lea rdx, [0x14016d280]
cmp rcx, rdx
je 0x1400d76d4
test byte [rcx + 0x1c], r15b
je 0x1400d76d4
mov rcx, qword [rcx + 0x10]
lea r8, [0x140146c28]
mov edx, 0x3a
mov r9, rsi
call fcn.140044604
cmp rbx, 0xffffffffffffffff
je 0x1400d76e3
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x80004005
jmp 0x1400d7884
and qword [rbp + 0x30], 0
lea edx, [rsi + 1]
lea rcx, [rbp + 0x30]
call fcn.1400f9e70
mov edi, eax
test eax, eax
jns 0x1400d774c
mov rcx, qword [0x14016d280]
lea rdx, [0x14016d280]
cmp rcx, rdx
je 0x1400d7735
test byte [rcx + 0x1c], r15b
je 0x1400d7735
mov rcx, qword [rcx + 0x10]
lea r8, [0x140146c28]
mov edx, 0x3b
mov r9d, eax
call fcn.140044380
mov rcx, qword [rbp + 0x30]
test rcx, rcx
je 0x1400d7680
call fcn.140030fc4
jmp 0x1400d7680
mov rdi, qword [rbp + 0x30]
lea rdx, [rbp + 0x40]
mov r8, rdi
mov qword [rbp + 0x40], rsi
mov rcx, rbx
call fcn.1400fac90
mov r15d, eax
test eax, eax
jns 0x1400d77bf
mov rcx, qword [0x14016d280]
lea rdx, [0x14016d280]
cmp rcx, rdx
je 0x1400d779b
test byte [rcx + 0x1c], 1
je 0x1400d779b
mov rcx, qword [rcx + 0x10]
lea r8, [0x140146c28]
mov edx, 0x3c
mov r9d, eax
call fcn.140044380
test rdi, rdi
je 0x1400d77a8
mov rcx, rdi
call fcn.140030fc4
cmp rbx, 0xffffffffffffffff
je 0x1400d77b7
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, r15d
jmp 0x1400d7884
cmp qword [rbp + 0x40], rsi
je 0x1400d7819
mov rcx, qword [0x14016d280]
lea rdx, [0x14016d280]
cmp rcx, rdx
je 0x1400d77f6
test byte [rcx + 0x1c], 1
je 0x1400d77f6
mov rcx, qword [rcx + 0x10]
lea r8, [0x140146c28]
mov edx, 0x3d
mov r9, rsi
call fcn.140044604
test rdi, rdi
je 0x1400d7803
mov rcx, rdi
call fcn.140030fc4
cmp rbx, 0xffffffffffffffff
je 0x1400d7812
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 0x80070018
jmp 0x1400d7884
mov r8, rdi
mov byte [rdi + rsi], 0
mov rcx, r14
call fcn.1400fb3d4
mov esi, eax
test eax, eax
jns 0x1400d785f
mov rcx, qword [0x14016d280]
lea rdx, [0x14016d280]
cmp rcx, rdx
je 0x1400d785f
test byte [rcx + 0x1c], 1
je 0x1400d785f
mov rcx, qword [rcx + 0x10]
lea r8, [0x140146c28]
mov edx, 0x3e
mov r9d, eax
call fcn.140044380
test rdi, rdi
je 0x1400d786c
mov rcx, rdi
call fcn.140030fc4
cmp rbx, 0xffffffffffffffff
je 0x1400d787b
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, esi
jmp 0x1400d7884
mov eax, 0x80070057
mov rbx, qword [rsp + 0x78]
add rsp, 0x40
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret