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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
mov eax, dword [0x101d639c]
sub esp, 0x148
cmp byte [0x101d6806], 0
push esi
mov esi, dword [ebp + 8]
push edi
je 0x1000f848
cmp dword [eax], 0
je 0x10010270
mov ecx, dword [eax]
call fcn.10010cf0
test byte [eax], 1
jne 0x10010270
mov eax, dword [0x101d639c]
mov ecx, dword [eax]
call fcn.10077420
cmp eax, 9
je 0x10010270
mov eax, dword [0x101d639c]
mov ecx, dword [eax]
call fcn.10077420
cmp eax, 8
je 0x10010270
mov eax, dword [0x101d639c]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edi, eax
test edi, edi
je 0x10010270
lea ecx, [esp + 0xa0]
call fcn.1000ed40
mov ecx, dword [0x101d639c]
mov byte [0x1020c24c], 0
mov ecx, dword [ecx]
call fcn.10010e80
movss xmm1, dword [0x10102a80]
movss xmm0, dword [eax + 8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000f8ee
movss xmm0, dword [0x1020c298]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000f8ee
xorps xmm1, xmm1
movss dword [0x1020c2e0], xmm1
jmp 0x1000f8f6
movss xmm1, dword [0x1020c2e0]
movsd xmm2, qword [0x10102a38]
cvtps2pd xmm0, xmm1
movss dword [esp + 8], xmm1
comisd xmm2, xmm0
jbe 0x10010270
mov ecx, dword [0x101d639c]
lea eax, [esp + 0x18]
push eax
mov ecx, dword [ecx]
call fcn.10077240
movss xmm1, dword [esp + 8]
cvtps2pd xmm0, xmm1
call fcn.100da480
movss xmm1, dword [esp + 8]
cvtsd2ss xmm0, xmm0
addss xmm0, dword [esp + 0x18]
movss dword [esp + 0x14], xmm0
cvtps2pd xmm0, xmm1
call fcn.100da640
mov eax, dword [edi]
mov ecx, edi
cvtsd2ss xmm0, xmm0
mov dword [esp + 0xc], vtable.CTraceFilterWorldOnly.0
mov dword [esp + 0x58], 0x7f800000
mov eax, dword [eax + 8]
mov dword [esp + 0x54], 0x7f800000
mov dword [esp + 0x50], 0x7f800000
addss xmm0, dword [esp + 0x1c]
mov dword [esp + 0x68], 0x7f800000
mov dword [esp + 0x64], 0x7f800000
mov dword [esp + 0x60], 0x7f800000
mov dword [esp + 0x78], 0x7f800000
movss dword [esp + 0x10], xmm0
movss xmm0, dword [esp + 0x20]
addss xmm0, dword [0x101016a0]
mov dword [esp + 0x74], 0x7f800000
mov dword [esp + 0x70], 0x7f800000
mov dword [esp + 0x88], 0x7f800000
mov dword [esp + 0x84], 0x7f800000
movss dword [esp + 0x28], xmm0
mov dword [esp + 0x80], 0x7f800000
mov dword [esp + 0x90], 0
call eax
mov edx, dword [edi]
mov ecx, edi
mov dword [esp + 0x2c], eax
mov edx, dword [edx + 4]
call edx
movss xmm6, dword [esp + 0x18]
mov ecx, eax
movss xmm2, dword [esp + 0x14]
movss xmm7, dword [esp + 0x1c]
subss xmm2, xmm6
movss xmm1, dword [esp + 0x10]
movss xmm0, dword [esp + 0x28]
subss xmm1, xmm7
subss xmm0, dword [esp + 0x20]
mov dword [esp + 0x90], 0
movss dword [esp + 0x60], xmm2
mulss xmm2, xmm2
mov byte [esp + 0x95], 1
movss dword [esp + 0x64], xmm1
mulss xmm1, xmm1
movss dword [esp + 0x68], xmm0
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
ucomiss xmm1, dword [0x101016a0]
lahf
test ah, 0x44
jp 0x1000fa81
mov byte [esp + 0x95], 0
movss xmm0, dword [ecx + 4]
lea edx, [esp + 0xa0]
mov eax, dword [esp + 0x2c]
movss xmm1, dword [ecx + 8]
push edx
lea edx, [esp + 0x10]
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 [0x101016a8]
push edx
mulss xmm4, dword [0x101016a8]
lea edx, [esp + 0x58]
push 0x201400b
mulss xmm2, dword [0x101016a8]
push edx
movss dword [esp + 0x94], xmm4
mulss xmm3, xmm1
movss dword [esp + 0x90], xmm2
mulss xmm2, xmm2
movss dword [esp + 0x98], xmm3
mulss xmm4, xmm4
mulss xmm3, xmm3
addss xmm2, xmm4
addss xmm2, xmm3
cvtps2pd xmm0, xmm2
movsd xmm2, qword [0x10102a20]
comisd xmm2, xmm0
seta byte [esp + 0xa4]
movss xmm3, dword [ecx + 8]
addss xmm3, dword [eax + 8]
movss xmm5, dword [eax]
movss xmm4, dword [eax + 4]
addss xmm5, dword [ecx]
addss xmm4, dword [ecx + 4]
mov ecx, dword [0x1020c200]
mulss xmm3, xmm1
mulss xmm5, xmm1
movaps xmm0, xmm3
mulss xmm4, xmm1
addss xmm0, dword [esp + 0x30]
movaps xmm2, xmm5
movaps xmm1, xmm4
addss xmm2, xmm6
addss xmm1, xmm7
movss dword [esp + 0x68], xmm0
movss xmm0, dword [0x101016b4]
mulss xmm5, xmm0
mulss xmm4, xmm0
mulss xmm3, xmm0
movss dword [esp + 0x60], xmm2
movss dword [esp + 0x64], xmm1
movss dword [esp + 0x80], xmm5
movss dword [esp + 0x84], xmm4
movss dword [esp + 0x88], xmm3
mov eax, dword [ecx]
call dword [eax + 0x14]
movss xmm0, dword [0x101016ac]
comiss xmm0, dword [esp + 0xcc]
jbe 0x1000fbd5
movss xmm0, dword [esp + 0xc0]
ucomiss xmm0, dword [0x101016a0]
lahf
test ah, 0x44
jnp 0x1000fc04
movss xmm1, dword [esp + 8]
addss xmm1, dword [0x10102a28]
movsd xmm2, qword [0x10102a38]
cvtps2pd xmm0, xmm1
movss dword [esp + 8], xmm1
comisd xmm2, xmm0
ja 0x1000f911
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movss xmm0, dword [esp + 0xb4]
lea eax, [esp + 0x18]
movss dword [esp + 0x14], xmm0
lea ecx, [esp + 0x30]
movss xmm0, dword [esp + 8]
movss dword [0x1020c2e0], xmm0
movss xmm0, dword [esp + 0xb8]
mulss xmm0, dword [0x101016b4]
push eax
mov byte [0x1020c24c], 1
mov dword [esp + 0x3c], 0
movss dword [esp + 0x30], xmm0
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0xc0]
mulss xmm0, dword [0x101016b4]
movss dword [esp + 0x2c], xmm0
movss dword [esp + 0x38], xmm0
call fcn.100111e0
mov eax, dword [0x101d639c]
mov ecx, dword [eax]
call fcn.10010e80
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 0x1000fcab
sqrtsd xmm0, xmm0
jmp 0x1000fcb0
call fcn.100d3ef0
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [0x10102a6c]
jbe 0x1000fdf9
test byte [esi + 0x30], 4
jne 0x1000fdf9
mov eax, dword [0x101d639c]
mov ecx, dword [eax]
call fcn.10010e80
movss xmm1, dword [0x10102a80]
movss xmm0, dword [eax + 8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000fd02
movss xmm0, dword [0x1020c298]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x1000fdf9
mov eax, dword [0x101d639c]
mov ecx, dword [eax]
call fcn.10010e80
movss xmm0, dword [eax + 4]
mov eax, dword [0x101d639c]
movss dword [esp + 0xc], xmm0
mov ecx, dword [eax]
call fcn.10010e80
fld dword [esp + 0xc]
sub esp, 8
fstp dword [esp + 4]
fld dword [eax]
fstp dword [esp]
call fcn.100d9b2b
movss xmm0, dword [0x10102a50]
add esp, 8
fstp dword [esp + 0xc]
divss xmm0, dword [esp + 0xc]
cvtps2pd xmm0, xmm0
call fcn.100da190
mov eax, dword [0x101d639c]
cvtsd2ss xmm0, xmm0
mov ecx, dword [eax]
mulss xmm0, dword [0x10102a5c]
movss dword [esp + 8], xmm0
call fcn.10010e80
lea ecx, [esp + 0x30]
mov dword [esp + 0x38], 0
movq xmm0, qword [eax]
lea eax, [esp + 0x40]
push eax
movq qword [esp + 0x34], xmm0
call fcn.100111e0
movss xmm0, dword [esp + 0x40]
lea ecx, [esp + 0x30]
subss xmm0, dword [esp + 0x18]
movss dword [esp + 0x30], xmm0
movss xmm0, dword [esp + 0x44]
subss xmm0, dword [esp + 0x1c]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x48]
subss xmm0, dword [esp + 0x20]
movss dword [esp + 0x38], xmm0
call fcn.100110b0
movss xmm0, dword [esp + 0x34]
comiss xmm0, dword [0x101016a0]
movss xmm0, dword [esp + 0x1c]
jb 0x1000fdf1
addss xmm0, dword [esp + 8]
jmp 0x1000fdff
subss xmm0, dword [esp + 8]
jmp 0x1000fdff
movss xmm0, dword [esp + 0x1c]
subss xmm0, dword [esi + 0x10]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x10102a30]
cvtpd2ps xmm0, xmm0
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
call fcn.100da480
cvtsd2ss xmm0, xmm0
movss dword [esp + 0xc], xmm0
movsd xmm0, qword [esp + 0x18]
call fcn.100da640
mov eax, dword [0x101d639c]
cvtsd2ss xmm0, xmm0
mov ecx, dword [eax]
movss dword [esp + 8], xmm0
call fcn.10010e80
movss xmm1, dword [0x10102a80]
movss xmm0, dword [eax + 8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000fe7d
movss xmm0, dword [0x1020c298]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x1000fe7d
movss xmm0, dword [0x10102a48]
jmp 0x1000fe85
movss xmm0, dword [0x10102a54]
movaps xmm1, xmm0
movss dword [esp + 0x10], xmm0
mulss xmm1, dword [esp + 0xc]
lea ecx, [esp + 0xf8]
movss dword [esp + 0x3c], xmm1
movss xmm1, dword [esp + 8]
xorps xmm1, xmmword [0x101029a0]
mulss xmm1, xmm0
movss dword [esp + 8], xmm1
call fcn.1000ed40
lea ecx, [esp + 0x50]
call fcn.1000ed90
mov eax, dword [0x101d639c]
lea ecx, [esp + 0x40]
mov dword [esp + 0x4c], vtable.CTraceFilterWorldOnly.0
push ecx
mov ecx, dword [eax]
call fcn.10077240
lea ecx, [esp + 0x30]
push ecx
movss xmm0, dword [eax + 4]
mov eax, dword [0x101d639c]
movss dword [esp + 0x10], xmm0
mov ecx, dword [eax]
call fcn.10077240
movss xmm1, dword [esp + 0x2c]
lea ecx, [esp + 0x40]
mulss xmm1, dword [0x10102a60]
push ecx
movss xmm0, dword [esp + 0x18]
lea ecx, [esp + 0x34]
addss xmm0, dword [0x101016a0]
addss xmm1, dword [eax]
mov eax, dword [0x101d639c]
push ecx
movss dword [esp + 0x50], xmm0
mov ecx, dword [eax]
movss dword [esp + 0x48], xmm1
movss xmm1, dword [esp + 0x30]
mulss xmm1, dword [0x10102a60]
addss xmm1, dword [esp + 0x14]
movss dword [esp + 0x4c], xmm1
call fcn.10077240
push eax
lea ecx, [esp + 0x58]
call fcn.1000dcd0
mov ecx, dword [0x1020c200]
lea edx, [esp + 0xf8]
push edx
lea edx, [esp + 0x50]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0x58]
push 0x201400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [esp + 0x124]
lea edi, [esi + 0x30]
comiss xmm0, dword [0x10102a1c]
ja 0x1000ffa0
test dword [edi], 0x618
jne 0x1000ffb6
movss xmm0, dword [esp + 0x3c]
movss dword [esi + 0x24], xmm0
movss xmm0, dword [esp + 8]
movss dword [esi + 0x28], xmm0
mov eax, dword [0x101d639c]
mov ecx, dword [eax]
call fcn.10010e80
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 0x1000ffe9
sqrtsd xmm0, xmm0
jmp 0x1000ffee
call fcn.100d3ef0
cvtsd2ss xmm0, xmm0
comiss xmm0, dword [0x10102a6c]
jbe 0x100100b0
test byte [edi], 4
jne 0x100100b0
mov eax, dword [0x101d639c]
mov ecx, dword [eax]
call fcn.10010e80
movss xmm1, dword [0x10102a80]
movss xmm0, dword [eax + 8]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x10010040
movss xmm0, dword [0x1020c298]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x100100b0
lea eax, [esi + 0x30]
jmp 0x10010042
mov eax, edi
movss xmm0, dword [esi + 0x24]
xorps xmm1, xmm1
comiss xmm1, xmm0
mov edx, eax
movss xmm2, dword [0x10102a78]
jbe 0x1001006b
test byte [edi], 8
je 0x1001006b
mov dword [esi + 0x24], 0x43e10000
lea edx, [esi + 0x30]
movaps xmm0, xmm2
comiss xmm0, xmm1
mov ecx, eax
jbe 0x10010080
test byte [eax], 0x10
je 0x10010080
mov dword [esi + 0x24], 0xc3e10000
mov ecx, edx
movss xmm0, dword [esi + 0x28]
comiss xmm1, xmm0
jbe 0x1001009c
test dword [ecx], 0x400
je 0x1001009c
mov dword [esi + 0x28], 0x43e10000
movaps xmm0, xmm2
comiss xmm0, xmm1
jbe 0x10010270
test dword [ecx], 0x200
jmp 0x10010267
movss xmm0, dword [esp + 0x10]
ucomiss xmm0, dword [0x10102a54]
lahf
test ah, 0x44
jp 0x100100ca
mov ecx, dword [edi]
test cl, 8
jne 0x100100d8
mov ecx, dword [edi]
test ecx, 0x610
je 0x10010207
mov eax, dword [0x1020c278]
movss xmm0, dword [esi + 0x24]
movss dword [esp + 0x10], xmm0
movss xmm0, dword [esi + 0x28]
mov edx, dword [eax + 0x1c]
mov eax, ecx
and eax, 8
movss dword [esp + 0x14], xmm0
mov dword [esp + 0x3c], eax
dec edx
mov eax, ecx
mov dword [esp + 0x18], edx
and eax, 0x10
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov eax, ecx
and eax, 0x200
and ecx, 0x400
mov dword [esp + 0x2c], eax
xor edi, edi
mov dword [esp + 0x28], ecx
nop dword [eax]
mov eax, dword [section..data]
push edx
push 0
mov eax, dword [eax]
call eax
cmp dword [esp + 0x3c], 0
mov eax, dword [esp + 8]
je 0x10010153
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x24], xmm0
cmp dword [esp + 0xc], 0
je 0x10010166
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x24], xmm0
cmp dword [esp + 0x2c], 0
je 0x10010179
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x28], xmm0
cmp dword [esp + 0x28], 0
je 0x1001018c
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [esi + 0x28], xmm0
mov ecx, dword [0x1020c250]
push esi
call fcn.1002a670
mov ecx, dword [0x1020c250]
call fcn.1002a620
mov eax, dword [0x101d639c]
mov ecx, dword [eax]
call fcn.10010e80
movss xmm0, dword [eax + 8]
ucomiss xmm0, dword [0x10102a80]
lahf
test ah, 0x44
jp 0x100101d9
movss xmm0, dword [esi + 0x24]
movss xmm1, dword [esi + 0x28]
movss dword [esp + 0x10], xmm0
movss dword [esp + 0x14], xmm1
jmp 0x100101e5
movss xmm0, dword [esp + 0x10]
movss xmm1, dword [esp + 0x14]
add dword [esp + 8], 0x2d
sub edi, 0x2d
mov edx, dword [esp + 0x18]
cmp edi, 0xfffffe3e
jg 0x10010130
movss dword [esi + 0x24], xmm0
movss dword [esi + 0x28], xmm1
movss xmm0, dword [esi + 0x24]
xorps xmm1, xmm1
comiss xmm1, xmm0
movss xmm2, dword [0x10102a78]
jbe 0x1001022c
test byte [esi + 0x30], 8
je 0x1001022c
mov dword [esi + 0x24], 0x43e10000
movaps xmm0, xmm2
comiss xmm0, xmm1
jbe 0x1001023e
test byte [esi + 0x30], 0x10
je 0x1001023e
mov dword [esi + 0x24], 0xc3e10000
movss xmm0, dword [esi + 0x28]
comiss xmm1, xmm0
jbe 0x1001025b
test dword [esi + 0x30], 0x400
je 0x1001025b
mov dword [esi + 0x28], 0x43e10000
movaps xmm0, xmm2
comiss xmm0, xmm1
jbe 0x10010270
test dword [esi + 0x30], 0x200
je 0x10010270
mov dword [esi + 0x28], 0xc3e10000
pop edi
pop esi
mov esp, ebp
pop ebp
ret