Function at 0x14004ea40
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 rsi, rcx
sub r12, qword [rcx + 0x20]
mov r15, qword [rdx]
mov rcx, r15
sar r12, 3
movsxd rbx, r8d
call fcn.1400a506c
lea r13d, [rbx + 1]
mov rcx, rsi
mov dword [rsp + 0x70], r13d
sub r12d, ebx
jne 0x14004ea98
mov r8d, 1
mov rdx, r15
call fcn.14004e930
mov ebp, eax
jmp 0x14004ed0e
lea edx, [r12 + 0x14]
lea r8, str.too_many_arguments
call fcn.14002f930
mov edx, dword [rsp + 0x70]
lea rcx, [rbx*8]
mov qword [rsp + 0x78], rcx
mov ebp, 1
mov r13d, ebx
movabs rdi, 0xfffd800000000000
dec r12d
movabs r8, 0x7fffffffffff
test ebp, ebp
je 0x14004ed07
mov rax, qword [rsi + 0x20]
mov rcx, qword [rcx + rax]
mov rax, rcx
sar rax, 0x2f
cmp eax, 0xfffffffb
jne 0x14004ec27
and rcx, r8
movzx edx, byte [rcx + 0x18]
cmp dl, 0x2a
jne 0x14004eb09
movzx edx, byte [rcx + 0x19]
cmp dl, 0x6e
jne 0x14004eb5a
lea r8, [rsp + 0x88]
mov rcx, r15
lea rdx, [0x1400dd0a4]
call fcn.14004e570
mov rcx, qword [rsi + 0x28]
cmp eax, 1
jne 0x14004eb47
movsd xmm0, qword [rsp + 0x88]
mov ebp, eax
movsd qword [rcx], xmm0
add qword [rsi + 0x28], 8
jmp 0x14004ece3
mov qword [rcx], 0xffffffffffffffff
add qword [rsi + 0x28], 8
xor ebp, ebp
jmp 0x14004ece3
movzx eax, dl
mov rcx, rsi
and al, 0xdf
cmp al, 0x4c
jne 0x14004eb7f
xor r8d, r8d
cmp dl, 0x6c
mov rdx, r15
sete r8b
call fcn.14004e930
mov ebp, eax
jmp 0x14004ece3
cmp dl, 0x61
jne 0x14004ed50
mov ebx, 0x200
mov edx, ebx
call fcn.14005d740
mov r9, r15
mov edx, 1
mov r8d, ebx
mov rcx, rax
mov r14, rax
call fcn.1400a70ac
mov rdi, rax
cmp eax, ebx
jne 0x14004ebde
add ebx, ebx
mov rcx, rsi
mov edx, ebx
call fcn.14005d740
mov r8d, ebx
mov ecx, edi
sub r8d, edi
add rcx, rax
mov r9, r15
mov edx, 1
mov r14, rax
call fcn.1400a70ac
add edi, eax
cmp edi, ebx
je 0x14004ebb1
mov rbx, qword [rsi + 0x28]
mov rdx, r14
mov r8d, edi
mov rcx, rsi
lea rax, [rbx + 8]
mov qword [rsi + 0x28], rax
call fcn.140042b80
movabs rdi, 0xfffd800000000000
or rax, rdi
mov qword [rbx], rax
mov rcx, qword [rsi + 0x10]
mov rax, qword [rcx + 0x18]
cmp qword [rcx + 0x10], rax
jb 0x14004ece3
mov rcx, rsi
call fcn.140033510
jmp 0x14004ece3
sar rcx, 0x2f
cmp ecx, 0xfffffff2
mov rcx, rsi
ja 0x14004ed60
call fcn.140060750
mov ebx, eax
test eax, eax
je 0x14004ecac
mov edx, ebx
mov rcx, rsi
call fcn.14005d740
mov r8d, ebx
mov r9, r15
mov edx, 1
mov rcx, rax
mov rdi, rax
call fcn.1400a70ac
mov rbx, qword [rsi + 0x28]
mov rdx, rdi
mov r8d, eax
mov r14, rax
lea rcx, [rbx + 8]
mov qword [rsi + 0x28], rcx
mov rcx, rsi
call fcn.140042b80
movabs rdi, 0xfffd800000000000
or rax, rdi
mov qword [rbx], rax
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rdx + 0x18]
cmp qword [rdx + 0x10], rcx
jb 0x14004eca5
mov rcx, rsi
call fcn.140033510
xor ebp, ebp
test r14d, r14d
jmp 0x14004ecdf
mov rcx, r15
call fcn.1400a66f8
mov rdx, r15
mov ecx, eax
mov ebx, eax
call fcn.1400adaf0
mov rdx, qword [rsi + 0x28]
xor ebp, ebp
lea rcx, [rdx + 8]
mov qword [rsi + 0x28], rcx
mov rcx, qword [rsi + 0x10]
add rcx, 0x78
or rcx, rdi
mov qword [rdx], rcx
cmp ebx, 0xffffffff
setne bpl
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 0x14004eacc
mov ebx, dword [rsp + 0x80]
mov rcx, r15
call fcn.1400a61c8
test eax, eax
je 0x14004ed29
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.1400309a0
jmp 0x14004ed3f
test ebp, ebp
jne 0x14004ed39
mov rcx, qword [rsi + 0x28]
mov qword [rcx - 8], 0xffffffffffffffff
sub r13d, ebx
mov eax, r13d
add rsp, 0x28
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
lea edx, [r13 + 1]
mov r8d, 0x4ff
call fcn.140035c40
int3
mov r8d, 0x4dc
call fcn.140035c40
int3