Function at 0x10023dd0
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 [0x10069448]
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 0x10023e32
movss xmm0, dword [ecx + 0x228]
jmp 0x10023e3e
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.1002d0e0
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.1002d300
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 0x10023ee2
mov eax, dword [edi + 0x28]
mov dword [esi + 0xe0], eax
xor al, al
test byte [edi + 4], 1
mov byte [ebp - 1], al
jne 0x100242be
cmp byte [esi + 0x7b], al
jne 0x100242be
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 0x100242be
movss xmm5, dword [0x1003ea44]
mov esi, dword [0x10069448]
mov dword [ebp - 0x14], 0x1c
mov eax, dword [esi + 0x1928]
mov dword [ebp - 0x20], ecx
mov edx, dword [eax + 0x1c4]
test ecx, ecx
jns 0x10023f49
mov eax, dword [edx + 0xc]
jmp 0x10023f4c
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 0x10023fae
mov byte [esi + 0x1950], 1
cmp dword [esi + 0x1948], edx
jne 0x10023fbd
mov byte [esi + 0x1954], 1
mov eax, dword [esi + 0x1928]
comiss xmm4, dword [eax + 0x1d8]
jbe 0x10023fef
movss xmm0, dword [eax + 0x1e0]
comiss xmm0, xmm3
jbe 0x10023fef
comiss xmm1, dword [eax + 0x1d4]
jbe 0x10023fef
movss xmm0, dword [eax + 0x1dc]
comiss xmm0, xmm2
ja 0x10024008
test edx, edx
je 0x10023ffb
cmp edx, dword [esi + 0x1944]
je 0x10024008
cmp byte [esi + 0x2b8c], 0
je 0x100241b9
xor cl, cl
test byte [edi + 4], 2
mov byte [ebp - 2], cl
mov byte [ebp - 3], cl
jne 0x10024072
push 0
lea eax, [ebp - 3]
push eax
lea eax, [ebp - 2]
push eax
lea ecx, [ebp - 0x44]
call fcn.1001b160
mov cl, byte [ebp - 2]
add esp, 0xc
mov al, byte [ebp - 3]
test cl, cl
jne 0x10024039
test al, al
je 0x1002406c
mov edx, dword [ebp - 0x24]
mov dword [edx + 0x1bd4], 4
test al, al
je 0x1002406c
mov eax, dword [edi + 0x34]
mov ecx, dword [ebp - 0x14]
mov esi, dword [0x10069448]
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 0x1002407c
mov esi, dword [0x10069448]
xor eax, eax
test cl, cl
setne al
add eax, 0x1b
movss xmm4, dword [0x1003ea18]
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 0x100240ae
xorps xmm0, xmm0
jmp 0x100240b5
movaps xmm0, xmm4
minss xmm0, xmm2
movss xmm5, dword [0x1003eab8]
movss xmm6, dword [0x1003e9f4]
movss xmm2, dword [ebp - 0x5c]
comiss xmm1, xmm2
mulss xmm0, xmm5
addss xmm0, xmm6
cvttss2si ecx, xmm0
jbe 0x100240e0
xorps xmm0, xmm0
jmp 0x100240e7
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 0x10024107
xorps xmm0, xmm0
jmp 0x1002410e
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 0x10024129
xorps xmm2, xmm2
jmp 0x10024130
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.1002eb70
mov esi, dword [0x10069448]
movss xmm3, dword [ebp - 0x18]
movss xmm4, dword [ebp - 0x1c]
movss xmm5, dword [0x1003ea44]
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 0x10023f31
cmp dword [ebp - 8], 0xffffffff
je 0x100242b8
cmp byte [edi + 9], 0
jne 0x10024202
inc eax
test eax, eax
jle 0x10024202
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 0x100241e5
mov esi, dword [0x10069448]
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 0x1002423c
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 [0x10069448]
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 0x10024282
movaps xmm1, xmm2
test byte [edi + 4], 4
je 0x100242b0
mov ecx, dword [ebp - 8]
add ecx, 1
jns 0x10024292
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 0x100242b0
movaps xmm1, xmm0
mov ecx, dword [ebp - 8]
call fcn.10023bb0
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 [0x1003e9b0]
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