Function at 0x1400658fc
Capabilities:
Get file size
Read file on windows

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], r9
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x2080
call fcn.1400751b0
sub rsp, rax
mov r14, rcx
xor edx, edx
mov rcx, r8
mov r13, r8
call fcn.140063024
cmp rax, 0xffffffffffffffff
mov rbp, rax
mov qword [rsp + 0x50], rax
je 0x140065c1b
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
test eax, eax
mov edi, eax
je 0x140065c12
lea ecx, [rdi + 1]
call sub.msvcrt.dll_void____ptr64___cdecl_operator_new_unsigned_long_long_unsigned___int64__
and dword [rsp + 0x40], 0
and qword [rsp + 0x20], 0
lea r9, [rsp + 0x40]
mov rdx, rax
mov r8d, edi
mov rcx, rbp
mov rsi, rax
mov qword [rsp + 0x48], rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rdx, rdi
xor edi, edi
mov byte [rdx + rsi], dil
lea rcx, [rsp + 0x61]
mov r8d, 0x3ff
xor edx, edx
mov dword [rsp + 0x40], edi
mov byte [rsp + 0x60], dil
call sub.msvcrt.dll_memset
lea rcx, [rsp + 0x861]
xor edx, edx
mov r8d, 0x3ff
mov r15d, edi
mov r12d, edi
mov ebx, edi
mov byte [rsp + 0x860], dil
call sub.msvcrt.dll_memset
lea rcx, [rsp + 0xc60]
xor edx, edx
mov r8d, 0x141c
call sub.msvcrt.dll_memset
lea rdx, [rsp + 0x40]
mov r9, rsi
mov qword [rsp + 0x20], rdx
lea rdx, [rsp + 0x60]
mov r8d, 0x3ff
mov rcx, r14
call fcn.14006551c
cmp eax, edi
je 0x140065c0a
mov ebp, dword [rsp + 0x20d8]
cmp r15d, edi
jle 0x140065bd9
lea rsi, [rsp + 0x60]
lea rdi, [0x14007705c]
mov ecx, 2
repe cmpsb byte [rsi], byte [rdi]
jne 0x140065a74
xor edi, edi
cmp r12d, edi
je 0x140065a67
mov byte [rsp + 0xc60], dil
mov byte [rsp + 0x1060], dil
mov byte [rsp + 0x1460], dil
mov byte [rsp + 0x1860], dil
mov byte [rsp + 0x860], dil
jmp 0x140065a6d
mov r12d, 1
mov ebx, edi
jmp 0x140065bd4
xor edi, edi
cmp r12d, edi
je 0x140065bd4
cmp ebx, edi
jne 0x140065a9f
mov rcx, rdi
mov al, byte [rsp + rcx + 0x60]
add rcx, 1
cmp al, dil
mov byte [rsp + rcx + 0x85f], al
jne 0x140065a86
jmp 0x140065bd1
cmp ebx, 1
jne 0x140065ac0
mov rcx, rdi
mov al, byte [rsp + rcx + 0x60]
add rcx, 1
cmp al, dil
mov byte [rsp + rcx + 0x145f], al
jne 0x140065aa7
jmp 0x140065bd1
cmp ebx, 2
jne 0x140065ae1
mov rcx, rdi
mov al, byte [rsp + rcx + 0x60]
add rcx, 1
cmp al, dil
mov byte [rsp + rcx + 0xc5f], al
jne 0x140065ac8
jmp 0x140065bd1
cmp ebx, 3
jne 0x140065b02
mov rcx, rdi
mov al, byte [rsp + rcx + 0x60]
add rcx, 1
cmp al, dil
mov byte [rsp + rcx + 0x185f], al
jne 0x140065ae9
jmp 0x140065bd1
cmp ebx, 4
jne 0x140065bab
mov rcx, rdi
mov al, byte [rsp + rcx + 0x60]
add rcx, 1
cmp al, dil
mov byte [rsp + rcx + 0x105f], al
jne 0x140065b0e
mov esi, 0x3ff
lea rcx, [rsp + 0x461]
xor edx, edx
mov r8, rsi
mov byte [rsp + 0x460], dil
call sub.msvcrt.dll_memset
lea rdx, [rsp + 0x460]
lea rcx, [0x140076a00]
mov r8d, esi
call fcn.140061b44
mov rax, qword [rsp + 0x20c8]
mov dword [rsp + 0x30], ebp
lea r8, [rsp + 0x860]
lea rdx, [rsp + 0x460]
mov r9, r13
mov rcx, r14
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x20], rax
call fcn.1400656dc
mov byte [rsp + 0xc60], dil
mov byte [rsp + 0x1060], dil
mov byte [rsp + 0x1460], dil
mov byte [rsp + 0x1860], dil
jmp 0x140065bd1
jle 0x140065bd1
cmp byte [rsp + 0x60], dil
je 0x140065bcb
lea rsi, [rsp + 0x60]
lea rdi, [0x140077060]
mov ecx, 4
repe cmpsb byte [rsi], byte [rdi]
jne 0x140065bcf
xor edi, edi
mov ebx, edi
jmp 0x140065bd1
xor edi, edi
add ebx, 1
mov rsi, qword [rsp + 0x48]
lea rax, [rsp + 0x40]
lea rdx, [rsp + 0x60]
mov r9, rsi
mov r8d, 0x3ff
mov rcx, r14
add r15d, 1
mov qword [rsp + 0x20], rax
call fcn.14006551c
cmp eax, edi
jne 0x140065a18
mov rbp, qword [rsp + 0x50]
mov rcx, rsi
call sub.msvcrt.dll_void___cdecl_operator_delete_void____ptr64_
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea r11, [rsp + 0x2080]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret