Basically the kernel load the exe from the filesystem to memory and create a process out of it.
Exe file contain different sections, at least one code section and a data section, as well as an exported entry point which tell the loader where the code start inside of the code section.
The kernel loads each sections in memory, and resolve reference to the data used by the code, and insert the program in the process table.
But ill make a more in depth post for this.