Function at 0x1400318c0
Capabilities:
Read file on windows

Disassembly:
test rcx, rcx
je 0x140031a20
push rbx
push r13
sub rsp, 0x38
mov r13, rdx
mov rbx, rcx
test rdx, rdx
je 0x140031a19
mov qword [rsp + 0x60], rsi
mov rsi, 0xffffffffffffffff
mov rcx, rsi
mov qword [rsp + 0x30], r12
inc rcx
cmp byte [rbx + rcx], 0
jne 0x1400318f3
add rcx, 0xc
call fcn.1400462e4
mov r12, rax
test rax, rax
je 0x140031a0f
mov rdx, rax
sub rdx, rbx
nop word [rax + rax]
movzx ecx, byte [rbx]
mov byte [rdx + rbx], cl
lea rbx, [rbx + 1]
test cl, cl
jne 0x140031920
lea rdx, [0x140086198]
mov rcx, r12
call fcn.14000c410
lea r8, [0x14006d81c]
mov rdx, r12
lea rcx, [rsp + 0x50]
call fcn.14004cd44
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x1400319f0
xor edx, edx
mov qword [rsp + 0x58], rbp
lea r8d, [rdx + 2]
call fcn.14004ca98
mov rcx, qword [rsp + 0x50]
call fcn.14004c5f8
mov rcx, qword [rsp + 0x50]
movsxd rbx, eax
call fcn.14004caa0
test ebx, ebx
jle 0x1400319dc
lea rcx, [rbx + 1]
call fcn.1400462e4
mov rbp, rax
test rax, rax
je 0x1400319dc
mov r9, qword [rsp + 0x50]
mov r8, rbx
mov edx, 1
mov rcx, rax
call fcn.14004d02c
cmp rax, rbx
je 0x140031a21
mov r8, rsi
nop dword [rax + rax]
inc r8
cmp byte [r8 + rbp], 0
jne 0x1400319c0
xor edx, edx
mov rcx, rbp
call fcn.1400452a0
mov rcx, rbp
call fcn.1400462d0
mov rcx, qword [rsp + 0x50]
call fcn.14004c82c
mov rbp, qword [rsp + 0x58]
nop dword [rax + rax]
inc rsi
cmp byte [r12 + rsi], 0
jne 0x1400319f0
mov r8, rsi
xor edx, edx
mov rcx, r12
call fcn.1400452a0
mov rcx, r12
call fcn.1400462d0
mov rsi, qword [rsp + 0x60]
mov r12, qword [rsp + 0x30]
add rsp, 0x38
pop r13
pop rbx
ret
mov byte [rbx + rbp], 0
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x20], r15
call fcn.14004c82c
lea rdx, [0x1400861a8]
mov rcx, rbp
call fcn.14000c570
mov r15, rax
test rax, rax
je 0x140031bf5
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x28], r14
nop dword [rax]
lea rcx, [r15 + 0x12]
mov edx, 0x22
call fcn.140044cac
mov rbx, rax
test rax, rax
je 0x140031bcf
inc rbx
mov edx, 0x22
mov rcx, rbx
call fcn.140044cac
mov rdi, rax
test rax, rax
je 0x140031bcf
sub rdi, rbx
lea rcx, [rdi + 1]
call fcn.1400462e4
mov r14, rax
test rax, rax
je 0x140031bcf
mov r8, rdi
mov rdx, rbx
mov rcx, rax
call fcn.14004f870
mov rcx, r14
mov byte [r14 + rdi], 0
call fcn.140030bd0
mov rbx, rax
test rax, rax
je 0x140031bb0
mov rcx, rax
call fcn.14000be40
mov rdi, rax
mov r8, rsi
inc r8
cmp byte [rbx + r8], 0
jne 0x140031ae3
xor edx, edx
mov rcx, rbx
call fcn.1400452a0
mov r8, rsi
nop word [rax + rax]
inc r8
cmp byte [rbx + r8], 0
jne 0x140031b00
xor edx, edx
mov rcx, rbx
call fcn.1400452a0
mov rcx, rbx
call fcn.1400462d0
test rdi, rdi
je 0x140031bb0
mov rcx, rdi
call fcn.14002aee0
test al, al
je 0x140031b8b
mov ecx, 0x28
call fcn.1400462e4
mov rbx, rax
test rax, rax
je 0x140031b8b
mov r8d, dword [0x140082064]
mov rcx, rdi
mov rdx, qword [0x140082068]
call fcn.140015790
mov qword [rbx], rax
test rax, rax
je 0x140031b83
xor eax, eax
mov dword [rbx + 0x20], 1
mov rdx, rbx
mov qword [rbx + 8], rax
mov rcx, r13
mov qword [rbx + 0x10], rax
mov qword [rbx + 0x18], rax
call fcn.1400057c0
jmp 0x140031b8b
mov rcx, rbx
call fcn.1400462d0
mov r8, rsi
nop
inc r8
cmp word [rdi + r8*2], 0
jne 0x140031b90
add r8, r8
xor edx, edx
mov rcx, rdi
call fcn.1400452a0
mov rcx, rdi
call fcn.1400462d0
mov r8, rsi
inc r8
cmp byte [r14 + r8], 0
jne 0x140031bb3
xor edx, edx
mov rcx, r14
call fcn.1400452a0
mov rcx, r14
call fcn.1400462d0
lea rcx, [r15 + 1]
lea rdx, [0x1400861a8]
call fcn.14000c570
mov r15, rax
test rax, rax
jne 0x140031a60
mov r14, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x68]
mov r15, qword [rsp + 0x20]
mov r8, rsi
nop dword [rax]
inc r8
cmp byte [r8 + rbp], 0
jne 0x140031c00
xor edx, edx
mov rcx, rbp
call fcn.1400452a0
mov rcx, rbp
call fcn.1400462d0
jmp 0x1400319e6