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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xa4
mov eax, dword [0x1032e6c0]
xor eax, esp
mov dword [esp + 0xa0], eax
mov edx, dword [ebp + 8]
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [edx + 0xc]
push esi
mov esi, dword [edx + 8]
movsd xmm0, qword [0x102a2928]
mov dword [esp + 0x38], ecx
mov ecx, dword [edx]
push edi
mov edi, dword [edx + 4]
mov dword [esp + 0x24], edx
cdq
mov dword [esp + 0x10], ecx
and edx, 3
mov ecx, dword [esp + 0x24]
add eax, edx
movd xmm1, esi
cvtdq2pd xmm1, xmm1
sar eax, 2
mov ecx, dword [ecx + 0x10]
mov dword [esp + 0x18], eax
imul ecx, eax
addsd xmm1, qword [0x102a2d50]
movsd qword [esp + 0x40], xmm0
xorps xmm0, xmm0
movsd qword [esp + 0x48], xmm0
movsd qword [esp + 0x28], xmm1
movd xmm1, ebx
lea eax, [edi + ecx*4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
cvtdq2pd xmm1, xmm1
push dword [eax + 0x34]
addsd xmm1, qword [0x102a2d50]
push eax
lea eax, [esp + 0x60]
push eax
movsd qword [esp + 0x3c], xmm1
call fcn.101e2940
mov edx, dword [esp + 0x1c]
add esp, 0xc
movsd xmm4, qword [0x102a4380]
mov eax, dword [edx + 0x30]
test eax, eax
je 0x101fd51f
lea ecx, [esp + 0x98]
shl esi, 0x10
shl ebx, 0x10
add esi, 0x8000
push ecx
add ebx, 0x8000
mov dword [esp + 0x9c], esi
push eax
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa8], 0x10000
call fcn.101d25b0
add esp, 8
test eax, eax
jne 0x101fd316
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 4]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa0]
xor ecx, esp
call fcn.1026465b
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x10]
movsd xmm4, qword [0x102a4380]
mov ecx, dword [esp + 0xa0]
movd xmm1, dword [esp + 0x98]
mov eax, dword [edx + 0x30]
movd xmm2, dword [esp + 0x9c]
movd xmm3, ecx
cvtdq2pd xmm1, xmm1
movd xmm0, dword [eax]
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm2, xmm2
mulsd xmm0, xmm4
cvtdq2pd xmm3, xmm3
movsd qword [esp + 0x40], xmm0
movd xmm0, dword [eax + 0xc]
mov eax, dword [eax + 0x18]
mulsd xmm1, xmm4
mulsd xmm2, xmm4
mulsd xmm3, xmm4
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x30], xmm2
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x98], xmm3
mulsd xmm0, xmm4
movsd qword [esp + 0x48], xmm0
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm4
movsd qword [esp + 0x50], xmm0
test eax, eax
jne 0x101fd3b9
cmp ecx, 0x10000
je 0x101fd52b
cmp edi, dword [esp + 0x14]
jae 0x101fd671
mov eax, dword [esp + 0x18]
mov esi, dword [ebp + 0xc]
movsd xmm5, qword [esp + 0x40]
movsd xmm6, qword [esp + 0x48]
lea ebx, [eax*4]
nop dword [eax]
test esi, esi
je 0x101fd3f1
mov eax, dword [esi]
add esi, 4
test eax, eax
je 0x101fd4ed
xorps xmm0, xmm0
ucomisd xmm3, xmm0
lahf
test ah, 0x44
jnp 0x101fd408
divsd xmm1, xmm3
divsd xmm2, xmm3
jmp 0x101fd40e
xorps xmm2, xmm2
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [edx + 0x74]
mulsd xmm0, xmm4
subsd xmm2, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [edx + 0x70]
movsd qword [esp + 0x18], xmm2
fld qword [esp + 0x18]
mulsd xmm0, xmm4
subsd xmm1, xmm0
movsd qword [esp + 0x18], xmm1
fld qword [esp + 0x18]
call fcn.1027aa10
mov eax, dword [esp + 0x10]
xorps xmm2, xmm2
movsd xmm0, qword [0x102a2938]
fstp qword [esp + 0x18]
movsd xmm1, qword [esp + 0x18]
addsd xmm1, qword [eax + 0x78]
comisd xmm2, xmm1
jbe 0x101fd47a
nop dword [eax + eax]
addsd xmm1, xmm0
comisd xmm2, xmm1
ja 0x101fd470
comisd xmm1, xmm0
jb 0x101fd48a
subsd xmm1, xmm0
comisd xmm1, xmm0
jae 0x101fd480
mulsd xmm1, qword [0x102e2c00]
push edi
movsd xmm0, qword [0x102a2928]
subsd xmm0, xmm1
mulsd xmm0, qword [0x102a5568]
cvttsd2si eax, xmm0
cdq
push edx
push eax
lea eax, [esp + 0x64]
push eax
call dword [esp + 0x4c]
movsd xmm1, qword [esp + 0x38]
add esp, 0x10
movsd xmm2, qword [esp + 0x30]
movsd xmm3, qword [esp + 0x98]
movsd xmm4, qword [0x102a4380]
movsd xmm0, qword [esp + 0x50]
movsd xmm5, qword [esp + 0x40]
movsd xmm6, qword [esp + 0x48]
mov edx, dword [esp + 0x10]
addsd xmm1, xmm5
add edi, ebx
addsd xmm2, xmm6
addsd xmm3, xmm0
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x98], xmm3
cmp edi, dword [esp + 0x14]
jb 0x101fd3e0
jmp 0x101fd671
movsd xmm1, qword [esp + 0x28]
movsd xmm2, qword [esp + 0x30]
movd xmm0, dword [edx + 0x70]
cvtdq2pd xmm0, xmm0
mulsd xmm0, xmm4
subsd xmm1, xmm0
movd xmm0, dword [edx + 0x74]
cvtdq2pd xmm0, xmm0
movsd qword [esp + 0x28], xmm1
mulsd xmm0, xmm4
movsd qword [esp + 0x98], xmm1
subsd xmm2, xmm0
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x50], xmm2
cmp edi, dword [esp + 0x14]
jae 0x101fd671
mov eax, dword [esp + 0x18]
mov esi, dword [ebp + 0xc]
movsd xmm0, qword [esp + 0x40]
movsd xmm3, qword [esp + 0x48]
lea ebx, [eax*4]
nop dword [eax]
test esi, esi
je 0x101fd5a1
mov eax, dword [esi]
add esi, 4
test eax, eax
je 0x101fd642
fld qword [esp + 0x50]
fld qword [esp + 0x98]
call fcn.1027aa10
mov eax, dword [esp + 0x10]
xorps xmm2, xmm2
movsd xmm0, qword [0x102a2938]
fstp qword [esp + 0x98]
movsd xmm1, qword [esp + 0x98]
addsd xmm1, qword [eax + 0x78]
comisd xmm2, xmm1
jbe 0x101fd5ea
nop dword [eax + eax]
addsd xmm1, xmm0
comisd xmm2, xmm1
ja 0x101fd5e0
comisd xmm1, xmm0
jb 0x101fd5fa
subsd xmm1, xmm0
comisd xmm1, xmm0
jae 0x101fd5f0
mulsd xmm1, qword [0x102e2c00]
push edi
movsd xmm0, qword [0x102a2928]
subsd xmm0, xmm1
mulsd xmm0, qword [0x102a5568]
cvttsd2si eax, xmm0
cdq
push edx
push eax
lea eax, [esp + 0x64]
push eax
call dword [esp + 0x4c]
movsd xmm1, qword [esp + 0x38]
add esp, 0x10
movsd xmm2, qword [esp + 0x30]
movsd xmm0, qword [esp + 0x40]
movsd xmm3, qword [esp + 0x48]
addsd xmm1, xmm0
add edi, ebx
addsd xmm2, xmm3
movsd qword [esp + 0x28], xmm1
movsd qword [esp + 0x98], xmm1
movsd qword [esp + 0x30], xmm2
movsd qword [esp + 0x50], xmm2
cmp edi, dword [esp + 0x14]
jb 0x101fd590
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0xac]
pop edi
pop esi
inc dword [eax + 0xc]
mov eax, dword [eax + 4]
pop ebx
xor ecx, esp
call fcn.1026465b
mov esp, ebp
pop ebp
ret