StringCchCopyNW

__int64 __fastcall StringCchCopyNW(unsigned __int16 *a1, __int64 a2, const unsigned __int16 *a3, unsigned __int64 a4){
  unsigned int v4; 
  unsigned __int64 v5; 
  signed __int64 v6; 
  unsigned __int16 v7; 
  unsigned __int16 *v8; 
  v4 = 0;
  if( (unsigned __int64)(a2 - 1) > 0x7FFFFFFE )
    v4 = -2147024809;
  if( (v4 & 0x80000000) != 0 )
  {
    if( !a2 )
      return v4;
LABEL_16:
    *a1 = 0;
    return v4;
  }
  if( a4 > 0x7FFFFFFE )
  {
    v4 = -2147024809;
    goto LABEL_16;
  }
  if( a2 )
  {
    v5 = a4 - a2;
    v6 = (char *)a3 - (char *)a1;
    do
    {
      if( !(v5 + a2) )
        break;
      v7 = *(unsigned __int16 *)((char *)a1 + v6);
      if( !v7 )
        break;
      *a1++ = v7;
      --a2;
    }
    while( a2 );
  }
  v8 = a1 - 1;
  if( a2 )
    v8 = a1;
  v4 = a2 == 0 ? 0x8007007A : 0;
  *v8 = 0;
  return v4;
}

Referenced by:

DownLevelGetParentLanguageName
DownLevelLangIDToLanguageName