Только ручками и рюханием асмовского кода... впринципе при некотором навыке можно отметить наличие довольно часто повторяющегося кода. Для полного понимания нужно смотреть код на предмет перменных, констант и циклов, после того как каркас будет ясен можно смотреть куда Call-ы идут ну и ваять ручками в С по логике такую же программу

... ИМХО могу порекомендовать Ida Pro - довольно удачный дизасемблер.