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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x7c
mov eax, dword [0x55f9d4]
xor eax, esp
mov dword [esp + 0x78], eax
mov ebp, dword [0x5609a0]
mov eax, dword [ebp + 0x18f8]
mov byte [eax + 0x84], 1
mov esi, dword [ebp + 0x18f8]
cmp byte [esi + 0x87], 0
jne 0x410fae
mov ebx, dword [esp + 0x94]
mov edi, dword [esp + 0x90]
test ebx, ebx
jne 0x410a11
mov dword [esp], edi
call fcn.0049fb00
mov ebx, eax
add ebx, edi
movss xmm1, dword [esi + 0xd4]
movss xmm0, dword [esi + 0xd0]
mov eax, ebx
mov dword [esp + 0x30], ebx
sub eax, edi
cmp eax, 0x7d1
movss dword [esp + 0x1c], xmm0
addss xmm1, dword [esi + 0xf4]
movss xmm0, dword [esi + 0x174]
jl 0x410a8b
xorps xmm4, xmm4
ucomiss xmm0, xmm4
jae 0x410a8b
movss xmm0, dword [esi + 0x1e8]
xorps xmm3, xmm3
ucomiss xmm0, xmm1
jb 0x410f56
movss xmm2, dword [ebp + 0x1828]
movss xmm5, dword [esi + 0x1e0]
cmp byte [ebp + 0x297c], 0
movd eax, xmm1
je 0x410cc2
movaps xmm3, xmm1
jmp 0x410d4c
movss dword [esp + 0x14], xmm1
xorps xmm1, xmm1
ucomiss xmm0, xmm1
jb 0x410ab7
add esi, 0xd0
movss dword [esp + 4], xmm0
mov dword [esp], esi
call fcn.00408d11
fstp dword [esp + 0x3c]
movss xmm1, dword [esp + 0x3c]
xor eax, eax
mov dword [esp + 8], ebx
lea ebx, [esp + 0x60]
movss dword [esp + 0x18], xmm1
movss dword [esp + 0x10], xmm1
mov dword [esp + 4], edi
mov dword [esp + 0xc], eax
mov dword [esp], ebx
call fcn.00415df6
movss xmm0, dword [ebx + 4]
movss xmm3, dword [esp + 0x14]
movss xmm1, dword [ebx]
movss xmm2, dword [esp + 0x1c]
lea esi, [esp + 0x68]
xor eax, eax
mov dword [esp], ebx
mov dword [esp + 4], eax
addss xmm0, xmm3
addss xmm1, xmm2
movss dword [esi], xmm2
movss dword [esi + 4], xmm3
movss dword [esi + 8], xmm1
movss dword [esi + 0xc], xmm0
call fcn.00403612
xor eax, eax
mov dword [esp], esi
mov dword [esp + 8], eax
mov dword [esp + 4], eax
call fcn.004103dc
test al, al
je 0x410fae
cmp byte [esp + 0x98], 0
mov ebx, dword [esp + 0x30]
je 0x410c8d
mov eax, dword [ebp + 0x14ec]
xor ecx, ecx
lea edx, [esp + 0x50]
mov dword [edx], ecx
mov dword [edx + 4], ecx
mov dword [edx + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], ecx
mov dword [edx + 0xc], eax
call fcn.004164f1
movss xmm0, dword [esp + 0x1c]
movss xmm1, dword [esp + 0x18]
movss xmm2, dword [esp + 0x14]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
addss xmm0, dword [0x4b23a8]
movss dword [esp + 0x10], xmm1
movss dword [esp + 4], xmm2
movss dword [esp], xmm0
call fcn.0040e5ae
movss xmm0, dword [esp + 0x1c]
movss xmm1, dword [esp + 0x18]
movss xmm2, dword [esp + 0x14]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
addss xmm0, dword [0x4b23b0]
movss dword [esp + 0x10], xmm1
movss dword [esp + 4], xmm2
movss dword [esp], xmm0
call fcn.0040e5ae
movss xmm1, dword [0x4b23a8]
movss xmm0, dword [esp + 0x18]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
addss xmm1, dword [esp + 0x14]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [esp + 0x1c]
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call fcn.0040e5ae
movss xmm1, dword [0x4b23b0]
movss xmm0, dword [esp + 0x18]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
addss xmm1, dword [esp + 0x14]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [esp + 0x1c]
movss dword [esp + 4], xmm1
movss dword [esp], xmm0
call fcn.0040e5ae
mov eax, dword [0x5609a0]
mov ecx, dword [eax + 0x193c]
mov edx, dword [eax + 0x1944]
lea ecx, [ecx + ecx*4]
mov esi, dword [edx + ecx*4 - 0x14]
movsd xmm0, qword [edx + ecx*4 - 8]
shl esi, 4
movsd qword [eax + esi + 0x158c], xmm0
movsd xmm0, qword [edx + ecx*4 - 0x10]
movsd qword [eax + esi + 0x1584], xmm0
dec dword [eax + 0x193c]
movss xmm0, dword [esp + 0x18]
movss xmm2, dword [esp + 0x14]
movss xmm1, dword [esp + 0x1c]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
movss dword [esp + 0x10], xmm0
movss dword [esp + 4], xmm2
movss dword [esp], xmm1
call fcn.0040e5ae
jmp 0x410fae
movaps xmm0, xmm5
subss xmm0, xmm1
divss xmm0, xmm2
cvttss2si ecx, xmm0
test ecx, ecx
mov dword [esp + 0x18], ecx
jle 0x410a83
xorps xmm3, xmm3
cmp ebx, edi
jbe 0x410d40
mov dword [esp + 0x28], ebp
mov ebp, ebx
xor ebx, ebx
movss dword [esp + 0x2c], xmm5
movss dword [esp + 0x20], xmm2
movss dword [esp + 0x14], xmm1
mov dword [esp], edi
mov dword [esp + 4], 0xa
call fcn.0048b8c0
mov edi, eax
test eax, eax
cmove edi, ebp
inc ebx
inc edi
cmp ebx, dword [esp + 0x18]
jge 0x410d21
cmp edi, ebp
jb 0x410cfe
xorps xmm3, xmm3
cvtsi2ss xmm3, ebx
mov ebx, ebp
movss xmm1, dword [esp + 0x14]
movss xmm2, dword [esp + 0x20]
movss xmm5, dword [esp + 0x2c]
mov ebp, dword [esp + 0x28]
mulss xmm3, xmm2
addss xmm3, xmm1
movd eax, xmm3
xorps xmm0, xmm0
cmp edi, ebx
xorps xmm4, xmm4
jae 0x410f4e
movss xmm0, dword [0x4b2470]
mov dword [esp + 0x34], eax
movss dword [esp + 0x14], xmm1
movss dword [esp + 0x18], xmm3
movss dword [esp + 0x24], xmm3
movss dword [esp + 0x28], xmm3
movss dword [esp + 0x2c], xmm5
movss dword [esp + 0x20], xmm2
addss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x38], xmm0
xorps xmm0, xmm0
movups xmmword [esp + 0x40], xmm0
movss xmm0, dword [esp + 0x18]
mov dword [esp], edi
mov dword [esp + 4], 0xa
addss xmm0, xmm2
movss dword [esp + 0x18], xmm0
call fcn.0048b8c0
movss xmm0, dword [esp + 0x18]
mov ebx, eax
ucomiss xmm0, dword [esp + 0x2c]
jbe 0x410dfa
movss xmm0, dword [esi + 0x1e8]
ucomiss xmm0, dword [esp + 0x28]
jbe 0x410dfa
movss xmm0, dword [esp + 0x38]
ucomiss xmm0, dword [esi + 0x1dc]
jbe 0x410dfa
movss xmm0, dword [esi + 0x1e4]
ucomiss xmm0, dword [esp + 0x1c]
ja 0x410e07
cmp byte [ebp + 0x297c], 0
je 0x410ed9
xor esi, esi
lea eax, [esp + 0x68]
mov dword [esp + 8], ebx
mov dword [esp + 4], edi
mov dword [esp + 0x10], 0xbf800000
mov dword [esp + 0xc], esi
mov dword [esp], eax
call fcn.00415df6
movss xmm0, dword [esp + 0x68]
movups xmm2, xmmword [esp + 0x40]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edi
movaps xmm1, xmm0
mov dword [esp + 4], eax
cmpless xmm1, xmm2
andps xmm2, xmm1
andnps xmm1, xmm0
orps xmm2, xmm1
movss xmm1, dword [esp + 0x1c]
movups xmmword [esp + 0x40], xmm2
movss dword [esp], xmm1
call fcn.0040989a
mov eax, dword [esp + 0x30]
movss xmm2, dword [esp + 0x20]
movss xmm3, dword [esp + 0x24]
test ebx, ebx
cmove ebx, eax
addss xmm3, xmm2
mov edi, ebx
mov ebx, eax
movd eax, xmm3
inc edi
cmp edi, ebx
jae 0x410ed1
mov ebp, dword [0x5609a0]
movss xmm0, dword [esp + 0x28]
mov dword [esp + 0x34], eax
movss dword [esp + 0x24], xmm3
mov esi, dword [ebp + 0x18f8]
addss xmm0, xmm2
movss dword [esp + 0x28], xmm0
movd eax, xmm0
movss xmm0, dword [esi + 0x1e0]
movss dword [esp + 0x2c], xmm0
jmp 0x410d9e
movss xmm1, dword [esp + 0x14]
jmp 0x410eef
movss xmm1, dword [esp + 0x14]
mov ebx, dword [esp + 0x30]
movss xmm2, dword [esp + 0x20]
movss xmm3, dword [esp + 0x24]
movups xmm4, xmmword [esp + 0x40]
xorps xmm0, xmm0
cmp edi, ebx
jae 0x410f43
xor esi, esi
movups xmmword [esp + 0x40], xmm4
movss dword [esp + 0x24], xmm3
mov dword [esp], edi
mov dword [esp + 4], 0xa
call fcn.0048b8c0
mov edi, eax
test eax, eax
cmove edi, ebx
inc esi
inc edi
cmp edi, ebx
jb 0x410f08
movss xmm1, dword [esp + 0x14]
movss xmm2, dword [esp + 0x20]
movss xmm3, dword [esp + 0x24]
movups xmm4, xmmword [esp + 0x40]
xorps xmm0, xmm0
cvtsi2ss xmm0, esi
mulss xmm2, xmm0
xorps xmm0, xmm0
addss xmm3, xmm2
subss xmm3, xmm1
addss xmm3, xmm0
movss xmm0, dword [esp + 0x1c]
lea esi, [esp + 0x68]
addss xmm3, xmm1
lea eax, [esp + 0x50]
xor edi, edi
mov dword [esp + 4], edi
mov dword [esp], eax
addss xmm4, xmm0
movss dword [esi], xmm0
movss dword [esi + 4], xmm1
movss dword [esi + 8], xmm4
movss dword [esi + 0xc], xmm3
subss xmm4, xmm0
subss xmm3, xmm1
movss dword [eax], xmm4
movss dword [eax + 4], xmm3
call fcn.00403612
mov dword [esp + 8], edi
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004103dc
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.0043f03d
add esp, 0x7c
pop esi
pop edi
pop ebx
pop ebp
ret