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

Disassembly:
sub esp, 0x80
mov eax, dword [0x10444724]
xor eax, esp
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x88]
push esi
mov esi, ecx
mov dword [esp + 4], eax
mov dword [esp + 0xc], 0
mov edx, dword [eax + 4]
sub edx, dword [eax]
movzx eax, byte [esi + 5]
sar edx, 6
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
mov dword [esp + 8], 0x1002c210
sub eax, 1
je 0x1002c35e
sub eax, 1
je 0x1002c352
sub eax, 1
jne 0x1002c389
mov eax, dword [esp + 0x88]
add eax, 0x18
jmp 0x1002c365
mov eax, dword [esp + 0x88]
add eax, 0xc
jmp 0x1002c365
mov eax, dword [esp + 0x88]
mov dword [esp + 0x10], eax
test eax, eax
je 0x1002c389
mov dword [esp + 0xc], 0x1002c210
mov dword [esp + 8], 0x1002c2a0
mov edx, dword [eax + 4]
sub edx, dword [eax]
sar edx, 4
mov dword [esp + 0x14], edx
test edx, edx
je 0x1002c70f
movss xmm2, dword [esi + 0x14]
movss xmm3, dword [0x10386cd4]
divss xmm2, xmm3
mov dword [esp + 0x30], 0x3f800000
mov dword [esp + 0x38], 0xbf800000
movss xmm1, dword [0x103870c4]
comiss xmm1, xmm2
movss xmm0, dword [0x10386834]
movss dword [esp + 0x28], xmm1
movss dword [esp + 0x20], xmm2
jbe 0x1002c3dd
mov dword [esp + 0x20], 0xbf800000
jmp 0x1002c3fd
comiss xmm0, xmm2
lea eax, [esp + 0x20]
lea ecx, [esp + 0x30]
cmovbe eax, ecx
movss xmm0, dword [eax]
movss dword [esp + 0x20], xmm0
movss xmm0, dword [0x10386834]
movss xmm2, dword [esi + 0x18]
divss xmm2, xmm3
mov dword [esp + 0x38], 0x3f800000
mov dword [esp + 0x34], 0xbf800000
comiss xmm1, xmm2
movss dword [esp + 0x30], xmm2
jbe 0x1002c426
movaps xmm2, xmm1
jmp 0x1002c438
comiss xmm0, xmm2
lea eax, [esp + 0x30]
lea ecx, [esp + 0x38]
cmovbe eax, ecx
movss xmm2, dword [eax]
movss dword [esp + 0x38], xmm2
movss xmm2, dword [esi + 0x1c]
divss xmm2, xmm3
mov dword [esp + 0x34], 0x3f800000
mov dword [esp + 0x1c], 0xbf800000
comiss xmm1, xmm2
movss dword [esp + 0x30], xmm2
ja 0x1002c47a
comiss xmm0, xmm2
lea eax, [esp + 0x30]
lea ecx, [esp + 0x34]
cmovbe eax, ecx
movss xmm0, dword [eax]
movss dword [esp + 0x28], xmm0
cmp byte [esi + 4], 0
mov ecx, 0x1002c1b0
movss xmm0, dword [esi + 0x10]
mov eax, 0x1002c180
push edx
cmove eax, ecx
sub esp, 0xc
lea ecx, [esp + 0x3c]
movss dword [esp + 8], xmm0
movss xmm0, dword [esi + 0xc]
movss dword [esp + 4], xmm0
movss xmm0, dword [esi + 8]
movss dword [esp], xmm0
push ecx
call eax
add esp, 0x14
movss xmm1, dword [eax + 4]
movss dword [esp + 0x1c], xmm1
movss xmm2, dword [eax]
comiss xmm1, xmm2
movss dword [esp + 0x34], xmm1
jbe 0x1002c4e2
movaps xmm0, xmm1
movss dword [esp + 0x34], xmm2
movaps xmm1, xmm2
movaps xmm2, xmm0
movzx eax, byte [esi + 7]
subss xmm2, xmm1
movss xmm0, dword [0x10387f38]
lea ecx, [esp + 0x3c]
push edi
lea edi, [eax*8]
sub edi, eax
maxss xmm0, xmm2
push dword [edi*4 + 0x10387e0c]
movss dword [esp + 0x38], xmm0
push dword [edi*4 + 0x10387e08]
push dword [edi*4 + 0x10387e04]
push dword [edi*4 + 0x10387e00]
call fcn.1007dbc0
movss xmm3, dword [esp + 0x2c]
xorps xmm2, xmm2
comiss xmm2, xmm3
movss xmm5, dword [0x10386880]
jbe 0x1002c549
xorps xmm3, xmm5
xorps xmm4, xmm4
jmp 0x1002c54f
movaps xmm4, xmm3
xorps xmm3, xmm3
movss xmm0, dword [0x10386834]
movaps xmm1, xmm0
subss xmm0, xmm3
subss xmm1, xmm4
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x3c]
comiss xmm2, xmm0
movss dword [esp + 0x28], xmm1
jbe 0x1002c58c
xorps xmm0, xmm5
mov dword [esp + 0x1c], 0
movss dword [esp + 0x20], xmm0
jmp 0x1002c598
movss dword [esp + 0x1c], xmm0
movss dword [esp + 0x20], xmm2
push dword [esp + 0x2c]
lea ecx, [esp + 0x60]
push dword [esp + 0x2c]
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.1007dbc0
cmp byte [esi + 7], 0
movss xmm6, dword [edi*4 + 0x10387e10]
movss xmm1, dword [edi*4 + 0x10387e14]
movss xmm4, dword [edi*4 + 0x10387e18]
movss xmm3, dword [0x10386830]
movss dword [esp + 0x78], xmm6
movss dword [esp + 0x7c], xmm1
movss dword [esp + 0x80], xmm4
pop edi
jne 0x1002c660
movss xmm5, dword [esi + 0x20]
xorps xmm2, xmm2
divss xmm5, dword [0x10386cd4]
mov dword [esp + 0x28], 0x3f800000
mov dword [esp + 0x1c], 0
comiss xmm2, xmm5
movss dword [esp + 0x38], xmm5
ja 0x1002c635
movss xmm0, dword [0x10386834]
lea eax, [esp + 0x38]
comiss xmm0, xmm5
lea ecx, [esp + 0x28]
cmovbe eax, ecx
movss xmm2, dword [eax]
movss xmm7, dword [esp + 0x30]
movaps xmm0, xmm2
addss xmm7, xmm2
movss xmm5, dword [esp + 0x34]
mulss xmm0, xmm3
divss xmm2, xmm7
subss xmm5, xmm0
addss xmm4, xmm2
movss dword [esp + 0x7c], xmm4
jmp 0x1002c66c
movss xmm5, dword [esp + 0x34]
movss xmm7, dword [esp + 0x30]
movss xmm0, dword [0x10386834]
subss xmm3, xmm5
divss xmm0, xmm7
xor esi, esi
divss xmm3, xmm7
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x30], xmm3
cmp dword [esp + 0x14], esi
jbe 0x1002c70f
movaps xmm0, xmm3
subss xmm1, xmm3
subss xmm0, xmm6
push ecx
lea ecx, [esp + 0x40]
minss xmm1, xmm0
divss xmm1, xmm4
movss dword [esp], xmm1
call fcn.1007dcd0
push ecx
fstp dword [esp]
lea ecx, [esp + 0x5c]
call fcn.1007dcd0
fmul dword [esp + 0x20]
push 1
push esi
push ecx
lea ecx, [esp + 0x10]
fstp dword [esp + 0x44]
movss xmm0, dword [esp + 0x44]
movss dword [esp], xmm0
call dword [esp + 0x14]
movss xmm3, dword [esp + 0x30]
inc esi
addss xmm3, dword [esp + 0x28]
movss dword [esp + 0x30], xmm3
cmp esi, dword [esp + 0x14]
jae 0x1002c70f
movss xmm4, dword [esp + 0x7c]
movss xmm1, dword [esp + 0x78]
movss xmm6, dword [esp + 0x74]
jmp 0x1002c694
mov ecx, dword [esp + 0x80]
pop esi
xor ecx, esp
call fcn.1037e005
add esp, 0x80
ret 8