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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x144
cmp byte [0x102733da], 0
push ebx
push esi
push edi
mov ebx, ecx
je 0x1001e960
mov edi, dword [0x1023d288]
test edi, edi
je 0x1001e960
mov eax, dword [0x1023d284]
test eax, eax
jne 0x1001e0d3
mov edx, 0xe80c2f78
mov ecx, 0x1021170d
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x10211635
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
mov dword [0x1023d284], eax
cmp dword [edi + eax], 0
jle 0x1001e960
call fcn.1000c050
cmp eax, 9
je 0x1001e960
call fcn.1000c050
cmp eax, 8
je 0x1001e960
mov eax, dword [0x1023d310]
mov edi, dword [0x1023d288]
test eax, eax
jne 0x1001e136
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 + 0x1c], xmm0
xorps xmm0, xmm0
movss xmm1, dword [esp + 0x20]
movss dword [esp + 0x18], xmm0
movss xmm0, dword [esp + 0x1c]
mulss xmm0, xmm0
mov dword [esp + 0x24], eax
mulss xmm1, xmm1
mov dword [esp + 0xd0], 0
addss xmm1, xmm0
movss xmm0, dword [esp + 0x24]
mulss xmm0, xmm0
addss xmm1, xmm0
movss dword [esp + 0x14], xmm1
sqrtss xmm0, dword [esp + 0x14]
movss dword [esp + 0xd0], xmm0
mov esi, dword [0x102732e8]
mov edi, dword [0x1023d288]
test esi, esi
jne 0x1001e1d9
mov edx, 0xe80c2f78
mov ecx, 0x10211ac1
call fcn.100050d0
mov edx, 0xc10bf213
mov ecx, 0x10211635
mov esi, eax
call fcn.100050d0
mov edx, esi
mov ecx, eax
call fcn.1011f760
mov esi, eax
mov dword [0x102732e8], esi
movss xmm0, dword [edi + esi]
mulss xmm0, dword [0x1022f8d4]
call sub.api_ms_win_crt_math_l1_1_0.dll___libm_sse2_cosf
movss xmm1, dword [edi + esi + 4]
mulss xmm1, dword [0x1022f8d4]
movss dword [esp + 0x14], xmm0
movaps xmm0, xmm1
call fcn.10184cd0
movaps xmm1, xmm0
mov dword [esp + 0x30], 0
shufps xmm1, xmm0, 1
lea ecx, [esp + 0x28]
mulss xmm1, dword [esp + 0x14]
mulss xmm0, dword [esp + 0x14]
movss dword [esp + 0x28], xmm1
movss dword [esp + 0x2c], xmm0
call fcn.1011f590
mov eax, dword [0x1023d21c]
mov ecx, dword [0x1023d288]
mov edi, ecx
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 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 + 0x118], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x110], 0
test eax, eax
jne 0x1001e34b
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 ecx, dword [0x1023d288]
mov dword [0x1023d21c], eax
movss xmm1, dword [0x1022fbf8]
movss xmm0, dword [esp + 0x28]
mulss xmm0, xmm1
addss xmm0, dword [edi + eax]
movss dword [esp + 0x34], xmm0
movss xmm0, dword [esp + 0x2c]
mulss xmm0, xmm1
addss xmm0, dword [edi + eax + 4]
movss dword [esp + 0x38], xmm0
movss xmm0, dword [esp + 0x30]
mulss xmm0, xmm1
addss xmm0, dword [edi + eax + 8]
lea eax, [esp + 0x138]
push eax
movss dword [esp + 0x40], xmm0
call fcn.100050f0
lea ecx, [esp + 0x34]
push ecx
push eax
lea ecx, [esp + 0xe8]
call fcn.10004fd0
mov esi, dword [0x1023d288]
movss xmm0, dword [esp + 0x18]
mov dword [esp + 0x40], vtable.trace_filter.0
mov dword [esp + 0x44], esi
nop dword [eax + eax]
movaps xmm1, xmm0
mulss xmm1, dword [0x1022f8d4]
movaps xmm0, xmm1
call fcn.10184cd0
movss xmm1, dword [esp + 0x2c]
movaps xmm2, xmm0
movss xmm3, dword [esp + 0x28]
mov edi, esi
mov eax, dword [0x1023d21c]
mulss xmm1, xmm0
shufps xmm2, xmm0, 1
mulss xmm3, xmm2
subss xmm3, xmm1
movss xmm1, dword [esp + 0x28]
mulss xmm1, xmm0
movss xmm0, dword [esp + 0x2c]
mulss xmm0, xmm2
movss dword [esp + 0x14], xmm3
addss xmm1, xmm0
movss dword [esp + 0x10], xmm1
test eax, eax
jne 0x1001e471
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 esi, dword [0x1023d288]
movss xmm3, dword [esp + 0x14]
movss xmm1, dword [esp + 0x10]
mov dword [0x1023d21c], eax
movss xmm2, dword [0x1022fbf8]
movss xmm0, dword [esp + 0x30]
mulss xmm3, xmm2
mulss xmm1, xmm2
addss xmm3, dword [edi + eax]
mulss xmm0, xmm2
addss xmm1, dword [edi + eax + 4]
addss xmm0, dword [edi + eax + 8]
lea eax, [esp + 0x54]
movss dword [esp + 0x54], xmm3
push eax
push ecx
lea eax, [esp + 0x14c]
movss dword [esp + 0x60], xmm1
push eax
mov ecx, esi
movss dword [esp + 0x68], xmm0
call fcn.100050f0
add esp, 4
lea ecx, [esp + 0xe4]
push eax
call fcn.10004fd0
mov ecx, dword [0x1023d210]
lea edx, [esp + 0x60]
push edx
lea edx, [esp + 0x44]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0xe8]
push 0x201400b
push edx
call dword [eax + 0x14]
movss xmm0, dword [0x1022f9c8]
comiss xmm0, dword [esp + 0x8c]
jbe 0x1001e720
movss xmm0, dword [esp + 0x80]
movss xmm1, dword [0x1022f8fc]
comiss xmm1, xmm0
jbe 0x1001e5e4
comiss xmm0, dword [0x1022fc58]
jbe 0x1001e5e4
movq xmm0, qword [esp + 0x78]
lea ecx, [esp + 0x48]
mov eax, dword [esp + 0x80]
movq qword [esp + 0x48], xmm0
mov dword [esp + 0x50], eax
call fcn.1011f590
movss xmm0, dword [esp + 0x1c]
mulss xmm0, dword [esp + 0x48]
mov eax, dword [0x1023d310]
movss xmm2, dword [esp + 0x20]
mulss xmm2, dword [esp + 0x4c]
mov edi, dword [0x1023d288]
addss xmm2, xmm0
movss xmm0, dword [esp + 0x24]
mulss xmm0, dword [esp + 0x50]
addss xmm2, xmm0
movss xmm0, dword [esp + 0x24]
mulss xmm2, dword [esp + 0x50]
subss xmm0, xmm2
mulss xmm0, dword [esp + 0xd0]
movss dword [esp + 0x10], xmm0
test eax, eax
jne 0x1001e713
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]
jmp 0x1001e70e
comiss xmm0, xmm1
jbe 0x1001e720
movss xmm1, dword [0x1022f964]
comiss xmm1, xmm0
jbe 0x1001e720
movq xmm0, qword [esp + 0x78]
lea ecx, [esp + 0xb8]
mov eax, dword [esp + 0x80]
movq qword [esp + 0xb8], xmm0
mov dword [esp + 0xc0], eax
call fcn.1011f590
mov ecx, dword [0x1023d1c8]
push str.sv_gravity
mov eax, dword [ecx]
call dword [eax + 0x44]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x30]
mov dword [esp + 0x10], ecx
mov ecx, eax
call dword [esp + 0x10]
mov ecx, dword [0x1023d1c8]
push str.sv_friction
fstp dword [esp + 0x18]
mov eax, dword [ecx]
call dword [eax + 0x44]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x30]
mov dword [esp + 0x10], ecx
mov ecx, eax
call dword [esp + 0x10]
mov eax, dword [0x102732d0]
mov edi, dword [0x1023d288]
mov dword [esp + 0x10], edi
fstp dword [esp + 0xc]
test eax, eax
jne 0x1001e6b4
mov edx, 0xe80c2f78
mov ecx, 0x10211ad1
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 [0x102732d0], eax
mov ecx, dword [esp + 0x10]
movss xmm0, dword [esp + 0x14]
mulss xmm0, dword [ecx + eax]
mov eax, dword [0x1023d310]
divss xmm0, dword [esp + 0xc]
xorps xmm0, xmmword [0x1022fee0]
movss dword [esp + 0xc], xmm0
test eax, eax
jne 0x1001e713
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 + 0xc]
mov dword [0x1023d310], eax
movss dword [edi + eax + 8], xmm0
mov dword [ebx + 0x14], 0
call fcn.10027840
mov ecx, ebx
call fcn.100273c0
mov ecx, dword [0x1023d210]
lea edx, [esp + 0x60]
push edx
lea edx, [esp + 0x44]
push edx
mov eax, dword [ecx]
lea edx, [esp + 0xe8]
push 0x201400b
push edx
call dword [eax + 0x14]
call fcn.10027ab0
movss xmm0, dword [0x1022f9c8]
comiss xmm0, dword [esp + 0x8c]
jbe 0x1001e934
movss xmm0, dword [esp + 0x80]
movss xmm1, dword [0x1022f8fc]
comiss xmm1, xmm0
jbe 0x1001e7f8
comiss xmm0, dword [0x1022fc58]
jbe 0x1001e7f8
movq xmm0, qword [esp + 0x78]
lea ecx, [esp + 0x34]
mov eax, dword [esp + 0x80]
movq qword [esp + 0x34], xmm0
mov dword [esp + 0x3c], eax
call fcn.1011f590
movss xmm0, dword [esp + 0x1c]
mulss xmm0, dword [esp + 0x34]
mov edi, dword [0x1023d288]
movss xmm2, dword [esp + 0x20]
mulss xmm2, dword [esp + 0x38]
addss xmm2, xmm0
movss xmm0, dword [esp + 0x24]
mulss xmm0, dword [esp + 0x3c]
addss xmm2, xmm0
movss xmm0, dword [esp + 0x24]
mulss xmm2, dword [esp + 0x3c]
subss xmm0, xmm2
mulss xmm0, dword [esp + 0xd0]
jmp 0x1001e8e4
comiss xmm0, xmm1
jbe 0x1001e934
movss xmm1, dword [0x1022f964]
comiss xmm1, xmm0
jbe 0x1001e934
movq xmm0, qword [esp + 0x78]
lea ecx, [esp + 0xc4]
mov eax, dword [esp + 0x80]
movq qword [esp + 0xc4], xmm0
mov dword [esp + 0xcc], eax
call fcn.1011f590
mov ecx, dword [0x1023d1c8]
push str.sv_gravity
mov eax, dword [ecx]
call dword [eax + 0x44]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x30]
mov dword [esp + 0xc], ecx
mov ecx, eax
call dword [esp + 0xc]
mov ecx, dword [0x1023d1c8]
push str.sv_friction
fstp dword [esp + 0x14]
mov eax, dword [ecx]
call dword [eax + 0x44]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x30]
mov dword [esp + 0xc], ecx
mov ecx, eax
call dword [esp + 0xc]
mov eax, dword [0x102732d0]
mov edi, dword [0x1023d288]
mov dword [esp + 0xc], edi
fstp dword [esp + 0x14]
test eax, eax
jne 0x1001e8c8
mov edx, 0xe80c2f78
mov ecx, 0x10211ad1
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 [0x102732d0], eax
mov ecx, dword [esp + 0xc]
movss xmm0, dword [esp + 0x10]
mulss xmm0, dword [ecx + eax]
divss xmm0, dword [esp + 0x14]
xorps xmm0, xmmword [0x1022fee0]
mov eax, dword [0x1023d310]
movss dword [esp + 0xc], xmm0
test eax, eax
jne 0x1001e927
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 + 0xc]
mov dword [0x1023d310], eax
movss dword [edi + eax + 8], xmm0
mov dword [ebx + 0x14], 0
movss xmm0, dword [esp + 0x18]
addss xmm0, dword [0x1022fb00]
movss xmm1, dword [0x1022fbd0]
comiss xmm1, xmm0
movss dword [esp + 0x18], xmm0
jbe 0x1001e960
mov esi, dword [0x1023d288]
jmp 0x1001e3d0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret