Install:

 Place the gpf2.exe in the folder where your savegame located. It's required.

Uninstall:

 Delete gpf2.exe and all *.sav.gpf2 files.

Usage:

 Notes:

 1. Savegame MUST be uncompressed. 
    (Game Options - Game Settings - Save Compressed - No)

 2. If you change your savegame name form 'something1.sav' to 'something2.sav',
    then you MUST change name of GPF-file form 'something1.sav.gpf2' to 
    'something2.sav.gpf2'. When you delete you savegame, delete .sav.gpf2 
    file too.

 3. I removed all labels about 'loading this' or 'initialising that', so   
    simply wait some time when utility is loading data.

 First run:

 Save the game, run program, load savegame. GPF2 creates Snapshot (file with
 current information of all players in game). It's highly recommended to  
 do this early in game, perfectly right after starting new game.  
 Obviously, there is nothing to find after first run, so GPF2 closes 
 after this.

 Searching:

 After some time of playing you can feel that the time for search comes :) 
 Save the game, run program, load savegame. You'll see two grids and search 
 edits. Left ones for 'normal' players (ancestors, 'fathers'), right ones - 
 'regenerated' (descendants, 'sons'). Find player by search edit and  
 double-click on him to find his ancestor/descendant.

 'Build changes list' button make list of all changes (1st player in left 
 list is ancestor for 1st player in right list and so on). This is implemented 
 for testing (in fact, quite useless). Note: this probably will not work 
 further in game with many leagues loaded (technically when number of 
 changes exceed 32000). 

Small FAQ about regeneration. All answers are my personal IMHO and only Marc 
Vaughan knows the truth. :)

 Q: What is regeneration?
 A: It's part of game engine. When some player retires from playing - new    
    player is generated by game. New player has same potential ability and    
    some other attributes. In fact this means - when Zidane retires, great
    French youngster appear.

 Q: Well, is regeneration applied to all players?
 A: Yes. Any player will have descendant and any generated player have
    ancestor. No exception for this rule.

 Q: If player retires, but stays in game as coach - will new player come?
 A: Yes.

 Q: And what attributes stays the same?
 A: I didn't do big research about that, so try to configure it out.

 Q: But what about mental stats (determination, professionalism, etc.)? 
 A: Technically it comes from other player. It's good point in regeneration
    system - for example, Zidane's descendant can be so perfect as Zidane, 
    but also so mad as Djalminha and vice versa.

 Q: Well, but how you can search ancestor-descendant link, if you don't know    what attributes stay the same?
 A: PlayerId (not StaffId) always stays the same. And it's unique for any
    player in game, of course.

 Q: What time is regeneration take?
 A: Usually several weeks. Maximum time is 6 month (imho). And I think, most
    regenerations take place during game update between seasons.

 Q: How regenerated player comes in game?
 A: On free transfer or directly in some team (i.e. from youth academy). 

 Q: Is regenerated player always youngster?
 A: No. Sometimes (especially for nations with few players in game) he's    
    not youngster (for example, he can be 26 years old).

 Q: By using your utility I found that player regenerates at middle of
    first season from one who was 18 years old at the start of the game. How?
 A: When the player with low reputation stays on free transfer for long time
    (3-6 month, I think) - he retires regardless of age. It's very common thing
    at start of the game, btw.

 Q: Is using this utility cheating?
 A: Yes, sure. :)

 Q: And why you create it then? :)
 A: I hate regeneration system in CM and hope that it will be changed in
    future versions. You can consider this utility as my protest :)

 Q: Can I refresh Snapshot to reflect changes of players further in game?
 A: Don't see any reason for this, but you can - delete .sav.gpf2 file and
    utility will create new one.

Contact:
 Dirty Andy or Andrei Yakovenko (if you think that my nick is not so good :) )
 <dirtyandy@vladivostok.net>

p.s. Sorry for my English, it's not my native.
