AuthzBasepValueInSet

VOID __stdcall AuthzBasepValueInSet(PKTIMER Timer){
  INT64 v1; 
  BOOL *v2; 
  char v3; 
  __int128 v4; 
  char v5; 
  BOOL *v6; 
  INT64 v7; 
  __int128 v8; 
  __int64 v9; 
  int NextValue; 
  INT64 v11; 
  int v12; 
  unsigned __int16 v13; 
  unsigned __int16 v14; 
  int v15; 
  int v16; 
  char v17; 
  int v18; 
  INT64 v19[2]; 
  __int128 v20; 
  __int64 v21; 
  INT64 a2[2]; 
  __int128 v23; 
  __int64 v24; 
  unsigned __int16 v25; 
  char v26; 
  int v27; 
  __int64 v28; 
  int v29; 
  __int64 v30; 
  v4 = *((_OWORD *)Timer + 1);
  v5 = v3;
  v21 = 0i64;
  *(_OWORD *)v19 = 0i64;
  v6 = v2;
  v20 = 0i64;
  v7 = v1;
  *v2 = 0;
  v8 = *(_OWORD *)Timer;
  v23 = v4;
  *(_OWORD *)a2 = v8;
  v24 = *((_QWORD *)Timer + 4);
  while( 1 )
  {
    v9 = *(unsigned int *)(v7 + 8);
    NextValue = AuthzBasepGetNextValue(v7, (INT64)&v25, (INT64)v2);
    v12 = NextValue;
    if( NextValue == -2147483622 )
      break;
    if( NextValue < 0 )
      goto LABEL_18;
    v13 = a2[0];
    if( LOWORD(a2[0]) == 4 )
    {
      v16 = AuthzBasepGetNextValue(v7, (INT64)v19, v11);
      v12 = v16;
      if( v16 == -2147483622 )
        break;
      if( v16 < 0 )
        goto LABEL_18;
      v17 = *(_BYTE *)(v7 + 4);
      v27 = 0;
      v14 = *(_WORD *)v7;
      v26 = v17;
      v28 = *(_QWORD *)(v7 + 16);
      v29 = *(_DWORD *)(v7 + 8);
      v30 = *(_QWORD *)(v7 + 32) + v9;
      v25 = v14;
    }
    else
    {
      v14 = v25;
    }
    if( AuthzBasepOperandValueTypesCompatible((INT64)a2) )
    {
      if( HIDWORD(a2[1]) == 1 )
        v13 = v14;
      if( !v13 )
        goto LABEL_14;
      if( v13 <= 2u )
      {
LABEL_30:
        v18 = AuthzBasepCompareIntegerOperands(0x80u, (INT64)a2);
        goto LABEL_31;
      }
      switch( v13 )
      {
        case 3u:
          v15 = AuthzBasepCompareUnicodeStringOperands(128, (INT64)a2, v6);
          goto LABEL_13;
        case 4u:
          v15 = AuthzBasepCompareFQBNOperands(0x80u, (INT64)a2, v6);
LABEL_13:
          v12 = v15;
          if( v15 < 0 )
            goto LABEL_18;
          break;
        case 5u:
          goto LABEL_28;
        case 6u:
          goto LABEL_30;
        case 0x10u:
LABEL_28:
          v18 = AuthzBasepCompareOctetStringOperands(0x80u, (INT64)a2);
LABEL_31:
          *v6 = v18;
          break;
      }
LABEL_14:
      if( *v6 )
        goto LABEL_15;
    }
    else if( !v5 )
    {
      v12 = -1073741406;
LABEL_15:
      if( v12 >= 0 )
        break;
LABEL_18:
      *v6 = -1;
      break;
    }
  }
  AuthzBasepRestartOperandValueEnumeration(v7);
}

Referenced by:

AuthzBasepEvaluateSetRelationship