EncloseSubCondition

UINT64 __stdcall EncloseSubCondition(WCHAR **ConditionStr){
  UINT8 v1; 
  UINT64 v2; 
  unsigned int v4; 
  WCHAR *v5; 
  __int64 v7; 
  unsigned __int64 v8; 
  UINT64 v9; 
  unsigned __int64 v10; 
  WCHAR *v11; 
  WCHAR *v12; 

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

Referenced by:

LocalpGetStringForCondition