MiImageRvaRawEnumFirst

INT64 __fastcall MiImageRvaRawEnumFirst(_DWORD *a1, _DWORD *a2){
  unsigned int v2; 
  unsigned int *v3; 
  unsigned int i; 
  __int64(__fastcall *v7)(_DWORD *, unsigned int *, unsigned int *); 
  unsigned int v8; 
  INT64 result; 
  v2 = 0;
  v3 = a1 + 36;
  for( i = 0; i < a1[35]; v3 += 10 )
  {
    v7 = (__int64(__fastcall *)(_DWORD *, unsigned int *, unsigned int *))*((_QWORD *)v3 + 1);
    if( v7 )
    {
      v8 = v7(a1, v3 + 6, v3 + 1);
      *v3 = v8;
      if( v8 )
      {
        if( v2 )
        {
          if( v2 >= v8 )
            v2 = v8;
        }
        else
        {
          v2 = v8;
        }
      }
    }
    ++i;
  }
  if( a2 && v2 )
    *a2 = MiImageGetRawRvaState((UINT64)a1);
  result = v2;
  a1[66] = v2;
  return result;
}

Referenced by:

RtlpCompressRvaList