Function at 0x140017080
Capabilities:
Read file on windows

Disassembly:
push rbx
push rsi
push rdi
push r14
push r15
sub rsp, 0x30
mov rdi, rcx
mov rcx, rdx
mov rsi, rdx
call fcn.140017214
xor r14b, r14b
movabs r15, 0x8000000000000000
mov qword [rsp + 0x68], rbp
nop dword [rax]
cmp dword [rdi + 0x10], 0
je 0x140088074
xor ebx, ebx
mov eax, dword [rdi + 0x10]
cmp dword [rdi + 0x14], eax
je 0x1400171cb
movsxd rdx, dword [rdi + 0x14]
mov rax, qword [rdi + 8]
inc rbx
movzx ecx, byte [rdx + rax]
lea eax, [rdx + 1]
mov byte [rsp + rbx + 0x5f], cl
mov dword [rdi + 0x14], eax
cmp rbx, 1
jb 0x1400170bc
add qword [rdi + 0x18], rbx
test rbx, rbx
je 0x140017205
movzx ebp, byte [rsp + 0x60]
mov r14b, 1
cmp bpl, 0xd
je 0x140017144
cmp bpl, 0xa
je 0x140017167
mov rcx, qword [rsi + 0x18]
mov eax, dword [rcx]
cmp eax, 1
jg 0x140088099
mov rax, qword [rsi + 8]
add rax, 2
cmp qword [rsi + 0x10], rax
jb 0x14001717a
mov rcx, qword [rsi + 8]
mov rax, qword [rsi]
mov byte [rcx + rax], bpl
inc qword [rsi + 8]
mov rcx, qword [rsi + 8]
mov rax, qword [rsi]
mov byte [rcx + rax], 0
jmp 0x1400170b0
lea rdx, [rsp + 0x60]
mov r8d, 1
mov rcx, rdi
call fcn.1400174f0
test rax, rax
je 0x140017167
cmp byte [rsp + 0x60], 0xa
jne 0x14008818d
mov al, 1
mov rbp, qword [rsp + 0x68]
add rsp, 0x30
pop r15
pop r14
pop rdi
pop rsi
pop rbx
ret
cmp rax, 0x41c2
jae 0x1400880d9
add rax, rax
mov rdx, rax
mov qword [rsi + 0x10], rax
call fcn.140017680
mov rcx, rax
mov qword [rsi + 0x10], rax
call fcn.140025b48
mov rdx, qword [rsi]
mov rbx, rax
test rdx, rdx
je 0x1400171c3
mov r8, qword [rsi + 8]
mov rcx, rax
inc r8
call fcn.140025630
mov rcx, qword [rsi]
call fcn.140025bf0
mov qword [rsi], rbx
jmp 0x140017125
mov rdx, qword [rdi + 8]
mov rcx, qword [rdi]
lea r9, [rsp + 0x70]
mov r8d, 0x10000
mov qword [rsp + 0x20], 0
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400170e7
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x1400170e7
jmp 0x14008808a
test r14b, r14b
jne 0x140017167
jmp 0x1400881a5
mov rcx, rdi
mov qword [rdi + 0x10], 0
call fcn.140007d58
nop
jmp 0x1400170ba
mov dword [rdi + 0x10], eax
mov dword [rdi + 0x14], 0
jmp 0x1400170c8
dec eax
mov dword [rcx], eax
mov rcx, rsi
call fcn.14000d674
mov rdx, qword [rsi + 8]
add rdx, 2
call fcn.140017680
mov rcx, rax
mov qword [rsi + 0x10], rax
call fcn.140025b48
mov r8, qword [rsi + 8]
mov rdx, qword [rsi]
inc r8
mov rcx, rax
mov rbx, rax
call fcn.140025630
nop
jmp 0x1400171c3
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
cmp rax, 0x2000000
jae 0x14008813b
test rax, rax
jns 0x1400880f6
addsd xmm0, qword [0x1400c5bc8]
mulsd xmm0, qword [0x1400c5ba8]
jmp 0x140088110
addsd xmm0, qword [0x1400c5bc8]
mulsd xmm0, qword [0x1400c5ba0]
xor ecx, ecx
comisd xmm0, xmmword [0x1400c5bc0]
jb 0x140088180
subsd xmm0, qword [0x1400c5bc0]
comisd xmm0, xmmword [0x1400c5bc0]
jb 0x14008817d
cvttsd2si rax, xmm0
add rax, rcx
jmp 0x140017189
cmp rax, 0x8000000
jae 0x14008814a
test rax, rax
jns 0x140088108
jmp 0x140088100
test rax, rax
jns 0x140088157
addsd xmm0, qword [0x1400c5bc8]
mulsd xmm0, qword [0x1400c5b98]
xor ecx, ecx
comisd xmm0, xmmword [0x1400c5bc0]
jb 0x140088180
subsd xmm0, qword [0x1400c5bc0]
comisd xmm0, xmmword [0x1400c5bc0]
jae 0x140088180
add rcx, r15
cvttsd2si rax, xmm0
add rax, rcx
jmp 0x140017189
mov r8d, 1
or rdx, 0xffffffffffffffff
mov rcx, rdi
call fcn.140007ec8
nop
jmp 0x140017167
xor al, al
jmp 0x140017169