CmpSearchSectionByName

__int64 **__fastcall CmpSearchSectionByName(__int64 ***a1, const char *a2){
  __int64 *i; 
  __int64 **v5; 
  const char *v7; 

  i = 0i64;
  if( a1 && a2 )
  {
    v5 = a1[1];
    i = (__int64 *)v5;
    if( v5 )
    {
      do
      {
        if( !stricmp((const char *)i[1], a2) )
          break;
        i = (__int64 *)*i;
      }
      while( i );
      if( i )
        goto LABEL_6;
    }
    for( i = (__int64 *)*a1; i; i = (__int64 *)*i )
    {
      if( i == (__int64 *)v5 )
        goto LABEL_19;
      v7 = (const char *)i[1];
      if( v7 )
      {
        if( !stricmp(v7, a2) )
          break;
      }
    }
    if( i != (__int64 *)v5 )
      goto LABEL_16;
LABEL_19:
    i = 0i64;
LABEL_16:
    if( i )
LABEL_6:
      a1[1] = (__int64 **)i;
  }
  return(__int64 **)i;
}

Referenced by:

CmpGetKeyName
CmpGetSectionLineIndex
CmpGetSectionLineIndexValueCount
EmpInfParseGetSectionLineCount