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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x58
mov qword [rsp + 0x48], 0
mov rbx, rcx
mov rdi, r8
mov ebp, r9d
test byte [rcx + 0x58], 4
jne 0x140146ce0
mov qword [rcx + 0xe8], rdx
mov rcx, r8
call fcn.140141910
mov qword [rbx + 0x60], rax
test rax, rax
je 0x140146ca5
mov eax, dword [rbx + 0x58]
test al, 4
je 0x140146a40
mov r9d, 0xffffffff
mov r8, rdi
xor edx, edx
mov ecx, 0xfde9
mov dword [rsp + 0x28], 0
mov r13, qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov qword [rsp + 0x20], 0
call r13
lea esi, [rax + rax]
movsxd rsi, esi
mov rcx, rsi
call fcn.1401419c0
mov r12, rax
test rax, rax
je 0x140146ca5
shr rsi, 1
xor edx, edx
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
mov dword [rsp + 0x28], esi
mov r8, rdi
mov ecx, 0xfde9
call r13
test eax, eax
je 0x140146ac0
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140146c70
shr eax, 4
xor r8d, r8d
xor edx, edx
mov rcx, r12
and eax, 1
mov esi, eax
je 0x140146a60
mov r15, qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
mov r13, r12
xor r14d, r14d
call r15
mov edi, eax
test eax, eax
jne 0x140146c18
mov r8d, 7
mov rcx, r12
xor r9d, r9d
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x42000000
mov edx, 1
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r8, qword [rsp + 0x48]
mov qword [rbx + 0xd8], rax
mov rcx, rax
test r8, r8
je 0x14014694d
mov rcx, r8
call fcn.1401419e0
mov rcx, qword [rbx + 0xd8]
mov qword [rsp + 0x48], 0
cmp rcx, 0xffffffffffffffff
je 0x140146c60
mov rax, qword [rbx + 8]
xor r9d, r9d
mov r8, rbx
mov rdx, qword [rax + 0x38]
call qword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
test rax, rax
je 0x140146c60
mov rdx, qword [rbx + 0x108]
test rdx, rdx
je 0x140146c88
mov r9d, ebp
lea rax, [rbx + 0xa8]
mov qword [rbx + 0xa8], 0
mov rcx, qword [rbx + 0xd8]
shr r9d, 2
mov qword [rsp + 0x30], rax
mov r8d, 0x1000
and r9d, 1
mov qword [rbx + 0xb0], 0
mov qword [rbx + 0xb8], 0
mov qword [rbx + 0xc0], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x17f
call qword [sym.imp.KERNEL32.dll_ReadDirectoryChangesW]
test eax, eax
je 0x140146c60
test esi, esi
jne 0x140146ae0
test r13, r13
je 0x140146a23
mov r8d, 0x14a
lea rdx, str.src_win_fs_event.c
lea rcx, str.is_path_dir___pathw___NULL_:_pathw__NULL
call qword [sym.imp.msvcrt.dll__assert]
mov qword [rbx + 0x100], r13
xor eax, eax
mov dword [rbx + 0xe0], 1
jmp 0x140146acd
mov edx, eax
or edx, 4
mov dword [rbx + 0x58], edx
test al, 8
je 0x140146843
mov rax, qword [rbx + 8]
add dword [rax + 8], 1
jmp 0x140146843
mov r13, qword [sym.imp.KERNEL32.dll_GetShortPathNameW]
lea r15, [rbx + 0xf0]
call r13
mov edi, eax
test eax, eax
jne 0x140146af0
lea rdx, [rsp + 0x48]
mov r8, r15
mov rcx, r12
xor r14d, r14d
call fcn.140146600
test eax, eax
jne 0x140146b47
mov qword [rbx + 0xf8], 0
xor r14d, r14d
mov rdi, qword [rsp + 0x48]
mov rcx, r12
xor r13d, r13d
call fcn.1401419e0
mov r12, rdi
jmp 0x1401468f1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.140146240
add rsp, 0x58
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test r13, r13
jne 0x140146a23
jmp 0x140146a09
mov ecx, eax
add rcx, rcx
call fcn.1401419c0
mov r14, rax
test rax, rax
je 0x140146a77
mov r8d, edi
mov rdx, rax
mov rcx, r12
call r13
test eax, eax
je 0x140146cd0
lea rdx, [rsp + 0x48]
mov r8, r15
mov rcx, r12
call fcn.140146600
test eax, eax
jne 0x140146b47
xor edx, edx
lea r8, [rbx + 0xf8]
mov rcx, r14
call fcn.140146600
test eax, eax
je 0x140146aa0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r13, r12
mov r15d, eax
mov rcx, qword [rbx + 0x60]
test rcx, rcx
je 0x140146b69
call fcn.1401419e0
mov qword [rbx + 0x60], 0
mov rcx, qword [rbx + 0xf0]
test rcx, rcx
je 0x140146b85
call fcn.1401419e0
mov qword [rbx + 0xf0], 0
mov rcx, qword [rbx + 0xf8]
test rcx, rcx
je 0x140146ba1
call fcn.1401419e0
mov qword [rbx + 0xf8], 0
mov rcx, r13
call fcn.1401419e0
mov rcx, qword [rbx + 0xd8]
cmp rcx, 0xffffffffffffffff
je 0x140146bc7
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0xd8], 0xffffffffffffffff
mov rcx, qword [rbx + 0x108]
test rcx, rcx
je 0x140146be3
call fcn.1401419e0
mov qword [rbx + 0x108], 0
mov eax, dword [rbx + 0x58]
test al, 4
je 0x140146bfe
mov edx, eax
and edx, 0xfffffffb
mov dword [rbx + 0x58], edx
test al, 8
je 0x140146bfe
mov rax, qword [rbx + 8]
sub dword [rax + 8], 1
mov rcx, r14
call fcn.1401419e0
mov ecx, r15d
call fcn.140146240
jmp 0x140146acd
movsxd rcx, eax
add rcx, rcx
call fcn.1401419c0
mov r13, rax
test rax, rax
je 0x140146ca5
mov r8d, edi
mov rdx, rax
mov rcx, r12
call r15
test eax, eax
je 0x140146cc0
cdqe
xor edx, edx
mov rcx, r12
mov r12, r13
mov word [r13 + rax*2], dx
call fcn.1401419e0
jmp 0x1401468f1
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r15d, eax
jmp 0x140146b53
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r13, r12
xor r14d, r14d
mov r15d, eax
jmp 0x140146b53
mov ecx, 0x1000
call fcn.1401419c0
mov qword [rbx + 0x108], rax
mov rdx, rax
test rax, rax
jne 0x140146984
lea rdx, [0x1404716e0]
mov ecx, 0xe
call fcn.140146180
nop word cs:[rax + rax]
mov rcx, r13
mov r13, r12
call fcn.1401419e0
jmp 0x1401468f1
mov rcx, r14
call fcn.1401419e0
jmp 0x140146a77
mov eax, 0xfffff019
jmp 0x140146acd