Es correcto lo que dice Karcrack, el codigo que use invoke con funciones cuya convencion de llamada sea C y tengan parametros jodera la pila.
"invoke in FASM is implemented as an external macro; as such, it cannot determine if the function being invoked is being called via import or directly, or if it's stdcall or c type (the PROTO directive is not used in FASM).
In other words, the invoke keyword in MASM, must be replaced in FASM with the appropriate macro:
● invoke (For stdcall function via import).
● cinvoke (For c function via import).
● stdcall (For direct call stdcall function).
● ccall (For direct call c function). "
http://www.winasm.net/what-is-fasm.html