ApiSetpSearchForApiSetHost

INT64 __fastcall ApiSetpSearchForApiSetHost(INT64 a1, const WCHAR *a2, UINT16 a3, INT64 a4){
  __int64 v4; 
  int v5; 
  int v7; 
  const WCHAR *v8; 
  INT64 v9; 
  SIZE_T v10; 
  int v11; 
  NTSTATUS v12; 
  v4 = *(unsigned int *)(a1 + 16);
  v5 = 1;
  v7 = *(_DWORD *)(a1 + 20) - 1;
  v8 = a2;
  v9 = v4 + a4;
  if( v7 >= 1 )
  {
    v10 = a3;
    do
    {
      v11 = (v5 + v7) >> 1;
      v12 = RtlCompareUnicodeStrings((SIZE_T)v8, v10, a4 + *(_DWORD *)(a4 + v4 + 20i64 * v11 + 4));
      if( v12 >= 0 )
      {
        if( v12 <= 0 )
          return a4 + v4 + 20i64 * v11;
        v5 = v11 + 1;
      }
      else
      {
        v7 = v11 - 1;
      }
      v8 = a2;
    }
    while( v5 <= v7 );
  }
  return v9;
}

Referenced by:

ApiSetResolveToHost