Those all use admin-template, and they all have processModule behind them. If you are looking for code, then they can be found /wire/modules/process/ (https://github.com/ryancramerdesign/ProcessWire/tree/master/wire/modules/Process).
But modifying those files is not the way to go here (you should never edit files under /wire/). If you want to have this done:
Then you need to do this:
Create two roles, user and editor
Create new permission, give it name "page-publish" (name should be exactly that)
Edit those two roles, but add page-publish permission only for editor, but page-edit for both of them. Other permissions as you see fit.
Then edit home-template, access tab and allow edit / create / children for both editor and user roles.
Now your user-role users should be able to create and edit pages, but not publish them. Editors should be able publish unpublished pages.
Just for reference, there is the commit when this was added: https://github.com/ryancramerdesign/ProcessWire/commit/330d04d7054f27ce4cd8ed86952f270875488c55 (also be sure to run no more than 2 months old version of pw).