Function at 0x14006e4c0
Capabilities:
Read file on windows

Disassembly:
mov dword [rsp + 0x18], r8d
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x28
mov r12, qword [rcx + 0x28]
mov rdi, rcx
sub r12, qword [rcx + 0x20]
mov r15, qword [rdx]
mov rcx, r15
sar r12, 3
movsxd rbx, r8d
call fcn.1400de500
sub r12d, ebx
jne 0x14006e513
lea r8d, [r12 + 1]
mov rdx, r15
mov rcx, rdi
call fcn.14006e8b0
mov r14d, eax
lea r13d, [rbx + 1]
jmp 0x14006e7ea
lea edx, [r12 + 0x14]
cmp edx, 0x1f40
jg 0x14006e878
mov r8, qword [rdi + 0x28]
mov rcx, r8
movsxd rax, edx
sub rcx, qword [rdi + 0x20]
sar rcx, 3
add rcx, rax
cmp rcx, 0x1f40
jg 0x14006e878
test edx, edx
jle 0x14006e564
mov rcx, qword [rdi + 0x30]
mov eax, edx
sub rcx, r8
shl rax, 3
cmp rcx, rax
jg 0x14006e564
mov rcx, rdi
call fcn.140084060
lea edx, [rbx + 1]
mov r14d, 1
lea rcx, [rbx*8]
mov dword [rsp + 0x70], edx
mov qword [rsp + 0x78], rcx
mov r13d, ebx
movabs rsi, 0xfffd800000000000
dec r12d
movabs r8, 0x7fffffffffff
test r14d, r14d
je 0x14006e7e3
mov rax, qword [rdi + 0x20]
mov rcx, qword [rcx + rax]
mov rax, rcx
sar rax, 0x2f
cmp eax, 0xfffffffb
jne 0x14006e6e6
and rcx, r8
movzx edx, byte [rcx + 0x18]
cmp dl, 0x2a
jne 0x14006e5c9
movzx edx, byte [rcx + 0x19]
cmp dl, 0x6e
jne 0x14006e61c
lea r8, [rsp + 0x88]
mov rcx, r15
lea rdx, [0x14011399c]
call fcn.14006bf60
mov rcx, qword [rdi + 0x28]
cmp eax, 1
jne 0x14006e608
movsd xmm0, qword [rsp + 0x88]
mov r14d, eax
movsd qword [rcx], xmm0
add qword [rdi + 0x28], 8
jmp 0x14006e7bf
mov qword [rcx], 0xffffffffffffffff
add qword [rdi + 0x28], 8
xor r14d, r14d
jmp 0x14006e7bf
movzx eax, dl
and al, 0xdf
cmp al, 0x4c
jne 0x14006e642
xor r8d, r8d
mov rcx, rdi
cmp dl, 0x6c
mov rdx, r15
sete r8b
call fcn.14006e8b0
mov r14d, eax
jmp 0x14006e7bf
cmp dl, 0x61
jne 0x14006e88d
mov ebx, 0x200
xor esi, esi
mov rcx, qword [rdi + 0x10]
add rcx, 0xc8
mov eax, dword [rcx + 8]
sub eax, dword [rcx + 0x10]
mov qword [rcx + 0x18], rdi
cmp ebx, eax
jbe 0x14006e677
mov edx, ebx
call fcn.140072ae0
mov rbp, rax
jmp 0x14006e67b
mov rbp, qword [rcx + 0x10]
mov r8d, ebx
mov ecx, esi
sub r8d, esi
add rcx, rbp
mov r9, r15
mov edx, 1
call fcn.1400deedc
add esi, eax
cmp esi, ebx
jne 0x14006e69d
add ebx, ebx
jmp 0x14006e652
mov rbx, qword [rdi + 0x28]
mov rdx, rbp
mov r8d, esi
mov rcx, rdi
lea rax, [rbx + 8]
mov qword [rdi + 0x28], rax
call fcn.140044b10
movabs rsi, 0xfffd800000000000
or rax, rsi
mov qword [rbx], rax
mov rcx, qword [rdi + 0x10]
mov rax, qword [rcx + 0x18]
cmp qword [rcx + 0x10], rax
jb 0x14006e7bf
mov rcx, rdi
call fcn.140079ff0
jmp 0x14006e7bf
mov rcx, rdi
cmp eax, 0xfffffff2
ja 0x14006e8a0
call fcn.14007b7d0
mov ebx, eax
test eax, eax
je 0x14006e787
mov rcx, qword [rdi + 0x10]
add rcx, 0xc8
mov edx, dword [rcx + 8]
sub edx, dword [rcx + 0x10]
mov qword [rcx + 0x18], rdi
cmp ebx, edx
jbe 0x14006e726
mov edx, ebx
call fcn.140072ae0
mov rsi, rax
jmp 0x14006e72a
mov rsi, qword [rcx + 0x10]
mov r8, rbx
mov r9, r15
mov edx, 1
mov rcx, rsi
call fcn.1400deedc
mov rbx, qword [rdi + 0x28]
mov rdx, rsi
mov r8d, eax
mov rbp, rax
lea rcx, [rbx + 8]
mov qword [rdi + 0x28], rcx
mov rcx, rdi
call fcn.140044b10
movabs rsi, 0xfffd800000000000
or rax, rsi
mov qword [rbx], rax
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rdx + 0x18]
cmp qword [rdx + 0x10], rcx
jb 0x14006e780
mov rcx, rdi
call fcn.140079ff0
xor r14d, r14d
test ebp, ebp
jmp 0x14006e7bb
mov rcx, r15
call fcn.1400df9a4
mov rdx, r15
mov ecx, eax
mov ebx, eax
call fcn.1400e0eb4
mov rdx, qword [rdi + 0x28]
xor r14d, r14d
lea rcx, [rdx + 8]
mov qword [rdi + 0x28], rcx
mov rcx, qword [rdi + 0x10]
add rcx, 0x78
or rcx, rsi
mov qword [rdx], rcx
cmp ebx, 0xffffffff
setne r14b
mov edx, dword [rsp + 0x70]
inc r13d
mov rcx, qword [rsp + 0x78]
inc edx
add rcx, 8
mov dword [rsp + 0x70], edx
mov qword [rsp + 0x78], rcx
test r12d, r12d
jne 0x14006e58b
mov ebx, dword [rsp + 0x80]
mov rcx, r15
call fcn.1400de83c
test eax, eax
je 0x14006e85f
call fcn.1400de4e0
mov ebx, dword [rax]
mov ecx, ebx
mov rax, qword [rdi + 0x28]
mov qword [rax], 0xffffffffffffffff
add qword [rdi + 0x28], 8
call fcn.1400e64e0
mov r8, rax
lea rdx, [0x1401143a8]
mov rcx, rdi
call sym.luvi.exe_lua_pushfstring
mov rcx, qword [rdi + 0x28]
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
lea rax, [rcx + 8]
mov qword [rdi + 0x28], rax
movsd qword [rcx], xmm0
mov rax, qword [rdi + 0x10]
and dword [rax + 0x3c4], 0xffffffef
mov eax, 3
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
test r14d, r14d
jne 0x14006e870
mov rcx, qword [rdi + 0x28]
mov qword [rcx - 8], 0xffffffffffffffff
sub r13d, ebx
mov eax, r13d
jmp 0x14006e84e
lea r8, str.too_many_arguments
mov edx, 0x77
mov rcx, rdi
call fcn.140078980
int3
lea edx, [r13 + 1]
mov r8d, 0x4ff
mov rcx, rdi
call fcn.140078750
int3
mov r8d, 0x4dc
call fcn.140078750
int3