I think it is David Villa and not Messi because if you notice carefully, Messi scores way more then Villa when he plays on Barcelona, but the Argentine rarely scores for Argentina. On the other hand, When Villa is on Barcelona, he doesn't score as much as Messi, but does a decent job.But the point is, he dominates when playing for his country(Spain).