public function readASInt():int { var result:uint = 0; var i:uint = 0, byte:uint; do { byte = super.readUnsignedByte(); result |= ( byte & 0x7F ) << ( i*7 ); i+=1; } while ( byte & 1<<7 ); return result; }