From a programming perspective, Freedom's most basic task is to read and analyze the registry information that defines extensions, file types, and their relationships. The decision to store backups in precisely the same format RegEdit uses brought another interesting challenge. Freedom's lengthy ReadExtInfo method navigates a convoluted path through the registry to record all registered extensions and their associated file types.
File types are more complicated.
Unfortunately, there's no guarantee every subkey fitting that description is in fact a file type. The only sure way to identify a subkey as a file type is by its association with at least one extension, so only file types referenced by at least one registered extension are included in the list. If the subkey is the first reference to a particular registered file type, Freedom gathers and stores information on it and adds the internal name and data object to the file-types list. The utility also gathers and stores detailed information about the extension and adds the extension and data object to the extensions list. That's the overview.