code: function(buf, crc) {
  
        var c = (typeof(crc) == "undefined" ? 0 : crc) ^ 0xffffffff;
        var bArray  = typeof buf !== "string";
        var n;
  
        if (bArray) {
          for (n = 0; n < buf.length; n++) {
            c = SAP_CRC32_TABLE[(c ^ buf[n]) & 0xff] ^ (c >>> 8);
          }
        } else {
          for (n = 0; n < buf.length; n++) {
            c = SAP_CRC32_TABLE[(c ^ buf.charCodeAt(n)) & 0xff] ^ (c >>> 8);
          }
        }
  
        return c ^ 0xffffffff;
      }
docs: ##### BEGIN: MODIFIED BY SAP functions crc32, utf8encode and utf8decode are replaced with implementations by SAP