RtlStringCbCopyNA

NTSTATUS __stdcall RtlStringCbCopyNA(PSTR pszDest, UINT64 cbDest, PSTR pszSrc, UINT64 cbToCopy){
  NTSTATUS v4; 
  UINT64 v5; 
  signed __int64 v6; 
  CHAR v7; 
  PSTR v8; 
  v4 = 0;
  if( cbDest - 1 > 0x7FFFFFFE )
    v4 = -1073741811;
  if( v4 >= 0 )
  {
    if( cbToCopy > 0x7FFFFFFE )
    {
      v4 = -1073741811;
      *pszDest = 0;
    }
    else
    {
      if( cbDest )
      {
        v5 = cbToCopy - cbDest;
        v6 = pszSrc - pszDest;
        do
        {
          if( !(v5 + cbDest) )
            break;
          v7 = pszDest[v6];
          if( !v7 )
            break;
          *pszDest++ = v7;
          --cbDest;
        }
        while( cbDest );
      }
      v8 = pszDest - 1;
      if( cbDest )
        v8 = pszDest;
      v4 = cbDest == 0 ? 0x80000005 : 0;
      *v8 = 0;
    }
  }
  return v4;
}

Referenced by:

EmpParseTargetRuleStringIndexList