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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x158
cmp byte [0x102fef78], 0
push esi
mov esi, dword [ebp + 8]
push edi
je 0x1001045f
mov eax, dword [0x102ff478]
mov ecx, dword [eax]
test ecx, ecx
je 0x1001045f
test byte [0x102ff50c], 1
jne 0x1001045f
call fcn.10088af0
cmp eax, 9
je 0x1001045f
mov eax, dword [0x102ff478]
mov ecx, dword [eax]
call fcn.10088af0
cmp eax, 8
je 0x1001045f
mov eax, dword [0x102ff478]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
test edi, edi
je 0x1001045f
lea ecx, [esp + 0xb0]
call fcn.1000e070
mov ecx, dword [0x102ff478]
mov ecx, dword [ecx]
call fcn.10011400
movss xmm1, dword [0x100c1494]
movss xmm0, dword [eax + 8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000fa72
movss xmm0, dword [0x102ff510]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000fa72
xorps xmm1, xmm1
movss dword [0x102ff5c0], xmm1
jmp 0x1000fa7a
movss xmm1, dword [0x102ff5c0]
movsd xmm2, qword [0x100c1010]
cvtps2pd xmm0, xmm1
movss dword [esp + 0x10], xmm1
comisd xmm2, xmm0
jbe 0x1001045f
mov ecx, dword [0x102ff478]
lea eax, [esp + 0x28]
push eax
mov ecx, dword [ecx]
call fcn.10088920
movss xmm1, dword [esp + 0x10]
cvtps2pd xmm0, xmm1
call fcn.100986a0
movss xmm1, dword [esp + 0x10]
cvtsd2ss xmm0, xmm0
addss xmm0, dword [esp + 0x28]
movss dword [esp + 0x24], xmm0
cvtps2pd xmm0, xmm1
call fcn.10098860
mov eax, dword [edi]
mov ecx, edi
cvtsd2ss xmm0, xmm0
mov dword [esp + 0x14], vtable.CTraceFilterWorldOnly.0
mov dword [esp + 0x68], 0x7f800000
mov eax, dword [eax + 8]
mov dword [esp + 0x64], 0x7f800000
mov dword [esp + 0x60], 0x7f800000
addss xmm0, dword [esp + 0x2c]
mov dword [esp + 0x78], 0x7f800000
mov dword [esp + 0x74], 0x7f800000
mov dword [esp + 0x70], 0x7f800000
mov dword [esp + 0x88], 0x7f800000
movss dword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x30]
addss xmm0, dword [0x100bc6f8]
mov dword [esp + 0x84], 0x7f800000
mov dword [esp + 0x80], 0x7f800000
mov dword [esp + 0x98], 0x7f800000
mov dword [esp + 0x94], 0x7f800000
movss dword [esp + 0x1c], xmm0
mov dword [esp + 0x90], 0x7f800000
mov dword [esp + 0xa0], 0
call eax
mov edx, dword [edi]
mov ecx, edi
mov dword [esp + 0x18], eax
mov edx, dword [edx + 4]
call edx
movss xmm6, dword [esp + 0x28]
mov ecx, eax
movss xmm2, dword [esp + 0x24]
movss xmm7, dword [esp + 0x2c]
subss xmm2, xmm6
movss xmm1, dword [esp + 0x20]
movss xmm0, dword [esp + 0x1c]
subss xmm1, xmm7
subss xmm0, dword [esp + 0x30]
mov dword [esp + 0xa0], 0
movss dword [esp + 0x70], xmm2
mulss xmm2, xmm2
mov byte [esp + 0xa5], 1
movss dword [esp + 0x74], xmm1
mulss xmm1, xmm1
movss dword [esp + 0x78], xmm0
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
ucomiss xmm1, dword [0x100bc6f8]
lahf
test ah, 0x44
jp 0x1000fc0e
mov byte [esp + 0xa5], 0
movss xmm0, dword [ecx + 4]
lea edx, [esp + 0xb0]
mov eax, dword [esp + 0x18]
movss xmm1, dword [ecx + 8]
push edx
lea edx, [esp + 0x18]
movss xmm4, dword [eax + 4]
movss xmm2, dword [eax]
subss xmm4, xmm0
subss xmm2, dword [ecx]
movss xmm3, dword [eax + 8]
subss xmm3, xmm1
movss xmm1, dword [0x100bc718]
push edx
mulss xmm4, dword [0x100bc718]
lea edx, [esp + 0x68]
push 0x201400b
mulss xmm2, dword [0x100bc718]
push edx
movss dword [esp + 0xa4], xmm4
mulss xmm3, xmm1
movss dword [esp + 0xa0], xmm2
mulss xmm2, xmm2
movss dword [esp + 0xa8], xmm3
mulss xmm4, xmm4
mulss xmm3, xmm3
addss xmm2, xmm4
addss xmm2, xmm3
cvtps2pd xmm0, xmm2
movsd xmm2, qword [0x100c0960]
comisd xmm2, xmm0
seta byte [esp + 0xb4]
movss xmm3, dword [ecx + 8]
addss xmm3, dword [eax + 8]
movss xmm5, dword [ecx]
movss xmm4, dword [ecx + 4]
addss xmm5, dword [eax]
addss xmm4, dword [eax + 4]
mov ecx, dword [0x102ff4c0]
mulss xmm3, xmm1
mulss xmm5, xmm1
movaps xmm0, xmm3
mulss xmm4, xmm1
addss xmm0, dword [esp + 0x40]
movaps xmm2, xmm5
movaps xmm1, xmm4
addss xmm2, xmm6
addss xmm1, xmm7
movss dword [esp + 0x78], xmm0
movss xmm0, dword [0x100bc614]
mulss xmm5, xmm0
mulss xmm4, xmm0
mulss xmm3, xmm0
movss dword [esp + 0x70], xmm2
movss dword [esp + 0x74], xmm1
movss dword [esp + 0x90], xmm5
movss dword [esp + 0x94], xmm4
movss dword [esp + 0x98], xmm3
mov eax, dword [ecx]
call dword [eax + 0x14]
movss xmm0, dword [0x100bc600]
comiss xmm0, dword [esp + 0xdc]
jbe 0x1000fd62
movss xmm0, dword [esp + 0xd0]
ucomiss xmm0, dword [0x100bc6f8]
lahf
test ah, 0x44
jnp 0x1000fd91
movss xmm1, dword [esp + 0x10]
addss xmm1, dword [0x100c0968]
movsd xmm2, qword [0x100c1010]
cvtps2pd xmm0, xmm1
movss dword [esp + 0x10], xmm1
comisd xmm2, xmm0
ja 0x1000fa95
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0xc4]
lea eax, [esp + 0x28]
movss dword [esp + 0x44], xmm0
lea ecx, [esp + 0x38]
movss xmm0, dword [esp + 0x10]
movss dword [0x102ff5c0], xmm0
movss xmm0, dword [esp + 0xc8]
mulss xmm0, dword [0x100bc614]
push eax
mov dword [esp + 0x44], 0
movss dword [esp + 0x28], xmm0
movss dword [esp + 0x3c], xmm0
movss xmm0, dword [esp + 0xd0]
mulss xmm0, dword [0x100bc614]
movss dword [esp + 0x24], xmm0
movss dword [esp + 0x40], xmm0
call fcn.100228a0
mov eax, dword [0x102ff478]
mov ecx, dword [eax]
call fcn.10011400
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x1000fe31
sqrtsd xmm0, xmm0
jmp 0x1000fe36
call fcn.100979e0
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [0x100c147c]
jbe 0x1000ffd6
test byte [esi + 0x30], 4
jne 0x1000ffd6
mov eax, dword [0x102ff478]
mov ecx, dword [eax]
call fcn.10011400
movss xmm1, dword [0x100c1494]
movss xmm0, dword [eax + 8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000fe88
movss xmm0, dword [0x102ff510]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1000ffd6
mov eax, dword [0x102ff478]
mov ecx, dword [eax]
call fcn.10011400
movss xmm0, dword [eax + 4]
mov eax, dword [0x102ff478]
movss dword [esp + 0x14], xmm0
mov ecx, dword [eax]
call fcn.10011400
fld dword [esp + 0x14]
sub esp, 8
fstp dword [esp + 4]
fld dword [eax]
fstp dword [esp]
call fcn.1009708b
movss xmm0, dword [0x100c1038]
add esp, 8
fstp dword [esp + 0x14]
divss xmm0, dword [esp + 0x14]
cvtps2pd xmm0, xmm0
call fcn.100976f0
mov eax, dword [0x102ff478]
cvtsd2ss xmm0, xmm0
mov ecx, dword [eax]
mulss xmm0, dword [0x100bc608]
movss dword [esp + 0x1c], xmm0
call fcn.10011400
lea ecx, [esp + 0x38]
mov dword [esp + 0x40], 0
movq xmm0, qword [eax]
lea eax, [esp + 0x54]
push eax
movq qword [esp + 0x3c], xmm0
call fcn.100228a0
movss xmm0, dword [esp + 0x54]
subss xmm0, dword [esp + 0x28]
push ecx
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [esp + 0x5c]
subss xmm0, dword [esp + 0x30]
fld dword [esp + 0x1c]
fstp dword [esp]
movss dword [esp + 0x14], xmm0
call fcn.1009707a
add esp, 4
test ax, ax
jg 0x1000ff74
movss xmm0, dword [esp + 0x18]
sub esp, 8
mov dword [esp + 4], 0x43b40000
movss dword [esp], xmm0
call fcn.1009704f
fstp st(0)
add esp, 8
fld dword [esp + 0x10]
push ecx
fstp dword [esp]
call fcn.1009707a
add esp, 4
test ax, ax
jg 0x1000ffc8
movss xmm0, dword [esp + 0x10]
sub esp, 8
mov dword [esp + 4], 0x43b40000
movss dword [esp], xmm0
call fcn.1009704f
fstp dword [esp + 0x1c]
movss xmm0, dword [esp + 0x1c]
add esp, 8
comiss xmm0, dword [0x100bc6f8]
jae 0x1000ffc8
movss xmm0, dword [esp + 0x2c]
subss xmm0, dword [esp + 0x1c]
jmp 0x1000ffdc
movss xmm0, dword [esp + 0x2c]
addss xmm0, dword [esp + 0x1c]
jmp 0x1000ffdc
movss xmm0, dword [esp + 0x2c]
subss xmm0, dword [esi + 0x10]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x100c09b8]
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x28], xmm0
call fcn.100986a0
cvtsd2ss xmm0, xmm0
movss dword [esp + 0x14], xmm0
movsd xmm0, qword [esp + 0x28]
call fcn.10098860
mov eax, dword [0x102ff478]
cvtsd2ss xmm0, xmm0
mov ecx, dword [eax]
movss dword [esp + 0x10], xmm0
call fcn.10011400
movss xmm1, dword [0x100c1494]
movss xmm0, dword [eax + 8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001005a
movss xmm0, dword [0x102ff510]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1001005a
movss xmm0, dword [0x100c1024]
jmp 0x10010062
movss xmm0, dword [0x100c1360]
movaps xmm1, xmm0
movss dword [esp + 0x1c], xmm0
mulss xmm1, dword [esp + 0x14]
lea ecx, [esp + 0x108]
movss dword [esp + 0x18], xmm1
movss xmm1, dword [esp + 0x10]
xorps xmm1, xmmword [0x100bc630]
mulss xmm1, xmm0
movss dword [esp + 0x10], xmm1
call fcn.1000e070
lea ecx, [esp + 0x60]
call fcn.1000e0c0
mov eax, dword [0x102ff478]
lea ecx, [esp + 0x54]
mov dword [esp + 0x48], vtable.CTraceFilterWorldOnly.0
push ecx
mov ecx, dword [eax]
call fcn.10088920
lea ecx, [esp + 0x38]
push ecx
movss xmm0, dword [eax + 4]
mov eax, dword [0x102ff478]
movss dword [esp + 0x18], xmm0
mov ecx, dword [eax]
call fcn.10088920
movss xmm1, dword [esp + 0x24]
lea ecx, [esp + 0x38]
mulss xmm1, dword [0x100c1474]
push ecx
movss xmm0, dword [esp + 0x48]
lea ecx, [esp + 0x58]
addss xmm0, dword [0x100bc6f8]
addss xmm1, dword [eax]
mov eax, dword [0x102ff478]
push ecx
movss dword [esp + 0x48], xmm0
mov ecx, dword [eax]
movss dword [esp + 0x40], xmm1
movss xmm1, dword [esp + 0x28]
mulss xmm1, dword [0x100c1474]
addss xmm1, dword [esp + 0x1c]
movss dword [esp + 0x44], xmm1
call fcn.10088920
push eax
lea ecx, [esp + 0x68]
call fcn.1000c380
mov ecx, dword [0x102ff4c0]
lea edx, [esp + 0x108]
push edx
lea edx, [esp + 0x4c]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0x68]
push 0x201400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [esp + 0x134]
lea edi, [esi + 0x30]
comiss xmm0, dword [0x100c095c]
ja 0x10010181
test dword [edi], 0x618
mov dword [esp + 0x24], edi
jne 0x1001019b
movss xmm0, dword [esp + 0x18]
movss dword [esi + 0x24], xmm0
movss xmm0, dword [esp + 0x10]
movss dword [esi + 0x28], xmm0
mov dword [esp + 0x24], edi
mov eax, dword [0x102ff478]
mov ecx, dword [eax]
call fcn.10011400
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x100101ce
sqrtsd xmm0, xmm0
jmp 0x100101d3
call fcn.100979e0
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [0x100c147c]
jbe 0x10010293
test byte [edi], 4
jne 0x10010293
mov eax, dword [0x102ff478]
mov ecx, dword [eax]
call fcn.10011400
movss xmm1, dword [0x100c1494]
movss xmm0, dword [eax + 8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10010220
movss xmm0, dword [0x102ff510]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10010293
movss xmm0, dword [esi + 0x24]
xorps xmm1, xmm1
comiss xmm1, xmm0
movss xmm2, dword [0x100c1488]
jbe 0x10010244
test byte [edi], 8
je 0x10010244
mov dword [esi + 0x24], 0x43e10000
movaps xmm0, xmm2
comiss xmm0, xmm1
jbe 0x10010255
test byte [edi], 0x10
je 0x10010255
mov dword [esi + 0x24], 0xc3e10000
movss xmm0, dword [esi + 0x28]
comiss xmm1, xmm0
jbe 0x10010271
test dword [edi], 0x400
je 0x10010271
mov dword [esi + 0x28], 0x43e10000
movaps xmm0, xmm2
comiss xmm0, xmm1
jbe 0x1001045f
test dword [edi], 0x200
je 0x1001045f
mov dword [esi + 0x28], 0xc3e10000
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0x1c]
ucomiss xmm0, dword [0x100c1360]
lahf
test ah, 0x44
jp 0x100102b6
mov ecx, dword [edi]
test cl, 8
je 0x100102b6
lea eax, [esi + 0x28]
mov dword [esp + 0x10], eax
jmp 0x100102cd
mov ecx, dword [edi]
lea edx, [esi + 0x28]
mov eax, edx
mov dword [esp + 0x10], eax
test ecx, 0x610
je 0x100103fd
movss xmm0, dword [esi + 0x24]
movss dword [esp + 0x1c], xmm0
movss xmm0, dword [eax]
mov eax, dword [0x102ff564]
movss dword [esp + 0x20], xmm0
mov dword [esp + 0x18], 0
mov edx, dword [eax + 0x1c]
mov eax, ecx
and eax, 8
mov dword [esp + 0x28], edx
mov dword [esp + 0x44], eax
mov eax, ecx
and eax, 0x10
mov dword [esp + 0x14], eax
mov eax, ecx
and eax, 0x200
and ecx, 0x400
mov dword [esp + 0x4c], eax
xor edi, edi
mov dword [esp + 0x50], ecx
nop
mov eax, dword [0x100e2460]
push edx
push 0
mov eax, dword [eax]
call eax
cmp dword [esp + 0x44], 0
movd xmm1, dword [esp + 0x18]
cvtdq2ps xmm1, xmm1
je 0x10010341
movss dword [esi + 0x24], xmm1
cmp dword [esp + 0x14], 0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
je 0x10010354
movss dword [esi + 0x24], xmm0
cmp dword [esp + 0x4c], 0
mov eax, dword [esp + 0x10]
je 0x10010363
movss dword [eax], xmm0
cmp dword [esp + 0x50], 0
je 0x1001036e
movss dword [eax], xmm1
mov ecx, dword [0x102ff534]
push esi
call fcn.100385b0
mov ecx, dword [0x102ff534]
call fcn.10038560
mov eax, dword [0x102ff478]
mov ecx, dword [eax]
call fcn.10011400
movss xmm0, dword [0x102ff514]
xorps xmm0, xmmword [0x100bc630]
movss xmm1, dword [eax + 8]
ucomiss xmm1, xmm0
lahf
test ah, 0x44
mov eax, dword [esp + 0x10]
jp 0x100103c9
movss xmm0, dword [esi + 0x24]
movss xmm1, dword [eax]
movss dword [esp + 0x1c], xmm0
movss dword [esp + 0x20], xmm1
jmp 0x100103d5
movss xmm0, dword [esp + 0x1c]
movss xmm1, dword [esp + 0x20]
add dword [esp + 0x18], 0x2d
sub edi, 0x2d
mov edx, dword [esp + 0x28]
cmp edi, 0xfffffe3e
jg 0x10010320
mov edi, dword [esp + 0x24]
lea edx, [esi + 0x28]
movss dword [esi + 0x24], xmm0
movss dword [eax], xmm1
movss xmm0, dword [esi + 0x24]
xorps xmm1, xmm1
comiss xmm1, xmm0
movss xmm2, dword [0x100c1488]
jbe 0x10010421
test byte [edi], 8
je 0x10010421
mov dword [esi + 0x24], 0x43e10000
movaps xmm0, xmm2
comiss xmm0, xmm1
jbe 0x10010432
test byte [edi], 0x10
je 0x10010432
mov dword [esi + 0x24], 0xc3e10000
movss xmm0, dword [edx]
comiss xmm1, xmm0
jbe 0x1001044c
test dword [edi], 0x400
je 0x1001044c
mov dword [edx], 0x43e10000
movaps xmm0, xmm2
comiss xmm0, xmm1
jbe 0x1001045f
test dword [edi], 0x200
je 0x1001045f
mov dword [edx], 0xc3e10000
pop edi
pop esi
mov esp, ebp
pop ebp
ret