Приложения на основе MFC не обязательно имеют четкое разделение между GUI и логикой программы. MFC организует вызовы функций в классах C ++, и эти классы могут содержать не только обработку GUI, но и всю логику приложения. Люди не всегда пишут приложения MFC с хрустальным шаром, говоря им, что кто-то захочет части с графическим интерфейсом в Java, сохраняя при этом все остальное.
Извините, ваш вопрос не совсем тот, к которому вы можете обратиться конкретно на такого рода форумах, которые помогут решить проблему, с которой вы столкнулись. Вы должны изучить приложение MFC изнутри и снаружи, разобрать его и сделать все возможное. Это может занять немало усилий и закончиться полным переписыванием (с логикой, заканчивающейся и в Java).
Переполнение стека работает лучше всего, когда у вас есть что-то конкретное, например пример кода, который не работает или должен быть преобразован в выполнение чего-то другого и т. Д.