Function at 0x140019ce8
Capabilities:
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], rdi
push r12
push r13
push r14
sub rsp, 0x20
xor r13d, r13d
mov esi, r8d
mov rbx, rdx
cmp rcx, r13
mov rdi, rcx
je 0x140019f3c
cmp byte [rcx + 0x94], 0x72
jne 0x140019f3c
or ebp, 0xffffffff
cmp dword [rcx + 0x58], 0xfffffffd
je 0x140019f38
cmp dword [rcx + 0x58], ebp
je 0x140019f38
lea r14d, [r13 + 1]
cmp dword [rcx + 0x58], r14d
jne 0x140019d4e
xor eax, eax
jmp 0x140019f41
cmp r8d, r13d
mov r12, rdx
mov qword [rcx + 0x10], rdx
mov dword [rcx + 0x18], r8d
je 0x140019d9e
cmp dword [rcx + 0xa4], ebp
je 0x140019d9e
mov al, byte [rcx + 0xa4]
add rbx, r14
mov byte [rdx], al
add qword [rcx + 0x10], r14
add dword [rcx + 0x18], 0xffffffff
add dword [rcx + 0xa0], r14d
cmp dword [rcx + 0xa8], r13d
mov r12, rbx
mov dword [rcx + 0xa4], ebp
je 0x140019d9e
mov dword [rcx + 0x58], r14d
mov eax, r14d
jmp 0x140019f41
cmp dword [rcx + 0x18], r13d
je 0x140019e9d
cmp dword [rdi + 0x90], r13d
jne 0x140019ed0
cmp dword [rdi + 8], r13d
jne 0x140019e04
cmp dword [rdi + 0x5c], r13d
jne 0x140019e04
call sub.msvcrt.dll__errno
mov r8d, 0x4000
mov rdx, r14
mov dword [rax], r13d
mov r9, qword [rdi + 0x60]
mov rcx, qword [rdi + 0x68]
call sub.msvcrt.dll_fread
cmp eax, r13d
mov dword [rdi + 8], eax
jne 0x140019dfd
mov rcx, qword [rdi + 0x60]
mov dword [rdi + 0x5c], r14d
call sub.msvcrt.dll_ferror
cmp eax, r13d
jne 0x140019e9a
mov rax, qword [rdi + 0x68]
mov qword [rdi], rax
mov eax, dword [rdi + 8]
xor edx, edx
mov rcx, rdi
add dword [rdi + 0x9c], eax
mov eax, dword [rdi + 0x18]
add dword [rdi + 0xa0], eax
call fcn.14001a798
mov r11d, eax
mov dword [rdi + 0x58], eax
mov eax, dword [rdi + 8]
sub dword [rdi + 0x9c], eax
mov eax, dword [rdi + 0x18]
sub dword [rdi + 0xa0], eax
cmp r11d, r14d
jne 0x140019e85
mov r8d, dword [rdi + 0x10]
mov ecx, dword [rdi + 0x78]
mov rdx, rbx
sub r8d, ebx
call fcn.14001a10c
mov rbx, qword [rdi + 0x10]
mov rcx, rdi
mov dword [rdi + 0x78], eax
call fcn.140019f60
cmp eax, dword [rdi + 0x78]
jne 0x140019ec7
mov rcx, rdi
call fcn.140019f60
mov rcx, rdi
call fcn.140019a78
cmp dword [rdi + 0x58], r13d
jne 0x140019e9d
mov rcx, rdi
call fcn.14001a468
mov dword [rdi + 0x78], r13d
cmp dword [rdi + 0x58], r13d
jne 0x140019e9d
cmp dword [rdi + 0x5c], r13d
jne 0x140019e9d
cmp dword [rdi + 0x18], r13d
jmp 0x140019da2
mov dword [rdi + 0x58], ebp
mov r8d, dword [rdi + 0x10]
mov ecx, dword [rdi + 0x78]
mov rdx, rbx
sub r8d, ebx
call fcn.14001a10c
cmp esi, dword [rdi + 0x18]
mov dword [rdi + 0x78], eax
jne 0x140019ec2
cmp dword [rdi + 0x58], 0xfffffffd
je 0x140019f38
cmp dword [rdi + 0x58], ebp
je 0x140019f38
sub esi, dword [rdi + 0x18]
jmp 0x140019f34
mov dword [rdi + 0x58], 0xfffffffd
jmp 0x140019e9d
mov ebp, dword [rdi + 8]
cmp ebp, dword [rdi + 0x18]
cmova ebp, dword [rdi + 0x18]
cmp ebp, r13d
jbe 0x140019f00
mov rdx, qword [rdi]
mov rcx, qword [rdi + 0x10]
mov r8d, ebp
mov ebx, ebp
call sub.msvcrt.dll_memcpy
add qword [rdi], rbx
sub dword [rdi + 0x18], ebp
add r12, rbx
sub dword [rdi + 8], ebp
mov qword [rdi + 0x10], r12
cmp dword [rdi + 0x18], r13d
jbe 0x140019f1c
mov r8d, dword [rdi + 0x18]
mov r9, qword [rdi + 0x60]
mov rdx, r14
mov rcx, r12
call sub.msvcrt.dll_fread
sub dword [rdi + 0x18], eax
sub esi, dword [rdi + 0x18]
add dword [rdi + 0x9c], esi
add dword [rdi + 0xa0], esi
cmp esi, r13d
jne 0x140019f34
mov dword [rdi + 0x5c], r14d
mov eax, esi
jmp 0x140019f41
mov eax, ebp
jmp 0x140019f41
mov eax, 0xfffffffe
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
add rsp, 0x20
pop r14
pop r13
pop r12
ret