Ahora, si quieres probar, podrias agarrar para el lado de la API SetWindowText. Con esa le puedes colocar texto a un cuadro de texto (valga la redundancia )
Hay muchas otras formas de hacerlo, pero habria que ver bien para decirte con certeza...
Pues, explicarlo es medio complicado porque debería hacerlo desde cero.
Básicamente, seguí la rutina de comprobación del serial y me dí cuenta que el programa primero carga el archivo este para identificar si ya está registrado.
El código lo puedes ver con Olly pero también puedes usar Dede para decompilarlo y verlo "estaticamente".
Por lo pronto, te paso unos BPs para Olly, donde puedes ver de que te estoy hablando:
En 419F1C se inicializa a cero la variable que tiene el valor que hemos cambiado en el archivo.
Y por ejemplo, si te fijas en 4114DA vas a ver cómo hace una comparación de un valor fijo con el valor cargado del archivo.
Si no has entendido nada, pues te recomiendo hacer el curso de Ricardo Narvaja: Olly desde cero.