Function at 0x140014cc0
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x20], rbx
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x30
mov rdi, rcx
mov rcx, qword [rdx + 0x18]
mov rsi, rdx
mov eax, dword [rcx]
cmp eax, 1
jg 0x140087ca6
mov rax, qword [rsi]
xor r15d, r15d
movabs r12, 0x8000000000000000
mov qword [rsi + 8], r15
xor r14b, r14b
mov qword [rsp + 0x70], rbp
mov byte [rax], r15b
cmp dword [rdi + 0x10], r15d
je 0x140087ccc
mov rbx, r15
mov eax, dword [rdi + 0x10]
cmp dword [rdi + 0x14], eax
je 0x140014e5e
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 0x140014d12
add qword [rdi + 0x18], rbx
test rbx, rbx
je 0x140014e9b
movzx ebp, byte [rsp + 0x60]
mov r14b, 1
cmp bpl, 0xd
je 0x140014df9
cmp bpl, 0xa
je 0x140014e45
mov rcx, qword [rsi + 0x18]
mov eax, dword [rcx]
cmp eax, 1
jg 0x140087cde
mov rax, qword [rsi + 8]
add rax, 2
cmp qword [rsi + 0x10], rax
jb 0x140014da2
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], r15b
jmp 0x140014d05
cmp rax, 0x41c2
jae 0x140087d1e
add rax, rax
mov qword [rsi + 0x10], rax
mov rcx, rax
test rax, rax
je 0x140087dd2
add rcx, 0xf
and rcx, 0xfffffffffffffff0
mov qword [rsi + 0x10], rcx
call fcn.140025a08
mov rdx, qword [rsi]
mov rbx, rax
test rdx, rdx
je 0x140014df4
mov r8, qword [rsi + 8]
mov rcx, rax
inc r8
call fcn.1400254f0
mov rcx, qword [rsi]
call fcn.140025ab0
mov qword [rsi], rbx
jmp 0x140014d83
cmp dword [rdi + 0x10], r15d
je 0x140087ddc
mov rbx, r15
mov eax, dword [rdi + 0x10]
cmp dword [rdi + 0x14], eax
je 0x140087dee
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 0x140014e06
add qword [rdi + 0x18], rbx
test rbx, rbx
je 0x140014e45
cmp byte [rsp + 0x60], 0xa
jne 0x140087e2b
mov al, 1
mov rbp, qword [rsp + 0x70]
mov rbx, qword [rsp + 0x78]
add rsp, 0x30
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov rdx, qword [rdi + 8]
mov rcx, qword [rdi]
lea r9, [rsp + 0x68]
mov r8d, 0x10000
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140014d3d
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x140014d3d
mov dword [rdi + 0x10], eax
mov dword [rdi + 0x14], r15d
jmp 0x140014d1e
test r14b, r14b
jne 0x140014e45
xor al, al
jmp 0x140014e47
dec eax
mov dword [rcx], eax
mov rcx, rdx
call fcn.14000df0c
mov ecx, reloc.WSOCK32.dll_recv
mov qword [rsi + reloc.WSOCK32.dll_recv], 0x10
call fcn.140025a08
mov qword [rsi], rax
jmp 0x140014ce6
mov rcx, rdi
mov qword [rdi + 0x10], r15
call fcn.140003500
nop
jmp 0x140014d0f
dec eax
mov dword [rcx], eax
mov rcx, rsi
call fcn.14000df0c
mov rdx, qword [rsi + 8]
add rdx, 2
call fcn.140001c80
mov rcx, rax
mov qword [rsi + 0x10], rax
call fcn.140025a08
mov r8, qword [rsi + 8]
mov rdx, qword [rsi]
inc r8
mov rcx, rax
mov rbx, rax
call fcn.1400254f0
nop
jmp 0x140014df4
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
cmp rax, 0x2000000
jae 0x140087d80
test rax, rax
jns 0x140087d3b
addsd xmm0, qword [0x1400c4bc8]
mulsd xmm0, qword [0x1400c4ba8]
jmp 0x140087d55
addsd xmm0, qword [0x1400c4bc8]
mulsd xmm0, qword [0x1400c4ba0]
xor ecx, ecx
comisd xmm0, xmmword [0x1400c4bc0]
jb 0x140087dc5
subsd xmm0, qword [0x1400c4bc0]
comisd xmm0, xmmword [0x1400c4bc0]
jb 0x140087dc2
cvttsd2si rax, xmm0
add rax, rcx
jmp 0x140014db1
cmp rax, 0x8000000
jae 0x140087d8f
test rax, rax
jns 0x140087d4d
jmp 0x140087d45
test rax, rax
jns 0x140087d9c
addsd xmm0, qword [0x1400c4bc8]
mulsd xmm0, qword [0x1400c4b98]
xor ecx, ecx
comisd xmm0, xmmword [0x1400c4bc0]
jb 0x140087dc5
subsd xmm0, qword [0x1400c4bc0]
comisd xmm0, xmmword [0x1400c4bc0]
jae 0x140087dc5
add rcx, r12
cvttsd2si rax, xmm0
add rax, rcx
jmp 0x140014db1
mov ecx, reloc.WSOCK32.dll_recv
jmp 0x140014dc9
mov rcx, rdi
mov qword [rdi + 0x10], r15
call fcn.140003500
nop
jmp 0x140014e03
mov rdx, qword [rdi + 8]
mov rcx, qword [rdi]
lea r9, [rsp + 0x68]
mov r8d, 0x10000
mov qword [rsp + 0x20], r15
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x140014e31
mov eax, dword [rsp + 0x68]
test eax, eax
je 0x140014e31
mov dword [rdi + 0x10], eax
mov dword [rdi + 0x14], r15d
jmp 0x140014e12
mov r8d, 1
or rdx, 0xffffffffffffffff
mov rcx, rdi
call fcn.140003670
nop
jmp 0x140014e45