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

$SG7611	DB	01H DUP (?)
_BSS	ENDS
_DATA	SEGMENT
$SG6118	DB	'<>'
	ORG $+6
$SG6152	DB	'NON-ENCODED', 00H
$SG6192	DB	'<>'
	ORG $+2
$SG6236	DB	'NON-ENCODED', 00H
$SG6240	DB	'%s ', 00H
$SG7151	DB	'%12ld', 0dH, 00H
	ORG $+1
$SG7160	DB	'In : %ld bytes', 0aH, 00H
$SG7161	DB	'Out: %ld bytes', 0aH, 00H
$SG7163	DB	'Out/In: %.3f', 0aH, 00H
	ORG $+2
$SG7430	DB	'DECODING HDD2RAM', 00H
	ORG $+7
$SG7432	DB	' <i><small>target file:</small></i> ', 00H, 00H
	ORG $+2
$SG7434	DB	'[', 00H
	ORG $+2
$SG7436	DB	']', 00H
	ORG $+2
$SG7438	DB	' ', 00H
	ORG $+2
$SG7440	DB	'+', 00H
	ORG $+2
$SG7445	DB	'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitiona'
	DB	'l//EN">', 00H, 00H
	ORG $+7
$SG7447	DB	'<html><head><title>Kazuya Hits</title>', 00H, 00H
$SG7449	DB	'<meta http-equiv="Content-Type" content="text/html; char'
	DB	'set=utf-8">', 00H, 00H
	ORG $+3
$SG7451	DB	'</head>', 00H, 00H
	ORG $+7
$SG7453	DB	'<body ', 00H, 00H
$SG7455	DB	'style="background-image: url(./Kazuya.gif); color: rgb(0'
	DB	', 200, 221); background-color: rgb(7, 12, 17);"', 00H, 00H
	ORG $+7
$SG7457	DB	'alink="#003366" link="#006699" vlink="#003366">', 00H, 00H
	ORG $+7
$SG7459	DB	'<font color="#7788AA" face="Courier New, Courier, mono">'
	DB	00H, 00H
	ORG $+2
$SG7461	DB	'<pre>', 00H, 00H
	ORG $+5
$SG7463	DB	'<a href="file://localhost/', 00H, 00H
$SG7622	DB	0aH, 00H
	ORG $+2
$SG7465	DB	'">Kazuya link to</a>', 00H, 00H
	ORG $+2
$SG7467	DB	'</pre>', 00H, 00H
$SG7469	DB	'</font>', 00H, 00H
	ORG $+7
$SG7471	DB	'</body>', 00H, 00H
	ORG $+7
$SG7473	DB	'</html>', 00H, 00H
	ORG $+7
$SG7475	DB	'<font color="#0099BB" face="Courier New, Courier, mono">'
	DB	00H, 00H
	ORG $+2
$SG7490	DB	'-SA1', 00H
	ORG $+3
$SG7493	DB	'-SA2', 00H
	ORG $+3
$SG7496	DB	'-SA3', 00H
	ORG $+3
$SG7499	DB	'-SA4', 00H
	ORG $+3
$SG7502	DB	'-sa1', 00H
	ORG $+3
$SG7505	DB	'-sa2', 00H
	ORG $+3
$SG7508	DB	'-sa3', 00H
	ORG $+3
$SG7511	DB	'-sa4', 00H
	ORG $+3
$SG7514	DB	'-sA1', 00H
	ORG $+3
$SG7517	DB	'-sA2', 00H
	ORG $+3
$SG7520	DB	'-sA3', 00H
	ORG $+3
$SG7523	DB	'-sA4', 00H
	ORG $+3
$SG7526	DB	'-Sa1', 00H
	ORG $+3
$SG7529	DB	'-Sa2', 00H
	ORG $+3
$SG7532	DB	'-Sa3', 00H
	ORG $+3
$SG7535	DB	'-Sa4', 00H
	ORG $+3
$SG7538	DB	'-krknd', 00H
	ORG $+13
$SG7540	DB	'Kazuya(LZ Sentence_Dumper), revision 17, written by Sval'
	DB	'qyatchx,', 00H
	ORG $+15
$SG7541	DB	'in fact adapted from Lasse Reinhold''s excellent QuickLZ'
	DB	' 1.4.0 library,', 00H
	ORG $+9
$SG7542	DB	'in fact adapted from Ariya Hidayat''s sub-excellent Fast'
	DB	'LZ 0.1.0 library,', 00H
	ORG $+7
$SG7543	DB	'in fact adapted from Markus F.X.J. Oberhumer''s sub-exce'
	DB	'llent LZO 2.03 library,', 00H
	ORG $+1
$SG7544	DB	'in fact adapted from Haruhiko Okumura''s sub-excellent L'
	DB	'ZSS 4/6/1989 library.', 00H
	ORG $+3
$SG7546	DB	'Usage1: Kazuya [-sa1|-sa2|-sa3|-sa4|-SA1|-SA2|-SA3|-SA4', 00H
$SG7569	DB	'Usage2: Kazuya <e|d|E|D|A|R|a|r> inputFile outputFile', 00H
	ORG $+2
$SG7547	DB	'               |-sA1|-sA2|-sA3|-sA4|-Sa1|-Sa2|-Sa3|-Sa4|'
	DB	'-krknd] filename', 00H
	ORG $+7
$SG7548	DB	'        Decodes all files from a list(filename)', 00H
$SG7549	DB	'        -sa1 : QuickLZ Decode + Brute_Force Search Algor'
	DB	'ithm', 00H
	ORG $+3
$SG7550	DB	'        -sa2 : QuickLZ Decode + Quick_Boyer_Moore Search'
	DB	' Algorithm', 00H
	ORG $+13
$SG7551	DB	'        -sa3 : QuickLZ Decode + SMITH_Boyer_Moore Search'
	DB	' Algorithm', 00H
	ORG $+13
$SG7552	DB	'        -sa4 : QuickLZ Decode + Karp_Rabin_Kaze Search A'
	DB	'lgorithm', 00H
	ORG $+7
$SG7553	DB	'        -SA1 : LZO Decode + Brute_Force Search Algorithm'
	DB	00H
	ORG $+7
$SG7554	DB	'        -SA2 : LZO Decode + Quick_Boyer_Moore Search Alg'
	DB	'orithm', 00H
	ORG $+1
$SG7555	DB	'        -SA3 : LZO Decode + SMITH_Boyer_Moore Search Alg'
	DB	'orithm', 00H
	ORG $+1
$SG7556	DB	'        -SA4 : LZO Decode + Karp_Rabin_Kaze Search Algor'
	DB	'ithm', 00H
	ORG $+3
$SG7557	DB	'        -sA1 : FastLZ Decode + Brute_Force Search Algori'
	DB	'thm', 00H
$SG7626	DB	0aH, 00H
	ORG $+10
$SG7558	DB	'        -sA2 : FastLZ Decode + Quick_Boyer_Moore Search '
	DB	'Algorithm', 00H
	ORG $+14
$SG7559	DB	'        -sA3 : FastLZ Decode + SMITH_Boyer_Moore Search '
	DB	'Algorithm', 00H
	ORG $+14
$SG7560	DB	'        -sA4 : FastLZ Decode + Karp_Rabin_Kaze Search Al'
	DB	'gorithm', 00H
$SG7561	DB	'        -Sa1 : OkumuraLZ Decode + Brute_Force Search Alg'
	DB	'orithm', 00H
	ORG $+1
$SG7562	DB	'        -Sa2 : OkumuraLZ Decode + Quick_Boyer_Moore Sear'
	DB	'ch Algorithm', 00H
	ORG $+11
$SG7563	DB	'        -Sa3 : OkumuraLZ Decode + SMITH_Boyer_Moore Sear'
	DB	'ch Algorithm', 00H
	ORG $+11
$SG7564	DB	'        -Sa4 : OkumuraLZ Decode + Karp_Rabin_Kaze Search'
	DB	' Algorithm', 00H
	ORG $+13
$SG7565	DB	'        -krknd : Karp_Rabin_Kaze Search Algorithm, but w'
	DB	'ith no additional', 00H
	ORG $+6
$SG7566	DB	'                 chunk-searches overhead and without dec'
	DB	'ompression of', 00H
	ORG $+2
$SG7567	DB	'                 incoming files i.e. pure text is upload'
	DB	'ed', 00H
	ORG $+13
$SG7568	DB	'        Default is QuickLZ Decode + HORSPOOL_Boyer_Moore'
	DB	' Search Algorithm', 00H
	ORG $+6
$SG7570	DB	'        e: encode QuickLZ file', 00H
	ORG $+1
$SG7571	DB	'        d: decode QuickLZ file', 00H
	ORG $+1
$SG7572	DB	'        E: encode LZO file', 00H
	ORG $+5
$SG7573	DB	'        D: decode LZO file', 00H
	ORG $+5
$SG7574	DB	'        A: encode(archive) FastLZ file', 00H
	ORG $+1
$SG7575	DB	'        R: decode(restore) FastLZ file', 00H
	ORG $+1
$SG7576	DB	'        a: encode(archive) OkumuraLZ file', 00H
	ORG $+6
$SG7577	DB	'        r: decode(restore) OkumuraLZ file', 00H
	ORG $+6
$SG7578	DB	'Example1: Kazuya Kazuya.lst', 00H
$SG7657	DB	'rb', 00H
	ORG $+1
$SG7579	DB	'Example2: Kazuya -SA2 Kazuya.lst', 00H
	ORG $+15
$SG7580	DB	'Example3: Kazuya e Caterpillar.001.txt Caterpillar.001.t'
	DB	'xt.Lasse', 00H
	ORG $+7
$SG7581	DB	'Note1: Benchmark(HDD read speed is the nasty bottleneck)'
	DB	':', 00H
	ORG $+14
$SG7582	DB	'       Kazuya(EN:37KB/clock, DE:88KB/clock) for 24.9GB(1'
	DB	'0.6GB Lasse) texts.', 00H
$SG7662	DB	'rb', 00H
	ORG $+1
$SG7583	DB	'       Me machine is:', 00H
	ORG $+10
$SG7584	DB	'       Motherboard Name:                             Tos'
	DB	'hiba Satellite L305', 00H
$SG7667	DB	'wb', 00H
	ORG $+1
$SG7585	DB	'       CPU Type:         Mobile DualCore Intel Pentium, '
	DB	'2166 MHz (13 x 167)', 00H
$SG7672	DB	'wb', 00H
	ORG $+1
$SG7586	DB	'       CPU Alias:                                       '
	DB	'           Merom-1M', 00H
$SG7677	DB	'wb', 00H
	ORG $+1
$SG7587	DB	'       L1 Code Cache:                                   '
	DB	'     32 KB per core', 00H
$SG7682	DB	'wb', 00H
	ORG $+1
$SG7588	DB	'       L1 Data Cache:                                   '
	DB	'     32 KB per core', 00H
$SG7695	DB	0aH, 00H
	ORG $+2
$SG7589	DB	'       L2 Cache:                        1 MB (On-Die, EC'
	DB	'C, ASC, Full-Speed)', 00H
$SG7753	DB	'rb', 00H
	ORG $+1
$SG7590	DB	'       Bus Type:                                        '
	DB	'    Dual DDR2 SDRAM', 00H
$SG7830	DB	0aH, 00H
	ORG $+2
$SG7591	DB	'       Bus Width:                                       '
	DB	'            128-bit', 00H
$SG7886	DB	'rb', 00H
	ORG $+1
$SG7592	DB	'       Real Clock:                                      '
	DB	'      333 MHz (DDR)', 00H
$SG7890	DB	'wb', 00H
	ORG $+1
$SG7593	DB	'       Effective Clock:                                 '
	DB	'            666 MHz', 00H
$SG7895	DB	'rb', 00H
	ORG $+1
$SG7594	DB	'Note2: Disastrous performance in case 256MB not fully ph'
	DB	'ysical!', 00H
$SG7595	DB	'Note3: Matches(hits) are overwritten to Kazuya.hits.Patt'
	DB	'ern?.html files.', 00H
	ORG $+7
$SG7596	DB	'Note4: Works both on UNIX(LF) and Windows(CRLF) text fil'
	DB	'es.', 00H
$SG7897	DB	'wb', 00H
	ORG $+1
$SG7597	DB	'Note5: Never forget the importance of defragmented_AND_g'
	DB	'rouped files located at', 00H
$SG7598	DB	'       fastest area of disk - first partition is faster '
	DB	'than second one, etc.', 00H
	ORG $+2
$SG7599	DB	'Note6: In ANSI, clock is defined as ''#define CLOCKS_PER'
	DB	'_SEC 1000''.', 00H
	ORG $+5
$SG7600	DB	'Note7: Since Kazuya 13++:', 00H
	ORG $+14
$SG7601	DB	'       - limits(just skip longer ones) lines to 960 char'
	DB	's; OTHERWISE: HUGE TIME', 00H
$SG7602	DB	'         DELAYS due to recursive function;', 00H
	ORG $+5
$SG7603	DB	'       - shows hits to console too; MORE VIVID;', 00H
$SG7604	DB	'Note8: Since Kazuya 14:', 00H
$SG7620	DB	'                    Pattern1_NestedPattern1: you', 0aH, 00H
	ORG $+6
$SG7605	DB	'       - No deletion of input file after compressing/dec'
	DB	'ompressing;', 00H
$SG7949	DB	'rb', 00H
	ORG $+9
$SG7606	DB	'Note9: During execution hitting a ''Esc'' causes termina'
	DB	'tion(i.e. skipping rest).', 00H
$SG7607	DB	'NoteA: This revision works with up to 127MB incoming(non'
	DB	'-compressed) files,', 00H
$SG7951	DB	'wb', 00H
	ORG $+1
$SG7608	DB	'       because it allocates 256MB of which one half is f'
	DB	'or incoming', 00H
	ORG $+12
$SG7609	DB	'       oher for outcoming file, i.e. decompression/compr'
	DB	'ession is RAM to RAM.', 00H
	ORG $+2
$SG7610	DB	'NoteB: Charge(delivery) performance combines upload and '
	DB	'decode performance.', 00H
	ORG $+4
$SG7612	DB	'Pattern(s) note: You may specify(four times) a main-patt'
	DB	'ern(case insensitive', 0aH, 00H
	ORG $+2
$SG7613	DB	'                 with wildcards ''*'' i.e. any character'
	DB	'(s) or empty and ''?''', 0aH, 00H
	ORG $+4
$SG7614	DB	'                 i.e. any character or empty) with three'
	DB	' nested-patterns(case', 0aH, 00H
	ORG $+1
$SG7615	DB	'                 sensitive and unexact), all four connec'
	DB	'ted with AND.', 0aH, 00H
	ORG $+9
$SG7616	DB	'                 Due to different line endings(CRLF in W'
	DB	'indows; LF in UNIX)', 0aH, 00H
	ORG $+3
$SG7617	DB	'                 you must add a ''?'' wildcard in place '
	DB	'of CR: for example in', 0aH, 00H
	ORG $+3
$SG7618	DB	'                 case of searching for ''*.pdf'' write '''
	DB	'*.pdf?''.', 0aH, 00H
$SG7619	DB	'Pattern(s) example: Pattern1: *take? *it*', 0aH, 00H
	ORG $+5
$SG7621	DB	'                    Possible hit: ... your reason is so '
	DB	'taken by It.', 0aH, 00H
	ORG $+2
$SG7623	DB	'Have a nice Kazuyaing.', 00H
	ORG $+1
$SG7624	DB	'For contacts: sanmayce@hotmail.com', 00H
	ORG $+5
$SG7625	DB	'Sanmayce Svalqyatchx ''Kaze'', 2010 Feb 15.', 00H
	ORG $+6
$SG7647	DB	'LZO: internal error - lzo_init() failed !!!', 0aH, 00H
	ORG $+11
$SG7648	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
$SG7652	DB	'Kazuya: Needed memory allocation denied!', 0aH, 00H
	ORG $+6
$SG7653	DB	'Allocated memory for DEcoded file in MB: %lu', 0aH, 00H
	ORG $+2
$SG7658	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG7663	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG7664	DB	'Size of input file with files for Kazuyaing: %lu', 0aH, 00H
	ORG $+6
$SG7668	DB	'Kazuya.hits.pattern1.html', 00H
	ORG $+6
$SG7669	DB	'Kazuya: Can''t open Kazuya.hits.pattern1.html file.', 0aH
	DB	00H
	ORG $+4
$SG7673	DB	'Kazuya.hits.pattern2.html', 00H
	ORG $+6
$SG7674	DB	'Kazuya: Can''t open Kazuya.hits.pattern2.html file.', 0aH
	DB	00H
	ORG $+4
$SG7678	DB	'Kazuya.hits.pattern3.html', 00H
	ORG $+6
$SG7679	DB	'Kazuya: Can''t open Kazuya.hits.pattern3.html file.', 0aH
	DB	00H
	ORG $+4
$SG7683	DB	'Kazuya.hits.pattern4.html', 00H
	ORG $+6
$SG7684	DB	'Kazuya: Can''t open Kazuya.hits.pattern4.html file.', 0aH
	DB	00H
	ORG $+12
$SG7685	DB	'Pattern(s) note: You may specify(four times) a main-patt'
	DB	'ern(case insensitive', 0aH, 00H
	ORG $+2
$SG7686	DB	'                 with wildcards ''*'' i.e. any character'
	DB	'(s) or empty and ''?''', 0aH, 00H
	ORG $+4
$SG7687	DB	'                 i.e. any character or empty) with three'
	DB	' nested-patterns(case', 0aH, 00H
	ORG $+1
$SG7688	DB	'                 sensitive and unexact), all four connec'
	DB	'ted with AND.', 0aH, 00H
	ORG $+9
$SG7689	DB	'                 Due to different line endings(CRLF in W'
	DB	'indows; LF in UNIX)', 0aH, 00H
	ORG $+3
$SG7690	DB	'                 you must add a ''?'' wildcard in place '
	DB	'of CR: for example in', 0aH, 00H
	ORG $+3
$SG7691	DB	'                 case of searching for ''*.pdf'' write '''
	DB	'*.pdf?''.', 0aH, 00H
$SG7692	DB	'Pattern(s) example: Pattern1: *take? *it*', 0aH, 00H
	ORG $+5
$SG7693	DB	'                    Pattern1_NestedPattern1: you', 0aH, 00H
	ORG $+14
$SG7694	DB	'                    Possible hit: ... your reason is so '
	DB	'taken by It.', 0aH, 00H
	ORG $+2
$SG7697	DB	'Input Pattern1(hit only ''Enter'' to skip): ', 00H
	ORG $+5
$SG7700	DB	'- Input Pattern1_NestedPattern1(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7703	DB	'- Input Pattern1_NestedPattern2(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7706	DB	'- Input Pattern1_NestedPattern3(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7707	DB	'Input Pattern2(hit only ''Enter'' to skip): ', 00H
	ORG $+5
$SG7710	DB	'- Input Pattern2_NestedPattern1(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7713	DB	'- Input Pattern2_NestedPattern2(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7716	DB	'- Input Pattern2_NestedPattern3(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7717	DB	'Input Pattern3(hit only ''Enter'' to skip): ', 00H
	ORG $+5
$SG7720	DB	'- Input Pattern3_NestedPattern1(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7723	DB	'- Input Pattern3_NestedPattern2(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7726	DB	'- Input Pattern3_NestedPattern3(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7727	DB	'Input Pattern4(hit only ''Enter'' to skip): ', 00H
	ORG $+5
$SG7730	DB	'- Input Pattern4_NestedPattern1(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7733	DB	'- Input Pattern4_NestedPattern2(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7736	DB	'- Input Pattern4_NestedPattern3(hit only ''Enter'' to sk'
	DB	'ip): ', 00H
	ORG $+4
$SG7744	DB	'''Esc'' was pressed, so skip the rest files and quit!', 0aH
	DB	00H
	ORG $+3
$SG7754	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG7755	DB	'Processing %s ...', 0aH, 00H
	ORG $+5
$SG7757	DB	'Doing DECODE from RAM to RAM ...', 0aH, 00H
	ORG $+6
$SG7769	DB	'LZO: internal error - decompression failed: %d', 0aH, 00H
$SG7774	DB	'Overall upload performance so far: %sKB/clock', 0aH, 00H
	ORG $+1
$SG7778	DB	'Overall decode performance so far: %sKB/clock(EN) or %sK'
	DB	'B/clock(DE)', 0aH, 00H
	ORG $+11
$SG7781	DB	'Overall charge performance so far: %sKB/clock(EN) or %sK'
	DB	'B/clock(DE)', 0aH, 00H
	ORG $+11
$SG7783	DB	'Doing SEARCH for Pattern1 at once and flushing hit-sente'
	DB	'nces ...', 0aH, 00H
	ORG $+14
$SG7786	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) was/were fou'
	DB	'nd in: <i>%s</i></big>', 0aH, 00H
$SG7787	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
$SG7790	DB	'Found %s case-insensitive and unexact matches(hits), so '
	DB	'far.', 0aH, 00H
	ORG $+2
$SG7792	DB	'Found %s case-sensitive and unexact matches(hits), so fa'
	DB	'r.', 0aH, 00H
	ORG $+12
$SG7795	DB	'Doing SEARCH for Pattern2 at once and flushing hit-sente'
	DB	'nces ...', 0aH, 00H
	ORG $+14
$SG7798	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) was/were fou'
	DB	'nd in: <i>%s</i></big>', 0aH, 00H
$SG7799	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
$SG7802	DB	'Found %s case-insensitive and unexact matches(hits), so '
	DB	'far.', 0aH, 00H
	ORG $+2
$SG7804	DB	'Found %s case-sensitive and unexact matches(hits), so fa'
	DB	'r.', 0aH, 00H
	ORG $+12
$SG7807	DB	'Doing SEARCH for Pattern3 at once and flushing hit-sente'
	DB	'nces ...', 0aH, 00H
	ORG $+14
$SG7810	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) was/were fou'
	DB	'nd in: <i>%s</i></big>', 0aH, 00H
$SG7811	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
$SG7814	DB	'Found %s case-insensitive and unexact matches(hits), so '
	DB	'far.', 0aH, 00H
	ORG $+2
$SG7816	DB	'Found %s case-sensitive and unexact matches(hits), so fa'
	DB	'r.', 0aH, 00H
	ORG $+12
$SG7819	DB	'Doing SEARCH for Pattern4 at once and flushing hit-sente'
	DB	'nces ...', 0aH, 00H
	ORG $+14
$SG7822	DB	'<big><b>KAZUYA:</b> Above <b>%lu</b> hit(s) was/were fou'
	DB	'nd in: <i>%s</i></big>', 0aH, 00H
$SG7823	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
$SG7826	DB	'Found %s case-insensitive and unexact matches(hits), so '
	DB	'far.', 0aH, 00H
	ORG $+2
$SG7828	DB	'Found %s case-sensitive and unexact matches(hits), so fa'
	DB	'r.', 0aH, 00H
	ORG $+4
$SG7832	DB	'Total Upload performance: %sKB/clock', 0aH, 00H
	ORG $+2
$SG7836	DB	'Total Decode performance: %sKB/clock(EN) or %sKB/clock(D'
	DB	'E)', 0aH, 00H
	ORG $+4
$SG7839	DB	'Total Charge performance: %sKB/clock(EN) or %sKB/clock(D'
	DB	'E)', 0aH, 00H
	ORG $+4
$SG7841	DB	'Total Upload time: %s clocks', 0aH, 00H
	ORG $+2
$SG7844	DB	'Total Decode time: %s clocks', 0aH, 00H
	ORG $+2
$SG7846	DB	'Total Search time: %s clocks', 0aH, 00H
	ORG $+2
$SG7848	DB	'Total time: %d second(s)', 0aH, 00H
	ORG $+6
$SG7849	DB	'Total bytes decoded: %s ', 0aH, 00H
	ORG $+6
$SG7850	DB	'Total Search(non-mask) function invocations: %s ', 0aH, 00H
	ORG $+6
$SG7852	DB	'Total MASK i.e. wildcard invocations: %s ', 0aH, 00H
	ORG $+5
$SG7853	DB	'Total MASK i.e. wildcard hits: %s ', 0aH, 00H
	ORG $+4
$SG7855	DB	'Total MASK i.e. wildcard time: %s clocks', 0aH, 00H
	ORG $+6
$SG7858	DB	'Total MASK i.e. wildcard performance: %sKB/clock', 0aH, 00H
	ORG $+6
$SG7859	DB	'Total BoyerMooreHorspool invocations: %s ', 0aH, 00H
	ORG $+5
$SG7860	DB	'Total BoyerMooreHorspool(whole chunks, not lines) hits: '
	DB	'%s ', 0aH, 00H
	ORG $+11
$SG7862	DB	'Total BoyerMooreHorspool(whole chunks, not lines) time: '
	DB	'%s clocks', 0aH, 00H
	ORG $+13
$SG7865	DB	'Total BoyerMooreHorspool(whole chunks, not lines) perfor'
	DB	'mance: %sKB/clock', 0aH, 00H
	ORG $+5
$SG7866	DB	'Total KarpRabinKaze invocations: %s ', 0aH, 00H
	ORG $+2
$SG7867	DB	'Total KarpRabinKaze(whole chunks, not lines) hits: %s ', 0aH
	DB	00H
$SG7869	DB	'Total KarpRabinKaze(whole chunks, not lines) time: %s cl'
	DB	'ocks', 0aH, 00H
	ORG $+2
$SG7872	DB	'Total KarpRabinKaze(whole chunks, not lines) performance'
	DB	': %sKB/clock', 0aH, 00H
	ORG $+2
$SG7877	DB	'Kazuya: Done.', 0aH, 00H
	ORG $+1
$SG7887	DB	'OkumuraLZ: Can''t open %s file.', 0aH, 00H
$SG7891	DB	'OkumuraLZ: Can''t open %s file.', 0aH, 00H
$SG7896	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG7904	DB	'QuickLZ: compressed %lu bytes into ', 00H
	ORG $+4
$SG7906	DB	'%lu bytes.', 0aH, 00H
	ORG $+4
$SG7911	DB	'FastLZ: compressed %lu bytes into ', 00H
	ORG $+5
$SG7913	DB	'%lu bytes.', 0aH, 00H
	ORG $+4
$SG7935	DB	'LZO: internal error - lzo_init() failed !!!', 0aH, 00H
	ORG $+11
$SG7936	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
$SG7941	DB	'LZO: compressed %lu bytes into %lu bytes.', 0aH, 00H
	ORG $+5
$SG7943	DB	'LZO: internal error - compression failed: %d', 0aH, 00H
	ORG $+2
$SG7945	DB	'LZO: This block contains incompressible data.', 0aH, 00H
	ORG $+1
$SG7950	DB	'Kazuya: Can''t open %s file.', 0aH, 00H
	ORG $+3
$SG7957	DB	'QuickLZ: decompressed %lu bytes back into ', 00H
	ORG $+5
$SG7959	DB	'%lu bytes.', 0aH, 00H
	ORG $+4
$SG7964	DB	'FastLZ: decompressed %lu bytes back into ', 00H
	ORG $+6
$SG7966	DB	'%lu bytes.', 0aH, 00H
	ORG $+4
$SG7971	DB	'OkumuraLZ: decompressed %lu bytes back into ', 00H
	ORG $+3
$SG7975	DB	'%lu bytes.', 0aH, 00H
	ORG $+4
$SG7982	DB	'LZO: decompressed %lu bytes back into %lu bytes.', 0aH, 00H
	ORG $+6
$SG7984	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 d:\_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 d:\_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 d:\_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 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 769
	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 775
	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 776
	je	$LN22@EnhancedMa
	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:
; Line 781
	movzx	ecx, BYTE PTR [r8]
; Line 782
	cmp	cl, 63					; 0000003fH
	jne	SHORT $LN9@EnhancedMa
; Line 788
	mov	r9d, ebx
	mov	r8, r11
	mov	edx, r10d
	mov	rcx, rax
	call	EnhancedMaskTest_OrEmpty
	test	ax, ax
	jne	$LN23@EnhancedMa
; Line 790
	test	esi, esi
	je	$LN11@EnhancedMa
; Line 792
	mov	r10d, DWORD PTR tv252[rsp]
	mov	r8, QWORD PTR tv251[rsp]
	mov	r11, QWORD PTR name$[rsp]
	jmp	SHORT $LN30@EnhancedMa
$LN9@EnhancedMa:
; Line 794
	cmp	cl, 42					; 0000002aH
	jne	SHORT $LN5@EnhancedMa
; Line 796
	mov	r9d, ebx
	mov	r8, r11
	mov	edx, r10d
	mov	rcx, rax
	call	EnhancedMaskTest_OrEmpty
	test	ax, ax
	jne	SHORT $LN23@EnhancedMa
; Line 798
	test	esi, esi
	je	$LN11@EnhancedMa
; Line 800
	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
$LN5@EnhancedMa:
; Line 804
	movzx	r9d, BYTE PTR [rdi]
; Line 806
	lea	eax, DWORD PTR [rcx-97]
	movsx	edx, cl
	cmp	al, 25
	ja	SHORT $LN16@EnhancedMa
	sub	edx, 32					; 00000020H
$LN16@EnhancedMa:
	lea	eax, DWORD PTR [r9-97]
	cmp	al, 25
	movsx	eax, r9b
	ja	SHORT $LN18@EnhancedMa
	sub	eax, 32					; 00000020H
$LN18@EnhancedMa:
	cmp	edx, eax
	jne	SHORT $LN11@EnhancedMa
$LN30@EnhancedMa:
; Line 808
	inc	r10d
	inc	ebx
	inc	rdi
	inc	ebp
	inc	r8
	mov	DWORD PTR tv252[rsp], r10d
	mov	QWORD PTR tv251[rsp], r8
$LN28@EnhancedMa:
	mov	esi, DWORD PTR nameGLOBALlen
	mov	eax, DWORD PTR maskGLOBALlen
	sub	esi, ebx
	cmp	eax, ebp
	je	SHORT $LN22@EnhancedMa
; Line 776
	mov	rax, QWORD PTR mask$[rsp]
	jmp	$LL19@EnhancedMa
$LN22@EnhancedMa:
; Line 777
	test	esi, esi
	jne	SHORT $LN11@EnhancedMa
$LN23@EnhancedMa:
; Line 778
	mov	eax, 1
; Line 810
	mov	rbx, QWORD PTR [rsp+104]
	add	rsp, 48					; 00000030H
	pop	rdi
	pop	rsi
	pop	rbp
	ret	0
$LN11@EnhancedMa:
; Line 780
	xor	eax, eax
; Line 810
	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 818
	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@2:
; Line 820
	mov	r10, r11
$LL19@EnhancedMa@2:
	movzx	eax, BYTE PTR [r10]
	inc	r10
	test	al, al
	jne	SHORT $LL19@EnhancedMa@2
	sub	r10d, r11d
; Line 821
	mov	rbx, r8
	sub	r10d, r9d
	dec	r10d
	npad	6
$LL23@EnhancedMa@2:
	movzx	eax, BYTE PTR [rbx]
	inc	rbx
	cmp	al, 10
	jne	SHORT $LL23@EnhancedMa@2
	sub	ebx, r8d
	sub	ebx, edi
	dec	ebx
; Line 822
	test	r10d, r10d
	je	$LN31@EnhancedMa@2
; Line 827
	movzx	ecx, BYTE PTR [rbp]
; Line 828
	cmp	cl, 63					; 0000003fH
	jne	SHORT $LN8@EnhancedMa@2
; Line 834
	test	ebx, ebx
	je	$LN10@EnhancedMa@2
; Line 836
	inc	r9d
	inc	edi
	inc	rsi
	mov	DWORD PTR maskPos$[rsp], r9d
	inc	rbp
	jmp	SHORT $LL26@EnhancedMa@2
$LN8@EnhancedMa@2:
; Line 838
	cmp	cl, 42					; 0000002aH
	jne	SHORT $LN5@EnhancedMa@2
; Line 852
	lea	edx, DWORD PTR [r9+1]
	mov	rcx, r11
	mov	r9d, edi
	call	EnhancedMaskTest_AndNotEmpty
	test	ax, ax
	jne	SHORT $LN33@EnhancedMa@2
; Line 842
	test	ebx, ebx
	je	SHORT $LN10@EnhancedMa@2
; Line 844
	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@2
$LN5@EnhancedMa@2:
; Line 848
	movzx	r8d, BYTE PTR [rsi]
; Line 850
	lea	eax, DWORD PTR [rcx-97]
	movsx	edx, cl
	cmp	al, 25
	ja	SHORT $LN15@EnhancedMa@2
	sub	edx, 32					; 00000020H
$LN15@EnhancedMa@2:
	lea	eax, DWORD PTR [r8-97]
	cmp	al, 25
	movsx	eax, r8b
	ja	SHORT $LN17@EnhancedMa@2
	sub	eax, 32					; 00000020H
$LN17@EnhancedMa@2:
	cmp	edx, eax
	jne	SHORT $LN10@EnhancedMa@2
; Line 852
	mov	r8, QWORD PTR name$[rsp]
	inc	r9d
	inc	edi
	inc	rsi
	inc	rbp
	mov	DWORD PTR maskPos$[rsp], r9d
	jmp	$LL26@EnhancedMa@2
$LN31@EnhancedMa@2:
; Line 823
	test	ebx, ebx
	jne	SHORT $LN10@EnhancedMa@2
$LN33@EnhancedMa@2:
; Line 824
	mov	eax, 1
; Line 854
	mov	rbx, QWORD PTR [rsp+88]
	add	rsp, 32					; 00000020H
	pop	rdi
	pop	rsi
	pop	rbp
	ret	0
$LN10@EnhancedMa@2:
; Line 826
	xor	eax, eax
; Line 854
	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 $LN17
	DD	imagerel $LN17+210
	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 856
$LN17:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rsi
	push	rdi
	sub	rsp, 32					; 00000020H
; Line 858
	inc	DWORD PTR VIVA_IgorPavlov_invocations_global_counter
	mov	esi, r8d
	mov	rdi, rdx
	mov	rbx, rcx
; Line 860
	mov	r9, rcx
$LL7@CompareWil:
	movzx	eax, BYTE PTR [r9]
	inc	r9
	test	al, al
	jne	SHORT $LL7@CompareWil
	sub	r9d, ecx
; Line 861
	mov	rcx, rdx
	dec	r9d
	mov	DWORD PTR maskGLOBALlen, r9d
	npad	4
$LL11@CompareWil:
	movzx	eax, BYTE PTR [rcx]
	inc	rcx
	cmp	al, 10
	jne	SHORT $LL11@CompareWil
	sub	ecx, edx
	dec	ecx
; Line 862
	movsxd	rax, ecx
	mov	DWORD PTR nameGLOBALlen, ecx
	add	QWORD PTR clocksGWtxt, rax
; Line 864
	call	clock
; Line 866
	xor	r9d, r9d
	xor	edx, edx
	mov	r8, rdi
	mov	rcx, rbx
	mov	DWORD PTR clocksG1, eax
	test	esi, esi
	je	SHORT $LN3@CompareWil
	call	EnhancedMaskTest_OrEmpty
; Line 867
	jmp	SHORT $LN16@CompareWil
$LN3@CompareWil:
; Line 868
	call	EnhancedMaskTest_AndNotEmpty
$LN16@CompareWil:
	movzx	ebx, ax
; Line 869
	test	ax, ax
	je	SHORT $LN1@CompareWil
	inc	DWORD PTR WildGLOBALhits
$LN1@CompareWil:
; Line 870
	call	clock
	movsdx	xmm1, QWORD PTR clocksGW
; Line 872
	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 906
	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 907
	inc	rcx
	inc	rdx
	sub	eax, r8d
	je	SHORT $LL5@strcmpKAZE
$LN4@strcmpKAZE:
; Line 909
	test	eax, eax
	jns	SHORT $LN3@strcmpKAZE
; Line 914
	or	eax, -1
; Line 915
	ret	0
$LN3@strcmpKAZE:
; Line 911
	mov	ecx, 1
	test	eax, eax
	cmovg	eax, ecx
; Line 915
	ret	0
strcmpKAZE ENDP
_TEXT	ENDS
PUBLIC	strlenKAZE
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
str$ = 8
strlenKAZE PROC
; Line 938
	mov	rax, rcx
$LL2@strlenKAZE:
; Line 940
	movzx	edx, BYTE PTR [rax]
	inc	rax
	test	dl, dl
	jne	SHORT $LL2@strlenKAZE
; Line 942
	sub	rax, rcx
	dec	rax
; Line 943
	ret	0
strlenKAZE ENDP
_TEXT	ENDS
PUBLIC	memcmpKAZE
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
buf1$ = 8
buf2$ = 16
count$ = 24
memcmpKAZE PROC
; Line 974
	test	r8, r8
	jne	SHORT $LN6@memcmpKAZE
; Line 975
	xor	eax, eax
; Line 983
	ret	0
$LN6@memcmpKAZE:
; Line 977
	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 978
	inc	rcx
; Line 979
	inc	rdx
	sub	r8, 1
	jne	SHORT $LL2@memcmpKAZE
$LN1@memcmpKAZE:
; Line 982
	movzx	eax, BYTE PTR [rcx]
	movzx	ecx, BYTE PTR [rdx]
	sub	eax, ecx
; Line 983
	ret	0
memcmpKAZE ENDP
_TEXT	ENDS
PUBLIC	memcpyKAZE
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
dst$ = 8
src$ = 16
count$ = 24
memcpyKAZE PROC
; Line 1012
	mov	rax, rcx
; Line 1017
	test	r8, r8
	je	SHORT $LN8@memcpyKAZE
	npad	8
$LL2@memcpyKAZE:
; Line 1018
	movzx	r9d, BYTE PTR [rdx]
; Line 1019
	inc	rcx
; Line 1020
	inc	rdx
	sub	r8, 1
	mov	BYTE PTR [rcx-1], r9b
	jne	SHORT $LL2@memcpyKAZE
$LN8@memcpyKAZE:
; Line 1023
	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 1049
$LN9:
	push	rbx
	sub	rsp, 32					; 00000020H
	mov	rbx, rcx
; Line 1052
	test	r8, r8
	je	SHORT $LN8@memsetKAZE
; Line 1050
	call	memset
$LN8@memsetKAZE:
; Line 1056
	mov	rax, rbx
; Line 1057
	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 1065
	mov	r11d, r8d
	mov	r10, rdx
	mov	rax, rcx
; Line 1073
	test	r9d, r9d
	je	SHORT $LN9@x64toaKAZE
; Line 1075
	inc	r10
	mov	BYTE PTR [rdx], 45			; 0000002dH
; Line 1076
	neg	rax
$LN9@x64toaKAZE:
; Line 1079
	mov	r8, r10
; Line 1090
	mov	rcx, r11
	npad	3
$LL8@x64toaKAZE:
	xor	edx, edx
	div	rcx
	cmp	edx, 9
	jbe	SHORT $LN5@x64toaKAZE
; Line 1087
	add	dl, 87					; 00000057H
; Line 1088
	jmp	SHORT $LN14@x64toaKAZE
$LN5@x64toaKAZE:
; Line 1089
	add	dl, 48					; 00000030H
$LN14@x64toaKAZE:
	mov	BYTE PTR [r10], dl
	inc	r10
; Line 1090
	test	rax, rax
	jne	SHORT $LL8@x64toaKAZE
; Line 1095
	mov	BYTE PTR [r10], al
	dec	r10
	npad	13
$LL3@x64toaKAZE:
; Line 1099
	movzx	eax, BYTE PTR [r8]
	movzx	ecx, BYTE PTR [r10]
; Line 1102
	inc	r8
	mov	BYTE PTR [r10], al
	mov	BYTE PTR [r8-1], cl
	dec	r10
; Line 1103
	cmp	r8, r10
	jb	SHORT $LL3@x64toaKAZE
; Line 1104
	fatret	0
x64toaKAZE ENDP
_TEXT	ENDS
PUBLIC	_i64toaKAZE
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
val$ = 8
buf$ = 16
radix$ = 24
_i64toaKAZE PROC
; Line 1114
	mov	r11d, r8d
	mov	r10, rdx
	mov	rax, rcx
; Line 1115
	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 1116
	mov	rax, r10
; Line 1117
	ret	0
_i64toaKAZE ENDP
_TEXT	ENDS
PUBLIC	_ui64toaKAZE
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
val$ = 8
buf$ = 16
radix$ = 24
_ui64toaKAZE PROC
; Line 1124
	mov	rax, rcx
	mov	r11, rdx
; Line 1125
	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 1126
	mov	rax, r11
; Line 1127
	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 1134
$LN31:
	mov	QWORD PTR [rsp+8], rbx
	mov	rax, rcx
	mov	r11, rdx
; Line 1139
	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 1140
	mov	r10, r11
	npad	3
$LL10@ui64toaKAZ@2:
; Line 1142
	inc	r10
	cmp	BYTE PTR [r10], 0
	jne	SHORT $LL10@ui64toaKAZ@2
; Line 1143
	dec	r10
; Line 1147
	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 1151
	inc	ebx
	cmp	r11, r10
	ja	SHORT $LN4@ui64toaKAZ@2
	movzx	eax, BYTE PTR [r10]
; Line 1152
	dec	r10
	mov	BYTE PTR [r8], al
; Line 1158
	jmp	SHORT $LN30@ui64toaKAZ@2
$LN4@ui64toaKAZ@2:
; Line 1159
	mov	BYTE PTR [r8], 48			; 00000030H
$LN30@ui64toaKAZ@2:
; Line 1160
	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 1161
	inc	r9
	dec	r8
; Line 1162
	mov	BYTE PTR [r8], 44			; 0000002cH
$LN1@ui64toaKAZ@2:
; Line 1165
	inc	r9
	dec	r8
; Line 1166
	cmp	r9, 26
	jle	SHORT $LL7@ui64toaKAZ@2
; Line 1168
	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 1175
$LN26:
	mov	QWORD PTR [rsp+8], rbx
	mov	rax, rcx
	mov	r11, rdx
; Line 1180
	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 1181
	mov	r8, r11
	npad	3
$LL6@ui64toaKAZ@3:
; Line 1183
	inc	r8
	cmp	BYTE PTR [r8], 0
	jne	SHORT $LL6@ui64toaKAZ@3
; Line 1188
	xor	ebx, ebx
	dec	r8
	mov	BYTE PTR [r11+26], 0
	lea	r10d, QWORD PTR [rbx+1]
; Line 1189
	cmp	r11, r8
	ja	SHORT $LN2@ui64toaKAZ@3
; Line 1184
	lea	r9, QWORD PTR [r11+25]
$LL3@ui64toaKAZ@3:
; Line 1191
	movzx	eax, BYTE PTR [r8]
	inc	ebx
; Line 1192
	dec	r8
	mov	BYTE PTR [r9], al
; Line 1193
	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 1194
	inc	r10d
	dec	r9
; Line 1195
	mov	BYTE PTR [r9], 44			; 0000002cH
$LN1@ui64toaKAZ@3:
; Line 1197
	inc	r10d
	dec	r9
	cmp	r8, r11
	jae	SHORT $LL3@ui64toaKAZ@3
$LN2@ui64toaKAZ@3:
; Line 1200
	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 1215
$LN15:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rdi
	movsxd	rdi, r9d
	mov	ebx, r8d
; Line 1219
	xor	r8d, r8d
	sub	ebx, edi
	mov	r9, rdx
	mov	r10, rcx
	js	SHORT $LN4@Brute_Forc
	npad	3
$LL6@Brute_Forc:
; Line 1220
	xor	edx, edx
	xor	ecx, ecx
; Line 1221
	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 1222
	cmp	edx, edi
	jge	SHORT $LN11@Brute_Forc
	inc	r8d
	inc	r10
	cmp	r8d, ebx
	jle	SHORT $LL6@Brute_Forc
$LN4@Brute_Forc:
; Line 1224
	or	eax, -1
; Line 1225
	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 1229
$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 1235
	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 1239
	sub	ebp, r9d
	js	SHORT $LN2@Quick_Boye
	npad	9
$LL3@Quick_Boye:
; Line 1240
	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 1241
	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 1243
	or	eax, -1
$LN10@Quick_Boye:
; Line 1244
	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 1240
	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 1249
$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 1256
	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 1258
	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 1259
	movsx	rcx, BYTE PTR [rdx]
	lea	eax, DWORD PTR [rdi-1]
	inc	rdx
	sub	r8, 1
; Line 1260
	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 1262
	movsxd	r10, r9d
; Line 1265
	xor	r8d, r8d
; Line 1266
	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 1267
	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 1268
	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 1270
	or	eax, -1
$LN10@SMITH_Boye:
; Line 1271
	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 1267
	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 1290
$LN24:
	mov	QWORD PTR [rsp+32], rbx
	push	rdi
; Line 1302
	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 1304
	cmp	r9d, r8d
	jbe	SHORT $LN16@KarpRabinK
; Line 1305
	xor	eax, eax
; Line 1387
	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 1311
	cmp	rdx, rax
	jae	SHORT $LN6@KarpRabinK
	sub	rax, rdx
	add	rdx, rax
	add	r10, rax
$LN6@KarpRabinK:
; Line 1332
	movsx	eax, BYTE PTR [rdx-1]
	mov	rbp, rdx
; Line 1333
	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 1338
	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 1351
	inc	r11d
$LN2@KarpRabinK:
; Line 1354
	cmp	r10, rbx
	je	SHORT $LN19@KarpRabinK
; Line 1377
	movsx	ecx, BYTE PTR [r9+1]
	movsx	eax, BYTE PTR [r10]
; Line 1385
	inc	r10
	shl	ecx, 8
	add	ecx, eax
	inc	r9
; Line 1386
	jmp	SHORT $LL4@KarpRabinK
$LN19@KarpRabinK:
	mov	rsi, QWORD PTR [rsp+24]
	mov	rbp, QWORD PTR [rsp+16]
; Line 1387
	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 1393
$LN27:
	push	rbx
; Line 1395
	mov	ebx, r8d
; Line 1396
	mov	r11d, r9d
	mov	r10, rcx
	add	rbx, rcx
	lea	rax, QWORD PTR [r11+rdx]
; Line 1405
	cmp	r9d, r8d
	jbe	SHORT $LN16@KarpRabinK@2
; Line 1406
	or	eax, -1
; Line 1488
	pop	rbx
	ret	0
$LN16@KarpRabinK@2:
	mov	QWORD PTR [rsp+16], rsi
	mov	QWORD PTR [rsp+24], rdi
; Line 1412
	cmp	rdx, rax
	jae	SHORT $LN6@KarpRabinK@2
	sub	rax, rdx
	add	rdx, rax
	add	r10, rax
$LN6@KarpRabinK@2:
; Line 1433
	movsx	eax, BYTE PTR [rdx-1]
	mov	rsi, rdx
; Line 1434
	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 1439
	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 1455
	cmp	r10, rbx
	je	SHORT $LN20@KarpRabinK@2
; Line 1478
	movsx	ecx, BYTE PTR [r9+1]
	movsx	eax, BYTE PTR [r10]
; Line 1486
	inc	r10
	shl	ecx, 8
	add	ecx, eax
	inc	r9
; Line 1487
	jmp	SHORT $LL4@KarpRabinK@2
$LN23@KarpRabinK@2:
	mov	rsi, QWORD PTR [rsp+16]
	mov	rdi, QWORD PTR [rsp+24]
; Line 1452
	sub	r10, r11
	mov	eax, r10d
; Line 1488
	pop	rbx
	ret	0
$LN20@KarpRabinK@2:
	mov	rsi, QWORD PTR [rsp+16]
	mov	rdi, QWORD PTR [rsp+24]
; Line 1456
	or	eax, -1
; Line 1488
	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 1494
$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 1500
	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 1501
	add	ebx, ebx
	sub	r10, 1
	jne	SHORT $LL9@Karp_Rabin
$LN7@Karp_Rabin:
; Line 1503
	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 1504
	movsx	eax, BYTE PTR [rdx+rcx]
	inc	rcx
	sub	r8, 1
	lea	r12d, DWORD PTR [rax+r12*2]
; Line 1505
	movsx	eax, BYTE PTR [rcx-1]
	lea	r9d, DWORD PTR [rax+r9*2]
	jne	SHORT $LL6@Karp_Rabin
$LN4@Karp_Rabin:
; Line 1510
	sub	r13d, r11d
	mov	rdi, r10
	js	SHORT $LN2@Karp_Rabin
$LL3@Karp_Rabin:
; Line 1511
	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 1512
	movsx	eax, BYTE PTR [rdi+rsi]
; Line 1513
	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 1515
	or	eax, -1
$LN10@Karp_Rabin:
; Line 1516
	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 1511
	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 1518
$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 1525
	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 1520
	lea	r10d, DWORD PTR [r11-1]
$LL9@Karp_Rabin@2:
; Line 1526
	add	esi, esi
	sub	r10, 1
	jne	SHORT $LL9@Karp_Rabin@2
$LN7@Karp_Rabin@2:
; Line 1528
	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 1529
	movsx	eax, BYTE PTR [rdx+rcx]
	inc	rcx
	sub	r8, 1
	lea	r12d, DWORD PTR [rax+r12*2]
; Line 1530
	movsx	eax, BYTE PTR [rcx-1]
	lea	r9d, DWORD PTR [rax+r9*2]
	jne	SHORT $LL6@Karp_Rabin@2
$LN4@Karp_Rabin@2:
; Line 1535
	sub	edi, r11d
	js	SHORT $LN26@Karp_Rabin@2
	add	r11, rbp
	mov	r10, rbp
	inc	edi
$LL3@Karp_Rabin@2:
; Line 1537
	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 1538
	movsx	ecx, BYTE PTR [rbp]
; Line 1539
	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 1542
	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 1548
$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 1555
	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 1558
	movsxd	r10, r9d
; Line 1559
	xor	r8d, r8d
; Line 1560
	sub	ebx, r9d
	movzx	esi, BYTE PTR [r10+r12-1]
	js	SHORT $LN3@HORSPOOL
	npad	13
$LL4@HORSPOOL:
; Line 1561
	movsxd	rcx, r8d
	lea	rax, QWORD PTR [rcx+r10]
	movzx	r9d, BYTE PTR [rax+r11-1]
; Line 1562
	cmp	r9b, sil
	jne	SHORT $LN1@HORSPOOL
; Line 1564
	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 1565
	movzx	eax, r9b
	add	r8d, DWORD PTR bm_bc$[rsp+rax*4]
	cmp	r8d, ebx
	jle	SHORT $LL4@HORSPOOL
$LN3@HORSPOOL:
; Line 1567
	or	eax, -1
$LN11@HORSPOOL:
; Line 1568
	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 1564
	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 1574
$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 1580
	inc	DWORD PTR HORSPOOLhits_invocations_global_counter
	mov	r11, rcx
; Line 1584
	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 1589
	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 1590
	movsxd	rdx, r8d
	lea	rax, QWORD PTR [rdx+rbx]
	movzx	r9d, BYTE PTR [rax+r11-1]
; Line 1591
	cmp	r9b, sil
	jne	SHORT $LN1@HORSPOOLhi
; Line 1594
	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 1595
	movzx	ecx, r9b
	add	r8d, DWORD PTR bm_bc$[rsp+rcx*4]
	cmp	r8d, ebp
	jle	SHORT $LL4@HORSPOOLhi
$LN27@HORSPOOLhi:
; Line 1598
	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
$T8941 = 32
$T8942 = 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 1608
$LN85:
	push	rbx
	push	rdi
	push	r13
	push	r14
	push	r15
	sub	rsp, 1104				; 00000450H
; Line 1612
	movzx	ebx, WORD PTR $SG6118
	mov	r13, rcx
; Line 1619
	lea	rdi, QWORD PTR bm_bc$[rsp]
	movsxd	rax, r9d
	mov	ecx, 256				; 00000100H
	xor	r15d, r15d
	rep stosd
; Line 1620
	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 $T8942[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 1623
	movsxd	rax, r9d
; Line 1624
	xor	r14d, r14d
; Line 1625
	sub	r10d, r9d
	movzx	r8d, BYTE PTR [rax+r11-1]
	mov	QWORD PTR tv704[rsp], rax
	mov	DWORD PTR $T8941[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 1626
	movsxd	rdx, r14d
	add	rax, rdx
	movzx	r10d, BYTE PTR [rax+r13-1]
	mov	BYTE PTR ch$1$[rsp], r10b
; Line 1627
	cmp	r10b, r8b
	jne	$LN1@HORSPOOLal
; Line 1629
	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 1636
	cmp	BYTE PTR [r9], 10
	mov	esi, r14d
	mov	r12d, r14d
	je	SHORT $LL15@HORSPOOLal
; Line 1635
	lea	rax, QWORD PTR [rdx+r13]
	npad	10
$LL17@HORSPOOLal:
; Line 1636
	inc	rax
	inc	r12d
	cmp	BYTE PTR [rax], 10
	jne	SHORT $LL17@HORSPOOLal
	npad	5
$LL15@HORSPOOLal:
; Line 1637
	test	rdx, rdx
	je	SHORT $LN14@HORSPOOLal
	dec	rdx
	dec	esi
	cmp	BYTE PTR [rdx+r13], 10
	jne	SHORT $LL15@HORSPOOLal
$LN14@HORSPOOLal:
; Line 1638
	test	esi, esi
	je	SHORT $LN13@HORSPOOLal
	inc	esi
$LN13@HORSPOOLal:
; Line 1642
	mov	r9d, DWORD PTR NestedP1len$[rsp]
	test	r9d, r9d
	je	SHORT $LN68@HORSPOOLal
; Line 1643
	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 1647
	mov	r9d, DWORD PTR NestedP2len$[rsp]
	test	r9d, r9d
	je	SHORT $LN68@HORSPOOLal
; Line 1648
	mov	rdx, QWORD PTR NestedP2$[rsp]
	mov	r8d, edi
	mov	rcx, rbp
	call	HORSPOOL
	cmp	eax, -1
	je	$LN78@HORSPOOLal
; Line 1652
	mov	r9d, DWORD PTR NestedP3len$[rsp]
	test	r9d, r9d
	je	SHORT $LN68@HORSPOOLal
; Line 1653
	mov	rdx, QWORD PTR NestedP3$[rsp]
	mov	r8d, edi
	mov	rcx, rbp
	call	HORSPOOL
	cmp	eax, -1
	je	$LN77@HORSPOOLal
$LN68@HORSPOOLal:
; Line 1663
	movzx	edi, BYTE PTR $SG6152
	mov	r8, QWORD PTR INIHDDRAM$[rsp]
	lea	r9, OFFSET FLAT:$SG6152
	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 1668
	mov	r8b, BYTE PTR lastch$1$[rsp]
	inc	r15d
	jmp	$LN1@HORSPOOLal
$LN69@HORSPOOLal:
; Line 1664
	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 1666
	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 1667
	mov	r8b, BYTE PTR lastch$1$[rsp]
	jmp	SHORT $LN1@HORSPOOLal
$LN75@HORSPOOLal:
; Line 1623
	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 1676
	movzx	ecx, BYTE PTR ch$1$[rsp]
	mov	edi, DWORD PTR $T8942[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 $T8941[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 1678
	mov	eax, r15d
; Line 1679
	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 1686
$LN27:
	mov	QWORD PTR [rsp+8], rbx
	push	rdi
	sub	rsp, 32					; 00000020H
; Line 1688
	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 1689
	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 1690
	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 1691
	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 1692
	mov	r9d, edi
	cmp	eax, 5
	je	SHORT $LN26@Search_Alg
; Line 1695
	mov	rbx, QWORD PTR [rsp+48]
	add	rsp, 32					; 00000020H
	pop	rdi
	jmp	HORSPOOL
$LN2@Search_Alg:
; Line 1691
	mov	r9d, edi
$LN26@Search_Alg:
; Line 1695
	mov	rbx, QWORD PTR [rsp+48]
	add	rsp, 32					; 00000020H
	pop	rdi
	jmp	KarpRabinKaze
$LN4@Search_Alg:
; Line 1690
	mov	r9d, edi
; Line 1695
	mov	rbx, QWORD PTR [rsp+48]
	add	rsp, 32					; 00000020H
	pop	rdi
	jmp	SMITH_Boyer_Moore
$LN6@Search_Alg:
; Line 1689
	mov	r9d, edi
; Line 1695
	mov	rbx, QWORD PTR [rsp+48]
	add	rsp, 32					; 00000020H
	pop	rdi
	jmp	Quick_Boyer_Moore
$LN8@Search_Alg:
; Line 1688
	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 1695
	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 $LN130
	DD	imagerel $LN130+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 1707
$LN130:
	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 1711
	movzx	ebx, WORD PTR $SG6192
; Line 1718
	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 1720
	test	edx, edx
	je	$LN33@IgorPavlov
; Line 1724
	call	clock
; Line 1725
	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 1726
	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 1727
	call	clock
; Line 1728
	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 1729
	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 1731
	test	edi, edi
	je	$LN32@IgorPavlov
; Line 1735
	call	clock
; Line 1736
	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 1737
	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 1738
	call	clock
; Line 1739
	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 1740
	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 1742
	test	r12d, r12d
	je	$LN120@IgorPavlov
; Line 1746
	call	clock
; Line 1747
	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 1748
	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 1749
	call	clock
; Line 1750
	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 1751
	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
$LN120@IgorPavlov:
; Line 1814
	mov	r10, QWORD PTR NestedP1$GSCopy$1$[rsp]
	mov	edx, DWORD PTR NestedP1len$[rsp]
	mov	ecx, esi
$LN31@IgorPavlov:
; Line 1755
	test	ebp, ebp
	jne	SHORT $LN66@IgorPavlov
	xor	eax, eax
	jmp	$LN28@IgorPavlov
$LN66@IgorPavlov:
; Line 1715
	xor	r12d, r12d
	xor	eax, eax
	dec	ebp
	mov	DWORD PTR tv677[rsp], ebp
	lea	r11, OFFSET FLAT:$SG6236
$LL29@IgorPavlov:
; Line 1759
	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 1760
	test	rax, rax
	je	SHORT $LN24@IgorPavlov
	dec	rax
	dec	esi
	cmp	BYTE PTR [rax+r14], 10
	jne	SHORT $LL25@IgorPavlov
$LN24@IgorPavlov:
; Line 1761
	test	esi, esi
	je	SHORT $LN23@IgorPavlov
	inc	esi
$LN23@IgorPavlov:
; Line 1762
	inc	QWORD PTR TotalLinesENC
; Line 1772
	mov	ebp, r15d
	sub	ebp, esi
	cmp	ebp, 960				; 000003c0H
	jg	$LN103@IgorPavlov
; Line 1773
	test	edx, edx
	je	SHORT $LN88@IgorPavlov
; Line 1774
	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 1777
	je	$LN118@IgorPavlov
; Line 1778
	mov	eax, DWORD PTR NestedP2len$[rsp]
	test	eax, eax
	je	SHORT $LN122@IgorPavlov
; Line 1779
	mov	rdx, QWORD PTR NestedP2$GSCopy$1$[rsp]
	mov	r9d, eax
	mov	r8d, ebp
	mov	rcx, rdi
	call	Search_Algorithm
	cmp	eax, -1
; Line 1782
	je	$LN118@IgorPavlov
; Line 1783
	mov	eax, DWORD PTR NestedP3len$[rsp]
	test	eax, eax
	je	SHORT $LN122@IgorPavlov
; Line 1784
	mov	rdx, QWORD PTR NestedP3$GSCopy$1$[rsp]
	mov	r9d, eax
	mov	r8d, ebp
	mov	rcx, rdi
	call	Search_Algorithm
	lea	r11, OFFSET FLAT:$SG6236
	cmp	eax, -1
; Line 1793
	je	$LN119@IgorPavlov
; Line 1814
	jmp	SHORT $LN88@IgorPavlov
$LN122@IgorPavlov:
	lea	r11, OFFSET FLAT:$SG6236
$LN88@IgorPavlov:
; Line 1799
	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
$LL43@IgorPavlov:
	movzx	eax, BYTE PTR [rcx]
	inc	rcx
	test	al, al
	jne	SHORT $LL43@IgorPavlov
	sub	ecx, r13d
	dec	ecx
	mov	DWORD PTR maskGLOBALlen, ecx
	mov	rcx, rdi
	npad	6
$LL47@IgorPavlov:
	movzx	eax, BYTE PTR [rcx]
	inc	rcx
	cmp	al, 10
	jne	SHORT $LL47@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
	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:$SG6236
	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	$LN119@IgorPavlov
$LN10@IgorPavlov:
; Line 1801
	movzx	r8d, BYTE PTR $SG6236
	mov	r9, QWORD PTR INIHDDRAM$[rsp]
	mov	rdx, r11
	movzx	ecx, BYTE PTR [r9]
	mov	eax, r8d
	sub	ecx, r8d
	jne	SHORT $LN111@IgorPavlov
	mov	al, r8b
	mov	r8, r9
	sub	r8, r11
	npad	4
$LL54@IgorPavlov:
	test	al, al
	je	SHORT $LN111@IgorPavlov
	movzx	eax, BYTE PTR [rdx+1]
	movzx	ecx, BYTE PTR [r8+rdx+1]
	inc	rdx
	sub	ecx, eax
	je	SHORT $LL54@IgorPavlov
$LN111@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 1814
	mov	ecx, DWORD PTR hits$1$[rsp]
	inc	ecx
	mov	DWORD PTR hits$1$[rsp], ecx
	jmp	$LN103@IgorPavlov
$LN7@IgorPavlov:
; Line 1802
	movsxd	rdi, esi
	mov	edx, ebp
	lea	r13, QWORD PTR [rdi+r14]
	mov	rcx, r13
	test	ebp, ebp
	je	SHORT $LN112@IgorPavlov
	npad	5
$LL58@IgorPavlov:
	cmp	BYTE PTR [rcx], bl
	je	SHORT $LN112@IgorPavlov
	inc	rcx
	add	edx, -1					; ffffffffH
	jne	SHORT $LL58@IgorPavlov
$LN112@IgorPavlov:
	xor	eax, eax
	test	edx, edx
	cmovne	rax, rcx
	test	rax, rax
	jne	$LN114@IgorPavlov
	mov	edx, ebp
	mov	rcx, r13
	test	ebp, ebp
	je	SHORT $LN113@IgorPavlov
	movzx	eax, BYTE PTR TAGfree$[rsp+1]
	npad	5
$LL62@IgorPavlov:
	cmp	BYTE PTR [rcx], al
	je	SHORT $LN113@IgorPavlov
	inc	rcx
	add	edx, -1					; ffffffffH
	jne	SHORT $LL62@IgorPavlov
$LN113@IgorPavlov:
	xor	eax, eax
	test	edx, edx
	cmovne	rax, rcx
	test	rax, rax
	jne	$LN114@IgorPavlov
; Line 1806
	mov	eax, DWORD PTR ?hitsSTATIC@?1??IgorPavlov@@9@9
	inc	DWORD PTR hits$1$[rsp]
; Line 1807
	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:$SG6240
	lea	rdx, QWORD PTR [rax+15]
	call	printf
; Line 1808
	inc	ebp
	test	ebp, ebp
	jle	SHORT $LN3@IgorPavlov
	add	rdi, r14
	mov	esi, ebp
	npad	4
$LL5@IgorPavlov:
; Line 1809
	movsx	ecx, BYTE PTR [rdi]
	call	putchar
	inc	rdi
	sub	rsi, 1
	jne	SHORT $LL5@IgorPavlov
$LN3@IgorPavlov:
; Line 1812
	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]
$LN118@IgorPavlov:
; Line 1707
	lea	r11, OFFSET FLAT:$SG6236
$LN119@IgorPavlov:
	mov	ecx, DWORD PTR hits$1$[rsp]
$LN103@IgorPavlov:
; Line 1818
	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 1821
	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
$LN114@IgorPavlov:
; Line 1707
	mov	r13, QWORD PTR x$GSCopy$1$[rsp]
	jmp	SHORT $LN119@IgorPavlov
IgorPavlov ENDP
_TEXT	ENDS
PUBLIC	InitTree
; Function compile flags: /Ogtpy
_TEXT	SEGMENT
InitTree PROC
; Line 1872
	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 1873
	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 1874
	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 1883
$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 1887
	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 1888
	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 1891
	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 1892
	movsxd	rax, r9d
	mov	DWORD PTR rson[rbp+rax*4], edi
	jmp	$LN25@InsertNode
$LN14@InsertNode:
; Line 1894
	mov	ecx, DWORD PTR lson[rbp+rax*4]
	cmp	ecx, 4096				; 00001000H
	je	$LN10@InsertNode
$LN24@InsertNode:
	mov	r9d, ecx
; Line 1897
	mov	edx, 1
	movsxd	rax, r9d
	mov	rcx, rdx
	lea	r10, QWORD PTR text_buf[rax+rbp]
	npad	1
$LL8@InsertNode:
; Line 1898
	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 1899
	cmp	edx, ebx
	jle	SHORT $LL16@InsertNode
; Line 1901
	cmp	edx, 18
	mov	DWORD PTR match_position, r9d
	mov	ebx, edx
	mov	DWORD PTR match_length, edx
	jl	$LL16@InsertNode
; Line 1904
	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 1905
	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 1906
	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 1908
	mov	DWORD PTR dad[rbp+rcx*4], 4096		; 00001000H
	jmp	SHORT $LN17@InsertNode
$LN2@InsertNode:
; Line 1907
	mov	DWORD PTR lson[rbp+rax*4], edi
; Line 1908
	mov	DWORD PTR dad[rbp+rcx*4], 4096		; 00001000H
	jmp	SHORT $LN17@InsertNode
$LN10@InsertNode:
; Line 1895
	movsxd	rax, r9d
	mov	DWORD PTR lson[rbp+rax*4], edi
$LN25@InsertNode:
	mov	DWORD PTR dad[rbp+rdi*4], r9d
$LN17@InsertNode:
; Line 1909
	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 1912
$LN15:
	mov	QWORD PTR [rsp+8], rbx
	mov	QWORD PTR [rsp+16], rdi
; Line 1915
	lea	rdi, OFFSET FLAT:__ImageBase
	movsxd	rbx, ecx
	cmp	DWORD PTR dad[rdi+rbx*4], 4096		; 00001000H
	je	$LN12@DeleteNode
; Line 1916
	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 1917
	movsxd	r11, DWORD PTR lson[rdi+rbx*4]
	cmp	r11d, 4096				; 00001000H
	je	$LN7@DeleteNode
; Line 1920
	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 1921
	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 1922
	lea	r10, QWORD PTR [r8*4]
	movsxd	rcx, DWORD PTR lson[r10+rdi]
	movsxd	rdx, DWORD PTR dad[r10+rdi]
; Line 1923
	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 1925
	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 1927
	mov	eax, DWORD PTR dad[rdi+rbx*4]
	movsxd	rcx, r8d
	mov	DWORD PTR dad[rdi+rcx*4], eax
; Line 1928
	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 1929
	mov	DWORD PTR dad[rdi+rbx*4], 4096		; 00001000H
$LN12@DeleteNode:
; Line 1930
	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 1933
$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 1938
	xor	ebp, ebp
; Line 1941
	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 1946
	lea	r15d, QWORD PTR [rcx+1]
	xor	r14b, r14b
; Line 1947
	mov	r12d, 4078				; 00000feeH
; Line 1948
	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 1950
	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 1951
	mov	BYTE PTR [rbx+rsi+4078], al
	inc	rbx
	inc	r13d
	cmp	rbx, 18
	jl	SHORT $LL29@Encode
$LN27@Encode:
; Line 1953
	mov	DWORD PTR textsize$1$[rsp], r13d
	mov	esi, ebp
	test	r13d, r13d
	je	$LN33@Encode
; Line 1954
	mov	ebx, 4077				; 00000fedH
	npad	7
$LL25@Encode:
	mov	ecx, ebx
	call	InsertNode
	dec	ebx
	cmp	ebx, 4060				; 00000fdcH
	jge	SHORT $LL25@Encode
; Line 1958
	mov	ecx, r12d
	call	InsertNode
	mov	edx, DWORD PTR match_length
	npad	1
$LL22@Encode:
; Line 1961
	cmp	edx, r13d
	cmovg	edx, r13d
; Line 1963
	cmp	edx, 2
	mov	DWORD PTR match_length, edx
	jg	SHORT $LN18@Encode
; Line 1966
	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 1967
	jmp	SHORT $LN67@Encode
$LN18@Encode:
; Line 1968
	mov	ecx, DWORD PTR match_position
	movsxd	rax, r15d
	inc	r15d
	mov	BYTE PTR code_buf$[rsp+rax], cl
; Line 1971
	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 1974
	add	dil, dil
	mov	BYTE PTR mask$1$[rsp], dil
	jne	SHORT $LN64@Encode
; Line 1975
	mov	rbx, rbp
	movsxd	rdi, r15d
	test	r15d, r15d
	jle	SHORT $LN13@Encode
	npad	9
$LL15@Encode:
; Line 1976
	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 1975
	mov	edx, DWORD PTR match_length
$LN13@Encode:
; Line 1977
	add	DWORD PTR codesize$1$[rsp], r15d
; Line 1978
	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 1980
	mov	edi, edx
; Line 1982
	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 1983
	mov	ecx, esi
	call	DeleteNode
; Line 1985
	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 1988
	lea	eax, DWORD PTR [r12+1]
	inc	esi
	and	eax, 4095				; 00000fffH
	and	esi, 4095				; 00000fffH
; Line 1991
	mov	ecx, eax
	mov	r12d, eax
	call	InsertNode
	inc	ebx
	cmp	ebx, edi
	jl	SHORT $LL12@Encode
$LN65@Encode:
; Line 1982
	mov	edx, DWORD PTR match_length
	xor	ebp, ebp
$LN10@Encode:
; Line 1993
	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 1994
	lea	rcx, OFFSET FLAT:$SG7151
	mov	edx, eax
	call	printf
	add	DWORD PTR printcount$1$[rsp], 65536	; 00010000H
	mov	edx, DWORD PTR match_length
$LN51@Encode:
; Line 1998
	cmp	ebx, edi
	jge	SHORT $LN60@Encode
	sub	edi, ebx
	mov	ebx, edi
	npad	3
$LL7@Encode:
; Line 1999
	mov	ecx, esi
	call	DeleteNode
; Line 2000
	lea	eax, DWORD PTR [r12+1]
	inc	esi
	and	eax, 4095				; 00000fffH
	and	esi, 4095				; 00000fffH
; Line 2001
	sub	r13d, 1
	mov	r12d, eax
	je	SHORT $LN5@Encode
	mov	ecx, eax
	call	InsertNode
$LN5@Encode:
; Line 1998
	sub	rbx, 1
	jne	SHORT $LL7@Encode
	mov	edx, DWORD PTR match_length
$LN60@Encode:
; Line 2003
	movzx	edi, BYTE PTR mask$1$[rsp]
	test	r13d, r13d
	jg	$LL22@Encode
; Line 2004
	cmp	r15d, 1
	jle	SHORT $LN66@Encode
; Line 2005
	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 2006
	mov	edi, DWORD PTR codesize$1$[rsp]
	add	edi, r15d
	jmp	SHORT $LN4@Encode
$LN66@Encode:
; Line 1938
	mov	edi, DWORD PTR codesize$1$[rsp]
$LN4@Encode:
; Line 2008
	mov	ebx, DWORD PTR textsize$1$[rsp]
	lea	rcx, OFFSET FLAT:$SG7160
	mov	edx, ebx
	call	printf
; Line 2009
	lea	rcx, OFFSET FLAT:$SG7161
	mov	edx, edi
	call	printf
; Line 2010
	mov	r11d, edi
	lea	rcx, OFFSET FLAT:$SG7163
	pxor	xmm1, xmm1
	pxor	xmm0, xmm0
	cvtsi2sd xmm1, r11
	cvtsi2sd xmm0, rbx
	divsd	xmm1, xmm0
	movd	rdx, xmm1
	call	printf
$LN33@Encode:
; Line 2011
	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 2014
$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 2018
	lea	r13, OFFSET FLAT:text_buf
	mov	r12d, 4078				; 00000feeH
	mov	dl, 32					; 00000020H
	mov	rcx, r13
	mov	r8, r12
	call	memset
; Line 2019
	xor	edi, edi
$LL12@Decode:
; Line 2021
	shr	edi, 1
	bt	edi, 8
	jb	SHORT $LN10@Decode
; Line 2022
	mov	rcx, QWORD PTR infileOkumura
	call	getc
	mov	edi, eax
	cmp	eax, -1
	je	$LN22@Decode
; Line 2023
	or	edi, 65280				; 0000ff00H
$LN10@Decode:
; Line 2026
	mov	rcx, QWORD PTR infileOkumura
	call	getc
	mov	ebx, eax
	test	dil, 1
	je	SHORT $LN8@Decode
	cmp	eax, -1
	je	$LN22@Decode
; Line 2027
	mov	rdx, QWORD PTR outfileOkumura
	mov	ecx, eax
	call	putc
; Line 2028
	movsxd	r11, r12d
	inc	r12d
	mov	BYTE PTR [r11+r13], bl
	and	r12d, 4095				; 00000fffH
; Line 2029
	jmp	SHORT $LL12@Decode
$LN8@Decode:
; Line 2030
	cmp	eax, -1
	je	SHORT $LN22@Decode
; Line 2031
	mov	rcx, QWORD PTR infileOkumura
	call	getc
	cmp	eax, -1
	je	SHORT $LN22@Decode
; Line 2032
	mov	ecx, eax
	and	eax, 15
	and	ecx, 240				; 000000f0H
	shl	ecx, 4
	or	ebx, ecx
	add	eax, 2
; Line 2033
	js	$LL12@Decode
	movsxd	rsi, ebx
	lea	ebp, DWORD PTR [rax+1]
	npad	4
$LL3@Decode:
; Line 2035
	mov	rdx, QWORD PTR outfileOkumura
	mov	rax, rsi
	and	eax, 4095				; 00000fffH
	movzx	ebx, BYTE PTR [rax+r13]
	mov	ecx, ebx
	call	putc
; Line 2036
	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 2039
	jmp	$LL12@Decode
$LN22@Decode:
; Line 2040
	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 2043
$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 2046
	xor	ebx, ebx
; Line 2049
	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 2050
	mov	r9d, ebx
	mov	r10, rbx
	npad	5
$LL12@DecodeKAZE:
; Line 2052
	shr	r9d, 1
	bt	r9d, 8
	jb	SHORT $LN10@DecodeKAZE
; Line 2054
	cmp	ebx, esi
	je	$LN29@DecodeKAZE
; Line 2055
	movzx	r9d, BYTE PTR [rdi]
	inc	ebx
	inc	rdi
; Line 2056
	or	r9d, 65280				; 0000ff00H
$LN10@DecodeKAZE:
; Line 2058
	test	r9b, 1
	je	SHORT $LN8@DecodeKAZE
; Line 2060
	cmp	ebx, esi
	je	$LN29@DecodeKAZE
; Line 2061
	movzx	eax, BYTE PTR [rdi]
	inc	ebx
	inc	rdi
; Line 2063
	mov	BYTE PTR [r10+r13], al
	mov	ecx, eax
; Line 2064
	movsxd	rax, r12d
	inc	r12d
	inc	ebp
	inc	r10
	mov	BYTE PTR [rax+r15], cl
	and	r12d, 4095				; 00000fffH
; Line 2065
	jmp	SHORT $LL12@DecodeKAZE
$LN8@DecodeKAZE:
; Line 2067
	cmp	ebx, esi
	je	SHORT $LN29@DecodeKAZE
; Line 2068
	movzx	edx, BYTE PTR [rdi]
	inc	ebx
; Line 2070
	cmp	ebx, esi
	je	SHORT $LN29@DecodeKAZE
; Line 2071
	movzx	eax, BYTE PTR [rdi+1]
	inc	ebx
	add	rdi, 2
	mov	ecx, eax
; Line 2072
	and	eax, 240				; 000000f0H
	shl	eax, 4
	and	ecx, 15
	or	edx, eax
	add	ecx, 2
; Line 2073
	js	$LL12@DecodeKAZE
	lea	eax, DWORD PTR [rcx+1]
	movsxd	rdx, edx
	mov	r8d, eax
	add	ebp, eax
$LL3@DecodeKAZE:
; Line 2074
	mov	rax, rdx
; Line 2076
	inc	r10
	inc	rdx
	and	eax, 4095				; 00000fffH
	movzx	ecx, BYTE PTR [rax+r15]
; Line 2077
	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 2080
	jmp	$LL12@DecodeKAZE
$LN29@DecodeKAZE:
; Line 2082
	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 2085
$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 2089
	lea	r13d, DWORD PTR [rdx-6]
; Line 2091
	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 2092
	mov	r8d, ebx
	mov	r11, rbx
; Line 2093
	test	r13d, r13d
	je	$LN30@DecodeKAZE@2
	mov	rdx, r14
	lea	r10, OFFSET FLAT:text_buf
	npad	2
$LL20@DecodeKAZE@2:
; Line 2095
	shr	r8d, 1
	bt	r8d, 8
	jb	SHORT $LN18@DecodeKAZE@2
; Line 2097
	movzx	r8d, BYTE PTR [rdx]
	inc	ebx
	or	r8d, 65280				; 0000ff00H
	inc	rdx
$LN18@DecodeKAZE@2:
; Line 2099
	test	r8b, 1
	je	SHORT $LN17@DecodeKAZE@2
; Line 2102
	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 2103
	and	edi, 4095				; 00000fffH
	mov	BYTE PTR [rax+r10], cl
; Line 2104
	jmp	SHORT $LN13@DecodeKAZE@2
$LN17@DecodeKAZE@2:
; Line 2108
	movzx	ecx, BYTE PTR [rdx+1]
	movzx	r9d, BYTE PTR [rdx]
	add	ebx, 2
; Line 2109
	mov	eax, ecx
	and	ecx, 15
	add	rdx, 2
	and	eax, 240				; 000000f0H
	shl	eax, 4
	or	r9d, eax
	add	ecx, 2
; Line 2110
	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 2112
	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 2113
	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 2093
	cmp	ebx, r13d
	jb	$LL20@DecodeKAZE@2
$LN30@DecodeKAZE@2:
	movsxd	rdx, ebx
	movsxd	r10, esi
	lea	r13, OFFSET FLAT:text_buf
; Line 2122
	add	rdx, r14
$LL12@DecodeKAZE@2:
	shr	r8d, 1
	bt	r8d, 8
	jb	SHORT $LN10@DecodeKAZE@2
; Line 2121
	cmp	ebx, ebp
	je	$LN40@DecodeKAZE@2
; Line 2122
	movzx	r8d, BYTE PTR [rdx]
	inc	ebx
	or	r8d, 65280				; 0000ff00H
	inc	rdx
$LN10@DecodeKAZE@2:
; Line 2124
	test	r8b, 1
	je	SHORT $LN8@DecodeKAZE@2
; Line 2126
	cmp	ebx, ebp
	je	$LN40@DecodeKAZE@2
; Line 2128
	movzx	eax, BYTE PTR [rdx]
; Line 2129
	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 2130
	jmp	SHORT $LL12@DecodeKAZE@2
$LN8@DecodeKAZE@2:
; Line 2132
	cmp	ebx, ebp
	je	SHORT $LN40@DecodeKAZE@2
; Line 2133
	movzx	r9d, BYTE PTR [rdx]
	inc	ebx
; Line 2135
	cmp	ebx, ebp
	je	SHORT $LN40@DecodeKAZE@2
; Line 2136
	movzx	ecx, BYTE PTR [rdx+1]
	inc	ebx
	add	rdx, 2
; Line 2137
	mov	eax, ecx
	and	ecx, 15
	and	eax, 240				; 000000f0H
	shl	eax, 4
	or	r9d, eax
	add	ecx, 2
; Line 2138
	js	$LL12@DecodeKAZE@2
	lea	eax, DWORD PTR [rcx+1]
	movsxd	r9, r9d
	mov	r11d, eax
	add	esi, eax
$LL3@DecodeKAZE@2:
; Line 2140
	mov	rax, r9
; Line 2141
	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 2144
	jmp	$LL12@DecodeKAZE@2
$LN40@DecodeKAZE@2:
; Line 2146
	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 2149
$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 2155
	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 2156
	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 2158
	shr	ebx, 1
	bt	ebx, 8
	jb	SHORT $LN10@DecodeKAZE@3
; Line 2159
	mov	rcx, r12
	call	getc
	mov	ebx, eax
	cmp	eax, -1
	je	$LN29@DecodeKAZE@3
; Line 2160
	or	ebx, 65280				; 0000ff00H
$LN10@DecodeKAZE@3:
; Line 2163
	mov	rcx, r12
	call	getc
	test	bl, 1
	je	SHORT $LN8@DecodeKAZE@3
	cmp	eax, -1
	je	$LN29@DecodeKAZE@3
; Line 2166
	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 2167
	jmp	SHORT $LL12@DecodeKAZE@3
$LN8@DecodeKAZE@3:
; Line 2168
	mov	edi, eax
	cmp	eax, -1
	je	SHORT $LN29@DecodeKAZE@3
; Line 2169
	mov	rcx, r12
	call	getc
	cmp	eax, -1
	je	SHORT $LN29@DecodeKAZE@3
; Line 2170
	mov	ecx, eax
	and	eax, 15
	and	ecx, 240				; 000000f0H
	shl	ecx, 4
	or	edi, ecx
	add	eax, 2
; Line 2171
	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 2172
	mov	rax, rdx
; Line 2174
	inc	rbp
	inc	rdx
	and	eax, 4095				; 00000fffH
	movzx	ecx, BYTE PTR [rax+rdi]
; Line 2175
	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 2178
	jmp	$LL12@DecodeKAZE@3
$LN29@DecodeKAZE@3:
; Line 2180
	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	__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 $LN239
	DD	imagerel $LN239+1857
	DD	imagerel $unwind$main
$pdata$3$main DD imagerel $LN239+1857
	DD	imagerel $LN239+8741
	DD	imagerel $chain$3$main
$pdata$6$main DD imagerel $LN239+8741
	DD	imagerel $LN239+13619
	DD	imagerel $chain$6$main
$pdata$7$main DD imagerel $LN239+13619
	DD	imagerel $LN239+13651
	DD	imagerel $chain$7$main
$pdata$8$main DD imagerel $LN239+13651
	DD	imagerel $LN239+13712
	DD	imagerel $chain$8$main
$pdata$9$main DD imagerel $LN239+13712
	DD	imagerel $LN239+13779
	DD	imagerel $chain$9$main
pdata	ENDS
xdata	SEGMENT
$unwind$main DD	0105219H
	DD	01f3d840H
	DD	01f4c837H
	DD	01f5b82eH
	DD	01f6a825H
	DD	01f7981cH
	DD	03f70113H
	DD	07004f006H
	DD	030026003H
	DD	imagerel __GSHandlerCheck
	DD	01f20H
$chain$3$main DD 082021H
	DD	03f6e420H
	DD	03ffd418H
	DD	03fec410H
	DD	03fc5408H
	DD	imagerel $LN239
	DD	imagerel $LN239+1857
	DD	imagerel $unwind$main
$chain$6$main DD 062121H
	DD	01f88821H
	DD	01f97818H
	DD	01fa6808H
	DD	imagerel $LN239+1857
	DD	imagerel $LN239+8741
	DD	imagerel $chain$3$main
$chain$7$main DD 021H
	DD	imagerel $LN239+1857
	DD	imagerel $LN239+8741
	DD	imagerel $chain$3$main
$chain$8$main DD 021H
	DD	imagerel $LN239
	DD	imagerel $LN239+1857
	DD	imagerel $unwind$main
$chain$9$main DD 0e0021H
	DD	01f88800H
	DD	01f97800H
	DD	01fa6800H
	DD	03f6e400H
	DD	03ffd400H
	DD	03fec400H
	DD	03fc5400H
	DD	imagerel $LN239
	DD	imagerel $LN239+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
tv1952 = 184
len$ = 184
hits4$1$ = 192
hits3$1$ = 196
size_in$1$ = 200
hits1$1$ = 204
hits2$1$ = 208
k$1$ = 212
tv364 = 216
tv1942 = 224
tv366 = 232
tv1938 = 240
tv372 = 248
tv1255 = 256
tv376 = 264
tv1948 = 272
tv1186 = 280
tv2029 = 288
tv524 = 296
tv2000 = 304
tv362 = 312
fp_outLOG4$1$ = 320
tv374 = 328
fp_in$1$ = 336
tv356 = 344
t3$ = 352
t1$ = 360
scratch$3$ = 368
llTOaDigits$ = 376
INIHDDRAM$ = 408
llTOaDigits2$ = 432
HTML05$ = 464
HTML12$ = 544
HTML04$ = 624
HTML14$ = 704
HTML13$ = 784
HTML15$ = 864
HTML09$ = 944
HTML02$ = 1024
HTML07$ = 1104
HTML08$ = 1184
HTML01$ = 1264
HTML03$ = 1344
HTML06$ = 1424
Pattern2$ = 1552
P3NestedPattern3$ = 1824
P3NestedPattern2$ = 2096
P1NestedPattern1$ = 2368
P3NestedPattern1$ = 2640
P2NestedPattern3$ = 2912
Pattern3$ = 3184
P2NestedPattern1$ = 3456
P4NestedPattern3$ = 3728
P1NestedPattern2$ = 4000
P4NestedPattern2$ = 4272
P2NestedPattern2$ = 4544
P4NestedPattern1$ = 4816
Pattern1$ = 5088
Pattern4$ = 5360
P1NestedPattern3$ = 5632
LINE10$ = 5904
__$ArrayPad$ = 7968
numArgs$ = 8160
args$ = 8168
main	PROC
; Line 2194
$LN239:
	push	rbx
	push	rsi
	push	rdi
	push	r15
	mov	eax, 8120				; 00001fb8H
	call	__chkstk
	sub	rsp, rax
	movaps	XMMWORD PTR [rsp+8048], xmm9
	movaps	XMMWORD PTR [rsp+8032], xmm10
	movaps	XMMWORD PTR [rsp+8016], xmm11
	movaps	XMMWORD PTR [rsp+8000], xmm12
	movaps	XMMWORD PTR [rsp+7984], xmm13
	mov	rax, QWORD PTR __security_cookie
	xor	rax, rsp
	mov	QWORD PTR __$ArrayPad$[rsp], rax
; Line 2225
	xorpd	xmm13, xmm13
	xor	r15d, r15d
; Line 2247
	lea	rsi, OFFSET FLAT:__ImageBase
	mov	rax, QWORD PTR $SG7430[rsi]
	mov	edi, ecx
	mov	ecx, r15d
	movapd	xmm11, xmm13
	movapd	xmm10, xmm13
	movapd	xmm9, xmm13
	mov	QWORD PTR tv372[rsp], rcx
	mov	QWORD PTR tv1186[rsp], rcx
	mov	QWORD PTR tv1948[rsp], rcx
	movapd	xmm12, xmm13
	mov	QWORD PTR tv362[rsp], rcx
	mov	QWORD PTR tv374[rsp], rcx
	mov	QWORD PTR tv1255[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 $SG7430[rsi+8]
	mov	QWORD PTR FilesLENen$1$[rsp], r15
	mov	QWORD PTR [rcx+8], rax
	movzx	eax, BYTE PTR $SG7430[rsi+16]
	mov	QWORD PTR FilesLENde$1$[rsp], r15
	mov	BYTE PTR [rcx+16], al
; Line 2279
	mov	rax, QWORD PTR $SG7445[rsi]
	lea	rcx, QWORD PTR HTML01$[rsp]
	mov	QWORD PTR [rcx], rax
	mov	rax, QWORD PTR $SG7445[rsi+8]
	mov	DWORD PTR hits1$1$[rsp], r15d
	mov	QWORD PTR [rcx+8], rax
	mov	rax, QWORD PTR $SG7445[rsi+16]
	mov	DWORD PTR hits2$1$[rsp], r15d
	mov	QWORD PTR [rcx+16], rax
	mov	rax, QWORD PTR $SG7445[rsi+24]
	mov	DWORD PTR hits3$1$[rsp], r15d
	mov	QWORD PTR [rcx+24], rax
	mov	rax, QWORD PTR $SG7445[rsi+32]
	mov	DWORD PTR hits4$1$[rsp], r15d
	mov	QWORD PTR [rcx+32], rax
	mov	rax, QWORD PTR $SG7445[rsi+40]
	mov	DWORD PTR hits1flag$1$[rsp], r15d
	mov	QWORD PTR [rcx+40], rax
	mov	rax, QWORD PTR $SG7445[rsi+48]
	mov	DWORD PTR hits2flag$1$[rsp], r15d
	mov	QWORD PTR [rcx+48], rax
	mov	rax, QWORD PTR $SG7445[rsi+56]
	mov	DWORD PTR hits3flag$1$[rsp], r15d
	mov	QWORD PTR [rcx+56], rax
	movzx	eax, BYTE PTR $SG7445[rsi+64]
	mov	DWORD PTR hits4flag$1$[rsp], r15d
	mov	BYTE PTR [rcx+64], al
	xor	eax, eax
; Line 2280
	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 $SG7447[rsi]
	mov	DWORD PTR tv364[rsp], r15d
	mov	DWORD PTR tv366[rsp], r15d
	mov	QWORD PTR [rcx], rax
	mov	rax, QWORD PTR $SG7447[rsi+8]
	mov	DWORD PTR tv376[rsp], r15d
	mov	QWORD PTR [rcx+8], rax
	mov	rax, QWORD PTR $SG7447[rsi+16]
	mov	DWORD PTR tv524[rsp], r15d
	mov	QWORD PTR [rcx+16], rax
	mov	rax, QWORD PTR $SG7447[rsi+24]
	mov	DWORD PTR tv1938[rsp], r15d
	mov	QWORD PTR [rcx+24], rax
	mov	rax, QWORD PTR $SG7447[rsi+32]
	mov	DWORD PTR tv1942[rsp], r15d
	mov	QWORD PTR [rcx+32], rax
	xor	eax, eax
	mov	DWORD PTR tv1952[rsp], r15d
	mov	DWORD PTR tv2000[rsp], r15d
	mov	DWORD PTR tv2029[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 2281
	mov	rax, QWORD PTR $SG7449[rsi]
	lea	rcx, QWORD PTR HTML03$[rsp]
; Line 2284
	lea	rdx, OFFSET FLAT:$SG7455
	lea	r8d, QWORD PTR [r15+105]
	mov	QWORD PTR [rcx], rax
	mov	rax, QWORD PTR $SG7449[rsi+8]
	mov	QWORD PTR [rcx+8], rax
	mov	rax, QWORD PTR $SG7449[rsi+16]
	mov	QWORD PTR [rcx+16], rax
	mov	rax, QWORD PTR $SG7449[rsi+24]
	mov	QWORD PTR [rcx+24], rax
	mov	rax, QWORD PTR $SG7449[rsi+32]
	mov	QWORD PTR [rcx+32], rax
	mov	rax, QWORD PTR $SG7449[rsi+40]
	mov	QWORD PTR [rcx+40], rax
	mov	rax, QWORD PTR $SG7449[rsi+48]
	mov	QWORD PTR [rcx+48], rax
	mov	rax, QWORD PTR $SG7449[rsi+56]
	mov	QWORD PTR [rcx+56], rax
	mov	eax, DWORD PTR $SG7449[rsi+64]
	mov	DWORD PTR [rcx+64], eax
	movzx	eax, BYTE PTR $SG7449[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 $SG7451[rsi]
	mov	QWORD PTR [rcx], rax
	movzx	eax, BYTE PTR $SG7451[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 $SG7453
	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 2285
	mov	rax, QWORD PTR $SG7457[rsi]
	lea	rcx, QWORD PTR HTML07$[rsp]
	xor	r11d, r11d
	mov	QWORD PTR [rcx], rax
	mov	rax, QWORD PTR $SG7457[rsi+8]
	mov	QWORD PTR HTML06$[rsp+105], r11
	mov	QWORD PTR [rcx+8], rax
	mov	rax, QWORD PTR $SG7457[rsi+16]
	mov	QWORD PTR HTML06$[rsp+113], r11
	mov	QWORD PTR [rcx+16], rax
	mov	rax, QWORD PTR $SG7457[rsi+24]
	mov	DWORD PTR HTML06$[rsp+121], r11d
	mov	QWORD PTR [rcx+24], rax
	mov	rax, QWORD PTR $SG7457[rsi+32]
	mov	WORD PTR HTML06$[rsp+125], r11w
	mov	QWORD PTR [rcx+32], rax
	mov	rax, QWORD PTR $SG7457[rsi+40]
	mov	BYTE PTR HTML06$[rsp+127], r11b
	mov	QWORD PTR [rcx+40], rax
	movzx	eax, BYTE PTR $SG7457[rsi+48]
	mov	BYTE PTR [rcx+48], al
	xor	eax, eax
; Line 2286
	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 $SG7459[rsi]
	mov	QWORD PTR [rcx], rax
	mov	rax, QWORD PTR $SG7459[rsi+8]
	mov	QWORD PTR [rcx+8], rax
	mov	rax, QWORD PTR $SG7459[rsi+16]
	mov	QWORD PTR [rcx+16], rax
	mov	rax, QWORD PTR $SG7459[rsi+24]
	mov	QWORD PTR [rcx+24], rax
	mov	rax, QWORD PTR $SG7459[rsi+32]
	mov	QWORD PTR [rcx+32], rax
	mov	rax, QWORD PTR $SG7459[rsi+40]
	mov	QWORD PTR [rcx+40], rax
	mov	rax, QWORD PTR $SG7459[rsi+48]
	mov	QWORD PTR [rcx+48], rax
	movzx	eax, WORD PTR $SG7459[rsi+56]
	mov	WORD PTR [rcx+56], ax
	xor	eax, eax
; Line 2287
	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 $SG7461[rsi]
	mov	DWORD PTR [rcx], eax
	movzx	eax, WORD PTR $SG7461[rsi+4]
	mov	WORD PTR [rcx+4], ax
	movzx	eax, BYTE PTR $SG7461[rsi+6]
	mov	BYTE PTR [rcx+6], al
	xor	eax, eax
; Line 2291
	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 $SG7467
	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 $SG7469[rsi]
	mov	QWORD PTR [rcx], rax
	movzx	eax, BYTE PTR $SG7469[rsi+8]
	mov	BYTE PTR [rcx+8], al
	xor	eax, eax
; Line 2292
	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 $SG7471[rsi]
	mov	QWORD PTR [rcx], rax
	movzx	eax, BYTE PTR $SG7471[rsi+8]
	mov	BYTE PTR [rcx+8], al
	xor	eax, eax
; Line 2293
	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 $SG7473[rsi]
	mov	QWORD PTR [rcx], rax
	movzx	eax, BYTE PTR $SG7473[rsi+8]
	mov	BYTE PTR [rcx+8], al
	xor	eax, eax
; Line 2305
	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$3$[rsp], rax
; Line 2308
	cmp	edi, 1
	jne	SHORT $LN159@main
; Line 2310
	xor	eax, eax
	jmp	$LN28@main
$LN159@main:
	mov	QWORD PTR [rsp+8160], rbp
	mov	QWORD PTR [rsp+8176], r12
	mov	QWORD PTR [rsp+8184], r13
	mov	QWORD PTR [rsp+8112], r14
; Line 2313
	cmp	edi, 2
	je	$LN157@main
	cmp	edi, 3
	je	$LN157@main
; Line 2883
	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 2886
	movzx	edi, BYTE PTR [rdx]
; Line 2887
	cmp	dil, 101				; 00000065H
	je	$LN187@main
	cmp	dil, 69					; 00000045H
	je	$LN187@main
	cmp	dil, 65					; 00000041H
	je	$LN187@main
	cmp	dil, 97					; 00000061H
	je	$LN189@main
; Line 2888
	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 2889
	jne	$LN26@main
$LN24@main:
; Line 3002
	mov	rcx, QWORD PTR [rbx+16]
	lea	rdx, OFFSET FLAT:$SG7949
	call	fopen
	mov	r12, rax
	test	rax, rax
	jne	SHORT $LN9@main
; Line 3003
	mov	rdx, QWORD PTR [rbx+16]
	lea	rcx, OFFSET FLAT:$SG7950
	call	printf
	lea	eax, QWORD PTR [r12+1]
	jmp	$LN234@main
$LN9@main:
; Line 3004
	mov	rcx, QWORD PTR [rbx+24]
	lea	rdx, OFFSET FLAT:$SG7951
	call	fopen
; Line 3007
	xor	edx, edx
	mov	rcx, r12
	lea	r8d, QWORD PTR [rdx+2]
	mov	r13, rax
	call	fseek
; Line 3008
	mov	rcx, r12
	call	ftell
; Line 3009
	xor	r8d, r8d
	xor	edx, edx
	movsxd	rsi, eax
	mov	rcx, r12
	mov	QWORD PTR len$[rsp], rsi
	call	fseek
; Line 3010
	mov	rcx, rsi
	call	malloc
; Line 3013
	mov	r14d, 1
	mov	r9, r12
	mov	rcx, rax
	mov	r8, rsi
	mov	rdx, r14
	mov	rbp, rax
	call	fread
; Line 3015
	cmp	dil, 100				; 00000064H
	jne	SHORT $LN8@main
; Line 3018
	mov	rcx, rbp
	call	qlz_size_decompressed
; Line 3019
	mov	rcx, rax
	call	malloc
; Line 3022
	lea	ecx, QWORD PTR [r14+15]
	mov	rbx, rax
	call	malloc
; Line 3026
	lea	rcx, OFFSET FLAT:$SG7957
	mov	edx, esi
	mov	rdi, rax
	call	printf
; Line 3027
	mov	r8, rdi
	mov	rdx, rbx
	mov	rcx, rbp
	call	qlz_decompress
; Line 3029
	lea	rcx, OFFSET FLAT:$SG7959
	mov	edx, eax
	mov	rdi, rax
	call	printf
; Line 3030
	mov	r9, r13
	mov	r8, r14
	mov	rdx, rdi
	mov	rcx, rbx
	call	fwrite
	jmp	$LN3@main
$LN8@main:
; Line 3032
	cmp	dil, 82					; 00000052H
	jne	$LN6@main
; Line 3036
	mov	ecx, 268435457				; 10000001H
	call	malloc
; Line 3039
	lea	rcx, OFFSET FLAT:$SG7964
	mov	edx, esi
	mov	QWORD PTR MeBufferKAZE, rax
	call	printf
; Line 3040
	movzx	edx, BYTE PTR [rbp]
	shr	edx, 5
	inc	edx
	cmp	edx, r14d
	jne	SHORT $LN176@main
	mov	r8, QWORD PTR MeBufferKAZE
	mov	r9d, 268435456				; 10000000H
	mov	edx, esi
	mov	rcx, rbp
	call	fastlz1_decompress
	mov	r15d, eax
	jmp	SHORT $LN175@main
$LN176@main:
	cmp	edx, 2
	jne	SHORT $LN175@main
	mov	r8, QWORD PTR MeBufferKAZE
	mov	r9d, 268435456				; 10000000H
	mov	edx, esi
	mov	rcx, rbp
	call	fastlz2_decompress
	mov	r15d, eax
$LN175@main:
	movsxd	rdi, r15d
; Line 3042
	lea	rcx, OFFSET FLAT:$SG7966
	mov	edx, edi
	call	printf
; Line 3043
	mov	rcx, QWORD PTR MeBufferKAZE
	mov	r9, r13
	mov	r8, r14
	mov	rdx, rdi
	call	fwrite
	jmp	$LN3@main
$LN6@main:
; Line 3045
	cmp	dil, 114				; 00000072H
	jne	SHORT $LN4@main
; Line 3049
	mov	ecx, 268435457				; 10000001H
	call	malloc
; Line 3052
	lea	rcx, OFFSET FLAT:$SG7971
	mov	edx, esi
	mov	QWORD PTR MeBufferKAZE, rax
	call	printf
; Line 3053
	mov	r8, QWORD PTR MeBufferKAZE
	lea	r9, QWORD PTR len$[rsp]
	mov	edx, esi
	mov	rcx, rbp
	call	DecodeKAZE
; Line 3055
	mov	rdi, QWORD PTR len$[rsp]
	lea	rcx, OFFSET FLAT:$SG7975
	mov	edx, edi
	call	printf
; Line 3056
	mov	rcx, QWORD PTR MeBufferKAZE
	mov	r9, r13
	mov	r8, r14
	mov	rdx, rdi
	call	fwrite
; Line 3058
	jmp	SHORT $LN3@main
$LN4@main:
; Line 3061
	mov	ecx, 268435457				; 10000001H
	call	malloc
; Line 3069
	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 3070
	test	eax, eax
	jne	SHORT $LN2@main
; Line 3072
	mov	r8d, DWORD PTR out_len$[rsp]
	lea	rcx, OFFSET FLAT:$SG7982
	mov	edx, esi
	call	printf
; Line 3081
	mov	rdx, QWORD PTR out_len$[rsp]
	mov	rcx, QWORD PTR MeBufferKAZE
	mov	r9, r13
	mov	r8, r14
	call	fwrite
$LN3@main:
; Line 3085
	mov	rcx, r12
	call	fclose
; Line 3086
	mov	rcx, r13
	call	fclose
; Line 3088
	xor	eax, eax
	jmp	$LN234@main
$LN2@main:
; Line 3076
	lea	rcx, OFFSET FLAT:$SG7984
	mov	edx, eax
	call	printf
; Line 3077
	mov	eax, r14d
	jmp	$LN234@main
$LN187@main:
; Line 2894
	cmp	dil, 97					; 00000061H
	jne	$LN23@main
$LN189@main:
; Line 2896
	mov	rcx, QWORD PTR [rbx+16]
	lea	rdx, OFFSET FLAT:$SG7886
	call	fopen
	mov	QWORD PTR infileOkumura, rax
	test	rax, rax
	jne	SHORT $LN22@main
; Line 2897
	mov	rdx, QWORD PTR [rbx+16]
	lea	rcx, OFFSET FLAT:$SG7887
	call	printf
	mov	ecx, 1
	call	exit
	int	3
$LN22@main:
; Line 2898
	mov	rcx, QWORD PTR [rbx+24]
	lea	rdx, OFFSET FLAT:$SG7890
	call	fopen
	mov	QWORD PTR outfileOkumura, rax
	test	rax, rax
	jne	SHORT $LN21@main
; Line 2899
	mov	rdx, QWORD PTR [rbx+24]
	lea	rcx, OFFSET FLAT:$SG7891
	call	printf
	mov	ecx, 1
	call	exit
	int	3
$LN21@main:
; Line 2900
	call	Encode
; Line 2901
	mov	rcx, QWORD PTR infileOkumura
	call	fclose
; Line 2902
	mov	rcx, QWORD PTR outfileOkumura
	call	fclose
; Line 3088
	xor	eax, eax
	jmp	$LN234@main
$LN23@main:
; Line 2906
	mov	rcx, QWORD PTR [rbx+16]
	lea	rdx, OFFSET FLAT:$SG7895
	call	fopen
	mov	rbp, rax
	test	rax, rax
	jne	SHORT $LN19@main
; Line 2907
	mov	rdx, QWORD PTR [rbx+16]
	lea	rcx, OFFSET FLAT:$SG7896
	call	printf
	lea	eax, QWORD PTR [rbp+1]
	jmp	$LN234@main
$LN19@main:
; Line 2908
	mov	rcx, QWORD PTR [rbx+24]
	lea	rdx, OFFSET FLAT:$SG7897
	call	fopen
; Line 2911
	xor	edx, edx
	mov	rcx, rbp
	lea	r8d, QWORD PTR [rdx+2]
	mov	r13, rax
	call	fseek
; Line 2912
	mov	rcx, rbp
	call	ftell
; Line 2913
	xor	r8d, r8d
	xor	edx, edx
	mov	rcx, rbp
	movsxd	rsi, eax
	call	fseek
; Line 2914
	mov	rcx, rsi
	call	malloc
; Line 2915
	mov	r14d, 1
	mov	r9, rbp
	mov	rcx, rax
	mov	r8, rsi
	mov	rdx, r14
	mov	r12, rax
	call	fread
; Line 2917
	cmp	dil, 101				; 00000065H
	jne	SHORT $LN18@main
; Line 2919
	lea	rcx, QWORD PTR [rsi+400]
	call	malloc
; Line 2922
	mov	ecx, 528400				; 00081010H
	mov	rbx, rax
	call	malloc
; Line 2926
	lea	rcx, OFFSET FLAT:$SG7904
	mov	edx, esi
	mov	rdi, rax
	call	printf
; Line 2927
	mov	r9, rdi
	mov	r8, rsi
	mov	rdx, rbx
	mov	rcx, r12
	call	qlz_compress
; Line 2929
	lea	rcx, OFFSET FLAT:$SG7906
	mov	edx, eax
	mov	rdi, rax
	call	printf
; Line 2930
	mov	r9, r13
	mov	r8, r14
	mov	rdx, rdi
	mov	rcx, rbx
	call	fwrite
	jmp	$LN15@main
$LN18@main:
; Line 2932
	cmp	dil, 65					; 00000041H
	jne	SHORT $LN16@main
; Line 2936
	mov	ecx, 268435457				; 10000001H
	call	malloc
; Line 2939
	lea	rcx, OFFSET FLAT:$SG7911
	mov	edx, esi
	mov	QWORD PTR MeBufferKAZE, rax
	call	printf
; Line 2940
	cmp	esi, 65536				; 00010000H
	jge	SHORT $LN172@main
	mov	r8, QWORD PTR MeBufferKAZE
	mov	edx, esi
	mov	rcx, r12
	call	fastlz1_compress
	jmp	SHORT $LN173@main
$LN172@main:
	mov	r8, QWORD PTR MeBufferKAZE
	mov	edx, esi
	mov	rcx, r12
	call	fastlz2_compress
$LN173@main:
	movsxd	rdi, eax
; Line 2942
	lea	rcx, OFFSET FLAT:$SG7913
	mov	edx, edi
	call	printf
; Line 2943
	mov	rcx, QWORD PTR MeBufferKAZE
	mov	r9, r13
	mov	r8, r14
	mov	rdx, rdi
	call	fwrite
; Line 2945
	jmp	$LN15@main
$LN16@main:
; Line 2954
	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 2956
	lea	rcx, OFFSET FLAT:$SG7935
	call	printf
; Line 2957
	lea	rcx, OFFSET FLAT:$SG7936
	call	printf
; Line 2958
	mov	eax, 3
	jmp	$LN234@main
$LN14@main:
; Line 2968
	mov	ecx, 268435457				; 10000001H
	call	malloc
; Line 2974
	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 2975
	test	eax, eax
	jne	SHORT $LN13@main
; Line 2977
	mov	r8d, DWORD PTR out_len$[rsp]
	lea	rcx, OFFSET FLAT:$SG7941
	mov	edx, esi
	call	printf
; Line 2985
	mov	rdx, QWORD PTR out_len$[rsp]
	cmp	rdx, rsi
	jb	SHORT $LN11@main
; Line 2987
	lea	rcx, OFFSET FLAT:$SG7945
	call	printf
; Line 2988
	xor	eax, eax
	jmp	$LN234@main
$LN11@main:
; Line 2991
	mov	rcx, QWORD PTR MeBufferKAZE
	mov	r9, r13
	mov	r8, r14
	call	fwrite
$LN15@main:
; Line 2995
	mov	rcx, rbp
	call	fclose
; Line 2996
	mov	rcx, r13
	call	fclose
; Line 3088
	xor	eax, eax
	jmp	$LN234@main
$LN13@main:
; Line 2981
	lea	rcx, OFFSET FLAT:$SG7943
	mov	edx, eax
	call	printf
; Line 2982
	mov	eax, 2
	jmp	$LN234@main
$LN26@main:
; Line 2884
	mov	eax, 23
	jmp	$LN234@main
$LN157@main:
; Line 2320
	lea	r9d, DWORD PTR [rdi-1]
	lea	r10, QWORD PTR [rbx+8]
; Line 2322
	mov	r14d, 1
	test	r9d, r9d
	jle	$LN229@main
	npad	1
$LL156@main:
; Line 2323
	mov	rdx, QWORD PTR [r10]
	lea	r8, OFFSET FLAT:$SG7490
	mov	rax, rdx
	sub	r8, rdx
$LL225@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN226@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL225@main
$LN226@main:
	test	edi, edi
	jne	SHORT $LN154@main
; Line 2324
	mov	DWORD PTR SearchAlgorithm, 11
	jmp	$LN121@main
$LN154@main:
; Line 2325
	lea	r8, OFFSET FLAT:$SG7493
	mov	rax, rdx
	sub	r8, rdx
$LL223@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN224@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL223@main
$LN224@main:
	test	edi, edi
	jne	SHORT $LN152@main
; Line 2326
	mov	DWORD PTR SearchAlgorithm, 22
	jmp	$LN121@main
$LN152@main:
; Line 2327
	lea	r8, OFFSET FLAT:$SG7496
	mov	rax, rdx
	sub	r8, rdx
	npad	10
$LL221@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN222@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL221@main
$LN222@main:
	test	edi, edi
	jne	SHORT $LN150@main
; Line 2328
	mov	DWORD PTR SearchAlgorithm, 33		; 00000021H
	jmp	$LN121@main
$LN150@main:
; Line 2329
	lea	r8, OFFSET FLAT:$SG7499
	mov	rax, rdx
	sub	r8, rdx
$LL219@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN220@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL219@main
$LN220@main:
	test	edi, edi
	jne	SHORT $LN148@main
; Line 2330
	mov	DWORD PTR SearchAlgorithm, 44		; 0000002cH
	jmp	$LN121@main
$LN148@main:
; Line 2331
	lea	r8, OFFSET FLAT:$SG7502
	mov	rax, rdx
	sub	r8, rdx
	npad	10
$LL217@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN218@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL217@main
$LN218@main:
	test	edi, edi
	jne	SHORT $LN146@main
; Line 2332
	mov	DWORD PTR SearchAlgorithm, r14d
	jmp	$LN121@main
$LN146@main:
; Line 2333
	lea	r8, OFFSET FLAT:$SG7505
	mov	rax, rdx
	sub	r8, rdx
$LL215@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN216@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL215@main
$LN216@main:
	test	edi, edi
	jne	SHORT $LN144@main
; Line 2334
	mov	DWORD PTR SearchAlgorithm, 2
	jmp	$LN121@main
$LN144@main:
; Line 2335
	lea	r8, OFFSET FLAT:$SG7508
	mov	rax, rdx
	sub	r8, rdx
$LL213@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN214@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL213@main
$LN214@main:
	test	edi, edi
	jne	SHORT $LN142@main
; Line 2336
	mov	DWORD PTR SearchAlgorithm, 3
	jmp	$LN121@main
$LN142@main:
; Line 2337
	lea	r8, OFFSET FLAT:$SG7511
	mov	rax, rdx
	sub	r8, rdx
	npad	10
$LL211@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN212@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL211@main
$LN212@main:
	test	edi, edi
	jne	SHORT $LN140@main
; Line 2338
	mov	DWORD PTR SearchAlgorithm, 4
	jmp	$LN121@main
$LN140@main:
; Line 2339
	lea	r8, OFFSET FLAT:$SG7514
	mov	rax, rdx
	sub	r8, rdx
$LL209@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN210@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL209@main
$LN210@main:
	test	edi, edi
	jne	SHORT $LN138@main
; Line 2340
	mov	DWORD PTR SearchAlgorithm, 111		; 0000006fH
	jmp	$LN121@main
$LN138@main:
; Line 2341
	lea	r8, OFFSET FLAT:$SG7517
	mov	rax, rdx
	sub	r8, rdx
	npad	10
$LL207@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN208@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL207@main
$LN208@main:
	test	edi, edi
	jne	SHORT $LN136@main
; Line 2342
	mov	DWORD PTR SearchAlgorithm, 222		; 000000deH
	jmp	$LN121@main
$LN136@main:
; Line 2343
	lea	r8, OFFSET FLAT:$SG7520
	mov	rax, rdx
	sub	r8, rdx
$LL205@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN206@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL205@main
$LN206@main:
	test	edi, edi
	jne	SHORT $LN134@main
; Line 2344
	mov	DWORD PTR SearchAlgorithm, 333		; 0000014dH
	jmp	$LN121@main
$LN134@main:
; Line 2345
	lea	r8, OFFSET FLAT:$SG7523
	mov	rax, rdx
	sub	r8, rdx
	npad	10
$LL203@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN204@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL203@main
$LN204@main:
	test	edi, edi
	jne	SHORT $LN132@main
; Line 2346
	mov	DWORD PTR SearchAlgorithm, 444		; 000001bcH
	jmp	$LN121@main
$LN132@main:
; Line 2348
	lea	r8, OFFSET FLAT:$SG7526
	mov	rax, rdx
	sub	r8, rdx
$LL201@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN202@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL201@main
$LN202@main:
	test	edi, edi
	jne	SHORT $LN130@main
; Line 2349
	mov	DWORD PTR SearchAlgorithm, 1111		; 00000457H
	jmp	$LN121@main
$LN130@main:
; Line 2350
	lea	r8, OFFSET FLAT:$SG7529
	mov	rax, rdx
	sub	r8, rdx
	npad	10
$LL199@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN200@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL199@main
$LN200@main:
	test	edi, edi
	jne	SHORT $LN128@main
; Line 2351
	mov	DWORD PTR SearchAlgorithm, 2222		; 000008aeH
	jmp	$LN121@main
$LN128@main:
; Line 2352
	lea	r8, OFFSET FLAT:$SG7532
	mov	rax, rdx
	sub	r8, rdx
$LL197@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN198@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL197@main
$LN198@main:
	test	edi, edi
	jne	SHORT $LN126@main
; Line 2353
	mov	DWORD PTR SearchAlgorithm, 3333		; 00000d05H
	jmp	SHORT $LN121@main
$LN126@main:
; Line 2354
	lea	r8, OFFSET FLAT:$SG7535
	mov	rax, rdx
	sub	r8, rdx
$LL195@main:
	movzx	edi, BYTE PTR [rax]
	movzx	ecx, BYTE PTR [rax+r8]
	sub	edi, ecx
	jne	SHORT $LN196@main
	inc	rax
	test	ecx, ecx
	jne	SHORT $LL195@main
$LN196@main:
	test	edi, edi
	jne	SHORT $LN124@main
; Line 2355
	mov	DWORD PTR SearchAlgorithm, 4444		; 0000115cH
	jmp	SHORT $LN121@main
$LN124@main:
; Line 2357
	lea	rdi, OFFSET FLAT:$SG7538
	sub	rdi, rdx
$LL193@main:
	movzx	ecx, BYTE PTR [rdx]
	movzx	eax, BYTE PTR [rdx+rdi]
	sub	ecx, eax
	jne	SHORT $LN194@main
	inc	rdx
	test	eax, eax
	jne	SHORT $LL193@main
$LN194@main:
	test	ecx, ecx
	jne	SHORT $LN229@main
; Line 2358
	mov	DWORD PTR SearchAlgorithm, 5
$LN121@main:
; Line 2362
	dec	r9d
	add	r10, 8
	test	r9d, r9d
	jg	$LL156@main
$LN229@main:
; Line 2369
	lea	rcx, OFFSET FLAT:$SG7540
	mov	BYTE PTR CRdLFa$[rsp], 13
	mov	BYTE PTR CRdLFa$[rsp+1], 10
	call	puts
; Line 2370
	lea	rcx, OFFSET FLAT:$SG7541
	call	puts
; Line 2371
	lea	rcx, OFFSET FLAT:$SG7542
	call	puts
; Line 2372
	lea	rcx, OFFSET FLAT:$SG7543
	call	puts
; Line 2373
	lea	rcx, OFFSET FLAT:$SG7544
	call	puts
; Line 2374
	lea	rcx, OFFSET FLAT:$SG7545
	call	puts
; Line 2377
	lea	rcx, OFFSET FLAT:$SG7546
	call	puts
; Line 2378
	lea	rcx, OFFSET FLAT:$SG7547
	call	puts
; Line 2379
	lea	rcx, OFFSET FLAT:$SG7548
	call	puts
; Line 2380
	lea	rcx, OFFSET FLAT:$SG7549
	call	puts
; Line 2381
	lea	rcx, OFFSET FLAT:$SG7550
	call	puts
; Line 2382
	lea	rcx, OFFSET FLAT:$SG7551
	call	puts
; Line 2383
	lea	rcx, OFFSET FLAT:$SG7552
	call	puts
; Line 2384
	lea	rcx, OFFSET FLAT:$SG7553
	call	puts
; Line 2385
	lea	rcx, OFFSET FLAT:$SG7554
	call	puts
; Line 2386
	lea	rcx, OFFSET FLAT:$SG7555
	call	puts
; Line 2387
	lea	rcx, OFFSET FLAT:$SG7556
	call	puts
; Line 2388
	lea	rcx, OFFSET FLAT:$SG7557
	call	puts
; Line 2389
	lea	rcx, OFFSET FLAT:$SG7558
	call	puts
; Line 2390
	lea	rcx, OFFSET FLAT:$SG7559
	call	puts
; Line 2391
	lea	rcx, OFFSET FLAT:$SG7560
	call	puts
; Line 2392
	lea	rcx, OFFSET FLAT:$SG7561
	call	puts
; Line 2393
	lea	rcx, OFFSET FLAT:$SG7562
	call	puts
; Line 2394
	lea	rcx, OFFSET FLAT:$SG7563
	call	puts
; Line 2395
	lea	rcx, OFFSET FLAT:$SG7564
	call	puts
; Line 2396
	lea	rcx, OFFSET FLAT:$SG7565
	call	puts
; Line 2397
	lea	rcx, OFFSET FLAT:$SG7566
	call	puts
; Line 2398
	lea	rcx, OFFSET FLAT:$SG7567
	call	puts
; Line 2399
	lea	rcx, OFFSET FLAT:$SG7568
	call	puts
; Line 2400
	lea	rcx, OFFSET FLAT:$SG7569
	call	puts
; Line 2401
	lea	rcx, OFFSET FLAT:$SG7570
	call	puts
; Line 2402
	lea	rcx, OFFSET FLAT:$SG7571
	call	puts
; Line 2403
	lea	rcx, OFFSET FLAT:$SG7572
	call	puts
; Line 2404
	lea	rcx, OFFSET FLAT:$SG7573
	call	puts
; Line 2405
	lea	rcx, OFFSET FLAT:$SG7574
	call	puts
; Line 2406
	lea	rcx, OFFSET FLAT:$SG7575
	call	puts
; Line 2407
	lea	rcx, OFFSET FLAT:$SG7576
	call	puts
; Line 2408
	lea	rcx, OFFSET FLAT:$SG7577
	call	puts
; Line 2409
	lea	rcx, OFFSET FLAT:$SG7578
	call	puts
; Line 2410
	lea	rcx, OFFSET FLAT:$SG7579
	call	puts
; Line 2411
	lea	rcx, OFFSET FLAT:$SG7580
	call	puts
; Line 2412
	lea	rcx, OFFSET FLAT:$SG7581
	call	puts
; Line 2413
	lea	rcx, OFFSET FLAT:$SG7582
	call	puts
; Line 2414
	lea	rcx, OFFSET FLAT:$SG7583
	call	puts
; Line 2415
	lea	rcx, OFFSET FLAT:$SG7584
	call	puts
; Line 2416
	lea	rcx, OFFSET FLAT:$SG7585
	call	puts
; Line 2417
	lea	rcx, OFFSET FLAT:$SG7586
	call	puts
; Line 2418
	lea	rcx, OFFSET FLAT:$SG7587
	call	puts
; Line 2419
	lea	rcx, OFFSET FLAT:$SG7588
	call	puts
; Line 2420
	lea	rcx, OFFSET FLAT:$SG7589
	call	puts
; Line 2421
	lea	rcx, OFFSET FLAT:$SG7590
	call	puts
; Line 2422
	lea	rcx, OFFSET FLAT:$SG7591
	call	puts
; Line 2423
	lea	rcx, OFFSET FLAT:$SG7592
	call	puts
; Line 2424
	lea	rcx, OFFSET FLAT:$SG7593
	call	puts
; Line 2425
	lea	rcx, OFFSET FLAT:$SG7594
	call	puts
; Line 2426
	lea	rcx, OFFSET FLAT:$SG7595
	call	puts
; Line 2427
	lea	rcx, OFFSET FLAT:$SG7596
	call	puts
; Line 2428
	lea	rcx, OFFSET FLAT:$SG7597
	call	puts
; Line 2429
	lea	rcx, OFFSET FLAT:$SG7598
	call	puts
; Line 2430
	lea	rcx, OFFSET FLAT:$SG7599
	call	puts
; Line 2431
	lea	rcx, OFFSET FLAT:$SG7600
	call	puts
; Line 2432
	lea	rcx, OFFSET FLAT:$SG7601
	call	puts
; Line 2433
	lea	rcx, OFFSET FLAT:$SG7602
	call	puts
; Line 2434
	lea	rcx, OFFSET FLAT:$SG7603
	call	puts
; Line 2435
	lea	rcx, OFFSET FLAT:$SG7604
	call	puts
; Line 2436
	lea	rcx, OFFSET FLAT:$SG7605
	call	puts
; Line 2437
	lea	rcx, OFFSET FLAT:$SG7606
	call	puts
; Line 2438
	lea	rcx, OFFSET FLAT:$SG7607
	call	puts
; Line 2439
	lea	rcx, OFFSET FLAT:$SG7608
	call	puts
; Line 2440
	lea	rcx, OFFSET FLAT:$SG7609
	call	puts
; Line 2441
	lea	rcx, OFFSET FLAT:$SG7610
	call	puts
; Line 2442
	lea	rcx, OFFSET FLAT:$SG7611
	call	puts
; Line 2443
	lea	rcx, OFFSET FLAT:$SG7612
	call	printf
; Line 2444
	lea	rcx, OFFSET FLAT:$SG7613
	call	printf
; Line 2445
	lea	rcx, OFFSET FLAT:$SG7614
	call	printf
; Line 2446
	lea	rcx, OFFSET FLAT:$SG7615
	call	printf
; Line 2447
	lea	rcx, OFFSET FLAT:$SG7616
	call	printf
; Line 2448
	lea	rcx, OFFSET FLAT:$SG7617
	call	printf
; Line 2449
	lea	rcx, OFFSET FLAT:$SG7618
	call	printf
; Line 2450
	lea	rcx, OFFSET FLAT:$SG7619
	call	printf
; Line 2451
	lea	rcx, OFFSET FLAT:$SG7620
	call	printf
; Line 2452
	lea	rcx, OFFSET FLAT:$SG7621
	call	printf
; Line 2453
	lea	rcx, OFFSET FLAT:$SG7622
	call	printf
; Line 2454
	lea	rcx, OFFSET FLAT:$SG7623
	call	puts
; Line 2455
	lea	rcx, OFFSET FLAT:$SG7624
	call	puts
; Line 2456
	lea	rcx, OFFSET FLAT:$SG7625
	call	puts
; Line 2458
	lea	rcx, OFFSET FLAT:$SG7626
	call	printf
; Line 2464
	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 $LN120@main
; Line 2466
	lea	rcx, OFFSET FLAT:$SG7647
	call	printf
; Line 2467
	lea	rcx, OFFSET FLAT:$SG7648
	call	printf
; Line 2468
	mov	eax, 3
	jmp	$LN234@main
$LN120@main:
; Line 2472
	mov	ecx, 268435457				; 10000001H
	call	malloc
	mov	QWORD PTR MeBufferKAZE, rax
; Line 2473
	test	rax, rax
	jne	SHORT $LN119@main
; Line 2474
	lea	rcx, OFFSET FLAT:$SG7652
	call	puts
	mov	eax, r14d
	jmp	$LN234@main
$LN119@main:
; Line 2475
	lea	rcx, OFFSET FLAT:$SG7653
	mov	edx, 256				; 00000100H
	call	printf
; Line 2478
	cmp	DWORD PTR SearchAlgorithm, r15d
	jne	SHORT $LN118@main
; Line 2480
	mov	rcx, QWORD PTR [rbx+8]
	lea	rdx, OFFSET FLAT:$SG7657
	call	fopen
	mov	rsi, rax
	mov	QWORD PTR fp_in$1$[rsp], rax
	test	rax, rax
	jne	SHORT $LN115@main
; Line 2481
	mov	rdx, QWORD PTR [rbx+8]
	lea	rcx, OFFSET FLAT:$SG7658
	call	printf
	mov	eax, r14d
	jmp	$LN234@main
$LN118@main:
; Line 2484
	mov	rcx, QWORD PTR [rbx+16]
	lea	rdx, OFFSET FLAT:$SG7662
	call	fopen
	mov	rsi, rax
	mov	QWORD PTR fp_in$1$[rsp], rax
	test	rax, rax
	jne	SHORT $LN115@main
; Line 2485
	mov	rdx, QWORD PTR [rbx+16]
	lea	rcx, OFFSET FLAT:$SG7663
	call	printf
	mov	eax, r14d
	jmp	$LN234@main
$LN115@main:
; Line 2487
	xor	edx, edx
	mov	rcx, rsi
	lea	r8d, QWORD PTR [rdx+2]
	call	fseek
; Line 2488
	mov	rcx, rsi
	call	ftell
; Line 2489
	xor	r8d, r8d
	xor	edx, edx
	mov	rcx, rsi
	mov	edi, eax
	mov	DWORD PTR size_in$1$[rsp], eax
	call	fseek
; Line 2490
	lea	rcx, OFFSET FLAT:$SG7664
	mov	edx, edi
	call	printf
; Line 2492
	lea	rdx, OFFSET FLAT:$SG7667
	lea	rcx, OFFSET FLAT:$SG7668
	call	fopen
	mov	r12, rax
	test	rax, rax
	jne	SHORT $LN114@main
; Line 2493
	lea	rcx, OFFSET FLAT:$SG7669
	call	printf
	mov	eax, r14d
	jmp	$LN234@main
$LN114@main:
; Line 2494
	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 2495
	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 2496
	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 2497
	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 2498
	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 2499
	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 2500
	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 2501
	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 2502
	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 2503
	lea	rcx, QWORD PTR CRdLFa$[rsp]
	mov	r9, r12
	mov	r8, r14
	mov	edx, 2
	call	fwrite
; Line 2504
	lea	rdx, OFFSET FLAT:$SG7672
	lea	rcx, OFFSET FLAT:$SG7673
	call	fopen
	mov	r15, rax
	test	rax, rax
	jne	SHORT $LN113@main
; Line 2505
	lea	rcx, OFFSET FLAT:$SG7674
	call	printf
	mov	eax, r14d
	jmp	$LN234@main
$LN113@main:
; Line 2506
	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 2507
	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 2508
	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 2509
	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 2510
	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 2511
	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 2512
	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 2513
	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 2514
	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 2515
	lea	rcx, QWORD PTR CRdLFa$[rsp]
	mov	r9, r15
	mov	r8, r14
	mov	edx, 2
	call	fwrite
; Line 2516
	lea	rdx, OFFSET FLAT:$SG7677
	lea	rcx, OFFSET FLAT:$SG7678
	call	fopen
	mov	r13, rax
	test	rax, rax
	jne	SHORT $LN112@main
; Line 2517
	lea	rcx, OFFSET FLAT:$SG7679
	call	printf
	mov	eax, r14d
	jmp	$LN234@main
$LN112@main:
; Line 2518
	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 2519
	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 2520
	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 2521
	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 2522
	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 2523
	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 2524
	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 2525
	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 2526
	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 2527
	lea	rcx, QWORD PTR CRdLFa$[rsp]
	mov	r9, r13
	mov	r8, r14
	mov	edx, 2
	call	fwrite
; Line 2528
	lea	rdx, OFFSET FLAT:$SG7682
	lea	rcx, OFFSET FLAT:$SG7683
	call	fopen
	mov	rbp, rax
	mov	QWORD PTR fp_outLOG4$1$[rsp], rax
	test	rax, rax
	jne	SHORT $LN111@main
; Line 2529
	lea	rcx, OFFSET FLAT:$SG7684
	call	printf
	mov	eax, r14d
	jmp	$LN234@main
$LN111@main:
; Line 2530
	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 2531
	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 2532
	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 2533
	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 2534
	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 2535
	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 2536
	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 2537
	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 2538
	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 2539
	lea	rcx, QWORD PTR CRdLFa$[rsp]
	mov	r9, rbp
	mov	r8, r14
	mov	edx, 2
	call	fwrite
; Line 2541
	lea	rcx, OFFSET FLAT:$SG7685
	call	printf
; Line 2542
	lea	rcx, OFFSET FLAT:$SG7686
	call	printf
; Line 2543
	lea	rcx, OFFSET FLAT:$SG7687
	call	printf
; Line 2544
	lea	rcx, OFFSET FLAT:$SG7688
	call	printf
; Line 2545
	lea	rcx, OFFSET FLAT:$SG7689
	call	printf
; Line 2546
	lea	rcx, OFFSET FLAT:$SG7690
	call	printf
; Line 2547
	lea	rcx, OFFSET FLAT:$SG7691
	call	printf
; Line 2548
	lea	rcx, OFFSET FLAT:$SG7692
	call	printf
; Line 2549
	lea	rcx, OFFSET FLAT:$SG7693
	call	printf
; Line 2550
	lea	rcx, OFFSET FLAT:$SG7694
	call	printf
; Line 2551
	lea	rcx, OFFSET FLAT:$SG7695
	call	printf
; Line 2555
	lea	rcx, OFFSET FLAT:$SG7697
	call	printf
	lea	rcx, QWORD PTR Pattern1$[rsp]
	call	gets
; Line 2556
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR Pattern1$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv356[rsp], rcx
; Line 2557
	test	ecx, ecx
	je	$LN180@main
; Line 2559
	lea	rcx, OFFSET FLAT:$SG7700
	call	printf
	lea	rcx, QWORD PTR P1NestedPattern1$[rsp]
	call	gets
; Line 2560
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P1NestedPattern1$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv362[rsp], rcx
; Line 2561
	test	ecx, ecx
	je	SHORT $LN104@main
; Line 2563
	lea	rcx, OFFSET FLAT:$SG7703
	call	printf
	lea	rcx, QWORD PTR P1NestedPattern2$[rsp]
	call	gets
; Line 2564
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P1NestedPattern2$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv364[rsp], rcx
; Line 2565
	test	ecx, ecx
	je	SHORT $LN104@main
; Line 2567
	lea	rcx, OFFSET FLAT:$SG7706
	call	printf
	lea	rcx, QWORD PTR P1NestedPattern3$[rsp]
	call	gets
; Line 2568
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P1NestedPattern3$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv366[rsp], rcx
$LN104@main:
; Line 2571
	lea	rcx, OFFSET FLAT:$SG7707
	call	printf
	lea	rcx, QWORD PTR Pattern2$[rsp]
	call	gets
; Line 2572
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR Pattern2$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv372[rsp], rcx
; Line 2573
	test	ecx, ecx
	je	$LN180@main
; Line 2575
	lea	rcx, OFFSET FLAT:$SG7710
	call	printf
	lea	rcx, QWORD PTR P2NestedPattern1$[rsp]
	call	gets
; Line 2576
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P2NestedPattern1$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv374[rsp], rcx
; Line 2577
	test	ecx, ecx
	je	SHORT $LN98@main
; Line 2579
	lea	rcx, OFFSET FLAT:$SG7713
	call	printf
	lea	rcx, QWORD PTR P2NestedPattern2$[rsp]
	call	gets
; Line 2580
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P2NestedPattern2$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv376[rsp], rcx
; Line 2581
	test	ecx, ecx
	je	SHORT $LN98@main
; Line 2583
	lea	rcx, OFFSET FLAT:$SG7716
	call	printf
	lea	rcx, QWORD PTR P2NestedPattern3$[rsp]
	call	gets
; Line 2584
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P2NestedPattern3$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv524[rsp], rcx
$LN98@main:
; Line 2587
	lea	rcx, OFFSET FLAT:$SG7717
	call	printf
	lea	rcx, QWORD PTR Pattern3$[rsp]
	call	gets
; Line 2588
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR Pattern3$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv1186[rsp], rcx
; Line 2589
	test	ecx, ecx
	je	$LN180@main
; Line 2591
	lea	rcx, OFFSET FLAT:$SG7720
	call	printf
	lea	rcx, QWORD PTR P3NestedPattern1$[rsp]
	call	gets
; Line 2592
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P3NestedPattern1$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv1255[rsp], rcx
; Line 2593
	test	ecx, ecx
	je	SHORT $LN92@main
; Line 2595
	lea	rcx, OFFSET FLAT:$SG7723
	call	printf
	lea	rcx, QWORD PTR P3NestedPattern2$[rsp]
	call	gets
; Line 2596
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P3NestedPattern2$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv1938[rsp], rcx
; Line 2597
	test	ecx, ecx
	je	SHORT $LN92@main
; Line 2599
	lea	rcx, OFFSET FLAT:$SG7726
	call	printf
	lea	rcx, QWORD PTR P3NestedPattern3$[rsp]
	call	gets
; Line 2600
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P3NestedPattern3$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv1942[rsp], rcx
$LN92@main:
; Line 2603
	lea	rcx, OFFSET FLAT:$SG7727
	call	printf
	lea	rcx, QWORD PTR Pattern4$[rsp]
	call	gets
; Line 2604
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR Pattern4$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv1948[rsp], rcx
; Line 2605
	test	ecx, ecx
	je	$LN180@main
; Line 2607
	lea	rcx, OFFSET FLAT:$SG7730
	call	printf
	lea	rcx, QWORD PTR P4NestedPattern1$[rsp]
	call	gets
; Line 2608
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P4NestedPattern1$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv1952[rsp], rcx
; Line 2609
	test	ecx, ecx
	je	SHORT $LN180@main
; Line 2611
	lea	rcx, OFFSET FLAT:$SG7733
	call	printf
	lea	rcx, QWORD PTR P4NestedPattern2$[rsp]
	call	gets
; Line 2612
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P4NestedPattern2$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv2000[rsp], rcx
; Line 2613
	test	ecx, ecx
	je	SHORT $LN180@main
; Line 2615
	lea	rcx, OFFSET FLAT:$SG7736
	call	printf
	lea	rcx, QWORD PTR P4NestedPattern3$[rsp]
	call	gets
; Line 2616
	or	rcx, -1
	xor	eax, eax
	lea	rdi, QWORD PTR P4NestedPattern3$[rsp]
	repne scasb
	not	rcx
	dec	rcx
	mov	QWORD PTR tv2029[rsp], rcx
$LN180@main:
; Line 2625
	call	kbhit
	test	eax, eax
	je	SHORT $LN84@main
$LL85@main:
	call	getch
	call	kbhit
	test	eax, eax
	jne	SHORT $LL85@main
$LN84@main:
	movaps	XMMWORD PTR [rsp+8096], xmm6
; Line 2627
	lea	rcx, QWORD PTR t1$[rsp]
	movaps	XMMWORD PTR [rsp+8080], xmm7
	movaps	XMMWORD PTR [rsp+8064], xmm8
	call	_time64
; Line 2628
	xor	eax, eax
	mov	ebx, eax
	mov	DWORD PTR k$1$[rsp], eax
	mov	rdi, rax
	cmp	DWORD PTR size_in$1$[rsp], eax
	jbe	$LN228@main
	movsdx	xmm8, QWORD PTR __real@3ff0000000000000
	npad	1
$LL83@main:
; Line 2630
	call	kbhit
	test	eax, eax
	je	SHORT $LN80@main
	call	getch
	cmp	eax, 27
	je	$LN182@main
$LN80@main:
; Line 2634
	lea	rcx, QWORD PTR workbyte$[rsp]
	mov	r9, rsi
	mov	r8, r14
	mov	rdx, r14
	call	fread
; Line 2635
	movzx	r11d, BYTE PTR workbyte$[rsp]
	cmp	r11b, 10
	je	SHORT $LN79@main
; Line 2636
	cmp	r11b, 13
	je	$LN82@main
; Line 2637
	mov	eax, DWORD PTR LINE10len$1$[rsp]
	cmp	eax, 2048				; 00000800H
	jae	SHORT $LN77@main
	mov	BYTE PTR LINE10$[rsp+rdi], r11b
$LN77@main:
; Line 2638
	inc	eax
	inc	rdi
	mov	DWORD PTR LINE10len$1$[rsp], eax
; Line 2644
	jmp	$LN82@main
$LN79@main:
; Line 2645
	mov	eax, DWORD PTR LINE10len$1$[rsp]
	dec	eax
	cmp	eax, 2047				; 000007ffH
	ja	$LN82@main
; Line 2648
	lea	rdx, OFFSET FLAT:$SG7753
	lea	rcx, QWORD PTR LINE10$[rsp]
	mov	BYTE PTR LINE10$[rsp+rdi], 0
	call	fopen
	mov	rbp, rax
	test	rax, rax
	je	$LN183@main
; Line 2651
	lea	rdx, QWORD PTR LINE10$[rsp]
	lea	rcx, OFFSET FLAT:$SG7755
	call	printf
; Line 2652
	call	clock
; Line 2654
	cmp	DWORD PTR SearchAlgorithm, 5
	je	SHORT $LN72@main
; Line 2655
	lea	rcx, OFFSET FLAT:$SG7757
	call	printf
$LN72@main:
; Line 2656
	call	clock
; Line 2665
	xor	edx, edx
	mov	rcx, rbp
	lea	r8d, QWORD PTR [rdx+2]
	mov	edi, eax
	call	fseek
; Line 2666
	mov	rcx, rbp
	call	ftell
; Line 2668
	xor	r8d, r8d
	xor	edx, edx
	movsxd	rsi, eax
	mov	rcx, rbp
	mov	rbx, rsi
	call	fseek
; Line 2671
	cmp	DWORD PTR SearchAlgorithm, 5
	je	SHORT $LN71@main
; Line 2672
	mov	rcx, QWORD PTR MeBufferKAZE
	mov	r9, rbp
	mov	r8, rsi
	add	rcx, 134217728				; 08000000H
	mov	rdx, r14
	call	fread
; Line 2673
	jmp	SHORT $LN70@main
$LN71@main:
; Line 2674
	mov	rcx, QWORD PTR MeBufferKAZE
	mov	r9, rbp
	mov	r8, rsi
	mov	rdx, r14
	call	fread
$LN70@main:
; Line 2675
	mov	eax, DWORD PTR SearchAlgorithm
	cmp	eax, 5
	je	SHORT $LN69@main
	cmp	eax, 5
	jge	SHORT $LN69@main
; Line 2676
	mov	rcx, QWORD PTR MeBufferKAZE
	add	rcx, 134217728				; 08000000H
	call	qlz_size_decompressed
	mov	rsi, rax
$LN69@main:
; Line 2677
	mov	QWORD PTR FileLENde$[rsp], rsi
; Line 2680
	call	clock
; Line 2683
	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	$LN65@main
	lea	eax, DWORD PTR [rcx-1]
	cmp	eax, 3
	ja	SHORT $LN68@main
; Line 2684
	mov	rdx, QWORD PTR MeBufferKAZE
	mov	r8, QWORD PTR scratch$3$[rsp]
	lea	rcx, QWORD PTR [rdx+134217728]
	call	qlz_decompress
	mov	ecx, DWORD PTR SearchAlgorithm
$LN68@main:
; Line 2687
	cmp	ecx, 5
	je	$LN65@main
	lea	eax, DWORD PTR [rcx-111]
	cmp	eax, 333				; 0000014dH
	ja	$LN227@main
; Line 2688
	mov	r8, QWORD PTR MeBufferKAZE
	movzx	eax, BYTE PTR [r8+134217728]
	shr	eax, 5
	inc	eax
	cmp	eax, r14d
	jne	SHORT $LN167@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 $LN67@main
$LN167@main:
	cmp	eax, 2
	jne	SHORT $LN166@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 $LN67@main
$LN166@main:
	xor	eax, eax
	movsxd	rsi, eax
	mov	QWORD PTR FileLENde$[rsp], rsi
	jmp	SHORT $LN67@main
$LN227@main:
	mov	r8, QWORD PTR MeBufferKAZE
$LN67@main:
; Line 2691
	cmp	ecx, 5
	je	SHORT $LN65@main
	lea	eax, DWORD PTR [rcx-1111]
	cmp	eax, 3333				; 00000d05H
	ja	SHORT $LN66@main
; Line 2692
	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
$LN66@main:
; Line 2695
	cmp	ecx, 5
	je	SHORT $LN65@main
	lea	eax, DWORD PTR [rcx-11]
	cmp	eax, 33					; 00000021H
	ja	SHORT $LN65@main
; Line 2696
	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 2697
	test	eax, eax
	jne	$LN64@main
; Line 2706
	mov	rsi, QWORD PTR out_len$[rsp]
$LN65@main:
; Line 2711
	call	clock
	movd	xmm1, eax
	cvtdq2pd xmm1, xmm1
	movapd	xmm0, xmm1
; Line 2712
	addsd	xmm1, xmm12
	addsd	xmm0, xmm11
	movapd	xmm12, xmm1
	movapd	xmm11, xmm0
	subsd	xmm12, xmm7
	subsd	xmm11, xmm6
; Line 2713
	ucomisd	xmm11, xmm13
	jp	SHORT $LN62@main
	jne	SHORT $LN62@main
	addsd	xmm11, xmm8
$LN62@main:
; Line 2714
	ucomisd	xmm10, xmm13
	jp	SHORT $LN61@main
	jne	SHORT $LN61@main
	addsd	xmm10, xmm8
$LN61@main:
; Line 2715
	ucomisd	xmm12, xmm13
	jp	SHORT $LN60@main
	jne	SHORT $LN60@main
	addsd	xmm12, xmm8
$LN60@main:
; Line 2716
	mov	rdi, QWORD PTR FilesLENen$1$[rsp]
; Line 2717
	add	QWORD PTR FilesLENde$1$[rsp], rsi
; Line 2718
	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:$SG7774
	lea	rdx, QWORD PTR [rax+19]
	call	printf
; Line 2719
	cmp	DWORD PTR SearchAlgorithm, 5
	je	$LN59@main
; Line 2720
	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:$SG7778
	lea	rdx, QWORD PTR [rax+19]
	call	printf
; Line 2721
	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:$SG7781
	lea	rdx, QWORD PTR [rax+19]
	call	printf
$LN59@main:
; Line 2723
	mov	rcx, rbp
	call	fclose
; Line 2729
	mov	rdi, QWORD PTR tv356[rsp]
	test	edi, edi
	je	$LN58@main
; Line 2730
	call	clock
; Line 2731
	lea	rcx, OFFSET FLAT:$SG7783
	mov	ebx, eax
	call	printf
; Line 2732
	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 P1NestedPattern3$[rsp]
	lea	rdx, QWORD PTR Pattern1$[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 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 2734
	test	eax, eax
	je	SHORT $LN57@main
	cmp	DWORD PTR SearchAlgorithm, 5
	jne	SHORT $LN57@main
; Line 2735
	lea	r9, QWORD PTR LINE10$[rsp]
	lea	rdx, OFFSET FLAT:$SG7786
	mov	r8d, eax
	mov	rcx, r12
	call	fprintf
; Line 2736
	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:$SG7787
	mov	r8d, edi
	mov	rcx, r12
	mov	QWORD PTR [rsp+32], rax
	call	fprintf
$LN57@main:
; Line 2739
	mov	ecx, DWORD PTR hits1$1$[rsp]
; Line 2740
	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 2741
	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:$SG7790
	mov	rdx, rax
	call	printf
	jmp	SHORT $LN54@main
$LN55@main:
; Line 2742
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	movsxd	rcx, ecx
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7792
	mov	rdx, rax
	call	printf
$LN54@main:
; Line 2743
	call	clock
	sub	eax, ebx
	movd	xmm0, eax
	cvtdq2pd xmm0, xmm0
	addsd	xmm9, xmm0
$LN58@main:
; Line 2746
	mov	rdi, QWORD PTR tv372[rsp]
	test	edi, edi
	je	$LN53@main
; Line 2747
	call	clock
; Line 2748
	lea	rcx, OFFSET FLAT:$SG7795
	mov	ebx, eax
	call	printf
; Line 2749
	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 P2NestedPattern3$[rsp]
	lea	rdx, QWORD PTR Pattern2$[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 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 2751
	test	eax, eax
	je	SHORT $LN52@main
	cmp	DWORD PTR SearchAlgorithm, 5
	jne	SHORT $LN52@main
; Line 2752
	lea	r9, QWORD PTR LINE10$[rsp]
	lea	rdx, OFFSET FLAT:$SG7798
	mov	r8d, eax
	mov	rcx, r15
	call	fprintf
; Line 2753
	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:$SG7799
	mov	r8d, edi
	mov	rcx, r15
	mov	QWORD PTR [rsp+32], rax
	call	fprintf
$LN52@main:
; Line 2756
	mov	ecx, DWORD PTR hits2$1$[rsp]
; Line 2757
	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 2758
	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:$SG7802
	mov	rdx, rax
	call	printf
	jmp	SHORT $LN49@main
$LN50@main:
; Line 2759
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	movsxd	rcx, ecx
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7804
	mov	rdx, rax
	call	printf
$LN49@main:
; Line 2760
	call	clock
	sub	eax, ebx
	movd	xmm0, eax
	cvtdq2pd xmm0, xmm0
	addsd	xmm9, xmm0
$LN53@main:
; Line 2763
	mov	rdi, QWORD PTR tv1186[rsp]
	test	edi, edi
	je	$LN48@main
; Line 2764
	call	clock
; Line 2765
	lea	rcx, OFFSET FLAT:$SG7807
	mov	ebx, eax
	call	printf
; Line 2766
	mov	rbp, QWORD PTR tv1255[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 tv1942[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 tv1938[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 2768
	test	eax, eax
	je	SHORT $LN47@main
	cmp	DWORD PTR SearchAlgorithm, 5
	jne	SHORT $LN47@main
; Line 2769
	lea	r9, QWORD PTR LINE10$[rsp]
	lea	rdx, OFFSET FLAT:$SG7810
	mov	r8d, eax
	mov	rcx, r13
	call	fprintf
; Line 2770
	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:$SG7811
	mov	r8d, edi
	mov	rcx, r13
	mov	QWORD PTR [rsp+32], rax
	call	fprintf
$LN47@main:
; Line 2773
	mov	ecx, DWORD PTR hits3$1$[rsp]
; Line 2774
	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 2775
	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:$SG7814
	mov	rdx, rax
	call	printf
	jmp	SHORT $LN44@main
$LN45@main:
; Line 2776
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	movsxd	rcx, ecx
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7816
	mov	rdx, rax
	call	printf
$LN44@main:
; Line 2777
	call	clock
	sub	eax, ebx
	movd	xmm0, eax
	cvtdq2pd xmm0, xmm0
	addsd	xmm9, xmm0
$LN48@main:
; Line 2780
	mov	rdi, QWORD PTR tv1948[rsp]
	test	edi, edi
	je	$LN230@main
; Line 2781
	call	clock
; Line 2782
	lea	rcx, OFFSET FLAT:$SG7819
	mov	ebx, eax
	call	printf
; Line 2783
	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 tv2029[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 tv2000[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 tv1952[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 2785
	test	eax, eax
	je	SHORT $LN42@main
	cmp	DWORD PTR SearchAlgorithm, 5
	jne	SHORT $LN42@main
; Line 2786
	lea	r9, QWORD PTR LINE10$[rsp]
	lea	rdx, OFFSET FLAT:$SG7822
	mov	r8d, eax
	mov	rcx, rbp
	call	fprintf
; Line 2787
	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:$SG7823
	mov	r8d, edi
	mov	rcx, rbp
	mov	QWORD PTR [rsp+32], rax
	call	fprintf
$LN42@main:
; Line 2790
	mov	ecx, DWORD PTR hits4$1$[rsp]
; Line 2791
	mov	eax, DWORD PTR hits4flag$1$[rsp]
	add	ecx, edi
	cmovne	eax, r14d
; Line 2792
	cmp	DWORD PTR tv1952[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:$SG7826
	mov	rdx, rax
	call	printf
	jmp	SHORT $LN39@main
$LN40@main:
; Line 2793
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	movsxd	rcx, ecx
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7828
	mov	rdx, rax
	call	printf
$LN39@main:
; Line 2794
	call	clock
	sub	eax, ebx
	movd	xmm0, eax
	cvtdq2pd xmm0, xmm0
	addsd	xmm9, xmm0
	jmp	SHORT $LN43@main
$LN230@main:
; Line 2528
	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 2798
	xor	eax, eax
	mov	DWORD PTR LINE10len$1$[rsp], eax
	mov	rdi, rax
; Line 2799
	mov	BYTE PTR LINE10$[rsp], al
$LN82@main:
	inc	ebx
	mov	DWORD PTR k$1$[rsp], ebx
	cmp	ebx, DWORD PTR size_in$1$[rsp]
	jb	$LL83@main
$LN228@main:
; Line 2803
	lea	rcx, QWORD PTR t3$[rsp]
	call	_time64
; Line 2804
	lea	rcx, OFFSET FLAT:$SG7830
	call	printf
; Line 2805
	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:$SG7832
	lea	rdx, QWORD PTR [rax+19]
	call	printf
; Line 2806
	cmp	DWORD PTR SearchAlgorithm, 5
	je	$LN38@main
; Line 2807
	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:$SG7836
	lea	rdx, QWORD PTR [rax+19]
	call	printf
; Line 2808
	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:$SG7839
	lea	rdx, QWORD PTR [rax+19]
	call	printf
$LN38@main:
; Line 2810
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	mov	rcx, rsi
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7841
	mov	rdx, rax
	call	printf
; Line 2811
	cmp	DWORD PTR SearchAlgorithm, 5
	je	SHORT $LN37@main
; Line 2812
	cvttsd2si eax, xmm11
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	movsxd	rcx, eax
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7844
	mov	rdx, rax
	call	printf
$LN37@main:
; Line 2813
	cvttsd2si eax, xmm9
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	movsxd	rcx, eax
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7846
	mov	rdx, rax
	call	printf
; Line 2814
	movsxd	rdx, DWORD PTR t3$[rsp]
	lea	rcx, OFFSET FLAT:$SG7848
	sub	rdx, QWORD PTR t1$[rsp]
	call	printf
; Line 2815
	mov	rcx, QWORD PTR FilesLENde$1$[rsp]
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7849
	mov	rdx, rax
	call	printf
; Line 2817
	movsxd	rcx, DWORD PTR SearchAlgorithm_invocations_global_counter
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7850
	mov	rdx, rax
	call	printf
; Line 2823
	cmp	DWORD PTR SearchAlgorithm, 5
	je	$LN33@main
; Line 2825
	movsxd	rcx, DWORD PTR VIVA_IgorPavlov_invocations_global_counter
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7852
	mov	rdx, rax
	call	printf
; Line 2826
	movsxd	rcx, DWORD PTR WildGLOBALhits
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7853
	mov	rdx, rax
	call	printf
; Line 2827
	mov	r8d, 10
	cvttsd2si edx, QWORD PTR clocksGW
	movsxd	rcx, edx
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7855
	mov	rdx, rax
	call	printf
; Line 2828
	movsdx	xmm5, QWORD PTR clocksGW
	ucomisd	xmm5, xmm13
	jp	SHORT $LN192@main
	je	SHORT $LN35@main
$LN192@main:
; Line 2829
	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:$SG7858
	mov	rdx, rax
	call	printf
$LN35@main:
; Line 2831
	movsxd	rcx, DWORD PTR HORSPOOLhits_invocations_global_counter
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7859
	mov	rdx, rax
	call	printf
; Line 2832
	movsxd	rcx, DWORD PTR HorspoolGLOBALhits
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7860
	mov	rdx, rax
	call	printf
; Line 2833
	mov	r8d, 10
	cvttsd2si edx, QWORD PTR clocksGH
	movsxd	rcx, edx
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7862
	mov	rdx, rax
	call	printf
; Line 2834
	movsdx	xmm5, QWORD PTR clocksGH
	ucomisd	xmm5, xmm13
	jp	SHORT $LN191@main
	je	SHORT $LN34@main
$LN191@main:
; Line 2835
	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:$SG7865
	mov	rdx, rax
	call	printf
$LN34@main:
; Line 2837
	movsxd	rcx, DWORD PTR KarpRabinKazeHits_invocations_global_counter
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7866
	mov	rdx, rax
	call	printf
; Line 2838
	movsxd	rcx, DWORD PTR FRKFindSubpbGLOBALHITS
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	mov	r8d, 10
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7867
	mov	rdx, rax
	call	printf
; Line 2839
	mov	r8d, 10
	cvttsd2si edx, QWORD PTR clocksGK
	movsxd	rcx, edx
	lea	rdx, QWORD PTR llTOaDigits$[rsp]
	call	_ui64toaKAZEcomma
	lea	rcx, OFFSET FLAT:$SG7869
	mov	rdx, rax
	call	printf
; Line 2840
	movsdx	xmm5, QWORD PTR clocksGK
	ucomisd	xmm5, xmm13
	jp	SHORT $LN190@main
	je	SHORT $LN33@main
$LN190@main:
; Line 2841
	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:$SG7872
	mov	rdx, rax
	call	printf
$LN33@main:
; Line 2844
	cmp	DWORD PTR hits1flag$1$[rsp], 0
	je	$LN32@main
; Line 2847
	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 2848
	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 2849
	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 2850
	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 2852
	cmp	DWORD PTR hits2flag$1$[rsp], 0
	je	$LN31@main
; Line 2855
	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 2856
	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 2857
	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 2858
	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 2860
	cmp	DWORD PTR hits3flag$1$[rsp], 0
	je	$LN30@main
; Line 2863
	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 2864
	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 2865
	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 2866
	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 2868
	cmp	DWORD PTR hits4flag$1$[rsp], 0
	je	$LN29@main
; Line 2871
	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 2872
	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 2873
	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 2874
	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 2877
	lea	rcx, OFFSET FLAT:$SG7877
	call	printf
; Line 2878
	xor	eax, eax
$LN237@main:
	movaps	xmm7, XMMWORD PTR [rsp+8080]
	movaps	xmm6, XMMWORD PTR [rsp+8096]
	movaps	xmm8, XMMWORD PTR [rsp+8064]
$LN234@main:
	mov	r13, QWORD PTR [rsp+8184]
	mov	r12, QWORD PTR [rsp+8176]
	mov	rbp, QWORD PTR [rsp+8160]
	mov	r14, QWORD PTR [rsp+8112]
$LN28@main:
; Line 3090
	mov	rcx, QWORD PTR __$ArrayPad$[rsp]
	xor	rcx, rsp
	call	__security_check_cookie
	lea	r11, QWORD PTR [rsp+8120]
	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
$LN182@main:
; Line 2631
	lea	rcx, OFFSET FLAT:$SG7744
	call	printf
; Line 2632
	jmp	$LN228@main
$LN64@main:
; Line 2703
	lea	rcx, OFFSET FLAT:$SG7769
	mov	edx, eax
	call	printf
; Line 2704
	mov	eax, r14d
	jmp	$LN237@main
$LN183@main:
; Line 2649
	lea	rdx, QWORD PTR LINE10$[rsp]
	lea	rcx, OFFSET FLAT:$SG7754
	call	printf
	mov	eax, r14d
	jmp	$LN237@main
$LN238@main:
main	ENDP
_TEXT	ENDS
END
