Function at 0x140036340
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.14008705c
lea r13d, [rbx + 1]
mov rcx, rsi
mov dword [rsp + 0x70], r13d
sub r12d, ebx
jne 0x140036398
mov r8d, 1
mov rdx, r15
call fcn.140036670
mov ebp, eax
jmp 0x14003660e
lea edx, [r12 + 0x14]
lea r8, str.too_many_arguments
call fcn.140010e70
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 0x140036607
mov rax, qword [rsi + 0x20]
mov rcx, qword [rcx + rax]
mov rax, rcx
sar rax, 0x2f
cmp eax, 0xfffffffb
jne 0x140036527
and rcx, r8
movzx edx, byte [rcx + 0x18]
cmp dl, 0x2a
jne 0x140036409
movzx edx, byte [rcx + 0x19]
cmp dl, 0x6e
jne 0x14003645a
lea r8, [rsp + 0x88]
mov rcx, r15
lea rdx, [0x1400afaa4]
call fcn.140036080
mov rcx, qword [rsi + 0x28]
cmp eax, 1
jne 0x140036447
movsd xmm0, qword [rsp + 0x88]
mov ebp, eax
movsd qword [rcx], xmm0
add qword [rsi + 0x28], 8
jmp 0x1400365e3
mov qword [rcx], 0xffffffffffffffff
add qword [rsi + 0x28], 8
xor ebp, ebp
jmp 0x1400365e3
movzx eax, dl
mov rcx, rsi
and al, 0xdf
cmp al, 0x4c
jne 0x14003647f
xor r8d, r8d
cmp dl, 0x6c
mov rdx, r15
sete r8b
call fcn.140036670
mov ebp, eax
jmp 0x1400365e3
cmp dl, 0x61
jne 0x140036650
mov ebx, 0x200
mov edx, ebx
call fcn.14003ef00
mov r9, r15
mov edx, 1
mov r8d, ebx
mov rcx, rax
mov r14, rax
call fcn.14007e9dc
mov rdi, rax
cmp eax, ebx
jne 0x1400364de
add ebx, ebx
mov rcx, rsi
mov edx, ebx
call fcn.14003ef00
mov r8d, ebx
mov ecx, edi
sub r8d, edi
add rcx, rax
mov r9, r15
mov edx, 1
mov r14, rax
call fcn.14007e9dc
add edi, eax
cmp edi, ebx
je 0x1400364b1
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.14001a040
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 0x1400365e3
mov rcx, rsi
call fcn.140016b40
jmp 0x1400365e3
sar rcx, 0x2f
cmp ecx, 0xfffffff2
mov rcx, rsi
ja 0x140036660
call fcn.140040ed0
mov ebx, eax
test eax, eax
je 0x1400365ac
mov edx, ebx
mov rcx, rsi
call fcn.14003ef00
mov r8d, ebx
mov r9, r15
mov edx, 1
mov rcx, rax
mov rdi, rax
call fcn.14007e9dc
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.14001a040
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 0x1400365a5
mov rcx, rsi
call fcn.140016b40
xor ebp, ebp
test r14d, r14d
jmp 0x1400365df
mov rcx, r15
call fcn.14007e3b8
mov rdx, r15
mov ecx, eax
mov ebx, eax
call fcn.14007e724
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 0x1400363cc
mov ebx, dword [rsp + 0x80]
mov rcx, r15
call fcn.140080060
test eax, eax
je 0x140036629
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call fcn.140013ab0
jmp 0x14003663f
test ebp, ebp
jne 0x140036639
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.1400178d0
int3
mov r8d, 0x4dc
call fcn.1400178d0
int3