code: function () {
  
  			var low, high;
  
  			if ( this.littleEndian ) {
  
  				low = this.getUint32();
  				high = this.getUint32();
  
  			} else {
  
  				high = this.getUint32();
  				low = this.getUint32();
  
  			}
  
  			// calculate negative value
  			if ( high & 0x80000000 ) {
  
  				high = ~ high & 0xFFFFFFFF;
  				low = ~ low & 0xFFFFFFFF;
  
  				if ( low === 0xFFFFFFFF ) high = ( high + 1 ) & 0xFFFFFFFF;
  
  				low = ( low + 1 ) & 0xFFFFFFFF;
  
  				return - ( high * 0x100000000 + low );
  
  			}
  
  			return high * 0x100000000 + low;
  
  		}
docs: JavaScript doesn't support 64-bit integer so calculate this here 1 << 32 will return 1 so using multiply operation instead here. There's a possibility that this method returns wrong value if the value is out of the range between Number.MAX_SAFE_INTEGER and Number.MIN_SAFE_INTEGER. TODO: safely handle 64-bit integer