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

include listing.inc

INCLUDELIB LIBCMT
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	match_position:DWORD
COMM	outfileOkumura:QWORD
COMM	rson:DWORD:01101H
COMM	maskGLOBALlen:DWORD
COMM	match_length:DWORD
COMM	clocksG1:DWORD
COMM	text_buf:BYTE:01011H
COMM	nameGLOBALlen:DWORD
COMM	lson:DWORD:01001H
COMM	infileOkumura:QWORD
COMM	MeBufferKAZE:QWORD
COMM	dad:DWORD:01001H
COMM	clocksG2:DWORD
_DATA	ENDS
_BSS	SEGMENT
TotalLinesENC DQ 01H DUP (?)
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 (?)
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 (?)
$SG7644	DB	01H DUP (?)
	ALIGN	4

$SG7718	DB	01H DUP (?)
_BSS	ENDS
_DATA	SEGMENT
$SG6160	DB	'<>'
	ORG $+6
$SG6194	DB	'NON-ENCODED', 00H
$SG6234	DB	'<>'
	ORG $+2
$SG6278	DB	'NON-ENCODED', 00H
$SG6282	DB	'%s ', 00H
$SG6298	DB	'<>'
	ORG $+2
$SG7231	DB	'%12ld', 0dH, 00H
	ORG $+5
$SG7240	DB	'In : %ld bytes', 0aH, 00H
$SG7241	DB	'Out: %ld bytes', 0aH, 00H
$SG7243	DB	'Out/In: %.3f', 0aH, 00H
	ORG $+2
$SG7529	DB	'DECODING HDD2RAM', 00H
	ORG $+7
$SG7531	DB	' <i><small>target file:</small></i> ', 00H, 00H
	ORG $+2
$SG7533	DB	'[', 00H
	ORG $+2
$SG7535	DB	']', 00H
	ORG $+2
$SG7537	DB	' ', 00H
	ORG $+2
$SG7539	DB	'+', 00H
	ORG $+10
$SG7544	DB	'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitiona'
	DB	'l//EN">', 00H, 00H
	ORG $+7
$SG7546	DB	'<html><head><title>Kazuya Hits</title>', 00H, 00H
$SG7548	DB	'<meta http-equiv="Content-Type" content="text/html; char'
	DB	'set=utf-8">', 00H, 00H
	ORG $+3
$SG7550	DB	'</head>', 00H, 00H
	ORG $+7
$SG7552	DB	'<body ', 00H, 00H
$SG7554	DB	'style="background-image: url(./Kazuya.gif); color: rgb(0'
	DB	', 200, 221); background-color: rgb(7, 12, 17);"', 00H, 00H
	ORG $+7
$SG7556	DB	'alink="#003366" link="#006699" vlink="#003366">', 00H, 00H
	ORG $+7
$SG7558	DB	'<font color="#7788AA" face="Courier New, Courier, mono">'
	DB	00H, 00H
	ORG $+2
$SG7560	DB	'<pre>', 00H, 00H
	ORG $+5
$SG7562	DB	'<a href="file://localhost/', 00H, 00H
$SG7741	DB	0aH, 00H
	ORG $+2
$SG7564	DB	'">Kazuya link to</a>', 00H, 00H
	ORG $+2
$SG7566	DB	'</pre>', 00H, 00H
$SG7568	DB	'</font>', 00H, 00H
	ORG $+7
$SG7570	DB	'</body>', 00H, 00H
	ORG $+7
$SG7572	DB	'</html>', 00H, 00H
	ORG $+7
$SG7574	DB	'<font color="#0099BB" face="Courier New, Courier, mono">'
	DB	00H, 00H
	ORG $+2
$SG7589	DB	'-SA1', 00H
	ORG $+3
$SG7592	DB	'-SA2', 00H
	ORG $+3
$SG7595	DB	'-SA3', 00H
	ORG $+3
$SG7598	DB	'-SA4', 00H
	ORG $+3
$SG7601	DB	'-sa1', 00H
	ORG $+3
$SG7604	DB	'-sa2', 00H
	ORG $+3
$SG7607	DB	'-sa3', 00H
	ORG $+3
$SG7610	DB	'-sa4', 00H
	ORG $+3
$SG7613	DB	'-sA1', 00H
	ORG $+3
$SG7616	DB	'-sA2', 00H
	ORG $+3
$SG7619	DB	'-sA3', 00H
	ORG $+3
$SG7622	DB	'-sA4', 00H
	ORG $+3
$SG7625	DB	'-Sa1', 00H
	ORG $+3
$SG7628	DB	'-Sa2', 00H
	ORG $+3
$SG7631	DB	'-Sa3', 00H
	ORG $+3
$SG7634	DB	'-Sa4', 00H
	ORG $+3
$SG7637	DB	'-krknd', 00H
	ORG $+13
$SG7639	DB	'Kazuya(LZ Sentence_Dumper), revision 17++, written by Sv'
	DB	'alqyatchx,', 00H
	ORG $+13
$SG7640	DB	'in fact adapted from Lasse Reinhold''s excellent QuickLZ'
	DB	' 1.4.0 library,', 00H
	ORG $+9
$SG7641	DB	'in fact adapted from Ariya Hidayat''s sub-excellent Fast'
	DB	'LZ 0.1.0 library,', 00H
	ORG $+7
$SG7642	DB	'in fact adapted from Markus F.X.J. Oberhumer''s sub-exce'
	DB	'llent LZO 2.03 library,', 00H
	ORG $+1
$SG7643	DB	'in fact adapted from Haruhiko Okumura''s sub-excellent L'
	DB	'ZSS 4/6/1989 library.', 00H
	ORG $+3
$SG7645	DB	'Usage1: Kazuya [-sa1|-sa2|-sa3|-sa4|-SA1|-SA2|-SA3|-SA4', 00H
$SG7668	DB	'Usage2: Kazuya <e|d|E|D|A|R|a|r> inputFile outputFile', 00H
	ORG $+2
$SG7646	DB	'               |-sA1|-sA2|-sA3|-sA4|-Sa1|-Sa2|-Sa3|-Sa4|'
	DB	'-krknd] filename', 00H
	ORG $+7
$SG7647	DB	'        Decodes all files from a list(filename)', 00H
$SG7648	DB	'        -sa1 : QuickLZ Decode + Brute_Force Search Algor'
	DB	'ithm', 00H
	ORG $+3
$SG7649	DB	'        -sa2 : QuickLZ Decode + Quick_Boyer_Moore Search'
	DB	' Algorithm', 00H
	ORG $+13
$SG7650	DB	'        -sa3 : QuickLZ Decode + SMITH_Boyer_Moore Search'
	DB	' Algorithm', 00H
	ORG $+13
$SG7651	DB	'        -sa4 : QuickLZ Decode + Karp_Rabin_Kaze Search A'
	DB	'lgorithm', 00H
	ORG $+7
$SG7652	DB	'        -SA1 : LZO Decode + Brute_Force Search Algorithm'
	DB	00H
	ORG $+7
$SG7653	DB	'        -SA2 : LZO Decode + Quick_Boyer_Moore Search Alg'
	DB	'orithm', 00H
	ORG $+1
$SG7654	DB	'        -SA3 : LZO Decode + SMITH_Boyer_Moore Search Alg'
	DB	'orithm', 00H
	ORG $+1
$SG7655	DB	'        -SA4 : LZO Decode + Karp_Rabin_Kaze Search Algor'
	DB	'ithm', 00H
	ORG $+3
$SG7656	DB	'        -sA1 : FastLZ Decode + Brute_Force Search Algori'
	DB	'thm', 00H
$SG7745	DB	0aH, 00H
	ORG $+10
$SG7657	DB	'        -sA2 : FastLZ Decode + Quick_Boyer_Moore Search '
	DB	'Algorithm', 00H
	ORG $+14
$SG7658	DB	'        -sA3 : FastLZ Decode + SMITH_Boyer_Moore Search '
	DB	'Algorithm', 00H
	ORG $+14
$SG7659	DB	'        -sA4 : FastLZ Decode + Karp_Rabin_Kaze Search Al'
	DB	'gorithm', 00H
$SG7660	DB	'        -Sa1 : OkumuraLZ Decode + Brute_Force Search Alg'
	DB	'orithm', 00H
	ORG $+1
$SG7661	DB	'        -Sa2 : OkumuraLZ Decode + Quick_Boyer_Moore Sear'
	DB	'ch Algorithm', 00H
	ORG $+11
$SG7662	DB	'        -Sa3 : OkumuraLZ Decode + SMITH_Boyer_Moore Sear'
	DB	'ch Algorithm', 00H
	ORG $+11
$SG7663	DB	'        -Sa4 : OkumuraLZ Decode + Karp_Rabin_Kaze Search'
	DB	' Algorithm', 00H
	ORG $+13
$SG7664	DB	'        -krknd : Karp_Rabin_Kaze Search Algorithm, but w'
	DB	'ith no additional', 00H
	ORG $+6
$SG7665	DB	'                 chunk-searches overhead and without dec'
	DB	'ompression of', 00H
	ORG $+2
$SG7666	DB	'                 incoming files i.e. pure text is upload'
	DB	'ed', 00H
	ORG $+13
$SG7667	DB	'        Default is QuickLZ Decode + HORSPOOL_Boyer_Moore'
	DB	' Search Algorithm', 00H
	ORG $+6
$SG7669	DB	'        e: encode QuickLZ file', 00H
	ORG $+1
$SG7670	DB	'        d: decode QuickLZ file', 00H
	ORG $+1
$SG7671	DB	'        E: encode LZO file', 00H
	ORG $+5
$SG7672	DB	'        D: decode LZO file', 00H
	ORG $+5
$SG7673	DB	'        A: encode(archive) FastLZ file', 00H
	ORG $+1
$SG7674	DB	'        R: decode(restore) FastLZ file', 00H
	ORG $+1
$SG7675	DB	'        a: encode(archive) OkumuraLZ file', 00H
	ORG $+6
$SG7676	DB	'        r: decode(restore) OkumuraLZ file', 00H
	ORG $+6
$SG7677	DB	'Example1: Kazuya Kazuya.lst', 00H
$SG7776	DB	'rb', 00H
	ORG $+1
$SG7678	DB	'Example2: Kazuya -SA2 Kazuya.lst', 00H
	ORG $+15
$SG7679	DB	'Example3: Kazuya e Caterpillar.001.txt Caterpillar.001.t'
	DB	'xt.Lasse', 00H
	ORG $+7
$SG7680	DB	'Note1: Benchmark(HDD read speed is the nasty bottleneck)'
	DB	':', 00H
	ORG $+14
$SG7681	DB	'       Kazuya(EN:37KB/clock, DE:88KB/clock) for 24.9GB(1'
	DB	'0.6GB Lasse) texts.', 00H
$SG7781	DB	'rb', 00H
	ORG $+1
$SG7682	DB	'       Me machine is:', 00H
	ORG $+10
$SG7683	DB	'       Motherboard Name:                             Tos'
	DB	'hiba Satellite L305', 00H
$SG7786	DB	'wb', 00H
	ORG $+1
$SG7684	DB	'       CPU Type:         Mobile DualCore Intel Pentium, '
	DB	'2166 MHz (13 x 167)', 00H
$SG7791	DB	'wb', 00H
	ORG $+1
$SG7685	DB	'       CPU Alias:                                       '
	DB	'           Merom-1M', 00H
$SG7796	DB	'wb', 00H
	ORG $+1
$SG7686	DB	'       L1 Code Cache:                                   '
	DB	'     32 KB per core', 00H
$SG7801	DB	'wb', 00H
	ORG $+1
$SG7687	DB	'       L1 Data Cache:                                   '
	DB	'     32 KB per core', 00H
$SG7867	DB	'rb', 00H
	ORG $+1
$SG7688	DB	'       L2 Cache:                        1 MB (On-Die, EC'
	DB	'C, ASC, Full-Speed)', 00H
$SG7950	DB	0aH, 00H
	ORG $+2
$SG7689	DB	'       Bus Type:                                        '
	DB	'    Dual DDR2 SDRAM', 00H
$SG8006	DB	'rb', 00H
	ORG $+1
$SG7690	DB	'       Bus Width:                                       '
	DB	'            128-bit', 00H
$SG8010	DB	'wb', 00H
	ORG $+1
$SG7691	DB	'       Real Clock:                                      '
	DB	'      333 MHz (DDR)', 00H
$SG8015	DB	'rb', 00H
	ORG $+1
$SG7692	DB	'       Effective Clock:                                 '
	DB	'            666 MHz', 00H
$SG8017	DB	'wb', 00H
	ORG $+1
$SG7693	DB	'Note2: Disastrous performance in case 256MB not fully ph'
	DB	'ysical!', 00H
$SG7694	DB	'Note3: Matches(hits) are overwritten to Kazuya.hits.Patt'
	DB	'ern?.html files.', 00H
	ORG $+7
$SG7695	DB	'Note4: Works both on UNIX(LF) and Windows(CRLF) text fil'
	DB	'es.', 00H
$SG8069	DB	'rb', 00H
	ORG $+1
$SG7696	DB	'Note5: Never forget the importance of defragmented_AND_g'
	DB	'rouped files located at', 00H
$SG7697	DB	'       fastest area of disk - first partition is faster '
	DB	'than second one, etc.', 00H
	ORG $+2
$SG7698	DB	'Note6: In ANSI, clock is defined as ''#define CLOCKS_PER'
	DB	'_SEC 1000''.', 00H
	ORG $+5
$SG7699	DB	'Note7: Since Kazuya 13++:', 00H
	ORG $+14
$SG7700	DB	'       - limits(just skip longer ones) lines to 960 char'
	DB	's; OTHERWISE: HUGE TIME', 00H
$SG7701	DB	'         DELAYS due to recursive function;', 00H
	ORG $+5
$SG7702	DB	'       - shows hits to console too; MORE VIVID;', 00H
$SG7703	DB	'Note8: Since Kazuya 14:', 00H
$SG7713	DB	'                           Pattern1_NestedPattern1:', 00H
$SG8071	DB	'wb', 00H
	ORG $+1
$SG7704	DB	'       - No deletion of input file after compressing/dec'
	DB	'ompressing;', 00H
	ORG $+12
$SG7705	DB	'Note9: During execution hitting a ''Esc'' causes termina'
	DB	'tion(i.e. skipping rest).', 00H
$SG7706	DB	'NoteA: This revision works with up to 127MB incoming(non'
	DB	'-compressed) files,', 00H
	ORG $+4
$SG7707	DB	'       because it allocates 256MB of which one half is f'
	DB	'or incoming', 00H
	ORG $+12
$SG7708	DB	'       oher for outcoming file, i.e. decompression/compr'
	DB	'ession is RAM to RAM.', 00H
	ORG $+2
$SG7709	DB	'NoteB: Charge(delivery) performance combines upload and '
	DB	'decode performance.', 00H
	ORG $+4
$SG7710	DB	'NoteC: The two examples below show the need of one addit'
	DB	'ional wildcard in', 00H
	ORG $+6
$SG7711	DB	'       order to match CR for Windows texts; end of line '
	DB	'is LF(as in UNIX):', 00H
	ORG $+5
$SG7712	DB	'       Pattern(s) example: Pattern1: ########%', 00H
	ORG $+1
$SG7714	DB	'                           Possible hit: NEW YORK', 00H
	ORG $+6
$SG7715	DB	'       Pattern(s) example: Pattern1: $$$$$$$$@', 00H
	ORG $+1
$SG7716	DB	'                           Pattern1_NestedPattern1:', 00H
	ORG $+4
$SG7717	DB	'                           Possible hit: Printing', 00H
	ORG $+14
$SG7719	DB	'Pattern(s) note: You may specify(four times) a main-patt'
	DB	'ern(case insensitive', 0aH, 00H
	ORG $+2
$SG7720	DB	'                 with wildcards ''*'' i.e. any character'
	DB	'(s) or empty, also ''@''', 0aH, 00H
	ORG $+2
$SG7721	DB	'                 i.e. any character or empty, also ''#'''
	DB	' i.e. any character', 0aH, 00H
	ORG $+5
$SG7722	DB	'                 and not empty, also ''$'' i.e. any ALPH'
	DB	'A character', 0aH, 00H
	ORG $+13
$SG7723	DB	'                 and not empty, also ''%%'' i.e. any NON'
	DB	'-ALPHA character', 0aH, 00H
	ORG $+8
$SG7724	DB	'                 and not empty) with three nested-patter'
	DB	'ns(case', 0aH, 00H
	ORG $+15
$SG7725	DB	'                 sensitive and unexact), all four connec'
	DB	'ted with AND.', 0aH, 00H
	ORG $+9
$SG7726	DB	'                 Due to different line endings(CRLF in W'
	DB	'indows; LF in UNIX)', 0aH, 00H
	ORG $+3
$SG7727	DB	'                 you must add a ''@'' wildcard in place '
	DB	'of CR: for example in', 0aH, 00H
	ORG $+3
$SG7728	DB	'                 case of searching for ''*.pdf'' write '''
	DB	'*.pdf@''.', 0aH, 00H
$SG7729	DB	'Pattern(s) example: Pattern1: *%%take@%%$$@', 0aH, 00H
	ORG $+3
$SG7730	DB	'                    Pattern1_NestedPattern1:', 0aH, 00H
	ORG $+2
$SG7731	DB	'                    Possible hit: ... is taken by', 0aH, 00H
	ORG $+5
$SG7732	DB	'                    Possible hit: ... would take it', 0aH
	DB	00H
	ORG $+3
$SG7733	DB	'                    Note: First %% is to avoid e.g. ''mi'
	DB	's'' prefix', 0aH, 00H
	ORG $+14
$SG7734	DB	'                          Second %% is to avoid e.g. ''i'
	DB	'ng'' suffix', 0aH, 00H
	ORG $+13
$SG7735	DB	'Master-pattern note: It is case insensitive with wildcar'
	DB	'ds ''*'',''@'',''#'',''$'',''%%''', 0aH, 00H
	ORG $+15
$SG7736	DB	'                     allowed. The purpose of this patter'
	DB	'n is to', 0aH, 00H
	ORG $+15
$SG7737	DB	'                     decide whether a search for next pa'
	DB	'tterns will be', 0aH, 00H
	ORG $+8
$SG7738	DB	'                     executed, it is applied on all line'
	DB	's i.e. the whole file.', 0aH, 00H
$SG7739	DB	'                     There must be at least one hit in o'
	DB	'rder to execute search', 0aH, 00H
$SG7740	DB	'                     for next patterns.', 0aH, 00H
	ORG $+7
$SG7742	DB	'Have a nice Kazuyaing.', 00H
	ORG $+1
$SG7743	DB	'For contacts: sanmayce@sanmayce.com', 00H
	ORG $+4
$SG7744	DB	'Sanmayce Svalqyatchx ''Kaze'', 2010 May 24.', 00H
	ORG $+6
$SG7766	DB	'LZO: internal error - lzo_init() failed !!!', 0aH, 00H
	ORG $+3
$SG7767	DB	'(this usually indicates a compiler bug - try recompiling'
	DB	0aH, 'without optimizations, and enable `-DLZO_DEBUG'' for dia'
	DB	'gnostics)', 0aH, 00H
	ORG $+5
$SG7771	DB	'Kazuya: Needed memory allocation denied!', 0aH, 00H
	ORG $+6
$SG7772	DB	'Allocated memory for DEcoded file in MB: %lu', 0aH, 00H
	ORG $+2
$SG7777	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG7782	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG7783	DB	'Size of input file with files for Kazuyaing: %lu', 0aH, 00H
	ORG $+6
$SG7787	DB	'Kazuya.hits.pattern1.html', 00H
	ORG $+6
$SG7788	DB	'Kazuya: Can''t open Kazuya.hits.pattern1.html file.', 0aH
	DB	00H
	ORG $+4
$SG7792	DB	'Kazuya.hits.pattern2.html', 00H
	ORG $+6
$SG7793	DB	'Kazuya: Can''t open Kazuya.hits.pattern2.html file.', 0aH
	DB	00H
	ORG $+4
$SG7797	DB	'Kazuya.hits.pattern3.html', 00H
	ORG $+6
$SG7798	DB	'Kazuya: Can''t open Kazuya.hits.pattern3.html file.', 0aH
	DB	00H
	ORG $+4
$SG7802	DB	'Kazuya.hits.pattern4.html', 00H
	ORG $+6
$SG7803	DB	'Kazuya: Can''t open Kazuya.hits.pattern4.html file.', 0aH
	DB	00H
	ORG $+4
$SG7805	DB	0aH, 'Input Master-pattern(hit only ''Enter'' to skip): ', 00H
	ORG $+6
$SG7807	DB	'Input Pattern1(hit only ''Enter'' to skip): ', 00H
	ORG $+5
$SG7810	DB	'- Input Pattern1_NestedPattern1(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7813	DB	'- Input Pattern1_NestedPattern2(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7816	DB	'- Input Pattern1_NestedPattern3(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7818	DB	'Input Pattern2(hit only ''Enter'' to skip): ', 00H
	ORG $+5
$SG7821	DB	'- Input Pattern2_NestedPattern1(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7824	DB	'- Input Pattern2_NestedPattern2(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7827	DB	'- Input Pattern2_NestedPattern3(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7829	DB	'Input Pattern3(hit only ''Enter'' to skip): ', 00H
	ORG $+5
$SG7832	DB	'- Input Pattern3_NestedPattern1(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7835	DB	'- Input Pattern3_NestedPattern2(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7838	DB	'- Input Pattern3_NestedPattern3(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7840	DB	'Input Pattern4(hit only ''Enter'' to skip): ', 00H
	ORG $+5
$SG7843	DB	'- Input Pattern4_NestedPattern1(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7846	DB	'- Input Pattern4_NestedPattern2(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7849	DB	'- Input Pattern4_NestedPattern3(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7858	DB	'''Esc'' was pressed, so skip the rest files and quit!', 0aH
	DB	00H
	ORG $+3
$SG7868	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG7869	DB	'Processing %s ...', 0aH, 00H
	ORG $+5
$SG7871	DB	'Doing DECODE from RAM to RAM ...', 0aH, 00H
	ORG $+6
$SG7883	DB	'LZO: internal error - decompression failed: %d', 0aH, 00H
$SG7888	DB	'Overall upload performance so far: %sKB/clock', 0aH, 00H
	ORG $+9
$SG7892	DB	'Overall decode performance so far: %sKB/clock(EN) or %sK'
	DB	'B/clock(DE)', 0aH, 00H
	ORG $+11
$SG7895	DB	'Overall charge performance so far: %sKB/clock(EN) or %sK'
	DB	'B/clock(DE)', 0aH, 00H
	ORG $+3
$SG7897	DB	'Doing SEARCH for Master-pattern ...', 0aH, 00H
	ORG $+3
$SG7903	DB	'Doing SEARCH for Pattern1 at once and flushing hit-sente'
	DB	'nces ...', 0aH, 00H
	ORG $+14
$SG7906	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) was/were fou'
	DB	'nd in: <i>%s</i></big>', 0aH, 00H
$SG7907	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
$SG7910	DB	'Found %s case-insensitive and unexact matches(hits), so '
	DB	'far.', 0aH, 00H
	ORG $+2
$SG7912	DB	'Found %s case-sensitive and unexact matches(hits), so fa'
	DB	'r.', 0aH, 00H
	ORG $+12
$SG7915	DB	'Doing SEARCH for Pattern2 at once and flushing hit-sente'
	DB	'nces ...', 0aH, 00H
	ORG $+14
$SG7918	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) was/were fou'
	DB	'nd in: <i>%s</i></big>', 0aH, 00H
$SG7919	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
$SG7922	DB	'Found %s case-insensitive and unexact matches(hits), so '
	DB	'far.', 0aH, 00H
	ORG $+2
$SG7924	DB	'Found %s case-sensitive and unexact matches(hits), so fa'
	DB	'r.', 0aH, 00H
	ORG $+12
$SG7927	DB	'Doing SEARCH for Pattern3 at once and flushing hit-sente'
	DB	'nces ...', 0aH, 00H
	ORG $+14
$SG7930	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) was/were fou'
	DB	'nd in: <i>%s</i></big>', 0aH, 00H
$SG7931	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
$SG7934	DB	'Found %s case-insensitive and unexact matches(hits), so '
	DB	'far.', 0aH, 00H
	ORG $+2
$SG7936	DB	'Found %s case-sensitive and unexact matches(hits), so fa'
	DB	'r.', 0aH, 00H
	ORG $+12
$SG7939	DB	'Doing SEARCH for Pattern4 at once and flushing hit-sente'
	DB	'nces ...', 0aH, 00H
	ORG $+14
$SG7942	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) was/were fou'
	DB	'nd in: <i>%s</i></big>', 0aH, 00H
$SG7943	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
$SG7946	DB	'Found %s case-insensitive and unexact matches(hits), so '
	DB	'far.', 0aH, 00H
	ORG $+2
$SG7948	DB	'Found %s case-sensitive and unexact matches(hits), so fa'
	DB	'r.', 0aH, 00H
	ORG $+4
$SG7952	DB	'Total Upload performance: %sKB/clock', 0aH, 00H
	ORG $+2
$SG7956	DB	'Total Decode performance: %sKB/clock(EN) or %sKB/clock(D'
	DB	'E)', 0aH, 00H
	ORG $+4
$SG7959	DB	'Total Charge performance: %sKB/clock(EN) or %sKB/clock(D'
	DB	'E)', 0aH, 00H
	ORG $+4
$SG7961	DB	'Total Upload time: %s clocks', 0aH, 00H
	ORG $+2
$SG7964	DB	'Total Decode time: %s clocks', 0aH, 00H
	ORG $+2
$SG7966	DB	'Total Search time: %s clocks', 0aH, 00H
	ORG $+2
$SG7968	DB	'Total time: %d second(s)', 0aH, 00H
	ORG $+6
$SG7969	DB	'Total bytes decoded: %s ', 0aH, 00H
	ORG $+6
$SG7970	DB	'Total Search(non-mask) function invocations: %s ', 0aH, 00H
	ORG $+6
$SG7972	DB	'Total MASK i.e. wildcard invocations: %s ', 0aH, 00H
	ORG $+5
$SG7973	DB	'Total MASK i.e. wildcard hits: %s ', 0aH, 00H
	ORG $+4
$SG7975	DB	'Total MASK i.e. wildcard time: %s clocks', 0aH, 00H
	ORG $+6
$SG7978	DB	'Total MASK i.e. wildcard performance: %sKB/clock', 0aH, 00H
	ORG $+6
$SG7979	DB	'Total BoyerMooreHorspool invocations: %s ', 0aH, 00H
	ORG $+5
$SG7980	DB	'Total BoyerMooreHorspool(whole chunks, not lines) hits: '
	DB	'%s ', 0aH, 00H
	ORG $+11
$SG7982	DB	'Total BoyerMooreHorspool(whole chunks, not lines) time: '
	DB	'%s clocks', 0aH, 00H
	ORG $+13
$SG7985	DB	'Total BoyerMooreHorspool(whole chunks, not lines) perfor'
	DB	'mance: %sKB/clock', 0aH, 00H
	ORG $+5
$SG7986	DB	'Total KarpRabinKaze invocations: %s ', 0aH, 00H
	ORG $+2
$SG7987	DB	'Total KarpRabinKaze(whole chunks, not lines) hits: %s ', 0aH
	DB	00H
$SG7989	DB	'Total KarpRabinKaze(whole chunks, not lines) time: %s cl'
	DB	'ocks', 0aH, 00H
	ORG $+2
$SG7992	DB	'Total KarpRabinKaze(whole chunks, not lines) performance'
	DB	': %sKB/clock', 0aH, 00H
	ORG $+2
$SG7997	DB	'Kazuya: Done.', 0aH, 00H
	ORG $+1
$SG8007	DB	'OkumuraLZ: Can''t open %s file.', 0aH, 00H
$SG8011	DB	'OkumuraLZ: Can''t open %s file.', 0aH, 00H
$SG8016	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG8024	DB	'QuickLZ: compressed %lu bytes into ', 00H
	ORG $+4
$SG8026	DB	'%lu bytes.', 0aH, 00H
	ORG $+4
$SG8031	DB	'FastLZ: compressed %lu bytes into ', 00H
	ORG $+5
$SG8033	DB	'%lu bytes.', 0aH, 00H
	ORG $+4
$SG8055	DB	'LZO: internal error - lzo_init() failed !!!', 0aH, 00H
	ORG $+11
$SG8056	DB	'(this usually indicates a compiler bug - try recompiling'
	DB	0aH, 'without optimizations, and enable `-DLZO_DEBUG'' for dia'
	DB	'gnostics)', 0aH, 00H
	ORG $+5
$SG8061	DB	'LZO: compressed %lu bytes into %lu bytes.', 0aH, 00H
	ORG $+5
$SG8063	DB	'LZO: internal error - compression failed: %d', 0aH, 00H
	ORG $+2
$SG8065	DB	'LZO: This block contains incompressible data.', 0aH, 00H
	ORG $+1
$SG8070	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG8077	DB	'QuickLZ: decompressed %lu bytes back into ', 00H
	ORG $+5
$SG8079	DB	'%lu bytes.', 0aH, 00H
	ORG $+4
$SG8084	DB	'FastLZ: decompressed %lu bytes back into ', 00H
	ORG $+6
$SG8086	DB	'%lu bytes.', 0aH, 00H
	ORG $+4
$SG8091	DB	'OkumuraLZ: decompressed %lu bytes back into ', 00H
	ORG $+3
$SG8095	DB	'%lu bytes.', 0aH, 00H
	ORG $+4
$SG8102	DB	'LZO: decompressed %lu bytes back into %lu bytes.', 0aH, 00H
	ORG $+6
$SG8104	DB	'LZO: internal error - decompression failed: %d', 0aH, 00H
_DATA	ENDS
EXTRN	__chkstk:PROC
pdata	SEGMENT
$pdata$fastlz1_compress DD imagerel fastlz1_compress
	DD	imagerel fastlz1_compress+111
	DD	imagerel $unwind$fastlz1_compress
$pdata$1$fastlz1_compress DD imagerel fastlz1_compress+111
	DD	imagerel fastlz1_compress+942
	DD	imagerel $chain$1$fastlz1_compress
$pdata$2$fastlz1_compress DD imagerel fastlz1_compress+942
	DD	imagerel fastlz1_compress+975
	DD	imagerel $chain$2$fastlz1_compress
$pdata$3$fastlz1_compress DD imagerel fastlz1_compress+975
	DD	imagerel fastlz1_compress+997
	DD	imagerel $chain$3$fastlz1_compress
pdata	ENDS
xdata	SEGMENT
$unwind$fastlz1_compress DD 071901H
	DD	020057419H
	DD	020045419H
	DD	020000119H
	DD	0c00cH
$chain$1$fastlz1_compress DD 041921H
	DD	020036419H
	DD	020023408H
	DD	imagerel fastlz1_compress
	DD	imagerel fastlz1_compress+111
	DD	imagerel $unwind$fastlz1_compress
$chain$2$fastlz1_compress DD 020021H
	DD	020036400H
	DD	imagerel fastlz1_compress
	DD	imagerel fastlz1_compress+111
	DD	imagerel $unwind$fastlz1_compress
$chain$3$fastlz1_compress DD 021H
	DD	imagerel fastlz1_compress
	DD	imagerel fastlz1_compress+111
	DD	imagerel $unwind$fastlz1_compress
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
htab$ = 0
input$ = 65552
length$ = 65560
output$ = 65568
fastlz1_compress PROC
; File c:\worktemp\_kaze_kazuya_r17++_lasse-ariya-oberhumer-okumura_(on_osho)_32_bit_64_bit\kazuya17++\fastlz.c
; Line 167
	mov	QWORD PTR [rsp+24], rbp
	mov	QWORD PTR [rsp+32], rdi
	push	r12
	mov	eax, 65536				; 00010000H
	call	__chkstk
	sub	rsp, rax
	movsxd	r9, edx
	mov	rbp, r8
; Line 180
	cmp	r9d, 4
	lea	rdi, QWORD PTR [r9+rcx-2]
	lea	r12, QWORD PTR [r9+rcx-12]
	jge	SHORT $LN40@fastlz1_co
; Line 182
	test	edx, edx
	je	SHORT $LN43@fastlz1_co
; Line 185
	lea	eax, DWORD PTR [r9-1]
; Line 186
	inc	rdi
	lea	rdx, QWORD PTR [r8+1]
	mov	BYTE PTR [r8], al
; Line 187
	cmp	rcx, rdi
	ja	SHORT $LN41@fastlz1_co
	sub	rdx, rcx
	npad	7
$LL42@fastlz1_co:
; Line 188
	movzx	eax, BYTE PTR [rcx]
	inc	rcx
	mov	BYTE PTR [rdx+rcx-1], al
	cmp	rcx, rdi
	jbe	SHORT $LL42@fastlz1_co
$LN41@fastlz1_co:
; Line 189
	lea	eax, DWORD PTR [r9+1]
	jmp	$LN45@fastlz1_co
$LN43@fastlz1_co:
; Line 192
	xor	eax, eax
	jmp	$LN45@fastlz1_co
$LN40@fastlz1_co:
	mov	QWORD PTR [rsp+65552], rbx
; Line 197
	lea	rax, QWORD PTR htab$[rsp]
	mov	edx, 1024				; 00000400H
	mov	QWORD PTR [rsp+65560], rsi
	npad	8
$LL63@fastlz1_co:
	mov	QWORD PTR [rax], rcx
	mov	QWORD PTR [rax+8], rcx
	mov	QWORD PTR [rax+16], rcx
	add	rax, 64					; 00000040H
	dec	rdx
	mov	QWORD PTR [rax-40], rcx
	mov	QWORD PTR [rax-32], rcx
	mov	QWORD PTR [rax-24], rcx
	mov	QWORD PTR [rax-16], rcx
	mov	QWORD PTR [rax-8], rcx
	jne	SHORT $LL63@fastlz1_co
; Line 201
	mov	BYTE PTR [r8], 31
; Line 202
	movzx	eax, BYTE PTR [rcx]
	lea	r10, QWORD PTR [r8+1]
	mov	BYTE PTR [r10], al
; Line 203
	movzx	eax, BYTE PTR [rcx+1]
	lea	rbx, QWORD PTR [rcx+1]
	lea	esi, QWORD PTR [rdx+2]
	inc	rbx
	mov	BYTE PTR [r10+1], al
	add	r10, rsi
; Line 206
	cmp	rbx, r12
	jae	$LN35@fastlz1_co
	npad	12
$LL36@fastlz1_co:
; Line 229
	movzx	eax, BYTE PTR [rbx+1]
	movzx	ecx, BYTE PTR [rbx+2]
	movzx	r11d, BYTE PTR [rbx]
	shl	ecx, 8
	mov	edx, eax
; Line 234
	mov	r9d, ebx
	or	ecx, eax
	shl	edx, 8
	or	edx, r11d
	mov	eax, edx
	shr	eax, 3
	xor	ecx, eax
	xor	ecx, edx
	and	ecx, 8191				; 00001fffH
	mov	rdx, QWORD PTR htab$[rsp+rcx*8]
; Line 237
	mov	QWORD PTR htab$[rsp+rcx*8], rbx
	sub	r9d, edx
; Line 246
	je	$literal$852
	cmp	r9d, 8192				; 00002000H
	jae	$literal$852
	cmp	BYTE PTR [rdx], r11b
	jne	$literal$852
	movzx	eax, BYTE PTR [rdx+1]
	cmp	al, BYTE PTR [rbx+1]
	jne	$literal$852
	movzx	eax, BYTE PTR [rdx+2]
	add	rdx, 3
	cmp	al, BYTE PTR [rbx+2]
	jne	$literal$852
; Line 265
	add	r9d, -1					; ffffffffH
	lea	r11, QWORD PTR [rbx+3]
; Line 267
	jne	SHORT $LN26@fastlz1_co
; Line 270
	movzx	ecx, BYTE PTR [r11-1]
; Line 271
	cmp	r11, rdi
	jae	$LN64@fastlz1_co
	npad	8
$LL31@fastlz1_co:
; Line 272
	movzx	eax, BYTE PTR [rdx]
	inc	rdx
	cmp	al, cl
	jne	$LN64@fastlz1_co
	inc	r11
	cmp	r11, rdi
	jb	SHORT $LL31@fastlz1_co
; Line 274
	jmp	$LN64@fastlz1_co
$LN26@fastlz1_co:
; Line 278
	movzx	eax, BYTE PTR [r11]
	inc	r11
	cmp	BYTE PTR [rdx], al
	jne	$LN64@fastlz1_co
; Line 279
	movzx	eax, BYTE PTR [r11]
	inc	r11
	cmp	BYTE PTR [rdx+1], al
	jne	SHORT $LN64@fastlz1_co
; Line 280
	movzx	eax, BYTE PTR [r11]
	inc	r11
	cmp	BYTE PTR [rdx+2], al
	jne	SHORT $LN64@fastlz1_co
; Line 281
	movzx	eax, BYTE PTR [r11]
	inc	r11
	cmp	BYTE PTR [rdx+3], al
	jne	SHORT $LN64@fastlz1_co
; Line 282
	movzx	eax, BYTE PTR [r11]
	inc	r11
	cmp	BYTE PTR [rdx+4], al
	jne	SHORT $LN64@fastlz1_co
; Line 283
	movzx	eax, BYTE PTR [r11]
	inc	r11
	cmp	BYTE PTR [rdx+5], al
	jne	SHORT $LN64@fastlz1_co
; Line 284
	movzx	eax, BYTE PTR [r11]
	inc	r11
	cmp	BYTE PTR [rdx+6], al
	jne	SHORT $LN64@fastlz1_co
; Line 285
	movzx	ecx, BYTE PTR [rdx+7]
	movzx	eax, BYTE PTR [r11]
	inc	r11
	add	rdx, 8
	cmp	cl, al
	jne	SHORT $LN64@fastlz1_co
; Line 286
	cmp	r11, rdi
	jae	SHORT $LN64@fastlz1_co
	npad	6
$LL16@fastlz1_co:
; Line 287
	movzx	ecx, BYTE PTR [rdx]
	movzx	eax, BYTE PTR [r11]
	inc	r11
	inc	rdx
	cmp	cl, al
	jne	SHORT $LN64@fastlz1_co
; Line 286
	cmp	r11, rdi
	jb	SHORT $LL16@fastlz1_co
$LN64@fastlz1_co:
; Line 292
	test	esi, esi
	je	SHORT $LN13@fastlz1_co
; Line 294
	mov	eax, esi
	mov	rcx, r10
	lea	edx, DWORD PTR [rsi-1]
	sub	rcx, rax
	mov	BYTE PTR [rcx-1], dl
; Line 295
	jmp	SHORT $LN12@fastlz1_co
$LN13@fastlz1_co:
; Line 297
	dec	r10
$LN12@fastlz1_co:
; Line 303
	sub	r11, 3
	xor	esi, esi
; Line 304
	mov	r8d, r11d
	sub	r8d, ebx
; Line 349
	cmp	r8d, 262				; 00000106H
	jbe	SHORT $LN9@fastlz1_co
	lea	ecx, DWORD PTR [r8-263]
	mov	eax, -98358029				; fa232cf3H
	mov	ebx, r9d
	shr	ebx, 8
	mul	ecx
	shr	edx, 8
	lea	ecx, DWORD PTR [rdx+1]
	npad	4
$LL10@fastlz1_co:
; Line 352
	lea	eax, DWORD PTR [rbx-32]
; Line 354
	add	r10, 3
; Line 355
	add	r8d, -262				; fffffefaH
	sub	rcx, 1
	mov	BYTE PTR [r10-3], al
	mov	BYTE PTR [r10-2], 253			; 000000fdH
	mov	BYTE PTR [r10-1], r9b
	jne	SHORT $LL10@fastlz1_co
$LN9@fastlz1_co:
; Line 358
	cmp	r8d, 7
	jae	SHORT $LN8@fastlz1_co
; Line 360
	shl	r8b, 5
	mov	eax, r9d
	shr	eax, 8
	add	al, r8b
; Line 361
	add	r10, 2
	mov	BYTE PTR [r10-2], al
	mov	BYTE PTR [r10-1], r9b
; Line 363
	jmp	SHORT $LN7@fastlz1_co
$LN8@fastlz1_co:
; Line 366
	sub	r8b, 7
	mov	eax, r9d
	shr	eax, 8
	sub	al, 32					; 00000020H
; Line 367
	add	r10, 3
	mov	BYTE PTR [r10-3], al
	mov	BYTE PTR [r10-2], r8b
	mov	BYTE PTR [r10-1], r9b
$LN7@fastlz1_co:
; Line 372
	movzx	r8d, BYTE PTR [r11+1]
	movzx	eax, BYTE PTR [r11]
; Line 373
	movzx	ecx, BYTE PTR [r11+2]
	shl	ecx, 8
	mov	edx, r8d
	lea	r9, QWORD PTR [r11+1]
	shl	edx, 8
	or	rcx, r8
; Line 374
	movzx	r8d, BYTE PTR [r9+1]
	or	edx, eax
	and	ecx, 8191				; 00001fffH
	lea	rbx, QWORD PTR [r9+1]
	mov	rax, rdx
	shr	rax, 3
	xor	rax, rdx
	mov	edx, r8d
	and	eax, 8191				; 00001fffH
	shl	edx, 8
	xor	rcx, rax
	movzx	eax, BYTE PTR [r9]
	mov	QWORD PTR htab$[rsp+rcx*8], r11
; Line 375
	movzx	ecx, BYTE PTR [r9+2]
	or	edx, eax
	shl	ecx, 8
	mov	rax, rdx
; Line 378
	mov	BYTE PTR [r10], 31
	shr	rax, 3
	or	rcx, r8
	xor	rax, rdx
	and	ecx, 8191				; 00001fffH
	and	eax, 8191				; 00001fffH
	xor	rcx, rax
	inc	r10
	mov	QWORD PTR htab$[rsp+rcx*8], r9
; Line 380
	jmp	SHORT $LN6@fastlz1_co
$literal$852:
; Line 383
	movzx	eax, BYTE PTR [rbx]
; Line 385
	inc	esi
	inc	r10
	mov	BYTE PTR [r10-1], al
	inc	rbx
; Line 386
	cmp	esi, 32					; 00000020H
	jne	SHORT $LN6@fastlz1_co
; Line 388
	xor	esi, esi
; Line 389
	mov	BYTE PTR [r10], 31
	inc	r10
$LN6@fastlz1_co:
; Line 206
	cmp	rbx, r12
	jb	$LL36@fastlz1_co
$LN35@fastlz1_co:
; Line 394
	inc	rdi
; Line 395
	cmp	rbx, rdi
	ja	SHORT $LN4@fastlz1_co
	npad	3
$LL5@fastlz1_co:
; Line 397
	movzx	eax, BYTE PTR [rbx]
; Line 398
	inc	esi
	inc	r10
	mov	BYTE PTR [r10-1], al
	inc	rbx
; Line 399
	cmp	esi, 32					; 00000020H
	jne	SHORT $LN3@fastlz1_co
; Line 401
	xor	esi, esi
; Line 402
	mov	BYTE PTR [r10], 31
	inc	r10
$LN3@fastlz1_co:
; Line 395
	cmp	rbx, rdi
	jbe	SHORT $LL5@fastlz1_co
$LN4@fastlz1_co:
	mov	rbx, QWORD PTR [rsp+65552]
; Line 407
	test	esi, esi
	je	SHORT $LN2@fastlz1_co
; Line 408
	mov	eax, esi
	mov	rcx, r10
	lea	edx, DWORD PTR [rsi-1]
	sub	rcx, rax
	mov	BYTE PTR [rcx-1], dl
; Line 409
	jmp	SHORT $LN1@fastlz1_co
$LN2@fastlz1_co:
; Line 410
	dec	r10
$LN1@fastlz1_co:
	mov	rsi, QWORD PTR [rsp+65560]
; Line 417
	sub	r10, rbp
	mov	eax, r10d
$LN45@fastlz1_co:
; Line 418
	lea	r11, QWORD PTR [rsp+65536]
	mov	rbp, QWORD PTR [r11+32]
	mov	rdi, QWORD PTR [r11+40]
	mov	rsp, r11
	pop	r12
	ret	0
fastlz1_compress ENDP
_TEXT	ENDS
EXTRN	memset:PROC
pdata	SEGMENT
$pdata$fastlz1_decompress DD imagerel fastlz1_decompress
	DD	imagerel fastlz1_decompress+355
	DD	imagerel $unwind$fastlz1_decompress
pdata	ENDS
xdata	SEGMENT
$unwind$fastlz1_decompress DD 0c3701H
	DD	083437H
	DD	0b7419H
	DD	0a6419H
	DD	095419H
	DD	0e0153219H
	DD	0c011d013H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
input$ = 64
length$ = 72
output$ = 80
maxout$ = 88
fastlz1_decompress PROC
; Line 421
	mov	QWORD PTR [rsp+16], rbp
	mov	QWORD PTR [rsp+24], rsi
	mov	QWORD PTR [rsp+32], rdi
	push	r12
	push	r13
	push	r14
	sub	rsp, 32					; 00000020H
; Line 426
	movzx	ebp, BYTE PTR [rcx]
	movsxd	r13, edx
	mov	r14, r8
	add	r13, rcx
	mov	rdi, r8
	lea	rsi, QWORD PTR [rcx+1]
; Line 427
	mov	r12d, 1
	mov	QWORD PTR [rsp+64], rbx
	and	ebp, 31
	npad	6
$LL20@fastlz1_de:
; Line 435
	cmp	ebp, 32					; 00000020H
	jb	$LN17@fastlz1_de
; Line 441
	mov	eax, ebp
	mov	edx, ebp
	mov	rcx, rdi
	and	eax, 31
	shr	edx, 5
	shl	eax, 8
	dec	edx
	sub	rcx, rax
; Line 442
	cmp	edx, 6
	jne	SHORT $LN16@fastlz1_de
; Line 444
	movzx	edx, BYTE PTR [rsi]
	add	edx, 6
	inc	rsi
$LN16@fastlz1_de:
; Line 445
	movzx	eax, BYTE PTR [rsi]
	inc	rsi
	sub	rcx, rax
; Line 473
	cmp	rsi, r13
	jae	SHORT $LN15@fastlz1_de
; Line 474
	movzx	ebp, BYTE PTR [rsi]
	inc	rsi
; Line 475
	jmp	SHORT $LN14@fastlz1_de
$LN15@fastlz1_de:
; Line 476
	xor	r12d, r12d
$LN14@fastlz1_de:
; Line 478
	cmp	rcx, rdi
	jne	SHORT $LN13@fastlz1_de
; Line 481
	movzx	eax, BYTE PTR [rcx-1]
; Line 484
	add	rdi, 3
	mov	BYTE PTR [rdi-3], al
	mov	BYTE PTR [rdi-2], al
	mov	BYTE PTR [rdi-1], al
; Line 485
	test	edx, edx
	je	$LN19@fastlz1_de
	mov	ebx, edx
	mov	r8d, edx
	mov	rcx, rdi
	movzx	edx, al
	call	memset
	add	rdi, rbx
; Line 488
	jmp	SHORT $LN19@fastlz1_de
$LN13@fastlz1_de:
; Line 496
	movzx	eax, BYTE PTR [rcx-1]
; Line 498
	add	rdi, 3
	add	rcx, 2
	mov	BYTE PTR [rdi-3], al
	movzx	eax, BYTE PTR [rcx-2]
	mov	BYTE PTR [rdi-2], al
	movzx	eax, BYTE PTR [rcx-1]
	mov	BYTE PTR [rdi-1], al
; Line 522
	test	edx, edx
	je	SHORT $LN19@fastlz1_de
	npad	7
$LL8@fastlz1_de:
; Line 523
	movzx	eax, BYTE PTR [rcx]
	inc	rdi
	inc	rcx
	add	edx, -1					; ffffffffH
	mov	BYTE PTR [rdi-1], al
	jne	SHORT $LL8@fastlz1_de
; Line 527
	jmp	SHORT $LN19@fastlz1_de
$LN17@fastlz1_de:
; Line 537
	movzx	eax, BYTE PTR [rsi]
	inc	rdi
	inc	rsi
	mov	BYTE PTR [rdi-1], al
; Line 538
	test	ebp, ebp
	je	SHORT $LN2@fastlz1_de
	npad	13
$LL4@fastlz1_de:
; Line 539
	movzx	eax, BYTE PTR [rsi]
	inc	rdi
	inc	rsi
	add	ebp, -1					; ffffffffH
	mov	BYTE PTR [rdi-1], al
	jne	SHORT $LL4@fastlz1_de
$LN2@fastlz1_de:
; Line 541
	xor	r12d, r12d
	cmp	rsi, r13
	setb	r12b
; Line 542
	test	r12d, r12d
	je	SHORT $LN30@fastlz1_de
; Line 543
	movzx	ebp, BYTE PTR [rsi]
	inc	rsi
$LN19@fastlz1_de:
; Line 546
	test	r12d, r12d
	jne	$LL20@fastlz1_de
$LN30@fastlz1_de:
	mov	rbx, QWORD PTR [rsp+64]
; Line 549
	mov	rbp, QWORD PTR [rsp+72]
	mov	rsi, QWORD PTR [rsp+80]
	sub	rdi, r14
	mov	eax, edi
	mov	rdi, QWORD PTR [rsp+88]
	add	rsp, 32					; 00000020H
	pop	r14
	pop	r13
	pop	r12
	ret	0
fastlz1_decompress ENDP
_TEXT	ENDS
pdata	SEGMENT
$pdata$fastlz2_compress DD imagerel fastlz2_compress
	DD	imagerel fastlz2_compress+243
	DD	imagerel $unwind$fastlz2_compress
$pdata$4$fastlz2_compress DD imagerel fastlz2_compress+243
	DD	imagerel fastlz2_compress+1199
	DD	imagerel $chain$4$fastlz2_compress
$pdata$5$fastlz2_compress DD imagerel fastlz2_compress+1199
	DD	imagerel fastlz2_compress+1317
	DD	imagerel $chain$5$fastlz2_compress
pdata	ENDS
xdata	SEGMENT
$unwind$fastlz2_compress DD 099b01H
	DD	02004e49bH
	DD	0200b3489H
	DD	020060113H
	DD	0d004f006H
	DD	0c002H
$chain$4$fastlz2_compress DD 061821H
	DD	020057418H
	DD	0200d6410H
	DD	0200c5408H
	DD	imagerel fastlz2_compress
	DD	imagerel fastlz2_compress+243
	DD	imagerel $unwind$fastlz2_compress
$chain$5$fastlz2_compress DD 021H
	DD	imagerel fastlz2_compress
	DD	imagerel fastlz2_compress+243
	DD	imagerel $unwind$fastlz2_compress
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
htab$ = 32
ip_limit$1$ = 65616
input$ = 65616
length$ = 65624
output$ = 65632
fastlz2_compress PROC
; Line 167
	push	r12
	push	r13
	push	r15
	mov	eax, 65584				; 00010030H
	call	__chkstk
	sub	rsp, rax
	movsxd	r9, edx
	mov	r15, r8
; Line 180
	cmp	r9d, 4
	lea	r12, QWORD PTR [r9+rcx-12]
	lea	r13, QWORD PTR [r9+rcx-2]
	mov	QWORD PTR ip_limit$1$[rsp], r12
	jge	SHORT $LN51@fastlz2_co
; Line 182
	test	edx, edx
	je	SHORT $LN54@fastlz2_co
; Line 185
	lea	eax, DWORD PTR [r9-1]
; Line 186
	inc	r13
	lea	rdx, QWORD PTR [r8+1]
	mov	BYTE PTR [r8], al
; Line 187
	cmp	rcx, r13
	ja	SHORT $LN52@fastlz2_co
	sub	rdx, rcx
	npad	5
$LL53@fastlz2_co:
; Line 188
	movzx	eax, BYTE PTR [rcx]
	inc	rcx
	mov	BYTE PTR [rdx+rcx-1], al
	cmp	rcx, r13
	jbe	SHORT $LL53@fastlz2_co
$LN52@fastlz2_co:
; Line 189
	lea	eax, DWORD PTR [r9+1]
; Line 418
	add	rsp, 65584				; 00010030H
	pop	r15
	pop	r13
	pop	r12
	ret	0
$LN54@fastlz2_co:
; Line 192
	xor	eax, eax
; Line 418
	add	rsp, 65584				; 00010030H
	pop	r15
	pop	r13
	pop	r12
	ret	0
$LN51@fastlz2_co:
	mov	QWORD PTR [rsp+65624], rbx
; Line 197
	lea	rax, QWORD PTR htab$[rsp]
	mov	edx, 1024				; 00000400H
	mov	QWORD PTR [rsp+65568], r14
	npad	5
$LL73@fastlz2_co:
	mov	QWORD PTR [rax], rcx
	mov	QWORD PTR [rax+8], rcx
	mov	QWORD PTR [rax+16], rcx
	add	rax, 64					; 00000040H
	dec	rdx
	mov	QWORD PTR [rax-40], rcx
	mov	QWORD PTR [rax-32], rcx
	mov	QWORD PTR [rax-24], rcx
	mov	QWORD PTR [rax-16], rcx
	mov	QWORD PTR [rax-8], rcx
	jne	SHORT $LL73@fastlz2_co
; Line 201
	mov	BYTE PTR [r8], 31
; Line 202
	movzx	eax, BYTE PTR [rcx]
	lea	rbx, QWORD PTR [r8+1]
	mov	BYTE PTR [rbx], al
; Line 203
	movzx	eax, BYTE PTR [rcx+1]
	lea	r10, QWORD PTR [rcx+1]
	lea	r14d, QWORD PTR [rdx+2]
	inc	r10
	mov	BYTE PTR [rbx+1], al
	add	rbx, r14
; Line 206
	cmp	r10, r12
	jae	$LN46@fastlz2_co
	mov	QWORD PTR [rsp+65632], rbp
	mov	QWORD PTR [rsp+65640], rsi
	mov	QWORD PTR [rsp+65576], rdi
	npad	5
$LL47@fastlz2_co:
; Line 219
	movzx	r9d, BYTE PTR [r10]
	mov	r11d, 3
	cmp	r9b, BYTE PTR [r10-1]
	jne	SHORT $LN45@fastlz2_co
	movzx	eax, BYTE PTR [r10+2]
	movzx	edx, BYTE PTR [r10+1]
	lea	r8, QWORD PTR [r10+2]
	shl	eax, 8
	movzx	ecx, r9b
	or	edx, eax
	movzx	eax, BYTE PTR [r10-1]
	shl	ecx, 8
	or	ecx, eax
	cmp	ecx, edx
	jne	SHORT $LN45@fastlz2_co
; Line 221
	lea	ebp, QWORD PTR [r11-2]
; Line 224
	jmp	$match$984
$LN45@fastlz2_co:
; Line 229
	movzx	edx, BYTE PTR [r10+2]
	movzx	ecx, BYTE PTR [r10+1]
	movzx	eax, r9b
	shl	edx, 8
	mov	r8d, ecx
; Line 234
	mov	ebp, r10d
	or	edx, ecx
	shl	r8d, 8
	or	r8d, eax
	mov	eax, r8d
	shr	eax, 3
	xor	edx, eax
	xor	edx, r8d
	and	edx, 8191				; 00001fffH
	mov	r8, QWORD PTR htab$[rsp+rdx*8]
; Line 237
	mov	QWORD PTR htab$[rsp+rdx*8], r10
	sub	ebp, r8d
; Line 246
	je	$literal$987
	cmp	ebp, 73725				; 00011ffdH
	jae	$literal$987
	cmp	BYTE PTR [r8], r9b
	jne	$literal$987
	movzx	ecx, BYTE PTR [r8+1]
	cmp	cl, BYTE PTR [r10+1]
	jne	$literal$987
	movzx	ecx, BYTE PTR [r8+2]
	add	r8, r11
	cmp	cl, BYTE PTR [r10+2]
	jne	$literal$987
; Line 251
	cmp	ebp, 8191				; 00001fffH
	jb	SHORT $match$984
; Line 253
	movzx	eax, BYTE PTR [r8]
	cmp	BYTE PTR [r10+3], al
	jne	$literal$987
	movzx	eax, BYTE PTR [r8+1]
	add	r8, 2
	cmp	BYTE PTR [r10+4], al
	jne	$literal$987
; Line 255
	mov	r11d, 5
$match$984:
; Line 262
	mov	edi, r11d
	add	rdi, r10
; Line 265
	add	ebp, -1					; ffffffffH
; Line 267
	jne	SHORT $LN33@fastlz2_co
; Line 270
	movzx	ecx, BYTE PTR [rdi-1]
; Line 271
	cmp	rdi, r13
	jae	$LN74@fastlz2_co
	npad	1
$LL38@fastlz2_co:
; Line 272
	movzx	eax, BYTE PTR [r8]
	inc	r8
	cmp	al, cl
	jne	$LN74@fastlz2_co
	inc	rdi
	cmp	rdi, r13
	jb	SHORT $LL38@fastlz2_co
; Line 274
	jmp	$LN74@fastlz2_co
$LN33@fastlz2_co:
; Line 278
	movzx	eax, BYTE PTR [rdi]
	inc	rdi
	cmp	BYTE PTR [r8], al
	jne	SHORT $LN74@fastlz2_co
; Line 279
	movzx	eax, BYTE PTR [rdi]
	inc	rdi
	cmp	BYTE PTR [r8+1], al
	jne	SHORT $LN74@fastlz2_co
; Line 280
	movzx	eax, BYTE PTR [rdi]
	inc	rdi
	cmp	BYTE PTR [r8+2], al
	jne	SHORT $LN74@fastlz2_co
; Line 281
	movzx	eax, BYTE PTR [rdi]
	inc	rdi
	cmp	BYTE PTR [r8+3], al
	jne	SHORT $LN74@fastlz2_co
; Line 282
	movzx	eax, BYTE PTR [rdi]
	inc	rdi
	cmp	BYTE PTR [r8+4], al
	jne	SHORT $LN74@fastlz2_co
; Line 283
	movzx	eax, BYTE PTR [rdi]
	inc	rdi
	cmp	BYTE PTR [r8+5], al
	jne	SHORT $LN74@fastlz2_co
; Line 284
	movzx	eax, BYTE PTR [rdi]
	inc	rdi
	cmp	BYTE PTR [r8+6], al
	jne	SHORT $LN74@fastlz2_co
; Line 285
	movzx	ecx, BYTE PTR [r8+7]
	movzx	eax, BYTE PTR [rdi]
	inc	rdi
	add	r8, 8
	cmp	cl, al
	jne	SHORT $LN74@fastlz2_co
; Line 286
	cmp	rdi, r13
	jae	SHORT $LN74@fastlz2_co
	npad	9
$LL23@fastlz2_co:
; Line 287
	movzx	ecx, BYTE PTR [r8]
	movzx	eax, BYTE PTR [rdi]
	inc	rdi
	inc	r8
	cmp	cl, al
	jne	SHORT $LN74@fastlz2_co
; Line 286
	cmp	rdi, r13
	jb	SHORT $LL23@fastlz2_co
$LN74@fastlz2_co:
; Line 292
	test	r14d, r14d
	je	SHORT $LN20@fastlz2_co
; Line 294
	mov	eax, r14d
	mov	rcx, rbx
	lea	edx, DWORD PTR [r14-1]
	sub	rcx, rax
	mov	BYTE PTR [rcx-1], dl
; Line 295
	jmp	SHORT $LN19@fastlz2_co
$LN20@fastlz2_co:
; Line 297
	dec	rbx
$LN19@fastlz2_co:
; Line 303
	sub	rdi, 3
	xor	r14d, r14d
; Line 304
	mov	esi, edi
	sub	esi, r10d
; Line 308
	cmp	ebp, 8191				; 00001fffH
	jae	$LN18@fastlz2_co
; Line 310
	cmp	esi, 7
	jae	SHORT $LN17@fastlz2_co
; Line 312
	shl	sil, 5
	mov	eax, ebp
	shr	eax, 8
	add	al, sil
; Line 313
	add	rbx, 2
	mov	BYTE PTR [rbx-2], al
	mov	BYTE PTR [rbx-1], bpl
; Line 315
	jmp	$LN10@fastlz2_co
$LN17@fastlz2_co:
; Line 317
	mov	eax, ebp
; Line 318
	add	esi, -7					; fffffff9H
	inc	rbx
	shr	eax, 8
	sub	al, 32					; 00000020H
	mov	BYTE PTR [rbx-1], al
	cmp	esi, 255				; 000000ffH
	jb	SHORT $LN13@fastlz2_co
	mov	eax, -2139062143			; 80808081H
	mov	rcx, rbx
	mul	esi
	shr	edx, 7
	mov	r12d, edx
	mov	r8d, edx
	mov	dl, 255					; 000000ffH
	call	memset
	add	rbx, r12
	npad	2
$LL15@fastlz2_co:
	add	esi, -255				; ffffff01H
	sub	r12, 1
	jne	SHORT $LL15@fastlz2_co
	mov	r12, QWORD PTR ip_limit$1$[rsp]
$LN13@fastlz2_co:
; Line 320
	mov	BYTE PTR [rbx], sil
; Line 321
	mov	BYTE PTR [rbx+1], bpl
	add	rbx, 2
; Line 324
	jmp	$LN10@fastlz2_co
$LN18@fastlz2_co:
; Line 327
	cmp	esi, 7
	jae	SHORT $LN11@fastlz2_co
; Line 329
	add	ebp, -8191				; ffffe001H
; Line 330
	shl	sil, 5
	add	sil, 31
; Line 332
	mov	eax, ebp
	mov	BYTE PTR [rbx], sil
	mov	BYTE PTR [rbx+1], 255			; 000000ffH
	shr	eax, 8
	mov	BYTE PTR [rbx+2], al
; Line 333
	mov	BYTE PTR [rbx+3], bpl
	add	rbx, 4
; Line 335
	jmp	SHORT $LN10@fastlz2_co
$LN11@fastlz2_co:
; Line 339
	add	esi, -7					; fffffff9H
	mov	BYTE PTR [rbx], 255			; 000000ffH
	add	ebp, -8191				; ffffe001H
	inc	rbx
	cmp	esi, 255				; 000000ffH
	jb	SHORT $LN7@fastlz2_co
	mov	eax, -2139062143			; 80808081H
	mov	rcx, rbx
	mul	esi
	shr	edx, 7
	mov	r12d, edx
	mov	r8d, edx
	mov	dl, 255					; 000000ffH
	call	memset
	add	rbx, r12
$LL9@fastlz2_co:
	add	esi, -255				; ffffff01H
	sub	r12, 1
	jne	SHORT $LL9@fastlz2_co
	mov	r12, QWORD PTR ip_limit$1$[rsp]
$LN7@fastlz2_co:
; Line 341
	mov	BYTE PTR [rbx], sil
; Line 342
	mov	BYTE PTR [rbx+1], 255			; 000000ffH
; Line 343
	mov	eax, ebp
	shr	eax, 8
; Line 344
	add	rbx, 4
	mov	BYTE PTR [rbx-2], al
	mov	BYTE PTR [rbx-1], bpl
$LN10@fastlz2_co:
; Line 372
	movzx	r8d, BYTE PTR [rdi+1]
	movzx	eax, BYTE PTR [rdi]
; Line 373
	movzx	ecx, BYTE PTR [rdi+2]
	shl	ecx, 8
	mov	edx, r8d
	lea	r9, QWORD PTR [rdi+1]
	shl	edx, 8
	or	rcx, r8
; Line 374
	movzx	r8d, BYTE PTR [r9+1]
	or	edx, eax
	and	ecx, 8191				; 00001fffH
	lea	r10, QWORD PTR [r9+1]
	mov	rax, rdx
	shr	rax, 3
	xor	rax, rdx
	mov	edx, r8d
	and	eax, 8191				; 00001fffH
	shl	edx, 8
	xor	rcx, rax
	movzx	eax, BYTE PTR [r9]
	mov	QWORD PTR htab$[rsp+rcx*8], rdi
; Line 375
	movzx	ecx, BYTE PTR [r9+2]
	or	edx, eax
	shl	ecx, 8
	mov	rax, rdx
; Line 378
	mov	BYTE PTR [rbx], 31
	shr	rax, 3
	or	rcx, r8
	xor	rax, rdx
	and	ecx, 8191				; 00001fffH
	and	eax, 8191				; 00001fffH
	xor	rcx, rax
	inc	rbx
	mov	QWORD PTR htab$[rsp+rcx*8], r9
; Line 380
	jmp	SHORT $LN6@fastlz2_co
$literal$987:
; Line 383
	movzx	eax, BYTE PTR [r10]
; Line 385
	inc	r14d
	inc	rbx
	mov	BYTE PTR [rbx-1], al
	inc	r10
; Line 386
	cmp	r14d, 32				; 00000020H
	jne	SHORT $LN6@fastlz2_co
; Line 388
	xor	r14d, r14d
; Line 389
	mov	BYTE PTR [rbx], 31
	inc	rbx
$LN6@fastlz2_co:
; Line 206
	cmp	r10, r12
	jb	$LL47@fastlz2_co
	mov	rdi, QWORD PTR [rsp+65576]
	mov	rsi, QWORD PTR [rsp+65640]
	mov	rbp, QWORD PTR [rsp+65632]
$LN46@fastlz2_co:
; Line 394
	inc	r13
; Line 395
	cmp	r10, r13
	ja	SHORT $LN4@fastlz2_co
	npad	9
$LL5@fastlz2_co:
; Line 397
	movzx	eax, BYTE PTR [r10]
; Line 398
	inc	r14d
	inc	rbx
	mov	BYTE PTR [rbx-1], al
	inc	r10
; Line 399
	cmp	r14d, 32				; 00000020H
	jne	SHORT $LN3@fastlz2_co
; Line 401
	xor	r14d, r14d
; Line 402
	mov	BYTE PTR [rbx], 31
	inc	rbx
$LN3@fastlz2_co:
; Line 395
	cmp	r10, r13
	jbe	SHORT $LL5@fastlz2_co
$LN4@fastlz2_co:
; Line 407
	test	r14d, r14d
	je	SHORT $LN2@fastlz2_co
; Line 408
	mov	eax, r14d
	mov	rcx, rbx
	lea	edx, DWORD PTR [r14-1]
	sub	rcx, rax
	mov	BYTE PTR [rcx-1], dl
; Line 409
	jmp	SHORT $LN1@fastlz2_co
$LN2@fastlz2_co:
; Line 410
	dec	rbx
$LN1@fastlz2_co:
; Line 414
	or	BYTE PTR [r15], 32			; 00000020H
	mov	r14, QWORD PTR [rsp+65568]
; Line 417
	sub	rbx, r15
	mov	eax, ebx
	mov	rbx, QWORD PTR [rsp+65624]
; Line 418
	add	rsp, 65584				; 00010030H
	pop	r15
	pop	r13
	pop	r12
	ret	0
fastlz2_compress ENDP
_TEXT	ENDS
pdata	SEGMENT
$pdata$fastlz2_decompress DD imagerel fastlz2_decompress
	DD	imagerel fastlz2_decompress+419
	DD	imagerel $unwind$fastlz2_decompress
pdata	ENDS
xdata	SEGMENT
$unwind$fastlz2_decompress DD 0c3701H
	DD	083437H
	DD	0b7419H
	DD	0a6419H
	DD	095419H
	DD	0e0153219H
	DD	0c011d013H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
input$ = 64
length$ = 72
output$ = 80
maxout$ = 88
fastlz2_decompress PROC
; Line 421
	mov	QWORD PTR [rsp+16], rbp
	mov	QWORD PTR [rsp+24], rsi
	mov	QWORD PTR [rsp+32], rdi
	push	r12
	push	r13
	push	r14
	sub	rsp, 32					; 00000020H
; Line 426
	movzx	ebp, BYTE PTR [rcx]
	movsxd	r13, edx
	mov	r14, r8
	add	r13, rcx
	mov	rdi, r8
	lea	rsi, QWORD PTR [rcx+1]
; Line 427
	mov	r12d, 1
	mov	QWORD PTR [rsp+64], rbx
	and	ebp, 31
	npad	6
$LL25@fastlz2_de:
; Line 433
	mov	r9d, ebp
	and	r9d, 31
	shl	r9d, 8
; Line 435
	cmp	ebp, 32					; 00000020H
	jb	$LN22@fastlz2_de
	mov	r8d, ebp
; Line 441
	mov	eax, r9d
	mov	rdx, rdi
	shr	r8d, 5
	sub	rdx, rax
	dec	r8d
; Line 442
	cmp	r8d, 6
	jne	SHORT $LN18@fastlz2_de
	npad	3
$LL20@fastlz2_de:
; Line 449
	movzx	ecx, BYTE PTR [rsi]
	inc	rsi
; Line 450
	add	r8d, ecx
; Line 451
	cmp	cl, 255					; 000000ffH
	je	SHORT $LL20@fastlz2_de
$LN18@fastlz2_de:
; Line 452
	movzx	ecx, BYTE PTR [rsi]
	inc	rsi
; Line 453
	sub	rdx, rcx
; Line 456
	cmp	cl, 255					; 000000ffH
	jne	SHORT $LN16@fastlz2_de
; Line 457
	cmp	r9d, 7936				; 00001f00H
	jne	SHORT $LN16@fastlz2_de
; Line 460
	movzx	eax, BYTE PTR [rsi+1]
	movzx	ecx, BYTE PTR [rsi]
; Line 461
	mov	rdx, rdi
	shl	ecx, 8
	add	rsi, 2
	add	eax, ecx
	sub	rdx, rax
	sub	rdx, 8191				; 00001fffH
$LN16@fastlz2_de:
; Line 473
	cmp	rsi, r13
	jae	SHORT $LN15@fastlz2_de
; Line 474
	movzx	ebp, BYTE PTR [rsi]
	inc	rsi
; Line 475
	jmp	SHORT $LN14@fastlz2_de
$LN15@fastlz2_de:
; Line 476
	xor	r12d, r12d
$LN14@fastlz2_de:
; Line 478
	cmp	rdx, rdi
	jne	SHORT $LN13@fastlz2_de
; Line 481
	movzx	edx, BYTE PTR [rdx-1]
; Line 484
	add	rdi, 3
	mov	BYTE PTR [rdi-3], dl
	mov	BYTE PTR [rdi-2], dl
	mov	BYTE PTR [rdi-1], dl
; Line 485
	test	r8d, r8d
	je	$LN24@fastlz2_de
	mov	rcx, rdi
	mov	ebx, r8d
	call	memset
	add	rdi, rbx
; Line 488
	jmp	$LN24@fastlz2_de
$LN13@fastlz2_de:
; Line 496
	movzx	eax, BYTE PTR [rdx-1]
; Line 498
	add	rdi, 3
	add	rdx, 2
	mov	BYTE PTR [rdi-3], al
	movzx	eax, BYTE PTR [rdx-2]
	mov	BYTE PTR [rdi-2], al
	movzx	eax, BYTE PTR [rdx-1]
	mov	BYTE PTR [rdi-1], al
; Line 522
	test	r8d, r8d
	je	SHORT $LN24@fastlz2_de
	npad	10
$LL8@fastlz2_de:
; Line 523
	movzx	eax, BYTE PTR [rdx]
	inc	rdi
	inc	rdx
	add	r8d, -1					; ffffffffH
	mov	BYTE PTR [rdi-1], al
	jne	SHORT $LL8@fastlz2_de
; Line 527
	jmp	SHORT $LN24@fastlz2_de
$LN22@fastlz2_de:
; Line 537
	movzx	eax, BYTE PTR [rsi]
	inc	rdi
	inc	rsi
	mov	BYTE PTR [rdi-1], al
; Line 538
	test	ebp, ebp
	je	SHORT $LN2@fastlz2_de
	npad	12
$LL4@fastlz2_de:
; Line 539
	movzx	eax, BYTE PTR [rsi]
	inc	rdi
	inc	rsi
	add	ebp, -1					; ffffffffH
	mov	BYTE PTR [rdi-1], al
	jne	SHORT $LL4@fastlz2_de
$LN2@fastlz2_de:
; Line 541
	xor	r12d, r12d
	cmp	rsi, r13
	setb	r12b
; Line 542
	test	r12d, r12d
	je	SHORT $LN36@fastlz2_de
; Line 543
	movzx	ebp, BYTE PTR [rsi]
	inc	rsi
$LN24@fastlz2_de:
; Line 546
	test	r12d, r12d
	jne	$LL25@fastlz2_de
$LN36@fastlz2_de:
	mov	rbx, QWORD PTR [rsp+64]
; Line 549
	mov	rbp, QWORD PTR [rsp+72]
	mov	rsi, QWORD PTR [rsp+80]
	sub	rdi, r14
	mov	eax, edi
	mov	rdi, QWORD PTR [rsp+88]
	add	rsp, 32					; 00000020H
	pop	r14
	pop	r13
	pop	r12
	ret	0
fastlz2_decompress ENDP
_TEXT	ENDS
PUBLIC	fastlz_compress
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
input$ = 8
length$ = 16
output$ = 24
fastlz_compress PROC
; File c:\worktemp\_kaze_kazuya_r17++_lasse-ariya-oberhumer-okumura_(on_osho)_32_bit_64_bit\kazuya17++\kazuya.c
; Line 135
	cmp	edx, 65536				; 00010000H
	jge	SHORT $LN1@fastlz_com
; Line 140
	jmp	fastlz1_compress
$LN1@fastlz_com:
	jmp	fastlz2_compress
fastlz_compress ENDP
_TEXT	ENDS
PUBLIC	fastlz_decompress
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
input$ = 8
length$ = 16
output$ = 24
maxout$ = 32
fastlz_decompress PROC
; Line 145
	movzx	eax, BYTE PTR [rcx]
	shr	eax, 5
	inc	eax
; Line 147
	cmp	eax, 1
	jne	SHORT $LN2@fastlz_dec
; Line 154
	jmp	fastlz1_decompress
$LN2@fastlz_dec:
; Line 149
	cmp	eax, 2
	jne	SHORT $LN1@fastlz_dec
; Line 154
	jmp	fastlz2_decompress
$LN1@fastlz_dec:
; Line 153
	xor	eax, eax
; Line 154
	ret	0
fastlz_decompress ENDP
_TEXT	ENDS
PUBLIC	fastlz_compress_level
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
level$ = 8
input$ = 16
length$ = 24
output$ = 32
fastlz_compress_level PROC
; Line 157
	mov	eax, r8d
	mov	r10, rdx
; Line 158
	cmp	ecx, 1
	jne	SHORT $LN2@fastlz_com@2
; Line 159
	mov	r8, r9
	mov	edx, eax
	mov	rcx, r10
; Line 164
	jmp	fastlz1_compress
$LN2@fastlz_com@2:
; Line 160
	cmp	ecx, 2
	jne	SHORT $LN1@fastlz_com@2
; Line 161
	mov	r8, r9
	mov	edx, eax
	mov	rcx, r10
; Line 164
	jmp	fastlz2_compress
$LN1@fastlz_com@2:
; Line 163
	xor	eax, eax
; Line 164
	ret	0
fastlz_compress_level ENDP
_TEXT	ENDS
EXTRN	_time64:PROC
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
_Time$ = 8
time	PROC
; File c:\program files\microsoft visual studio 9.0\vc\include\time.inl
; Line 136
	jmp	_time64
time	ENDP
_TEXT	ENDS
PUBLIC	memchrKAZE
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
buf$ = 8
chr$ = 16
cnt$ = 24
memchrKAZE PROC
; File c:\worktemp\_kaze_kazuya_r17++_lasse-ariya-oberhumer-okumura_(on_osho)_32_bit_64_bit\kazuya17++\kazuya.c
; Line 713
	test	r8d, r8d
	je	SHORT $LN1@memchrKAZE
	movzx	eax, BYTE PTR [rdx]
$LL2@memchrKAZE:
	cmp	BYTE PTR [rcx], al
	je	SHORT $LN1@memchrKAZE
; Line 714
	inc	rcx
; Line 715
	add	r8d, -1					; ffffffffH
	jne	SHORT $LL2@memchrKAZE
$LN1@memchrKAZE:
; Line 718
	xor	eax, eax
	test	r8d, r8d
	cmovne	rax, rcx
; Line 719
	ret	0
memchrKAZE ENDP
_TEXT	ENDS
PUBLIC	KAZE_strlen
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
str$ = 8
KAZE_strlen PROC
; Line 728
	mov	rax, rcx
$LL2@KAZE_strle:
; Line 730
	movzx	edx, BYTE PTR [rax]
	inc	rax
	test	dl, dl
	jne	SHORT $LL2@KAZE_strle
; Line 732
	sub	rax, rcx
	dec	rax
; Line 733
	ret	0
KAZE_strlen ENDP
_TEXT	ENDS
PUBLIC	KAZE_strlenLF
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
str$ = 8
KAZE_strlenLF PROC
; Line 755
	mov	rax, rcx
$LL2@KAZE_strle@2:
; Line 758
	movzx	edx, BYTE PTR [rax]
	inc	rax
	cmp	dl, 10
	jne	SHORT $LL2@KAZE_strle@2
; Line 760
	sub	rax, rcx
	dec	rax
; Line 761
	ret	0
KAZE_strlenLF ENDP
_TEXT	ENDS
pdata	SEGMENT
$pdata$EnhancedMaskTest_OrEmpty_AndNotEmpty DD imagerel EnhancedMaskTest_OrEmpty_AndNotEmpty
	DD	imagerel EnhancedMaskTest_OrEmpty_AndNotEmpty+441
	DD	imagerel $unwind$EnhancedMaskTest_OrEmpty_AndNotEmpty
pdata	ENDS
xdata	SEGMENT
$unwind$EnhancedMaskTest_OrEmpty_AndNotEmpty DD 051201H
	DD	0700e4212H
	DD	0500c600dH
	DD	0300bH
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
mask$ = 80
tv372 = 88
maskPos$ = 88
name$ = 96
nameLen$1$ = 104
namePos$ = 104
EnhancedMaskTest_OrEmpty_AndNotEmpty PROC
; Line 769
	mov	QWORD PTR [rsp+24], r8
	mov	QWORD PTR [rsp+8], rcx
	push	rbx
	push	rbp
	push	rsi
	push	rdi
	sub	rsp, 40					; 00000028H
; Line 774
	mov	eax, DWORD PTR maskGLOBALlen
	mov	r10, r8
; Line 775
	mov	r8d, DWORD PTR nameGLOBALlen
	movsxd	rdi, r9d
	movsxd	rsi, edx
	mov	r11, rcx
	sub	r8d, edi
	sub	eax, esi
	mov	r9, rsi
	mov	DWORD PTR nameLen$1$[rsp], r8d
; Line 776
	je	$LN42@EnhancedMa
	lea	edx, DWORD PTR [rsi+1]
	lea	rbx, QWORD PTR [rdi+r10]
	lea	rbp, QWORD PTR [rsi+rcx]
	mov	DWORD PTR tv372[rsp], edx
	npad	3
$LL39@EnhancedMa:
; Line 781
	movzx	ecx, BYTE PTR [rbp]
; Line 782
	cmp	cl, 64					; 00000040H
	jne	SHORT $LN21@EnhancedMa
; Line 788
	mov	r9d, edi
	mov	r8, r10
	mov	rcx, r11
	call	EnhancedMaskTest_OrEmpty_AndNotEmpty
	test	ax, ax
	jne	$LN43@EnhancedMa
; Line 790
	cmp	DWORD PTR nameLen$1$[rsp], 0
	je	SHORT $LN23@EnhancedMa
; Line 792
	mov	edx, DWORD PTR tv372[rsp]
	mov	r10, QWORD PTR name$[rsp]
	mov	r11, QWORD PTR mask$[rsp]
	jmp	$LN55@EnhancedMa
$LN21@EnhancedMa:
; Line 794
	cmp	cl, 35					; 00000023H
	jne	SHORT $LN17@EnhancedMa
; Line 800
	test	r8d, r8d
	jne	$LN55@EnhancedMa
$LN23@EnhancedMa:
; Line 780
	xor	eax, eax
; Line 850
	add	rsp, 40					; 00000028H
	pop	rdi
	pop	rsi
	pop	rbp
	pop	rbx
	ret	0
$LN17@EnhancedMa:
; Line 804
	cmp	cl, 37					; 00000025H
	jne	SHORT $LN14@EnhancedMa
; Line 811
	movzx	eax, BYTE PTR [rbx]
; Line 812
	lea	ecx, DWORD PTR [rax-97]
	movsx	eax, al
	lea	r9d, DWORD PTR [rax-32]
	cmp	cl, 25
	jbe	SHORT $LN28@EnhancedMa
	mov	r9d, eax
$LN28@EnhancedMa:
	cmp	r9d, 65					; 00000041H
	jl	SHORT $LN13@EnhancedMa
	cmp	cl, 25
	ja	SHORT $LN29@EnhancedMa
	add	eax, -32				; ffffffffffffffe0H
$LN29@EnhancedMa:
	cmp	eax, 90					; 0000005aH
	jle	SHORT $LN23@EnhancedMa
$LN13@EnhancedMa:
; Line 815
	test	r8d, r8d
	je	SHORT $LN23@EnhancedMa
; Line 817
	jmp	$LN55@EnhancedMa
$LN14@EnhancedMa:
; Line 819
	cmp	cl, 36					; 00000024H
	jne	SHORT $LN10@EnhancedMa
; Line 826
	movzx	eax, BYTE PTR [rbx]
; Line 827
	lea	ecx, DWORD PTR [rax-97]
	movsx	eax, al
	lea	r9d, DWORD PTR [rax-32]
	cmp	cl, 25
	jbe	SHORT $LN32@EnhancedMa
	mov	r9d, eax
$LN32@EnhancedMa:
	cmp	r9d, 65					; 00000041H
	jl	SHORT $LN23@EnhancedMa
	cmp	cl, 25
	ja	SHORT $LN33@EnhancedMa
	add	eax, -32				; ffffffffffffffe0H
$LN33@EnhancedMa:
	cmp	eax, 90					; 0000005aH
	jg	SHORT $LN23@EnhancedMa
; Line 830
	test	r8d, r8d
	je	SHORT $LN23@EnhancedMa
; Line 832
	jmp	SHORT $LN55@EnhancedMa
$LN10@EnhancedMa:
; Line 834
	cmp	cl, 42					; 0000002aH
	jne	SHORT $LN5@EnhancedMa
; Line 836
	mov	r9d, edi
	mov	r8, r10
	mov	rcx, r11
	call	EnhancedMaskTest_OrEmpty_AndNotEmpty
	test	ax, ax
	jne	$LN43@EnhancedMa
; Line 838
	cmp	DWORD PTR nameLen$1$[rsp], 0
	je	$LN23@EnhancedMa
; Line 840
	mov	edx, DWORD PTR tv372[rsp]
	mov	r10, QWORD PTR name$[rsp]
	mov	r11, QWORD PTR mask$[rsp]
	inc	edi
	inc	rbx
	jmp	SHORT $LN53@EnhancedMa
$LN5@EnhancedMa:
; Line 844
	movzx	r9d, BYTE PTR [rbx]
; Line 846
	lea	eax, DWORD PTR [rcx-97]
	movsx	r8d, cl
	cmp	al, 25
	ja	SHORT $LN36@EnhancedMa
	sub	r8d, 32					; 00000020H
$LN36@EnhancedMa:
	lea	eax, DWORD PTR [r9-97]
	cmp	al, 25
	movsx	eax, r9b
	ja	SHORT $LN38@EnhancedMa
	sub	eax, 32					; 00000020H
$LN38@EnhancedMa:
	cmp	r8d, eax
	jne	$LN23@EnhancedMa
$LN55@EnhancedMa:
; Line 848
	inc	edx
	inc	edi
	inc	rbx
	inc	esi
	inc	rbp
	mov	DWORD PTR tv372[rsp], edx
$LN53@EnhancedMa:
	mov	r8d, DWORD PTR nameGLOBALlen
	mov	eax, DWORD PTR maskGLOBALlen
	sub	r8d, edi
	sub	eax, esi
	mov	DWORD PTR nameLen$1$[rsp], r8d
	jne	$LL39@EnhancedMa
$LN42@EnhancedMa:
; Line 777
	test	r8d, r8d
	jne	$LN23@EnhancedMa
$LN43@EnhancedMa:
; Line 778
	mov	eax, 1
; Line 850
	add	rsp, 40					; 00000028H
	pop	rdi
	pop	rsi
	pop	rbp
	pop	rbx
	ret	0
EnhancedMaskTest_OrEmpty_AndNotEmpty ENDP
_TEXT	ENDS
pdata	SEGMENT
$pdata$EnhancedMaskTest_OrEmpty DD imagerel EnhancedMaskTest_OrEmpty
	DD	imagerel EnhancedMaskTest_OrEmpty+325
	DD	imagerel $unwind$EnhancedMaskTest_OrEmpty
pdata	ENDS
xdata	SEGMENT
$unwind$EnhancedMaskTest_OrEmpty DD 061601H
	DD	0d3416H
	DD	070125216H
	DD	050106011H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
tv251 = 32
mask$ = 80
tv252 = 88
maskPos$ = 88
name$ = 96
namePos$ = 104
EnhancedMaskTest_OrEmpty PROC
; Line 858
	mov	QWORD PTR [rsp+32], rbx
	mov	QWORD PTR [rsp+24], r8
	mov	QWORD PTR [rsp+8], rcx
	push	rbp
	push	rsi
	push	rdi
	sub	rsp, 48					; 00000030H
; Line 864
	mov	esi, DWORD PTR nameGLOBALlen
	mov	eax, DWORD PTR maskGLOBALlen
	movsxd	rbx, r9d
	movsxd	rbp, edx
	sub	esi, ebx
	mov	r11, r8
	mov	r9, rbx
	cmp	eax, ebp
; Line 865
	je	$LN22@EnhancedMa@2
	mov	rax, QWORD PTR mask$[rsp]
	lea	rdi, QWORD PTR [rbx+r8]
	lea	r10d, DWORD PTR [rbp+1]
	lea	r8, QWORD PTR [rbp+rax]
	mov	DWORD PTR tv252[rsp], r10d
	mov	QWORD PTR tv251[rsp], r8
$LL19@EnhancedMa@2:
; Line 870
	movzx	ecx, BYTE PTR [r8]
; Line 871
	cmp	cl, 63					; 0000003fH
	jne	SHORT $LN9@EnhancedMa@2
; Line 877
	mov	r9d, ebx
	mov	r8, r11
	mov	edx, r10d
	mov	rcx, rax
	call	EnhancedMaskTest_OrEmpty
	test	ax, ax
	jne	$LN23@EnhancedMa@2
; Line 879
	test	esi, esi
	je	$LN11@EnhancedMa@2
; Line 881
	mov	r10d, DWORD PTR tv252[rsp]
	mov	r8, QWORD PTR tv251[rsp]
	mov	r11, QWORD PTR name$[rsp]
	jmp	SHORT $LN30@EnhancedMa@2
$LN9@EnhancedMa@2:
; Line 883
	cmp	cl, 42					; 0000002aH
	jne	SHORT $LN5@EnhancedMa@2
; Line 885
	mov	r9d, ebx
	mov	r8, r11
	mov	edx, r10d
	mov	rcx, rax
	call	EnhancedMaskTest_OrEmpty
	test	ax, ax
	jne	SHORT $LN23@EnhancedMa@2
; Line 887
	test	esi, esi
	je	$LN11@EnhancedMa@2
; Line 889
	mov	r8, QWORD PTR tv251[rsp]
	mov	r10d, DWORD PTR tv252[rsp]
	mov	r11, QWORD PTR name$[rsp]
	inc	ebx
	inc	rdi
	jmp	SHORT $LN28@EnhancedMa@2
$LN5@EnhancedMa@2:
; Line 893
	movzx	r9d, BYTE PTR [rdi]
; Line 895
	lea	eax, DWORD PTR [rcx-97]
	movsx	edx, cl
	cmp	al, 25
	ja	SHORT $LN16@EnhancedMa@2
	sub	edx, 32					; 00000020H
$LN16@EnhancedMa@2:
	lea	eax, DWORD PTR [r9-97]
	cmp	al, 25
	movsx	eax, r9b
	ja	SHORT $LN18@EnhancedMa@2
	sub	eax, 32					; 00000020H
$LN18@EnhancedMa@2:
	cmp	edx, eax
	jne	SHORT $LN11@EnhancedMa@2
$LN30@EnhancedMa@2:
; Line 897
	inc	r10d
	inc	ebx
	inc	rdi
	inc	ebp
	inc	r8
	mov	DWORD PTR tv252[rsp], r10d
	mov	QWORD PTR tv251[rsp], r8
$LN28@EnhancedMa@2:
	mov	esi, DWORD PTR nameGLOBALlen
	mov	eax, DWORD PTR maskGLOBALlen
	sub	esi, ebx
	cmp	eax, ebp
	je	SHORT $LN22@EnhancedMa@2
; Line 865
	mov	rax, QWORD PTR mask$[rsp]
	jmp	$LL19@EnhancedMa@2
$LN22@EnhancedMa@2:
; Line 866
	test	esi, esi
	jne	SHORT $LN11@EnhancedMa@2
$LN23@EnhancedMa@2:
; Line 867
	mov	eax, 1
; Line 899
	mov	rbx, QWORD PTR [rsp+104]
	add	rsp, 48					; 00000030H
	pop	rdi
	pop	rsi
	pop	rbp
	ret	0
$LN11@EnhancedMa@2:
; Line 869
	xor	eax, eax
; Line 899
	mov	rbx, QWORD PTR [rsp+104]
	add	rsp, 48					; 00000030H
	pop	rdi
	pop	rsi
	pop	rbp
	ret	0
EnhancedMaskTest_OrEmpty ENDP
_TEXT	ENDS
pdata	SEGMENT
$pdata$EnhancedMaskTest_AndNotEmpty DD imagerel EnhancedMaskTest_AndNotEmpty
	DD	imagerel EnhancedMaskTest_AndNotEmpty+294
	DD	imagerel $unwind$EnhancedMaskTest_AndNotEmpty
pdata	ENDS
xdata	SEGMENT
$unwind$EnhancedMaskTest_AndNotEmpty DD 061a01H
	DD	0b341aH
	DD	07016321aH
	DD	050146015H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
mask$ = 64
maskPos$ = 72
name$ = 80
namePos$ = 88
EnhancedMaskTest_AndNotEmpty PROC
; Line 907
	mov	QWORD PTR [rsp+32], rbx
	mov	QWORD PTR [rsp+24], r8
	mov	DWORD PTR [rsp+16], edx
	mov	QWORD PTR [rsp+8], rcx
	push	rbp
	push	rsi
	push	rdi
	sub	rsp, 32					; 00000020H
	movsxd	rdi, r9d
	movsxd	r9, edx
	mov	r11, rcx
	lea	rbp, QWORD PTR [rcx+r9]
	lea	rsi, QWORD PTR [r8+rdi]
	npad	5
$LL26@EnhancedMa@3:
; Line 909
	mov	r10, r11
$LL19@EnhancedMa@3:
	movzx	eax, BYTE PTR [r10]
	inc	r10
	test	al, al
	jne	SHORT $LL19@EnhancedMa@3
	sub	r10d, r11d
; Line 910
	mov	rbx, r8
	sub	r10d, r9d
	dec	r10d
	npad	6
$LL23@EnhancedMa@3:
	movzx	eax, BYTE PTR [rbx]
	inc	rbx
	cmp	al, 10
	jne	SHORT $LL23@EnhancedMa@3
	sub	ebx, r8d
	sub	ebx, edi
	dec	ebx
; Line 911
	test	r10d, r10d
	je	$LN31@EnhancedMa@3
; Line 916
	movzx	ecx, BYTE PTR [rbp]
; Line 917
	cmp	cl, 63					; 0000003fH
	jne	SHORT $LN8@EnhancedMa@3
; Line 923
	test	ebx, ebx
	je	$LN10@EnhancedMa@3
; Line 925
	inc	r9d
	inc	edi
	inc	rsi
	mov	DWORD PTR maskPos$[rsp], r9d
	inc	rbp
	jmp	SHORT $LL26@EnhancedMa@3
$LN8@EnhancedMa@3:
; Line 927
	cmp	cl, 42					; 0000002aH
	jne	SHORT $LN5@EnhancedMa@3
; Line 941
	lea	edx, DWORD PTR [r9+1]
	mov	rcx, r11
	mov	r9d, edi
	call	EnhancedMaskTest_AndNotEmpty
	test	ax, ax
	jne	SHORT $LN33@EnhancedMa@3
; Line 931
	test	ebx, ebx
	je	SHORT $LN10@EnhancedMa@3
; Line 933
	mov	r9d, DWORD PTR maskPos$[rsp]
	mov	r11, QWORD PTR mask$[rsp]
	mov	r8, QWORD PTR name$[rsp]
	inc	edi
	inc	rsi
	jmp	$LL26@EnhancedMa@3
$LN5@EnhancedMa@3:
; Line 937
	movzx	r8d, BYTE PTR [rsi]
; Line 939
	lea	eax, DWORD PTR [rcx-97]
	movsx	edx, cl
	cmp	al, 25
	ja	SHORT $LN15@EnhancedMa@3
	sub	edx, 32					; 00000020H
$LN15@EnhancedMa@3:
	lea	eax, DWORD PTR [r8-97]
	cmp	al, 25
	movsx	eax, r8b
	ja	SHORT $LN17@EnhancedMa@3
	sub	eax, 32					; 00000020H
$LN17@EnhancedMa@3:
	cmp	edx, eax
	jne	SHORT $LN10@EnhancedMa@3
; Line 941
	mov	r8, QWORD PTR name$[rsp]
	inc	r9d
	inc	edi
	inc	rsi
	inc	rbp
	mov	DWORD PTR maskPos$[rsp], r9d
	jmp	$LL26@EnhancedMa@3
$LN31@EnhancedMa@3:
; Line 912
	test	ebx, ebx
	jne	SHORT $LN10@EnhancedMa@3
$LN33@EnhancedMa@3:
; Line 913
	mov	eax, 1
; Line 943
	mov	rbx, QWORD PTR [rsp+88]
	add	rsp, 32					; 00000020H
	pop	rdi
	pop	rsi
	pop	rbp
	ret	0
$LN10@EnhancedMa@3:
; Line 915
	xor	eax, eax
; Line 943
	mov	rbx, QWORD PTR [rsp+88]
	add	rsp, 32					; 00000020H
	pop	rdi
	pop	rsi
	pop	rbp
	ret	0
EnhancedMaskTest_AndNotEmpty ENDP
_TEXT	ENDS
PUBLIC	CompareWildCardWithName
EXTRN	clock:PROC
EXTRN	_fltused:DWORD
pdata	SEGMENT
$pdata$CompareWildCardWithName DD imagerel $LN19
	DD	imagerel $LN19+222
	DD	imagerel $unwind$CompareWildCardWithName
pdata	ENDS
xdata	SEGMENT
$unwind$CompareWildCardWithName DD 060f01H
	DD	07640fH
	DD	06340fH
	DD	0700b320fH
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
mask$ = 48
name$ = 56
orempty$ = 64
CompareWildCardWithName PROC
; Line 945
$LN19:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rsi
	push	rdi
	sub	rsp, 32					; 00000020H
; Line 947
	inc	DWORD PTR VIVA_IgorPavlov_invocations_global_counter
	mov	esi, r8d
	mov	rdi, rdx
	mov	rbx, rcx
; Line 949
	mov	r9, rcx
$LL9@CompareWil:
	movzx	eax, BYTE PTR [r9]
	inc	r9
	test	al, al
	jne	SHORT $LL9@CompareWil
	sub	r9d, ecx
; Line 950
	mov	rcx, rdx
	dec	r9d
	mov	DWORD PTR maskGLOBALlen, r9d
	npad	4
$LL13@CompareWil:
	movzx	eax, BYTE PTR [rcx]
	inc	rcx
	cmp	al, 10
	jne	SHORT $LL13@CompareWil
	sub	ecx, edx
	dec	ecx
; Line 951
	movsxd	rax, ecx
	mov	DWORD PTR nameGLOBALlen, ecx
	add	QWORD PTR clocksGWtxt, rax
; Line 953
	call	clock
; Line 955
	xor	r9d, r9d
	xor	edx, edx
	mov	r8, rdi
	mov	rcx, rbx
	mov	DWORD PTR clocksG1, eax
	cmp	esi, 1
	jne	SHORT $LN5@CompareWil
	call	EnhancedMaskTest_OrEmpty
	jmp	SHORT $LN18@CompareWil
$LN5@CompareWil:
; Line 956
	test	esi, esi
	jne	SHORT $LN3@CompareWil
; Line 957
	call	EnhancedMaskTest_AndNotEmpty
; Line 958
	jmp	SHORT $LN18@CompareWil
$LN3@CompareWil:
; Line 959
	call	EnhancedMaskTest_OrEmpty_AndNotEmpty
$LN18@CompareWil:
	movzx	ebx, ax
; Line 960
	test	ax, ax
	je	SHORT $LN1@CompareWil
	inc	DWORD PTR WildGLOBALhits
$LN1@CompareWil:
; Line 961
	call	clock
	movsdx	xmm1, QWORD PTR clocksGW
; Line 963
	mov	rsi, QWORD PTR [rsp+56]
	mov	DWORD PTR clocksG2, eax
	sub	eax, DWORD PTR clocksG1
	movd	xmm0, eax
	mov	ax, bx
	mov	rbx, QWORD PTR [rsp+48]
	cvtdq2pd xmm0, xmm0
	addsd	xmm1, xmm0
	movsdx	QWORD PTR clocksGW, xmm1
	add	rsp, 32					; 00000020H
	pop	rdi
	ret	0
CompareWildCardWithName ENDP
_TEXT	ENDS
PUBLIC	strcmpKAZE
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
src$ = 8
dst$ = 16
strcmpKAZE PROC
; Line 997
	movzx	r8d, BYTE PTR [rdx]
	movzx	eax, BYTE PTR [rcx]
	sub	eax, r8d
	jne	SHORT $LN4@strcmpKAZE
	npad	4
$LL5@strcmpKAZE:
	test	r8b, r8b
	je	SHORT $LN4@strcmpKAZE
	movzx	r8d, BYTE PTR [rdx+1]
	movzx	eax, BYTE PTR [rcx+1]
; Line 998
	inc	rcx
	inc	rdx
	sub	eax, r8d
	je	SHORT $LL5@strcmpKAZE
$LN4@strcmpKAZE:
; Line 1000
	test	eax, eax
	jns	SHORT $LN3@strcmpKAZE
; Line 1005
	or	eax, -1
; Line 1006
	ret	0
$LN3@strcmpKAZE:
; Line 1002
	mov	ecx, 1
	test	eax, eax
	cmovg	eax, ecx
; Line 1006
	ret	0
strcmpKAZE ENDP
_TEXT	ENDS
PUBLIC	strlenKAZE
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
str$ = 8
strlenKAZE PROC
; Line 1029
	mov	rax, rcx
$LL2@strlenKAZE:
; Line 1031
	movzx	edx, BYTE PTR [rax]
	inc	rax
	test	dl, dl
	jne	SHORT $LL2@strlenKAZE
; Line 1033
	sub	rax, rcx
	dec	rax
; Line 1034
	ret	0
strlenKAZE ENDP
_TEXT	ENDS
PUBLIC	memcmpKAZE
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
buf1$ = 8
buf2$ = 16
count$ = 24
memcmpKAZE PROC
; Line 1065
	test	r8, r8
	jne	SHORT $LN6@memcmpKAZE
; Line 1066
	xor	eax, eax
; Line 1074
	ret	0
$LN6@memcmpKAZE:
; Line 1068
	sub	r8, 1
	je	SHORT $LN1@memcmpKAZE
	npad	2
$LL2@memcmpKAZE:
	movzx	eax, BYTE PTR [rdx]
	cmp	BYTE PTR [rcx], al
	jne	SHORT $LN1@memcmpKAZE
; Line 1069
	inc	rcx
; Line 1070
	inc	rdx
	sub	r8, 1
	jne	SHORT $LL2@memcmpKAZE
$LN1@memcmpKAZE:
; Line 1073
	movzx	eax, BYTE PTR [rcx]
	movzx	ecx, BYTE PTR [rdx]
	sub	eax, ecx
; Line 1074
	ret	0
memcmpKAZE ENDP
_TEXT	ENDS
PUBLIC	memcpyKAZE
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
dst$ = 8
src$ = 16
count$ = 24
memcpyKAZE PROC
; Line 1103
	mov	rax, rcx
; Line 1108
	test	r8, r8
	je	SHORT $LN8@memcpyKAZE
	npad	8
$LL2@memcpyKAZE:
; Line 1109
	movzx	r9d, BYTE PTR [rdx]
; Line 1110
	inc	rcx
; Line 1111
	inc	rdx
	sub	r8, 1
	mov	BYTE PTR [rcx-1], r9b
	jne	SHORT $LL2@memcpyKAZE
$LN8@memcpyKAZE:
; Line 1114
	fatret	0
memcpyKAZE ENDP
_TEXT	ENDS
PUBLIC	memsetKAZE
pdata	SEGMENT
$pdata$memsetKAZE DD imagerel $LN9
	DD	imagerel $LN9+28
	DD	imagerel $unwind$memsetKAZE
pdata	ENDS
xdata	SEGMENT
$unwind$memsetKAZE DD 020601H
	DD	030023206H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
dst$ = 48
val$ = 56
count$ = 64
memsetKAZE PROC
; Line 1140
$LN9:
	push	rbx
	sub	rsp, 32					; 00000020H
	mov	rbx, rcx
; Line 1143
	test	r8, r8
	je	SHORT $LN8@memsetKAZE
; Line 1141
	call	memset
$LN8@memsetKAZE:
; Line 1147
	mov	rax, rbx
; Line 1148
	add	rsp, 32					; 00000020H
	pop	rbx
	ret	0
memsetKAZE ENDP
_TEXT	ENDS
PUBLIC	x64toaKAZE
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
val$ = 8
buf$ = 16
radix$ = 24
is_neg$ = 32
x64toaKAZE PROC
; Line 1156
	mov	r11d, r8d
	mov	r10, rdx
	mov	rax, rcx
; Line 1164
	test	r9d, r9d
	je	SHORT $LN9@x64toaKAZE
; Line 1166
	inc	r10
	mov	BYTE PTR [rdx], 45			; 0000002dH
; Line 1167
	neg	rax
$LN9@x64toaKAZE:
; Line 1170
	mov	r8, r10
; Line 1181
	mov	rcx, r11
	npad	3
$LL8@x64toaKAZE:
	xor	edx, edx
	div	rcx
	cmp	edx, 9
	jbe	SHORT $LN5@x64toaKAZE
; Line 1178
	add	dl, 87					; 00000057H
; Line 1179
	jmp	SHORT $LN14@x64toaKAZE
$LN5@x64toaKAZE:
; Line 1180
	add	dl, 48					; 00000030H
$LN14@x64toaKAZE:
	mov	BYTE PTR [r10], dl
	inc	r10
; Line 1181
	test	rax, rax
	jne	SHORT $LL8@x64toaKAZE
; Line 1186
	mov	BYTE PTR [r10], al
	dec	r10
	npad	13
$LL3@x64toaKAZE:
; Line 1190
	movzx	eax, BYTE PTR [r8]
	movzx	ecx, BYTE PTR [r10]
; Line 1193
	inc	r8
	mov	BYTE PTR [r10], al
	mov	BYTE PTR [r8-1], cl
	dec	r10
; Line 1194
	cmp	r8, r10
	jb	SHORT $LL3@x64toaKAZE
; Line 1195
	fatret	0
x64toaKAZE ENDP
_TEXT	ENDS
PUBLIC	_i64toaKAZE
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
val$ = 8
buf$ = 16
radix$ = 24
_i64toaKAZE PROC
; Line 1205
	mov	r11d, r8d
	mov	r10, rdx
	mov	rax, rcx
; Line 1206
	cmp	r8d, 10
	jne	SHORT $LN3@i64toaKAZE
	test	rcx, rcx
	jns	SHORT $LN3@i64toaKAZE
	lea	ecx, QWORD PTR [r8-9]
	jmp	SHORT $LN4@i64toaKAZE
$LN3@i64toaKAZE:
	xor	ecx, ecx
$LN4@i64toaKAZE:
	mov	r8, rdx
	test	ecx, ecx
	je	SHORT $LN13@i64toaKAZE
	mov	BYTE PTR [rdx], 45			; 0000002dH
	lea	r8, QWORD PTR [rdx+1]
	neg	rax
$LN13@i64toaKAZE:
	mov	r9, r8
	mov	rcx, r11
$LL12@i64toaKAZE:
	xor	edx, edx
	div	rcx
	cmp	edx, 9
	jbe	SHORT $LN9@i64toaKAZE
	add	dl, 87					; 00000057H
	jmp	SHORT $LN18@i64toaKAZE
$LN9@i64toaKAZE:
	add	dl, 48					; 00000030H
$LN18@i64toaKAZE:
	mov	BYTE PTR [r8], dl
	inc	r8
	test	rax, rax
	jne	SHORT $LL12@i64toaKAZE
	mov	BYTE PTR [r8], al
	dec	r8
	npad	10
$LL7@i64toaKAZE:
	movzx	eax, BYTE PTR [r9]
	movzx	ecx, BYTE PTR [r8]
	inc	r9
	mov	BYTE PTR [r8], al
	mov	BYTE PTR [r9-1], cl
	dec	r8
	cmp	r9, r8
	jb	SHORT $LL7@i64toaKAZE
; Line 1207
	mov	rax, r10
; Line 1208
	ret	0
_i64toaKAZE ENDP
_TEXT	ENDS
PUBLIC	_ui64toaKAZE
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
val$ = 8
buf$ = 16
radix$ = 24
_ui64toaKAZE PROC
; Line 1215
	mov	rax, rcx
	mov	r11, rdx
; Line 1216
	mov	r9, rdx
	mov	ecx, r8d
	mov	r10, rdx
	npad	1
$LL10@ui64toaKAZ:
	xor	edx, edx
	div	rcx
	cmp	edx, 9
	jbe	SHORT $LN7@ui64toaKAZ
	add	dl, 87					; 00000057H
	jmp	SHORT $LN16@ui64toaKAZ
$LN7@ui64toaKAZ:
	add	dl, 48					; 00000030H
$LN16@ui64toaKAZ:
	mov	BYTE PTR [r9], dl
	inc	r9
	test	rax, rax
	jne	SHORT $LL10@ui64toaKAZ
	mov	BYTE PTR [r9], al
	dec	r9
	npad	13
$LL5@ui64toaKAZ:
	movzx	eax, BYTE PTR [r10]
	movzx	ecx, BYTE PTR [r9]
	inc	r10
	mov	BYTE PTR [r9], al
	mov	BYTE PTR [r10-1], cl
	dec	r9
	cmp	r10, r9
	jb	SHORT $LL5@ui64toaKAZ
; Line 1217
	mov	rax, r11
; Line 1218
	ret	0
_ui64toaKAZE ENDP
_TEXT	ENDS
PUBLIC	_ui64toaKAZEzerocomma
pdata	SEGMENT
$pdata$_ui64toaKAZEzerocomma DD imagerel $LN31
	DD	imagerel $LN31+203
	DD	imagerel $unwind$_ui64toaKAZEzerocomma
pdata	ENDS
xdata	SEGMENT
$unwind$_ui64toaKAZEzerocomma DD 020501H
	DD	013405H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
val$ = 8
buf$ = 16
radix$ = 24
_ui64toaKAZEzerocomma PROC
; Line 1225
$LN31:
	mov	QWORD PTR [rsp+8], rbx
	mov	rax, rcx
	mov	r11, rdx
; Line 1230
	mov	r9, rdx
	mov	ecx, r8d
	mov	r10, rdx
$LL20@ui64toaKAZ@2:
	xor	edx, edx
	div	rcx
	cmp	edx, 9
	jbe	SHORT $LN17@ui64toaKAZ@2
	add	dl, 87					; 00000057H
	jmp	SHORT $LN28@ui64toaKAZ@2
$LN17@ui64toaKAZ@2:
	add	dl, 48					; 00000030H
$LN28@ui64toaKAZ@2:
	mov	BYTE PTR [r9], dl
	inc	r9
	test	rax, rax
	jne	SHORT $LL20@ui64toaKAZ@2
	mov	BYTE PTR [r9], al
	dec	r9
	npad	9
$LL15@ui64toaKAZ@2:
	movzx	eax, BYTE PTR [r10]
	movzx	ecx, BYTE PTR [r9]
	inc	r10
	mov	BYTE PTR [r9], al
	mov	BYTE PTR [r10-1], cl
	dec	r9
	cmp	r10, r9
	jb	SHORT $LL15@ui64toaKAZ@2
; Line 1231
	mov	r10, r11
	npad	3
$LL10@ui64toaKAZ@2:
; Line 1233
	inc	r10
	cmp	BYTE PTR [r10], 0
	jne	SHORT $LL10@ui64toaKAZ@2
; Line 1234
	dec	r10
; Line 1238
	xor	ebx, ebx
	mov	BYTE PTR [r11+26], 0
	lea	r9d, QWORD PTR [rbx+1]
	lea	r8, QWORD PTR [r11+25]
	npad	5
$LL7@ui64toaKAZ@2:
; Line 1242
	inc	ebx
	cmp	r11, r10
	ja	SHORT $LN4@ui64toaKAZ@2
	movzx	eax, BYTE PTR [r10]
; Line 1243
	dec	r10
	mov	BYTE PTR [r8], al
; Line 1249
	jmp	SHORT $LN30@ui64toaKAZ@2
$LN4@ui64toaKAZ@2:
; Line 1250
	mov	BYTE PTR [r8], 48			; 00000030H
$LN30@ui64toaKAZ@2:
; Line 1251
	mov	eax, 1431655766				; 55555556H
	imul	ebx
	mov	eax, edx
	shr	eax, 31
	add	edx, eax
	lea	ecx, DWORD PTR [rdx+rdx*2]
	cmp	ebx, ecx
	jne	SHORT $LN1@ui64toaKAZ@2
; Line 1252
	inc	r9
	dec	r8
; Line 1253
	mov	BYTE PTR [r8], 44			; 0000002cH
$LN1@ui64toaKAZ@2:
; Line 1256
	inc	r9
	dec	r8
; Line 1257
	cmp	r9, 26
	jle	SHORT $LL7@ui64toaKAZ@2
; Line 1259
	mov	rbx, QWORD PTR [rsp+8]
	mov	rax, r11
	ret	0
_ui64toaKAZEzerocomma ENDP
_TEXT	ENDS
PUBLIC	_ui64toaKAZEcomma
pdata	SEGMENT
$pdata$_ui64toaKAZEcomma DD imagerel $LN26
	DD	imagerel $LN26+207
	DD	imagerel $unwind$_ui64toaKAZEcomma
pdata	ENDS
xdata	SEGMENT
$unwind$_ui64toaKAZEcomma DD 020501H
	DD	013405H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
val$ = 8
buf$ = 16
radix$ = 24
_ui64toaKAZEcomma PROC
; Line 1266
$LN26:
	mov	QWORD PTR [rsp+8], rbx
	mov	rax, rcx
	mov	r11, rdx
; Line 1271
	mov	r9, rdx
	mov	ecx, r8d
	mov	r10, rdx
$LL16@ui64toaKAZ@3:
	xor	edx, edx
	div	rcx
	cmp	edx, 9
	jbe	SHORT $LN13@ui64toaKAZ@3
	add	dl, 87					; 00000057H
	jmp	SHORT $LN25@ui64toaKAZ@3
$LN13@ui64toaKAZ@3:
	add	dl, 48					; 00000030H
$LN25@ui64toaKAZ@3:
	mov	BYTE PTR [r9], dl
	inc	r9
	test	rax, rax
	jne	SHORT $LL16@ui64toaKAZ@3
	mov	BYTE PTR [r9], al
	dec	r9
	npad	9
$LL11@ui64toaKAZ@3:
	movzx	eax, BYTE PTR [r10]
	movzx	ecx, BYTE PTR [r9]
	inc	r10
	mov	BYTE PTR [r9], al
	mov	BYTE PTR [r10-1], cl
	dec	r9
	cmp	r10, r9
	jb	SHORT $LL11@ui64toaKAZ@3
; Line 1272
	mov	r8, r11
	npad	3
$LL6@ui64toaKAZ@3:
; Line 1274
	inc	r8
	cmp	BYTE PTR [r8], 0
	jne	SHORT $LL6@ui64toaKAZ@3
; Line 1279
	xor	ebx, ebx
	dec	r8
	mov	BYTE PTR [r11+26], 0
	lea	r10d, QWORD PTR [rbx+1]
; Line 1280
	cmp	r11, r8
	ja	SHORT $LN2@ui64toaKAZ@3
; Line 1275
	lea	r9, QWORD PTR [r11+25]
$LL3@ui64toaKAZ@3:
; Line 1282
	movzx	eax, BYTE PTR [r8]
	inc	ebx
; Line 1283
	dec	r8
	mov	BYTE PTR [r9], al
; Line 1284
	mov	eax, 1431655766				; 55555556H
	imul	ebx
	mov	eax, edx
	shr	eax, 31
	add	edx, eax
	lea	ecx, DWORD PTR [rdx+rdx*2]
	cmp	ebx, ecx
	jne	SHORT $LN1@ui64toaKAZ@3
	cmp	r11, r8
	ja	SHORT $LN1@ui64toaKAZ@3
; Line 1285
	inc	r10d
	dec	r9
; Line 1286
	mov	BYTE PTR [r9], 44			; 0000002cH
$LN1@ui64toaKAZ@3:
; Line 1288
	inc	r10d
	dec	r9
	cmp	r8, r11
	jae	SHORT $LL3@ui64toaKAZ@3
$LN2@ui64toaKAZ@3:
; Line 1291
	mov	rbx, QWORD PTR [rsp+8]
	lea	eax, DWORD PTR [r10-1]
	movsxd	rcx, eax
	sub	r11, rcx
	lea	rax, QWORD PTR [r11+26]
	ret	0
_ui64toaKAZEcomma ENDP
_TEXT	ENDS
PUBLIC	Brute_Force
pdata	SEGMENT
$pdata$Brute_Force DD imagerel $LN15
	DD	imagerel $LN15+112
	DD	imagerel $unwind$Brute_Force
pdata	ENDS
xdata	SEGMENT
$unwind$Brute_Force DD 040a01H
	DD	02740aH
	DD	013405H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
y$ = 8
x$ = 16
n$ = 24
m$ = 32
Brute_Force PROC
; Line 1306
$LN15:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rdi
	movsxd	rdi, r9d
	mov	ebx, r8d
; Line 1310
	xor	r8d, r8d
	sub	ebx, edi
	mov	r9, rdx
	mov	r10, rcx
	js	SHORT $LN4@Brute_Forc
	npad	3
$LL6@Brute_Forc:
; Line 1311
	xor	edx, edx
	xor	ecx, ecx
; Line 1312
	test	edi, edi
	jle	SHORT $LN14@Brute_Forc
	npad	8
$LL3@Brute_Forc:
	movzx	eax, BYTE PTR [rcx+r9]
	cmp	BYTE PTR [r10+rcx], al
	jne	SHORT $LN14@Brute_Forc
	inc	rcx
	inc	edx
	cmp	rcx, rdi
	jl	SHORT $LL3@Brute_Forc
$LN14@Brute_Forc:
; Line 1313
	cmp	edx, edi
	jge	SHORT $LN11@Brute_Forc
	inc	r8d
	inc	r10
	cmp	r8d, ebx
	jle	SHORT $LL6@Brute_Forc
$LN4@Brute_Forc:
; Line 1315
	or	eax, -1
; Line 1316
	mov	rbx, QWORD PTR [rsp+8]
	mov	rdi, QWORD PTR [rsp+16]
	ret	0
$LN11@Brute_Forc:
	mov	rbx, QWORD PTR [rsp+8]
	mov	rdi, QWORD PTR [rsp+16]
	mov	eax, r8d
	ret	0
Brute_Force ENDP
_TEXT	ENDS
PUBLIC	Quick_Boyer_Moore
pdata	SEGMENT
$pdata$Quick_Boyer_Moore DD imagerel $LN29
	DD	imagerel $LN29+216
	DD	imagerel $unwind$Quick_Boyer_Moore
pdata	ENDS
xdata	SEGMENT
$unwind$Quick_Boyer_Moore DD 091701H
	DD	0856417H
	DD	0835417H
	DD	0823417H
	DD	0800117H
	DD	07010H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
qs_bc$ = 0
y$ = 1040
x$ = 1048
n$ = 1056
m$ = 1064
Quick_Boyer_Moore PROC
; Line 1320
$LN29:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rbp
	mov	QWORD PTR [rsp+32], rsi
	push	rdi
	sub	rsp, 1024				; 00000400H
	mov	rbx, rcx
; Line 1326
	xor	r10d, r10d
	lea	eax, DWORD PTR [r9+1]
	lea	rdi, QWORD PTR qs_bc$[rsp]
	mov	ecx, 256				; 00000100H
	cdqe
	rep stosd
	mov	ebp, r8d
	mov	rsi, rdx
	mov	rcx, r10
	movsxd	r11, r9d
	test	r9d, r9d
	jle	SHORT $LN4@Quick_Boye
	mov	edx, r9d
	npad	14
$LL6@Quick_Boye:
	movsx	rax, BYTE PTR [rcx+rsi]
	inc	rcx
	mov	DWORD PTR qs_bc$[rsp+rax*4], edx
	dec	edx
	cmp	rcx, r11
	jl	SHORT $LL6@Quick_Boye
$LN4@Quick_Boye:
; Line 1330
	sub	ebp, r9d
	js	SHORT $LN2@Quick_Boye
	npad	9
$LL3@Quick_Boye:
; Line 1331
	movsxd	r8, r10d
	mov	rdi, r11
	mov	rdx, rsi
	lea	rcx, QWORD PTR [r8+rbx]
	test	r9d, r9d
	je	SHORT $LN21@Quick_Boye
	sub	rdi, 1
	je	SHORT $LN28@Quick_Boye
$LL13@Quick_Boye:
	movzx	eax, BYTE PTR [rdx]
	cmp	BYTE PTR [rcx], al
	jne	SHORT $LN28@Quick_Boye
	inc	rcx
	inc	rdx
	sub	rdi, 1
	jne	SHORT $LL13@Quick_Boye
$LN28@Quick_Boye:
	movzx	ecx, BYTE PTR [rcx]
	movzx	eax, BYTE PTR [rdx]
	sub	ecx, eax
	je	SHORT $LN21@Quick_Boye
; Line 1332
	lea	rax, QWORD PTR [r11+r8]
	movsx	rcx, BYTE PTR [rax+rbx]
	add	r10d, DWORD PTR qs_bc$[rsp+rcx*4]
	cmp	r10d, ebp
	jle	SHORT $LL3@Quick_Boye
$LN2@Quick_Boye:
; Line 1334
	or	eax, -1
$LN10@Quick_Boye:
; Line 1335
	lea	r11, QWORD PTR [rsp+1024]
	mov	rbx, QWORD PTR [r11+16]
	mov	rbp, QWORD PTR [r11+24]
	mov	rsi, QWORD PTR [r11+40]
	mov	rsp, r11
	pop	rdi
	ret	0
$LN21@Quick_Boye:
; Line 1331
	mov	eax, r10d
	jmp	SHORT $LN10@Quick_Boye
Quick_Boyer_Moore ENDP
_TEXT	ENDS
PUBLIC	SMITH_Boyer_Moore
pdata	SEGMENT
$pdata$SMITH_Boyer_Moore DD imagerel $LN31
	DD	imagerel $LN31+264
	DD	imagerel $unwind$SMITH_Boyer_Moore
pdata	ENDS
xdata	SEGMENT
$unwind$SMITH_Boyer_Moore DD 071201H
	DD	01036412H
	DD	01023412H
	DD	01000112H
	DD	0700bH
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
qs_bc$ = 0
bm_bc$ = 1024
y$ = 2064
x$ = 2072
n$ = 2080
m$ = 2088
SMITH_Boyer_Moore PROC
; Line 1340
$LN31:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rsi
	push	rdi
	sub	rsp, 2048				; 00000800H
	mov	r11, rcx
	lea	eax, DWORD PTR [r9+1]
; Line 1347
	lea	rdi, QWORD PTR qs_bc$[rsp]
	cdqe
	mov	ecx, 256				; 00000100H
	mov	esi, r8d
	rep stosd
	movsxd	rax, r9d
	lea	rdi, QWORD PTR bm_bc$[rsp]
	mov	ecx, 256				; 00000100H
	mov	rbx, rdx
	rep stosd
; Line 1349
	lea	eax, DWORD PTR [r9-1]
	test	eax, eax
	jle	SHORT $LN4@SMITH_Boye
	mov	edi, r9d
	mov	r8d, eax
	npad	4
$LL6@SMITH_Boye:
; Line 1350
	movsx	rcx, BYTE PTR [rdx]
	lea	eax, DWORD PTR [rdi-1]
	inc	rdx
	sub	r8, 1
; Line 1351
	mov	DWORD PTR qs_bc$[rsp+rcx*4], edi
	mov	edi, eax
	mov	DWORD PTR bm_bc$[rsp+rcx*4], eax
	jne	SHORT $LL6@SMITH_Boye
$LN4@SMITH_Boye:
; Line 1353
	movsxd	r10, r9d
; Line 1356
	xor	r8d, r8d
; Line 1357
	sub	esi, r9d
	movsx	rax, BYTE PTR [r10+rbx-1]
	mov	DWORD PTR qs_bc$[rsp+rax*4], 1
	js	SHORT $LN2@SMITH_Boye
	npad	12
$LL3@SMITH_Boye:
; Line 1358
	movsxd	r9, r8d
	mov	rdi, r10
	mov	rdx, rbx
	lea	rcx, QWORD PTR [r9+r11]
	test	r10, r10
	je	SHORT $LN23@SMITH_Boye
	sub	rdi, 1
	je	SHORT $LN30@SMITH_Boye
$LL15@SMITH_Boye:
	movzx	eax, BYTE PTR [rdx]
	cmp	BYTE PTR [rcx], al
	jne	SHORT $LN30@SMITH_Boye
	inc	rcx
	inc	rdx
	sub	rdi, 1
	jne	SHORT $LL15@SMITH_Boye
$LN30@SMITH_Boye:
	movzx	ecx, BYTE PTR [rcx]
	movzx	eax, BYTE PTR [rdx]
	sub	ecx, eax
	je	SHORT $LN23@SMITH_Boye
; Line 1359
	lea	rcx, QWORD PTR [r10+r9]
	movsx	rax, BYTE PTR [rcx+r11-1]
	mov	edx, DWORD PTR bm_bc$[rsp+rax*4]
	movsx	rax, BYTE PTR [rcx+r11]
	mov	ecx, DWORD PTR qs_bc$[rsp+rax*4]
	cmp	edx, ecx
	cmovg	ecx, edx
	add	r8d, ecx
	cmp	r8d, esi
	jle	SHORT $LL3@SMITH_Boye
$LN2@SMITH_Boye:
; Line 1361
	or	eax, -1
$LN10@SMITH_Boye:
; Line 1362
	lea	r11, QWORD PTR [rsp+2048]
	mov	rbx, QWORD PTR [r11+16]
	mov	rsi, QWORD PTR [r11+24]
	mov	rsp, r11
	pop	rdi
	ret	0
$LN23@SMITH_Boye:
; Line 1358
	mov	eax, r8d
	jmp	SHORT $LN10@SMITH_Boye
SMITH_Boyer_Moore ENDP
_TEXT	ENDS
PUBLIC	KarpRabinKazeHits
pdata	SEGMENT
$pdata$KarpRabinKazeHits DD imagerel $LN24
	DD	imagerel $LN24+215
	DD	imagerel $unwind$KarpRabinKazeHits
pdata	ENDS
xdata	SEGMENT
$unwind$KarpRabinKazeHits DD 073701H
	DD	036437H
	DD	025432H
	DD	053406H
	DD	07006H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
pbTarget$ = 16
pbPattern$ = 24
cbTarget$ = 32
cbPattern$ = 40
KarpRabinKazeHits PROC
; Line 1381
$LN24:
	mov	QWORD PTR [rsp+32], rbx
	push	rdi
; Line 1393
	inc	DWORD PTR KarpRabinKazeHits_invocations_global_counter
	mov	ebx, r8d
	mov	edi, r9d
	xor	r11d, r11d
	add	rbx, rcx
	mov	r10, rcx
	lea	rax, QWORD PTR [rdi+rdx]
; Line 1395
	cmp	r9d, r8d
	jbe	SHORT $LN16@KarpRabinK
; Line 1396
	xor	eax, eax
; Line 1478
	mov	rbx, QWORD PTR [rsp+40]
	pop	rdi
	ret	0
$LN16@KarpRabinK:
	mov	QWORD PTR [rsp+16], rbp
	mov	QWORD PTR [rsp+24], rsi
; Line 1402
	cmp	rdx, rax
	jae	SHORT $LN6@KarpRabinK
	sub	rax, rdx
	add	rdx, rax
	add	r10, rax
$LN6@KarpRabinK:
; Line 1423
	movsx	eax, BYTE PTR [rdx-1]
	mov	rbp, rdx
; Line 1424
	mov	r9, r10
	sub	rbp, rdi
	sub	r9, rdi
	movsx	esi, BYTE PTR [rbp]
	movsx	ecx, BYTE PTR [r9]
	shl	esi, 8
	shl	ecx, 8
	add	esi, eax
	movsx	eax, BYTE PTR [r10-1]
	add	ecx, eax
	npad	4
$LL4@KarpRabinK:
; Line 1429
	cmp	esi, ecx
	jne	SHORT $LN2@KarpRabinK
	mov	r8, rdi
	mov	rdx, r9
	mov	rcx, rbp
	test	rdi, rdi
	je	SHORT $LN22@KarpRabinK
	sub	r8, 1
	je	SHORT $LN23@KarpRabinK
$LL11@KarpRabinK:
	movzx	eax, BYTE PTR [rdx]
	cmp	BYTE PTR [rcx], al
	jne	SHORT $LN23@KarpRabinK
	inc	rcx
	inc	rdx
	sub	r8, 1
	jne	SHORT $LL11@KarpRabinK
$LN23@KarpRabinK:
	movzx	ecx, BYTE PTR [rcx]
	movzx	eax, BYTE PTR [rdx]
	sub	ecx, eax
	jne	SHORT $LN2@KarpRabinK
$LN22@KarpRabinK:
; Line 1442
	inc	r11d
$LN2@KarpRabinK:
; Line 1445
	cmp	r10, rbx
	je	SHORT $LN19@KarpRabinK
; Line 1468
	movsx	ecx, BYTE PTR [r9+1]
	movsx	eax, BYTE PTR [r10]
; Line 1476
	inc	r10
	shl	ecx, 8
	add	ecx, eax
	inc	r9
; Line 1477
	jmp	SHORT $LL4@KarpRabinK
$LN19@KarpRabinK:
	mov	rsi, QWORD PTR [rsp+24]
	mov	rbp, QWORD PTR [rsp+16]
; Line 1478
	mov	rbx, QWORD PTR [rsp+40]
	mov	eax, r11d
	pop	rdi
	ret	0
KarpRabinKazeHits ENDP
_TEXT	ENDS
PUBLIC	KarpRabinKaze
pdata	SEGMENT
$pdata$KarpRabinKaze DD imagerel $LN27
	DD	imagerel $LN27+28
	DD	imagerel $unwind$KarpRabinKaze
$pdata$1$KarpRabinKaze DD imagerel $LN27+28
	DD	imagerel $LN27+194
	DD	imagerel $chain$1$KarpRabinKaze
$pdata$3$KarpRabinKaze DD imagerel $LN27+194
	DD	imagerel $LN27+209
	DD	imagerel $chain$3$KarpRabinKaze
pdata	ENDS
xdata	SEGMENT
$unwind$KarpRabinKaze DD 010201H
	DD	03002H
$chain$1$KarpRabinKaze DD 040a21H
	DD	03740aH
	DD	026405H
	DD	imagerel $LN27
	DD	imagerel $LN27+28
	DD	imagerel $unwind$KarpRabinKaze
$chain$3$KarpRabinKaze DD 040021H
	DD	037400H
	DD	026400H
	DD	imagerel $LN27
	DD	imagerel $LN27+28
	DD	imagerel $unwind$KarpRabinKaze
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
pbTarget$ = 16
pbPattern$ = 24
cbTarget$ = 32
cbPattern$ = 40
KarpRabinKaze PROC
; Line 1484
$LN27:
	push	rbx
; Line 1486
	mov	ebx, r8d
; Line 1487
	mov	r11d, r9d
	mov	r10, rcx
	add	rbx, rcx
	lea	rax, QWORD PTR [r11+rdx]
; Line 1496
	cmp	r9d, r8d
	jbe	SHORT $LN16@KarpRabinK@2
; Line 1497
	or	eax, -1
; Line 1579
	pop	rbx
	ret	0
$LN16@KarpRabinK@2:
	mov	QWORD PTR [rsp+16], rsi
	mov	QWORD PTR [rsp+24], rdi
; Line 1503
	cmp	rdx, rax
	jae	SHORT $LN6@KarpRabinK@2
	sub	rax, rdx
	add	rdx, rax
	add	r10, rax
$LN6@KarpRabinK@2:
; Line 1524
	movsx	eax, BYTE PTR [rdx-1]
	mov	rsi, rdx
; Line 1525
	mov	r9, r10
	sub	rsi, r11
	sub	r9, r11
	movsx	edi, BYTE PTR [rsi]
	movsx	ecx, BYTE PTR [r9]
	shl	edi, 8
	shl	ecx, 8
	add	edi, eax
	movsx	eax, BYTE PTR [r10-1]
	add	ecx, eax
	npad	6
$LL4@KarpRabinK@2:
; Line 1530
	cmp	edi, ecx
	jne	SHORT $LN2@KarpRabinK@2
	mov	r8, r11
	mov	rdx, r9
	mov	rcx, rsi
	test	r11, r11
	je	SHORT $LN23@KarpRabinK@2
	sub	r8, 1
	je	SHORT $LN24@KarpRabinK@2
$LL11@KarpRabinK@2:
	movzx	eax, BYTE PTR [rdx]
	cmp	BYTE PTR [rcx], al
	jne	SHORT $LN24@KarpRabinK@2
	inc	rcx
	inc	rdx
	sub	r8, 1
	jne	SHORT $LL11@KarpRabinK@2
$LN24@KarpRabinK@2:
	movzx	ecx, BYTE PTR [rcx]
	movzx	eax, BYTE PTR [rdx]
	sub	ecx, eax
	je	SHORT $LN23@KarpRabinK@2
$LN2@KarpRabinK@2:
; Line 1546
	cmp	r10, rbx
	je	SHORT $LN20@KarpRabinK@2
; Line 1569
	movsx	ecx, BYTE PTR [r9+1]
	movsx	eax, BYTE PTR [r10]
; Line 1577
	inc	r10
	shl	ecx, 8
	add	ecx, eax
	inc	r9
; Line 1578
	jmp	SHORT $LL4@KarpRabinK@2
$LN23@KarpRabinK@2:
	mov	rsi, QWORD PTR [rsp+16]
	mov	rdi, QWORD PTR [rsp+24]
; Line 1543
	sub	r10, r11
	mov	eax, r10d
; Line 1579
	pop	rbx
	ret	0
$LN20@KarpRabinK@2:
	mov	rsi, QWORD PTR [rsp+16]
	mov	rdi, QWORD PTR [rsp+24]
; Line 1547
	or	eax, -1
; Line 1579
	pop	rbx
	ret	0
KarpRabinKaze ENDP
_TEXT	ENDS
PUBLIC	Karp_Rabin
pdata	SEGMENT
$pdata$Karp_Rabin DD imagerel $LN29
	DD	imagerel $LN29+237
	DD	imagerel $unwind$Karp_Rabin
pdata	ENDS
xdata	SEGMENT
$unwind$Karp_Rabin DD 0a1601H
	DD	086416H
	DD	065416H
	DD	053416H
	DD	0d014e016H
	DD	07010c012H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
y$ = 40
x$ = 48
n$ = 56
m$ = 64
Karp_Rabin PROC
; Line 1585
$LN29:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rbp
	mov	QWORD PTR [rsp+32], rsi
	push	rdi
	push	r12
	push	r13
	push	r14
	movsxd	r11, r9d
; Line 1591
	mov	ebx, 1
	mov	r13d, r8d
	cmp	r11d, ebx
	mov	r14, rdx
	mov	rsi, rcx
	jle	SHORT $LN7@Karp_Rabin
	lea	r10d, DWORD PTR [r11-1]
$LL9@Karp_Rabin:
; Line 1592
	add	ebx, ebx
	sub	r10, 1
	jne	SHORT $LL9@Karp_Rabin
$LN7@Karp_Rabin:
; Line 1594
	xor	r10d, r10d
	mov	r12d, r10d
	mov	r9d, r10d
	test	r11d, r11d
	jle	SHORT $LN4@Karp_Rabin
	sub	rdx, rsi
	mov	r8, r11
	npad	4
$LL6@Karp_Rabin:
; Line 1595
	movsx	eax, BYTE PTR [rdx+rcx]
	inc	rcx
	sub	r8, 1
	lea	r12d, DWORD PTR [rax+r12*2]
; Line 1596
	movsx	eax, BYTE PTR [rcx-1]
	lea	r9d, DWORD PTR [rax+r9*2]
	jne	SHORT $LL6@Karp_Rabin
$LN4@Karp_Rabin:
; Line 1601
	sub	r13d, r11d
	mov	rdi, r10
	js	SHORT $LN2@Karp_Rabin
$LL3@Karp_Rabin:
; Line 1602
	cmp	r12d, r9d
	jne	SHORT $LN1@Karp_Rabin
	movsxd	rdx, r10d
	mov	r8, r11
	mov	rcx, r14
	add	rdx, rsi
	test	r11d, r11d
	je	SHORT $LN21@Karp_Rabin
	sub	r8, 1
	je	SHORT $LN28@Karp_Rabin
	npad	3
$LL13@Karp_Rabin:
	movzx	eax, BYTE PTR [rdx]
	cmp	BYTE PTR [rcx], al
	jne	SHORT $LN28@Karp_Rabin
	inc	rcx
	inc	rdx
	sub	r8, 1
	jne	SHORT $LL13@Karp_Rabin
$LN28@Karp_Rabin:
	movzx	ecx, BYTE PTR [rcx]
	movzx	eax, BYTE PTR [rdx]
	sub	ecx, eax
	je	SHORT $LN21@Karp_Rabin
$LN1@Karp_Rabin:
; Line 1603
	movsx	eax, BYTE PTR [rdi+rsi]
; Line 1604
	inc	r10d
	imul	eax, ebx
	sub	r9d, eax
	lea	rax, QWORD PTR [rdi+r11]
	inc	rdi
	cmp	r10d, r13d
	movsx	ecx, BYTE PTR [rax+rsi]
	lea	r9d, DWORD PTR [rcx+r9*2]
	jle	SHORT $LL3@Karp_Rabin
$LN2@Karp_Rabin:
; Line 1606
	or	eax, -1
$LN10@Karp_Rabin:
; Line 1607
	mov	rbx, QWORD PTR [rsp+40]
	mov	rbp, QWORD PTR [rsp+48]
	mov	rsi, QWORD PTR [rsp+64]
	pop	r14
	pop	r13
	pop	r12
	pop	rdi
	ret	0
$LN21@Karp_Rabin:
; Line 1602
	mov	eax, r10d
	jmp	SHORT $LN10@Karp_Rabin
Karp_Rabin ENDP
_TEXT	ENDS
PUBLIC	Karp_Rabinhits
pdata	SEGMENT
$pdata$Karp_Rabinhits DD imagerel $LN28
	DD	imagerel $LN28+234
	DD	imagerel $unwind$Karp_Rabinhits
pdata	ENDS
xdata	SEGMENT
$unwind$Karp_Rabinhits DD 0a1601H
	DD	086416H
	DD	065416H
	DD	053416H
	DD	0d014e016H
	DD	07010c012H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
y$ = 40
x$ = 48
n$ = 56
m$ = 64
Karp_Rabinhits PROC
; Line 1609
$LN28:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rbp
	mov	QWORD PTR [rsp+32], rsi
	push	rdi
	push	r12
	push	r13
	push	r14
	movsxd	r11, r9d
; Line 1616
	mov	esi, 1
	xor	ebx, ebx
	cmp	r11d, esi
	mov	edi, r8d
	mov	r14, rdx
	mov	rbp, rcx
	jle	SHORT $LN7@Karp_Rabin@2
; Line 1611
	lea	r10d, DWORD PTR [r11-1]
$LL9@Karp_Rabin@2:
; Line 1617
	add	esi, esi
	sub	r10, 1
	jne	SHORT $LL9@Karp_Rabin@2
$LN7@Karp_Rabin@2:
; Line 1619
	mov	r12d, ebx
	mov	r9d, ebx
	mov	r13, r11
	test	r11d, r11d
	jle	SHORT $LN4@Karp_Rabin@2
	sub	rdx, rbp
	mov	r8, r11
	npad	2
$LL6@Karp_Rabin@2:
; Line 1620
	movsx	eax, BYTE PTR [rdx+rcx]
	inc	rcx
	sub	r8, 1
	lea	r12d, DWORD PTR [rax+r12*2]
; Line 1621
	movsx	eax, BYTE PTR [rcx-1]
	lea	r9d, DWORD PTR [rax+r9*2]
	jne	SHORT $LL6@Karp_Rabin@2
$LN4@Karp_Rabin@2:
; Line 1626
	sub	edi, r11d
	js	SHORT $LN26@Karp_Rabin@2
	add	r11, rbp
	mov	r10, rbp
	inc	edi
$LL3@Karp_Rabin@2:
; Line 1628
	cmp	r12d, r9d
	jne	SHORT $LN1@Karp_Rabin@2
	mov	r8, r13
	mov	rdx, r10
	mov	rcx, r14
	test	r13, r13
	je	SHORT $LN25@Karp_Rabin@2
	sub	r8, 1
	je	SHORT $LN27@Karp_Rabin@2
	npad	1
$LL13@Karp_Rabin@2:
	movzx	eax, BYTE PTR [rdx]
	cmp	BYTE PTR [rcx], al
	jne	SHORT $LN27@Karp_Rabin@2
	inc	rcx
	inc	rdx
	sub	r8, 1
	jne	SHORT $LL13@Karp_Rabin@2
$LN27@Karp_Rabin@2:
	movzx	ecx, BYTE PTR [rcx]
	movzx	eax, BYTE PTR [rdx]
	sub	ecx, eax
	jne	SHORT $LN1@Karp_Rabin@2
$LN25@Karp_Rabin@2:
	inc	ebx
$LN1@Karp_Rabin@2:
; Line 1629
	movsx	ecx, BYTE PTR [rbp]
; Line 1630
	inc	r10
	inc	rbp
	inc	r11
	imul	ecx, esi
	sub	r9d, ecx
	sub	rdi, 1
	movsx	ecx, BYTE PTR [r11-1]
	lea	r9d, DWORD PTR [rcx+r9*2]
	jne	SHORT $LL3@Karp_Rabin@2
$LN26@Karp_Rabin@2:
; Line 1633
	mov	rbp, QWORD PTR [rsp+48]
	mov	rsi, QWORD PTR [rsp+64]
	mov	eax, ebx
	mov	rbx, QWORD PTR [rsp+40]
	pop	r14
	pop	r13
	pop	r12
	pop	rdi
	ret	0
Karp_Rabinhits ENDP
_TEXT	ENDS
PUBLIC	HORSPOOL
pdata	SEGMENT
$pdata$HORSPOOL DD imagerel $LN30
	DD	imagerel $LN30+223
	DD	imagerel $unwind$HORSPOOL
pdata	ENDS
xdata	SEGMENT
$unwind$HORSPOOL DD 091501H
	DD	0855415H
	DD	0843415H
	DD	0800115H
	DD	0700cc00eH
	DD	0600bH
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
bm_bc$ = 0
y$ = 1056
x$ = 1064
n$ = 1072
m$ = 1080
HORSPOOL PROC
; Line 1639
$LN30:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rbp
	push	rsi
	push	rdi
	push	r12
	sub	rsp, 1024				; 00000400H
	mov	r11, rcx
; Line 1646
	lea	ebp, DWORD PTR [r9-1]
	lea	rdi, QWORD PTR bm_bc$[rsp]
	movsxd	rax, r9d
	mov	ecx, 256				; 00000100H
	mov	ebx, r8d
	mov	r12, rdx
	rep stosd
	test	ebp, ebp
	jle	SHORT $LN5@HORSPOOL
	mov	rcx, rdx
	mov	edi, ebp
	mov	edx, ebp
	npad	5
$LL7@HORSPOOL:
	movsx	rax, BYTE PTR [rcx]
	inc	rcx
	mov	DWORD PTR bm_bc$[rsp+rax*4], edx
	dec	edx
	sub	rdi, 1
	jne	SHORT $LL7@HORSPOOL
$LN5@HORSPOOL:
; Line 1649
	movsxd	r10, r9d
; Line 1650
	xor	r8d, r8d
; Line 1651
	sub	ebx, r9d
	movzx	esi, BYTE PTR [r10+r12-1]
	js	SHORT $LN3@HORSPOOL
	npad	13
$LL4@HORSPOOL:
; Line 1652
	movsxd	rcx, r8d
	lea	rax, QWORD PTR [rcx+r10]
	movzx	r9d, BYTE PTR [rax+r11-1]
; Line 1653
	cmp	r9b, sil
	jne	SHORT $LN1@HORSPOOL
; Line 1655
	add	rcx, r11
	movsxd	rdi, ebp
	mov	rdx, r12
	test	ebp, ebp
	je	SHORT $LN22@HORSPOOL
	sub	rdi, 1
	je	SHORT $LN29@HORSPOOL
$LL14@HORSPOOL:
	movzx	eax, BYTE PTR [rdx]
	cmp	BYTE PTR [rcx], al
	jne	SHORT $LN29@HORSPOOL
	inc	rcx
	inc	rdx
	sub	rdi, 1
	jne	SHORT $LL14@HORSPOOL
$LN29@HORSPOOL:
	movzx	ecx, BYTE PTR [rcx]
	movzx	eax, BYTE PTR [rdx]
	sub	ecx, eax
	je	SHORT $LN22@HORSPOOL
$LN1@HORSPOOL:
; Line 1656
	movzx	eax, r9b
	add	r8d, DWORD PTR bm_bc$[rsp+rax*4]
	cmp	r8d, ebx
	jle	SHORT $LL4@HORSPOOL
$LN3@HORSPOOL:
; Line 1658
	or	eax, -1
$LN11@HORSPOOL:
; Line 1659
	lea	r11, QWORD PTR [rsp+1024]
	mov	rbx, QWORD PTR [r11+32]
	mov	rbp, QWORD PTR [r11+40]
	mov	rsp, r11
	pop	r12
	pop	rdi
	pop	rsi
	ret	0
$LN22@HORSPOOL:
; Line 1655
	mov	eax, r8d
	jmp	SHORT $LN11@HORSPOOL
HORSPOOL ENDP
_TEXT	ENDS
PUBLIC	HORSPOOLhits
pdata	SEGMENT
$pdata$HORSPOOLhits DD imagerel $LN29
	DD	imagerel $LN29+243
	DD	imagerel $unwind$HORSPOOLhits
pdata	ENDS
xdata	SEGMENT
$unwind$HORSPOOLhits DD 0b1b01H
	DD	087641bH
	DD	085541bH
	DD	084341bH
	DD	080011bH
	DD	0c012d014H
	DD	07010H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
bm_bc$ = 0
y$ = 1056
x$ = 1064
n$ = 1072
m$ = 1080
HORSPOOLhits PROC
; Line 1665
$LN29:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rbp
	mov	QWORD PTR [rsp+32], rsi
	push	rdi
	push	r12
	push	r13
	sub	rsp, 1024				; 00000400H
; Line 1671
	inc	DWORD PTR HORSPOOLhits_invocations_global_counter
	mov	r11, rcx
; Line 1675
	lea	r12d, DWORD PTR [r9-1]
	lea	rdi, QWORD PTR bm_bc$[rsp]
	movsxd	rax, r9d
	mov	ecx, 256				; 00000100H
	xor	r10d, r10d
	mov	ebp, r8d
	mov	r13, rdx
	rep stosd
	test	r12d, r12d
	jle	SHORT $LN5@HORSPOOLhi
	mov	ecx, r12d
	mov	edi, r12d
	npad	6
$LL7@HORSPOOLhi:
	movsx	rax, BYTE PTR [rdx]
	inc	rdx
	mov	DWORD PTR bm_bc$[rsp+rax*4], ecx
	dec	ecx
	sub	rdi, 1
	jne	SHORT $LL7@HORSPOOLhi
$LN5@HORSPOOLhi:
; Line 1680
	sub	ebp, r9d
	movsxd	rbx, r9d
	mov	r8d, r10d
	movzx	esi, BYTE PTR [rbx+r13-1]
	js	SHORT $LN27@HORSPOOLhi
	npad	13
$LL4@HORSPOOLhi:
; Line 1681
	movsxd	rdx, r8d
	lea	rax, QWORD PTR [rdx+rbx]
	movzx	r9d, BYTE PTR [rax+r11-1]
; Line 1682
	cmp	r9b, sil
	jne	SHORT $LN1@HORSPOOLhi
; Line 1685
	add	rdx, r11
	movsxd	rdi, r12d
	mov	rcx, r13
	test	r12d, r12d
	je	SHORT $LN26@HORSPOOLhi
	sub	rdi, 1
	je	SHORT $LN28@HORSPOOLhi
$LL14@HORSPOOLhi:
	movzx	eax, BYTE PTR [rcx]
	cmp	BYTE PTR [rdx], al
	jne	SHORT $LN28@HORSPOOLhi
	inc	rdx
	inc	rcx
	sub	rdi, 1
	jne	SHORT $LL14@HORSPOOLhi
$LN28@HORSPOOLhi:
	movzx	edx, BYTE PTR [rdx]
	movzx	ecx, BYTE PTR [rcx]
	sub	edx, ecx
	jne	SHORT $LN1@HORSPOOLhi
$LN26@HORSPOOLhi:
	inc	r10d
$LN1@HORSPOOLhi:
; Line 1686
	movzx	ecx, r9b
	add	r8d, DWORD PTR bm_bc$[rsp+rcx*4]
	cmp	r8d, ebp
	jle	SHORT $LL4@HORSPOOLhi
$LN27@HORSPOOLhi:
; Line 1689
	lea	r11, QWORD PTR [rsp+1024]
	mov	eax, r10d
	mov	rbx, QWORD PTR [r11+32]
	mov	rbp, QWORD PTR [r11+40]
	mov	rsi, QWORD PTR [r11+56]
	mov	rsp, r11
	pop	r13
	pop	r12
	pop	rdi
	ret	0
HORSPOOLhits ENDP
_TEXT	ENDS
PUBLIC	HORSPOOLallLINES
EXTRN	fwrite:PROC
pdata	SEGMENT
$pdata$HORSPOOLallLINES DD imagerel $LN85
	DD	imagerel $LN85+142
	DD	imagerel $unwind$HORSPOOLallLINES
$pdata$2$HORSPOOLallLINES DD imagerel $LN85+142
	DD	imagerel $LN85+810
	DD	imagerel $chain$2$HORSPOOLallLINES
$pdata$3$HORSPOOLallLINES DD imagerel $LN85+810
	DD	imagerel $LN85+829
	DD	imagerel $chain$3$HORSPOOLallLINES
pdata	ENDS
xdata	SEGMENT
$unwind$HORSPOOLallLINES DD 071001H
	DD	08a0110H
	DD	0e007f009H
	DD	07003d005H
	DD	03002H
$chain$2$HORSPOOLallLINES DD 061821H
	DD	088c418H
	DD	0896410H
	DD	0905408H
	DD	imagerel $LN85
	DD	imagerel $LN85+142
	DD	imagerel $unwind$HORSPOOLallLINES
$chain$3$HORSPOOLallLINES DD 021H
	DD	imagerel $LN85
	DD	imagerel $LN85+142
	DD	imagerel $unwind$HORSPOOLallLINES
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
$T9108 = 32
$T9109 = 36
tv704 = 48
x$1$ = 56
bm_bc$ = 64
y$ = 1152
TAGfree$ = 1160
x$ = 1160
lastch$1$ = 1168
n$ = 1168
ch$1$ = 1176
m$ = 1176
fp_outLOG$ = 1184
NestedP1$ = 1192
NestedP1len$ = 1200
NestedP2$ = 1208
NestedP2len$ = 1216
NestedP3$ = 1224
NestedP3len$ = 1232
INIHDDRAM$ = 1240
HORSPOOLallLINES PROC
; Line 1699
$LN85:
	push	rbx
	push	rdi
	push	r13
	push	r14
	push	r15
	sub	rsp, 1104				; 00000450H
; Line 1703
	movzx	ebx, WORD PTR $SG6160
	mov	r13, rcx
; Line 1710
	lea	rdi, QWORD PTR bm_bc$[rsp]
	movsxd	rax, r9d
	mov	ecx, 256				; 00000100H
	xor	r15d, r15d
	rep stosd
; Line 1711
	lea	edi, DWORD PTR [r9-1]
	mov	r10d, r8d
	mov	r11, rdx
	mov	QWORD PTR x$1$[rsp], rdx
	mov	WORD PTR TAGfree$[rsp], bx
	mov	DWORD PTR $T9109[rsp], edi
	test	edi, edi
	jle	SHORT $LN22@HORSPOOLal
	mov	rcx, rdx
	mov	edx, edi
$LL24@HORSPOOLal:
	movsx	rax, BYTE PTR [rcx]
	inc	rcx
	mov	DWORD PTR bm_bc$[rsp+rax*4], edx
	dec	edx
	sub	rdi, 1
	jne	SHORT $LL24@HORSPOOLal
	lea	edi, DWORD PTR [r9-1]
$LN22@HORSPOOLal:
; Line 1714
	movsxd	rax, r9d
; Line 1715
	xor	r14d, r14d
; Line 1716
	sub	r10d, r9d
	movzx	r8d, BYTE PTR [rax+r11-1]
	mov	QWORD PTR tv704[rsp], rax
	mov	DWORD PTR $T9108[rsp], r10d
	mov	BYTE PTR lastch$1$[rsp], r8b
	js	$LN70@HORSPOOLal
	mov	QWORD PTR [rsp+1152], rbp
	mov	QWORD PTR [rsp+1096], rsi
	mov	QWORD PTR [rsp+1088], r12
	npad	10
$LL21@HORSPOOLal:
; Line 1717
	movsxd	rdx, r14d
	add	rax, rdx
	movzx	r10d, BYTE PTR [rax+r13-1]
	mov	BYTE PTR ch$1$[rsp], r10b
; Line 1718
	cmp	r10b, r8b
	jne	$LN1@HORSPOOLal
; Line 1720
	movsxd	r8, edi
	lea	r9, QWORD PTR [rdx+r13]
	mov	rdi, r11
	mov	rcx, r9
	test	r8, r8
	je	SHORT $LN67@HORSPOOLal
	sub	r8, 1
	je	SHORT $LN71@HORSPOOLal
$LL31@HORSPOOLal:
	movzx	eax, BYTE PTR [rdi]
	cmp	BYTE PTR [rcx], al
	jne	SHORT $LN71@HORSPOOLal
	inc	rcx
	inc	rdi
	sub	r8, 1
	jne	SHORT $LL31@HORSPOOLal
$LN71@HORSPOOLal:
	movzx	ecx, BYTE PTR [rcx]
	movzx	eax, BYTE PTR [rdi]
	sub	ecx, eax
	jne	$LN80@HORSPOOLal
$LN67@HORSPOOLal:
; Line 1727
	cmp	BYTE PTR [r9], 10
	mov	esi, r14d
	mov	r12d, r14d
	je	SHORT $LL15@HORSPOOLal
; Line 1726
	lea	rax, QWORD PTR [rdx+r13]
	npad	10
$LL17@HORSPOOLal:
; Line 1727
	inc	rax
	inc	r12d
	cmp	BYTE PTR [rax], 10
	jne	SHORT $LL17@HORSPOOLal
	npad	5
$LL15@HORSPOOLal:
; Line 1728
	test	rdx, rdx
	je	SHORT $LN14@HORSPOOLal
	dec	rdx
	dec	esi
	cmp	BYTE PTR [rdx+r13], 10
	jne	SHORT $LL15@HORSPOOLal
$LN14@HORSPOOLal:
; Line 1729
	test	esi, esi
	je	SHORT $LN13@HORSPOOLal
	inc	esi
$LN13@HORSPOOLal:
; Line 1733
	mov	r9d, DWORD PTR NestedP1len$[rsp]
	test	r9d, r9d
	je	SHORT $LN68@HORSPOOLal
; Line 1734
	mov	rdx, QWORD PTR NestedP1$[rsp]
	mov	edi, r12d
	movsxd	rbp, esi
	sub	edi, esi
	add	rbp, r13
	mov	r8d, edi
	mov	rcx, rbp
	call	HORSPOOL
	cmp	eax, -1
	je	$LN79@HORSPOOLal
; Line 1738
	mov	r9d, DWORD PTR NestedP2len$[rsp]
	test	r9d, r9d
	je	SHORT $LN68@HORSPOOLal
; Line 1739
	mov	rdx, QWORD PTR NestedP2$[rsp]
	mov	r8d, edi
	mov	rcx, rbp
	call	HORSPOOL
	cmp	eax, -1
	je	$LN78@HORSPOOLal
; Line 1743
	mov	r9d, DWORD PTR NestedP3len$[rsp]
	test	r9d, r9d
	je	SHORT $LN68@HORSPOOLal
; Line 1744
	mov	rdx, QWORD PTR NestedP3$[rsp]
	mov	r8d, edi
	mov	rcx, rbp
	call	HORSPOOL
	cmp	eax, -1
	je	$LN77@HORSPOOLal
$LN68@HORSPOOLal:
; Line 1754
	movzx	edi, BYTE PTR $SG6194
	mov	r8, QWORD PTR INIHDDRAM$[rsp]
	lea	r9, OFFSET FLAT:$SG6194
	movzx	ecx, BYTE PTR [r8]
	mov	rdx, r9
	mov	eax, edi
	sub	ecx, edi
	jne	SHORT $LN72@HORSPOOLal
	mov	al, dil
	mov	rdi, r8
	sub	rdi, r9
	npad	7
$LL39@HORSPOOLal:
	test	al, al
	je	SHORT $LN72@HORSPOOLal
	movzx	eax, BYTE PTR [rdx+1]
	movzx	ecx, BYTE PTR [rdi+rdx+1]
	inc	rdx
	sub	ecx, eax
	je	SHORT $LL39@HORSPOOLal
$LN72@HORSPOOLal:
	test	ecx, ecx
	js	SHORT $LN69@HORSPOOLal
	test	ecx, ecx
	jg	SHORT $LN69@HORSPOOLal
	test	ecx, ecx
	jne	SHORT $LN69@HORSPOOLal
; Line 1759
	mov	r8b, BYTE PTR lastch$1$[rsp]
	inc	r15d
	jmp	$LN1@HORSPOOLal
$LN69@HORSPOOLal:
; Line 1755
	movsxd	rdi, esi
	sub	r12d, esi
	lea	rdi, QWORD PTR [rdi+r13]
	mov	edx, r12d
	mov	rcx, rdi
	je	SHORT $LN73@HORSPOOLal
$LL43@HORSPOOLal:
	cmp	BYTE PTR [rcx], bl
	je	SHORT $LN73@HORSPOOLal
	inc	rcx
	add	edx, -1					; ffffffffH
	jne	SHORT $LL43@HORSPOOLal
$LN73@HORSPOOLal:
	xor	eax, eax
	test	edx, edx
	cmovne	rax, rcx
	test	rax, rax
	jne	SHORT $LN76@HORSPOOLal
	mov	ecx, r12d
	mov	rdx, rdi
	test	r12d, r12d
	je	SHORT $LN74@HORSPOOLal
	movzx	eax, BYTE PTR TAGfree$[rsp+1]
	npad	2
$LL47@HORSPOOLal:
	cmp	BYTE PTR [rdx], al
	je	SHORT $LN74@HORSPOOLal
	inc	rdx
	add	ecx, -1					; ffffffffH
	jne	SHORT $LL47@HORSPOOLal
$LN74@HORSPOOLal:
	xor	eax, eax
	test	ecx, ecx
	cmovne	rax, rdx
	test	rax, rax
	jne	SHORT $LN75@HORSPOOLal
; Line 1757
	mov	r9, QWORD PTR fp_outLOG$[rsp]
	lea	edx, DWORD PTR [r12+1]
	lea	r8d, QWORD PTR [rax+1]
	movsxd	rdx, edx
	mov	rcx, rdi
	inc	r15d
	call	fwrite
; Line 1758
	mov	r8b, BYTE PTR lastch$1$[rsp]
	jmp	SHORT $LN1@HORSPOOLal
$LN75@HORSPOOLal:
; Line 1714
	mov	r8b, BYTE PTR lastch$1$[rsp]
	jmp	SHORT $LN1@HORSPOOLal
$LN76@HORSPOOLal:
	mov	r8b, BYTE PTR lastch$1$[rsp]
	jmp	SHORT $LN1@HORSPOOLal
$LN77@HORSPOOLal:
	mov	r8b, BYTE PTR lastch$1$[rsp]
	jmp	SHORT $LN1@HORSPOOLal
$LN78@HORSPOOLal:
	mov	r8b, BYTE PTR lastch$1$[rsp]
	jmp	SHORT $LN1@HORSPOOLal
$LN79@HORSPOOLal:
	mov	r8b, BYTE PTR lastch$1$[rsp]
	jmp	SHORT $LN1@HORSPOOLal
$LN80@HORSPOOLal:
	mov	r8b, BYTE PTR lastch$1$[rsp]
$LN1@HORSPOOLal:
; Line 1767
	movzx	ecx, BYTE PTR ch$1$[rsp]
	mov	edi, DWORD PTR $T9109[rsp]
	mov	r11, QWORD PTR x$1$[rsp]
	add	r14d, DWORD PTR bm_bc$[rsp+rcx*4]
	mov	rax, QWORD PTR tv704[rsp]
	cmp	r14d, DWORD PTR $T9108[rsp]
	jle	$LL21@HORSPOOLal
	mov	r12, QWORD PTR [rsp+1088]
	mov	rsi, QWORD PTR [rsp+1096]
	mov	rbp, QWORD PTR [rsp+1152]
$LN70@HORSPOOLal:
; Line 1769
	mov	eax, r15d
; Line 1770
	add	rsp, 1104				; 00000450H
	pop	r15
	pop	r14
	pop	r13
	pop	rdi
	pop	rbx
	ret	0
HORSPOOLallLINES ENDP
_TEXT	ENDS
PUBLIC	Search_Algorithm
pdata	SEGMENT
$pdata$Search_Algorithm DD imagerel $LN27
	DD	imagerel $LN27+262
	DD	imagerel $unwind$Search_Algorithm
pdata	ENDS
xdata	SEGMENT
$unwind$Search_Algorithm DD 040a01H
	DD	06340aH
	DD	07006320aH
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
y$ = 48
x$ = 56
n$ = 64
m$ = 72
Search_Algorithm PROC
; Line 1777
$LN27:
	mov	QWORD PTR [rsp+8], rbx
	push	rdi
	sub	rsp, 32					; 00000020H
; Line 1779
	mov	eax, DWORD PTR SearchAlgorithm
	inc	DWORD PTR SearchAlgorithm_invocations_global_counter
	movsxd	rdi, r9d
	mov	ebx, r8d
	mov	r11, rdx
	mov	r10, rcx
	cmp	eax, 1
	je	$LN8@Search_Alg
	cmp	eax, 11
	je	$LN8@Search_Alg
	cmp	eax, 111				; 0000006fH
	je	$LN8@Search_Alg
; Line 1780
	cmp	eax, 2
	je	SHORT $LN6@Search_Alg
	cmp	eax, 22
	je	SHORT $LN6@Search_Alg
	cmp	eax, 222				; 000000deH
	je	SHORT $LN6@Search_Alg
; Line 1781
	cmp	eax, 3
	je	SHORT $LN4@Search_Alg
	cmp	eax, 33					; 00000021H
	je	SHORT $LN4@Search_Alg
	cmp	eax, 333				; 0000014dH
	je	SHORT $LN4@Search_Alg
; Line 1782
	cmp	eax, 4
	je	SHORT $LN2@Search_Alg
	cmp	eax, 44					; 0000002cH
	je	SHORT $LN2@Search_Alg
	cmp	eax, 444				; 000001bcH
	je	SHORT $LN2@Search_Alg
; Line 1783
	mov	r9d, edi
	cmp	eax, 5
	je	SHORT $LN26@Search_Alg
; Line 1786
	mov	rbx, QWORD PTR [rsp+48]
	add	rsp, 32					; 00000020H
	pop	rdi
	jmp	HORSPOOL
$LN2@Search_Alg:
; Line 1782
	mov	r9d, edi
$LN26@Search_Alg:
; Line 1786
	mov	rbx, QWORD PTR [rsp+48]
	add	rsp, 32					; 00000020H
	pop	rdi
	jmp	KarpRabinKaze
$LN4@Search_Alg:
; Line 1781
	mov	r9d, edi
; Line 1786
	mov	rbx, QWORD PTR [rsp+48]
	add	rsp, 32					; 00000020H
	pop	rdi
	jmp	SMITH_Boyer_Moore
$LN6@Search_Alg:
; Line 1780
	mov	r9d, edi
; Line 1786
	mov	rbx, QWORD PTR [rsp+48]
	add	rsp, 32					; 00000020H
	pop	rdi
	jmp	Quick_Boyer_Moore
$LN8@Search_Alg:
; Line 1779
	xor	r8d, r8d
	sub	ebx, edi
	js	SHORT $LN15@Search_Alg
$LL17@Search_Alg:
	xor	edx, edx
	xor	ecx, ecx
	test	r9d, r9d
	jle	SHORT $LN25@Search_Alg
	npad	3
$LL14@Search_Alg:
	movzx	eax, BYTE PTR [rcx+r11]
	cmp	BYTE PTR [r10+rcx], al
	jne	SHORT $LN25@Search_Alg
	inc	rcx
	inc	edx
	cmp	rcx, rdi
	jl	SHORT $LL14@Search_Alg
$LN25@Search_Alg:
	cmp	edx, edi
	jge	SHORT $LN18@Search_Alg
	inc	r8d
	inc	r10
	cmp	r8d, ebx
	jle	SHORT $LL17@Search_Alg
$LN15@Search_Alg:
	or	r8d, -1
$LN18@Search_Alg:
	mov	eax, r8d
; Line 1786
	mov	rbx, QWORD PTR [rsp+48]
	add	rsp, 32					; 00000020H
	pop	rdi
	ret	0
Search_Algorithm ENDP
_TEXT	ENDS
PUBLIC	__$ArrayPad$
PUBLIC	IgorPavlov
EXTRN	__GSHandlerCheck:PROC
EXTRN	putchar:PROC
EXTRN	printf:PROC
EXTRN	__security_cookie:QWORD
EXTRN	__security_check_cookie:PROC
_BSS	SEGMENT
	ALIGN	4

?hitsSTATIC@?1??IgorPavlov@@9@9 DD 01H DUP (?)		; `IgorPavlov'::`2'::hitsSTATIC
_BSS	ENDS
pdata	SEGMENT
$pdata$IgorPavlov DD imagerel $LN132
	DD	imagerel $LN132+1579
	DD	imagerel $unwind$IgorPavlov
pdata	ENDS
xdata	SEGMENT
$unwind$IgorPavlov DD 0a2619H
	DD	01b3417H
	DD	0f010f217H
	DD	0d00ce00eH
	DD	07008c00aH
	DD	050066007H
	DD	imagerel __GSHandlerCheck
	DD	078H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
hits$1$ = 32
TAGfree$ = 36
NestedP1$GSCopy$1$ = 40
NestedP2$GSCopy$1$ = 48
x$GSCopy$1$ = 56
tv677 = 64
NestedP3$GSCopy$1$ = 72
fp_outLOG$GSCopy$1$ = 80
llTOaDigits$ = 88
__$ArrayPad$ = 120
y$ = 192
x$ = 200
n$ = 208
m$ = 216
fp_outLOG$ = 224
NestedP1$ = 232
NestedP1len$ = 240
NestedP2$ = 248
NestedP2len$ = 256
NestedP3$ = 264
NestedP3len$ = 272
INIHDDRAM$ = 280
Bastumante2$ = 288
IgorPavlov PROC
; Line 1798
$LN132:
	mov	QWORD PTR [rsp+32], rbx
	push	rbp
	push	rsi
	push	rdi
	push	r12
	push	r13
	push	r14
	push	r15
	sub	rsp, 128				; 00000080H
	mov	rax, QWORD PTR __security_cookie
	xor	rax, rsp
	mov	QWORD PTR __$ArrayPad$[rsp], rax
	mov	rax, QWORD PTR fp_outLOG$[rsp]
	mov	r10, QWORD PTR NestedP1$[rsp]
; Line 1802
	movzx	ebx, WORD PTR $SG6234
; Line 1809
	mov	r12d, DWORD PTR NestedP3len$[rsp]
	mov	edi, DWORD PTR NestedP2len$[rsp]
	mov	QWORD PTR fp_outLOG$GSCopy$1$[rsp], rax
	mov	rax, QWORD PTR NestedP2$[rsp]
	mov	r14, rcx
	xor	ecx, ecx
	mov	QWORD PTR NestedP2$GSCopy$1$[rsp], rax
	mov	rax, QWORD PTR NestedP3$[rsp]
	xor	esi, esi
	xor	r15d, r15d
	cmp	DWORD PTR SearchAlgorithm, 5
	mov	r13, rdx
	mov	QWORD PTR x$GSCopy$1$[rsp], rdx
	mov	edx, DWORD PTR NestedP1len$[rsp]
	mov	QWORD PTR NestedP3$GSCopy$1$[rsp], rax
	movsxd	rbp, r8d
	mov	QWORD PTR NestedP1$GSCopy$1$[rsp], r10
	mov	WORD PTR TAGfree$[rsp], bx
	mov	DWORD PTR hits$1$[rsp], ecx
	je	$LN31@IgorPavlov
; Line 1811
	test	edx, edx
	je	$LN33@IgorPavlov
; Line 1815
	call	clock
; Line 1816
	mov	r9d, DWORD PTR NestedP1len$[rsp]
	mov	rdx, QWORD PTR NestedP1$GSCopy$1$[rsp]
	mov	r8d, ebp
	mov	rcx, r14
	mov	DWORD PTR clocksG1, eax
	call	HORSPOOLhits
	add	DWORD PTR HorspoolGLOBALhits, eax
; Line 1817
	call	clock
	add	QWORD PTR clocksGHtxt, rbp
	movsdx	xmm1, QWORD PTR clocksGH
	mov	DWORD PTR clocksG2, eax
	sub	eax, DWORD PTR clocksG1
	movd	xmm0, eax
	cvtdq2pd xmm0, xmm0
	addsd	xmm1, xmm0
	movsdx	QWORD PTR clocksGH, xmm1
; Line 1818
	call	clock
; Line 1819
	mov	r9d, DWORD PTR NestedP1len$[rsp]
	mov	rdx, QWORD PTR NestedP1$GSCopy$1$[rsp]
	mov	r8d, ebp
	mov	rcx, r14
	mov	DWORD PTR clocksG1, eax
	call	KarpRabinKazeHits
	add	DWORD PTR FRKFindSubpbGLOBALHITS, eax
; Line 1820
	call	clock
	movsdx	xmm1, QWORD PTR clocksGK
	mov	DWORD PTR clocksG2, eax
	sub	eax, DWORD PTR clocksG1
	add	QWORD PTR clocksGKtxt, rbp
	movd	xmm0, eax
	cvtdq2pd xmm0, xmm0
	addsd	xmm1, xmm0
	movsdx	QWORD PTR clocksGK, xmm1
$LN33@IgorPavlov:
; Line 1822
	test	edi, edi
	je	$LN32@IgorPavlov
; Line 1826
	call	clock
; Line 1827
	mov	rdx, QWORD PTR NestedP2$GSCopy$1$[rsp]
	mov	r9d, edi
	mov	r8d, ebp
	mov	rcx, r14
	mov	DWORD PTR clocksG1, eax
	call	HORSPOOLhits
	add	DWORD PTR HorspoolGLOBALhits, eax
; Line 1828
	call	clock
	add	QWORD PTR clocksGHtxt, rbp
	movsdx	xmm1, QWORD PTR clocksGH
	mov	DWORD PTR clocksG2, eax
	sub	eax, DWORD PTR clocksG1
	movd	xmm0, eax
	cvtdq2pd xmm0, xmm0
	addsd	xmm1, xmm0
	movsdx	QWORD PTR clocksGH, xmm1
; Line 1829
	call	clock
; Line 1830
	mov	r9d, DWORD PTR NestedP2len$[rsp]
	mov	rdx, QWORD PTR NestedP2$GSCopy$1$[rsp]
	mov	r8d, ebp
	mov	rcx, r14
	mov	DWORD PTR clocksG1, eax
	call	KarpRabinKazeHits
	add	DWORD PTR FRKFindSubpbGLOBALHITS, eax
; Line 1831
	call	clock
	movsdx	xmm1, QWORD PTR clocksGK
	mov	DWORD PTR clocksG2, eax
	sub	eax, DWORD PTR clocksG1
	add	QWORD PTR clocksGKtxt, rbp
	movd	xmm0, eax
	cvtdq2pd xmm0, xmm0
	addsd	xmm1, xmm0
	movsdx	QWORD PTR clocksGK, xmm1
$LN32@IgorPavlov:
; Line 1833
	test	r12d, r12d
	je	$LN122@IgorPavlov
; Line 1837
	call	clock
; Line 1838
	mov	rdx, QWORD PTR NestedP3$GSCopy$1$[rsp]
	mov	r9d, r12d
	mov	r8d, ebp
	mov	rcx, r14
	mov	DWORD PTR clocksG1, eax
	call	HORSPOOLhits
	add	DWORD PTR HorspoolGLOBALhits, eax
; Line 1839
	call	clock
	add	QWORD PTR clocksGHtxt, rbp
	movsdx	xmm1, QWORD PTR clocksGH
	mov	DWORD PTR clocksG2, eax
	sub	eax, DWORD PTR clocksG1
	movd	xmm0, eax
	cvtdq2pd xmm0, xmm0
	addsd	xmm1, xmm0
	movsdx	QWORD PTR clocksGH, xmm1
; Line 1840
	call	clock
; Line 1841
	mov	rdx, QWORD PTR NestedP3$GSCopy$1$[rsp]
	mov	r9d, r12d
	mov	r8d, ebp
	mov	rcx, r14
	mov	DWORD PTR clocksG1, eax
	call	KarpRabinKazeHits
	add	DWORD PTR FRKFindSubpbGLOBALHITS, eax
; Line 1842
	call	clock
	movsdx	xmm1, QWORD PTR clocksGK
	mov	DWORD PTR clocksG2, eax
	sub	eax, DWORD PTR clocksG1
	add	QWORD PTR clocksGKtxt, rbp
	movd	xmm0, eax
	cvtdq2pd xmm0, xmm0
	addsd	xmm1, xmm0
	movsdx	QWORD PTR clocksGK, xmm1
$LN122@IgorPavlov:
; Line 1905
	mov	r10, QWORD PTR NestedP1$GSCopy$1$[rsp]
	mov	edx, DWORD PTR NestedP1len$[rsp]
	mov	ecx, esi
$LN31@IgorPavlov:
; Line 1846
	test	ebp, ebp
	jne	SHORT $LN68@IgorPavlov
	xor	eax, eax
	jmp	$LN28@IgorPavlov
$LN68@IgorPavlov:
; Line 1806
	xor	r12d, r12d
	xor	eax, eax
	dec	ebp
	mov	DWORD PTR tv677[rsp], ebp
	lea	r11, OFFSET FLAT:$SG6278
$LL29@IgorPavlov:
; Line 1850
	cmp	BYTE PTR [r12+r14], 10
	je	SHORT $LL25@IgorPavlov
	npad	4
$LL27@IgorPavlov:
	inc	r12
	inc	r15d
	cmp	BYTE PTR [r12+r14], 10
	jne	SHORT $LL27@IgorPavlov
	npad	3
$LL25@IgorPavlov:
; Line 1851
	test	rax, rax
	je	SHORT $LN24@IgorPavlov
	dec	rax
	dec	esi
	cmp	BYTE PTR [rax+r14], 10
	jne	SHORT $LL25@IgorPavlov
$LN24@IgorPavlov:
; Line 1852
	test	esi, esi
	je	SHORT $LN23@IgorPavlov
	inc	esi
$LN23@IgorPavlov:
; Line 1853
	inc	QWORD PTR TotalLinesENC
; Line 1863
	mov	ebp, r15d
	sub	ebp, esi
	cmp	ebp, 960				; 000003c0H
	jg	$LN105@IgorPavlov
; Line 1864
	test	edx, edx
	je	SHORT $LN90@IgorPavlov
; Line 1865
	mov	r9d, edx
	movsxd	rdi, esi
	mov	r8d, ebp
	add	rdi, r14
	mov	rdx, r10
	mov	rcx, rdi
	call	Search_Algorithm
	cmp	eax, -1
; Line 1868
	je	$LN120@IgorPavlov
; Line 1869
	mov	eax, DWORD PTR NestedP2len$[rsp]
	test	eax, eax
	je	SHORT $LN124@IgorPavlov
; Line 1870
	mov	rdx, QWORD PTR NestedP2$GSCopy$1$[rsp]
	mov	r9d, eax
	mov	r8d, ebp
	mov	rcx, rdi
	call	Search_Algorithm
	cmp	eax, -1
; Line 1873
	je	$LN120@IgorPavlov
; Line 1874
	mov	eax, DWORD PTR NestedP3len$[rsp]
	test	eax, eax
	je	SHORT $LN124@IgorPavlov
; Line 1875
	mov	rdx, QWORD PTR NestedP3$GSCopy$1$[rsp]
	mov	r9d, eax
	mov	r8d, ebp
	mov	rcx, rdi
	call	Search_Algorithm
	lea	r11, OFFSET FLAT:$SG6278
	cmp	eax, -1
; Line 1884
	je	$LN121@IgorPavlov
; Line 1905
	jmp	SHORT $LN90@IgorPavlov
$LN124@IgorPavlov:
	lea	r11, OFFSET FLAT:$SG6278
$LN90@IgorPavlov:
; Line 1890
	cmp	BYTE PTR [r13], 42			; 0000002aH
	jne	SHORT $LN9@IgorPavlov
	cmp	BYTE PTR [r13+1], 0
	je	$LN10@IgorPavlov
$LN9@IgorPavlov:
	movsxd	rdi, esi
	mov	rcx, r13
	add	rdi, r14
	inc	DWORD PTR VIVA_IgorPavlov_invocations_global_counter
$LL45@IgorPavlov:
	movzx	eax, BYTE PTR [rcx]
	inc	rcx
	test	al, al
	jne	SHORT $LL45@IgorPavlov
	sub	ecx, r13d
	dec	ecx
	mov	DWORD PTR maskGLOBALlen, ecx
	mov	rcx, rdi
	npad	6
$LL49@IgorPavlov:
	movzx	eax, BYTE PTR [rcx]
	inc	rcx
	cmp	al, 10
	jne	SHORT $LL49@IgorPavlov
	sub	ecx, edi
	dec	ecx
	movsxd	rax, ecx
	mov	DWORD PTR nameGLOBALlen, ecx
	add	QWORD PTR clocksGWtxt, rax
	call	clock
	xor	r9d, r9d
	mov	r8, rdi
	xor	edx, edx
	mov	rcx, r13
	mov	DWORD PTR clocksG1, eax
	call	EnhancedMaskTest_OrEmpty_AndNotEmpty
	movzx	edi, ax
	test	ax, ax
	je	SHORT $LN37@IgorPavlov
	inc	DWORD PTR WildGLOBALhits
$LN37@IgorPavlov:
	call	clock
	movsdx	xmm1, QWORD PTR clocksGW
	lea	r11, OFFSET FLAT:$SG6278
	mov	DWORD PTR clocksG2, eax
	sub	eax, DWORD PTR clocksG1
	movd	xmm0, eax
	cvtdq2pd xmm0, xmm0
	addsd	xmm1, xmm0
	movsdx	QWORD PTR clocksGW, xmm1
	test	di, di
	je	$LN121@IgorPavlov
$LN10@IgorPavlov:
; Line 1892
	movzx	r8d, BYTE PTR $SG6278
	mov	r9, QWORD PTR INIHDDRAM$[rsp]
	mov	rdx, r11
	movzx	ecx, BYTE PTR [r9]
	mov	eax, r8d
	sub	ecx, r8d
	jne	SHORT $LN113@IgorPavlov
	mov	al, r8b
	mov	r8, r9
	sub	r8, r11
	npad	4
$LL56@IgorPavlov:
	test	al, al
	je	SHORT $LN113@IgorPavlov
	movzx	eax, BYTE PTR [rdx+1]
	movzx	ecx, BYTE PTR [r8+rdx+1]
	inc	rdx
	sub	ecx, eax
	je	SHORT $LL56@IgorPavlov
$LN113@IgorPavlov:
	test	ecx, ecx
	js	SHORT $LN7@IgorPavlov
	jg	SHORT $LN7@IgorPavlov
	test	ecx, ecx
	jne	SHORT $LN7@IgorPavlov
	mov	rax, QWORD PTR Bastumante2$[rsp]
	cmp	BYTE PTR [rax], 68			; 00000044H
	je	SHORT $LN7@IgorPavlov
; Line 1905
	mov	ecx, DWORD PTR hits$1$[rsp]
	inc	ecx
	mov	DWORD PTR hits$1$[rsp], ecx
	jmp	$LN105@IgorPavlov
$LN7@IgorPavlov:
; Line 1893
	movsxd	rdi, esi
	mov	edx, ebp
	lea	r13, QWORD PTR [rdi+r14]
	mov	rcx, r13
	test	ebp, ebp
	je	SHORT $LN114@IgorPavlov
	npad	5
$LL60@IgorPavlov:
	cmp	BYTE PTR [rcx], bl
	je	SHORT $LN114@IgorPavlov
	inc	rcx
	add	edx, -1					; ffffffffH
	jne	SHORT $LL60@IgorPavlov
$LN114@IgorPavlov:
	xor	eax, eax
	test	edx, edx
	cmovne	rax, rcx
	test	rax, rax
	jne	$LN116@IgorPavlov
	mov	edx, ebp
	mov	rcx, r13
	test	ebp, ebp
	je	SHORT $LN115@IgorPavlov
	movzx	eax, BYTE PTR TAGfree$[rsp+1]
	npad	5
$LL64@IgorPavlov:
	cmp	BYTE PTR [rcx], al
	je	SHORT $LN115@IgorPavlov
	inc	rcx
	add	edx, -1					; ffffffffH
	jne	SHORT $LL64@IgorPavlov
$LN115@IgorPavlov:
	xor	eax, eax
	test	edx, edx
	cmovne	rax, rcx
	test	rax, rax
	jne	$LN116@IgorPavlov
; Line 1897
	mov	eax, DWORD PTR ?hitsSTATIC@?1??IgorPavlov@@9@9
	inc	DWORD PTR hits$1$[rsp]
; Line 1898
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	inc	eax
	mov	r8d, 10
	mov	ecx, eax
	mov	DWORD PTR ?hitsSTATIC@?1??IgorPavlov@@9@9, eax
	call	_ui64toaKAZEzerocomma
	lea	rcx, OFFSET FLAT:$SG6282
	lea	rdx, QWORD PTR [rax+15]
	call	printf
; Line 1899
	inc	ebp
	test	ebp, ebp
	jle	SHORT $LN3@IgorPavlov
	add	rdi, r14
	mov	esi, ebp
	npad	4
$LL5@IgorPavlov:
; Line 1900
	movsx	ecx, BYTE PTR [rdi]
	call	putchar
	inc	rdi
	sub	rsi, 1
	jne	SHORT $LL5@IgorPavlov
$LN3@IgorPavlov:
; Line 1903
	mov	r9, QWORD PTR fp_outLOG$GSCopy$1$[rsp]
	movsxd	rdx, ebp
	mov	r8d, 1
	mov	rcx, r13
	call	fwrite
	mov	r13, QWORD PTR x$GSCopy$1$[rsp]
$LN120@IgorPavlov:
; Line 1798
	lea	r11, OFFSET FLAT:$SG6278
$LN121@IgorPavlov:
	mov	ecx, DWORD PTR hits$1$[rsp]
$LN105@IgorPavlov:
; Line 1909
	mov	edx, DWORD PTR NestedP1len$[rsp]
	mov	r10, QWORD PTR NestedP1$GSCopy$1$[rsp]
	inc	r15d
	inc	r12
	cmp	r15d, DWORD PTR tv677[rsp]
	mov	esi, r15d
	mov	rax, r12
	jl	$LL29@IgorPavlov
	mov	eax, ecx
$LN28@IgorPavlov:
; Line 1912
	mov	rcx, QWORD PTR __$ArrayPad$[rsp]
	xor	rcx, rsp
	call	__security_check_cookie
	mov	rbx, QWORD PTR [rsp+216]
	add	rsp, 128				; 00000080H
	pop	r15
	pop	r14
	pop	r13
	pop	r12
	pop	rdi
	pop	rsi
	pop	rbp
	ret	0
$LN116@IgorPavlov:
; Line 1798
	mov	r13, QWORD PTR x$GSCopy$1$[rsp]
	jmp	SHORT $LN121@IgorPavlov
IgorPavlov ENDP
_TEXT	ENDS
PUBLIC	IgorPavlovNoDUMP
pdata	SEGMENT
$pdata$IgorPavlovNoDUMP DD imagerel $LN86
	DD	imagerel $LN86+548
	DD	imagerel $unwind$IgorPavlovNoDUMP
pdata	ENDS
xdata	SEGMENT
$unwind$IgorPavlovNoDUMP DD 0d6001H
	DD	0fe460H
	DD	06f44dH
	DD	0d6448H
	DD	0c5443H
	DD	0d007620bH
	DD	07003c005H
	DD	03002H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
hits$1$ = 32
tv407 = 36
x$1$ = 40
y$ = 96
x$ = 104
TAGfree$ = 112
n$ = 112
m$ = 120
IgorPavlovNoDUMP PROC
; Line 1920
$LN86:
	push	rbx
	push	rdi
	push	r12
	push	r13
	sub	rsp, 56					; 00000038H
; Line 1924
	movzx	ebx, WORD PTR $SG6298
; Line 1925
	xor	r9d, r9d
; Line 1928
	xor	edi, edi
	xor	r12d, r12d
	mov	QWORD PTR x$1$[rsp], rdx
	mov	r13, rcx
	mov	WORD PTR TAGfree$[rsp], bx
	mov	DWORD PTR hits$1$[rsp], r9d
; Line 1931
	test	r8d, r8d
	jne	SHORT $LN43@IgorPavlov@2
	xor	eax, eax
; Line 1965
	add	rsp, 56					; 00000038H
	pop	r13
	pop	r12
	pop	rdi
	pop	rbx
	ret	0
$LN43@IgorPavlov@2:
	mov	QWORD PTR [rsp+96], rbp
	mov	QWORD PTR [rsp+104], rsi
	mov	QWORD PTR [rsp+48], r15
; Line 1928
	movzx	r15d, BYTE PTR TAGfree$[rsp+1]
	lea	r10d, DWORD PTR [r8-1]
	xor	ebp, ebp
	xor	eax, eax
	mov	QWORD PTR [rsp+120], r14
	mov	DWORD PTR tv407[rsp], r10d
$LL15@IgorPavlov@2:
; Line 1935
	cmp	BYTE PTR [r13+rbp], 10
	je	SHORT $LL11@IgorPavlov@2
	npad	3
$LL13@IgorPavlov@2:
	inc	rbp
	inc	r12d
	cmp	BYTE PTR [r13+rbp], 10
	jne	SHORT $LL13@IgorPavlov@2
	npad	2
$LL11@IgorPavlov@2:
; Line 1936
	test	rax, rax
	je	SHORT $LN10@IgorPavlov@2
	dec	rax
	dec	edi
	cmp	BYTE PTR [rax+r13], 10
	jne	SHORT $LL11@IgorPavlov@2
$LN10@IgorPavlov@2:
; Line 1937
	test	edi, edi
	je	SHORT $LN9@IgorPavlov@2
	inc	edi
$LN9@IgorPavlov@2:
; Line 1938
	inc	QWORD PTR TotalLinesENC
; Line 1948
	mov	esi, r12d
	sub	esi, edi
	cmp	esi, 960				; 000003c0H
; Line 1954
	jg	$LN70@IgorPavlov@2
; Line 1956
	cmp	BYTE PTR [rdx], 42			; 0000002aH
	jne	SHORT $LN3@IgorPavlov@2
	cmp	BYTE PTR [rdx+1], 0
	je	$LN4@IgorPavlov@2
$LN3@IgorPavlov@2:
	movsxd	r14, edi
	mov	rcx, rdx
	add	r14, r13
	inc	DWORD PTR VIVA_IgorPavlov_invocations_global_counter
	npad	3
$LL27@IgorPavlov@2:
	movzx	eax, BYTE PTR [rcx]
	inc	rcx
	test	al, al
	jne	SHORT $LL27@IgorPavlov@2
	sub	ecx, edx
	dec	ecx
	mov	DWORD PTR maskGLOBALlen, ecx
	mov	rcx, r14
	npad	9
$LL31@IgorPavlov@2:
	movzx	eax, BYTE PTR [rcx]
	inc	rcx
	cmp	al, 10
	jne	SHORT $LL31@IgorPavlov@2
	sub	ecx, r14d
	dec	ecx
	movsxd	rax, ecx
	mov	DWORD PTR nameGLOBALlen, ecx
	add	QWORD PTR clocksGWtxt, rax
	call	clock
	mov	rcx, QWORD PTR x$1$[rsp]
	xor	r9d, r9d
	mov	r8, r14
	xor	edx, edx
	mov	DWORD PTR clocksG1, eax
	call	EnhancedMaskTest_OrEmpty_AndNotEmpty
	movzx	r14d, ax
	test	ax, ax
	je	SHORT $LN19@IgorPavlov@2
	inc	DWORD PTR WildGLOBALhits
$LN19@IgorPavlov@2:
	call	clock
	movsdx	xmm1, QWORD PTR clocksGW
	mov	DWORD PTR clocksG2, eax
	sub	eax, DWORD PTR clocksG1
	movd	xmm0, eax
	cvtdq2pd xmm0, xmm0
	addsd	xmm1, xmm0
	movsdx	QWORD PTR clocksGW, xmm1
	test	r14w, r14w
	je	SHORT $LN80@IgorPavlov@2
	mov	r9d, DWORD PTR hits$1$[rsp]
	mov	r10d, DWORD PTR tv407[rsp]
$LN4@IgorPavlov@2:
; Line 1957
	movsxd	rdx, edi
	mov	r8d, esi
	add	rdx, r13
	mov	rcx, rdx
	test	esi, esi
	je	SHORT $LN76@IgorPavlov@2
$LL35@IgorPavlov@2:
	cmp	BYTE PTR [rcx], bl
	je	SHORT $LN76@IgorPavlov@2
	inc	rcx
	add	r8d, -1					; ffffffffH
	jne	SHORT $LL35@IgorPavlov@2
$LN76@IgorPavlov@2:
	xor	eax, eax
	test	r8d, r8d
	cmovne	rax, rcx
	test	rax, rax
	jne	SHORT $LN79@IgorPavlov@2
	test	esi, esi
	je	SHORT $LN77@IgorPavlov@2
$LL39@IgorPavlov@2:
	cmp	BYTE PTR [rdx], r15b
	je	SHORT $LN77@IgorPavlov@2
	inc	rdx
	add	esi, -1					; ffffffffH
	jne	SHORT $LL39@IgorPavlov@2
$LN77@IgorPavlov@2:
	xor	ecx, ecx
	test	esi, esi
	cmovne	rcx, rdx
	test	rcx, rcx
	jne	SHORT $LN78@IgorPavlov@2
	mov	rdx, QWORD PTR x$1$[rsp]
; Line 1958
	inc	r9d
	mov	DWORD PTR hits$1$[rsp], r9d
	jmp	SHORT $LN70@IgorPavlov@2
$LN78@IgorPavlov@2:
; Line 1920
	mov	rdx, QWORD PTR x$1$[rsp]
	jmp	SHORT $LN70@IgorPavlov@2
$LN79@IgorPavlov@2:
	mov	rdx, QWORD PTR x$1$[rsp]
	jmp	SHORT $LN70@IgorPavlov@2
$LN80@IgorPavlov@2:
	mov	rdx, QWORD PTR x$1$[rsp]
	mov	r10d, DWORD PTR tv407[rsp]
$LN70@IgorPavlov@2:
; Line 1962
	mov	r9d, DWORD PTR hits$1$[rsp]
	inc	r12d
	inc	rbp
	cmp	r12d, r10d
	mov	edi, r12d
	mov	rax, rbp
	jl	$LL15@IgorPavlov@2
	mov	r15, QWORD PTR [rsp+48]
	mov	r14, QWORD PTR [rsp+120]
	mov	rsi, QWORD PTR [rsp+104]
	mov	rbp, QWORD PTR [rsp+96]
	mov	eax, r9d
; Line 1965
	add	rsp, 56					; 00000038H
	pop	r13
	pop	r12
	pop	rdi
	pop	rbx
	ret	0
IgorPavlovNoDUMP ENDP
_TEXT	ENDS
PUBLIC	InitTree
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
InitTree PROC
; Line 2013
	lea	rax, OFFSET FLAT:rson+16388
	mov	ecx, 32					; 00000020H
	npad	4
$LL14@InitTree:
	mov	DWORD PTR [rax], 4096			; 00001000H
	mov	DWORD PTR [rax+4], 4096			; 00001000H
	mov	DWORD PTR [rax+8], 4096			; 00001000H
	add	rax, 32					; 00000020H
	dec	rcx
	mov	DWORD PTR [rax-20], 4096		; 00001000H
	mov	DWORD PTR [rax-16], 4096		; 00001000H
	mov	DWORD PTR [rax-12], 4096		; 00001000H
	mov	DWORD PTR [rax-8], 4096			; 00001000H
	mov	DWORD PTR [rax-4], 4096			; 00001000H
	jne	SHORT $LL14@InitTree
; Line 2014
	mov	rdx, 17592186048512			; 0000100000001000H
	lea	rax, OFFSET FLAT:dad
	mov	ecx, 256				; 00000100H
	npad	10
$LL13@InitTree:
	mov	QWORD PTR [rax], rdx
	mov	QWORD PTR [rax+8], rdx
	mov	QWORD PTR [rax+16], rdx
	add	rax, 64					; 00000040H
	dec	rcx
	mov	QWORD PTR [rax-40], rdx
	mov	QWORD PTR [rax-32], rdx
	mov	QWORD PTR [rax-24], rdx
	mov	QWORD PTR [rax-16], rdx
	mov	QWORD PTR [rax-8], rdx
	jne	SHORT $LL13@InitTree
; Line 2015
	fatret	0
InitTree ENDP
_TEXT	ENDS
PUBLIC	InsertNode
EXTRN	__ImageBase:BYTE
pdata	SEGMENT
$pdata$InsertNode DD imagerel $LN26
	DD	imagerel $LN26+402
	DD	imagerel $unwind$InsertNode
pdata	ENDS
xdata	SEGMENT
$unwind$InsertNode DD 081401H
	DD	047414H
	DD	03640fH
	DD	02540aH
	DD	013405H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
r$ = 8
InsertNode PROC
; Line 2024
$LN26:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rbp
	mov	QWORD PTR [rsp+24], rsi
	mov	QWORD PTR [rsp+32], rdi
; Line 2028
	lea	rbp, OFFSET FLAT:__ImageBase
	movsxd	rdi, ecx
	mov	r8d, 1
	movzx	r9d, BYTE PTR text_buf[rdi+rbp]
	lea	r11, QWORD PTR text_buf[rdi+rbp]
; Line 2029
	mov	DWORD PTR lson[rbp+rdi*4], 4096		; 00001000H
	add	r9d, 4097				; 00001001H
	xor	ebx, ebx
	mov	DWORD PTR rson[rbp+rdi*4], 4096		; 00001000H
	mov	DWORD PTR match_length, ebx
	npad	6
$LL16@InsertNode:
; Line 2032
	movsxd	rax, r9d
	test	r8d, r8d
	js	SHORT $LN14@InsertNode
	mov	ecx, DWORD PTR rson[rbp+rax*4]
	cmp	ecx, 4096				; 00001000H
	jne	SHORT $LN24@InsertNode
; Line 2033
	movsxd	rax, r9d
	mov	DWORD PTR rson[rbp+rax*4], edi
	jmp	$LN25@InsertNode
$LN14@InsertNode:
; Line 2035
	mov	ecx, DWORD PTR lson[rbp+rax*4]
	cmp	ecx, 4096				; 00001000H
	je	$LN10@InsertNode
$LN24@InsertNode:
	mov	r9d, ecx
; Line 2038
	mov	edx, 1
	movsxd	rax, r9d
	mov	rcx, rdx
	lea	r10, QWORD PTR text_buf[rax+rbp]
	npad	1
$LL8@InsertNode:
; Line 2039
	movzx	eax, BYTE PTR [r10+rcx]
	movzx	r8d, BYTE PTR [rcx+r11]
	sub	r8d, eax
	jne	SHORT $LN21@InsertNode
	inc	rcx
	inc	edx
	cmp	rcx, 18
	jl	SHORT $LL8@InsertNode
$LN21@InsertNode:
; Line 2040
	cmp	edx, ebx
	jle	SHORT $LL16@InsertNode
; Line 2042
	cmp	edx, 18
	mov	DWORD PTR match_position, r9d
	mov	ebx, edx
	mov	DWORD PTR match_length, edx
	jl	$LL16@InsertNode
; Line 2045
	movsxd	rcx, r9d
	mov	eax, DWORD PTR dad[rbp+rcx*4]
	mov	DWORD PTR dad[rbp+rdi*4], eax
	mov	eax, DWORD PTR lson[rbp+rcx*4]
	mov	DWORD PTR lson[rbp+rdi*4], eax
	mov	eax, DWORD PTR rson[rbp+rcx*4]
	mov	DWORD PTR rson[rbp+rdi*4], eax
; Line 2046
	movsxd	rax, DWORD PTR lson[rbp+rcx*4]
	mov	DWORD PTR dad[rbp+rax*4], edi
	movsxd	rax, DWORD PTR rson[rbp+rcx*4]
	mov	DWORD PTR dad[rbp+rax*4], edi
; Line 2047
	movsxd	rax, DWORD PTR dad[rbp+rcx*4]
	cmp	DWORD PTR rson[rbp+rax*4], r9d
	jne	SHORT $LN2@InsertNode
	mov	DWORD PTR rson[rbp+rax*4], edi
; Line 2049
	mov	DWORD PTR dad[rbp+rcx*4], 4096		; 00001000H
	jmp	SHORT $LN17@InsertNode
$LN2@InsertNode:
; Line 2048
	mov	DWORD PTR lson[rbp+rax*4], edi
; Line 2049
	mov	DWORD PTR dad[rbp+rcx*4], 4096		; 00001000H
	jmp	SHORT $LN17@InsertNode
$LN10@InsertNode:
; Line 2036
	movsxd	rax, r9d
	mov	DWORD PTR lson[rbp+rax*4], edi
$LN25@InsertNode:
	mov	DWORD PTR dad[rbp+rdi*4], r9d
$LN17@InsertNode:
; Line 2050
	mov	rbx, QWORD PTR [rsp+8]
	mov	rbp, QWORD PTR [rsp+16]
	mov	rsi, QWORD PTR [rsp+24]
	mov	rdi, QWORD PTR [rsp+32]
	ret	0
InsertNode ENDP
_TEXT	ENDS
PUBLIC	DeleteNode
pdata	SEGMENT
$pdata$DeleteNode DD imagerel $LN15
	DD	imagerel $LN15+320
	DD	imagerel $unwind$DeleteNode
pdata	ENDS
xdata	SEGMENT
$unwind$DeleteNode DD 040a01H
	DD	02740aH
	DD	013405H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
p$ = 8
DeleteNode PROC
; Line 2053
$LN15:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rdi
; Line 2056
	lea	rdi, OFFSET FLAT:__ImageBase
	movsxd	rbx, ecx
	cmp	DWORD PTR dad[rdi+rbx*4], 4096		; 00001000H
	je	$LN12@DeleteNode
; Line 2057
	mov	r8d, DWORD PTR rson[rdi+rbx*4]
	cmp	r8d, 4096				; 00001000H
	jne	SHORT $LN10@DeleteNode
	mov	r8d, DWORD PTR lson[rdi+rbx*4]
	jmp	$LN7@DeleteNode
$LN10@DeleteNode:
; Line 2058
	movsxd	r11, DWORD PTR lson[rdi+rbx*4]
	cmp	r11d, 4096				; 00001000H
	je	$LN7@DeleteNode
; Line 2061
	lea	r10, QWORD PTR [r11*4]
	mov	r8, r11
	cmp	DWORD PTR rson[r10+rdi], 4096		; 00001000H
	lea	rax, QWORD PTR rson[r10+rdi]
	je	SHORT $LN6@DeleteNode
	npad	7
$LL5@DeleteNode:
; Line 2062
	movsxd	r8, DWORD PTR [rax]
	cmp	DWORD PTR rson[rdi+r8*4], 4096		; 00001000H
	lea	rax, QWORD PTR rson[rdi+r8*4]
	jne	SHORT $LL5@DeleteNode
; Line 2063
	lea	r10, QWORD PTR [r8*4]
	movsxd	rcx, DWORD PTR lson[r10+rdi]
	movsxd	rdx, DWORD PTR dad[r10+rdi]
; Line 2064
	mov	DWORD PTR lson[r10+rdi], r11d
	movsxd	rax, DWORD PTR lson[rdi+rbx*4]
	mov	DWORD PTR dad[rdi+rcx*4], edx
	mov	DWORD PTR rson[rdi+rdx*4], ecx
	mov	DWORD PTR dad[rdi+rax*4], r8d
$LN6@DeleteNode:
; Line 2066
	mov	eax, DWORD PTR rson[rdi+rbx*4]
	mov	DWORD PTR rson[r10+rdi], eax
	movsxd	rax, DWORD PTR rson[rdi+rbx*4]
	mov	DWORD PTR dad[rdi+rax*4], r8d
$LN7@DeleteNode:
; Line 2068
	mov	eax, DWORD PTR dad[rdi+rbx*4]
	movsxd	rcx, r8d
	mov	DWORD PTR dad[rdi+rcx*4], eax
; Line 2069
	movsxd	rax, DWORD PTR dad[rdi+rbx*4]
	cmp	DWORD PTR rson[rdi+rax*4], ebx
	jne	SHORT $LN2@DeleteNode
	mov	DWORD PTR rson[rdi+rax*4], r8d
	jmp	SHORT $LN1@DeleteNode
$LN2@DeleteNode:
	mov	DWORD PTR lson[rdi+rax*4], r8d
$LN1@DeleteNode:
; Line 2070
	mov	DWORD PTR dad[rdi+rbx*4], 4096		; 00001000H
$LN12@DeleteNode:
; Line 2071
	mov	rbx, QWORD PTR [rsp+8]
	mov	rdi, QWORD PTR [rsp+16]
	ret	0
DeleteNode ENDP
_TEXT	ENDS
PUBLIC	__$ArrayPad$
PUBLIC	Encode
EXTRN	putc:PROC
EXTRN	getc:PROC
pdata	SEGMENT
$pdata$Encode DD imagerel $LN68
	DD	imagerel $LN68+940
	DD	imagerel $unwind$Encode
pdata	ENDS
xdata	SEGMENT
$unwind$Encode DD 0c2b19H
	DD	014641cH
	DD	013541cH
	DD	012341cH
	DD	0f018b21cH
	DD	0d014e016H
	DD	07010c012H
	DD	imagerel __GSHandlerCheck
	DD	050H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
mask$1$ = 32
codesize$1$ = 36
printcount$1$ = 40
textsize$1$ = 44
code_buf$ = 56
__$ArrayPad$ = 80
Encode	PROC
; Line 2074
$LN68:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rbp
	mov	QWORD PTR [rsp+24], rsi
	push	rdi
	push	r12
	push	r13
	push	r14
	push	r15
	sub	rsp, 96					; 00000060H
	mov	rax, QWORD PTR __security_cookie
	xor	rax, rsp
	mov	QWORD PTR __$ArrayPad$[rsp], rax
; Line 2079
	xor	ebp, ebp
; Line 2082
	lea	rax, OFFSET FLAT:rson+16388
	lea	ecx, QWORD PTR [rbp+32]
	mov	edi, ebp
	mov	DWORD PTR codesize$1$[rsp], ebp
	mov	DWORD PTR printcount$1$[rsp], ebp
$LL63@Encode:
	mov	DWORD PTR [rax], 4096			; 00001000H
	mov	DWORD PTR [rax+4], 4096			; 00001000H
	mov	DWORD PTR [rax+8], 4096			; 00001000H
	add	rax, 32					; 00000020H
	dec	rcx
	mov	DWORD PTR [rax-20], 4096		; 00001000H
	mov	DWORD PTR [rax-16], 4096		; 00001000H
	mov	DWORD PTR [rax-12], 4096		; 00001000H
	mov	DWORD PTR [rax-8], 4096			; 00001000H
	mov	DWORD PTR [rax-4], 4096			; 00001000H
	jne	SHORT $LL63@Encode
	mov	rdx, 17592186048512			; 0000100000001000H
	lea	rax, OFFSET FLAT:dad
	mov	ecx, 256				; 00000100H
	npad	9
$LL62@Encode:
	mov	QWORD PTR [rax], rdx
	mov	QWORD PTR [rax+8], rdx
	mov	QWORD PTR [rax+16], rdx
	add	rax, 64					; 00000040H
	dec	rcx
	mov	QWORD PTR [rax-40], rdx
	mov	QWORD PTR [rax-32], rdx
	mov	QWORD PTR [rax-24], rdx
	mov	QWORD PTR [rax-16], rdx
	mov	QWORD PTR [rax-8], rdx
	jne	SHORT $LL62@Encode
; Line 2087
	lea	r15d, QWORD PTR [rcx+1]
	xor	r14b, r14b
; Line 2088
	mov	r12d, 4078				; 00000feeH
; Line 2089
	lea	rcx, OFFSET FLAT:text_buf
	mov	dl, 32					; 00000020H
	mov	r8, r12
	mov	BYTE PTR code_buf$[rsp], r14b
	mov	dil, 1
	call	memset
; Line 2091
	mov	r13d, ebp
	mov	rbx, rbp
	lea	rsi, OFFSET FLAT:text_buf
	npad	5
$LL29@Encode:
	mov	rcx, QWORD PTR infileOkumura
	call	getc
	cmp	eax, -1
	je	SHORT $LN27@Encode
; Line 2092
	mov	BYTE PTR [rbx+rsi+4078], al
	inc	rbx
	inc	r13d
	cmp	rbx, 18
	jl	SHORT $LL29@Encode
$LN27@Encode:
; Line 2094
	mov	DWORD PTR textsize$1$[rsp], r13d
	mov	esi, ebp
	test	r13d, r13d
	je	$LN33@Encode
; Line 2095
	mov	ebx, 4077				; 00000fedH
	npad	7
$LL25@Encode:
	mov	ecx, ebx
	call	InsertNode
	dec	ebx
	cmp	ebx, 4060				; 00000fdcH
	jge	SHORT $LL25@Encode
; Line 2099
	mov	ecx, r12d
	call	InsertNode
	mov	edx, DWORD PTR match_length
	npad	1
$LL22@Encode:
; Line 2102
	cmp	edx, r13d
	cmovg	edx, r13d
; Line 2104
	cmp	edx, 2
	mov	DWORD PTR match_length, edx
	jg	SHORT $LN18@Encode
; Line 2107
	lea	r8, OFFSET FLAT:text_buf
	movsxd	rax, r12d
	or	r14b, dil
	movzx	eax, BYTE PTR [rax+r8]
	movsxd	rcx, r15d
	mov	edx, 1
	mov	BYTE PTR code_buf$[rsp], r14b
	mov	BYTE PTR code_buf$[rsp+rcx], al
	mov	DWORD PTR match_length, edx
; Line 2108
	jmp	SHORT $LN67@Encode
$LN18@Encode:
; Line 2109
	mov	ecx, DWORD PTR match_position
	movsxd	rax, r15d
	inc	r15d
	mov	BYTE PTR code_buf$[rsp+rax], cl
; Line 2112
	sar	ecx, 4
	lea	eax, DWORD PTR [rdx-3]
	and	cl, 240					; 000000f0H
	or	cl, al
	movsxd	rax, r15d
	mov	BYTE PTR code_buf$[rsp+rax], cl
$LN67@Encode:
	inc	r15d
; Line 2115
	add	dil, dil
	mov	BYTE PTR mask$1$[rsp], dil
	jne	SHORT $LN64@Encode
; Line 2116
	mov	rbx, rbp
	movsxd	rdi, r15d
	test	r15d, r15d
	jle	SHORT $LN13@Encode
	npad	9
$LL15@Encode:
; Line 2117
	movzx	ecx, BYTE PTR code_buf$[rsp+rbx]
	mov	rdx, QWORD PTR outfileOkumura
	call	putc
	inc	rbx
	cmp	rbx, rdi
	jl	SHORT $LL15@Encode
; Line 2116
	mov	edx, DWORD PTR match_length
$LN13@Encode:
; Line 2118
	add	DWORD PTR codesize$1$[rsp], r15d
; Line 2119
	xor	r14b, r14b
	mov	BYTE PTR mask$1$[rsp], 1
	mov	BYTE PTR code_buf$[rsp], r14b
	mov	r15d, 1
	jmp	SHORT $LN16@Encode
$LN64@Encode:
	movzx	r14d, BYTE PTR code_buf$[rsp]
$LN16@Encode:
; Line 2121
	mov	edi, edx
; Line 2123
	mov	ebx, ebp
	test	edx, edx
	jle	SHORT $LN10@Encode
	lea	rbp, OFFSET FLAT:text_buf
	npad	2
$LL12@Encode:
	mov	rcx, QWORD PTR infileOkumura
	call	getc
	mov	r9d, eax
	cmp	eax, -1
	je	SHORT $LN65@Encode
; Line 2124
	mov	ecx, esi
	call	DeleteNode
; Line 2126
	cmp	esi, 17
	movsxd	r11, esi
	mov	BYTE PTR [r11+rbp], r9b
	jge	SHORT $LN9@Encode
	mov	BYTE PTR [r11+rbp+4096], r9b
$LN9@Encode:
; Line 2129
	lea	eax, DWORD PTR [r12+1]
	inc	esi
	and	eax, 4095				; 00000fffH
	and	esi, 4095				; 00000fffH
; Line 2132
	mov	ecx, eax
	mov	r12d, eax
	call	InsertNode
	inc	ebx
	cmp	ebx, edi
	jl	SHORT $LL12@Encode
$LN65@Encode:
; Line 2123
	mov	edx, DWORD PTR match_length
	xor	ebp, ebp
$LN10@Encode:
; Line 2134
	mov	eax, DWORD PTR textsize$1$[rsp]
	add	eax, ebx
	mov	DWORD PTR textsize$1$[rsp], eax
	cmp	eax, DWORD PTR printcount$1$[rsp]
	jbe	SHORT $LN51@Encode
; Line 2135
	lea	rcx, OFFSET FLAT:$SG7231
	mov	edx, eax
	call	printf
	add	DWORD PTR printcount$1$[rsp], 65536	; 00010000H
	mov	edx, DWORD PTR match_length
$LN51@Encode:
; Line 2139
	cmp	ebx, edi
	jge	SHORT $LN60@Encode
	sub	edi, ebx
	mov	ebx, edi
	npad	3
$LL7@Encode:
; Line 2140
	mov	ecx, esi
	call	DeleteNode
; Line 2141
	lea	eax, DWORD PTR [r12+1]
	inc	esi
	and	eax, 4095				; 00000fffH
	and	esi, 4095				; 00000fffH
; Line 2142
	sub	r13d, 1
	mov	r12d, eax
	je	SHORT $LN5@Encode
	mov	ecx, eax
	call	InsertNode
$LN5@Encode:
; Line 2139
	sub	rbx, 1
	jne	SHORT $LL7@Encode
	mov	edx, DWORD PTR match_length
$LN60@Encode:
; Line 2144
	movzx	edi, BYTE PTR mask$1$[rsp]
	test	r13d, r13d
	jg	$LL22@Encode
; Line 2145
	cmp	r15d, 1
	jle	SHORT $LN66@Encode
; Line 2146
	movsxd	rbx, r15d
	test	r15d, r15d
	jle	SHORT $LN1@Encode
$LL3@Encode:
	movzx	ecx, BYTE PTR code_buf$[rsp+rbp]
	mov	rdx, QWORD PTR outfileOkumura
	call	putc
	inc	rbp
	cmp	rbp, rbx
	jl	SHORT $LL3@Encode
$LN1@Encode:
; Line 2147
	mov	edi, DWORD PTR codesize$1$[rsp]
	add	edi, r15d
	jmp	SHORT $LN4@Encode
$LN66@Encode:
; Line 2079
	mov	edi, DWORD PTR codesize$1$[rsp]
$LN4@Encode:
; Line 2149
	mov	ebx, DWORD PTR textsize$1$[rsp]
	lea	rcx, OFFSET FLAT:$SG7240
	mov	edx, ebx
	call	printf
; Line 2150
	lea	rcx, OFFSET FLAT:$SG7241
	mov	edx, edi
	call	printf
; Line 2151
	mov	r11d, edi
	lea	rcx, OFFSET FLAT:$SG7243
	pxor	xmm1, xmm1
	pxor	xmm0, xmm0
	cvtsi2sd xmm1, r11
	cvtsi2sd xmm0, rbx
	divsd	xmm1, xmm0
	movd	rdx, xmm1
	call	printf
$LN33@Encode:
; Line 2152
	mov	rcx, QWORD PTR __$ArrayPad$[rsp]
	xor	rcx, rsp
	call	__security_check_cookie
	lea	r11, QWORD PTR [rsp+96]
	mov	rbx, QWORD PTR [r11+48]
	mov	rbp, QWORD PTR [r11+56]
	mov	rsi, QWORD PTR [r11+64]
	mov	rsp, r11
	pop	r15
	pop	r14
	pop	r13
	pop	r12
	pop	rdi
	ret	0
Encode	ENDP
_TEXT	ENDS
PUBLIC	Decode
pdata	SEGMENT
$pdata$Decode DD imagerel $LN28
	DD	imagerel $LN28+291
	DD	imagerel $unwind$Decode
pdata	ENDS
xdata	SEGMENT
$unwind$Decode DD 0a1801H
	DD	0a6418H
	DD	095418H
	DD	083418H
	DD	0d0143218H
	DD	07010c012H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
Decode	PROC
; Line 2155
$LN28:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rbp
	mov	QWORD PTR [rsp+24], rsi
	push	rdi
	push	r12
	push	r13
	sub	rsp, 32					; 00000020H
; Line 2159
	lea	r13, OFFSET FLAT:text_buf
	mov	r12d, 4078				; 00000feeH
	mov	dl, 32					; 00000020H
	mov	rcx, r13
	mov	r8, r12
	call	memset
; Line 2160
	xor	edi, edi
$LL12@Decode:
; Line 2162
	shr	edi, 1
	bt	edi, 8
	jb	SHORT $LN10@Decode
; Line 2163
	mov	rcx, QWORD PTR infileOkumura
	call	getc
	mov	edi, eax
	cmp	eax, -1
	je	$LN22@Decode
; Line 2164
	or	edi, 65280				; 0000ff00H
$LN10@Decode:
; Line 2167
	mov	rcx, QWORD PTR infileOkumura
	call	getc
	mov	ebx, eax
	test	dil, 1
	je	SHORT $LN8@Decode
	cmp	eax, -1
	je	$LN22@Decode
; Line 2168
	mov	rdx, QWORD PTR outfileOkumura
	mov	ecx, eax
	call	putc
; Line 2169
	movsxd	r11, r12d
	inc	r12d
	mov	BYTE PTR [r11+r13], bl
	and	r12d, 4095				; 00000fffH
; Line 2170
	jmp	SHORT $LL12@Decode
$LN8@Decode:
; Line 2171
	cmp	eax, -1
	je	SHORT $LN22@Decode
; Line 2172
	mov	rcx, QWORD PTR infileOkumura
	call	getc
	cmp	eax, -1
	je	SHORT $LN22@Decode
; Line 2173
	mov	ecx, eax
	and	eax, 15
	and	ecx, 240				; 000000f0H
	shl	ecx, 4
	or	ebx, ecx
	add	eax, 2
; Line 2174
	js	$LL12@Decode
	movsxd	rsi, ebx
	lea	ebp, DWORD PTR [rax+1]
	npad	4
$LL3@Decode:
; Line 2176
	mov	rdx, QWORD PTR outfileOkumura
	mov	rax, rsi
	and	eax, 4095				; 00000fffH
	movzx	ebx, BYTE PTR [rax+r13]
	mov	ecx, ebx
	call	putc
; Line 2177
	movsxd	r11, r12d
	inc	r12d
	and	r12d, 4095				; 00000fffH
	inc	rsi
	sub	rbp, 1
	mov	BYTE PTR [r11+r13], bl
	jne	SHORT $LL3@Decode
; Line 2180
	jmp	$LL12@Decode
$LN22@Decode:
; Line 2181
	mov	rbx, QWORD PTR [rsp+64]
	mov	rbp, QWORD PTR [rsp+72]
	mov	rsi, QWORD PTR [rsp+80]
	add	rsp, 32					; 00000020H
	pop	r13
	pop	r12
	pop	rdi
	ret	0
Decode	ENDP
_TEXT	ENDS
PUBLIC	DecodeKAZE
pdata	SEGMENT
$pdata$DecodeKAZE DD imagerel $LN32
	DD	imagerel $LN32+308
	DD	imagerel $unwind$DecodeKAZE
pdata	ENDS
xdata	SEGMENT
$unwind$DecodeKAZE DD 0c1c01H
	DD	0c641cH
	DD	0b541cH
	DD	0a341cH
	DD	0f018321cH
	DD	0d014e016H
	DD	07010c012H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
ENareaPointer$ = 80
ENareaSIZE$ = 88
DEareaPointer$ = 96
DEareaSIZE$ = 104
DecodeKAZE PROC
; Line 2184
$LN32:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rbp
	mov	QWORD PTR [rsp+24], rsi
	push	rdi
	push	r12
	push	r13
	push	r14
	push	r15
	sub	rsp, 32					; 00000020H
	mov	r13, r8
	mov	esi, edx
	mov	rdi, rcx
; Line 2187
	xor	ebx, ebx
; Line 2190
	lea	r15, OFFSET FLAT:text_buf
	mov	r12d, 4078				; 00000feeH
	mov	dl, 32					; 00000020H
	mov	rcx, r15
	mov	r8, r12
	mov	r14, r9
	mov	ebp, ebx
	call	memset
; Line 2191
	mov	r9d, ebx
	mov	r10, rbx
	npad	5
$LL12@DecodeKAZE:
; Line 2193
	shr	r9d, 1
	bt	r9d, 8
	jb	SHORT $LN10@DecodeKAZE
; Line 2195
	cmp	ebx, esi
	je	$LN29@DecodeKAZE
; Line 2196
	movzx	r9d, BYTE PTR [rdi]
	inc	ebx
	inc	rdi
; Line 2197
	or	r9d, 65280				; 0000ff00H
$LN10@DecodeKAZE:
; Line 2199
	test	r9b, 1
	je	SHORT $LN8@DecodeKAZE
; Line 2201
	cmp	ebx, esi
	je	$LN29@DecodeKAZE
; Line 2202
	movzx	eax, BYTE PTR [rdi]
	inc	ebx
	inc	rdi
; Line 2204
	mov	BYTE PTR [r10+r13], al
	mov	ecx, eax
; Line 2205
	movsxd	rax, r12d
	inc	r12d
	inc	ebp
	inc	r10
	mov	BYTE PTR [rax+r15], cl
	and	r12d, 4095				; 00000fffH
; Line 2206
	jmp	SHORT $LL12@DecodeKAZE
$LN8@DecodeKAZE:
; Line 2208
	cmp	ebx, esi
	je	SHORT $LN29@DecodeKAZE
; Line 2209
	movzx	edx, BYTE PTR [rdi]
	inc	ebx
; Line 2211
	cmp	ebx, esi
	je	SHORT $LN29@DecodeKAZE
; Line 2212
	movzx	eax, BYTE PTR [rdi+1]
	inc	ebx
	add	rdi, 2
	mov	ecx, eax
; Line 2213
	and	eax, 240				; 000000f0H
	shl	eax, 4
	and	ecx, 15
	or	edx, eax
	add	ecx, 2
; Line 2214
	js	$LL12@DecodeKAZE
	lea	eax, DWORD PTR [rcx+1]
	movsxd	rdx, edx
	mov	r8d, eax
	add	ebp, eax
$LL3@DecodeKAZE:
; Line 2215
	mov	rax, rdx
; Line 2217
	inc	r10
	inc	rdx
	and	eax, 4095				; 00000fffH
	movzx	ecx, BYTE PTR [rax+r15]
; Line 2218
	movsxd	rax, r12d
	inc	r12d
	mov	BYTE PTR [r10+r13-1], cl
	and	r12d, 4095				; 00000fffH
	sub	r8, 1
	mov	BYTE PTR [rax+r15], cl
	jne	SHORT $LL3@DecodeKAZE
; Line 2221
	jmp	$LL12@DecodeKAZE
$LN29@DecodeKAZE:
; Line 2223
	mov	rbx, QWORD PTR [rsp+80]
	mov	rsi, QWORD PTR [rsp+96]
	mov	DWORD PTR [r14], ebp
	mov	rbp, QWORD PTR [rsp+88]
	add	rsp, 32					; 00000020H
	pop	r15
	pop	r14
	pop	r13
	pop	r12
	pop	rdi
	ret	0
DecodeKAZE ENDP
_TEXT	ENDS
PUBLIC	DecodeKAZE2
pdata	SEGMENT
$pdata$DecodeKAZE2 DD imagerel $LN43
	DD	imagerel $LN43+532
	DD	imagerel $unwind$DecodeKAZE2
pdata	ENDS
xdata	SEGMENT
$unwind$DecodeKAZE2 DD 0c1c01H
	DD	0c641cH
	DD	0b541cH
	DD	0a341cH
	DD	0f018321cH
	DD	0d014e016H
	DD	07010c012H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
ENareaPointer$ = 80
ENareaSIZE$ = 88
DEareaPointer$ = 96
DEareaSIZE$ = 104
DecodeKAZE2 PROC
; Line 2226
$LN43:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rbp
	mov	QWORD PTR [rsp+24], rsi
	push	rdi
	push	r12
	push	r13
	push	r14
	push	r15
	sub	rsp, 32					; 00000020H
	mov	r14, rcx
	mov	r12, r8
	mov	ebp, edx
; Line 2230
	lea	r13d, DWORD PTR [rdx-6]
; Line 2232
	mov	edi, 4078				; 00000feeH
	lea	rcx, OFFSET FLAT:text_buf
	xor	ebx, ebx
	mov	dl, 32					; 00000020H
	mov	r8, rdi
	mov	r15, r9
	mov	esi, ebx
	call	memset
; Line 2233
	mov	r8d, ebx
	mov	r11, rbx
; Line 2234
	test	r13d, r13d
	je	$LN30@DecodeKAZE@2
	mov	rdx, r14
	lea	r10, OFFSET FLAT:text_buf
	npad	2
$LL20@DecodeKAZE@2:
; Line 2236
	shr	r8d, 1
	bt	r8d, 8
	jb	SHORT $LN18@DecodeKAZE@2
; Line 2238
	movzx	r8d, BYTE PTR [rdx]
	inc	ebx
	or	r8d, 65280				; 0000ff00H
	inc	rdx
$LN18@DecodeKAZE@2:
; Line 2240
	test	r8b, 1
	je	SHORT $LN17@DecodeKAZE@2
; Line 2243
	movzx	ecx, BYTE PTR [rdx]
	movsxd	rax, edi
	inc	edi
	mov	BYTE PTR [r11+r12], cl
	inc	r11
	inc	esi
	inc	ebx
	inc	rdx
; Line 2244
	and	edi, 4095				; 00000fffH
	mov	BYTE PTR [rax+r10], cl
; Line 2245
	jmp	SHORT $LN13@DecodeKAZE@2
$LN17@DecodeKAZE@2:
; Line 2249
	movzx	ecx, BYTE PTR [rdx+1]
	movzx	r9d, BYTE PTR [rdx]
	add	ebx, 2
; Line 2250
	mov	eax, ecx
	and	ecx, 15
	add	rdx, 2
	and	eax, 240				; 000000f0H
	shl	eax, 4
	or	r9d, eax
	add	ecx, 2
; Line 2251
	js	SHORT $LN13@DecodeKAZE@2
	lea	eax, DWORD PTR [rcx+1]
	movsxd	r9, r9d
	lea	r13, OFFSET FLAT:text_buf
	mov	r10d, eax
	add	esi, eax
	npad	8
$LL15@DecodeKAZE@2:
; Line 2253
	mov	rax, r9
	inc	r11
	inc	r9
	and	eax, 4095				; 00000fffH
	movzx	ecx, BYTE PTR [rax+r13]
	movsxd	rax, edi
	inc	edi
	mov	BYTE PTR [r11+r12-1], cl
; Line 2254
	and	edi, 4095				; 00000fffH
	sub	r10, 1
	mov	BYTE PTR [rax+r13], cl
	jne	SHORT $LL15@DecodeKAZE@2
	lea	r13d, DWORD PTR [rbp-6]
	lea	r10, OFFSET FLAT:text_buf
$LN13@DecodeKAZE@2:
; Line 2234
	cmp	ebx, r13d
	jb	$LL20@DecodeKAZE@2
$LN30@DecodeKAZE@2:
	movsxd	rdx, ebx
	movsxd	r10, esi
	lea	r13, OFFSET FLAT:text_buf
; Line 2263
	add	rdx, r14
$LL12@DecodeKAZE@2:
	shr	r8d, 1
	bt	r8d, 8
	jb	SHORT $LN10@DecodeKAZE@2
; Line 2262
	cmp	ebx, ebp
	je	$LN40@DecodeKAZE@2
; Line 2263
	movzx	r8d, BYTE PTR [rdx]
	inc	ebx
	or	r8d, 65280				; 0000ff00H
	inc	rdx
$LN10@DecodeKAZE@2:
; Line 2265
	test	r8b, 1
	je	SHORT $LN8@DecodeKAZE@2
; Line 2267
	cmp	ebx, ebp
	je	$LN40@DecodeKAZE@2
; Line 2269
	movzx	eax, BYTE PTR [rdx]
; Line 2270
	movsxd	rcx, edi
	inc	edi
	mov	BYTE PTR [r10+r12], al
	movzx	eax, BYTE PTR [rdx]
	inc	esi
	inc	r10
	inc	ebx
	inc	rdx
	mov	BYTE PTR [rcx+r13], al
	and	edi, 4095				; 00000fffH
; Line 2271
	jmp	SHORT $LL12@DecodeKAZE@2
$LN8@DecodeKAZE@2:
; Line 2273
	cmp	ebx, ebp
	je	SHORT $LN40@DecodeKAZE@2
; Line 2274
	movzx	r9d, BYTE PTR [rdx]
	inc	ebx
; Line 2276
	cmp	ebx, ebp
	je	SHORT $LN40@DecodeKAZE@2
; Line 2277
	movzx	ecx, BYTE PTR [rdx+1]
	inc	ebx
	add	rdx, 2
; Line 2278
	mov	eax, ecx
	and	ecx, 15
	and	eax, 240				; 000000f0H
	shl	eax, 4
	or	r9d, eax
	add	ecx, 2
; Line 2279
	js	$LL12@DecodeKAZE@2
	lea	eax, DWORD PTR [rcx+1]
	movsxd	r9, r9d
	mov	r11d, eax
	add	esi, eax
$LL3@DecodeKAZE@2:
; Line 2281
	mov	rax, r9
; Line 2282
	inc	r10
	inc	r9
	and	eax, 4095				; 00000fffH
	movzx	ecx, BYTE PTR [rax+r13]
	movsxd	rax, edi
	inc	edi
	mov	BYTE PTR [r10+r12-1], cl
	and	edi, 4095				; 00000fffH
	sub	r11, 1
	mov	BYTE PTR [rax+r13], cl
	jne	SHORT $LL3@DecodeKAZE@2
; Line 2285
	jmp	$LL12@DecodeKAZE@2
$LN40@DecodeKAZE@2:
; Line 2287
	mov	rbx, QWORD PTR [rsp+80]
	mov	rbp, QWORD PTR [rsp+88]
	mov	DWORD PTR [r15], esi
	mov	rsi, QWORD PTR [rsp+96]
	add	rsp, 32					; 00000020H
	pop	r15
	pop	r14
	pop	r13
	pop	r12
	pop	rdi
	ret	0
DecodeKAZE2 ENDP
_TEXT	ENDS
PUBLIC	DecodeKAZEHDD
pdata	SEGMENT
$pdata$DecodeKAZEHDD DD imagerel $LN35
	DD	imagerel $LN35+322
	DD	imagerel $unwind$DecodeKAZEHDD
pdata	ENDS
xdata	SEGMENT
$unwind$DecodeKAZEHDD DD 0c1c01H
	DD	0c641cH
	DD	0b541cH
	DD	0a341cH
	DD	0f018321cH
	DD	0d014e016H
	DD	07010c012H
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
SlowerF$ = 80
DEareaPointer$ = 88
DEareaSIZE$ = 96
DecodeKAZEHDD PROC
; Line 2290
$LN35:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rbp
	mov	QWORD PTR [rsp+24], rsi
	push	rdi
	push	r12
	push	r13
	push	r14
	push	r15
	sub	rsp, 32					; 00000020H
	mov	r15, r8
	mov	r14, rdx
	mov	r12, rcx
; Line 2296
	lea	rdi, OFFSET FLAT:text_buf
	mov	r13d, 4078				; 00000feeH
	mov	dl, 32					; 00000020H
	mov	rcx, rdi
	mov	r8, r13
	xor	esi, esi
	call	memset
; Line 2297
	mov	ebx, esi
	mov	rbp, rsi
	jmp	SHORT $LL12@DecodeKAZE@3
	npad	8
$LL32@DecodeKAZE@3:
	lea	rdi, OFFSET FLAT:text_buf
$LL12@DecodeKAZE@3:
; Line 2299
	shr	ebx, 1
	bt	ebx, 8
	jb	SHORT $LN10@DecodeKAZE@3
; Line 2300
	mov	rcx, r12
	call	getc
	mov	ebx, eax
	cmp	eax, -1
	je	$LN29@DecodeKAZE@3
; Line 2301
	or	ebx, 65280				; 0000ff00H
$LN10@DecodeKAZE@3:
; Line 2304
	mov	rcx, r12
	call	getc
	test	bl, 1
	je	SHORT $LN8@DecodeKAZE@3
	cmp	eax, -1
	je	$LN29@DecodeKAZE@3
; Line 2307
	movsxd	rcx, r13d
	mov	BYTE PTR [r14+rbp], al
	inc	r13d
	inc	esi
	inc	rbp
	mov	BYTE PTR [rcx+rdi], al
	and	r13d, 4095				; 00000fffH
; Line 2308
	jmp	SHORT $LL12@DecodeKAZE@3
$LN8@DecodeKAZE@3:
; Line 2309
	mov	edi, eax
	cmp	eax, -1
	je	SHORT $LN29@DecodeKAZE@3
; Line 2310
	mov	rcx, r12
	call	getc
	cmp	eax, -1
	je	SHORT $LN29@DecodeKAZE@3
; Line 2311
	mov	ecx, eax
	and	eax, 15
	and	ecx, 240				; 000000f0H
	shl	ecx, 4
	or	edi, ecx
	add	eax, 2
; Line 2312
	js	$LL32@DecodeKAZE@3
	inc	eax
	movsxd	rdx, edi
	lea	rdi, OFFSET FLAT:text_buf
	mov	r8d, eax
	add	esi, eax
	npad	9
$LL3@DecodeKAZE@3:
; Line 2313
	mov	rax, rdx
; Line 2315
	inc	rbp
	inc	rdx
	and	eax, 4095				; 00000fffH
	movzx	ecx, BYTE PTR [rax+rdi]
; Line 2316
	movsxd	rax, r13d
	inc	r13d
	mov	BYTE PTR [r14+rbp-1], cl
	and	r13d, 4095				; 00000fffH
	sub	r8, 1
	mov	BYTE PTR [rax+rdi], cl
	jne	SHORT $LL3@DecodeKAZE@3
; Line 2319
	jmp	$LL12@DecodeKAZE@3
$LN29@DecodeKAZE@3:
; Line 2321
	mov	rbx, QWORD PTR [rsp+80]
	mov	rbp, QWORD PTR [rsp+88]
	mov	DWORD PTR [r15], esi
	mov	rsi, QWORD PTR [rsp+96]
	add	rsp, 32					; 00000020H
	pop	r15
	pop	r14
	pop	r13
	pop	r12
	pop	rdi
	ret	0
DecodeKAZEHDD ENDP
_TEXT	ENDS
PUBLIC	instr
EXTRN	strstr:PROC
pdata	SEGMENT
$pdata$instr DD	imagerel $LN7
	DD	imagerel $LN7+84
	DD	imagerel $unwind$instr
pdata	ENDS
xdata	SEGMENT
$unwind$instr DD 040a01H
	DD	06340aH
	DD	07006320aH
; Function compile flags: /Ogtpy
xdata	ENDS
_TEXT	SEGMENT
start_pos$ = 48
string$ = 56
findstr$ = 64
instr	PROC
; Line 2344
$LN7:
	mov	QWORD PTR [rsp+8], rbx
	push	rdi
	sub	rsp, 32					; 00000020H
	mov	rbx, rdx
	mov	edx, ecx
; Line 2348
	or	rcx, -1
	xor	eax, eax
	mov	rdi, rbx
	repne scasb
	not	rcx
	dec	rcx
	cmp	rdx, rcx
; Line 2349
	ja	SHORT $LN1@instr
; Line 2353
	lea	ecx, DWORD PTR [rdx-1]
	mov	rdx, r8
	add	rcx, rbx
	call	strstr
	test	rax, rax
	je	SHORT $LN2@instr
; Line 2354
	sub	eax, ebx
	inc	eax
; Line 2356
	mov	rbx, QWORD PTR [rsp+48]
	add	rsp, 32					; 00000020H
	pop	rdi
	ret	0
$LN2@instr:
; Line 2355
	xor	eax, eax
$LN1@instr:
; Line 2356
	mov	rbx, QWORD PTR [rsp+48]
	add	rsp, 32					; 00000020H
	pop	rdi
	ret	0
instr	ENDP
_TEXT	ENDS
PUBLIC	__real@3ff0000000000000
PUBLIC	__$ArrayPad$
PUBLIC	main
EXTRN	fprintf:PROC
EXTRN	getch:PROC
EXTRN	kbhit:PROC
EXTRN	gets:PROC
EXTRN	puts:PROC
EXTRN	lzo1x_1_compress:PROC
EXTRN	__lzo_init_v2:PROC
EXTRN	qlz_compress:PROC
EXTRN	exit:PROC
EXTRN	fclose:PROC
EXTRN	lzo1x_decompress:PROC
EXTRN	qlz_decompress:PROC
EXTRN	qlz_size_decompressed:PROC
EXTRN	fread:PROC
EXTRN	ftell:PROC
EXTRN	fseek:PROC
EXTRN	fopen:PROC
EXTRN	malloc:PROC
EXTRN	memcpy:PROC
_BSS	SEGMENT
wrkmem	DQ	04000H DUP (?)
_BSS	ENDS
pdata	SEGMENT
$pdata$main DD	imagerel $LN249
	DD	imagerel $LN249+1857
	DD	imagerel $unwind$main
$pdata$3$main DD imagerel $LN249+1857
	DD	imagerel $LN249+9262
	DD	imagerel $chain$3$main
$pdata$6$main DD imagerel $LN249+9262
	DD	imagerel $LN249+14231
	DD	imagerel $chain$6$main
$pdata$7$main DD imagerel $LN249+14231
	DD	imagerel $LN249+14263
	DD	imagerel $chain$7$main
$pdata$8$main DD imagerel $LN249+14263
	DD	imagerel $LN249+14324
	DD	imagerel $chain$8$main
$pdata$9$main DD imagerel $LN249+14324
	DD	imagerel $LN249+14391
	DD	imagerel $chain$9$main
pdata	ENDS
xdata	SEGMENT
$unwind$main DD	0105219H
	DD	0205d840H
	DD	0206c837H
	DD	0207b82eH
	DD	0208a825H
	DD	0209981cH
	DD	041b0113H
	DD	07004f006H
	DD	030026003H
	DD	imagerel __GSHandlerCheck
	DD	02040H
$chain$3$main DD 082021H
	DD	041ae420H
	DD	0423d418H
	DD	0422c410H
	DD	04205408H
	DD	imagerel $LN249
	DD	imagerel $LN249+1857
	DD	imagerel $unwind$main
$chain$6$main DD 062121H
	DD	020a8821H
	DD	020b7818H
	DD	020c6808H
	DD	imagerel $LN249+1857
	DD	imagerel $LN249+9262
	DD	imagerel $chain$3$main
$chain$7$main DD 021H
	DD	imagerel $LN249+1857
	DD	imagerel $LN249+9262
	DD	imagerel $chain$3$main
$chain$8$main DD 021H
	DD	imagerel $LN249
	DD	imagerel $LN249+1857
	DD	imagerel $unwind$main
$chain$9$main DD 0e0021H
	DD	020a8800H
	DD	020b7800H
	DD	020c6800H
	DD	041ae400H
	DD	0423d400H
	DD	0422c400H
	DD	04205400H
	DD	imagerel $LN249
	DD	imagerel $LN249+1857
	DD	imagerel $unwind$main
xdata	ENDS
;	COMDAT __real@3ff0000000000000
CONST	SEGMENT
__real@3ff0000000000000 DQ 03ff0000000000000r	; 1
; Function compile flags: /Ogtpy
CONST	ENDS
_TEXT	SEGMENT
Bastumante2$ = 112
CRdLFa$ = 116
workbyte$ = 120
LINE10len$1$ = 128
FileLENde$ = 128
FilesLENde$1$ = 136
hits2flag$1$ = 144
hits3flag$1$ = 148
hits1flag$1$ = 152
out_len$ = 160
hits4flag$1$ = 168
FilesLENen$1$ = 176
fp_outLOG4$1$ = 184
len$ = 184
hits4$1$ = 192
hits3$1$ = 196
hits1$1$ = 200
hits2$1$ = 204
k$1$ = 208
size_in$1$ = 212
tv1306 = 216
tv354 = 224
tv372 = 232
tv524 = 240
tv350 = 248
tv376 = 256
tv366 = 264
tv374 = 272
tv362 = 280
tv1205 = 288
tv356 = 296
tv2007 = 304
tv352 = 312
tv2003 = 320
tv364 = 328
fp_in$1$ = 336
tv344 = 344
t1$ = 352
tv342 = 360
scratch$1$ = 368
t3$ = 376
llTOaDigits$ = 384
INIHDDRAM$ = 416
llTOaDigits2$ = 440
HTML12$ = 480
HTML05$ = 560
HTML15$ = 640
HTML14$ = 720
HTML13$ = 800
HTML04$ = 880
HTML09$ = 960
HTML02$ = 1040
HTML07$ = 1120
HTML08$ = 1200
HTML01$ = 1280
HTML03$ = 1360
HTML06$ = 1440
P2NestedPattern3$ = 1568
P3NestedPattern3$ = 1840
P1NestedPattern3$ = 2112
P4NestedPattern3$ = 2384
P2NestedPattern2$ = 2656
P3NestedPattern2$ = 2928
P1NestedPattern2$ = 3200
P3NestedPattern1$ = 3472
Pattern1$ = 3744
Pattern3$ = 4016
P2NestedPattern1$ = 4288
P4NestedPattern2$ = 4560
P1NestedPattern1$ = 4832
P4NestedPattern1$ = 5104
Pattern2$ = 5376
Pattern4$ = 5648
Masterpattern$ = 5920
LINE10$ = 6192
__$ArrayPad$ = 8256
numArgs$ = 8448
args$ = 8456
main	PROC
; Line 2359
$LN249:
	push	rbx
	push	rsi
	push	rdi
	push	r15
	mov	eax, 8408				; 000020d8H
	call	__chkstk
	sub	rsp, rax
	movaps	XMMWORD PTR [rsp+8336], xmm9
	movaps	XMMWORD PTR [rsp+8320], xmm10
	movaps	XMMWORD PTR [rsp+8304], xmm11
	movaps	XMMWORD PTR [rsp+8288], xmm12
	movaps	XMMWORD PTR [rsp+8272], xmm13
	mov	rax, QWORD PTR __security_cookie
	xor	rax, rsp
	mov	QWORD PTR __$ArrayPad$[rsp], rax
; Line 2390
	xorpd	xmm13, xmm13
	xor	r15d, r15d
; Line 2414
	lea	rsi, OFFSET FLAT:__ImageBase
	mov	rax, QWORD PTR $SG7529[rsi]
	mov	edi, ecx
	mov	ecx, r15d
	movapd	xmm11, xmm13
	movapd	xmm10, xmm13
	movapd	xmm9, xmm13
	mov	QWORD PTR tv356[rsp], rcx
	mov	QWORD PTR tv372[rsp], rcx
	mov	QWORD PTR tv1205[rsp], rcx
	movapd	xmm12, xmm13
	mov	QWORD PTR tv350[rsp], rcx
	mov	QWORD PTR tv362[rsp], rcx
	mov	QWORD PTR tv374[rsp], rcx
	lea	rcx, QWORD PTR INIHDDRAM$[rsp]
	mov	rbx, rdx
	mov	DWORD PTR LINE10len$1$[rsp], r15d
	mov	QWORD PTR [rcx], rax
	mov	rax, QWORD PTR $SG7529[rsi+8]
	mov	QWORD PTR FilesLENen$1$[rsp], r15
	mov	QWORD PTR [rcx+8], rax
	movzx	eax, BYTE PTR $SG7529[rsi+16]
	mov	QWORD PTR FilesLENde$1$[rsp], r15
	mov	BYTE PTR [rcx+16], al
; Line 2446
	mov	rax, QWORD PTR $SG7544[rsi]
	lea	rcx, QWORD PTR HTML01$[rsp]
	mov	QWORD PTR [rcx], rax
	mov	rax, QWORD PTR $SG7544[rsi+8]
	mov	DWORD PTR hits1$1$[rsp], r15d
	mov	QWORD PTR [rcx+8], rax
	mov	rax, QWORD PTR $SG7544[rsi+16]
	mov	DWORD PTR hits2$1$[rsp], r15d
	mov	QWORD PTR [rcx+16], rax
	mov	rax, QWORD PTR $SG7544[rsi+24]
	mov	DWORD PTR hits3$1$[rsp], r15d
	mov	QWORD PTR [rcx+24], rax
	mov	rax, QWORD PTR $SG7544[rsi+32]
	mov	DWORD PTR hits4$1$[rsp], r15d
	mov	QWORD PTR [rcx+32], rax
	mov	rax, QWORD PTR $SG7544[rsi+40]
	mov	DWORD PTR hits1flag$1$[rsp], r15d
	mov	QWORD PTR [rcx+40], rax
	mov	rax, QWORD PTR $SG7544[rsi+48]
	mov	DWORD PTR hits2flag$1$[rsp], r15d
	mov	QWORD PTR [rcx+48], rax
	mov	rax, QWORD PTR $SG7544[rsi+56]
	mov	DWORD PTR hits3flag$1$[rsp], r15d
	mov	QWORD PTR [rcx+56], rax
	movzx	eax, BYTE PTR $SG7544[rsi+64]
	mov	DWORD PTR hits4flag$1$[rsp], r15d
	mov	BYTE PTR [rcx+64], al
	xor	eax, eax
; Line 2447
	lea	rcx, QWORD PTR HTML02$[rsp]
	mov	QWORD PTR HTML01$[rsp+65], rax
	mov	DWORD PTR HTML01$[rsp+73], eax
	mov	WORD PTR HTML01$[rsp+77], ax
	mov	rax, QWORD PTR $SG7546[rsi]
	mov	DWORD PTR tv352[rsp], r15d
	mov	DWORD PTR tv354[rsp], r15d
	mov	QWORD PTR [rcx], rax
	mov	rax, QWORD PTR $SG7546[rsi+8]
	mov	DWORD PTR tv364[rsp], r15d
	mov	QWORD PTR [rcx+8], rax
	mov	rax, QWORD PTR $SG7546[rsi+16]
	mov	DWORD PTR tv366[rsp], r15d
	mov	QWORD PTR [rcx+16], rax
	mov	rax, QWORD PTR $SG7546[rsi+24]
	mov	DWORD PTR tv376[rsp], r15d
	mov	QWORD PTR [rcx+24], rax
	mov	rax, QWORD PTR $SG7546[rsi+32]
	mov	DWORD PTR tv524[rsp], r15d
	mov	QWORD PTR [rcx+32], rax
	xor	eax, eax
	mov	DWORD PTR tv1306[rsp], r15d
	mov	DWORD PTR tv2003[rsp], r15d
	mov	DWORD PTR tv2007[rsp], r15d
	mov	BYTE PTR Bastumante2$[rsp], 46		; 0000002eH
	mov	QWORD PTR HTML02$[rsp+40], rax
	mov	QWORD PTR HTML02$[rsp+48], rax
	mov	QWORD PTR HTML02$[rsp+56], rax
	mov	QWORD PTR HTML02$[rsp+64], rax
	mov	DWORD PTR HTML02$[rsp+72], eax
	mov	WORD PTR HTML02$[rsp+76], ax
	mov	BYTE PTR HTML02$[rsp+78], al
; Line 2448
	mov	rax, QWORD PTR $SG7548[rsi]
	lea	rcx, QWORD PTR HTML03$[rsp]
; Line 2451
	lea	rdx, OFFSET FLAT:$SG7554
	lea	r8d, QWORD PTR [r15+105]
	mov	QWORD PTR [rcx], rax
	mov	rax, QWORD PTR $SG7548[rsi+8]
	mov	QWORD PTR [rcx+8], rax
	mov	rax, QWORD PTR $SG7548[rsi+16]
	mov	QWORD PTR [rcx+16], rax
	mov	rax, QWORD PTR $SG7548[rsi+24]
	mov	QWORD PTR [rcx+24], rax
	mov	rax, QWORD PTR $SG7548[rsi+32]
	mov	QWORD PTR [rcx+32], rax
	mov	rax, QWORD PTR $SG7548[rsi+40]
	mov	QWORD PTR [rcx+40], rax
	mov	rax, QWORD PTR $SG7548[rsi+48]
	mov	QWORD PTR [rcx+48], rax
	mov	rax, QWORD PTR $SG7548[rsi+56]
	mov	QWORD PTR [rcx+56], rax
	mov	eax, DWORD PTR $SG7548[rsi+64]
	mov	DWORD PTR [rcx+64], eax
	movzx	eax, BYTE PTR $SG7548[rsi+68]
	mov	BYTE PTR [rcx+68], al
	xor	eax, eax
	lea	rcx, QWORD PTR HTML04$[rsp]
	mov	QWORD PTR HTML03$[rsp+69], rax
	mov	WORD PTR HTML03$[rsp+77], ax
	mov	rax, QWORD PTR $SG7550[rsi]
	mov	QWORD PTR [rcx], rax
	movzx	eax, BYTE PTR $SG7550[rsi+8]
	mov	BYTE PTR [rcx+8], al
	xor	eax, eax
	lea	rcx, QWORD PTR HTML06$[rsp]
	mov	QWORD PTR HTML04$[rsp+9], rax
	mov	QWORD PTR HTML04$[rsp+17], rax
	mov	QWORD PTR HTML04$[rsp+25], rax
	mov	QWORD PTR HTML04$[rsp+33], rax
	mov	QWORD PTR HTML04$[rsp+41], rax
	mov	QWORD PTR HTML04$[rsp+49], rax
	mov	QWORD PTR HTML04$[rsp+57], rax
	mov	QWORD PTR HTML04$[rsp+65], rax
	mov	DWORD PTR HTML04$[rsp+73], eax
	mov	WORD PTR HTML04$[rsp+77], ax
	mov	rax, QWORD PTR $SG7552
	mov	QWORD PTR HTML05$[rsp], rax
	xor	eax, eax
	mov	QWORD PTR HTML05$[rsp+8], rax
	mov	QWORD PTR HTML05$[rsp+16], rax
	mov	QWORD PTR HTML05$[rsp+24], rax
	mov	QWORD PTR HTML05$[rsp+32], rax
	mov	QWORD PTR HTML05$[rsp+40], rax
	mov	QWORD PTR HTML05$[rsp+48], rax
	mov	QWORD PTR HTML05$[rsp+56], rax
	mov	QWORD PTR HTML05$[rsp+64], rax
	mov	DWORD PTR HTML05$[rsp+72], eax
	mov	WORD PTR HTML05$[rsp+76], ax
	mov	BYTE PTR HTML05$[rsp+78], al
	call	memcpy
; Line 2452
	mov	rax, QWORD PTR $SG7556[rsi]
	lea	rcx, QWORD PTR HTML07$[rsp]
	xor	r11d, r11d
	mov	QWORD PTR [rcx], rax
	mov	rax, QWORD PTR $SG7556[rsi+8]
	mov	QWORD PTR HTML06$[rsp+105], r11
	mov	QWORD PTR [rcx+8], rax
	mov	rax, QWORD PTR $SG7556[rsi+16]
	mov	QWORD PTR HTML06$[rsp+113], r11
	mov	QWORD PTR [rcx+16], rax
	mov	rax, QWORD PTR $SG7556[rsi+24]
	mov	DWORD PTR HTML06$[rsp+121], r11d
	mov	QWORD PTR [rcx+24], rax
	mov	rax, QWORD PTR $SG7556[rsi+32]
	mov	WORD PTR HTML06$[rsp+125], r11w
	mov	QWORD PTR [rcx+32], rax
	mov	rax, QWORD PTR $SG7556[rsi+40]
	mov	BYTE PTR HTML06$[rsp+127], r11b
	mov	QWORD PTR [rcx+40], rax
	movzx	eax, BYTE PTR $SG7556[rsi+48]
	mov	BYTE PTR [rcx+48], al
	xor	eax, eax
; Line 2453
	lea	rcx, QWORD PTR HTML08$[rsp]
	mov	QWORD PTR HTML07$[rsp+49], rax
	mov	QWORD PTR HTML07$[rsp+57], rax
	mov	QWORD PTR HTML07$[rsp+65], rax
	mov	DWORD PTR HTML07$[rsp+73], eax
	mov	WORD PTR HTML07$[rsp+77], ax
	mov	rax, QWORD PTR $SG7558[rsi]
	mov	QWORD PTR [rcx], rax
	mov	rax, QWORD PTR $SG7558[rsi+8]
	mov	QWORD PTR [rcx+8], rax
	mov	rax, QWORD PTR $SG7558[rsi+16]
	mov	QWORD PTR [rcx+16], rax
	mov	rax, QWORD PTR $SG7558[rsi+24]
	mov	QWORD PTR [rcx+24], rax
	mov	rax, QWORD PTR $SG7558[rsi+32]
	mov	QWORD PTR [rcx+32], rax
	mov	rax, QWORD PTR $SG7558[rsi+40]
	mov	QWORD PTR [rcx+40], rax
	mov	rax, QWORD PTR $SG7558[rsi+48]
	mov	QWORD PTR [rcx+48], rax
	movzx	eax, WORD PTR $SG7558[rsi+56]
	mov	WORD PTR [rcx+56], ax
	xor	eax, eax
; Line 2454
	lea	rcx, QWORD PTR HTML09$[rsp]
	mov	QWORD PTR HTML08$[rsp+58], rax
	mov	QWORD PTR HTML08$[rsp+66], rax
	mov	DWORD PTR HTML08$[rsp+74], eax
	mov	BYTE PTR HTML08$[rsp+78], al
	mov	eax, DWORD PTR $SG7560[rsi]
	mov	DWORD PTR [rcx], eax
	movzx	eax, WORD PTR $SG7560[rsi+4]
	mov	WORD PTR [rcx+4], ax
	movzx	eax, BYTE PTR $SG7560[rsi+6]
	mov	BYTE PTR [rcx+6], al
	xor	eax, eax
; Line 2458
	lea	rcx, QWORD PTR HTML13$[rsp]
	mov	QWORD PTR HTML09$[rsp+7], rax
	mov	QWORD PTR HTML09$[rsp+15], rax
	mov	QWORD PTR HTML09$[rsp+23], rax
	mov	QWORD PTR HTML09$[rsp+31], rax
	mov	QWORD PTR HTML09$[rsp+39], rax
	mov	QWORD PTR HTML09$[rsp+47], rax
	mov	QWORD PTR HTML09$[rsp+55], rax
	mov	QWORD PTR HTML09$[rsp+63], rax
	mov	QWORD PTR HTML09$[rsp+71], rax
	mov	rax, QWORD PTR $SG7566
	mov	QWORD PTR HTML12$[rsp], rax
	xor	eax, eax
	mov	QWORD PTR HTML12$[rsp+8], rax
	mov	QWORD PTR HTML12$[rsp+16], rax
	mov	QWORD PTR HTML12$[rsp+24], rax
	mov	QWORD PTR HTML12$[rsp+32], rax
	mov	QWORD PTR HTML12$[rsp+40], rax
	mov	QWORD PTR HTML12$[rsp+48], rax
	mov	QWORD PTR HTML12$[rsp+56], rax
	mov	QWORD PTR HTML12$[rsp+64], rax
	mov	DWORD PTR HTML12$[rsp+72], eax
	mov	WORD PTR HTML12$[rsp+76], ax
	mov	BYTE PTR HTML12$[rsp+78], al
	mov	rax, QWORD PTR $SG7568[rsi]
	mov	QWORD PTR [rcx], rax
	movzx	eax, BYTE PTR $SG7568[rsi+8]
	mov	BYTE PTR [rcx+8], al
	xor	eax, eax
; Line 2459
	lea	rcx, QWORD PTR HTML14$[rsp]
	mov	QWORD PTR HTML13$[rsp+9], rax
	mov	QWORD PTR HTML13$[rsp+17], rax
	mov	QWORD PTR HTML13$[rsp+25], rax
	mov	QWORD PTR HTML13$[rsp+33], rax
	mov	QWORD PTR HTML13$[rsp+41], rax
	mov	QWORD PTR HTML13$[rsp+49], rax
	mov	QWORD PTR HTML13$[rsp+57], rax
	mov	QWORD PTR HTML13$[rsp+65], rax
	mov	DWORD PTR HTML13$[rsp+73], eax
	mov	WORD PTR HTML13$[rsp+77], ax
	mov	rax, QWORD PTR $SG7570[rsi]
	mov	QWORD PTR [rcx], rax
	movzx	eax, BYTE PTR $SG7570[rsi+8]
	mov	BYTE PTR [rcx+8], al
	xor	eax, eax
; Line 2460
	lea	rcx, QWORD PTR HTML15$[rsp]
	mov	QWORD PTR HTML14$[rsp+9], rax
	mov	QWORD PTR HTML14$[rsp+17], rax
	mov	QWORD PTR HTML14$[rsp+25], rax
	mov	QWORD PTR HTML14$[rsp+33], rax
	mov	QWORD PTR HTML14$[rsp+41], rax
	mov	QWORD PTR HTML14$[rsp+49], rax
	mov	QWORD PTR HTML14$[rsp+57], rax
	mov	QWORD PTR HTML14$[rsp+65], rax
	mov	DWORD PTR HTML14$[rsp+73], eax
	mov	WORD PTR HTML14$[rsp+77], ax
	mov	rax, QWORD PTR $SG7572[rsi]
	mov	QWORD PTR [rcx], rax
	movzx	eax, BYTE PTR $SG7572[rsi+8]
	mov	BYTE PTR [rcx+8], al
	xor	eax, eax
; Line 2472
	lea	ecx, QWORD PTR [rax+16]
	mov	QWORD PTR HTML15$[rsp+9], rax
	mov	QWORD PTR HTML15$[rsp+17], rax
	mov	QWORD PTR HTML15$[rsp+25], rax
	mov	QWORD PTR HTML15$[rsp+33], rax
	mov	QWORD PTR HTML15$[rsp+41], rax
	mov	QWORD PTR HTML15$[rsp+49], rax
	mov	QWORD PTR HTML15$[rsp+57], rax
	mov	QWORD PTR HTML15$[rsp+65], rax
	mov	DWORD PTR HTML15$[rsp+73], eax
	mov	WORD PTR HTML15$[rsp+77], ax
	call	malloc
	mov	QWORD PTR scratch$1$[rsp], rax
; Line 2475
	cmp	edi, 1
	jne	SHORT $LN167@main
; Line 2477
	xor	eax, eax
	jmp	$LN28@main
$LN167@main:
	mov	QWORD PTR [rsp+8448], rbp
	mov	QWORD PTR [rsp+8464], r12
	mov	QWORD PTR [rsp+8472], r13
	mov	QWORD PTR [rsp+8400], r14
; Line 2480
	cmp	edi, 2
	je	$LN165@main
	cmp	edi, 3
	je	$LN165@main
; Line 3102
	lea	eax, DWORD PTR [rdi-3]
	cmp	eax, 1
	ja	$LN26@main
	mov	rdx, QWORD PTR [rbx+8]
	or	rcx, -1
	xor	eax, eax
	mov	rdi, rdx
	repne scasb
	not	rcx
	dec	rcx
	cmp	rcx, 1
	jne	$LN26@main
; Line 3105
	movzx	edi, BYTE PTR [rdx]
; Line 3106
	cmp	dil, 101				; 00000065H
	je	$LN195@main
	cmp	dil, 69					; 00000045H
	je	$LN195@main
	cmp	dil, 65					; 00000041H
	je	$LN195@main
	cmp	dil, 97					; 00000061H
	je	$LN198@main
; Line 3107
	cmp	dil, 100				; 00000064H
	je	SHORT $LN24@main
	cmp	dil, 68					; 00000044H
	je	SHORT $LN24@main
	cmp	dil, 82					; 00000052H
	je	SHORT $LN24@main
	cmp	dil, 114				; 00000072H
; Line 3108
	jne	$LN26@main
$LN24@main:
; Line 3221
	mov	rcx, QWORD PTR [rbx+16]
	lea	rdx, OFFSET FLAT:$SG8069
	call	fopen
	mov	r12, rax
	test	rax, rax
	jne	SHORT $LN9@main
; Line 3222
	mov	rdx, QWORD PTR [rbx+16]
	lea	rcx, OFFSET FLAT:$SG8070
	call	printf
	lea	eax, QWORD PTR [r12+1]
	jmp	$LN244@main
$LN9@main:
; Line 3223
	mov	rcx, QWORD PTR [rbx+24]
	lea	rdx, OFFSET FLAT:$SG8071
	call	fopen
; Line 3226
	xor	edx, edx
	mov	rcx, r12
	lea	r8d, QWORD PTR [rdx+2]
	mov	r13, rax
	call	fseek
; Line 3227
	mov	rcx, r12
	call	ftell
; Line 3228
	xor	r8d, r8d
	xor	edx, edx
	movsxd	rsi, eax
	mov	rcx, r12
	mov	QWORD PTR len$[rsp], rsi
	call	fseek
; Line 3229
	mov	rcx, rsi
	call	malloc
; Line 3232
	mov	r14d, 1
	mov	r9, r12
	mov	rcx, rax
	mov	r8, rsi
	mov	rdx, r14
	mov	rbp, rax
	call	fread
; Line 3234
	cmp	dil, 100				; 00000064H
	jne	SHORT $LN8@main
; Line 3237
	mov	rcx, rbp
	call	qlz_size_decompressed
; Line 3238
	mov	rcx, rax
	call	malloc
; Line 3241
	lea	ecx, QWORD PTR [r14+15]
	mov	rbx, rax
	call	malloc
; Line 3245
	lea	rcx, OFFSET FLAT:$SG8077
	mov	edx, esi
	mov	rdi, rax
	call	printf
; Line 3246
	mov	r8, rdi
	mov	rdx, rbx
	mov	rcx, rbp
	call	qlz_decompress
; Line 3248
	lea	rcx, OFFSET FLAT:$SG8079
	mov	edx, eax
	mov	rdi, rax
	call	printf
; Line 3249
	mov	r9, r13
	mov	r8, r14
	mov	rdx, rdi
	mov	rcx, rbx
	call	fwrite
	jmp	$LN3@main
$LN8@main:
; Line 3251
	cmp	dil, 82					; 00000052H
	jne	$LN6@main
; Line 3255
	mov	ecx, 268435457				; 10000001H
	call	malloc
; Line 3258
	lea	rcx, OFFSET FLAT:$SG8084
	mov	edx, esi
	mov	QWORD PTR MeBufferKAZE, rax
	call	printf
; Line 3259
	movzx	edx, BYTE PTR [rbp]
	shr	edx, 5
	inc	edx
	cmp	edx, r14d
	jne	SHORT $LN184@main
	mov	r8, QWORD PTR MeBufferKAZE
	mov	r9d, 268435456				; 10000000H
	mov	edx, esi
	mov	rcx, rbp
	call	fastlz1_decompress
	mov	r15d, eax
	jmp	SHORT $LN183@main
$LN184@main:
	cmp	edx, 2
	jne	SHORT $LN183@main
	mov	r8, QWORD PTR MeBufferKAZE
	mov	r9d, 268435456				; 10000000H
	mov	edx, esi
	mov	rcx, rbp
	call	fastlz2_decompress
	mov	r15d, eax
$LN183@main:
	movsxd	rdi, r15d
; Line 3261
	lea	rcx, OFFSET FLAT:$SG8086
	mov	edx, edi
	call	printf
; Line 3262
	mov	rcx, QWORD PTR MeBufferKAZE
	mov	r9, r13
	mov	r8, r14
	mov	rdx, rdi
	call	fwrite
	jmp	$LN3@main
$LN6@main:
; Line 3264
	cmp	dil, 114				; 00000072H
	jne	SHORT $LN4@main
; Line 3268
	mov	ecx, 268435457				; 10000001H
	call	malloc
; Line 3271
	lea	rcx, OFFSET FLAT:$SG8091
	mov	edx, esi
	mov	QWORD PTR MeBufferKAZE, rax
	call	printf
; Line 3272
	mov	r8, QWORD PTR MeBufferKAZE
	lea	r9, QWORD PTR len$[rsp]
	mov	edx, esi
	mov	rcx, rbp
	call	DecodeKAZE
; Line 3274
	mov	rdi, QWORD PTR len$[rsp]
	lea	rcx, OFFSET FLAT:$SG8095
	mov	edx, edi
	call	printf
; Line 3275
	mov	rcx, QWORD PTR MeBufferKAZE
	mov	r9, r13
	mov	r8, r14
	mov	rdx, rdi
	call	fwrite
; Line 3277
	jmp	SHORT $LN3@main
$LN4@main:
; Line 3280
	mov	ecx, 268435457				; 10000001H
	call	malloc
; Line 3288
	lea	r9, QWORD PTR out_len$[rsp]
	mov	rdx, rsi
	mov	rcx, rbp
	mov	r8, rax
	mov	QWORD PTR [rsp+32], r15
	mov	QWORD PTR MeBufferKAZE, rax
	call	lzo1x_decompress
; Line 3289
	test	eax, eax
	jne	SHORT $LN2@main
; Line 3291
	mov	r8d, DWORD PTR out_len$[rsp]
	lea	rcx, OFFSET FLAT:$SG8102
	mov	edx, esi
	call	printf
; Line 3300
	mov	rdx, QWORD PTR out_len$[rsp]
	mov	rcx, QWORD PTR MeBufferKAZE
	mov	r9, r13
	mov	r8, r14
	call	fwrite
$LN3@main:
; Line 3304
	mov	rcx, r12
	call	fclose
; Line 3305
	mov	rcx, r13
	call	fclose
; Line 3307
	xor	eax, eax
	jmp	$LN244@main
$LN2@main:
; Line 3295
	lea	rcx, OFFSET FLAT:$SG8104
	mov	edx, eax
	call	printf
; Line 3296
	mov	eax, r14d
	jmp	$LN244@main
$LN195@main:
; Line 3113
	cmp	dil, 97					; 00000061H
	jne	$LN23@main
$LN198@main:
; Line 3115
	mov	rcx, QWORD PTR [rbx+16]
	lea	rdx, OFFSET FLAT:$SG8006
	call	fopen
	mov	QWORD PTR infileOkumura, rax
	test	rax, rax
	jne	SHORT $LN22@main
; Line 3116
	mov	rdx, QWORD PTR [rbx+16]
	lea	rcx, OFFSET FLAT:$SG8007
	call	printf
	mov	ecx, 1
	call	exit
	int	3
$LN22@main:
; Line 3117
	mov	rcx, QWORD PTR [rbx+24]
	lea	rdx, OFFSET FLAT:$SG8010
	call	fopen
	mov	QWORD PTR outfileOkumura, rax
	test	rax, rax
	jne	SHORT $LN21@main
; Line 3118
	mov	rdx, QWORD PTR [rbx+24]
	lea	rcx, OFFSET FLAT:$SG8011
	call	printf
	mov	ecx, 1
	call	exit
	int	3
$LN21@main:
; Line 3119
	call	Encode
; Line 3120
	mov	rcx, QWORD PTR infileOkumura
	call	fclose
; Line 3121
	mov	rcx, QWORD PTR outfileOkumura
	call	fclose
; Line 3307
	xor	eax, eax
	jmp	$LN244@main
$LN23@main:
; Line 3125
	mov	rcx, QWORD PTR [rbx+16]
	lea	rdx, OFFSET FLAT:$SG8015
	call	fopen
	mov	rbp, rax
	test	rax, rax
	jne	SHORT $LN19@main
; Line 3126
	mov	rdx, QWORD PTR [rbx+16]
	lea	rcx, OFFSET FLAT:$SG8016
	call	printf
	lea	eax, QWORD PTR [rbp+1]
	jmp	$LN244@main
$LN19@main:
; Line 3127
	mov	rcx, QWORD PTR [rbx+24]
	lea	rdx, OFFSET FLAT:$SG8017
	call	fopen
; Line 3130
	xor	edx, edx
	mov	rcx, rbp
	lea	r8d, QWORD PTR [rdx+2]
	mov	r13, rax
	call	fseek
; Line 3131
	mov	rcx, rbp
	call	ftell
; Line 3132
	xor	r8d, r8d
	xor	edx, edx
	mov	rcx, rbp
	movsxd	rsi, eax
	call	fseek
; Line 3133
	mov	rcx, rsi
	call	malloc
; Line 3134
	mov	r14d, 1
	mov	r9, rbp
	mov	rcx, rax
	mov	r8, rsi
	mov	rdx, r14
	mov	r12, rax
	call	fread
; Line 3136
	cmp	dil, 101				; 00000065H
	jne	SHORT $LN18@main
; Line 3138
	lea	rcx, QWORD PTR [rsi+400]
	call	malloc
; Line 3141
	mov	ecx, 528400				; 00081010H
	mov	rbx, rax
	call	malloc
; Line 3145
	lea	rcx, OFFSET FLAT:$SG8024
	mov	edx, esi
	mov	rdi, rax
	call	printf
; Line 3146
	mov	r9, rdi
	mov	r8, rsi
	mov	rdx, rbx
	mov	rcx, r12
	call	qlz_compress
; Line 3148
	lea	rcx, OFFSET FLAT:$SG8026
	mov	edx, eax
	mov	rdi, rax
	call	printf
; Line 3149
	mov	r9, r13
	mov	r8, r14
	mov	rdx, rdi
	mov	rcx, rbx
	call	fwrite
	jmp	$LN15@main
$LN18@main:
; Line 3151
	cmp	dil, 65					; 00000041H
	jne	SHORT $LN16@main
; Line 3155
	mov	ecx, 268435457				; 10000001H
	call	malloc
; Line 3158
	lea	rcx, OFFSET FLAT:$SG8031
	mov	edx, esi
	mov	QWORD PTR MeBufferKAZE, rax
	call	printf
; Line 3159
	cmp	esi, 65536				; 00010000H
	jge	SHORT $LN180@main
	mov	r8, QWORD PTR MeBufferKAZE
	mov	edx, esi
	mov	rcx, r12
	call	fastlz1_compress
	jmp	SHORT $LN181@main
$LN180@main:
	mov	r8, QWORD PTR MeBufferKAZE
	mov	edx, esi
	mov	rcx, r12
	call	fastlz2_compress
$LN181@main:
	movsxd	rdi, eax
; Line 3161
	lea	rcx, OFFSET FLAT:$SG8033
	mov	edx, edi
	call	printf
; Line 3162
	mov	rcx, QWORD PTR MeBufferKAZE
	mov	r9, r13
	mov	r8, r14
	mov	rdx, rdi
	call	fwrite
; Line 3164
	jmp	$LN15@main
$LN16@main:
; Line 3173
	mov	DWORD PTR [rsp+72], 48			; 00000030H
	mov	DWORD PTR [rsp+64], 8
	mov	DWORD PTR [rsp+56], 8
	mov	r9d, 4
	mov	DWORD PTR [rsp+48], 8
	mov	edx, 2
	mov	r8d, r9d
	mov	ecx, 8240				; 00002030H
	mov	DWORD PTR [rsp+40], 8
	mov	DWORD PTR [rsp+32], 4
	call	__lzo_init_v2
	test	eax, eax
	je	SHORT $LN14@main
; Line 3175
	lea	rcx, OFFSET FLAT:$SG8055
	call	printf
; Line 3176
	lea	rcx, OFFSET FLAT:$SG8056
	call	printf
; Line 3177
	mov	eax, 3
	jmp	$LN244@main
$LN14@main:
; Line 3187
	mov	ecx, 268435457				; 10000001H
	call	malloc
; Line 3193
	lea	rcx, OFFSET FLAT:wrkmem
	lea	r9, QWORD PTR out_len$[rsp]
	mov	QWORD PTR [rsp+32], rcx
	mov	rdx, rsi
	mov	rcx, r12
	mov	r8, rax
	mov	QWORD PTR MeBufferKAZE, rax
	call	lzo1x_1_compress
; Line 3194
	test	eax, eax
	jne	SHORT $LN13@main
; Line 3196
	mov	r8d, DWORD PTR out_len$[rsp]
	lea	rcx, OFFSET FLAT:$SG8061
	mov	edx, esi
	call	printf
; Line 3204
	mov	rdx, QWORD PTR out_len$[rsp]
	cmp	rdx, rsi
	jb	SHORT $LN11@main
; Line 3206
	lea	rcx, OFFSET FLAT:$SG8065
	call	printf
; Line 3207
	xor	eax, eax
	jmp	$LN244@main
$LN11@main:
; Line 3210
	mov	rcx, QWORD PTR MeBufferKAZE
	mov	r9, r13
	mov	r8, r14
	call	fwrite
$LN15@main:
; Line 3214
	mov	rcx, rbp
	call	fclose
; Line 3215
	mov	rcx, r13
	call	fclose
; Line 3307
	xor	eax, eax
	jmp	$LN244@main
$LN13@main:
; Line 3200
	lea	rcx, OFFSET FLAT:$SG8063
	mov	edx, eax
	call	printf
; Line 3201
	mov	eax, 2
	jmp	$LN244@main
$LN26@main:
; Line 3103
	mov	eax, 23
	jmp	$LN244@main
$LN165@main:
; Line 2487
	lea	r9d, DWORD PTR [rdi-1]
	lea	r10, QWORD PTR [rbx+8]
; Line 2489
	mov	r14d, 1
	test	r9d, r9d
	jle	$LN238@main
	npad	1
$LL164@main:
; Line 2490
	mov	rdx, QWORD PTR [r10]
	lea	r8, OFFSET FLAT:$SG7589
	mov	rax, rdx
	sub	r8, rdx
$LL234@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN235@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL234@main
$LN235@main:
	test	edi, edi
	jne	SHORT $LN162@main
; Line 2491
	mov	DWORD PTR SearchAlgorithm, 11
	jmp	$LN129@main
$LN162@main:
; Line 2492
	lea	r8, OFFSET FLAT:$SG7592
	mov	rax, rdx
	sub	r8, rdx
$LL232@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN233@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL232@main
$LN233@main:
	test	edi, edi
	jne	SHORT $LN160@main
; Line 2493
	mov	DWORD PTR SearchAlgorithm, 22
	jmp	$LN129@main
$LN160@main:
; Line 2494
	lea	r8, OFFSET FLAT:$SG7595
	mov	rax, rdx
	sub	r8, rdx
	npad	10
$LL230@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN231@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL230@main
$LN231@main:
	test	edi, edi
	jne	SHORT $LN158@main
; Line 2495
	mov	DWORD PTR SearchAlgorithm, 33		; 00000021H
	jmp	$LN129@main
$LN158@main:
; Line 2496
	lea	r8, OFFSET FLAT:$SG7598
	mov	rax, rdx
	sub	r8, rdx
$LL228@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN229@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL228@main
$LN229@main:
	test	edi, edi
	jne	SHORT $LN156@main
; Line 2497
	mov	DWORD PTR SearchAlgorithm, 44		; 0000002cH
	jmp	$LN129@main
$LN156@main:
; Line 2498
	lea	r8, OFFSET FLAT:$SG7601
	mov	rax, rdx
	sub	r8, rdx
	npad	10
$LL226@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN227@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL226@main
$LN227@main:
	test	edi, edi
	jne	SHORT $LN154@main
; Line 2499
	mov	DWORD PTR SearchAlgorithm, r14d
	jmp	$LN129@main
$LN154@main:
; Line 2500
	lea	r8, OFFSET FLAT:$SG7604
	mov	rax, rdx
	sub	r8, rdx
$LL224@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN225@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL224@main
$LN225@main:
	test	edi, edi
	jne	SHORT $LN152@main
; Line 2501
	mov	DWORD PTR SearchAlgorithm, 2
	jmp	$LN129@main
$LN152@main:
; Line 2502
	lea	r8, OFFSET FLAT:$SG7607
	mov	rax, rdx
	sub	r8, rdx
$LL222@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN223@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL222@main
$LN223@main:
	test	edi, edi
	jne	SHORT $LN150@main
; Line 2503
	mov	DWORD PTR SearchAlgorithm, 3
	jmp	$LN129@main
$LN150@main:
; Line 2504
	lea	r8, OFFSET FLAT:$SG7610
	mov	rax, rdx
	sub	r8, rdx
	npad	10
$LL220@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN221@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL220@main
$LN221@main:
	test	edi, edi
	jne	SHORT $LN148@main
; Line 2505
	mov	DWORD PTR SearchAlgorithm, 4
	jmp	$LN129@main
$LN148@main:
; Line 2506
	lea	r8, OFFSET FLAT:$SG7613
	mov	rax, rdx
	sub	r8, rdx
$LL218@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN219@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL218@main
$LN219@main:
	test	edi, edi
	jne	SHORT $LN146@main
; Line 2507
	mov	DWORD PTR SearchAlgorithm, 111		; 0000006fH
	jmp	$LN129@main
$LN146@main:
; Line 2508
	lea	r8, OFFSET FLAT:$SG7616
	mov	rax, rdx
	sub	r8, rdx
	npad	10
$LL216@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN217@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL216@main
$LN217@main:
	test	edi, edi
	jne	SHORT $LN144@main
; Line 2509
	mov	DWORD PTR SearchAlgorithm, 222		; 000000deH
	jmp	$LN129@main
$LN144@main:
; Line 2510
	lea	r8, OFFSET FLAT:$SG7619
	mov	rax, rdx
	sub	r8, rdx
$LL214@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN215@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL214@main
$LN215@main:
	test	edi, edi
	jne	SHORT $LN142@main
; Line 2511
	mov	DWORD PTR SearchAlgorithm, 333		; 0000014dH
	jmp	$LN129@main
$LN142@main:
; Line 2512
	lea	r8, OFFSET FLAT:$SG7622
	mov	rax, rdx
	sub	r8, rdx
	npad	10
$LL212@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN213@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL212@main
$LN213@main:
	test	edi, edi
	jne	SHORT $LN140@main
; Line 2513
	mov	DWORD PTR SearchAlgorithm, 444		; 000001bcH
	jmp	$LN129@main
$LN140@main:
; Line 2515
	lea	r8, OFFSET FLAT:$SG7625
	mov	rax, rdx
	sub	r8, rdx
$LL210@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN211@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL210@main
$LN211@main:
	test	edi, edi
	jne	SHORT $LN138@main
; Line 2516
	mov	DWORD PTR SearchAlgorithm, 1111		; 00000457H
	jmp	$LN129@main
$LN138@main:
; Line 2517
	lea	r8, OFFSET FLAT:$SG7628
	mov	rax, rdx
	sub	r8, rdx
	npad	10
$LL208@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN209@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL208@main
$LN209@main:
	test	edi, edi
	jne	SHORT $LN136@main
; Line 2518
	mov	DWORD PTR SearchAlgorithm, 2222		; 000008aeH
	jmp	$LN129@main
$LN136@main:
; Line 2519
	lea	r8, OFFSET FLAT:$SG7631
	mov	rax, rdx
	sub	r8, rdx
$LL206@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN207@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL206@main
$LN207@main:
	test	edi, edi
	jne	SHORT $LN134@main
; Line 2520
	mov	DWORD PTR SearchAlgorithm, 3333		; 00000d05H
	jmp	SHORT $LN129@main
$LN134@main:
; Line 2521
	lea	r8, OFFSET FLAT:$SG7634
	mov	rax, rdx
	sub	r8, rdx
$LL204@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN205@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL204@main
$LN205@main:
	test	edi, edi
	jne	SHORT $LN132@main
; Line 2522
	mov	DWORD PTR SearchAlgorithm, 4444		; 0000115cH
	jmp	SHORT $LN129@main
$LN132@main:
; Line 2524
	lea	rdi, OFFSET FLAT:$SG7637
	sub	rdi, rdx
$LL202@main:
	movzx	ecx, BYTE PTR [rdx]
	movzx	eax, BYTE PTR [rdx+rdi]
	sub	ecx, eax
	jne	SHORT $LN203@main
	inc	rdx
	test	eax, eax
	jne	SHORT $LL202@main
$LN203@main:
	test	ecx, ecx
	jne	SHORT $LN238@main
; Line 2525
	mov	DWORD PTR SearchAlgorithm, 5
$LN129@main:
; Line 2529
	dec	r9d
	add	r10, 8
	test	r9d, r9d
	jg	$LL164@main
$LN238@main:
; Line 2536
	lea	rcx, OFFSET FLAT:$SG7639
	mov	BYTE PTR CRdLFa$[rsp], 13
	mov	BYTE PTR CRdLFa$[rsp+1], 10
	call	puts
; Line 2537
	lea	rcx, OFFSET FLAT:$SG7640
	call	puts
; Line 2538
	lea	rcx, OFFSET FLAT:$SG7641
	call	puts
; Line 2539
	lea	rcx, OFFSET FLAT:$SG7642
	call	puts
; Line 2540
	lea	rcx, OFFSET FLAT:$SG7643
	call	puts
; Line 2541
	lea	rcx, OFFSET FLAT:$SG7644
	call	puts
; Line 2544
	lea	rcx, OFFSET FLAT:$SG7645
	call	puts
; Line 2545
	lea	rcx, OFFSET FLAT:$SG7646
	call	puts
; Line 2546
	lea	rcx, OFFSET FLAT:$SG7647
	call	puts
; Line 2547
	lea	rcx, OFFSET FLAT:$SG7648
	call	puts
; Line 2548
	lea	rcx, OFFSET FLAT:$SG7649
	call	puts
; Line 2549
	lea	rcx, OFFSET FLAT:$SG7650
	call	puts
; Line 2550
	lea	rcx, OFFSET FLAT:$SG7651
	call	puts
; Line 2551
	lea	rcx, OFFSET FLAT:$SG7652
	call	puts
; Line 2552
	lea	rcx, OFFSET FLAT:$SG7653
	call	puts
; Line 2553
	lea	rcx, OFFSET FLAT:$SG7654
	call	puts
; Line 2554
	lea	rcx, OFFSET FLAT:$SG7655
	call	puts
; Line 2555
	lea	rcx, OFFSET FLAT:$SG7656
	call	puts
; Line 2556
	lea	rcx, OFFSET FLAT:$SG7657
	call	puts
; Line 2557
	lea	rcx, OFFSET FLAT:$SG7658
	call	puts
; Line 2558
	lea	rcx, OFFSET FLAT:$SG7659
	call	puts
; Line 2559
	lea	rcx, OFFSET FLAT:$SG7660
	call	puts
; Line 2560
	lea	rcx, OFFSET FLAT:$SG7661
	call	puts
; Line 2561
	lea	rcx, OFFSET FLAT:$SG7662
	call	puts
; Line 2562
	lea	rcx, OFFSET FLAT:$SG7663
	call	puts
; Line 2563
	lea	rcx, OFFSET FLAT:$SG7664
	call	puts
; Line 2564
	lea	rcx, OFFSET FLAT:$SG7665
	call	puts
; Line 2565
	lea	rcx, OFFSET FLAT:$SG7666
	call	puts
; Line 2566
	lea	rcx, OFFSET FLAT:$SG7667
	call	puts
; Line 2567
	lea	rcx, OFFSET FLAT:$SG7668
	call	puts
; Line 2568
	lea	rcx, OFFSET FLAT:$SG7669
	call	puts
; Line 2569
	lea	rcx, OFFSET FLAT:$SG7670
	call	puts
; Line 2570
	lea	rcx, OFFSET FLAT:$SG7671
	call	puts
; Line 2571
	lea	rcx, OFFSET FLAT:$SG7672
	call	puts
; Line 2572
	lea	rcx, OFFSET FLAT:$SG7673
	call	puts
; Line 2573
	lea	rcx, OFFSET FLAT:$SG7674
	call	puts
; Line 2574
	lea	rcx, OFFSET FLAT:$SG7675
	call	puts
; Line 2575
	lea	rcx, OFFSET FLAT:$SG7676
	call	puts
; Line 2576
	lea	rcx, OFFSET FLAT:$SG7677
	call	puts
; Line 2577
	lea	rcx, OFFSET FLAT:$SG7678
	call	puts
; Line 2578
	lea	rcx, OFFSET FLAT:$SG7679
	call	puts
; Line 2579
	lea	rcx, OFFSET FLAT:$SG7680
	call	puts
; Line 2580
	lea	rcx, OFFSET FLAT:$SG7681
	call	puts
; Line 2581
	lea	rcx, OFFSET FLAT:$SG7682
	call	puts
; Line 2582
	lea	rcx, OFFSET FLAT:$SG7683
	call	puts
; Line 2583
	lea	rcx, OFFSET FLAT:$SG7684
	call	puts
; Line 2584
	lea	rcx, OFFSET FLAT:$SG7685
	call	puts
; Line 2585
	lea	rcx, OFFSET FLAT:$SG7686
	call	puts
; Line 2586
	lea	rcx, OFFSET FLAT:$SG7687
	call	puts
; Line 2587
	lea	rcx, OFFSET FLAT:$SG7688
	call	puts
; Line 2588
	lea	rcx, OFFSET FLAT:$SG7689
	call	puts
; Line 2589
	lea	rcx, OFFSET FLAT:$SG7690
	call	puts
; Line 2590
	lea	rcx, OFFSET FLAT:$SG7691
	call	puts
; Line 2591
	lea	rcx, OFFSET FLAT:$SG7692
	call	puts
; Line 2592
	lea	rcx, OFFSET FLAT:$SG7693
	call	puts
; Line 2593
	lea	rcx, OFFSET FLAT:$SG7694
	call	puts
; Line 2594
	lea	rcx, OFFSET FLAT:$SG7695
	call	puts
; Line 2595
	lea	rcx, OFFSET FLAT:$SG7696
	call	puts
; Line 2596
	lea	rcx, OFFSET FLAT:$SG7697
	call	puts
; Line 2597
	lea	rcx, OFFSET FLAT:$SG7698
	call	puts
; Line 2598
	lea	rcx, OFFSET FLAT:$SG7699
	call	puts
; Line 2599
	lea	rcx, OFFSET FLAT:$SG7700
	call	puts
; Line 2600
	lea	rcx, OFFSET FLAT:$SG7701
	call	puts
; Line 2601
	lea	rcx, OFFSET FLAT:$SG7702
	call	puts
; Line 2602
	lea	rcx, OFFSET FLAT:$SG7703
	call	puts
; Line 2603
	lea	rcx, OFFSET FLAT:$SG7704
	call	puts
; Line 2604
	lea	rcx, OFFSET FLAT:$SG7705
	call	puts
; Line 2605
	lea	rcx, OFFSET FLAT:$SG7706
	call	puts
; Line 2606
	lea	rcx, OFFSET FLAT:$SG7707
	call	puts
; Line 2607
	lea	rcx, OFFSET FLAT:$SG7708
	call	puts
; Line 2608
	lea	rcx, OFFSET FLAT:$SG7709
	call	puts
; Line 2609
	lea	rcx, OFFSET FLAT:$SG7710
	call	puts
; Line 2610
	lea	rcx, OFFSET FLAT:$SG7711
	call	puts
; Line 2611
	lea	rcx, OFFSET FLAT:$SG7712
	call	puts
; Line 2612
	lea	rcx, OFFSET FLAT:$SG7713
	call	puts
; Line 2613
	lea	rcx, OFFSET FLAT:$SG7714
	call	puts
; Line 2614
	lea	rcx, OFFSET FLAT:$SG7715
	call	puts
; Line 2615
	lea	rcx, OFFSET FLAT:$SG7716
	call	puts
; Line 2616
	lea	rcx, OFFSET FLAT:$SG7717
	call	puts
; Line 2617
	lea	rcx, OFFSET FLAT:$SG7718
	call	puts
; Line 2618
	lea	rcx, OFFSET FLAT:$SG7719
	call	printf
; Line 2619
	lea	rcx, OFFSET FLAT:$SG7720
	call	printf
; Line 2620
	lea	rcx, OFFSET FLAT:$SG7721
	call	printf
; Line 2621
	lea	rcx, OFFSET FLAT:$SG7722
	call	printf
; Line 2622
	lea	rcx, OFFSET FLAT:$SG7723
	call	printf
; Line 2623
	lea	rcx, OFFSET FLAT:$SG7724
	call	printf
; Line 2624
	lea	rcx, OFFSET FLAT:$SG7725
	call	printf
; Line 2625
	lea	rcx, OFFSET FLAT:$SG7726
	call	printf
; Line 2626
	lea	rcx, OFFSET FLAT:$SG7727
	call	printf
; Line 2627
	lea	rcx, OFFSET FLAT:$SG7728
	call	printf
; Line 2628
	lea	rcx, OFFSET FLAT:$SG7729
	call	printf
; Line 2629
	lea	rcx, OFFSET FLAT:$SG7730
	call	printf
; Line 2630
	lea	rcx, OFFSET FLAT:$SG7731
	call	printf
; Line 2631
	lea	rcx, OFFSET FLAT:$SG7732
	call	printf
; Line 2632
	lea	rcx, OFFSET FLAT:$SG7733
	call	printf
; Line 2633
	lea	rcx, OFFSET FLAT:$SG7734
	call	printf
; Line 2634
	lea	rcx, OFFSET FLAT:$SG7735
	call	printf
; Line 2635
	lea	rcx, OFFSET FLAT:$SG7736
	call	printf
; Line 2636
	lea	rcx, OFFSET FLAT:$SG7737
	call	printf
; Line 2637
	lea	rcx, OFFSET FLAT:$SG7738
	call	printf
; Line 2638
	lea	rcx, OFFSET FLAT:$SG7739
	call	printf
; Line 2639
	lea	rcx, OFFSET FLAT:$SG7740
	call	printf
; Line 2640
	lea	rcx, OFFSET FLAT:$SG7741
	call	printf
; Line 2641
	lea	rcx, OFFSET FLAT:$SG7742
	call	puts
; Line 2642
	lea	rcx, OFFSET FLAT:$SG7743
	call	puts
; Line 2643
	lea	rcx, OFFSET FLAT:$SG7744
	call	puts
; Line 2645
	lea	rcx, OFFSET FLAT:$SG7745
	call	printf
; Line 2651
	mov	DWORD PTR [rsp+72], 48			; 00000030H
	mov	DWORD PTR [rsp+64], 8
	mov	DWORD PTR [rsp+56], 8
	mov	r9d, 4
	mov	DWORD PTR [rsp+48], 8
	mov	edx, 2
	mov	ecx, 8240				; 00002030H
	mov	r8d, r9d
	mov	DWORD PTR [rsp+40], 8
	mov	DWORD PTR [rsp+32], 4
	call	__lzo_init_v2
	test	eax, eax
	je	SHORT $LN128@main
; Line 2653
	lea	rcx, OFFSET FLAT:$SG7766
	call	printf
; Line 2654
	lea	rcx, OFFSET FLAT:$SG7767
	call	printf
; Line 2655
	mov	eax, 3
	jmp	$LN244@main
$LN128@main:
; Line 2659
	mov	ecx, 268435457				; 10000001H
	call	malloc
	mov	QWORD PTR MeBufferKAZE, rax
; Line 2660
	test	rax, rax
	jne	SHORT $LN127@main
; Line 2661
	lea	rcx, OFFSET FLAT:$SG7771
	call	puts
	mov	eax, r14d
	jmp	$LN244@main
$LN127@main:
; Line 2662
	lea	rcx, OFFSET FLAT:$SG7772
	mov	edx, 256				; 00000100H
	call	printf
; Line 2665
	cmp	DWORD PTR SearchAlgorithm, r15d
	jne	SHORT $LN126@main
; Line 2667
	mov	rcx, QWORD PTR [rbx+8]
	lea	rdx, OFFSET FLAT:$SG7776
	call	fopen
	mov	rsi, rax
	mov	QWORD PTR fp_in$1$[rsp], rax
	test	rax, rax
	jne	SHORT $LN123@main
; Line 2668
	mov	rdx, QWORD PTR [rbx+8]
	lea	rcx, OFFSET FLAT:$SG7777
	call	printf
	mov	eax, r14d
	jmp	$LN244@main
$LN126@main:
; Line 2671
	mov	rcx, QWORD PTR [rbx+16]
	lea	rdx, OFFSET FLAT:$SG7781
	call	fopen
	mov	rsi, rax
	mov	QWORD PTR fp_in$1$[rsp], rax
	test	rax, rax
	jne	SHORT $LN123@main
; Line 2672
	mov	rdx, QWORD PTR [rbx+16]
	lea	rcx, OFFSET FLAT:$SG7782
	call	printf
	mov	eax, r14d
	jmp	$LN244@main
$LN123@main:
; Line 2674
	xor	edx, edx
	mov	rcx, rsi
	lea	r8d, QWORD PTR [rdx+2]
	call	fseek
; Line 2675
	mov	rcx, rsi
	call	ftell
; Line 2676
	xor	r8d, r8d
	xor	edx, edx
	mov	rcx, rsi
	mov	edi, eax
	mov	DWORD PTR size_in$1$[rsp], eax
	call	fseek
; Line 2677
	lea	rcx, OFFSET FLAT:$SG7783
	mov	edx, edi
	call	printf
; Line 2679
	lea	rdx, OFFSET FLAT:$SG7786
	lea	rcx, OFFSET FLAT:$SG7787
	call	fopen
	mov	r12, rax
	test	rax, rax
	jne	SHORT $LN122@main
; Line 2680
	lea	rcx, OFFSET FLAT:$SG7788
	call	printf
	mov	eax, r14d
	jmp	$LN244@main
$LN122@main:
; Line 2681
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML01$[rsp]
	repne scasb
	mov	r9, r12
	mov	r8, r14
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML01$[rsp]
	call	fwrite
; Line 2682
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML02$[rsp]
	mov	r9, r12
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML02$[rsp]
	call	fwrite
; Line 2683
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML03$[rsp]
	mov	r9, r12
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML03$[rsp]
	call	fwrite
; Line 2684
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML04$[rsp]
	mov	r9, r12
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML04$[rsp]
	call	fwrite
; Line 2685
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML05$[rsp]
	mov	r9, r12
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML05$[rsp]
	call	fwrite
; Line 2686
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML06$[rsp]
	mov	r9, r12
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML06$[rsp]
	call	fwrite
; Line 2687
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML07$[rsp]
	mov	r9, r12
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML07$[rsp]
	call	fwrite
; Line 2688
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML08$[rsp]
	mov	r9, r12
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML08$[rsp]
	call	fwrite
; Line 2689
	xor	eax, eax
	or	rcx, -1
	lea	rdi, QWORD PTR HTML09$[rsp]
	mov	r9, r12
	repne scasb
	mov	r8, r14
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML09$[rsp]
	call	fwrite
; Line 2690
	lea	rcx, QWORD PTR CRdLFa$[rsp]
	mov	r9, r12
	mov	r8, r14
	mov	edx, 2
	call	fwrite
; Line 2691
	lea	rdx, OFFSET FLAT:$SG7791
	lea	rcx, OFFSET FLAT:$SG7792
	call	fopen
	mov	r15, rax
	test	rax, rax
	jne	SHORT $LN121@main
; Line 2692
	lea	rcx, OFFSET FLAT:$SG7793
	call	printf
	mov	eax, r14d
	jmp	$LN244@main
$LN121@main:
; Line 2693
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML01$[rsp]
	repne scasb
	mov	r9, r15
	mov	r8, r14
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML01$[rsp]
	call	fwrite
; Line 2694
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML02$[rsp]
	mov	r9, r15
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML02$[rsp]
	call	fwrite
; Line 2695
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML03$[rsp]
	mov	r9, r15
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML03$[rsp]
	call	fwrite
; Line 2696
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML04$[rsp]
	mov	r9, r15
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML04$[rsp]
	call	fwrite
; Line 2697
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML05$[rsp]
	mov	r9, r15
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML05$[rsp]
	call	fwrite
; Line 2698
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML06$[rsp]
	mov	r9, r15
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML06$[rsp]
	call	fwrite
; Line 2699
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML07$[rsp]
	mov	r9, r15
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML07$[rsp]
	call	fwrite
; Line 2700
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML08$[rsp]
	mov	r9, r15
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML08$[rsp]
	call	fwrite
; Line 2701
	xor	eax, eax
	or	rcx, -1
	lea	rdi, QWORD PTR HTML09$[rsp]
	mov	r9, r15
	repne scasb
	mov	r8, r14
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML09$[rsp]
	call	fwrite
; Line 2702
	lea	rcx, QWORD PTR CRdLFa$[rsp]
	mov	r9, r15
	mov	r8, r14
	mov	edx, 2
	call	fwrite
; Line 2703
	lea	rdx, OFFSET FLAT:$SG7796
	lea	rcx, OFFSET FLAT:$SG7797
	call	fopen
	mov	r13, rax
	test	rax, rax
	jne	SHORT $LN120@main
; Line 2704
	lea	rcx, OFFSET FLAT:$SG7798
	call	printf
	mov	eax, r14d
	jmp	$LN244@main
$LN120@main:
; Line 2705
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML01$[rsp]
	repne scasb
	mov	r9, r13
	mov	r8, r14
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML01$[rsp]
	call	fwrite
; Line 2706
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML02$[rsp]
	mov	r9, r13
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML02$[rsp]
	call	fwrite
; Line 2707
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML03$[rsp]
	mov	r9, r13
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML03$[rsp]
	call	fwrite
; Line 2708
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML04$[rsp]
	mov	r9, r13
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML04$[rsp]
	call	fwrite
; Line 2709
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML05$[rsp]
	mov	r9, r13
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML05$[rsp]
	call	fwrite
; Line 2710
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML06$[rsp]
	mov	r9, r13
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML06$[rsp]
	call	fwrite
; Line 2711
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML07$[rsp]
	mov	r9, r13
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML07$[rsp]
	call	fwrite
; Line 2712
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML08$[rsp]
	mov	r9, r13
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML08$[rsp]
	call	fwrite
; Line 2713
	xor	eax, eax
	or	rcx, -1
	lea	rdi, QWORD PTR HTML09$[rsp]
	mov	r9, r13
	repne scasb
	mov	r8, r14
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML09$[rsp]
	call	fwrite
; Line 2714
	lea	rcx, QWORD PTR CRdLFa$[rsp]
	mov	r9, r13
	mov	r8, r14
	mov	edx, 2
	call	fwrite
; Line 2715
	lea	rdx, OFFSET FLAT:$SG7801
	lea	rcx, OFFSET FLAT:$SG7802
	call	fopen
	mov	rbp, rax
	mov	QWORD PTR fp_outLOG4$1$[rsp], rax
	test	rax, rax
	jne	SHORT $LN119@main
; Line 2716
	lea	rcx, OFFSET FLAT:$SG7803
	call	printf
	mov	eax, r14d
	jmp	$LN244@main
$LN119@main:
; Line 2717
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML01$[rsp]
	repne scasb
	mov	r9, rbp
	mov	r8, r14
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML01$[rsp]
	call	fwrite
; Line 2718
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML02$[rsp]
	mov	r9, rbp
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML02$[rsp]
	call	fwrite
; Line 2719
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML03$[rsp]
	mov	r9, rbp
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML03$[rsp]
	call	fwrite
; Line 2720
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML04$[rsp]
	mov	r9, rbp
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML04$[rsp]
	call	fwrite
; Line 2721
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML05$[rsp]
	mov	r9, rbp
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML05$[rsp]
	call	fwrite
; Line 2722
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML06$[rsp]
	mov	r9, rbp
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML06$[rsp]
	call	fwrite
; Line 2723
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML07$[rsp]
	mov	r9, rbp
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML07$[rsp]
	call	fwrite
; Line 2724
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML08$[rsp]
	mov	r9, rbp
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML08$[rsp]
	call	fwrite
; Line 2725
	xor	eax, eax
	or	rcx, -1
	lea	rdi, QWORD PTR HTML09$[rsp]
	mov	r9, rbp
	repne scasb
	mov	r8, r14
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML09$[rsp]
	call	fwrite
; Line 2726
	lea	rcx, QWORD PTR CRdLFa$[rsp]
	mov	r9, rbp
	mov	r8, r14
	mov	edx, 2
	call	fwrite
; Line 2749
	lea	rcx, OFFSET FLAT:$SG7805
	mov	BYTE PTR Masterpattern$[rsp], 0
	mov	BYTE PTR Pattern1$[rsp], 0
	mov	BYTE PTR Pattern2$[rsp], 0
	mov	BYTE PTR Pattern3$[rsp], 0
	mov	BYTE PTR Pattern4$[rsp], 0
	mov	BYTE PTR P1NestedPattern1$[rsp], 0
	mov	BYTE PTR P1NestedPattern2$[rsp], 0
	mov	BYTE PTR P1NestedPattern3$[rsp], 0
	mov	BYTE PTR P2NestedPattern1$[rsp], 0
	mov	BYTE PTR P2NestedPattern2$[rsp], 0
	mov	BYTE PTR P2NestedPattern3$[rsp], 0
	mov	BYTE PTR P3NestedPattern1$[rsp], 0
	mov	BYTE PTR P3NestedPattern2$[rsp], 0
	mov	BYTE PTR P3NestedPattern3$[rsp], 0
	mov	BYTE PTR P4NestedPattern1$[rsp], 0
	mov	BYTE PTR P4NestedPattern2$[rsp], 0
	mov	BYTE PTR P4NestedPattern3$[rsp], 0
	call	printf
	lea	rcx, QWORD PTR Masterpattern$[rsp]
	call	gets
; Line 2750
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR Masterpattern$[rsp]
; Line 2751
	mov	ebx, 0
	repne scasb
	movzx	eax, BYTE PTR Masterpattern$[rsp]
	not	rcx
	dec	rcx
	test	ecx, ecx
	mov	QWORD PTR tv342[rsp], rcx
; Line 2754
	lea	rcx, OFFSET FLAT:$SG7807
	cmove	eax, ebx
	mov	BYTE PTR Masterpattern$[rsp], al
	call	printf
	lea	rcx, QWORD PTR Pattern1$[rsp]
	call	gets
; Line 2755
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR Pattern1$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv344[rsp], rcx
; Line 2756
	test	ecx, ecx
	jne	SHORT $LN116@main
	mov	BYTE PTR Pattern1$[rsp], al
; Line 2757
	jmp	$LN188@main
$LN116@main:
; Line 2758
	lea	rcx, OFFSET FLAT:$SG7810
	call	printf
	lea	rcx, QWORD PTR P1NestedPattern1$[rsp]
	call	gets
; Line 2759
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P1NestedPattern1$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv350[rsp], rcx
; Line 2760
	test	ecx, ecx
	jne	SHORT $LN114@main
	mov	BYTE PTR P1NestedPattern1$[rsp], al
; Line 2761
	jmp	$LN110@main
$LN114@main:
; Line 2762
	lea	rcx, OFFSET FLAT:$SG7813
	call	printf
	lea	rcx, QWORD PTR P1NestedPattern2$[rsp]
	call	gets
; Line 2763
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P1NestedPattern2$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv352[rsp], rcx
; Line 2764
	test	ecx, ecx
	jne	SHORT $LN112@main
	mov	BYTE PTR P1NestedPattern2$[rsp], al
; Line 2765
	jmp	SHORT $LN110@main
$LN112@main:
; Line 2766
	lea	rcx, OFFSET FLAT:$SG7816
	call	printf
	lea	rcx, QWORD PTR P1NestedPattern3$[rsp]
	call	gets
; Line 2767
	xor	eax, eax
	or	rcx, -1
	lea	rdi, QWORD PTR P1NestedPattern3$[rsp]
	repne scasb
; Line 2768
	movzx	eax, BYTE PTR P1NestedPattern3$[rsp]
	not	rcx
	dec	rcx
	test	ecx, ecx
	mov	QWORD PTR tv354[rsp], rcx
	cmove	eax, ebx
	mov	BYTE PTR P1NestedPattern3$[rsp], al
$LN110@main:
; Line 2771
	lea	rcx, OFFSET FLAT:$SG7818
	call	printf
	lea	rcx, QWORD PTR Pattern2$[rsp]
	call	gets
; Line 2772
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR Pattern2$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv356[rsp], rcx
; Line 2773
	test	ecx, ecx
	jne	SHORT $LN109@main
	mov	BYTE PTR Pattern2$[rsp], al
; Line 2774
	jmp	$LN188@main
$LN109@main:
; Line 2775
	lea	rcx, OFFSET FLAT:$SG7821
	call	printf
	lea	rcx, QWORD PTR P2NestedPattern1$[rsp]
	call	gets
; Line 2776
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P2NestedPattern1$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv362[rsp], rcx
; Line 2777
	test	ecx, ecx
	jne	SHORT $LN107@main
	mov	BYTE PTR P2NestedPattern1$[rsp], al
; Line 2778
	jmp	$LN103@main
$LN107@main:
; Line 2779
	lea	rcx, OFFSET FLAT:$SG7824
	call	printf
	lea	rcx, QWORD PTR P2NestedPattern2$[rsp]
	call	gets
; Line 2780
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P2NestedPattern2$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv364[rsp], rcx
; Line 2781
	test	ecx, ecx
	jne	SHORT $LN105@main
	mov	BYTE PTR P2NestedPattern2$[rsp], al
; Line 2782
	jmp	SHORT $LN103@main
$LN105@main:
; Line 2783
	lea	rcx, OFFSET FLAT:$SG7827
	call	printf
	lea	rcx, QWORD PTR P2NestedPattern3$[rsp]
	call	gets
; Line 2784
	xor	eax, eax
	or	rcx, -1
	lea	rdi, QWORD PTR P2NestedPattern3$[rsp]
	repne scasb
; Line 2785
	movzx	eax, BYTE PTR P2NestedPattern3$[rsp]
	not	rcx
	dec	rcx
	test	ecx, ecx
	mov	QWORD PTR tv366[rsp], rcx
	cmove	eax, ebx
	mov	BYTE PTR P2NestedPattern3$[rsp], al
$LN103@main:
; Line 2788
	lea	rcx, OFFSET FLAT:$SG7829
	call	printf
	lea	rcx, QWORD PTR Pattern3$[rsp]
	call	gets
; Line 2789
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR Pattern3$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv372[rsp], rcx
; Line 2790
	test	ecx, ecx
	jne	SHORT $LN102@main
	mov	BYTE PTR Pattern3$[rsp], al
; Line 2791
	jmp	$LN188@main
$LN102@main:
; Line 2792
	lea	rcx, OFFSET FLAT:$SG7832
	call	printf
	lea	rcx, QWORD PTR P3NestedPattern1$[rsp]
	call	gets
; Line 2793
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P3NestedPattern1$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv374[rsp], rcx
; Line 2794
	test	ecx, ecx
	jne	SHORT $LN100@main
	mov	BYTE PTR P3NestedPattern1$[rsp], al
; Line 2795
	jmp	$LN96@main
$LN100@main:
; Line 2796
	lea	rcx, OFFSET FLAT:$SG7835
	call	printf
	lea	rcx, QWORD PTR P3NestedPattern2$[rsp]
	call	gets
; Line 2797
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P3NestedPattern2$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv376[rsp], rcx
; Line 2798
	test	ecx, ecx
	jne	SHORT $LN98@main
	mov	BYTE PTR P3NestedPattern2$[rsp], al
; Line 2799
	jmp	SHORT $LN96@main
$LN98@main:
; Line 2800
	lea	rcx, OFFSET FLAT:$SG7838
	call	printf
	lea	rcx, QWORD PTR P3NestedPattern3$[rsp]
	call	gets
; Line 2801
	xor	eax, eax
	or	rcx, -1
	lea	rdi, QWORD PTR P3NestedPattern3$[rsp]
	repne scasb
; Line 2802
	movzx	eax, BYTE PTR P3NestedPattern3$[rsp]
	not	rcx
	dec	rcx
	test	ecx, ecx
	mov	QWORD PTR tv524[rsp], rcx
	cmove	eax, ebx
	mov	BYTE PTR P3NestedPattern3$[rsp], al
$LN96@main:
; Line 2805
	lea	rcx, OFFSET FLAT:$SG7840
	call	printf
	lea	rcx, QWORD PTR Pattern4$[rsp]
	call	gets
; Line 2806
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR Pattern4$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv1205[rsp], rcx
; Line 2807
	test	ecx, ecx
	jne	SHORT $LN95@main
	mov	BYTE PTR Pattern4$[rsp], al
; Line 2808
	jmp	$LN188@main
$LN95@main:
; Line 2809
	lea	rcx, OFFSET FLAT:$SG7843
	call	printf
	lea	rcx, QWORD PTR P4NestedPattern1$[rsp]
	call	gets
; Line 2810
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P4NestedPattern1$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv1306[rsp], rcx
; Line 2811
	test	ecx, ecx
	jne	SHORT $LN93@main
	mov	BYTE PTR P4NestedPattern1$[rsp], al
; Line 2812
	jmp	$LN188@main
$LN93@main:
; Line 2813
	lea	rcx, OFFSET FLAT:$SG7846
	call	printf
	lea	rcx, QWORD PTR P4NestedPattern2$[rsp]
	call	gets
; Line 2814
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P4NestedPattern2$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv2003[rsp], rcx
; Line 2815
	test	ecx, ecx
	jne	SHORT $LN91@main
	mov	BYTE PTR P4NestedPattern2$[rsp], al
; Line 2816
	jmp	SHORT $LN188@main
$LN91@main:
; Line 2817
	lea	rcx, OFFSET FLAT:$SG7849
	call	printf
	lea	rcx, QWORD PTR P4NestedPattern3$[rsp]
	call	gets
; Line 2818
	xor	eax, eax
	or	rcx, -1
	lea	rdi, QWORD PTR P4NestedPattern3$[rsp]
	repne scasb
; Line 2819
	movzx	eax, BYTE PTR P4NestedPattern3$[rsp]
	not	rcx
	dec	rcx
	test	ecx, ecx
	mov	QWORD PTR tv2007[rsp], rcx
	cmove	eax, ebx
	mov	BYTE PTR P4NestedPattern3$[rsp], al
$LN188@main:
; Line 2828
	call	kbhit
	test	eax, eax
	je	SHORT $LN87@main
	npad	1
$LL88@main:
	call	getch
	call	kbhit
	test	eax, eax
	jne	SHORT $LL88@main
$LN87@main:
	movaps	XMMWORD PTR [rsp+8384], xmm6
; Line 2830
	lea	rcx, QWORD PTR t1$[rsp]
	movaps	XMMWORD PTR [rsp+8368], xmm7
	movaps	XMMWORD PTR [rsp+8352], xmm8
	call	_time64
	xor	edi, edi
; Line 2831
	mov	DWORD PTR k$1$[rsp], ebx
	cmp	DWORD PTR size_in$1$[rsp], ebx
	jbe	$LN237@main
	movsdx	xmm8, QWORD PTR __real@3ff0000000000000
$LL86@main:
; Line 2833
	call	kbhit
	test	eax, eax
	je	SHORT $LN83@main
	call	getch
	cmp	eax, 27
	je	$LN190@main
$LN83@main:
; Line 2837
	lea	rcx, QWORD PTR workbyte$[rsp]
	mov	r9, rsi
	mov	r8, r14
	mov	rdx, r14
	call	fread
; Line 2838
	movzx	r11d, BYTE PTR workbyte$[rsp]
	cmp	r11b, 10
	je	SHORT $LN82@main
; Line 2839
	cmp	r11b, 13
	je	$LN85@main
; Line 2840
	mov	eax, DWORD PTR LINE10len$1$[rsp]
	cmp	eax, 2048				; 00000800H
	jae	SHORT $LN80@main
	mov	BYTE PTR LINE10$[rsp+rdi], r11b
$LN80@main:
; Line 2841
	inc	eax
	inc	rdi
	mov	DWORD PTR LINE10len$1$[rsp], eax
; Line 2847
	jmp	$LN85@main
$LN82@main:
; Line 2848
	mov	eax, DWORD PTR LINE10len$1$[rsp]
	dec	eax
	cmp	eax, 2047				; 000007ffH
	ja	$LN85@main
; Line 2851
	lea	rdx, OFFSET FLAT:$SG7867
	lea	rcx, QWORD PTR LINE10$[rsp]
	mov	BYTE PTR LINE10$[rsp+rdi], 0
	call	fopen
	mov	rbp, rax
	test	rax, rax
	je	$LN191@main
; Line 2854
	lea	rdx, QWORD PTR LINE10$[rsp]
	lea	rcx, OFFSET FLAT:$SG7869
	call	printf
; Line 2855
	call	clock
; Line 2857
	cmp	DWORD PTR SearchAlgorithm, 5
	je	SHORT $LN75@main
; Line 2858
	lea	rcx, OFFSET FLAT:$SG7871
	call	printf
$LN75@main:
; Line 2859
	call	clock
; Line 2868
	xor	edx, edx
	mov	rcx, rbp
	lea	r8d, QWORD PTR [rdx+2]
	mov	edi, eax
	call	fseek
; Line 2869
	mov	rcx, rbp
	call	ftell
; Line 2871
	xor	r8d, r8d
	xor	edx, edx
	movsxd	rsi, eax
	mov	rcx, rbp
	mov	rbx, rsi
	call	fseek
; Line 2874
	cmp	DWORD PTR SearchAlgorithm, 5
	je	SHORT $LN74@main
; Line 2875
	mov	rcx, QWORD PTR MeBufferKAZE
	mov	r9, rbp
	mov	r8, rsi
	add	rcx, 134217728				; 08000000H
	mov	rdx, r14
	call	fread
; Line 2876
	jmp	SHORT $LN73@main
$LN74@main:
; Line 2877
	mov	rcx, QWORD PTR MeBufferKAZE
	mov	r9, rbp
	mov	r8, rsi
	mov	rdx, r14
	call	fread
$LN73@main:
; Line 2878
	mov	eax, DWORD PTR SearchAlgorithm
	cmp	eax, 5
	je	SHORT $LN72@main
	cmp	eax, 5
	jge	SHORT $LN72@main
; Line 2879
	mov	rcx, QWORD PTR MeBufferKAZE
	add	rcx, 134217728				; 08000000H
	call	qlz_size_decompressed
	mov	rsi, rax
$LN72@main:
; Line 2880
	mov	QWORD PTR FileLENde$[rsp], rsi
; Line 2883
	call	clock
; Line 2886
	mov	ecx, DWORD PTR SearchAlgorithm
	movd	xmm7, edi
	movd	xmm6, eax
	cvtdq2pd xmm7, xmm7
	cvtdq2pd xmm6, xmm6
	movapd	xmm0, xmm6
	addsd	xmm0, xmm10
	movapd	xmm10, xmm0
	subsd	xmm10, xmm7
	cmp	ecx, 5
	je	$LN68@main
	lea	eax, DWORD PTR [rcx-1]
	cmp	eax, 3
	ja	SHORT $LN71@main
; Line 2887
	mov	rdx, QWORD PTR MeBufferKAZE
	mov	r8, QWORD PTR scratch$1$[rsp]
	lea	rcx, QWORD PTR [rdx+134217728]
	call	qlz_decompress
	mov	ecx, DWORD PTR SearchAlgorithm
$LN71@main:
; Line 2890
	cmp	ecx, 5
	je	$LN68@main
	lea	eax, DWORD PTR [rcx-111]
	cmp	eax, 333				; 0000014dH
	ja	$LN236@main
; Line 2891
	mov	r8, QWORD PTR MeBufferKAZE
	movzx	eax, BYTE PTR [r8+134217728]
	shr	eax, 5
	inc	eax
	cmp	eax, r14d
	jne	SHORT $LN175@main
	lea	rcx, QWORD PTR [r8+134217728]
	mov	r9d, 134217727				; 07ffffffH
	mov	edx, ebx
	call	fastlz1_decompress
	mov	ecx, DWORD PTR SearchAlgorithm
	mov	r8, QWORD PTR MeBufferKAZE
	movsxd	rsi, eax
	mov	QWORD PTR FileLENde$[rsp], rsi
	jmp	SHORT $LN70@main
$LN175@main:
	cmp	eax, 2
	jne	SHORT $LN174@main
	lea	rcx, QWORD PTR [r8+134217728]
	mov	r9d, 134217727				; 07ffffffH
	mov	edx, ebx
	call	fastlz2_decompress
	mov	ecx, DWORD PTR SearchAlgorithm
	mov	r8, QWORD PTR MeBufferKAZE
	movsxd	rsi, eax
	mov	QWORD PTR FileLENde$[rsp], rsi
	jmp	SHORT $LN70@main
$LN174@main:
	xor	eax, eax
	movsxd	rsi, eax
	mov	QWORD PTR FileLENde$[rsp], rsi
	jmp	SHORT $LN70@main
$LN236@main:
	mov	r8, QWORD PTR MeBufferKAZE
$LN70@main:
; Line 2894
	cmp	ecx, 5
	je	SHORT $LN68@main
	lea	eax, DWORD PTR [rcx-1111]
	cmp	eax, 3333				; 00000d05H
	ja	SHORT $LN69@main
; Line 2895
	lea	rcx, QWORD PTR [r8+134217728]
	lea	r9, QWORD PTR FileLENde$[rsp]
	mov	edx, ebx
	call	DecodeKAZE2
	mov	rsi, QWORD PTR FileLENde$[rsp]
	mov	ecx, DWORD PTR SearchAlgorithm
	mov	r8, QWORD PTR MeBufferKAZE
$LN69@main:
; Line 2898
	cmp	ecx, 5
	je	SHORT $LN68@main
	lea	eax, DWORD PTR [rcx-11]
	cmp	eax, 33					; 00000021H
	ja	SHORT $LN68@main
; Line 2899
	lea	rcx, QWORD PTR [r8+134217728]
	lea	r9, QWORD PTR out_len$[rsp]
	mov	rdx, rbx
	mov	QWORD PTR [rsp+32], 0
	call	lzo1x_decompress
; Line 2900
	test	eax, eax
	jne	$LN67@main
; Line 2909
	mov	rsi, QWORD PTR out_len$[rsp]
$LN68@main:
; Line 2914
	call	clock
	movd	xmm1, eax
	cvtdq2pd xmm1, xmm1
	movapd	xmm0, xmm1
; Line 2915
	addsd	xmm1, xmm12
	addsd	xmm0, xmm11
	movapd	xmm12, xmm1
	movapd	xmm11, xmm0
	subsd	xmm12, xmm7
	subsd	xmm11, xmm6
; Line 2916
	ucomisd	xmm11, xmm13
	jp	SHORT $LN65@main
	jne	SHORT $LN65@main
	addsd	xmm11, xmm8
$LN65@main:
; Line 2917
	ucomisd	xmm10, xmm13
	jp	SHORT $LN64@main
	jne	SHORT $LN64@main
	addsd	xmm10, xmm8
$LN64@main:
; Line 2918
	ucomisd	xmm12, xmm13
	jp	SHORT $LN63@main
	jne	SHORT $LN63@main
	addsd	xmm12, xmm8
$LN63@main:
; Line 2919
	mov	rdi, QWORD PTR FilesLENen$1$[rsp]
; Line 2920
	add	QWORD PTR FilesLENde$1$[rsp], rsi
; Line 2921
	xor	edx, edx
	cvttsd2si eax, xmm10
	movsxd	rcx, eax
	add	rdi, rbx
	mov	r8d, 10
	mov	rax, rdi
	mov	QWORD PTR FilesLENen$1$[rsp], rdi
	div	rcx
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	shr	rax, 10
	mov	rcx, rax
	call	_ui64toaKAZEzerocomma
	lea	rcx, OFFSET FLAT:$SG7888
	lea	rdx, QWORD PTR [rax+19]
	call	printf
; Line 2922
	cmp	DWORD PTR SearchAlgorithm, 5
	je	$LN62@main
; Line 2923
	xor	edx, edx
	cvttsd2si eax, xmm11
	mov	r8d, 10
	movsxd	rbx, eax
	mov	rax, QWORD PTR FilesLENde$1$[rsp]
	div	rbx
	lea	rdx, QWORD PTR llTOaDigits2$[rsp]
	shr	rax, 10
	mov	rcx, rax
	call	_ui64toaKAZEzerocomma
	xor	edx, edx
	mov	r8d, 10
	mov	rdi, rax
	mov	rax, QWORD PTR FilesLENen$1$[rsp]
	div	rbx
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	shr	rax, 10
	mov	rcx, rax
	call	_ui64toaKAZEzerocomma
	lea	r8, QWORD PTR [rdi+19]
	lea	rcx, OFFSET FLAT:$SG7892
	lea	rdx, QWORD PTR [rax+19]
	call	printf
; Line 2924
	mov	rax, QWORD PTR FilesLENde$1$[rsp]
	mov	r8d, 10
	cvttsd2si edx, xmm12
	movsxd	rbx, edx
	xor	edx, edx
	div	rbx
	lea	rdx, QWORD PTR llTOaDigits2$[rsp]
	shr	rax, 10
	mov	rcx, rax
	call	_ui64toaKAZEzerocomma
	xor	edx, edx
	mov	r8d, 10
	mov	rdi, rax
	mov	rax, QWORD PTR FilesLENen$1$[rsp]
	div	rbx
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	shr	rax, 10
	mov	rcx, rax
	call	_ui64toaKAZEzerocomma
	lea	r8, QWORD PTR [rdi+19]
	lea	rcx, OFFSET FLAT:$SG7895
	lea	rdx, QWORD PTR [rax+19]
	call	printf
$LN62@main:
; Line 2926
	mov	rcx, rbp
	call	fclose
; Line 2933
	mov	rdi, QWORD PTR tv342[rsp]
	test	edi, edi
	je	SHORT $LN197@main
; Line 2934
	call	clock
; Line 2935
	lea	rcx, OFFSET FLAT:$SG7897
	mov	ebx, eax
	call	printf
; Line 2936
	mov	rcx, QWORD PTR MeBufferKAZE
	lea	rdx, QWORD PTR Masterpattern$[rsp]
	mov	r9d, edi
	mov	r8d, esi
	call	IgorPavlovNoDUMP
	mov	edi, eax
; Line 2937
	call	clock
	sub	eax, ebx
	movd	xmm0, eax
	cvtdq2pd xmm0, xmm0
	addsd	xmm9, xmm0
; Line 2940
	test	edi, edi
	je	$LN240@main
$LN197@main:
; Line 2943
	mov	rdi, QWORD PTR tv344[rsp]
	test	edi, edi
	je	$LN58@main
; Line 2944
	call	clock
; Line 2945
	lea	rcx, OFFSET FLAT:$SG7903
	mov	ebx, eax
	call	printf
; Line 2946
	mov	rbp, QWORD PTR tv350[rsp]
	mov	rcx, QWORD PTR MeBufferKAZE
	lea	r11, QWORD PTR Bastumante2$[rsp]
	lea	rax, QWORD PTR INIHDDRAM$[rsp]
	mov	QWORD PTR [rsp+96], r11
	mov	QWORD PTR [rsp+88], rax
	mov	rax, QWORD PTR tv354[rsp]
	mov	DWORD PTR [rsp+80], eax
	lea	rax, QWORD PTR P1NestedPattern3$[rsp]
	lea	rdx, QWORD PTR Pattern1$[rsp]
	mov	QWORD PTR [rsp+72], rax
	mov	rax, QWORD PTR tv352[rsp]
	mov	r9d, edi
	mov	DWORD PTR [rsp+64], eax
	lea	rax, QWORD PTR P1NestedPattern2$[rsp]
	mov	r8d, esi
	mov	QWORD PTR [rsp+56], rax
	lea	rax, QWORD PTR P1NestedPattern1$[rsp]
	mov	DWORD PTR [rsp+48], ebp
	mov	QWORD PTR [rsp+40], rax
	mov	QWORD PTR [rsp+32], r12
	call	IgorPavlov
	mov	edi, eax
; Line 2952
	test	eax, eax
	je	SHORT $LN57@main
	cmp	DWORD PTR SearchAlgorithm, 5
	jne	SHORT $LN57@main
; Line 2953
	lea	r9, QWORD PTR LINE10$[rsp]
	lea	rdx, OFFSET FLAT:$SG7906
	mov	r8d, eax
	mov	rcx, r12
	call	fprintf
; Line 2954
	lea	r11, QWORD PTR P1NestedPattern3$[rsp]
	lea	rax, QWORD PTR P1NestedPattern2$[rsp]
	mov	QWORD PTR [rsp+48], r11
	mov	QWORD PTR [rsp+40], rax
	lea	rax, QWORD PTR P1NestedPattern1$[rsp]
	lea	r9, QWORD PTR Pattern1$[rsp]
	lea	rdx, OFFSET FLAT:$SG7907
	mov	r8d, edi
	mov	rcx, r12
	mov	QWORD PTR [rsp+32], rax
	call	fprintf
$LN57@main:
; Line 2957
	mov	ecx, DWORD PTR hits1$1$[rsp]
; Line 2958
	mov	eax, DWORD PTR hits1flag$1$[rsp]
	add	ecx, edi
	cmovne	eax, r14d
	mov	DWORD PTR hits1$1$[rsp], ecx
	mov	DWORD PTR hits1flag$1$[rsp], eax
; Line 2959
	test	ebp, ebp
	jne	SHORT $LN55@main
	lea	r8d, QWORD PTR [rbp+10]
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	movsxd	rcx, ecx
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7910
	mov	rdx, rax
	call	printf
	jmp	SHORT $LN54@main
$LN55@main:
; Line 2960
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	movsxd	rcx, ecx
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7912
	mov	rdx, rax
	call	printf
$LN54@main:
; Line 2961
	call	clock
	sub	eax, ebx
	movd	xmm0, eax
	cvtdq2pd xmm0, xmm0
	addsd	xmm9, xmm0
$LN58@main:
; Line 2964
	mov	rdi, QWORD PTR tv356[rsp]
	test	edi, edi
	je	$LN53@main
; Line 2965
	call	clock
; Line 2966
	lea	rcx, OFFSET FLAT:$SG7915
	mov	ebx, eax
	call	printf
; Line 2967
	mov	rbp, QWORD PTR tv362[rsp]
	mov	rcx, QWORD PTR MeBufferKAZE
	lea	r11, QWORD PTR Bastumante2$[rsp]
	lea	rax, QWORD PTR INIHDDRAM$[rsp]
	mov	QWORD PTR [rsp+96], r11
	mov	QWORD PTR [rsp+88], rax
	mov	rax, QWORD PTR tv366[rsp]
	mov	DWORD PTR [rsp+80], eax
	lea	rax, QWORD PTR P2NestedPattern3$[rsp]
	lea	rdx, QWORD PTR Pattern2$[rsp]
	mov	QWORD PTR [rsp+72], rax
	mov	rax, QWORD PTR tv364[rsp]
	mov	r9d, edi
	mov	DWORD PTR [rsp+64], eax
	lea	rax, QWORD PTR P2NestedPattern2$[rsp]
	mov	r8d, esi
	mov	QWORD PTR [rsp+56], rax
	lea	rax, QWORD PTR P2NestedPattern1$[rsp]
	mov	DWORD PTR [rsp+48], ebp
	mov	QWORD PTR [rsp+40], rax
	mov	QWORD PTR [rsp+32], r15
	call	IgorPavlov
	mov	edi, eax
; Line 2969
	test	eax, eax
	je	SHORT $LN52@main
	cmp	DWORD PTR SearchAlgorithm, 5
	jne	SHORT $LN52@main
; Line 2970
	lea	r9, QWORD PTR LINE10$[rsp]
	lea	rdx, OFFSET FLAT:$SG7918
	mov	r8d, eax
	mov	rcx, r15
	call	fprintf
; Line 2971
	lea	r11, QWORD PTR P2NestedPattern3$[rsp]
	lea	rax, QWORD PTR P2NestedPattern2$[rsp]
	mov	QWORD PTR [rsp+48], r11
	mov	QWORD PTR [rsp+40], rax
	lea	rax, QWORD PTR P2NestedPattern1$[rsp]
	lea	r9, QWORD PTR Pattern2$[rsp]
	lea	rdx, OFFSET FLAT:$SG7919
	mov	r8d, edi
	mov	rcx, r15
	mov	QWORD PTR [rsp+32], rax
	call	fprintf
$LN52@main:
; Line 2974
	mov	ecx, DWORD PTR hits2$1$[rsp]
; Line 2975
	mov	eax, DWORD PTR hits2flag$1$[rsp]
	add	ecx, edi
	cmovne	eax, r14d
	mov	DWORD PTR hits2$1$[rsp], ecx
	mov	DWORD PTR hits2flag$1$[rsp], eax
; Line 2976
	test	ebp, ebp
	jne	SHORT $LN50@main
	lea	r8d, QWORD PTR [rbp+10]
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	movsxd	rcx, ecx
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7922
	mov	rdx, rax
	call	printf
	jmp	SHORT $LN49@main
$LN50@main:
; Line 2977
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	movsxd	rcx, ecx
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7924
	mov	rdx, rax
	call	printf
$LN49@main:
; Line 2978
	call	clock
	sub	eax, ebx
	movd	xmm0, eax
	cvtdq2pd xmm0, xmm0
	addsd	xmm9, xmm0
$LN53@main:
; Line 2981
	mov	rdi, QWORD PTR tv372[rsp]
	test	edi, edi
	je	$LN48@main
; Line 2982
	call	clock
; Line 2983
	lea	rcx, OFFSET FLAT:$SG7927
	mov	ebx, eax
	call	printf
; Line 2984
	mov	rbp, QWORD PTR tv374[rsp]
	mov	rcx, QWORD PTR MeBufferKAZE
	lea	r11, QWORD PTR Bastumante2$[rsp]
	lea	rax, QWORD PTR INIHDDRAM$[rsp]
	mov	QWORD PTR [rsp+96], r11
	mov	QWORD PTR [rsp+88], rax
	mov	rax, QWORD PTR tv524[rsp]
	mov	DWORD PTR [rsp+80], eax
	lea	rax, QWORD PTR P3NestedPattern3$[rsp]
	lea	rdx, QWORD PTR Pattern3$[rsp]
	mov	QWORD PTR [rsp+72], rax
	mov	rax, QWORD PTR tv376[rsp]
	mov	r9d, edi
	mov	DWORD PTR [rsp+64], eax
	lea	rax, QWORD PTR P3NestedPattern2$[rsp]
	mov	r8d, esi
	mov	QWORD PTR [rsp+56], rax
	lea	rax, QWORD PTR P3NestedPattern1$[rsp]
	mov	DWORD PTR [rsp+48], ebp
	mov	QWORD PTR [rsp+40], rax
	mov	QWORD PTR [rsp+32], r13
	call	IgorPavlov
	mov	edi, eax
; Line 2986
	test	eax, eax
	je	SHORT $LN47@main
	cmp	DWORD PTR SearchAlgorithm, 5
	jne	SHORT $LN47@main
; Line 2987
	lea	r9, QWORD PTR LINE10$[rsp]
	lea	rdx, OFFSET FLAT:$SG7930
	mov	r8d, eax
	mov	rcx, r13
	call	fprintf
; Line 2988
	lea	r11, QWORD PTR P3NestedPattern3$[rsp]
	lea	rax, QWORD PTR P3NestedPattern2$[rsp]
	mov	QWORD PTR [rsp+48], r11
	mov	QWORD PTR [rsp+40], rax
	lea	rax, QWORD PTR P3NestedPattern1$[rsp]
	lea	r9, QWORD PTR Pattern3$[rsp]
	lea	rdx, OFFSET FLAT:$SG7931
	mov	r8d, edi
	mov	rcx, r13
	mov	QWORD PTR [rsp+32], rax
	call	fprintf
$LN47@main:
; Line 2991
	mov	ecx, DWORD PTR hits3$1$[rsp]
; Line 2992
	mov	eax, DWORD PTR hits3flag$1$[rsp]
	add	ecx, edi
	cmovne	eax, r14d
	mov	DWORD PTR hits3$1$[rsp], ecx
	mov	DWORD PTR hits3flag$1$[rsp], eax
; Line 2993
	test	ebp, ebp
	jne	SHORT $LN45@main
	lea	r8d, QWORD PTR [rbp+10]
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	movsxd	rcx, ecx
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7934
	mov	rdx, rax
	call	printf
	jmp	SHORT $LN44@main
$LN45@main:
; Line 2994
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	movsxd	rcx, ecx
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7936
	mov	rdx, rax
	call	printf
$LN44@main:
; Line 2995
	call	clock
	sub	eax, ebx
	movd	xmm0, eax
	cvtdq2pd xmm0, xmm0
	addsd	xmm9, xmm0
$LN48@main:
; Line 2998
	mov	rdi, QWORD PTR tv1205[rsp]
	test	edi, edi
	je	$LN239@main
; Line 2999
	call	clock
; Line 3000
	lea	rcx, OFFSET FLAT:$SG7939
	mov	ebx, eax
	call	printf
; Line 3001
	mov	rbp, QWORD PTR fp_outLOG4$1$[rsp]
	mov	rcx, QWORD PTR MeBufferKAZE
	lea	r11, QWORD PTR Bastumante2$[rsp]
	lea	rax, QWORD PTR INIHDDRAM$[rsp]
	mov	QWORD PTR [rsp+96], r11
	mov	QWORD PTR [rsp+88], rax
	mov	rax, QWORD PTR tv2007[rsp]
	mov	DWORD PTR [rsp+80], eax
	lea	rax, QWORD PTR P4NestedPattern3$[rsp]
	lea	rdx, QWORD PTR Pattern4$[rsp]
	mov	QWORD PTR [rsp+72], rax
	mov	rax, QWORD PTR tv2003[rsp]
	mov	r9d, edi
	mov	DWORD PTR [rsp+64], eax
	lea	rax, QWORD PTR P4NestedPattern2$[rsp]
	mov	r8d, esi
	mov	QWORD PTR [rsp+56], rax
	mov	rax, QWORD PTR tv1306[rsp]
	mov	DWORD PTR [rsp+48], eax
	lea	rax, QWORD PTR P4NestedPattern1$[rsp]
	mov	QWORD PTR [rsp+40], rax
	mov	QWORD PTR [rsp+32], rbp
	call	IgorPavlov
	mov	edi, eax
; Line 3003
	test	eax, eax
	je	SHORT $LN42@main
	cmp	DWORD PTR SearchAlgorithm, 5
	jne	SHORT $LN42@main
; Line 3004
	lea	r9, QWORD PTR LINE10$[rsp]
	lea	rdx, OFFSET FLAT:$SG7942
	mov	r8d, eax
	mov	rcx, rbp
	call	fprintf
; Line 3005
	lea	r11, QWORD PTR P4NestedPattern3$[rsp]
	lea	rax, QWORD PTR P4NestedPattern2$[rsp]
	mov	QWORD PTR [rsp+48], r11
	mov	QWORD PTR [rsp+40], rax
	lea	rax, QWORD PTR P4NestedPattern1$[rsp]
	lea	r9, QWORD PTR Pattern4$[rsp]
	lea	rdx, OFFSET FLAT:$SG7943
	mov	r8d, edi
	mov	rcx, rbp
	mov	QWORD PTR [rsp+32], rax
	call	fprintf
$LN42@main:
; Line 3008
	mov	ecx, DWORD PTR hits4$1$[rsp]
; Line 3009
	mov	eax, DWORD PTR hits4flag$1$[rsp]
	add	ecx, edi
	cmovne	eax, r14d
; Line 3010
	cmp	DWORD PTR tv1306[rsp], 0
	mov	DWORD PTR hits4$1$[rsp], ecx
	mov	DWORD PTR hits4flag$1$[rsp], eax
	jne	SHORT $LN40@main
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	movsxd	rcx, ecx
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7946
	mov	rdx, rax
	call	printf
	jmp	SHORT $LN39@main
$LN40@main:
; Line 3011
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	movsxd	rcx, ecx
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7948
	mov	rdx, rax
	call	printf
$LN39@main:
; Line 3012
	call	clock
	sub	eax, ebx
	movd	xmm0, eax
	cvtdq2pd xmm0, xmm0
	addsd	xmm9, xmm0
	jmp	SHORT $LN43@main
$LN239@main:
; Line 2715
	mov	rbp, QWORD PTR fp_outLOG4$1$[rsp]
	jmp	SHORT $LN43@main
$LN240@main:
	mov	rbp, QWORD PTR fp_outLOG4$1$[rsp]
$LN43@main:
	mov	ebx, DWORD PTR k$1$[rsp]
	mov	rsi, QWORD PTR fp_in$1$[rsp]
; Line 3017
	xor	eax, eax
	mov	DWORD PTR LINE10len$1$[rsp], eax
	mov	rdi, rax
; Line 3018
	mov	BYTE PTR LINE10$[rsp], al
$LN85@main:
	inc	ebx
	mov	DWORD PTR k$1$[rsp], ebx
	cmp	ebx, DWORD PTR size_in$1$[rsp]
	jb	$LL86@main
$LN237@main:
; Line 3022
	lea	rcx, QWORD PTR t3$[rsp]
	call	_time64
; Line 3023
	lea	rcx, OFFSET FLAT:$SG7950
	call	printf
; Line 3024
	mov	rax, QWORD PTR FilesLENen$1$[rsp]
	mov	r8d, 10
	cvttsd2si edx, xmm10
	movsxd	rsi, edx
	xor	edx, edx
	div	rsi
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	shr	rax, 10
	mov	rcx, rax
	call	_ui64toaKAZEzerocomma
	lea	rcx, OFFSET FLAT:$SG7952
	lea	rdx, QWORD PTR [rax+19]
	call	printf
; Line 3025
	cmp	DWORD PTR SearchAlgorithm, 5
	je	$LN38@main
; Line 3026
	xor	edx, edx
	cvttsd2si eax, xmm11
	mov	r8d, 10
	movsxd	rbx, eax
	mov	rax, QWORD PTR FilesLENde$1$[rsp]
	div	rbx
	lea	rdx, QWORD PTR llTOaDigits2$[rsp]
	shr	rax, 10
	mov	rcx, rax
	call	_ui64toaKAZEzerocomma
	xor	edx, edx
	mov	r8d, 10
	mov	rdi, rax
	mov	rax, QWORD PTR FilesLENen$1$[rsp]
	div	rbx
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	shr	rax, 10
	mov	rcx, rax
	call	_ui64toaKAZEzerocomma
	lea	r8, QWORD PTR [rdi+19]
	lea	rcx, OFFSET FLAT:$SG7956
	lea	rdx, QWORD PTR [rax+19]
	call	printf
; Line 3027
	mov	rax, QWORD PTR FilesLENde$1$[rsp]
	mov	r8d, 10
	cvttsd2si edx, xmm12
	movsxd	rbx, edx
	xor	edx, edx
	div	rbx
	lea	rdx, QWORD PTR llTOaDigits2$[rsp]
	shr	rax, 10
	mov	rcx, rax
	call	_ui64toaKAZEzerocomma
	xor	edx, edx
	mov	r8d, 10
	mov	rdi, rax
	mov	rax, QWORD PTR FilesLENen$1$[rsp]
	div	rbx
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	shr	rax, 10
	mov	rcx, rax
	call	_ui64toaKAZEzerocomma
	lea	r8, QWORD PTR [rdi+19]
	lea	rcx, OFFSET FLAT:$SG7959
	lea	rdx, QWORD PTR [rax+19]
	call	printf
$LN38@main:
; Line 3029
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	mov	rcx, rsi
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7961
	mov	rdx, rax
	call	printf
; Line 3030
	cmp	DWORD PTR SearchAlgorithm, 5
	je	SHORT $LN37@main
; Line 3031
	cvttsd2si eax, xmm11
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	movsxd	rcx, eax
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7964
	mov	rdx, rax
	call	printf
$LN37@main:
; Line 3032
	cvttsd2si eax, xmm9
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	movsxd	rcx, eax
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7966
	mov	rdx, rax
	call	printf
; Line 3033
	movsxd	rdx, DWORD PTR t3$[rsp]
	lea	rcx, OFFSET FLAT:$SG7968
	sub	rdx, QWORD PTR t1$[rsp]
	call	printf
; Line 3034
	mov	rcx, QWORD PTR FilesLENde$1$[rsp]
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7969
	mov	rdx, rax
	call	printf
; Line 3036
	movsxd	rcx, DWORD PTR SearchAlgorithm_invocations_global_counter
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7970
	mov	rdx, rax
	call	printf
; Line 3042
	cmp	DWORD PTR SearchAlgorithm, 5
	je	$LN33@main
; Line 3044
	movsxd	rcx, DWORD PTR VIVA_IgorPavlov_invocations_global_counter
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7972
	mov	rdx, rax
	call	printf
; Line 3045
	movsxd	rcx, DWORD PTR WildGLOBALhits
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7973
	mov	rdx, rax
	call	printf
; Line 3046
	mov	r8d, 10
	cvttsd2si edx, QWORD PTR clocksGW
	movsxd	rcx, edx
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7975
	mov	rdx, rax
	call	printf
; Line 3047
	movsdx	xmm5, QWORD PTR clocksGW
	ucomisd	xmm5, xmm13
	jp	SHORT $LN201@main
	je	SHORT $LN35@main
$LN201@main:
; Line 3048
	xor	edx, edx
	cvttsd2si eax, xmm5
	mov	r8d, 10
	movsxd	rcx, eax
	mov	rax, QWORD PTR clocksGWtxt
	div	rcx
	lea	rdx, QWORD PTR llTOaDigits2$[rsp]
	shr	rax, 10
	mov	rcx, rax
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7978
	mov	rdx, rax
	call	printf
$LN35@main:
; Line 3050
	movsxd	rcx, DWORD PTR HORSPOOLhits_invocations_global_counter
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7979
	mov	rdx, rax
	call	printf
; Line 3051
	movsxd	rcx, DWORD PTR HorspoolGLOBALhits
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7980
	mov	rdx, rax
	call	printf
; Line 3052
	mov	r8d, 10
	cvttsd2si edx, QWORD PTR clocksGH
	movsxd	rcx, edx
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7982
	mov	rdx, rax
	call	printf
; Line 3053
	movsdx	xmm5, QWORD PTR clocksGH
	ucomisd	xmm5, xmm13
	jp	SHORT $LN200@main
	je	SHORT $LN34@main
$LN200@main:
; Line 3054
	xor	edx, edx
	cvttsd2si eax, xmm5
	mov	r8d, 10
	movsxd	rcx, eax
	mov	rax, QWORD PTR clocksGHtxt
	div	rcx
	lea	rdx, QWORD PTR llTOaDigits2$[rsp]
	shr	rax, 10
	mov	rcx, rax
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7985
	mov	rdx, rax
	call	printf
$LN34@main:
; Line 3056
	movsxd	rcx, DWORD PTR KarpRabinKazeHits_invocations_global_counter
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7986
	mov	rdx, rax
	call	printf
; Line 3057
	movsxd	rcx, DWORD PTR FRKFindSubpbGLOBALHITS
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7987
	mov	rdx, rax
	call	printf
; Line 3058
	mov	r8d, 10
	cvttsd2si edx, QWORD PTR clocksGK
	movsxd	rcx, edx
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7989
	mov	rdx, rax
	call	printf
; Line 3059
	movsdx	xmm5, QWORD PTR clocksGK
	ucomisd	xmm5, xmm13
	jp	SHORT $LN199@main
	je	SHORT $LN33@main
$LN199@main:
; Line 3060
	xor	edx, edx
	cvttsd2si eax, xmm5
	mov	r8d, 10
	movsxd	rcx, eax
	mov	rax, QWORD PTR clocksGKtxt
	div	rcx
	lea	rdx, QWORD PTR llTOaDigits2$[rsp]
	shr	rax, 10
	mov	rcx, rax
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7992
	mov	rdx, rax
	call	printf
$LN33@main:
; Line 3063
	cmp	DWORD PTR hits1flag$1$[rsp], 0
	je	$LN32@main
; Line 3066
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML12$[rsp]
	repne scasb
	mov	r9, r12
	mov	r8, r14
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML12$[rsp]
	call	fwrite
; Line 3067
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML13$[rsp]
	mov	r9, r12
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML13$[rsp]
	call	fwrite
; Line 3068
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML14$[rsp]
	mov	r9, r12
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML14$[rsp]
	call	fwrite
; Line 3069
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML15$[rsp]
	mov	r9, r12
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML15$[rsp]
	call	fwrite
$LN32@main:
; Line 3071
	cmp	DWORD PTR hits2flag$1$[rsp], 0
	je	$LN31@main
; Line 3074
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML12$[rsp]
	repne scasb
	mov	r9, r15
	mov	r8, r14
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML12$[rsp]
	call	fwrite
; Line 3075
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML13$[rsp]
	mov	r9, r15
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML13$[rsp]
	call	fwrite
; Line 3076
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML14$[rsp]
	mov	r9, r15
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML14$[rsp]
	call	fwrite
; Line 3077
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML15$[rsp]
	mov	r9, r15
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML15$[rsp]
	call	fwrite
$LN31@main:
; Line 3079
	cmp	DWORD PTR hits3flag$1$[rsp], 0
	je	$LN30@main
; Line 3082
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML12$[rsp]
	repne scasb
	mov	r9, r13
	mov	r8, r14
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML12$[rsp]
	call	fwrite
; Line 3083
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML13$[rsp]
	mov	r9, r13
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML13$[rsp]
	call	fwrite
; Line 3084
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML14$[rsp]
	mov	r9, r13
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML14$[rsp]
	call	fwrite
; Line 3085
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML15$[rsp]
	mov	r9, r13
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML15$[rsp]
	call	fwrite
$LN30@main:
; Line 3087
	cmp	DWORD PTR hits4flag$1$[rsp], 0
	je	$LN29@main
; Line 3090
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML12$[rsp]
	repne scasb
	mov	r9, rbp
	mov	r8, r14
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML12$[rsp]
	call	fwrite
; Line 3091
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML13$[rsp]
	mov	r9, rbp
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML13$[rsp]
	call	fwrite
; Line 3092
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML14$[rsp]
	mov	r9, rbp
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML14$[rsp]
	call	fwrite
; Line 3093
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR HTML15$[rsp]
	mov	r9, rbp
	mov	r8, r14
	repne scasb
	not	rcx
	lea	rdx, QWORD PTR [rcx-1]
	lea	rcx, QWORD PTR HTML15$[rsp]
	call	fwrite
$LN29@main:
; Line 3096
	lea	rcx, OFFSET FLAT:$SG7997
	call	printf
; Line 3097
	xor	eax, eax
$LN247@main:
	movaps	xmm7, XMMWORD PTR [rsp+8368]
	movaps	xmm6, XMMWORD PTR [rsp+8384]
	movaps	xmm8, XMMWORD PTR [rsp+8352]
$LN244@main:
	mov	r13, QWORD PTR [rsp+8472]
	mov	r12, QWORD PTR [rsp+8464]
	mov	rbp, QWORD PTR [rsp+8448]
	mov	r14, QWORD PTR [rsp+8400]
$LN28@main:
; Line 3309
	mov	rcx, QWORD PTR __$ArrayPad$[rsp]
	xor	rcx, rsp
	call	__security_check_cookie
	lea	r11, QWORD PTR [rsp+8408]
	movaps	xmm9, XMMWORD PTR [r11-72]
	movaps	xmm10, XMMWORD PTR [r11-88]
	movaps	xmm11, XMMWORD PTR [r11-104]
	movaps	xmm12, XMMWORD PTR [r11-120]
	movaps	xmm13, XMMWORD PTR [r11-136]
	mov	rsp, r11
	pop	r15
	pop	rdi
	pop	rsi
	pop	rbx
	ret	0
$LN190@main:
; Line 2834
	lea	rcx, OFFSET FLAT:$SG7858
	call	printf
; Line 2835
	jmp	$LN237@main
$LN67@main:
; Line 2906
	lea	rcx, OFFSET FLAT:$SG7883
	mov	edx, eax
	call	printf
; Line 2907
	mov	eax, r14d
	jmp	$LN247@main
$LN191@main:
; Line 2852
	lea	rdx, QWORD PTR LINE10$[rsp]
	lea	rcx, OFFSET FLAT:$SG7868
	call	printf
	mov	eax, r14d
	jmp	$LN247@main
$LN248@main:
main	ENDP
_TEXT	ENDS
END
