Function at 0x1400c0a40
Capabilities:
Check if file exists

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x2b8
mov rbx, rcx
test r8, r8
je 0x1400c0ba7
js 0x1400c0d50
mov rsi, r8
mov r14, rdx
mov r13, qword [0x1401b2aa8]
movzx eax, byte [r13]
mov edx, 1
mov rcx, r8
call sym.__rust_alloc
test rax, rax
je 0x1400c0d55
mov rdi, rax
mov rcx, rax
mov rdx, r14
mov r8, rsi
call sym.memcpy
movzx eax, byte [r13]
mov edx, 1
mov rcx, rsi
call sym.__rust_alloc
test rax, rax
je 0x1400c0d62
mov r15, rax
mov rcx, rax
mov rdx, r14
mov r8, rsi
call sym.memcpy
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], r15
mov qword [rsp + 0x78], rsi
mov byte [rsp + 0x80], 0
lea rdx, [0x140195208]
lea rcx, [rsp + 0x68]
mov r8d, 1
call dbg._push
mov r14, qword [rsp + 0x68]
mov r15, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
lea rcx, [rsp + 0x38]
mov rdx, r15
call sym.std::sys::pal::windows::to_u16s::inner::he720e973cadc0a3c
movabs rbp, 0x8000000000000000
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
cmp rax, rbp
je 0x1400c0b6c
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], rcx
lea rcx, [rsp + 0x50]
lea rdx, [rsp + 0x68]
mov r8b, 1
call dbg.get_long_path
mov qword [rsp + 0x28], r14
mov r14, qword [rsp + 0x50]
mov r12, qword [rsp + 0x58]
cmp r14, rbp
jne 0x1400c0bd2
mov r14, qword [rsp + 0x28]
mov qword [rbx], r12
mov dword [rbx + 0x10], 2
mov bpl, 1
test r14, r14
je 0x1400c0b8f
mov r8d, 1
mov rcx, r15
mov rdx, r14
call sym.__rust_dealloc
test bpl, bpl
je 0x1400c0bbb
mov r8d, 1
mov rcx, rdi
mov rdx, rsi
call sym.__rust_dealloc
jmp 0x1400c0bbb
movabs rax, 0x300000002
mov qword [rbx], rax
mov dword [rbx + 0x10], 2
mov rax, rbx
add rsp, 0x2b8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rbp, [rsp + 0x68]
mov r8d, 0x250
mov rcx, rbp
xor edx, edx
call sub.msvcrt.dll_memset
mov rcx, r12
mov rdx, rbp
call sub.KERNEL32.dll_FindFirstFileW
mov rbp, rax
cmp rax, 0xffffffffffffffff
je 0x1400c0caa
mov qword [rsp + 0x30], rbp
movzx eax, byte [r13]
mov ecx, 0x30
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400c0d71
mov rbp, rax
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], rsi
mov byte [rax + 0x28], 0
lea rcx, [rbx + 0x14]
lea rdx, [rsp + 0x68]
mov r8d, 0x250
call sym.memcpy
mov qword [rbx], rbp
mov rbp, qword [rsp + 0x30]
mov qword [rbx + 8], rbp
mov dword [rbx + 0x10], 1
test r14, r14
je 0x1400c0c83
add r14, r14
mov r8d, 2
mov rcx, r12
mov rdx, r14
call sym.__rust_dealloc
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x1400c0c9b
mov r8d, 1
mov rcx, r15
call sym.__rust_dealloc
cmp rbp, 0xffffffffffffffff
jne 0x1400c0bbb
jmp 0x1400c0b94
call sub.KERNEL32.dll_GetLastError
cmp eax, 2
jne 0x1400c0d30
movzx eax, byte [r13]
mov ecx, 0x30
mov edx, 8
call sym.__rust_alloc
test rax, rax
je 0x1400c0d82
mov qword [rax], 1
mov qword [rax + 8], 1
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
mov qword [rax + 0x20], rsi
mov byte [rax + 0x28], 0
mov qword [rbx], rax
mov qword [rbx + 8], 0xffffffffffffffff
mov dword [rbx + 0x10], 0
test r14, r14
je 0x1400c0d1b
add r14, r14
mov r8d, 2
mov rcx, r12
mov rdx, r14
call sym.__rust_dealloc
xor ebp, ebp
mov r14, qword [rsp + 0x28]
test r14, r14
jne 0x1400c0b7e
jmp 0x1400c0b8f
shl rax, 0x20
or rax, 2
mov qword [rbx], rax
mov dword [rbx + 0x10], 2
test r14, r14
jne 0x1400c0c6f
jmp 0x1400c0c83
call dbg.capacity_overflow
mov ecx, 1
mov rdx, rsi
call dbg.handle_alloc_error
mov ecx, 1
mov rdx, rsi
call dbg.handle_alloc_error
jmp 0x1400c0d91
mov ecx, 8
mov edx, 0x30
call dbg.handle_alloc_error
jmp 0x1400c0d91
mov ecx, 8
mov edx, 0x30
call dbg.handle_alloc_error
ud2