Function at 0x140018f90
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov r13d, 0x7fffffff
movabs r14, 0x200000004
movabs r15, 0x800000008
mov qword [rcx + 0x58], 0
mov rbx, rcx
lea r12, [rsp + 0x44]
mov dword [rcx + 0x50], 0
mov rdx, r12
mov rcx, rbx
call fcn.1400182d0
test eax, eax
je 0x14001918c
mov eax, dword [rsp + 0x44]
cmp eax, 2
je 0x140019018
cmp eax, 3
jne 0x1400190ca
mov rdx, qword [rbx + 0x70]
mov eax, dword [rdx]
and eax, 8
jne 0x1400191a0
mov dword [rbx + 0x60], 0x6f
jmp 0x14001918e
mov rcx, rbx
call fcn.140018760
test eax, eax
je 0x14001918c
movsxd rdx, dword [rbx + 0x20]
lea rax, [rdx*8]
sub rax, rdx
mov rdx, qword [rbx + 0x48]
lea rbp, [rdx + rax*8 - 0x38]
mov ecx, dword [rbp + 8]
test ecx, ecx
jle 0x14001918c
mov esi, dword [rbp + 0xc]
test esi, esi
jle 0x14001918c
mov eax, r13d
cdq
idiv esi
cmp ecx, eax
jg 0x14001918c
imul esi, ecx
mov r8d, 1
xor ecx, ecx
movsxd rdx, esi
call fcn.14001ba20
mov qword [rbp + 0x20], rax
mov rdx, rax
test rax, rax
je 0x14001918c
cmp byte [rbp + 0x10], 0
jne 0x1400191d0
mov r8d, esi
mov rcx, rbx
call fcn.140018d20
test eax, eax
je 0x14001918c
mov rdx, qword [rbx + 0x58]
mov eax, dword [rsp + 0x44]
test rdx, rdx
je 0x1400190ca
mov qword [rbp + 0x30], rdx
mov edx, dword [rbx + 0x50]
mov dword [rbp + 0x28], edx
mov qword [rbx + 0x58], 0
mov dword [rbx + 0x50], 0
cmp eax, 4
jne 0x140018fd1
mov eax, dword [rbx + 0x20]
test eax, eax
je 0x140019286
mov eax, 1
jmp 0x14001918e
movzx r8d, byte [rsp + 0x60]
lea rsi, [rsp + 0x48]
mov rcx, rbx
mov rdx, rsi
mov dword [rsp + 0x30], r8d
call fcn.140018860
test eax, eax
je 0x14001918c
mov rax, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x30]
test rax, rax
je 0x14001913c
movzx r9d, byte [rax]
add rax, 1
lea rdx, [rbx + 0x58]
lea rcx, [rbx + 0x50]
mov qword [rsp + 0x20], rax
call fcn.14001b440
test eax, eax
je 0x14001918c
lea rbp, [rbx + 0x58]
lea rdi, [rbx + 0x50]
jmp 0x14001917d
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x140019250
movzx r9d, byte [rax]
add rax, 1
xor r8d, r8d
mov rdx, rbp
mov qword [rsp + 0x20], rax
mov rcx, rdi
call fcn.14001b440
test eax, eax
je 0x14001918c
mov rdx, rsi
mov rcx, rbx
call fcn.140018860
test eax, eax
jne 0x140019150
xor eax, eax
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rdx + 0x40]
test rax, rax
je 0x140019268
lea rdx, [rsp + 0x60]
mov r8d, 1
mov rcx, rbx
call rax
cmp eax, 1
je 0x1400190f0
mov dword [rbx + 0x60], 0x66
jmp 0x14001918c
lea rax, [rsp + 0x50]
lea rsi, [rsp + 0x60]
xor edi, edi
mov qword [rsp + 0x54], r14
mov dword [rsp + 0x5c], 1
mov qword [rsp + 0x60], r15
mov qword [rsp + 0x68], r14
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x38], rsi
jmp 0x140019223
mov r8d, dword [rbp + 8]
mov rcx, rbx
mov edx, r8d
imul edx, edi
movsxd rdx, edx
add rdx, qword [rbp + 0x20]
call fcn.140018d20
test eax, eax
je 0x14001918e
add edi, dword [rsi]
cmp dword [rbp + 0xc], edi
jg 0x140019200
add qword [rsp + 0x30], 4
add rsi, 4
mov rax, qword [rsp + 0x30]
cmp qword [rsp + 0x38], rax
je 0x1400190a4
mov rax, qword [rsp + 0x30]
mov edi, dword [rax]
jmp 0x140019223
mov eax, dword [rsp + 0x44]
cmp eax, 4
jne 0x140018fd1
jmp 0x1400190d3
mov r9, qword [rdx + 0x38]
lea rcx, [rsp + 0x60]
mov r8d, 1
mov edx, 1
call sub.msvcrt.dll_fread
jmp 0x1400191bd
mov dword [rbx + 0x60], 0x69
jmp 0x14001918e