Function at 0x7ff7ed3a0e98
Capabilities:
Check if file exists

Disassembly:
mov r8, qword [rcx + 0x10]
lea rdx, [0x7ff7ed3a0e3c]
mov rcx, qword [rcx + 0x28]
xor r9d, r9d
jmp 0x7ff7ed634980
mov qword [rsp + 0x20], rbx
push rbp
push rsi
push r12
push r13
push r14
sub rsp, 0x40
xor r13d, r13d
mov r12d, r9d
test byte [rcx + 0x58], 4
mov rsi, r8
mov rbx, rcx
mov qword [rsp + 0x70], r13
mov r14d, r13d
mov ebp, r13d
je 0x7ff7ed6349b8
mov eax, 0xfffff019
jmp 0x7ff7ed634a73
mov qword [rcx + 0xe8], rdx
mov rcx, rsi
mov qword [rsp + 0x78], rdi
mov qword [rsp + 0x80], r15
call fcn.7ff7ed62a960
mov qword [rbx + 0x60], rax
test rax, rax
je 0x7ff7ed634d32
mov eax, dword [rbx + 0x58]
test al, 4
jne 0x7ff7ed6349f9
or eax, 4
mov dword [rbx + 0x58], eax
test al, 8
je 0x7ff7ed6349f9
mov rax, qword [rbx + 8]
inc dword [rax + 8]
mov dword [rsp + 0x28], r13d
mov r9d, 0xffffffff
mov r8, rsi
mov qword [rsp + 0x20], r13
xor edx, edx
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
add eax, eax
movsxd r15, eax
mov rcx, r15
call fcn.7ff7ed62a8e0
mov rdi, rax
test rax, rax
je 0x7ff7ed634d32
shr r15, 1
mov r9d, 0xffffffff
mov dword [rsp + 0x28], r15d
mov r8, rsi
xor edx, edx
mov qword [rsp + 0x20], rax
mov ecx, 0xfde9
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
jne 0x7ff7ed634a88
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.7ff7ed63f230
mov rdi, qword [rsp + 0x78]
mov r15, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x88]
add rsp, 0x40
pop r14
pop r13
pop r12
pop rsi
pop rbp
ret
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x7ff7ed634c6b
xor r8d, r8d
xor edx, edx
mov rcx, rdi
test al, 0x10
je 0x7ff7ed634b05
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
movsxd r15, eax
test eax, eax
je 0x7ff7ed634afd
mov rcx, r15
add rcx, rcx
call fcn.7ff7ed62a8e0
mov rsi, rax
test rax, rax
je 0x7ff7ed634d32
mov r8d, r15d
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
test eax, eax
je 0x7ff7ed634af5
movsxd rcx, eax
mov word [rsi + rcx*2], r13w
mov rcx, rdi
call fcn.7ff7ed62a730
mov rdi, rsi
jmp 0x7ff7ed634b89
mov rcx, rsi
call fcn.7ff7ed62a730
mov rsi, rdi
jmp 0x7ff7ed634b89
call qword [sym.imp.KERNEL32.dll_GetShortPathNameW]
mov esi, eax
test eax, eax
je 0x7ff7ed634b41
mov ecx, esi
add rcx, rcx
call fcn.7ff7ed62a8e0
mov rbp, rax
test rax, rax
je 0x7ff7ed634b41
mov r8d, esi
mov rdx, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetShortPathNameW]
test eax, eax
jne 0x7ff7ed634b41
mov rcx, rbp
call fcn.7ff7ed62a730
mov rbp, r13
lea r8, [rbx + 0xf0]
mov rcx, rdi
lea rdx, [rsp + 0x70]
call fcn.7ff7ed6351d0
test eax, eax
jne 0x7ff7ed634c6b
lea r8, [rbx + 0xf8]
xor edx, edx
mov rcx, rbp
call fcn.7ff7ed6351d0
test eax, eax
jne 0x7ff7ed634c6b
mov r14, qword [rsp + 0x70]
mov rcx, rdi
mov rsi, r14
call fcn.7ff7ed62a730
mov rdi, r13
xor r9d, r9d
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x42000000
mov rcx, rsi
mov dword [rsp + 0x20], 3
lea edx, [r9 + 1]
lea r8d, [r9 + 7]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbx + 0xd8], rax
test r14, r14
je 0x7ff7ed634bc6
mov rcx, r14
call fcn.7ff7ed62a730
mov rcx, qword [rbx + 0xd8]
cmp rcx, 0xffffffffffffffff
je 0x7ff7ed634c6b
mov rdx, qword [rbx + 8]
xor r9d, r9d
mov r8, rbx
mov rdx, qword [rdx + 0x38]
call qword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
test rax, rax
je 0x7ff7ed634c6b
mov rax, qword [rbx + 0x108]
test rax, rax
jne 0x7ff7ed634c16
mov ecx, 0x1000
call fcn.7ff7ed62a8e0
mov qword [rbx + 0x108], rax
test rax, rax
je 0x7ff7ed634d32
lea rax, [rbx + 0xa8]
mov qword [rsp + 0x38], r13
xorps xmm0, xmm0
mov qword [rsp + 0x30], rax
movups xmmword [rax], xmm0
shr r12d, 2
mov r8d, 0x1000
movups xmmword [rax + 0x10], xmm0
mov rdx, qword [rbx + 0x108]
and r12d, 1
mov rcx, qword [rbx + 0xd8]
mov r9d, r12d
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], 0x17f
call qword [sym.imp.KERNEL32.dll_ReadDirectoryChangesW]
test eax, eax
jne 0x7ff7ed634d1a
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov rcx, qword [rbx + 0x60]
test rcx, rcx
je 0x7ff7ed634c85
call fcn.7ff7ed62a730
mov qword [rbx + 0x60], r13
mov rcx, qword [rbx + 0xf0]
test rcx, rcx
je 0x7ff7ed634c9d
call fcn.7ff7ed62a730
mov qword [rbx + 0xf0], r13
mov rcx, qword [rbx + 0xf8]
test rcx, rcx
je 0x7ff7ed634cb5
call fcn.7ff7ed62a730
mov qword [rbx + 0xf8], r13
mov rcx, rdi
call fcn.7ff7ed62a730
mov rcx, qword [rbx + 0xd8]
cmp rcx, 0xffffffffffffffff
je 0x7ff7ed634cdb
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0xd8], 0xffffffffffffffff
mov rcx, qword [rbx + 0x108]
test rcx, rcx
je 0x7ff7ed634cf3
call fcn.7ff7ed62a730
mov qword [rbx + 0x108], r13
mov eax, dword [rbx + 0x58]
test al, 4
je 0x7ff7ed634d0b
and eax, 0xfffffffb
mov dword [rbx + 0x58], eax
test al, 8
je 0x7ff7ed634d0b
mov rax, qword [rbx + 8]
dec dword [rax + 8]
mov rcx, rbp
call fcn.7ff7ed62a730
mov ecx, esi
jmp 0x7ff7ed634a61
mov qword [rbx + 0x100], rdi
xor eax, eax
mov dword [rbx + 0xe0], 1
jmp 0x7ff7ed634a66
lea rdx, str.uv__malloc
mov ecx, 0xe
call fcn.7ff7ed63f180
int3