Function at 0x18030a120
Capabilities:
Read file on windows

Disassembly:
push rbp
push r14
push r15
sub rsp, 0x20
mov eax, dword [rcx + 0x40]
mov rbp, r8
mov r14, rdx
mov r15, rcx
cmp eax, 4
jne 0x18030a158
movsxd rdx, dword [rcx + 0x48]
mov r9, qword [rcx + 0x28]
mov rcx, r14
shl rdx, 2
add rsp, 0x20
pop r15
pop r14
pop rbp
jmp fcn.180132284
cmp eax, 2
jne 0x18030a3ba
mov qword [rsp + 0x40], rbx
mov eax, 2
mov qword [rsp + 0x48], rsi
mov qword [rsp + 0x50], rdi
mov edi, ebp
imul edi, dword [rcx + 0x48]
mov rcx, 0xffffffffffffffff
movsxd rsi, edi
mul rsi
cmovb rax, rcx
mov rcx, rax
call fcn.18011de94
lea r8, [rsi + rsi]
xor edx, edx
mov rcx, rax
mov rbx, rax
call fcn.18037f450
mov rax, qword [r15]
mov r8, rbp
mov rdx, rbx
mov rcx, r15
call qword [rax + 0x28]
xor edx, edx
mov r8d, edx
test edi, edi
jle 0x18030a2a5
cmp edi, 8
jb 0x18030a2a5
lea eax, [rdi - 1]
movsxd rcx, eax
lea rax, [rbx + rcx*2]
lea r9, [r14 + rcx*4]
cmp r14, rax
ja 0x18030a1e6
cmp r9, rbx
jae 0x18030a2a5
mov eax, edi
and eax, 0x80000007
jge 0x18030a1f6
dec eax
or eax, 0xfffffff8
inc eax
movdqa xmm2, xmmword [0x1805ca9e0]
lea rcx, [rbx + 8]
sub edi, eax
lea rax, [r14 + 0x10]
movsxd r9, edi
nop dword [rax + rax]
movd xmm0, dword [rcx - 8]
lea rax, [rax + 0x20]
movd xmm1, dword [rcx - 4]
lea rcx, [rcx + 0x10]
punpcklwd xmm0, xmm0
add r8d, 8
psrad xmm0, 0x10
add rdx, 8
punpcklwd xmm1, xmm1
psrad xmm1, 0x10
cvtdq2pd xmm0, xmm0
mulpd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movsd qword [rax - 0x30], xmm0
cvtdq2pd xmm0, xmm1
movd xmm1, dword [rcx - 0x10]
punpcklwd xmm1, xmm1
psrad xmm1, 0x10
mulpd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movsd qword [rax - 0x28], xmm0
cvtdq2pd xmm0, xmm1
movd xmm1, dword [rcx - 0xc]
punpcklwd xmm1, xmm1
psrad xmm1, 0x10
mulpd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movsd qword [rax - 0x20], xmm0
cvtdq2pd xmm0, xmm1
mulpd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movsd qword [rax - 0x18], xmm0
cmp rdx, r9
jl 0x18030a210
mov rdi, qword [rsp + 0x50]
movsxd r8, r8d
cmp r8, rsi
jge 0x18030a3a3
movsd xmm2, qword [0x1805c9d10]
mov rax, rsi
sub rax, r8
cmp rax, 4
jl 0x18030a380
mov r9, rsi
lea rcx, [r14 + 8]
sub r9, r8
lea rdx, [rbx + 4]
sub r9, 4
lea rcx, [rcx + r8*4]
shr r9, 2
lea rdx, [rdx + r8*2]
inc r9
lea r8, [r8 + r9*4]
nop dword [rax]
nop word [rax + rax]
movsx eax, word [rdx - 4]
lea rcx, [rcx + 0x10]
lea rdx, [rdx + 8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [rcx - 0x18], xmm0
movsx eax, word [rdx - 0xa]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
cvtpd2ps xmm0, xmm1
movss dword [rcx - 0x14], xmm0
movsx eax, word [rdx - 8]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
cvtpd2ps xmm0, xmm1
movss dword [rcx - 0x10], xmm0
movsx eax, word [rdx - 6]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm2
cvtpd2ps xmm0, xmm1
movss dword [rcx - 0xc], xmm0
sub r9, 1
jne 0x18030a300
cmp r8, rsi
jge 0x18030a3a3
nop word [rax + rax]
movsx eax, word [rbx + r8*2]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm2
cvtpd2ps xmm0, xmm0
movss dword [r14 + r8*4], xmm0
inc r8
cmp r8, rsi
jl 0x18030a380
mov edx, 2
mov rcx, rbx
call fcn.18011d9c0
mov rsi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
xor eax, eax
add rsp, 0x20
pop r15
pop r14
pop rbp
ret