Function at 0x140004490
Capabilities:
Read file on windows

Disassembly:
push rbp
push rsi
push rdi
mov rbp, rsp
sub rsp, 0x70
xor sil, sil
mov rdi, rcx
cmp qword [rcx + 0x7e8], 0
mov byte [rbp + 0x20], sil
jbe 0x1400044c0
cmp qword [rcx + 0x7e0], 0
lea rax, [rcx + 0x7f0]
jmp 0x1400044e0
cmp dword [rcx + 0x7d0], 0
jbe 0x140004778
mov rax, qword [rcx + 0x7c8]
mov rcx, qword [rax]
cmp qword [rcx + 8], 0
lea rax, [rcx + 0x18]
je 0x1400044e5
mov rax, qword [rax]
test rax, rax
je 0x140004778
lea rdx, [0x140098dec]
mov qword [rsp + 0x60], r14
mov rcx, rax
call fcn.140020f20
mov r14, rax
test rax, rax
je 0x140004767
xor edx, edx
mov rcx, rax
lea r8d, [rdx + 2]
call fcn.14006ec58
test eax, eax
jne 0x14000475f
mov rcx, r14
mov qword [rsp + 0x68], rbx
call fcn.14006f1b0
movsxd rbx, eax
test eax, eax
jle 0x14000475a
mov rcx, r14
mov qword [rsp + 0x58], r15
call fcn.14006f1b8
mov rcx, rbx
call fcn.14006f290
mov r15, rax
test rax, rax
je 0x140004755
mov r9, r14
mov r8, rbx
mov edx, 1
mov rcx, rax
call fcn.14006e980
cmp rax, rbx
jb 0x14000474d
lea rax, [rbp + 0x20]
mov qword [rbp - 0x28], r15
add rbx, r15
mov qword [rsp + 0x20], rax
mov rdx, rbx
lea r9, [rbp + 0x38]
lea r8, [rbp - 0x30]
lea rcx, [rbp - 0x28]
call fcn.140004d60
test al, al
je 0x14000474a
nop word [rax + rax]
mov r9, qword [rbp + 0x38]
lea rax, [rbp + 0x28]
mov r8, qword [rbp - 0x30]
lea rcx, [rbp - 0x28]
mov qword [rsp + 0x30], rax
mov rdx, rbx
lea rax, [rbp + 0x30]
mov qword [rsp + 0x28], rax
movzx eax, byte [rbp + 0x20]
mov byte [rsp + 0x20], al
call fcn.140004f00
test al, al
je 0x14000474d
mov rcx, qword [rbp + 0x28]
cmp byte [rbp + 0x20], sil
je 0x1400046af
test rcx, rcx
je 0x1400046ff
mov r9, qword [rbp + 0x30]
mov rax, rcx
test rcx, rcx
je 0x140004626
nop dword [rax]
movzx edx, byte [r9 + rax - 1]
cmp dl, 0x20
je 0x140004620
cmp dl, 9
jne 0x140004626
sub rax, 1
jne 0x140004610
test rax, rax
je 0x14000464d
movzx edx, byte [rax + r9 - 1]
cmp dl, 0xd
je 0x14000463b
cmp dl, 0xa
jne 0x14000464d
lea rcx, [rax - 1]
mov qword [rbp + 0x28], rcx
test rcx, rcx
jne 0x140004601
jmp 0x140004703
test rcx, rcx
je 0x140004703
nop word [rax + rax]
mov rax, r9
mov r8, rcx
test rcx, rcx
je 0x140004686
nop dword [rax + rax]
movzx edx, byte [rax]
cmp dl, 0x20
je 0x14000467d
cmp dl, 9
jne 0x140004686
inc rax
sub r8, 1
jne 0x140004670
test r8, r8
je 0x140004703
movzx edx, byte [rax]
cmp dl, 0xd
je 0x140004698
cmp dl, 0xa
jne 0x140004703
lea rcx, [r8 - 1]
mov qword [rbp + 0x28], rcx
lea r9, [rax + 1]
mov qword [rbp + 0x30], r9
test rcx, rcx
jne 0x140004660
jmp 0x140004703
test rcx, rcx
je 0x1400046ff
mov r9, qword [rbp + 0x30]
nop dword [rax + rax]
movzx eax, byte [r9 + rcx - 1]
cmp al, 0x20
je 0x1400046ce
cmp al, 9
jne 0x1400046da
sub rcx, 1
mov qword [rbp + 0x28], rcx
jne 0x1400046c0
jmp 0x140004703
test rcx, rcx
je 0x140004703
nop
movzx eax, byte [r9]
cmp al, 0x20
je 0x1400046ec
cmp al, 9
jne 0x140004703
inc r9
sub rcx, 1
mov qword [rbp + 0x30], r9
mov qword [rbp + 0x28], rcx
jne 0x1400046e0
jmp 0x140004703
mov r9, qword [rbp + 0x30]
mov r8, qword [rbp + 0x38]
mov rdx, qword [rbp - 0x30]
mov byte [rsp + 0x30], sil
mov dword [rsp + 0x28], 0xffffffff
mov qword [rsp + 0x20], rcx
mov rcx, rdi
call fcn.140014b10
lea rax, [rbp + 0x20]
mov rdx, rbx
lea r9, [rbp + 0x38]
mov qword [rsp + 0x20], rax
lea r8, [rbp - 0x30]
lea rcx, [rbp - 0x28]
call fcn.140004d60
test al, al
jne 0x1400045b0
mov sil, 1
mov rcx, r15
call fcn.14006f27c
mov r15, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x68]
mov rcx, r14
call fcn.14006e4d8
mov r14, qword [rsp + 0x60]
movzx eax, sil
add rsp, 0x70
pop rdi
pop rsi
pop rbp
ret
movzx eax, sil
add rsp, 0x70
pop rdi
pop rsi
pop rbp
ret