She was hunched over the toilet vomiting until midnight.
Literal
She [topic-は] midnight [until-まで] toilet [at-で] hunching was-vomiting.
夜半まで ('until midnight') uses 夜半 (やはん), a literary word for midnight. うつむいて吐いていた — うつむく ('to hang one's head, hunch over') + 吐く (はく, 'to vomit'). A vivid and unpleasant but descriptively rich sentence.