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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
sub esp, 0x68
push esi
mov esi, dword [0x1006dc88]
push edi
mov dword [ebp - 0x24], esi
mov eax, dword [esi + 0x1928]
mov byte [eax + 0x78], 1
mov eax, dword [esi + 0x1928]
mov dword [ebp - 0xc], eax
mov edi, dword [eax + 0x1c4]
mov byte [eax + 0x78], 1
mov ecx, dword [esi + 0x1928]
mov edx, dword [ecx + 0x17c]
sub edx, 1
mov dword [ecx + 0x17c], edx
jne 0x10024062
movss xmm0, dword [ecx + 0x228]
jmp 0x1002406e
mov eax, dword [ecx + 0x184]
movss xmm0, dword [eax + edx*4 - 4]
movss dword [ecx + 0x168], xmm0
mov eax, dword [esi + 0x1928]
mov byte [eax + 0x78], 1
mov esi, dword [esi + 0x1928]
mov ecx, dword [esi + 0x27c]
dec dword [ecx + 0x3c]
call fcn.1002d310
mov eax, dword [esi + 0x27c]
mov ecx, dword [eax + 0x3c]
mov eax, dword [eax + 0x44]
add ecx, ecx
movss xmm0, dword [eax + ecx*8 - 0xc]
movss xmm1, dword [eax + ecx*8 - 8]
movss xmm2, dword [eax + ecx*8 - 4]
mov eax, dword [eax + ecx*8 - 0x10]
mov dword [esi + 0x1d4], eax
movss dword [esi + 0x1d8], xmm0
movss dword [esi + 0x1dc], xmm1
movss dword [esi + 0x1e0], xmm2
mov esi, dword [ebp - 0xc]
mov ecx, dword [esi + 0x27c]
call fcn.1002d530
movss xmm4, dword [edi + 0x20]
maxss xmm4, dword [esi + 0xcc]
movss dword [edi + 0x20], xmm4
movss dword [esi + 0xcc], xmm4
test byte [edi + 4], 0x10
movss dword [ebp - 0x1c], xmm4
jne 0x10024112
mov eax, dword [edi + 0x28]
mov dword [esi + 0xe0], eax
xor al, al
test byte [edi + 4], 1
mov byte [ebp - 1], al
jne 0x100244ee
cmp byte [esi + 0x7b], al
jne 0x100244ee
movss xmm3, dword [edi + 0x24]
mov ecx, 1
movss dword [ebp - 0x18], xmm3
mov dword [ebp - 8], 0xffffffff
mov dword [ebp - 0x10], ecx
cmp dword [edi + 0x10], ecx
jle 0x100244ee
movss xmm5, dword [0x10041efc]
mov esi, dword [0x1006dc88]
mov dword [ebp - 0x14], 0x1c
mov eax, dword [esi + 0x1928]
mov dword [ebp - 0x20], ecx
mov edx, dword [eax + 0x1c4]
test ecx, ecx
jns 0x10024179
mov eax, dword [edx + 0xc]
jmp 0x1002417c
mov eax, dword [ebp - 0x20]
movss xmm2, dword [edx + 0x18]
lea ecx, [eax*8]
subss xmm2, dword [edx + 0x14]
sub ecx, eax
movss dword [ebp - 0x40], xmm3
mov eax, dword [edx + 0x34]
movss dword [ebp - 0x38], xmm4
mulss xmm2, dword [eax + ecx*4]
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x10]
addss xmm2, dword [edx + 0x14]
mov edx, dword [edi]
add edx, ecx
addss xmm2, dword [eax + 0xc]
movaps xmm1, xmm2
movss dword [ebp - 0x20], xmm2
addss xmm1, xmm5
subss xmm2, xmm5
movss dword [ebp - 0x3c], xmm1
movss dword [ebp - 0x44], xmm2
cmp dword [esi + 0x1944], edx
jne 0x100241de
mov byte [esi + 0x1950], 1
cmp dword [esi + 0x1948], edx
jne 0x100241ed
mov byte [esi + 0x1954], 1
mov eax, dword [esi + 0x1928]
comiss xmm4, dword [eax + 0x1d8]
jbe 0x1002421f
movss xmm0, dword [eax + 0x1e0]
comiss xmm0, xmm3
jbe 0x1002421f
comiss xmm1, dword [eax + 0x1d4]
jbe 0x1002421f
movss xmm0, dword [eax + 0x1dc]
comiss xmm0, xmm2
ja 0x10024238
test edx, edx
je 0x1002422b
cmp edx, dword [esi + 0x1944]
je 0x10024238
cmp byte [esi + 0x2b8c], 0
je 0x100243e9
xor cl, cl
test byte [edi + 4], 2
mov byte [ebp - 2], cl
mov byte [ebp - 3], cl
jne 0x100242a2
push 0
lea eax, [ebp - 3]
push eax
lea eax, [ebp - 2]
push eax
lea ecx, [ebp - 0x44]
call fcn.1001b380
mov cl, byte [ebp - 2]
add esp, 0xc
mov al, byte [ebp - 3]
test cl, cl
jne 0x10024269
test al, al
je 0x1002429c
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x1bd4], 4
test al, al
je 0x1002429c
mov eax, dword [edi + 0x34]
mov ecx, dword [ebp - 0x14]
mov esi, dword [0x1006dc88]
test byte [eax + ecx + 8], 2
mov eax, dword [ebp - 8]
cmove eax, dword [ebp - 0x10]
mov dword [ebp - 8], eax
mov eax, 0x1d
jmp 0x100242ac
mov esi, dword [0x1006dc88]
xor eax, eax
test cl, cl
setne al
add eax, 0x1b
movss xmm4, dword [0x10041ed0]
add eax, eax
xorps xmm1, xmm1
movups xmm2, xmmword [esi + eax*8 + 0x15a0]
comiss xmm1, xmm2
movaps xmm3, xmm2
movaps xmmword [ebp - 0x60], xmm2
shufps xmm3, xmm2, 0xff
mulss xmm3, dword [esi + 0x1508]
jbe 0x100242de
xorps xmm0, xmm0
jmp 0x100242e5
movaps xmm0, xmm4
minss xmm0, xmm2
movss xmm5, dword [0x10041f70]
movss xmm6, dword [0x10041eac]
movss xmm2, dword [ebp - 0x5c]
comiss xmm1, xmm2
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si ecx, xmm0
jbe 0x10024310
xorps xmm0, xmm0
jmp 0x10024317
movaps xmm0, xmm4
minss xmm0, xmm2
movss xmm2, dword [ebp - 0x58]
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 8
or ecx, eax
comiss xmm1, xmm2
jbe 0x10024337
xorps xmm0, xmm0
jmp 0x1002433e
movaps xmm0, xmm4
minss xmm0, xmm2
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si eax, xmm0
shl eax, 0x10
or ecx, eax
comiss xmm1, xmm3
jbe 0x10024359
xorps xmm2, xmm2
jmp 0x10024360
movaps xmm2, xmm4
minss xmm2, xmm3
cvttss2si eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0xc]
push ecx
mov dword [esp], 0x3f800000
movss xmm0, dword [ebp - 0x1c]
minss xmm0, dword [edx + 0x1e0]
mulss xmm2, xmm5
movd xmm1, eax
cvtdq2ps xmm1, xmm1
addss xmm2, xmm6
movss dword [ebp - 0x28], xmm0
movss xmm0, dword [ebp - 0x18]
addss xmm0, xmm4
movss dword [ebp - 0x2c], xmm1
movss dword [ebp - 0x34], xmm1
cvttss2si eax, xmm2
maxss xmm0, dword [edx + 0x1d8]
shl eax, 0x18
or eax, ecx
mov ecx, dword [edx + 0x27c]
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x34]
movss dword [ebp - 0x30], xmm0
push eax
call fcn.1002eda0
mov esi, dword [0x1006dc88]
movss xmm3, dword [ebp - 0x18]
movss xmm4, dword [ebp - 0x1c]
movss xmm5, dword [0x10041efc]
mov ecx, dword [ebp - 0x10]
add dword [ebp - 0x14], 0x1c
inc ecx
mov eax, dword [edi + 0x10]
mov dword [ebp - 0x10], ecx
cmp ecx, eax
jl 0x10024161
cmp dword [ebp - 8], 0xffffffff
je 0x100244e8
cmp byte [edi + 9], 0
jne 0x10024432
inc eax
test eax, eax
jle 0x10024432
xor edx, edx
xor esi, esi
mov ecx, dword [edi + 0x34]
lea edx, [edx + 0x1c]
inc esi
mov eax, dword [edx + ecx - 0x1c]
mov dword [edx + ecx - 0x18], eax
mov eax, dword [edi + 0x10]
inc eax
cmp esi, eax
jl 0x10024415
mov esi, dword [0x1006dc88]
mov ecx, dword [ebp - 8]
sub ecx, 1
mov byte [edi + 9], 1
movss xmm1, dword [esi + 0xd8]
subss xmm1, dword [esi + 0x195c]
mov eax, dword [esi + 0x1928]
mov byte [ebp - 1], 1
addss xmm1, xmm5
subss xmm1, dword [eax + 0xc]
mov eax, dword [eax + 0x1c4]
lea edx, [eax + 0xc]
jns 0x1002446c
mov ecx, dword [edx]
mov esi, dword [eax + 0x34]
movss xmm3, dword [eax + 0x14]
movss xmm0, dword [eax + 0x18]
lea eax, [ecx*8]
mov dword [ebp - 0x24], esi
subss xmm0, xmm3
mov esi, dword [0x1006dc88]
sub eax, ecx
movss xmm4, dword [esi + 0x1568]
movaps xmm2, xmm0
mov esi, dword [ebp - 0x24]
mulss xmm2, dword [esi + eax*4]
addss xmm2, xmm3
addss xmm2, xmm4
comiss xmm1, xmm2
jae 0x100244b2
movaps xmm1, xmm2
test byte [edi + 4], 4
je 0x100244e0
mov ecx, dword [ebp - 8]
add ecx, 1
jns 0x100244c2
mov ecx, dword [edx]
lea eax, [ecx*8]
sub eax, ecx
mulss xmm0, dword [esi + eax*4]
addss xmm0, xmm3
subss xmm0, xmm4
comiss xmm0, xmm1
ja 0x100244e0
movaps xmm1, xmm0
mov ecx, dword [ebp - 8]
call fcn.10023de0
mov al, byte [ebp - 1]
mov esi, dword [ebp - 0xc]
mov byte [edi + 9], al
movss xmm0, dword [esi + 0x1b8]
addss xmm0, dword [esi + 0xc]
pop edi
mov dword [esi + 0x1c4], 0
mov dword [esi + 0x1c0], 0
addss xmm0, dword [0x10041e68]
cvttss2si eax, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0xc8], xmm0
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret