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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x174
push ebx
mov ebx, ecx
mov ecx, dword [0x1023d288]
mov dword [esp + 0x14], ebx
push esi
push edi
test ecx, ecx
je 0x100183a9
cmp byte [0x1027343b], 0
je 0x100183a9
lea eax, [esp + 0x34]
push eax
call fcn.100050f0
mov eax, dword [0x1023d310]
mov edi, dword [0x1023d288]
test eax, eax
jne 0x10018057
mov edx, 0xe80c2f78
mov ecx, 0x102119f5
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x1021165d
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
mov dword [0x1023d310], eax
movq xmm0, qword [edi + eax]
mov eax, dword [edi + eax + 8]
movq qword [esp + 0x20], xmm0
movss xmm0, dword [esp + 0x24]
movss xmm1, dword [esp + 0x20]
mulss xmm0, xmm0
mov dword [esp + 0x28], eax
mulss xmm1, xmm1
mov dword [esp + 0x130], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x128], 0
addss xmm1, xmm0
mov dword [esp + 0x13c], 0
movss xmm0, dword [esp + 0x28]
mulss xmm0, xmm0
mov dword [esp + 0x138], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x148], 0
addss xmm1, xmm0
mov dword [esp + 0x144], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0xc8], vtable.trace_world_only.0
mov dword [esp + 0x40], 0
movss dword [esp + 0x18], xmm1
sqrtss xmm0, dword [esp + 0x18]
movss dword [esp + 0x40], xmm0
movss xmm1, dword [esp + 0x40]
lea esi, [esp + 0x58]
movaps xmm0, xmm1
mov dword [esp + 0x58], 0
mulss xmm0, dword [0x1022f8fc]
mov dword [esp + 0x5c], 0
mulss xmm1, dword [0x1022f918]
mov dword [esp + 0x68], 0
addss xmm0, dword [0x1022fc0c]
mov dword [esp + 0x6c], 0
addss xmm1, dword [0x1022fb38]
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
movaps xmm3, xmm0
movss dword [esp + 0x64], xmm0
xorps xmm3, xmmword [0x1022fee0]
movss dword [esp + 0x80], xmm0
cvtps2pd xmm0, xmm0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x9c], 0
movss dword [esp + 0x18], xmm1
mulsd xmm0, qword [0x1022fa18]
mov dword [esp + 0xa8], 0
movss dword [esp + 0x60], xmm3
movss dword [esp + 0x70], xmm3
movss dword [esp + 0x8c], xmm3
cvtpd2ps xmm2, xmm0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xc0], 0
xorps xmm0, xmm0
cvtss2sd xmm0, xmm3
movss dword [esp + 0x94], xmm2
mulsd xmm0, qword [0x1022fa18]
movss dword [esp + 0x98], xmm2
movss dword [esp + 0xac], xmm2
movss dword [esp + 0xbc], xmm2
cvtpd2ps xmm0, xmm0
movss dword [esp + 0xa0], xmm0
movss dword [esp + 0xa4], xmm0
movss dword [esp + 0xb0], xmm0
movss dword [esp + 0xb8], xmm0
nop dword [eax]
movss xmm0, dword [esp + 0x34]
lea eax, [esp + 0x20]
addss xmm0, dword [esi]
push eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0xd8]
movss dword [esp + 0x28], xmm0
movss xmm0, dword [esp + 0x40]
addss xmm0, dword [esi + 4]
movss dword [esp + 0x2c], xmm0
movss xmm0, dword [esp + 0x44]
addss xmm0, dword [esi + 8]
movss dword [esp + 0x30], xmm0
call fcn.10004fd0
mov ecx, dword [0x1023d210]
lea edx, [esp + 0x128]
push edx
lea edx, [esp + 0xcc]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0xd8]
push 0x201400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [esp + 0x154]
ucomiss xmm0, dword [0x1022f9c8]
lahf
test ah, 0x44
jnp 0x10018390
movss xmm0, dword [esp + 0x13c]
movss xmm1, dword [esp + 0x3c]
comiss xmm1, xmm0
movss dword [esp + 0x10], xmm0
ja 0x100183b0
add esi, 0xc
lea eax, [esp + 0xc4]
cmp esi, eax
jne 0x100182f0
mov dword [ebx + 0x14], 0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x1023d1c8]
push str.sv_gravity
mov eax, dword [ecx]
call dword [eax + 0x44]
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x30]
call eax
fstp dword [esp + 0x14]
movss xmm0, dword [esp + 0x14]
addss xmm0, xmm0
mulss xmm0, dword [esp + 0x18]
sqrtss xmm0, xmm0
movss dword [esp + 0x30], xmm0
movss xmm0, dword [ebx + 0x10]
cvtps2pd xmm0, xmm0
mulsd xmm0, qword [0x1022f9d8]
cvtpd2ps xmm0, xmm0
call fcn.10184cd0
mov eax, dword [0x1023d310]
movaps xmm2, xmm0
movaps xmm1, xmm2
shufps xmm1, xmm2, 1
mulss xmm1, dword [esp + 0x30]
mulss xmm2, dword [esp + 0x30]
movaps xmmword [esp + 0x40], xmm1
movups xmmword [esp + 0x20], xmm2
test eax, eax
jne 0x10018457
mov edx, 0xe80c2f78
mov ecx, 0x102119f5
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x1021165d
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
mov dword [0x1023d310], eax
movss xmm0, dword [esp + 0x14]
mulss xmm0, dword [esp + 0x154]
mov edi, dword [0x1023d288]
mov ebx, edi
xorps xmm0, xmmword [0x1022fee0]
movss dword [esp + 0x14], xmm0
test eax, eax
jne 0x100184b9
mov edx, 0xe80c2f78
mov ecx, 0x102119f5
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x1021165d
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
mov edi, dword [0x1023d288]
movss xmm0, dword [esp + 0x14]
mov dword [0x1023d310], eax
movaps xmm1, xmmword [esp + 0x40]
movss dword [ebx + eax], xmm1
movups xmm1, xmmword [esp + 0x20]
movss dword [ebx + eax + 8], xmm0
movss dword [ebx + eax + 4], xmm1
mov eax, dword [0x1023d21c]
test eax, eax
jne 0x1001850b
mov edx, 0xe80c2f78
mov ecx, 0x10211651
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x1021165d
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
mov dword [0x1023d21c], eax
movss xmm0, dword [esp + 0x10]
addss xmm0, dword [esp + 0x18]
movss dword [edi + eax + 8], xmm0
mov eax, dword [0x1023d310]
mov edi, dword [0x1023d288]
movss dword [esp + 0x10], xmm0
test eax, eax
jne 0x10018566
mov edx, 0xe80c2f78
mov ecx, 0x102119f5
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x1021165d
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
movss xmm0, dword [esp + 0x10]
mov dword [0x1023d310], eax
movss dword [edi + eax + 8], xmm0
test byte [0x102734b8], 1
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x14], 0
je 0x100183a9
mov eax, dword [0x1023d310]
mov edi, dword [0x1023d288]
mov ebx, edi
test eax, eax
jne 0x100185c9
mov edx, 0xe80c2f78
mov ecx, 0x102119f5
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x1021165d
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
mov edi, dword [0x1023d288]
mov dword [0x1023d310], eax
movaps xmm0, xmmword [esp + 0x40]
movss xmm1, dword [esp + 0x14]
movss dword [ebx + eax], xmm0
movups xmm0, xmmword [esp + 0x20]
movss dword [ebx + eax + 8], xmm1
movss dword [ebx + eax + 4], xmm0
mov eax, dword [0x1023d21c]
test eax, eax
jne 0x10018621
mov edx, 0xe80c2f78
mov ecx, 0x10211651
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x1021165d
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
mov dword [0x1023d21c], eax
movss xmm0, dword [esp + 0x10]
movss dword [edi + eax + 8], xmm0
mov eax, dword [0x1023d310]
mov edi, dword [0x1023d288]
test eax, eax
jne 0x10018670
mov edx, 0xe80c2f78
mov ecx, 0x102119f5
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x1021165d
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
movss xmm0, dword [esp + 0x10]
mov dword [0x1023d310], eax
movss dword [edi + eax + 8], xmm0
mov eax, dword [esp + 0x1c]
pop edi
pop esi
pop ebx
mov dword [eax + 0x14], 0
mov esp, ebp
pop ebp
ret