RtlEnumerateHotPatchPatches

CHAR __fastcall RtlEnumerateHotPatchPatches(_DWORD *a1, UINT64 *a2, INT64 a3, _DWORD *a4){
  unsigned int HotPatchSize; 
  unsigned int *v7; 
  unsigned int v8; 
  __int64 v9; 
  unsigned int v10; 
  unsigned int v11; 
  int i; 
  HotPatchSize = RtlGetHotPatchSize(a1);
  v8 = *v7;
  v9 = HotPatchSize;
  while( v8 )
  {
    v10 = v8 >> 31;
    v11 = v8 & 0xFC000;
    a2 = (UINT64 *)((char *)a2 + 4);
    for( i = v8 & 0xFFF; i; --i )
    {
      LOBYTE(HotPatchSize) = MiPrepareToHotPatchImagePatchCallback(a4, (INT64)a2, v11, v10);
      if( (_BYTE)HotPatchSize )
        break;
      a2 = (UINT64 *)((char *)a2 + 4 * v9);
    }
    v8 = *(_DWORD *)a2;
  }
  return HotPatchSize;
}

Referenced by:

MiPrepareToHotPatchImage