De manera analoga a las funciones de la RTL de C, se declara el PROTO (el 99% son STDCALL) con el nombre de la funcion y sus parametros y despues se puede usar invoke.
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-messageboxincludelib user32.lib
MessageBoxA PROTO stdcall, :DWORD, :DWORD, :DWORD, :DWORD
...
.data
msg db "HOLA", 0
caption db "PRUEBA", 0
...
main proc
invoke MessageBoxA, 0, offset msg, offset caption, 0
Este trabajo de los PROTO viene ya hecho con MASM32 incluyendo si recuerdo bien windows.inc, ya hace varios años que no uso MASM32.
Es insostenible tener que mantener binarios para varias plataformas (x86, x64 y ahora viene ARM64 a toda maquina), es sin lugar a dudas mas duro escribir lo mismo sin tener las facilidades de la programacion orientada a objetos y/o generica. Programadores para un proyecto profesional que sean capaces de crear y mantenerlo en ensamblador ... en una empresa grande de software tal vez y con suerte tengas un par. No vale la pena el esfuerzo de escribir un proyecto entero en ensamblador, si es muy util para depurar y comprender problemas complejos que con solo saber C/C++ seran dificiles de solucionar. Si vale la pena aprenderlo y hacer proyectos puntuales, prototipos, depurar, etc. pero no me meteria en nada serio mas alla de un modulo .asm dentro de un proyecto en C/C++ cuando no hay mas remedio (solo lo necesite una vez en casi 18 años de carrera).