Function at 0x140007a30
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 [0x1419fb3c0]
xor rax, rbp
mov qword [rbp + 0x50], rax
mov ebx, r8d
mov rsi, rdx
mov r14, rcx
xor r13d, r13d
mov r12d, r13d
mov qword [rbp + 0x30], r13
mov eax, 0x100
mov dword [rbp + 0x10], eax
mov ecx, eax
call fcn.14001cf8c
mov rdi, rax
mov qword [rbp + 0x28], rax
mov r15d, r13d
mov dword [rbp + 0x14], r13d
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [rbp + 0x20], eax
cmp eax, 0xffffffff
je 0x140007df3
mov qword [rsp + 0x30], r13
mov dword [rsp + 0x28], 0x8000080
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r13 + 1]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
mov qword [rbp + 0x30], rax
cmp rax, 0xffffffffffffffff
je 0x140007df3
mov dword [rbp + 0xc], r13d
mov eax, 0x8000
call fcn.1401ad250
sub rsp, rax
lea rsi, [rsp + 0x40]
mov qword [rbp + 0x38], rsi
mov qword [rsp + 0x20], r13
lea r9, [rbp]
mov r8d, eax
mov rdx, rsi
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140007def
cmp ebx, 0xffffffff
jne 0x140007b7e
mov ecx, r13d
mov r8b, 0xa
mov edx, dword [rbp]
mov dword [rbp + 0x18], ecx
cmp ecx, edx
jae 0x140007b4a
mov eax, ecx
cmp byte [rax + rsi], 0xd
je 0x140007b4a
cmp byte [rax + rsi], r8b
je 0x140007b4a
inc ecx
jmp 0x140007b31
cmp r13d, edx
jne 0x140007b54
mov ebx, r13d
jmp 0x140007b7e
mov eax, r13d
cmp byte [rax + rsi], r8b
jne 0x140007b64
mov ebx, 1
jmp 0x140007b7e
lea eax, [rdx - 1]
cmp r13d, eax
jae 0x140007b79
lea eax, [r13 + 1]
cmp byte [rax + rsi], r8b
mov ebx, r13d
je 0x140007b7e
mov ebx, 2
mov dword [r14 + 0x4c], ebx
movsxd rax, ebx
lea rcx, section..data
mov rax, qword [rcx + rax*8]
mov qword [rbp + 0x48], rax
lea rcx, [r14 + 0x58]
xor edx, edx
mov r8d, 0x1000
call fcn.1400088d4
mov dword [rbp + 8], r13d
xor eax, eax
mov esi, eax
mov dword [rbp + 4], eax
mov ecx, dword [rbp]
cmp r13d, ecx
jae 0x140007d17
mov eax, r13d
mov rdx, qword [rbp + 0x38]
movsx ebx, byte [rax + rdx]
mov dword [rbp + 0x1c], ebx
inc r13d
mov dword [rbp + 8], r13d
cmp r13d, ecx
jne 0x140007c02
cmp ecx, 0x8000
jne 0x140007c02
xor r13d, r13d
mov qword [rsp + 0x20], r13
lea r9, [rbp]
mov r8d, ecx
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140007def
mov dword [rbp + 8], r13d
movsxd rax, r15d
mov byte [rax + rdi], bl
inc r15d
mov dword [rbp + 0xc], r15d
mov eax, dword [rbp + 0x10]
cmp r15d, eax
jne 0x140007c4d
add eax, 0x100
mov dword [rbp + 0x10], eax
mov dword [rbp + 0x40], eax
movsxd rcx, eax
call fcn.14001cf8c
mov rbx, rax
movsxd r8, r15d
mov rdx, rdi
mov rcx, rax
call fcn.1401ad310
mov rcx, rdi
call fcn.14001cf84
mov rdi, rbx
mov qword [rbp + 0x28], rbx
mov ebx, dword [rbp + 0x1c]
movsxd rax, esi
mov rdx, qword [rbp + 0x48]
cmp bl, byte [rax + rdx]
jne 0x140007d0b
inc esi
mov dword [rbp + 4], esi
movsxd rcx, esi
xor eax, eax
cmp byte [rcx + rdx], al
jne 0x140007d12
movsxd rax, r15d
sub rax, rcx
xor esi, esi
mov byte [rax + rdi], sil
test rdi, rdi
je 0x140007cee
mov rcx, rdi
call fcn.1401accc0
lea edx, [rax + 1]
cmp edx, 0x3fffffff
jg 0x140007cee
movsxd rax, edx
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140007cad
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1401ad250
sub rsp, rcx
lea rbx, [rsp + 0x40]
test rbx, rbx
je 0x140007cee
mov word [rbx], si
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], rbx
or r9d, 0xffffffff
mov r8, rdi
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
neg eax
sbb rdx, rdx
and rdx, rbx
jmp 0x140007cf1
mov rdx, rsi
or r9d, 0xffffffff
or r8d, r9d
mov rcx, r14
call fcn.14000739c
mov r15d, esi
mov dword [rbp + 0xc], esi
mov dword [rbp + 4], esi
jmp 0x140007d12
xor eax, eax
mov esi, eax
mov dword [rbp + 4], eax
jmp 0x140007bb0
movsxd rax, r15d
xor r13d, r13d
mov byte [rax + rdi], r13b
test rdi, rdi
je 0x140007d94
mov rcx, rdi
call fcn.1401accc0
lea edx, [rax + 1]
cmp edx, 0x3fffffff
jg 0x140007d94
movsxd rax, edx
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140007d52
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1401ad250
sub rsp, rcx
lea rbx, [rsp + 0x40]
test rbx, rbx
je 0x140007d94
mov word [rbx], r13w
mov dword [rsp + 0x28], edx
mov qword [rsp + 0x20], rbx
or r9d, 0xffffffff
mov r8, rdi
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
neg eax
sbb rdx, rdx
and rdx, rbx
jmp 0x140007d97
mov rdx, r13
or r9d, 0xffffffff
or r8d, r9d
mov rcx, r14
call fcn.14000739c
mov ecx, 1
mov dword [r14 + 0x40], ecx
mov eax, dword [rbp + 0x20]
and eax, ecx
mov dword [r14 + 0x44], eax
mov dword [r14 + 0x48], r13d
mov qword [r14 + 0xb0], r13
mov dword [r14 + 0x54], 0x80000
mov qword [r14 + 0xa8], r13
mov r15d, ecx
or dword [rsp + 0x20], 0xffffffff
mov r9d, 0x1000
xor r8d, r8d
xor edx, edx
mov rcx, r14
call fcn.140008fa8
jmp 0x140007df3
mov r15d, dword [rbp + 0x14]
test rdi, rdi
je 0x140007e00
mov rcx, rdi
call fcn.14001cf84
test r12, r12
je 0x140007e0e
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, r15d
mov rcx, qword [rbp + 0x50]
xor rcx, rbp
call fcn.1401ad2b0
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