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

Disassembly:
sub esp, 0x8c
push ebx
push ebp
push esi
push edi
mov edi, dword [0x103b6348]
mov dword [esp + 0x78], edi
mov eax, dword [edi + 0x3e48]
mov byte [eax + 0xa8], 1
mov ebx, dword [edi + 0x3e48]
mov dword [esp + 0x64], ebx
cmp byte [ebx + 0xab], 0
jne 0x100904c2
xor ebp, ebp
mov ecx, ebx
push ebp
push dword [esp + 0xa8]
call fcn.100470f7
push ecx
mov dword [esp], 0xbf800000
mov esi, eax
push 1
push ebp
push dword [esp + 0xb0]
lea eax, [esp + 0x8c]
push eax
call fcn.1004139f
movss xmm2, dword [esp + 0xd8]
add esp, 0x14
xorps xmm1, xmm1
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jp 0x1008fd22
call fcn.10040eb3
fstp dword [esp + 0xc4]
movss xmm2, dword [esp + 0xc4]
xorps xmm1, xmm1
movss xmm0, dword [esp + 0xc8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1008fd52
movss xmm0, dword [edi + 0x37d8]
addss xmm0, xmm0
addss xmm0, dword [esp + 0x80]
movss dword [esp + 0xc8], xmm0
addss xmm2, dword [ebx + 0xec]
addss xmm0, dword [ebx + 0xf0]
mov eax, dword [ebx + 0xec]
mov ecx, dword [ebx + 0xf0]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
movaps xmm4, xmm2
movss dword [esp + 0x48], xmm2
movaps xmm5, xmm0
movss dword [esp + 0x4c], xmm0
movss xmm3, dword [edi + 0x37d4]
subss xmm4, xmm3
addss xmm3, dword [esp + 0x40]
movss dword [esp + 0x2c], xmm4
movss xmm4, dword [edi + 0x37d8]
subss xmm5, xmm4
movss dword [esp + 0x50], xmm3
addss xmm4, dword [esp + 0x44]
movss xmm3, dword [esp + 0x7c]
comiss xmm3, xmm1
movss dword [esp + 0x30], xmm5
movss dword [esp + 0x34], xmm4
jbe 0x1008fdd9
addss xmm3, dword [edi + 0x37ec]
jmp 0x1008fddc
xorps xmm3, xmm3
addss xmm0, xmm1
mov dword [esp + 0x84], eax
addss xmm2, xmm3
mov dword [esp + 0x88], ecx
push ecx
lea eax, [esp + 0x24]
movss dword [esp + 0x94], xmm0
subss xmm0, dword [esp + 0x48]
movss dword [esp + 0x90], xmm2
subss xmm2, dword [esp + 0x44]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [edi + 0x37d8]
movss dword [esp], xmm0
push eax
movss dword [esp + 0x28], xmm2
call fcn.1004b1f5
push ebp
lea eax, [esp + 0x4c]
push eax
lea eax, [esp + 0x94]
push ebp
push eax
call fcn.1004af69
add esp, 0x18
test al, al
je 0x100904c2
lea eax, [esp + 0x40]
push esi
push eax
call fcn.1004b0dd
movss xmm0, dword [0x100cb808]
movss xmm1, dword [esp + 0xc4]
mov ebp, dword [esp + 0xb8]
ucomiss xmm1, xmm0
pop ecx
pop ecx
push 0x44
pop ebx
mov byte [esp + 0x1b], al
lahf
test bl, ah
jnp 0x1008fe9c
movss xmm2, dword [esp + 0xc0]
ucomiss xmm2, xmm0
lahf
test bl, ah
jp 0x1008ff49
movss xmm2, dword [0x100cb818]
movaps xmm3, xmm0
xor esi, esi
movss dword [esp + 0x10], xmm3
movss dword [esp + 0x1c], xmm2
test ebp, ebp
jle 0x1008ff1e
push esi
push dword [esp + 0xb0]
call dword [esp + 0xb0]
fstp dword [esp + 0x1c]
movss xmm1, dword [esp + 0x1c]
ucomiss xmm1, xmm1
pop ecx
pop ecx
lahf
test bl, ah
jp 0x1008fefc
movaps xmm3, xmm1
maxss xmm1, dword [esp + 0x1c]
minss xmm3, dword [esp + 0x10]
movaps xmm2, xmm1
movss dword [esp + 0x10], xmm3
movss dword [esp + 0x1c], xmm2
jmp 0x1008ff08
movss xmm2, dword [esp + 0x1c]
movss xmm3, dword [esp + 0x10]
inc esi
cmp esi, ebp
jl 0x1008feb9
movss xmm0, dword [0x100cb808]
movss xmm1, dword [esp + 0xbc]
ucomiss xmm1, xmm0
lahf
test bl, ah
jp 0x1008ff2f
movss dword [esp + 0xbc], xmm3
movss xmm1, dword [esp + 0xc0]
ucomiss xmm1, xmm0
lahf
test bl, ah
jp 0x1008ff49
movss dword [esp + 0xc0], xmm2
movss xmm0, dword [edi + 0x37dc]
push ecx
mov dword [esp], 0x3f800000
push 7
movss dword [esp + 0x1c], xmm0
call fcn.10046be9
movss xmm0, dword [esp + 0x1c]
add esp, 4
movss dword [esp], xmm0
push 1
push eax
push dword [esp + 0x58]
push dword [esp + 0x58]
push dword [esp + 0x58]
push dword [esp + 0x58]
call fcn.100503fd
mov esi, dword [esp + 0xbc]
xor eax, eax
add esp, 0x1c
or ebx, 0xffffffff
test esi, esi
sete al
inc eax
cmp ebp, eax
jl 0x1009041a
cvttss2si eax, dword [esp + 0xc4]
xor ecx, ecx
mov edx, ebp
test esi, esi
setne cl
dec ecx
cmp eax, ebp
cmovl edx, eax
lea eax, [ecx + ebp]
add edx, ecx
mov dword [esp + 0x38], eax
cmp byte [esp + 0x1b], 0
mov dword [esp + 0x10], edx
je 0x100900f6
movss xmm2, dword [edi + 0xdb8]
movss xmm1, dword [esp + 0x50]
comiss xmm2, xmm1
jb 0x100900f6
movss xmm0, dword [edi + 0xdbc]
comiss xmm0, dword [esp + 0x34]
jb 0x100900f6
movss xmm3, dword [esp + 0x2c]
comiss xmm3, xmm2
jbe 0x100900f6
movss xmm4, dword [esp + 0x30]
comiss xmm4, xmm0
jbe 0x100900f6
movaps xmm0, xmm3
subss xmm2, xmm1
subss xmm0, xmm1
xorps xmm1, xmm1
divss xmm2, xmm0
comiss xmm1, xmm2
ja 0x10090044
movss xmm1, dword [0x100d2efc]
minss xmm1, xmm2
mov esi, dword [esp + 0xb4]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si ebx, xmm0
add esi, ebx
mov eax, esi
cdq
idiv ebp
push edx
push dword [esp + 0xb0]
call dword [esp + 0xb0]
lea eax, [esi + 1]
cdq
idiv ebp
fstp dword [esp + 0x30]
push edx
push dword [esp + 0xb8]
call dword [esp + 0xb8]
mov esi, dword [esp + 0xb0]
add esp, 0x10
fstp dword [esp + 0x14]
test esi, esi
jne 0x100900cf
movss xmm0, dword [esp + 0x14]
lea eax, [ebx + 1]
cvtps2pd xmm0, xmm0
push ecx
push ecx
movsd qword [esp], xmm0
movss xmm0, dword [esp + 0x30]
push eax
cvtps2pd xmm0, xmm0
push ecx
push ecx
movsd qword [esp], xmm0
push ebx
push str._d:__8.4g_n_d:__8.4g
call fcn.100539e1
add esp, 0x1c
jmp 0x100900f2
cmp esi, 1
jne 0x100900f2
movss xmm0, dword [esp + 0x28]
cvtps2pd xmm0, xmm0
push ecx
push ecx
movsd qword [esp], xmm0
push ebx
push str._d:__8.4g
call fcn.100539e1
add esp, 0x10
mov edx, dword [esp + 0x10]
movss xmm2, dword [0x100c7298]
movd xmm0, edx
movaps xmm1, xmm2
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
movss xmm0, dword [esp + 0xc0]
movss dword [esp + 0x70], xmm1
movss xmm1, dword [esp + 0xbc]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x10090138
xorps xmm0, xmm0
movss dword [esp + 0x1c], xmm0
jmp 0x1009014c
subss xmm0, xmm1
movaps xmm1, xmm2
divss xmm1, xmm0
xorps xmm0, xmm0
movss dword [esp + 0x1c], xmm1
mov eax, dword [esp + 0xb4]
cdq
idiv ebp
movss dword [esp + 0x68], xmm0
push edx
push dword [esp + 0xb0]
movss dword [esp + 0x1c], xmm0
call dword [esp + 0xb0]
movss xmm2, dword [esp + 0xc4]
add esp, 4
movss xmm3, dword [esp + 0x20]
fstp dword [esp + 0x40]
movss xmm0, dword [esp + 0x40]
subss xmm0, xmm2
mulss xmm0, xmm3
movss dword [esp], xmm0
call fcn.1008b45d
fld1
movaps xmm0, xmm2
mulss xmm0, dword [esp + 0xc4]
fsubrp st(1)
add esp, 4
xorps xmm1, xmm1
comiss xmm1, xmm0
fstp dword [esp + 0x24]
jbe 0x100901cf
movaps xmm0, xmm3
mulss xmm0, xmm2
addss xmm0, dword [0x100c7298]
jmp 0x100901e4
comiss xmm1, xmm2
jbe 0x100901dc
movss dword [esp + 0x28], xmm1
jmp 0x100901ea
movss xmm0, dword [0x100c7298]
movss dword [esp + 0x28], xmm0
push ecx
mov dword [esp], 0x3f800000
test esi, esi
push 0x28
pop eax
push 0x26
pop ecx
cmove eax, ecx
push eax
call fcn.10046be9
add esp, 4
mov dword [esp + 0x64], eax
test esi, esi
mov dword [esp], 0x3f800000
push 0x29
pop ecx
push 0x27
pop eax
cmove ecx, eax
push ecx
call fcn.10046be9
cmp dword [esp + 0x18], 0
pop ecx
pop ecx
mov dword [esp + 0x3c], eax
jle 0x1009041a
movss xmm0, dword [esp + 0x2c]
subss xmm0, dword [esp + 0x50]
movd xmm2, dword [esp + 0x38]
movss xmm1, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
cvtdq2ps xmm2, xmm2
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x30]
subss xmm0, dword [esp + 0x34]
movss dword [esp + 0x5c], xmm1
movss xmm1, dword [esp + 0x68]
movss dword [esp + 0x74], xmm2
movss dword [esp + 0x30], xmm0
mov ecx, dword [esp + 0xb4]
movaps xmm0, xmm1
addss xmm0, dword [esp + 0x70]
inc ecx
movss dword [esp + 0x10], xmm0
movaps xmm0, xmm2
mulss xmm0, xmm1
addss xmm0, dword [0x100c7e9c]
cvttss2si eax, xmm0
mov dword [esp + 0x38], eax
add eax, ecx
cdq
idiv ebp
push edx
push dword [esp + 0xb0]
call dword [esp + 0xb0]
fstp dword [esp + 0x70]
movss xmm0, dword [esp + 0x70]
add esp, 4
subss xmm0, dword [esp + 0xc0]
mulss xmm0, dword [esp + 0x20]
movss dword [esp], xmm0
call fcn.1008b45d
movss xmm0, dword [esp + 0x60]
add esp, 4
movss xmm6, dword [esp + 0x30]
movss xmm2, dword [esp + 0x14]
movss xmm4, dword [esp + 0x2c]
fld1
movss xmm5, dword [esp + 0x34]
fsubrp st(1)
movss xmm3, dword [esp + 0x50]
mulss xmm0, xmm6
mulss xmm2, xmm4
addss xmm0, xmm5
fstp dword [esp + 0x98]
movss xmm1, dword [esp + 0x98]
addss xmm2, xmm3
movss dword [esp + 0x5c], xmm1
movss dword [esp + 0x24], xmm0
movss xmm0, dword [esp + 0x10]
movss dword [esp + 0x20], xmm2
test esi, esi
jne 0x10090353
movss dword [esp + 0x68], xmm0
jmp 0x10090359
movss xmm1, dword [esp + 0x28]
mulss xmm0, xmm4
mulss xmm1, xmm6
addss xmm0, xmm3
addss xmm1, xmm5
movss dword [esp + 0x54], xmm0
movss dword [esp + 0x58], xmm1
test esi, esi
jne 0x100903aa
cmp ebx, dword [esp + 0x38]
mov eax, dword [esp + 0x60]
cmove eax, dword [esp + 0x3c]
push ecx
mov dword [esp], 0x3f800000
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x2c]
push eax
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x260]
call fcn.1005ca22
jmp 0x100903f8
cmp esi, 1
jne 0x100903f8
addss xmm2, dword [0x100c7ea0]
comiss xmm0, xmm2
jb 0x100903ca
subss xmm0, dword [0x100c7298]
movss dword [esp + 0x54], xmm0
mov eax, dword [esp + 0x60]
push 0
push ecx
and dword [esp], 0
cmp ebx, dword [esp + 0x40]
cmove eax, dword [esp + 0x44]
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x30]
push eax
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x260]
call fcn.1005dae5
movss xmm0, dword [esp + 0x10]
movss xmm2, dword [esp + 0x74]
movaps xmm1, xmm0
movss dword [esp + 0x14], xmm0
sub edi, 1
jne 0x1009027c
mov edi, dword [esp + 0x78]
cmp dword [esp + 0xb8], 0
je 0x10090475
movss xmm0, dword [esp + 0x40]
lea eax, [esp + 0x20]
and dword [esp + 0x24], 0
push 0
push eax
push 0
movss dword [esp + 0x60], xmm0
lea eax, [esp + 0x54]
movss xmm0, dword [esp + 0x50]
addss xmm0, dword [edi + 0x37d8]
push 0
push dword [esp + 0xc8]
mov dword [esp + 0x34], 0x3f000000
push eax
lea eax, [esp + 0x6c]
movss dword [esp + 0x70], xmm0
push eax
call fcn.10050b93
add esp, 0x1c
movss xmm0, dword [esp + 0x7c]
xorps xmm1, xmm1
comiss xmm0, xmm1
jbe 0x100904be
movss xmm0, dword [esp + 0x48]
addss xmm0, dword [edi + 0x37ec]
push 1
push 0
push dword [esp + 0xac]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x40]
movss dword [esp + 0x30], xmm0
push dword [esp + 0x30]
push dword [esp + 0x30]
call fcn.10050af7
add esp, 0x14
mov eax, ebx
jmp 0x100904c5
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret