I think you should take Real Analysis, some Topology, and maybe Advanced Calculus to convince the admission committees of the schools you have indicated.
Your grades are pretty good. If you pick up a document indicating your class rank from the student affairs office of your institution, then you may have an advantage.
However, you will need a 800 in the quantitative section of GRE. 780 is also OK, but to be at the safe side is always better. Be aware that, even 800 is not a guarantee for admission.
550 verbal score is very very high. I have 340, and last year I have been admitted to Georgetown (tuition waiver) and Virginia. But I could not attend as I need full-funding.
This year I have been granted a full-funding Research Fellowship from a domestic institution in my country. So I will reapply and seek admission maybe from higher ranked schools (with the same scores).
In sum, if you need funding, then you have to apply to lower ranked schools, not to UMich or UPenn with your current credentials. Or you have to strengthen your math background by taking advanced mathematic courses.