Function at 0x4e67c0
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb0
mov eax, dword [0x58d464]
push esi
push edi
mov esi, ecx
mov eax, dword [eax + 0x154]
push eax
mov dword [ebp - 0x44], esi
mov edx, dword [eax]
mov eax, dword [edx + 0xc0]
call eax
fstp dword [ebp - 0xc]
movss xmm0, dword [ebp - 0xc]
xor edx, edx
addss xmm0, dword [esi + 0x364]
mov dword [ebp - 0x14], edx
movss dword [esi + 0x364], xmm0
cmp dword [esi + 0x1c0], edx
jle 0x4e6be4
nop
mov eax, dword [esi + 0x1c4]
xor ecx, ecx
mov dword [ebp - 0x10], ecx
mov eax, dword [eax + edx*4]
cmp dword [eax + 0x10], ecx
jle 0x4e6bd4
jmp 0x4e6830
mov eax, dword [esi + 0x1c4]
mov eax, dword [eax + edx*4]
mov edi, dword [eax + 0x18]
cmp dword [edi + ecx*4], 0
je 0x4e6bbe
mov edi, dword [edi + ecx*4]
cmp dword [edi + 0x20], 0xcc
je 0x4e6bbe
movss xmm0, dword [edi + 0x16c]
lea eax, [ebp - 0x50]
push eax
movss dword [ebp - 0x24], xmm0
lea eax, [ebp - 0x68]
movss xmm0, dword [edi + 0x170]
lea ecx, [ebp - 0x28]
push eax
mov dword [ebp - 0x28], vtable.phVector2d.0
movss dword [ebp - 0x20], xmm0
mov dword [ebp - 0x50], vtable.phVector2d.0
mov dword [ebp - 0x4c], 0x44480000
mov dword [ebp - 0x48], 0x43c80000
call fcn.00457080
movss xmm2, dword [ebp - 0x64]
movss xmm3, dword [ebp - 0x60]
movaps xmm0, xmm2
movaps xmm1, xmm3
mulss xmm0, xmm2
mov dword [ebp - 0x50], vtable.phVector2d.0
mulss xmm1, xmm3
mov dword [ebp - 0x40], vtable.phVector2d.0
movss dword [ebp - 0x18], xmm2
movss dword [ebp - 0x3c], xmm2
addss xmm1, xmm0
movss dword [ebp - 0x1c], xmm3
xorps xmm0, xmm0
movss dword [ebp - 0x38], xmm3
sqrtss xmm1, xmm1
ucomiss xmm1, xmm0
movss dword [ebp - 8], xmm1
lahf
test ah, 0x44
jp 0x4e68f6
movss dword [ebp - 8], xmm0
jmp 0x4e691e
movss xmm0, dword [0x577570]
divss xmm0, xmm1
mulss xmm2, xmm0
mulss xmm3, xmm0
movss dword [ebp - 0x18], xmm2
movss dword [ebp - 0x3c], xmm2
movss dword [ebp - 0x1c], xmm3
movss dword [ebp - 0x38], xmm3
movss xmm0, dword [0x5775a0]
mov dword [ebp - 0x5c], vtable.phVector2d.0
call sub.msvcr120.dll___libm_sse2_cosf
movss dword [ebp - 4], xmm0
movss xmm0, dword [0x5775a0]
call sub.msvcr120.dll___libm_sse2_sinf
movss xmm3, dword [ebp - 4]
lea eax, [ebp - 0xb0]
movaps xmm2, xmm3
lea ecx, [ebp - 0x5c]
mulss xmm2, dword [ebp - 0x18]
movaps xmm1, xmm0
push eax
mulss xmm1, dword [ebp - 0x1c]
mulss xmm0, dword [ebp - 0x18]
mulss xmm3, dword [ebp - 0x1c]
subss xmm2, xmm1
addss xmm0, xmm3
movss dword [ebp - 0x58], xmm2
movss xmm2, dword [ebp - 8]
movss dword [ebp - 0x54], xmm0
call fcn.00457050
movss xmm2, dword [0x577754]
lea ecx, [ebp - 0x40]
mov esi, eax
lea eax, [ebp - 0x98]
push eax
call fcn.00457050
push eax
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x28]
call fcn.00441d60
push esi
lea ecx, [ebp - 0x74]
push ecx
mov ecx, eax
call fcn.00441d60
movss xmm0, dword [edi + 0x1e0]
mov esi, eax
mulss xmm0, dword [ebp - 0xc]
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x34]
mov ecx, esi
push eax
mulss xmm0, dword [ebp - 8]
mulss xmm0, dword [0x577470]
andps xmm0, xmmword [0x577e90]
movss dword [ebp - 4], xmm0
call fcn.00457080
movss xmm2, dword [ebp - 0x30]
movss xmm3, dword [ebp - 0x2c]
movaps xmm1, xmm2
movaps xmm0, xmm3
mulss xmm1, xmm2
mulss xmm0, xmm3
addss xmm1, xmm0
xorps xmm0, xmm0
sqrtss xmm1, xmm1
ucomiss xmm1, xmm0
lahf
test ah, 0x44
jp 0x4e6a23
movaps xmm1, xmm0
jmp 0x4e6a41
movss xmm0, dword [0x577570]
divss xmm0, xmm1
mulss xmm2, xmm0
mulss xmm3, xmm0
movss dword [ebp - 0x30], xmm2
movss dword [ebp - 0x2c], xmm3
movss xmm0, dword [ebp - 4]
comiss xmm0, xmm1
jb 0x4e6a57
movss xmm3, dword [esi + 4]
movss xmm4, dword [esi + 8]
jmp 0x4e6a96
lea edx, [ebp - 0x34]
movaps xmm1, xmm0
lea ecx, [ebp - 0x8c]
call fcn.004570c0
push eax
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x28]
call fcn.00441d60
movss xmm3, dword [eax + 4]
movss xmm4, dword [eax + 8]
mov dword [ebp - 0xa4], vtable.phVector2d.0
mov dword [ebp - 0x8c], vtable.phVector2d.0
movss xmm5, dword [0x577514]
movaps xmm2, xmm4
movss dword [edi + 0x16c], xmm3
movss dword [edi + 0x170], xmm4
movss xmm0, dword [edi + 0x160]
movss xmm1, dword [edi + 0x15c]
mulss xmm0, xmm5
mov ecx, dword [ebp - 0x10]
mulss xmm1, xmm5
mov edx, dword [ebp - 0x14]
subss xmm2, xmm0
mov esi, dword [ebp - 0x44]
movaps xmm0, xmm3
mov dword [ebp - 0x34], vtable.phVector2d.0
subss xmm0, xmm1
mov dword [ebp - 0x74], vtable.phVector2d.0
movaps xmm1, xmm4
mov dword [ebp - 0x80], vtable.phVector2d.0
mov dword [ebp - 0x98], vtable.phVector2d.0
movss dword [edi + 0x17c], xmm2
mov dword [ebp - 0xb0], vtable.phVector2d.0
movss dword [edi + 0x178], xmm0
movss xmm0, dword [edi + 0x160]
mulss xmm0, xmm5
mov dword [ebp - 0x5c], vtable.phVector2d.0
mov dword [ebp - 0x40], vtable.phVector2d.0
mov dword [ebp - 0x28], vtable.phVector2d.0
subss xmm1, xmm0
movss xmm0, dword [edi + 0x15c]
mulss xmm0, xmm5
addss xmm0, xmm3
movss dword [edi + 0x188], xmm1
movss dword [edi + 0x184], xmm0
movss xmm1, dword [edi + 0x160]
movss xmm0, dword [edi + 0x15c]
mulss xmm1, xmm5
mulss xmm0, xmm5
addss xmm1, xmm4
addss xmm0, xmm3
movss dword [edi + 0x194], xmm1
movss dword [edi + 0x190], xmm0
movss xmm1, dword [edi + 0x160]
movss xmm0, dword [edi + 0x15c]
mulss xmm1, xmm5
mulss xmm0, xmm5
addss xmm1, xmm4
subss xmm3, xmm0
movss dword [edi + 0x1a0], xmm1
movss dword [edi + 0x19c], xmm3
mov eax, dword [esi + 0x1c4]
inc ecx
mov dword [ebp - 0x10], ecx
mov eax, dword [eax + edx*4]
cmp ecx, dword [eax + 0x10]
jl 0x4e6830
inc edx
mov dword [ebp - 0x14], edx
cmp edx, dword [esi + 0x1c0]
jl 0x4e6810
movss xmm0, dword [esi + 0x364]
comiss xmm0, dword [0x577620]
jbe 0x4e6c07
mov dword [esi + 0x364], 0
mov al, 1
pop edi
pop esi
mov esp, ebp
pop ebp
ret
pop edi
xor al, al
pop esi
mov esp, ebp
pop ebp
ret