De Kock's unbeaten ton puts Proteas on top