StringCchPrintfExW

VOID __fastcall StringCchPrintfExW(_EX_PUSH_LOCK *a1, INT64 a2){
  WCHAR **v2; 
  unsigned __int64 *v3; 
  unsigned __int64 *v6; 
  int v7; 
  wchar_t *v8; 
  unsigned __int64 v9; 
  const wchar_t *v10; 
  int v11; 
  HRESULT v12; 
  size_t v13; 
  STRSAFE_LPWSTR ppszDestEnd; 
  size_t pcchNewDestLength[2]; 
  WCHAR **v16; 
  DWORD dwFlags; 
  STRSAFE_LPCWSTR pszFormat; 
  char argList; 
  v16 = v2;
  v6 = v3;
  v7 = 0;
  if( (dwFlags & 0x100) != 0 )
  {
    if( !a1 && a2 || (unsigned __int64)a2 > 0x7FFFFFFF )
      v7 = -2147024809;
  }
  else if( (unsigned __int64)(a2 - 1) > 0x7FFFFFFE )
  {
    v7 = -2147024809;
  }
  if( v7 < 0 )
  {
    if( a2 )
      *(_WORD *)&a1->0 = 0;
  }
  else
  {
    ppszDestEnd = (STRSAFE_LPWSTR)a1;
    v8 = (wchar_t *)a1;
    pcchNewDestLength[0] = a2;
    v9 = a2;
    if( (dwFlags & 0x100) != 0 )
    {
      v10 = &word_14001B020;
      if( pszFormat )
        v10 = pszFormat;
    }
    else
    {
      v10 = pszFormat;
    }
    if( (dwFlags & 0xFFFFE000) != 0 )
    {
      v11 = -2147024809;
      if( a2 )
        *(_WORD *)&a1->0 = 0;
    }
    else if( a2 )
    {
      pcchNewDestLength[0] = 0i64;
      v12 = StringVPrintfWorkerW((STRSAFE_LPWSTR)a1, a2, pcchNewDestLength, v10, &argList);
      v13 = pcchNewDestLength[0];
      v11 = v12;
      v9 = a2 - pcchNewDestLength[0];
      pcchNewDestLength[0] = a2 - pcchNewDestLength[0];
      v8 = (wchar_t *)a1 + v13;
      ppszDestEnd = v8;
      if( v12 >= 0 )
      {
        if( (dwFlags & 0x200) != 0 && v9 > 1 && 2 * v9 > 2 )
          memset((INT64)(v8 + 1), (unsigned __int8)dwFlags);
        goto LABEL_22;
      }
    }
    else
    {
      if( !*v10 )
      {
LABEL_22:
        if( v16 )
          *v16 = v8;
        if( v6 )
          *v6 = v9;
        return;
      }
      v11 = a1 != 0i64 ? -2147024774 : -2147024809;
    }
    if( (dwFlags & 0x1C00) != 0 && a2 )
    {
      StringExHandleOtherFlagsW((WCHAR *)a1, 2 * a2, v2, (UINT64 *)&ppszDestEnd, (UINT64)pcchNewDestLength);
      v8 = ppszDestEnd;
      v9 = pcchNewDestLength[0];
    }
    if( (int)(v11 + 0x80000000) < 0 || v11 == -2147024774 )
      goto LABEL_22;
  }
}

Referenced by:

AdtpBuildAccessReasonAuditStringInternal
AdtpBuildStagingReasonAuditStringInternal