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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x556f45
mov eax, dword fs:[0]
push eax
sub esp, 0xd8
mov eax, dword [0x58829c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
movss dword [ebp - 0x80], xmm1
mov edi, ecx
mov dword [ebp - 0x8c], edi
mov ecx, dword [edi]
test ecx, ecx
je 0x461270
cmp dword [edi + 0x18], 1
jne 0x460a3f
mov eax, dword [ecx]
push 0
push ecx
mov byte [ebp - 0x79], 1
mov eax, dword [eax + 0x88]
movss dword [esp], xmm1
call eax
mov ecx, dword [0x58d464]
neg al
sbb al, al
and byte [ebp - 0x79], al
mov ecx, dword [ecx + 0x154]
push ecx
mov edx, dword [ecx]
mov ecx, dword [edx + 0xc0]
call ecx
mov eax, dword [edi]
movss xmm5, dword [0x5778b0]
movss xmm2, dword [0x577e90]
fstp dword [ebp - 0x84]
movss xmm3, dword [ebp - 0x84]
movss xmm4, dword [eax + 0x278]
mulss xmm3, dword [0x577b8c]
subss xmm5, xmm4
andps xmm3, xmm2
movaps xmm1, xmm5
movaps xmm0, xmm3
andps xmm1, xmm2
andps xmm0, xmm2
comiss xmm0, xmm1
jb 0x460956
mov dword [eax + 0x278], 0x437f0000
jmp 0x46098c
xorps xmm0, xmm0
comiss xmm0, xmm5
jbe 0x460968
movss xmm0, dword [0x577c44]
jmp 0x460970
movss xmm0, dword [0x577570]
mulss xmm3, xmm0
mov byte [ebp - 0x79], 0
movss dword [0x58d8f4], xmm0
addss xmm4, xmm3
movss dword [eax + 0x278], xmm4
mov eax, dword [0x58d464]
mov eax, dword [eax + 0x154]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc0]
call eax
mov eax, dword [edi]
movss xmm4, dword [0x5778b0]
movss xmm2, dword [0x577e90]
fstp dword [ebp - 0x84]
movss xmm3, dword [ebp - 0x84]
movss xmm5, dword [eax + 0x27c]
mulss xmm3, dword [0x577b7c]
subss xmm4, xmm5
andps xmm3, xmm2
movaps xmm1, xmm4
movaps xmm0, xmm3
andps xmm1, xmm2
andps xmm0, xmm2
comiss xmm0, xmm1
jb 0x460a08
cmp byte [ebp - 0x79], 0
movss xmm1, dword [ebp - 0x80]
mov dword [eax + 0x27c], 0x437f0000
je 0x460a3f
mov dword [edi + 0x18], 2
jmp 0x460a3f
xorps xmm0, xmm0
comiss xmm0, xmm4
jbe 0x460a1a
movss xmm0, dword [0x577c44]
jmp 0x460a22
movss xmm0, dword [0x577570]
movss xmm1, dword [ebp - 0x80]
mulss xmm3, xmm0
movss dword [0x58d8f4], xmm0
addss xmm5, xmm3
movss dword [eax + 0x27c], xmm5
cmp dword [edi + 0x18], 3
jne 0x460bae
mov ecx, dword [edi]
push 1
push ecx
mov byte [ebp - 0x79], 1
mov eax, dword [ecx]
movss dword [esp], xmm1
mov eax, dword [eax + 0x88]
call eax
mov ecx, dword [0x58d464]
neg al
sbb al, al
and byte [ebp - 0x79], al
mov ecx, dword [ecx + 0x154]
push ecx
mov edx, dword [ecx]
mov ecx, dword [edx + 0xc0]
call ecx
mov eax, dword [edi]
movss xmm2, dword [0x577e90]
fstp dword [ebp - 0x84]
movss xmm3, dword [ebp - 0x84]
mulss xmm3, dword [0x577b8c]
movss xmm4, dword [eax + 0x278]
movaps xmm5, xmm4
xorps xmm5, xmmword [0x577ec0]
andps xmm3, xmm2
movaps xmm1, xmm5
movaps xmm0, xmm3
andps xmm1, xmm2
andps xmm0, xmm2
comiss xmm0, xmm1
jb 0x460ad1
mov dword [eax + 0x278], 0
jmp 0x460b07
xorps xmm0, xmm0
comiss xmm0, xmm5
jbe 0x460ae3
movss xmm0, dword [0x577c44]
jmp 0x460aeb
movss xmm0, dword [0x577570]
mulss xmm3, xmm0
mov byte [ebp - 0x79], 0
movss dword [0x58d8f4], xmm0
addss xmm4, xmm3
movss dword [eax + 0x278], xmm4
mov eax, dword [0x58d464]
mov eax, dword [eax + 0x154]
push eax
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc0]
call eax
mov eax, dword [edi]
movss xmm2, dword [0x577e90]
fstp dword [ebp - 0x84]
movss xmm3, dword [ebp - 0x84]
mulss xmm3, dword [0x577b98]
movss xmm4, dword [eax + 0x27c]
movaps xmm5, xmm4
xorps xmm5, xmmword [0x577ec0]
andps xmm3, xmm2
movaps xmm1, xmm5
movaps xmm0, xmm3
andps xmm1, xmm2
andps xmm0, xmm2
comiss xmm0, xmm1
jb 0x460b7c
cmp byte [ebp - 0x79], 0
mov dword [eax + 0x27c], 0
je 0x460bae
mov dword [edi + 0x18], 4
jmp 0x460bae
xorps xmm0, xmm0
comiss xmm0, xmm5
jbe 0x460b8e
movss xmm0, dword [0x577c44]
jmp 0x460b96
movss xmm0, dword [0x577570]
mulss xmm3, xmm0
movss dword [0x58d8f4], xmm0
addss xmm4, xmm3
movss dword [eax + 0x27c], xmm4
mov ecx, dword [edi]
xorps xmm1, xmm1
movss xmm0, dword [ecx + 0x278]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x460bd9
movss xmm0, dword [ecx + 0x27c]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jnp 0x461270
mov eax, dword [ecx]
call dword [eax + 0x38]
mov ecx, dword [edi]
mov eax, dword [ecx]
call dword [eax + 0x9c]
cmp dword [edi + 8], 0
je 0x461270
lea ecx, [ebp - 0x78]
call fcn.004995e0
mov dword [ebp - 4], 0
lea eax, [ebp - 0x78]
mov ecx, dword [edi + 8]
push eax
mov dword [ebp - 0x74], 0x47c35000
mov dword [ebp - 0x70], 0x47435000
mov dword [ebp - 0x64], 0x47435000
mov dword [ebp - 0x60], 0x46c35000
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x4c], 0x47c35000
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x40], 0x47c35000
mov dword [ebp - 0x3c], 0x47435000
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0x47435000
call fcn.00522270
mov esi, dword [edi + 8]
mov ecx, esi
call fcn.005242e0
mov ecx, esi
movaps xmm2, xmm0
call fcn.00524350
mulss xmm0, xmm2
xorps xmm1, xmm1
xor ecx, ecx
mov dword [ebp - 0x84], ecx
sqrtss xmm1, xmm0
xorps xmm0, xmm0
movaps xmm5, xmm0
movss dword [ebp - 0x80], xmm0
movss dword [ebp - 0x88], xmm5
cmp dword [esi + 0x9c], ecx
jle 0x460d43
mulss xmm1, dword [0x577598]
movss dword [ebp - 0x90], xmm1
jmp 0x460cc0
mov eax, dword [edi + 8]
mov eax, dword [eax + 0xa4]
mov esi, dword [eax + ecx*4]
mov ecx, esi
call fcn.00521110
cmp dword [esi + 0x30], 8
lea eax, [esi + 0x1c]
jb 0x460cde
mov eax, dword [eax]
mov ecx, dword [esi + 0x48]
push 1
push eax
call fcn.00544220
fstp dword [ebp - 0x94]
movss xmm0, dword [ebp - 0x94]
addss xmm0, dword [ebp - 0x80]
comiss xmm0, dword [ebp - 0x90]
movss dword [ebp - 0x80], xmm0
jb 0x460d23
comiss xmm0, dword [ebp - 0x88]
jbe 0x460d1b
movss dword [ebp - 0x88], xmm0
xorps xmm0, xmm0
movss dword [ebp - 0x80], xmm0
mov ecx, dword [ebp - 0x84]
mov eax, dword [edi + 8]
inc ecx
mov dword [ebp - 0x84], ecx
cmp ecx, dword [eax + 0x9c]
jl 0x460cc0
movss xmm5, dword [ebp - 0x88]
movss xmm6, dword [0x577514]
movaps xmm2, xmm5
mulss xmm2, dword [0x577528]
mov ecx, dword [edi]
movss xmm0, dword [0x5779a8]
add ecx, 0x210
movaps xmm1, xmm2
mulss xmm1, xmm6
subss xmm0, xmm1
movaps xmm1, xmm5
mulss xmm1, xmm6
cvttss2si eax, xmm0
movss xmm0, dword [0x577b3c]
subss xmm0, xmm1
movd xmm4, eax
cvtdq2ps xmm4, xmm4
cvttss2si eax, xmm0
movd xmm3, eax
cvttss2si eax, xmm5
cvtdq2ps xmm3, xmm3
movd xmm1, eax
cvttss2si eax, xmm2
cvtdq2ps xmm1, xmm1
movd xmm0, eax
movss dword [ecx + 4], xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm6
movss dword [ecx + 8], xmm0
mulss xmm0, xmm6
addss xmm1, xmm3
addss xmm0, xmm4
movss dword [ecx + 0x14], xmm1
movaps xmm1, xmm3
movss dword [ecx + 0x18], xmm0
movaps xmm0, xmm3
movss dword [ecx + 0x20], xmm3
movss dword [ecx + 0x24], xmm4
addss xmm0, dword [ecx + 4]
movss dword [ecx + 0x30], xmm4
movss dword [ecx + 0x2c], xmm0
movaps xmm0, xmm4
addss xmm1, dword [ecx + 4]
addss xmm0, dword [ecx + 8]
movss dword [ecx + 0x38], xmm1
movss dword [ecx + 0x3c], xmm0
addss xmm4, dword [ecx + 8]
movss dword [ecx + 0x44], xmm3
movss dword [ecx + 0x48], xmm4
mov eax, dword [edi]
mov dword [eax + 0x34], 0
mov eax, dword [edi]
mov dword [eax + 0x38], 0
mov ecx, dword [edi]
mov eax, dword [ecx + 0x24]
mov eax, dword [eax]
mov dword [ebp - 0x88], eax
lea esi, [eax + 0x40]
lea eax, [ecx + 0x210]
mov ecx, esi
push eax
call fcn.00444000
mov ecx, dword [ebp - 0x88]
push dword [edi + 8]
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0x88]
push esi
mov ecx, dword [ecx + 0xc4]
call fcn.00522270
mov dword [ebp - 0xc4], vtable.phVector2d.0
mov dword [ebp - 0xb8], vtable.phVector2d.0
mov ecx, dword [edi + 8]
lea eax, [ebp - 0xb8]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.00524420
mov eax, dword [edi]
add eax, 0x210
movss xmm3, dword [ebp - 0xb4]
movss xmm4, dword [ebp - 0xb0]
movaps xmm1, xmm3
movss xmm5, dword [ebp - 0xc0]
movaps xmm0, xmm4
movss xmm2, dword [ebp - 0xbc]
subss xmm1, xmm5
subss xmm0, xmm2
movss dword [eax + 4], xmm1
mulss xmm1, dword [0x577514]
movss dword [eax + 8], xmm0
mulss xmm0, dword [0x577514]
addss xmm1, xmm5
addss xmm0, xmm2
movss dword [eax + 0x14], xmm1
movss dword [eax + 0x18], xmm0
movss dword [eax + 0x20], xmm5
movss dword [eax + 0x24], xmm2
movss dword [eax + 0x2c], xmm3
movss dword [eax + 0x30], xmm2
movss dword [eax + 0x38], xmm3
movss dword [eax + 0x3c], xmm4
movss dword [eax + 0x44], xmm5
movss dword [eax + 0x48], xmm4
mov ecx, dword [edi]
lea eax, [ecx + 0x210]
add ecx, 0x40
push eax
call fcn.00444000
mov dword [ebp - 0xa0], vtable.phVector2d.0
movss xmm1, dword [edi + 0x10]
movss xmm0, dword [0x577b3c]
comiss xmm0, xmm1
mov ecx, dword [edi]
mov dword [ebp - 0x80], ecx
movss xmm6, dword [0x577514]
jb 0x460f6d
movss xmm2, dword [ecx + 0x44]
mulss xmm2, xmm6
addss xmm2, xmm1
addss xmm2, dword [0x577808]
jmp 0x460f85
movss xmm0, dword [ecx + 0x44]
movaps xmm2, xmm1
mulss xmm0, xmm6
subss xmm2, xmm0
subss xmm2, dword [0x577808]
movss xmm1, dword [ecx + 0x48]
movss xmm3, dword [edi + 0x14]
movss xmm5, dword [0x577b78]
movaps xmm4, xmm3
mulss xmm1, xmm6
movaps xmm0, xmm1
addss xmm0, xmm3
subss xmm5, xmm0
movaps xmm0, xmm3
subss xmm0, xmm1
xorps xmm1, xmm1
comiss xmm1, xmm5
subss xmm0, dword [0x577724]
jbe 0x460fc4
addss xmm4, xmm5
comiss xmm1, xmm0
jbe 0x460fd0
movaps xmm4, xmm3
addss xmm4, xmm0
cvttss2si eax, xmm2
movss xmm3, dword [0x577e90]
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm0
movaps xmm0, xmm2
movd xmm5, eax
cvtdq2ps xmm5, xmm5
subss xmm0, xmm5
andps xmm0, xmm3
comiss xmm0, xmm6
jbe 0x461018
comiss xmm1, xmm2
jbe 0x46100c
movss xmm0, dword [0x577c44]
jmp 0x461014
movss xmm0, dword [0x577570]
addss xmm5, xmm0
cvttss2si esi, xmm5
cvttss2si eax, xmm4
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x9c], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
cvttss2si eax, xmm0
movaps xmm0, xmm4
movd xmm2, eax
cvtdq2ps xmm2, xmm2
subss xmm0, xmm2
andps xmm0, xmm3
comiss xmm0, xmm6
jbe 0x46106b
comiss xmm1, xmm4
jbe 0x46105f
movss xmm0, dword [0x577c44]
jmp 0x461067
movss xmm0, dword [0x577570]
addss xmm2, xmm0
cvttss2si edi, xmm2
lea eax, [ecx + 0x50]
push eax
lea eax, [ebp - 0xe4]
push eax
lea ecx, [ebp - 0xa0]
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x98], xmm0
call fcn.00457080
movd xmm0, esi
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0xd8], vtable.phVector2d.0
movss dword [ebp - 0xd4], xmm0
movd xmm0, edi
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0xd0], xmm0
mov eax, dword [ebp - 0x80]
lea ecx, [ebp - 0xd8]
add eax, 0x50
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.00457080
mov ecx, dword [ebp - 0x80]
sub esp, 8
movd xmm0, edi
add ecx, 0x40
cvtdq2ps xmm0, xmm0
mov byte [ebp - 4], 6
mov eax, dword [ecx]
movss dword [esp + 4], xmm0
movd xmm0, esi
cvtdq2ps xmm0, xmm0
movss dword [esp], xmm0
call dword [eax + 8]
mov ecx, dword [ebp - 0x80]
sub esp, 8
movss xmm0, dword [ebp - 0xa4]
mov eax, dword [ecx]
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0xa8]
movss dword [esp], xmm0
call dword [eax + 0x78]
mov edx, dword [ebp - 0x8c]
mov ecx, dword [edx]
cvttss2si eax, dword [ecx + 0x48]
movd xmm1, eax
cvttss2si eax, dword [ecx + 0x44]
cvtdq2ps xmm1, xmm1
movd xmm0, eax
cvttss2si eax, dword [ecx + 0x64]
cvtdq2ps xmm0, xmm0
movd xmm3, eax
cvttss2si eax, dword [ecx + 0x60]
movss dword [ecx + 0x214], xmm0
mulss xmm0, dword [0x577514]
movss dword [ecx + 0x218], xmm1
mulss xmm1, dword [0x577514]
cvtdq2ps xmm3, xmm3
movd xmm2, eax
cvtdq2ps xmm2, xmm2
addss xmm1, xmm3
addss xmm0, xmm2
movss dword [ecx + 0x228], xmm1
movss dword [ecx + 0x224], xmm0
movss dword [ecx + 0x230], xmm2
movss dword [ecx + 0x234], xmm3
movss xmm0, dword [ecx + 0x214]
addss xmm0, xmm2
movss dword [ecx + 0x240], xmm3
movss dword [ecx + 0x23c], xmm0
movaps xmm0, xmm3
movss xmm1, dword [ecx + 0x214]
addss xmm0, dword [ecx + 0x218]
addss xmm1, xmm2
movss dword [ecx + 0x24c], xmm0
movss dword [ecx + 0x248], xmm1
addss xmm3, dword [ecx + 0x218]
movss dword [ecx + 0x254], xmm2
movss dword [ecx + 0x258], xmm3
mov ecx, dword [edx]
lea eax, [ecx + 0x210]
add ecx, 0x40
push eax
call fcn.00444000
mov esi, dword [ebp - 0x88]
lea eax, [ebp - 0xe4]
push eax
lea eax, [ebp - 0xac]
push eax
lea ecx, [esi + 0x50]
call fcn.00441d60
mov byte [ebp - 4], 7
mov edx, dword [esi]
push ecx
mov dword [esp], 0x447a0000
mov ecx, esi
push eax
call dword [edx + 0x7c]
mov dword [ebp - 0x78], 0x56c6c0
push fcn.00472f30
push 4
push 0xc
lea eax, [ebp - 0x5c]
mov dword [ebp - 4], 9
push eax
mov dword [ebp - 0x20], vtable.phVector2d.0
mov dword [ebp - 0x2c], vtable.phVector2d.0
call fcn.00551c40
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00551c1f
mov esp, ebp
pop ebp
ret