船讯网js
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function decode64(_0x3c74bc) {
var _0x449637,
_0x492ea8,
_0x55ef96,
_0x265e41,
_0x870723,
_0x2dbb70 = '',
_0x3c80d2 = '',
_0x48efc6 = '',
_0x23c340 = 0x0;
do {
_0x55ef96 = keyStr["indexOf"](_0x3c74bc["charAt"](_0x23c340++)),
_0x265e41 = keyStr["indexOf"](_0x3c74bc["charAt"](_0x23c340++)),
_0x870723 = keyStr['indexOf'](_0x3c74bc["charAt"](_0x23c340++)),
_0x48efc6 = keyStr["indexOf"](_0x3c74bc["charAt"](_0x23c340++)),
_0x449637 = _0x55ef96 << 0x2 | _0x265e41 >> 0x4,
_0x492ea8 = (0xf & _0x265e41) << 0x4 | _0x870723 >> 0x2,
_0x3c80d2 = (0x3 & _0x870723) << 0x6 | _0x48efc6,
_0x2dbb70 += String["fromCharCode"](_0x449637),
0x40 != _0x870723 && (_0x2dbb70 += String["fromCharCode"](_0x492ea8)),
0x40 != _0x48efc6 && (_0x2dbb70 += String["fromCharCode"](_0x3c80d2)),
_0x449637 = _0x492ea8 = _0x3c80d2 = '',
_0x55ef96 = _0x265e41 = _0x870723 = _0x48efc6 = '';
} while (_0x23c340 < _0x3c74bc["length"]);
return _0x2dbb70;
}
a3d = {
};
Class = function () {
};
Class["extend"] = function (_0x5a9fc6) {
function _0x2afe92() {
!_0x2c09f8 && this["init"] && this["init"]["apply"](this, arguments);
}
var _0x96fb11 = this["prototype"];
_0x2c09f8 = !0x0;
var _0x168520 = new this();
_0x2c09f8 = !0x1;
for (var _0x319388 in _0x5a9fc6) _0x168520[_0x319388] = 'function' == typeof _0x5a9fc6[_0x319388] && "function" == typeof _0x96fb11[_0x319388] && _0x3348ad["test"](_0x5a9fc6[_0x319388]) ? function (_0x242784, _0x3a3cba) {
return function () {
var _0x4e83e3 = this["_super"];
this['_super'] = _0x96fb11[_0x242784];
var _0x2374c1 = _0x3a3cba['apply'](this, arguments);
return this["_super"] = _0x4e83e3, _0x2374c1;
};
}(_0x319388, _0x5a9fc6[_0x319388]) : _0x5a9fc6[_0x319388];
return _0x2afe92["prototype"] = _0x168520, _0x2afe92['constructor'] = _0x2afe92, _0x2afe92["extend"] = arguments["callee"], _0x2afe92;
};
a3d["Endian"] = {
'BIG': 0x0,
'LITTLE': 0x1
}, a3d["ByteArray"] = Class["extend"]({
'data': '',
'length': 0x0,
'pos': 0x0,
'pow': Math["pow"],
'endian': a3d["Endian"]["BIG"],
'TWOeN23': Math['pow'](0x2, -0x17),
'TWOeN52': Math["pow"](0x2, -0x34),
'init': function (_0xc574c1, _0x32eea2) {
this['data'] = void 0x0 !== _0xc574c1 ? _0xc574c1 : '',
void 0x0 !== _0x32eea2 && (this['endian'] = _0x32eea2),
this["length"] = _0xc574c1['length'];
var _0x1cf77a = _0x32eea2 == a3d["Endian"]['BIG'] ? 'BE' : 'LE',
_0xe2f8f7 = ["readInt32", 'readInt16', 'readUInt32', 'readUInt16', "readFloat32", "readFloat64"];
for (var _0x2f914f in _0xe2f8f7) this[_0xe2f8f7[_0x2f914f]] = this[_0xe2f8f7[_0x2f914f] + _0x1cf77a];
var _0x1ef00e = {
'readUnsignedByte': "readByte",
'readUnsignedInt': "readUInt32",
'readFloat': 'readFloat32',
'readDouble': "readFloat64",
'readShort': "readInt16",
'readBoolean': "readBool",
'readInt': 'readInt32'
};
for (var _0x2f914f in _0x1ef00e) this[_0x2f914f] = this[_0x1ef00e[_0x2f914f]];
},
'readByte': function () {
return 0xff & this["data"]["charCodeAt"](this["pos"]++);
},
'readBool': function () {
return !!(0xff & this["data"]["charCodeAt"](this["pos"]++));
},
'readUInt32BE': function () {
var _0x5c587c = this["data"],
_0x2eee75 = (this['pos'] += 0x4) - 0x4;
return (0xff & _0x5c587c["charCodeAt"](_0x2eee75)) << 0x18 | (0xff & _0x5c587c["charCodeAt"](++_0x2eee75)) << 0x10 | (0xff & _0x5c587c["charCodeAt"](++_0x2eee75)) <<