you did not specify what was by Allen.
I did not see get_product_key() as an udf but there is getcdkey() which seems to accomplish the same.

so, I figure the non-udf part is yours. given that searchreg() is employed to find all the productid's, this part seems repeating:
 Code:
        If $product=""
          $guid="{" + split(split($value,"{")[1],"}")[0] + "}"
          if instr($value,"WOW6432Node")
            $product=readvalue("HKLM\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\" + $guid,"DisplayName")
          else
            $product=readvalue("HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\" + $guid,"DisplayName")
          endif
        endif
        If $Product
          $Key = Get_Product_Key(ReadValue(Join(Split($value,'<=>DigitalProductId'),''), 'DigitalProductID'))
            ? $Product + ': ' + $Key 
        EndIf
      EndIf

well, maybe MS does some extra mangling on the data, but yet this is:
$guid="{" + split(split($value,"{")[1],"}")[0] + "}"

that is wrong as if the value does not contain { kixtart will crash.

and then finally to your original actual question.
can someone help you integrate? yes. somebody can. if you actually give enough information in your post on what kind of database you are using.
usually this comes in a form that you have already started coding it but have issues with getting the calls right.
at the moment it looks to me that you want your code written by you.
if that is the case, unless you offer decent bounty, you can count me out.
_________________________
!

download KiXnet