ViThunkFindAPIContextByName

NTSTATUS __stdcall ViThunkFindAPIContextByName(INT8 *Str2){
  _QWORD **v1; 
  _QWORD *v2; 
  _QWORD *v3; 
  _QWORD *v5; 

  v3 = v2;
  if( Str2 && (v1 = (_QWORD **)VfDifAPIThunkContextHead) != 0i64 )
  {
    *v2 = 0i64;
    v5 = *v1;
    if( *v1 != v1 )
    {
      while( 1 )
      {
        LODWORD(v1) = stricmp((const char *)*(v5 - 2), Str2);
        if( !(_DWORD)v1 )
          break;
        v5 = (_QWORD *)*v5;
        if( v5 == (_QWORD *)VfDifAPIThunkContextHead )
          return(int)v1;
      }
      *v3 = v5 - 2;
    }
  }
  else
  {
    *v2 = 0i64;
  }
  return(int)v1;
}

Referenced by:

ViThunkSnapSharedExportByName