Function at 0x10024be0
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 [0x100b7fac]
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 0x10024c42
movss xmm0, dword [ecx + 0x228]
jmp 0x10024c4e
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.10031910
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.10031ad0
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 0x10024cf2
mov eax, dword [edi + 0x28]
mov dword [esi + 0xe0], eax
xor al, al
test byte [edi + 4], 1
mov byte [ebp - 1], al
jne 0x100250cd
cmp byte [esi + 0x7b], al
jne 0x100250cd
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 0x100250cd
movss xmm5, dword [0x1003fba0]
mov esi, dword [0x100b7fac]
mov dword [ebp - 0x14], 0x1c
mov eax, dword [esi + 0x1928]
mov dword [ebp - 0x20], ecx
mov edx, dword [eax + 0x1c4]
test ecx, ecx
jns 0x10024d59
mov eax, dword [edx + 0xc]
jmp 0x10024d5c
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 0x10024dbe
mov byte [esi + 0x1950], 1
cmp dword [esi + 0x1948], edx
jne 0x10024dcd
mov byte [esi + 0x1954], 1
mov eax, dword [esi + 0x1928]
comiss xmm4, dword [eax + 0x1d8]
jbe 0x10024dff
movss xmm0, dword [eax + 0x1e0]
comiss xmm0, xmm3
jbe 0x10024dff
comiss xmm1, dword [eax + 0x1d4]
jbe 0x10024dff
movss xmm0, dword [eax + 0x1dc]
comiss xmm0, xmm2
ja 0x10024e18
test edx, edx
je 0x10024e0b
cmp edx, dword [esi + 0x1944]
je 0x10024e18
cmp byte [esi + 0x2b8c], 0
je 0x10024fc9
xor cl, cl
test byte [edi + 4], 2
mov byte [ebp - 2], cl
mov byte [ebp - 3], cl
jne 0x10024e82
push 0
lea eax, [ebp - 3]
push eax
lea eax, [ebp - 2]
push eax
lea ecx, [ebp - 0x44]
call fcn.1001a860
mov cl, byte [ebp - 2]
add esp, 0xc
mov al, byte [ebp - 3]
test cl, cl
jne 0x10024e49
test al, al
je 0x10024e7c
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x1bd4], 4
test al, al
je 0x10024e7c
mov eax, dword [edi + 0x34]
mov ecx, dword [ebp - 0x14]
mov esi, dword [0x100b7fac]
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 0x10024e8c
mov esi, dword [0x100b7fac]
xor eax, eax
test cl, cl
setne al
add eax, 0x1b
movss xmm4, dword [0x1003fb34]
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 0x10024ebe
xorps xmm0, xmm0
jmp 0x10024ec5
movaps xmm0, xmm4
minss xmm0, xmm2
movss xmm5, dword [0x1003fc10]
movss xmm6, dword [0x1003fb14]
movss xmm2, dword [ebp - 0x5c]
comiss xmm1, xmm2
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si ecx, xmm0
jbe 0x10024ef0
xorps xmm0, xmm0
jmp 0x10024ef7
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 0x10024f17
xorps xmm0, xmm0
jmp 0x10024f1e
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 0x10024f39
xorps xmm2, xmm2
jmp 0x10024f40
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.10033280
mov esi, dword [0x100b7fac]
movss xmm3, dword [ebp - 0x18]
movss xmm4, dword [ebp - 0x1c]
movss xmm5, dword [0x1003fba0]
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 0x10024d41
mov ecx, dword [ebp - 8]
cmp ecx, 0xffffffff
je 0x100250c7
cmp byte [edi + 9], 0
jne 0x10025017
inc eax
test eax, eax
jle 0x10025017
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 0x10024ff7
mov esi, dword [0x100b7fac]
mov ecx, dword [ebp - 8]
mov byte [edi + 9], 1
lea edx, [ecx - 1]
movss xmm2, dword [esi + 0xd8]
mov eax, dword [esi + 0x1928]
mov byte [ebp - 1], 1
subss xmm2, dword [esi + 0x195c]
addss xmm2, xmm5
subss xmm2, dword [eax + 0xc]
mov eax, dword [eax + 0x1c4]
lea ecx, [eax + 0xc]
test edx, edx
jns 0x10025050
mov edx, dword [ecx]
mov esi, dword [eax + 0x34]
movss xmm3, dword [eax + 0x14]
movss xmm0, dword [eax + 0x18]
lea eax, [edx*8]
mov dword [ebp - 0x24], esi
subss xmm0, xmm3
mov esi, dword [0x100b7fac]
sub eax, edx
test byte [edi + 4], 4
movss xmm4, dword [esi + 0x1568]
movaps xmm1, xmm0
mov esi, dword [ebp - 0x24]
mulss xmm1, dword [esi + eax*4]
addss xmm1, xmm3
addss xmm1, xmm4
maxss xmm1, xmm2
je 0x100250bf
mov edx, dword [ebp - 8]
add edx, 1
jns 0x100250a2
mov edx, dword [ecx]
lea eax, [edx*8]
sub eax, edx
mulss xmm0, dword [esi + eax*4]
addss xmm0, xmm3
subss xmm0, xmm4
minss xmm0, xmm1
movaps xmm1, xmm0
mov ecx, dword [ebp - 8]
call fcn.100249c0
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 [0x1003fac4]
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