Function at 0x1400297f0
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.1400d1cf0
lea r13d, [rbx + 1]
mov rcx, rsi
mov dword [rsp + 0x70], r13d
sub r12d, ebx
jne 0x140029848
mov r8d, 1
mov rdx, r15
call fcn.140029d00
mov ebp, eax
jmp 0x140029aba
lea edx, [r12 + 0x14]
lea r8, str.too_many_arguments
call fcn.1400059a0
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 0x140029ab3
mov rax, qword [rsi + 0x20]
mov rcx, qword [rcx + rax]
mov rax, rcx
sar rax, 0x2f
cmp eax, 0xfffffffb
jne 0x1400299d7
and rcx, r8
movzx edx, byte [rcx + 0x18]
cmp dl, 0x2a
jne 0x1400298b9
movzx edx, byte [rcx + 0x19]
cmp dl, 0x6e
jne 0x14002990a
lea r8, [rsp + 0x88]
mov rcx, r15
lea rdx, [0x14010bbd4]
call sym.GRIFTKIT.exe_fscanf
mov rcx, qword [rsi + 0x28]
cmp eax, 1
jne 0x1400298f7
movsd xmm0, qword [rsp + 0x88]
mov ebp, eax
movsd qword [rcx], xmm0
add qword [rsi + 0x28], 8
jmp 0x140029a8f
mov qword [rcx], 0xffffffffffffffff
add qword [rsi + 0x28], 8
xor ebp, ebp
jmp 0x140029a8f
movzx eax, dl
mov rcx, rsi
and al, 0xdf
cmp al, 0x4c
jne 0x14002992f
xor r8d, r8d
cmp dl, 0x6c
mov rdx, r15
sete r8b
call fcn.140029d00
mov ebp, eax
jmp 0x140029a8f
cmp dl, 0x61
jne 0x140029afc
mov ebx, 0x200
mov edx, ebx
call fcn.140034230
mov r9, r15
mov edx, 1
mov r8d, ebx
mov rcx, rax
mov r14, rax
call fcn.140091f84
mov rdi, rax
cmp eax, ebx
jne 0x14002998e
add ebx, ebx
mov rcx, rsi
mov edx, ebx
call fcn.140034230
mov r8d, ebx
mov ecx, edi
sub r8d, edi
add rcx, rax
mov r9, r15
mov edx, 1
mov r14, rax
call fcn.140091f84
add edi, eax
cmp edi, ebx
je 0x140029961
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.140015140
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 0x140029a8f
mov rcx, rsi
call fcn.140011620
jmp 0x140029a8f
mov rcx, rsi
cmp eax, 0xfffffff2
ja 0x140029b0c
call fcn.140036650
mov ebx, eax
test eax, eax
je 0x140029a58
mov edx, ebx
mov rcx, rsi
call fcn.140034230
mov r8d, ebx
mov r9, r15
mov edx, 1
mov rcx, rax
mov rdi, rax
call fcn.140091f84
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.140015140
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 0x140029a51
mov rcx, rsi
call fcn.140011620
xor ebp, ebp
test r14d, r14d
jmp 0x140029a8b
mov rcx, r15
call fcn.1400d2128
mov rdx, r15
mov ecx, eax
mov ebx, eax
call fcn.1400d4838
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 0x14002987c
mov ebx, dword [rsp + 0x80]
mov rcx, r15
call fcn.1400d1de4
test eax, eax
je 0x140029ad5
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.14000b940
jmp 0x140029aeb
test ebp, ebp
jne 0x140029ae5
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.140012630
int3
mov r8d, 0x4dc
call fcn.140012630
int3