El primero NO esta hecho en assembly sino en C, esta enlazado estaticamente con la Run Time library de VC++ (MSVCRT.dll), esta empaquetado y usa DirectDraw.
El segundo tambien esta empaquetado y tambien usa DirectDraw.
El tercero tambien esta empaquetado y usa Direct3D.
Puede que esten en assembly o no, pero eso da exactamente lo mismo, esto se suele hacer en C sin ningun problema.