462 UBYTE *endinp = inpos + inlen;
464 UBYTE *runsrc, *rundest;
473 register ULONG bitbuf;
474 register int bitsleft;
478 int togo = outlen, this_run, main_element, aligned_bits;
479 int match_length, length_footer,
extra, verbatim_bits;
525 if (bitsleft > 16) inpos -= 2;
526 R0 = inpos[0]|(inpos[1]<<8)|(inpos[2]<<16)|(inpos[3]<<24);inpos+=4;
527 R1 = inpos[0]|(inpos[1]<<8)|(inpos[2]<<16)|(inpos[3]<<24);inpos+=4;
528 R2 = inpos[0]|(inpos[1]<<8)|(inpos[2]<<16)|(inpos[3]<<24);inpos+=4;
537 if (inpos > endinp) {
550 if (this_run > togo) this_run = togo;
555 window_posn &= window_size - 1;
557 if ((window_posn + this_run) > window_size)
563 while (this_run > 0) {
568 window[window_posn++] = main_element;
578 match_length += length_footer;
582 match_offset = main_element >> 3;
584 if (match_offset > 2) {
586 if (match_offset != 3) {
589 match_offset =
position_base[match_offset] - 2 + verbatim_bits;
598 else if (match_offset == 0) {
601 else if (match_offset == 1) {
603 R1 =
R0;
R0 = match_offset;
607 R2 =
R0;
R0 = match_offset;
610 rundest =
window + window_posn;
611 this_run -= match_length;
614 if (window_posn >= match_offset) {
616 runsrc = rundest - match_offset;
618 runsrc = rundest + (window_size - match_offset);
619 copy_length = match_offset - window_posn;
620 if (copy_length < match_length) {
621 match_length -= copy_length;
622 window_posn += copy_length;
623 while (copy_length-- > 0) *rundest++ = *runsrc++;
627 window_posn += match_length;
630 while (match_length-- > 0) *rundest++ = *runsrc++;
637 while (this_run > 0) {
642 window[window_posn++] = main_element;
652 match_length += length_footer;
656 match_offset = main_element >> 3;
658 if (match_offset > 2) {
666 match_offset += (verbatim_bits << 3);
668 match_offset += aligned_bits;
670 else if (
extra == 3) {
673 match_offset += aligned_bits;
675 else if (
extra > 0) {
678 match_offset += verbatim_bits;
688 else if (match_offset == 0) {
691 else if (match_offset == 1) {
693 R1 =
R0;
R0 = match_offset;
697 R2 =
R0;
R0 = match_offset;
700 rundest =
window + window_posn;
701 this_run -= match_length;
704 if (window_posn >= match_offset) {
706 runsrc = rundest - match_offset;
708 runsrc = rundest + (window_size - match_offset);
709 copy_length = match_offset - window_posn;
710 if (copy_length < match_length) {
711 match_length -= copy_length;
712 window_posn += copy_length;
713 while (copy_length-- > 0) *rundest++ = *runsrc++;
717 window_posn += match_length;
720 while (match_length-- > 0) *rundest++ = *runsrc++;
729 inpos += this_run; window_posn += this_run;
740 memcpy(outpos,
window + ((!window_posn) ? window_size : window_posn) - outlen, (
size_t) outlen);
749 if (outlen <= 6 || !pState->intel_started) {
757 LONG abs_off, rel_off;
761 while (
data < dataend) {
762 if (*
data++ != 0xE8) { curpos++;
continue; }
764 if ((abs_off >= -curpos) && (abs_off < filesize)) {
765 rel_off = (abs_off >= 0) ? abs_off - curpos : abs_off + filesize;
#define LZX_NUM_SECONDARY_LENGTHS
#define LZX_BLOCKTYPE_ALIGNED
#define LZX_BLOCKTYPE_UNCOMPRESSED
#define R2(v, w, x, y, z, i)
#define READ_LENGTHS(tbl, first, last)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint GLint GLint j
#define R1(v, w, x, y, z, i)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
#define LZX_NUM_PRIMARY_LENGTHS
#define LZX_BLOCKTYPE_VERBATIM
#define memcpy(s1, s2, n)
static IHTMLWindow2 * window
static const UBYTE extra_bits[51]
static const ULONG position_base[51]
#define R0(v, w, x, y, z, i)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
#define READ_HUFFSYM(tbl, var)
cab_ULONG block_remaining