Hola Yuki,
Es combeniente que el buffer sea de tamaño
len(Fuente2) + len(Fuente1) + 1 para el byte nulo de final de cadena.
Usa mejor
invoke para llamar a las API, queda un código mas corto y mas limpio y viene a ser lo mismo...
para las funciones de las librerias de C usa cinvoke, que te arregla la pila.
proc concatenar uses ecx,Fuente2,Fuente1 ; Retorna en EAX
cinvoke strlen, [Fuente2]
mov ESI, EAX
cinvoke strlen, [Fuente1
add ESI,EAX ; ecx = len(Fuente2) + len(Fuente1)
cinvoke malloc, esi
cinvoke strcpy, eax, edi
cinvoke strcat, eax, [Fuente2]
ret
endp
Ademas el buffer que crees con
malloc limpialo con
ZeroMemory o similares para que no contenga caracteres extraños, llegado el momento puedes tener lios con eso.
saludos y suerte con tu proyecto.