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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0xe8
mov eax, dword [0x10104a40]
xor eax, esp
mov dword [esp + 0xe4], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], ecx
mov ecx, dword [0x101c84fc]
mov dword [esp + 4], eax
push esi
push edi
mov eax, dword [ecx]
mov edi, dword [ebp + 0x10]
mov eax, dword [eax + 0x30]
call eax
mov ecx, dword [0x101c8500]
push eax
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
mov ecx, eax
test ecx, ecx
jne 0x100045f3
xor al, al
pop edi
pop esi
mov ecx, dword [esp + 0xe4]
xor ecx, esp
call fcn.100734be
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [0x101c866c]
xor esi, esi
movq xmm0, qword [eax + ecx]
mov eax, dword [eax + ecx + 8]
mov dword [esp + 0x28], eax
mov eax, dword [0x101c868c]
movss xmm3, dword [esp + 0x28]
movq qword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x20]
addss xmm0, dword [eax + ecx]
addss xmm3, dword [eax + ecx + 8]
movss dword [esp + 0x14], xmm0
movss xmm0, dword [esp + 0x24]
addss xmm0, dword [eax + ecx + 4]
mov eax, dword [0x101c8658]
mov ecx, dword [esp + 0xc]
movss dword [esp + 0x1c], xmm3
movss dword [esp + 0x18], xmm0
movss xmm0, dword [0x100a53d0]
mov eax, dword [ecx + eax]
mov dword [esp + 0x30], eax
movss dword [esp + 0x10], xmm0
lea eax, [esi + 3]
push eax
push dword [ebp + 0xc]
lea eax, [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x38]
push eax
call fcn.100048c0
movss xmm2, dword [esp + 0x34]
movss xmm3, dword [esp + 0x14]
movss xmm1, dword [esp + 0x38]
subss xmm2, xmm3
movss xmm4, dword [esp + 0x18]
movss xmm0, dword [esp + 0x3c]
subss xmm1, xmm4
movss xmm5, dword [esp + 0x1c]
subss xmm0, xmm5
mov byte [esp + 0x85], 1
movss dword [esp + 0x50], xmm2
mulss xmm2, xmm2
movss dword [esp + 0x54], xmm1
mulss xmm1, xmm1
movss dword [esp + 0x58], xmm0
mulss xmm0, xmm0
addss xmm1, xmm2
addss xmm1, xmm0
xorps xmm0, xmm0
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x100046ed
mov byte [esp + 0x85], 0
mov ecx, dword [0x101c850c]
lea edx, [esp + 0x90]
mov eax, dword [esp + 0xc]
push edx
mov dword [esp + 0x7c], 0
lea edx, [esp + 0x24]
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov byte [esp + 0x88], 1
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
movss dword [esp + 0x44], xmm3
movss dword [esp + 0x48], xmm4
movss dword [esp + 0x4c], xmm5
mov dword [esp + 0x24], vtable.SDK::CTraceFilterOneEntity.0
mov dword [esp + 0x28], eax
movups xmmword [esp + 0x94], xmm0
mov dword [esp + 0xb4], 0
movups xmmword [esp + 0xa4], xmm0
mov eax, dword [ecx]
push edx
push 0xffffffffffffffff
lea edx, [esp + 0x4c]
mov eax, dword [eax + 0x14]
push edx
call eax
movss xmm1, dword [esp + 0x9c]
movss xmm2, dword [esp + 0xa0]
subss xmm2, dword [esp + 0x18]
subss xmm1, dword [esp + 0x14]
movss xmm0, dword [esp + 0xa4]
subss xmm0, dword [esp + 0x1c]
mulss xmm2, xmm2
mulss xmm1, xmm1
mulss xmm0, xmm0
addss xmm2, xmm1
xorps xmm1, xmm1
addss xmm2, xmm0
cvtps2pd xmm0, xmm2
ucomisd xmm1, xmm0
ja 0x100047d6
sqrtsd xmm0, xmm0
jmp 0x100047db
call fcn.10079330
mov ecx, dword [esp + 0xc]
movss xmm1, dword [esp + 0x10]
cvtsd2ss xmm0, xmm0
cmp dword [esp + 0xdc], ecx
jne 0x10004817
comiss xmm1, xmm0
jbe 0x10004817
mov eax, dword [esp + 0xa4]
movaps xmm1, xmm0
movq xmm0, qword [esp + 0x9c]
movq qword [edi], xmm0
movss dword [esp + 0x10], xmm1
mov dword [edi + 8], eax
inc esi
cmp esi, 4
jl 0x10004665
cmp dword [esp + 0x30], 0x1e
jle 0x10004832
movss xmm0, dword [0x100a53ac]
jmp 0x1000483a
movss xmm0, dword [0x100a53b0]
mov ecx, dword [esp + 0xec]
comiss xmm0, xmm1
pop edi
pop esi
seta al
xor ecx, esp
call fcn.100734be
mov esp, ebp
pop ebp
ret 0xc