Function at 0x18008c670
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.180123ce4
lea r13d, [rbx + 1]
mov rcx, rsi
mov dword [rsp + 0x70], r13d
sub r12d, ebx
jne 0x18008c6c8
mov r8d, 1
mov rdx, r15
call fcn.18008c9a0
mov ebp, eax
jmp 0x18008c93e
lea edx, [r12 + 0x14]
lea r8, str.too_many_arguments
call fcn.180073860
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 0x18008c937
mov rax, qword [rsi + 0x20]
mov rcx, qword [rcx + rax]
mov rax, rcx
sar rax, 0x2f
cmp eax, 0xfffffffb
jne 0x18008c857
and rcx, r8
movzx edx, byte [rcx + 0x18]
cmp dl, 0x2a
jne 0x18008c739
movzx edx, byte [rcx + 0x19]
cmp dl, 0x6e
jne 0x18008c78a
lea r8, [rsp + 0x88]
mov rcx, r15
lea rdx, [0x180150974]
call sym.dll.dll_fscanf
mov rcx, qword [rsi + 0x28]
cmp eax, 1
jne 0x18008c777
movsd xmm0, qword [rsp + 0x88]
mov ebp, eax
movsd qword [rcx], xmm0
add qword [rsi + 0x28], 8
jmp 0x18008c913
mov qword [rcx], 0xffffffffffffffff
add qword [rsi + 0x28], 8
xor ebp, ebp
jmp 0x18008c913
movzx eax, dl
mov rcx, rsi
and al, 0xdf
cmp al, 0x4c
jne 0x18008c7af
xor r8d, r8d
cmp dl, 0x6c
mov rdx, r15
sete r8b
call fcn.18008c9a0
mov ebp, eax
jmp 0x18008c913
cmp dl, 0x61
jne 0x18008c980
mov ebx, 0x200
mov edx, ebx
call fcn.1800a5540
mov r9, r15
mov edx, 1
mov r8d, ebx
mov rcx, rax
mov r14, rax
call fcn.18010ea98
mov rdi, rax
cmp eax, ebx
jne 0x18008c80e
add ebx, ebx
mov rcx, rsi
mov edx, ebx
call fcn.1800a5540
mov r8d, ebx
mov ecx, edi
sub r8d, edi
add rcx, rax
mov r9, r15
mov edx, 1
mov r14, rax
call fcn.18010ea98
add edi, eax
cmp edi, ebx
je 0x18008c7e1
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.180080230
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 0x18008c913
mov rcx, rsi
call fcn.18007dd50
jmp 0x18008c913
sar rcx, 0x2f
cmp ecx, 0xfffffff2
mov rcx, rsi
ja 0x18008c990
call fcn.1800a7590
mov ebx, eax
test eax, eax
je 0x18008c8dc
mov edx, ebx
mov rcx, rsi
call fcn.1800a5540
mov r8d, ebx
mov r9, r15
mov edx, 1
mov rcx, rax
mov rdi, rax
call fcn.18010ea98
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.180080230
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 0x18008c8d5
mov rcx, rsi
call fcn.18007dd50
xor ebp, ebp
test r14d, r14d
jmp 0x18008c90f
mov rcx, r15
call fcn.18010ecbc
mov rdx, r15
mov ecx, eax
mov ebx, eax
call fcn.18010ede4
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 0x18008c6fc
mov ebx, dword [rsp + 0x80]
mov rcx, r15
call fcn.18011e2e4
test eax, eax
je 0x18008c959
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.1800796f0
jmp 0x18008c96f
test ebp, ebp
jne 0x18008c969
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.180075d40
int3
mov r8d, 0x4dc
call fcn.180075d40
int3