Skip to content

Instantly share code, notes, and snippets.

@SpikedCola
Created January 27, 2014 16:40
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SpikedCola/e06fca41419df2725007 to your computer and use it in GitHub Desktop.
Save SpikedCola/e06fca41419df2725007 to your computer and use it in GitHub Desktop.
CourseSmart Decryption Routine
var _local20:uint;
var _local21:uint;
var _local22:uint;
var _local23:uint;
var _local24:uint;
var _local25:uint;
var _local26:uint;
var _local27:uint;
var _local4:ByteArray = new ByteArray();
var _local10:uint = _arg2.readUnsignedByte();
var _local7:uint = _arg2.readUnsignedByte();
var _local8:uint = _arg2.readUnsignedByte();
var _local6:Array = new Array();
var _local5:Array = new Array();
var _local9:int = 0;
while (_local9 < _local10) {
_local6.push(_arg2.readUnsignedByte());
_local9++;
};
_local9 = 0;
while (_local9 < _local8) {
_local5.push(_arg2.readUnsignedByte());
_local9++;
};
var _local11:uint = _arg2.position;
var _local12:uint = (_arg2.length - _local11);
var _local13:int = (_local12 / _local7);
var _local14:int = (_local12 - (_local13 * (_local7 - 1)));
var _local15:int;
while (_local15 < _local12) {
_local20 = (_arg2.readUnsignedByte() ^ _local6[(_local15 % _local6.length)]);
_local4.writeByte(_local20);
_local15++;
};
_arg2.clear();
var _local16:ByteArray = new ByteArray();
var _local17:ByteArray = new ByteArray();
var _local18:uint = _local8;
while (_local18 > 0) {
_local21 = (_local18 - 1);
_local22 = _local5[_local21];
if (_local22 == _local21){
} else {
_local23 = ((_local22)==(_local7 - 1)) ? _local14 : _local13;
_local24 = (_local22 * _local13);
_local25 = (_local21 * _local13);
_local26 = ((_local21)==(_local7 - 1)) ? _local14 : _local13;
_local27 = Math.min(_local23, _local26);
_local4.position = _local25;
_local16.position = 0;
_local4.readBytes(_local16, 0, _local27);
_local4.position = _local24;
_local4.readBytes(_local17, 0, _local27);
_local4.position = _local25;
_local4.writeBytes(_local17, 0, _local27);
_local4.position = _local24;
_local4.writeBytes(_local16, 0, _local27);
};
_local18--;
};
_local4.position = 0;
_local16.clear();
_local17.clear();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment