EncloseSubCondition

UINT64 __stdcall EncloseSubCondition(WCHAR **ConditionStr){
  UINT64 v1; 
  unsigned int v3; 
  WCHAR *v4; 
  __int64 v6; 
  unsigned __int64 v7; 
  unsigned int v8; 
  unsigned __int64 v9; 
  WCHAR *v10; 
  WCHAR *v11; 
  int v12; 
  v3 = 0;
  v4 = *ConditionStr;
  if( *v4 != 40 )
  {
    v6 = -1i64;
    do
      ++v6;
    while( v4[v6] );
    v7 = 2i64 * (unsigned int)v6;
    if( v7 > 0xFFFFFFFF )
      return 534;
    v8 = v7 + 6;
    if( (int)v7 + 6 < (unsigned int)v7 )
    {
      return 534;
    }
    else
    {
      v9 = v8;
      SddlpAlloc(v8, v1);
      v11 = v10;
      if( v10 )
      {
        RtlStringCchPrintfW(v10, v9 >> 1, (WCHAR *)L"(%ls)");
        if( v12 >= 0 )
        {
          if( *ConditionStr )
            ExFreePoolWithTag(*ConditionStr, 0);
          *ConditionStr = v11;
        }
        else
        {
          ExFreePoolWithTag(v11, 0);
          return 50;
        }
      }
      else
      {
        return 8;
      }
    }
  }
  return v3;
}

Referenced by:

LocalpGetStringForCondition