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

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x268
mov qword [rsp + 0x48], 0
mov rbx, rcx
mov rbp, r8
mov r12d, r9d
test byte [rcx + 0x58], 4
jne 0x140068530
mov qword [rcx + 0xe8], rdx
mov rcx, r8
call fcn.140082d10
mov qword [rbx + 0x60], rax
test rax, rax
je 0x14006850d
mov eax, dword [rbx + 0x58]
test al, 4
je 0x140068220
mov r9d, 0xffffffff
mov r8, rbp
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.140082db0
mov rdi, rax
test rax, rax
je 0x14006850d
shr rsi, 1
xor edx, edx
mov qword [rsp + 0x20], rax
mov r9d, 0xffffffff
mov dword [rsp + 0x28], esi
mov r8, rbp
mov ecx, 0xfde9
call r13
test eax, eax
je 0x140068480
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400683b8
test al, 0x10
je 0x140068240
mov r13, qword [sym.imp.KERNEL32.dll_GetLongPathNameW]
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call r13
mov esi, eax
test eax, eax
jne 0x1400684b0
mov rbp, rdi
mov rcx, rbp
xor r9d, r9d
mov qword [rsp + 0x30], 0
mov r8d, 7
mov dword [rsp + 0x28], 0x42000000
mov edx, 1
mov dword [rsp + 0x20], 3
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbx + 0xd8], rax
mov rcx, rax
jmp 0x140068301
mov edx, eax
or edx, 4
mov dword [rbx + 0x58], edx
test al, 8
je 0x140068132
mov rax, qword [rbx + 8]
add dword [rax + 8], 1
jmp 0x140068132
lea rsi, [rsp + 0x50]
mov r8d, 4
mov rcx, rdi
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_GetShortPathNameW]
lea rdx, [rsp + 0x48]
lea r8, [rbx + 0xf0]
mov rcx, rdi
test eax, eax
mov eax, 0
cmove rsi, rax
call fcn.140067f00
test eax, eax
jne 0x1400683b8
xor edx, edx
lea r8, [rbx + 0xf8]
mov rcx, rsi
call fcn.140067f00
test eax, eax
jne 0x1400683b8
mov rsi, qword [rsp + 0x48]
mov rcx, rdi
call fcn.140082dd0
mov dword [rsp + 0x28], 0x42000000
xor r9d, r9d
mov r8d, 7
mov rcx, rsi
mov dword [rsp + 0x20], 3
mov edx, 1
mov qword [rsp + 0x30], 0
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rbx + 0xd8], rax
mov rcx, rax
test rsi, rsi
je 0x14006853a
mov rcx, rsi
xor edi, edi
call fcn.140082dd0
mov rcx, qword [rbx + 0xd8]
mov qword [rsp + 0x48], 0
cmp rcx, 0xffffffffffffffff
je 0x1400683b8
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 0x1400683b8
mov rdx, qword [rbx + 0x108]
test rdx, rdx
je 0x1400684f0
mov r9d, r12d
pxor xmm0, xmm0
lea rax, [rbx + 0xa8]
mov rcx, qword [rbx + 0xd8]
shr r9d, 2
movups xmmword [rbx + 0xa8], xmm0
mov r8d, 0x1000
movups xmmword [rbx + 0xb8], xmm0
and r9d, 1
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0x17f
call qword [sym.imp.KERNEL32.dll_ReadDirectoryChangesW]
test eax, eax
je 0x1400683b8
xor eax, eax
mov qword [rbx + 0x100], rdi
mov dword [rbx + 0xe0], 1
add rsp, 0x268
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, qword [rbx + 0x60]
mov esi, eax
test rcx, rcx
je 0x1400683d6
call fcn.140082dd0
mov qword [rbx + 0x60], 0
mov rcx, qword [rbx + 0xf0]
test rcx, rcx
je 0x1400683f2
call fcn.140082dd0
mov qword [rbx + 0xf0], 0
mov rcx, qword [rbx + 0xf8]
test rcx, rcx
je 0x14006840e
call fcn.140082dd0
mov qword [rbx + 0xf8], 0
mov rcx, rdi
call fcn.140082dd0
mov rcx, qword [rbx + 0xd8]
cmp rcx, 0xffffffffffffffff
je 0x140068434
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov qword [rbx + 0xd8], 0xffffffffffffffff
mov rcx, qword [rbx + 0x108]
test rcx, rcx
je 0x140068450
call fcn.140082dd0
mov qword [rbx + 0x108], 0
mov eax, dword [rbx + 0x58]
test al, 4
je 0x140068463
mov edx, eax
and edx, 0xfffffffb
mov dword [rbx + 0x58], edx
test al, 8
jne 0x1400684a0
mov ecx, esi
call fcn.140060690
add rsp, 0x268
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
add rsp, 0x268
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
jmp fcn.140060690
mov rax, qword [rbx + 8]
sub dword [rax + 8], 1
jmp 0x140068463
movsxd rcx, eax
add rcx, rcx
call fcn.140082db0
mov rbp, rax
test rax, rax
je 0x14006850d
mov r8d, esi
mov rdx, rax
mov rcx, rdi
call r13
test eax, eax
je 0x140068520
cdqe
xor edx, edx
mov rcx, rdi
mov rdi, rbp
mov word [rbp + rax*2], dx
call fcn.140082dd0
jmp 0x1400681d7
mov ecx, 0x1000
call fcn.140082db0
mov qword [rbx + 0x108], rax
mov rdx, rax
test rax, rax
jne 0x140068338
lea rdx, [0x140226d30]
mov ecx, 0xe
call fcn.140060630
nop
mov rcx, rbp
call fcn.140082dd0
jmp 0x1400681d4
mov eax, 0xfffff019
jmp 0x14006846a
xor edi, edi
jmp 0x140068301