;
; GENERATED FILE. DO NOT EDIT!
;
;Benny's Compression Engine for Win32
;
;(c) by Benny/29A May 1999.
;
;BCE32_Compress:
;-------------------
;Input state:
; 1) ESI register - pointer to data, which will be compressed
; 2) EDI register - pointer to memory, where will be placed compressed data
; 3) ECX register - number of bytes to compress + 1 (do not forget "+ 1" !)
; 4) EBX register - work memory (16 bytes)
; 5) EDX register - work memory (16 bytes). MUST NOT be same as EBX !
;
; call BCE32_Compress
;
;Output state:
; 1) EAX register - new size of compressed data
; 2) CF set, if negative compression
; 3) Other registers r preserved (except FLAGS)
BCE32_Compress:
db 060h,060h,051h,06Ah,004h,059h,0ACh,050h
db 033h,0D2h,024h,003h,074h,011h,03Ch,002h
db 074h,007h,03Ch,003h,074h,007h,042h,0EBh
db 006h,042h,042h,0EBh,002h,0B2h,003h,0FFh
db 004h,093h,058h,0C0h,0C8h,002h,0E2h,0DFh
db 059h,0E2h,0D7h,06Ah,004h,059h,099h,08Bh
db 004h,093h,0FFh,004h,093h,03Bh,003h,074h
db 00Fh,03Bh,043h,004h,074h,00Ah,03Bh,043h
db 008h,074h,005h,03Bh,043h,00Ch,075h,004h
db 0FFh,004h,093h,041h,080h,0FAh,003h,074h
db 0DDh,042h,0E2h,0DBh,061h,060h,08Bh,0F3h
db 06Ah,003h,05Bh,08Bh,0CBh,051h,08Bh,0CBh
db 08Bh,0FAh,052h,0ADh,08Bh,0D0h,0ADh,03Bh
db 0C2h,072h,001h,092h,0ABh,0E2h,0F7h,08Bh
db 0C2h,0ABh,08Dh,077h,0F0h,05Ah,059h,0E2h
db 0E4h,061h,060h,033h,0C0h,050h,06Ah,004h
db 059h,052h,051h,08Dh,034h,083h,050h,0ADh
db 06Ah,003h,059h,08Bh,0F9h,08Bh,0F2h,050h
db 0ADh,08Bh,0E8h,058h,03Bh,0C5h,074h,006h
db 04Fh,083h,0C2h,004h,0E2h,0EFh,058h,040h
db 059h,05Ah,001h,03Ch,024h,0C0h,004h,024h
db 002h,0E2h,0D6h,08Fh,044h,024h,010h,061h
db 033h,0EDh,033h,0D2h,088h,01Fh,047h,033h
db 0C0h,051h,0ACh,06Ah,004h,059h,051h,050h
db 024h,003h,053h,080h,0E3h,003h,038h,0D8h
db 05Bh,074h,026h,053h,0C0h,0CBh,002h,080h
db 0E3h,003h,038h,0D8h,05Bh,074h,03Dh,053h
db 0C0h,0CBh,004h,080h,0E3h,003h,038h,0D8h
db 05Bh,074h,03Ch,06Ah,000h,0E8h,040h,000h
db 000h,000h,06Ah,001h,0E8h,039h,000h,000h
db 000h,06Ah,001h,0E8h,032h,000h,000h,000h
db 058h,059h,0C0h,0C8h,002h,0E2h,0BFh,059h
db 0E2h,0B5h,08Bh,0C7h,02Bh,004h,024h,089h
db 044h,024h,01Ch,061h,03Bh,0C1h,072h,002h
db 0F9h,0C3h,0F8h,0C3h,06Ah,000h,0E8h,00Fh
db 000h,000h,000h,06Ah,000h,0EBh,0D4h,06Ah
db 000h,0E8h,004h,000h,000h,000h,06Ah,001h
db 0EBh,0ECh,08Bh,0C5h,0D0h,0E0h,00Ah,044h
db 024h,004h,042h,080h,0FAh,008h,075h,004h
db 0AAh,033h,0C0h,099h,08Bh,0E8h,0C2h,004h
;BCE32_Decompress:
;---------------------
;Input state:
; 1) ESI register - pointer to compressed data
; 2) EDI register - pointer to memory, where will be placed decompressed data
; 3) ECX register - number of bytes to decompress (EAX value returned by
; BCE32_Compress) - 1 (do not forget "- 1" !)
;
; call BCE32_Decompress
;
;Output state:
; 1) All registers r preserved
;
;
;WARNING: Be sure, u have enought memory for case of negative compression.
;NOTE: U can compress (in some special cases) already compressed data.
; For this purpose exists output parameters EAX and CF.
BCE32_Decompress:
db 060h,033h,0C0h,033h,0EDh,099h,0ACh,050h
db 0ACh,06Ah,008h,052h,051h,0A8h,080h,075h
db 024h,0A8h,0C0h,074h,06Fh,0A8h,0A0h,074h
db 073h,0B1h,006h,0EBh,071h,0F6h,0C3h,001h
db 075h,00Fh,06Ah,000h,08Bh,0C5h,00Ah,004h
db 024h,0D0h,0C8h,0E8h,041h,0FFh,0FFh,0FFh
db 0C3h,06Ah,001h,0EBh,0EFh,032h,0C9h,0C6h
db 044h,024h,004h,001h,050h,053h,08Bh,05Ch
db 024h,014h,0D2h,0CBh,0E8h,0D4h,0FFh,0FFh
db 0FFh,0D0h,0CBh,0E8h,0CDh,0FFh,0FFh,0FFh
db 05Bh,058h,08Bh,04Ch,024h,004h,080h,07Ch
db 024h,008h,008h,075h,00Ch,08Bh,0D8h,0ACh
db 093h,0C6h,044h,024h,008h,000h,0FFh,00Ch
db 024h,0D0h,0E0h,0F6h,0C3h,080h,074h,002h
db 00Ch,001h,0D0h,0C3h,0FEh,044h,024h,008h
db 0E2h,0DCh,059h,041h,049h,079h,08Dh,058h
db 058h,058h,061h,0C3h,0B1h,002h,088h,04Ch
db 024h,004h,0EBh,0B0h,0B1h,004h,0C6h,044h
db 024h,004h,003h,0EBh,0A7h