AuthzBasepQueryClaimAttributesToken

INT64 __fastcall AuthzBasepQueryClaimAttributesToken(
        _AUTHZBASEP_SECURITY_ATTRIBUTES_INFORMATION *pInfo,
        VOID *pBuffer,
        UINT64 BufferLength,
        UINT64 *pReturnLength){
  UINT64 v7; 
  INT64 result; 
  int v9; 
  UINT64 pBufferSize; 
  pBufferSize = 0i64;
  *(_DWORD *)pReturnLength = 0;
  v7 = (unsigned int)BufferLength;
  if( pInfo->SecurityAttributeCount )
  {
    result = AuthzBasepGetClaimAttributesCopyoutBufferSize(pInfo, &pBufferSize);
    if( (int)result >= 0 )
    {
      v9 = pBufferSize;
      if( pBufferSize )
      {
        if( v7 >= pBufferSize )
        {
          memset((INT64)pBuffer, 0i64);
          LODWORD(result) = AuthzBasepCopyoutClaimAttributes(&pInfo->SecurityAttributeCount, pBuffer, v7);
        }
        else
        {
          result = 3221225507i64;
        }
        *(_DWORD *)pReturnLength = v9;
      }
      else
      {
        return 3221225485i64;
      }
    }
  }
  else
  {
    if( (unsigned int)BufferLength < 0x10 )
    {
      result = 3221225507i64;
    }
    else
    {
      *(_OWORD *)pBuffer = 0i64;
      *(_WORD *)pBuffer = 1;
      result = 0i64;
    }
    *(_DWORD *)pReturnLength = 16;
  }
  return result;
}

Referenced by:

NtQueryInformationToken
SeQueryInformationToken