Function at 0x1002fe50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x1a8
mov eax, dword [0x102e5cc0]
xor eax, esp
mov dword [esp + 0x1a4], eax
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
push esi
push edi
mov eax, dword [eax]
movsd xmm1, qword [ecx + 0x18]
mov esi, dword [ecx + 0x20]
mov dword [esp + 0x2c], eax
mov eax, dword [ecx + 0x24]
mov edi, eax
mov dword [esp + 0x120], 0
movsd qword [esp + 0x50], xmm1
mov dword [esp + 0x60], esi
mov dword [esp + 0x68], eax
test edi, edi
jne 0x10030081
lea eax, [esp + 0xc0]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x48]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x13]
mov dword [esp + 0x24], eax
lea eax, [esp + 0xc0]
mov dword [esp + 0x28], eax
xor eax, eax
push edi
push eax
lea eax, [esp + 0x24]
push eax
call fcn.10032130
mov eax, dword [esp + 0x12c]
add esp, 0xc
mov dword [esp + 0x190], eax
shl eax, 3
test eax, eax
je 0x1002ff13
push eax
lea eax, [esp + 0xc4]
push eax
lea eax, [esp + 0x138]
push eax
call fcn.1010efe0
add esp, 0xc
mov esi, dword [ebp + 8]
xor edx, edx
mov dword [esp + 0x14], edx
mov eax, dword [esi + 8]
mov dword [esp + 0x34], eax
test eax, eax
jle 0x1003006d
lea eax, [esp + 0x1c]
xor ecx, ecx
mov dword [esp + 0x38], eax
lea eax, [esp + 0x48]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x13]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x74]
mov dword [esp + 0x44], eax
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x2c]
movups xmm0, xmmword [esi]
add ecx, dword [esi]
mov edi, dword [esi + 4]
movsd xmm1, qword [eax + edx*8]
mov eax, dword [esi + 0x30]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0x130]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edi
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], 0xc
movsd qword [esp + 0x50], xmm1
mov dword [esp + 0x60], eax
mov dword [esp + 0x1c], ecx
movups xmmword [esp + 0x80], xmm0
movups xmm0, xmmword [esi + 0x10]
movups xmmword [esp + 0x90], xmm0
movups xmm0, xmmword [esi + 0x20]
mov esi, edi
movups xmmword [esp + 0xa0], xmm0
test cl, 7
jne 0x1002ffda
shr ecx, 3
neg ecx
and ecx, 1
cmp ecx, edi
cmovl esi, ecx
mov eax, edi
sub eax, esi
mov eax, eax
test eax, eax
jns 0x1002ffe7
add eax, 1
sar eax, 1
lea eax, [esi + eax*2]
push esi
mov dword [esp + 0x34], eax
lea eax, [esp + 0x3c]
push 0
push eax
call fcn.10031be0
mov edx, dword [esp + 0x3c]
add esp, 0xc
cmp esi, edx
jge 0x1003003d
nop dword [eax + eax]
mov eax, dword [esp + 0x60]
movsd xmm0, qword [esp + 0x50]
mov ecx, dword [esp + 0x1c]
unpcklpd xmm0, xmm0
movups xmm1, xmmword [eax + esi*8]
movups xmm2, xmmword [ecx + esi*8]
mulpd xmm1, xmm0
subpd xmm2, xmm1
movups xmmword [ecx + esi*8], xmm2
add esi, 2
cmp esi, edx
jl 0x10030010
push edi
push edx
lea eax, [esp + 0x40]
push eax
call fcn.10031be0
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, dword [esp + 0x18]
inc edx
mov esi, dword [ebp + 8]
add ecx, 0x60
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
cmp edx, dword [esp + 0x34]
jl 0x1002ff51
mov ecx, dword [esp + 0x1ac]
pop edi
pop esi
xor ecx, esp
call fcn.1010d06f
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x14]
mov dword [esp + 0x120], edi
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0xc0]
lea eax, [esp + 0x48]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], eax
lea eax, [esp + 0x13]
mov dword [esp + 0x24], eax
mov eax, ecx
mov dword [esp + 0x28], eax
mov eax, edi
cdq
sub eax, edx
xor edx, edx
and eax, 0xfffffffe
test eax, eax
jle 0x1002fed6
movups xmm0, xmmword [esi + edx*8]
unpcklpd xmm1, xmm1
mulpd xmm0, xmm1
movups xmmword [ecx + edx*8], xmm0
add edx, 2
cmp edx, eax
jge 0x1002fed6
mov esi, dword [esp + 0x60]
movsd xmm1, qword [esp + 0x50]
mov ecx, dword [esp + 0x14]
jmp 0x100300c3