Function at 0x44fa10
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov rdi, qword [rcx + 0x28]
sub rdi, qword [rcx + 0x20]
mov rbx, rcx
mov rcx, rdx
mov r12, rdx
mov dword [rsp + 0x90], r8d
sar rdi, 3
sub edi, r8d
call sym.clearerr
test edi, edi
jne 0x44faa0
mov eax, dword [rsp + 0x90]
mov r8d, 1
mov rdx, r12
mov rcx, rbx
lea ebp, [rax + 1]
call sym.io_file_readline
mov r14d, eax
mov rcx, r12
call sym.ferror
test eax, eax
jne 0x44fce0
test r14d, r14d
je 0x44fd2c
mov eax, ebp
sub eax, dword [rsp + 0x90]
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea edx, [rdi + 0x14]
lea r8, str.too_many_arguments
mov rcx, rbx
sub edi, 1
mov r14d, 1
call sym.luaL_checkstack
mov ebp, dword [rsp + 0x90]
movsxd rsi, ebp
lea r13, [rsp + 0x28]
shl rsi, 3
mov rdx, qword [rbx + 0x20]
add rdx, rsi
mov rax, qword [rdx]
sar rax, 0x2f
cmp eax, 0xfffffffb
je 0x44fb90
add ebp, 1
cmp eax, 0xfffffff2
ja 0x44fd7d
mov edx, ebp
mov rcx, rbx
call sym.lj_lib_checkint
test eax, eax
mov esi, eax
je 0x44fc60
mov edx, eax
mov rcx, rbx
call sym.lj_buf_tmp
mov r8d, esi
mov r13, rax
mov r9, r12
mov edx, 1
mov rcx, rax
call sym.fread
mov rdx, r13
mov rcx, rbx
mov r8d, eax
mov rsi, rax
call sym.lj_str_new
mov rdx, qword [rbx + 0x28]
lea rcx, [rdx + 8]
mov qword [rbx + 0x28], rcx
movabs rcx, 0xfffd800000000000
or rax, rcx
mov qword [rdx], rax
mov rax, qword [rbx + 0x10]
mov rdx, qword [rax + 0x18]
cmp qword [rax + 0x10], rdx
jae 0x44fd60
xor r14d, r14d
test esi, esi
setne r14b
test edi, edi
lea eax, [rdi - 1]
je 0x44fa67
test r14d, r14d
je 0x44fd20
mov edi, eax
jmp 0x44fac2
movabs rax, 0x7fffffffffff
and rax, qword [rdx]
mov rdx, rax
movzx eax, byte [rax + 0x18]
cmp al, 0x2a
jne 0x44fbac
movzx eax, byte [rdx + 0x19]
add ebp, 1
cmp al, 0x6e
je 0x44fcf2
mov edx, eax
and edx, 0xffffffdf
cmp dl, 0x4c
je 0x44fd40
cmp al, 0x61
jne 0x44fd8d
xor r15d, r15d
mov esi, 0x200
jmp 0x44fbe2
add esi, esi
mov edx, esi
mov rcx, rbx
call sym.lj_buf_tmp
mov ecx, r15d
mov r8d, esi
mov r9, r12
sub r8d, r15d
add rcx, rax
mov edx, 1
mov r13, rax
call sym.fread
add r15d, eax
cmp esi, r15d
je 0x44fbe0
mov rdx, r13
mov rcx, rbx
mov r8d, r15d
call sym.lj_str_new
mov rdx, qword [rbx + 0x28]
lea rcx, [rdx + 8]
mov qword [rbx + 0x28], rcx
movabs rcx, 0xfffd800000000000
or rax, rcx
mov qword [rdx], rax
mov rax, qword [rbx + 0x10]
mov rsi, qword [rax + 0x18]
cmp qword [rax + 0x10], rsi
jae 0x44fd70
test edi, edi
lea eax, [rdi - 1]
je 0x44fa67
mov edi, eax
jmp 0x44fac2
mov rcx, r12
xor r14d, r14d
call sym.getc
mov rdx, r12
mov ecx, eax
mov esi, eax
call sym.ungetc
mov rdx, qword [rbx + 0x28]
movabs rcx, 0xfffd800000000000
lea rax, [rdx + 8]
mov qword [rbx + 0x28], rax
mov rax, qword [rbx + 0x10]
add rax, 0x78
or rax, rcx
cmp esi, 0xffffffff
mov qword [rdx], rax
setne r14b
jmp 0x44fb6d
movsd xmm0, qword [rsp + 0x28]
sub edi, 1
add rsi, 8
cmp edi, 0xffffffff
movsd qword [rax], xmm0
jne 0x44face
mov rcx, r12
call sym.ferror
test eax, eax
je 0x44fa80
nop word [rax + rax]
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call sym.luaL_fileresult
jmp 0x44fa89
lea rdx, [0x0046df0d]
mov r8, r13
mov rcx, r12
call sym.fscanf
mov r14d, eax
mov rax, qword [rbx + 0x28]
cmp r14d, 1
lea rdx, [rax + 8]
mov qword [rbx + 0x28], rdx
je 0x44fcb0
mov qword [rax], 0xffffffffffffffff
mov rcx, r12
call sym.ferror
test eax, eax
jne 0x44fce0
mov rax, qword [rbx + 0x28]
mov qword [rax - 8], 0xffffffffffffffff
jmp 0x44fa80
xor r8d, r8d
cmp al, 0x6c
mov rdx, r12
sete r8b
mov rcx, rbx
call sym.io_file_readline
mov r14d, eax
jmp 0x44fb6d
mov rcx, rbx
call sym.lj_gc_step
jmp 0x44fb64
mov rcx, rbx
call sym.lj_gc_step
jmp 0x44fc4c
mov r8d, 0x4dc
mov edx, ebp
mov rcx, rbx
call sym.lj_err_arg
mov r8d, 0x4ff
mov edx, ebp
mov rcx, rbx
call sym.lj_err_arg
nop
nop