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.