Function at 0x404b70
Capabilities:
Check if file exists

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rdi, r8
mov rcx, rdx
mov rsi, r9
call sub.msvcrt.dll__strdup
mov qword [rbx + 8], rdi
lea rdi, [rbx + 0x18]
mov qword [rbx], rax
mov qword [rbx + 0x10], rsi
call fcn.0043ed60
mov rdx, rdi
mov rcx, rax
call fcn.00440c50
call fcn.0043ed60
lea rdx, [rbx + 0x128]
mov rcx, rax
call fcn.004569f0
mov r8, qword [rbx]
lea rdx, [0x00404a60]
xor r9d, r9d
mov rcx, rdi
mov qword [rbx + 0x128], rbx
mov qword [rbx + 0x18], rbx
add rsp, 0x20
pop rbx
pop rsi
pop rdi
jmp 0x440ce0
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x260
test byte [rcx + 0x58], 0x40
mov rbx, rcx
mov rbp, r8
mov r12d, r9d
mov qword [rsp + 0x48], 0
jne 0x441150
mov qword [rcx + 0xe8], rdx
mov rcx, r8
call fcn.0043d380
test rax, rax
mov qword [rbx + 0x60], rax
je 0x4411ce
mov eax, dword [rbx + 0x58]
test al, 1
jne 0x441080
test al, 0x40
je 0x440f20
xor edx, edx
mov r9d, 0xffffffff
mov r8, rbp
mov ecx, 0xfde9
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r13, qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
call r13
lea esi, [rax + rax]
movsxd rsi, esi
mov rcx, rsi
call fcn.0043d450
test rax, rax
mov rdi, rax
je 0x4411ce
shr rsi, 1
xor edx, edx
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], esi
mov r9d, 0xffffffff
mov r8, rbp
mov ecx, 0xfde9
call r13
test eax, eax
je 0x441070
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x440f90
and eax, 0x10
mov esi, eax
je 0x440f40
xor r8d, r8d
xor edx, edx
mov rcx, rdi
mov r14, qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
mov rbp, rdi
call r14
test eax, eax
mov r13d, eax
jne 0x4410e0
xor r9d, r9d
mov rcx, rbp
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x42000000
mov dword [rsp + 0x20], 3
mov r8d, 7
mov edx, 1
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rcx, qword [rsp + 0x48]
mov qword [rbx + 0xd8], rax
test rcx, rcx
je 0x440e3b
call fcn.0043d460
mov rax, qword [rbx + 0xd8]
mov qword [rsp + 0x48], 0
cmp rax, 0xffffffffffffffff
je 0x440f90
mov rdx, qword [rbx + 8]
xor r9d, r9d
mov r8, rbx
mov rcx, rax
mov rdx, qword [rdx + 0x38]
call qword [sym.imp.KERNEL32.dll_CreateIoCompletionPort]
test rax, rax
je 0x440f90
mov rdx, qword [rbx + 0x108]
test rdx, rdx
je 0x4411b0
lea r8, [rbx + 0xa8]
mov r9d, r12d
mov qword [rbx + 0xa8], 0
shr r9d, 2
mov qword [rbx + 0xb0], 0
mov qword [rbx + 0xb8], 0
mov qword [rsp + 0x30], r8
and r9d, 1
mov qword [rbx + 0xc0], 0
mov rcx, qword [rbx + 0xd8]
mov qword [rsp + 0x38], 0
mov r8d, 0x1000
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x17f
call qword [sym.imp.KERNEL32.dll_ReadDirectoryChangesW]
test eax, eax
je 0x440f90
test esi, esi
je 0x441124
test rdi, rdi
je 0x44112d
mov qword [rbx + 0x100], rdi
mov dword [rbx + 0xe0], 1
xor eax, eax
jmp 0x441057
mov edx, eax
or edx, 0x40
test al, 0x20
mov dword [rbx + 0x58], edx
je 0x440d3c
mov rax, qword [rbx + 8]
add dword [rax + 8], 1
jmp 0x440d3c
lea rbp, [rsp + 0x50]
mov r8d, 4
mov rcx, rdi
mov rdx, rbp
call qword [sym.imp.KERNEL32.dll_GetShortPathNameW]
test eax, eax
je 0x4410a1
lea rdx, [rsp + 0x48]
lea r8, [rbx + 0xf0]
mov rcx, rdi
call fcn.00440a00
test eax, eax
jne 0x440f90
lea r8, [rbx + 0xf8]
xor edx, edx
mov rcx, rbp
call fcn.00440a00
test eax, eax
je 0x4410c8
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rbx + 0x60]
mov esi, eax
test rcx, rcx
je 0x440fae
call fcn.0043d460
mov qword [rbx + 0x60], 0
mov rcx, qword [rbx + 0xf0]
test rcx, rcx
je 0x440fca
call fcn.0043d460
mov qword [rbx + 0xf0], 0
mov rcx, qword [rbx + 0xf8]
test rcx, rcx
je 0x440fe6
call fcn.0043d460
mov qword [rbx + 0xf8], 0
mov rcx, rdi
call fcn.0043d460
mov rcx, qword [rbx + 0xd8]
cmp rcx, 0xffffffffffffffff
je 0x44100c
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0xd8], 0xffffffffffffffff
mov rcx, qword [rbx + 0x108]
test rcx, rcx
je 0x441028
call fcn.0043d460
mov qword [rbx + 0x108], 0
mov eax, dword [rbx + 0x58]
test al, 0x40
je 0x441050
test al, 1
jne 0x441160
mov edx, eax
and edx, 0xffffffbf
test al, 0x20
mov dword [rbx + 0x58], edx
jne 0x441190
nop word [rax + rax]
mov ecx, esi
call fcn.00440300
add rsp, 0x260
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.00440300
jmp 0x441057
lea rdx, str.src_win_fs_event.c
lea rcx, [0x0051ad40]
mov r8d, 0xaa
call fcn.00472160
mov eax, dword [rbx + 0x58]
jmp 0x440d34
lea rdx, [rsp + 0x48]
lea r8, [rbx + 0xf0]
mov rcx, rdi
call fcn.00440a00
test eax, eax
jne 0x440f90
mov qword [rbx + 0xf8], 0
mov rcx, rdi
mov rbp, qword [rsp + 0x48]
xor edi, edi
call fcn.0043d460
jmp 0x440de5
movsxd rcx, eax
add rcx, rcx
call fcn.0043d450
test rax, rax
mov rbp, rax
je 0x4411ce
mov r8d, r13d
mov rdx, rax
mov rcx, rdi
call r14
test eax, eax
je 0x4411a0
cdqe
xor edx, edx
mov rcx, rdi
mov word [rbp + rax*2], dx
mov rdi, rbp
call fcn.0043d460
jmp 0x440de5
test rdi, rdi
je 0x440efe
lea rdx, str.src_win_fs_event.c
lea rcx, str.is_path_dir___pathw___NULL_:_pathw__NULL
mov r8d, 0x136
call fcn.00472160
jmp 0x440efe
mov eax, 0xfffff019
jmp 0x441057
lea rdx, str.src_win_fs_event.c
lea rcx, [0x0051ad40]
mov r8d, 0x158
call fcn.00472160
mov eax, dword [rbx + 0x58]
test al, 0x40
je 0x441050
jmp 0x441037
mov rax, qword [rbx + 8]
sub dword [rax + 8], 1
jmp 0x441050
mov rcx, rbp
mov rbp, rdi
call fcn.0043d460
jmp 0x440de5
mov ecx, 0x1000
call fcn.0043d450
test rax, rax
mov qword [rbx + 0x108], rax
je 0x4411ce
mov rdx, rax
jmp 0x440e75
lea rdx, [0x0051ad20]
mov ecx, 0xe
call fcn.00440240
nop