The AreaRegistration.RegisterAllAreas();
registers each area route with the DataTokens["area"]
where the value is the name of the area.
So you can get the registered area names from the RouteTable
var areaNames = RouteTable.Routes.OfType<Route>()
.Where(d => d.DataTokens != null && d.DataTokens.ContainsKey("area"))
.Select(r => r.DataTokens["area"]).ToArray();
If you are looking for the AreaRegistration
themselves you can use reflection to get types which derives from AreaRegistration
in your assambly.