AslStringSearchA

PSTR __stdcall AslStringSearchA(PSTR Text, UINT64 LengthCch, PSTR TextToSearchFor, UINT64 TextToSearchForLengthCch){
  CHAR *v4; 
  unsigned int v6; 
  unsigned int v7; 
  unsigned int v8; 
  unsigned int v9; 
  PSTR v10; 
  v4 = 0i64;
  v6 = LengthCch;
  if( (_DWORD)LengthCch && (unsigned int)TextToSearchForLengthCch <= (unsigned int)LengthCch )
  {
    v7 = 0;
    while( 1 )
    {
      v8 = 0;
      v9 = v7;
      if( (_DWORD)TextToSearchForLengthCch )
      {
        v10 = TextToSearchFor;
        while( v9 < v6 )
        {
          if( !Text[v9] && ++v9 >= v6 )
            return v4;
          if( Text[v9] == *v10 )
          {
            ++v8;
            ++v10;
            ++v9;
            if( v8 < (unsigned int)TextToSearchForLengthCch )
              continue;
          }
          break;
        }
      }
      if( v8 == (_DWORD)TextToSearchForLengthCch )
        return &Text[v7];
      if( ++v7 + (unsigned int)TextToSearchForLengthCch > v6 )
        return v4;
    }
  }
  return v4;
}

Referenced by:

SdbpCheckMatchingTextEntry