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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0xa8
mov qword [rsp + 0x98], 0xfffffffffffffffe
mov qword [rsp + 0x80], 0
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x60], 0
mov dword [rsp + 0x58], 0
mov dword [rsp + 0x78], 0
lea rcx, [rsp + 0x70]
call fcn.14004f220
nop
mov qword [rsp + 0x48], 0
mov dword [rsp + 0x68], 0
mov dword [rsp + 0x40], 0
mov qword [rsp + 0x50], 0xffffffffffffffff
cmp qword [rsp + 0xb0], 0
je 0x14004e7a8
mov rax, qword [rsp + 0xb0]
movzx eax, word [rax]
test eax, eax
je 0x14004e7a8
cmp dword [rsp + 0xb8], 0
jne 0x14004e7b5
mov dword [rsp + 0x58], 0x57
jmp 0x14004e9fc
cmp qword [rsp + 0xc0], 0
je 0x14004e7cb
cmp qword [rsp + 0xc8], 0
jne 0x14004e7d8
mov dword [rsp + 0x58], 0x57
jmp 0x14004e9fc
mov rax, qword [rsp + 0xc8]
cmp dword [rax], 0x14
jae 0x14004e7f2
mov dword [rsp + 0x58], 0x7a
jmp 0x14004e9fc
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov r8d, 1
mov edx, 0x80000000
mov rcx, qword [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov qword [rsp + 0x50], rax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x58], eax
cmp qword [rsp + 0x50], 0xffffffffffffffff
jne 0x14004e843
jmp 0x14004e9fc
mov rdx, qword [rsp + 0x50]
lea rcx, [rsp + 0x70]
call fcn.14004f280
lea rdx, [rsp + 0x40]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x68]
mov ecx, dword [rsp + 0x40]
shl rcx, 0x20
or rax, rcx
mov qword [rsp + 0x48], rax
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x60]
mov ecx, 3
call fcn.140018ca0
cmp dword [rsp + 0x58], 0x220a1001
je 0x14004e89d
jmp 0x14004e9fc
lea rdx, [rsp + 0x58]
mov ecx, 0x10000
call fcn.14001d958
mov qword [rsp + 0x80], rax
cmp qword [rsp + 0x80], 0
jne 0x14004e8c4
jmp 0x14004e9fc
cmp qword [rsp + 0x48], 0
jbe 0x14004e982
cmp qword [rsp + 0x48], 0x10000
jbe 0x14004e8e5
mov dword [rsp + 0x78], 0x10000
jmp 0x14004e8ed
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0x78], eax
mov dword [rsp + 0x90], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x90]
mov r8d, dword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
mov rdx, qword [rdx]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14004e937
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rsp + 0x58], eax
jmp 0x14004e9fc
mov rcx, qword [rsp + 0x80]
mov eax, dword [rsp + 0x78]
mov dword [rcx + 8], eax
lea r8, [rsp + 0x58]
mov rdx, qword [rsp + 0x80]
mov rcx, qword [rsp + 0x60]
call fcn.140018db4
cmp dword [rsp + 0x58], 0x220a1001
je 0x14004e96c
jmp 0x14004e9fc
mov ecx, dword [rsp + 0x78]
mov rax, qword [rsp + 0x48]
sub rax, rcx
mov qword [rsp + 0x48], rax
jmp 0x14004e8c4
lea rdx, [rsp + 0x58]
mov rcx, qword [rsp + 0x60]
call fcn.140018df0
mov qword [rsp + 0x88], rax
cmp qword [rsp + 0x88], 0
jne 0x14004e9a6
jmp 0x14004e9fc
mov qword [rsp + 0x60], 0
mov rax, qword [rsp + 0x88]
cmp dword [rax + 8], 0x14
je 0x14004e9c7
mov dword [rsp + 0x58], 0x3630
jmp 0x14004e9fc
mov r8d, 0x14
mov rdx, qword [rsp + 0x88]
mov rdx, qword [rdx]
mov rcx, qword [rsp + 0xc0]
call sub.MSVCR90.dll_memcpy
mov r11, qword [rsp + 0xc8]
mov dword [r11], 0x14
mov dword [rsp + 0x58], 0
cmp qword [rsp + 0x88], 0
je 0x14004ea14
mov rcx, qword [rsp + 0x88]
call fcn.14001dae0
cmp qword [rsp + 0x80], 0
je 0x14004ea2c
mov rcx, qword [rsp + 0x80]
call fcn.14001dae0
cmp qword [rsp + 0x60], 0
je 0x14004ea3e
mov rcx, qword [rsp + 0x60]
call fcn.14001dc34
mov eax, dword [rsp + 0x58]
mov dword [rsp + 0x94], eax
lea rcx, [rsp + 0x70]
call fcn.14004f240
mov eax, dword [rsp + 0x94]
add rsp, 0xa8
ret