MiValidateStrongCodeDriverImage

__int64 __fastcall MiValidateStrongCodeDriverImage(__int64 a1, char a2){
  int v3; 
  int *i; 
  int v5; 
  __int64 v6; 

  v3 = *(unsigned __int16 *)(a1 + 6);
  if( !*(_WORD *)(a1 + 6) )
    return 0i64;
  for( i = (int *)(a1 + *(unsigned __int16 *)(a1 + 20) + 60i64); ; i += 10 )
  {
    v5 = *i;
    if( (*i & 0x20000000) == 0 )
      goto LABEL_9;
    if( (v5 & 0x82000000) == 0x80000000 )
      break;
    v6 = (unsigned int)*(i - 5);
    if( ((v6 + 4095) & 0xFFFFFFFFFFFFF000ui64) < (((unsigned int)*(i - 7) + 4095i64) & 0xFFFFFFFFFFFFF000ui64) )
    {
      if( (a2 & 1) != 0 )
      {
        dword_140C4C958 = 195;
        return 3221225595i64;
      }
      if( (_DWORD)v6 || (v5 & 0x2000000) == 0 )
      {
        dword_140C4C958 = 196;
        return 3221225595i64;
      }
    }
LABEL_9:
    if( !--v3 )
      return 0i64;
  }
  dword_140C4C958 = 194;
  return 3221225595i64;
}

Referenced by:

MmLoadSystemImageEx