Do you understand that internal data structures entirely from the NT kernel, including (why?) their names != verbatim code from NT in your source
The program code is logic first of all.
For the similarities of names and structures itself - the answer is in this already mentioned video https://www.youtube.com/watch?v=2D9ExVc0G10&t=9m53s from the 9:53 moment of time. TL:DW there are a lot of legal ways of obtaining names of variables, exported functions and structures