Ok, so the first thing I noticed (by turning on face normal overlays) is that the normals were going all over the place. To me, this suggested duplicate faces, so I used a Merge By Distance operation (Press M (merge) in the viewport and select "distance"). I increased the "merge distance" to .0101 and it removed 521 duplicate vertices which solved most of the problem, but not all.
Upon investigating the rest, I noticed that there are a number of interior faces - faces inside your mesh. Also, for some reason, the second time I tested this, deleting the faces left some "loose edges" - floating lines that still made it look strange even though the faces were gone. If yours still looks strange after the subsurf is applied, look for these inside the mesh (I found a couple in the large "tank" section).
Regardless, deleting them seems to solve the rest.
There are also some areas on the outside that have duplicate edges (this could be an unwanted result of the merge operation, but I can't be sure.) Deleting them (not dissolving them) seemed to clean that up.
So this is mostly solved, but there are a couple of new N-gons you will have to deal with somehow: