; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.3077 

	TITLE	Kazuya.c
	.386P
include listing.inc
if @Version gt 510
.model FLAT
else
_TEXT	SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT	ENDS
_DATA	SEGMENT DWORD USE32 PUBLIC 'DATA'
_DATA	ENDS
CONST	SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST	ENDS
_BSS	SEGMENT PARA USE32 PUBLIC 'BSS'
_BSS	ENDS
$$SYMBOLS	SEGMENT BYTE USE32 'DEBSYM'
$$SYMBOLS	ENDS
_TLS	SEGMENT DWORD USE32 PUBLIC 'TLS'
_TLS	ENDS
FLAT	GROUP _DATA, CONST, _BSS
	ASSUME	CS: FLAT, DS: FLAT, SS: FLAT
endif

INCLUDELIB LIBC
INCLUDELIB OLDNAMES

PUBLIC	_TotalLinesENC
PUBLIC	_clocksG
PUBLIC	_clocksGH
PUBLIC	_clocksGK
PUBLIC	_clocksGW
PUBLIC	_clocksGtxt
PUBLIC	_clocksGHtxt
PUBLIC	_clocksGKtxt
PUBLIC	_clocksGWtxt
PUBLIC	_SearchAlgorithm
PUBLIC	_VIVA_IgorPavlov_invocations_global_counter
PUBLIC	_SearchAlgorithm_invocations_global_counter
PUBLIC	_KarpRabinKazeHits_invocations_global_counter
PUBLIC	_HORSPOOLhits_invocations_global_counter
PUBLIC	_Karp_RabinGLOBALhits
PUBLIC	_HorspoolGLOBALhits
PUBLIC	_WildGLOBALhits
PUBLIC	_FRKFindSubpbGLOBALHITS
_DATA	SEGMENT
COMM	_text_buf:BYTE:01011H
COMM	_match_position:DWORD
COMM	_match_length:DWORD
COMM	_lson:DWORD:01001H
COMM	_rson:DWORD:01101H
COMM	_dad:DWORD:01001H
COMM	_infileOkumura:DWORD
COMM	_outfileOkumura:DWORD
_DATA	ENDS
_BSS	SEGMENT
$SG3792	DB	01H DUP (?)
_BSS	ENDS
_DATA	SEGMENT
COMM	_MeBufferKAZE:DWORD
_DATA	ENDS
_BSS	SEGMENT
	ALIGN	8

_TotalLinesENC DQ 01H DUP (?)
$SG3866	DB	01H DUP (?)
_BSS	ENDS
_DATA	SEGMENT
COMM	_clocksG1:DWORD
COMM	_clocksG2:DWORD
_DATA	ENDS
_BSS	SEGMENT
	ALIGN	8

_clocksG DQ	01H DUP (?)
_clocksGH DQ	01H DUP (?)
_clocksGK DQ	01H DUP (?)
_clocksGW DQ	01H DUP (?)
_clocksGtxt DQ	01H DUP (?)
_clocksGHtxt DQ	01H DUP (?)
_clocksGKtxt DQ	01H DUP (?)
_clocksGWtxt DQ	01H DUP (?)
_SearchAlgorithm DD 01H DUP (?)
_BSS	ENDS
_DATA	SEGMENT
COMM	_maskGLOBALlen:DWORD
COMM	_nameGLOBALlen:DWORD
_DATA	ENDS
_BSS	SEGMENT
_VIVA_IgorPavlov_invocations_global_counter DD 01H DUP (?)
_SearchAlgorithm_invocations_global_counter DD 01H DUP (?)
_KarpRabinKazeHits_invocations_global_counter DD 01H DUP (?)
_HORSPOOLhits_invocations_global_counter DD 01H DUP (?)
_Karp_RabinGLOBALhits DD 01H DUP (?)
_HorspoolGLOBALhits DD 01H DUP (?)
_WildGLOBALhits DD 01H DUP (?)
_FRKFindSubpbGLOBALHITS DD 01H DUP (?)
_BSS	ENDS
_DATA	SEGMENT
$SG2848	DB	'<>'
	ORG $+2
$SG2882	DB	'NON-ENCODED', 00H
$SG2922	DB	'<>'
	ORG $+2
$SG2966	DB	'NON-ENCODED', 00H
$SG2970	DB	'%s ', 00H
$SG2987	DB	'<>'
	ORG $+2
$SG3376	DB	'%12ld', 0dH, 00H
	ORG $+1
$SG3386	DB	'In : %ld bytes', 0aH, 00H
$SG3387	DB	'Out: %ld bytes', 0aH, 00H
$SG3389	DB	'Out/In: %.3f', 0aH, 00H
	ORG $+2
$SG3677	DB	'DECODING HDD2RAM', 00H
	ORG $+3
$SG3679	DB	' <i><small>target file:</small></i> ', 00H, 00H
	ORG $+2
$SG3681	DB	'[', 00H
	ORG $+2
$SG3683	DB	']', 00H
	ORG $+2
$SG3685	DB	' ', 00H
	ORG $+2
$SG3687	DB	'+', 00H
	ORG $+6
$SG3692	DB	'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitiona'
	DB	'l//EN">', 00H, 00H
	ORG $+3
$SG3694	DB	'<html><head><title>Kazuya Hits</title>', 00H, 00H
	ORG $+4
$SG3696	DB	'<meta http-equiv="Content-Type" content="text/html; char'
	DB	'set=utf-8">', 00H, 00H
	ORG $+3
$SG3698	DB	'</head>', 00H, 00H
	ORG $+3
$SG3700	DB	'<body ', 00H, 00H
	ORG $+4
$SG3702	DB	'style="background-image: url(./Kazuya.gif); color: rgb(0'
	DB	', 200, 221); background-color: rgb(7, 12, 17);"', 00H, 00H
	ORG $+3
$SG3704	DB	'alink="#003366" link="#006699" vlink="#003366">', 00H, 00H
	ORG $+3
$SG3706	DB	'<font color="#7788AA" face="Courier New, Courier, mono">'
	DB	00H, 00H
	ORG $+2
$SG3708	DB	'<pre>', 00H, 00H
	ORG $+1
$SG3710	DB	'<a href="file://localhost/', 00H, 00H
$SG3712	DB	'">Kazuya link to</a>', 00H, 00H
	ORG $+2
$SG3714	DB	'</pre>', 00H, 00H
$SG3716	DB	'</font>', 00H, 00H
	ORG $+3
$SG3718	DB	'</body>', 00H, 00H
	ORG $+3
$SG3720	DB	'</html>', 00H, 00H
	ORG $+3
$SG3722	DB	'<font color="#0099BB" face="Courier New, Courier, mono">'
	DB	00H, 00H
	ORG $+2
$SG3737	DB	'-SA1', 00H
	ORG $+3
$SG3740	DB	'-SA2', 00H
	ORG $+3
$SG3743	DB	'-SA3', 00H
	ORG $+3
$SG3746	DB	'-SA4', 00H
	ORG $+3
$SG3749	DB	'-sa1', 00H
	ORG $+3
$SG3752	DB	'-sa2', 00H
	ORG $+3
$SG3755	DB	'-sa3', 00H
	ORG $+3
$SG3758	DB	'-sa4', 00H
	ORG $+3
$SG3761	DB	'-sA1', 00H
	ORG $+3
$SG3764	DB	'-sA2', 00H
	ORG $+3
$SG3767	DB	'-sA3', 00H
	ORG $+3
$SG3770	DB	'-sA4', 00H
	ORG $+3
$SG3773	DB	'-Sa1', 00H
	ORG $+3
$SG3776	DB	'-Sa2', 00H
	ORG $+3
$SG3779	DB	'-Sa3', 00H
	ORG $+3
$SG3782	DB	'-Sa4', 00H
	ORG $+3
$SG3785	DB	'-krknd', 00H
	ORG $+1
$SG3787	DB	'Kazuya(LZ Sentence_Dumper), revision 17++, written by Sv'
	DB	'alqyatchx,', 00H
	ORG $+5
$SG3788	DB	'in fact adapted from Lasse Reinhold''s excellent QuickLZ'
	DB	' 1.4.0 library,', 00H
	ORG $+1
$SG3789	DB	'in fact adapted from Ariya Hidayat''s sub-excellent Fast'
	DB	'LZ 0.1.0 library,', 00H
	ORG $+7
$SG3790	DB	'in fact adapted from Markus F.X.J. Oberhumer''s sub-exce'
	DB	'llent LZO 2.03 library,', 00H
	ORG $+1
$SG3791	DB	'in fact adapted from Haruhiko Okumura''s sub-excellent L'
	DB	'ZSS 4/6/1989 library.', 00H
	ORG $+3
$SG3793	DB	'Usage1: Kazuya [-sa1|-sa2|-sa3|-sa4|-SA1|-SA2|-SA3|-SA4', 00H
$SG3794	DB	'               |-sA1|-sA2|-sA3|-sA4|-Sa1|-Sa2|-Sa3|-Sa4|'
	DB	'-krknd] filename', 00H
	ORG $+3
$SG3795	DB	'        Decodes all files from a list(filename)', 00H
$SG3796	DB	'        -sa1 : QuickLZ Decode + Brute_Force Search Algor'
	DB	'ithm', 00H
	ORG $+7
$SG3797	DB	'        -sa2 : QuickLZ Decode + Quick_Boyer_Moore Search'
	DB	' Algorithm', 00H
	ORG $+5
$SG3798	DB	'        -sa3 : QuickLZ Decode + SMITH_Boyer_Moore Search'
	DB	' Algorithm', 00H
	ORG $+5
$SG3799	DB	'        -sa4 : QuickLZ Decode + Karp_Rabin_Kaze Search A'
	DB	'lgorithm', 00H
	ORG $+3
$SG3800	DB	'        -SA1 : LZO Decode + Brute_Force Search Algorithm'
	DB	00H
	ORG $+3
$SG3801	DB	'        -SA2 : LZO Decode + Quick_Boyer_Moore Search Alg'
	DB	'orithm', 00H
	ORG $+1
$SG3802	DB	'        -SA3 : LZO Decode + SMITH_Boyer_Moore Search Alg'
	DB	'orithm', 00H
	ORG $+1
$SG3803	DB	'        -SA4 : LZO Decode + Karp_Rabin_Kaze Search Algor'
	DB	'ithm', 00H
	ORG $+3
$SG3804	DB	'        -sA1 : FastLZ Decode + Brute_Force Search Algori'
	DB	'thm', 00H
	ORG $+4
$SG3805	DB	'        -sA2 : FastLZ Decode + Quick_Boyer_Moore Search '
	DB	'Algorithm', 00H
	ORG $+6
$SG3806	DB	'        -sA3 : FastLZ Decode + SMITH_Boyer_Moore Search '
	DB	'Algorithm', 00H
	ORG $+6
$SG3807	DB	'        -sA4 : FastLZ Decode + Karp_Rabin_Kaze Search Al'
	DB	'gorithm', 00H
$SG3808	DB	'        -Sa1 : OkumuraLZ Decode + Brute_Force Search Alg'
	DB	'orithm', 00H
	ORG $+1
$SG3809	DB	'        -Sa2 : OkumuraLZ Decode + Quick_Boyer_Moore Sear'
	DB	'ch Algorithm', 00H
	ORG $+3
$SG3810	DB	'        -Sa3 : OkumuraLZ Decode + SMITH_Boyer_Moore Sear'
	DB	'ch Algorithm', 00H
	ORG $+3
$SG3811	DB	'        -Sa4 : OkumuraLZ Decode + Karp_Rabin_Kaze Search'
	DB	' Algorithm', 00H
	ORG $+5
$SG3812	DB	'        -krknd : Karp_Rabin_Kaze Search Algorithm, but w'
	DB	'ith no additional', 00H
	ORG $+6
$SG3813	DB	'                 chunk-searches overhead and without dec'
	DB	'ompression of', 00H
	ORG $+2
$SG3814	DB	'                 incoming files i.e. pure text is upload'
	DB	'ed', 00H
	ORG $+5
$SG3815	DB	'        Default is QuickLZ Decode + HORSPOOL_Boyer_Moore'
	DB	' Search Algorithm', 00H
	ORG $+2
$SG3816	DB	'Usage2: Kazuya <e|d|E|D|A|R|a|r> inputFile outputFile', 00H
	ORG $+2
$SG3817	DB	'        e: encode QuickLZ file', 00H
	ORG $+1
$SG3818	DB	'        d: decode QuickLZ file', 00H
	ORG $+1
$SG3819	DB	'        E: encode LZO file', 00H
	ORG $+1
$SG3820	DB	'        D: decode LZO file', 00H
	ORG $+1
$SG3821	DB	'        A: encode(archive) FastLZ file', 00H
	ORG $+1
$SG3822	DB	'        R: decode(restore) FastLZ file', 00H
	ORG $+1
$SG3823	DB	'        a: encode(archive) OkumuraLZ file', 00H
	ORG $+2
$SG3824	DB	'        r: decode(restore) OkumuraLZ file', 00H
	ORG $+2
$SG3825	DB	'Example1: Kazuya Kazuya.lst', 00H
$SG3826	DB	'Example2: Kazuya -SA2 Kazuya.lst', 00H
	ORG $+7
$SG3827	DB	'Example3: Kazuya e Caterpillar.001.txt Caterpillar.001.t'
	DB	'xt.Lasse', 00H
	ORG $+3
$SG3828	DB	'Note1: Benchmark(HDD read speed is the nasty bottleneck)'
	DB	':', 00H
	ORG $+2
$SG3829	DB	'       Kazuya(EN:37KB/clock, DE:88KB/clock) for 24.9GB(1'
	DB	'0.6GB Lasse) texts.', 00H
$SG3830	DB	'       Me machine is:', 00H
	ORG $+6
$SG3831	DB	'       Motherboard Name:                             Tos'
	DB	'hiba Satellite L305', 00H
	ORG $+4
$SG3832	DB	'       CPU Type:         Mobile DualCore Intel Pentium, '
	DB	'2166 MHz (13 x 167)', 00H
	ORG $+4
$SG3833	DB	'       CPU Alias:                                       '
	DB	'           Merom-1M', 00H
	ORG $+4
$SG3834	DB	'       L1 Code Cache:                                   '
	DB	'     32 KB per core', 00H
	ORG $+4
$SG3835	DB	'       L1 Data Cache:                                   '
	DB	'     32 KB per core', 00H
	ORG $+4
$SG3836	DB	'       L2 Cache:                        1 MB (On-Die, EC'
	DB	'C, ASC, Full-Speed)', 00H
	ORG $+4
$SG3837	DB	'       Bus Type:                                        '
	DB	'    Dual DDR2 SDRAM', 00H
	ORG $+4
$SG3838	DB	'       Bus Width:                                       '
	DB	'            128-bit', 00H
	ORG $+4
$SG3839	DB	'       Real Clock:                                      '
	DB	'      333 MHz (DDR)', 00H
	ORG $+4
$SG3840	DB	'       Effective Clock:                                 '
	DB	'            666 MHz', 00H
	ORG $+4
$SG3841	DB	'Note2: Disastrous performance in case 256MB not fully ph'
	DB	'ysical!', 00H
$SG3842	DB	'Note3: Matches(hits) are overwritten to Kazuya.hits.Patt'
	DB	'ern?.html files.', 00H
	ORG $+3
$SG3843	DB	'Note4: Works both on UNIX(LF) and Windows(CRLF) text fil'
	DB	'es.', 00H
$SG3844	DB	'Note5: Never forget the importance of defragmented_AND_g'
	DB	'rouped files located at', 00H
$SG3845	DB	'       fastest area of disk - first partition is faster '
	DB	'than second one, etc.', 00H
	ORG $+2
$SG3846	DB	'Note6: In ANSI, clock is defined as ''#define CLOCKS_PER'
	DB	'_SEC 1000''.', 00H
	ORG $+1
$SG3847	DB	'Note7: Since Kazuya 13++:', 00H
	ORG $+2
$SG3848	DB	'       - limits(just skip longer ones) lines to 960 char'
	DB	's; OTHERWISE: HUGE TIME', 00H
$SG3849	DB	'         DELAYS due to recursive function;', 00H
	ORG $+1
$SG3850	DB	'       - shows hits to console too; MORE VIVID;', 00H
$SG3851	DB	'Note8: Since Kazuya 14:', 00H
	ORG $+4
$SG3852	DB	'       - No deletion of input file after compressing/dec'
	DB	'ompressing;', 00H
	ORG $+4
$SG3853	DB	'Note9: During execution hitting a ''Esc'' causes termina'
	DB	'tion(i.e. skipping rest).', 00H
$SG3854	DB	'NoteA: This revision works with up to 127MB incoming(non'
	DB	'-compressed) files,', 00H
	ORG $+4
$SG3855	DB	'       because it allocates 256MB of which one half is f'
	DB	'or incoming', 00H
	ORG $+4
$SG3856	DB	'       oher for outcoming file, i.e. decompression/compr'
	DB	'ession is RAM to RAM.', 00H
	ORG $+2
$SG3857	DB	'NoteB: Charge(delivery) performance combines upload and '
	DB	'decode performance.', 00H
	ORG $+4
$SG3858	DB	'NoteC: The two examples below show the need of one addit'
	DB	'ional wildcard in', 00H
	ORG $+6
$SG3859	DB	'       order to match CR for Windows texts; end of line '
	DB	'is LF(as in UNIX):', 00H
	ORG $+1
$SG3860	DB	'       Pattern(s) example: Pattern1: ########%', 00H
	ORG $+1
$SG3861	DB	'                           Pattern1_NestedPattern1:', 00H
$SG3862	DB	'                           Possible hit: NEW YORK', 00H
	ORG $+2
$SG3863	DB	'       Pattern(s) example: Pattern1: $$$$$$$$@', 00H
	ORG $+1
$SG3864	DB	'                           Pattern1_NestedPattern1:', 00H
$SG3865	DB	'                           Possible hit: Printing', 00H
	ORG $+6
$SG3867	DB	'Pattern(s) note: You may specify(four times) a main-patt'
	DB	'ern(case insensitive', 0aH, 00H
	ORG $+2
$SG3868	DB	'                 with wildcards ''*'' i.e. any character'
	DB	'(s) or empty, also ''@''', 0aH, 00H
	ORG $+2
$SG3869	DB	'                 i.e. any character or empty, also ''#'''
	DB	' i.e. any character', 0aH, 00H
	ORG $+5
$SG3870	DB	'                 and not empty, also ''$'' i.e. any ALPH'
	DB	'A character', 0aH, 00H
	ORG $+5
$SG3871	DB	'                 and not empty, also ''%%'' i.e. any NON'
	DB	'-ALPHA character', 0aH, 00H
$SG3872	DB	'                 and not empty) with three nested-patter'
	DB	'ns(case', 0aH, 00H
	ORG $+7
$SG3873	DB	'                 sensitive and unexact), all four connec'
	DB	'ted with AND.', 0aH, 00H
	ORG $+1
$SG3874	DB	'                 Due to different line endings(CRLF in W'
	DB	'indows; LF in UNIX)', 0aH, 00H
	ORG $+3
$SG3875	DB	'                 you must add a ''@'' wildcard in place '
	DB	'of CR: for example in', 0aH, 00H
	ORG $+3
$SG3876	DB	'                 case of searching for ''*.pdf'' write '''
	DB	'*.pdf@''.', 0aH, 00H
$SG3877	DB	'Pattern(s) example: Pattern1: *%%take@%%$$@', 0aH, 00H
	ORG $+3
$SG3878	DB	'                    Pattern1_NestedPattern1:', 0aH, 00H
	ORG $+2
$SG3879	DB	'                    Possible hit: ... is taken by', 0aH, 00H
	ORG $+1
$SG3880	DB	'                    Possible hit: ... would take it', 0aH
	DB	00H
	ORG $+7
$SG3881	DB	'                    Note: First %% is to avoid e.g. ''mi'
	DB	's'' prefix', 0aH, 00H
	ORG $+6
$SG3882	DB	'                          Second %% is to avoid e.g. ''i'
	DB	'ng'' suffix', 0aH, 00H
	ORG $+5
$SG3883	DB	'Master-pattern note: It is case insensitive with wildcar'
	DB	'ds ''*'',''@'',''#'',''$'',''%%''', 0aH, 00H
	ORG $+7
$SG3884	DB	'                     allowed. The purpose of this patter'
	DB	'n is to', 0aH, 00H
	ORG $+7
$SG3885	DB	'                     decide whether a search for next pa'
	DB	'tterns will be', 0aH, 00H
$SG3886	DB	'                     executed, it is applied on all line'
	DB	's i.e. the whole file.', 0aH, 00H
$SG3887	DB	'                     There must be at least one hit in o'
	DB	'rder to execute search', 0aH, 00H
$SG3888	DB	'                     for next patterns.', 0aH, 00H
	ORG $+3
$SG3889	DB	0aH, 00H
	ORG $+2
$SG3890	DB	'Have a nice Kazuyaing.', 00H
	ORG $+1
$SG3891	DB	'For contacts: sanmayce@sanmayce.com', 00H
$SG3892	DB	'Sanmayce Svalqyatchx ''Kaze'', 2010 May 24.', 00H
	ORG $+2
$SG3893	DB	0aH, 00H
	ORG $+2
$SG3914	DB	'LZO: internal error - lzo_init() failed !!!', 0aH, 00H
	ORG $+7
$SG3915	DB	'(this usually indicates a compiler bug - try recompiling'
	DB	0aH, 'without optimizations, and enable `-DLZO_DEBUG'' for dia'
	DB	'gnostics)', 0aH, 00H
	ORG $+1
$SG3919	DB	'Kazuya: Needed memory allocation denied!', 0aH, 00H
	ORG $+2
$SG3920	DB	'Allocated memory for DEcoded file in MB: %lu', 0aH, 00H
	ORG $+2
$SG3924	DB	'rb', 00H
	ORG $+1
$SG3925	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG3929	DB	'rb', 00H
	ORG $+1
$SG3930	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG3931	DB	'Size of input file with files for Kazuyaing: %lu', 0aH, 00H
	ORG $+2
$SG3934	DB	'wb', 00H
	ORG $+1
$SG3935	DB	'Kazuya.hits.pattern1.html', 00H
	ORG $+2
$SG3936	DB	'Kazuya: Can''t open Kazuya.hits.pattern1.html file.', 0aH
	DB	00H
$SG3939	DB	'wb', 00H
	ORG $+1
$SG3940	DB	'Kazuya.hits.pattern2.html', 00H
	ORG $+2
$SG3941	DB	'Kazuya: Can''t open Kazuya.hits.pattern2.html file.', 0aH
	DB	00H
$SG3944	DB	'wb', 00H
	ORG $+1
$SG3945	DB	'Kazuya.hits.pattern3.html', 00H
	ORG $+2
$SG3946	DB	'Kazuya: Can''t open Kazuya.hits.pattern3.html file.', 0aH
	DB	00H
$SG3949	DB	'wb', 00H
	ORG $+1
$SG3950	DB	'Kazuya.hits.pattern4.html', 00H
	ORG $+2
$SG3951	DB	'Kazuya: Can''t open Kazuya.hits.pattern4.html file.', 0aH
	DB	00H
$SG3953	DB	0aH, 'Input Master-pattern(hit only ''Enter'' to skip): ', 00H
	ORG $+2
$SG3955	DB	'Input Pattern1(hit only ''Enter'' to skip): ', 00H
	ORG $+1
$SG3958	DB	'- Input Pattern1_NestedPattern1(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3961	DB	'- Input Pattern1_NestedPattern2(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3964	DB	'- Input Pattern1_NestedPattern3(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3966	DB	'Input Pattern2(hit only ''Enter'' to skip): ', 00H
	ORG $+1
$SG3969	DB	'- Input Pattern2_NestedPattern1(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3972	DB	'- Input Pattern2_NestedPattern2(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3975	DB	'- Input Pattern2_NestedPattern3(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3977	DB	'Input Pattern3(hit only ''Enter'' to skip): ', 00H
	ORG $+1
$SG3980	DB	'- Input Pattern3_NestedPattern1(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3983	DB	'- Input Pattern3_NestedPattern2(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3986	DB	'- Input Pattern3_NestedPattern3(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3988	DB	'Input Pattern4(hit only ''Enter'' to skip): ', 00H
	ORG $+1
$SG3991	DB	'- Input Pattern4_NestedPattern1(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3994	DB	'- Input Pattern4_NestedPattern2(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3997	DB	'- Input Pattern4_NestedPattern3(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG4006	DB	'''Esc'' was pressed, so skip the rest files and quit!', 0aH
	DB	00H
	ORG $+3
$SG4015	DB	'rb', 00H
	ORG $+1
$SG4016	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG4017	DB	'Processing %s ...', 0aH, 00H
	ORG $+1
$SG4019	DB	'Doing DECODE from RAM to RAM ...', 0aH, 00H
	ORG $+2
$SG4031	DB	'LZO: internal error - decompression failed: %d', 0aH, 00H
$SG4036	DB	'Overall upload performance so far: %sKB/clock', 0aH, 00H
	ORG $+5
$SG4040	DB	'Overall decode performance so far: %sKB/clock(EN) or %sK'
	DB	'B/clock(DE)', 0aH, 00H
	ORG $+3
$SG4043	DB	'Overall charge performance so far: %sKB/clock(EN) or %sK'
	DB	'B/clock(DE)', 0aH, 00H
	ORG $+3
$SG4045	DB	'Doing SEARCH for Master-pattern ...', 0aH, 00H
	ORG $+3
$SG4051	DB	'Doing SEARCH for Pattern1 at once and flushing hit-sente'
	DB	'nces ...', 0aH, 00H
	ORG $+6
$SG4054	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) was/were fou'
	DB	'nd in: <i>%s</i></big>', 0aH, 00H
$SG4055	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) is/are for t'
	DB	'hese patterns <i>''</i><b>%s</b><i>''</i>, <i>''</i><b>%s</b>'
	DB	'<i>''</i>, <i>''</i><b>%s</b><i>''</i>, <i>''</i><b>%s</b><i>'
	DB	'''</i></big>', 0aH, 00H
$SG4058	DB	'Found %s case-insensitive and unexact matches(hits), so '
	DB	'far.', 0aH, 00H
	ORG $+2
$SG4060	DB	'Found %s case-sensitive and unexact matches(hits), so fa'
	DB	'r.', 0aH, 00H
	ORG $+4
$SG4063	DB	'Doing SEARCH for Pattern2 at once and flushing hit-sente'
	DB	'nces ...', 0aH, 00H
	ORG $+6
$SG4066	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) was/were fou'
	DB	'nd in: <i>%s</i></big>', 0aH, 00H
$SG4067	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) is/are for t'
	DB	'hese patterns <i>''</i><b>%s</b><i>''</i>, <i>''</i><b>%s</b>'
	DB	'<i>''</i>, <i>''</i><b>%s</b><i>''</i>, <i>''</i><b>%s</b><i>'
	DB	'''</i></big>', 0aH, 00H
$SG4070	DB	'Found %s case-insensitive and unexact matches(hits), so '
	DB	'far.', 0aH, 00H
	ORG $+2
$SG4072	DB	'Found %s case-sensitive and unexact matches(hits), so fa'
	DB	'r.', 0aH, 00H
	ORG $+4
$SG4075	DB	'Doing SEARCH for Pattern3 at once and flushing hit-sente'
	DB	'nces ...', 0aH, 00H
	ORG $+6
$SG4078	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) was/were fou'
	DB	'nd in: <i>%s</i></big>', 0aH, 00H
$SG4079	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) is/are for t'
	DB	'hese patterns <i>''</i><b>%s</b><i>''</i>, <i>''</i><b>%s</b>'
	DB	'<i>''</i>, <i>''</i><b>%s</b><i>''</i>, <i>''</i><b>%s</b><i>'
	DB	'''</i></big>', 0aH, 00H
$SG4082	DB	'Found %s case-insensitive and unexact matches(hits), so '
	DB	'far.', 0aH, 00H
	ORG $+2
$SG4084	DB	'Found %s case-sensitive and unexact matches(hits), so fa'
	DB	'r.', 0aH, 00H
	ORG $+4
$SG4087	DB	'Doing SEARCH for Pattern4 at once and flushing hit-sente'
	DB	'nces ...', 0aH, 00H
	ORG $+6
$SG4090	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) was/were fou'
	DB	'nd in: <i>%s</i></big>', 0aH, 00H
$SG4091	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) is/are for t'
	DB	'hese patterns <i>''</i><b>%s</b><i>''</i>, <i>''</i><b>%s</b>'
	DB	'<i>''</i>, <i>''</i><b>%s</b><i>''</i>, <i>''</i><b>%s</b><i>'
	DB	'''</i></big>', 0aH, 00H
$SG4094	DB	'Found %s case-insensitive and unexact matches(hits), so '
	DB	'far.', 0aH, 00H
	ORG $+2
$SG4096	DB	'Found %s case-sensitive and unexact matches(hits), so fa'
	DB	'r.', 0aH, 00H
$SG4098	DB	0aH, 00H
	ORG $+2
$SG4100	DB	'Total Upload performance: %sKB/clock', 0aH, 00H
	ORG $+2
$SG4104	DB	'Total Decode performance: %sKB/clock(EN) or %sKB/clock(D'
	DB	'E)', 0aH, 00H
$SG4107	DB	'Total Charge performance: %sKB/clock(EN) or %sKB/clock(D'
	DB	'E)', 0aH, 00H
$SG4109	DB	'Total Upload time: %s clocks', 0aH, 00H
	ORG $+2
$SG4112	DB	'Total Decode time: %s clocks', 0aH, 00H
	ORG $+2
$SG4114	DB	'Total Search time: %s clocks', 0aH, 00H
	ORG $+2
$SG4116	DB	'Total time: %d second(s)', 0aH, 00H
	ORG $+2
$SG4117	DB	'Total bytes decoded: %s ', 0aH, 00H
	ORG $+2
$SG4118	DB	'Total Search(non-mask) function invocations: %s ', 0aH, 00H
	ORG $+2
$SG4120	DB	'Total MASK i.e. wildcard invocations: %s ', 0aH, 00H
	ORG $+1
$SG4121	DB	'Total MASK i.e. wildcard hits: %s ', 0aH, 00H
$SG4123	DB	'Total MASK i.e. wildcard time: %s clocks', 0aH, 00H
	ORG $+2
$SG4126	DB	'Total MASK i.e. wildcard performance: %sKB/clock', 0aH, 00H
	ORG $+2
$SG4127	DB	'Total BoyerMooreHorspool invocations: %s ', 0aH, 00H
	ORG $+1
$SG4128	DB	'Total BoyerMooreHorspool(whole chunks, not lines) hits: '
	DB	'%s ', 0aH, 00H
	ORG $+3
$SG4130	DB	'Total BoyerMooreHorspool(whole chunks, not lines) time: '
	DB	'%s clocks', 0aH, 00H
	ORG $+5
$SG4133	DB	'Total BoyerMooreHorspool(whole chunks, not lines) perfor'
	DB	'mance: %sKB/clock', 0aH, 00H
	ORG $+1
$SG4134	DB	'Total KarpRabinKaze invocations: %s ', 0aH, 00H
	ORG $+2
$SG4135	DB	'Total KarpRabinKaze(whole chunks, not lines) hits: %s ', 0aH
	DB	00H
$SG4137	DB	'Total KarpRabinKaze(whole chunks, not lines) time: %s cl'
	DB	'ocks', 0aH, 00H
	ORG $+6
$SG4140	DB	'Total KarpRabinKaze(whole chunks, not lines) performance'
	DB	': %sKB/clock', 0aH, 00H
	ORG $+2
$SG4145	DB	'Kazuya: Done.', 0aH, 00H
	ORG $+1
$SG4154	DB	'rb', 00H
	ORG $+1
$SG4155	DB	'OkumuraLZ: Can''t open %s file.', 0aH, 00H
$SG4158	DB	'wb', 00H
	ORG $+1
$SG4159	DB	'OkumuraLZ: Can''t open %s file.', 0aH, 00H
$SG4163	DB	'rb', 00H
	ORG $+1
$SG4164	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG4165	DB	'wb', 00H
	ORG $+1
$SG4172	DB	'QuickLZ: compressed %lu bytes into ', 00H
$SG4174	DB	'%lu bytes.', 0aH, 00H
$SG4179	DB	'FastLZ: compressed %lu bytes into ', 00H
	ORG $+1
$SG4181	DB	'%lu bytes.', 0aH, 00H
$SG4203	DB	'LZO: internal error - lzo_init() failed !!!', 0aH, 00H
	ORG $+3
$SG4204	DB	'(this usually indicates a compiler bug - try recompiling'
	DB	0aH, 'without optimizations, and enable `-DLZO_DEBUG'' for dia'
	DB	'gnostics)', 0aH, 00H
	ORG $+1
$SG4209	DB	'LZO: compressed %lu bytes into %lu bytes.', 0aH, 00H
	ORG $+1
$SG4211	DB	'LZO: internal error - compression failed: %d', 0aH, 00H
	ORG $+2
$SG4213	DB	'LZO: This block contains incompressible data.', 0aH, 00H
	ORG $+1
$SG4217	DB	'rb', 00H
	ORG $+1
$SG4218	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG4219	DB	'wb', 00H
	ORG $+1
$SG4225	DB	'QuickLZ: decompressed %lu bytes back into ', 00H
	ORG $+1
$SG4227	DB	'%lu bytes.', 0aH, 00H
$SG4232	DB	'FastLZ: decompressed %lu bytes back into ', 00H
	ORG $+2
$SG4234	DB	'%lu bytes.', 0aH, 00H
$SG4239	DB	'OkumuraLZ: decompressed %lu bytes back into ', 00H
	ORG $+3
$SG4243	DB	'%lu bytes.', 0aH, 00H
$SG4250	DB	'LZO: decompressed %lu bytes back into %lu bytes.', 0aH, 00H
	ORG $+2
$SG4252	DB	'LZO: internal error - decompression failed: %d', 0aH, 00H
_DATA	ENDS
EXTRN	__chkstk:NEAR
; Function compile flags: /Ogty
_TEXT	SEGMENT
_copy$ = -32788						; size = 4
tv482 = -32784						; size = 4
_anchor$615 = -32784					; size = 4
_ip_bound$ = -32780					; size = 4
_distance$613 = -32776					; size = 4
_ip_limit$ = -32772					; size = 4
_htab$ = -32768						; size = 32768
_length$ = 8						; size = 4
_output$ = 12						; size = 4
_fastlz1_compress PROC NEAR
; _input$ = ecx
; File c:\worktemp\_kaze_kazuya_r17++_lasse-ariya-oberhumer-okumura_(on_osho)_32_bit_64_bit\kazuya17++\fastlz.c
; Line 167
	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	mov	eax, 32788				; 00008014H
	call	__chkstk
	mov	eax, DWORD PTR _length$[ebp]
; Line 180
	cmp	eax, 4
	push	ebx
	push	esi
	mov	esi, ecx
	lea	edx, DWORD PTR [esi+eax-2]
	lea	ecx, DWORD PTR [esi+eax-12]
	push	edi
	mov	DWORD PTR _ip_bound$[esp+32800], edx
	mov	DWORD PTR _ip_limit$[esp+32800], ecx
	jge	SHORT $L605
; Line 182
	test	eax, eax
	je	SHORT $L601
; Line 185
	mov	edi, DWORD PTR _output$[ebp]
	mov	cl, al
	dec	cl
	mov	BYTE PTR [edi], cl
	inc	edi
; Line 186
	inc	edx
; Line 187
	cmp	esi, edx
	ja	SHORT $L604
	sub	edi, esi
$L603:
; Line 188
	mov	cl, BYTE PTR [esi]
	mov	BYTE PTR [edi+esi], cl
	inc	esi
	cmp	esi, edx
	jbe	SHORT $L603
$L604:
; Line 189
	inc	eax
; Line 418
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L601:
; Line 192
	xor	eax, eax
; Line 418
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L605:
; Line 197
	mov	eax, esi
	mov	ecx, 8192				; 00002000H
	lea	edi, DWORD PTR _htab$[esp+32800]
	rep stosd
; Line 201
	mov	edi, DWORD PTR _output$[ebp]
	mov	BYTE PTR [edi], 31			; 0000001fH
; Line 202
	mov	al, BYTE PTR [esi]
	mov	BYTE PTR [edi+1], al
; Line 203
	mov	al, BYTE PTR [esi+1]
	lea	ecx, DWORD PTR [edi+1]
	inc	ecx
	inc	esi
	mov	BYTE PTR [ecx], al
; Line 206
	mov	eax, DWORD PTR _ip_limit$[esp+32800]
	inc	ecx
	inc	esi
	cmp	esi, eax
	mov	ebx, 2
	mov	DWORD PTR _copy$[esp+32800], ebx
	jae	$L611
$L610:
; Line 229
	movzx	edi, WORD PTR [esi]
	xor	edx, edx
	mov	dx, WORD PTR [esi+1]
	mov	eax, edi
	shr	eax, 3
	mov	DWORD PTR _anchor$615[esp+32800], esi
	xor	eax, edx
	xor	eax, edi
	and	eax, 8191				; 00001fffH
; Line 231
	mov	edi, DWORD PTR _htab$[esp+eax*4+32800]
	lea	eax, DWORD PTR _htab$[esp+eax*4+32800]
; Line 234
	mov	edx, esi
	sub	edx, edi
; Line 237
	mov	DWORD PTR [eax], esi
; Line 246
	je	$literal$620
	cmp	edx, 8192				; 00002000H
	jae	$literal$620
	mov	al, BYTE PTR [edi]
	mov	bl, BYTE PTR [esi]
	inc	edi
	cmp	al, bl
	jne	$L4278
	mov	al, BYTE PTR [edi]
	mov	bl, BYTE PTR [esi+1]
	inc	edi
	cmp	al, bl
	jne	$L4278
	mov	al, BYTE PTR [edi]
	mov	bl, BYTE PTR [esi+2]
	inc	edi
	cmp	al, bl
	jne	$L4278
; Line 262
	add	esi, 3
; Line 265
	dec	edx
	mov	DWORD PTR _distance$613[esp+32800], edx
; Line 267
	jne	SHORT $L630
; Line 271
	cmp	esi, DWORD PTR _ip_bound$[esp+32800]
	mov	al, BYTE PTR [esi-1]
	jae	SHORT $L4270
	npad	3
$L624:
; Line 272
	mov	bl, BYTE PTR [edi]
	inc	edi
	cmp	bl, al
	jne	SHORT $L4270
	mov	ebx, DWORD PTR _ip_bound$[esp+32800]
	inc	esi
	cmp	esi, ebx
	jb	SHORT $L624
; Line 274
	jmp	SHORT $L4270
$L630:
; Line 278
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4270
; Line 279
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4270
; Line 280
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4270
; Line 281
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4270
; Line 282
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4270
; Line 283
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4270
; Line 284
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4270
; Line 285
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4270
; Line 286
	cmp	esi, DWORD PTR _ip_bound$[esp+32800]
	jae	SHORT $L4270
$L641:
; Line 287
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4270
	cmp	esi, DWORD PTR _ip_bound$[esp+32800]
	jb	SHORT $L641
$L4270:
; Line 292
	mov	eax, DWORD PTR _copy$[esp+32800]
	test	eax, eax
	je	SHORT $L644
; Line 294
	mov	bl, al
	dec	bl
	mov	edi, ecx
	sub	edi, eax
	mov	BYTE PTR [edi-1], bl
; Line 295
	jmp	SHORT $L645
$L644:
; Line 297
	dec	ecx
$L645:
; Line 304
	mov	edi, DWORD PTR _anchor$615[esp+32800]
	sub	esi, 3
	mov	ebx, esi
	sub	ebx, edi
; Line 349
	cmp	ebx, 262				; 00000106H
	mov	DWORD PTR _copy$[esp+32800], 0
	jbe	SHORT $L649
	shr	edx, 8
	mov	DWORD PTR tv482[esp+32800], edx
	lea	edx, DWORD PTR [ebx-263]
	mov	eax, -98358029				; fa232cf3H
	mul	edx
	mov	edi, edx
	shr	edi, 8
	inc	edi
$L648:
; Line 352
	mov	al, BYTE PTR tv482[esp+32800]
; Line 354
	mov	dl, BYTE PTR _distance$613[esp+32800]
	sub	al, 32					; 00000020H
	mov	BYTE PTR [ecx], al
	inc	ecx
	mov	BYTE PTR [ecx], 253			; 000000fdH
	inc	ecx
	mov	BYTE PTR [ecx], dl
	inc	ecx
; Line 355
	sub	ebx, 262				; 00000106H
	dec	edi
	jne	SHORT $L648
; Line 350
	mov	edx, DWORD PTR _distance$613[esp+32800]
$L649:
; Line 360
	mov	eax, edx
	shr	eax, 8
	cmp	ebx, 7
	jae	SHORT $L650
	shl	bl, 5
	add	al, bl
	mov	BYTE PTR [ecx], al
; Line 363
	jmp	SHORT $L4280
$L650:
; Line 365
	sub	al, 32					; 00000020H
	mov	BYTE PTR [ecx], al
	inc	ecx
; Line 366
	sub	bl, 7
	mov	BYTE PTR [ecx], bl
$L4280:
; Line 367
	mov	BYTE PTR [ecx+1], dl
; Line 372
	movzx	edi, WORD PTR [esi]
	inc	ecx
	lea	eax, DWORD PTR [esi+1]
; Line 373
	xor	ebx, ebx
	mov	bx, WORD PTR [eax]
	mov	edx, edi
	shr	edx, 3
	inc	ecx
	xor	edx, ebx
	xor	edx, edi
	and	edx, 8191				; 00001fffH
	mov	DWORD PTR _htab$[esp+edx*4+32800], esi
; Line 374
	movzx	edx, WORD PTR [eax]
; Line 375
	xor	ebx, ebx
	mov	bx, WORD PTR [eax+1]
	lea	esi, DWORD PTR [eax+1]
	mov	edi, edx
	shr	edi, 3
	xor	edi, ebx
	xor	edi, edx
	and	edi, 8191				; 00001fffH
	mov	DWORD PTR _htab$[esp+edi*4+32800], eax
; Line 380
	jmp	SHORT $L4281
$L4278:
	mov	ebx, DWORD PTR _copy$[esp+32800]
$literal$620:
; Line 383
	mov	eax, DWORD PTR _anchor$615[esp+32800]
	mov	dl, BYTE PTR [eax]
	inc	ecx
	mov	BYTE PTR [ecx-1], dl
	inc	esi
; Line 385
	inc	ebx
; Line 386
	cmp	ebx, 32					; 00000020H
	mov	DWORD PTR _copy$[esp+32800], ebx
	jne	SHORT $L656
; Line 388
	mov	DWORD PTR _copy$[esp+32800], 0
$L4281:
; Line 389
	mov	ebx, DWORD PTR _copy$[esp+32800]
	mov	BYTE PTR [ecx], 31			; 0000001fH
	inc	ecx
$L656:
	cmp	esi, DWORD PTR _ip_limit$[esp+32800]
	jb	$L610
	mov	edx, DWORD PTR _ip_bound$[esp+32800]
	mov	edi, DWORD PTR _output$[ebp]
$L611:
; Line 394
	inc	edx
; Line 395
	cmp	esi, edx
	ja	SHORT $L659
$L658:
; Line 397
	mov	al, BYTE PTR [esi]
	inc	ecx
	mov	BYTE PTR [ecx-1], al
	inc	esi
; Line 398
	inc	ebx
; Line 399
	cmp	ebx, 32					; 00000020H
	jne	SHORT $L660
; Line 401
	mov	DWORD PTR _copy$[esp+32800], 0
; Line 402
	mov	ebx, DWORD PTR _copy$[esp+32800]
	mov	BYTE PTR [ecx], 31			; 0000001fH
	inc	ecx
$L660:
; Line 395
	cmp	esi, edx
	jbe	SHORT $L658
$L659:
; Line 407
	test	ebx, ebx
	je	SHORT $L661
; Line 408
	mov	dl, bl
	mov	eax, ecx
	sub	eax, ebx
	dec	dl
	mov	BYTE PTR [eax-1], dl
; Line 417
	mov	eax, ecx
	sub	eax, edi
; Line 418
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L661:
; Line 410
	dec	ecx
; Line 417
	mov	eax, ecx
	sub	eax, edi
; Line 418
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_fastlz1_compress ENDP
; Function compile flags: /Ogty
_ctrl$ = -20						; size = 4
_loop$ = -16						; size = 4
_ip$ = -12						; size = 4
_ip_limit$ = -8						; size = 4
tv357 = -4						; size = 4
_output$ = 8						; size = 4
_fastlz1_decompress PROC NEAR
; _input$ = ecx
; _length$ = eax
; Line 421
	sub	esp, 20					; 00000014H
	push	ebx
	push	ebp
	push	esi
; Line 424
	mov	esi, DWORD PTR _output$[esp+28]
	push	edi
	mov	edi, ecx
; Line 426
	xor	ecx, ecx
	mov	cl, BYTE PTR [edi]
	lea	ebx, DWORD PTR [edi+eax]
	mov	DWORD PTR _ip_limit$[esp+36], ebx
; Line 427
	mov	DWORD PTR _loop$[esp+36], 1
	and	ecx, 31					; 0000001fH
	mov	ebp, ecx
	mov	DWORD PTR _ctrl$[esp+36], ebp
	inc	edi
	jmp	SHORT $L681
$L4293:
	mov	ebx, DWORD PTR _ip_limit$[esp+36]
$L681:
; Line 435
	cmp	ebp, 32					; 00000020H
	jb	$L687
; Line 441
	mov	eax, ebp
	mov	edx, ebp
	and	eax, 31					; 0000001fH
	shr	edx, 5
	shl	eax, 8
	mov	ecx, esi
	dec	edx
	sub	ecx, eax
; Line 442
	cmp	edx, 6
	jne	SHORT $L688
; Line 444
	movzx	edx, BYTE PTR [edi]
	add	edx, 6
	inc	edi
$L688:
; Line 445
	movzx	eax, BYTE PTR [edi]
	sub	ecx, eax
	inc	edi
; Line 473
	cmp	edi, ebx
	mov	DWORD PTR _ip$[esp+36], edi
	jae	SHORT $L689
; Line 474
	movzx	ebp, BYTE PTR [edi]
	inc	edi
	mov	DWORD PTR _ctrl$[esp+36], ebp
	mov	DWORD PTR _ip$[esp+36], edi
; Line 475
	jmp	SHORT $L690
$L689:
; Line 476
	mov	DWORD PTR _loop$[esp+36], 0
$L690:
; Line 478
	cmp	ecx, esi
	jne	SHORT $L691
; Line 481
	mov	al, BYTE PTR [ecx-1]
; Line 482
	mov	BYTE PTR [esi], al
	inc	esi
; Line 483
	mov	BYTE PTR [esi], al
	inc	esi
; Line 484
	mov	BYTE PTR [esi], al
	inc	esi
; Line 485
	test	edx, edx
	je	$L682
	mov	ecx, edx
	mov	DWORD PTR tv357[esp+36], edx
	mov	dl, al
; Line 488
	mov	ebp, DWORD PTR _ctrl$[esp+36]
	mov	dh, dl
	mov	ebx, ecx
	shr	ecx, 2
	mov	edi, esi
	mov	eax, edx
	shl	eax, 16					; 00000010H
	mov	ax, dx
	mov	edx, ebx
	rep stosd
	mov	ecx, ebx
	and	ecx, 3
	rep stosb
	mov	edi, DWORD PTR _ip$[esp+36]
	add	esi, edx
	jmp	$L682
$L691:
; Line 496
	mov	al, BYTE PTR [ecx-1]
	dec	ecx
	mov	BYTE PTR [esi], al
; Line 497
	mov	al, BYTE PTR [ecx+1]
	inc	esi
	inc	ecx
	mov	BYTE PTR [esi], al
; Line 498
	mov	al, BYTE PTR [ecx+1]
	inc	esi
	inc	ecx
	mov	BYTE PTR [esi], al
	inc	esi
	inc	ecx
; Line 502
	test	dl, 1
	je	SHORT $L699
; Line 504
	mov	al, BYTE PTR [ecx]
	mov	BYTE PTR [esi], al
	inc	esi
	inc	ecx
; Line 505
	dec	edx
$L699:
; Line 509
	mov	eax, esi
; Line 510
	add	esi, edx
; Line 512
	shr	edx, 1
	cmp	edx, 4
	jbe	SHORT $L704
	lea	ebx, DWORD PTR [edx-5]
	shr	ebx, 2
	inc	ebx
	npad	6
$L702:
; Line 514
	mov	bp, WORD PTR [ecx]
	mov	WORD PTR [eax], bp
; Line 515
	mov	bp, WORD PTR [ecx+2]
	add	ecx, 2
	add	eax, 2
	mov	WORD PTR [eax], bp
; Line 516
	mov	bp, WORD PTR [ecx+2]
	add	ecx, 2
	add	eax, 2
	mov	WORD PTR [eax], bp
; Line 517
	mov	bp, WORD PTR [ecx+2]
	add	ecx, 2
	add	eax, 2
	mov	WORD PTR [eax], bp
	add	eax, 2
	add	ecx, 2
	sub	edx, 4
	dec	ebx
	jne	SHORT $L702
; Line 512
	mov	ebp, DWORD PTR _ctrl$[esp+36]
$L704:
; Line 519
	test	edx, edx
	je	SHORT $L682
$L705:
; Line 520
	mov	bx, WORD PTR [ecx]
	mov	WORD PTR [eax], bx
	add	eax, 2
	add	ecx, 2
	dec	edx
	jne	SHORT $L705
; Line 527
	jmp	SHORT $L682
$L687:
; Line 537
	mov	cl, BYTE PTR [edi]
	mov	BYTE PTR [esi], cl
	inc	esi
	inc	edi
; Line 538
	test	ebp, ebp
	je	SHORT $L711
; Line 537
	mov	eax, ebp
	npad	2
$L709:
; Line 539
	mov	dl, BYTE PTR [edi]
	mov	BYTE PTR [esi], dl
	inc	esi
	inc	edi
	dec	eax
	jne	SHORT $L709
$L711:
; Line 541
	cmp	edi, ebx
	sbb	eax, eax
	neg	eax
	mov	DWORD PTR _loop$[esp+36], eax
; Line 542
	je	SHORT $L4292
; Line 543
	movzx	ebp, BYTE PTR [edi]
	mov	DWORD PTR _ctrl$[esp+36], ebp
	inc	edi
$L682:
; Line 546
	mov	eax, DWORD PTR _loop$[esp+36]
	test	eax, eax
	jne	$L4293
$L4292:
; Line 548
	mov	ecx, DWORD PTR _output$[esp+32]
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebp
	sub	eax, ecx
	pop	ebx
; Line 549
	add	esp, 20					; 00000014H
	ret	0
_fastlz1_decompress ENDP
; Function compile flags: /Ogty
_copy$ = -32804					; size = 4
_ip_bound$ = -32800					; size = 4
tv491 = -32793						; size = 1
_distance$760 = -32792					; size = 4
tv192 = -32788						; size = 4
tv173 = -32788						; size = 4
_len$761 = -32788					; size = 4
_ip$ = -32784						; size = 4
_anchor$762 = -32780					; size = 4
_ip_limit$ = -32776					; size = 4
tv493 = -32772						; size = 4
_htab$ = -32768						; size = 32768
_input$ = 8						; size = 4
_output$ = 12						; size = 4
_fastlz2_compress PROC NEAR
; _length$ = ecx
; Line 167
	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	mov	eax, 32804				; 00008024H
	call	__chkstk
; Line 180
	cmp	ecx, 4
	mov	eax, DWORD PTR _input$[ebp]
	push	ebx
	push	esi
	lea	ebx, DWORD PTR [eax+ecx-2]
	lea	edx, DWORD PTR [eax+ecx-12]
	push	edi
	mov	DWORD PTR _ip_bound$[esp+32816], ebx
	mov	DWORD PTR _ip_limit$[esp+32816], edx
	jge	SHORT $L752
; Line 182
	test	ecx, ecx
	je	SHORT $L748
; Line 185
	mov	esi, DWORD PTR _output$[ebp]
	mov	dl, cl
	dec	dl
	mov	BYTE PTR [esi], dl
	inc	esi
; Line 186
	inc	ebx
; Line 187
	cmp	eax, ebx
	ja	SHORT $L751
	sub	esi, eax
$L750:
; Line 188
	mov	dl, BYTE PTR [eax]
	mov	BYTE PTR [esi+eax], dl
	inc	eax
	cmp	eax, ebx
	jbe	SHORT $L750
$L751:
; Line 189
	lea	eax, DWORD PTR [ecx+1]
; Line 418
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L748:
; Line 192
	xor	eax, eax
; Line 418
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L752:
; Line 197
	mov	ecx, 8192				; 00002000H
	lea	edi, DWORD PTR _htab$[esp+32816]
	rep stosd
; Line 201
	mov	edi, DWORD PTR _output$[ebp]
	mov	BYTE PTR [edi], 31			; 0000001fH
; Line 202
	mov	dl, BYTE PTR [eax]
	mov	BYTE PTR [edi+1], dl
; Line 203
	mov	dl, BYTE PTR [eax+1]
	lea	esi, DWORD PTR [edi+1]
	inc	esi
	inc	eax
	mov	BYTE PTR [esi], dl
; Line 206
	mov	edx, DWORD PTR _ip_limit$[esp+32816]
	inc	esi
	inc	eax
	cmp	eax, edx
	mov	ecx, 2
	mov	DWORD PTR _copy$[esp+32816], ecx
	jae	$L758
$L757:
; Line 219
	mov	cl, BYTE PTR [eax]
	cmp	cl, BYTE PTR [eax-1]
	mov	edx, 3
	mov	DWORD PTR _len$761[esp+32816], edx
	mov	DWORD PTR _anchor$762[esp+32816], eax
	mov	BYTE PTR tv491[esp+32816], cl
	jne	SHORT $L765
	mov	cx, WORD PTR [eax-1]
	cmp	cx, WORD PTR [eax+1]
	jne	SHORT $L765
; Line 221
	mov	ecx, 1
; Line 223
	lea	edi, DWORD PTR [eax+2]
; Line 224
	jmp	$match$766
$L765:
; Line 229
	movzx	edx, WORD PTR [eax]
	xor	edi, edi
	mov	di, WORD PTR [eax+1]
	lea	ebx, DWORD PTR [eax+1]
	mov	ecx, edx
	shr	ecx, 3
	mov	DWORD PTR tv493[esp+32816], ebx
	xor	ecx, edi
	xor	ecx, edx
	and	ecx, 8191				; 00001fffH
; Line 231
	mov	edi, DWORD PTR _htab$[esp+ecx*4+32816]
	lea	ecx, DWORD PTR _htab$[esp+ecx*4+32816]
; Line 234
	mov	edx, eax
	sub	edx, edi
	mov	DWORD PTR _distance$760[esp+32816], edx
; Line 237
	mov	DWORD PTR [ecx], eax
; Line 246
	je	$literal$771
	cmp	edx, 73725				; 00011ffdH
	jae	$literal$771
	mov	al, BYTE PTR [edi]
	mov	cl, BYTE PTR tv491[esp+32816]
	inc	edi
	cmp	al, cl
	mov	DWORD PTR _ip$[esp+32816], ebx
	jne	$literal$771
	mov	cl, BYTE PTR [edi]
	mov	eax, ebx
	mov	bl, BYTE PTR [eax]
	inc	eax
	inc	edi
	cmp	cl, bl
	jne	$L4313
	mov	bl, BYTE PTR [eax]
	mov	cl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	cl, bl
	jne	$L4313
; Line 251
	cmp	edx, 8191				; 00001fffH
	jb	SHORT $L4311
; Line 253
	mov	dl, BYTE PTR [edi]
	mov	cl, BYTE PTR [eax]
	inc	edi
	cmp	cl, dl
	jne	$L4313
	mov	cl, BYTE PTR [edi]
	mov	dl, BYTE PTR [eax+1]
	inc	edi
	cmp	dl, cl
	jne	$L4313
; Line 255
	mov	edx, 5
	jmp	SHORT $L4315
$L4311:
; Line 224
	mov	edx, DWORD PTR _len$761[esp+32816]
$L4315:
	mov	ecx, DWORD PTR _distance$760[esp+32816]
	mov	ebx, DWORD PTR _ip_bound$[esp+32816]
$match$766:
; Line 262
	mov	eax, DWORD PTR _anchor$762[esp+32816]
	add	eax, edx
; Line 265
	dec	ecx
	mov	DWORD PTR _distance$760[esp+32816], ecx
; Line 267
	jne	SHORT $L784
; Line 271
	cmp	eax, ebx
	mov	dl, BYTE PTR [eax-1]
	jae	SHORT $L4306
$L778:
; Line 272
	mov	bl, BYTE PTR [edi]
	inc	edi
	cmp	bl, dl
	jne	SHORT $L4306
	mov	ebx, DWORD PTR _ip_bound$[esp+32816]
	inc	eax
	cmp	eax, ebx
	jb	SHORT $L778
; Line 274
	jmp	SHORT $L4306
$L784:
; Line 278
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4306
; Line 279
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4306
; Line 280
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4306
; Line 281
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4306
; Line 282
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4306
; Line 283
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4306
; Line 284
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4306
; Line 285
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4306
; Line 286
	cmp	eax, DWORD PTR _ip_bound$[esp+32816]
	jae	SHORT $L4306
	npad	7
$L795:
; Line 287
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4306
	cmp	eax, DWORD PTR _ip_bound$[esp+32816]
	jb	SHORT $L795
$L4306:
; Line 292
	mov	edx, DWORD PTR _copy$[esp+32816]
	test	edx, edx
	je	SHORT $L798
; Line 294
	mov	bl, dl
	dec	bl
	mov	edi, esi
	sub	edi, edx
	mov	BYTE PTR [edi-1], bl
; Line 295
	jmp	SHORT $L799
$L798:
; Line 297
	dec	esi
$L799:
; Line 304
	mov	edi, DWORD PTR _anchor$762[esp+32816]
	sub	eax, 3
	mov	ebx, eax
	sub	ebx, edi
; Line 308
	cmp	ecx, 8191				; 00001fffH
	mov	DWORD PTR _copy$[esp+32816], 0
	mov	DWORD PTR _ip$[esp+32816], eax
	jae	SHORT $L800
; Line 312
	mov	edx, ecx
	shr	edx, 8
	cmp	ebx, 7
	jae	SHORT $L801
	shl	bl, 5
	add	dl, bl
; Line 315
	jmp	$L4316
$L801:
; Line 317
	sub	dl, 32					; 00000020H
	mov	BYTE PTR [esi], dl
; Line 318
	sub	ebx, 7
	inc	esi
	cmp	ebx, 255				; 000000ffH
	jb	SHORT $L805
	mov	eax, -2139062143			; 80808081H
	mul	ebx
	mov	ecx, edx
	shr	ecx, 7
	mov	DWORD PTR tv192[esp+32816], ecx
	mov	edx, ecx
	shr	ecx, 2
	or	eax, -1
	mov	edi, esi
	rep stosd
	mov	ecx, edx
	and	ecx, 3
	rep stosb
	mov	eax, edx
	add	esi, eax
$L803:
	sub	ebx, 255				; 000000ffH
	dec	eax
	jne	SHORT $L803
	mov	eax, DWORD PTR _ip$[esp+32816]
	mov	ecx, DWORD PTR _distance$760[esp+32816]
$L805:
; Line 320
	mov	BYTE PTR [esi], bl
; Line 324
	jmp	SHORT $L4317
$L800:
; Line 329
	sub	ecx, 8191				; 00001fffH
	cmp	ebx, 7
	jae	SHORT $L807
; Line 330
	shl	bl, 5
	add	bl, 31					; 0000001fH
; Line 335
	jmp	SHORT $L811
$L807:
; Line 338
	mov	BYTE PTR [esi], 255			; 000000ffH
; Line 339
	sub	ebx, 7
	inc	esi
	cmp	ebx, 255				; 000000ffH
	mov	DWORD PTR _distance$760[esp+32816], ecx
	jb	SHORT $L811
	mov	eax, -2139062143			; 80808081H
	mul	ebx
	mov	ecx, edx
	shr	ecx, 7
	mov	DWORD PTR tv173[esp+32816], ecx
	mov	edx, ecx
	shr	ecx, 2
	or	eax, -1
	mov	edi, esi
	rep stosd
	mov	ecx, edx
	and	ecx, 3
	rep stosb
	mov	eax, edx
	add	esi, eax
$L809:
	sub	ebx, 255				; 000000ffH
	dec	eax
	jne	SHORT $L809
	mov	eax, DWORD PTR _ip$[esp+32816]
	mov	ecx, DWORD PTR _distance$760[esp+32816]
$L811:
; Line 341
	mov	BYTE PTR [esi], bl
	inc	esi
; Line 342
	mov	BYTE PTR [esi], 255			; 000000ffH
; Line 343
	mov	edx, ecx
	inc	esi
	shr	edx, 8
$L4316:
	mov	BYTE PTR [esi], dl
$L4317:
; Line 344
	mov	BYTE PTR [esi+1], cl
; Line 372
	movzx	edi, WORD PTR [eax]
	inc	esi
	lea	ecx, DWORD PTR [eax+1]
; Line 373
	xor	ebx, ebx
	mov	bx, WORD PTR [ecx]
	mov	edx, edi
	shr	edx, 3
	inc	esi
	xor	edx, ebx
	xor	edx, edi
	and	edx, 8191				; 00001fffH
	mov	DWORD PTR _htab$[esp+edx*4+32816], eax
; Line 374
	movzx	edx, WORD PTR [ecx]
; Line 375
	xor	ebx, ebx
	mov	bx, WORD PTR [ecx+1]
	lea	eax, DWORD PTR [ecx+1]
	mov	edi, edx
	shr	edi, 3
	xor	edi, ebx
	xor	edi, edx
	and	edi, 8191				; 00001fffH
	mov	DWORD PTR _htab$[esp+edi*4+32816], ecx
; Line 380
	jmp	SHORT $L4318
$L4313:
	mov	ebx, DWORD PTR tv493[esp+32816]
$literal$771:
; Line 383
	mov	eax, DWORD PTR _anchor$762[esp+32816]
	mov	cl, BYTE PTR [eax]
	mov	BYTE PTR [esi], cl
; Line 385
	mov	ecx, DWORD PTR _copy$[esp+32816]
	inc	esi
	inc	ecx
; Line 386
	cmp	ecx, 32					; 00000020H
	mov	eax, ebx
	mov	DWORD PTR _copy$[esp+32816], ecx
	jne	SHORT $L816
; Line 388
	mov	DWORD PTR _copy$[esp+32816], 0
$L4318:
; Line 389
	mov	BYTE PTR [esi], 31			; 0000001fH
	inc	esi
$L816:
	cmp	eax, DWORD PTR _ip_limit$[esp+32816]
	mov	ebx, DWORD PTR _ip_bound$[esp+32816]
	jb	$L757
	mov	edi, DWORD PTR _output$[ebp]
	mov	ecx, DWORD PTR _copy$[esp+32816]
$L758:
; Line 394
	inc	ebx
; Line 395
	cmp	eax, ebx
	ja	SHORT $L819
	npad	7
$L818:
; Line 397
	mov	dl, BYTE PTR [eax]
	inc	esi
	mov	BYTE PTR [esi-1], dl
	inc	eax
; Line 398
	inc	ecx
; Line 399
	cmp	ecx, 32					; 00000020H
	jne	SHORT $L820
; Line 401
	mov	DWORD PTR _copy$[esp+32816], 0
; Line 402
	mov	ecx, DWORD PTR _copy$[esp+32816]
	mov	BYTE PTR [esi], 31			; 0000001fH
	inc	esi
$L820:
; Line 395
	cmp	eax, ebx
	jbe	SHORT $L818
$L819:
; Line 407
	test	ecx, ecx
	je	SHORT $L821
; Line 408
	mov	al, cl
	dec	al
	mov	edx, esi
	sub	edx, ecx
	mov	BYTE PTR [edx-1], al
; Line 414
	mov	dl, BYTE PTR [edi]
	or	dl, 32					; 00000020H
; Line 417
	mov	eax, esi
	mov	BYTE PTR [edi], dl
	sub	eax, edi
; Line 418
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L821:
; Line 414
	mov	dl, BYTE PTR [edi]
	dec	esi
	or	dl, 32					; 00000020H
; Line 417
	mov	eax, esi
	mov	BYTE PTR [edi], dl
	sub	eax, edi
; Line 418
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_fastlz2_compress ENDP
; Function compile flags: /Ogty
_ctrl$ = -20						; size = 4
_ip$ = -16						; size = 4
_loop$ = -12						; size = 4
_ip_limit$ = -8						; size = 4
tv377 = -4						; size = 4
_output$ = 8						; size = 4
_fastlz2_decompress PROC NEAR
; _input$ = ecx
; _length$ = eax
; Line 421
	sub	esp, 20					; 00000014H
	push	ebx
	push	ebp
	push	esi
; Line 424
	mov	esi, DWORD PTR _output$[esp+28]
	push	edi
	mov	edi, ecx
; Line 426
	xor	ebx, ebx
	mov	bl, BYTE PTR [edi]
	lea	ecx, DWORD PTR [edi+eax]
	mov	DWORD PTR _ip_limit$[esp+36], ecx
; Line 427
	mov	DWORD PTR _loop$[esp+36], 1
	and	ebx, 31					; 0000001fH
	mov	DWORD PTR _ctrl$[esp+36], ebx
	inc	edi
$L842:
; Line 433
	mov	ebp, ebx
	and	ebp, 31					; 0000001fH
	shl	ebp, 8
; Line 435
	cmp	ebx, 32					; 00000020H
	jb	$L848
	mov	edx, ebx
	shr	edx, 5
; Line 441
	mov	ecx, esi
	dec	edx
	sub	ecx, ebp
; Line 442
	cmp	edx, 6
	jne	SHORT $L853
$L851:
; Line 449
	mov	al, BYTE PTR [edi]
; Line 450
	movzx	ebx, al
	inc	edi
	add	edx, ebx
; Line 451
	cmp	al, 255					; 000000ffH
	je	SHORT $L851
$L853:
; Line 452
	mov	al, BYTE PTR [edi]
; Line 453
	movzx	ebx, al
	inc	edi
	sub	ecx, ebx
; Line 456
	cmp	al, 255					; 000000ffH
	mov	DWORD PTR _ip$[esp+36], edi
	jne	SHORT $L855
; Line 457
	cmp	ebp, 7936				; 00001f00H
	jne	SHORT $L855
; Line 460
	movzx	ecx, BYTE PTR [edi+1]
	xor	eax, eax
	mov	ah, BYTE PTR [edi]
	inc	edi
	add	eax, ecx
; Line 461
	mov	ecx, esi
	inc	edi
	sub	ecx, eax
	mov	DWORD PTR _ip$[esp+36], edi
	sub	ecx, 8191				; 00001fffH
$L855:
; Line 473
	cmp	edi, DWORD PTR _ip_limit$[esp+36]
	jae	SHORT $L856
; Line 474
	movzx	ebx, BYTE PTR [edi]
	inc	edi
	mov	DWORD PTR _ctrl$[esp+36], ebx
	mov	DWORD PTR _ip$[esp+36], edi
; Line 475
	jmp	SHORT $L857
$L856:
; Line 476
	mov	ebx, DWORD PTR _ctrl$[esp+36]
	mov	DWORD PTR _loop$[esp+36], 0
$L857:
; Line 478
	cmp	ecx, esi
	jne	SHORT $L858
; Line 481
	mov	al, BYTE PTR [ecx-1]
; Line 482
	mov	BYTE PTR [esi], al
	inc	esi
; Line 483
	mov	BYTE PTR [esi], al
	inc	esi
; Line 484
	mov	BYTE PTR [esi], al
	inc	esi
; Line 485
	test	edx, edx
	je	$L843
	mov	ecx, edx
	mov	DWORD PTR tv377[esp+36], edx
	mov	dl, al
	mov	dh, dl
	mov	ebx, ecx
	shr	ecx, 2
	mov	edi, esi
	mov	eax, edx
	shl	eax, 16					; 00000010H
	mov	ax, dx
	mov	edx, ebx
	rep stosd
	mov	ecx, ebx
; Line 488
	mov	ebx, DWORD PTR _ctrl$[esp+36]
	and	ecx, 3
	rep stosb
	mov	edi, DWORD PTR _ip$[esp+36]
	add	esi, edx
	jmp	$L843
$L858:
; Line 496
	mov	al, BYTE PTR [ecx-1]
	dec	ecx
	mov	BYTE PTR [esi], al
; Line 497
	mov	al, BYTE PTR [ecx+1]
	inc	esi
	inc	ecx
	mov	BYTE PTR [esi], al
; Line 498
	mov	al, BYTE PTR [ecx+1]
	inc	esi
	inc	ecx
	mov	BYTE PTR [esi], al
	inc	esi
	inc	ecx
; Line 502
	test	dl, 1
	je	SHORT $L866
; Line 504
	mov	al, BYTE PTR [ecx]
	mov	BYTE PTR [esi], al
	inc	esi
	inc	ecx
; Line 505
	dec	edx
$L866:
; Line 509
	mov	eax, esi
; Line 510
	add	esi, edx
; Line 512
	shr	edx, 1
	cmp	edx, 4
	jbe	SHORT $L4331
	lea	ebx, DWORD PTR [edx-5]
	shr	ebx, 2
	inc	ebx
$L869:
; Line 514
	mov	bp, WORD PTR [ecx]
	mov	WORD PTR [eax], bp
; Line 515
	mov	bp, WORD PTR [ecx+2]
	add	ecx, 2
	add	eax, 2
	mov	WORD PTR [eax], bp
; Line 516
	mov	bp, WORD PTR [ecx+2]
	add	ecx, 2
	add	eax, 2
	mov	WORD PTR [eax], bp
; Line 517
	mov	bp, WORD PTR [ecx+2]
	add	ecx, 2
	add	eax, 2
	mov	WORD PTR [eax], bp
	add	eax, 2
	add	ecx, 2
	sub	edx, 4
	dec	ebx
	jne	SHORT $L869
; Line 512
	mov	ebx, DWORD PTR _ctrl$[esp+36]
$L4331:
; Line 519
	test	edx, edx
	je	SHORT $L843
$L872:
; Line 520
	mov	bp, WORD PTR [ecx]
	mov	WORD PTR [eax], bp
	add	eax, 2
	add	ecx, 2
	dec	edx
	jne	SHORT $L872
; Line 527
	jmp	SHORT $L843
$L848:
; Line 537
	mov	cl, BYTE PTR [edi]
	mov	BYTE PTR [esi], cl
	inc	esi
	inc	edi
; Line 538
	test	ebx, ebx
	je	SHORT $L878
$L876:
; Line 539
	mov	dl, BYTE PTR [edi]
	mov	BYTE PTR [esi], dl
	inc	esi
	inc	edi
	dec	ebx
	jne	SHORT $L876
$L878:
; Line 541
	cmp	edi, DWORD PTR _ip_limit$[esp+36]
	sbb	eax, eax
	neg	eax
	mov	DWORD PTR _loop$[esp+36], eax
; Line 542
	je	SHORT $L4330
; Line 543
	movzx	ebx, BYTE PTR [edi]
	mov	DWORD PTR _ctrl$[esp+36], ebx
	inc	edi
$L843:
; Line 546
	mov	eax, DWORD PTR _loop$[esp+36]
	test	eax, eax
	jne	$L842
$L4330:
; Line 548
	mov	ecx, DWORD PTR _output$[esp+32]
	pop	edi
	mov	eax, esi
	pop	esi
	pop	ebp
	sub	eax, ecx
	pop	ebx
; Line 549
	add	esp, 20					; 00000014H
	ret	0
_fastlz2_decompress ENDP
_TEXT	ENDS
PUBLIC	_fastlz_compress
; Function compile flags: /Ogty
_TEXT	SEGMENT
_input$ = 8						; size = 4
_length$ = 12						; size = 4
_output$ = 16						; size = 4
_fastlz_compress PROC NEAR
; File c:\worktemp\_kaze_kazuya_r17++_lasse-ariya-oberhumer-okumura_(on_osho)_32_bit_64_bit\kazuya17++\kazuya.c
; Line 135
	mov	ecx, DWORD PTR _length$[esp-4]
	cmp	ecx, 65536				; 00010000H
	jge	SHORT $L888
; Line 136
	mov	eax, DWORD PTR _output$[esp-4]
	push	eax
	push	ecx
	mov	ecx, DWORD PTR _input$[esp+4]
	call	_fastlz1_compress
; Line 139
	add	esp, 8
; Line 140
	ret	0
$L888:
; Line 139
	mov	edx, DWORD PTR _output$[esp-4]
	mov	eax, DWORD PTR _input$[esp-4]
	push	edx
	push	eax
	call	_fastlz2_compress
	add	esp, 8
; Line 140
	ret	0
_fastlz_compress ENDP
_TEXT	ENDS
PUBLIC	_fastlz_decompress
; Function compile flags: /Ogty
_TEXT	SEGMENT
_input$ = 8						; size = 4
_length$ = 12						; size = 4
_output$ = 16						; size = 4
_maxout$ = 20						; size = 4
_fastlz_decompress PROC NEAR
; Line 145
	mov	ecx, DWORD PTR _input$[esp-4]
	movzx	eax, BYTE PTR [ecx]
	shr	eax, 5
	inc	eax
; Line 147
	cmp	eax, 1
	jne	SHORT $L900
; Line 148
	mov	eax, DWORD PTR _output$[esp-4]
	push	eax
	mov	eax, DWORD PTR _length$[esp]
	call	_fastlz1_decompress
	add	esp, 4
; Line 154
	ret	0
$L900:
; Line 149
	cmp	eax, 2
	jne	SHORT $L901
; Line 150
	mov	edx, DWORD PTR _output$[esp-4]
	mov	eax, DWORD PTR _length$[esp-4]
	push	edx
	call	_fastlz2_decompress
	add	esp, 4
; Line 154
	ret	0
$L901:
; Line 153
	xor	eax, eax
; Line 154
	ret	0
_fastlz_decompress ENDP
_TEXT	ENDS
PUBLIC	_fastlz_compress_level
; Function compile flags: /Ogty
_TEXT	SEGMENT
_level$ = 8						; size = 4
_input$ = 12						; size = 4
_length$ = 16						; size = 4
_output$ = 20						; size = 4
_fastlz_compress_level PROC NEAR
; Line 158
	mov	eax, DWORD PTR _level$[esp-4]
	cmp	eax, 1
	jne	SHORT $L911
; Line 159
	mov	eax, DWORD PTR _output$[esp-4]
	mov	ecx, DWORD PTR _length$[esp-4]
	push	eax
	push	ecx
	mov	ecx, DWORD PTR _input$[esp+4]
	call	_fastlz1_compress
	add	esp, 8
; Line 164
	ret	0
$L911:
; Line 160
	cmp	eax, 2
	jne	SHORT $L912
; Line 161
	mov	edx, DWORD PTR _output$[esp-4]
	mov	eax, DWORD PTR _input$[esp-4]
	mov	ecx, DWORD PTR _length$[esp-4]
	push	edx
	push	eax
	call	_fastlz2_compress
	add	esp, 8
; Line 164
	ret	0
$L912:
; Line 163
	xor	eax, eax
; Line 164
	ret	0
_fastlz_compress_level ENDP
_TEXT	ENDS
PUBLIC	_memchrKAZE
; Function compile flags: /Ogty
_TEXT	SEGMENT
_buf$ = 8						; size = 4
_chr$ = 12						; size = 4
_cnt$ = 16						; size = 4
_memchrKAZE PROC NEAR
; Line 713
	mov	eax, DWORD PTR _cnt$[esp-4]
	test	eax, eax
	je	SHORT $L4342
	mov	ecx, DWORD PTR _chr$[esp-4]
	mov	dl, BYTE PTR [ecx]
	mov	ecx, DWORD PTR _buf$[esp-4]
$L1917:
	cmp	BYTE PTR [ecx], dl
	je	SHORT $L1918
; Line 714
	inc	ecx
; Line 715
	dec	eax
	jne	SHORT $L1917
; Line 718
	neg	eax
	sbb	eax, eax
	and	eax, ecx
; Line 719
	ret	0
$L4342:
; Line 713
	mov	ecx, DWORD PTR _buf$[esp-4]
$L1918:
; Line 718
	neg	eax
	sbb	eax, eax
	and	eax, ecx
; Line 719
	ret	0
_memchrKAZE ENDP
_TEXT	ENDS
PUBLIC	_KAZE_strlen
; Function compile flags: /Ogty
_TEXT	SEGMENT
_str$ = 8						; size = 4
_KAZE_strlen PROC NEAR
; Line 728
	mov	ecx, DWORD PTR _str$[esp-4]
	mov	eax, ecx
$L1928:
; Line 730
	mov	dl, BYTE PTR [eax]
	inc	eax
	test	dl, dl
	jne	SHORT $L1928
; Line 732
	sub	eax, ecx
	dec	eax
; Line 733
	ret	0
_KAZE_strlen ENDP
_TEXT	ENDS
PUBLIC	_KAZE_strlenLF
; Function compile flags: /Ogty
_TEXT	SEGMENT
_str$ = 8						; size = 4
_KAZE_strlenLF PROC NEAR
; Line 755
	mov	ecx, DWORD PTR _str$[esp-4]
	mov	eax, ecx
$L1938:
; Line 758
	mov	dl, BYTE PTR [eax]
	inc	eax
	cmp	dl, 10					; 0000000aH
	jne	SHORT $L1938
; Line 760
	sub	eax, ecx
	dec	eax
; Line 761
	ret	0
_KAZE_strlenLF ENDP
; Function compile flags: /Ogty
_mask$ = 8						; size = 4
_maskPos$ = 12						; size = 4
_name$ = 16						; size = 4
_namePos$ = 20						; size = 4
_EnhancedMaskTest_OrEmpty_AndNotEmpty PROC NEAR
; Line 774
	mov	eax, DWORD PTR _maskGLOBALlen
	push	ebx
	mov	ebx, DWORD PTR _maskPos$[esp]
	push	ebp
	push	esi
; Line 775
	mov	esi, DWORD PTR _namePos$[esp+8]
	push	edi
	mov	edi, DWORD PTR _nameGLOBALlen
	sub	edi, esi
	sub	eax, ebx
; Line 776
	je	$L4363
; Line 775
	lea	ebp, DWORD PTR [ebx+1]
$L4360:
; Line 781
	mov	ecx, DWORD PTR _mask$[esp+12]
	mov	al, BYTE PTR [ecx+ebx]
; Line 782
	cmp	al, 64					; 00000040H
	jne	SHORT $L1957
; Line 788
	mov	edx, DWORD PTR _name$[esp+12]
	push	esi
	push	edx
	push	ebp
	push	ecx
	call	_EnhancedMaskTest_OrEmpty_AndNotEmpty
	add	esp, 16					; 00000010H
	test	ax, ax
	jne	$L4364
; Line 790
	test	edi, edi
	jne	$L4375
$L4373:
	pop	edi
	pop	esi
	pop	ebp
; Line 847
	xor	ax, ax
	pop	ebx
; Line 850
	ret	0
$L1957:
; Line 794
	cmp	al, 35					; 00000023H
	jne	SHORT $L1961
; Line 800
	test	edi, edi
	je	SHORT $L4373
; Line 802
	jmp	$L4375
$L1961:
; Line 804
	cmp	al, 37					; 00000025H
	jne	SHORT $L1964
; Line 811
	mov	eax, DWORD PTR _name$[esp+12]
	mov	al, BYTE PTR [eax+esi]
; Line 812
	cmp	al, 97					; 00000061H
	jl	SHORT $L4348
	cmp	al, 122					; 0000007aH
	jg	SHORT $L4348
	movsx	ecx, al
	lea	edx, DWORD PTR [ecx-32]
	jmp	SHORT $L4349
$L4348:
	movsx	ecx, al
	mov	edx, ecx
$L4349:
	cmp	edx, 65					; 00000041H
	jl	SHORT $L1966
	cmp	al, 97					; 00000061H
	jl	SHORT $L4351
	cmp	al, 122					; 0000007aH
	jg	SHORT $L4351
	add	ecx, -32				; ffffffe0H
$L4351:
	cmp	ecx, 90					; 0000005aH
	jle	SHORT $L4373
$L1966:
; Line 815
	test	edi, edi
	je	SHORT $L4373
; Line 817
	jmp	$L4375
$L1964:
; Line 819
	cmp	al, 36					; 00000024H
	jne	SHORT $L1969
; Line 826
	mov	ecx, DWORD PTR _name$[esp+12]
	mov	al, BYTE PTR [ecx+esi]
; Line 827
	cmp	al, 97					; 00000061H
	jl	SHORT $L4352
	cmp	al, 122					; 0000007aH
	jg	SHORT $L4352
	movsx	ecx, al
	lea	edx, DWORD PTR [ecx-32]
	jmp	SHORT $L4353
$L4352:
	movsx	ecx, al
	mov	edx, ecx
$L4353:
	cmp	edx, 65					; 00000041H
	jl	SHORT $L4373
	cmp	al, 97					; 00000061H
	jl	SHORT $L4355
	cmp	al, 122					; 0000007aH
	jg	SHORT $L4355
	add	ecx, -32				; ffffffe0H
$L4355:
	cmp	ecx, 90					; 0000005aH
	jg	$L4373
; Line 830
	test	edi, edi
	je	$L4373
; Line 832
	jmp	SHORT $L4375
$L1969:
; Line 834
	cmp	al, 42					; 0000002aH
	jne	SHORT $L1975
; Line 836
	mov	edx, DWORD PTR _name$[esp+12]
	push	esi
	push	edx
	push	ebp
	push	ecx
	call	_EnhancedMaskTest_OrEmpty_AndNotEmpty
	add	esp, 16					; 00000010H
	test	ax, ax
	jne	SHORT $L4364
; Line 838
	test	edi, edi
	je	$L4373
; Line 840
	inc	esi
	jmp	SHORT $L4374
$L1975:
; Line 846
	cmp	al, 97					; 00000061H
	mov	ecx, DWORD PTR _name$[esp+12]
	mov	cl, BYTE PTR [ecx+esi]
	jl	SHORT $L4356
	cmp	al, 122					; 0000007aH
	jg	SHORT $L4356
	movsx	edx, al
	sub	edx, 32					; 00000020H
	jmp	SHORT $L4357
$L4356:
	movsx	edx, al
$L4357:
	cmp	cl, 97					; 00000061H
	jl	SHORT $L4358
	cmp	cl, 122					; 0000007aH
	jg	SHORT $L4358
	movsx	eax, cl
	sub	eax, 32					; 00000020H
	jmp	SHORT $L4359
$L4358:
	movsx	eax, cl
$L4359:
	cmp	edx, eax
	jne	$L4373
$L4375:
; Line 848
	inc	esi
	inc	ebx
	inc	ebp
$L4374:
	mov	edi, DWORD PTR _nameGLOBALlen
	mov	edx, DWORD PTR _maskGLOBALlen
	sub	edi, esi
	sub	edx, ebx
	jne	$L4360
$L4363:
; Line 777
	xor	eax, eax
	test	edi, edi
	pop	edi
	pop	esi
	pop	ebp
	sete	al
	pop	ebx
; Line 850
	ret	0
$L4364:
	pop	edi
	pop	esi
	pop	ebp
; Line 789
	mov	ax, 1
	pop	ebx
; Line 850
	ret	0
_EnhancedMaskTest_OrEmpty_AndNotEmpty ENDP
; Function compile flags: /Ogty
_mask$ = 8						; size = 4
_maskPos$ = 12						; size = 4
_name$ = 16						; size = 4
_namePos$ = 20						; size = 4
_EnhancedMaskTest_OrEmpty PROC NEAR
; Line 863
	mov	eax, DWORD PTR _maskGLOBALlen
	push	ebx
	mov	ebx, DWORD PTR _maskPos$[esp]
	push	ebp
	push	esi
; Line 864
	mov	esi, DWORD PTR _nameGLOBALlen
	push	edi
	mov	edi, DWORD PTR _namePos$[esp+12]
	sub	esi, edi
	sub	eax, ebx
; Line 865
	je	$L4385
; Line 864
	lea	ebp, DWORD PTR [ebx+1]
$L4382:
; Line 870
	mov	ecx, DWORD PTR _mask$[esp+12]
	mov	al, BYTE PTR [ecx+ebx]
; Line 871
	cmp	al, 63					; 0000003fH
	jne	SHORT $L1997
; Line 877
	mov	edx, DWORD PTR _name$[esp+12]
	push	edi
	push	edx
	push	ebp
	push	ecx
	call	_EnhancedMaskTest_OrEmpty
	add	esp, 16					; 00000010H
	test	ax, ax
	jne	$L4386
; Line 879
	test	esi, esi
	jne	SHORT $L4392
$L4390:
	pop	edi
	pop	esi
	pop	ebp
; Line 896
	xor	ax, ax
	pop	ebx
; Line 899
	ret	0
$L1997:
; Line 883
	cmp	al, 42					; 0000002aH
	jne	SHORT $L2001
; Line 885
	mov	eax, DWORD PTR _name$[esp+12]
	push	edi
	push	eax
	push	ebp
	push	ecx
	call	_EnhancedMaskTest_OrEmpty
	add	esp, 16					; 00000010H
	test	ax, ax
	jne	SHORT $L4386
; Line 887
	test	esi, esi
	je	SHORT $L4390
; Line 889
	inc	edi
	jmp	SHORT $L4391
$L2001:
; Line 895
	cmp	al, 97					; 00000061H
	mov	ecx, DWORD PTR _name$[esp+12]
	mov	cl, BYTE PTR [ecx+edi]
	jl	SHORT $L4378
	cmp	al, 122					; 0000007aH
	jg	SHORT $L4378
	movsx	edx, al
	sub	edx, 32					; 00000020H
	jmp	SHORT $L4379
$L4378:
	movsx	edx, al
$L4379:
	cmp	cl, 97					; 00000061H
	jl	SHORT $L4380
	cmp	cl, 122					; 0000007aH
	jg	SHORT $L4380
	movsx	eax, cl
	sub	eax, 32					; 00000020H
	jmp	SHORT $L4381
$L4380:
	movsx	eax, cl
$L4381:
	cmp	edx, eax
	jne	SHORT $L4390
$L4392:
; Line 897
	inc	edi
	inc	ebx
	inc	ebp
$L4391:
	mov	esi, DWORD PTR _nameGLOBALlen
	mov	edx, DWORD PTR _maskGLOBALlen
	sub	esi, edi
	sub	edx, ebx
	jne	$L4382
$L4385:
	pop	edi
; Line 866
	xor	eax, eax
	test	esi, esi
	pop	esi
	pop	ebp
	sete	al
	pop	ebx
; Line 899
	ret	0
$L4386:
	pop	edi
	pop	esi
	pop	ebp
; Line 878
	mov	ax, 1
	pop	ebx
; Line 899
	ret	0
_EnhancedMaskTest_OrEmpty ENDP
; Function compile flags: /Ogty
_mask$ = 8						; size = 4
_maskPos$ = 12						; size = 4
_name$ = 16						; size = 4
_namePos$ = 20						; size = 4
_EnhancedMaskTest_AndNotEmpty PROC NEAR
; Line 907
	push	ebx
	mov	ebx, DWORD PTR _maskPos$[esp]
	push	ebp
	mov	ebp, DWORD PTR _namePos$[esp+4]
	push	esi
	push	edi
	mov	edi, DWORD PTR _name$[esp+12]
$L4412:
; Line 909
	mov	esi, DWORD PTR _mask$[esp+12]
	mov	eax, esi
$L4403:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4403
	sub	eax, esi
	sub	eax, ebx
	dec	eax
	mov	ecx, eax
; Line 910
	mov	eax, edi
$L4410:
	mov	dl, BYTE PTR [eax]
	inc	eax
	cmp	dl, 10					; 0000000aH
	jne	SHORT $L4410
	sub	eax, edi
	sub	eax, ebp
	dec	eax
; Line 911
	test	ecx, ecx
	mov	esi, eax
	je	SHORT $L4417
; Line 916
	mov	ecx, DWORD PTR _mask$[esp+12]
	mov	al, BYTE PTR [ecx+ebx]
; Line 917
	cmp	al, 63					; 0000003fH
	jne	SHORT $L2023
; Line 923
	test	esi, esi
	je	SHORT $L4421
; Line 925
	inc	ebp
	inc	ebx
	jmp	SHORT $L4412
$L2023:
; Line 927
	cmp	al, 42					; 0000002aH
	jne	SHORT $L2026
; Line 929
	push	ebp
	push	edi
; Line 941
	lea	eax, DWORD PTR [ebx+1]
	push	eax
	push	ecx
	call	_EnhancedMaskTest_AndNotEmpty
	add	esp, 16					; 00000010H
	test	ax, ax
	jne	SHORT $L4419
; Line 931
	test	esi, esi
	je	SHORT $L4421
; Line 933
	inc	ebp
	jmp	SHORT $L4412
$L2026:
; Line 939
	cmp	al, 97					; 00000061H
	mov	cl, BYTE PTR [edi+ebp]
	jl	SHORT $L4395
	cmp	al, 122					; 0000007aH
	jg	SHORT $L4395
	movsx	edx, al
	sub	edx, 32					; 00000020H
	jmp	SHORT $L4396
$L4395:
	movsx	edx, al
$L4396:
	cmp	cl, 97					; 00000061H
	jl	SHORT $L4397
	cmp	cl, 122					; 0000007aH
	jg	SHORT $L4397
	movsx	eax, cl
	sub	eax, 32					; 00000020H
	jmp	SHORT $L4398
$L4397:
	movsx	eax, cl
$L4398:
	cmp	edx, eax
	jne	SHORT $L4421
; Line 941
	inc	ebp
	inc	ebx
	jmp	$L4412
$L4417:
	pop	edi
; Line 912
	xor	eax, eax
	test	esi, esi
	pop	esi
	pop	ebp
	sete	al
	pop	ebx
; Line 943
	ret	0
$L4419:
	pop	edi
	pop	esi
	pop	ebp
; Line 930
	mov	ax, 1
	pop	ebx
; Line 943
	ret	0
$L4421:
	pop	edi
	pop	esi
	pop	ebp
; Line 940
	xor	ax, ax
	pop	ebx
; Line 943
	ret	0
_EnhancedMaskTest_AndNotEmpty ENDP
_TEXT	ENDS
PUBLIC	_CompareWildCardWithName
EXTRN	__fltused:NEAR
EXTRN	_clock:NEAR
; Function compile flags: /Ogty
_TEXT	SEGMENT
tv176 = 8						; size = 4
_mask$ = 8						; size = 4
_name$ = 12						; size = 4
_orempty$ = 16						; size = 4
_CompareWildCardWithName PROC NEAR
; Line 947
	mov	eax, DWORD PTR _VIVA_IgorPavlov_invocations_global_counter
	push	esi
	inc	eax
	push	edi
; Line 949
	mov	edi, DWORD PTR _mask$[esp+4]
	mov	DWORD PTR _VIVA_IgorPavlov_invocations_global_counter, eax
	mov	eax, edi
$L4428:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4428
; Line 950
	mov	esi, DWORD PTR _name$[esp+4]
	sub	eax, edi
	dec	eax
	mov	DWORD PTR _maskGLOBALlen, eax
	mov	eax, esi
$L4435:
	mov	dl, BYTE PTR [eax]
	inc	eax
	cmp	dl, 10					; 0000000aH
	jne	SHORT $L4435
; Line 951
	mov	ecx, DWORD PTR _clocksGWtxt
	sub	eax, esi
	dec	eax
	mov	DWORD PTR _nameGLOBALlen, eax
	cdq
	add	ecx, eax
	mov	eax, DWORD PTR _clocksGWtxt+4
	adc	eax, edx
	mov	DWORD PTR _clocksGWtxt, ecx
	mov	DWORD PTR _clocksGWtxt+4, eax
; Line 953
	call	_clock
; Line 955
	push	0
	push	esi
	mov	DWORD PTR _clocksG1, eax
	mov	eax, DWORD PTR _orempty$[esp+12]
	cmp	eax, 1
	push	0
	push	edi
	jne	SHORT $L2041
	call	_EnhancedMaskTest_OrEmpty
; Line 956
	jmp	SHORT $L4439
$L2041:
	test	eax, eax
	jne	SHORT $L2043
; Line 957
	call	_EnhancedMaskTest_AndNotEmpty
; Line 958
	jmp	SHORT $L4439
$L2043:
; Line 959
	call	_EnhancedMaskTest_OrEmpty_AndNotEmpty
$L4439:
	mov	esi, eax
	add	esp, 16					; 00000010H
; Line 960
	test	si, si
	je	SHORT $L2045
	inc	DWORD PTR _WildGLOBALhits
$L2045:
; Line 961
	call	_clock
	mov	ecx, DWORD PTR _clocksG1
	mov	DWORD PTR _clocksG2, eax
	sub	eax, ecx
	mov	DWORD PTR tv176[esp+4], eax
	fild	DWORD PTR tv176[esp+4]
	pop	edi
; Line 962
	mov	ax, si
	pop	esi
	fadd	QWORD PTR _clocksGW
	fstp	QWORD PTR _clocksGW
; Line 963
	ret	0
_CompareWildCardWithName ENDP
_TEXT	ENDS
PUBLIC	_strcmpKAZE
; Function compile flags: /Ogty
_TEXT	SEGMENT
_src$ = 8						; size = 4
_dst$ = 12						; size = 4
_strcmpKAZE PROC NEAR
; Line 997
	mov	edx, DWORD PTR _src$[esp-4]
	movzx	eax, BYTE PTR [edx]
	push	esi
	mov	esi, DWORD PTR _dst$[esp]
	mov	cl, BYTE PTR [esi]
	push	edi
	movzx	edi, cl
	sub	eax, edi
	jne	SHORT $L2058
$L2057:
	test	cl, cl
	je	SHORT $L2058
	mov	cl, BYTE PTR [esi+1]
	movzx	eax, BYTE PTR [edx+1]
; Line 998
	inc	edx
	inc	esi
	movzx	edi, cl
	sub	eax, edi
	je	SHORT $L2057
$L2058:
; Line 1000
	test	eax, eax
	pop	edi
	pop	esi
	jge	SHORT $L4445
; Line 1001
	or	eax, -1
; Line 1006
	ret	0
$L4445:
; Line 1002
	jle	SHORT $L2061
; Line 1003
	mov	eax, 1
$L2061:
; Line 1006
	ret	0
_strcmpKAZE ENDP
_TEXT	ENDS
PUBLIC	_strlenKAZE
; Function compile flags: /Ogty
_TEXT	SEGMENT
_str$ = 8						; size = 4
_strlenKAZE PROC NEAR
; Line 1029
	mov	ecx, DWORD PTR _str$[esp-4]
	mov	eax, ecx
$L2068:
; Line 1031
	mov	dl, BYTE PTR [eax]
	inc	eax
	test	dl, dl
	jne	SHORT $L2068
; Line 1033
	sub	eax, ecx
	dec	eax
; Line 1034
	ret	0
_strlenKAZE ENDP
_TEXT	ENDS
PUBLIC	_memcmpKAZE
; Function compile flags: /Ogty
_TEXT	SEGMENT
_buf1$ = 8						; size = 4
_buf2$ = 12						; size = 4
_count$ = 16						; size = 4
_memcmpKAZE PROC NEAR
; Line 1064
	push	esi
; Line 1065
	mov	esi, DWORD PTR _count$[esp]
	test	esi, esi
	jne	SHORT $L4449
; Line 1066
	xor	eax, eax
	pop	esi
; Line 1074
	ret	0
$L4449:
; Line 1068
	dec	esi
	mov	eax, DWORD PTR _buf1$[esp]
	mov	ecx, DWORD PTR _buf2$[esp]
	je	SHORT $L2163
$L2162:
	mov	dl, BYTE PTR [eax]
	cmp	dl, BYTE PTR [ecx]
	jne	SHORT $L2163
; Line 1069
	inc	eax
; Line 1070
	inc	ecx
	dec	esi
	jne	SHORT $L2162
$L2163:
; Line 1073
	movzx	eax, BYTE PTR [eax]
	movzx	ecx, BYTE PTR [ecx]
	sub	eax, ecx
	pop	esi
; Line 1074
	ret	0
_memcmpKAZE ENDP
_TEXT	ENDS
PUBLIC	_memcpyKAZE
; Function compile flags: /Ogty
_TEXT	SEGMENT
_dst$ = 8						; size = 4
_src$ = 12						; size = 4
_count$ = 16						; size = 4
_memcpyKAZE PROC NEAR
; Line 1103
	mov	ecx, DWORD PTR _dst$[esp-4]
	push	esi
; Line 1108
	mov	esi, DWORD PTR _count$[esp]
	test	esi, esi
	push	edi
	mov	edi, ecx
	je	SHORT $L4456
; Line 1103
	mov	edx, DWORD PTR _src$[esp+4]
$L2178:
; Line 1109
	mov	al, BYTE PTR [edx]
	mov	BYTE PTR [ecx], al
; Line 1110
	inc	ecx
; Line 1111
	inc	edx
	dec	esi
	jne	SHORT $L2178
$L4456:
; Line 1113
	mov	eax, edi
	pop	edi
	pop	esi
; Line 1114
	ret	0
_memcpyKAZE ENDP
_TEXT	ENDS
PUBLIC	_memsetKAZE
; Function compile flags: /Ogty
_TEXT	SEGMENT
_dst$ = 8						; size = 4
_val$ = 12						; size = 4
_count$ = 16						; size = 4
_memsetKAZE PROC NEAR
; Line 1143
	mov	ecx, DWORD PTR _count$[esp-4]
	test	ecx, ecx
	je	SHORT $L4461
	mov	al, BYTE PTR _val$[esp-4]
	push	ebx
	mov	bl, al
	mov	bh, bl
	push	esi
	mov	esi, DWORD PTR _dst$[esp+4]
	push	edi
	mov	edx, ecx
	shr	ecx, 2
	mov	edi, esi
	mov	eax, ebx
	shl	eax, 16					; 00000010H
	mov	ax, bx
	rep stosd
	mov	ecx, edx
	and	ecx, 3
	rep stosb
	pop	edi
; Line 1147
	mov	eax, esi
	pop	esi
	pop	ebx
; Line 1148
	ret	0
$L4461:
; Line 1147
	mov	eax, DWORD PTR _dst$[esp-4]
; Line 1148
	ret	0
_memsetKAZE ENDP
_TEXT	ENDS
PUBLIC	_x64toaKAZE
EXTRN	__aulldvrm:NEAR
; Function compile flags: /Ogty
_TEXT	SEGMENT
tv65 = -8						; size = 8
tv164 = 8						; size = 8
_val$ = 8						; size = 8
_firstdig$ = 16						; size = 4
_buf$ = 16						; size = 4
_radix$ = 20						; size = 4
_is_neg$ = 24						; size = 4
_x64toaKAZE PROC NEAR
; Line 1164
	mov	eax, DWORD PTR _is_neg$[esp-4]
	sub	esp, 8
	push	esi
	mov	esi, DWORD PTR _buf$[esp+8]
	push	edi
; Line 1167
	mov	edi, DWORD PTR _val$[esp+12]
	test	eax, eax
	mov	eax, DWORD PTR _val$[esp+16]
	je	SHORT $L2213
	mov	BYTE PTR [esi], 45			; 0000002dH
	inc	esi
	neg	edi
	adc	eax, 0
	neg	eax
$L2213:
	push	ebx
	push	ebp
; Line 1181
	mov	ebp, DWORD PTR _radix$[esp+20]
	mov	DWORD PTR _firstdig$[esp+20], esi
	mov	DWORD PTR tv164[esp+24], 0
$L2216:
	mov	ecx, DWORD PTR tv164[esp+24]
	push	ecx
	push	ebp
	push	eax
	push	edi
	call	__aulldvrm
	cmp	ecx, 9
	mov	edi, eax
	mov	DWORD PTR tv65[esp+28], ebx
	mov	eax, edx
	jbe	SHORT $L2220
; Line 1178
	add	cl, 87					; 00000057H
; Line 1179
	jmp	SHORT $L4469
$L2220:
; Line 1180
	add	cl, 48					; 00000030H
$L4469:
	mov	BYTE PTR [esi], cl
	inc	esi
; Line 1181
	test	eax, eax
	ja	SHORT $L2216
	jb	SHORT $L4466
	test	edi, edi
	ja	SHORT $L2216
$L4466:
	pop	ebp
; Line 1186
	mov	BYTE PTR [esi], 0
	dec	esi
	pop	ebx
	npad	5
$L2224:
; Line 1190
	mov	ecx, DWORD PTR _firstdig$[esp+12]
	mov	dl, BYTE PTR [ecx]
	mov	al, BYTE PTR [esi]
	mov	BYTE PTR [esi], dl
; Line 1192
	dec	esi
	mov	BYTE PTR [ecx], al
; Line 1193
	inc	ecx
; Line 1194
	cmp	ecx, esi
	mov	DWORD PTR _firstdig$[esp+12], ecx
	jb	SHORT $L2224
	pop	edi
	pop	esi
; Line 1195
	add	esp, 8
	ret	0
_x64toaKAZE ENDP
_TEXT	ENDS
PUBLIC	__i64toaKAZE
; Function compile flags: /Ogty
_TEXT	SEGMENT
_val$ = 8						; size = 8
_buf$ = 16						; size = 4
_radix$ = 20						; size = 4
__i64toaKAZE PROC NEAR
; Line 1206
	mov	ecx, DWORD PTR _radix$[esp-4]
	cmp	ecx, 10					; 0000000aH
	mov	edx, DWORD PTR _val$[esp]
	push	esi
	push	edi
	mov	edi, DWORD PTR _val$[esp+4]
	jne	SHORT $L4471
	test	edx, edx
	jg	SHORT $L4471
	jl	SHORT $L4473
	test	edi, edi
	jae	SHORT $L4471
$L4473:
	mov	eax, 1
	jmp	SHORT $L4472
$L4471:
	xor	eax, eax
$L4472:
	mov	esi, DWORD PTR _buf$[esp+4]
	push	eax
	push	ecx
	push	esi
	push	edx
	push	edi
	call	_x64toaKAZE
	add	esp, 20					; 00000014H
	pop	edi
; Line 1207
	mov	eax, esi
	pop	esi
; Line 1208
	ret	0
__i64toaKAZE ENDP
_TEXT	ENDS
PUBLIC	__ui64toaKAZE
; Function compile flags: /Ogty
_TEXT	SEGMENT
_val$ = 8						; size = 8
_buf$ = 16						; size = 4
_radix$ = 20						; size = 4
__ui64toaKAZE PROC NEAR
; Line 1216
	mov	eax, DWORD PTR _radix$[esp-4]
	mov	ecx, DWORD PTR _val$[esp]
	mov	edx, DWORD PTR _val$[esp-4]
	push	esi
	mov	esi, DWORD PTR _buf$[esp]
	push	0
	push	eax
	push	esi
	push	ecx
	push	edx
	call	_x64toaKAZE
	add	esp, 20					; 00000014H
; Line 1217
	mov	eax, esi
	pop	esi
; Line 1218
	ret	0
__ui64toaKAZE ENDP
_TEXT	ENDS
PUBLIC	__ui64toaKAZEzerocomma
; Function compile flags: /Ogty
_TEXT	SEGMENT
_val$ = 8						; size = 8
_buf$ = 16						; size = 4
_radix$ = 20						; size = 4
__ui64toaKAZEzerocomma PROC NEAR
; Line 1230
	mov	eax, DWORD PTR _radix$[esp-4]
	mov	ecx, DWORD PTR _val$[esp]
	mov	edx, DWORD PTR _val$[esp-4]
	push	ebx
	push	ebp
	mov	ebp, DWORD PTR _buf$[esp+4]
	push	esi
	push	edi
	push	0
	push	eax
	push	ebp
	push	ecx
	push	edx
	call	_x64toaKAZE
	add	esp, 20					; 00000014H
; Line 1231
	mov	edi, ebp
$L2256:
; Line 1233
	mov	al, BYTE PTR [edi+1]
	inc	edi
	test	al, al
	jne	SHORT $L2256
; Line 1234
	dec	edi
; Line 1236
	mov	BYTE PTR [ebp+26], 0
; Line 1237
	mov	ebx, 1
; Line 1238
	xor	esi, esi
	lea	ecx, DWORD PTR [ebp+25]
	jmp	SHORT $L2259
$L4478:
; Line 1234
	mov	ebp, DWORD PTR _buf$[esp+12]
$L2259:
; Line 1242
	inc	esi
	cmp	ebp, edi
; Line 1244
	mov	ebp, 3
	ja	SHORT $L2262
	mov	al, BYTE PTR [edi]
	mov	BYTE PTR [ecx], al
	dec	edi
; Line 1249
	jmp	SHORT $L4480
$L2262:
; Line 1250
	mov	BYTE PTR [ecx], 48			; 00000030H
$L4480:
; Line 1251
	mov	eax, esi
	cdq
	idiv	ebp
	test	edx, edx
	jne	SHORT $L2267
; Line 1252
	inc	ebx
	dec	ecx
; Line 1253
	mov	BYTE PTR [ecx], 44			; 0000002cH
$L2267:
; Line 1256
	inc	ebx
	dec	ecx
; Line 1257
	cmp	ebx, 26					; 0000001aH
	jle	SHORT $L4478
; Line 1258
	mov	eax, DWORD PTR _buf$[esp+12]
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
; Line 1259
	ret	0
__ui64toaKAZEzerocomma ENDP
_TEXT	ENDS
PUBLIC	__ui64toaKAZEcomma
; Function compile flags: /Ogty
_TEXT	SEGMENT
_val$ = 8						; size = 8
_pxnman$ = 16						; size = 4
_buf$ = 16						; size = 4
_radix$ = 20						; size = 4
__ui64toaKAZEcomma PROC NEAR
; Line 1271
	mov	eax, DWORD PTR _radix$[esp-4]
	mov	ecx, DWORD PTR _val$[esp]
	mov	edx, DWORD PTR _val$[esp-4]
	push	ebx
	push	ebp
	push	edi
	mov	edi, DWORD PTR _buf$[esp+8]
	push	0
	push	eax
	push	edi
	push	ecx
	push	edx
	call	_x64toaKAZE
	add	esp, 20					; 00000014H
; Line 1272
	mov	ecx, edi
$L2281:
; Line 1274
	mov	al, BYTE PTR [ecx+1]
	inc	ecx
	test	al, al
	jne	SHORT $L2281
; Line 1275
	dec	ecx
; Line 1279
	xor	ebp, ebp
; Line 1280
	cmp	edi, ecx
	mov	BYTE PTR [edi+26], 0
	mov	ebx, 1
	ja	SHORT $L2286
	push	esi
	lea	esi, DWORD PTR [edi+25]
	jmp	SHORT $L2285
$L4485:
; Line 1275
	mov	ebp, DWORD PTR _pxnman$[esp+12]
$L2285:
; Line 1282
	mov	al, BYTE PTR [ecx]
	inc	ebp
	mov	BYTE PTR [esi], al
; Line 1284
	mov	eax, ebp
	mov	DWORD PTR _pxnman$[esp+12], ebp
	cdq
	mov	ebp, 3
	idiv	ebp
	dec	ecx
	test	edx, edx
	jne	SHORT $L2287
	cmp	edi, ecx
	ja	SHORT $L2287
; Line 1285
	inc	ebx
	dec	esi
; Line 1286
	mov	BYTE PTR [esi], 44			; 0000002cH
$L2287:
; Line 1288
	inc	ebx
	dec	esi
	cmp	ecx, edi
	jae	SHORT $L4485
	pop	esi
$L2286:
; Line 1290
	mov	eax, edi
	pop	edi
	sub	eax, ebx
	pop	ebp
	add	eax, 27					; 0000001bH
	pop	ebx
; Line 1291
	ret	0
__ui64toaKAZEcomma ENDP
_TEXT	ENDS
PUBLIC	_Brute_Force
; Function compile flags: /Ogty
_TEXT	SEGMENT
_y$ = 8							; size = 4
_x$ = 12						; size = 4
_n$ = 16						; size = 4
_m$ = 20						; size = 4
_Brute_Force PROC NEAR
; Line 1310
	mov	eax, DWORD PTR _n$[esp-4]
	push	ebx
	push	ebp
	push	esi
	mov	esi, DWORD PTR _m$[esp+8]
	push	edi
	xor	edi, edi
	sub	eax, esi
	js	SHORT $L2615
	mov	ebp, DWORD PTR _x$[esp+12]
$L2613:
; Line 1311
	xor	ecx, ecx
; Line 1312
	test	esi, esi
	jle	SHORT $L4489
	mov	edx, DWORD PTR _y$[esp+12]
	add	edx, edi
$L2617:
	mov	bl, BYTE PTR [edx+ecx]
	cmp	bl, BYTE PTR [ecx+ebp]
	jne	SHORT $L2618
	inc	ecx
	cmp	ecx, esi
	jl	SHORT $L2617
$L4489:
; Line 1313
	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
; Line 1316
	ret	0
$L2618:
; Line 1313
	cmp	ecx, esi
	jge	SHORT $L4489
	inc	edi
	cmp	edi, eax
	jle	SHORT $L2613
$L2615:
	pop	edi
	pop	esi
	pop	ebp
; Line 1315
	or	eax, -1
	pop	ebx
; Line 1316
	ret	0
_Brute_Force ENDP
_TEXT	ENDS
PUBLIC	_Quick_Boyer_Moore
; Function compile flags: /Ogty
_TEXT	SEGMENT
$T4515 = -1032						; size = 4
$T4505 = -1028						; size = 4
_qs_bc$ = -1024						; size = 1024
_y$ = 8							; size = 4
_x$ = 12						; size = 4
_n$ = 16						; size = 4
_m$ = 20						; size = 4
_Quick_Boyer_Moore PROC NEAR
; Line 1320
	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	sub	esp, 1036				; 0000040cH
; Line 1325
	mov	edx, DWORD PTR _m$[ebp]
	push	ebx
	push	esi
	push	edi
	lea	eax, DWORD PTR [edx+1]
	mov	ecx, 256				; 00000100H
	lea	edi, DWORD PTR _qs_bc$[esp+1048]
	rep stosd
; Line 1326
	xor	eax, eax
	test	edx, edx
	jle	SHORT $L2637
	mov	ecx, edx
$L2635:
	mov	esi, DWORD PTR _x$[ebp]
	movsx	esi, BYTE PTR [eax+esi]
	inc	eax
	mov	DWORD PTR _qs_bc$[esp+esi*4+1048], ecx
	dec	ecx
	cmp	eax, edx
	jl	SHORT $L2635
$L2637:
; Line 1330
	mov	ecx, DWORD PTR _n$[ebp]
	xor	eax, eax
	sub	ecx, edx
	mov	DWORD PTR $T4515[esp+1048], ecx
	js	SHORT $L2640
	mov	ebx, DWORD PTR _y$[ebp]
	npad	7
$L2639:
; Line 1331
	test	edx, edx
	mov	edi, DWORD PTR _x$[ebp]
	lea	esi, DWORD PTR [eax+ebx]
	je	SHORT $L2629
	lea	ecx, DWORD PTR [edx-1]
	test	ecx, ecx
	je	SHORT $L4500
$L4499:
	mov	bl, BYTE PTR [esi]
	cmp	bl, BYTE PTR [edi]
	jne	SHORT $L4518
	inc	esi
	inc	edi
	dec	ecx
	jne	SHORT $L4499
$L4518:
	mov	ebx, DWORD PTR _y$[ebp]
$L4500:
	movzx	ecx, BYTE PTR [esi]
	movzx	esi, BYTE PTR [edi]
	sub	ecx, esi
	mov	DWORD PTR $T4505[esp+1048], ecx
	je	SHORT $L2629
; Line 1332
	lea	ecx, DWORD PTR [eax+ebx]
	movsx	ecx, BYTE PTR [ecx+edx]
	mov	esi, DWORD PTR _qs_bc$[esp+ecx*4+1048]
	mov	ecx, DWORD PTR $T4515[esp+1048]
	add	eax, esi
	cmp	eax, ecx
	jle	SHORT $L2639
$L2640:
; Line 1334
	or	eax, -1
$L2629:
; Line 1335
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_Quick_Boyer_Moore ENDP
_TEXT	ENDS
PUBLIC	_SMITH_Boyer_Moore
; Function compile flags: /Ogty
_TEXT	SEGMENT
$T4542 = -2056						; size = 4
$T4531 = -2052						; size = 4
_qs_bc$ = -2048						; size = 1024
_bm_bc$ = -1024						; size = 1024
_y$ = 8							; size = 4
_x$ = 12						; size = 4
_n$ = 16						; size = 4
_m$ = 20						; size = 4
_SMITH_Boyer_Moore PROC NEAR
; Line 1340
	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	sub	esp, 2060				; 0000080cH
; Line 1347
	mov	edx, DWORD PTR _m$[ebp]
	push	ebx
	push	esi
	push	edi
	lea	eax, DWORD PTR [edx+1]
	mov	ecx, 256				; 00000100H
	lea	edi, DWORD PTR _qs_bc$[esp+2072]
	rep stosd
	mov	ecx, 256				; 00000100H
	mov	eax, edx
	lea	edi, DWORD PTR _bm_bc$[esp+2072]
	rep stosd
; Line 1349
	lea	edi, DWORD PTR [edx-1]
	xor	ecx, ecx
	test	edi, edi
	jle	SHORT $L2660
	mov	esi, edx
	npad	5
$L2658:
; Line 1350
	mov	eax, DWORD PTR _x$[ebp]
	movsx	eax, BYTE PTR [ecx+eax]
	shl	eax, 2
	lea	ebx, DWORD PTR [esi-1]
	inc	ecx
; Line 1351
	mov	DWORD PTR _qs_bc$[esp+eax+2072], esi
	dec	esi
	cmp	ecx, edi
	mov	DWORD PTR _bm_bc$[esp+eax+2072], ebx
	jl	SHORT $L2658
$L2660:
; Line 1353
	mov	ecx, DWORD PTR _x$[ebp]
	movsx	eax, BYTE PTR [ecx+edx-1]
; Line 1357
	mov	ecx, DWORD PTR _n$[ebp]
	mov	DWORD PTR _qs_bc$[esp+eax*4+2072], 1
	xor	eax, eax
	sub	ecx, edx
	mov	DWORD PTR $T4542[esp+2072], ecx
	js	SHORT $L2663
	mov	ebx, DWORD PTR _y$[ebp]
	npad	2
$L2662:
; Line 1358
	test	edx, edx
	mov	edi, DWORD PTR _x$[ebp]
	lea	esi, DWORD PTR [eax+ebx]
	je	SHORT $L2651
	lea	ecx, DWORD PTR [edx-1]
	test	ecx, ecx
	je	SHORT $L4526
$L4525:
	mov	bl, BYTE PTR [esi]
	cmp	bl, BYTE PTR [edi]
	jne	SHORT $L4546
	inc	esi
	inc	edi
	dec	ecx
	jne	SHORT $L4525
$L4546:
	mov	ebx, DWORD PTR _y$[ebp]
$L4526:
	movzx	ecx, BYTE PTR [esi]
	movzx	esi, BYTE PTR [edi]
	sub	ecx, esi
	mov	DWORD PTR $T4531[esp+2072], ecx
	je	SHORT $L2651
; Line 1359
	lea	ecx, DWORD PTR [ebx+edx]
	movsx	esi, BYTE PTR [ecx+eax-1]
	movsx	ecx, BYTE PTR [ecx+eax]
	mov	esi, DWORD PTR _bm_bc$[esp+esi*4+2072]
	mov	ecx, DWORD PTR _qs_bc$[esp+ecx*4+2072]
	cmp	esi, ecx
	jle	SHORT $L4521
	mov	ecx, esi
$L4521:
	add	eax, ecx
	cmp	eax, DWORD PTR $T4542[esp+2072]
	jle	SHORT $L2662
$L2663:
; Line 1361
	or	eax, -1
$L2651:
; Line 1362
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_SMITH_Boyer_Moore ENDP
_TEXT	ENDS
PUBLIC	_KarpRabinKazeHits
; Function compile flags: /Ogty
_TEXT	SEGMENT
_pbTargetMax$ = -4					; size = 4
_hits$ = 8						; size = 4
_pbTarget$ = 8						; size = 4
tv298 = 12						; size = 4
$T4557 = 12						; size = 4
_pbPattern$ = 12					; size = 4
_ulHashPattern$ = 16					; size = 4
_cbTarget$ = 16						; size = 4
_cbPattern$ = 20					; size = 4
_KarpRabinKazeHits PROC NEAR
; Line 1381
	push	ecx
; Line 1384
	mov	ecx, DWORD PTR _pbPattern$[esp]
	push	ebx
	mov	ebx, DWORD PTR _cbTarget$[esp+4]
	push	ebp
; Line 1393
	mov	ebp, DWORD PTR _KarpRabinKazeHits_invocations_global_counter
	push	esi
	mov	esi, DWORD PTR _cbPattern$[esp+12]
	push	edi
	mov	edi, DWORD PTR _pbTarget$[esp+16]
	inc	ebp
; Line 1395
	cmp	esi, ebx
	lea	eax, DWORD PTR [edi+ebx]
	mov	DWORD PTR _pbTargetMax$[esp+20], eax
	lea	edx, DWORD PTR [ecx+esi]
	mov	DWORD PTR _hits$[esp+16], 0
	mov	DWORD PTR _KarpRabinKazeHits_invocations_global_counter, ebp
	jbe	SHORT $L4559
	pop	edi
	pop	esi
	pop	ebp
; Line 1396
	xor	eax, eax
	pop	ebx
; Line 1478
	pop	ecx
	ret	0
$L4559:
; Line 1402
	cmp	ecx, edx
	jae	SHORT $L2684
	sub	edx, ecx
	add	ecx, edx
	add	edi, edx
$L2684:
; Line 1424
	movsx	eax, BYTE PTR [edi-1]
	mov	ebx, ecx
	movsx	ecx, BYTE PTR [ecx-1]
	sub	ebx, esi
	movsx	ebp, BYTE PTR [ebx]
	shl	ebp, 8
	add	ebp, ecx
	mov	edx, edi
	sub	edx, esi
	movsx	ecx, BYTE PTR [edx]
	shl	ecx, 8
	add	ecx, eax
	mov	DWORD PTR _ulHashPattern$[esp+16], ebp
	mov	eax, edx
$L4569:
; Line 1429
	cmp	ebp, ecx
	mov	DWORD PTR tv298[esp+16], eax
	jne	SHORT $L4568
	test	esi, esi
	mov	edx, eax
	mov	ecx, ebx
	je	SHORT $L4565
	lea	ebp, DWORD PTR [esi-1]
	test	ebp, ebp
	je	SHORT $L4552
$L4551:
	mov	al, BYTE PTR [ecx]
	cmp	al, BYTE PTR [edx]
	jne	SHORT $L4566
	inc	ecx
	inc	edx
	dec	ebp
	jne	SHORT $L4551
$L4566:
	mov	eax, DWORD PTR tv298[esp+16]
$L4552:
	movzx	ecx, BYTE PTR [ecx]
	movzx	edx, BYTE PTR [edx]
	mov	ebp, DWORD PTR _ulHashPattern$[esp+16]
	sub	ecx, edx
	mov	DWORD PTR $T4557[esp+16], ecx
	jne	SHORT $L4568
$L4565:
; Line 1442
	inc	DWORD PTR _hits$[esp+16]
$L4568:
; Line 1445
	cmp	edi, DWORD PTR _pbTargetMax$[esp+20]
	je	SHORT $L4562
; Line 1468
	movsx	ecx, BYTE PTR [eax+1]
	movsx	edx, BYTE PTR [edi]
	shl	ecx, 8
	add	ecx, edx
; Line 1476
	inc	edi
	inc	eax
; Line 1477
	jmp	SHORT $L4569
$L4562:
; Line 1446
	mov	eax, DWORD PTR _hits$[esp+16]
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
; Line 1478
	pop	ecx
	ret	0
_KarpRabinKazeHits ENDP
_TEXT	ENDS
PUBLIC	_KarpRabinKaze
; Function compile flags: /Ogty
_TEXT	SEGMENT
_pbTargetMax$ = -4					; size = 4
tv292 = 8						; size = 4
$T4580 = 8						; size = 4
_pbTarget$ = 8						; size = 4
_pbPattern$ = 12					; size = 4
_ulHashPattern$ = 16					; size = 4
_cbTarget$ = 16						; size = 4
_cbPattern$ = 20					; size = 4
_KarpRabinKaze PROC NEAR
; Line 1484
	push	ecx
; Line 1486
	mov	eax, DWORD PTR _cbTarget$[esp]
	push	ebp
	mov	ebp, DWORD PTR _pbTarget$[esp+4]
	lea	ecx, DWORD PTR [eax+ebp]
	push	esi
; Line 1487
	mov	esi, DWORD PTR _cbPattern$[esp+8]
; Line 1496
	cmp	esi, eax
	mov	DWORD PTR _pbTargetMax$[esp+12], ecx
	mov	ecx, DWORD PTR _pbPattern$[esp+8]
	lea	edx, DWORD PTR [ecx+esi]
	jbe	SHORT $L4582
	pop	esi
; Line 1497
	or	eax, -1
	pop	ebp
; Line 1579
	pop	ecx
	ret	0
$L4582:
; Line 1503
	cmp	ecx, edx
	jae	SHORT $L2714
	sub	edx, ecx
	add	ecx, edx
	add	ebp, edx
$L2714:
; Line 1524
	movsx	edx, BYTE PTR [ecx-1]
	mov	eax, ecx
	push	ebx
; Line 1525
	movsx	ebx, BYTE PTR [ebp-1]
	push	edi
	sub	eax, esi
	movsx	edi, BYTE PTR [eax]
	shl	edi, 8
	add	edi, edx
	mov	edx, ebp
	sub	edx, esi
	movsx	ecx, BYTE PTR [edx]
	shl	ecx, 8
	add	ecx, ebx
	mov	DWORD PTR _ulHashPattern$[esp+16], edi
	mov	ebx, edx
$L4593:
; Line 1530
	cmp	edi, ecx
	mov	DWORD PTR tv292[esp+16], ebx
	jne	SHORT $L2722
	test	esi, esi
	mov	edx, ebx
	mov	ecx, eax
	je	SHORT $L4589
	lea	edi, DWORD PTR [esi-1]
	test	edi, edi
	je	SHORT $L4575
$L4574:
	mov	bl, BYTE PTR [ecx]
	cmp	bl, BYTE PTR [edx]
	jne	SHORT $L4590
	inc	ecx
	inc	edx
	dec	edi
	jne	SHORT $L4574
$L4590:
	mov	ebx, DWORD PTR tv292[esp+16]
$L4575:
	movzx	ecx, BYTE PTR [ecx]
	movzx	edx, BYTE PTR [edx]
	sub	ecx, edx
	mov	DWORD PTR $T4580[esp+16], ecx
	je	SHORT $L4589
	mov	edi, DWORD PTR _ulHashPattern$[esp+16]
$L2722:
; Line 1546
	cmp	ebp, DWORD PTR _pbTargetMax$[esp+20]
	je	SHORT $L4586
; Line 1569
	movsx	ecx, BYTE PTR [ebx+1]
	movsx	edx, BYTE PTR [ebp]
	shl	ecx, 8
	add	ecx, edx
; Line 1577
	inc	ebp
	inc	ebx
; Line 1578
	jmp	SHORT $L4593
$L4589:
	pop	edi
; Line 1543
	mov	eax, ebp
	pop	ebx
	sub	eax, esi
	pop	esi
	pop	ebp
; Line 1579
	pop	ecx
	ret	0
$L4586:
	pop	edi
	pop	ebx
	pop	esi
; Line 1547
	or	eax, -1
	pop	ebp
; Line 1579
	pop	ecx
	ret	0
_KarpRabinKaze ENDP
_TEXT	ENDS
PUBLIC	_Karp_Rabin
; Function compile flags: /Ogty
_TEXT	SEGMENT
_hx$ = -8						; size = 4
_d$ = -4						; size = 4
_y$ = 8							; size = 4
_x$ = 12						; size = 4
$T4614 = 16						; size = 4
_n$ = 16						; size = 4
tv181 = 20						; size = 4
$T4604 = 20						; size = 4
$T4601 = 20						; size = 4
_m$ = 20						; size = 4
_Karp_Rabin PROC NEAR
; Line 1585
	sub	esp, 8
	push	ebx
	push	ebp
	push	esi
	push	edi
; Line 1591
	mov	edi, DWORD PTR _m$[esp+20]
	mov	eax, 1
	cmp	edi, eax
	mov	DWORD PTR _d$[esp+24], eax
	jle	SHORT $L2743
	lea	ecx, DWORD PTR [edi-1]
	npad	5
$L2741:
; Line 1592
	shl	eax, 1
	dec	ecx
	jne	SHORT $L2741
	mov	DWORD PTR _d$[esp+24], eax
$L2743:
; Line 1594
	mov	edx, DWORD PTR _y$[esp+20]
	xor	esi, esi
	xor	ebp, ebp
	test	edi, edi
	mov	DWORD PTR _hx$[esp+24], esi
	jle	SHORT $L2746
	mov	ecx, DWORD PTR _x$[esp+20]
	mov	eax, edx
	sub	ecx, edx
	mov	DWORD PTR tv181[esp+20], edi
$L2744:
; Line 1595
	movsx	ebx, BYTE PTR [ecx+eax]
	lea	esi, DWORD PTR [ebx+esi*2]
; Line 1596
	movsx	ebx, BYTE PTR [eax]
	lea	ebp, DWORD PTR [ebx+ebp*2]
	mov	ebx, DWORD PTR tv181[esp+20]
	inc	eax
	dec	ebx
	mov	DWORD PTR tv181[esp+20], ebx
	jne	SHORT $L2744
; Line 1595
	mov	DWORD PTR _hx$[esp+24], esi
$L2746:
; Line 1601
	mov	ecx, DWORD PTR _n$[esp+20]
	xor	eax, eax
	sub	ecx, edi
	mov	DWORD PTR $T4614[esp+20], ecx
	js	SHORT $L2749
$L2748:
; Line 1602
	cmp	esi, ebp
	jne	SHORT $L2750
	test	edi, edi
	mov	ecx, DWORD PTR _x$[esp+20]
	lea	esi, DWORD PTR [eax+edx]
	je	SHORT $L2735
	lea	ebx, DWORD PTR [edi-1]
	test	ebx, ebx
	mov	DWORD PTR $T4601[esp+20], ebx
	je	SHORT $L4599
	npad	6
$L4598:
	mov	bl, BYTE PTR [ecx]
	cmp	bl, BYTE PTR [esi]
	jne	SHORT $L4599
	mov	ebx, DWORD PTR $T4601[esp+20]
	inc	ecx
	inc	esi
	dec	ebx
	mov	DWORD PTR $T4601[esp+20], ebx
	jne	SHORT $L4598
$L4599:
	movzx	ecx, BYTE PTR [ecx]
	movzx	esi, BYTE PTR [esi]
	sub	ecx, esi
	mov	DWORD PTR $T4604[esp+20], ecx
	je	SHORT $L2735
	mov	esi, DWORD PTR _hx$[esp+24]
	mov	ecx, DWORD PTR $T4614[esp+20]
$L2750:
; Line 1603
	movsx	ebx, BYTE PTR [eax+edx]
	imul	ebx, DWORD PTR _d$[esp+24]
	sub	ebp, ebx
	lea	ebx, DWORD PTR [eax+edx]
	movsx	ebx, BYTE PTR [ebx+edi]
; Line 1604
	inc	eax
	cmp	eax, ecx
	lea	ebp, DWORD PTR [ebx+ebp*2]
	jle	SHORT $L2748
$L2749:
; Line 1606
	or	eax, -1
$L2735:
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
; Line 1607
	add	esp, 8
	ret	0
_Karp_Rabin ENDP
_TEXT	ENDS
PUBLIC	_Karp_Rabinhits
; Function compile flags: /Ogty
_TEXT	SEGMENT
_hits$ = -12						; size = 4
_d$ = -8						; size = 4
$T4627 = -4						; size = 4
_y$ = 8							; size = 4
_x$ = 12						; size = 4
tv373 = 16						; size = 4
_n$ = 16						; size = 4
_hx$ = 20						; size = 4
_m$ = 20						; size = 4
_Karp_Rabinhits PROC NEAR
; Line 1609
	sub	esp, 12					; 0000000cH
	push	ebx
	push	ebp
	push	esi
	push	edi
; Line 1616
	mov	edi, DWORD PTR _m$[esp+24]
	mov	ecx, 1
	xor	ebp, ebp
	cmp	edi, ecx
	mov	DWORD PTR _hits$[esp+28], ebp
	mov	DWORD PTR _d$[esp+28], ecx
	jle	SHORT $L2769
; Line 1611
	lea	eax, DWORD PTR [edi-1]
$L2767:
; Line 1617
	shl	ecx, 1
	dec	eax
	jne	SHORT $L2767
	mov	DWORD PTR _d$[esp+28], ecx
$L2769:
; Line 1619
	mov	ecx, DWORD PTR _y$[esp+24]
	xor	eax, eax
	cmp	edi, ebp
	mov	DWORD PTR _hx$[esp+24], eax
	jle	SHORT $L2772
	mov	edx, DWORD PTR _x$[esp+24]
	sub	edx, ecx
	mov	ebx, edi
$L2770:
; Line 1620
	movsx	esi, BYTE PTR [edx+ecx]
	lea	eax, DWORD PTR [esi+eax*2]
; Line 1621
	movsx	esi, BYTE PTR [ecx]
	inc	ecx
	dec	ebx
	lea	ebp, DWORD PTR [esi+ebp*2]
	jne	SHORT $L2770
	mov	ecx, DWORD PTR _y$[esp+24]
	mov	DWORD PTR _hx$[esp+24], eax
$L2772:
; Line 1626
	mov	edx, DWORD PTR _n$[esp+24]
	sub	edx, edi
	js	SHORT $L4638
	inc	edx
	mov	esi, ecx
	mov	DWORD PTR tv373[esp+24], edx
$L2774:
; Line 1628
	cmp	eax, ebp
	jne	SHORT $L4640
	test	edi, edi
	mov	ecx, DWORD PTR _x$[esp+24]
	mov	edx, esi
	je	SHORT $L4637
	lea	ebx, DWORD PTR [edi-1]
	test	ebx, ebx
	je	SHORT $L4622
	npad	3
$L4621:
	mov	al, BYTE PTR [ecx]
	cmp	al, BYTE PTR [edx]
	jne	SHORT $L4639
	inc	ecx
	inc	edx
	dec	ebx
	jne	SHORT $L4621
$L4639:
	mov	eax, DWORD PTR _hx$[esp+24]
$L4622:
	movzx	ecx, BYTE PTR [ecx]
	movzx	edx, BYTE PTR [edx]
	sub	ecx, edx
	mov	DWORD PTR $T4627[esp+28], ecx
	jne	SHORT $L4640
$L4637:
	inc	DWORD PTR _hits$[esp+28]
$L4640:
; Line 1629
	movsx	ecx, BYTE PTR [esi]
	imul	ecx, DWORD PTR _d$[esp+28]
	movsx	edx, BYTE PTR [esi+edi]
	sub	ebp, ecx
	mov	ecx, DWORD PTR tv373[esp+24]
; Line 1630
	inc	esi
	dec	ecx
	lea	ebp, DWORD PTR [edx+ebp*2]
	mov	DWORD PTR tv373[esp+24], ecx
	jne	SHORT $L2774
$L4638:
; Line 1632
	mov	eax, DWORD PTR _hits$[esp+28]
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
; Line 1633
	add	esp, 12					; 0000000cH
	ret	0
_Karp_Rabinhits ENDP
_TEXT	ENDS
PUBLIC	_HORSPOOL
; Function compile flags: /Ogty
_TEXT	SEGMENT
_lastch$ = -1033					; size = 1
$T4662 = -1032						; size = 4
$T4651 = -1028						; size = 4
_bm_bc$ = -1024						; size = 1024
_y$ = 8							; size = 4
_x$ = 12						; size = 4
_n$ = 16						; size = 4
_m$ = 20						; size = 4
_HORSPOOL PROC NEAR
; Line 1639
	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	sub	esp, 1036				; 0000040cH
; Line 1645
	mov	eax, DWORD PTR _m$[ebp]
	push	ebx
	push	esi
	push	edi
	mov	ecx, 256				; 00000100H
	lea	edi, DWORD PTR _bm_bc$[esp+1048]
	rep stosd
; Line 1646
	lea	edx, DWORD PTR [eax-1]
	xor	ecx, ecx
	test	edx, edx
	jle	SHORT $L2795
	mov	esi, edx
$L2793:
	mov	edi, DWORD PTR _x$[ebp]
	movsx	edi, BYTE PTR [ecx+edi]
	inc	ecx
	mov	DWORD PTR _bm_bc$[esp+edi*4+1048], esi
	dec	esi
	cmp	ecx, edx
	jl	SHORT $L2793
$L2795:
; Line 1649
	mov	ecx, DWORD PTR _x$[ebp]
	mov	dl, BYTE PTR [ecx+eax-1]
; Line 1651
	mov	ecx, DWORD PTR _n$[ebp]
	xor	edi, edi
	sub	ecx, eax
	mov	BYTE PTR _lastch$[esp+1048], dl
	mov	DWORD PTR $T4662[esp+1048], ecx
	js	SHORT $L2798
	mov	ebx, DWORD PTR _y$[ebp]
	lea	ecx, DWORD PTR [ebx+eax-1]
	npad	8
$L2797:
; Line 1653
	mov	dl, BYTE PTR _lastch$[esp+1048]
	cmp	BYTE PTR [ecx+edi], dl
	jne	SHORT $L2800
; Line 1655
	mov	esi, DWORD PTR _x$[ebp]
	lea	ecx, DWORD PTR [eax-1]
	test	ecx, ecx
	lea	edx, DWORD PTR [edi+ebx]
	je	SHORT $L4656
	dec	ecx
	je	SHORT $L4646
	npad	7
$L4645:
	mov	bl, BYTE PTR [edx]
	cmp	bl, BYTE PTR [esi]
	jne	SHORT $L4665
	inc	edx
	inc	esi
	dec	ecx
	jne	SHORT $L4645
$L4665:
	mov	ebx, DWORD PTR _y$[ebp]
$L4646:
	movzx	ecx, BYTE PTR [edx]
	movzx	edx, BYTE PTR [esi]
	sub	ecx, edx
	mov	DWORD PTR $T4651[esp+1048], ecx
	je	SHORT $L4656
$L2800:
; Line 1656
	lea	ecx, DWORD PTR [ebx+eax-1]
	movzx	edx, BYTE PTR [ecx+edi]
	mov	esi, DWORD PTR _bm_bc$[esp+edx*4+1048]
	mov	edx, DWORD PTR $T4662[esp+1048]
	add	edi, esi
	cmp	edi, edx
	jle	SHORT $L2797
$L2798:
; Line 1658
	or	eax, -1
; Line 1659
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4656:
; Line 1655
	mov	eax, edi
; Line 1659
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_HORSPOOL ENDP
_TEXT	ENDS
PUBLIC	_HORSPOOLhits
; Function compile flags: /Ogty
_TEXT	SEGMENT
_lastch$ = -1037					; size = 1
_hits$ = -1036						; size = 4
$T4686 = -1032						; size = 4
$T4676 = -1028						; size = 4
_bm_bc$ = -1024						; size = 1024
_y$ = 8							; size = 4
_x$ = 12						; size = 4
_n$ = 16						; size = 4
_m$ = 20						; size = 4
_HORSPOOLhits PROC NEAR
; Line 1665
	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	sub	esp, 1044				; 00000414H
; Line 1674
	mov	eax, DWORD PTR _m$[ebp]
	push	ebx
	push	esi
	push	edi
	mov	edi, DWORD PTR _HORSPOOLhits_invocations_global_counter
	xor	ebx, ebx
	inc	edi
	mov	DWORD PTR _HORSPOOLhits_invocations_global_counter, edi
	mov	ecx, 256				; 00000100H
	lea	edi, DWORD PTR _bm_bc$[esp+1056]
	rep stosd
; Line 1675
	lea	edx, DWORD PTR [eax-1]
	xor	ecx, ecx
	test	edx, edx
	mov	DWORD PTR _hits$[esp+1056], ebx
	jle	SHORT $L2820
	mov	esi, edx
	npad	5
$L2818:
	mov	edi, DWORD PTR _x$[ebp]
	movsx	edi, BYTE PTR [ecx+edi]
	inc	ecx
	mov	DWORD PTR _bm_bc$[esp+edi*4+1056], esi
	dec	esi
	cmp	ecx, edx
	jl	SHORT $L2818
$L2820:
; Line 1678
	mov	ecx, DWORD PTR _x$[ebp]
	mov	dl, BYTE PTR [ecx+eax-1]
; Line 1680
	mov	ecx, DWORD PTR _n$[ebp]
	xor	edi, edi
	sub	ecx, eax
	mov	BYTE PTR _lastch$[esp+1056], dl
	mov	DWORD PTR $T4686[esp+1056], ecx
	js	SHORT $L4688
	mov	ebx, DWORD PTR _y$[ebp]
	lea	ecx, DWORD PTR [ebx+eax-1]
$L2822:
; Line 1682
	mov	dl, BYTE PTR _lastch$[esp+1056]
	cmp	BYTE PTR [ecx+edi], dl
	jne	SHORT $L2825
; Line 1685
	mov	esi, DWORD PTR _x$[ebp]
	lea	ecx, DWORD PTR [eax-1]
	test	ecx, ecx
	lea	edx, DWORD PTR [edi+ebx]
	je	SHORT $L4687
	dec	ecx
	je	SHORT $L4671
	npad	7
$L4670:
	mov	bl, BYTE PTR [edx]
	cmp	bl, BYTE PTR [esi]
	jne	SHORT $L4689
	inc	edx
	inc	esi
	dec	ecx
	jne	SHORT $L4670
$L4689:
	mov	ebx, DWORD PTR _y$[ebp]
$L4671:
	movzx	ecx, BYTE PTR [edx]
	movzx	edx, BYTE PTR [esi]
	sub	ecx, edx
	mov	DWORD PTR $T4676[esp+1056], ecx
	jne	SHORT $L2825
$L4687:
	inc	DWORD PTR _hits$[esp+1056]
$L2825:
; Line 1686
	lea	ecx, DWORD PTR [ebx+eax-1]
	movzx	edx, BYTE PTR [ecx+edi]
	mov	esi, DWORD PTR _bm_bc$[esp+edx*4+1056]
	mov	edx, DWORD PTR $T4686[esp+1056]
	add	edi, esi
	cmp	edi, edx
	jle	SHORT $L2822
; Line 1688
	mov	eax, DWORD PTR _hits$[esp+1056]
; Line 1689
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4688:
	pop	edi
	pop	esi
	mov	eax, ebx
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
_HORSPOOLhits ENDP
_TEXT	ENDS
PUBLIC	_HORSPOOLallLINES
EXTRN	_fwrite:NEAR
; Function compile flags: /Ogty
_TEXT	SEGMENT
_ch$ = -1050						; size = 1
_lastch$ = -1049					; size = 1
_TAGfree$ = -1048					; size = 2
_hits$ = -1044						; size = 4
_i$ = -1040						; size = 4
$T4746 = -1036						; size = 4
tv575 = -1032						; size = 4
$T4702 = -1028						; size = 4
_bm_bc$ = -1024						; size = 1024
_y$ = 8							; size = 4
_x$ = 12						; size = 4
_n$ = 16						; size = 4
_m$ = 20						; size = 4
_fp_outLOG$ = 24					; size = 4
_NestedP1$ = 28						; size = 4
_NestedP1len$ = 32					; size = 4
_NestedP2$ = 36						; size = 4
_NestedP2len$ = 40					; size = 4
_NestedP3$ = 44						; size = 4
_NestedP3len$ = 48					; size = 4
_INIHDDRAM$ = 52					; size = 4
_HORSPOOLallLINES PROC NEAR
; Line 1699
	sub	esp, 1052				; 0000041cH
; Line 1703
	mov	ax, WORD PTR $SG2848
	push	ebx
	push	esi
; Line 1710
	mov	esi, DWORD PTR _m$[esp+1056]
	push	edi
	mov	WORD PTR _TAGfree$[esp+1064], ax
	mov	eax, esi
	mov	ecx, 256				; 00000100H
	lea	edi, DWORD PTR _bm_bc$[esp+1064]
	rep stosd
	xor	ebx, ebx
; Line 1711
	lea	ecx, DWORD PTR [esi-1]
	xor	eax, eax
	test	ecx, ecx
	mov	DWORD PTR _hits$[esp+1064], ebx
	jle	SHORT $L2859
	mov	edx, ecx
	npad	7
$L2857:
	mov	edi, DWORD PTR _x$[esp+1060]
	movsx	edi, BYTE PTR [eax+edi]
	inc	eax
	mov	DWORD PTR _bm_bc$[esp+edi*4+1064], edx
	dec	edx
	cmp	eax, ecx
	jl	SHORT $L2857
$L2859:
; Line 1714
	mov	ecx, DWORD PTR _x$[esp+1060]
; Line 1716
	mov	eax, DWORD PTR _n$[esp+1060]
	mov	dl, BYTE PTR [ecx+esi-1]
	xor	edi, edi
	sub	eax, esi
	mov	BYTE PTR _lastch$[esp+1064], dl
	mov	DWORD PTR _i$[esp+1064], edi
	mov	DWORD PTR $T4746[esp+1064], eax
	js	$L4770
	mov	edx, DWORD PTR _y$[esp+1060]
	lea	eax, DWORD PTR [edx+esi-1]
	push	ebp
	mov	DWORD PTR tv575[esp+1068], eax
	jmp	SHORT $L2861
$L4773:
	mov	esi, DWORD PTR _m$[esp+1064]
	npad	10
$L2861:
; Line 1717
	mov	ecx, DWORD PTR tv575[esp+1068]
	mov	al, BYTE PTR [ecx+edi]
; Line 1718
	cmp	al, BYTE PTR _lastch$[esp+1068]
	mov	BYTE PTR _ch$[esp+1068], al
	jne	$L2886
; Line 1720
	lea	eax, DWORD PTR [esi-1]
	test	eax, eax
	mov	esi, DWORD PTR _x$[esp+1064]
	lea	ebp, DWORD PTR [edi+edx]
	mov	ecx, ebp
	je	SHORT $L4755
	dec	eax
	je	SHORT $L4772
	npad	5
$L4696:
	mov	bl, BYTE PTR [ecx]
	cmp	bl, BYTE PTR [esi]
	jne	SHORT $L4772
	inc	ecx
	inc	esi
	dec	eax
	jne	SHORT $L4696
$L4772:
	movzx	eax, BYTE PTR [ecx]
	movzx	ecx, BYTE PTR [esi]
	sub	eax, ecx
	mov	DWORD PTR $T4702[esp+1068], eax
	jne	$L2886
$L4755:
; Line 1727
	cmp	BYTE PTR [ebp], 10			; 0000000aH
	mov	ebx, edi
	je	SHORT $L2869
$L2866:
	mov	al, BYTE PTR [ebx+edx+1]
	inc	ebx
	cmp	al, 10					; 0000000aH
	jne	SHORT $L2866
	npad	2
$L2869:
; Line 1728
	test	edi, edi
	je	SHORT $L2871
	mov	al, BYTE PTR [edi+edx-1]
	dec	edi
	cmp	al, 10					; 0000000aH
	jne	SHORT $L2869
; Line 1729
	test	edi, edi
	je	SHORT $L2871
	inc	edi
$L2871:
; Line 1733
	mov	eax, DWORD PTR _NestedP1len$[esp+1064]
	test	eax, eax
	je	SHORT $L4756
; Line 1734
	push	eax
	mov	esi, ebx
	lea	ebp, DWORD PTR [edi+edx]
	mov	edx, DWORD PTR _NestedP1$[esp+1068]
	sub	esi, edi
	push	esi
	push	edx
	push	ebp
	call	_HORSPOOL
	add	esp, 16					; 00000010H
	cmp	eax, -1
	je	$L4771
; Line 1738
	mov	eax, DWORD PTR _NestedP2len$[esp+1064]
	test	eax, eax
	je	SHORT $L4756
; Line 1739
	push	eax
	mov	eax, DWORD PTR _NestedP2$[esp+1068]
	push	esi
	push	eax
	push	ebp
	call	_HORSPOOL
	add	esp, 16					; 00000010H
	cmp	eax, -1
	je	$L4771
; Line 1743
	mov	eax, DWORD PTR _NestedP3len$[esp+1064]
	test	eax, eax
	je	SHORT $L4756
; Line 1744
	mov	ecx, DWORD PTR _NestedP3$[esp+1064]
	push	eax
	push	esi
	push	ecx
	push	ebp
	call	_HORSPOOL
	add	esp, 16					; 00000010H
	cmp	eax, -1
	je	$L4771
$L4756:
; Line 1754
	mov	eax, DWORD PTR _INIHDDRAM$[esp+1064]
	mov	cl, BYTE PTR $SG2882
	movzx	eax, BYTE PTR [eax]
	movzx	esi, cl
	sub	eax, esi
	mov	edx, OFFSET FLAT:$SG2882
	jne	SHORT $L4707
	mov	esi, DWORD PTR _INIHDDRAM$[esp+1064]
	sub	esi, edx
$L4706:
	test	cl, cl
	je	SHORT $L4707
	mov	cl, BYTE PTR [edx+1]
	movzx	eax, BYTE PTR [esi+edx+1]
	inc	edx
	movzx	ebp, cl
	sub	eax, ebp
	je	SHORT $L4706
$L4707:
	test	eax, eax
	jl	SHORT $L4757
	jg	SHORT $L4757
	test	eax, eax
	je	SHORT $L2881
$L4757:
; Line 1755
	mov	edx, DWORD PTR _y$[esp+1064]
	mov	ecx, ebx
	sub	ecx, edi
	lea	edi, DWORD PTR [edi+edx]
	mov	eax, ecx
	mov	esi, edi
	je	SHORT $L4718
$L4717:
	mov	dl, BYTE PTR _TAGfree$[esp+1068]
	cmp	BYTE PTR [esi], dl
	je	SHORT $L4718
	inc	esi
	dec	eax
	jne	SHORT $L4717
$L4718:
	neg	eax
	sbb	eax, eax
	test	eax, esi
	jne	SHORT $L4771
	mov	eax, ecx
	test	eax, eax
	mov	esi, edi
	je	SHORT $L4725
$L4724:
	mov	dl, BYTE PTR _TAGfree$[esp+1069]
	cmp	BYTE PTR [esi], dl
	je	SHORT $L4725
	inc	esi
	dec	eax
	jne	SHORT $L4724
$L4725:
	neg	eax
	sbb	eax, eax
	test	eax, esi
	jne	SHORT $L4771
; Line 1757
	mov	eax, DWORD PTR _fp_outLOG$[esp+1064]
	mov	ebp, DWORD PTR _hits$[esp+1068]
	push	eax
	inc	ebp
	push	1
	inc	ecx
	push	ecx
	push	edi
	mov	DWORD PTR _hits$[esp+1084], ebp
	call	_fwrite
	add	esp, 16					; 00000010H
; Line 1759
	jmp	SHORT $L4771
$L2881:
	inc	DWORD PTR _hits$[esp+1068]
$L4771:
	mov	edx, DWORD PTR _y$[esp+1064]
	mov	edi, DWORD PTR _i$[esp+1068]
$L2886:
; Line 1767
	movzx	ecx, BYTE PTR _ch$[esp+1068]
	mov	esi, DWORD PTR _bm_bc$[esp+ecx*4+1068]
	mov	eax, DWORD PTR $T4746[esp+1068]
	add	edi, esi
	cmp	edi, eax
	mov	DWORD PTR _i$[esp+1068], edi
	jle	$L4773
; Line 1769
	mov	eax, DWORD PTR _hits$[esp+1068]
	pop	ebp
	pop	edi
	pop	esi
	pop	ebx
; Line 1770
	add	esp, 1052				; 0000041cH
	ret	0
$L4770:
	pop	edi
	pop	esi
; Line 1769
	mov	eax, ebx
	pop	ebx
; Line 1770
	add	esp, 1052				; 0000041cH
	ret	0
_HORSPOOLallLINES ENDP
_TEXT	ENDS
PUBLIC	_Search_Algorithm
; Function compile flags: /Ogty
_TEXT	SEGMENT
_y$ = 8							; size = 4
_x$ = 12						; size = 4
_n$ = 16						; size = 4
_m$ = 20						; size = 4
_Search_Algorithm PROC NEAR
; Line 1778
	mov	edx, DWORD PTR _SearchAlgorithm_invocations_global_counter
; Line 1779
	mov	eax, DWORD PTR _SearchAlgorithm
	inc	edx
	cmp	eax, 1
	mov	DWORD PTR _SearchAlgorithm_invocations_global_counter, edx
	je	SHORT $L2895
	cmp	eax, 11					; 0000000bH
	je	SHORT $L2895
	cmp	eax, 111				; 0000006fH
	je	SHORT $L2895
; Line 1780
	cmp	eax, 2
	je	SHORT $L2897
	cmp	eax, 22					; 00000016H
	je	SHORT $L2897
	cmp	eax, 222				; 000000deH
	je	SHORT $L2897
; Line 1781
	cmp	eax, 3
	je	SHORT $L2899
	cmp	eax, 33					; 00000021H
	je	SHORT $L2899
	cmp	eax, 333				; 0000014dH
	je	SHORT $L2899
; Line 1782
	cmp	eax, 4
	je	SHORT $L2901
	cmp	eax, 44					; 0000002cH
	je	SHORT $L2901
	cmp	eax, 444				; 000001bcH
	je	SHORT $L2901
; Line 1783
	cmp	eax, 5
	je	SHORT $L2901
; Line 1785
	jmp	_HORSPOOL
$L2901:
; Line 1782
	jmp	_KarpRabinKaze
$L2899:
; Line 1781
	jmp	_SMITH_Boyer_Moore
$L2897:
; Line 1780
	jmp	_Quick_Boyer_Moore
$L2895:
; Line 1779
	jmp	_Brute_Force
_Search_Algorithm ENDP
_TEXT	ENDS
PUBLIC	_IgorPavlov
EXTRN	_printf:NEAR
EXTRN	__iob:BYTE
EXTRN	__flsbuf:NEAR
_BSS	SEGMENT
?hitsSTATIC@?1??IgorPavlov@@9@9 DD 01H DUP (?)		; `IgorPavlov'::`2'::hitsSTATIC
; Function compile flags: /Ogty
_BSS	ENDS
_TEXT	SEGMENT
_TAGfree$ = -48						; size = 2
_ThunderwithL$ = -44					; size = 4
_ThunderwithR$ = -40					; size = 4
_hits$ = -36						; size = 4
tv628 = -32						; size = 4
_llTOaDigits$ = -28					; size = 27
_y$ = 8							; size = 4
_x$ = 12						; size = 4
tv794 = 16						; size = 4
tv775 = 16						; size = 4
tv767 = 16						; size = 4
tv752 = 16						; size = 4
tv744 = 16						; size = 4
tv729 = 16						; size = 4
tv703 = 16						; size = 4
_n$ = 16						; size = 4
_m$ = 20						; size = 4
_fp_outLOG$ = 24					; size = 4
_NestedP1$ = 28						; size = 4
_NestedP1len$ = 32					; size = 4
_NestedP2$ = 36						; size = 4
_NestedP2len$ = 40					; size = 4
_NestedP3$ = 44						; size = 4
_NestedP3len$ = 48					; size = 4
_INIHDDRAM$ = 52					; size = 4
_Bastumante2$ = 56					; size = 4
_IgorPavlov PROC NEAR
; Line 1798
	sub	esp, 48					; 00000030H
; Line 1802
	mov	ax, WORD PTR $SG2922
; Line 1809
	mov	ecx, DWORD PTR _SearchAlgorithm
	push	ebx
	push	ebp
	xor	ebp, ebp
	push	esi
	mov	esi, DWORD PTR _n$[esp+56]
	mov	WORD PTR _TAGfree$[esp+60], ax
	xor	eax, eax
	cmp	ecx, 5
	push	edi
	mov	DWORD PTR _hits$[esp+64], ebp
	mov	DWORD PTR _ThunderwithL$[esp+64], eax
	mov	DWORD PTR _ThunderwithR$[esp+64], ebp
	je	$L4904
; Line 1811
	mov	edi, DWORD PTR _NestedP1len$[esp+60]
	cmp	edi, ebp
	je	$L4901
; Line 1815
	call	_clock
; Line 1816
	mov	ecx, DWORD PTR _NestedP1$[esp+60]
	mov	ebx, DWORD PTR _y$[esp+60]
	push	edi
	push	esi
	push	ecx
	push	ebx
	mov	DWORD PTR _clocksG1, eax
	call	_HORSPOOLhits
	add	DWORD PTR _HorspoolGLOBALhits, eax
; Line 1817
	call	_clock
	mov	edi, DWORD PTR _clocksG1
	mov	ecx, DWORD PTR _clocksGHtxt+4
	mov	DWORD PTR _clocksG2, eax
	sub	eax, edi
	mov	DWORD PTR tv794[esp+76], eax
	fild	DWORD PTR tv794[esp+76]
	mov	eax, esi
	cdq
	mov	ebp, edx
	mov	edx, DWORD PTR _clocksGHtxt
	mov	edi, eax
	add	edx, edi
	fadd	QWORD PTR _clocksGH
	adc	ecx, ebp
	mov	DWORD PTR _clocksGHtxt, edx
	mov	DWORD PTR _clocksGHtxt+4, ecx
	fstp	QWORD PTR _clocksGH
; Line 1818
	call	_clock
; Line 1819
	mov	edx, DWORD PTR _NestedP1len$[esp+76]
	push	edx
	mov	DWORD PTR _clocksG1, eax
	mov	eax, DWORD PTR _NestedP1$[esp+80]
	push	esi
	push	eax
	push	ebx
	call	_KarpRabinKazeHits
	mov	ecx, DWORD PTR _FRKFindSubpbGLOBALHITS
	add	ecx, eax
	add	esp, 32					; 00000020H
	mov	DWORD PTR _FRKFindSubpbGLOBALHITS, ecx
; Line 1820
	call	_clock
	mov	edx, DWORD PTR _clocksG1
	mov	ecx, DWORD PTR _clocksGKtxt
	mov	DWORD PTR _clocksG2, eax
	sub	eax, edx
	mov	DWORD PTR tv775[esp+60], eax
	fild	DWORD PTR tv775[esp+60]
	mov	eax, DWORD PTR _clocksGKtxt+4
	add	ecx, edi
	adc	eax, ebp
	mov	ebp, DWORD PTR _ThunderwithR$[esp+64]
	fadd	QWORD PTR _clocksGK
	mov	DWORD PTR _clocksGKtxt+4, eax
	mov	eax, DWORD PTR _ThunderwithL$[esp+64]
	fstp	QWORD PTR _clocksGK
	mov	DWORD PTR _clocksGKtxt, ecx
	jmp	SHORT $L2930
$L4901:
	mov	ebx, DWORD PTR _y$[esp+60]
$L2930:
; Line 1822
	mov	edi, DWORD PTR _NestedP2len$[esp+60]
	test	edi, edi
	je	$L4902
; Line 1826
	call	_clock
; Line 1827
	mov	ecx, DWORD PTR _NestedP2$[esp+60]
	push	edi
	push	esi
	push	ecx
	push	ebx
	mov	DWORD PTR _clocksG1, eax
	call	_HORSPOOLhits
	add	DWORD PTR _HorspoolGLOBALhits, eax
; Line 1828
	call	_clock
	mov	edi, DWORD PTR _clocksG1
	mov	ecx, DWORD PTR _clocksGHtxt+4
	mov	DWORD PTR _clocksG2, eax
	sub	eax, edi
	mov	DWORD PTR tv767[esp+76], eax
	fild	DWORD PTR tv767[esp+76]
	mov	eax, esi
	cdq
	mov	ebp, edx
	mov	edx, DWORD PTR _clocksGHtxt
	mov	edi, eax
	add	edx, edi
	fadd	QWORD PTR _clocksGH
	adc	ecx, ebp
	mov	DWORD PTR _clocksGHtxt, edx
	mov	DWORD PTR _clocksGHtxt+4, ecx
	fstp	QWORD PTR _clocksGH
; Line 1829
	call	_clock
; Line 1830
	mov	edx, DWORD PTR _NestedP2len$[esp+76]
	push	edx
	mov	DWORD PTR _clocksG1, eax
	mov	eax, DWORD PTR _NestedP2$[esp+80]
	push	esi
	push	eax
	push	ebx
	call	_KarpRabinKazeHits
	mov	ecx, DWORD PTR _FRKFindSubpbGLOBALHITS
	add	ecx, eax
	add	esp, 32					; 00000020H
	mov	DWORD PTR _FRKFindSubpbGLOBALHITS, ecx
; Line 1831
	call	_clock
	mov	edx, DWORD PTR _clocksG1
	mov	ecx, DWORD PTR _clocksGKtxt
	mov	DWORD PTR _clocksG2, eax
	sub	eax, edx
	mov	DWORD PTR tv752[esp+60], eax
	fild	DWORD PTR tv752[esp+60]
	mov	eax, DWORD PTR _clocksGKtxt+4
	add	ecx, edi
	adc	eax, ebp
	mov	ebp, DWORD PTR _ThunderwithR$[esp+64]
	fadd	QWORD PTR _clocksGK
	mov	DWORD PTR _clocksGKtxt+4, eax
	mov	eax, DWORD PTR _ThunderwithL$[esp+64]
	fstp	QWORD PTR _clocksGK
	mov	DWORD PTR _clocksGKtxt, ecx
$L4902:
; Line 1833
	mov	edi, DWORD PTR _NestedP3len$[esp+60]
	test	edi, edi
	je	$L2936
; Line 1837
	call	_clock
; Line 1838
	mov	ecx, DWORD PTR _NestedP3$[esp+60]
	push	edi
	push	esi
	push	ecx
	push	ebx
	mov	DWORD PTR _clocksG1, eax
	call	_HORSPOOLhits
	add	DWORD PTR _HorspoolGLOBALhits, eax
; Line 1839
	call	_clock
	mov	edi, DWORD PTR _clocksG1
	mov	ecx, DWORD PTR _clocksGHtxt+4
	mov	DWORD PTR _clocksG2, eax
	sub	eax, edi
	mov	DWORD PTR tv744[esp+76], eax
	fild	DWORD PTR tv744[esp+76]
	mov	eax, esi
	cdq
	mov	ebp, edx
	mov	edx, DWORD PTR _clocksGHtxt
	mov	edi, eax
	add	edx, edi
	fadd	QWORD PTR _clocksGH
	adc	ecx, ebp
	mov	DWORD PTR _clocksGHtxt, edx
	mov	DWORD PTR _clocksGHtxt+4, ecx
	fstp	QWORD PTR _clocksGH
; Line 1840
	call	_clock
; Line 1841
	mov	edx, DWORD PTR _NestedP3len$[esp+76]
	push	edx
	mov	DWORD PTR _clocksG1, eax
	mov	eax, DWORD PTR _NestedP3$[esp+80]
	push	esi
	push	eax
	push	ebx
	call	_KarpRabinKazeHits
	mov	ecx, DWORD PTR _FRKFindSubpbGLOBALHITS
	add	ecx, eax
	add	esp, 32					; 00000020H
	mov	DWORD PTR _FRKFindSubpbGLOBALHITS, ecx
; Line 1842
	call	_clock
	mov	edx, DWORD PTR _clocksG1
	mov	ecx, DWORD PTR _clocksGKtxt
	mov	DWORD PTR _clocksG2, eax
	sub	eax, edx
	mov	DWORD PTR tv729[esp+60], eax
	fild	DWORD PTR tv729[esp+60]
	mov	eax, DWORD PTR _clocksGKtxt+4
	add	ecx, edi
	adc	eax, ebp
	mov	ebp, DWORD PTR _ThunderwithR$[esp+64]
	fadd	QWORD PTR _clocksGK
	mov	DWORD PTR _clocksGKtxt+4, eax
	mov	eax, DWORD PTR _ThunderwithL$[esp+64]
	fstp	QWORD PTR _clocksGK
	mov	DWORD PTR _clocksGKtxt, ecx
	jmp	SHORT $L2936
$L4904:
	mov	ebx, DWORD PTR _y$[esp+60]
$L2936:
; Line 1846
	test	esi, esi
	jne	SHORT $L4877
	pop	edi
	pop	esi
	pop	ebp
	xor	eax, eax
	pop	ebx
; Line 1912
	add	esp, 48					; 00000030H
	ret	0
$L4877:
; Line 1909
	dec	esi
	mov	DWORD PTR tv628[esp+64], esi
	jmp	SHORT $L2941
$L4905:
; Line 1802
	mov	eax, DWORD PTR _ThunderwithL$[esp+64]
$L2941:
; Line 1850
	cmp	BYTE PTR [ebx+ebp], 10			; 0000000aH
	je	SHORT $L2947
$L2944:
	mov	cl, BYTE PTR [ebx+ebp+1]
	inc	ebp
	cmp	cl, 10					; 0000000aH
	jne	SHORT $L2944
	mov	DWORD PTR _ThunderwithR$[esp+64], ebp
$L2947:
; Line 1851
	test	eax, eax
	je	SHORT $L4908
	mov	cl, BYTE PTR [eax+ebx-1]
	dec	eax
	cmp	cl, 10					; 0000000aH
	jne	SHORT $L2947
; Line 1852
	test	eax, eax
	mov	DWORD PTR _ThunderwithL$[esp+64], eax
	je	SHORT $L2949
	inc	eax
$L4908:
; Line 1851
	mov	DWORD PTR _ThunderwithL$[esp+64], eax
$L2949:
; Line 1853
	mov	edi, DWORD PTR _TotalLinesENC
	mov	esi, DWORD PTR _TotalLinesENC+4
	add	edi, 1
	mov	DWORD PTR _TotalLinesENC, edi
	adc	esi, 0
; Line 1863
	mov	edi, ebp
	sub	edi, eax
	cmp	edi, 960				; 000003c0H
	mov	DWORD PTR _TotalLinesENC+4, esi
	jg	$L4907
; Line 1864
	mov	ecx, DWORD PTR _NestedP1len$[esp+60]
	test	ecx, ecx
	je	SHORT $L4876
; Line 1865
	push	ecx
	mov	ecx, DWORD PTR _NestedP1$[esp+64]
	push	edi
	lea	esi, DWORD PTR [eax+ebx]
	push	ecx
	push	esi
	call	_Search_Algorithm
	add	esp, 16					; 00000010H
	cmp	eax, -1
	je	$L4907
; Line 1869
	mov	eax, DWORD PTR _NestedP2len$[esp+60]
	test	eax, eax
	je	SHORT $L4876
; Line 1870
	mov	edx, DWORD PTR _NestedP2$[esp+60]
	push	eax
	push	edi
	push	edx
	push	esi
	call	_Search_Algorithm
	add	esp, 16					; 00000010H
	cmp	eax, -1
	je	$L4907
; Line 1874
	mov	eax, DWORD PTR _NestedP3len$[esp+60]
	test	eax, eax
	je	SHORT $L4876
; Line 1875
	push	eax
	mov	eax, DWORD PTR _NestedP3$[esp+64]
	push	edi
	push	eax
	push	esi
	call	_Search_Algorithm
	add	esp, 16					; 00000010H
	cmp	eax, -1
; Line 1884
	je	$L4907
$L4876:
; Line 1890
	mov	ebp, DWORD PTR _x$[esp+60]
	cmp	BYTE PTR [ebp], 42			; 0000002aH
	jne	SHORT $L2963
	mov	al, BYTE PTR [ebp+1]
	test	al, al
	je	$L2962
$L2963:
	mov	eax, DWORD PTR _VIVA_IgorPavlov_invocations_global_counter
	mov	ecx, DWORD PTR _ThunderwithL$[esp+64]
	inc	eax
	mov	DWORD PTR _VIVA_IgorPavlov_invocations_global_counter, eax
	lea	esi, DWORD PTR [ecx+ebx]
	mov	eax, ebp
	npad	4
$L4800:
	mov	dl, BYTE PTR [eax]
	inc	eax
	test	dl, dl
	jne	SHORT $L4800
	sub	eax, ebp
	dec	eax
	mov	DWORD PTR _maskGLOBALlen, eax
	mov	eax, esi
$L4806:
	mov	cl, BYTE PTR [eax]
	inc	eax
	cmp	cl, 10					; 0000000aH
	jne	SHORT $L4806
	mov	ecx, DWORD PTR _clocksGWtxt
	sub	eax, esi
	dec	eax
	mov	DWORD PTR _nameGLOBALlen, eax
	cdq
	add	ecx, eax
	mov	eax, DWORD PTR _clocksGWtxt+4
	adc	eax, edx
	mov	DWORD PTR _clocksGWtxt, ecx
	mov	DWORD PTR _clocksGWtxt+4, eax
	call	_clock
	push	0
	push	esi
	push	0
	push	ebp
	mov	DWORD PTR _clocksG1, eax
	call	_EnhancedMaskTest_OrEmpty_AndNotEmpty
	add	esp, 16					; 00000010H
	mov	esi, eax
	test	si, si
	je	SHORT $L4814
	inc	DWORD PTR _WildGLOBALhits
$L4814:
	call	_clock
	mov	ecx, DWORD PTR _clocksG1
	mov	DWORD PTR _clocksG2, eax
	sub	eax, ecx
	test	si, si
	mov	DWORD PTR tv703[esp+60], eax
	fild	DWORD PTR tv703[esp+60]
	fadd	QWORD PTR _clocksGW
	fstp	QWORD PTR _clocksGW
	je	$L4906
$L2962:
; Line 1892
	mov	ebp, DWORD PTR _INIHDDRAM$[esp+60]
	mov	cl, BYTE PTR $SG2966
	movzx	eax, BYTE PTR [ebp]
	movzx	esi, cl
	sub	eax, esi
	mov	edx, ebp
	jne	SHORT $L4820
	mov	esi, OFFSET FLAT:$SG2966
	sub	esi, ebp
	npad	2
$L4819:
	test	cl, cl
	je	SHORT $L4820
	mov	cl, BYTE PTR [esi+edx+1]
	movzx	eax, BYTE PTR [edx+1]
	inc	edx
	movzx	ebp, cl
	sub	eax, ebp
	je	SHORT $L4819
$L4820:
	test	eax, eax
	jl	SHORT $L2965
	jg	SHORT $L2965
	test	eax, eax
	jne	SHORT $L2965
	mov	edx, DWORD PTR _Bastumante2$[esp+60]
	cmp	BYTE PTR [edx], 68			; 00000044H
	je	SHORT $L2965
; Line 1905
	inc	DWORD PTR _hits$[esp+64]
	jmp	$L4906
$L2965:
; Line 1893
	mov	ecx, DWORD PTR _ThunderwithL$[esp+64]
	mov	eax, edi
	test	eax, eax
	lea	ebp, DWORD PTR [ecx+ebx]
	mov	ecx, ebp
	je	SHORT $L4831
	npad	1
$L4830:
	mov	dl, BYTE PTR _TAGfree$[esp+64]
	cmp	BYTE PTR [ecx], dl
	je	SHORT $L4831
	inc	ecx
	dec	eax
	jne	SHORT $L4830
$L4831:
	neg	eax
	sbb	eax, eax
	test	eax, ecx
	jne	$L4906
	mov	eax, edi
	test	eax, eax
	mov	ecx, ebp
	je	SHORT $L4838
$L4837:
	mov	dl, BYTE PTR _TAGfree$[esp+65]
	cmp	BYTE PTR [ecx], dl
	je	SHORT $L4838
	inc	ecx
	dec	eax
	jne	SHORT $L4837
$L4838:
	neg	eax
	sbb	eax, eax
	test	eax, ecx
	jne	$L4906
; Line 1894
	mov	edx, DWORD PTR _hits$[esp+64]
; Line 1897
	mov	eax, DWORD PTR ?hitsSTATIC@?1??IgorPavlov@@9@9
; Line 1898
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+68]
	push	ecx
	inc	edx
	inc	eax
	push	0
	push	eax
	mov	DWORD PTR _hits$[esp+80], edx
	mov	DWORD PTR ?hitsSTATIC@?1??IgorPavlov@@9@9, eax
	call	__ui64toaKAZEzerocomma
	add	eax, 15					; 0000000fH
	push	eax
	push	OFFSET FLAT:$SG2970
	call	_printf
; Line 1899
	lea	esi, DWORD PTR [edi+1]
	add	esp, 24					; 00000018H
	test	esi, esi
	jle	SHORT $L2973
	mov	edi, ebp
	mov	ebx, esi
$L2971:
; Line 1900
	dec	DWORD PTR __iob+36
	js	SHORT $L4780
	mov	eax, DWORD PTR __iob+32
	mov	dl, BYTE PTR [edi]
	mov	BYTE PTR [eax], dl
	inc	DWORD PTR __iob+32
	jmp	SHORT $L2972
$L4780:
	movsx	ecx, BYTE PTR [edi]
	push	OFFSET FLAT:__iob+32
	push	ecx
	call	__flsbuf
	add	esp, 8
$L2972:
	inc	edi
	dec	ebx
	jne	SHORT $L2971
; Line 1899
	mov	ebx, DWORD PTR _y$[esp+60]
$L2973:
; Line 1903
	mov	edx, DWORD PTR _fp_outLOG$[esp+60]
	push	edx
	push	1
	push	esi
	push	ebp
	call	_fwrite
	add	esp, 16					; 00000010H
$L4906:
	mov	ebp, DWORD PTR _ThunderwithR$[esp+64]
$L4907:
; Line 1909
	mov	eax, DWORD PTR tv628[esp+64]
	inc	ebp
	cmp	ebp, eax
	mov	DWORD PTR _ThunderwithR$[esp+64], ebp
	mov	DWORD PTR _ThunderwithL$[esp+64], ebp
	jl	$L4905
	mov	eax, DWORD PTR _hits$[esp+64]
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
; Line 1912
	add	esp, 48					; 00000030H
	ret	0
_IgorPavlov ENDP
_TEXT	ENDS
PUBLIC	_IgorPavlovNoDUMP
; Function compile flags: /Ogty
_TEXT	SEGMENT
_TAGfree$ = -12						; size = 2
_hits$ = -8						; size = 4
tv321 = -4						; size = 4
_y$ = 8							; size = 4
_x$ = 12						; size = 4
tv377 = 16						; size = 4
_n$ = 16						; size = 4
_m$ = 20						; size = 4
_IgorPavlovNoDUMP PROC NEAR
; Line 1920
	sub	esp, 12					; 0000000cH
; Line 1924
	mov	ax, WORD PTR $SG2987
	push	ebx
	mov	WORD PTR _TAGfree$[esp+16], ax
; Line 1931
	mov	eax, DWORD PTR _n$[esp+12]
	xor	ebx, ebx
	push	esi
	xor	esi, esi
	cmp	eax, ebx
	mov	DWORD PTR _hits$[esp+20], ebx
	jne	SHORT $L4992
	pop	esi
	xor	eax, eax
	pop	ebx
; Line 1965
	add	esp, 12					; 0000000cH
	ret	0
$L4992:
; Line 1925
	dec	eax
	push	ebp
	mov	DWORD PTR tv321[esp+24], eax
	push	edi
	npad	1
$L2996:
; Line 1935
	mov	ecx, DWORD PTR _y$[esp+24]
	cmp	BYTE PTR [ebx+ecx], 10			; 0000000aH
	je	SHORT $L3002
	npad	6
$L2999:
	mov	al, BYTE PTR [ebx+ecx+1]
	inc	ebx
	cmp	al, 10					; 0000000aH
	jne	SHORT $L2999
	npad	7
$L3002:
; Line 1936
	test	esi, esi
	je	SHORT $L3004
	mov	al, BYTE PTR [esi+ecx-1]
	dec	esi
	cmp	al, 10					; 0000000aH
	jne	SHORT $L3002
; Line 1937
	test	esi, esi
	je	SHORT $L3004
	inc	esi
$L3004:
; Line 1938
	mov	ebp, DWORD PTR _TotalLinesENC
	mov	edi, DWORD PTR _TotalLinesENC+4
	add	ebp, 1
	mov	DWORD PTR _TotalLinesENC, ebp
	adc	edi, 0
; Line 1948
	mov	ebp, ebx
	sub	ebp, esi
	cmp	ebp, 960				; 000003c0H
	mov	DWORD PTR _TotalLinesENC+4, edi
; Line 1954
	jg	$L5009
; Line 1956
	mov	edx, DWORD PTR _x$[esp+24]
	cmp	BYTE PTR [edx], 42			; 0000002aH
	jne	SHORT $L3010
	mov	al, BYTE PTR [edx+1]
	test	al, al
	je	$L3009
$L3010:
	inc	DWORD PTR _VIVA_IgorPavlov_invocations_global_counter
	lea	edi, DWORD PTR [esi+ecx]
	mov	eax, edx
	npad	1
$L4935:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4935
	sub	eax, edx
	dec	eax
	mov	DWORD PTR _maskGLOBALlen, eax
	mov	eax, edi
$L4941:
	mov	dl, BYTE PTR [eax]
	inc	eax
	cmp	dl, 10					; 0000000aH
	jne	SHORT $L4941
	mov	ecx, DWORD PTR _clocksGWtxt
	sub	eax, edi
	dec	eax
	mov	DWORD PTR _nameGLOBALlen, eax
	cdq
	add	ecx, eax
	mov	eax, DWORD PTR _clocksGWtxt+4
	adc	eax, edx
	mov	DWORD PTR _clocksGWtxt, ecx
	mov	DWORD PTR _clocksGWtxt+4, eax
	call	_clock
	push	0
	push	edi
	mov	DWORD PTR _clocksG1, eax
	mov	eax, DWORD PTR _x$[esp+32]
	push	0
	push	eax
	call	_EnhancedMaskTest_OrEmpty_AndNotEmpty
	add	esp, 16					; 00000010H
	mov	edi, eax
	test	di, di
	je	SHORT $L4949
	inc	DWORD PTR _WildGLOBALhits
$L4949:
	call	_clock
	mov	ecx, DWORD PTR _clocksG1
	mov	DWORD PTR _clocksG2, eax
	sub	eax, ecx
	test	di, di
	mov	DWORD PTR tv377[esp+24], eax
	fild	DWORD PTR tv377[esp+24]
	fadd	QWORD PTR _clocksGW
	fstp	QWORD PTR _clocksGW
	je	SHORT $L5009
	mov	ecx, DWORD PTR _y$[esp+24]
$L3009:
; Line 1957
	mov	eax, ebp
	add	esi, ecx
	test	eax, eax
	mov	ecx, esi
	je	SHORT $L5010
	npad	2
$L4954:
	mov	dl, BYTE PTR _TAGfree$[esp+28]
	cmp	BYTE PTR [ecx], dl
	je	SHORT $L5010
	inc	ecx
	dec	eax
	jne	SHORT $L4954
$L5010:
	neg	eax
	sbb	eax, eax
	test	eax, ecx
	jne	SHORT $L5009
	mov	eax, ebp
	test	eax, eax
	mov	ecx, esi
	je	SHORT $L5011
	npad	4
$L4961:
	mov	dl, BYTE PTR _TAGfree$[esp+29]
	cmp	BYTE PTR [ecx], dl
	je	SHORT $L5011
	inc	ecx
	dec	eax
	jne	SHORT $L4961
$L5011:
	neg	eax
	sbb	eax, eax
	test	eax, ecx
	jne	SHORT $L5009
; Line 1958
	inc	DWORD PTR _hits$[esp+28]
$L5009:
; Line 1962
	mov	eax, DWORD PTR tv321[esp+28]
	inc	ebx
	cmp	ebx, eax
	mov	esi, ebx
	jl	$L2996
	mov	eax, DWORD PTR _hits$[esp+28]
	pop	edi
	pop	ebp
	pop	esi
	pop	ebx
; Line 1965
	add	esp, 12					; 0000000cH
	ret	0
_IgorPavlovNoDUMP ENDP
_TEXT	ENDS
PUBLIC	_InitTree
; Function compile flags: /Ogty
_TEXT	SEGMENT
_InitTree PROC NEAR
; Line 2002
	push	edi
; Line 2013
	mov	eax, 4096				; 00001000H
	mov	ecx, 256				; 00000100H
	mov	edi, OFFSET FLAT:_rson+16388
	rep stosd
; Line 2014
	mov	ecx, eax
	mov	edi, OFFSET FLAT:_dad
	rep stosd
	pop	edi
; Line 2015
	ret	0
_InitTree ENDP
_TEXT	ENDS
PUBLIC	_InsertNode
; Function compile flags: /Ogty
_TEXT	SEGMENT
_r$ = 8							; size = 4
_InsertNode PROC NEAR
; Line 2028
	mov	edx, DWORD PTR _r$[esp-4]
	movzx	eax, BYTE PTR _text_buf[edx]
	push	ebx
	push	esi
	push	edi
	add	eax, 4097				; 00001001H
; Line 2029
	xor	edi, edi
	mov	esi, 1
	mov	DWORD PTR _lson[edx*4], 4096		; 00001000H
	mov	DWORD PTR _rson[edx*4], 4096		; 00001000H
	mov	DWORD PTR _match_length, edi
$L3301:
; Line 2031
	test	esi, esi
	jl	SHORT $L3303
; Line 2032
	mov	ecx, DWORD PTR _rson[eax*4]
	cmp	ecx, 4096				; 00001000H
	jne	SHORT $L5029
	pop	edi
	pop	esi
; Line 2033
	mov	DWORD PTR _rson[eax*4], edx
; Line 2036
	mov	DWORD PTR _dad[edx*4], eax
	pop	ebx
; Line 2050
	ret	0
$L3303:
; Line 2035
	mov	ecx, DWORD PTR _lson[eax*4]
	cmp	ecx, 4096				; 00001000H
	je	$L3307
$L5029:
	mov	eax, ecx
; Line 2038
	mov	ecx, 1
	npad	11
$L3309:
; Line 2039
	movzx	ebx, BYTE PTR _text_buf[eax+ecx]
	movzx	esi, BYTE PTR _text_buf[ecx+edx]
	sub	esi, ebx
	jne	SHORT $L5026
	inc	ecx
	cmp	ecx, 18					; 00000012H
	jl	SHORT $L3309
$L5026:
; Line 2040
	cmp	ecx, edi
	jle	SHORT $L3301
; Line 2042
	cmp	ecx, 18					; 00000012H
	mov	edi, ecx
	mov	DWORD PTR _match_position, eax
	mov	DWORD PTR _match_length, edi
	jl	SHORT $L3301
; Line 2045
	mov	ecx, DWORD PTR _dad[eax*4]
	mov	DWORD PTR _dad[edx*4], ecx
	mov	ecx, DWORD PTR _lson[eax*4]
	lea	esi, DWORD PTR _dad[eax*4]
	mov	DWORD PTR _lson[edx*4], ecx
	mov	ecx, DWORD PTR _rson[eax*4]
	mov	DWORD PTR _rson[edx*4], ecx
; Line 2046
	mov	ecx, DWORD PTR _lson[eax*4]
	mov	DWORD PTR _dad[ecx*4], edx
	mov	ecx, DWORD PTR _rson[eax*4]
	mov	DWORD PTR _dad[ecx*4], edx
; Line 2047
	mov	ecx, DWORD PTR [esi]
	shl	ecx, 2
	cmp	DWORD PTR _rson[ecx], eax
	jne	SHORT $L3315
	pop	edi
; Line 2049
	mov	DWORD PTR [esi], 4096			; 00001000H
	pop	esi
	mov	DWORD PTR _rson[ecx], edx
	pop	ebx
; Line 2050
	ret	0
$L3315:
	pop	edi
; Line 2049
	mov	DWORD PTR [esi], 4096			; 00001000H
	pop	esi
	mov	DWORD PTR _lson[ecx], edx
	pop	ebx
; Line 2050
	ret	0
$L3307:
	pop	edi
	pop	esi
; Line 2036
	mov	DWORD PTR _lson[eax*4], edx
	mov	DWORD PTR _dad[edx*4], eax
	pop	ebx
; Line 2050
	ret	0
_InsertNode ENDP
_TEXT	ENDS
PUBLIC	_DeleteNode
; Function compile flags: /Ogty
_TEXT	SEGMENT
_p$ = 8							; size = 4
_DeleteNode PROC NEAR
; Line 2053
	push	ebx
	push	edi
; Line 2056
	mov	edi, DWORD PTR _p$[esp+4]
	mov	eax, DWORD PTR _dad[edi*4]
	cmp	eax, 4096				; 00001000H
	lea	ebx, DWORD PTR _dad[edi*4]
	je	$L3320
; Line 2057
	mov	eax, DWORD PTR _rson[edi*4]
	cmp	eax, 4096				; 00001000H
	jne	SHORT $L3323
	mov	eax, DWORD PTR _lson[edi*4]
; Line 2058
	jmp	$L3326
$L3323:
	push	esi
	mov	esi, DWORD PTR _lson[edi*4]
	cmp	esi, 4096				; 00001000H
; Line 2059
	je	$L5033
; Line 2060
	mov	eax, esi
; Line 2061
	mov	edx, DWORD PTR _rson[eax*4]
	cmp	edx, 4096				; 00001000H
	lea	ecx, DWORD PTR _rson[eax*4]
	je	SHORT $L3327
	npad	11
$L3328:
; Line 2062
	mov	eax, DWORD PTR [ecx]
	mov	edx, DWORD PTR _rson[eax*4]
	cmp	edx, 4096				; 00001000H
	lea	ecx, DWORD PTR _rson[eax*4]
	jne	SHORT $L3328
; Line 2063
	mov	ecx, DWORD PTR _dad[eax*4]
	mov	edx, DWORD PTR _lson[eax*4]
	mov	DWORD PTR _dad[edx*4], ecx
	mov	DWORD PTR _rson[ecx*4], edx
; Line 2064
	mov	DWORD PTR _lson[eax*4], esi
	mov	ecx, DWORD PTR _lson[edi*4]
	mov	DWORD PTR _dad[ecx*4], eax
$L3327:
; Line 2066
	mov	edx, DWORD PTR _rson[edi*4]
	mov	DWORD PTR _rson[eax*4], edx
	mov	ecx, DWORD PTR _rson[edi*4]
	mov	DWORD PTR _dad[ecx*4], eax
$L5033:
	pop	esi
$L3326:
; Line 2068
	mov	edx, DWORD PTR [ebx]
	mov	DWORD PTR _dad[eax*4], edx
; Line 2069
	mov	ecx, DWORD PTR [ebx]
	shl	ecx, 2
	cmp	DWORD PTR _rson[ecx], edi
	jne	SHORT $L3331
	pop	edi
; Line 2070
	mov	DWORD PTR [ebx], 4096			; 00001000H
	mov	DWORD PTR _rson[ecx], eax
	pop	ebx
; Line 2071
	ret	0
$L3331:
; Line 2069
	mov	DWORD PTR _lson[ecx], eax
; Line 2070
	mov	DWORD PTR [ebx], 4096			; 00001000H
$L3320:
	pop	edi
	pop	ebx
; Line 2071
	ret	0
_DeleteNode ENDP
_TEXT	ENDS
PUBLIC	_Encode
PUBLIC	__real@41f0000000000000
EXTRN	__filbuf:NEAR
;	COMDAT __real@41f0000000000000
CONST	SEGMENT
__real@41f0000000000000 DQ 041f0000000000000r	; 4.29497e+009
; Function compile flags: /Ogty
CONST	ENDS
_TEXT	SEGMENT
_mask$ = -45						; size = 1
_len$ = -44						; size = 4
_r$ = -40						; size = 4
_code_buf_ptr$ = -36					; size = 4
_codesize$ = -32					; size = 4
_printcount$ = -28					; size = 4
tv673 = -24						; size = 4
tv671 = -24						; size = 4
_textsize$ = -24					; size = 4
_code_buf$ = -20					; size = 17
_Encode	PROC NEAR
; Line 2074
	sub	esp, 48					; 00000030H
	push	ebx
	push	ebp
	push	edi
; Line 2082
	mov	eax, 4096				; 00001000H
	mov	ecx, 256				; 00000100H
	mov	edi, OFFSET FLAT:_rson+16388
	rep stosd
	mov	ecx, eax
	mov	edi, OFFSET FLAT:_dad
	rep stosd
; Line 2089
	mov	ecx, 1019				; 000003fbH
	mov	eax, 538976288				; 20202020H
	mov	edi, OFFSET FLAT:_text_buf
	rep stosd
	xor	ebp, ebp
	stosw
; Line 2091
	xor	edi, edi
	mov	DWORD PTR _codesize$[esp+60], ebp
	mov	DWORD PTR _printcount$[esp+60], ebp
	mov	BYTE PTR _code_buf$[esp+60], 0
	mov	BYTE PTR _mask$[esp+60], 1
	mov	ebx, 1
	mov	DWORD PTR _r$[esp+60], 4078		; 00000feeH
	mov	DWORD PTR _len$[esp+60], edi
	npad	6
$L3351:
	mov	eax, DWORD PTR _infileOkumura
	dec	DWORD PTR [eax+4]
	mov	ecx, DWORD PTR _infileOkumura
	cmp	DWORD PTR [ecx+4], ebp
	jl	SHORT $L5035
	mov	edx, DWORD PTR [ecx]
	movzx	eax, BYTE PTR [edx]
	inc	edx
	mov	DWORD PTR [ecx], edx
	jmp	SHORT $L5036
$L5035:
	push	ecx
	call	__filbuf
	add	esp, 4
$L5036:
	cmp	eax, -1
	je	SHORT $L5079
; Line 2092
	mov	BYTE PTR _text_buf[edi+4078], al
	inc	edi
	cmp	edi, 18					; 00000012H
	jl	SHORT $L3351
$L5079:
; Line 2094
	cmp	edi, ebp
	mov	DWORD PTR _len$[esp+60], edi
	mov	DWORD PTR _textsize$[esp+60], edi
	je	$L3335
	push	esi
; Line 2095
	mov	esi, 4077				; 00000fedH
	npad	3
$L3355:
	push	esi
	call	_InsertNode
	add	esp, 4
	dec	esi
	cmp	esi, 4060				; 00000fdcH
	jge	SHORT $L3355
; Line 2099
	push	4078					; 00000feeH
	call	_InsertNode
	add	esp, 4
	jmp	SHORT $L3358
$L5074:
	mov	edi, DWORD PTR _len$[esp+64]
$L3358:
; Line 2102
	cmp	DWORD PTR _match_length, edi
	jle	SHORT $L3361
	mov	DWORD PTR _match_length, edi
$L3361:
; Line 2104
	mov	ecx, DWORD PTR _match_length
	cmp	ecx, 2
	jg	SHORT $L3362
; Line 2106
	mov	cl, BYTE PTR _code_buf$[esp+64]
	mov	al, BYTE PTR _mask$[esp+64]
	or	cl, al
	mov	BYTE PTR _code_buf$[esp+64], cl
; Line 2107
	mov	ecx, DWORD PTR _r$[esp+64]
	mov	dl, BYTE PTR _text_buf[ecx]
	mov	DWORD PTR _match_length, 1
	mov	BYTE PTR _code_buf$[esp+ebx+64], dl
; Line 2108
	jmp	SHORT $L5084
$L3362:
; Line 2109
	mov	eax, DWORD PTR _match_position
	mov	BYTE PTR _code_buf$[esp+ebx+64], al
; Line 2112
	sar	eax, 4
	inc	ebx
	and	al, 240					; 000000f0H
	sub	cl, 3
	or	al, cl
	mov	BYTE PTR _code_buf$[esp+ebx+64], al
$L5084:
; Line 2115
	mov	al, BYTE PTR _mask$[esp+64]
	shl	al, 1
	inc	ebx
	test	al, al
	mov	DWORD PTR _code_buf_ptr$[esp+64], ebx
	mov	BYTE PTR _mask$[esp+64], al
	jne	SHORT $L5072
; Line 2116
	xor	esi, esi
	test	ebx, ebx
	jle	SHORT $L3369
	npad	9
$L5078:
; Line 2117
	mov	eax, DWORD PTR _outfileOkumura
	dec	DWORD PTR [eax+4]
	mov	eax, DWORD PTR _outfileOkumura
	mov	ecx, DWORD PTR [eax+4]
	test	ecx, ecx
	jl	SHORT $L5037
	mov	eax, DWORD PTR [eax]
	mov	cl, BYTE PTR _code_buf$[esp+esi+64]
	mov	BYTE PTR [eax], cl
	mov	eax, DWORD PTR _outfileOkumura
	inc	DWORD PTR [eax]
	jmp	SHORT $L3368
$L5037:
	movzx	edx, BYTE PTR _code_buf$[esp+esi+64]
	push	eax
	push	edx
	call	__flsbuf
	add	esp, 8
$L3368:
	inc	esi
	cmp	esi, ebx
	jl	SHORT $L5078
$L3369:
; Line 2118
	mov	eax, DWORD PTR _codesize$[esp+64]
	add	eax, ebx
; Line 2119
	mov	DWORD PTR _code_buf_ptr$[esp+64], 1
	mov	ebx, DWORD PTR _code_buf_ptr$[esp+64]
	mov	DWORD PTR _codesize$[esp+64], eax
	mov	BYTE PTR _code_buf$[esp+64], 0
	mov	BYTE PTR _mask$[esp+64], 1
$L5072:
; Line 2121
	mov	edi, DWORD PTR _match_length
; Line 2123
	xor	esi, esi
	test	edi, edi
	jle	SHORT $L3373
	npad	11
$L5075:
	mov	eax, DWORD PTR _infileOkumura
	dec	DWORD PTR [eax+4]
	mov	eax, DWORD PTR _infileOkumura
	mov	ecx, DWORD PTR [eax+4]
	test	ecx, ecx
	jl	SHORT $L5039
	mov	ecx, DWORD PTR [eax]
	movzx	ebx, BYTE PTR [ecx]
	inc	ecx
	mov	DWORD PTR [eax], ecx
	jmp	SHORT $L5040
$L5039:
	push	eax
	call	__filbuf
	add	esp, 4
	mov	ebx, eax
$L5040:
	cmp	ebx, -1
	je	SHORT $L5073
; Line 2124
	push	ebp
	call	_DeleteNode
	add	esp, 4
; Line 2126
	cmp	ebp, 17					; 00000011H
	mov	BYTE PTR _text_buf[ebp], bl
	jge	SHORT $L3374
	mov	BYTE PTR _text_buf[ebp+4096], bl
$L3374:
; Line 2129
	mov	eax, DWORD PTR _r$[esp+64]
	inc	ebp
	and	ebp, 4095				; 00000fffH
	inc	eax
	and	eax, 4095				; 00000fffH
; Line 2132
	push	eax
	mov	DWORD PTR _r$[esp+68], eax
	call	_InsertNode
	add	esp, 4
	inc	esi
	cmp	esi, edi
	jl	SHORT $L5075
$L5073:
; Line 2123
	mov	ebx, DWORD PTR _code_buf_ptr$[esp+64]
$L3373:
; Line 2134
	mov	eax, DWORD PTR _textsize$[esp+64]
	mov	ecx, DWORD PTR _printcount$[esp+64]
	add	eax, esi
	cmp	eax, ecx
	mov	DWORD PTR _textsize$[esp+64], eax
	jbe	SHORT $L5061
; Line 2135
	push	eax
	push	OFFSET FLAT:$SG3376
	call	_printf
	mov	eax, DWORD PTR _printcount$[esp+72]
	add	esp, 8
	add	eax, 65536				; 00010000H
	mov	DWORD PTR _printcount$[esp+64], eax
$L5061:
; Line 2139
	cmp	esi, edi
	jge	SHORT $L5070
	sub	edi, esi
$L3378:
; Line 2140
	push	ebp
	call	_DeleteNode
; Line 2141
	mov	ecx, DWORD PTR _r$[esp+68]
	add	esp, 4
	lea	eax, DWORD PTR [ecx+1]
; Line 2142
	mov	ecx, DWORD PTR _len$[esp+64]
	inc	ebp
	and	eax, 4095				; 00000fffH
	and	ebp, 4095				; 00000fffH
	dec	ecx
	mov	DWORD PTR _r$[esp+64], eax
	mov	DWORD PTR _len$[esp+64], ecx
	je	SHORT $L3380
	push	eax
	call	_InsertNode
	add	esp, 4
$L3380:
; Line 2139
	dec	edi
	jne	SHORT $L3378
$L5070:
; Line 2144
	mov	eax, DWORD PTR _len$[esp+64]
	test	eax, eax
	jg	$L5074
; Line 2145
	cmp	ebx, 1
	jle	SHORT $L5077
; Line 2146
	xor	esi, esi
	test	ebx, ebx
	jle	SHORT $L3384
$L3382:
	mov	eax, DWORD PTR _outfileOkumura
	dec	DWORD PTR [eax+4]
	mov	eax, DWORD PTR _outfileOkumura
	mov	ecx, DWORD PTR [eax+4]
	test	ecx, ecx
	jl	SHORT $L5041
	mov	edx, DWORD PTR [eax]
	mov	al, BYTE PTR _code_buf$[esp+esi+64]
	mov	BYTE PTR [edx], al
	mov	eax, DWORD PTR _outfileOkumura
	inc	DWORD PTR [eax]
	jmp	SHORT $L3383
$L5041:
	movzx	ecx, BYTE PTR _code_buf$[esp+esi+64]
	push	eax
	push	ecx
	call	__flsbuf
	add	esp, 8
$L3383:
	inc	esi
	cmp	esi, ebx
	jl	SHORT $L3382
$L3384:
; Line 2147
	mov	esi, DWORD PTR _codesize$[esp+64]
	add	esi, ebx
	jmp	SHORT $L3381
$L5077:
	mov	esi, DWORD PTR _codesize$[esp+64]
$L3381:
; Line 2149
	mov	edi, DWORD PTR _textsize$[esp+64]
	push	edi
	push	OFFSET FLAT:$SG3386
	call	_printf
; Line 2150
	push	esi
	push	OFFSET FLAT:$SG3387
	call	_printf
; Line 2151
	test	esi, esi
	mov	DWORD PTR tv673[esp+80], esi
	fild	DWORD PTR tv673[esp+80]
	jge	SHORT $L5080
	fadd	QWORD PTR __real@41f0000000000000
$L5080:
	test	edi, edi
	mov	DWORD PTR tv671[esp+80], edi
	fild	DWORD PTR tv671[esp+80]
	jge	SHORT $L5083
	fadd	QWORD PTR __real@41f0000000000000
$L5083:
	fdivp	ST(1), ST(0)
	add	esp, 8
	fstp	QWORD PTR [esp]
	push	OFFSET FLAT:$SG3389
	call	_printf
	add	esp, 12					; 0000000cH
	pop	esi
$L3335:
	pop	edi
	pop	ebp
	pop	ebx
; Line 2152
	add	esp, 48					; 00000030H
	ret	0
_Encode	ENDP
_TEXT	ENDS
PUBLIC	_Decode
; Function compile flags: /Ogty
_TEXT	SEGMENT
_flags$ = -8						; size = 4
_r$ = -4						; size = 4
_Decode	PROC NEAR
; Line 2155
	sub	esp, 8
	push	ebx
	push	ebp
	push	esi
	push	edi
; Line 2159
	mov	ecx, 1019				; 000003fbH
	mov	eax, 538976288				; 20202020H
	mov	edi, OFFSET FLAT:_text_buf
	rep stosd
	stosw
; Line 2160
	mov	DWORD PTR _r$[esp+24], 4078		; 00000feeH
	mov	DWORD PTR _flags$[esp+24], 0
	npad	6
$L3403:
; Line 2162
	mov	eax, DWORD PTR _flags$[esp+24]
	shr	eax, 1
	test	ah, 1
	mov	DWORD PTR _flags$[esp+24], eax
	jne	SHORT $L5109
; Line 2163
	mov	eax, DWORD PTR _infileOkumura
	dec	DWORD PTR [eax+4]
	mov	ecx, DWORD PTR _infileOkumura
	mov	eax, DWORD PTR [ecx+4]
	test	eax, eax
	jl	SHORT $L5086
	mov	edx, DWORD PTR [ecx]
	movzx	eax, BYTE PTR [edx]
	inc	edx
	mov	DWORD PTR [ecx], edx
	jmp	SHORT $L5087
$L5086:
	push	ecx
	call	__filbuf
	add	esp, 4
$L5087:
	cmp	eax, -1
	je	$L5102
; Line 2164
	or	eax, 65280				; 0000ff00H
	mov	DWORD PTR _flags$[esp+24], eax
$L5109:
; Line 2166
	test	BYTE PTR _flags$[esp+24], 1
; Line 2167
	mov	eax, DWORD PTR _infileOkumura
	mov	edx, DWORD PTR [eax+4]
	je	SHORT $L3407
	dec	edx
	mov	DWORD PTR [eax+4], edx
	mov	eax, DWORD PTR _infileOkumura
	mov	ecx, DWORD PTR [eax+4]
	test	ecx, ecx
	jl	SHORT $L5088
	mov	ecx, DWORD PTR [eax]
	movzx	ebx, BYTE PTR [ecx]
	inc	ecx
	mov	DWORD PTR [eax], ecx
	jmp	SHORT $L5089
$L5088:
	push	eax
	call	__filbuf
	add	esp, 4
	mov	ebx, eax
$L5089:
	cmp	ebx, -1
	je	$L5102
; Line 2168
	mov	eax, DWORD PTR _outfileOkumura
	dec	DWORD PTR [eax+4]
	mov	eax, DWORD PTR _outfileOkumura
	mov	ecx, DWORD PTR [eax+4]
	test	ecx, ecx
	jl	SHORT $L5090
	mov	eax, DWORD PTR [eax]
	mov	BYTE PTR [eax], bl
	mov	eax, DWORD PTR _outfileOkumura
	inc	DWORD PTR [eax]
	jmp	SHORT $L5091
$L5090:
	push	eax
	push	ebx
	call	__flsbuf
	add	esp, 8
$L5091:
; Line 2169
	mov	eax, DWORD PTR _r$[esp+24]
	mov	BYTE PTR _text_buf[eax], bl
	inc	eax
	and	eax, 4095				; 00000fffH
	mov	DWORD PTR _r$[esp+24], eax
; Line 2170
	jmp	$L3403
$L3407:
; Line 2171
	dec	edx
	mov	DWORD PTR [eax+4], edx
	mov	eax, DWORD PTR _infileOkumura
	mov	ecx, DWORD PTR [eax+4]
	test	ecx, ecx
	jl	SHORT $L5092
	mov	ecx, DWORD PTR [eax]
	movzx	edi, BYTE PTR [ecx]
	inc	ecx
	mov	DWORD PTR [eax], ecx
	jmp	SHORT $L5093
$L5092:
	push	eax
	call	__filbuf
	add	esp, 4
	mov	edi, eax
$L5093:
	cmp	edi, -1
	je	$L5102
; Line 2172
	mov	eax, DWORD PTR _infileOkumura
	dec	DWORD PTR [eax+4]
	mov	ecx, DWORD PTR _infileOkumura
	mov	eax, DWORD PTR [ecx+4]
	test	eax, eax
	jl	SHORT $L5094
	mov	edx, DWORD PTR [ecx]
	movzx	eax, BYTE PTR [edx]
	inc	edx
	mov	DWORD PTR [ecx], edx
	jmp	SHORT $L5095
$L5094:
	push	ecx
	call	__filbuf
	add	esp, 4
$L5095:
	cmp	eax, -1
	je	$L5102
; Line 2173
	mov	ecx, eax
	and	ecx, 240				; 000000f0H
	shl	ecx, 4
	and	eax, 15					; 0000000fH
	or	edi, ecx
	add	eax, 2
	mov	ebp, eax
; Line 2174
	mov	esi, 0
	js	$L3403
	npad	7
$L3413:
; Line 2176
	mov	eax, DWORD PTR _outfileOkumura
	lea	edx, DWORD PTR [esi+edi]
	and	edx, 4095				; 00000fffH
	movzx	ebx, BYTE PTR _text_buf[edx]
	dec	DWORD PTR [eax+4]
	mov	eax, DWORD PTR _outfileOkumura
	mov	ecx, DWORD PTR [eax+4]
	test	ecx, ecx
	jl	SHORT $L5096
	mov	eax, DWORD PTR [eax]
	mov	BYTE PTR [eax], bl
	mov	eax, DWORD PTR _outfileOkumura
	inc	DWORD PTR [eax]
	jmp	SHORT $L5097
$L5096:
	push	eax
	push	ebx
	call	__flsbuf
	add	esp, 8
$L5097:
; Line 2177
	mov	eax, DWORD PTR _r$[esp+24]
	mov	BYTE PTR _text_buf[eax], bl
	inc	eax
	and	eax, 4095				; 00000fffH
	inc	esi
	cmp	esi, ebp
	mov	DWORD PTR _r$[esp+24], eax
	jle	SHORT $L3413
; Line 2180
	jmp	$L3403
$L5102:
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
; Line 2181
	add	esp, 8
	ret	0
_Decode	ENDP
_TEXT	ENDS
PUBLIC	_DecodeKAZE
; Function compile flags: /Ogty
_TEXT	SEGMENT
_flags$ = -8						; size = 4
_j$ = -4						; size = 4
_ENareaPointer$ = 8					; size = 4
_ENareaSIZE$ = 12					; size = 4
_DEareaPointer$ = 16					; size = 4
_DEareaSIZE$ = 20					; size = 4
_DecodeKAZE PROC NEAR
; Line 2184
	sub	esp, 8
	push	ebx
	push	ebp
	push	esi
	push	edi
; Line 2190
	mov	ecx, 1019				; 000003fbH
	mov	eax, 538976288				; 20202020H
	mov	edi, OFFSET FLAT:_text_buf
	rep stosd
	xor	ebp, ebp
	xor	edx, edx
	stosw
; Line 2191
	mov	esi, 4078				; 00000feeH
	mov	DWORD PTR _flags$[esp+24], ebp
$L5127:
	mov	ebx, DWORD PTR _ENareaPointer$[esp+20]
	npad	5
$L3440:
; Line 2193
	mov	eax, DWORD PTR _flags$[esp+24]
; Line 2195
	mov	ecx, DWORD PTR _ENareaSIZE$[esp+20]
	shr	eax, 1
	test	ah, 1
	mov	DWORD PTR _flags$[esp+24], eax
	jne	SHORT $L3442
	cmp	edx, ecx
	je	$L5124
; Line 2196
	mov	al, BYTE PTR [edx+ebx]
; Line 2197
	movzx	eax, al
	inc	edx
	or	eax, 65280				; 0000ff00H
	mov	DWORD PTR _flags$[esp+24], eax
$L3442:
; Line 2199
	test	BYTE PTR _flags$[esp+24], 1
	je	SHORT $L3444
; Line 2201
	cmp	edx, ecx
	je	$L5124
; Line 2202
	mov	al, BYTE PTR [edx+ebx]
; Line 2204
	mov	ecx, DWORD PTR _DEareaPointer$[esp+20]
	movzx	eax, al
	inc	edx
	mov	BYTE PTR [ecx+ebp], al
	inc	ebp
; Line 2205
	mov	BYTE PTR _text_buf[esi], al
	inc	esi
	and	esi, 4095				; 00000fffH
; Line 2206
	jmp	SHORT $L3440
$L3444:
; Line 2208
	cmp	edx, ecx
	je	SHORT $L5122
; Line 2209
	mov	al, BYTE PTR [edx+ebx]
	inc	edx
; Line 2211
	cmp	edx, ecx
	movzx	edi, al
	je	SHORT $L5123
; Line 2212
	mov	al, BYTE PTR [edx+ebx]
	movzx	eax, al
; Line 2213
	mov	ecx, eax
	and	ecx, 240				; 000000f0H
	shl	ecx, 4
	or	edi, ecx
	and	eax, 15					; 0000000fH
	inc	edx
	add	eax, 2
	mov	DWORD PTR _j$[esp+24], eax
; Line 2214
	mov	ecx, 0
	js	$L3440
$L3449:
; Line 2217
	mov	ebx, DWORD PTR _DEareaPointer$[esp+20]
	lea	eax, DWORD PTR [ecx+edi]
	and	eax, 4095				; 00000fffH
	movzx	eax, BYTE PTR _text_buf[eax]
	mov	BYTE PTR [ebx+ebp], al
	inc	ebp
; Line 2218
	mov	BYTE PTR _text_buf[esi], al
	mov	eax, DWORD PTR _j$[esp+24]
	inc	esi
	and	esi, 4095				; 00000fffH
	inc	ecx
	cmp	ecx, eax
	jle	SHORT $L3449
; Line 2221
	jmp	$L5127
$L5122:
; Line 2222
	mov	edx, DWORD PTR _DEareaSIZE$[esp+20]
	pop	edi
	pop	esi
	mov	DWORD PTR [edx], ebp
	pop	ebp
	pop	ebx
; Line 2223
	add	esp, 8
	ret	0
$L5123:
; Line 2222
	mov	eax, DWORD PTR _DEareaSIZE$[esp+20]
	pop	edi
	pop	esi
	mov	DWORD PTR [eax], ebp
	pop	ebp
	pop	ebx
; Line 2223
	add	esp, 8
	ret	0
$L5124:
; Line 2222
	mov	ecx, DWORD PTR _DEareaSIZE$[esp+20]
	pop	edi
	pop	esi
	mov	DWORD PTR [ecx], ebp
	pop	ebp
	pop	ebx
; Line 2223
	add	esp, 8
	ret	0
_DecodeKAZE ENDP
_TEXT	ENDS
PUBLIC	_DecodeKAZE2
; Function compile flags: /Ogty
_TEXT	SEGMENT
_flags$ = -12						; size = 4
_i$ = -8						; size = 4
_j$ = -4						; size = 4
_ENareaPointer$ = 8					; size = 4
_ENareaSIZE$ = 12					; size = 4
_DEareaPointer$ = 16					; size = 4
_DEareaSIZE$ = 20					; size = 4
_DecodeKAZE2 PROC NEAR
; Line 2226
	sub	esp, 12					; 0000000cH
	push	ebx
; Line 2230
	mov	ebx, DWORD PTR _ENareaSIZE$[esp+12]
	push	ebp
; Line 2234
	mov	ebp, DWORD PTR _ENareaPointer$[esp+16]
	push	esi
	push	edi
	mov	ecx, 1019				; 000003fbH
	mov	eax, 538976288				; 20202020H
	mov	edi, OFFSET FLAT:_text_buf
	rep stosd
	add	ebx, -6					; fffffffaH
	xor	edx, edx
	xor	esi, esi
	xor	ecx, ecx
	test	ebx, ebx
	stosw
	mov	eax, 4078				; 00000feeH
	jbe	$L3486
	npad	8
$L3474:
; Line 2236
	shr	ecx, 1
	test	ch, 1
	mov	DWORD PTR _flags$[esp+28], ecx
	jne	SHORT $L3476
; Line 2238
	movzx	ecx, BYTE PTR [edx+ebp]
	or	ecx, 65280				; 0000ff00H
	mov	DWORD PTR _flags$[esp+28], ecx
	inc	edx
$L3476:
; Line 2240
	test	cl, 1
	je	SHORT $L3478
; Line 2243
	mov	bl, BYTE PTR [edx+ebp]
	mov	edi, DWORD PTR _DEareaPointer$[esp+24]
	mov	BYTE PTR [esi+edi], bl
	inc	esi
	mov	BYTE PTR _text_buf[eax], bl
	inc	edx
	inc	eax
; Line 2244
	and	eax, 4095				; 00000fffH
; Line 2245
	jmp	SHORT $L3484
$L3478:
; Line 2247
	movzx	ebx, BYTE PTR [edx+ebp]
; Line 2249
	movzx	ecx, BYTE PTR [edx+ebp+1]
	inc	edx
; Line 2250
	mov	edi, ecx
	and	edi, 240				; 000000f0H
	shl	edi, 4
	or	ebx, edi
	and	ecx, 15					; 0000000fH
	inc	edx
	add	ecx, 2
	mov	DWORD PTR _i$[esp+28], ebx
	mov	DWORD PTR _j$[esp+28], ecx
; Line 2251
	mov	edi, 0
	js	SHORT $L5153
	jmp	SHORT $L3482
$L5152:
	mov	ebx, DWORD PTR _i$[esp+28]
	npad	4
$L3482:
; Line 2253
	lea	ecx, DWORD PTR [edi+ebx]
	mov	ebx, DWORD PTR _DEareaPointer$[esp+24]
	and	ecx, 4095				; 00000fffH
	mov	cl, BYTE PTR _text_buf[ecx]
	mov	BYTE PTR [esi+ebx], cl
	mov	BYTE PTR _text_buf[eax], cl
	mov	ecx, DWORD PTR _j$[esp+28]
	inc	esi
	inc	eax
; Line 2254
	and	eax, 4095				; 00000fffH
	inc	edi
	cmp	edi, ecx
	jle	SHORT $L5152
$L5153:
; Line 2251
	mov	ecx, DWORD PTR _flags$[esp+28]
$L3484:
; Line 2234
	mov	edi, DWORD PTR _ENareaSIZE$[esp+24]
	add	edi, -6					; fffffffaH
	cmp	edx, edi
	jb	$L3474
; Line 2285
	jmp	SHORT $L3486
$L5154:
	mov	ecx, DWORD PTR _flags$[esp+28]
$L3486:
; Line 2262
	mov	edi, DWORD PTR _ENareaSIZE$[esp+24]
	shr	ecx, 1
	test	ch, 1
	mov	DWORD PTR _flags$[esp+28], ecx
	jne	SHORT $L3488
	cmp	edx, edi
	je	$L5151
; Line 2263
	movzx	ecx, BYTE PTR [edx+ebp]
	or	ecx, 65280				; 0000ff00H
	mov	DWORD PTR _flags$[esp+28], ecx
	inc	edx
$L3488:
; Line 2265
	test	cl, 1
	je	SHORT $L3491
; Line 2267
	cmp	edx, edi
	je	$L5151
; Line 2269
	mov	bl, BYTE PTR [edx+ebp]
	mov	edi, DWORD PTR _DEareaPointer$[esp+24]
	mov	BYTE PTR [esi+edi], bl
; Line 2270
	mov	bl, BYTE PTR [edx+ebp]
	inc	esi
	mov	BYTE PTR _text_buf[eax], bl
	inc	edx
	inc	eax
	and	eax, 4095				; 00000fffH
; Line 2271
	jmp	SHORT $L3486
$L3491:
; Line 2273
	cmp	edx, edi
	je	SHORT $L5149
; Line 2274
	movzx	ebx, BYTE PTR [edx+ebp]
; Line 2276
	mov	ecx, DWORD PTR _ENareaSIZE$[esp+24]
	inc	edx
	cmp	edx, ecx
	je	SHORT $L5150
; Line 2277
	movzx	ecx, BYTE PTR [edx+ebp]
; Line 2278
	mov	edi, ecx
	and	edi, 240				; 000000f0H
	shl	edi, 4
	or	ebx, edi
	and	ecx, 15					; 0000000fH
	inc	edx
	add	ecx, 2
	mov	DWORD PTR _i$[esp+28], ebx
	mov	DWORD PTR _j$[esp+28], ecx
; Line 2279
	mov	edi, 0
	js	$L5154
	jmp	SHORT $L3498
$L5155:
	mov	ebx, DWORD PTR _i$[esp+28]
	npad	9
$L3498:
; Line 2281
	lea	ecx, DWORD PTR [edi+ebx]
	mov	ebx, DWORD PTR _DEareaPointer$[esp+24]
	and	ecx, 4095				; 00000fffH
	mov	cl, BYTE PTR _text_buf[ecx]
	mov	BYTE PTR [esi+ebx], cl
; Line 2282
	mov	BYTE PTR _text_buf[eax], cl
	mov	ecx, DWORD PTR _j$[esp+28]
	inc	esi
	inc	eax
	and	eax, 4095				; 00000fffH
	inc	edi
	cmp	edi, ecx
	jle	SHORT $L5155
; Line 2285
	jmp	$L5154
$L5149:
; Line 2286
	mov	eax, DWORD PTR _DEareaSIZE$[esp+24]
	pop	edi
	mov	DWORD PTR [eax], esi
	pop	esi
	pop	ebp
	pop	ebx
; Line 2287
	add	esp, 12					; 0000000cH
	ret	0
$L5150:
; Line 2286
	mov	ecx, DWORD PTR _DEareaSIZE$[esp+24]
	pop	edi
	mov	DWORD PTR [ecx], esi
	pop	esi
	pop	ebp
	pop	ebx
; Line 2287
	add	esp, 12					; 0000000cH
	ret	0
$L5151:
; Line 2286
	mov	edx, DWORD PTR _DEareaSIZE$[esp+24]
	pop	edi
	mov	DWORD PTR [edx], esi
	pop	esi
	pop	ebp
	pop	ebx
; Line 2287
	add	esp, 12					; 0000000cH
	ret	0
_DecodeKAZE2 ENDP
_TEXT	ENDS
PUBLIC	_DecodeKAZEHDD
; Function compile flags: /Ogty
_TEXT	SEGMENT
_flags$ = -4						; size = 4
_SlowerF$ = 8						; size = 4
_DEareaPointer$ = 12					; size = 4
_DEareaSIZE$ = 16					; size = 4
_DecodeKAZEHDD PROC NEAR
; Line 2290
	push	ecx
	push	ebx
	push	ebp
	push	esi
	push	edi
; Line 2296
	mov	ecx, 1019				; 000003fbH
	mov	eax, 538976288				; 20202020H
	mov	edi, OFFSET FLAT:_text_buf
	rep stosd
	xor	ebx, ebx
	stosw
; Line 2297
	mov	esi, 4078				; 00000feeH
	mov	DWORD PTR _flags$[esp+20], ebx
$L5183:
	mov	ebp, DWORD PTR _SlowerF$[esp+16]
$L3521:
; Line 2299
	mov	eax, DWORD PTR _flags$[esp+20]
	shr	eax, 1
	test	ah, 1
	mov	DWORD PTR _flags$[esp+20], eax
	jne	SHORT $L5181
; Line 2300
	dec	DWORD PTR [ebp+4]
	js	SHORT $L5159
	mov	ecx, DWORD PTR [ebp]
	movzx	eax, BYTE PTR [ecx]
	inc	ecx
	mov	DWORD PTR [ebp], ecx
	jmp	SHORT $L5160
$L5159:
	push	ebp
	call	__filbuf
	add	esp, 4
$L5160:
	cmp	eax, -1
	je	$L5180
; Line 2301
	or	eax, 65280				; 0000ff00H
	mov	DWORD PTR _flags$[esp+20], eax
$L5181:
; Line 2303
	test	BYTE PTR _flags$[esp+20], 1
; Line 2304
	mov	eax, DWORD PTR [ebp+4]
	je	SHORT $L3525
	dec	eax
	mov	DWORD PTR [ebp+4], eax
	js	SHORT $L5161
	mov	ecx, DWORD PTR [ebp]
	movzx	eax, BYTE PTR [ecx]
	inc	ecx
	mov	DWORD PTR [ebp], ecx
	jmp	SHORT $L5162
$L5161:
	push	ebp
	call	__filbuf
	add	esp, 4
$L5162:
	cmp	eax, -1
	je	$L5180
; Line 2306
	mov	ecx, DWORD PTR _DEareaPointer$[esp+16]
	mov	BYTE PTR [ebx+ecx], al
	inc	ebx
; Line 2307
	mov	BYTE PTR _text_buf[esi], al
	inc	esi
	and	esi, 4095				; 00000fffH
; Line 2308
	jmp	SHORT $L3521
$L3525:
; Line 2309
	dec	eax
	mov	DWORD PTR [ebp+4], eax
	js	SHORT $L5163
	mov	eax, DWORD PTR [ebp]
	movzx	edi, BYTE PTR [eax]
	inc	eax
	mov	DWORD PTR [ebp], eax
	jmp	SHORT $L5164
$L5163:
	push	ebp
	call	__filbuf
	add	esp, 4
	mov	edi, eax
$L5164:
	cmp	edi, -1
	je	SHORT $L5178
; Line 2310
	dec	DWORD PTR [ebp+4]
	js	SHORT $L5165
	mov	ecx, DWORD PTR [ebp]
	movzx	eax, BYTE PTR [ecx]
	inc	ecx
	mov	DWORD PTR [ebp], ecx
	jmp	SHORT $L5166
$L5165:
	push	ebp
	call	__filbuf
	add	esp, 4
$L5166:
	cmp	eax, -1
	je	SHORT $L5179
; Line 2311
	mov	edx, eax
	and	edx, 240				; 000000f0H
	shl	edx, 4
	and	eax, 15					; 0000000fH
	or	edi, edx
	add	eax, 2
	mov	edx, eax
; Line 2312
	mov	eax, 0
	js	$L3521
	npad	8
$L3530:
; Line 2315
	mov	ebp, DWORD PTR _DEareaPointer$[esp+16]
	lea	ecx, DWORD PTR [eax+edi]
	and	ecx, 4095				; 00000fffH
	movzx	ecx, BYTE PTR _text_buf[ecx]
	mov	BYTE PTR [ebx+ebp], cl
	inc	ebx
; Line 2316
	mov	BYTE PTR _text_buf[esi], cl
	inc	esi
	and	esi, 4095				; 00000fffH
	inc	eax
	cmp	eax, edx
	jle	SHORT $L3530
; Line 2319
	jmp	$L5183
$L5178:
; Line 2320
	mov	eax, DWORD PTR _DEareaSIZE$[esp+16]
	pop	edi
	pop	esi
	pop	ebp
	mov	DWORD PTR [eax], ebx
	pop	ebx
; Line 2321
	pop	ecx
	ret	0
$L5179:
; Line 2320
	mov	ecx, DWORD PTR _DEareaSIZE$[esp+16]
	pop	edi
	pop	esi
	pop	ebp
	mov	DWORD PTR [ecx], ebx
	pop	ebx
; Line 2321
	pop	ecx
	ret	0
$L5180:
; Line 2320
	mov	edx, DWORD PTR _DEareaSIZE$[esp+16]
	pop	edi
	pop	esi
	pop	ebp
	mov	DWORD PTR [edx], ebx
	pop	ebx
; Line 2321
	pop	ecx
	ret	0
_DecodeKAZEHDD ENDP
_TEXT	ENDS
PUBLIC	_instr
EXTRN	_strstr:NEAR
; Function compile flags: /Ogty
_TEXT	SEGMENT
_start_pos$ = 8						; size = 4
_string$ = 12						; size = 4
_findstr$ = 16						; size = 4
_instr	PROC NEAR
; Line 2344
	push	esi
; Line 2348
	mov	esi, DWORD PTR _string$[esp]
	mov	eax, esi
	lea	edx, DWORD PTR [eax+1]
	npad	6
$L5185:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5185
	mov	ecx, DWORD PTR _start_pos$[esp]
	sub	eax, edx
	cmp	ecx, eax
; Line 2349
	ja	SHORT $L3578
; Line 2353
	mov	eax, DWORD PTR _findstr$[esp]
	push	eax
	lea	ecx, DWORD PTR [ecx+esi-1]
	push	ecx
	call	_strstr
	add	esp, 8
	test	eax, eax
	je	SHORT $L3578
; Line 2354
	sub	eax, esi
	inc	eax
	pop	esi
; Line 2356
	ret	0
$L3578:
; Line 2355
	xor	eax, eax
	pop	esi
; Line 2356
	ret	0
_instr	ENDP
_TEXT	ENDS
PUBLIC	__real@0000000000000000
PUBLIC	__real@3ff0000000000000
PUBLIC	_main
EXTRN	_puts:NEAR
EXTRN	__ftol2:NEAR
EXTRN	__aulldiv:NEAR
EXTRN	_exit:NEAR
EXTRN	_malloc:NEAR
EXTRN	_qlz_size_decompressed:NEAR
EXTRN	_qlz_decompress:NEAR
EXTRN	_qlz_compress:NEAR
EXTRN	_getch:NEAR
EXTRN	_kbhit:NEAR
EXTRN	___lzo_init_v2:NEAR
EXTRN	_lzo1x_1_compress:NEAR
EXTRN	_lzo1x_decompress:NEAR
EXTRN	_time:NEAR
EXTRN	_fclose:NEAR
EXTRN	_fopen:NEAR
EXTRN	_fprintf:NEAR
EXTRN	_fread:NEAR
EXTRN	_fseek:NEAR
EXTRN	_ftell:NEAR
EXTRN	_gets:NEAR
_BSS	SEGMENT
_wrkmem	DD	04000H DUP (?)
_BSS	ENDS
;	COMDAT __real@0000000000000000
CONST	SEGMENT
__real@0000000000000000 DQ 00000000000000000r	; 0
CONST	ENDS
;	COMDAT __real@3ff0000000000000
CONST	SEGMENT
__real@3ff0000000000000 DQ 03ff0000000000000r	; 1
; Function compile flags: /Ogty
CONST	ENDS
_TEXT	SEGMENT
_Bastumante2$ = -7965					; size = 1
_ifile$ = -7964						; size = 4
_k$ = -7964						; size = 4
_argv$ = -7964						; size = 4
tv2516 = -7960						; size = 8
_ofile$ = -7960						; size = 4
_clocks1$ = -7960					; size = 4
_LINE10len$ = -7960					; size = 4
tv3736 = -7948						; size = 4
tv3701 = -7948						; size = 4
tv3666 = -7948						; size = 4
tv3631 = -7948						; size = 4
tv3596 = -7948						; size = 4
_fp_inLINE$ = -7948					; size = 4
_CRdLFa$ = -7944					; size = 2
_out_len$ = -7940					; size = 4
_FilesLENde$ = -7936					; size = 8
_workbyte$ = -7921					; size = 1
_FilesLENen$ = -7920					; size = 8
_len$ = -7912						; size = 4
_P4NestedPattern1len$ = -7912				; size = 4
_fp_in$ = -7908						; size = 4
_argc$ = -7908						; size = 4
_TotalRoughSearchTime$ = -7904				; size = 8
_scratch$ = -7896					; size = 4
tv2405 = -7892						; size = 4
_fp_outLOG4$ = -7892					; size = 4
_TotalRoughDecodeTime$ = -7888				; size = 8
_llTOaDigits$ = -7876					; size = 27
_P2NestedPattern1len$ = -7848				; size = 4
_P1NestedPattern1len$ = -7844				; size = 4
_TotalRoughReadDecodeTime$ = -7840			; size = 8
_clocks2$ = -7828					; size = 4
_clocks3$ = -7828					; size = 4
_FileLENde$ = -7824					; size = 8
_P3NestedPattern1len$ = -7812				; size = 4
_TotalRoughReadTime$ = -7808				; size = 8
_Pattern4len$ = -7800					; size = 4
_hits1$ = -7796						; size = 4
_P4NestedPattern3len$ = -7792				; size = 4
_Pattern2len$ = -7788					; size = 4
_hits4$ = -7784						; size = 4
_P2NestedPattern3len$ = -7780				; size = 4
_fp_outLOG1$ = -7776					; size = 4
_P2NestedPattern2len$ = -7772				; size = 4
_fp_outLOG2$ = -7768					; size = 4
_hits2$ = -7764						; size = 4
_fp_outLOG3$ = -7760					; size = 4
_Pattern3len$ = -7756					; size = 4
_P1NestedPattern2len$ = -7752				; size = 4
_P3NestedPattern3len$ = -7748				; size = 4
_hits1flag$ = -7744					; size = 4
_P3NestedPattern2len$ = -7740				; size = 4
_hits3flag$ = -7736					; size = 4
_hits3$ = -7732						; size = 4
_P4NestedPattern2len$ = -7728				; size = 4
_P1NestedPattern3len$ = -7724				; size = 4
_hits4flag$ = -7720					; size = 4
_hits2flag$ = -7716					; size = 4
tv2542 = -7712						; size = 8
tv2514 = -7712						; size = 8
_INIHDDRAM$ = -7700					; size = 17
_t1$ = -7680						; size = 4
_size_in$ = -7676					; size = 4
_Pattern1len$ = -7672					; size = 4
_Masterpatternlen$ = -7668				; size = 4
_t3$ = -7664						; size = 4
_llTOaDigits2$ = -7660					; size = 27
_HTML07$ = -7632					; size = 79
_HTML08$ = -7552					; size = 79
_HTML01$ = -7472					; size = 79
_HTML03$ = -7392					; size = 79
_HTML14$ = -7312					; size = 79
_HTML15$ = -7232					; size = 79
_HTML09$ = -7152					; size = 79
_HTML04$ = -7072					; size = 79
_HTML13$ = -6992					; size = 79
_HTML05$ = -6912					; size = 79
_HTML12$ = -6832					; size = 79
_HTML02$ = -6752					; size = 79
_HTML06$ = -6672					; size = 128
_P3NestedPattern3$ = -6544				; size = 257
_P3NestedPattern2$ = -6280				; size = 257
_P1NestedPattern2$ = -6016				; size = 257
_P3NestedPattern1$ = -5752				; size = 257
_Pattern1$ = -5488					; size = 257
_Pattern3$ = -5224					; size = 257
_P2NestedPattern2$ = -4960				; size = 257
_P4NestedPattern3$ = -4696				; size = 257
_Pattern2$ = -4432					; size = 257
_P4NestedPattern2$ = -4168				; size = 257
_P1NestedPattern1$ = -3904				; size = 257
_P4NestedPattern1$ = -3640				; size = 257
_P2NestedPattern1$ = -3376				; size = 257
_Pattern4$ = -3112					; size = 257
_P2NestedPattern3$ = -2848				; size = 257
_P1NestedPattern3$ = -2584				; size = 257
_Masterpattern$ = -2320					; size = 257
_LINE10$ = -2056					; size = 2049
_numArgs$ = 8						; size = 4
_args$ = 12						; size = 4
_main	PROC NEAR
; Line 2359
	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	mov	eax, 7972				; 00001f24H
	call	__chkstk
; Line 2390
	fld	QWORD PTR __real@0000000000000000
; Line 2414
	mov	ecx, DWORD PTR $SG3677+4
	fstp	QWORD PTR _TotalRoughDecodeTime$[esp+7972]
	mov	eax, DWORD PTR $SG3677
	fld	QWORD PTR __real@0000000000000000
	mov	DWORD PTR _INIHDDRAM$[esp+7976], ecx
	fstp	QWORD PTR _TotalRoughReadTime$[esp+7972]
	mov	cl, BYTE PTR $SG3677+16
	fld	QWORD PTR __real@0000000000000000
	mov	BYTE PTR _INIHDDRAM$[esp+7988], cl
	fstp	QWORD PTR _TotalRoughSearchTime$[esp+7972]
	push	ebx
	fld	QWORD PTR __real@0000000000000000
	push	esi
	fstp	QWORD PTR _TotalRoughReadDecodeTime$[esp+7980]
	push	edi
; Line 2446
	mov	ecx, 16					; 00000010H
	mov	esi, OFFSET FLAT:$SG3692
	lea	edi, DWORD PTR _HTML01$[esp+7984]
	rep movsd
	movsb
	mov	edx, DWORD PTR $SG3677+8
	mov	DWORD PTR _INIHDDRAM$[esp+7984], eax
	mov	eax, DWORD PTR $SG3677+12
	mov	DWORD PTR _INIHDDRAM$[esp+7996], eax
; Line 2447
	xor	eax, eax
	mov	ecx, 10					; 0000000aH
	mov	esi, OFFSET FLAT:$SG3694
	lea	edi, DWORD PTR _HTML02$[esp+7984]
	rep movsd
	xor	ebx, ebx
	mov	ecx, 9
	lea	edi, DWORD PTR _HTML02$[esp+8024]
	rep stosd
	stosw
	stosb
; Line 2448
	mov	ecx, 17					; 00000011H
	mov	esi, OFFSET FLAT:$SG3696
	lea	edi, DWORD PTR _HTML03$[esp+7984]
	rep movsd
	mov	DWORD PTR _INIHDDRAM$[esp+7992], edx
	xor	edx, edx
	mov	DWORD PTR _HTML01$[esp+8049], edx
	xor	eax, eax
	mov	DWORD PTR _HTML01$[esp+8053], edx
	movsb
	mov	DWORD PTR _HTML01$[esp+8057], edx
	mov	DWORD PTR _HTML03$[esp+8053], eax
	mov	DWORD PTR _LINE10len$[esp+7984], ebx
	mov	DWORD PTR _FilesLENen$[esp+7984], ebx
	mov	DWORD PTR _FilesLENen$[esp+7988], ebx
	mov	DWORD PTR _FilesLENde$[esp+7984], ebx
	mov	DWORD PTR _FilesLENde$[esp+7988], ebx
	mov	DWORD PTR _Pattern2len$[esp+7984], ebx
	mov	DWORD PTR _Pattern3len$[esp+7984], ebx
	mov	DWORD PTR _Pattern4len$[esp+7984], ebx
	mov	DWORD PTR _hits1$[esp+7984], ebx
	mov	DWORD PTR _hits2$[esp+7984], ebx
	mov	DWORD PTR _hits3$[esp+7984], ebx
	mov	DWORD PTR _hits4$[esp+7984], ebx
	mov	DWORD PTR _hits1flag$[esp+7984], ebx
	mov	DWORD PTR _hits2flag$[esp+7984], ebx
	mov	DWORD PTR _hits3flag$[esp+7984], ebx
	mov	DWORD PTR _hits4flag$[esp+7984], ebx
	mov	DWORD PTR _P1NestedPattern1len$[esp+7984], ebx
	mov	DWORD PTR _P1NestedPattern2len$[esp+7984], ebx
	mov	DWORD PTR _P1NestedPattern3len$[esp+7984], ebx
	mov	DWORD PTR _P2NestedPattern1len$[esp+7984], ebx
	mov	DWORD PTR _P2NestedPattern2len$[esp+7984], ebx
	mov	DWORD PTR _P2NestedPattern3len$[esp+7984], ebx
	mov	DWORD PTR _P3NestedPattern1len$[esp+7984], ebx
	mov	DWORD PTR _P3NestedPattern2len$[esp+7984], ebx
	mov	DWORD PTR _P3NestedPattern3len$[esp+7984], ebx
	mov	DWORD PTR _P4NestedPattern1len$[esp+7984], ebx
	mov	DWORD PTR _P4NestedPattern2len$[esp+7984], ebx
	mov	DWORD PTR _P4NestedPattern3len$[esp+7984], ebx
	mov	BYTE PTR _Bastumante2$[esp+7984], 46	; 0000002eH
	mov	WORD PTR _HTML01$[esp+8061], dx
	mov	DWORD PTR _HTML03$[esp+8057], eax
; Line 2449
	mov	ecx, DWORD PTR $SG3698
	mov	edx, DWORD PTR $SG3698+4
	mov	DWORD PTR _HTML04$[esp+7984], ecx
	mov	WORD PTR _HTML03$[esp+8061], ax
	mov	al, BYTE PTR $SG3698+8
	mov	BYTE PTR _HTML04$[esp+7992], al
	xor	eax, eax
	mov	DWORD PTR _HTML04$[esp+7988], edx
; Line 2450
	mov	edx, DWORD PTR $SG3700+4
	mov	ecx, 17					; 00000011H
	lea	edi, DWORD PTR _HTML04$[esp+7993]
	rep stosd
	mov	ecx, DWORD PTR $SG3700
	stosw
	mov	DWORD PTR _HTML05$[esp+7984], ecx
	xor	eax, eax
	mov	DWORD PTR _HTML05$[esp+7988], edx
	mov	ecx, 17					; 00000011H
	lea	edi, DWORD PTR _HTML05$[esp+7992]
	rep stosd
	stosw
	stosb
; Line 2451
	mov	ecx, 26					; 0000001aH
	mov	esi, OFFSET FLAT:$SG3702
	lea	edi, DWORD PTR _HTML06$[esp+7984]
	rep movsd
	movsb
; Line 2452
	mov	ecx, 12					; 0000000cH
	mov	esi, OFFSET FLAT:$SG3704
	lea	edi, DWORD PTR _HTML07$[esp+7984]
	rep movsd
	movsb
	xor	ecx, ecx
	mov	DWORD PTR _HTML07$[esp+8033], ecx
	mov	DWORD PTR _HTML07$[esp+8037], ecx
	mov	DWORD PTR _HTML07$[esp+8041], ecx
	mov	DWORD PTR _HTML07$[esp+8045], ecx
	mov	DWORD PTR _HTML07$[esp+8049], ecx
	mov	DWORD PTR _HTML07$[esp+8053], ecx
	mov	DWORD PTR _HTML07$[esp+8057], ecx
	mov	WORD PTR _HTML07$[esp+8061], cx
	xor	eax, eax
; Line 2453
	mov	ecx, 14					; 0000000eH
	mov	esi, OFFSET FLAT:$SG3706
	lea	edi, DWORD PTR _HTML08$[esp+7984]
	rep movsd
; Line 2454
	mov	cx, WORD PTR $SG3708+4
	mov	DWORD PTR _HTML06$[esp+8089], eax
	movsw
	mov	DWORD PTR _HTML06$[esp+8093], eax
	mov	DWORD PTR _HTML06$[esp+8097], eax
	xor	edx, edx
	mov	DWORD PTR _HTML06$[esp+8101], eax
	mov	DWORD PTR _HTML08$[esp+8042], edx
	mov	DWORD PTR _HTML06$[esp+8105], eax
	mov	DWORD PTR _HTML08$[esp+8046], edx
	mov	WORD PTR _HTML06$[esp+8109], ax
	mov	DWORD PTR _HTML08$[esp+8050], edx
	mov	BYTE PTR _HTML06$[esp+8111], al
	mov	eax, DWORD PTR $SG3708
	mov	DWORD PTR _HTML08$[esp+8054], edx
	mov	DWORD PTR _HTML09$[esp+7984], eax
	mov	DWORD PTR _HTML08$[esp+8058], edx
	mov	WORD PTR _HTML09$[esp+7988], cx
	xor	eax, eax
	mov	BYTE PTR _HTML08$[esp+8062], dl
	mov	dl, BYTE PTR $SG3708+6
	mov	ecx, 18					; 00000012H
	lea	edi, DWORD PTR _HTML09$[esp+7991]
	mov	BYTE PTR _HTML09$[esp+7990], dl
	rep stosd
; Line 2457
	mov	eax, DWORD PTR $SG3714
	mov	ecx, DWORD PTR $SG3714+4
	mov	DWORD PTR _HTML12$[esp+7984], eax
	mov	DWORD PTR _HTML12$[esp+7988], ecx
	xor	eax, eax
	mov	ecx, 17					; 00000011H
	lea	edi, DWORD PTR _HTML12$[esp+7992]
	rep stosd
	stosw
	stosb
; Line 2458
	mov	eax, DWORD PTR $SG3716+4
	mov	cl, BYTE PTR $SG3716+8
	mov	edx, DWORD PTR $SG3716
	mov	DWORD PTR _HTML13$[esp+7988], eax
	mov	BYTE PTR _HTML13$[esp+7992], cl
	xor	eax, eax
	mov	DWORD PTR _HTML13$[esp+7984], edx
; Line 2459
	mov	edx, DWORD PTR $SG3718
	mov	ecx, 17					; 00000011H
	lea	edi, DWORD PTR _HTML13$[esp+7993]
	rep stosd
	mov	cl, BYTE PTR $SG3718+8
	stosw
	mov	eax, DWORD PTR $SG3718+4
	mov	DWORD PTR _HTML14$[esp+7988], eax
	mov	BYTE PTR _HTML14$[esp+7992], cl
	xor	eax, eax
	mov	DWORD PTR _HTML14$[esp+7984], edx
; Line 2460
	mov	edx, DWORD PTR $SG3720
	mov	ecx, 17					; 00000011H
	lea	edi, DWORD PTR _HTML14$[esp+7993]
	rep stosd
	mov	cl, BYTE PTR $SG3720+8
	stosw
	mov	eax, DWORD PTR $SG3720+4
	mov	DWORD PTR _HTML15$[esp+7988], eax
	mov	BYTE PTR _HTML15$[esp+7992], cl
	mov	DWORD PTR _HTML15$[esp+7984], edx
	xor	eax, eax
	mov	ecx, 17					; 00000011H
	lea	edi, DWORD PTR _HTML15$[esp+7993]
	rep stosd
; Line 2472
	push	16					; 00000010H
	stosw
	call	_malloc
	mov	DWORD PTR _scratch$[esp+7988], eax
; Line 2475
	mov	eax, DWORD PTR _numArgs$[ebp]
	add	esp, 4
	cmp	eax, 1
; Line 2477
	je	$L5358
; Line 2480
	cmp	eax, 2
	je	$L3732
	cmp	eax, 3
	je	$L3732
; Line 3102
	jl	SHORT $L4148
	cmp	eax, 4
	jg	SHORT $L4148
	mov	esi, DWORD PTR _args$[ebp]
	mov	edx, DWORD PTR [esi+4]
	mov	eax, edx
	lea	edi, DWORD PTR [eax+1]
$L5201:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5201
	sub	eax, edi
	cmp	eax, 1
	jne	SHORT $L4148
; Line 3105
	mov	bl, BYTE PTR [edx]
; Line 3106
	cmp	bl, 101					; 00000065H
	je	SHORT $L5197
	cmp	bl, 69					; 00000045H
	je	SHORT $L5197
	cmp	bl, 65					; 00000041H
	je	SHORT $L5197
	cmp	bl, 97					; 00000061H
	je	SHORT $L5200
; Line 3107
	cmp	bl, 100					; 00000064H
	je	$L4150
	cmp	bl, 68					; 00000044H
	je	$L4150
	cmp	bl, 82					; 00000052H
	je	$L4150
	cmp	bl, 114					; 00000072H
	je	$L4150
$L4148:
; Line 3108
	mov	eax, 23					; 00000017H
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L5197:
; Line 3113
	cmp	bl, 97					; 00000061H
	jne	$L4151
$L5200:
; Line 3115
	mov	edx, DWORD PTR [esi+8]
	push	OFFSET FLAT:$SG4154
	push	edx
	call	_fopen
	add	esp, 8
	test	eax, eax
	mov	DWORD PTR _infileOkumura, eax
	jne	SHORT $L4153
; Line 3116
	mov	eax, DWORD PTR [esi+8]
	push	eax
	push	OFFSET FLAT:$SG4155
	call	_printf
	add	esp, 8
	push	1
	call	_exit
$L4153:
; Line 3117
	mov	ecx, DWORD PTR [esi+12]
	push	OFFSET FLAT:$SG4158
	push	ecx
	call	_fopen
	add	esp, 8
	test	eax, eax
	mov	DWORD PTR _outfileOkumura, eax
	jne	SHORT $L4157
; Line 3118
	mov	edx, DWORD PTR [esi+12]
	push	edx
	push	OFFSET FLAT:$SG4159
	call	_printf
	add	esp, 8
	push	1
	call	_exit
$L4157:
; Line 3119
	call	_Encode
; Line 3120
	mov	eax, DWORD PTR _infileOkumura
	push	eax
	call	_fclose
; Line 3121
	mov	ecx, DWORD PTR _outfileOkumura
; Line 3305
	push	ecx
	call	_fclose
	add	esp, 8
	xor	eax, eax
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4151:
; Line 3125
	mov	edx, DWORD PTR [esi+8]
	push	OFFSET FLAT:$SG4163
	push	edx
	call	_fopen
	add	esp, 8
	test	eax, eax
	mov	DWORD PTR _ifile$[esp+7984], eax
	jne	SHORT $L4162
; Line 3126
	mov	eax, DWORD PTR [esi+8]
	push	eax
	push	OFFSET FLAT:$SG4164
	call	_printf
	add	esp, 8
	mov	eax, 1
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4162:
; Line 3127
	mov	ecx, DWORD PTR [esi+12]
	push	OFFSET FLAT:$SG4165
	push	ecx
	call	_fopen
; Line 3130
	mov	edi, DWORD PTR _ifile$[esp+7992]
	push	2
	push	0
	push	edi
	mov	DWORD PTR _ofile$[esp+8004], eax
	call	_fseek
; Line 3131
	push	edi
	call	_ftell
; Line 3132
	push	0
	push	0
	push	edi
	mov	esi, eax
	call	_fseek
; Line 3133
	push	esi
	call	_malloc
; Line 3134
	mov	edx, DWORD PTR _ifile$[esp+8024]
	push	edx
	push	esi
	mov	edi, eax
	push	1
	push	edi
	call	_fread
	add	esp, 56					; 00000038H
; Line 3136
	cmp	bl, 101					; 00000065H
	jne	SHORT $L4167
; Line 3138
	lea	eax, DWORD PTR [esi+400]
	push	eax
	call	_malloc
; Line 3141
	push	266256					; 00041010H
	mov	ebx, eax
	call	_malloc
; Line 3145
	push	esi
	push	OFFSET FLAT:$SG4172
	mov	DWORD PTR _scratch$[esp+8000], eax
	call	_printf
; Line 3146
	mov	ecx, DWORD PTR _scratch$[esp+8000]
	push	ecx
	push	esi
	push	ebx
	push	edi
	call	_qlz_compress
	mov	esi, eax
; Line 3148
	push	esi
	push	OFFSET FLAT:$SG4174
	call	_printf
; Line 3149
	mov	edx, DWORD PTR _ofile$[esp+8024]
	push	edx
	push	1
	push	esi
	push	ebx
	call	_fwrite
	add	esp, 56					; 00000038H
; Line 3151
	jmp	$L4244
$L4167:
	cmp	bl, 65					; 00000041H
	jne	SHORT $L4176
; Line 3155
	push	268435457				; 10000001H
	call	_malloc
; Line 3158
	push	esi
	push	OFFSET FLAT:$SG4179
	mov	DWORD PTR _MeBufferKAZE, eax
	call	_printf
; Line 3159
	mov	eax, DWORD PTR _MeBufferKAZE
	push	eax
	push	esi
	push	edi
	call	_fastlz_compress
	mov	esi, eax
; Line 3161
	push	esi
	push	OFFSET FLAT:$SG4181
	call	_printf
; Line 3162
	mov	ecx, DWORD PTR _ofile$[esp+8016]
	mov	edx, DWORD PTR _MeBufferKAZE
	push	ecx
	push	1
	push	esi
	push	edx
	call	_fwrite
	add	esp, 48					; 00000030H
; Line 3164
	jmp	$L4244
$L4176:
; Line 3173
	push	24					; 00000018H
	push	4
	push	4
	push	4
	push	4
	push	4
	push	4
	push	4
	push	2
	push	8240					; 00002030H
	call	___lzo_init_v2
	add	esp, 40					; 00000028H
	test	eax, eax
	je	SHORT $L4202
; Line 3175
	push	OFFSET FLAT:$SG4203
	call	_printf
; Line 3176
	push	OFFSET FLAT:$SG4204
	call	_printf
	add	esp, 8
; Line 3177
	mov	eax, 3
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4202:
; Line 3187
	push	268435457				; 10000001H
	call	_malloc
; Line 3193
	push	OFFSET FLAT:_wrkmem
	lea	ecx, DWORD PTR _out_len$[esp+7992]
	push	ecx
	push	eax
	push	esi
	push	edi
	mov	DWORD PTR _MeBufferKAZE, eax
	call	_lzo1x_1_compress
	add	esp, 24					; 00000018H
; Line 3194
	test	eax, eax
	jne	SHORT $L4206
; Line 3196
	mov	edx, DWORD PTR _out_len$[esp+7984]
	push	edx
	push	esi
	push	OFFSET FLAT:$SG4209
	call	_printf
; Line 3204
	mov	eax, DWORD PTR _out_len$[esp+7996]
	add	esp, 12					; 0000000cH
	cmp	eax, esi
	jb	SHORT $L4212
; Line 3206
	push	OFFSET FLAT:$SG4213
	call	_printf
	add	esp, 4
	xor	eax, eax
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4212:
; Line 3210
	mov	ecx, DWORD PTR _ofile$[esp+7984]
	mov	edx, DWORD PTR _MeBufferKAZE
	push	ecx
	push	1
	push	eax
	push	edx
	call	_fwrite
	add	esp, 16					; 00000010H
; Line 3218
	jmp	$L4244
$L4206:
; Line 3200
	push	eax
	push	OFFSET FLAT:$SG4211
	call	_printf
	add	esp, 8
; Line 3201
	mov	eax, 2
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4150:
; Line 3221
	mov	edx, DWORD PTR [esi+8]
	push	OFFSET FLAT:$SG4217
	push	edx
	call	_fopen
	add	esp, 8
	test	eax, eax
	mov	DWORD PTR _ifile$[esp+7984], eax
	jne	SHORT $L4216
; Line 3222
	mov	eax, DWORD PTR [esi+8]
	push	eax
	push	OFFSET FLAT:$SG4218
	call	_printf
	add	esp, 8
	mov	eax, 1
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4216:
; Line 3223
	mov	ecx, DWORD PTR [esi+12]
	push	OFFSET FLAT:$SG4219
	push	ecx
	call	_fopen
; Line 3226
	mov	edi, DWORD PTR _ifile$[esp+7992]
	push	2
	push	0
	push	edi
	mov	DWORD PTR _ofile$[esp+8004], eax
	call	_fseek
; Line 3227
	push	edi
	call	_ftell
; Line 3228
	push	0
	mov	esi, eax
	push	0
	push	edi
	mov	DWORD PTR _len$[esp+8020], esi
	call	_fseek
; Line 3229
	push	esi
	call	_malloc
; Line 3232
	mov	edx, DWORD PTR _ifile$[esp+8024]
	push	edx
	push	esi
	mov	edi, eax
	push	1
	push	edi
	call	_fread
	add	esp, 56					; 00000038H
; Line 3234
	cmp	bl, 100					; 00000064H
	jne	SHORT $L4221
; Line 3237
	push	edi
	call	_qlz_size_decompressed
; Line 3238
	push	eax
	call	_malloc
; Line 3241
	push	16					; 00000010H
	mov	ebx, eax
	call	_malloc
; Line 3245
	push	esi
	push	OFFSET FLAT:$SG4225
	mov	DWORD PTR _scratch$[esp+8004], eax
	call	_printf
; Line 3246
	mov	eax, DWORD PTR _scratch$[esp+8004]
	push	eax
	push	ebx
	push	edi
	call	_qlz_decompress
	mov	esi, eax
; Line 3248
	push	esi
	push	OFFSET FLAT:$SG4227
	call	_printf
; Line 3249
	mov	ecx, DWORD PTR _ofile$[esp+8024]
	push	ecx
	push	1
	push	esi
	push	ebx
	call	_fwrite
	add	esp, 56					; 00000038H
; Line 3251
	jmp	$L4244
$L4221:
; Line 3255
	push	268435457				; 10000001H
	call	_malloc
	cmp	bl, 82					; 00000052H
	mov	DWORD PTR _MeBufferKAZE, eax
	jne	SHORT $L4229
; Line 3258
	push	esi
	push	OFFSET FLAT:$SG4232
	call	_printf
; Line 3259
	mov	edx, DWORD PTR _MeBufferKAZE
	push	268435456				; 10000000H
	push	edx
	push	esi
	push	edi
	call	_fastlz_decompress
	mov	esi, eax
; Line 3261
	push	esi
	push	OFFSET FLAT:$SG4234
	call	_printf
; Line 3262
	mov	eax, DWORD PTR _ofile$[esp+8020]
	mov	ecx, DWORD PTR _MeBufferKAZE
	push	eax
	push	1
	push	esi
	push	ecx
	call	_fwrite
	add	esp, 52					; 00000034H
; Line 3264
	jmp	$L4244
$L4229:
	cmp	bl, 114					; 00000072H
	jne	SHORT $L4236
; Line 3271
	push	esi
	push	OFFSET FLAT:$SG4239
	call	_printf
; Line 3272
	mov	eax, DWORD PTR _MeBufferKAZE
	lea	edx, DWORD PTR _len$[esp+7996]
	push	edx
	push	eax
	push	esi
	push	edi
	call	_DecodeKAZE
; Line 3274
	mov	esi, DWORD PTR _len$[esp+8012]
	push	esi
	push	OFFSET FLAT:$SG4243
	call	_printf
; Line 3275
	mov	ecx, DWORD PTR _ofile$[esp+8020]
	mov	edx, DWORD PTR _MeBufferKAZE
	push	ecx
	push	1
	push	esi
	push	edx
	call	_fwrite
	add	esp, 52					; 00000034H
; Line 3277
	jmp	SHORT $L4244
$L4236:
; Line 3288
	push	0
	lea	ecx, DWORD PTR _out_len$[esp+7992]
	push	ecx
	push	eax
	push	esi
	push	edi
	call	_lzo1x_decompress
	add	esp, 24					; 00000018H
; Line 3289
	test	eax, eax
	jne	SHORT $L4247
; Line 3291
	mov	edx, DWORD PTR _out_len$[esp+7984]
	push	edx
	push	esi
	push	OFFSET FLAT:$SG4250
	call	_printf
; Line 3300
	mov	eax, DWORD PTR _ofile$[esp+7996]
	mov	ecx, DWORD PTR _out_len$[esp+7996]
	mov	edx, DWORD PTR _MeBufferKAZE
	push	eax
	push	1
	push	ecx
	push	edx
	call	_fwrite
	add	esp, 28					; 0000001cH
$L4244:
; Line 3304
	mov	eax, DWORD PTR _ifile$[esp+7984]
	push	eax
	call	_fclose
; Line 3305
	mov	ecx, DWORD PTR _ofile$[esp+7988]
	push	ecx
	call	_fclose
	add	esp, 8
	xor	eax, eax
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4247:
; Line 3295
	push	eax
	push	OFFSET FLAT:$SG4252
	call	_printf
	add	esp, 8
; Line 3296
	mov	eax, 1
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3732:
; Line 2487
	mov	ecx, DWORD PTR _args$[ebp]
	dec	eax
	add	ecx, 4
; Line 2489
	cmp	eax, ebx
	mov	DWORD PTR _argc$[esp+7984], eax
	mov	DWORD PTR tv2405[esp+7984], ecx
	mov	DWORD PTR _argv$[esp+7984], ecx
	jle	$L3784
	npad	3
$L3734:
; Line 2490
	mov	edx, DWORD PTR _argv$[esp+7984]
	mov	edi, DWORD PTR [edx]
	mov	esi, OFFSET FLAT:$SG3737
	mov	eax, edi
	npad	3
$L5202:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L5203
	test	cl, cl
	je	SHORT $L5204
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L5203
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L5202
$L5204:
	xor	eax, eax
	jmp	SHORT $L5205
$L5203:
	sbb	eax, eax
	sbb	eax, -1
$L5205:
	cmp	eax, ebx
	jne	SHORT $L3736
; Line 2491
	mov	DWORD PTR _SearchAlgorithm, 11		; 0000000bH
; Line 2492
	jmp	$L3786
$L3736:
	mov	esi, OFFSET FLAT:$SG3740
	mov	eax, edi
$L5206:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L5207
	test	cl, cl
	je	SHORT $L5208
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L5207
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L5206
$L5208:
	xor	eax, eax
	jmp	SHORT $L5209
$L5207:
	sbb	eax, eax
	sbb	eax, -1
$L5209:
	cmp	eax, ebx
	jne	SHORT $L3739
; Line 2493
	mov	DWORD PTR _SearchAlgorithm, 22		; 00000016H
; Line 2494
	jmp	$L3786
$L3739:
	mov	esi, OFFSET FLAT:$SG3743
	mov	eax, edi
$L5210:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L5211
	test	cl, cl
	je	SHORT $L5212
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L5211
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L5210
$L5212:
	xor	eax, eax
	jmp	SHORT $L5213
$L5211:
	sbb	eax, eax
	sbb	eax, -1
$L5213:
	cmp	eax, ebx
	jne	SHORT $L3742
; Line 2495
	mov	DWORD PTR _SearchAlgorithm, 33		; 00000021H
; Line 2496
	jmp	$L3786
$L3742:
	mov	esi, OFFSET FLAT:$SG3746
	mov	eax, edi
	npad	7
$L5214:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L5215
	test	cl, cl
	je	SHORT $L5216
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L5215
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L5214
$L5216:
	xor	eax, eax
	jmp	SHORT $L5217
$L5215:
	sbb	eax, eax
	sbb	eax, -1
$L5217:
	cmp	eax, ebx
	jne	SHORT $L3745
; Line 2497
	mov	DWORD PTR _SearchAlgorithm, 44		; 0000002cH
; Line 2498
	jmp	$L3786
$L3745:
	mov	esi, OFFSET FLAT:$SG3749
	mov	eax, edi
$L5218:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L5219
	test	cl, cl
	je	SHORT $L5220
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L5219
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L5218
$L5220:
	xor	eax, eax
	jmp	SHORT $L5221
$L5219:
	sbb	eax, eax
	sbb	eax, -1
$L5221:
	cmp	eax, ebx
	jne	SHORT $L3748
; Line 2499
	mov	DWORD PTR _SearchAlgorithm, 1
; Line 2500
	jmp	$L3786
$L3748:
	mov	esi, OFFSET FLAT:$SG3752
	mov	eax, edi
$L5222:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L5223
	test	cl, cl
	je	SHORT $L5224
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L5223
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L5222
$L5224:
	xor	eax, eax
	jmp	SHORT $L5225
$L5223:
	sbb	eax, eax
	sbb	eax, -1
$L5225:
	cmp	eax, ebx
	jne	SHORT $L3751
; Line 2501
	mov	DWORD PTR _SearchAlgorithm, 2
; Line 2502
	jmp	$L3786
$L3751:
	mov	esi, OFFSET FLAT:$SG3755
	mov	eax, edi
	npad	7
$L5226:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L5227
	test	cl, cl
	je	SHORT $L5228
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L5227
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L5226
$L5228:
	xor	eax, eax
	jmp	SHORT $L5229
$L5227:
	sbb	eax, eax
	sbb	eax, -1
$L5229:
	cmp	eax, ebx
	jne	SHORT $L3754
; Line 2503
	mov	DWORD PTR _SearchAlgorithm, 3
; Line 2504
	jmp	$L3786
$L3754:
	mov	esi, OFFSET FLAT:$SG3758
	mov	eax, edi
$L5230:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L5231
	test	cl, cl
	je	SHORT $L5232
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L5231
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L5230
$L5232:
	xor	eax, eax
	jmp	SHORT $L5233
$L5231:
	sbb	eax, eax
	sbb	eax, -1
$L5233:
	cmp	eax, ebx
	jne	SHORT $L3757
; Line 2505
	mov	DWORD PTR _SearchAlgorithm, 4
; Line 2506
	jmp	$L3786
$L3757:
	mov	esi, OFFSET FLAT:$SG3761
	mov	eax, edi
$L5234:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L5235
	test	cl, cl
	je	SHORT $L5236
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L5235
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L5234
$L5236:
	xor	eax, eax
	jmp	SHORT $L5237
$L5235:
	sbb	eax, eax
	sbb	eax, -1
$L5237:
	cmp	eax, ebx
	jne	SHORT $L3760
; Line 2507
	mov	DWORD PTR _SearchAlgorithm, 111		; 0000006fH
; Line 2508
	jmp	$L3786
$L3760:
	mov	esi, OFFSET FLAT:$SG3764
	mov	eax, edi
	npad	7
$L5238:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L5239
	test	cl, cl
	je	SHORT $L5240
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L5239
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L5238
$L5240:
	xor	eax, eax
	jmp	SHORT $L5241
$L5239:
	sbb	eax, eax
	sbb	eax, -1
$L5241:
	cmp	eax, ebx
	jne	SHORT $L3763
; Line 2509
	mov	DWORD PTR _SearchAlgorithm, 222		; 000000deH
; Line 2510
	jmp	$L3786
$L3763:
	mov	esi, OFFSET FLAT:$SG3767
	mov	eax, edi
$L5242:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L5243
	test	cl, cl
	je	SHORT $L5244
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L5243
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L5242
$L5244:
	xor	eax, eax
	jmp	SHORT $L5245
$L5243:
	sbb	eax, eax
	sbb	eax, -1
$L5245:
	cmp	eax, ebx
	jne	SHORT $L3766
; Line 2511
	mov	DWORD PTR _SearchAlgorithm, 333		; 0000014dH
; Line 2512
	jmp	$L3786
$L3766:
	mov	esi, OFFSET FLAT:$SG3770
	mov	eax, edi
$L5246:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L5247
	test	cl, cl
	je	SHORT $L5248
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L5247
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L5246
$L5248:
	xor	eax, eax
	jmp	SHORT $L5249
$L5247:
	sbb	eax, eax
	sbb	eax, -1
$L5249:
	cmp	eax, ebx
	jne	SHORT $L3769
; Line 2513
	mov	DWORD PTR _SearchAlgorithm, 444		; 000001bcH
; Line 2515
	jmp	$L3786
$L3769:
	mov	esi, OFFSET FLAT:$SG3773
	mov	eax, edi
	npad	7
$L5250:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L5251
	test	cl, cl
	je	SHORT $L5252
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L5251
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L5250
$L5252:
	xor	eax, eax
	jmp	SHORT $L5253
$L5251:
	sbb	eax, eax
	sbb	eax, -1
$L5253:
	cmp	eax, ebx
	jne	SHORT $L3772
; Line 2516
	mov	DWORD PTR _SearchAlgorithm, 1111	; 00000457H
; Line 2517
	jmp	$L3786
$L3772:
	mov	esi, OFFSET FLAT:$SG3776
	mov	eax, edi
$L5254:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L5255
	test	cl, cl
	je	SHORT $L5256
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L5255
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L5254
$L5256:
	xor	eax, eax
	jmp	SHORT $L5257
$L5255:
	sbb	eax, eax
	sbb	eax, -1
$L5257:
	cmp	eax, ebx
	jne	SHORT $L3775
; Line 2518
	mov	DWORD PTR _SearchAlgorithm, 2222	; 000008aeH
; Line 2519
	jmp	$L3786
$L3775:
	mov	esi, OFFSET FLAT:$SG3779
	mov	eax, edi
$L5258:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L5259
	test	cl, cl
	je	SHORT $L5260
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L5259
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L5258
$L5260:
	xor	eax, eax
	jmp	SHORT $L5261
$L5259:
	sbb	eax, eax
	sbb	eax, -1
$L5261:
	cmp	eax, ebx
	jne	SHORT $L3778
; Line 2520
	mov	DWORD PTR _SearchAlgorithm, 3333	; 00000d05H
; Line 2521
	jmp	SHORT $L3786
$L3778:
	mov	esi, OFFSET FLAT:$SG3782
	mov	eax, edi
$L5262:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L5263
	test	cl, cl
	je	SHORT $L5264
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L5263
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L5262
$L5264:
	xor	eax, eax
	jmp	SHORT $L5265
$L5263:
	sbb	eax, eax
	sbb	eax, -1
$L5265:
	cmp	eax, ebx
	jne	SHORT $L3781
; Line 2522
	mov	DWORD PTR _SearchAlgorithm, 4444	; 0000115cH
; Line 2524
	jmp	SHORT $L3786
$L3781:
	mov	esi, OFFSET FLAT:$SG3785
	mov	eax, edi
$L5266:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L5267
	test	cl, cl
	je	SHORT $L5268
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L5267
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L5266
$L5268:
	xor	eax, eax
	jmp	SHORT $L5269
$L5267:
	sbb	eax, eax
	sbb	eax, -1
$L5269:
	cmp	eax, ebx
	jne	SHORT $L3784
; Line 2525
	mov	DWORD PTR _SearchAlgorithm, 5
$L3786:
; Line 2529
	mov	eax, DWORD PTR _argc$[esp+7984]
	mov	edx, DWORD PTR _argv$[esp+7984]
	dec	eax
	add	edx, 4
	cmp	eax, ebx
	mov	DWORD PTR _argc$[esp+7984], eax
	mov	DWORD PTR _argv$[esp+7984], edx
	jg	$L3734
$L3784:
; Line 2536
	push	OFFSET FLAT:$SG3787
	mov	BYTE PTR _CRdLFa$[esp+7988], 13		; 0000000dH
	mov	BYTE PTR _CRdLFa$[esp+7989], 10		; 0000000aH
	call	_puts
; Line 2537
	push	OFFSET FLAT:$SG3788
	call	_puts
; Line 2538
	push	OFFSET FLAT:$SG3789
	call	_puts
; Line 2539
	push	OFFSET FLAT:$SG3790
	call	_puts
; Line 2540
	push	OFFSET FLAT:$SG3791
	call	_puts
; Line 2541
	push	OFFSET FLAT:$SG3792
	call	_puts
; Line 2544
	push	OFFSET FLAT:$SG3793
	call	_puts
; Line 2545
	push	OFFSET FLAT:$SG3794
	call	_puts
; Line 2546
	push	OFFSET FLAT:$SG3795
	call	_puts
; Line 2547
	push	OFFSET FLAT:$SG3796
	call	_puts
; Line 2548
	push	OFFSET FLAT:$SG3797
	call	_puts
; Line 2549
	push	OFFSET FLAT:$SG3798
	call	_puts
; Line 2550
	push	OFFSET FLAT:$SG3799
	call	_puts
; Line 2551
	push	OFFSET FLAT:$SG3800
	call	_puts
; Line 2552
	push	OFFSET FLAT:$SG3801
	call	_puts
; Line 2553
	push	OFFSET FLAT:$SG3802
	call	_puts
	add	esp, 64					; 00000040H
; Line 2554
	push	OFFSET FLAT:$SG3803
	call	_puts
; Line 2555
	push	OFFSET FLAT:$SG3804
	call	_puts
; Line 2556
	push	OFFSET FLAT:$SG3805
	call	_puts
; Line 2557
	push	OFFSET FLAT:$SG3806
	call	_puts
; Line 2558
	push	OFFSET FLAT:$SG3807
	call	_puts
; Line 2559
	push	OFFSET FLAT:$SG3808
	call	_puts
; Line 2560
	push	OFFSET FLAT:$SG3809
	call	_puts
; Line 2561
	push	OFFSET FLAT:$SG3810
	call	_puts
; Line 2562
	push	OFFSET FLAT:$SG3811
	call	_puts
; Line 2563
	push	OFFSET FLAT:$SG3812
	call	_puts
; Line 2564
	push	OFFSET FLAT:$SG3813
	call	_puts
; Line 2565
	push	OFFSET FLAT:$SG3814
	call	_puts
; Line 2566
	push	OFFSET FLAT:$SG3815
	call	_puts
; Line 2567
	push	OFFSET FLAT:$SG3816
	call	_puts
; Line 2568
	push	OFFSET FLAT:$SG3817
	call	_puts
; Line 2569
	push	OFFSET FLAT:$SG3818
	call	_puts
	add	esp, 64					; 00000040H
; Line 2570
	push	OFFSET FLAT:$SG3819
	call	_puts
; Line 2571
	push	OFFSET FLAT:$SG3820
	call	_puts
; Line 2572
	push	OFFSET FLAT:$SG3821
	call	_puts
; Line 2573
	push	OFFSET FLAT:$SG3822
	call	_puts
; Line 2574
	push	OFFSET FLAT:$SG3823
	call	_puts
; Line 2575
	push	OFFSET FLAT:$SG3824
	call	_puts
; Line 2576
	push	OFFSET FLAT:$SG3825
	call	_puts
; Line 2577
	push	OFFSET FLAT:$SG3826
	call	_puts
; Line 2578
	push	OFFSET FLAT:$SG3827
	call	_puts
; Line 2579
	push	OFFSET FLAT:$SG3828
	call	_puts
; Line 2580
	push	OFFSET FLAT:$SG3829
	call	_puts
; Line 2581
	push	OFFSET FLAT:$SG3830
	call	_puts
; Line 2582
	push	OFFSET FLAT:$SG3831
	call	_puts
; Line 2583
	push	OFFSET FLAT:$SG3832
	call	_puts
; Line 2584
	push	OFFSET FLAT:$SG3833
	call	_puts
; Line 2585
	push	OFFSET FLAT:$SG3834
	call	_puts
	add	esp, 64					; 00000040H
; Line 2586
	push	OFFSET FLAT:$SG3835
	call	_puts
; Line 2587
	push	OFFSET FLAT:$SG3836
	call	_puts
; Line 2588
	push	OFFSET FLAT:$SG3837
	call	_puts
; Line 2589
	push	OFFSET FLAT:$SG3838
	call	_puts
; Line 2590
	push	OFFSET FLAT:$SG3839
	call	_puts
; Line 2591
	push	OFFSET FLAT:$SG3840
	call	_puts
; Line 2592
	push	OFFSET FLAT:$SG3841
	call	_puts
; Line 2593
	push	OFFSET FLAT:$SG3842
	call	_puts
; Line 2594
	push	OFFSET FLAT:$SG3843
	call	_puts
; Line 2595
	push	OFFSET FLAT:$SG3844
	call	_puts
; Line 2596
	push	OFFSET FLAT:$SG3845
	call	_puts
; Line 2597
	push	OFFSET FLAT:$SG3846
	call	_puts
; Line 2598
	push	OFFSET FLAT:$SG3847
	call	_puts
; Line 2599
	push	OFFSET FLAT:$SG3848
	call	_puts
; Line 2600
	push	OFFSET FLAT:$SG3849
	call	_puts
; Line 2601
	push	OFFSET FLAT:$SG3850
	call	_puts
	add	esp, 64					; 00000040H
; Line 2602
	push	OFFSET FLAT:$SG3851
	call	_puts
; Line 2603
	push	OFFSET FLAT:$SG3852
	call	_puts
; Line 2604
	push	OFFSET FLAT:$SG3853
	call	_puts
; Line 2605
	push	OFFSET FLAT:$SG3854
	call	_puts
; Line 2606
	push	OFFSET FLAT:$SG3855
	call	_puts
; Line 2607
	push	OFFSET FLAT:$SG3856
	call	_puts
; Line 2608
	push	OFFSET FLAT:$SG3857
	call	_puts
; Line 2609
	push	OFFSET FLAT:$SG3858
	call	_puts
; Line 2610
	push	OFFSET FLAT:$SG3859
	call	_puts
; Line 2611
	push	OFFSET FLAT:$SG3860
	call	_puts
; Line 2612
	push	OFFSET FLAT:$SG3861
	call	_puts
; Line 2613
	push	OFFSET FLAT:$SG3862
	call	_puts
; Line 2614
	push	OFFSET FLAT:$SG3863
	call	_puts
; Line 2615
	push	OFFSET FLAT:$SG3864
	call	_puts
; Line 2616
	push	OFFSET FLAT:$SG3865
	call	_puts
; Line 2617
	push	OFFSET FLAT:$SG3866
	call	_puts
	add	esp, 64					; 00000040H
; Line 2618
	push	OFFSET FLAT:$SG3867
	call	_printf
; Line 2619
	push	OFFSET FLAT:$SG3868
	call	_printf
; Line 2620
	push	OFFSET FLAT:$SG3869
	call	_printf
; Line 2621
	push	OFFSET FLAT:$SG3870
	call	_printf
; Line 2622
	push	OFFSET FLAT:$SG3871
	call	_printf
; Line 2623
	push	OFFSET FLAT:$SG3872
	call	_printf
; Line 2624
	push	OFFSET FLAT:$SG3873
	call	_printf
; Line 2625
	push	OFFSET FLAT:$SG3874
	call	_printf
; Line 2626
	push	OFFSET FLAT:$SG3875
	call	_printf
; Line 2627
	push	OFFSET FLAT:$SG3876
	call	_printf
; Line 2628
	push	OFFSET FLAT:$SG3877
	call	_printf
; Line 2629
	push	OFFSET FLAT:$SG3878
	call	_printf
; Line 2630
	push	OFFSET FLAT:$SG3879
	call	_printf
; Line 2631
	push	OFFSET FLAT:$SG3880
	call	_printf
; Line 2632
	push	OFFSET FLAT:$SG3881
	call	_printf
; Line 2633
	push	OFFSET FLAT:$SG3882
	call	_printf
	add	esp, 64					; 00000040H
; Line 2634
	push	OFFSET FLAT:$SG3883
	call	_printf
; Line 2635
	push	OFFSET FLAT:$SG3884
	call	_printf
; Line 2636
	push	OFFSET FLAT:$SG3885
	call	_printf
; Line 2637
	push	OFFSET FLAT:$SG3886
	call	_printf
; Line 2638
	push	OFFSET FLAT:$SG3887
	call	_printf
; Line 2639
	push	OFFSET FLAT:$SG3888
	call	_printf
; Line 2640
	push	OFFSET FLAT:$SG3889
	call	_printf
; Line 2641
	push	OFFSET FLAT:$SG3890
	call	_puts
; Line 2642
	push	OFFSET FLAT:$SG3891
	call	_puts
; Line 2643
	push	OFFSET FLAT:$SG3892
	call	_puts
; Line 2645
	push	OFFSET FLAT:$SG3893
	call	_printf
; Line 2651
	push	24					; 00000018H
	push	4
	push	4
	push	4
	push	4
	push	4
	push	4
	push	4
	push	2
	push	8240					; 00002030H
	call	___lzo_init_v2
	add	esp, 84					; 00000054H
	test	eax, eax
	je	SHORT $L3913
; Line 2653
	push	OFFSET FLAT:$SG3914
	call	_printf
; Line 2654
	push	OFFSET FLAT:$SG3915
	call	_printf
	add	esp, 8
; Line 2655
	mov	eax, 3
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3913:
; Line 2659
	push	268435457				; 10000001H
	call	_malloc
	add	esp, 4
; Line 2660
	cmp	eax, ebx
	mov	DWORD PTR _MeBufferKAZE, eax
	jne	SHORT $L3918
; Line 2661
	push	OFFSET FLAT:$SG3919
	call	_puts
	add	esp, 4
	mov	eax, 1
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3918:
; Line 2662
	push	256					; 00000100H
	push	OFFSET FLAT:$SG3920
	call	_printf
; Line 2665
	mov	eax, DWORD PTR _SearchAlgorithm
	add	esp, 8
	cmp	eax, ebx
	jne	SHORT $L3921
; Line 2667
	mov	esi, DWORD PTR tv2405[esp+7984]
	mov	eax, DWORD PTR [esi]
	push	OFFSET FLAT:$SG3924
	push	eax
	call	_fopen
	mov	edi, eax
	add	esp, 8
	cmp	edi, ebx
	mov	DWORD PTR _fp_in$[esp+7984], edi
	jne	SHORT $L3928
; Line 2668
	mov	ecx, DWORD PTR [esi]
	push	ecx
	push	OFFSET FLAT:$SG3925
	call	_printf
	add	esp, 8
	mov	eax, 1
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3921:
; Line 2671
	mov	esi, DWORD PTR _args$[ebp]
	mov	edx, DWORD PTR [esi+8]
	push	OFFSET FLAT:$SG3929
	push	edx
	call	_fopen
	mov	edi, eax
	add	esp, 8
	cmp	edi, ebx
	mov	DWORD PTR _fp_in$[esp+7984], edi
	jne	SHORT $L3928
; Line 2672
	mov	eax, DWORD PTR [esi+8]
	push	eax
	push	OFFSET FLAT:$SG3930
	call	_printf
	add	esp, 8
	mov	eax, 1
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3928:
; Line 2674
	push	2
	push	0
	push	edi
	call	_fseek
; Line 2675
	push	edi
	call	_ftell
; Line 2676
	push	0
	mov	ebx, eax
	push	0
	push	edi
	mov	DWORD PTR _size_in$[esp+8012], ebx
	call	_fseek
; Line 2677
	push	ebx
	push	OFFSET FLAT:$SG3931
	call	_printf
; Line 2679
	push	OFFSET FLAT:$SG3934
	push	OFFSET FLAT:$SG3935
	call	_fopen
	mov	esi, eax
	add	esp, 44					; 0000002cH
	test	esi, esi
	mov	DWORD PTR _fp_outLOG1$[esp+7984], esi
	jne	SHORT $L3933
; Line 2680
	push	OFFSET FLAT:$SG3936
	call	_printf
	add	esp, 4
	mov	eax, 1
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3933:
; Line 2681
	lea	eax, DWORD PTR _HTML01$[esp+7984]
	lea	edx, DWORD PTR [eax+1]
$L5270:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5270
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML01$[esp+7996]
	push	ecx
	call	_fwrite
; Line 2682
	lea	eax, DWORD PTR _HTML02$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	1
$L5271:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5271
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML02$[esp+7996]
	push	edx
	call	_fwrite
; Line 2683
	lea	eax, DWORD PTR _HTML03$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5272:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5272
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML03$[esp+7996]
	push	eax
	call	_fwrite
; Line 2684
	lea	eax, DWORD PTR _HTML04$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5273:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5273
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML04$[esp+7996]
	push	ecx
	call	_fwrite
; Line 2685
	lea	eax, DWORD PTR _HTML05$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5274:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5274
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML05$[esp+7996]
	push	edx
	call	_fwrite
; Line 2686
	lea	eax, DWORD PTR _HTML06$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5275:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5275
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML06$[esp+7996]
	push	eax
	call	_fwrite
; Line 2687
	lea	eax, DWORD PTR _HTML07$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5276:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5276
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML07$[esp+7996]
	push	ecx
	call	_fwrite
; Line 2688
	lea	eax, DWORD PTR _HTML08$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5277:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5277
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML08$[esp+7996]
	push	edx
	call	_fwrite
; Line 2689
	lea	eax, DWORD PTR _HTML09$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5278:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5278
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML09$[esp+7996]
	push	eax
	call	_fwrite
; Line 2690
	push	esi
	push	1
	lea	ecx, DWORD PTR _CRdLFa$[esp+8008]
	push	2
	push	ecx
	call	_fwrite
; Line 2691
	push	OFFSET FLAT:$SG3939
	push	OFFSET FLAT:$SG3940
	call	_fopen
	mov	esi, eax
	add	esp, 40					; 00000028H
	test	esi, esi
	mov	DWORD PTR _fp_outLOG2$[esp+7984], esi
	jne	SHORT $L3938
; Line 2692
	push	OFFSET FLAT:$SG3941
	call	_printf
	add	esp, 4
	mov	eax, 1
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3938:
; Line 2693
	lea	eax, DWORD PTR _HTML01$[esp+7984]
	lea	edx, DWORD PTR [eax+1]
$L5279:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5279
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML01$[esp+7996]
	push	edx
	call	_fwrite
; Line 2694
	lea	eax, DWORD PTR _HTML02$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	7
$L5280:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5280
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML02$[esp+7996]
	push	eax
	call	_fwrite
; Line 2695
	lea	eax, DWORD PTR _HTML03$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5281:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5281
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML03$[esp+7996]
	push	ecx
	call	_fwrite
; Line 2696
	lea	eax, DWORD PTR _HTML04$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5282:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5282
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML04$[esp+7996]
	push	edx
	call	_fwrite
; Line 2697
	lea	eax, DWORD PTR _HTML05$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5283:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5283
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML05$[esp+7996]
	push	eax
	call	_fwrite
; Line 2698
	lea	eax, DWORD PTR _HTML06$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5284:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5284
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML06$[esp+7996]
	push	ecx
	call	_fwrite
; Line 2699
	lea	eax, DWORD PTR _HTML07$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5285:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5285
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML07$[esp+7996]
	push	edx
	call	_fwrite
; Line 2700
	lea	eax, DWORD PTR _HTML08$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5286:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5286
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML08$[esp+7996]
	push	eax
	call	_fwrite
; Line 2701
	lea	eax, DWORD PTR _HTML09$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5287:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5287
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML09$[esp+7996]
	push	ecx
	call	_fwrite
; Line 2702
	push	esi
	push	1
	lea	edx, DWORD PTR _CRdLFa$[esp+8008]
	push	2
	push	edx
	call	_fwrite
; Line 2703
	push	OFFSET FLAT:$SG3944
	push	OFFSET FLAT:$SG3945
	call	_fopen
	mov	esi, eax
	add	esp, 40					; 00000028H
	test	esi, esi
	mov	DWORD PTR _fp_outLOG3$[esp+7984], esi
	jne	SHORT $L3943
; Line 2704
	push	OFFSET FLAT:$SG3946
	call	_printf
	add	esp, 4
	mov	eax, 1
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3943:
; Line 2705
	lea	eax, DWORD PTR _HTML01$[esp+7984]
	lea	edx, DWORD PTR [eax+1]
$L5288:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5288
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML01$[esp+7996]
	push	eax
	call	_fwrite
; Line 2706
	lea	eax, DWORD PTR _HTML02$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	7
$L5289:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5289
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML02$[esp+7996]
	push	ecx
	call	_fwrite
; Line 2707
	lea	eax, DWORD PTR _HTML03$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5290:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5290
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML03$[esp+7996]
	push	edx
	call	_fwrite
; Line 2708
	lea	eax, DWORD PTR _HTML04$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5291:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5291
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML04$[esp+7996]
	push	eax
	call	_fwrite
; Line 2709
	lea	eax, DWORD PTR _HTML05$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5292:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5292
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML05$[esp+7996]
	push	ecx
	call	_fwrite
; Line 2710
	lea	eax, DWORD PTR _HTML06$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5293:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5293
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML06$[esp+7996]
	push	edx
	call	_fwrite
; Line 2711
	lea	eax, DWORD PTR _HTML07$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5294:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5294
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML07$[esp+7996]
	push	eax
	call	_fwrite
; Line 2712
	lea	eax, DWORD PTR _HTML08$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5295:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5295
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML08$[esp+7996]
	push	ecx
	call	_fwrite
; Line 2713
	lea	eax, DWORD PTR _HTML09$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5296:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5296
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML09$[esp+7996]
	push	edx
	call	_fwrite
; Line 2714
	push	esi
	push	1
	lea	eax, DWORD PTR _CRdLFa$[esp+8008]
	push	2
	push	eax
	call	_fwrite
; Line 2715
	push	OFFSET FLAT:$SG3949
	push	OFFSET FLAT:$SG3950
	call	_fopen
	mov	esi, eax
	add	esp, 40					; 00000028H
	test	esi, esi
	mov	DWORD PTR _fp_outLOG4$[esp+7984], esi
	jne	SHORT $L3948
; Line 2716
	push	OFFSET FLAT:$SG3951
	call	_printf
	add	esp, 4
	mov	eax, 1
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3948:
; Line 2717
	lea	eax, DWORD PTR _HTML01$[esp+7984]
	lea	edx, DWORD PTR [eax+1]
	npad	1
$L5297:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5297
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML01$[esp+7996]
	push	ecx
	call	_fwrite
; Line 2718
	lea	eax, DWORD PTR _HTML02$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5298:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5298
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML02$[esp+7996]
	push	edx
	call	_fwrite
; Line 2719
	lea	eax, DWORD PTR _HTML03$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5299:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5299
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML03$[esp+7996]
	push	eax
	call	_fwrite
; Line 2720
	lea	eax, DWORD PTR _HTML04$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5300:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5300
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML04$[esp+7996]
	push	ecx
	call	_fwrite
; Line 2721
	lea	eax, DWORD PTR _HTML05$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5301:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5301
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML05$[esp+7996]
	push	edx
	call	_fwrite
; Line 2722
	lea	eax, DWORD PTR _HTML06$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5302:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5302
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML06$[esp+7996]
	push	eax
	call	_fwrite
; Line 2723
	lea	eax, DWORD PTR _HTML07$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5303:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5303
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML07$[esp+7996]
	push	ecx
	call	_fwrite
; Line 2724
	lea	eax, DWORD PTR _HTML08$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5304:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5304
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML08$[esp+7996]
	push	edx
	call	_fwrite
; Line 2725
	lea	eax, DWORD PTR _HTML09$[esp+8000]
	add	esp, 16					; 00000010H
	lea	ecx, DWORD PTR [eax+1]
	npad	2
$L5305:
	mov	dl, BYTE PTR [eax]
	inc	eax
	test	dl, dl
	jne	SHORT $L5305
	push	esi
	sub	eax, ecx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML09$[esp+7996]
	push	eax
	call	_fwrite
; Line 2726
	push	esi
	push	1
	lea	ecx, DWORD PTR _CRdLFa$[esp+8008]
	push	2
	push	ecx
	call	_fwrite
; Line 2749
	push	OFFSET FLAT:$SG3953
	mov	BYTE PTR _Masterpattern$[esp+8020], 0
	mov	BYTE PTR _Pattern1$[esp+8020], 0
	mov	BYTE PTR _Pattern2$[esp+8020], 0
	mov	BYTE PTR _Pattern3$[esp+8020], 0
	mov	BYTE PTR _Pattern4$[esp+8020], 0
	mov	BYTE PTR _P1NestedPattern1$[esp+8020], 0
	mov	BYTE PTR _P1NestedPattern2$[esp+8020], 0
	mov	BYTE PTR _P1NestedPattern3$[esp+8020], 0
	mov	BYTE PTR _P2NestedPattern1$[esp+8020], 0
	mov	BYTE PTR _P2NestedPattern2$[esp+8020], 0
	mov	BYTE PTR _P2NestedPattern3$[esp+8020], 0
	mov	BYTE PTR _P3NestedPattern1$[esp+8020], 0
	mov	BYTE PTR _P3NestedPattern2$[esp+8020], 0
	mov	BYTE PTR _P3NestedPattern3$[esp+8020], 0
	mov	BYTE PTR _P4NestedPattern1$[esp+8020], 0
	mov	BYTE PTR _P4NestedPattern2$[esp+8020], 0
	mov	BYTE PTR _P4NestedPattern3$[esp+8020], 0
	call	_printf
	lea	edx, DWORD PTR _Masterpattern$[esp+8020]
	push	edx
	call	_gets
; Line 2750
	lea	eax, DWORD PTR _Masterpattern$[esp+8024]
	add	esp, 40					; 00000028H
	lea	edx, DWORD PTR [eax+1]
$L5306:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5306
	sub	eax, edx
	mov	DWORD PTR _Masterpatternlen$[esp+7984], eax
; Line 2751
	jne	SHORT $L3954
	mov	BYTE PTR _Masterpattern$[esp+7984], cl
$L3954:
; Line 2754
	push	OFFSET FLAT:$SG3955
	call	_printf
	lea	eax, DWORD PTR _Pattern1$[esp+7988]
	push	eax
	call	_gets
; Line 2755
	lea	eax, DWORD PTR _Pattern1$[esp+7992]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5307:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5307
	sub	eax, edx
	mov	DWORD PTR _Pattern1len$[esp+7984], eax
; Line 2756
	jne	SHORT $L3956
	mov	BYTE PTR _Pattern1$[esp+7984], cl
; Line 2757
	jmp	$L5190
$L3956:
; Line 2758
	push	OFFSET FLAT:$SG3958
	call	_printf
	lea	ecx, DWORD PTR _P1NestedPattern1$[esp+7988]
	push	ecx
	call	_gets
; Line 2759
	lea	eax, DWORD PTR _P1NestedPattern1$[esp+7992]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5308:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5308
	sub	eax, edx
	mov	DWORD PTR _P1NestedPattern1len$[esp+7984], eax
; Line 2760
	jne	SHORT $L3959
	mov	BYTE PTR _P1NestedPattern1$[esp+7984], cl
; Line 2761
	jmp	SHORT $L3965
$L3959:
; Line 2762
	push	OFFSET FLAT:$SG3961
	call	_printf
	lea	edx, DWORD PTR _P1NestedPattern2$[esp+7988]
	push	edx
	call	_gets
; Line 2763
	lea	eax, DWORD PTR _P1NestedPattern2$[esp+7992]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5309:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5309
	sub	eax, edx
	mov	DWORD PTR _P1NestedPattern2len$[esp+7984], eax
; Line 2764
	jne	SHORT $L3962
	mov	BYTE PTR _P1NestedPattern2$[esp+7984], cl
; Line 2765
	jmp	SHORT $L3965
$L3962:
; Line 2766
	push	OFFSET FLAT:$SG3964
	call	_printf
	lea	eax, DWORD PTR _P1NestedPattern3$[esp+7988]
	push	eax
	call	_gets
; Line 2767
	lea	eax, DWORD PTR _P1NestedPattern3$[esp+7992]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5310:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5310
	sub	eax, edx
	mov	DWORD PTR _P1NestedPattern3len$[esp+7984], eax
; Line 2768
	jne	SHORT $L3965
	mov	BYTE PTR _P1NestedPattern3$[esp+7984], cl
$L3965:
; Line 2771
	push	OFFSET FLAT:$SG3966
	call	_printf
	lea	ecx, DWORD PTR _Pattern2$[esp+7988]
	push	ecx
	call	_gets
; Line 2772
	lea	eax, DWORD PTR _Pattern2$[esp+7992]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
	npad	1
$L5311:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5311
	sub	eax, edx
	mov	DWORD PTR _Pattern2len$[esp+7984], eax
; Line 2773
	jne	SHORT $L3967
	mov	BYTE PTR _Pattern2$[esp+7984], cl
; Line 2774
	jmp	$L5190
$L3967:
; Line 2775
	push	OFFSET FLAT:$SG3969
	call	_printf
	lea	edx, DWORD PTR _P2NestedPattern1$[esp+7988]
	push	edx
	call	_gets
; Line 2776
	lea	eax, DWORD PTR _P2NestedPattern1$[esp+7992]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5312:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5312
	sub	eax, edx
	mov	DWORD PTR _P2NestedPattern1len$[esp+7984], eax
; Line 2777
	jne	SHORT $L3970
	mov	BYTE PTR _P2NestedPattern1$[esp+7984], cl
; Line 2778
	jmp	SHORT $L3976
$L3970:
; Line 2779
	push	OFFSET FLAT:$SG3972
	call	_printf
	lea	eax, DWORD PTR _P2NestedPattern2$[esp+7988]
	push	eax
	call	_gets
; Line 2780
	lea	eax, DWORD PTR _P2NestedPattern2$[esp+7992]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5313:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5313
	sub	eax, edx
	mov	DWORD PTR _P2NestedPattern2len$[esp+7984], eax
; Line 2781
	jne	SHORT $L3973
	mov	BYTE PTR _P2NestedPattern2$[esp+7984], cl
; Line 2782
	jmp	SHORT $L3976
$L3973:
; Line 2783
	push	OFFSET FLAT:$SG3975
	call	_printf
	lea	ecx, DWORD PTR _P2NestedPattern3$[esp+7988]
	push	ecx
	call	_gets
; Line 2784
	lea	eax, DWORD PTR _P2NestedPattern3$[esp+7992]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5314:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5314
	sub	eax, edx
	mov	DWORD PTR _P2NestedPattern3len$[esp+7984], eax
; Line 2785
	jne	SHORT $L3976
	mov	BYTE PTR _P2NestedPattern3$[esp+7984], cl
$L3976:
; Line 2788
	push	OFFSET FLAT:$SG3977
	call	_printf
	lea	edx, DWORD PTR _Pattern3$[esp+7988]
	push	edx
	call	_gets
; Line 2789
	lea	eax, DWORD PTR _Pattern3$[esp+7992]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
	npad	3
$L5315:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5315
	sub	eax, edx
	mov	DWORD PTR _Pattern3len$[esp+7984], eax
; Line 2790
	jne	SHORT $L3978
	mov	BYTE PTR _Pattern3$[esp+7984], cl
; Line 2791
	jmp	$L5190
$L3978:
; Line 2792
	push	OFFSET FLAT:$SG3980
	call	_printf
	lea	eax, DWORD PTR _P3NestedPattern1$[esp+7988]
	push	eax
	call	_gets
; Line 2793
	lea	eax, DWORD PTR _P3NestedPattern1$[esp+7992]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5316:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5316
	sub	eax, edx
	mov	DWORD PTR _P3NestedPattern1len$[esp+7984], eax
; Line 2794
	jne	SHORT $L3981
	mov	BYTE PTR _P3NestedPattern1$[esp+7984], cl
; Line 2795
	jmp	SHORT $L3987
$L3981:
; Line 2796
	push	OFFSET FLAT:$SG3983
	call	_printf
	lea	ecx, DWORD PTR _P3NestedPattern2$[esp+7988]
	push	ecx
	call	_gets
; Line 2797
	lea	eax, DWORD PTR _P3NestedPattern2$[esp+7992]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5317:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5317
	sub	eax, edx
	mov	DWORD PTR _P3NestedPattern2len$[esp+7984], eax
; Line 2798
	jne	SHORT $L3984
	mov	BYTE PTR _P3NestedPattern2$[esp+7984], cl
; Line 2799
	jmp	SHORT $L3987
$L3984:
; Line 2800
	push	OFFSET FLAT:$SG3986
	call	_printf
	lea	edx, DWORD PTR _P3NestedPattern3$[esp+7988]
	push	edx
	call	_gets
; Line 2801
	lea	eax, DWORD PTR _P3NestedPattern3$[esp+7992]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5318:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5318
	sub	eax, edx
	mov	DWORD PTR _P3NestedPattern3len$[esp+7984], eax
; Line 2802
	jne	SHORT $L3987
	mov	BYTE PTR _P3NestedPattern3$[esp+7984], cl
$L3987:
; Line 2805
	push	OFFSET FLAT:$SG3988
	call	_printf
	lea	eax, DWORD PTR _Pattern4$[esp+7988]
	push	eax
	call	_gets
; Line 2806
	lea	eax, DWORD PTR _Pattern4$[esp+7992]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
	npad	3
$L5319:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5319
	sub	eax, edx
	mov	DWORD PTR _Pattern4len$[esp+7984], eax
; Line 2807
	jne	SHORT $L3989
	mov	BYTE PTR _Pattern4$[esp+7984], cl
; Line 2808
	jmp	$L5190
$L3989:
; Line 2809
	push	OFFSET FLAT:$SG3991
	call	_printf
	lea	ecx, DWORD PTR _P4NestedPattern1$[esp+7988]
	push	ecx
	call	_gets
; Line 2810
	lea	eax, DWORD PTR _P4NestedPattern1$[esp+7992]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5320:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5320
	sub	eax, edx
	mov	DWORD PTR _P4NestedPattern1len$[esp+7984], eax
; Line 2811
	jne	SHORT $L3992
	mov	BYTE PTR _P4NestedPattern1$[esp+7984], cl
; Line 2812
	jmp	SHORT $L5190
$L3992:
; Line 2813
	push	OFFSET FLAT:$SG3994
	call	_printf
	lea	edx, DWORD PTR _P4NestedPattern2$[esp+7988]
	push	edx
	call	_gets
; Line 2814
	lea	eax, DWORD PTR _P4NestedPattern2$[esp+7992]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5321:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5321
	sub	eax, edx
	mov	DWORD PTR _P4NestedPattern2len$[esp+7984], eax
; Line 2815
	jne	SHORT $L3995
	mov	BYTE PTR _P4NestedPattern2$[esp+7984], cl
; Line 2816
	jmp	SHORT $L5190
$L3995:
; Line 2817
	push	OFFSET FLAT:$SG3997
	call	_printf
	lea	eax, DWORD PTR _P4NestedPattern3$[esp+7988]
	push	eax
	call	_gets
; Line 2818
	lea	eax, DWORD PTR _P4NestedPattern3$[esp+7992]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
	npad	1
$L5322:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5322
	sub	eax, edx
	mov	DWORD PTR _P4NestedPattern3len$[esp+7984], eax
; Line 2819
	jne	SHORT $L5190
	mov	BYTE PTR _P4NestedPattern3$[esp+7984], cl
$L5190:
; Line 2828
	call	_kbhit
	test	eax, eax
	je	SHORT $L4001
$L4000:
	call	_getch
	call	_kbhit
	test	eax, eax
	jne	SHORT $L4000
$L4001:
; Line 2830
	lea	ecx, DWORD PTR _t1$[esp+7984]
	push	ecx
	call	_time
	add	esp, 4
; Line 2831
	test	ebx, ebx
	mov	DWORD PTR _k$[esp+7984], 0
	jbe	$L4004
	mov	esi, DWORD PTR _LINE10len$[esp+7984]
$L4002:
; Line 2833
	call	_kbhit
	test	eax, eax
	je	SHORT $L4005
	call	_getch
	cmp	eax, 27					; 0000001bH
	je	$L5192
$L4005:
; Line 2837
	push	edi
	push	1
	lea	edx, DWORD PTR _workbyte$[esp+7992]
	push	1
	push	edx
	call	_fread
; Line 2838
	mov	al, BYTE PTR _workbyte$[esp+8000]
	add	esp, 16					; 00000010H
	cmp	al, 10					; 0000000aH
	je	SHORT $L4007
; Line 2839
	cmp	al, 13					; 0000000dH
	je	$L4003
; Line 2840
	cmp	esi, 2048				; 00000800H
	jae	SHORT $L4009
	mov	BYTE PTR _LINE10$[esp+esi+7984], al
$L4009:
; Line 2841
	inc	esi
; Line 2847
	jmp	$L4003
$L4007:
; Line 2848
	cmp	esi, 1
	jb	$L4003
	cmp	esi, 2048				; 00000800H
	ja	$L4003
; Line 2851
	lea	eax, DWORD PTR _LINE10$[esp+7984]
	push	OFFSET FLAT:$SG4015
	push	eax
	mov	BYTE PTR _LINE10$[esp+esi+7992], 0
	call	_fopen
	mov	ebx, eax
	add	esp, 8
	test	ebx, ebx
	mov	DWORD PTR _fp_inLINE$[esp+7984], ebx
	je	$L5193
; Line 2854
	lea	ecx, DWORD PTR _LINE10$[esp+7984]
	push	ecx
	push	OFFSET FLAT:$SG4017
	call	_printf
	add	esp, 8
; Line 2855
	call	_clock
; Line 2857
	cmp	DWORD PTR _SearchAlgorithm, 5
	je	SHORT $L4018
; Line 2858
	push	OFFSET FLAT:$SG4019
	call	_printf
	add	esp, 4
$L4018:
; Line 2859
	call	_clock
; Line 2868
	push	2
	push	0
	push	ebx
	mov	DWORD PTR _clocks1$[esp+7996], eax
	call	_fseek
; Line 2869
	push	ebx
	call	_ftell
; Line 2871
	push	0
	mov	esi, eax
	push	0
	push	ebx
	mov	edi, esi
	call	_fseek
; Line 2874
	mov	eax, DWORD PTR _SearchAlgorithm
	add	esp, 28					; 0000001cH
	cmp	eax, 5
; Line 2875
	push	ebx
	push	esi
	push	1
	je	SHORT $L4020
	mov	edx, DWORD PTR _MeBufferKAZE
	add	edx, 134217728				; 08000000H
	push	edx
; Line 2876
	jmp	SHORT $L5361
$L4020:
; Line 2877
	mov	eax, DWORD PTR _MeBufferKAZE
	push	eax
$L5361:
	call	_fread
; Line 2878
	mov	eax, DWORD PTR _SearchAlgorithm
	add	esp, 16					; 00000010H
	cmp	eax, 5
	jge	SHORT $L4022
; Line 2879
	mov	ecx, DWORD PTR _MeBufferKAZE
	add	ecx, 134217728				; 08000000H
	push	ecx
	call	_qlz_size_decompressed
	add	esp, 4
	mov	esi, eax
$L4022:
; Line 2880
	mov	ebx, esi
	xor	esi, esi
	mov	DWORD PTR _FileLENde$[esp+7984], ebx
	mov	DWORD PTR _FileLENde$[esp+7988], esi
; Line 2883
	call	_clock
	mov	DWORD PTR _clocks3$[esp+7984], eax
	fild	DWORD PTR _clocks3$[esp+7984]
; Line 2886
	mov	eax, DWORD PTR _SearchAlgorithm
	cmp	eax, 5
	fstp	QWORD PTR tv2514[esp+7984]
	fild	DWORD PTR _clocks1$[esp+7984]
	fst	QWORD PTR tv2516[esp+7984]
	fld	QWORD PTR tv2514[esp+7984]
	fadd	QWORD PTR _TotalRoughReadTime$[esp+7984]
	fsub	ST(0), ST(1)
	fstp	QWORD PTR _TotalRoughReadTime$[esp+7984]
	fstp	ST(0)
	je	$L4027
	cmp	eax, 1
	jl	SHORT $L4023
	cmp	eax, 4
	jg	SHORT $L4023
; Line 2887
	mov	edx, DWORD PTR _scratch$[esp+7984]
	mov	eax, DWORD PTR _MeBufferKAZE
	push	edx
	push	eax
	add	eax, 134217728				; 08000000H
	push	eax
	call	_qlz_decompress
	mov	eax, DWORD PTR _SearchAlgorithm
	add	esp, 12					; 0000000cH
$L4023:
; Line 2890
	cmp	eax, 5
	je	$L4027
	cmp	eax, 111				; 0000006fH
	jl	SHORT $L4024
	cmp	eax, 444				; 000001bcH
	jg	SHORT $L4024
; Line 2891
	mov	eax, DWORD PTR _MeBufferKAZE
	push	134217727				; 07ffffffH
	push	eax
	add	eax, 134217728				; 08000000H
	push	edi
	push	eax
	call	_fastlz_decompress
	cdq
	mov	ebx, eax
	mov	eax, DWORD PTR _SearchAlgorithm
	add	esp, 16					; 00000010H
	mov	DWORD PTR _FileLENde$[esp+7984], ebx
	mov	DWORD PTR _FileLENde$[esp+7988], edx
$L4024:
; Line 2894
	cmp	eax, 5
	je	SHORT $L4027
	cmp	eax, 1111				; 00000457H
	jl	SHORT $L4025
	cmp	eax, 4444				; 0000115cH
	jg	SHORT $L4025
; Line 2895
	lea	eax, DWORD PTR _FileLENde$[esp+7984]
	push	eax
	mov	eax, DWORD PTR _MeBufferKAZE
	push	eax
	add	eax, 134217728				; 08000000H
	push	edi
	push	eax
	call	_DecodeKAZE2
	mov	ebx, DWORD PTR _FileLENde$[esp+8000]
	mov	eax, DWORD PTR _SearchAlgorithm
	add	esp, 16					; 00000010H
$L4025:
; Line 2898
	cmp	eax, 5
	je	SHORT $L4027
	cmp	eax, 11					; 0000000bH
	jl	SHORT $L4027
	cmp	eax, 44					; 0000002cH
	jg	SHORT $L4027
; Line 2899
	mov	eax, DWORD PTR _MeBufferKAZE
	push	esi
	lea	ecx, DWORD PTR _out_len$[esp+7988]
	push	ecx
	push	eax
	add	eax, 134217728				; 08000000H
	push	edi
	push	eax
	call	_lzo1x_decompress
	add	esp, 20					; 00000014H
; Line 2900
	cmp	eax, esi
	jne	$L4029
; Line 2909
	mov	ebx, DWORD PTR _out_len$[esp+7984]
	mov	DWORD PTR _FileLENde$[esp+7988], esi
$L4027:
; Line 2914
	call	_clock
	mov	DWORD PTR _clocks2$[esp+7984], eax
	fild	DWORD PTR _clocks2$[esp+7984]
	fld	QWORD PTR _TotalRoughDecodeTime$[esp+7984]
	fadd	ST(0), ST(1)
	fsub	QWORD PTR tv2514[esp+7984]
	fstp	QWORD PTR _TotalRoughDecodeTime$[esp+7984]
; Line 2915
	fadd	QWORD PTR _TotalRoughReadDecodeTime$[esp+7984]
	fsub	QWORD PTR tv2516[esp+7984]
	fstp	QWORD PTR _TotalRoughReadDecodeTime$[esp+7984]
; Line 2916
	fld	QWORD PTR __real@0000000000000000
	fld	QWORD PTR _TotalRoughDecodeTime$[esp+7984]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L4032
	fld	QWORD PTR _TotalRoughDecodeTime$[esp+7984]
	fadd	QWORD PTR __real@3ff0000000000000
	fstp	QWORD PTR _TotalRoughDecodeTime$[esp+7984]
$L4032:
; Line 2917
	fld	QWORD PTR __real@0000000000000000
	fld	QWORD PTR _TotalRoughReadTime$[esp+7984]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L4033
	fld	QWORD PTR _TotalRoughReadTime$[esp+7984]
	fadd	QWORD PTR __real@3ff0000000000000
	fstp	QWORD PTR _TotalRoughReadTime$[esp+7984]
$L4033:
; Line 2918
	fld	QWORD PTR __real@0000000000000000
	fld	QWORD PTR _TotalRoughReadDecodeTime$[esp+7984]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L4034
	fld	QWORD PTR _TotalRoughReadDecodeTime$[esp+7984]
	fadd	QWORD PTR __real@3ff0000000000000
	fstp	QWORD PTR _TotalRoughReadDecodeTime$[esp+7984]
$L4034:
; Line 2919
	mov	esi, DWORD PTR _FilesLENen$[esp+7984]
; Line 2921
	fld	QWORD PTR _TotalRoughReadTime$[esp+7984]
	mov	edx, DWORD PTR _FilesLENde$[esp+7984]
	mov	ecx, DWORD PTR _FilesLENde$[esp+7988]
	add	esi, edi
	mov	edi, DWORD PTR _FilesLENen$[esp+7988]
	mov	eax, 0
	adc	edi, eax
	add	edx, ebx
	mov	DWORD PTR _FilesLENde$[esp+7984], edx
	mov	edx, DWORD PTR _FileLENde$[esp+7988]
	adc	ecx, edx
	lea	eax, DWORD PTR _llTOaDigits$[esp+7984]
	push	10					; 0000000aH
	mov	DWORD PTR _FilesLENen$[esp+7988], esi
	mov	DWORD PTR _FilesLENen$[esp+7992], edi
	mov	DWORD PTR _FilesLENde$[esp+7992], ecx
	push	eax
	call	__ftol2
	cdq
	push	edx
	push	eax
	push	edi
	push	esi
	call	__aulldiv
	shrd	eax, edx, 10
	shr	edx, 10					; 0000000aH
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	add	eax, 19					; 00000013H
	push	eax
	push	OFFSET FLAT:$SG4036
	call	_printf
; Line 2922
	mov	eax, DWORD PTR _SearchAlgorithm
	add	esp, 24					; 00000018H
	cmp	eax, 5
	je	$L4037
; Line 2923
	fld	QWORD PTR _TotalRoughDecodeTime$[esp+7984]
	call	__ftol2
	cdq
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits2$[esp+7988]
	push	ecx
	mov	edi, edx
	mov	edx, DWORD PTR _FilesLENde$[esp+7996]
	push	edi
	mov	esi, eax
	mov	eax, DWORD PTR _FilesLENde$[esp+7996]
	push	esi
	push	edx
	push	eax
	call	__aulldiv
	shrd	eax, edx, 10
	shr	edx, 10					; 0000000aH
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	mov	edx, DWORD PTR _FilesLENen$[esp+8004]
	add	esp, 16					; 00000010H
	add	eax, 19					; 00000013H
	push	eax
	mov	eax, DWORD PTR _FilesLENen$[esp+7988]
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7992]
	push	ecx
	push	edi
	push	esi
	push	edx
	push	eax
	call	__aulldiv
	shrd	eax, edx, 10
	shr	edx, 10					; 0000000aH
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 19					; 00000013H
	push	eax
	push	OFFSET FLAT:$SG4040
	call	_printf
; Line 2924
	fld	QWORD PTR _TotalRoughReadDecodeTime$[esp+7996]
	add	esp, 12					; 0000000cH
	call	__ftol2
	cdq
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits2$[esp+7988]
	push	ecx
	mov	edi, edx
	mov	edx, DWORD PTR _FilesLENde$[esp+7996]
	push	edi
	mov	esi, eax
	mov	eax, DWORD PTR _FilesLENde$[esp+7996]
	push	esi
	push	edx
	push	eax
	call	__aulldiv
	shrd	eax, edx, 10
	shr	edx, 10					; 0000000aH
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	mov	edx, DWORD PTR _FilesLENen$[esp+8004]
	add	esp, 16					; 00000010H
	add	eax, 19					; 00000013H
	push	eax
	mov	eax, DWORD PTR _FilesLENen$[esp+7988]
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7992]
	push	ecx
	push	edi
	push	esi
	push	edx
	push	eax
	call	__aulldiv
	shrd	eax, edx, 10
	shr	edx, 10					; 0000000aH
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 19					; 00000013H
	push	eax
	push	OFFSET FLAT:$SG4043
	call	_printf
	add	esp, 12					; 0000000cH
$L4037:
; Line 2926
	mov	ecx, DWORD PTR _fp_inLINE$[esp+7984]
	push	ecx
	call	_fclose
; Line 2933
	mov	edi, DWORD PTR _Masterpatternlen$[esp+7988]
	add	esp, 4
	test	edi, edi
	je	SHORT $L5199
; Line 2934
	call	_clock
; Line 2935
	push	OFFSET FLAT:$SG4045
	mov	esi, eax
	call	_printf
; Line 2936
	mov	eax, DWORD PTR _MeBufferKAZE
	push	edi
	push	ebx
	lea	edx, DWORD PTR _Masterpattern$[esp+7996]
	push	edx
	push	eax
	call	_IgorPavlovNoDUMP
	add	esp, 20					; 00000014H
	mov	edi, eax
; Line 2937
	call	_clock
	sub	eax, esi
; Line 2940
	test	edi, edi
	mov	DWORD PTR tv3596[esp+7984], eax
	fild	DWORD PTR tv3596[esp+7984]
	fadd	QWORD PTR _TotalRoughSearchTime$[esp+7984]
	fstp	QWORD PTR _TotalRoughSearchTime$[esp+7984]
	je	$L4086
$L5199:
; Line 2943
	mov	esi, DWORD PTR _Pattern1len$[esp+7984]
	test	esi, esi
	je	$L4050
; Line 2944
	call	_clock
; Line 2945
	push	OFFSET FLAT:$SG4051
	mov	DWORD PTR _clocks1$[esp+7988], eax
	call	_printf
; Line 2946
	mov	eax, DWORD PTR _P1NestedPattern3len$[esp+7988]
	mov	edi, DWORD PTR _fp_outLOG1$[esp+7988]
	lea	ecx, DWORD PTR _Bastumante2$[esp+7988]
	push	ecx
	lea	edx, DWORD PTR _INIHDDRAM$[esp+7992]
	push	edx
	mov	edx, DWORD PTR _P1NestedPattern2len$[esp+7996]
	push	eax
	lea	ecx, DWORD PTR _P1NestedPattern3$[esp+8000]
	push	ecx
	mov	ecx, DWORD PTR _P1NestedPattern1len$[esp+8004]
	push	edx
	lea	eax, DWORD PTR _P1NestedPattern2$[esp+8008]
	push	eax
	push	ecx
	mov	ecx, DWORD PTR _MeBufferKAZE
	lea	edx, DWORD PTR _P1NestedPattern1$[esp+8016]
	push	edx
	push	edi
	push	esi
	push	ebx
	lea	eax, DWORD PTR _Pattern1$[esp+8032]
	push	eax
	push	ecx
	call	_IgorPavlov
	mov	esi, eax
	add	esp, 56					; 00000038H
; Line 2952
	test	esi, esi
	je	SHORT $L4053
	cmp	DWORD PTR _SearchAlgorithm, 5
	jne	SHORT $L4053
; Line 2953
	lea	edx, DWORD PTR _LINE10$[esp+7984]
	push	edx
	push	esi
	push	OFFSET FLAT:$SG4054
	push	edi
	call	_fprintf
; Line 2954
	lea	eax, DWORD PTR _P1NestedPattern3$[esp+8000]
	push	eax
	lea	ecx, DWORD PTR _P1NestedPattern2$[esp+8004]
	push	ecx
	lea	edx, DWORD PTR _P1NestedPattern1$[esp+8008]
	push	edx
	lea	eax, DWORD PTR _Pattern1$[esp+8012]
	push	eax
	push	esi
	push	OFFSET FLAT:$SG4055
	push	edi
	call	_fprintf
	add	esp, 44					; 0000002cH
$L4053:
; Line 2957
	mov	eax, DWORD PTR _hits1$[esp+7984]
	add	eax, esi
	mov	DWORD PTR _hits1$[esp+7984], eax
; Line 2958
	je	SHORT $L4056
	mov	DWORD PTR _hits1flag$[esp+7984], 1
$L4056:
; Line 2959
	mov	ecx, DWORD PTR _P1NestedPattern1len$[esp+7984]
	test	ecx, ecx
	push	10					; 0000000aH
	jne	SHORT $L4057
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7988]
	cdq
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4058
; Line 2960
	jmp	SHORT $L5362
$L4057:
	lea	edx, DWORD PTR _llTOaDigits$[esp+7988]
	push	edx
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4060
$L5362:
	call	_printf
	add	esp, 24					; 00000018H
; Line 2961
	call	_clock
	sub	eax, DWORD PTR _clocks1$[esp+7984]
	mov	DWORD PTR tv3631[esp+7984], eax
	fild	DWORD PTR tv3631[esp+7984]
	fadd	QWORD PTR _TotalRoughSearchTime$[esp+7984]
	fstp	QWORD PTR _TotalRoughSearchTime$[esp+7984]
$L4050:
; Line 2964
	mov	esi, DWORD PTR _Pattern2len$[esp+7984]
	test	esi, esi
	je	$L4062
; Line 2965
	call	_clock
; Line 2966
	push	OFFSET FLAT:$SG4063
	mov	DWORD PTR _clocks1$[esp+7988], eax
	call	_printf
; Line 2967
	mov	edx, DWORD PTR _P2NestedPattern3len$[esp+7988]
	mov	edi, DWORD PTR _fp_outLOG2$[esp+7988]
	lea	eax, DWORD PTR _Bastumante2$[esp+7988]
	push	eax
	lea	ecx, DWORD PTR _INIHDDRAM$[esp+7992]
	push	ecx
	mov	ecx, DWORD PTR _P2NestedPattern2len$[esp+7996]
	push	edx
	lea	eax, DWORD PTR _P2NestedPattern3$[esp+8000]
	push	eax
	mov	eax, DWORD PTR _P2NestedPattern1len$[esp+8004]
	push	ecx
	lea	edx, DWORD PTR _P2NestedPattern2$[esp+8008]
	push	edx
	push	eax
	mov	eax, DWORD PTR _MeBufferKAZE
	lea	ecx, DWORD PTR _P2NestedPattern1$[esp+8016]
	push	ecx
	push	edi
	push	esi
	push	ebx
	lea	edx, DWORD PTR _Pattern2$[esp+8032]
	push	edx
	push	eax
	call	_IgorPavlov
	mov	esi, eax
	add	esp, 56					; 00000038H
; Line 2969
	test	esi, esi
	je	SHORT $L4065
	cmp	DWORD PTR _SearchAlgorithm, 5
	jne	SHORT $L4065
; Line 2970
	lea	ecx, DWORD PTR _LINE10$[esp+7984]
	push	ecx
	push	esi
	push	OFFSET FLAT:$SG4066
	push	edi
	call	_fprintf
; Line 2971
	lea	edx, DWORD PTR _P2NestedPattern3$[esp+8000]
	push	edx
	lea	eax, DWORD PTR _P2NestedPattern2$[esp+8004]
	push	eax
	lea	ecx, DWORD PTR _P2NestedPattern1$[esp+8008]
	push	ecx
	lea	edx, DWORD PTR _Pattern2$[esp+8012]
	push	edx
	push	esi
	push	OFFSET FLAT:$SG4067
	push	edi
	call	_fprintf
	add	esp, 44					; 0000002cH
$L4065:
; Line 2974
	mov	eax, DWORD PTR _hits2$[esp+7984]
	add	eax, esi
	mov	DWORD PTR _hits2$[esp+7984], eax
; Line 2975
	je	SHORT $L4068
	mov	DWORD PTR _hits2flag$[esp+7984], 1
$L4068:
; Line 2976
	mov	ecx, DWORD PTR _P2NestedPattern1len$[esp+7984]
	test	ecx, ecx
	push	10					; 0000000aH
	jne	SHORT $L4069
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7988]
	cdq
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4070
; Line 2977
	jmp	SHORT $L5363
$L4069:
	lea	edx, DWORD PTR _llTOaDigits$[esp+7988]
	push	edx
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4072
$L5363:
	call	_printf
	add	esp, 24					; 00000018H
; Line 2978
	call	_clock
	sub	eax, DWORD PTR _clocks1$[esp+7984]
	mov	DWORD PTR tv3666[esp+7984], eax
	fild	DWORD PTR tv3666[esp+7984]
	fadd	QWORD PTR _TotalRoughSearchTime$[esp+7984]
	fstp	QWORD PTR _TotalRoughSearchTime$[esp+7984]
$L4062:
; Line 2981
	mov	esi, DWORD PTR _Pattern3len$[esp+7984]
	test	esi, esi
	je	$L4074
; Line 2982
	call	_clock
; Line 2983
	push	OFFSET FLAT:$SG4075
	mov	DWORD PTR _clocks1$[esp+7988], eax
	call	_printf
; Line 2984
	mov	edx, DWORD PTR _P3NestedPattern3len$[esp+7988]
	mov	edi, DWORD PTR _fp_outLOG3$[esp+7988]
	lea	eax, DWORD PTR _Bastumante2$[esp+7988]
	push	eax
	lea	ecx, DWORD PTR _INIHDDRAM$[esp+7992]
	push	ecx
	mov	ecx, DWORD PTR _P3NestedPattern2len$[esp+7996]
	push	edx
	lea	eax, DWORD PTR _P3NestedPattern3$[esp+8000]
	push	eax
	mov	eax, DWORD PTR _P3NestedPattern1len$[esp+8004]
	push	ecx
	lea	edx, DWORD PTR _P3NestedPattern2$[esp+8008]
	push	edx
	push	eax
	mov	eax, DWORD PTR _MeBufferKAZE
	lea	ecx, DWORD PTR _P3NestedPattern1$[esp+8016]
	push	ecx
	push	edi
	push	esi
	push	ebx
	lea	edx, DWORD PTR _Pattern3$[esp+8032]
	push	edx
	push	eax
	call	_IgorPavlov
	mov	esi, eax
	add	esp, 56					; 00000038H
; Line 2986
	test	esi, esi
	je	SHORT $L4077
	cmp	DWORD PTR _SearchAlgorithm, 5
	jne	SHORT $L4077
; Line 2987
	lea	ecx, DWORD PTR _LINE10$[esp+7984]
	push	ecx
	push	esi
	push	OFFSET FLAT:$SG4078
	push	edi
	call	_fprintf
; Line 2988
	lea	edx, DWORD PTR _P3NestedPattern3$[esp+8000]
	push	edx
	lea	eax, DWORD PTR _P3NestedPattern2$[esp+8004]
	push	eax
	lea	ecx, DWORD PTR _P3NestedPattern1$[esp+8008]
	push	ecx
	lea	edx, DWORD PTR _Pattern3$[esp+8012]
	push	edx
	push	esi
	push	OFFSET FLAT:$SG4079
	push	edi
	call	_fprintf
	add	esp, 44					; 0000002cH
$L4077:
; Line 2991
	mov	eax, DWORD PTR _hits3$[esp+7984]
	add	eax, esi
	mov	DWORD PTR _hits3$[esp+7984], eax
; Line 2992
	je	SHORT $L4080
	mov	DWORD PTR _hits3flag$[esp+7984], 1
$L4080:
; Line 2993
	mov	ecx, DWORD PTR _P3NestedPattern1len$[esp+7984]
	test	ecx, ecx
	push	10					; 0000000aH
	jne	SHORT $L4081
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7988]
	cdq
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4082
; Line 2994
	jmp	SHORT $L5364
$L4081:
	lea	edx, DWORD PTR _llTOaDigits$[esp+7988]
	push	edx
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4084
$L5364:
	call	_printf
	add	esp, 24					; 00000018H
; Line 2995
	call	_clock
	sub	eax, DWORD PTR _clocks1$[esp+7984]
	mov	DWORD PTR tv3701[esp+7984], eax
	fild	DWORD PTR tv3701[esp+7984]
	fadd	QWORD PTR _TotalRoughSearchTime$[esp+7984]
	fstp	QWORD PTR _TotalRoughSearchTime$[esp+7984]
$L4074:
; Line 2998
	mov	esi, DWORD PTR _Pattern4len$[esp+7984]
	test	esi, esi
	je	$L4086
; Line 2999
	call	_clock
; Line 3000
	push	OFFSET FLAT:$SG4087
	mov	DWORD PTR _clocks1$[esp+7988], eax
	call	_printf
; Line 3001
	mov	edx, DWORD PTR _P4NestedPattern3len$[esp+7988]
	mov	edi, DWORD PTR _fp_outLOG4$[esp+7988]
	lea	eax, DWORD PTR _Bastumante2$[esp+7988]
	push	eax
	lea	ecx, DWORD PTR _INIHDDRAM$[esp+7992]
	push	ecx
	mov	ecx, DWORD PTR _P4NestedPattern2len$[esp+7996]
	push	edx
	lea	eax, DWORD PTR _P4NestedPattern3$[esp+8000]
	push	eax
	mov	eax, DWORD PTR _P4NestedPattern1len$[esp+8004]
	push	ecx
	lea	edx, DWORD PTR _P4NestedPattern2$[esp+8008]
	push	edx
	push	eax
	mov	eax, DWORD PTR _MeBufferKAZE
	lea	ecx, DWORD PTR _P4NestedPattern1$[esp+8016]
	push	ecx
	push	edi
	push	esi
	push	ebx
	lea	edx, DWORD PTR _Pattern4$[esp+8032]
	push	edx
	push	eax
	call	_IgorPavlov
	mov	esi, eax
	add	esp, 56					; 00000038H
; Line 3003
	test	esi, esi
	je	SHORT $L4089
	cmp	DWORD PTR _SearchAlgorithm, 5
	jne	SHORT $L4089
; Line 3004
	lea	ecx, DWORD PTR _LINE10$[esp+7984]
	push	ecx
	push	esi
	push	OFFSET FLAT:$SG4090
	push	edi
	call	_fprintf
; Line 3005
	lea	edx, DWORD PTR _P4NestedPattern3$[esp+8000]
	push	edx
	lea	eax, DWORD PTR _P4NestedPattern2$[esp+8004]
	push	eax
	lea	ecx, DWORD PTR _P4NestedPattern1$[esp+8008]
	push	ecx
	lea	edx, DWORD PTR _Pattern4$[esp+8012]
	push	edx
	push	esi
	push	OFFSET FLAT:$SG4091
	push	edi
	call	_fprintf
	add	esp, 44					; 0000002cH
$L4089:
; Line 3008
	mov	eax, DWORD PTR _hits4$[esp+7984]
	add	eax, esi
	mov	DWORD PTR _hits4$[esp+7984], eax
; Line 3009
	je	SHORT $L4092
	mov	DWORD PTR _hits4flag$[esp+7984], 1
$L4092:
; Line 3010
	mov	ecx, DWORD PTR _P4NestedPattern1len$[esp+7984]
	test	ecx, ecx
	push	10					; 0000000aH
	jne	SHORT $L4093
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7988]
	cdq
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4094
; Line 3011
	jmp	SHORT $L5365
$L4093:
	lea	edx, DWORD PTR _llTOaDigits$[esp+7988]
	push	edx
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4096
$L5365:
	call	_printf
	add	esp, 24					; 00000018H
; Line 3012
	call	_clock
	sub	eax, DWORD PTR _clocks1$[esp+7984]
	mov	DWORD PTR tv3736[esp+7984], eax
	fild	DWORD PTR tv3736[esp+7984]
	fadd	QWORD PTR _TotalRoughSearchTime$[esp+7984]
	fstp	QWORD PTR _TotalRoughSearchTime$[esp+7984]
$L4086:
; Line 3018
	mov	edi, DWORD PTR _fp_in$[esp+7984]
	mov	ebx, DWORD PTR _size_in$[esp+7984]
	mov	DWORD PTR _LINE10len$[esp+7984], 0
	mov	esi, DWORD PTR _LINE10len$[esp+7984]
	mov	BYTE PTR _LINE10$[esp+7984], 0
$L4003:
	mov	eax, DWORD PTR _k$[esp+7984]
	inc	eax
	cmp	eax, ebx
	mov	DWORD PTR _k$[esp+7984], eax
	jb	$L4002
$L4004:
; Line 3022
	lea	ecx, DWORD PTR _t3$[esp+7984]
	push	ecx
	call	_time
; Line 3023
	push	OFFSET FLAT:$SG4098
	call	_printf
; Line 3024
	fld	QWORD PTR _TotalRoughReadTime$[esp+7992]
	add	esp, 8
	call	__ftol2
	mov	ecx, DWORD PTR _FilesLENen$[esp+7984]
	cdq
	push	10					; 0000000aH
	mov	esi, edx
	lea	edx, DWORD PTR _llTOaDigits$[esp+7988]
	push	edx
	push	esi
	mov	ebx, eax
	mov	eax, DWORD PTR _FilesLENen$[esp+8000]
	push	ebx
	push	eax
	push	ecx
	mov	DWORD PTR tv2542[esp+8012], esi
	call	__aulldiv
	shrd	eax, edx, 10
	shr	edx, 10					; 0000000aH
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	add	eax, 19					; 00000013H
	push	eax
	push	OFFSET FLAT:$SG4100
	call	_printf
; Line 3025
	mov	eax, DWORD PTR _SearchAlgorithm
	mov	edi, 5
	add	esp, 24					; 00000018H
	cmp	eax, edi
	je	$L4101
; Line 3026
	fld	QWORD PTR _TotalRoughDecodeTime$[esp+7984]
	call	__ftol2
	mov	ecx, DWORD PTR _FilesLENde$[esp+7984]
	cdq
	push	10					; 0000000aH
	mov	edi, edx
	lea	edx, DWORD PTR _llTOaDigits2$[esp+7988]
	push	edx
	push	edi
	mov	esi, eax
	mov	eax, DWORD PTR _FilesLENde$[esp+8000]
	push	esi
	push	eax
	push	ecx
	call	__aulldiv
	shrd	eax, edx, 10
	shr	edx, 10					; 0000000aH
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	mov	ecx, DWORD PTR _FilesLENen$[esp+8000]
	add	esp, 16					; 00000010H
	add	eax, 19					; 00000013H
	push	eax
	mov	eax, DWORD PTR _FilesLENen$[esp+7992]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+7992]
	push	edx
	push	edi
	push	esi
	push	eax
	push	ecx
	call	__aulldiv
	shrd	eax, edx, 10
	shr	edx, 10					; 0000000aH
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 19					; 00000013H
	push	eax
	push	OFFSET FLAT:$SG4104
	call	_printf
; Line 3027
	fld	QWORD PTR _TotalRoughReadDecodeTime$[esp+7996]
	add	esp, 12					; 0000000cH
	call	__ftol2
	mov	ecx, DWORD PTR _FilesLENde$[esp+7984]
	cdq
	push	10					; 0000000aH
	mov	edi, edx
	lea	edx, DWORD PTR _llTOaDigits2$[esp+7988]
	push	edx
	push	edi
	mov	esi, eax
	mov	eax, DWORD PTR _FilesLENde$[esp+8000]
	push	esi
	push	eax
	push	ecx
	call	__aulldiv
	shrd	eax, edx, 10
	shr	edx, 10					; 0000000aH
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	mov	ecx, DWORD PTR _FilesLENen$[esp+8000]
	add	esp, 16					; 00000010H
	add	eax, 19					; 00000013H
	push	eax
	mov	eax, DWORD PTR _FilesLENen$[esp+7992]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+7992]
	push	edx
	push	edi
	push	esi
	push	eax
	push	ecx
	call	__aulldiv
	shrd	eax, edx, 10
	shr	edx, 10					; 0000000aH
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 19					; 00000013H
	push	eax
	push	OFFSET FLAT:$SG4107
	call	_printf
	mov	esi, DWORD PTR tv2542[esp+8000]
	add	esp, 12					; 0000000cH
	mov	edi, 5
$L4101:
; Line 3029
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+7988]
	push	edx
	push	esi
	push	ebx
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4109
	call	_printf
; Line 3030
	mov	eax, DWORD PTR _SearchAlgorithm
	add	esp, 24					; 00000018H
	cmp	eax, edi
	je	SHORT $L4110
; Line 3031
	fld	QWORD PTR _TotalRoughDecodeTime$[esp+7984]
	lea	eax, DWORD PTR _llTOaDigits$[esp+7984]
	push	10					; 0000000aH
	push	eax
	call	__ftol2
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4112
	call	_printf
	add	esp, 24					; 00000018H
$L4110:
; Line 3032
	fld	QWORD PTR _TotalRoughSearchTime$[esp+7984]
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7984]
	push	10					; 0000000aH
	push	ecx
	call	__ftol2
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4114
	call	_printf
; Line 3033
	mov	edx, DWORD PTR _t3$[esp+8008]
	sub	edx, DWORD PTR _t1$[esp+8008]
	push	edx
	push	OFFSET FLAT:$SG4116
	call	_printf
; Line 3034
	mov	ecx, DWORD PTR _FilesLENde$[esp+8020]
	mov	edx, DWORD PTR _FilesLENde$[esp+8016]
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+8020]
	push	eax
	push	ecx
	push	edx
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4117
	call	_printf
; Line 3036
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+8044]
	push	eax
	mov	eax, DWORD PTR _SearchAlgorithm_invocations_global_counter
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	add	esp, 72					; 00000048H
	push	eax
	push	OFFSET FLAT:$SG4118
	call	_printf
; Line 3042
	mov	eax, DWORD PTR _SearchAlgorithm
	add	esp, 8
	cmp	eax, edi
	je	$L4138
; Line 3044
	mov	eax, DWORD PTR _VIVA_IgorPavlov_invocations_global_counter
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7988]
	cdq
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4120
	call	_printf
; Line 3045
	mov	eax, DWORD PTR _WildGLOBALhits
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+8012]
	push	edx
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4121
	call	_printf
; Line 3046
	fld	QWORD PTR _clocksGW
	lea	eax, DWORD PTR _llTOaDigits$[esp+8032]
	push	10					; 0000000aH
	push	eax
	call	__ftol2
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	add	esp, 64					; 00000040H
	push	eax
	push	OFFSET FLAT:$SG4123
	call	_printf
; Line 3047
	fld	QWORD PTR __real@0000000000000000
	fld	QWORD PTR _clocksGW
	add	esp, 8
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $L4124
; Line 3048
	fld	QWORD PTR _clocksGW
	lea	ecx, DWORD PTR _llTOaDigits2$[esp+7984]
	push	10					; 0000000aH
	push	ecx
	call	__ftol2
	cdq
	push	edx
	mov	edx, DWORD PTR _clocksGWtxt+4
	push	eax
	mov	eax, DWORD PTR _clocksGWtxt
	push	edx
	push	eax
	call	__aulldiv
	shrd	eax, edx, 10
	shr	edx, 10					; 0000000aH
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4126
	call	_printf
	add	esp, 24					; 00000018H
$L4124:
; Line 3050
	mov	eax, DWORD PTR _HORSPOOLhits_invocations_global_counter
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7988]
	cdq
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4127
	call	_printf
; Line 3051
	mov	eax, DWORD PTR _HorspoolGLOBALhits
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+8012]
	push	edx
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4128
	call	_printf
; Line 3052
	fld	QWORD PTR _clocksGH
	lea	eax, DWORD PTR _llTOaDigits$[esp+8032]
	push	10					; 0000000aH
	push	eax
	call	__ftol2
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	add	esp, 64					; 00000040H
	push	eax
	push	OFFSET FLAT:$SG4130
	call	_printf
; Line 3053
	fld	QWORD PTR __real@0000000000000000
	fld	QWORD PTR _clocksGH
	add	esp, 8
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $L4131
; Line 3054
	fld	QWORD PTR _clocksGH
	lea	ecx, DWORD PTR _llTOaDigits2$[esp+7984]
	push	10					; 0000000aH
	push	ecx
	call	__ftol2
	cdq
	push	edx
	mov	edx, DWORD PTR _clocksGHtxt+4
	push	eax
	mov	eax, DWORD PTR _clocksGHtxt
	push	edx
	push	eax
	call	__aulldiv
	shrd	eax, edx, 10
	shr	edx, 10					; 0000000aH
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4133
	call	_printf
	add	esp, 24					; 00000018H
$L4131:
; Line 3056
	mov	eax, DWORD PTR _KarpRabinKazeHits_invocations_global_counter
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7988]
	cdq
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4134
	call	_printf
; Line 3057
	mov	eax, DWORD PTR _FRKFindSubpbGLOBALHITS
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+8012]
	push	edx
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4135
	call	_printf
; Line 3058
	fld	QWORD PTR _clocksGK
	lea	eax, DWORD PTR _llTOaDigits$[esp+8032]
	push	10					; 0000000aH
	push	eax
	call	__ftol2
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	add	esp, 64					; 00000040H
	push	eax
	push	OFFSET FLAT:$SG4137
	call	_printf
; Line 3059
	fld	QWORD PTR __real@0000000000000000
	fld	QWORD PTR _clocksGK
	add	esp, 8
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $L4138
; Line 3060
	fld	QWORD PTR _clocksGK
	lea	ecx, DWORD PTR _llTOaDigits2$[esp+7984]
	push	10					; 0000000aH
	push	ecx
	call	__ftol2
	cdq
	push	edx
	mov	edx, DWORD PTR _clocksGKtxt+4
	push	eax
	mov	eax, DWORD PTR _clocksGKtxt
	push	edx
	push	eax
	call	__aulldiv
	shrd	eax, edx, 10
	shr	edx, 10					; 0000000aH
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4140
	call	_printf
	add	esp, 24					; 00000018H
$L4138:
; Line 3063
	mov	eax, DWORD PTR _hits1flag$[esp+7984]
	test	eax, eax
	je	$L4141
; Line 3066
	lea	eax, DWORD PTR _HTML12$[esp+7984]
	lea	edx, DWORD PTR [eax+1]
$L5325:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5325
	mov	esi, DWORD PTR _fp_outLOG1$[esp+7984]
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML12$[esp+7996]
	push	ecx
	call	_fwrite
; Line 3067
	lea	eax, DWORD PTR _HTML13$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5326:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5326
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML13$[esp+7996]
	push	edx
	call	_fwrite
; Line 3068
	lea	eax, DWORD PTR _HTML14$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5327:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5327
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML14$[esp+7996]
	push	eax
	call	_fwrite
; Line 3069
	lea	eax, DWORD PTR _HTML15$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5328:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5328
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML15$[esp+7996]
	push	ecx
	call	_fwrite
	add	esp, 16					; 00000010H
$L4141:
; Line 3071
	mov	eax, DWORD PTR _hits2flag$[esp+7984]
	test	eax, eax
	je	$L4142
; Line 3074
	lea	eax, DWORD PTR _HTML12$[esp+7984]
	lea	edx, DWORD PTR [eax+1]
$L5329:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5329
	mov	esi, DWORD PTR _fp_outLOG2$[esp+7984]
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML12$[esp+7996]
	push	edx
	call	_fwrite
; Line 3075
	lea	eax, DWORD PTR _HTML13$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5330:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5330
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML13$[esp+7996]
	push	eax
	call	_fwrite
; Line 3076
	lea	eax, DWORD PTR _HTML14$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	5
$L5331:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5331
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML14$[esp+7996]
	push	ecx
	call	_fwrite
; Line 3077
	lea	eax, DWORD PTR _HTML15$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5332:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5332
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML15$[esp+7996]
	push	edx
	call	_fwrite
	add	esp, 16					; 00000010H
$L4142:
; Line 3079
	mov	eax, DWORD PTR _hits3flag$[esp+7984]
	test	eax, eax
	je	$L4143
; Line 3082
	lea	eax, DWORD PTR _HTML12$[esp+7984]
	lea	edx, DWORD PTR [eax+1]
	npad	3
$L5333:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5333
	mov	esi, DWORD PTR _fp_outLOG3$[esp+7984]
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML12$[esp+7996]
	push	eax
	call	_fwrite
; Line 3083
	lea	eax, DWORD PTR _HTML13$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5334:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5334
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML13$[esp+7996]
	push	ecx
	call	_fwrite
; Line 3084
	lea	eax, DWORD PTR _HTML14$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5335:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5335
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML14$[esp+7996]
	push	edx
	call	_fwrite
; Line 3085
	lea	eax, DWORD PTR _HTML15$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5336:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5336
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML15$[esp+7996]
	push	eax
	call	_fwrite
	add	esp, 16					; 00000010H
$L4143:
; Line 3087
	mov	eax, DWORD PTR _hits4flag$[esp+7984]
	test	eax, eax
	je	$L4144
; Line 3090
	lea	eax, DWORD PTR _HTML12$[esp+7984]
	lea	edx, DWORD PTR [eax+1]
$L5337:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5337
	mov	esi, DWORD PTR _fp_outLOG4$[esp+7984]
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML12$[esp+7996]
	push	ecx
	call	_fwrite
; Line 3091
	lea	eax, DWORD PTR _HTML13$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5338:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5338
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML13$[esp+7996]
	push	edx
	call	_fwrite
; Line 3092
	lea	eax, DWORD PTR _HTML14$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5339:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5339
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML14$[esp+7996]
	push	eax
	call	_fwrite
; Line 3093
	lea	eax, DWORD PTR _HTML15$[esp+8000]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	1
$L5340:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5340
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML15$[esp+7996]
	push	ecx
	call	_fwrite
	add	esp, 16					; 00000010H
$L4144:
; Line 3096
	push	OFFSET FLAT:$SG4145
	call	_printf
	add	esp, 4
$L5358:
; Line 3097
	xor	eax, eax
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L5192:
; Line 2834
	push	OFFSET FLAT:$SG4006
	call	_printf
	add	esp, 4
; Line 2835
	jmp	$L4004
$L5193:
; Line 2852
	lea	eax, DWORD PTR _LINE10$[esp+7984]
	push	eax
	push	OFFSET FLAT:$SG4016
	call	_printf
	add	esp, 8
	mov	eax, 1
; Line 3309
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4029:
; Line 2906
	push	eax
	push	OFFSET FLAT:$SG4031
	call	_printf
	add	esp, 8
; Line 3309
	pop	edi
	pop	esi
	mov	eax, 1
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L5357:
_main	ENDP
_TEXT	ENDS
END
