; 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
$SG3693	DB	01H DUP (?)
	ALIGN	4

$SG3759	DB	01H DUP (?)
_BSS	ENDS
_DATA	SEGMENT
COMM	_MeBufferKAZE:DWORD
_DATA	ENDS
_BSS	SEGMENT
	ALIGN	8

_TotalLinesENC DQ 01H DUP (?)
_BSS	ENDS
_DATA	SEGMENT
COMM	_clocksG1:DWORD
COMM	_clocksG2:DWORD
_DATA	ENDS
_BSS	SEGMENT
_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
$SG2806	DB	'<>'
	ORG $+2
$SG2840	DB	'NON-ENCODED', 00H
$SG2880	DB	'<>'
	ORG $+2
$SG2924	DB	'NON-ENCODED', 00H
$SG2928	DB	'%s ', 00H
$SG3296	DB	'%12ld', 0dH, 00H
	ORG $+1
$SG3306	DB	'In : %ld bytes', 0aH, 00H
$SG3307	DB	'Out: %ld bytes', 0aH, 00H
$SG3309	DB	'Out/In: %.3f', 0aH, 00H
	ORG $+2
$SG3578	DB	'DECODING HDD2RAM', 00H
	ORG $+3
$SG3580	DB	' <i><small>target file:</small></i> ', 00H, 00H
	ORG $+2
$SG3582	DB	'[', 00H
	ORG $+2
$SG3584	DB	']', 00H
	ORG $+2
$SG3586	DB	' ', 00H
	ORG $+2
$SG3588	DB	'+', 00H
	ORG $+2
$SG3593	DB	'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitiona'
	DB	'l//EN">', 00H, 00H
	ORG $+3
$SG3595	DB	'<html><head><title>Kazuya Hits</title>', 00H, 00H
	ORG $+4
$SG3597	DB	'<meta http-equiv="Content-Type" content="text/html; char'
	DB	'set=utf-8">', 00H, 00H
	ORG $+3
$SG3599	DB	'</head>', 00H, 00H
	ORG $+3
$SG3601	DB	'<body ', 00H, 00H
	ORG $+4
$SG3603	DB	'style="background-image: url(./Kazuya.gif); color: rgb(0'
	DB	', 200, 221); background-color: rgb(7, 12, 17);"', 00H, 00H
	ORG $+3
$SG3605	DB	'alink="#003366" link="#006699" vlink="#003366">', 00H, 00H
	ORG $+3
$SG3607	DB	'<font color="#7788AA" face="Courier New, Courier, mono">'
	DB	00H, 00H
	ORG $+2
$SG3609	DB	'<pre>', 00H, 00H
	ORG $+1
$SG3611	DB	'<a href="file://localhost/', 00H, 00H
$SG3613	DB	'">Kazuya link to</a>', 00H, 00H
	ORG $+2
$SG3615	DB	'</pre>', 00H, 00H
$SG3617	DB	'</font>', 00H, 00H
	ORG $+3
$SG3619	DB	'</body>', 00H, 00H
	ORG $+3
$SG3621	DB	'</html>', 00H, 00H
	ORG $+3
$SG3623	DB	'<font color="#0099BB" face="Courier New, Courier, mono">'
	DB	00H, 00H
	ORG $+2
$SG3638	DB	'-SA1', 00H
	ORG $+3
$SG3641	DB	'-SA2', 00H
	ORG $+3
$SG3644	DB	'-SA3', 00H
	ORG $+3
$SG3647	DB	'-SA4', 00H
	ORG $+3
$SG3650	DB	'-sa1', 00H
	ORG $+3
$SG3653	DB	'-sa2', 00H
	ORG $+3
$SG3656	DB	'-sa3', 00H
	ORG $+3
$SG3659	DB	'-sa4', 00H
	ORG $+3
$SG3662	DB	'-sA1', 00H
	ORG $+3
$SG3665	DB	'-sA2', 00H
	ORG $+3
$SG3668	DB	'-sA3', 00H
	ORG $+3
$SG3671	DB	'-sA4', 00H
	ORG $+3
$SG3674	DB	'-Sa1', 00H
	ORG $+3
$SG3677	DB	'-Sa2', 00H
	ORG $+3
$SG3680	DB	'-Sa3', 00H
	ORG $+3
$SG3683	DB	'-Sa4', 00H
	ORG $+3
$SG3686	DB	'-krknd', 00H
	ORG $+1
$SG3688	DB	'Kazuya(LZ Sentence_Dumper), revision 17, written by Sval'
	DB	'qyatchx,', 00H
	ORG $+7
$SG3689	DB	'in fact adapted from Lasse Reinhold''s excellent QuickLZ'
	DB	' 1.4.0 library,', 00H
	ORG $+1
$SG3690	DB	'in fact adapted from Ariya Hidayat''s sub-excellent Fast'
	DB	'LZ 0.1.0 library,', 00H
	ORG $+7
$SG3691	DB	'in fact adapted from Markus F.X.J. Oberhumer''s sub-exce'
	DB	'llent LZO 2.03 library,', 00H
	ORG $+1
$SG3692	DB	'in fact adapted from Haruhiko Okumura''s sub-excellent L'
	DB	'ZSS 4/6/1989 library.', 00H
	ORG $+3
$SG3694	DB	'Usage1: Kazuya [-sa1|-sa2|-sa3|-sa4|-SA1|-SA2|-SA3|-SA4', 00H
$SG3695	DB	'               |-sA1|-sA2|-sA3|-sA4|-Sa1|-Sa2|-Sa3|-Sa4|'
	DB	'-krknd] filename', 00H
	ORG $+3
$SG3696	DB	'        Decodes all files from a list(filename)', 00H
$SG3697	DB	'        -sa1 : QuickLZ Decode + Brute_Force Search Algor'
	DB	'ithm', 00H
	ORG $+7
$SG3698	DB	'        -sa2 : QuickLZ Decode + Quick_Boyer_Moore Search'
	DB	' Algorithm', 00H
	ORG $+5
$SG3699	DB	'        -sa3 : QuickLZ Decode + SMITH_Boyer_Moore Search'
	DB	' Algorithm', 00H
	ORG $+5
$SG3700	DB	'        -sa4 : QuickLZ Decode + Karp_Rabin_Kaze Search A'
	DB	'lgorithm', 00H
	ORG $+3
$SG3701	DB	'        -SA1 : LZO Decode + Brute_Force Search Algorithm'
	DB	00H
	ORG $+3
$SG3702	DB	'        -SA2 : LZO Decode + Quick_Boyer_Moore Search Alg'
	DB	'orithm', 00H
	ORG $+1
$SG3703	DB	'        -SA3 : LZO Decode + SMITH_Boyer_Moore Search Alg'
	DB	'orithm', 00H
	ORG $+1
$SG3704	DB	'        -SA4 : LZO Decode + Karp_Rabin_Kaze Search Algor'
	DB	'ithm', 00H
	ORG $+3
$SG3705	DB	'        -sA1 : FastLZ Decode + Brute_Force Search Algori'
	DB	'thm', 00H
	ORG $+4
$SG3706	DB	'        -sA2 : FastLZ Decode + Quick_Boyer_Moore Search '
	DB	'Algorithm', 00H
	ORG $+6
$SG3707	DB	'        -sA3 : FastLZ Decode + SMITH_Boyer_Moore Search '
	DB	'Algorithm', 00H
	ORG $+6
$SG3708	DB	'        -sA4 : FastLZ Decode + Karp_Rabin_Kaze Search Al'
	DB	'gorithm', 00H
$SG3709	DB	'        -Sa1 : OkumuraLZ Decode + Brute_Force Search Alg'
	DB	'orithm', 00H
	ORG $+1
$SG3710	DB	'        -Sa2 : OkumuraLZ Decode + Quick_Boyer_Moore Sear'
	DB	'ch Algorithm', 00H
	ORG $+3
$SG3711	DB	'        -Sa3 : OkumuraLZ Decode + SMITH_Boyer_Moore Sear'
	DB	'ch Algorithm', 00H
	ORG $+3
$SG3712	DB	'        -Sa4 : OkumuraLZ Decode + Karp_Rabin_Kaze Search'
	DB	' Algorithm', 00H
	ORG $+5
$SG3713	DB	'        -krknd : Karp_Rabin_Kaze Search Algorithm, but w'
	DB	'ith no additional', 00H
	ORG $+6
$SG3714	DB	'                 chunk-searches overhead and without dec'
	DB	'ompression of', 00H
	ORG $+2
$SG3715	DB	'                 incoming files i.e. pure text is upload'
	DB	'ed', 00H
	ORG $+5
$SG3716	DB	'        Default is QuickLZ Decode + HORSPOOL_Boyer_Moore'
	DB	' Search Algorithm', 00H
	ORG $+2
$SG3717	DB	'Usage2: Kazuya <e|d|E|D|A|R|a|r> inputFile outputFile', 00H
	ORG $+2
$SG3718	DB	'        e: encode QuickLZ file', 00H
	ORG $+1
$SG3719	DB	'        d: decode QuickLZ file', 00H
	ORG $+1
$SG3720	DB	'        E: encode LZO file', 00H
	ORG $+1
$SG3721	DB	'        D: decode LZO file', 00H
	ORG $+1
$SG3722	DB	'        A: encode(archive) FastLZ file', 00H
	ORG $+1
$SG3723	DB	'        R: decode(restore) FastLZ file', 00H
	ORG $+1
$SG3724	DB	'        a: encode(archive) OkumuraLZ file', 00H
	ORG $+2
$SG3725	DB	'        r: decode(restore) OkumuraLZ file', 00H
	ORG $+2
$SG3726	DB	'Example1: Kazuya Kazuya.lst', 00H
$SG3727	DB	'Example2: Kazuya -SA2 Kazuya.lst', 00H
	ORG $+7
$SG3728	DB	'Example3: Kazuya e Caterpillar.001.txt Caterpillar.001.t'
	DB	'xt.Lasse', 00H
	ORG $+3
$SG3729	DB	'Note1: Benchmark(HDD read speed is the nasty bottleneck)'
	DB	':', 00H
	ORG $+2
$SG3730	DB	'       Kazuya(EN:37KB/clock, DE:88KB/clock) for 24.9GB(1'
	DB	'0.6GB Lasse) texts.', 00H
$SG3731	DB	'       Me machine is:', 00H
	ORG $+6
$SG3732	DB	'       Motherboard Name:                             Tos'
	DB	'hiba Satellite L305', 00H
	ORG $+4
$SG3733	DB	'       CPU Type:         Mobile DualCore Intel Pentium, '
	DB	'2166 MHz (13 x 167)', 00H
	ORG $+4
$SG3734	DB	'       CPU Alias:                                       '
	DB	'           Merom-1M', 00H
	ORG $+4
$SG3735	DB	'       L1 Code Cache:                                   '
	DB	'     32 KB per core', 00H
	ORG $+4
$SG3736	DB	'       L1 Data Cache:                                   '
	DB	'     32 KB per core', 00H
	ORG $+4
$SG3737	DB	'       L2 Cache:                        1 MB (On-Die, EC'
	DB	'C, ASC, Full-Speed)', 00H
	ORG $+4
$SG3738	DB	'       Bus Type:                                        '
	DB	'    Dual DDR2 SDRAM', 00H
	ORG $+4
$SG3739	DB	'       Bus Width:                                       '
	DB	'            128-bit', 00H
	ORG $+4
$SG3740	DB	'       Real Clock:                                      '
	DB	'      333 MHz (DDR)', 00H
	ORG $+4
$SG3741	DB	'       Effective Clock:                                 '
	DB	'            666 MHz', 00H
	ORG $+4
$SG3742	DB	'Note2: Disastrous performance in case 256MB not fully ph'
	DB	'ysical!', 00H
$SG3743	DB	'Note3: Matches(hits) are overwritten to Kazuya.hits.Patt'
	DB	'ern?.html files.', 00H
	ORG $+3
$SG3744	DB	'Note4: Works both on UNIX(LF) and Windows(CRLF) text fil'
	DB	'es.', 00H
$SG3745	DB	'Note5: Never forget the importance of defragmented_AND_g'
	DB	'rouped files located at', 00H
$SG3746	DB	'       fastest area of disk - first partition is faster '
	DB	'than second one, etc.', 00H
	ORG $+2
$SG3747	DB	'Note6: In ANSI, clock is defined as ''#define CLOCKS_PER'
	DB	'_SEC 1000''.', 00H
	ORG $+1
$SG3748	DB	'Note7: Since Kazuya 13++:', 00H
	ORG $+2
$SG3749	DB	'       - limits(just skip longer ones) lines to 960 char'
	DB	's; OTHERWISE: HUGE TIME', 00H
$SG3750	DB	'         DELAYS due to recursive function;', 00H
	ORG $+1
$SG3751	DB	'       - shows hits to console too; MORE VIVID;', 00H
$SG3752	DB	'Note8: Since Kazuya 14:', 00H
	ORG $+4
$SG3753	DB	'       - No deletion of input file after compressing/dec'
	DB	'ompressing;', 00H
	ORG $+4
$SG3754	DB	'Note9: During execution hitting a ''Esc'' causes termina'
	DB	'tion(i.e. skipping rest).', 00H
$SG3755	DB	'NoteA: This revision works with up to 127MB incoming(non'
	DB	'-compressed) files,', 00H
	ORG $+4
$SG3756	DB	'       because it allocates 256MB of which one half is f'
	DB	'or incoming', 00H
	ORG $+4
$SG3757	DB	'       oher for outcoming file, i.e. decompression/compr'
	DB	'ession is RAM to RAM.', 00H
	ORG $+2
$SG3758	DB	'NoteB: Charge(delivery) performance combines upload and '
	DB	'decode performance.', 00H
	ORG $+4
$SG3760	DB	'Pattern(s) note: You may specify(four times) a main-patt'
	DB	'ern(case insensitive', 0aH, 00H
	ORG $+2
$SG3761	DB	'                 with wildcards ''*'' i.e. any character'
	DB	'(s) or empty and ''?''', 0aH, 00H
	ORG $+4
$SG3762	DB	'                 i.e. any character or empty) with three'
	DB	' nested-patterns(case', 0aH, 00H
	ORG $+1
$SG3763	DB	'                 sensitive and unexact), all four connec'
	DB	'ted with AND.', 0aH, 00H
	ORG $+1
$SG3764	DB	'                 Due to different line endings(CRLF in W'
	DB	'indows; LF in UNIX)', 0aH, 00H
	ORG $+3
$SG3765	DB	'                 you must add a ''?'' wildcard in place '
	DB	'of CR: for example in', 0aH, 00H
	ORG $+3
$SG3766	DB	'                 case of searching for ''*.pdf'' write '''
	DB	'*.pdf?''.', 0aH, 00H
$SG3767	DB	'Pattern(s) example: Pattern1: *take? *it*', 0aH, 00H
	ORG $+1
$SG3768	DB	'                    Pattern1_NestedPattern1: you', 0aH, 00H
	ORG $+2
$SG3769	DB	'                    Possible hit: ... your reason is so '
	DB	'taken by It.', 0aH, 00H
	ORG $+2
$SG3770	DB	0aH, 00H
	ORG $+2
$SG3771	DB	'Have a nice Kazuyaing.', 00H
	ORG $+1
$SG3772	DB	'For contacts: sanmayce@hotmail.com', 00H
	ORG $+1
$SG3773	DB	'Sanmayce Svalqyatchx ''Kaze'', 2010 Feb 15.', 00H
	ORG $+2
$SG3774	DB	0aH, 00H
	ORG $+2
$SG3795	DB	'LZO: internal error - lzo_init() failed !!!', 0aH, 00H
	ORG $+3
$SG3796	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
$SG3800	DB	'Kazuya: Needed memory allocation denied!', 0aH, 00H
	ORG $+2
$SG3801	DB	'Allocated memory for DEcoded file in MB: %lu', 0aH, 00H
	ORG $+2
$SG3805	DB	'rb', 00H
	ORG $+1
$SG3806	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG3810	DB	'rb', 00H
	ORG $+1
$SG3811	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG3812	DB	'Size of input file with files for Kazuyaing: %lu', 0aH, 00H
	ORG $+2
$SG3815	DB	'wb', 00H
	ORG $+1
$SG3816	DB	'Kazuya.hits.pattern1.html', 00H
	ORG $+2
$SG3817	DB	'Kazuya: Can''t open Kazuya.hits.pattern1.html file.', 0aH
	DB	00H
$SG3820	DB	'wb', 00H
	ORG $+1
$SG3821	DB	'Kazuya.hits.pattern2.html', 00H
	ORG $+2
$SG3822	DB	'Kazuya: Can''t open Kazuya.hits.pattern2.html file.', 0aH
	DB	00H
$SG3825	DB	'wb', 00H
	ORG $+1
$SG3826	DB	'Kazuya.hits.pattern3.html', 00H
	ORG $+2
$SG3827	DB	'Kazuya: Can''t open Kazuya.hits.pattern3.html file.', 0aH
	DB	00H
$SG3830	DB	'wb', 00H
	ORG $+1
$SG3831	DB	'Kazuya.hits.pattern4.html', 00H
	ORG $+2
$SG3832	DB	'Kazuya: Can''t open Kazuya.hits.pattern4.html file.', 0aH
	DB	00H
	ORG $+4
$SG3833	DB	'Pattern(s) note: You may specify(four times) a main-patt'
	DB	'ern(case insensitive', 0aH, 00H
	ORG $+2
$SG3834	DB	'                 with wildcards ''*'' i.e. any character'
	DB	'(s) or empty and ''?''', 0aH, 00H
	ORG $+4
$SG3835	DB	'                 i.e. any character or empty) with three'
	DB	' nested-patterns(case', 0aH, 00H
	ORG $+1
$SG3836	DB	'                 sensitive and unexact), all four connec'
	DB	'ted with AND.', 0aH, 00H
	ORG $+1
$SG3837	DB	'                 Due to different line endings(CRLF in W'
	DB	'indows; LF in UNIX)', 0aH, 00H
	ORG $+3
$SG3838	DB	'                 you must add a ''?'' wildcard in place '
	DB	'of CR: for example in', 0aH, 00H
	ORG $+3
$SG3839	DB	'                 case of searching for ''*.pdf'' write '''
	DB	'*.pdf?''.', 0aH, 00H
$SG3840	DB	'Pattern(s) example: Pattern1: *take? *it*', 0aH, 00H
	ORG $+1
$SG3841	DB	'                    Pattern1_NestedPattern1: you', 0aH, 00H
	ORG $+2
$SG3842	DB	'                    Possible hit: ... your reason is so '
	DB	'taken by It.', 0aH, 00H
	ORG $+2
$SG3843	DB	0aH, 00H
	ORG $+2
$SG3845	DB	'Input Pattern1(hit only ''Enter'' to skip): ', 00H
	ORG $+1
$SG3848	DB	'- Input Pattern1_NestedPattern1(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3851	DB	'- Input Pattern1_NestedPattern2(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3854	DB	'- Input Pattern1_NestedPattern3(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3855	DB	'Input Pattern2(hit only ''Enter'' to skip): ', 00H
	ORG $+1
$SG3858	DB	'- Input Pattern2_NestedPattern1(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3861	DB	'- Input Pattern2_NestedPattern2(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3864	DB	'- Input Pattern2_NestedPattern3(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3865	DB	'Input Pattern3(hit only ''Enter'' to skip): ', 00H
	ORG $+1
$SG3868	DB	'- Input Pattern3_NestedPattern1(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3871	DB	'- Input Pattern3_NestedPattern2(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3874	DB	'- Input Pattern3_NestedPattern3(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3875	DB	'Input Pattern4(hit only ''Enter'' to skip): ', 00H
	ORG $+1
$SG3878	DB	'- Input Pattern4_NestedPattern1(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3881	DB	'- Input Pattern4_NestedPattern2(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3884	DB	'- Input Pattern4_NestedPattern3(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
$SG3892	DB	'''Esc'' was pressed, so skip the rest files and quit!', 0aH
	DB	00H
	ORG $+3
$SG3901	DB	'rb', 00H
	ORG $+1
$SG3902	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG3903	DB	'Processing %s ...', 0aH, 00H
	ORG $+1
$SG3905	DB	'Doing DECODE from RAM to RAM ...', 0aH, 00H
	ORG $+2
$SG3917	DB	'LZO: internal error - decompression failed: %d', 0aH, 00H
$SG3922	DB	'Overall upload performance so far: %sKB/clock', 0aH, 00H
	ORG $+1
$SG3926	DB	'Overall decode performance so far: %sKB/clock(EN) or %sK'
	DB	'B/clock(DE)', 0aH, 00H
	ORG $+3
$SG3929	DB	'Overall charge performance so far: %sKB/clock(EN) or %sK'
	DB	'B/clock(DE)', 0aH, 00H
	ORG $+3
$SG3931	DB	'Doing SEARCH for Pattern1 at once and flushing hit-sente'
	DB	'nces ...', 0aH, 00H
	ORG $+6
$SG3934	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) was/were fou'
	DB	'nd in: <i>%s</i></big>', 0aH, 00H
$SG3935	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
$SG3938	DB	'Found %s case-insensitive and unexact matches(hits), so '
	DB	'far.', 0aH, 00H
	ORG $+2
$SG3940	DB	'Found %s case-sensitive and unexact matches(hits), so fa'
	DB	'r.', 0aH, 00H
	ORG $+4
$SG3943	DB	'Doing SEARCH for Pattern2 at once and flushing hit-sente'
	DB	'nces ...', 0aH, 00H
	ORG $+6
$SG3946	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) was/were fou'
	DB	'nd in: <i>%s</i></big>', 0aH, 00H
$SG3947	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
$SG3950	DB	'Found %s case-insensitive and unexact matches(hits), so '
	DB	'far.', 0aH, 00H
	ORG $+2
$SG3952	DB	'Found %s case-sensitive and unexact matches(hits), so fa'
	DB	'r.', 0aH, 00H
	ORG $+4
$SG3955	DB	'Doing SEARCH for Pattern3 at once and flushing hit-sente'
	DB	'nces ...', 0aH, 00H
	ORG $+6
$SG3958	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) was/were fou'
	DB	'nd in: <i>%s</i></big>', 0aH, 00H
$SG3959	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
$SG3962	DB	'Found %s case-insensitive and unexact matches(hits), so '
	DB	'far.', 0aH, 00H
	ORG $+2
$SG3964	DB	'Found %s case-sensitive and unexact matches(hits), so fa'
	DB	'r.', 0aH, 00H
	ORG $+4
$SG3967	DB	'Doing SEARCH for Pattern4 at once and flushing hit-sente'
	DB	'nces ...', 0aH, 00H
	ORG $+6
$SG3970	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) was/were fou'
	DB	'nd in: <i>%s</i></big>', 0aH, 00H
$SG3971	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
$SG3974	DB	'Found %s case-insensitive and unexact matches(hits), so '
	DB	'far.', 0aH, 00H
	ORG $+2
$SG3976	DB	'Found %s case-sensitive and unexact matches(hits), so fa'
	DB	'r.', 0aH, 00H
$SG3978	DB	0aH, 00H
	ORG $+2
$SG3980	DB	'Total Upload performance: %sKB/clock', 0aH, 00H
	ORG $+2
$SG3984	DB	'Total Decode performance: %sKB/clock(EN) or %sKB/clock(D'
	DB	'E)', 0aH, 00H
$SG3987	DB	'Total Charge performance: %sKB/clock(EN) or %sKB/clock(D'
	DB	'E)', 0aH, 00H
$SG3989	DB	'Total Upload time: %s clocks', 0aH, 00H
	ORG $+2
$SG3992	DB	'Total Decode time: %s clocks', 0aH, 00H
	ORG $+2
$SG3994	DB	'Total Search time: %s clocks', 0aH, 00H
	ORG $+2
$SG3996	DB	'Total time: %d second(s)', 0aH, 00H
	ORG $+2
$SG3997	DB	'Total bytes decoded: %s ', 0aH, 00H
	ORG $+2
$SG3998	DB	'Total Search(non-mask) function invocations: %s ', 0aH, 00H
	ORG $+2
$SG4000	DB	'Total MASK i.e. wildcard invocations: %s ', 0aH, 00H
	ORG $+1
$SG4001	DB	'Total MASK i.e. wildcard hits: %s ', 0aH, 00H
$SG4003	DB	'Total MASK i.e. wildcard time: %s clocks', 0aH, 00H
	ORG $+2
$SG4006	DB	'Total MASK i.e. wildcard performance: %sKB/clock', 0aH, 00H
	ORG $+2
$SG4007	DB	'Total BoyerMooreHorspool invocations: %s ', 0aH, 00H
	ORG $+1
$SG4008	DB	'Total BoyerMooreHorspool(whole chunks, not lines) hits: '
	DB	'%s ', 0aH, 00H
	ORG $+3
$SG4010	DB	'Total BoyerMooreHorspool(whole chunks, not lines) time: '
	DB	'%s clocks', 0aH, 00H
	ORG $+5
$SG4013	DB	'Total BoyerMooreHorspool(whole chunks, not lines) perfor'
	DB	'mance: %sKB/clock', 0aH, 00H
	ORG $+1
$SG4014	DB	'Total KarpRabinKaze invocations: %s ', 0aH, 00H
	ORG $+2
$SG4015	DB	'Total KarpRabinKaze(whole chunks, not lines) hits: %s ', 0aH
	DB	00H
$SG4017	DB	'Total KarpRabinKaze(whole chunks, not lines) time: %s cl'
	DB	'ocks', 0aH, 00H
	ORG $+6
$SG4020	DB	'Total KarpRabinKaze(whole chunks, not lines) performance'
	DB	': %sKB/clock', 0aH, 00H
	ORG $+2
$SG4025	DB	'Kazuya: Done.', 0aH, 00H
	ORG $+1
$SG4034	DB	'rb', 00H
	ORG $+1
$SG4035	DB	'OkumuraLZ: Can''t open %s file.', 0aH, 00H
$SG4038	DB	'wb', 00H
	ORG $+1
$SG4039	DB	'OkumuraLZ: Can''t open %s file.', 0aH, 00H
$SG4043	DB	'rb', 00H
	ORG $+1
$SG4044	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG4045	DB	'wb', 00H
	ORG $+1
$SG4052	DB	'QuickLZ: compressed %lu bytes into ', 00H
$SG4054	DB	'%lu bytes.', 0aH, 00H
$SG4059	DB	'FastLZ: compressed %lu bytes into ', 00H
	ORG $+1
$SG4061	DB	'%lu bytes.', 0aH, 00H
$SG4083	DB	'LZO: internal error - lzo_init() failed !!!', 0aH, 00H
	ORG $+3
$SG4084	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
$SG4089	DB	'LZO: compressed %lu bytes into %lu bytes.', 0aH, 00H
	ORG $+1
$SG4091	DB	'LZO: internal error - compression failed: %d', 0aH, 00H
	ORG $+2
$SG4093	DB	'LZO: This block contains incompressible data.', 0aH, 00H
	ORG $+1
$SG4097	DB	'rb', 00H
	ORG $+1
$SG4098	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG4099	DB	'wb', 00H
	ORG $+1
$SG4105	DB	'QuickLZ: decompressed %lu bytes back into ', 00H
	ORG $+1
$SG4107	DB	'%lu bytes.', 0aH, 00H
$SG4112	DB	'FastLZ: decompressed %lu bytes back into ', 00H
	ORG $+2
$SG4114	DB	'%lu bytes.', 0aH, 00H
$SG4119	DB	'OkumuraLZ: decompressed %lu bytes back into ', 00H
	ORG $+3
$SG4123	DB	'%lu bytes.', 0aH, 00H
$SG4130	DB	'LZO: decompressed %lu bytes back into %lu bytes.', 0aH, 00H
	ORG $+2
$SG4132	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 d:\_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	$L4158
	mov	al, BYTE PTR [edi]
	mov	bl, BYTE PTR [esi+1]
	inc	edi
	cmp	al, bl
	jne	$L4158
	mov	al, BYTE PTR [edi]
	mov	bl, BYTE PTR [esi+2]
	inc	edi
	cmp	al, bl
	jne	$L4158
; 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 $L4150
	npad	3
$L624:
; Line 272
	mov	bl, BYTE PTR [edi]
	inc	edi
	cmp	bl, al
	jne	SHORT $L4150
	mov	ebx, DWORD PTR _ip_bound$[esp+32800]
	inc	esi
	cmp	esi, ebx
	jb	SHORT $L624
; Line 274
	jmp	SHORT $L4150
$L630:
; Line 278
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4150
; Line 279
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4150
; Line 280
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4150
; Line 281
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4150
; Line 282
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4150
; Line 283
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4150
; Line 284
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4150
; Line 285
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4150
; Line 286
	cmp	esi, DWORD PTR _ip_bound$[esp+32800]
	jae	SHORT $L4150
$L641:
; Line 287
	mov	bl, BYTE PTR [esi]
	mov	al, BYTE PTR [edi]
	inc	esi
	inc	edi
	cmp	al, bl
	jne	SHORT $L4150
	cmp	esi, DWORD PTR _ip_bound$[esp+32800]
	jb	SHORT $L641
$L4150:
; 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 $L4160
$L650:
; Line 365
	sub	al, 32					; 00000020H
	mov	BYTE PTR [ecx], al
	inc	ecx
; Line 366
	sub	bl, 7
	mov	BYTE PTR [ecx], bl
$L4160:
; 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 $L4161
$L4158:
	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
$L4161:
; 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
$L4173:
	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 $L4172
; 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	$L4173
$L4172:
; 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	$L4193
	mov	bl, BYTE PTR [eax]
	mov	cl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	cl, bl
	jne	$L4193
; Line 251
	cmp	edx, 8191				; 00001fffH
	jb	SHORT $L4191
; Line 253
	mov	dl, BYTE PTR [edi]
	mov	cl, BYTE PTR [eax]
	inc	edi
	cmp	cl, dl
	jne	$L4193
	mov	cl, BYTE PTR [edi]
	mov	dl, BYTE PTR [eax+1]
	inc	edi
	cmp	dl, cl
	jne	$L4193
; Line 255
	mov	edx, 5
	jmp	SHORT $L4195
$L4191:
; Line 224
	mov	edx, DWORD PTR _len$761[esp+32816]
$L4195:
	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 $L4186
$L778:
; Line 272
	mov	bl, BYTE PTR [edi]
	inc	edi
	cmp	bl, dl
	jne	SHORT $L4186
	mov	ebx, DWORD PTR _ip_bound$[esp+32816]
	inc	eax
	cmp	eax, ebx
	jb	SHORT $L778
; Line 274
	jmp	SHORT $L4186
$L784:
; Line 278
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4186
; Line 279
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4186
; Line 280
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4186
; Line 281
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4186
; Line 282
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4186
; Line 283
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4186
; Line 284
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4186
; Line 285
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4186
; Line 286
	cmp	eax, DWORD PTR _ip_bound$[esp+32816]
	jae	SHORT $L4186
	npad	7
$L795:
; Line 287
	mov	bl, BYTE PTR [eax]
	mov	dl, BYTE PTR [edi]
	inc	eax
	inc	edi
	cmp	dl, bl
	jne	SHORT $L4186
	cmp	eax, DWORD PTR _ip_bound$[esp+32816]
	jb	SHORT $L795
$L4186:
; 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	$L4196
$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 $L4197
$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
$L4196:
	mov	BYTE PTR [esi], dl
$L4197:
; 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 $L4198
$L4193:
	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
$L4198:
; 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 $L4211
	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]
$L4211:
; 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 $L4210
; 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
$L4210:
; 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 d:\_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 $L4222
	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
$L4222:
; 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 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 _nameGLOBALlen
	push	edi
	mov	edi, DWORD PTR _namePos$[esp+12]
	sub	esi, edi
	sub	eax, ebx
; Line 776
	je	$L4235
; Line 775
	lea	ebp, DWORD PTR [ebx+1]
$L4232:
; Line 781
	mov	ecx, DWORD PTR _mask$[esp+12]
	mov	al, BYTE PTR [ecx+ebx]
; Line 782
	cmp	al, 63					; 0000003fH
	jne	SHORT $L1957
; Line 788
	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	$L4236
; Line 790
	test	esi, esi
	jne	SHORT $L4242
$L4240:
	pop	edi
	pop	esi
	pop	ebp
; Line 807
	xor	ax, ax
	pop	ebx
; Line 810
	ret	0
$L1957:
; Line 794
	cmp	al, 42					; 0000002aH
	jne	SHORT $L1961
; Line 796
	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 $L4236
; Line 798
	test	esi, esi
	je	SHORT $L4240
; Line 800
	inc	edi
	jmp	SHORT $L4241
$L1961:
; Line 806
	cmp	al, 97					; 00000061H
	mov	ecx, DWORD PTR _name$[esp+12]
	mov	cl, BYTE PTR [ecx+edi]
	jl	SHORT $L4228
	cmp	al, 122					; 0000007aH
	jg	SHORT $L4228
	movsx	edx, al
	sub	edx, 32					; 00000020H
	jmp	SHORT $L4229
$L4228:
	movsx	edx, al
$L4229:
	cmp	cl, 97					; 00000061H
	jl	SHORT $L4230
	cmp	cl, 122					; 0000007aH
	jg	SHORT $L4230
	movsx	eax, cl
	sub	eax, 32					; 00000020H
	jmp	SHORT $L4231
$L4230:
	movsx	eax, cl
$L4231:
	cmp	edx, eax
	jne	SHORT $L4240
$L4242:
; Line 808
	inc	edi
	inc	ebx
	inc	ebp
$L4241:
	mov	esi, DWORD PTR _nameGLOBALlen
	mov	edx, DWORD PTR _maskGLOBALlen
	sub	esi, edi
	sub	edx, ebx
	jne	$L4232
$L4235:
	pop	edi
; Line 777
	xor	eax, eax
	test	esi, esi
	pop	esi
	pop	ebp
	sete	al
	pop	ebx
; Line 810
	ret	0
$L4236:
	pop	edi
	pop	esi
	pop	ebp
; Line 789
	mov	ax, 1
	pop	ebx
; Line 810
	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 818
	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]
$L4262:
; Line 820
	mov	esi, DWORD PTR _mask$[esp+12]
	mov	eax, esi
$L4253:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4253
	sub	eax, esi
	sub	eax, ebx
	dec	eax
	mov	ecx, eax
; Line 821
	mov	eax, edi
$L4260:
	mov	dl, BYTE PTR [eax]
	inc	eax
	cmp	dl, 10					; 0000000aH
	jne	SHORT $L4260
	sub	eax, edi
	sub	eax, ebp
	dec	eax
; Line 822
	test	ecx, ecx
	mov	esi, eax
	je	SHORT $L4267
; Line 827
	mov	ecx, DWORD PTR _mask$[esp+12]
	mov	al, BYTE PTR [ecx+ebx]
; Line 828
	cmp	al, 63					; 0000003fH
	jne	SHORT $L1983
; Line 834
	test	esi, esi
	je	SHORT $L4271
; Line 836
	inc	ebp
	inc	ebx
	jmp	SHORT $L4262
$L1983:
; Line 838
	cmp	al, 42					; 0000002aH
	jne	SHORT $L1986
; Line 840
	push	ebp
	push	edi
; Line 852
	lea	eax, DWORD PTR [ebx+1]
	push	eax
	push	ecx
	call	_EnhancedMaskTest_AndNotEmpty
	add	esp, 16					; 00000010H
	test	ax, ax
	jne	SHORT $L4269
; Line 842
	test	esi, esi
	je	SHORT $L4271
; Line 844
	inc	ebp
	jmp	SHORT $L4262
$L1986:
; Line 850
	cmp	al, 97					; 00000061H
	mov	cl, BYTE PTR [edi+ebp]
	jl	SHORT $L4245
	cmp	al, 122					; 0000007aH
	jg	SHORT $L4245
	movsx	edx, al
	sub	edx, 32					; 00000020H
	jmp	SHORT $L4246
$L4245:
	movsx	edx, al
$L4246:
	cmp	cl, 97					; 00000061H
	jl	SHORT $L4247
	cmp	cl, 122					; 0000007aH
	jg	SHORT $L4247
	movsx	eax, cl
	sub	eax, 32					; 00000020H
	jmp	SHORT $L4248
$L4247:
	movsx	eax, cl
$L4248:
	cmp	edx, eax
	jne	SHORT $L4271
; Line 852
	inc	ebp
	inc	ebx
	jmp	$L4262
$L4267:
	pop	edi
; Line 823
	xor	eax, eax
	test	esi, esi
	pop	esi
	pop	ebp
	sete	al
	pop	ebx
; Line 854
	ret	0
$L4269:
	pop	edi
	pop	esi
	pop	ebp
; Line 841
	mov	ax, 1
	pop	ebx
; Line 854
	ret	0
$L4271:
	pop	edi
	pop	esi
	pop	ebp
; Line 851
	xor	ax, ax
	pop	ebx
; Line 854
	ret	0
_EnhancedMaskTest_AndNotEmpty ENDP
_TEXT	ENDS
PUBLIC	_CompareWildCardWithName
EXTRN	__fltused:NEAR
EXTRN	_clock:NEAR
; Function compile flags: /Ogty
_TEXT	SEGMENT
tv175 = 8						; size = 4
_mask$ = 8						; size = 4
_name$ = 12						; size = 4
_orempty$ = 16						; size = 4
_CompareWildCardWithName PROC NEAR
; Line 858
	mov	eax, DWORD PTR _VIVA_IgorPavlov_invocations_global_counter
	push	esi
	inc	eax
	push	edi
; Line 860
	mov	edi, DWORD PTR _mask$[esp+4]
	mov	DWORD PTR _VIVA_IgorPavlov_invocations_global_counter, eax
	mov	eax, edi
$L4278:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4278
; Line 861
	mov	esi, DWORD PTR _name$[esp+4]
	sub	eax, edi
	dec	eax
	mov	DWORD PTR _maskGLOBALlen, eax
	mov	eax, esi
$L4285:
	mov	dl, BYTE PTR [eax]
	inc	eax
	cmp	dl, 10					; 0000000aH
	jne	SHORT $L4285
; Line 862
	mov	ecx, DWORD PTR _clocksGWtxt
	sub	eax, esi
	dec	eax
	mov	DWORD PTR _nameGLOBALlen, eax
	cdq
	add	ecx, eax
	mov	DWORD PTR _clocksGWtxt, ecx
	adc	DWORD PTR _clocksGWtxt+4, edx
; Line 864
	call	_clock
; Line 866
	push	0
	push	esi
	mov	DWORD PTR _clocksG1, eax
	mov	eax, DWORD PTR _orempty$[esp+12]
	test	eax, eax
	push	0
	push	edi
	je	SHORT $L2001
	call	_EnhancedMaskTest_OrEmpty
; Line 867
	jmp	SHORT $L4289
$L2001:
; Line 868
	call	_EnhancedMaskTest_AndNotEmpty
$L4289:
	mov	esi, eax
	add	esp, 16					; 00000010H
; Line 869
	test	si, si
	je	SHORT $L2003
	inc	DWORD PTR _WildGLOBALhits
$L2003:
; Line 870
	call	_clock
	mov	ecx, DWORD PTR _clocksG1
	mov	DWORD PTR _clocksG2, eax
	sub	eax, ecx
	mov	DWORD PTR tv175[esp+4], eax
	fild	DWORD PTR tv175[esp+4]
	pop	edi
; Line 871
	mov	ax, si
	pop	esi
	fadd	QWORD PTR _clocksGW
	fstp	QWORD PTR _clocksGW
; Line 872
	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 906
	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 $L2016
$L2015:
	test	cl, cl
	je	SHORT $L2016
	mov	cl, BYTE PTR [esi+1]
	movzx	eax, BYTE PTR [edx+1]
; Line 907
	inc	edx
	inc	esi
	movzx	edi, cl
	sub	eax, edi
	je	SHORT $L2015
$L2016:
; Line 909
	test	eax, eax
	pop	edi
	pop	esi
	jge	SHORT $L4295
; Line 910
	or	eax, -1
; Line 915
	ret	0
$L4295:
; Line 911
	jle	SHORT $L2019
; Line 912
	mov	eax, 1
$L2019:
; Line 915
	ret	0
_strcmpKAZE ENDP
_TEXT	ENDS
PUBLIC	_strlenKAZE
; Function compile flags: /Ogty
_TEXT	SEGMENT
_str$ = 8						; size = 4
_strlenKAZE PROC NEAR
; Line 938
	mov	ecx, DWORD PTR _str$[esp-4]
	mov	eax, ecx
$L2026:
; Line 940
	mov	dl, BYTE PTR [eax]
	inc	eax
	test	dl, dl
	jne	SHORT $L2026
; Line 942
	sub	eax, ecx
	dec	eax
; Line 943
	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 973
	push	esi
; Line 974
	mov	esi, DWORD PTR _count$[esp]
	test	esi, esi
	jne	SHORT $L4299
; Line 975
	xor	eax, eax
	pop	esi
; Line 983
	ret	0
$L4299:
; Line 977
	dec	esi
	mov	eax, DWORD PTR _buf1$[esp]
	mov	ecx, DWORD PTR _buf2$[esp]
	je	SHORT $L2121
$L2120:
	mov	dl, BYTE PTR [eax]
	cmp	dl, BYTE PTR [ecx]
	jne	SHORT $L2121
; Line 978
	inc	eax
; Line 979
	inc	ecx
	dec	esi
	jne	SHORT $L2120
$L2121:
; Line 982
	movzx	eax, BYTE PTR [eax]
	movzx	ecx, BYTE PTR [ecx]
	sub	eax, ecx
	pop	esi
; Line 983
	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 1012
	mov	ecx, DWORD PTR _dst$[esp-4]
	push	esi
; Line 1017
	mov	esi, DWORD PTR _count$[esp]
	test	esi, esi
	push	edi
	mov	edi, ecx
	je	SHORT $L4306
; Line 1012
	mov	edx, DWORD PTR _src$[esp+4]
$L2136:
; Line 1018
	mov	al, BYTE PTR [edx]
	mov	BYTE PTR [ecx], al
; Line 1019
	inc	ecx
; Line 1020
	inc	edx
	dec	esi
	jne	SHORT $L2136
$L4306:
; Line 1022
	mov	eax, edi
	pop	edi
	pop	esi
; Line 1023
	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 1052
	mov	ecx, DWORD PTR _count$[esp-4]
	test	ecx, ecx
	je	SHORT $L4311
	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 1056
	mov	eax, esi
	pop	esi
	pop	ebx
; Line 1057
	ret	0
$L4311:
; Line 1056
	mov	eax, DWORD PTR _dst$[esp-4]
; Line 1057
	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 1073
	mov	eax, DWORD PTR _is_neg$[esp-4]
	sub	esp, 8
	push	esi
	mov	esi, DWORD PTR _buf$[esp+8]
	push	edi
; Line 1076
	mov	edi, DWORD PTR _val$[esp+12]
	test	eax, eax
	mov	eax, DWORD PTR _val$[esp+16]
	je	SHORT $L2171
	mov	BYTE PTR [esi], 45			; 0000002dH
	inc	esi
	neg	edi
	adc	eax, 0
	neg	eax
$L2171:
	push	ebx
	push	ebp
; Line 1090
	mov	ebp, DWORD PTR _radix$[esp+20]
	mov	DWORD PTR _firstdig$[esp+20], esi
	mov	DWORD PTR tv164[esp+24], 0
$L2174:
	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 $L2178
; Line 1087
	add	cl, 87					; 00000057H
; Line 1088
	jmp	SHORT $L4319
$L2178:
; Line 1089
	add	cl, 48					; 00000030H
$L4319:
	mov	BYTE PTR [esi], cl
	inc	esi
; Line 1090
	test	eax, eax
	ja	SHORT $L2174
	jb	SHORT $L4316
	test	edi, edi
	ja	SHORT $L2174
$L4316:
	pop	ebp
; Line 1095
	mov	BYTE PTR [esi], 0
	dec	esi
	pop	ebx
	npad	5
$L2182:
; Line 1099
	mov	ecx, DWORD PTR _firstdig$[esp+12]
	mov	dl, BYTE PTR [ecx]
	mov	al, BYTE PTR [esi]
	mov	BYTE PTR [esi], dl
; Line 1101
	dec	esi
	mov	BYTE PTR [ecx], al
; Line 1102
	inc	ecx
; Line 1103
	cmp	ecx, esi
	mov	DWORD PTR _firstdig$[esp+12], ecx
	jb	SHORT $L2182
	pop	edi
	pop	esi
; Line 1104
	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 1115
	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 $L4321
	test	edx, edx
	jg	SHORT $L4321
	jl	SHORT $L4323
	test	edi, edi
	jae	SHORT $L4321
$L4323:
	mov	eax, 1
	jmp	SHORT $L4322
$L4321:
	xor	eax, eax
$L4322:
	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 1116
	mov	eax, esi
	pop	esi
; Line 1117
	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 1125
	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 1126
	mov	eax, esi
	pop	esi
; Line 1127
	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 1139
	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 1140
	mov	edi, ebp
$L2214:
; Line 1142
	mov	al, BYTE PTR [edi+1]
	inc	edi
	test	al, al
	jne	SHORT $L2214
; Line 1143
	dec	edi
; Line 1145
	mov	BYTE PTR [ebp+26], 0
; Line 1146
	mov	ebx, 1
; Line 1147
	xor	esi, esi
	lea	ecx, DWORD PTR [ebp+25]
	jmp	SHORT $L2217
$L4328:
; Line 1143
	mov	ebp, DWORD PTR _buf$[esp+12]
$L2217:
; Line 1151
	inc	esi
	cmp	ebp, edi
; Line 1153
	mov	ebp, 3
	ja	SHORT $L2220
	mov	al, BYTE PTR [edi]
	mov	BYTE PTR [ecx], al
	dec	edi
; Line 1158
	jmp	SHORT $L4330
$L2220:
; Line 1159
	mov	BYTE PTR [ecx], 48			; 00000030H
$L4330:
; Line 1160
	mov	eax, esi
	cdq
	idiv	ebp
	test	edx, edx
	jne	SHORT $L2225
; Line 1161
	inc	ebx
	dec	ecx
; Line 1162
	mov	BYTE PTR [ecx], 44			; 0000002cH
$L2225:
; Line 1165
	inc	ebx
	dec	ecx
; Line 1166
	cmp	ebx, 26					; 0000001aH
	jle	SHORT $L4328
; Line 1167
	mov	eax, DWORD PTR _buf$[esp+12]
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
; Line 1168
	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 1180
	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 1181
	mov	ecx, edi
$L2239:
; Line 1183
	mov	al, BYTE PTR [ecx+1]
	inc	ecx
	test	al, al
	jne	SHORT $L2239
; Line 1184
	dec	ecx
; Line 1188
	xor	ebp, ebp
; Line 1189
	cmp	edi, ecx
	mov	BYTE PTR [edi+26], 0
	mov	ebx, 1
	ja	SHORT $L2244
	push	esi
	lea	esi, DWORD PTR [edi+25]
	jmp	SHORT $L2243
$L4335:
; Line 1184
	mov	ebp, DWORD PTR _pxnman$[esp+12]
$L2243:
; Line 1191
	mov	al, BYTE PTR [ecx]
	inc	ebp
	mov	BYTE PTR [esi], al
; Line 1193
	mov	eax, ebp
	mov	DWORD PTR _pxnman$[esp+12], ebp
	cdq
	mov	ebp, 3
	idiv	ebp
	dec	ecx
	test	edx, edx
	jne	SHORT $L2245
	cmp	edi, ecx
	ja	SHORT $L2245
; Line 1194
	inc	ebx
	dec	esi
; Line 1195
	mov	BYTE PTR [esi], 44			; 0000002cH
$L2245:
; Line 1197
	inc	ebx
	dec	esi
	cmp	ecx, edi
	jae	SHORT $L4335
	pop	esi
$L2244:
; Line 1199
	mov	eax, edi
	pop	edi
	sub	eax, ebx
	pop	ebp
	add	eax, 27					; 0000001bH
	pop	ebx
; Line 1200
	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 1219
	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 $L2573
	mov	ebp, DWORD PTR _x$[esp+12]
$L2571:
; Line 1220
	xor	ecx, ecx
; Line 1221
	test	esi, esi
	jle	SHORT $L4339
	mov	edx, DWORD PTR _y$[esp+12]
	add	edx, edi
$L2575:
	mov	bl, BYTE PTR [edx+ecx]
	cmp	bl, BYTE PTR [ecx+ebp]
	jne	SHORT $L2576
	inc	ecx
	cmp	ecx, esi
	jl	SHORT $L2575
$L4339:
; Line 1222
	mov	eax, edi
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
; Line 1225
	ret	0
$L2576:
; Line 1222
	cmp	ecx, esi
	jge	SHORT $L4339
	inc	edi
	cmp	edi, eax
	jle	SHORT $L2571
$L2573:
	pop	edi
	pop	esi
	pop	ebp
; Line 1224
	or	eax, -1
	pop	ebx
; Line 1225
	ret	0
_Brute_Force ENDP
_TEXT	ENDS
PUBLIC	_Quick_Boyer_Moore
; Function compile flags: /Ogty
_TEXT	SEGMENT
$T4365 = -1032						; size = 4
$T4355 = -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 1229
	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	sub	esp, 1036				; 0000040cH
; Line 1234
	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 1235
	xor	eax, eax
	test	edx, edx
	jle	SHORT $L2595
	mov	ecx, edx
$L2593:
	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 $L2593
$L2595:
; Line 1239
	mov	ecx, DWORD PTR _n$[ebp]
	xor	eax, eax
	sub	ecx, edx
	mov	DWORD PTR $T4365[esp+1048], ecx
	js	SHORT $L2598
	mov	ebx, DWORD PTR _y$[ebp]
	npad	7
$L2597:
; Line 1240
	test	edx, edx
	mov	edi, DWORD PTR _x$[ebp]
	lea	esi, DWORD PTR [eax+ebx]
	je	SHORT $L2587
	lea	ecx, DWORD PTR [edx-1]
	test	ecx, ecx
	je	SHORT $L4350
$L4349:
	mov	bl, BYTE PTR [esi]
	cmp	bl, BYTE PTR [edi]
	jne	SHORT $L4368
	inc	esi
	inc	edi
	dec	ecx
	jne	SHORT $L4349
$L4368:
	mov	ebx, DWORD PTR _y$[ebp]
$L4350:
	movzx	ecx, BYTE PTR [esi]
	movzx	esi, BYTE PTR [edi]
	sub	ecx, esi
	mov	DWORD PTR $T4355[esp+1048], ecx
	je	SHORT $L2587
; Line 1241
	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 $T4365[esp+1048]
	add	eax, esi
	cmp	eax, ecx
	jle	SHORT $L2597
$L2598:
; Line 1243
	or	eax, -1
$L2587:
; Line 1244
	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
$T4392 = -2056						; size = 4
$T4381 = -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 1249
	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	sub	esp, 2060				; 0000080cH
; Line 1256
	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 1258
	lea	edi, DWORD PTR [edx-1]
	xor	ecx, ecx
	test	edi, edi
	jle	SHORT $L2618
	mov	esi, edx
	npad	5
$L2616:
; Line 1259
	mov	eax, DWORD PTR _x$[ebp]
	movsx	eax, BYTE PTR [ecx+eax]
	shl	eax, 2
	lea	ebx, DWORD PTR [esi-1]
	inc	ecx
; Line 1260
	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 $L2616
$L2618:
; Line 1262
	mov	ecx, DWORD PTR _x$[ebp]
	movsx	eax, BYTE PTR [ecx+edx-1]
; Line 1266
	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 $T4392[esp+2072], ecx
	js	SHORT $L2621
	mov	ebx, DWORD PTR _y$[ebp]
	npad	2
$L2620:
; Line 1267
	test	edx, edx
	mov	edi, DWORD PTR _x$[ebp]
	lea	esi, DWORD PTR [eax+ebx]
	je	SHORT $L2609
	lea	ecx, DWORD PTR [edx-1]
	test	ecx, ecx
	je	SHORT $L4376
$L4375:
	mov	bl, BYTE PTR [esi]
	cmp	bl, BYTE PTR [edi]
	jne	SHORT $L4396
	inc	esi
	inc	edi
	dec	ecx
	jne	SHORT $L4375
$L4396:
	mov	ebx, DWORD PTR _y$[ebp]
$L4376:
	movzx	ecx, BYTE PTR [esi]
	movzx	esi, BYTE PTR [edi]
	sub	ecx, esi
	mov	DWORD PTR $T4381[esp+2072], ecx
	je	SHORT $L2609
; Line 1268
	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 $L4371
	mov	ecx, esi
$L4371:
	add	eax, ecx
	cmp	eax, DWORD PTR $T4392[esp+2072]
	jle	SHORT $L2620
$L2621:
; Line 1270
	or	eax, -1
$L2609:
; Line 1271
	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
$T4407 = 12						; size = 4
_pbPattern$ = 12					; size = 4
_ulHashPattern$ = 16					; size = 4
_cbTarget$ = 16						; size = 4
_cbPattern$ = 20					; size = 4
_KarpRabinKazeHits PROC NEAR
; Line 1290
	push	ecx
; Line 1293
	mov	ecx, DWORD PTR _pbPattern$[esp]
	push	ebx
	mov	ebx, DWORD PTR _cbTarget$[esp+4]
	push	ebp
; Line 1302
	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 1304
	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 $L4409
	pop	edi
	pop	esi
	pop	ebp
; Line 1305
	xor	eax, eax
	pop	ebx
; Line 1387
	pop	ecx
	ret	0
$L4409:
; Line 1311
	cmp	ecx, edx
	jae	SHORT $L2642
	sub	edx, ecx
	add	ecx, edx
	add	edi, edx
$L2642:
; Line 1333
	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
$L4419:
; Line 1338
	cmp	ebp, ecx
	mov	DWORD PTR tv298[esp+16], eax
	jne	SHORT $L4418
	test	esi, esi
	mov	edx, eax
	mov	ecx, ebx
	je	SHORT $L4415
	lea	ebp, DWORD PTR [esi-1]
	test	ebp, ebp
	je	SHORT $L4402
$L4401:
	mov	al, BYTE PTR [ecx]
	cmp	al, BYTE PTR [edx]
	jne	SHORT $L4416
	inc	ecx
	inc	edx
	dec	ebp
	jne	SHORT $L4401
$L4416:
	mov	eax, DWORD PTR tv298[esp+16]
$L4402:
	movzx	ecx, BYTE PTR [ecx]
	movzx	edx, BYTE PTR [edx]
	mov	ebp, DWORD PTR _ulHashPattern$[esp+16]
	sub	ecx, edx
	mov	DWORD PTR $T4407[esp+16], ecx
	jne	SHORT $L4418
$L4415:
; Line 1351
	inc	DWORD PTR _hits$[esp+16]
$L4418:
; Line 1354
	cmp	edi, DWORD PTR _pbTargetMax$[esp+20]
	je	SHORT $L4412
; Line 1377
	movsx	ecx, BYTE PTR [eax+1]
	movsx	edx, BYTE PTR [edi]
	shl	ecx, 8
	add	ecx, edx
; Line 1385
	inc	edi
	inc	eax
; Line 1386
	jmp	SHORT $L4419
$L4412:
; Line 1355
	mov	eax, DWORD PTR _hits$[esp+16]
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
; Line 1387
	pop	ecx
	ret	0
_KarpRabinKazeHits ENDP
_TEXT	ENDS
PUBLIC	_KarpRabinKaze
; Function compile flags: /Ogty
_TEXT	SEGMENT
_pbTargetMax$ = -4					; size = 4
tv292 = 8						; size = 4
$T4430 = 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 1393
	push	ecx
; Line 1395
	mov	eax, DWORD PTR _cbTarget$[esp]
	push	ebp
	mov	ebp, DWORD PTR _pbTarget$[esp+4]
	lea	ecx, DWORD PTR [eax+ebp]
	push	esi
; Line 1396
	mov	esi, DWORD PTR _cbPattern$[esp+8]
; Line 1405
	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 $L4432
	pop	esi
; Line 1406
	or	eax, -1
	pop	ebp
; Line 1488
	pop	ecx
	ret	0
$L4432:
; Line 1412
	cmp	ecx, edx
	jae	SHORT $L2672
	sub	edx, ecx
	add	ecx, edx
	add	ebp, edx
$L2672:
; Line 1433
	movsx	edx, BYTE PTR [ecx-1]
	mov	eax, ecx
	push	ebx
; Line 1434
	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
$L4443:
; Line 1439
	cmp	edi, ecx
	mov	DWORD PTR tv292[esp+16], ebx
	jne	SHORT $L2680
	test	esi, esi
	mov	edx, ebx
	mov	ecx, eax
	je	SHORT $L4439
	lea	edi, DWORD PTR [esi-1]
	test	edi, edi
	je	SHORT $L4425
$L4424:
	mov	bl, BYTE PTR [ecx]
	cmp	bl, BYTE PTR [edx]
	jne	SHORT $L4440
	inc	ecx
	inc	edx
	dec	edi
	jne	SHORT $L4424
$L4440:
	mov	ebx, DWORD PTR tv292[esp+16]
$L4425:
	movzx	ecx, BYTE PTR [ecx]
	movzx	edx, BYTE PTR [edx]
	sub	ecx, edx
	mov	DWORD PTR $T4430[esp+16], ecx
	je	SHORT $L4439
	mov	edi, DWORD PTR _ulHashPattern$[esp+16]
$L2680:
; Line 1455
	cmp	ebp, DWORD PTR _pbTargetMax$[esp+20]
	je	SHORT $L4436
; Line 1478
	movsx	ecx, BYTE PTR [ebx+1]
	movsx	edx, BYTE PTR [ebp]
	shl	ecx, 8
	add	ecx, edx
; Line 1486
	inc	ebp
	inc	ebx
; Line 1487
	jmp	SHORT $L4443
$L4439:
	pop	edi
; Line 1452
	mov	eax, ebp
	pop	ebx
	sub	eax, esi
	pop	esi
	pop	ebp
; Line 1488
	pop	ecx
	ret	0
$L4436:
	pop	edi
	pop	ebx
	pop	esi
; Line 1456
	or	eax, -1
	pop	ebp
; Line 1488
	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
$T4464 = 16						; size = 4
_n$ = 16						; size = 4
tv181 = 20						; size = 4
$T4454 = 20						; size = 4
$T4451 = 20						; size = 4
_m$ = 20						; size = 4
_Karp_Rabin PROC NEAR
; Line 1494
	sub	esp, 8
	push	ebx
	push	ebp
	push	esi
	push	edi
; Line 1500
	mov	edi, DWORD PTR _m$[esp+20]
	mov	eax, 1
	cmp	edi, eax
	mov	DWORD PTR _d$[esp+24], eax
	jle	SHORT $L2701
	lea	ecx, DWORD PTR [edi-1]
	npad	5
$L2699:
; Line 1501
	shl	eax, 1
	dec	ecx
	jne	SHORT $L2699
	mov	DWORD PTR _d$[esp+24], eax
$L2701:
; Line 1503
	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 $L2704
	mov	ecx, DWORD PTR _x$[esp+20]
	mov	eax, edx
	sub	ecx, edx
	mov	DWORD PTR tv181[esp+20], edi
$L2702:
; Line 1504
	movsx	ebx, BYTE PTR [ecx+eax]
	lea	esi, DWORD PTR [ebx+esi*2]
; Line 1505
	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 $L2702
; Line 1504
	mov	DWORD PTR _hx$[esp+24], esi
$L2704:
; Line 1510
	mov	ecx, DWORD PTR _n$[esp+20]
	xor	eax, eax
	sub	ecx, edi
	mov	DWORD PTR $T4464[esp+20], ecx
	js	SHORT $L2707
$L2706:
; Line 1511
	cmp	esi, ebp
	jne	SHORT $L2708
	test	edi, edi
	mov	ecx, DWORD PTR _x$[esp+20]
	lea	esi, DWORD PTR [eax+edx]
	je	SHORT $L2693
	lea	ebx, DWORD PTR [edi-1]
	test	ebx, ebx
	mov	DWORD PTR $T4451[esp+20], ebx
	je	SHORT $L4449
	npad	6
$L4448:
	mov	bl, BYTE PTR [ecx]
	cmp	bl, BYTE PTR [esi]
	jne	SHORT $L4449
	mov	ebx, DWORD PTR $T4451[esp+20]
	inc	ecx
	inc	esi
	dec	ebx
	mov	DWORD PTR $T4451[esp+20], ebx
	jne	SHORT $L4448
$L4449:
	movzx	ecx, BYTE PTR [ecx]
	movzx	esi, BYTE PTR [esi]
	sub	ecx, esi
	mov	DWORD PTR $T4454[esp+20], ecx
	je	SHORT $L2693
	mov	esi, DWORD PTR _hx$[esp+24]
	mov	ecx, DWORD PTR $T4464[esp+20]
$L2708:
; Line 1512
	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 1513
	inc	eax
	cmp	eax, ecx
	lea	ebp, DWORD PTR [ebx+ebp*2]
	jle	SHORT $L2706
$L2707:
; Line 1515
	or	eax, -1
$L2693:
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
; Line 1516
	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
$T4477 = -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 1518
	sub	esp, 12					; 0000000cH
	push	ebx
	push	ebp
	push	esi
	push	edi
; Line 1525
	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 $L2727
; Line 1520
	lea	eax, DWORD PTR [edi-1]
$L2725:
; Line 1526
	shl	ecx, 1
	dec	eax
	jne	SHORT $L2725
	mov	DWORD PTR _d$[esp+28], ecx
$L2727:
; Line 1528
	mov	ecx, DWORD PTR _y$[esp+24]
	xor	eax, eax
	cmp	edi, ebp
	mov	DWORD PTR _hx$[esp+24], eax
	jle	SHORT $L2730
	mov	edx, DWORD PTR _x$[esp+24]
	sub	edx, ecx
	mov	ebx, edi
$L2728:
; Line 1529
	movsx	esi, BYTE PTR [edx+ecx]
	lea	eax, DWORD PTR [esi+eax*2]
; Line 1530
	movsx	esi, BYTE PTR [ecx]
	inc	ecx
	dec	ebx
	lea	ebp, DWORD PTR [esi+ebp*2]
	jne	SHORT $L2728
	mov	ecx, DWORD PTR _y$[esp+24]
	mov	DWORD PTR _hx$[esp+24], eax
$L2730:
; Line 1535
	mov	edx, DWORD PTR _n$[esp+24]
	sub	edx, edi
	js	SHORT $L4488
	inc	edx
	mov	esi, ecx
	mov	DWORD PTR tv373[esp+24], edx
$L2732:
; Line 1537
	cmp	eax, ebp
	jne	SHORT $L4490
	test	edi, edi
	mov	ecx, DWORD PTR _x$[esp+24]
	mov	edx, esi
	je	SHORT $L4487
	lea	ebx, DWORD PTR [edi-1]
	test	ebx, ebx
	je	SHORT $L4472
	npad	3
$L4471:
	mov	al, BYTE PTR [ecx]
	cmp	al, BYTE PTR [edx]
	jne	SHORT $L4489
	inc	ecx
	inc	edx
	dec	ebx
	jne	SHORT $L4471
$L4489:
	mov	eax, DWORD PTR _hx$[esp+24]
$L4472:
	movzx	ecx, BYTE PTR [ecx]
	movzx	edx, BYTE PTR [edx]
	sub	ecx, edx
	mov	DWORD PTR $T4477[esp+28], ecx
	jne	SHORT $L4490
$L4487:
	inc	DWORD PTR _hits$[esp+28]
$L4490:
; Line 1538
	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 1539
	inc	esi
	dec	ecx
	lea	ebp, DWORD PTR [edx+ebp*2]
	mov	DWORD PTR tv373[esp+24], ecx
	jne	SHORT $L2732
$L4488:
; Line 1541
	mov	eax, DWORD PTR _hits$[esp+28]
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
; Line 1542
	add	esp, 12					; 0000000cH
	ret	0
_Karp_Rabinhits ENDP
_TEXT	ENDS
PUBLIC	_HORSPOOL
; Function compile flags: /Ogty
_TEXT	SEGMENT
_lastch$ = -1033					; size = 1
$T4512 = -1032						; size = 4
$T4501 = -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 1548
	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	sub	esp, 1036				; 0000040cH
; Line 1554
	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 1555
	lea	edx, DWORD PTR [eax-1]
	xor	ecx, ecx
	test	edx, edx
	jle	SHORT $L2753
	mov	esi, edx
$L2751:
	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 $L2751
$L2753:
; Line 1558
	mov	ecx, DWORD PTR _x$[ebp]
	mov	dl, BYTE PTR [ecx+eax-1]
; Line 1560
	mov	ecx, DWORD PTR _n$[ebp]
	xor	edi, edi
	sub	ecx, eax
	mov	BYTE PTR _lastch$[esp+1048], dl
	mov	DWORD PTR $T4512[esp+1048], ecx
	js	SHORT $L2756
	mov	ebx, DWORD PTR _y$[ebp]
	lea	ecx, DWORD PTR [ebx+eax-1]
	npad	8
$L2755:
; Line 1562
	mov	dl, BYTE PTR _lastch$[esp+1048]
	cmp	BYTE PTR [ecx+edi], dl
	jne	SHORT $L2758
; Line 1564
	mov	esi, DWORD PTR _x$[ebp]
	lea	ecx, DWORD PTR [eax-1]
	test	ecx, ecx
	lea	edx, DWORD PTR [edi+ebx]
	je	SHORT $L4506
	dec	ecx
	je	SHORT $L4496
	npad	7
$L4495:
	mov	bl, BYTE PTR [edx]
	cmp	bl, BYTE PTR [esi]
	jne	SHORT $L4515
	inc	edx
	inc	esi
	dec	ecx
	jne	SHORT $L4495
$L4515:
	mov	ebx, DWORD PTR _y$[ebp]
$L4496:
	movzx	ecx, BYTE PTR [edx]
	movzx	edx, BYTE PTR [esi]
	sub	ecx, edx
	mov	DWORD PTR $T4501[esp+1048], ecx
	je	SHORT $L4506
$L2758:
; Line 1565
	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 $T4512[esp+1048]
	add	edi, esi
	cmp	edi, edx
	jle	SHORT $L2755
$L2756:
; Line 1567
	or	eax, -1
; Line 1568
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4506:
; Line 1564
	mov	eax, edi
; Line 1568
	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
$T4536 = -1032						; size = 4
$T4526 = -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 1574
	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	sub	esp, 1044				; 00000414H
; Line 1583
	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 1584
	lea	edx, DWORD PTR [eax-1]
	xor	ecx, ecx
	test	edx, edx
	mov	DWORD PTR _hits$[esp+1056], ebx
	jle	SHORT $L2778
	mov	esi, edx
	npad	5
$L2776:
	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 $L2776
$L2778:
; Line 1587
	mov	ecx, DWORD PTR _x$[ebp]
	mov	dl, BYTE PTR [ecx+eax-1]
; Line 1589
	mov	ecx, DWORD PTR _n$[ebp]
	xor	edi, edi
	sub	ecx, eax
	mov	BYTE PTR _lastch$[esp+1056], dl
	mov	DWORD PTR $T4536[esp+1056], ecx
	js	SHORT $L4538
	mov	ebx, DWORD PTR _y$[ebp]
	lea	ecx, DWORD PTR [ebx+eax-1]
$L2780:
; Line 1591
	mov	dl, BYTE PTR _lastch$[esp+1056]
	cmp	BYTE PTR [ecx+edi], dl
	jne	SHORT $L2783
; Line 1594
	mov	esi, DWORD PTR _x$[ebp]
	lea	ecx, DWORD PTR [eax-1]
	test	ecx, ecx
	lea	edx, DWORD PTR [edi+ebx]
	je	SHORT $L4537
	dec	ecx
	je	SHORT $L4521
	npad	7
$L4520:
	mov	bl, BYTE PTR [edx]
	cmp	bl, BYTE PTR [esi]
	jne	SHORT $L4539
	inc	edx
	inc	esi
	dec	ecx
	jne	SHORT $L4520
$L4539:
	mov	ebx, DWORD PTR _y$[ebp]
$L4521:
	movzx	ecx, BYTE PTR [edx]
	movzx	edx, BYTE PTR [esi]
	sub	ecx, edx
	mov	DWORD PTR $T4526[esp+1056], ecx
	jne	SHORT $L2783
$L4537:
	inc	DWORD PTR _hits$[esp+1056]
$L2783:
; Line 1595
	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 $T4536[esp+1056]
	add	edi, esi
	cmp	edi, edx
	jle	SHORT $L2780
; Line 1597
	mov	eax, DWORD PTR _hits$[esp+1056]
; Line 1598
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4538:
	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
$T4596 = -1036						; size = 4
tv575 = -1032						; size = 4
$T4552 = -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 1608
	sub	esp, 1052				; 0000041cH
; Line 1612
	mov	ax, WORD PTR $SG2806
	push	ebx
	push	esi
; Line 1619
	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 1620
	lea	ecx, DWORD PTR [esi-1]
	xor	eax, eax
	test	ecx, ecx
	mov	DWORD PTR _hits$[esp+1064], ebx
	jle	SHORT $L2817
	mov	edx, ecx
	npad	7
$L2815:
	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 $L2815
$L2817:
; Line 1623
	mov	ecx, DWORD PTR _x$[esp+1060]
; Line 1625
	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 $T4596[esp+1064], eax
	js	$L4620
	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 $L2819
$L4623:
	mov	esi, DWORD PTR _m$[esp+1064]
	npad	10
$L2819:
; Line 1626
	mov	ecx, DWORD PTR tv575[esp+1068]
	mov	al, BYTE PTR [ecx+edi]
; Line 1627
	cmp	al, BYTE PTR _lastch$[esp+1068]
	mov	BYTE PTR _ch$[esp+1068], al
	jne	$L2844
; Line 1629
	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 $L4605
	dec	eax
	je	SHORT $L4622
	npad	5
$L4546:
	mov	bl, BYTE PTR [ecx]
	cmp	bl, BYTE PTR [esi]
	jne	SHORT $L4622
	inc	ecx
	inc	esi
	dec	eax
	jne	SHORT $L4546
$L4622:
	movzx	eax, BYTE PTR [ecx]
	movzx	ecx, BYTE PTR [esi]
	sub	eax, ecx
	mov	DWORD PTR $T4552[esp+1068], eax
	jne	$L2844
$L4605:
; Line 1636
	cmp	BYTE PTR [ebp], 10			; 0000000aH
	mov	ebx, edi
	je	SHORT $L2827
$L2824:
	mov	al, BYTE PTR [ebx+edx+1]
	inc	ebx
	cmp	al, 10					; 0000000aH
	jne	SHORT $L2824
	npad	2
$L2827:
; Line 1637
	test	edi, edi
	je	SHORT $L2829
	mov	al, BYTE PTR [edi+edx-1]
	dec	edi
	cmp	al, 10					; 0000000aH
	jne	SHORT $L2827
; Line 1638
	test	edi, edi
	je	SHORT $L2829
	inc	edi
$L2829:
; Line 1642
	mov	eax, DWORD PTR _NestedP1len$[esp+1064]
	test	eax, eax
	je	SHORT $L4606
; Line 1643
	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	$L4621
; Line 1647
	mov	eax, DWORD PTR _NestedP2len$[esp+1064]
	test	eax, eax
	je	SHORT $L4606
; Line 1648
	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	$L4621
; Line 1652
	mov	eax, DWORD PTR _NestedP3len$[esp+1064]
	test	eax, eax
	je	SHORT $L4606
; Line 1653
	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	$L4621
$L4606:
; Line 1663
	mov	eax, DWORD PTR _INIHDDRAM$[esp+1064]
	mov	cl, BYTE PTR $SG2840
	movzx	eax, BYTE PTR [eax]
	movzx	esi, cl
	sub	eax, esi
	mov	edx, OFFSET FLAT:$SG2840
	jne	SHORT $L4558
	mov	esi, DWORD PTR _INIHDDRAM$[esp+1064]
	sub	esi, edx
$L4557:
	test	cl, cl
	je	SHORT $L4558
	mov	cl, BYTE PTR [edx+1]
	movzx	eax, BYTE PTR [esi+edx+1]
	inc	edx
	movzx	ebp, cl
	sub	eax, ebp
	je	SHORT $L4557
$L4558:
	test	eax, eax
	jl	SHORT $L4607
	jg	SHORT $L4607
	test	eax, eax
	je	SHORT $L2839
$L4607:
; Line 1664
	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 $L4568
$L4567:
	mov	dl, BYTE PTR _TAGfree$[esp+1068]
	cmp	BYTE PTR [esi], dl
	je	SHORT $L4568
	inc	esi
	dec	eax
	jne	SHORT $L4567
$L4568:
	neg	eax
	sbb	eax, eax
	test	eax, esi
	jne	SHORT $L4621
	mov	eax, ecx
	test	eax, eax
	mov	esi, edi
	je	SHORT $L4575
$L4574:
	mov	dl, BYTE PTR _TAGfree$[esp+1069]
	cmp	BYTE PTR [esi], dl
	je	SHORT $L4575
	inc	esi
	dec	eax
	jne	SHORT $L4574
$L4575:
	neg	eax
	sbb	eax, eax
	test	eax, esi
	jne	SHORT $L4621
; Line 1666
	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 1668
	jmp	SHORT $L4621
$L2839:
	inc	DWORD PTR _hits$[esp+1068]
$L4621:
	mov	edx, DWORD PTR _y$[esp+1064]
	mov	edi, DWORD PTR _i$[esp+1068]
$L2844:
; Line 1676
	movzx	ecx, BYTE PTR _ch$[esp+1068]
	mov	esi, DWORD PTR _bm_bc$[esp+ecx*4+1068]
	mov	eax, DWORD PTR $T4596[esp+1068]
	add	edi, esi
	cmp	edi, eax
	mov	DWORD PTR _i$[esp+1068], edi
	jle	$L4623
; Line 1678
	mov	eax, DWORD PTR _hits$[esp+1068]
	pop	ebp
	pop	edi
	pop	esi
	pop	ebx
; Line 1679
	add	esp, 1052				; 0000041cH
	ret	0
$L4620:
	pop	edi
	pop	esi
; Line 1678
	mov	eax, ebx
	pop	ebx
; Line 1679
	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 1687
	mov	edx, DWORD PTR _SearchAlgorithm_invocations_global_counter
; Line 1688
	mov	eax, DWORD PTR _SearchAlgorithm
	inc	edx
	cmp	eax, 1
	mov	DWORD PTR _SearchAlgorithm_invocations_global_counter, edx
	je	SHORT $L2853
	cmp	eax, 11					; 0000000bH
	je	SHORT $L2853
	cmp	eax, 111				; 0000006fH
	je	SHORT $L2853
; Line 1689
	cmp	eax, 2
	je	SHORT $L2855
	cmp	eax, 22					; 00000016H
	je	SHORT $L2855
	cmp	eax, 222				; 000000deH
	je	SHORT $L2855
; Line 1690
	cmp	eax, 3
	je	SHORT $L2857
	cmp	eax, 33					; 00000021H
	je	SHORT $L2857
	cmp	eax, 333				; 0000014dH
	je	SHORT $L2857
; Line 1691
	cmp	eax, 4
	je	SHORT $L2859
	cmp	eax, 44					; 0000002cH
	je	SHORT $L2859
	cmp	eax, 444				; 000001bcH
	je	SHORT $L2859
; Line 1692
	cmp	eax, 5
	je	SHORT $L2859
; Line 1694
	jmp	_HORSPOOL
$L2859:
; Line 1691
	jmp	_KarpRabinKaze
$L2857:
; Line 1690
	jmp	_SMITH_Boyer_Moore
$L2855:
; Line 1689
	jmp	_Quick_Boyer_Moore
$L2853:
; Line 1688
	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$ = -40						; size = 2
_ThunderwithR$ = -36					; size = 4
_hits$ = -32						; size = 4
_llTOaDigits$ = -28					; size = 27
_y$ = 8							; size = 4
_x$ = 12						; size = 4
tv697 = 16						; size = 4
tv680 = 16						; size = 4
tv639 = 16						; size = 4
tv624 = 16						; size = 4
tv616 = 16						; size = 4
tv601 = 16						; size = 4
tv515 = 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 1707
	sub	esp, 40					; 00000028H
; Line 1711
	mov	ax, WORD PTR $SG2880
	push	ebx
	push	ebp
	mov	WORD PTR _TAGfree$[esp+48], ax
; Line 1718
	mov	eax, DWORD PTR _SearchAlgorithm
	xor	ebp, ebp
	push	esi
	mov	esi, DWORD PTR _n$[esp+48]
	xor	ebx, ebx
	cmp	eax, 5
	push	edi
	mov	DWORD PTR _hits$[esp+56], ebp
	mov	DWORD PTR _ThunderwithR$[esp+56], ebp
	je	$L4705
; Line 1720
	mov	edi, DWORD PTR _NestedP1len$[esp+52]
	cmp	edi, ebp
	je	$L2888
; Line 1724
	call	_clock
; Line 1725
	mov	ecx, DWORD PTR _NestedP1$[esp+52]
	mov	edx, DWORD PTR _y$[esp+52]
	push	edi
	push	esi
	push	ecx
	push	edx
	mov	DWORD PTR _clocksG1, eax
	call	_HORSPOOLhits
	add	DWORD PTR _HorspoolGLOBALhits, eax
; Line 1726
	call	_clock
	mov	ecx, DWORD PTR _clocksG1
	mov	DWORD PTR _clocksG2, eax
	sub	eax, ecx
	mov	DWORD PTR tv697[esp+68], eax
	fild	DWORD PTR tv697[esp+68]
	mov	eax, esi
	cdq
	mov	edi, eax
	mov	eax, DWORD PTR _clocksGHtxt
	mov	ebp, edx
	mov	edx, DWORD PTR _clocksGHtxt+4
	add	eax, edi
	fadd	QWORD PTR _clocksGH
	adc	edx, ebp
	mov	DWORD PTR _clocksGHtxt, eax
	mov	DWORD PTR _clocksGHtxt+4, edx
	fstp	QWORD PTR _clocksGH
; Line 1727
	call	_clock
; Line 1728
	mov	ecx, DWORD PTR _NestedP1$[esp+68]
	mov	edx, DWORD PTR _y$[esp+68]
	mov	DWORD PTR _clocksG1, eax
	mov	eax, DWORD PTR _NestedP1len$[esp+68]
	push	eax
	push	esi
	push	ecx
	push	edx
	call	_KarpRabinKazeHits
	mov	ecx, DWORD PTR _FRKFindSubpbGLOBALHITS
	add	ecx, eax
	add	esp, 32					; 00000020H
	mov	DWORD PTR _FRKFindSubpbGLOBALHITS, ecx
; Line 1729
	call	_clock
	mov	edx, DWORD PTR _clocksG1
	mov	ecx, DWORD PTR _clocksGKtxt
	mov	DWORD PTR _clocksG2, eax
	sub	eax, edx
	mov	DWORD PTR tv680[esp+52], eax
	fild	DWORD PTR tv680[esp+52]
	mov	eax, DWORD PTR _clocksGKtxt+4
	add	ecx, edi
	adc	eax, ebp
	mov	ebp, DWORD PTR _ThunderwithR$[esp+56]
	fadd	QWORD PTR _clocksGK
	mov	DWORD PTR _clocksGKtxt, ecx
	mov	DWORD PTR _clocksGKtxt+4, eax
	fstp	QWORD PTR _clocksGK
$L2888:
; Line 1731
	mov	edi, DWORD PTR _NestedP2len$[esp+52]
	test	edi, edi
	je	$L2891
; Line 1735
	call	_clock
; Line 1736
	mov	ecx, DWORD PTR _y$[esp+52]
	push	edi
	mov	DWORD PTR _clocksG1, eax
	mov	eax, DWORD PTR _NestedP2$[esp+56]
	push	esi
	push	eax
	push	ecx
	call	_HORSPOOLhits
	add	DWORD PTR _HorspoolGLOBALhits, eax
; Line 1737
	call	_clock
	mov	edi, DWORD PTR _clocksG1
	mov	ecx, DWORD PTR _clocksGHtxt+4
	mov	DWORD PTR _clocksG2, eax
	sub	eax, edi
	mov	DWORD PTR tv639[esp+68], eax
	fild	DWORD PTR tv639[esp+68]
	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 1738
	call	_clock
; Line 1739
	mov	edx, DWORD PTR _NestedP2len$[esp+68]
	mov	ecx, DWORD PTR _y$[esp+68]
	push	edx
	mov	DWORD PTR _clocksG1, eax
	mov	eax, DWORD PTR _NestedP2$[esp+72]
	push	esi
	push	eax
	push	ecx
	call	_KarpRabinKazeHits
	mov	ecx, DWORD PTR _FRKFindSubpbGLOBALHITS
	add	ecx, eax
	add	esp, 32					; 00000020H
	mov	DWORD PTR _FRKFindSubpbGLOBALHITS, ecx
; Line 1740
	call	_clock
	mov	edx, DWORD PTR _clocksG1
	mov	ecx, DWORD PTR _clocksGKtxt
	mov	DWORD PTR _clocksG2, eax
	sub	eax, edx
	mov	DWORD PTR tv624[esp+52], eax
	fild	DWORD PTR tv624[esp+52]
	mov	eax, DWORD PTR _clocksGKtxt+4
	add	ecx, edi
	adc	eax, ebp
	mov	ebp, DWORD PTR _ThunderwithR$[esp+56]
	fadd	QWORD PTR _clocksGK
	mov	DWORD PTR _clocksGKtxt, ecx
	mov	DWORD PTR _clocksGKtxt+4, eax
	fstp	QWORD PTR _clocksGK
$L2891:
; Line 1742
	mov	edi, DWORD PTR _NestedP3len$[esp+52]
	test	edi, edi
	je	$L4705
; Line 1746
	call	_clock
; Line 1747
	mov	edx, DWORD PTR _NestedP3$[esp+52]
	push	edi
	push	esi
	mov	DWORD PTR _clocksG1, eax
	mov	eax, DWORD PTR _y$[esp+60]
	push	edx
	push	eax
	call	_HORSPOOLhits
	add	DWORD PTR _HorspoolGLOBALhits, eax
; Line 1748
	call	_clock
	mov	edx, DWORD PTR _clocksG1
	mov	ecx, DWORD PTR _clocksGHtxt
	mov	DWORD PTR _clocksG2, eax
	sub	eax, edx
	mov	DWORD PTR tv616[esp+68], eax
	fild	DWORD PTR tv616[esp+68]
	mov	eax, esi
	cdq
	mov	edi, eax
	mov	eax, DWORD PTR _clocksGHtxt+4
	add	ecx, edi
	fadd	QWORD PTR _clocksGH
	mov	ebp, edx
	adc	eax, ebp
	mov	DWORD PTR _clocksGHtxt, ecx
	fstp	QWORD PTR _clocksGH
	mov	DWORD PTR _clocksGHtxt+4, eax
; Line 1749
	call	_clock
; Line 1750
	mov	ecx, DWORD PTR _NestedP3len$[esp+68]
	mov	edx, DWORD PTR _NestedP3$[esp+68]
	push	ecx
	push	esi
	mov	DWORD PTR _clocksG1, eax
	mov	eax, DWORD PTR _y$[esp+76]
	push	edx
	push	eax
	call	_KarpRabinKazeHits
	mov	ecx, DWORD PTR _FRKFindSubpbGLOBALHITS
	add	ecx, eax
	add	esp, 32					; 00000020H
	mov	DWORD PTR _FRKFindSubpbGLOBALHITS, ecx
; Line 1751
	call	_clock
	mov	edx, DWORD PTR _clocksG1
	mov	ecx, DWORD PTR _clocksGKtxt
	mov	DWORD PTR _clocksG2, eax
	sub	eax, edx
	mov	DWORD PTR tv601[esp+52], eax
	fild	DWORD PTR tv601[esp+52]
	mov	eax, DWORD PTR _clocksGKtxt+4
	add	ecx, edi
	adc	eax, ebp
	mov	ebp, DWORD PTR _ThunderwithR$[esp+56]
	fadd	QWORD PTR _clocksGK
	mov	DWORD PTR _clocksGKtxt, ecx
	mov	DWORD PTR _clocksGKtxt+4, eax
	fstp	QWORD PTR _clocksGK
$L4705:
; Line 1755
	test	esi, esi
	jne	SHORT $L4687
	pop	edi
	pop	esi
	pop	ebp
	xor	eax, eax
	pop	ebx
; Line 1821
	add	esp, 40					; 00000028H
	ret	0
$L4687:
; Line 1818
	dec	esi
	mov	DWORD PTR tv515[esp+52], esi
	npad	3
$L2899:
	mov	eax, DWORD PTR _y$[esp+52]
	cmp	BYTE PTR [eax+ebp], 10			; 0000000aH
	je	SHORT $L2905
	npad	6
$L2902:
; Line 1759
	mov	cl, BYTE PTR [eax+ebp+1]
	inc	ebp
	cmp	cl, 10					; 0000000aH
	jne	SHORT $L2902
	mov	DWORD PTR _ThunderwithR$[esp+56], ebp
	npad	2
$L2905:
; Line 1760
	test	ebx, ebx
	je	SHORT $L2907
	mov	cl, BYTE PTR [ebx+eax-1]
	dec	ebx
	cmp	cl, 10					; 0000000aH
	jne	SHORT $L2905
; Line 1761
	test	ebx, ebx
	je	SHORT $L2907
	inc	ebx
$L2907:
; Line 1762
	mov	edi, DWORD PTR _TotalLinesENC
	mov	esi, DWORD PTR _TotalLinesENC+4
	add	edi, 1
	adc	esi, 0
	mov	DWORD PTR _TotalLinesENC+4, esi
; Line 1772
	mov	esi, ebp
	sub	esi, ebx
	cmp	esi, 960				; 000003c0H
	mov	DWORD PTR _TotalLinesENC, edi
	jg	$L4708
; Line 1773
	mov	ecx, DWORD PTR _NestedP1len$[esp+52]
	test	ecx, ecx
	je	SHORT $L4686
; Line 1774
	mov	edx, DWORD PTR _NestedP1$[esp+52]
	push	ecx
	push	esi
	lea	edi, DWORD PTR [ebx+eax]
	push	edx
	push	edi
	call	_Search_Algorithm
	add	esp, 16					; 00000010H
	cmp	eax, -1
	je	$L4708
; Line 1778
	mov	eax, DWORD PTR _NestedP2len$[esp+52]
	test	eax, eax
	je	SHORT $L4707
; Line 1779
	mov	ecx, DWORD PTR _NestedP2$[esp+52]
	push	eax
	push	esi
	push	ecx
	push	edi
	call	_Search_Algorithm
	add	esp, 16					; 00000010H
	cmp	eax, -1
	je	$L4708
; Line 1783
	mov	eax, DWORD PTR _NestedP3len$[esp+52]
	test	eax, eax
	je	SHORT $L4707
; Line 1784
	mov	edx, eax
	mov	eax, DWORD PTR _NestedP3$[esp+52]
	push	edx
	push	esi
	push	eax
	push	edi
	call	_Search_Algorithm
	add	esp, 16					; 00000010H
	cmp	eax, -1
; Line 1793
	je	$L4708
$L4707:
	mov	eax, DWORD PTR _y$[esp+52]
$L4686:
; Line 1799
	mov	ecx, DWORD PTR _x$[esp+52]
	cmp	BYTE PTR [ecx], 42			; 0000002aH
	jne	SHORT $L2921
	mov	dl, BYTE PTR [ecx+1]
	test	dl, dl
	je	SHORT $L2920
$L2921:
	push	1
	lea	edx, DWORD PTR [ebx+eax]
	push	edx
	push	ecx
	call	_CompareWildCardWithName
	add	esp, 12					; 0000000cH
	test	ax, ax
	je	$L4708
$L2920:
; Line 1801
	mov	eax, DWORD PTR _INIHDDRAM$[esp+52]
	mov	cl, BYTE PTR $SG2924
	movzx	eax, BYTE PTR [eax]
	movzx	edi, cl
	sub	eax, edi
	mov	edx, OFFSET FLAT:$SG2924
	jne	SHORT $L4637
	mov	edi, DWORD PTR _INIHDDRAM$[esp+52]
	sub	edi, edx
$L4636:
	test	cl, cl
	je	SHORT $L4637
	mov	cl, BYTE PTR [edx+1]
	movzx	eax, BYTE PTR [edi+edx+1]
	inc	edx
	movzx	ebp, cl
	sub	eax, ebp
	je	SHORT $L4636
$L4637:
	test	eax, eax
	jl	SHORT $L2923
	jg	SHORT $L2923
	test	eax, eax
	jne	SHORT $L2923
	mov	ecx, DWORD PTR _Bastumante2$[esp+52]
	cmp	BYTE PTR [ecx], 68			; 00000044H
	je	SHORT $L2923
; Line 1814
	inc	DWORD PTR _hits$[esp+56]
	jmp	$L4706
$L2923:
; Line 1802
	mov	edx, DWORD PTR _y$[esp+52]
	mov	eax, esi
	test	eax, eax
	lea	ebp, DWORD PTR [ebx+edx]
	mov	ecx, ebp
	je	SHORT $L4647
$L4646:
	mov	dl, BYTE PTR _TAGfree$[esp+56]
	cmp	BYTE PTR [ecx], dl
	je	SHORT $L4647
	inc	ecx
	dec	eax
	jne	SHORT $L4646
$L4647:
	neg	eax
	sbb	eax, eax
	test	eax, ecx
	jne	$L4706
	mov	eax, esi
	test	eax, eax
	mov	ecx, ebp
	je	SHORT $L4654
$L4653:
	mov	dl, BYTE PTR _TAGfree$[esp+57]
	cmp	BYTE PTR [ecx], dl
	je	SHORT $L4654
	inc	ecx
	dec	eax
	jne	SHORT $L4653
$L4654:
	neg	eax
	sbb	eax, eax
	test	eax, ecx
	jne	$L4706
; Line 1803
	mov	edi, DWORD PTR _hits$[esp+56]
; Line 1806
	mov	eax, DWORD PTR ?hitsSTATIC@?1??IgorPavlov@@9@9
; Line 1807
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+60]
	push	ecx
	inc	edi
	inc	eax
	push	0
	push	eax
	mov	DWORD PTR _hits$[esp+72], edi
	mov	DWORD PTR ?hitsSTATIC@?1??IgorPavlov@@9@9, eax
	call	__ui64toaKAZEzerocomma
	add	eax, 15					; 0000000fH
	push	eax
	push	OFFSET FLAT:$SG2928
	call	_printf
	add	esp, 24					; 00000018H
; Line 1808
	inc	esi
	test	esi, esi
	jle	SHORT $L2931
	mov	edi, ebp
	mov	ebx, esi
$L2929:
; Line 1809
	dec	DWORD PTR __iob+36
	js	SHORT $L4630
	mov	eax, DWORD PTR __iob+32
	mov	dl, BYTE PTR [edi]
	mov	BYTE PTR [eax], dl
	inc	DWORD PTR __iob+32
	jmp	SHORT $L2930
$L4630:
	movsx	ecx, BYTE PTR [edi]
	push	OFFSET FLAT:__iob+32
	push	ecx
	call	__flsbuf
	add	esp, 8
$L2930:
	inc	edi
	dec	ebx
	jne	SHORT $L2929
$L2931:
; Line 1812
	mov	edx, DWORD PTR _fp_outLOG$[esp+52]
	push	edx
	push	1
	push	esi
	push	ebp
	call	_fwrite
	add	esp, 16					; 00000010H
$L4706:
	mov	ebp, DWORD PTR _ThunderwithR$[esp+56]
$L4708:
; Line 1818
	mov	eax, DWORD PTR tv515[esp+52]
	inc	ebp
	cmp	ebp, eax
	mov	DWORD PTR _ThunderwithR$[esp+56], ebp
	mov	ebx, ebp
	jl	$L2899
	mov	eax, DWORD PTR _hits$[esp+56]
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
; Line 1821
	add	esp, 40					; 00000028H
	ret	0
_IgorPavlov ENDP
_TEXT	ENDS
PUBLIC	_InitTree
; Function compile flags: /Ogty
_TEXT	SEGMENT
_InitTree PROC NEAR
; Line 1861
	push	edi
; Line 1872
	mov	eax, 4096				; 00001000H
	mov	ecx, 256				; 00000100H
	mov	edi, OFFSET FLAT:_rson+16388
	rep stosd
; Line 1873
	mov	ecx, eax
	mov	edi, OFFSET FLAT:_dad
	rep stosd
	pop	edi
; Line 1874
	ret	0
_InitTree ENDP
_TEXT	ENDS
PUBLIC	_InsertNode
; Function compile flags: /Ogty
_TEXT	SEGMENT
_r$ = 8							; size = 4
_InsertNode PROC NEAR
; Line 1887
	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 1888
	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
$L3221:
; Line 1890
	test	esi, esi
	jl	SHORT $L3223
; Line 1891
	mov	ecx, DWORD PTR _rson[eax*4]
	cmp	ecx, 4096				; 00001000H
	jne	SHORT $L4726
	pop	edi
	pop	esi
; Line 1892
	mov	DWORD PTR _rson[eax*4], edx
; Line 1895
	mov	DWORD PTR _dad[edx*4], eax
	pop	ebx
; Line 1909
	ret	0
$L3223:
; Line 1894
	mov	ecx, DWORD PTR _lson[eax*4]
	cmp	ecx, 4096				; 00001000H
	je	$L3227
$L4726:
	mov	eax, ecx
; Line 1897
	mov	ecx, 1
	npad	11
$L3229:
; Line 1898
	movzx	ebx, BYTE PTR _text_buf[eax+ecx]
	movzx	esi, BYTE PTR _text_buf[ecx+edx]
	sub	esi, ebx
	jne	SHORT $L4723
	inc	ecx
	cmp	ecx, 18					; 00000012H
	jl	SHORT $L3229
$L4723:
; Line 1899
	cmp	ecx, edi
	jle	SHORT $L3221
; Line 1901
	cmp	ecx, 18					; 00000012H
	mov	edi, ecx
	mov	DWORD PTR _match_position, eax
	mov	DWORD PTR _match_length, edi
	jl	SHORT $L3221
; Line 1904
	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 1905
	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 1906
	mov	ecx, DWORD PTR [esi]
	shl	ecx, 2
	cmp	DWORD PTR _rson[ecx], eax
	jne	SHORT $L3235
	pop	edi
; Line 1908
	mov	DWORD PTR [esi], 4096			; 00001000H
	pop	esi
	mov	DWORD PTR _rson[ecx], edx
	pop	ebx
; Line 1909
	ret	0
$L3235:
	pop	edi
; Line 1908
	mov	DWORD PTR [esi], 4096			; 00001000H
	pop	esi
	mov	DWORD PTR _lson[ecx], edx
	pop	ebx
; Line 1909
	ret	0
$L3227:
	pop	edi
	pop	esi
; Line 1895
	mov	DWORD PTR _lson[eax*4], edx
	mov	DWORD PTR _dad[edx*4], eax
	pop	ebx
; Line 1909
	ret	0
_InsertNode ENDP
_TEXT	ENDS
PUBLIC	_DeleteNode
; Function compile flags: /Ogty
_TEXT	SEGMENT
_p$ = 8							; size = 4
_DeleteNode PROC NEAR
; Line 1912
	push	ebx
	push	edi
; Line 1915
	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	$L3240
; Line 1916
	mov	eax, DWORD PTR _rson[edi*4]
	cmp	eax, 4096				; 00001000H
	jne	SHORT $L3243
	mov	eax, DWORD PTR _lson[edi*4]
; Line 1917
	jmp	$L3246
$L3243:
	push	esi
	mov	esi, DWORD PTR _lson[edi*4]
	cmp	esi, 4096				; 00001000H
; Line 1918
	je	$L4730
; Line 1919
	mov	eax, esi
; Line 1920
	mov	edx, DWORD PTR _rson[eax*4]
	cmp	edx, 4096				; 00001000H
	lea	ecx, DWORD PTR _rson[eax*4]
	je	SHORT $L3247
	npad	11
$L3248:
; Line 1921
	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 $L3248
; Line 1922
	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 1923
	mov	DWORD PTR _lson[eax*4], esi
	mov	ecx, DWORD PTR _lson[edi*4]
	mov	DWORD PTR _dad[ecx*4], eax
$L3247:
; Line 1925
	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
$L4730:
	pop	esi
$L3246:
; Line 1927
	mov	edx, DWORD PTR [ebx]
	mov	DWORD PTR _dad[eax*4], edx
; Line 1928
	mov	ecx, DWORD PTR [ebx]
	shl	ecx, 2
	cmp	DWORD PTR _rson[ecx], edi
	jne	SHORT $L3251
	pop	edi
; Line 1929
	mov	DWORD PTR [ebx], 4096			; 00001000H
	mov	DWORD PTR _rson[ecx], eax
	pop	ebx
; Line 1930
	ret	0
$L3251:
; Line 1928
	mov	DWORD PTR _lson[ecx], eax
; Line 1929
	mov	DWORD PTR [ebx], 4096			; 00001000H
$L3240:
	pop	edi
	pop	ebx
; Line 1930
	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 1933
	sub	esp, 48					; 00000030H
	push	ebx
	push	ebp
	push	edi
; Line 1941
	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 1948
	mov	ecx, 1019				; 000003fbH
	mov	eax, 538976288				; 20202020H
	mov	edi, OFFSET FLAT:_text_buf
	rep stosd
	xor	ebp, ebp
	stosw
; Line 1950
	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
$L3271:
	mov	eax, DWORD PTR _infileOkumura
	dec	DWORD PTR [eax+4]
	mov	ecx, DWORD PTR _infileOkumura
	cmp	DWORD PTR [ecx+4], ebp
	jl	SHORT $L4732
	mov	edx, DWORD PTR [ecx]
	movzx	eax, BYTE PTR [edx]
	inc	edx
	mov	DWORD PTR [ecx], edx
	jmp	SHORT $L4733
$L4732:
	push	ecx
	call	__filbuf
	add	esp, 4
$L4733:
	cmp	eax, -1
	je	SHORT $L4776
; Line 1951
	mov	BYTE PTR _text_buf[edi+4078], al
	inc	edi
	cmp	edi, 18					; 00000012H
	jl	SHORT $L3271
$L4776:
; Line 1953
	cmp	edi, ebp
	mov	DWORD PTR _len$[esp+60], edi
	mov	DWORD PTR _textsize$[esp+60], edi
	je	$L3255
	push	esi
; Line 1954
	mov	esi, 4077				; 00000fedH
	npad	3
$L3275:
	push	esi
	call	_InsertNode
	add	esp, 4
	dec	esi
	cmp	esi, 4060				; 00000fdcH
	jge	SHORT $L3275
; Line 1958
	push	4078					; 00000feeH
	call	_InsertNode
	add	esp, 4
	jmp	SHORT $L3278
$L4771:
	mov	edi, DWORD PTR _len$[esp+64]
$L3278:
; Line 1961
	cmp	DWORD PTR _match_length, edi
	jle	SHORT $L3281
	mov	DWORD PTR _match_length, edi
$L3281:
; Line 1963
	mov	ecx, DWORD PTR _match_length
	cmp	ecx, 2
	jg	SHORT $L3282
; Line 1965
	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 1966
	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 1967
	jmp	SHORT $L4781
$L3282:
; Line 1968
	mov	eax, DWORD PTR _match_position
	mov	BYTE PTR _code_buf$[esp+ebx+64], al
; Line 1971
	sar	eax, 4
	inc	ebx
	and	al, 240					; 000000f0H
	sub	cl, 3
	or	al, cl
	mov	BYTE PTR _code_buf$[esp+ebx+64], al
$L4781:
; Line 1974
	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 $L4769
; Line 1975
	xor	esi, esi
	test	ebx, ebx
	jle	SHORT $L3289
	npad	9
$L4775:
; Line 1976
	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 $L4734
	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 $L3288
$L4734:
	movzx	edx, BYTE PTR _code_buf$[esp+esi+64]
	push	eax
	push	edx
	call	__flsbuf
	add	esp, 8
$L3288:
	inc	esi
	cmp	esi, ebx
	jl	SHORT $L4775
$L3289:
; Line 1977
	mov	eax, DWORD PTR _codesize$[esp+64]
	add	eax, ebx
; Line 1978
	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
$L4769:
; Line 1980
	mov	edi, DWORD PTR _match_length
; Line 1982
	xor	esi, esi
	test	edi, edi
	jle	SHORT $L3293
	npad	11
$L4772:
	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 $L4736
	mov	ecx, DWORD PTR [eax]
	movzx	ebx, BYTE PTR [ecx]
	inc	ecx
	mov	DWORD PTR [eax], ecx
	jmp	SHORT $L4737
$L4736:
	push	eax
	call	__filbuf
	add	esp, 4
	mov	ebx, eax
$L4737:
	cmp	ebx, -1
	je	SHORT $L4770
; Line 1983
	push	ebp
	call	_DeleteNode
	add	esp, 4
; Line 1985
	cmp	ebp, 17					; 00000011H
	mov	BYTE PTR _text_buf[ebp], bl
	jge	SHORT $L3294
	mov	BYTE PTR _text_buf[ebp+4096], bl
$L3294:
; Line 1988
	mov	eax, DWORD PTR _r$[esp+64]
	inc	ebp
	and	ebp, 4095				; 00000fffH
	inc	eax
	and	eax, 4095				; 00000fffH
; Line 1991
	push	eax
	mov	DWORD PTR _r$[esp+68], eax
	call	_InsertNode
	add	esp, 4
	inc	esi
	cmp	esi, edi
	jl	SHORT $L4772
$L4770:
; Line 1982
	mov	ebx, DWORD PTR _code_buf_ptr$[esp+64]
$L3293:
; Line 1993
	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 $L4758
; Line 1994
	push	eax
	push	OFFSET FLAT:$SG3296
	call	_printf
	mov	eax, DWORD PTR _printcount$[esp+72]
	add	esp, 8
	add	eax, 65536				; 00010000H
	mov	DWORD PTR _printcount$[esp+64], eax
$L4758:
; Line 1998
	cmp	esi, edi
	jge	SHORT $L4767
	sub	edi, esi
$L3298:
; Line 1999
	push	ebp
	call	_DeleteNode
; Line 2000
	mov	ecx, DWORD PTR _r$[esp+68]
	add	esp, 4
	lea	eax, DWORD PTR [ecx+1]
; Line 2001
	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 $L3300
	push	eax
	call	_InsertNode
	add	esp, 4
$L3300:
; Line 1998
	dec	edi
	jne	SHORT $L3298
$L4767:
; Line 2003
	mov	eax, DWORD PTR _len$[esp+64]
	test	eax, eax
	jg	$L4771
; Line 2004
	cmp	ebx, 1
	jle	SHORT $L4774
; Line 2005
	xor	esi, esi
	test	ebx, ebx
	jle	SHORT $L3304
$L3302:
	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 $L4738
	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 $L3303
$L4738:
	movzx	ecx, BYTE PTR _code_buf$[esp+esi+64]
	push	eax
	push	ecx
	call	__flsbuf
	add	esp, 8
$L3303:
	inc	esi
	cmp	esi, ebx
	jl	SHORT $L3302
$L3304:
; Line 2006
	mov	esi, DWORD PTR _codesize$[esp+64]
	add	esi, ebx
	jmp	SHORT $L3301
$L4774:
	mov	esi, DWORD PTR _codesize$[esp+64]
$L3301:
; Line 2008
	mov	edi, DWORD PTR _textsize$[esp+64]
	push	edi
	push	OFFSET FLAT:$SG3306
	call	_printf
; Line 2009
	push	esi
	push	OFFSET FLAT:$SG3307
	call	_printf
; Line 2010
	test	esi, esi
	mov	DWORD PTR tv673[esp+80], esi
	fild	DWORD PTR tv673[esp+80]
	jge	SHORT $L4777
	fadd	QWORD PTR __real@41f0000000000000
$L4777:
	test	edi, edi
	mov	DWORD PTR tv671[esp+80], edi
	fild	DWORD PTR tv671[esp+80]
	jge	SHORT $L4780
	fadd	QWORD PTR __real@41f0000000000000
$L4780:
	fdivp	ST(1), ST(0)
	add	esp, 8
	fstp	QWORD PTR [esp]
	push	OFFSET FLAT:$SG3309
	call	_printf
	add	esp, 12					; 0000000cH
	pop	esi
$L3255:
	pop	edi
	pop	ebp
	pop	ebx
; Line 2011
	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 2014
	sub	esp, 8
	push	ebx
	push	ebp
	push	esi
	push	edi
; Line 2018
	mov	ecx, 1019				; 000003fbH
	mov	eax, 538976288				; 20202020H
	mov	edi, OFFSET FLAT:_text_buf
	rep stosd
	stosw
; Line 2019
	mov	DWORD PTR _r$[esp+24], 4078		; 00000feeH
	mov	DWORD PTR _flags$[esp+24], 0
	npad	6
$L3323:
; Line 2021
	mov	eax, DWORD PTR _flags$[esp+24]
	shr	eax, 1
	test	ah, 1
	mov	DWORD PTR _flags$[esp+24], eax
	jne	SHORT $L4806
; Line 2022
	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 $L4783
	mov	edx, DWORD PTR [ecx]
	movzx	eax, BYTE PTR [edx]
	inc	edx
	mov	DWORD PTR [ecx], edx
	jmp	SHORT $L4784
$L4783:
	push	ecx
	call	__filbuf
	add	esp, 4
$L4784:
	cmp	eax, -1
	je	$L4799
; Line 2023
	or	eax, 65280				; 0000ff00H
	mov	DWORD PTR _flags$[esp+24], eax
$L4806:
; Line 2025
	test	BYTE PTR _flags$[esp+24], 1
; Line 2026
	mov	eax, DWORD PTR _infileOkumura
	mov	edx, DWORD PTR [eax+4]
	je	SHORT $L3327
	dec	edx
	mov	DWORD PTR [eax+4], edx
	mov	eax, DWORD PTR _infileOkumura
	mov	ecx, DWORD PTR [eax+4]
	test	ecx, ecx
	jl	SHORT $L4785
	mov	ecx, DWORD PTR [eax]
	movzx	ebx, BYTE PTR [ecx]
	inc	ecx
	mov	DWORD PTR [eax], ecx
	jmp	SHORT $L4786
$L4785:
	push	eax
	call	__filbuf
	add	esp, 4
	mov	ebx, eax
$L4786:
	cmp	ebx, -1
	je	$L4799
; Line 2027
	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 $L4787
	mov	eax, DWORD PTR [eax]
	mov	BYTE PTR [eax], bl
	mov	eax, DWORD PTR _outfileOkumura
	inc	DWORD PTR [eax]
	jmp	SHORT $L4788
$L4787:
	push	eax
	push	ebx
	call	__flsbuf
	add	esp, 8
$L4788:
; Line 2028
	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 2029
	jmp	$L3323
$L3327:
; Line 2030
	dec	edx
	mov	DWORD PTR [eax+4], edx
	mov	eax, DWORD PTR _infileOkumura
	mov	ecx, DWORD PTR [eax+4]
	test	ecx, ecx
	jl	SHORT $L4789
	mov	ecx, DWORD PTR [eax]
	movzx	edi, BYTE PTR [ecx]
	inc	ecx
	mov	DWORD PTR [eax], ecx
	jmp	SHORT $L4790
$L4789:
	push	eax
	call	__filbuf
	add	esp, 4
	mov	edi, eax
$L4790:
	cmp	edi, -1
	je	$L4799
; Line 2031
	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 $L4791
	mov	edx, DWORD PTR [ecx]
	movzx	eax, BYTE PTR [edx]
	inc	edx
	mov	DWORD PTR [ecx], edx
	jmp	SHORT $L4792
$L4791:
	push	ecx
	call	__filbuf
	add	esp, 4
$L4792:
	cmp	eax, -1
	je	$L4799
; Line 2032
	mov	ecx, eax
	and	ecx, 240				; 000000f0H
	shl	ecx, 4
	and	eax, 15					; 0000000fH
	or	edi, ecx
	add	eax, 2
	mov	ebp, eax
; Line 2033
	mov	esi, 0
	js	$L3323
	npad	7
$L3333:
; Line 2035
	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 $L4793
	mov	eax, DWORD PTR [eax]
	mov	BYTE PTR [eax], bl
	mov	eax, DWORD PTR _outfileOkumura
	inc	DWORD PTR [eax]
	jmp	SHORT $L4794
$L4793:
	push	eax
	push	ebx
	call	__flsbuf
	add	esp, 8
$L4794:
; Line 2036
	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 $L3333
; Line 2039
	jmp	$L3323
$L4799:
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
; Line 2040
	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 2043
	sub	esp, 8
	push	ebx
	push	ebp
	push	esi
	push	edi
; Line 2049
	mov	ecx, 1019				; 000003fbH
	mov	eax, 538976288				; 20202020H
	mov	edi, OFFSET FLAT:_text_buf
	rep stosd
	xor	ebp, ebp
	xor	edx, edx
	stosw
; Line 2050
	mov	esi, 4078				; 00000feeH
	mov	DWORD PTR _flags$[esp+24], ebp
$L4824:
	mov	ebx, DWORD PTR _ENareaPointer$[esp+20]
	npad	5
$L3360:
; Line 2052
	mov	eax, DWORD PTR _flags$[esp+24]
; Line 2054
	mov	ecx, DWORD PTR _ENareaSIZE$[esp+20]
	shr	eax, 1
	test	ah, 1
	mov	DWORD PTR _flags$[esp+24], eax
	jne	SHORT $L3362
	cmp	edx, ecx
	je	$L4821
; Line 2055
	mov	al, BYTE PTR [edx+ebx]
; Line 2056
	movzx	eax, al
	inc	edx
	or	eax, 65280				; 0000ff00H
	mov	DWORD PTR _flags$[esp+24], eax
$L3362:
; Line 2058
	test	BYTE PTR _flags$[esp+24], 1
	je	SHORT $L3364
; Line 2060
	cmp	edx, ecx
	je	$L4821
; Line 2061
	mov	al, BYTE PTR [edx+ebx]
; Line 2063
	mov	ecx, DWORD PTR _DEareaPointer$[esp+20]
	movzx	eax, al
	inc	edx
	mov	BYTE PTR [ecx+ebp], al
	inc	ebp
; Line 2064
	mov	BYTE PTR _text_buf[esi], al
	inc	esi
	and	esi, 4095				; 00000fffH
; Line 2065
	jmp	SHORT $L3360
$L3364:
; Line 2067
	cmp	edx, ecx
	je	SHORT $L4819
; Line 2068
	mov	al, BYTE PTR [edx+ebx]
	inc	edx
; Line 2070
	cmp	edx, ecx
	movzx	edi, al
	je	SHORT $L4820
; Line 2071
	mov	al, BYTE PTR [edx+ebx]
	movzx	eax, al
; Line 2072
	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 2073
	mov	ecx, 0
	js	$L3360
$L3369:
; Line 2076
	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 2077
	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 $L3369
; Line 2080
	jmp	$L4824
$L4819:
; Line 2081
	mov	edx, DWORD PTR _DEareaSIZE$[esp+20]
	pop	edi
	pop	esi
	mov	DWORD PTR [edx], ebp
	pop	ebp
	pop	ebx
; Line 2082
	add	esp, 8
	ret	0
$L4820:
; Line 2081
	mov	eax, DWORD PTR _DEareaSIZE$[esp+20]
	pop	edi
	pop	esi
	mov	DWORD PTR [eax], ebp
	pop	ebp
	pop	ebx
; Line 2082
	add	esp, 8
	ret	0
$L4821:
; Line 2081
	mov	ecx, DWORD PTR _DEareaSIZE$[esp+20]
	pop	edi
	pop	esi
	mov	DWORD PTR [ecx], ebp
	pop	ebp
	pop	ebx
; Line 2082
	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 2085
	sub	esp, 12					; 0000000cH
	push	ebx
; Line 2089
	mov	ebx, DWORD PTR _ENareaSIZE$[esp+12]
	push	ebp
; Line 2093
	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	$L3406
	npad	8
$L3394:
; Line 2095
	shr	ecx, 1
	test	ch, 1
	mov	DWORD PTR _flags$[esp+28], ecx
	jne	SHORT $L3396
; Line 2097
	movzx	ecx, BYTE PTR [edx+ebp]
	or	ecx, 65280				; 0000ff00H
	mov	DWORD PTR _flags$[esp+28], ecx
	inc	edx
$L3396:
; Line 2099
	test	cl, 1
	je	SHORT $L3398
; Line 2102
	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 2103
	and	eax, 4095				; 00000fffH
; Line 2104
	jmp	SHORT $L3404
$L3398:
; Line 2106
	movzx	ebx, BYTE PTR [edx+ebp]
; Line 2108
	movzx	ecx, BYTE PTR [edx+ebp+1]
	inc	edx
; Line 2109
	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 2110
	mov	edi, 0
	js	SHORT $L4850
	jmp	SHORT $L3402
$L4849:
	mov	ebx, DWORD PTR _i$[esp+28]
	npad	4
$L3402:
; Line 2112
	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 2113
	and	eax, 4095				; 00000fffH
	inc	edi
	cmp	edi, ecx
	jle	SHORT $L4849
$L4850:
; Line 2110
	mov	ecx, DWORD PTR _flags$[esp+28]
$L3404:
; Line 2093
	mov	edi, DWORD PTR _ENareaSIZE$[esp+24]
	add	edi, -6					; fffffffaH
	cmp	edx, edi
	jb	$L3394
; Line 2144
	jmp	SHORT $L3406
$L4851:
	mov	ecx, DWORD PTR _flags$[esp+28]
$L3406:
; Line 2121
	mov	edi, DWORD PTR _ENareaSIZE$[esp+24]
	shr	ecx, 1
	test	ch, 1
	mov	DWORD PTR _flags$[esp+28], ecx
	jne	SHORT $L3408
	cmp	edx, edi
	je	$L4848
; Line 2122
	movzx	ecx, BYTE PTR [edx+ebp]
	or	ecx, 65280				; 0000ff00H
	mov	DWORD PTR _flags$[esp+28], ecx
	inc	edx
$L3408:
; Line 2124
	test	cl, 1
	je	SHORT $L3411
; Line 2126
	cmp	edx, edi
	je	$L4848
; Line 2128
	mov	bl, BYTE PTR [edx+ebp]
	mov	edi, DWORD PTR _DEareaPointer$[esp+24]
	mov	BYTE PTR [esi+edi], bl
; Line 2129
	mov	bl, BYTE PTR [edx+ebp]
	inc	esi
	mov	BYTE PTR _text_buf[eax], bl
	inc	edx
	inc	eax
	and	eax, 4095				; 00000fffH
; Line 2130
	jmp	SHORT $L3406
$L3411:
; Line 2132
	cmp	edx, edi
	je	SHORT $L4846
; Line 2133
	movzx	ebx, BYTE PTR [edx+ebp]
; Line 2135
	mov	ecx, DWORD PTR _ENareaSIZE$[esp+24]
	inc	edx
	cmp	edx, ecx
	je	SHORT $L4847
; Line 2136
	movzx	ecx, BYTE PTR [edx+ebp]
; Line 2137
	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 2138
	mov	edi, 0
	js	$L4851
	jmp	SHORT $L3418
$L4852:
	mov	ebx, DWORD PTR _i$[esp+28]
	npad	9
$L3418:
; Line 2140
	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 2141
	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 $L4852
; Line 2144
	jmp	$L4851
$L4846:
; Line 2145
	mov	eax, DWORD PTR _DEareaSIZE$[esp+24]
	pop	edi
	mov	DWORD PTR [eax], esi
	pop	esi
	pop	ebp
	pop	ebx
; Line 2146
	add	esp, 12					; 0000000cH
	ret	0
$L4847:
; Line 2145
	mov	ecx, DWORD PTR _DEareaSIZE$[esp+24]
	pop	edi
	mov	DWORD PTR [ecx], esi
	pop	esi
	pop	ebp
	pop	ebx
; Line 2146
	add	esp, 12					; 0000000cH
	ret	0
$L4848:
; Line 2145
	mov	edx, DWORD PTR _DEareaSIZE$[esp+24]
	pop	edi
	mov	DWORD PTR [edx], esi
	pop	esi
	pop	ebp
	pop	ebx
; Line 2146
	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 2149
	push	ecx
	push	ebx
	push	ebp
	push	esi
	push	edi
; Line 2155
	mov	ecx, 1019				; 000003fbH
	mov	eax, 538976288				; 20202020H
	mov	edi, OFFSET FLAT:_text_buf
	rep stosd
	xor	ebx, ebx
	stosw
; Line 2156
	mov	esi, 4078				; 00000feeH
	mov	DWORD PTR _flags$[esp+20], ebx
$L4880:
	mov	ebp, DWORD PTR _SlowerF$[esp+16]
$L3441:
; Line 2158
	mov	eax, DWORD PTR _flags$[esp+20]
	shr	eax, 1
	test	ah, 1
	mov	DWORD PTR _flags$[esp+20], eax
	jne	SHORT $L4878
; Line 2159
	dec	DWORD PTR [ebp+4]
	js	SHORT $L4856
	mov	ecx, DWORD PTR [ebp]
	movzx	eax, BYTE PTR [ecx]
	inc	ecx
	mov	DWORD PTR [ebp], ecx
	jmp	SHORT $L4857
$L4856:
	push	ebp
	call	__filbuf
	add	esp, 4
$L4857:
	cmp	eax, -1
	je	$L4877
; Line 2160
	or	eax, 65280				; 0000ff00H
	mov	DWORD PTR _flags$[esp+20], eax
$L4878:
; Line 2162
	test	BYTE PTR _flags$[esp+20], 1
; Line 2163
	mov	eax, DWORD PTR [ebp+4]
	je	SHORT $L3445
	dec	eax
	mov	DWORD PTR [ebp+4], eax
	js	SHORT $L4858
	mov	ecx, DWORD PTR [ebp]
	movzx	eax, BYTE PTR [ecx]
	inc	ecx
	mov	DWORD PTR [ebp], ecx
	jmp	SHORT $L4859
$L4858:
	push	ebp
	call	__filbuf
	add	esp, 4
$L4859:
	cmp	eax, -1
	je	$L4877
; Line 2165
	mov	ecx, DWORD PTR _DEareaPointer$[esp+16]
	mov	BYTE PTR [ebx+ecx], al
	inc	ebx
; Line 2166
	mov	BYTE PTR _text_buf[esi], al
	inc	esi
	and	esi, 4095				; 00000fffH
; Line 2167
	jmp	SHORT $L3441
$L3445:
; Line 2168
	dec	eax
	mov	DWORD PTR [ebp+4], eax
	js	SHORT $L4860
	mov	eax, DWORD PTR [ebp]
	movzx	edi, BYTE PTR [eax]
	inc	eax
	mov	DWORD PTR [ebp], eax
	jmp	SHORT $L4861
$L4860:
	push	ebp
	call	__filbuf
	add	esp, 4
	mov	edi, eax
$L4861:
	cmp	edi, -1
	je	SHORT $L4875
; Line 2169
	dec	DWORD PTR [ebp+4]
	js	SHORT $L4862
	mov	ecx, DWORD PTR [ebp]
	movzx	eax, BYTE PTR [ecx]
	inc	ecx
	mov	DWORD PTR [ebp], ecx
	jmp	SHORT $L4863
$L4862:
	push	ebp
	call	__filbuf
	add	esp, 4
$L4863:
	cmp	eax, -1
	je	SHORT $L4876
; Line 2170
	mov	edx, eax
	and	edx, 240				; 000000f0H
	shl	edx, 4
	and	eax, 15					; 0000000fH
	or	edi, edx
	add	eax, 2
	mov	edx, eax
; Line 2171
	mov	eax, 0
	js	$L3441
	npad	8
$L3450:
; Line 2174
	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 2175
	mov	BYTE PTR _text_buf[esi], cl
	inc	esi
	and	esi, 4095				; 00000fffH
	inc	eax
	cmp	eax, edx
	jle	SHORT $L3450
; Line 2178
	jmp	$L4880
$L4875:
; Line 2179
	mov	eax, DWORD PTR _DEareaSIZE$[esp+16]
	pop	edi
	pop	esi
	pop	ebp
	mov	DWORD PTR [eax], ebx
	pop	ebx
; Line 2180
	pop	ecx
	ret	0
$L4876:
; Line 2179
	mov	ecx, DWORD PTR _DEareaSIZE$[esp+16]
	pop	edi
	pop	esi
	pop	ebp
	mov	DWORD PTR [ecx], ebx
	pop	ebx
; Line 2180
	pop	ecx
	ret	0
$L4877:
; Line 2179
	mov	edx, DWORD PTR _DEareaSIZE$[esp+16]
	pop	edi
	pop	esi
	pop	ebp
	mov	DWORD PTR [edx], ebx
	pop	ebx
; Line 2180
	pop	ecx
	ret	0
_DecodeKAZEHDD ENDP
_TEXT	ENDS
PUBLIC	_main
PUBLIC	__real@0000000000000000
PUBLIC	__real@3ff0000000000000
EXTRN	_puts: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	__ftol2:NEAR
EXTRN	__aulldiv: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$ = -7693					; size = 1
_ifile$ = -7692						; size = 4
_k$ = -7692						; size = 4
_argv$ = -7692						; size = 4
tv2416 = -7688						; size = 8
_ofile$ = -7688						; size = 4
_clocks1$ = -7688					; size = 4
_LINE10len$ = -7688					; size = 4
_CRdLFa$ = -7676					; size = 2
tv3658 = -7672						; size = 4
tv3623 = -7672						; size = 4
tv3588 = -7672						; size = 4
tv3553 = -7672						; size = 4
_fp_inLINE$ = -7672					; size = 4
_out_len$ = -7668					; size = 4
_FilesLENde$ = -7664					; size = 8
_workbyte$ = -7649					; size = 1
_FilesLENen$ = -7648					; size = 8
_len$ = -7640						; size = 4
_P4NestedPattern1len$ = -7640				; size = 4
_fp_in$ = -7636						; size = 4
_argc$ = -7636						; size = 4
_scratch$ = -7632					; size = 4
tv2309 = -7628						; size = 4
_fp_outLOG4$ = -7628					; size = 4
_TotalRoughSearchTime$ = -7624				; size = 8
_TotalRoughDecodeTime$ = -7616				; size = 8
_llTOaDigits$ = -7604					; size = 27
_P2NestedPattern1len$ = -7576				; size = 4
_P1NestedPattern1len$ = -7572				; size = 4
_TotalRoughReadDecodeTime$ = -7568			; size = 8
_clocks2$ = -7556					; size = 4
_clocks3$ = -7556					; size = 4
_FileLENde$ = -7552					; size = 8
_P3NestedPattern1len$ = -7540				; size = 4
_TotalRoughReadTime$ = -7536				; size = 8
_Pattern4len$ = -7528					; size = 4
_hits1$ = -7524						; size = 4
_P4NestedPattern3len$ = -7520				; size = 4
_Pattern2len$ = -7516					; size = 4
_hits4$ = -7512						; size = 4
_P2NestedPattern3len$ = -7508				; size = 4
_fp_outLOG1$ = -7504					; size = 4
_P2NestedPattern2len$ = -7500				; size = 4
_fp_outLOG2$ = -7496					; size = 4
_hits2$ = -7492						; size = 4
_fp_outLOG3$ = -7488					; size = 4
_Pattern3len$ = -7484					; size = 4
_P1NestedPattern2len$ = -7480				; size = 4
_P3NestedPattern3len$ = -7476				; size = 4
_hits1flag$ = -7472					; size = 4
_P3NestedPattern2len$ = -7468				; size = 4
_hits3flag$ = -7464					; size = 4
_hits3$ = -7460						; size = 4
_P4NestedPattern2len$ = -7456				; size = 4
_P1NestedPattern3len$ = -7452				; size = 4
_hits4flag$ = -7448					; size = 4
_hits2flag$ = -7444					; size = 4
tv2442 = -7440						; size = 8
tv2414 = -7440						; size = 8
_INIHDDRAM$ = -7432					; size = 17
_t1$ = -7412						; size = 4
_Pattern1len$ = -7408					; size = 4
_t3$ = -7404						; size = 4
_size_in$ = -7400					; size = 4
_llTOaDigits2$ = -7396					; size = 27
_HTML07$ = -7368					; size = 79
_HTML08$ = -7288					; size = 79
_HTML01$ = -7208					; size = 79
_HTML03$ = -7128					; size = 79
_HTML14$ = -7048					; size = 79
_HTML15$ = -6968					; size = 79
_HTML09$ = -6888					; size = 79
_HTML04$ = -6808					; size = 79
_HTML13$ = -6728					; size = 79
_HTML05$ = -6648					; size = 79
_HTML12$ = -6568					; size = 79
_HTML02$ = -6488					; size = 79
_HTML06$ = -6408					; size = 128
_P3NestedPattern3$ = -6280				; size = 257
_P1NestedPattern3$ = -6016				; size = 257
_P3NestedPattern2$ = -5752				; size = 257
_P1NestedPattern1$ = -5488				; size = 257
_P3NestedPattern1$ = -5224				; size = 257
_P2NestedPattern3$ = -4960				; size = 257
_Pattern3$ = -4696					; size = 257
_P2NestedPattern1$ = -4432				; size = 257
_P4NestedPattern3$ = -4168				; size = 257
_P1NestedPattern2$ = -3904				; size = 257
_P4NestedPattern2$ = -3640				; size = 257
_P2NestedPattern2$ = -3376				; size = 257
_P4NestedPattern1$ = -3112				; size = 257
_Pattern1$ = -2848					; size = 257
_Pattern4$ = -2584					; size = 257
_Pattern2$ = -2320					; size = 257
_LINE10$ = -2056					; size = 2049
_numArgs$ = 8						; size = 4
_args$ = 12						; size = 4
_main	PROC NEAR
; Line 2194
	push	ebp
	mov	ebp, esp
	and	esp, -8					; fffffff8H
	mov	eax, 7700				; 00001e14H
	call	__chkstk
; Line 2225
	fld	QWORD PTR __real@0000000000000000
; Line 2247
	mov	ecx, DWORD PTR $SG3578+4
	fstp	QWORD PTR _TotalRoughDecodeTime$[esp+7700]
	mov	eax, DWORD PTR $SG3578
	fld	QWORD PTR __real@0000000000000000
	mov	DWORD PTR _INIHDDRAM$[esp+7704], ecx
	fstp	QWORD PTR _TotalRoughReadTime$[esp+7700]
	mov	cl, BYTE PTR $SG3578+16
	fld	QWORD PTR __real@0000000000000000
	mov	BYTE PTR _INIHDDRAM$[esp+7716], cl
	fstp	QWORD PTR _TotalRoughSearchTime$[esp+7700]
	push	ebx
	fld	QWORD PTR __real@0000000000000000
	push	esi
	fstp	QWORD PTR _TotalRoughReadDecodeTime$[esp+7708]
	push	edi
; Line 2279
	mov	ecx, 16					; 00000010H
	mov	esi, OFFSET FLAT:$SG3593
	lea	edi, DWORD PTR _HTML01$[esp+7712]
	rep movsd
	movsb
	mov	edx, DWORD PTR $SG3578+8
	mov	DWORD PTR _INIHDDRAM$[esp+7712], eax
	mov	eax, DWORD PTR $SG3578+12
	mov	DWORD PTR _INIHDDRAM$[esp+7724], eax
; Line 2280
	xor	eax, eax
	mov	ecx, 10					; 0000000aH
	mov	esi, OFFSET FLAT:$SG3595
	lea	edi, DWORD PTR _HTML02$[esp+7712]
	rep movsd
	xor	ebx, ebx
	mov	ecx, 9
	lea	edi, DWORD PTR _HTML02$[esp+7752]
	rep stosd
	stosw
	stosb
; Line 2281
	mov	ecx, 17					; 00000011H
	mov	esi, OFFSET FLAT:$SG3597
	lea	edi, DWORD PTR _HTML03$[esp+7712]
	rep movsd
	mov	DWORD PTR _INIHDDRAM$[esp+7720], edx
	xor	edx, edx
	mov	DWORD PTR _HTML01$[esp+7777], edx
	xor	eax, eax
	mov	DWORD PTR _HTML01$[esp+7781], edx
	movsb
	mov	DWORD PTR _HTML01$[esp+7785], edx
	mov	DWORD PTR _HTML03$[esp+7781], eax
	mov	DWORD PTR _LINE10len$[esp+7712], ebx
	mov	DWORD PTR _FilesLENen$[esp+7712], ebx
	mov	DWORD PTR _FilesLENen$[esp+7716], ebx
	mov	DWORD PTR _FilesLENde$[esp+7712], ebx
	mov	DWORD PTR _FilesLENde$[esp+7716], ebx
	mov	DWORD PTR _Pattern2len$[esp+7712], ebx
	mov	DWORD PTR _Pattern3len$[esp+7712], ebx
	mov	DWORD PTR _Pattern4len$[esp+7712], ebx
	mov	DWORD PTR _hits1$[esp+7712], ebx
	mov	DWORD PTR _hits2$[esp+7712], ebx
	mov	DWORD PTR _hits3$[esp+7712], ebx
	mov	DWORD PTR _hits4$[esp+7712], ebx
	mov	DWORD PTR _hits1flag$[esp+7712], ebx
	mov	DWORD PTR _hits2flag$[esp+7712], ebx
	mov	DWORD PTR _hits3flag$[esp+7712], ebx
	mov	DWORD PTR _hits4flag$[esp+7712], ebx
	mov	DWORD PTR _P1NestedPattern1len$[esp+7712], ebx
	mov	DWORD PTR _P1NestedPattern2len$[esp+7712], ebx
	mov	DWORD PTR _P1NestedPattern3len$[esp+7712], ebx
	mov	DWORD PTR _P2NestedPattern1len$[esp+7712], ebx
	mov	DWORD PTR _P2NestedPattern2len$[esp+7712], ebx
	mov	DWORD PTR _P2NestedPattern3len$[esp+7712], ebx
	mov	DWORD PTR _P3NestedPattern1len$[esp+7712], ebx
	mov	DWORD PTR _P3NestedPattern2len$[esp+7712], ebx
	mov	DWORD PTR _P3NestedPattern3len$[esp+7712], ebx
	mov	DWORD PTR _P4NestedPattern1len$[esp+7712], ebx
	mov	DWORD PTR _P4NestedPattern2len$[esp+7712], ebx
	mov	DWORD PTR _P4NestedPattern3len$[esp+7712], ebx
	mov	BYTE PTR _Bastumante2$[esp+7712], 46	; 0000002eH
	mov	WORD PTR _HTML01$[esp+7789], dx
	mov	DWORD PTR _HTML03$[esp+7785], eax
; Line 2282
	mov	ecx, DWORD PTR $SG3599
	mov	edx, DWORD PTR $SG3599+4
	mov	DWORD PTR _HTML04$[esp+7712], ecx
	mov	WORD PTR _HTML03$[esp+7789], ax
	mov	al, BYTE PTR $SG3599+8
	mov	BYTE PTR _HTML04$[esp+7720], al
	xor	eax, eax
	mov	DWORD PTR _HTML04$[esp+7716], edx
; Line 2283
	mov	edx, DWORD PTR $SG3601+4
	mov	ecx, 17					; 00000011H
	lea	edi, DWORD PTR _HTML04$[esp+7721]
	rep stosd
	mov	ecx, DWORD PTR $SG3601
	stosw
	mov	DWORD PTR _HTML05$[esp+7712], ecx
	xor	eax, eax
	mov	DWORD PTR _HTML05$[esp+7716], edx
	mov	ecx, 17					; 00000011H
	lea	edi, DWORD PTR _HTML05$[esp+7720]
	rep stosd
	stosw
	stosb
; Line 2284
	mov	ecx, 26					; 0000001aH
	mov	esi, OFFSET FLAT:$SG3603
	lea	edi, DWORD PTR _HTML06$[esp+7712]
	rep movsd
	movsb
; Line 2285
	mov	ecx, 12					; 0000000cH
	mov	esi, OFFSET FLAT:$SG3605
	lea	edi, DWORD PTR _HTML07$[esp+7712]
	rep movsd
	movsb
	xor	ecx, ecx
	mov	DWORD PTR _HTML07$[esp+7761], ecx
	mov	DWORD PTR _HTML07$[esp+7765], ecx
	mov	DWORD PTR _HTML07$[esp+7769], ecx
	mov	DWORD PTR _HTML07$[esp+7773], ecx
	mov	DWORD PTR _HTML07$[esp+7777], ecx
	mov	DWORD PTR _HTML07$[esp+7781], ecx
	mov	DWORD PTR _HTML07$[esp+7785], ecx
	mov	WORD PTR _HTML07$[esp+7789], cx
	xor	eax, eax
; Line 2286
	mov	ecx, 14					; 0000000eH
	mov	esi, OFFSET FLAT:$SG3607
	lea	edi, DWORD PTR _HTML08$[esp+7712]
	rep movsd
; Line 2287
	mov	cx, WORD PTR $SG3609+4
	mov	DWORD PTR _HTML06$[esp+7817], eax
	movsw
	mov	DWORD PTR _HTML06$[esp+7821], eax
	mov	DWORD PTR _HTML06$[esp+7825], eax
	xor	edx, edx
	mov	DWORD PTR _HTML06$[esp+7829], eax
	mov	DWORD PTR _HTML08$[esp+7770], edx
	mov	DWORD PTR _HTML06$[esp+7833], eax
	mov	DWORD PTR _HTML08$[esp+7774], edx
	mov	WORD PTR _HTML06$[esp+7837], ax
	mov	DWORD PTR _HTML08$[esp+7778], edx
	mov	BYTE PTR _HTML06$[esp+7839], al
	mov	eax, DWORD PTR $SG3609
	mov	DWORD PTR _HTML08$[esp+7782], edx
	mov	DWORD PTR _HTML09$[esp+7712], eax
	mov	DWORD PTR _HTML08$[esp+7786], edx
	mov	WORD PTR _HTML09$[esp+7716], cx
	xor	eax, eax
	mov	BYTE PTR _HTML08$[esp+7790], dl
	mov	dl, BYTE PTR $SG3609+6
	mov	ecx, 18					; 00000012H
	lea	edi, DWORD PTR _HTML09$[esp+7719]
	mov	BYTE PTR _HTML09$[esp+7718], dl
	rep stosd
; Line 2290
	mov	eax, DWORD PTR $SG3615
	mov	ecx, DWORD PTR $SG3615+4
	mov	DWORD PTR _HTML12$[esp+7712], eax
	mov	DWORD PTR _HTML12$[esp+7716], ecx
	xor	eax, eax
	mov	ecx, 17					; 00000011H
	lea	edi, DWORD PTR _HTML12$[esp+7720]
	rep stosd
	stosw
	stosb
; Line 2291
	mov	eax, DWORD PTR $SG3617+4
	mov	cl, BYTE PTR $SG3617+8
	mov	edx, DWORD PTR $SG3617
	mov	DWORD PTR _HTML13$[esp+7716], eax
	mov	BYTE PTR _HTML13$[esp+7720], cl
	xor	eax, eax
	mov	DWORD PTR _HTML13$[esp+7712], edx
; Line 2292
	mov	edx, DWORD PTR $SG3619
	mov	ecx, 17					; 00000011H
	lea	edi, DWORD PTR _HTML13$[esp+7721]
	rep stosd
	mov	cl, BYTE PTR $SG3619+8
	stosw
	mov	eax, DWORD PTR $SG3619+4
	mov	DWORD PTR _HTML14$[esp+7716], eax
	mov	BYTE PTR _HTML14$[esp+7720], cl
	xor	eax, eax
	mov	DWORD PTR _HTML14$[esp+7712], edx
; Line 2293
	mov	edx, DWORD PTR $SG3621
	mov	ecx, 17					; 00000011H
	lea	edi, DWORD PTR _HTML14$[esp+7721]
	rep stosd
	mov	cl, BYTE PTR $SG3621+8
	stosw
	mov	eax, DWORD PTR $SG3621+4
	mov	DWORD PTR _HTML15$[esp+7716], eax
	mov	BYTE PTR _HTML15$[esp+7720], cl
	mov	DWORD PTR _HTML15$[esp+7712], edx
	xor	eax, eax
	mov	ecx, 17					; 00000011H
	lea	edi, DWORD PTR _HTML15$[esp+7721]
	rep stosd
; Line 2305
	push	16					; 00000010H
	stosw
	call	_malloc
	mov	DWORD PTR _scratch$[esp+7716], eax
; Line 2308
	mov	eax, DWORD PTR _numArgs$[ebp]
	add	esp, 4
	cmp	eax, 1
; Line 2310
	je	$L5048
; Line 2313
	cmp	eax, 2
	je	$L3633
	cmp	eax, 3
	je	$L3633
; Line 2883
	jl	SHORT $L4028
	cmp	eax, 4
	jg	SHORT $L4028
	mov	esi, DWORD PTR _args$[ebp]
	mov	edx, DWORD PTR [esi+4]
	mov	eax, edx
	lea	edi, DWORD PTR [eax+1]
$L4895:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4895
	sub	eax, edi
	cmp	eax, 1
	jne	SHORT $L4028
; Line 2886
	mov	bl, BYTE PTR [edx]
; Line 2887
	cmp	bl, 101					; 00000065H
	je	SHORT $L4892
	cmp	bl, 69					; 00000045H
	je	SHORT $L4892
	cmp	bl, 65					; 00000041H
	je	SHORT $L4892
	cmp	bl, 97					; 00000061H
	je	SHORT $L4894
; Line 2888
	cmp	bl, 100					; 00000064H
	je	$L4030
	cmp	bl, 68					; 00000044H
	je	$L4030
	cmp	bl, 82					; 00000052H
	je	$L4030
	cmp	bl, 114					; 00000072H
	je	$L4030
$L4028:
; Line 2889
	mov	eax, 23					; 00000017H
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4892:
; Line 2894
	cmp	bl, 97					; 00000061H
	jne	$L4031
$L4894:
; Line 2896
	mov	edx, DWORD PTR [esi+8]
	push	OFFSET FLAT:$SG4034
	push	edx
	call	_fopen
	add	esp, 8
	test	eax, eax
	mov	DWORD PTR _infileOkumura, eax
	jne	SHORT $L4033
; Line 2897
	mov	eax, DWORD PTR [esi+8]
	push	eax
	push	OFFSET FLAT:$SG4035
	call	_printf
	add	esp, 8
	push	1
	call	_exit
$L4033:
; Line 2898
	mov	ecx, DWORD PTR [esi+12]
	push	OFFSET FLAT:$SG4038
	push	ecx
	call	_fopen
	add	esp, 8
	test	eax, eax
	mov	DWORD PTR _outfileOkumura, eax
	jne	SHORT $L4037
; Line 2899
	mov	edx, DWORD PTR [esi+12]
	push	edx
	push	OFFSET FLAT:$SG4039
	call	_printf
	add	esp, 8
	push	1
	call	_exit
$L4037:
; Line 2900
	call	_Encode
; Line 2901
	mov	eax, DWORD PTR _infileOkumura
	push	eax
	call	_fclose
; Line 2902
	mov	ecx, DWORD PTR _outfileOkumura
; Line 3086
	push	ecx
	call	_fclose
	add	esp, 8
	xor	eax, eax
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4031:
; Line 2906
	mov	edx, DWORD PTR [esi+8]
	push	OFFSET FLAT:$SG4043
	push	edx
	call	_fopen
	add	esp, 8
	test	eax, eax
	mov	DWORD PTR _ifile$[esp+7712], eax
	jne	SHORT $L4042
; Line 2907
	mov	eax, DWORD PTR [esi+8]
	push	eax
	push	OFFSET FLAT:$SG4044
	call	_printf
	add	esp, 8
	mov	eax, 1
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4042:
; Line 2908
	mov	ecx, DWORD PTR [esi+12]
	push	OFFSET FLAT:$SG4045
	push	ecx
	call	_fopen
; Line 2911
	mov	edi, DWORD PTR _ifile$[esp+7720]
	push	2
	push	0
	push	edi
	mov	DWORD PTR _ofile$[esp+7732], eax
	call	_fseek
; Line 2912
	push	edi
	call	_ftell
; Line 2913
	push	0
	push	0
	push	edi
	mov	esi, eax
	call	_fseek
; Line 2914
	push	esi
	call	_malloc
; Line 2915
	mov	edx, DWORD PTR _ifile$[esp+7752]
	push	edx
	push	esi
	mov	edi, eax
	push	1
	push	edi
	call	_fread
	add	esp, 56					; 00000038H
; Line 2917
	cmp	bl, 101					; 00000065H
	jne	SHORT $L4047
; Line 2919
	lea	eax, DWORD PTR [esi+400]
	push	eax
	call	_malloc
; Line 2922
	push	266256					; 00041010H
	mov	ebx, eax
	call	_malloc
; Line 2926
	push	esi
	push	OFFSET FLAT:$SG4052
	mov	DWORD PTR _scratch$[esp+7728], eax
	call	_printf
; Line 2927
	mov	ecx, DWORD PTR _scratch$[esp+7728]
	push	ecx
	push	esi
	push	ebx
	push	edi
	call	_qlz_compress
	mov	esi, eax
; Line 2929
	push	esi
	push	OFFSET FLAT:$SG4054
	call	_printf
; Line 2930
	mov	edx, DWORD PTR _ofile$[esp+7752]
	push	edx
	push	1
	push	esi
	push	ebx
	call	_fwrite
	add	esp, 56					; 00000038H
; Line 2932
	jmp	$L4124
$L4047:
	cmp	bl, 65					; 00000041H
	jne	SHORT $L4056
; Line 2936
	push	268435457				; 10000001H
	call	_malloc
; Line 2939
	push	esi
	push	OFFSET FLAT:$SG4059
	mov	DWORD PTR _MeBufferKAZE, eax
	call	_printf
; Line 2940
	mov	eax, DWORD PTR _MeBufferKAZE
	push	eax
	push	esi
	push	edi
	call	_fastlz_compress
	mov	esi, eax
; Line 2942
	push	esi
	push	OFFSET FLAT:$SG4061
	call	_printf
; Line 2943
	mov	ecx, DWORD PTR _ofile$[esp+7744]
	mov	edx, DWORD PTR _MeBufferKAZE
	push	ecx
	push	1
	push	esi
	push	edx
	call	_fwrite
	add	esp, 48					; 00000030H
; Line 2945
	jmp	$L4124
$L4056:
; Line 2954
	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 $L4082
; Line 2956
	push	OFFSET FLAT:$SG4083
	call	_printf
; Line 2957
	push	OFFSET FLAT:$SG4084
	call	_printf
	add	esp, 8
; Line 2958
	mov	eax, 3
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4082:
; Line 2968
	push	268435457				; 10000001H
	call	_malloc
; Line 2974
	push	OFFSET FLAT:_wrkmem
	lea	ecx, DWORD PTR _out_len$[esp+7720]
	push	ecx
	push	eax
	push	esi
	push	edi
	mov	DWORD PTR _MeBufferKAZE, eax
	call	_lzo1x_1_compress
	add	esp, 24					; 00000018H
; Line 2975
	test	eax, eax
	jne	SHORT $L4086
; Line 2977
	mov	edx, DWORD PTR _out_len$[esp+7712]
	push	edx
	push	esi
	push	OFFSET FLAT:$SG4089
	call	_printf
; Line 2985
	mov	eax, DWORD PTR _out_len$[esp+7724]
	add	esp, 12					; 0000000cH
	cmp	eax, esi
	jb	SHORT $L4092
; Line 2987
	push	OFFSET FLAT:$SG4093
	call	_printf
	add	esp, 4
	xor	eax, eax
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4092:
; Line 2991
	mov	ecx, DWORD PTR _ofile$[esp+7712]
	mov	edx, DWORD PTR _MeBufferKAZE
	push	ecx
	push	1
	push	eax
	push	edx
	call	_fwrite
	add	esp, 16					; 00000010H
; Line 2999
	jmp	$L4124
$L4086:
; Line 2981
	push	eax
	push	OFFSET FLAT:$SG4091
	call	_printf
	add	esp, 8
; Line 2982
	mov	eax, 2
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4030:
; Line 3002
	mov	edx, DWORD PTR [esi+8]
	push	OFFSET FLAT:$SG4097
	push	edx
	call	_fopen
	add	esp, 8
	test	eax, eax
	mov	DWORD PTR _ifile$[esp+7712], eax
	jne	SHORT $L4096
; Line 3003
	mov	eax, DWORD PTR [esi+8]
	push	eax
	push	OFFSET FLAT:$SG4098
	call	_printf
	add	esp, 8
	mov	eax, 1
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4096:
; Line 3004
	mov	ecx, DWORD PTR [esi+12]
	push	OFFSET FLAT:$SG4099
	push	ecx
	call	_fopen
; Line 3007
	mov	edi, DWORD PTR _ifile$[esp+7720]
	push	2
	push	0
	push	edi
	mov	DWORD PTR _ofile$[esp+7732], eax
	call	_fseek
; Line 3008
	push	edi
	call	_ftell
; Line 3009
	push	0
	mov	esi, eax
	push	0
	push	edi
	mov	DWORD PTR _len$[esp+7748], esi
	call	_fseek
; Line 3010
	push	esi
	call	_malloc
; Line 3013
	mov	edx, DWORD PTR _ifile$[esp+7752]
	push	edx
	push	esi
	mov	edi, eax
	push	1
	push	edi
	call	_fread
	add	esp, 56					; 00000038H
; Line 3015
	cmp	bl, 100					; 00000064H
	jne	SHORT $L4101
; Line 3018
	push	edi
	call	_qlz_size_decompressed
; Line 3019
	push	eax
	call	_malloc
; Line 3022
	push	16					; 00000010H
	mov	ebx, eax
	call	_malloc
; Line 3026
	push	esi
	push	OFFSET FLAT:$SG4105
	mov	DWORD PTR _scratch$[esp+7732], eax
	call	_printf
; Line 3027
	mov	eax, DWORD PTR _scratch$[esp+7732]
	push	eax
	push	ebx
	push	edi
	call	_qlz_decompress
	mov	esi, eax
; Line 3029
	push	esi
	push	OFFSET FLAT:$SG4107
	call	_printf
; Line 3030
	mov	ecx, DWORD PTR _ofile$[esp+7752]
	push	ecx
	push	1
	push	esi
	push	ebx
	call	_fwrite
	add	esp, 56					; 00000038H
; Line 3032
	jmp	$L4124
$L4101:
; Line 3036
	push	268435457				; 10000001H
	call	_malloc
	cmp	bl, 82					; 00000052H
	mov	DWORD PTR _MeBufferKAZE, eax
	jne	SHORT $L4109
; Line 3039
	push	esi
	push	OFFSET FLAT:$SG4112
	call	_printf
; Line 3040
	mov	edx, DWORD PTR _MeBufferKAZE
	push	268435456				; 10000000H
	push	edx
	push	esi
	push	edi
	call	_fastlz_decompress
	mov	esi, eax
; Line 3042
	push	esi
	push	OFFSET FLAT:$SG4114
	call	_printf
; Line 3043
	mov	eax, DWORD PTR _ofile$[esp+7748]
	mov	ecx, DWORD PTR _MeBufferKAZE
	push	eax
	push	1
	push	esi
	push	ecx
	call	_fwrite
	add	esp, 52					; 00000034H
; Line 3045
	jmp	$L4124
$L4109:
	cmp	bl, 114					; 00000072H
	jne	SHORT $L4116
; Line 3052
	push	esi
	push	OFFSET FLAT:$SG4119
	call	_printf
; Line 3053
	mov	eax, DWORD PTR _MeBufferKAZE
	lea	edx, DWORD PTR _len$[esp+7724]
	push	edx
	push	eax
	push	esi
	push	edi
	call	_DecodeKAZE
; Line 3055
	mov	esi, DWORD PTR _len$[esp+7740]
	push	esi
	push	OFFSET FLAT:$SG4123
	call	_printf
; Line 3056
	mov	ecx, DWORD PTR _ofile$[esp+7748]
	mov	edx, DWORD PTR _MeBufferKAZE
	push	ecx
	push	1
	push	esi
	push	edx
	call	_fwrite
	add	esp, 52					; 00000034H
; Line 3058
	jmp	SHORT $L4124
$L4116:
; Line 3069
	push	0
	lea	ecx, DWORD PTR _out_len$[esp+7720]
	push	ecx
	push	eax
	push	esi
	push	edi
	call	_lzo1x_decompress
	add	esp, 24					; 00000018H
; Line 3070
	test	eax, eax
	jne	SHORT $L4127
; Line 3072
	mov	edx, DWORD PTR _out_len$[esp+7712]
	push	edx
	push	esi
	push	OFFSET FLAT:$SG4130
	call	_printf
; Line 3081
	mov	eax, DWORD PTR _ofile$[esp+7724]
	mov	ecx, DWORD PTR _out_len$[esp+7724]
	mov	edx, DWORD PTR _MeBufferKAZE
	push	eax
	push	1
	push	ecx
	push	edx
	call	_fwrite
	add	esp, 28					; 0000001cH
$L4124:
; Line 3085
	mov	eax, DWORD PTR _ifile$[esp+7712]
	push	eax
	call	_fclose
; Line 3086
	mov	ecx, DWORD PTR _ofile$[esp+7716]
	push	ecx
	call	_fclose
	add	esp, 8
	xor	eax, eax
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4127:
; Line 3076
	push	eax
	push	OFFSET FLAT:$SG4132
	call	_printf
	add	esp, 8
; Line 3077
	mov	eax, 1
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3633:
; Line 2320
	mov	ecx, DWORD PTR _args$[ebp]
	dec	eax
	add	ecx, 4
; Line 2322
	cmp	eax, ebx
	mov	DWORD PTR _argc$[esp+7712], eax
	mov	DWORD PTR tv2309[esp+7712], ecx
	mov	DWORD PTR _argv$[esp+7712], ecx
	jle	$L3685
	npad	3
$L3635:
; Line 2323
	mov	edx, DWORD PTR _argv$[esp+7712]
	mov	edi, DWORD PTR [edx]
	mov	esi, OFFSET FLAT:$SG3638
	mov	eax, edi
	npad	3
$L4896:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L4897
	test	cl, cl
	je	SHORT $L4898
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L4897
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L4896
$L4898:
	xor	eax, eax
	jmp	SHORT $L4899
$L4897:
	sbb	eax, eax
	sbb	eax, -1
$L4899:
	cmp	eax, ebx
	jne	SHORT $L3637
; Line 2324
	mov	DWORD PTR _SearchAlgorithm, 11		; 0000000bH
; Line 2325
	jmp	$L3687
$L3637:
	mov	esi, OFFSET FLAT:$SG3641
	mov	eax, edi
$L4900:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L4901
	test	cl, cl
	je	SHORT $L4902
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L4901
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L4900
$L4902:
	xor	eax, eax
	jmp	SHORT $L4903
$L4901:
	sbb	eax, eax
	sbb	eax, -1
$L4903:
	cmp	eax, ebx
	jne	SHORT $L3640
; Line 2326
	mov	DWORD PTR _SearchAlgorithm, 22		; 00000016H
; Line 2327
	jmp	$L3687
$L3640:
	mov	esi, OFFSET FLAT:$SG3644
	mov	eax, edi
$L4904:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L4905
	test	cl, cl
	je	SHORT $L4906
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L4905
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L4904
$L4906:
	xor	eax, eax
	jmp	SHORT $L4907
$L4905:
	sbb	eax, eax
	sbb	eax, -1
$L4907:
	cmp	eax, ebx
	jne	SHORT $L3643
; Line 2328
	mov	DWORD PTR _SearchAlgorithm, 33		; 00000021H
; Line 2329
	jmp	$L3687
$L3643:
	mov	esi, OFFSET FLAT:$SG3647
	mov	eax, edi
	npad	7
$L4908:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L4909
	test	cl, cl
	je	SHORT $L4910
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L4909
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L4908
$L4910:
	xor	eax, eax
	jmp	SHORT $L4911
$L4909:
	sbb	eax, eax
	sbb	eax, -1
$L4911:
	cmp	eax, ebx
	jne	SHORT $L3646
; Line 2330
	mov	DWORD PTR _SearchAlgorithm, 44		; 0000002cH
; Line 2331
	jmp	$L3687
$L3646:
	mov	esi, OFFSET FLAT:$SG3650
	mov	eax, edi
$L4912:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L4913
	test	cl, cl
	je	SHORT $L4914
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L4913
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L4912
$L4914:
	xor	eax, eax
	jmp	SHORT $L4915
$L4913:
	sbb	eax, eax
	sbb	eax, -1
$L4915:
	cmp	eax, ebx
	jne	SHORT $L3649
; Line 2332
	mov	DWORD PTR _SearchAlgorithm, 1
; Line 2333
	jmp	$L3687
$L3649:
	mov	esi, OFFSET FLAT:$SG3653
	mov	eax, edi
$L4916:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L4917
	test	cl, cl
	je	SHORT $L4918
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L4917
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L4916
$L4918:
	xor	eax, eax
	jmp	SHORT $L4919
$L4917:
	sbb	eax, eax
	sbb	eax, -1
$L4919:
	cmp	eax, ebx
	jne	SHORT $L3652
; Line 2334
	mov	DWORD PTR _SearchAlgorithm, 2
; Line 2335
	jmp	$L3687
$L3652:
	mov	esi, OFFSET FLAT:$SG3656
	mov	eax, edi
	npad	7
$L4920:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L4921
	test	cl, cl
	je	SHORT $L4922
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L4921
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L4920
$L4922:
	xor	eax, eax
	jmp	SHORT $L4923
$L4921:
	sbb	eax, eax
	sbb	eax, -1
$L4923:
	cmp	eax, ebx
	jne	SHORT $L3655
; Line 2336
	mov	DWORD PTR _SearchAlgorithm, 3
; Line 2337
	jmp	$L3687
$L3655:
	mov	esi, OFFSET FLAT:$SG3659
	mov	eax, edi
$L4924:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L4925
	test	cl, cl
	je	SHORT $L4926
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L4925
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L4924
$L4926:
	xor	eax, eax
	jmp	SHORT $L4927
$L4925:
	sbb	eax, eax
	sbb	eax, -1
$L4927:
	cmp	eax, ebx
	jne	SHORT $L3658
; Line 2338
	mov	DWORD PTR _SearchAlgorithm, 4
; Line 2339
	jmp	$L3687
$L3658:
	mov	esi, OFFSET FLAT:$SG3662
	mov	eax, edi
$L4928:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L4929
	test	cl, cl
	je	SHORT $L4930
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L4929
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L4928
$L4930:
	xor	eax, eax
	jmp	SHORT $L4931
$L4929:
	sbb	eax, eax
	sbb	eax, -1
$L4931:
	cmp	eax, ebx
	jne	SHORT $L3661
; Line 2340
	mov	DWORD PTR _SearchAlgorithm, 111		; 0000006fH
; Line 2341
	jmp	$L3687
$L3661:
	mov	esi, OFFSET FLAT:$SG3665
	mov	eax, edi
	npad	7
$L4932:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L4933
	test	cl, cl
	je	SHORT $L4934
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L4933
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L4932
$L4934:
	xor	eax, eax
	jmp	SHORT $L4935
$L4933:
	sbb	eax, eax
	sbb	eax, -1
$L4935:
	cmp	eax, ebx
	jne	SHORT $L3664
; Line 2342
	mov	DWORD PTR _SearchAlgorithm, 222		; 000000deH
; Line 2343
	jmp	$L3687
$L3664:
	mov	esi, OFFSET FLAT:$SG3668
	mov	eax, edi
$L4936:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L4937
	test	cl, cl
	je	SHORT $L4938
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L4937
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L4936
$L4938:
	xor	eax, eax
	jmp	SHORT $L4939
$L4937:
	sbb	eax, eax
	sbb	eax, -1
$L4939:
	cmp	eax, ebx
	jne	SHORT $L3667
; Line 2344
	mov	DWORD PTR _SearchAlgorithm, 333		; 0000014dH
; Line 2345
	jmp	$L3687
$L3667:
	mov	esi, OFFSET FLAT:$SG3671
	mov	eax, edi
$L4940:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L4941
	test	cl, cl
	je	SHORT $L4942
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L4941
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L4940
$L4942:
	xor	eax, eax
	jmp	SHORT $L4943
$L4941:
	sbb	eax, eax
	sbb	eax, -1
$L4943:
	cmp	eax, ebx
	jne	SHORT $L3670
; Line 2346
	mov	DWORD PTR _SearchAlgorithm, 444		; 000001bcH
; Line 2348
	jmp	$L3687
$L3670:
	mov	esi, OFFSET FLAT:$SG3674
	mov	eax, edi
	npad	7
$L4944:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L4945
	test	cl, cl
	je	SHORT $L4946
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L4945
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L4944
$L4946:
	xor	eax, eax
	jmp	SHORT $L4947
$L4945:
	sbb	eax, eax
	sbb	eax, -1
$L4947:
	cmp	eax, ebx
	jne	SHORT $L3673
; Line 2349
	mov	DWORD PTR _SearchAlgorithm, 1111	; 00000457H
; Line 2350
	jmp	$L3687
$L3673:
	mov	esi, OFFSET FLAT:$SG3677
	mov	eax, edi
$L4948:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L4949
	test	cl, cl
	je	SHORT $L4950
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L4949
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L4948
$L4950:
	xor	eax, eax
	jmp	SHORT $L4951
$L4949:
	sbb	eax, eax
	sbb	eax, -1
$L4951:
	cmp	eax, ebx
	jne	SHORT $L3676
; Line 2351
	mov	DWORD PTR _SearchAlgorithm, 2222	; 000008aeH
; Line 2352
	jmp	$L3687
$L3676:
	mov	esi, OFFSET FLAT:$SG3680
	mov	eax, edi
$L4952:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L4953
	test	cl, cl
	je	SHORT $L4954
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L4953
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L4952
$L4954:
	xor	eax, eax
	jmp	SHORT $L4955
$L4953:
	sbb	eax, eax
	sbb	eax, -1
$L4955:
	cmp	eax, ebx
	jne	SHORT $L3679
; Line 2353
	mov	DWORD PTR _SearchAlgorithm, 3333	; 00000d05H
; Line 2354
	jmp	SHORT $L3687
$L3679:
	mov	esi, OFFSET FLAT:$SG3683
	mov	eax, edi
$L4956:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L4957
	test	cl, cl
	je	SHORT $L4958
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L4957
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L4956
$L4958:
	xor	eax, eax
	jmp	SHORT $L4959
$L4957:
	sbb	eax, eax
	sbb	eax, -1
$L4959:
	cmp	eax, ebx
	jne	SHORT $L3682
; Line 2355
	mov	DWORD PTR _SearchAlgorithm, 4444	; 0000115cH
; Line 2357
	jmp	SHORT $L3687
$L3682:
	mov	esi, OFFSET FLAT:$SG3686
	mov	eax, edi
$L4960:
	mov	dl, BYTE PTR [eax]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi]
	jne	SHORT $L4961
	test	cl, cl
	je	SHORT $L4962
	mov	dl, BYTE PTR [eax+1]
	mov	cl, dl
	cmp	dl, BYTE PTR [esi+1]
	jne	SHORT $L4961
	add	eax, 2
	add	esi, 2
	test	cl, cl
	jne	SHORT $L4960
$L4962:
	xor	eax, eax
	jmp	SHORT $L4963
$L4961:
	sbb	eax, eax
	sbb	eax, -1
$L4963:
	cmp	eax, ebx
	jne	SHORT $L3685
; Line 2358
	mov	DWORD PTR _SearchAlgorithm, 5
$L3687:
; Line 2362
	mov	eax, DWORD PTR _argc$[esp+7712]
	mov	edx, DWORD PTR _argv$[esp+7712]
	dec	eax
	add	edx, 4
	cmp	eax, ebx
	mov	DWORD PTR _argc$[esp+7712], eax
	mov	DWORD PTR _argv$[esp+7712], edx
	jg	$L3635
$L3685:
; Line 2369
	push	OFFSET FLAT:$SG3688
	mov	BYTE PTR _CRdLFa$[esp+7716], 13		; 0000000dH
	mov	BYTE PTR _CRdLFa$[esp+7717], 10		; 0000000aH
	call	_puts
; Line 2370
	push	OFFSET FLAT:$SG3689
	call	_puts
; Line 2371
	push	OFFSET FLAT:$SG3690
	call	_puts
; Line 2372
	push	OFFSET FLAT:$SG3691
	call	_puts
; Line 2373
	push	OFFSET FLAT:$SG3692
	call	_puts
; Line 2374
	push	OFFSET FLAT:$SG3693
	call	_puts
; Line 2377
	push	OFFSET FLAT:$SG3694
	call	_puts
; Line 2378
	push	OFFSET FLAT:$SG3695
	call	_puts
; Line 2379
	push	OFFSET FLAT:$SG3696
	call	_puts
; Line 2380
	push	OFFSET FLAT:$SG3697
	call	_puts
; Line 2381
	push	OFFSET FLAT:$SG3698
	call	_puts
; Line 2382
	push	OFFSET FLAT:$SG3699
	call	_puts
; Line 2383
	push	OFFSET FLAT:$SG3700
	call	_puts
; Line 2384
	push	OFFSET FLAT:$SG3701
	call	_puts
; Line 2385
	push	OFFSET FLAT:$SG3702
	call	_puts
; Line 2386
	push	OFFSET FLAT:$SG3703
	call	_puts
	add	esp, 64					; 00000040H
; Line 2387
	push	OFFSET FLAT:$SG3704
	call	_puts
; Line 2388
	push	OFFSET FLAT:$SG3705
	call	_puts
; Line 2389
	push	OFFSET FLAT:$SG3706
	call	_puts
; Line 2390
	push	OFFSET FLAT:$SG3707
	call	_puts
; Line 2391
	push	OFFSET FLAT:$SG3708
	call	_puts
; Line 2392
	push	OFFSET FLAT:$SG3709
	call	_puts
; Line 2393
	push	OFFSET FLAT:$SG3710
	call	_puts
; Line 2394
	push	OFFSET FLAT:$SG3711
	call	_puts
; Line 2395
	push	OFFSET FLAT:$SG3712
	call	_puts
; Line 2396
	push	OFFSET FLAT:$SG3713
	call	_puts
; Line 2397
	push	OFFSET FLAT:$SG3714
	call	_puts
; Line 2398
	push	OFFSET FLAT:$SG3715
	call	_puts
; Line 2399
	push	OFFSET FLAT:$SG3716
	call	_puts
; Line 2400
	push	OFFSET FLAT:$SG3717
	call	_puts
; Line 2401
	push	OFFSET FLAT:$SG3718
	call	_puts
; Line 2402
	push	OFFSET FLAT:$SG3719
	call	_puts
	add	esp, 64					; 00000040H
; Line 2403
	push	OFFSET FLAT:$SG3720
	call	_puts
; Line 2404
	push	OFFSET FLAT:$SG3721
	call	_puts
; Line 2405
	push	OFFSET FLAT:$SG3722
	call	_puts
; Line 2406
	push	OFFSET FLAT:$SG3723
	call	_puts
; Line 2407
	push	OFFSET FLAT:$SG3724
	call	_puts
; Line 2408
	push	OFFSET FLAT:$SG3725
	call	_puts
; Line 2409
	push	OFFSET FLAT:$SG3726
	call	_puts
; Line 2410
	push	OFFSET FLAT:$SG3727
	call	_puts
; Line 2411
	push	OFFSET FLAT:$SG3728
	call	_puts
; Line 2412
	push	OFFSET FLAT:$SG3729
	call	_puts
; Line 2413
	push	OFFSET FLAT:$SG3730
	call	_puts
; Line 2414
	push	OFFSET FLAT:$SG3731
	call	_puts
; Line 2415
	push	OFFSET FLAT:$SG3732
	call	_puts
; Line 2416
	push	OFFSET FLAT:$SG3733
	call	_puts
; Line 2417
	push	OFFSET FLAT:$SG3734
	call	_puts
; Line 2418
	push	OFFSET FLAT:$SG3735
	call	_puts
	add	esp, 64					; 00000040H
; Line 2419
	push	OFFSET FLAT:$SG3736
	call	_puts
; Line 2420
	push	OFFSET FLAT:$SG3737
	call	_puts
; Line 2421
	push	OFFSET FLAT:$SG3738
	call	_puts
; Line 2422
	push	OFFSET FLAT:$SG3739
	call	_puts
; Line 2423
	push	OFFSET FLAT:$SG3740
	call	_puts
; Line 2424
	push	OFFSET FLAT:$SG3741
	call	_puts
; Line 2425
	push	OFFSET FLAT:$SG3742
	call	_puts
; Line 2426
	push	OFFSET FLAT:$SG3743
	call	_puts
; Line 2427
	push	OFFSET FLAT:$SG3744
	call	_puts
; Line 2428
	push	OFFSET FLAT:$SG3745
	call	_puts
; Line 2429
	push	OFFSET FLAT:$SG3746
	call	_puts
; Line 2430
	push	OFFSET FLAT:$SG3747
	call	_puts
; Line 2431
	push	OFFSET FLAT:$SG3748
	call	_puts
; Line 2432
	push	OFFSET FLAT:$SG3749
	call	_puts
; Line 2433
	push	OFFSET FLAT:$SG3750
	call	_puts
; Line 2434
	push	OFFSET FLAT:$SG3751
	call	_puts
	add	esp, 64					; 00000040H
; Line 2435
	push	OFFSET FLAT:$SG3752
	call	_puts
; Line 2436
	push	OFFSET FLAT:$SG3753
	call	_puts
; Line 2437
	push	OFFSET FLAT:$SG3754
	call	_puts
; Line 2438
	push	OFFSET FLAT:$SG3755
	call	_puts
; Line 2439
	push	OFFSET FLAT:$SG3756
	call	_puts
; Line 2440
	push	OFFSET FLAT:$SG3757
	call	_puts
; Line 2441
	push	OFFSET FLAT:$SG3758
	call	_puts
; Line 2442
	push	OFFSET FLAT:$SG3759
	call	_puts
; Line 2443
	push	OFFSET FLAT:$SG3760
	call	_printf
; Line 2444
	push	OFFSET FLAT:$SG3761
	call	_printf
; Line 2445
	push	OFFSET FLAT:$SG3762
	call	_printf
; Line 2446
	push	OFFSET FLAT:$SG3763
	call	_printf
; Line 2447
	push	OFFSET FLAT:$SG3764
	call	_printf
; Line 2448
	push	OFFSET FLAT:$SG3765
	call	_printf
; Line 2449
	push	OFFSET FLAT:$SG3766
	call	_printf
; Line 2450
	push	OFFSET FLAT:$SG3767
	call	_printf
	add	esp, 64					; 00000040H
; Line 2451
	push	OFFSET FLAT:$SG3768
	call	_printf
; Line 2452
	push	OFFSET FLAT:$SG3769
	call	_printf
; Line 2453
	push	OFFSET FLAT:$SG3770
	call	_printf
; Line 2454
	push	OFFSET FLAT:$SG3771
	call	_puts
; Line 2455
	push	OFFSET FLAT:$SG3772
	call	_puts
; Line 2456
	push	OFFSET FLAT:$SG3773
	call	_puts
; Line 2458
	push	OFFSET FLAT:$SG3774
	call	_printf
; Line 2464
	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, 68					; 00000044H
	test	eax, eax
	je	SHORT $L3794
; Line 2466
	push	OFFSET FLAT:$SG3795
	call	_printf
; Line 2467
	push	OFFSET FLAT:$SG3796
	call	_printf
	add	esp, 8
; Line 2468
	mov	eax, 3
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3794:
; Line 2472
	push	268435457				; 10000001H
	call	_malloc
	add	esp, 4
; Line 2473
	cmp	eax, ebx
	mov	DWORD PTR _MeBufferKAZE, eax
	jne	SHORT $L3799
; Line 2474
	push	OFFSET FLAT:$SG3800
	call	_puts
	add	esp, 4
	mov	eax, 1
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3799:
; Line 2475
	push	256					; 00000100H
	push	OFFSET FLAT:$SG3801
	call	_printf
; Line 2478
	mov	eax, DWORD PTR _SearchAlgorithm
	add	esp, 8
	cmp	eax, ebx
	jne	SHORT $L3802
; Line 2480
	mov	esi, DWORD PTR tv2309[esp+7712]
	mov	eax, DWORD PTR [esi]
	push	OFFSET FLAT:$SG3805
	push	eax
	call	_fopen
	mov	edi, eax
	add	esp, 8
	cmp	edi, ebx
	mov	DWORD PTR _fp_in$[esp+7712], edi
	jne	SHORT $L3809
; Line 2481
	mov	ecx, DWORD PTR [esi]
	push	ecx
	push	OFFSET FLAT:$SG3806
	call	_printf
	add	esp, 8
	mov	eax, 1
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3802:
; Line 2484
	mov	esi, DWORD PTR _args$[ebp]
	mov	edx, DWORD PTR [esi+8]
	push	OFFSET FLAT:$SG3810
	push	edx
	call	_fopen
	mov	edi, eax
	add	esp, 8
	cmp	edi, ebx
	mov	DWORD PTR _fp_in$[esp+7712], edi
	jne	SHORT $L3809
; Line 2485
	mov	eax, DWORD PTR [esi+8]
	push	eax
	push	OFFSET FLAT:$SG3811
	call	_printf
	add	esp, 8
	mov	eax, 1
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3809:
; Line 2487
	push	2
	push	0
	push	edi
	call	_fseek
; Line 2488
	push	edi
	call	_ftell
; Line 2489
	push	0
	mov	ebx, eax
	push	0
	push	edi
	mov	DWORD PTR _size_in$[esp+7740], ebx
	call	_fseek
; Line 2490
	push	ebx
	push	OFFSET FLAT:$SG3812
	call	_printf
; Line 2492
	push	OFFSET FLAT:$SG3815
	push	OFFSET FLAT:$SG3816
	call	_fopen
	mov	esi, eax
	add	esp, 44					; 0000002cH
	test	esi, esi
	mov	DWORD PTR _fp_outLOG1$[esp+7712], esi
	jne	SHORT $L3814
; Line 2493
	push	OFFSET FLAT:$SG3817
	call	_printf
	add	esp, 4
	mov	eax, 1
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3814:
; Line 2494
	lea	eax, DWORD PTR _HTML01$[esp+7712]
	lea	edx, DWORD PTR [eax+1]
	npad	3
$L4964:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4964
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML01$[esp+7724]
	push	ecx
	call	_fwrite
; Line 2495
	lea	eax, DWORD PTR _HTML02$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L4965:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4965
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML02$[esp+7724]
	push	edx
	call	_fwrite
; Line 2496
	lea	eax, DWORD PTR _HTML03$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L4966:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4966
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML03$[esp+7724]
	push	eax
	call	_fwrite
; Line 2497
	lea	eax, DWORD PTR _HTML04$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L4967:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4967
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML04$[esp+7724]
	push	ecx
	call	_fwrite
; Line 2498
	lea	eax, DWORD PTR _HTML05$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L4968:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4968
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML05$[esp+7724]
	push	edx
	call	_fwrite
; Line 2499
	lea	eax, DWORD PTR _HTML06$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L4969:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4969
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML06$[esp+7724]
	push	eax
	call	_fwrite
; Line 2500
	lea	eax, DWORD PTR _HTML07$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L4970:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4970
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML07$[esp+7724]
	push	ecx
	call	_fwrite
; Line 2501
	lea	eax, DWORD PTR _HTML08$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L4971:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4971
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML08$[esp+7724]
	push	edx
	call	_fwrite
; Line 2502
	lea	eax, DWORD PTR _HTML09$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L4972:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4972
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML09$[esp+7724]
	push	eax
	call	_fwrite
; Line 2503
	push	esi
	push	1
	lea	ecx, DWORD PTR _CRdLFa$[esp+7736]
	push	2
	push	ecx
	call	_fwrite
; Line 2504
	push	OFFSET FLAT:$SG3820
	push	OFFSET FLAT:$SG3821
	call	_fopen
	mov	esi, eax
	add	esp, 40					; 00000028H
	test	esi, esi
	mov	DWORD PTR _fp_outLOG2$[esp+7712], esi
	jne	SHORT $L3819
; Line 2505
	push	OFFSET FLAT:$SG3822
	call	_printf
	add	esp, 4
	mov	eax, 1
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3819:
; Line 2506
	lea	eax, DWORD PTR _HTML01$[esp+7712]
	lea	edx, DWORD PTR [eax+1]
	npad	5
$L4973:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4973
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML01$[esp+7724]
	push	edx
	call	_fwrite
; Line 2507
	lea	eax, DWORD PTR _HTML02$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L4974:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4974
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML02$[esp+7724]
	push	eax
	call	_fwrite
; Line 2508
	lea	eax, DWORD PTR _HTML03$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L4975:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4975
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML03$[esp+7724]
	push	ecx
	call	_fwrite
; Line 2509
	lea	eax, DWORD PTR _HTML04$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L4976:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4976
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML04$[esp+7724]
	push	edx
	call	_fwrite
; Line 2510
	lea	eax, DWORD PTR _HTML05$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L4977:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4977
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML05$[esp+7724]
	push	eax
	call	_fwrite
; Line 2511
	lea	eax, DWORD PTR _HTML06$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L4978:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4978
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML06$[esp+7724]
	push	ecx
	call	_fwrite
; Line 2512
	lea	eax, DWORD PTR _HTML07$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L4979:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4979
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML07$[esp+7724]
	push	edx
	call	_fwrite
; Line 2513
	lea	eax, DWORD PTR _HTML08$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L4980:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4980
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML08$[esp+7724]
	push	eax
	call	_fwrite
; Line 2514
	lea	eax, DWORD PTR _HTML09$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L4981:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4981
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML09$[esp+7724]
	push	ecx
	call	_fwrite
; Line 2515
	push	esi
	push	1
	lea	edx, DWORD PTR _CRdLFa$[esp+7736]
	push	2
	push	edx
	call	_fwrite
; Line 2516
	push	OFFSET FLAT:$SG3825
	push	OFFSET FLAT:$SG3826
	call	_fopen
	mov	esi, eax
	add	esp, 40					; 00000028H
	test	esi, esi
	mov	DWORD PTR _fp_outLOG3$[esp+7712], esi
	jne	SHORT $L3824
; Line 2517
	push	OFFSET FLAT:$SG3827
	call	_printf
	add	esp, 4
	mov	eax, 1
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3824:
; Line 2518
	lea	eax, DWORD PTR _HTML01$[esp+7712]
	lea	edx, DWORD PTR [eax+1]
	npad	5
$L4982:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4982
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML01$[esp+7724]
	push	eax
	call	_fwrite
; Line 2519
	lea	eax, DWORD PTR _HTML02$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L4983:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4983
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML02$[esp+7724]
	push	ecx
	call	_fwrite
; Line 2520
	lea	eax, DWORD PTR _HTML03$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L4984:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4984
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML03$[esp+7724]
	push	edx
	call	_fwrite
; Line 2521
	lea	eax, DWORD PTR _HTML04$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L4985:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4985
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML04$[esp+7724]
	push	eax
	call	_fwrite
; Line 2522
	lea	eax, DWORD PTR _HTML05$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L4986:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4986
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML05$[esp+7724]
	push	ecx
	call	_fwrite
; Line 2523
	lea	eax, DWORD PTR _HTML06$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L4987:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4987
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML06$[esp+7724]
	push	edx
	call	_fwrite
; Line 2524
	lea	eax, DWORD PTR _HTML07$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L4988:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4988
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML07$[esp+7724]
	push	eax
	call	_fwrite
; Line 2525
	lea	eax, DWORD PTR _HTML08$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L4989:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4989
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML08$[esp+7724]
	push	ecx
	call	_fwrite
; Line 2526
	lea	eax, DWORD PTR _HTML09$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L4990:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4990
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML09$[esp+7724]
	push	edx
	call	_fwrite
; Line 2527
	push	esi
	push	1
	lea	eax, DWORD PTR _CRdLFa$[esp+7736]
	push	2
	push	eax
	call	_fwrite
; Line 2528
	push	OFFSET FLAT:$SG3830
	push	OFFSET FLAT:$SG3831
	call	_fopen
	mov	esi, eax
	add	esp, 40					; 00000028H
	test	esi, esi
	mov	DWORD PTR _fp_outLOG4$[esp+7712], esi
	jne	SHORT $L3829
; Line 2529
	push	OFFSET FLAT:$SG3832
	call	_printf
	add	esp, 4
	mov	eax, 1
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3829:
; Line 2530
	lea	eax, DWORD PTR _HTML01$[esp+7712]
	lea	edx, DWORD PTR [eax+1]
$L4991:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4991
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML01$[esp+7724]
	push	ecx
	call	_fwrite
; Line 2531
	lea	eax, DWORD PTR _HTML02$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	1
$L4992:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4992
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML02$[esp+7724]
	push	edx
	call	_fwrite
; Line 2532
	lea	eax, DWORD PTR _HTML03$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L4993:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4993
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML03$[esp+7724]
	push	eax
	call	_fwrite
; Line 2533
	lea	eax, DWORD PTR _HTML04$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L4994:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4994
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML04$[esp+7724]
	push	ecx
	call	_fwrite
; Line 2534
	lea	eax, DWORD PTR _HTML05$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L4995:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4995
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML05$[esp+7724]
	push	edx
	call	_fwrite
; Line 2535
	lea	eax, DWORD PTR _HTML06$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L4996:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4996
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML06$[esp+7724]
	push	eax
	call	_fwrite
; Line 2536
	lea	eax, DWORD PTR _HTML07$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L4997:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4997
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML07$[esp+7724]
	push	ecx
	call	_fwrite
; Line 2537
	lea	eax, DWORD PTR _HTML08$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L4998:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4998
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML08$[esp+7724]
	push	edx
	call	_fwrite
; Line 2538
	lea	eax, DWORD PTR _HTML09$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L4999:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L4999
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML09$[esp+7724]
	push	eax
	call	_fwrite
; Line 2539
	push	esi
	push	1
	lea	ecx, DWORD PTR _CRdLFa$[esp+7736]
	push	2
	push	ecx
	call	_fwrite
; Line 2541
	push	OFFSET FLAT:$SG3833
	call	_printf
; Line 2542
	push	OFFSET FLAT:$SG3834
	call	_printf
; Line 2543
	push	OFFSET FLAT:$SG3835
	call	_printf
; Line 2544
	push	OFFSET FLAT:$SG3836
	call	_printf
; Line 2545
	push	OFFSET FLAT:$SG3837
	call	_printf
; Line 2546
	push	OFFSET FLAT:$SG3838
	call	_printf
; Line 2547
	push	OFFSET FLAT:$SG3839
	call	_printf
; Line 2548
	push	OFFSET FLAT:$SG3840
	call	_printf
	add	esp, 64					; 00000040H
; Line 2549
	push	OFFSET FLAT:$SG3841
	call	_printf
; Line 2550
	push	OFFSET FLAT:$SG3842
	call	_printf
; Line 2551
	push	OFFSET FLAT:$SG3843
	call	_printf
; Line 2555
	push	OFFSET FLAT:$SG3845
	call	_printf
	lea	edx, DWORD PTR _Pattern1$[esp+7728]
	push	edx
	call	_gets
; Line 2556
	lea	eax, DWORD PTR _Pattern1$[esp+7732]
	add	esp, 20					; 00000014H
	lea	edx, DWORD PTR [eax+1]
$L5000:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5000
	sub	eax, edx
	mov	DWORD PTR _Pattern1len$[esp+7712], eax
; Line 2557
	je	$L4885
; Line 2559
	push	OFFSET FLAT:$SG3848
	call	_printf
	lea	eax, DWORD PTR _P1NestedPattern1$[esp+7716]
	push	eax
	call	_gets
; Line 2560
	lea	eax, DWORD PTR _P1NestedPattern1$[esp+7720]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
	npad	1
$L5001:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5001
	sub	eax, edx
	mov	DWORD PTR _P1NestedPattern1len$[esp+7712], eax
; Line 2561
	je	SHORT $L3853
; Line 2563
	push	OFFSET FLAT:$SG3851
	call	_printf
	lea	ecx, DWORD PTR _P1NestedPattern2$[esp+7716]
	push	ecx
	call	_gets
; Line 2564
	lea	eax, DWORD PTR _P1NestedPattern2$[esp+7720]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5002:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5002
	sub	eax, edx
	mov	DWORD PTR _P1NestedPattern2len$[esp+7712], eax
; Line 2565
	je	SHORT $L3853
; Line 2567
	push	OFFSET FLAT:$SG3854
	call	_printf
	lea	edx, DWORD PTR _P1NestedPattern3$[esp+7716]
	push	edx
	call	_gets
; Line 2568
	lea	eax, DWORD PTR _P1NestedPattern3$[esp+7720]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
	npad	4
$L5003:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5003
	sub	eax, edx
	mov	DWORD PTR _P1NestedPattern3len$[esp+7712], eax
$L3853:
; Line 2571
	push	OFFSET FLAT:$SG3855
	call	_printf
	lea	eax, DWORD PTR _Pattern2$[esp+7716]
	push	eax
	call	_gets
; Line 2572
	lea	eax, DWORD PTR _Pattern2$[esp+7720]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5004:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5004
	sub	eax, edx
	mov	DWORD PTR _Pattern2len$[esp+7712], eax
; Line 2573
	je	$L4885
; Line 2575
	push	OFFSET FLAT:$SG3858
	call	_printf
	lea	ecx, DWORD PTR _P2NestedPattern1$[esp+7716]
	push	ecx
	call	_gets
; Line 2576
	lea	eax, DWORD PTR _P2NestedPattern1$[esp+7720]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5005:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5005
	sub	eax, edx
	mov	DWORD PTR _P2NestedPattern1len$[esp+7712], eax
; Line 2577
	je	SHORT $L3863
; Line 2579
	push	OFFSET FLAT:$SG3861
	call	_printf
	lea	edx, DWORD PTR _P2NestedPattern2$[esp+7716]
	push	edx
	call	_gets
; Line 2580
	lea	eax, DWORD PTR _P2NestedPattern2$[esp+7720]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5006:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5006
	sub	eax, edx
	mov	DWORD PTR _P2NestedPattern2len$[esp+7712], eax
; Line 2581
	je	SHORT $L3863
; Line 2583
	push	OFFSET FLAT:$SG3864
	call	_printf
	lea	eax, DWORD PTR _P2NestedPattern3$[esp+7716]
	push	eax
	call	_gets
; Line 2584
	lea	eax, DWORD PTR _P2NestedPattern3$[esp+7720]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
	npad	4
$L5007:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5007
	sub	eax, edx
	mov	DWORD PTR _P2NestedPattern3len$[esp+7712], eax
$L3863:
; Line 2587
	push	OFFSET FLAT:$SG3865
	call	_printf
	lea	ecx, DWORD PTR _Pattern3$[esp+7716]
	push	ecx
	call	_gets
; Line 2588
	lea	eax, DWORD PTR _Pattern3$[esp+7720]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5008:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5008
	sub	eax, edx
	mov	DWORD PTR _Pattern3len$[esp+7712], eax
; Line 2589
	je	$L4885
; Line 2591
	push	OFFSET FLAT:$SG3868
	call	_printf
	lea	edx, DWORD PTR _P3NestedPattern1$[esp+7716]
	push	edx
	call	_gets
; Line 2592
	lea	eax, DWORD PTR _P3NestedPattern1$[esp+7720]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5009:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5009
	sub	eax, edx
	mov	DWORD PTR _P3NestedPattern1len$[esp+7712], eax
; Line 2593
	je	SHORT $L3873
; Line 2595
	push	OFFSET FLAT:$SG3871
	call	_printf
	lea	eax, DWORD PTR _P3NestedPattern2$[esp+7716]
	push	eax
	call	_gets
; Line 2596
	lea	eax, DWORD PTR _P3NestedPattern2$[esp+7720]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5010:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5010
	sub	eax, edx
	mov	DWORD PTR _P3NestedPattern2len$[esp+7712], eax
; Line 2597
	je	SHORT $L3873
; Line 2599
	push	OFFSET FLAT:$SG3874
	call	_printf
	lea	ecx, DWORD PTR _P3NestedPattern3$[esp+7716]
	push	ecx
	call	_gets
; Line 2600
	lea	eax, DWORD PTR _P3NestedPattern3$[esp+7720]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
	npad	4
$L5011:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5011
	sub	eax, edx
	mov	DWORD PTR _P3NestedPattern3len$[esp+7712], eax
$L3873:
; Line 2603
	push	OFFSET FLAT:$SG3875
	call	_printf
	lea	edx, DWORD PTR _Pattern4$[esp+7716]
	push	edx
	call	_gets
; Line 2604
	lea	eax, DWORD PTR _Pattern4$[esp+7720]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5012:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5012
	sub	eax, edx
	mov	DWORD PTR _Pattern4len$[esp+7712], eax
; Line 2605
	je	$L4885
; Line 2607
	push	OFFSET FLAT:$SG3878
	call	_printf
	lea	eax, DWORD PTR _P4NestedPattern1$[esp+7716]
	push	eax
	call	_gets
; Line 2608
	lea	eax, DWORD PTR _P4NestedPattern1$[esp+7720]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5013:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5013
	sub	eax, edx
	mov	DWORD PTR _P4NestedPattern1len$[esp+7712], eax
; Line 2609
	je	SHORT $L4885
; Line 2611
	push	OFFSET FLAT:$SG3881
	call	_printf
	lea	ecx, DWORD PTR _P4NestedPattern2$[esp+7716]
	push	ecx
	call	_gets
; Line 2612
	lea	eax, DWORD PTR _P4NestedPattern2$[esp+7720]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
$L5014:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5014
	sub	eax, edx
	mov	DWORD PTR _P4NestedPattern2len$[esp+7712], eax
; Line 2613
	je	SHORT $L4885
; Line 2615
	push	OFFSET FLAT:$SG3884
	call	_printf
	lea	edx, DWORD PTR _P4NestedPattern3$[esp+7716]
	push	edx
	call	_gets
; Line 2616
	lea	eax, DWORD PTR _P4NestedPattern3$[esp+7720]
	add	esp, 8
	lea	edx, DWORD PTR [eax+1]
	npad	7
$L5015:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5015
	sub	eax, edx
	mov	DWORD PTR _P4NestedPattern3len$[esp+7712], eax
$L4885:
; Line 2625
	call	_kbhit
	test	eax, eax
	je	SHORT $L3887
	npad	7
$L3886:
	call	_getch
	call	_kbhit
	test	eax, eax
	jne	SHORT $L3886
$L3887:
; Line 2627
	lea	eax, DWORD PTR _t1$[esp+7712]
	push	eax
	call	_time
	add	esp, 4
; Line 2628
	test	ebx, ebx
	mov	DWORD PTR _k$[esp+7712], 0
	jbe	$L3890
	mov	esi, DWORD PTR _LINE10len$[esp+7712]
$L3888:
; Line 2630
	call	_kbhit
	test	eax, eax
	je	SHORT $L3891
	call	_getch
	cmp	eax, 27					; 0000001bH
	je	$L4887
$L3891:
; Line 2634
	push	edi
	push	1
	lea	ecx, DWORD PTR _workbyte$[esp+7720]
	push	1
	push	ecx
	call	_fread
; Line 2635
	mov	al, BYTE PTR _workbyte$[esp+7728]
	add	esp, 16					; 00000010H
	cmp	al, 10					; 0000000aH
	je	SHORT $L3893
; Line 2636
	cmp	al, 13					; 0000000dH
	je	$L3889
; Line 2637
	cmp	esi, 2048				; 00000800H
	jae	SHORT $L3895
	mov	BYTE PTR _LINE10$[esp+esi+7712], al
$L3895:
; Line 2638
	inc	esi
; Line 2644
	jmp	$L3889
$L3893:
; Line 2645
	cmp	esi, 1
	jb	$L3889
	cmp	esi, 2048				; 00000800H
	ja	$L3889
; Line 2648
	lea	edx, DWORD PTR _LINE10$[esp+7712]
	push	OFFSET FLAT:$SG3901
	push	edx
	mov	BYTE PTR _LINE10$[esp+esi+7720], 0
	call	_fopen
	mov	ebx, eax
	add	esp, 8
	test	ebx, ebx
; Line 2651
	lea	eax, DWORD PTR _LINE10$[esp+7712]
	mov	DWORD PTR _fp_inLINE$[esp+7712], ebx
	push	eax
	je	$L4888
	push	OFFSET FLAT:$SG3903
	call	_printf
	add	esp, 8
; Line 2652
	call	_clock
; Line 2654
	cmp	DWORD PTR _SearchAlgorithm, 5
	je	SHORT $L3904
; Line 2655
	push	OFFSET FLAT:$SG3905
	call	_printf
	add	esp, 4
$L3904:
; Line 2656
	call	_clock
; Line 2665
	push	2
	push	0
	push	ebx
	mov	DWORD PTR _clocks1$[esp+7724], eax
	call	_fseek
; Line 2666
	push	ebx
	call	_ftell
; Line 2668
	push	0
	mov	esi, eax
	push	0
	push	ebx
	mov	edi, esi
	call	_fseek
; Line 2671
	mov	eax, DWORD PTR _SearchAlgorithm
	add	esp, 28					; 0000001cH
	cmp	eax, 5
; Line 2672
	push	ebx
	push	esi
	push	1
	je	SHORT $L3906
	mov	ecx, DWORD PTR _MeBufferKAZE
	add	ecx, 134217728				; 08000000H
	push	ecx
; Line 2673
	jmp	SHORT $L5051
$L3906:
; Line 2674
	mov	edx, DWORD PTR _MeBufferKAZE
	push	edx
$L5051:
	call	_fread
; Line 2675
	mov	eax, DWORD PTR _SearchAlgorithm
	add	esp, 16					; 00000010H
	cmp	eax, 5
	jge	SHORT $L3908
; Line 2676
	mov	eax, DWORD PTR _MeBufferKAZE
	add	eax, 134217728				; 08000000H
	push	eax
	call	_qlz_size_decompressed
	add	esp, 4
	mov	esi, eax
$L3908:
; Line 2677
	mov	ebx, esi
	xor	esi, esi
	mov	DWORD PTR _FileLENde$[esp+7712], ebx
	mov	DWORD PTR _FileLENde$[esp+7716], esi
; Line 2680
	call	_clock
	mov	DWORD PTR _clocks3$[esp+7712], eax
	fild	DWORD PTR _clocks3$[esp+7712]
; Line 2683
	mov	eax, DWORD PTR _SearchAlgorithm
	cmp	eax, 5
	fstp	QWORD PTR tv2414[esp+7712]
	fild	DWORD PTR _clocks1$[esp+7712]
	fst	QWORD PTR tv2416[esp+7712]
	fld	QWORD PTR tv2414[esp+7712]
	fadd	QWORD PTR _TotalRoughReadTime$[esp+7712]
	fsub	ST(0), ST(1)
	fstp	QWORD PTR _TotalRoughReadTime$[esp+7712]
	fstp	ST(0)
	je	$L3913
	cmp	eax, 1
	jl	SHORT $L3909
	cmp	eax, 4
	jg	SHORT $L3909
; Line 2684
	mov	ecx, DWORD PTR _scratch$[esp+7712]
	mov	eax, DWORD PTR _MeBufferKAZE
	push	ecx
	push	eax
	add	eax, 134217728				; 08000000H
	push	eax
	call	_qlz_decompress
	mov	eax, DWORD PTR _SearchAlgorithm
	add	esp, 12					; 0000000cH
$L3909:
; Line 2687
	cmp	eax, 5
	je	$L3913
	cmp	eax, 111				; 0000006fH
	jl	SHORT $L3910
	cmp	eax, 444				; 000001bcH
	jg	SHORT $L3910
; Line 2688
	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+7712], ebx
	mov	DWORD PTR _FileLENde$[esp+7716], edx
$L3910:
; Line 2691
	cmp	eax, 5
	je	SHORT $L3913
	cmp	eax, 1111				; 00000457H
	jl	SHORT $L3911
	cmp	eax, 4444				; 0000115cH
	jg	SHORT $L3911
; Line 2692
	mov	eax, DWORD PTR _MeBufferKAZE
	lea	edx, DWORD PTR _FileLENde$[esp+7712]
	push	edx
	push	eax
	add	eax, 134217728				; 08000000H
	push	edi
	push	eax
	call	_DecodeKAZE2
	mov	ebx, DWORD PTR _FileLENde$[esp+7728]
	mov	eax, DWORD PTR _SearchAlgorithm
	add	esp, 16					; 00000010H
$L3911:
; Line 2695
	cmp	eax, 5
	je	SHORT $L3913
	cmp	eax, 11					; 0000000bH
	jl	SHORT $L3913
	cmp	eax, 44					; 0000002cH
	jg	SHORT $L3913
; Line 2696
	push	esi
	lea	eax, DWORD PTR _out_len$[esp+7716]
	push	eax
	mov	eax, DWORD PTR _MeBufferKAZE
	push	eax
	add	eax, 134217728				; 08000000H
	push	edi
	push	eax
	call	_lzo1x_decompress
	add	esp, 20					; 00000014H
; Line 2697
	cmp	eax, esi
	jne	$L3915
; Line 2706
	mov	ebx, DWORD PTR _out_len$[esp+7712]
	mov	DWORD PTR _FileLENde$[esp+7716], esi
$L3913:
; Line 2711
	call	_clock
	mov	DWORD PTR _clocks2$[esp+7712], eax
	fild	DWORD PTR _clocks2$[esp+7712]
	fld	QWORD PTR _TotalRoughDecodeTime$[esp+7712]
	fadd	ST(0), ST(1)
	fsub	QWORD PTR tv2414[esp+7712]
	fstp	QWORD PTR _TotalRoughDecodeTime$[esp+7712]
; Line 2712
	fadd	QWORD PTR _TotalRoughReadDecodeTime$[esp+7712]
	fsub	QWORD PTR tv2416[esp+7712]
	fstp	QWORD PTR _TotalRoughReadDecodeTime$[esp+7712]
; Line 2713
	fld	QWORD PTR __real@0000000000000000
	fld	QWORD PTR _TotalRoughDecodeTime$[esp+7712]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L3918
	fld	QWORD PTR _TotalRoughDecodeTime$[esp+7712]
	fadd	QWORD PTR __real@3ff0000000000000
	fstp	QWORD PTR _TotalRoughDecodeTime$[esp+7712]
$L3918:
; Line 2714
	fld	QWORD PTR __real@0000000000000000
	fld	QWORD PTR _TotalRoughReadTime$[esp+7712]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L3919
	fld	QWORD PTR _TotalRoughReadTime$[esp+7712]
	fadd	QWORD PTR __real@3ff0000000000000
	fstp	QWORD PTR _TotalRoughReadTime$[esp+7712]
$L3919:
; Line 2715
	fld	QWORD PTR __real@0000000000000000
	fld	QWORD PTR _TotalRoughReadDecodeTime$[esp+7712]
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jp	SHORT $L3920
	fld	QWORD PTR _TotalRoughReadDecodeTime$[esp+7712]
	fadd	QWORD PTR __real@3ff0000000000000
	fstp	QWORD PTR _TotalRoughReadDecodeTime$[esp+7712]
$L3920:
; Line 2716
	mov	esi, DWORD PTR _FilesLENen$[esp+7712]
; Line 2718
	fld	QWORD PTR _TotalRoughReadTime$[esp+7712]
	mov	ecx, DWORD PTR _FileLENde$[esp+7716]
	mov	edx, DWORD PTR _FilesLENde$[esp+7716]
	add	esi, edi
	mov	edi, DWORD PTR _FilesLENen$[esp+7716]
	mov	eax, 0
	adc	edi, eax
	mov	eax, DWORD PTR _FilesLENde$[esp+7712]
	add	eax, ebx
	adc	edx, ecx
	mov	DWORD PTR _FilesLENde$[esp+7716], edx
	lea	edx, DWORD PTR _llTOaDigits$[esp+7712]
	push	10					; 0000000aH
	mov	DWORD PTR _FilesLENen$[esp+7716], esi
	mov	DWORD PTR _FilesLENen$[esp+7720], edi
	mov	DWORD PTR _FilesLENde$[esp+7716], eax
	push	edx
	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:$SG3922
	call	_printf
; Line 2719
	mov	eax, DWORD PTR _SearchAlgorithm
	add	esp, 24					; 00000018H
	cmp	eax, 5
	je	$L3923
; Line 2720
	fld	QWORD PTR _TotalRoughDecodeTime$[esp+7712]
	call	__ftol2
	mov	ecx, DWORD PTR _FilesLENde$[esp+7716]
	cdq
	push	10					; 0000000aH
	mov	esi, eax
	lea	eax, DWORD PTR _llTOaDigits2$[esp+7716]
	push	eax
	mov	edi, edx
	mov	edx, DWORD PTR _FilesLENde$[esp+7720]
	push	edi
	push	esi
	push	ecx
	push	edx
	call	__aulldiv
	shrd	eax, edx, 10
	shr	edx, 10					; 0000000aH
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	mov	ecx, DWORD PTR _FilesLENen$[esp+7732]
	mov	edx, DWORD PTR _FilesLENen$[esp+7728]
	add	esp, 16					; 00000010H
	add	eax, 19					; 00000013H
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+7720]
	push	eax
	push	edi
	push	esi
	push	ecx
	push	edx
	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:$SG3926
	call	_printf
; Line 2721
	fld	QWORD PTR _TotalRoughReadDecodeTime$[esp+7724]
	add	esp, 12					; 0000000cH
	call	__ftol2
	mov	ecx, DWORD PTR _FilesLENde$[esp+7716]
	cdq
	push	10					; 0000000aH
	mov	esi, eax
	lea	eax, DWORD PTR _llTOaDigits2$[esp+7716]
	push	eax
	mov	edi, edx
	mov	edx, DWORD PTR _FilesLENde$[esp+7720]
	push	edi
	push	esi
	push	ecx
	push	edx
	call	__aulldiv
	shrd	eax, edx, 10
	shr	edx, 10					; 0000000aH
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	mov	ecx, DWORD PTR _FilesLENen$[esp+7732]
	mov	edx, DWORD PTR _FilesLENen$[esp+7728]
	add	esp, 16					; 00000010H
	add	eax, 19					; 00000013H
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+7720]
	push	eax
	push	edi
	push	esi
	push	ecx
	push	edx
	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:$SG3929
	call	_printf
	add	esp, 12					; 0000000cH
$L3923:
; Line 2723
	mov	eax, DWORD PTR _fp_inLINE$[esp+7712]
	push	eax
	call	_fclose
; Line 2729
	mov	esi, DWORD PTR _Pattern1len$[esp+7716]
	add	esp, 4
	test	esi, esi
	je	$L3930
; Line 2730
	call	_clock
; Line 2731
	push	OFFSET FLAT:$SG3931
	mov	DWORD PTR _clocks1$[esp+7716], eax
	call	_printf
; Line 2732
	mov	eax, DWORD PTR _P1NestedPattern3len$[esp+7716]
	mov	edi, DWORD PTR _fp_outLOG1$[esp+7716]
	lea	ecx, DWORD PTR _Bastumante2$[esp+7716]
	push	ecx
	lea	edx, DWORD PTR _INIHDDRAM$[esp+7720]
	push	edx
	mov	edx, DWORD PTR _P1NestedPattern2len$[esp+7724]
	push	eax
	lea	ecx, DWORD PTR _P1NestedPattern3$[esp+7728]
	push	ecx
	mov	ecx, DWORD PTR _P1NestedPattern1len$[esp+7732]
	push	edx
	lea	eax, DWORD PTR _P1NestedPattern2$[esp+7736]
	push	eax
	push	ecx
	mov	ecx, DWORD PTR _MeBufferKAZE
	lea	edx, DWORD PTR _P1NestedPattern1$[esp+7744]
	push	edx
	push	edi
	push	esi
	push	ebx
	lea	eax, DWORD PTR _Pattern1$[esp+7760]
	push	eax
	push	ecx
	call	_IgorPavlov
	mov	esi, eax
	add	esp, 56					; 00000038H
; Line 2734
	test	esi, esi
	je	SHORT $L3933
	cmp	DWORD PTR _SearchAlgorithm, 5
	jne	SHORT $L3933
; Line 2735
	lea	edx, DWORD PTR _LINE10$[esp+7712]
	push	edx
	push	esi
	push	OFFSET FLAT:$SG3934
	push	edi
	call	_fprintf
; Line 2736
	lea	eax, DWORD PTR _P1NestedPattern3$[esp+7728]
	push	eax
	lea	ecx, DWORD PTR _P1NestedPattern2$[esp+7732]
	push	ecx
	lea	edx, DWORD PTR _P1NestedPattern1$[esp+7736]
	push	edx
	lea	eax, DWORD PTR _Pattern1$[esp+7740]
	push	eax
	push	esi
	push	OFFSET FLAT:$SG3935
	push	edi
	call	_fprintf
	add	esp, 44					; 0000002cH
$L3933:
; Line 2739
	mov	eax, DWORD PTR _hits1$[esp+7712]
	add	eax, esi
	mov	DWORD PTR _hits1$[esp+7712], eax
; Line 2740
	je	SHORT $L3936
	mov	DWORD PTR _hits1flag$[esp+7712], 1
$L3936:
; Line 2741
	mov	ecx, DWORD PTR _P1NestedPattern1len$[esp+7712]
	test	ecx, ecx
	push	10					; 0000000aH
	jne	SHORT $L3937
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7716]
	cdq
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG3938
; Line 2742
	jmp	SHORT $L5052
$L3937:
	lea	edx, DWORD PTR _llTOaDigits$[esp+7716]
	push	edx
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG3940
$L5052:
	call	_printf
	add	esp, 24					; 00000018H
; Line 2743
	call	_clock
	sub	eax, DWORD PTR _clocks1$[esp+7712]
	mov	DWORD PTR tv3553[esp+7712], eax
	fild	DWORD PTR tv3553[esp+7712]
	fadd	QWORD PTR _TotalRoughSearchTime$[esp+7712]
	fstp	QWORD PTR _TotalRoughSearchTime$[esp+7712]
$L3930:
; Line 2746
	mov	esi, DWORD PTR _Pattern2len$[esp+7712]
	test	esi, esi
	je	$L3942
; Line 2747
	call	_clock
; Line 2748
	push	OFFSET FLAT:$SG3943
	mov	DWORD PTR _clocks1$[esp+7716], eax
	call	_printf
; Line 2749
	mov	edx, DWORD PTR _P2NestedPattern3len$[esp+7716]
	mov	edi, DWORD PTR _fp_outLOG2$[esp+7716]
	lea	eax, DWORD PTR _Bastumante2$[esp+7716]
	push	eax
	lea	ecx, DWORD PTR _INIHDDRAM$[esp+7720]
	push	ecx
	mov	ecx, DWORD PTR _P2NestedPattern2len$[esp+7724]
	push	edx
	lea	eax, DWORD PTR _P2NestedPattern3$[esp+7728]
	push	eax
	mov	eax, DWORD PTR _P2NestedPattern1len$[esp+7732]
	push	ecx
	lea	edx, DWORD PTR _P2NestedPattern2$[esp+7736]
	push	edx
	push	eax
	mov	eax, DWORD PTR _MeBufferKAZE
	lea	ecx, DWORD PTR _P2NestedPattern1$[esp+7744]
	push	ecx
	push	edi
	push	esi
	push	ebx
	lea	edx, DWORD PTR _Pattern2$[esp+7760]
	push	edx
	push	eax
	call	_IgorPavlov
	mov	esi, eax
	add	esp, 56					; 00000038H
; Line 2751
	test	esi, esi
	je	SHORT $L3945
	cmp	DWORD PTR _SearchAlgorithm, 5
	jne	SHORT $L3945
; Line 2752
	lea	ecx, DWORD PTR _LINE10$[esp+7712]
	push	ecx
	push	esi
	push	OFFSET FLAT:$SG3946
	push	edi
	call	_fprintf
; Line 2753
	lea	edx, DWORD PTR _P2NestedPattern3$[esp+7728]
	push	edx
	lea	eax, DWORD PTR _P2NestedPattern2$[esp+7732]
	push	eax
	lea	ecx, DWORD PTR _P2NestedPattern1$[esp+7736]
	push	ecx
	lea	edx, DWORD PTR _Pattern2$[esp+7740]
	push	edx
	push	esi
	push	OFFSET FLAT:$SG3947
	push	edi
	call	_fprintf
	add	esp, 44					; 0000002cH
$L3945:
; Line 2756
	mov	eax, DWORD PTR _hits2$[esp+7712]
	add	eax, esi
	mov	DWORD PTR _hits2$[esp+7712], eax
; Line 2757
	je	SHORT $L3948
	mov	DWORD PTR _hits2flag$[esp+7712], 1
$L3948:
; Line 2758
	mov	ecx, DWORD PTR _P2NestedPattern1len$[esp+7712]
	test	ecx, ecx
	push	10					; 0000000aH
	jne	SHORT $L3949
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7716]
	cdq
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG3950
; Line 2759
	jmp	SHORT $L5053
$L3949:
	lea	edx, DWORD PTR _llTOaDigits$[esp+7716]
	push	edx
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG3952
$L5053:
	call	_printf
	add	esp, 24					; 00000018H
; Line 2760
	call	_clock
	sub	eax, DWORD PTR _clocks1$[esp+7712]
	mov	DWORD PTR tv3588[esp+7712], eax
	fild	DWORD PTR tv3588[esp+7712]
	fadd	QWORD PTR _TotalRoughSearchTime$[esp+7712]
	fstp	QWORD PTR _TotalRoughSearchTime$[esp+7712]
$L3942:
; Line 2763
	mov	esi, DWORD PTR _Pattern3len$[esp+7712]
	test	esi, esi
	je	$L3954
; Line 2764
	call	_clock
; Line 2765
	push	OFFSET FLAT:$SG3955
	mov	DWORD PTR _clocks1$[esp+7716], eax
	call	_printf
; Line 2766
	mov	edx, DWORD PTR _P3NestedPattern3len$[esp+7716]
	mov	edi, DWORD PTR _fp_outLOG3$[esp+7716]
	lea	eax, DWORD PTR _Bastumante2$[esp+7716]
	push	eax
	lea	ecx, DWORD PTR _INIHDDRAM$[esp+7720]
	push	ecx
	mov	ecx, DWORD PTR _P3NestedPattern2len$[esp+7724]
	push	edx
	lea	eax, DWORD PTR _P3NestedPattern3$[esp+7728]
	push	eax
	mov	eax, DWORD PTR _P3NestedPattern1len$[esp+7732]
	push	ecx
	lea	edx, DWORD PTR _P3NestedPattern2$[esp+7736]
	push	edx
	push	eax
	mov	eax, DWORD PTR _MeBufferKAZE
	lea	ecx, DWORD PTR _P3NestedPattern1$[esp+7744]
	push	ecx
	push	edi
	push	esi
	push	ebx
	lea	edx, DWORD PTR _Pattern3$[esp+7760]
	push	edx
	push	eax
	call	_IgorPavlov
	mov	esi, eax
	add	esp, 56					; 00000038H
; Line 2768
	test	esi, esi
	je	SHORT $L3957
	cmp	DWORD PTR _SearchAlgorithm, 5
	jne	SHORT $L3957
; Line 2769
	lea	ecx, DWORD PTR _LINE10$[esp+7712]
	push	ecx
	push	esi
	push	OFFSET FLAT:$SG3958
	push	edi
	call	_fprintf
; Line 2770
	lea	edx, DWORD PTR _P3NestedPattern3$[esp+7728]
	push	edx
	lea	eax, DWORD PTR _P3NestedPattern2$[esp+7732]
	push	eax
	lea	ecx, DWORD PTR _P3NestedPattern1$[esp+7736]
	push	ecx
	lea	edx, DWORD PTR _Pattern3$[esp+7740]
	push	edx
	push	esi
	push	OFFSET FLAT:$SG3959
	push	edi
	call	_fprintf
	add	esp, 44					; 0000002cH
$L3957:
; Line 2773
	mov	eax, DWORD PTR _hits3$[esp+7712]
	add	eax, esi
	mov	DWORD PTR _hits3$[esp+7712], eax
; Line 2774
	je	SHORT $L3960
	mov	DWORD PTR _hits3flag$[esp+7712], 1
$L3960:
; Line 2775
	mov	ecx, DWORD PTR _P3NestedPattern1len$[esp+7712]
	test	ecx, ecx
	push	10					; 0000000aH
	jne	SHORT $L3961
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7716]
	cdq
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG3962
; Line 2776
	jmp	SHORT $L5054
$L3961:
	lea	edx, DWORD PTR _llTOaDigits$[esp+7716]
	push	edx
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG3964
$L5054:
	call	_printf
	add	esp, 24					; 00000018H
; Line 2777
	call	_clock
	sub	eax, DWORD PTR _clocks1$[esp+7712]
	mov	DWORD PTR tv3623[esp+7712], eax
	fild	DWORD PTR tv3623[esp+7712]
	fadd	QWORD PTR _TotalRoughSearchTime$[esp+7712]
	fstp	QWORD PTR _TotalRoughSearchTime$[esp+7712]
$L3954:
; Line 2780
	mov	esi, DWORD PTR _Pattern4len$[esp+7712]
	test	esi, esi
	je	$L3966
; Line 2781
	call	_clock
; Line 2782
	push	OFFSET FLAT:$SG3967
	mov	DWORD PTR _clocks1$[esp+7716], eax
	call	_printf
; Line 2783
	mov	edx, DWORD PTR _P4NestedPattern3len$[esp+7716]
	mov	edi, DWORD PTR _fp_outLOG4$[esp+7716]
	lea	eax, DWORD PTR _Bastumante2$[esp+7716]
	push	eax
	lea	ecx, DWORD PTR _INIHDDRAM$[esp+7720]
	push	ecx
	mov	ecx, DWORD PTR _P4NestedPattern2len$[esp+7724]
	push	edx
	lea	eax, DWORD PTR _P4NestedPattern3$[esp+7728]
	push	eax
	mov	eax, DWORD PTR _P4NestedPattern1len$[esp+7732]
	push	ecx
	lea	edx, DWORD PTR _P4NestedPattern2$[esp+7736]
	push	edx
	push	eax
	mov	eax, DWORD PTR _MeBufferKAZE
	lea	ecx, DWORD PTR _P4NestedPattern1$[esp+7744]
	push	ecx
	push	edi
	push	esi
	push	ebx
	lea	edx, DWORD PTR _Pattern4$[esp+7760]
	push	edx
	push	eax
	call	_IgorPavlov
	mov	esi, eax
	add	esp, 56					; 00000038H
; Line 2785
	test	esi, esi
	je	SHORT $L3969
	cmp	DWORD PTR _SearchAlgorithm, 5
	jne	SHORT $L3969
; Line 2786
	lea	ecx, DWORD PTR _LINE10$[esp+7712]
	push	ecx
	push	esi
	push	OFFSET FLAT:$SG3970
	push	edi
	call	_fprintf
; Line 2787
	lea	edx, DWORD PTR _P4NestedPattern3$[esp+7728]
	push	edx
	lea	eax, DWORD PTR _P4NestedPattern2$[esp+7732]
	push	eax
	lea	ecx, DWORD PTR _P4NestedPattern1$[esp+7736]
	push	ecx
	lea	edx, DWORD PTR _Pattern4$[esp+7740]
	push	edx
	push	esi
	push	OFFSET FLAT:$SG3971
	push	edi
	call	_fprintf
	add	esp, 44					; 0000002cH
$L3969:
; Line 2790
	mov	eax, DWORD PTR _hits4$[esp+7712]
	add	eax, esi
	mov	DWORD PTR _hits4$[esp+7712], eax
; Line 2791
	je	SHORT $L3972
	mov	DWORD PTR _hits4flag$[esp+7712], 1
$L3972:
; Line 2792
	mov	ecx, DWORD PTR _P4NestedPattern1len$[esp+7712]
	test	ecx, ecx
	push	10					; 0000000aH
	jne	SHORT $L3973
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7716]
	cdq
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG3974
; Line 2793
	jmp	SHORT $L5055
$L3973:
	lea	edx, DWORD PTR _llTOaDigits$[esp+7716]
	push	edx
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG3976
$L5055:
	call	_printf
	add	esp, 24					; 00000018H
; Line 2794
	call	_clock
	sub	eax, DWORD PTR _clocks1$[esp+7712]
	mov	DWORD PTR tv3658[esp+7712], eax
	fild	DWORD PTR tv3658[esp+7712]
	fadd	QWORD PTR _TotalRoughSearchTime$[esp+7712]
	fstp	QWORD PTR _TotalRoughSearchTime$[esp+7712]
$L3966:
; Line 2799
	mov	edi, DWORD PTR _fp_in$[esp+7712]
	mov	ebx, DWORD PTR _size_in$[esp+7712]
	mov	DWORD PTR _LINE10len$[esp+7712], 0
	mov	esi, DWORD PTR _LINE10len$[esp+7712]
	mov	BYTE PTR _LINE10$[esp+7712], 0
$L3889:
	mov	eax, DWORD PTR _k$[esp+7712]
	inc	eax
	cmp	eax, ebx
	mov	DWORD PTR _k$[esp+7712], eax
	jb	$L3888
$L3890:
; Line 2803
	lea	ecx, DWORD PTR _t3$[esp+7712]
	push	ecx
	call	_time
; Line 2804
	push	OFFSET FLAT:$SG3978
	call	_printf
; Line 2805
	fld	QWORD PTR _TotalRoughReadTime$[esp+7720]
	add	esp, 8
	call	__ftol2
	mov	ecx, DWORD PTR _FilesLENen$[esp+7712]
	cdq
	push	10					; 0000000aH
	mov	esi, edx
	lea	edx, DWORD PTR _llTOaDigits$[esp+7716]
	push	edx
	push	esi
	mov	ebx, eax
	mov	eax, DWORD PTR _FilesLENen$[esp+7728]
	push	ebx
	push	eax
	push	ecx
	mov	DWORD PTR tv2442[esp+7740], 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:$SG3980
	call	_printf
; Line 2806
	mov	eax, DWORD PTR _SearchAlgorithm
	mov	edi, 5
	add	esp, 24					; 00000018H
	cmp	eax, edi
	je	$L3981
; Line 2807
	fld	QWORD PTR _TotalRoughDecodeTime$[esp+7712]
	call	__ftol2
	mov	ecx, DWORD PTR _FilesLENde$[esp+7712]
	cdq
	push	10					; 0000000aH
	mov	edi, edx
	lea	edx, DWORD PTR _llTOaDigits2$[esp+7716]
	push	edx
	push	edi
	mov	esi, eax
	mov	eax, DWORD PTR _FilesLENde$[esp+7728]
	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+7728]
	add	esp, 16					; 00000010H
	add	eax, 19					; 00000013H
	push	eax
	mov	eax, DWORD PTR _FilesLENen$[esp+7720]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+7720]
	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:$SG3984
	call	_printf
; Line 2808
	fld	QWORD PTR _TotalRoughReadDecodeTime$[esp+7724]
	add	esp, 12					; 0000000cH
	call	__ftol2
	mov	ecx, DWORD PTR _FilesLENde$[esp+7712]
	cdq
	push	10					; 0000000aH
	mov	edi, edx
	lea	edx, DWORD PTR _llTOaDigits2$[esp+7716]
	push	edx
	push	edi
	mov	esi, eax
	mov	eax, DWORD PTR _FilesLENde$[esp+7728]
	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+7728]
	add	esp, 16					; 00000010H
	add	eax, 19					; 00000013H
	push	eax
	mov	eax, DWORD PTR _FilesLENen$[esp+7720]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+7720]
	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:$SG3987
	call	_printf
	mov	esi, DWORD PTR tv2442[esp+7728]
	add	esp, 12					; 0000000cH
	mov	edi, 5
$L3981:
; Line 2810
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+7716]
	push	edx
	push	esi
	push	ebx
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG3989
	call	_printf
; Line 2811
	mov	eax, DWORD PTR _SearchAlgorithm
	add	esp, 24					; 00000018H
	cmp	eax, edi
	je	SHORT $L3990
; Line 2812
	fld	QWORD PTR _TotalRoughDecodeTime$[esp+7712]
	lea	eax, DWORD PTR _llTOaDigits$[esp+7712]
	push	10					; 0000000aH
	push	eax
	call	__ftol2
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG3992
	call	_printf
	add	esp, 24					; 00000018H
$L3990:
; Line 2813
	fld	QWORD PTR _TotalRoughSearchTime$[esp+7712]
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7712]
	push	10					; 0000000aH
	push	ecx
	call	__ftol2
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG3994
	call	_printf
; Line 2814
	mov	edx, DWORD PTR _t3$[esp+7736]
	sub	edx, DWORD PTR _t1$[esp+7736]
	push	edx
	push	OFFSET FLAT:$SG3996
	call	_printf
; Line 2815
	mov	ecx, DWORD PTR _FilesLENde$[esp+7748]
	mov	edx, DWORD PTR _FilesLENde$[esp+7744]
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+7748]
	push	eax
	push	ecx
	push	edx
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG3997
	call	_printf
; Line 2817
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+7772]
	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:$SG3998
	call	_printf
; Line 2823
	mov	eax, DWORD PTR _SearchAlgorithm
	add	esp, 8
	cmp	eax, edi
	je	$L4018
; Line 2825
	mov	eax, DWORD PTR _VIVA_IgorPavlov_invocations_global_counter
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7716]
	cdq
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4000
	call	_printf
; Line 2826
	mov	eax, DWORD PTR _WildGLOBALhits
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+7740]
	push	edx
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4001
	call	_printf
; Line 2827
	fld	QWORD PTR _clocksGW
	lea	eax, DWORD PTR _llTOaDigits$[esp+7760]
	push	10					; 0000000aH
	push	eax
	call	__ftol2
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	add	esp, 64					; 00000040H
	push	eax
	push	OFFSET FLAT:$SG4003
	call	_printf
; Line 2828
	fld	QWORD PTR __real@0000000000000000
	fld	QWORD PTR _clocksGW
	add	esp, 8
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $L4004
; Line 2829
	fld	QWORD PTR _clocksGW
	lea	ecx, DWORD PTR _llTOaDigits2$[esp+7712]
	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:$SG4006
	call	_printf
	add	esp, 24					; 00000018H
$L4004:
; Line 2831
	mov	eax, DWORD PTR _HORSPOOLhits_invocations_global_counter
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7716]
	cdq
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4007
	call	_printf
; Line 2832
	mov	eax, DWORD PTR _HorspoolGLOBALhits
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+7740]
	push	edx
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4008
	call	_printf
; Line 2833
	fld	QWORD PTR _clocksGH
	lea	eax, DWORD PTR _llTOaDigits$[esp+7760]
	push	10					; 0000000aH
	push	eax
	call	__ftol2
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	add	esp, 64					; 00000040H
	push	eax
	push	OFFSET FLAT:$SG4010
	call	_printf
; Line 2834
	fld	QWORD PTR __real@0000000000000000
	fld	QWORD PTR _clocksGH
	add	esp, 8
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $L4011
; Line 2835
	fld	QWORD PTR _clocksGH
	lea	ecx, DWORD PTR _llTOaDigits2$[esp+7712]
	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:$SG4013
	call	_printf
	add	esp, 24					; 00000018H
$L4011:
; Line 2837
	mov	eax, DWORD PTR _KarpRabinKazeHits_invocations_global_counter
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+7716]
	cdq
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4014
	call	_printf
; Line 2838
	mov	eax, DWORD PTR _FRKFindSubpbGLOBALHITS
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+7740]
	push	edx
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG4015
	call	_printf
; Line 2839
	fld	QWORD PTR _clocksGK
	lea	eax, DWORD PTR _llTOaDigits$[esp+7760]
	push	10					; 0000000aH
	push	eax
	call	__ftol2
	cdq
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	add	esp, 64					; 00000040H
	push	eax
	push	OFFSET FLAT:$SG4017
	call	_printf
; Line 2840
	fld	QWORD PTR __real@0000000000000000
	fld	QWORD PTR _clocksGK
	add	esp, 8
	fucompp
	fnstsw	ax
	test	ah, 68					; 00000044H
	jnp	SHORT $L4018
; Line 2841
	fld	QWORD PTR _clocksGK
	lea	ecx, DWORD PTR _llTOaDigits2$[esp+7712]
	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:$SG4020
	call	_printf
	add	esp, 24					; 00000018H
$L4018:
; Line 2844
	mov	eax, DWORD PTR _hits1flag$[esp+7712]
	test	eax, eax
	je	$L4021
; Line 2847
	lea	eax, DWORD PTR _HTML12$[esp+7712]
	lea	edx, DWORD PTR [eax+1]
$L5018:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5018
	mov	esi, DWORD PTR _fp_outLOG1$[esp+7712]
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML12$[esp+7724]
	push	ecx
	call	_fwrite
; Line 2848
	lea	eax, DWORD PTR _HTML13$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5019:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5019
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML13$[esp+7724]
	push	edx
	call	_fwrite
; Line 2849
	lea	eax, DWORD PTR _HTML14$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	3
$L5020:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5020
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML14$[esp+7724]
	push	eax
	call	_fwrite
; Line 2850
	lea	eax, DWORD PTR _HTML15$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5021:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5021
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML15$[esp+7724]
	push	ecx
	call	_fwrite
	add	esp, 16					; 00000010H
$L4021:
; Line 2852
	mov	eax, DWORD PTR _hits2flag$[esp+7712]
	test	eax, eax
	je	$L4022
; Line 2855
	lea	eax, DWORD PTR _HTML12$[esp+7712]
	lea	edx, DWORD PTR [eax+1]
	npad	3
$L5022:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5022
	mov	esi, DWORD PTR _fp_outLOG2$[esp+7712]
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML12$[esp+7724]
	push	edx
	call	_fwrite
; Line 2856
	lea	eax, DWORD PTR _HTML13$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5023:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5023
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML13$[esp+7724]
	push	eax
	call	_fwrite
; Line 2857
	lea	eax, DWORD PTR _HTML14$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5024:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5024
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML14$[esp+7724]
	push	ecx
	call	_fwrite
; Line 2858
	lea	eax, DWORD PTR _HTML15$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5025:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5025
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML15$[esp+7724]
	push	edx
	call	_fwrite
	add	esp, 16					; 00000010H
$L4022:
; Line 2860
	mov	eax, DWORD PTR _hits3flag$[esp+7712]
	test	eax, eax
	je	$L4023
; Line 2863
	lea	eax, DWORD PTR _HTML12$[esp+7712]
	lea	edx, DWORD PTR [eax+1]
$L5026:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5026
	mov	esi, DWORD PTR _fp_outLOG3$[esp+7712]
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML12$[esp+7724]
	push	eax
	call	_fwrite
; Line 2864
	lea	eax, DWORD PTR _HTML13$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5027:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5027
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML13$[esp+7724]
	push	ecx
	call	_fwrite
; Line 2865
	lea	eax, DWORD PTR _HTML14$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	5
$L5028:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5028
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML14$[esp+7724]
	push	edx
	call	_fwrite
; Line 2866
	lea	eax, DWORD PTR _HTML15$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5029:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5029
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML15$[esp+7724]
	push	eax
	call	_fwrite
	add	esp, 16					; 00000010H
$L4023:
; Line 2868
	mov	eax, DWORD PTR _hits4flag$[esp+7712]
	test	eax, eax
	je	$L4024
; Line 2871
	lea	eax, DWORD PTR _HTML12$[esp+7712]
	lea	edx, DWORD PTR [eax+1]
	npad	3
$L5030:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5030
	mov	esi, DWORD PTR _fp_outLOG4$[esp+7712]
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML12$[esp+7724]
	push	ecx
	call	_fwrite
; Line 2872
	lea	eax, DWORD PTR _HTML13$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	5
$L5031:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5031
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	edx, DWORD PTR _HTML13$[esp+7724]
	push	edx
	call	_fwrite
; Line 2873
	lea	eax, DWORD PTR _HTML14$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
$L5032:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5032
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	eax, DWORD PTR _HTML14$[esp+7724]
	push	eax
	call	_fwrite
; Line 2874
	lea	eax, DWORD PTR _HTML15$[esp+7728]
	add	esp, 16					; 00000010H
	lea	edx, DWORD PTR [eax+1]
	npad	2
$L5033:
	mov	cl, BYTE PTR [eax]
	inc	eax
	test	cl, cl
	jne	SHORT $L5033
	push	esi
	sub	eax, edx
	push	1
	push	eax
	lea	ecx, DWORD PTR _HTML15$[esp+7724]
	push	ecx
	call	_fwrite
	add	esp, 16					; 00000010H
$L4024:
; Line 2877
	push	OFFSET FLAT:$SG4025
	call	_printf
	add	esp, 4
$L5048:
; Line 2878
	xor	eax, eax
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L4887:
; Line 2631
	push	OFFSET FLAT:$SG3892
	call	_printf
	add	esp, 4
; Line 2632
	jmp	$L3890
$L4888:
; Line 2649
	push	OFFSET FLAT:$SG3902
	call	_printf
	add	esp, 8
	mov	eax, 1
; Line 3090
	pop	edi
	pop	esi
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L3915:
; Line 2703
	push	eax
	push	OFFSET FLAT:$SG3917
	call	_printf
	add	esp, 8
; Line 3090
	pop	edi
	pop	esi
	mov	eax, 1
	pop	ebx
	mov	esp, ebp
	pop	ebp
	ret	0
$L5047:
_main	ENDP
_TEXT	ENDS
END
