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

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x78
xor edx, edx
mov rdi, rcx
call fcn.14004a750
mov rcx, qword [rdi + 0x18]
xor edx, edx
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov rcx, qword [rdi + 0x18]
mov r9d, 1
xor r8d, r8d
xor edx, edx
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
mov r12d, 0x19000
sub ebx, eax
mov r14d, eax
cmp ebx, r12d
cmovb r12d, ebx
mov ecx, r12d
mov dword [rbp - 0x44], r12d
call fcn.140055b1c
mov qword [rbp - 0x40], rax
test rax, rax
je 0x14004f82e
mov eax, 0x88888889
xor r8d, r8d
mov rcx, rdi
mul ebx
shr edx, 4
call fcn.14004a78c
mov rdx, qword [rbp - 0x40]
mov rcx, qword [rdi + 0x18]
xor eax, eax
lea r9, [rbp + 0x48]
mov r8d, r12d
mov dword [rbp + 0x60], r14d
mov r15d, r14d
mov esi, eax
mov ebx, eax
mov dword [rbp + 0x58], eax
mov dword [rbp + 0x50], eax
movzx r13d, ax
mov dword [rdi + 0x48], eax
mov dword [rbp + 0x48], eax
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
jmp 0x14004f7f0
cmp dword [rbp + 0x48], r12d
mov eax, r8d
mov r12d, r8d
setb al
add dword [rbp + 0x48], esi
je 0x14004f7fb
cdqe
mov qword [rbp - 0x38], rax
jmp 0x14004f687
mov rax, qword [rbp - 0x38]
mov esi, dword [rbp + 0x48]
sub esi, r12d
cmp esi, 4
jae 0x14004f69b
test rax, rax
je 0x14004f7af
test esi, esi
je 0x14004f745
mov rcx, qword [rdi + 0x20]
lea r9, [rbp - 0x30]
mov edx, r12d
mov rax, qword [rcx]
add rdx, qword [rbp - 0x40]
mov qword [rsp + 0x20], r9
lea r9, [rbp - 0x48]
mov r8d, esi
call qword [rax + 0x10]
mov rdx, qword [rbp - 0x30]
lea rcx, [rdx - 1]
cmp rcx, 0xfffffffffffffffd
ja 0x14004f734
add r12d, eax
add r14d, eax
cmp rdx, 1
jne 0x14004f711
mov eax, dword [rbp - 0x48]
cmp ax, 0xd
je 0x14004f6ed
cmp ax, 0xa
jne 0x14004f711
xor r8d, r8d
mov edx, 1
test r13w, r13w
je 0x14004f708
cmp r13w, ax
je 0x14004f708
mov r13d, r8d
mov eax, edx
jmp 0x14004f757
movzx r13d, ax
mov eax, r8d
jmp 0x14004f757
add dword [rbp + 0x50], edx
xor r8d, r8d
inc ebx
cmp ebx, 0x12c
mov ecx, r8d
mov dword [rbp + 0x58], ebx
movzx r13d, r8w
mov edx, r8d
mov r15d, r14d
sete cl
jmp 0x14004f74c
inc r12d
inc r14d
inc r15d
xor r8d, r8d
jmp 0x14004f683
mov ecx, 1
mov edx, ecx
mov eax, r8d
test ecx, ecx
je 0x14004f683
test eax, eax
jne 0x14004f799
mov ecx, dword [rbp + 0x60]
mov eax, dword [rbp + 0x50]
mov ebx, r8d
sub r15d, ecx
test edx, edx
mov dword [rbp - 0x28], ecx
mov rcx, rdi
sete bl
mov dword [rbp - 0x20], eax
mov dword [rbp - 0x1c], r15d
call fcn.1400502a0
movups xmm0, xmmword [rbp - 0x28]
movups xmmword [rax], xmm0
mov dword [rax + 0x10], ebx
cmp dword [rdi + 0x48], r15d
jae 0x14004f792
mov dword [rdi + 0x48], r15d
xor r8d, r8d
test esi, esi
je 0x14004f7fb
mov ebx, r8d
mov r15d, r14d
mov dword [rbp + 0x60], r14d
mov dword [rbp + 0x58], ebx
mov dword [rbp + 0x50], r8d
jmp 0x14004f683
mov rcx, qword [rbp - 0x40]
mov edx, r12d
mov r8d, esi
add rdx, qword [rbp - 0x40]
mov ebx, esi
call fcn.14007e7a0
mov r12d, dword [rbp - 0x44]
mov rdx, qword [rbp - 0x40]
xor ecx, ecx
sub r12d, esi
lea r9, [rbp + 0x48]
mov dword [rbp + 0x48], ecx
mov qword [rsp + 0x20], rcx
mov rcx, qword [rdi + 0x18]
mov r8d, r12d
add rdx, rbx
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov ebx, dword [rbp + 0x58]
xor r8d, r8d
test eax, eax
jne 0x14004f665
mov rcx, qword [rbp - 0x40]
call fcn.14007efdc
add dword [rdi + 0x48], 4
mov eax, 0x9c40
cmp dword [rdi + 0x48], eax
jae 0x14004f815
mov dword [rdi + 0x48], eax
mov ecx, dword [rdi + 0x48]
call fcn.140055b1c
mov qword [rdi + 0x50], rax
test rax, rax
jne 0x14004f82e
mov rcx, rdi
call fcn.14004eb44
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret