Function at 0x140007b8c
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 [0x141719df0]
xor rax, rbp
mov qword [rbp + 0x50], rax
mov ebx, r8d
mov r14, rdx
mov r13, rcx
xor edi, edi
mov r12d, edi
mov qword [rbp + 0x30], rdi
mov eax, 0x100
mov dword [rbp + 0xc], eax
mov ecx, eax
call fcn.140003cfc
mov rsi, rax
mov qword [rbp + 0x28], rax
mov r15d, edi
mov dword [rbp + 0x1c], edi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov dword [rbp + 0x24], eax
cmp eax, 0xffffffff
je 0x140007f28
mov qword [rsp + 0x30], rdi
mov dword [rsp + 0x28], 0x8000080
mov dword [rsp + 0x20], 3
xor r9d, r9d
lea edi, [r12 + 1]
mov r8d, edi
mov edx, 0x80000000
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r12, rax
mov qword [rbp + 0x30], rax
cmp rax, 0xffffffffffffffff
je 0x140007f33
xor ecx, ecx
mov r15d, ecx
mov dword [rbp + 0x14], ecx
mov eax, 0x8000
call fcn.1401d7280
sub rsp, rax
lea r14, [rsp + 0x40]
mov qword [rbp + 0x40], r14
mov qword [rsp + 0x20], rcx
lea r9, [rbp]
mov r8d, eax
mov rdx, r14
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
xor r8d, r8d
test eax, eax
je 0x140007f2f
cmp ebx, 0xffffffff
jne 0x140007cd9
mov ecx, r8d
mov r9b, 0xa
mov edx, dword [rbp]
mov dword [rbp + 0x20], ecx
cmp ecx, edx
jae 0x140007cb0
mov eax, ecx
cmp byte [rax + r14], 0xd
je 0x140007cb0
cmp byte [rax + r14], r9b
je 0x140007cb0
add ecx, edi
jmp 0x140007c96
cmp r8d, edx
jne 0x140007cba
mov ebx, r8d
jmp 0x140007cd9
cmp byte [r14], r9b
jne 0x140007cc3
mov ebx, edi
jmp 0x140007cd9
lea eax, [rdx - 1]
cmp r8d, eax
jae 0x140007cd4
cmp byte [r14 + 1], r9b
mov ebx, r8d
je 0x140007cd9
mov ebx, 2
mov dword [r13 + 0x4c], ebx
movsxd rax, ebx
lea rcx, section..data
mov rax, qword [rcx + rax*8]
mov qword [rbp + 0x48], rax
lea rcx, [r13 + 0x58]
xor edx, edx
mov r8d, 0x1000
call fcn.140008a24
xor eax, eax
mov ebx, eax
mov dword [rbp + 8], eax
mov r14d, eax
mov dword [rbp + 4], eax
call fcn.140002adc
mov dword [rbp + 0x18], eax
mov edx, dword [rbp]
cmp ebx, edx
jae 0x140007e6e
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 0x140007d64
cmp edx, 0x8000
jne 0x140007d64
xor ebx, ebx
mov qword [rsp + 0x20], rbx
lea r9, [rbp]
mov r8d, edx
mov rdx, r10
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140007f2f
mov dword [rbp + 8], ebx
movsxd rax, r15d
mov ecx, dword [rbp + 0x10]
mov byte [rax + rsi], cl
add r15d, edi
mov dword [rbp + 0x14], r15d
mov eax, dword [rbp + 0xc]
cmp r15d, eax
jne 0x140007db5
add eax, 0x100
mov dword [rbp + 0xc], eax
mov dword [rbp + 0x38], eax
movsxd rcx, eax
call fcn.140003cfc
mov rbx, rax
movsxd r8, r15d
mov rdx, rsi
mov rcx, rax
call fcn.1401d8bf0
mov rdx, rdi
mov rcx, rsi
call fcn.1400024b4
mov rsi, rbx
mov qword [rbp + 0x28], rbx
mov ecx, dword [rbp + 0x10]
movsxd rax, r14d
mov rdx, qword [rbp + 0x48]
cmp cl, byte [rax + rdx]
jne 0x140007e5f
add r14d, edi
mov dword [rbp + 4], r14d
movsxd rax, r14d
xor ebx, ebx
cmp byte [rax + rdx], bl
jne 0x140007e66
sub r15d, r14d
movsxd rax, r15d
mov byte [rax + rsi], bl
test rsi, rsi
je 0x140007dfe
or rdx, 0xffffffffffffffff
inc rdx
cmp byte [rsi + rdx], bl
jne 0x140007dec
add edx, edi
cmp edx, 0x3fffffff
jle 0x140007e03
mov rax, rbx
jmp 0x140007e3f
movsxd rax, edx
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140007e1c
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1401d7280
sub rsp, rcx
lea rcx, [rsp + 0x40]
mov r9d, dword [rbp + 0x18]
mov r8d, edx
mov rdx, rsi
call fcn.140003dfc
or r9d, 0xffffffff
or r8d, r9d
mov rdx, rax
mov rcx, r13
call fcn.1400075d8
mov r15d, ebx
mov dword [rbp + 0x14], ebx
mov r14d, ebx
mov dword [rbp + 4], ebx
jmp 0x140007e66
xor r14d, r14d
mov dword [rbp + 4], r14d
mov ebx, dword [rbp + 8]
jmp 0x140007d15
movsxd rax, r15d
xor ebx, ebx
mov byte [rax + rsi], bl
test rsi, rsi
je 0x140007e91
or rdx, 0xffffffffffffffff
inc rdx
cmp byte [rsi + rdx], bl
jne 0x140007e7f
add edx, edi
cmp edx, 0x3fffffff
jle 0x140007e96
mov rax, rbx
jmp 0x140007ed2
movsxd rax, edx
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x140007eaf
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1401d7280
sub rsp, rcx
lea rcx, [rsp + 0x40]
mov r9d, dword [rbp + 0x18]
mov r8d, edx
mov rdx, rsi
call fcn.140003dfc
or r9d, 0xffffffff
or r8d, r9d
mov rdx, rax
mov rcx, r13
call fcn.1400075d8
mov dword [r13 + 0x40], edi
mov eax, dword [rbp + 0x24]
and eax, edi
mov dword [r13 + 0x44], eax
mov dword [r13 + 0x48], ebx
mov qword [r13 + 0xb0], rbx
mov dword [r13 + 0x54], 0x80000
mov qword [r13 + 0xa8], rbx
mov r15d, edi
or dword [rsp + 0x20], 0xffffffff
mov r9d, 0x1000
xor r8d, r8d
xor edx, edx
mov rcx, r13
call fcn.1400090d0
jmp 0x140007f33
mov edi, 1
jmp 0x140007f33
mov r15d, dword [rbp + 0x1c]
test rsi, rsi
je 0x140007f43
mov rdx, rdi
mov rcx, rsi
call fcn.1400024b4
test r12, r12
je 0x140007f51
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, r15d
mov rcx, qword [rbp + 0x50]
xor rcx, rbp
call fcn.1401d72f0
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