Function at 0x1400211f4
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 0x140021448
cmp byte [rcx + 0x94], 0x72
jne 0x140021448
or ebp, 0xffffffff
cmp dword [rcx + 0x58], 0xfffffffd
je 0x140021444
cmp dword [rcx + 0x58], ebp
je 0x140021444
lea r14d, [r13 + 1]
cmp dword [rcx + 0x58], r14d
jne 0x14002125a
xor eax, eax
jmp 0x14002144d
cmp r8d, r13d
mov r12, rdx
mov qword [rcx + 0x10], rdx
mov dword [rcx + 0x18], r8d
je 0x1400212aa
cmp dword [rcx + 0xa4], ebp
je 0x1400212aa
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 0x1400212aa
mov dword [rcx + 0x58], r14d
mov eax, r14d
jmp 0x14002144d
cmp dword [rcx + 0x18], r13d
je 0x1400213a9
cmp dword [rdi + 0x90], r13d
jne 0x1400213dc
cmp dword [rdi + 8], r13d
jne 0x140021310
cmp dword [rdi + 0x5c], r13d
jne 0x140021310
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 0x140021309
mov rcx, qword [rdi + 0x60]
mov dword [rdi + 0x5c], r14d
call sub.msvcrt.dll_ferror
cmp eax, r13d
jne 0x1400213a6
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.1400217f0
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 0x140021391
mov r8d, dword [rdi + 0x10]
mov ecx, dword [rdi + 0x78]
mov rdx, rbx
sub r8d, ebx
call fcn.140023cec
mov rbx, qword [rdi + 0x10]
mov rcx, rdi
mov dword [rdi + 0x78], eax
call fcn.14002146c
cmp eax, dword [rdi + 0x78]
jne 0x1400213d3
mov rcx, rdi
call fcn.14002146c
mov rcx, rdi
call fcn.140020f84
cmp dword [rdi + 0x58], r13d
jne 0x1400213a9
mov rcx, rdi
call fcn.1400214c0
mov dword [rdi + 0x78], r13d
cmp dword [rdi + 0x58], r13d
jne 0x1400213a9
cmp dword [rdi + 0x5c], r13d
jne 0x1400213a9
cmp dword [rdi + 0x18], r13d
jmp 0x1400212ae
mov dword [rdi + 0x58], ebp
mov r8d, dword [rdi + 0x10]
mov ecx, dword [rdi + 0x78]
mov rdx, rbx
sub r8d, ebx
call fcn.140023cec
cmp esi, dword [rdi + 0x18]
mov dword [rdi + 0x78], eax
jne 0x1400213ce
cmp dword [rdi + 0x58], 0xfffffffd
je 0x140021444
cmp dword [rdi + 0x58], ebp
je 0x140021444
sub esi, dword [rdi + 0x18]
jmp 0x140021440
mov dword [rdi + 0x58], 0xfffffffd
jmp 0x1400213a9
mov ebp, dword [rdi + 8]
cmp ebp, dword [rdi + 0x18]
cmova ebp, dword [rdi + 0x18]
cmp ebp, r13d
jbe 0x14002140c
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 0x140021428
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 0x140021440
mov dword [rdi + 0x5c], r14d
mov eax, esi
jmp 0x14002144d
mov eax, ebp
jmp 0x14002144d
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