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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
push esi
mov esi, ecx
mov ebx, edx
push edi
mov dword [esp + 0x2c], ebx
movd xmm1, dword [esi + 8]
cvtdq2pd xmm1, xmm1
movaps xmm0, xmm1
mulsd xmm0, qword [0x1e7e440]
mulsd xmm0, xmm1
call fcn.01e2b6d0
movss xmm1, dword [esi + 0x80]
xorps xmm3, xmm3
movss xmm2, dword [esi + 0x84]
cvtsd2ss xmm3, xmm0
movss xmm0, dword [esi + 0x7c]
comiss xmm1, xmm0
movss dword [esp + 0x24], xmm3
jbe 0x1dc56c6
comiss xmm2, xmm1
ja 0x1dc56d2
movaps xmm1, xmm2
maxss xmm1, xmm0
jmp 0x1dc56d2
comiss xmm1, xmm2
ja 0x1dc56d2
movaps xmm1, xmm2
minss xmm1, xmm0
movss xmm0, dword [esi + 0x78]
comiss xmm0, xmm1
jbe 0x1dc56e1
movss dword [esi + 0x78], xmm1
movss xmm1, dword [esi + 0x78]
cvtps2pd xmm0, xmm1
comisd xmm0, xmmword [0x1e7e0f0]
jbe 0x1dc56fb
movss xmm1, dword [0x1e7df28]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x48]
sub eax, ecx
shl eax, 2
push eax
mulss xmm1, xmm3
lea eax, [edx + ecx*4]
push eax
push edx
movss dword [esp + 0x18], xmm1
call fcn.01e04550
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x50]
sub eax, ecx
shl eax, 2
push eax
lea eax, [edx + ecx*4]
push eax
push edx
call fcn.01e04550
mov ecx, dword [ebp + 8]
add esp, 0x18
mov edx, dword [esi + 0x1c]
mov eax, ecx
neg eax
shl edx, 2
and eax, 3
add eax, edx
add ecx, eax
lea eax, [ecx + 4]
sub eax, edx
sub eax, 4
mov dword [esp + 0x14], eax
lea eax, [ecx + 4]
add ecx, 8
neg eax
and eax, 3
add eax, edx
add eax, ecx
mov ecx, eax
sub ecx, edx
sub ecx, 4
mov dword [esp + 0x18], ecx
mov ecx, eax
neg ecx
and ecx, 3
add ecx, eax
mov dword [esp + 0x1c], ecx
xor ecx, ecx
mov dword [esp + 0x20], ecx
cmp dword [esi + 0x14], ecx
jle 0x1dc5a0a
movss xmm1, dword [0x1e7deac]
movss xmm6, dword [0x1e7df00]
movss xmm3, dword [0x1e7df40]
nop dword [eax + eax]
mov eax, dword [esi + 0x10]
mov edi, dword [esi + 0x54]
imul eax, ecx
mov ecx, dword [esi + 0x4c]
shl eax, 2
add ecx, eax
add edi, eax
cmp dword [esi + 0x94], 0
mov dword [esp + 0x10], ecx
je 0x1dc585a
mov ecx, dword [esi + 0x90]
mov eax, dword [esi + 0x8c]
mov eax, dword [eax + ecx*4]
test eax, eax
je 0x1dc57f3
movss xmm4, dword [eax + 0x30]
movss xmm5, dword [eax + 0x34]
jmp 0x1dc57f9
movaps xmm5, xmm1
movaps xmm4, xmm1
movaps xmm0, xmm4
mov edx, dword [esp + 0x14]
mulss xmm0, xmm6
movaps xmm2, xmm3
mov ecx, dword [esi + 0x68]
movaps xmm1, xmm3
push dword [esi + 0x1c]
subss xmm2, xmm0
movaps xmm0, xmm5
mulss xmm0, xmm6
subss xmm1, xmm0
movaps xmm0, xmm4
divss xmm2, xmm1
subss xmm3, xmm2
divss xmm3, xmm6
call fcn.01dd05c0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esi + 0x68]
push dword [esi + 0x1c]
movaps xmm0, xmm5
call fcn.01dd05c0
push dword [esi + 0x1c]
mov edx, dword [esp + 0x28]
movaps xmm0, xmm3
mov ecx, dword [esi + 0x68]
call fcn.01dd05c0
add esp, 0xc
mov ecx, dword [esi + 0xc]
xor eax, eax
xorps xmm1, xmm1
test ecx, ecx
jle 0x1dc5882
mov edx, dword [esi + 0x58]
nop dword [eax]
movss xmm0, dword [edx + eax*4]
inc eax
mulss xmm0, xmm0
addss xmm1, xmm0
cmp eax, ecx
jl 0x1dc5870
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvtps2pd xmm0, xmm1
call fcn.01e2cc10
xor ebx, ebx
cvtsd2ss xmm0, xmm0
cmp dword [esi + 0x10], ebx
jle 0x1dc593f
mulss xmm0, dword [0x1e7e220]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [0x1e7df40]
subss xmm0, dword [esp + 0xc]
cvtps2pd xmm0, xmm0
call fcn.01e2cc10
movss xmm1, dword [esp + 0x24]
cvtps2pd xmm1, xmm1
mulsd xmm0, xmm1
movsd qword [esp + 0x30], xmm0
nop dword [eax + eax]
call fcn.01e146d4
movd xmm0, eax
mov eax, ebx
cvtdq2ps xmm0, xmm0
sub eax, dword [esi + 0x74]
divss xmm0, dword [0x1e7e3ac]
cvtps2pd xmm1, xmm0
movss xmm0, dword [esp + 0x28]
subsd xmm1, qword [0x1e7e078]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm0
movss xmm0, dword [edi + eax*4]
mulss xmm0, dword [esp + 0xc]
cvtpd2ps xmm2, xmm1
cvtps2pd xmm1, xmm0
cvtps2pd xmm0, xmm2
mulsd xmm0, qword [esp + 0x30]
addsd xmm1, xmm0
cvtpd2ps xmm0, xmm1
movss dword [edi + ebx*4], xmm0
inc ebx
cmp ebx, dword [esi + 0x10]
jl 0x1dc58e0
mov ebx, dword [esp + 0x10]
xor edx, edx
cmp dword [esi + 0x10], edx
jle 0x1dc595f
mov ecx, ebx
sub edi, ebx
nop
mov eax, dword [edi + ecx]
lea ecx, [ecx + 4]
mov dword [ecx - 4], eax
inc edx
cmp edx, dword [esi + 0x10]
jl 0x1dc5950
cmp dword [esi + 0x94], 0
je 0x1dc59a3
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x6c]
mov edx, dword [esp + 0x18]
lea eax, [eax + ecx*4]
push eax
push ecx
push dword [esi + 0x10]
mov ecx, ebx
push ebx
push dword [esp + 0x24]
call fcn.01dd0690
push dword [esi + 0x6c]
mov edx, dword [esp + 0x34]
mov ecx, ebx
push dword [esi + 0x1c]
push dword [esi + 0x10]
push ebx
push dword [esi + 0x68]
call fcn.01dd0690
add esp, 0x28
jmp 0x1dc59dc
xor edx, edx
cmp dword [esi + 0x1c], edx
jle 0x1dc59c5
nop word [eax + eax]
mov ecx, dword [esi + 0x1c]
mov eax, dword [esi + 0x6c]
add ecx, edx
inc edx
mov dword [eax + ecx*4], 0
cmp edx, dword [esi + 0x1c]
jl 0x1dc59b0
push dword [esi + 0x6c]
mov edx, dword [esi + 0x68]
mov ecx, ebx
push dword [esi + 0x1c]
push dword [esi + 0x10]
push ebx
call fcn.01dd0850
add esp, 0x10
mov ecx, dword [esp + 0x20]
movss xmm1, dword [0x1e7deac]
inc ecx
movss xmm3, dword [0x1e7df40]
movss xmm6, dword [0x1e7df00]
mov dword [esp + 0x20], ecx
cmp ecx, dword [esi + 0x14]
jl 0x1dc57b0
mov ebx, dword [esp + 0x2c]
movss xmm0, dword [esi + 0x40]
mov ecx, 1
mulss xmm0, dword [esi + 0x3c]
mov eax, dword [esi + 0x4c]
addss xmm0, dword [eax]
movss dword [ebx], xmm0
cmp dword [esi + 0xc], ecx
jle 0x1dc5a4e
nop dword [eax]
movss xmm0, dword [ebx + ecx*4 - 4]
mulss xmm0, dword [esi + 0x3c]
mov eax, dword [esi + 0x4c]
addss xmm0, dword [eax + ecx*4]
movss dword [ebx + ecx*4], xmm0
inc ecx
cmp ecx, dword [esi + 0xc]
jl 0x1dc5a30
mov eax, dword [esi + 0xc]
movss xmm0, dword [esp + 0xc]
mov eax, dword [ebx + eax*4 - 4]
inc dword [esi + 8]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x88]
mov dword [esi + 4], 0
movss dword [esi + eax*4 + 0x7c], xmm0
inc dword [esi + 0x88]
cmp dword [esi + 0x88], 2
jle 0x1dc5a8d
mov dword [esi + 0x88], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret