Direct numerical simulation of a three-dimensional turbulent boundary layer