EtwpCovSampCheckForSegments

INT64 __fastcall EtwpCovSampCheckForSegments(UINT64 *a1, UINT64 *a2, UINT64 a3){
  unsigned int v3; 
  unsigned int v5; 
  UINT64 *v6; 
  UINT64 v7; 
  UINT64 v8; 
  UINT16 *v9; 
  unsigned __int64 v10; 
  UINT64 v11; 
  __int16 *v12; 
  UINT16 *v13; 
  bool v14; 
  __int16 v15; 
  unsigned __int64 v18; 
  v3 = 0;
  v5 = a3;
  v6 = a1;
  if( !(_DWORD)a3 )
    return 0i64;
  while( 1 )
  {
    v7 = v6[1];
    v8 = a2[1];
    if( v7 >= v8 )
    {
      v9 = (UINT16 *)*v6;
      v10 = *v6 + 2 * (v7 - v8);
      v18 = v10;
      v11 = *a2 + 2 * v8;
      if( *v6 <= v10 )
        break;
    }
LABEL_12:
    ++v3;
    a2 += 2;
    if( v3 >= v5 )
      return 0i64;
  }
  while( 1 )
  {
    v12 = (__int16 *)*a2;
    v13 = v9;
    v14 = *a2 == v11;
    if( *a2 < v11 )
    {
      do
      {
        if( *v13 != *v12 )
        {
          v15 = *v12;
          if( towlower(*v13) != v15 )
            break;
        }
        ++v12;
        ++v13;
      }
      while( (unsigned __int64)v12 < v11 );
      v10 = v18;
      v14 = v12 == (__int16 *)v11;
    }
    if( v14 )
      return 1i64;
    if( (unsigned __int64)++v9 > v10 )
    {
      v6 = a1;
      goto LABEL_12;
    }
  }
}

Referenced by:

EtwpCovSampContextGetModule