|
Wing Commander
Reconstructed Win32 source (1996)
|
Hand-written LZO1X decoder for packed streams. More...
Go to the source code of this file.
Functions | |
| void | ix_lzo1x_decompress (unsigned char *source, unsigned char *destination, unsigned int destinationBytes) |
Hand-written LZO1X decoder for packed streams.
Address range 4614c0-46162f. The retail routine is hand-written x86: it keeps input and token state in EBX and EDX and performs overlapping copies with REP MOVS. It was an /Od function around an __asm block; its ALIGN 4 directives account for the padding inside it (nop, lea ecx,[ecx]). Preserve that code directly so packed stream chunks decode exactly as they did originally.
The decoder came from a library of its own, searched before the file module's (ixfile.cpp): both are pulled only on LINK's second search pass, after the RtlUnwind thunk and before the CRT members reached through OLDNAMES.
Definition in file lzo1x.cpp.
| void ix_lzo1x_decompress | ( | unsigned char * | source, |
| unsigned char * | destination, | ||
| unsigned int | destinationBytes ) |
Definition at line 22 of file lzo1x.cpp.
References ix_lzo1x_decompress().
Referenced by ix_lzo1x_decompress(), and ix_thread_handle_file_chunk().