Address          Hex dump        Command    
--------------------------------------------
// здесь лежит финальный хэш md5
000C615E        FF75 FC         PUSH [DWORD SS:EBP-4]

// добавляем ASCII "0FD"
000C6161        68 2C620C00     PUSH pinch.000C622C ; ASCII "0FD"

// считаем хэш MD5(“salt”)
000C6166        8D55 E4         LEA EDX,[DWORD SS:EBP-1C]
000C6169        B8 38620C00     MOV EAX,pinch.000C6238 ; ASCII "salt"
000C616E        E8 75F7FFFF     CALL MD5
000C6173        8D45 E4         LEA EAX,[DWORD SS:EBP-1C]
000C6176        8D55 D4         LEA EDX,[DWORD SS:EBP-2C] 
000C6179        E8 F6F6FFFF     CALL HexToStr
000C617E        FF75 D4         PUSH [DWORD SS:EBP-2C]
000C6181        8D45 FC         LEA EAX,[DWORD SS:EBP-4]
000C6184        BA 03000000     MOV EDX,3
000C6189        E8 1EE7FAFF     CALL @LStrCat
000C618E        8D45 F8         LEA EAX,[DWORD SS:EBP-8]
000C6191        BA 48620C00     MOV EDX,pinch.000C6248 ; "Patching not allow from here...."
000C6196        E8 29E4FAFF     CALL @LStrAsg

// наш хэш + “FD” + хэш md5(“salt”)
000C619B        8B45 FC         MOV EAX,[DWORD SS:EBP-4]

// предвычисленный хэш того пароля, который мы должны найти
// 69760F818DDDE41CA42AE513DD7CD2F90FDCEB20772E0C9D240C75EB26B0E37ABEE 
000C619E        8B15 A47E0C00   MOV EDX,[DWORD DS:C7EA4] 
000C61A4        E8 8FE7FAFF     CALL StrCmp
000C61A9        75 27           JNZ SHORT error <------ хэши не равны, задача не решена

000C61AB         // вывод сообщения “Solved” (хэши равны)
...

error:
000C61D2         // хэши не равны
...

exit:
000C61DF        ...
000C6216        C3                         RETN