CmpFreeKeyValueList

void __fastcall CmpFreeKeyValueList(__int64 Hive, _DWORD *a2){
  __int64 v4; 
  __int64 i; 
  __int64 v6; 

  v6 = 0xFFFFFFFFi64;
  if( *a2 )
  {
    v4 = 0i64;
    for( i = (*(__int64(__fastcall **)(__int64, _QWORD, __int64 *))(Hive + 8))(Hive, (unsigned int)a2[1], &v6);
          (unsigned int)v4 < *a2;
          v4 = (unsigned int)(v4 + 1) )
    {
      CmpFreeValue(Hive, *(unsigned int *)(i + 4 * v4));
    }
    HvFreeCell(Hive, a2[1]);
    if( i )
      (*(void(__fastcall **)(__int64, __int64 *))(Hive + 16))(Hive, &v6);
  }
}

Referenced by:

CmpFullPromoteSingleKeyFromKeyNodeStacks