Function at 0x1400068f0
Capabilities:
Check if file exists
Get file attributes
Read file on windows

Disassembly:
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0xa0
lea rbp, [rsp + 0x40]
mov qword [rbp + 0x90], rbx
mov qword [rbp + 0x98], rsi
mov qword [rbp + 0xa0], rdi
mov rax, qword [0x1402a18e0]
xor rax, rbp
mov qword [rbp + 0x50], rax
mov rbx, rdx
mov r13, rcx
xor r15d, r15d
mov r12d, r15d
mov qword [rbp + 0x30], r15
mov eax, 0x100
mov dword [rbp + 0xc], eax
mov ecx, eax
call fcn.140006328
mov rsi, rax
mov qword [rbp + 0x28], rax
mov r14d, r15d
mov dword [rbp + 0x1c], r15d
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [rbp + 0x24], eax
lea edi, [r15 + 1]
cmp eax, 0xffffffff
je 0x140006c7e
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x8000080
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, edi
mov edx, 0x80000000
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
mov qword [rbp + 0x30], rax
cmp rax, 0xffffffffffffffff
je 0x140006c7e
mov dword [rbp + 0x14], r15d
mov eax, 0x8000
call fcn.1401be0a0
sub rsp, rax
lea rbx, [rsp + 0x40]
mov qword [rbp + 0x40], rbx
mov qword [rsp + 0x20], r15
lea r9, [rbp]
mov r8d, eax
mov rdx, rbx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140006c7a
mov ecx, r15d
mov r8b, 0xa
mov edx, dword [rbp]
mov dword [rbp + 0x20], ecx
cmp ecx, edx
jae 0x140006a05
mov eax, ecx
cmp byte [rax + rbx], 0xd
je 0x140006a05
cmp byte [rax + rbx], r8b
je 0x140006a05
add ecx, edi
jmp 0x1400069ec
cmp r15d, edx
jne 0x140006a0f
mov eax, r15d
jmp 0x140006a2e
cmp byte [rbx], r8b
jne 0x140006a18
mov eax, edi
jmp 0x140006a2e
lea eax, [rdx - 1]
cmp r15d, eax
jae 0x140006a29
cmp byte [rbx + 1], r8b
mov eax, r15d
je 0x140006a2e
mov eax, 2
mov dword [r13 + 0x4c], eax
lea rcx, [0x140257bb0]
mov rax, qword [rcx + rax*8]
mov qword [rbp + 0x48], rax
lea rcx, [r13 + 0x58]
xor edx, edx
mov r8d, 0x1000
call fcn.140008438
mov ebx, r15d
mov dword [rbp + 8], ebx
mov dword [rbp + 4], r15d
call fcn.140002b54
mov dword [rbp + 0x18], eax
mov edx, dword [rbp]
cmp ebx, edx
jae 0x140006bbd
mov ecx, ebx
mov r10, qword [rbp + 0x40]
movsx eax, byte [rcx + r10]
mov dword [rbp + 0x10], eax
add ebx, edi
mov dword [rbp + 8], ebx
cmp ebx, edx
jne 0x140006ab3
cmp edx, 0x8000
jne 0x140006ab3
and qword [rsp + 0x20], 0
lea r9, [rbp]
mov r8d, edx
mov rdx, r10
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140006c7a
and dword [rbp + 8], 0
movsxd rax, r14d
mov ecx, dword [rbp + 0x10]
mov byte [rax + rsi], cl
add r14d, edi
mov dword [rbp + 0x14], r14d
mov eax, dword [rbp + 0xc]
cmp r14d, eax
jne 0x140006b04
add eax, 0x100
mov dword [rbp + 0xc], eax
mov dword [rbp + 0x38], eax
movsxd rcx, eax
call fcn.140006328
mov rbx, rax
movsxd r8, r14d
mov rdx, rsi
mov rcx, rax
call fcn.1401bf610
mov rdx, rdi
mov rcx, rsi
call fcn.140002888
mov rsi, rbx
mov qword [rbp + 0x28], rbx
mov ecx, dword [rbp + 0x10]
movsxd rax, r15d
mov rdx, qword [rbp + 0x48]
cmp cl, byte [rax + rdx]
jne 0x140006bae
add r15d, edi
mov dword [rbp + 4], r15d
movsxd rax, r15d
xor ebx, ebx
cmp byte [rax + rdx], bl
jne 0x140006bb5
sub r14d, r15d
movsxd rax, r14d
mov byte [rax + rsi], bl
test rsi, rsi
je 0x140006b4d
or rdx, 0xffffffffffffffff
inc rdx
cmp byte [rsi + rdx], bl
jne 0x140006b3b
add edx, edi
cmp edx, 0x3fffffff
jle 0x140006b52
mov rax, rbx
jmp 0x140006b8e
movsxd rax, edx
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140006b6b
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1401be0a0
sub rsp, rcx
lea rcx, [rsp + 0x40]
mov r9d, dword [rbp + 0x18]
mov r8d, edx
mov rdx, rsi
call fcn.1400062a8
or r9d, 0xffffffff
or r8d, r9d
mov rdx, rax
mov rcx, r13
call fcn.1400065f0
mov r14d, ebx
mov dword [rbp + 0x14], ebx
mov r15d, ebx
mov dword [rbp + 4], ebx
jmp 0x140006bb5
xor r15d, r15d
mov dword [rbp + 4], r15d
mov ebx, dword [rbp + 8]
jmp 0x140006a64
movsxd rax, r14d
xor r15d, r15d
mov byte [rax + rsi], r15b
test rsi, rsi
je 0x140006be3
or rdx, 0xffffffffffffffff
inc rdx
cmp byte [rsi + rdx], r15b
jne 0x140006bd0
add edx, edi
cmp edx, 0x3fffffff
jle 0x140006be8
mov rax, r15
jmp 0x140006c24
movsxd rax, edx
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140006c01
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1401be0a0
sub rsp, rcx
lea rcx, [rsp + 0x40]
mov r9d, dword [rbp + 0x18]
mov r8d, edx
mov rdx, rsi
call fcn.1400062a8
or r9d, 0xffffffff
or r8d, r9d
mov rdx, rax
mov rcx, r13
call fcn.1400065f0
mov dword [r13 + 0x40], edi
mov eax, dword [rbp + 0x24]
and eax, edi
mov dword [r13 + 0x44], eax
mov dword [r13 + 0x48], r15d
mov qword [r13 + 0xb0], r15
mov dword [r13 + 0x54], 0x80000
mov qword [r13 + 0xa8], r15
mov r14d, edi
or dword [rsp + 0x20], 0xffffffff
mov r9d, 0x1000
xor r8d, r8d
xor edx, edx
mov rcx, r13
call fcn.14000746c
jmp 0x140006c7e
mov r14d, dword [rbp + 0x1c]
test rsi, rsi
je 0x140006c8e
mov rdx, rdi
mov rcx, rsi
call fcn.140002888
test r12, r12
je 0x140006c9c
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, r14d
mov rcx, qword [rbp + 0x50]
xor rcx, rbp
call fcn.1401bd7e0
mov rbx, qword [rbp + 0x90]
mov rsi, qword [rbp + 0x98]
mov rdi, qword [rbp + 0xa0]
lea rsp, [rbp + 0x60]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret