The calculated distance (air line) between Asadābād and Upper Dir is approximately 47 miles respectively 76 kilometers.
By car or train, the actual journey to Upper Dir is certainly longer, as only the direct route (as the crow flies) between Asadābād and Upper Dir has been calculated here.