i think he had a set of 9s, i doubt he had a big pair cuz he prolly woulda reraised you preflop cuz i doubt he has much respect for you. usually when u hold a big pair and you limp utg you plan on reraising, not just calling. then he raised you on the turn when the 3 came out because it completed a straight draw and he got scared. 99 sounds about right good laydown

edit: a draw also makes sense since he didnt raise the flop w/ that draw heavy board, maybe he decided to change it up w/ 45s since you had a caller before him so he had decent odds? i doubt he had just a flush draw, maybe a OESD w/ FD?