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

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

INCLUDELIB LIBC
INCLUDELIB OLDNAMES

_DATA	SEGMENT
COMM	_clocks1:DWORD
COMM	_clocks2:DWORD
COMM	_Bozan:DWORD
_DATA	ENDS
_BSS	SEGMENT
$SG1836	DB	01H DUP (?)
$SG1962	DB	01H DUP (?)
$SG1977	DB	01H DUP (?)
_BSS	ENDS
_DATA	SEGMENT
$SG1409	DB	'rb', 00H
	ORG $+1
$SG1410	DB	'Leprechaun: Can''t open file %s ', 0aH, 00H
	ORG $+3
$SG1417	DB	'Allocated memory for words in MB: %lu', 0aH, 00H
	ORG $+1
$SG1419	DB	'Leprechaun: Can''t read file %s ', 0aH, 00H
	ORG $+3
$SG1430	DB	'Leprechaun: Needed memory allocation denied!', 0aH, 00H
	ORG $+2
$SG1432	DB	'Allocated memory for pointers-to-words in MB: %lu', 0aH, 00H
	ORG $+1
$SG1831	DB	'Leprechaun(Fast Greedy Word-Ripper), revision 13+++++, w'
	DB	'ritten by Svalqyatchx.', 00H
	ORG $+1
$SG1832	DB	'Leprechaun: ''Oh, well, didn''t you hear? Bigger is good'
	DB	', but jumbo is dear.''', 00H
	ORG $+4
$SG1833	DB	'Kaze: Let''s see what a 3-way hash + 6,602,752 Binary-Se'
	DB	'arch-Trees can give us,', 00H
	ORG $+1
$SG1834	DB	'      also the performance of a 3-way hash + 6,602,752 B'
	DB	'-Trees of order 3.', 00H
	ORG $+1
$SG1837	DB	'''The Little Monster'' short notes:', 00H
	ORG $+2
$SG1838	DB	'Note1: I wish to thank to R.N. Horspool, Ranjan Sinha, D'
	DB	'mitry Shkarin,', 00H
	ORG $+1
$SG1839	DB	'       Michael Abrash, J. Bentley, R. Sedgewick, Igor Pa'
	DB	'vlov, Lasse Reinhold,', 00H
	ORG $+2
$SG1840	DB	'       Landon Noll for sharing their knowledge to public'
	DB	'.', 00H
	ORG $+2
$SG1841	DB	'Note2: Run it without parameters to get usage and short '
	DB	'notes.', 00H
	ORG $+5
$SG1842	DB	'Note3: This simple amateurish(more over I am not versed '
	DB	'well neither in C nor', 00H
	ORG $+2
$SG1843	DB	'       in mathematics nor in english language, but I am '
	DB	'persistent in INDEXING', 00H
	ORG $+1
$SG1844	DB	'       GBs of english TEXTS) tool is written in ANSI C(a'
	DB	't least its source is', 00H
	ORG $+2
$SG1845	DB	'       compileable for CL(Windows) and GCC(Linux)), and '
	DB	'its purpose is to', 00H
	ORG $+6
$SG1846	DB	'       create a WordList for a group of files(given via '
	DB	'filelist).', 00H
	ORG $+5
$SG1847	DB	'       Its name comes(according to Heritage Dictionary) '
	DB	'from ''low corpus'' or', 00H
	ORG $+3
$SG1848	DB	'       ''little body'', in fact from amazing movie saga '
	DB	'''Leprechaun 1-2-3-4-5-6''', 00H
	ORG $+1
$SG1849	DB	'       starring by Warwick Davis.', 00H
	ORG $+6
$SG1850	DB	'Note4: Only words up to 31 chars are proceeded - the rea'
	DB	'son is ''DDT''(the', 00H
	ORG $+3
$SG1851	DB	'       longest word in Heritage Dictionary 3rd edition) '
	DB	'or', 00H
	ORG $+1
$SG1852	DB	'       ''dichlorodiphenyltrichloroethane''.', 00H
	ORG $+2
$SG1853	DB	'Note5: Cursor hiding in C - mission impossible for me.', 00H
	ORG $+5
$SG1854	DB	'Note6: By default(third parameter is 1023) allocated mem'
	DB	'ory is 393MB.', 00H
	ORG $+2
$SG1855	DB	'       Due to ''malloc()'' limitation under WINDOWS, max'
	DB	'imum value of third', 00H
	ORG $+2
$SG1856	DB	'       parameter is 5174 which is 1988MB allocated block'
	DB	'.', 00H
	ORG $+2
$SG1857	DB	'Note7: File Leprechaun.LOG is a log, where new statistic'
	DB	's are appended.', 00H
$SG1858	DB	'Note8: Revision 12+ can handle files larger than 4GB.', 00H
	ORG $+2
$SG1859	DB	'Note9: Revision 12++ has a buffered ''fread()'' - theref'
	DB	'ore I/O READ-BURST SPEED', 00H
	ORG $+1
$SG1860	DB	'       is the first(worst) bottleneck, as a result r.12+'
	DB	'+ is much-much faster;', 00H
	ORG $+1
$SG1861	DB	'       the second(worse) bottleneck: the linked lists - '
	DB	'the b-trees', 00H
	ORG $+4
$SG1862	DB	'       might be the answer; the third(bad) bottleneck: t'
	DB	'he amateurish author.', 00H
	ORG $+2
$SG1863	DB	'NoteA: Revision 12+++ has an improved(2 bits were used d'
	DB	'oltishly) main hash', 00H
$SG1864	DB	'       function - therefore less collisions, for example'
	DB	':', 00H
	ORG $+2
$SG1865	DB	'       for file ''wikipedia-de-html.tar'' 42,291,855,360'
	DB	' bytes with', 00H
	ORG $+6
$SG1866	DB	'       5,750,179,678 words of them 7,375,373 distinct at'
	DB	'tempts to Find/Put', 00H
	ORG $+5
$SG1867	DB	'       a WORD into a linked list are 6,117,675,470(r.12+'
	DB	'+) and 5,845,989,790', 00H
	ORG $+3
$SG1868	DB	'       (r.12+++); also two ''if'' sections were moved be'
	DB	'cause they were executed', 00H
	ORG $+1
$SG1869	DB	'       unnecessarily many times.', 00H
	ORG $+7
$SG1870	DB	'NoteB: Revision 13 uses BSTs instead of LLs, that is Lin'
	DB	'ked-Lists were', 00H
	ORG $+1
$SG1871	DB	'       replaced by Binary-Search-Trees, as a result for '
	DB	'22,202,980 distinct', 00H
	ORG $+4
$SG1872	DB	'       words(out of 35,271,297) r.12+++ needs 225,548,26'
	DB	'8 total attempts to', 00H
	ORG $+4
$SG1873	DB	'       Find/Put WORDs into linked lists where r.13 needs'
	DB	' 121,674,042 total', 00H
	ORG $+5
$SG1874	DB	'       attempts to Find/Put WORDs into Binary-Search-Tre'
	DB	'es. But this is a', 00H
	ORG $+6
$SG1875	DB	'       significant boost in performance only for wordlis'
	DB	'ts of million words.', 00H
	ORG $+3
$SG1876	DB	'NoteC: Revision 13+ gives only more statistics. Future r'
	DB	'evisions could lessen', 00H
	ORG $+2
$SG1877	DB	'       number of attempts to Find/Put WORDs into Binary-'
	DB	'Search-Trees', 00H
	ORG $+3
$SG1878	DB	'       furthermore by making them at some point Perfectl'
	DB	'y-Balanced. But', 00H
$SG1879	DB	'       for huge amount(multi-(m|b)illion) of distinct wo'
	DB	'rds the b-tree family', 00H
	ORG $+2
$SG1880	DB	'       must come in, until then this is the leprechaunis'
	DB	'h niche.', 00H
	ORG $+7
$SG1881	DB	'NoteD: Revision 13++ has a little fix(2 unnecessary ZERO'
	DB	'ings, when a new word', 00H
	ORG $+2
$SG1882	DB	'       is inserted, were deleted) and a fixed bug(13+ ad'
	DB	'ds stupidly the', 00H
$SG1883	DB	'       highest BST to the wordlist). Also B-Tree of orde'
	DB	'r 3 is added as a', 00H
	ORG $+6
$SG1884	DB	'       searching method. Main goal of B-Tree is to reduc'
	DB	'e number of', 00H
	ORG $+4
$SG1885	DB	'       comparisons but at nasty cost: a precious time wa'
	DB	'sted to construct it', 00H
	ORG $+3
$SG1886	DB	'       and twice more memory, i.e. one step forward two '
	DB	'backward: this tree is', 00H
	ORG $+1
$SG1887	DB	'       more effective than BST in cases of 2++ billion/m'
	DB	'illion', 00H
	ORG $+1
$SG1888	DB	'       different/distinct words.', 00H
	ORG $+7
$SG1889	DB	'       The improvement which comes from using B-Tree of '
	DB	'order 3 is about 200%', 00H
	ORG $+2
$SG1890	DB	'       much more pleasing than I expected, for wikipedia'
	DB	'-en-html.tar.wrd with', 00H
	ORG $+2
$SG1891	DB	'       12,561,874 distinct words Total Attempts to Find/'
	DB	'Put WORDs into:', 00H
$SG1892	DB	'       Binary-Search-Trees was 61,895,043 while for', 00H
$SG1893	DB	'       B-trees order 3 was 19,295,791.', 00H
	ORG $+5
$SG1894	DB	'NoteE: Revision 13+++ has a faster(not heavily tested ye'
	DB	't) and with', 00H
$SG1895	DB	'       better(0.6% to 1.1%) dispersion Fowler/Noll/Vo ha'
	DB	'sh,', 00H
$SG1896	DB	'       so called FNV1a hash. Revision 13+++++ boosting: '
	DB	'Leprechaun_Intel.exe', 00H
	ORG $+3
$SG1897	DB	'       gives 1,256,187W/s for wikipedia-en-html.tar.wrd '
	DB	'with FNV1_32_PRIME:', 00H
	ORG $+4
$SG1898	DB	'       107712257 with 3,551,736 dispersion for ''FNV1A_H'
	DB	'ash_Granularity''.', 00H
	ORG $+3
$SG1899	DB	'NoteF: For old r.12+ a USB connected HDD crippled test:', 00H
	ORG $+4
$SG1900	DB	'       for ''H:\>Leprechaun.exe static.wikipedia.org_dow'
	DB	'nloads_2008-06_en.lst', 00H
	ORG $+3
$SG1901	DB	'       wikipedia-en-html.tar.wrd 5400''', 00H
	ORG $+1
$SG1902	DB	'       where 223,674,511,360 wikipedia-en-html.tar', 00H
	ORG $+1
$SG1903	DB	'       on laptop Toshiba Pentium T3400 2166 MHz with', 00H
	ORG $+7
$SG1904	DB	'       Motherboard Name:                             Tos'
	DB	'hiba Satellite L305', 00H
	ORG $+4
$SG1905	DB	'       CPU Type:         Mobile DualCore Intel Pentium, '
	DB	'2166 MHz (13 x 167)', 00H
	ORG $+4
$SG1906	DB	'       CPU Alias:                                       '
	DB	'           Merom-1M', 00H
	ORG $+4
$SG1907	DB	'       L1 Code Cache:                                   '
	DB	'     32 KB per core', 00H
	ORG $+4
$SG1908	DB	'       L1 Data Cache:                                   '
	DB	'     32 KB per core', 00H
	ORG $+4
$SG1909	DB	'       L2 Cache:                        1 MB (On-Die, EC'
	DB	'C, ASC, Full-Speed)', 00H
	ORG $+4
$SG1910	DB	'       Bus Type:                                        '
	DB	'    Dual DDR2 SDRAM', 00H
	ORG $+4
$SG1911	DB	'       Bus Width:                                       '
	DB	'            128-bit', 00H
	ORG $+4
$SG1912	DB	'       Real Clock:                                      '
	DB	'      333 MHz (DDR)', 00H
	ORG $+4
$SG1913	DB	'       Effective Clock:                                 '
	DB	'            666 MHz', 00H
	ORG $+4
$SG1914	DB	'       EVEREST v5.00.1650 Memory Copy:       3725MB/s wi'
	DB	'th timings 5-5-5-13', 00H
$SG1915	DB	'       result is logged to ''Leprechaun.LOG'':', 00H
	ORG $+3
$SG1916	DB	'  Bytes per second performance: 20,658,955B/s', 00H
	ORG $+2
$SG1917	DB	'  Words per second performance: 2,860,880W/s', 00H
	ORG $+3
$SG1918	DB	'  Input File with a list of TEXTual Files:', 00H
	ORG $+1
$SG1919	DB	'   static.wikipedia.org_downloads_2008-06_en.lst', 00H
	ORG $+3
$SG1920	DB	'  Size of all TEXTual Files: 223,674,511,360', 00H
	ORG $+3
$SG1921	DB	'  Word count: 30,974,750,142 of them 12,561,874 distinct'
	DB	00H
	ORG $+3
$SG1922	DB	'  Number Of Files: 1', 00H
	ORG $+3
$SG1923	DB	'  Number Of Lines: 2088618575', 00H
	ORG $+2
$SG1924	DB	'  Allocated memory in MB: 1920', 00H
	ORG $+1
$SG1925	DB	'  Words with length 01 occupy 0,033KB of 0,349KB given i'
	DB	'.e. 09% utilization', 00H
	ORG $+4
$SG1926	DB	'  Words with length 02 occupy 0,033KB of 0,349KB given i'
	DB	'.e. 09% utilization', 00H
	ORG $+4
$SG1927	DB	'  Words with length 03 occupy 0,037KB of 0,697KB given i'
	DB	'.e. 05% utilization', 00H
	ORG $+4
$SG1928	DB	'  Words with length 04 occupy 0,151KB of 0,871KB given i'
	DB	'.e. 17% utilization', 00H
	ORG $+4
$SG1929	DB	'  Words with length 05 occupy 0,744KB of 1,568KB given i'
	DB	'.e. 47% utilization', 00H
	ORG $+4
$SG1930	DB	'  Words with length 06 occupy 1,470KB of 3,136KB given i'
	DB	'.e. 46% utilization', 00H
	ORG $+4
$SG1931	DB	'  Words with length 07 occupy 2,605KB of 5,923KB given i'
	DB	'.e. 43% utilization', 00H
	ORG $+4
$SG1932	DB	'  Words with length 08 occupy 3,296KB of 6,968KB given i'
	DB	'.e. 47% utilization', 00H
	ORG $+4
$SG1933	DB	'  Words with length 09 occupy 3,714KB of 6,968KB given i'
	DB	'.e. 53% utilization', 00H
	ORG $+4
$SG1934	DB	'  Words with length 10 occupy 3,483KB of 6,968KB given i'
	DB	'.e. 49% utilization', 00H
	ORG $+4
$SG1935	DB	'  Words with length 11 occupy 3,235KB of 5,923KB given i'
	DB	'.e. 54% utilization', 00H
	ORG $+4
$SG1936	DB	'  Words with length 12 occupy 2,691KB of 4,181KB given i'
	DB	'.e. 64% utilization', 00H
	ORG $+4
$SG1937	DB	'  Words with length 13 occupy 2,230KB of 3,484KB given i'
	DB	'.e. 64% utilization', 00H
	ORG $+4
$SG1938	DB	'  Words with length 14 occupy 1,718KB of 3,484KB given i'
	DB	'.e. 49% utilization', 00H
	ORG $+4
$SG1939	DB	'  Words with length 15 occupy 1,357KB of 2,613KB given i'
	DB	'.e. 51% utilization', 00H
	ORG $+4
$SG1940	DB	'  Words with length 16 occupy 1,063KB of 2,613KB given i'
	DB	'.e. 40% utilization', 00H
	ORG $+4
$SG1941	DB	'  Words with length 17 occupy 0,814KB of 1,742KB given i'
	DB	'.e. 46% utilization', 00H
	ORG $+4
$SG1942	DB	'  Words with length 18 occupy 0,617KB of 1,742KB given i'
	DB	'.e. 35% utilization', 00H
	ORG $+4
$SG1943	DB	'  Words with length 19 occupy 0,485KB of 1,742KB given i'
	DB	'.e. 27% utilization', 00H
	ORG $+4
$SG1944	DB	'  Words with length 20 occupy 0,402KB of 1,742KB given i'
	DB	'.e. 23% utilization', 00H
	ORG $+4
$SG1945	DB	'  Words with length 21 occupy 0,327KB of 1,742KB given i'
	DB	'.e. 18% utilization', 00H
	ORG $+4
$SG1946	DB	'  Words with length 22 occupy 0,274KB of 1,742KB given i'
	DB	'.e. 15% utilization', 00H
	ORG $+4
$SG1947	DB	'  Words with length 23 occupy 0,224KB of 1,394KB given i'
	DB	'.e. 16% utilization', 00H
	ORG $+4
$SG1948	DB	'  Words with length 24 occupy 0,190KB of 1,394KB given i'
	DB	'.e. 13% utilization', 00H
	ORG $+4
$SG1949	DB	'  Words with length 25 occupy 0,162KB of 1,394KB given i'
	DB	'.e. 11% utilization', 00H
	ORG $+4
$SG1950	DB	'  Words with length 26 occupy 0,136KB of 1,220KB given i'
	DB	'.e. 11% utilization', 00H
	ORG $+4
$SG1951	DB	'  Words with length 27 occupy 0,119KB of 1,046KB given i'
	DB	'.e. 11% utilization', 00H
	ORG $+4
$SG1952	DB	'  Words with length 28 occupy 0,107KB of 0,871KB given i'
	DB	'.e. 12% utilization', 00H
	ORG $+4
$SG1953	DB	'  Words with length 29 occupy 0,091KB of 0,697KB given i'
	DB	'.e. 13% utilization', 00H
	ORG $+4
$SG1954	DB	'  Words with length 30 occupy 0,080KB of 0,523KB given i'
	DB	'.e. 15% utilization', 00H
	ORG $+4
$SG1955	DB	'  Words with length 31 occupy 0,076KB of 0,523KB given i'
	DB	'.e. 14% utilization', 00H
$SG1956	DB	'  Total pseudo(including hash table) memory utilization:'
	DB	' 42%', 00H
	ORG $+7
$SG1957	DB	'  Total real(wordlist''s words VS allocated block) memor'
	DB	'y utilization: 60/1000', 00H
	ORG $+2
$SG1958	DB	'  Used value for third parameter in KB: 5400', 00H
	ORG $+3
$SG1959	DB	'  Use next time as third parameter: 3475-', 00H
	ORG $+2
$SG1960	DB	'  Time for making unsorted wordlist: 10827 second(s)', 00H
	ORG $+3
$SG1961	DB	'  Time for sorting unsorted wordlist: 10 second(s)', 00H
	ORG $+1
$SG1963	DB	'Usage: Leprechaun InFile OutFile [BufferSize] [SortMetho'
	DB	'd] [TreeMethod]', 00H
$SG1964	DB	'      <InFile>: Input file with files for Leprechauning,'
	DB	' in WINDOWS console', 00H
	ORG $+4
$SG1965	DB	'                you can create it by ''E:\KAZEHOME>dir *'
	DB	'.txt/s/b>Leprechaun.lst''', 00H
$SG1966	DB	'      <OutFile>: Output WORDLIST(sorted since r.9, CRLF)'
	DB	' file', 00H
	ORG $+2
$SG1967	DB	'      <BufferSize>: Optional Dynamic RAM buffer in KB, d'
	DB	'efault(and minimum', 00H
	ORG $+5
$SG1968	DB	'                    in the same time) is 1023, i.e. omit'
	DB	' or specify greater one', 00H
$SG1969	DB	'      <SortMethod>: Optional Sort Method, default is ''D'
	DB	''',', 00H
	ORG $+2
$SG1970	DB	'                    A - InsertionSort', 00H
	ORG $+2
$SG1971	DB	'                    B - InsertionX26Sort', 00H
	ORG $+3
$SG1972	DB	'                    C - MultiKeyQuickSortSort by J. Bent'
	DB	'ley, R. Sedgewick', 00H
	ORG $+6
$SG1973	DB	'                    D - MultiKeyQuickSortX26Sort'' by J.'
	DB	' Bentley, R. Sedgewick', 00H
	ORG $+2
$SG1974	DB	'      <TreeMethod>: Optional Tree Method, default is ''X'
	DB	''',', 00H
	ORG $+2
$SG1975	DB	'                    X - Binary-Search-Trees', 00H
$SG1976	DB	'                    Y - B-Trees of order 3', 00H
	ORG $+1
$SG1978	DB	'Have a nice Leprechauning.', 00H
	ORG $+1
$SG1979	DB	'For contacts: sanmayce@sanmayce.com', 00H
	ORG $+4
$SG1980	DB	'Sanmayce Svalqyatchx ''Kaze'', 2005 Feb 07(rev.13+++++: '
	DB	'2010 Aug 27).', 00H
$SG1983	DB	'rb', 00H
	ORG $+1
$SG1984	DB	'Leprechaun: Can''t open file %s ', 0aH, 00H
	ORG $+3
$SG1985	DB	'Size of input file with files for Leprechauning: %lu', 0aH
	DB	00H
	ORG $+2
$SG1988	DB	'a+', 00H
	ORG $+1
$SG1989	DB	'Leprechaun.LOG', 00H
	ORG $+1
$SG1990	DB	'Leprechaun: Can''t open file Leprechaun.LOG.', 0aH, 00H
	ORG $+3
$SG2014	DB	'Leprechaun: Needed memory allocation denied!', 0aH, 00H
	ORG $+2
$SG2015	DB	'Leprechaun report:', 0aH, 00H
$SG2016	DB	'Allocated memory in MB: %lu', 0aH, 00H
	ORG $+3
$SG2042	DB	'rb', 00H
	ORG $+1
$SG2043	DB	'Leprechaun: Can''t open file %s ', 0aH, 00H
	ORG $+3
$SG2044	DB	'Size of Input TEXTual file: %s', 0aH, 00H
$SG2061	DB	'|; Word count: %s of them %s distinct; Done: %lu/64', 0dH
	DB	00H
	ORG $+3
$SG2065	DB	'/; Word count: %s of them %s distinct; Done: %lu/64', 0dH
	DB	00H
	ORG $+3
$SG2069	DB	'-; Word count: %s of them %s distinct; Done: %lu/64', 0dH
	DB	00H
	ORG $+3
$SG2073	DB	'\; Word count: %s of them %s distinct; Done: %lu/64', 0dH
	DB	00H
	ORG $+7
$SG2087	DB	0aH, 'Leprechaun: Failure! Increment ''Memory for each Le'
	DB	'tter'' parameter(third one)!', 0aH, 00H
$SG2088	DB	'Input File with a list of TEXTual Files: %s', 0aH, 00H
	ORG $+3
$SG2089	DB	'Size of all TEXTual Files: %s', 0aH, 00H
	ORG $+1
$SG2091	DB	'Word count: %s of them %s distinct', 0aH, 00H
$SG2092	DB	'Number Of Files: %lu', 0aH, 00H
	ORG $+2
$SG2093	DB	'Number Of Lines: %lu', 0aH, 00H
	ORG $+2
$SG2095	DB	'Allocated memory in MB: %lu', 0aH, 00H
	ORG $+3
$SG2096	DB	'Total Attempts to Find/Put WORDs into Binary-Search-Tree'
	DB	's: %s', 0aH, 00H
	ORG $+1
$SG2103	DB	'%', 00H, 00H
	ORG $+1
$SG2104	DB	'Words with length %s occupy %sKB of %sKB given i.e. %s%s'
	DB	' utilization', 0aH, 00H
	ORG $+2
$SG2106	DB	'Used value for third parameter in KB: %lu', 0aH, 00H
	ORG $+5
$SG2107	DB	'Leprechaun: Failure! Increment ''Memory for each Letter'''
	DB	' parameter(third one)!', 0aH, 0aH, 00H
$SG2124	DB	0aH, 'Leprechaun: Failure! Increment ''Memory for each Le'
	DB	'tter'' parameter(third one)!', 0aH, 00H
$SG2125	DB	'Input File with a list of TEXTual Files: %s', 0aH, 00H
	ORG $+3
$SG2126	DB	'Size of all TEXTual Files: %s', 0aH, 00H
	ORG $+1
$SG2128	DB	'Word count: %s of them %s distinct', 0aH, 00H
$SG2129	DB	'Number Of Files: %lu', 0aH, 00H
	ORG $+2
$SG2130	DB	'Number Of Lines: %lu', 0aH, 00H
	ORG $+2
$SG2132	DB	'Allocated memory in MB: %lu', 0aH, 00H
	ORG $+3
$SG2133	DB	'Total Attempts to Find/Put WORDs into Binary-Search-Tree'
	DB	's: %s', 0aH, 00H
	ORG $+1
$SG2140	DB	'%', 00H, 00H
	ORG $+1
$SG2141	DB	'Words with length %s occupy %sKB of %sKB given i.e. %s%s'
	DB	' utilization', 0aH, 00H
	ORG $+2
$SG2143	DB	'Used value for third parameter in KB: %lu', 0aH, 00H
	ORG $+5
$SG2144	DB	'Leprechaun: Failure! Increment ''Memory for each Letter'''
	DB	' parameter(third one)!', 0aH, 0aH, 00H
$SG2154	DB	0aH, 'Leprechaun: Failure! Increment ''Memory for each Le'
	DB	'tter'' parameter(third one)!', 0aH, 00H
$SG2155	DB	'Input File with a list of TEXTual Files: %s', 0aH, 00H
	ORG $+3
$SG2156	DB	'Size of all TEXTual Files: %s', 0aH, 00H
	ORG $+1
$SG2158	DB	'Word count: %s of them %s distinct', 0aH, 00H
$SG2159	DB	'Number Of Files: %lu', 0aH, 00H
	ORG $+2
$SG2160	DB	'Number Of Lines: %lu', 0aH, 00H
	ORG $+2
$SG2162	DB	'Allocated memory in MB: %lu', 0aH, 00H
	ORG $+3
$SG2163	DB	'Total Attempts to Find/Put WORDs into B-trees order 3: %'
	DB	's', 0aH, 00H
	ORG $+1
$SG2170	DB	'%', 00H, 00H
	ORG $+5
$SG2171	DB	'Words with length %s occupy %sKB of %sKB given i.e. %s%s'
	DB	' utilization', 0aH, 00H
	ORG $+2
$SG2173	DB	'Used value for third parameter in KB: %lu', 0aH, 00H
	ORG $+5
$SG2174	DB	'Leprechaun: Failure! Increment ''Memory for each Letter'''
	DB	' parameter(third one)!', 0aH, 0aH, 00H
$SG2196	DB	0aH, 'Leprechaun: Failure! ''B-tree order 3'' simulated s'
	DB	'tack overflow!', 0aH, 00H
	ORG $+6
$SG2203	DB	0aH, 'Leprechaun: Failure! ''B-tree order 3'' simulated s'
	DB	'tack overflow!', 0aH, 00H
	ORG $+6
$SG2207	DB	0aH, 'Leprechaun: Failure! ''B-tree order 3'' simulated s'
	DB	'tack overflow!', 0aH, 00H
	ORG $+6
$SG2211	DB	0aH, 'Leprechaun: Failure! ''B-tree order 3'' simulated s'
	DB	'tack overflow!', 0aH, 00H
	ORG $+6
$SG2222	DB	0aH, 'Leprechaun: Failure! Increment ''Memory for each Le'
	DB	'tter'' parameter(third one)!', 0aH, 00H
$SG2223	DB	'Input File with a list of TEXTual Files: %s', 0aH, 00H
	ORG $+3
$SG2224	DB	'Size of all TEXTual Files: %s', 0aH, 00H
	ORG $+1
$SG2226	DB	'Word count: %s of them %s distinct', 0aH, 00H
$SG2227	DB	'Number Of Files: %lu', 0aH, 00H
	ORG $+2
$SG2228	DB	'Number Of Lines: %lu', 0aH, 00H
	ORG $+2
$SG2230	DB	'Allocated memory in MB: %lu', 0aH, 00H
	ORG $+3
$SG2231	DB	'Total Attempts to Find/Put WORDs into B-trees order 3: %'
	DB	's', 0aH, 00H
	ORG $+1
$SG2238	DB	'%', 00H, 00H
	ORG $+5
$SG2239	DB	'Words with length %s occupy %sKB of %sKB given i.e. %s%s'
	DB	' utilization', 0aH, 00H
	ORG $+2
$SG2241	DB	'Used value for third parameter in KB: %lu', 0aH, 00H
	ORG $+5
$SG2242	DB	'Leprechaun: Failure! Increment ''Memory for each Letter'''
	DB	' parameter(third one)!', 0aH, 0aH, 00H
$SG2267	DB	0aH, 'Leprechaun: Failure! Increment ''Memory for each Le'
	DB	'tter'' parameter(third one)!', 0aH, 00H
$SG2268	DB	'Input File with a list of TEXTual Files: %s', 0aH, 00H
	ORG $+3
$SG2269	DB	'Size of all TEXTual Files: %s', 0aH, 00H
	ORG $+1
$SG2271	DB	'Word count: %s of them %s distinct', 0aH, 00H
$SG2272	DB	'Number Of Files: %lu', 0aH, 00H
	ORG $+2
$SG2273	DB	'Number Of Lines: %lu', 0aH, 00H
	ORG $+2
$SG2275	DB	'Allocated memory in MB: %lu', 0aH, 00H
	ORG $+3
$SG2276	DB	'Total Attempts to Find/Put WORDs into B-trees order 3: %'
	DB	's', 0aH, 00H
	ORG $+1
$SG2283	DB	'%', 00H, 00H
	ORG $+5
$SG2284	DB	'Words with length %s occupy %sKB of %sKB given i.e. %s%s'
	DB	' utilization', 0aH, 00H
	ORG $+2
$SG2286	DB	'Used value for third parameter in KB: %lu', 0aH, 00H
	ORG $+5
$SG2287	DB	'Leprechaun: Failure! Increment ''Memory for each Letter'''
	DB	' parameter(third one)!', 0aH, 0aH, 00H
$SG2305	DB	0aH, 'Leprechaun: Failure! Increment ''Memory for each Le'
	DB	'tter'' parameter(third one)!', 0aH, 00H
$SG2306	DB	'Input File with a list of TEXTual Files: %s', 0aH, 00H
	ORG $+3
$SG2307	DB	'Size of all TEXTual Files: %s', 0aH, 00H
	ORG $+1
$SG2309	DB	'Word count: %s of them %s distinct', 0aH, 00H
$SG2310	DB	'Number Of Files: %lu', 0aH, 00H
	ORG $+2
$SG2311	DB	'Number Of Lines: %lu', 0aH, 00H
	ORG $+2
$SG2313	DB	'Allocated memory in MB: %lu', 0aH, 00H
	ORG $+3
$SG2314	DB	'Total Attempts to Find/Put WORDs into B-trees order 3: %'
	DB	's', 0aH, 00H
	ORG $+1
$SG2321	DB	'%', 00H, 00H
	ORG $+5
$SG2322	DB	'Words with length %s occupy %sKB of %sKB given i.e. %s%s'
	DB	' utilization', 0aH, 00H
	ORG $+2
$SG2324	DB	'Used value for third parameter in KB: %lu', 0aH, 00H
	ORG $+5
$SG2325	DB	'Leprechaun: Failure! Increment ''Memory for each Letter'''
	DB	' parameter(third one)!', 0aH, 0aH, 00H
$SG2335	DB	'|; Word count: %s of them %s distinct; Done: %lu/64', 0aH
	DB	00H
	ORG $+3
$SG2338	DB	'/; Word count: %s of them %s distinct; Done: %lu/64', 0aH
	DB	00H
	ORG $+3
$SG2341	DB	'-; Word count: %s of them %s distinct; Done: %lu/64', 0aH
	DB	00H
	ORG $+3
$SG2344	DB	'\; Word count: %s of them %s distinct; Done: %lu/64', 0aH
	DB	00H
	ORG $+3
$SG2348	DB	'Words per second performance: %sW/s', 0aH, 00H
	ORG $+3
$SG2349	DB	'Flushing unsorted words ...', 0aH, 00H
	ORG $+3
$SG2352	DB	'wb+', 00H
$SG2353	DB	'Leprechaun: Can''t create file %s ', 0aH, 00H
	ORG $+1
$SG2369	DB	0aH, 'Leprechaun: Failure! BST simulated stack overflow, '
	DB	'too high BST!', 0aH, 00H
	ORG $+5
$SG2387	DB	0aH, 'Leprechaun: Failure! B-tree simulated stack overflo'
	DB	'w, too high B-tree!', 0aH, 00H
	ORG $+7
$SG2402	DB	'A(not always THE) Binary-Search-Tree with the longest pa'
	DB	'th(height, PEAK, number of levels):', 0aH, 00H
	ORG $+3
$SG2410	DB	0aH, 'Leprechaun: Failure! BST simulated stack overflow, '
	DB	'too high BST!', 0aH, 00H
	ORG $+1
$SG2417	DB	'%c', 00H
	ORG $+1
$SG2419	DB	'[', 00H
	ORG $+2
$SG2421	DB	']', 00H
	ORG $+2
$SG2426	DB	'%c', 00H
	ORG $+1
$SG2428	DB	']', 00H
	ORG $+2
$SG2430	DB	'[', 00H
	ORG $+2
$SG2432	DB	' ROOT', 00H
	ORG $+2
$SG2433	DB	0aH, 00H
	ORG $+2
$SG2434	DB	'Above Binary-Search-Tree with MaxPEAK = %s has NODEs = %'
	DB	's and LEAFs = %s', 0aH, 00H
	ORG $+2
$SG2435	DB	'Legend:', 0aH, 00H
	ORG $+3
$SG2436	DB	'At left side of the word - ''['' means no left successor'
	DB	0aH, 00H
$SG2437	DB	'At left side of the word - '']'' means left successor ex'
	DB	'ists', 0aH, 00H
$SG2438	DB	'At right side of the word - '']'' means no right success'
	DB	'or', 0aH, 00H
	ORG $+2
$SG2439	DB	'At right side of the word - ''['' means right successor '
	DB	'exists', 0aH, 00H
	ORG $+2
$SG2443	DB	'Time for making unsorted wordlist: %d second(s)', 0aH, 00H
	ORG $+3
$SG2445	DB	'Bytes per second performance: %sB/s', 0aH, 00H
	ORG $+3
$SG2447	DB	'Words per second performance: %sW/s', 0aH, 00H
	ORG $+3
$SG2448	DB	'Input File with a list of TEXTual Files: %s', 0aH, 00H
	ORG $+3
$SG2449	DB	'Size of all TEXTual Files: %s', 0aH, 00H
	ORG $+1
$SG2451	DB	'Word count: %s of them %s distinct', 0aH, 00H
$SG2452	DB	'Number Of Files: %lu', 0aH, 00H
	ORG $+2
$SG2453	DB	'Number Of Lines: %lu', 0aH, 00H
	ORG $+2
$SG2455	DB	'Allocated memory in MB: %lu', 0aH, 00H
	ORG $+3
$SG2456	DB	'Number Of Trees(GREATER THE BETTER): %lu', 0aH, 00H
	ORG $+2
$SG2457	DB	'%', 00H, 00H
	ORG $+1
$SG2458	DB	'Forest population(Hash Function Quality regarding Collis'
	DB	'ions i.e. Hash Table Utilization): %lu%s', 0aH, 00H
	ORG $+6
$SG2459	DB	'Number Of Hash Collisions(Distinct WORDs - Number Of Tre'
	DB	'es): %lu', 0aH, 00H
	ORG $+6
$SG2461	DB	'Maximum Attempts to Find/Put a WORD into a Binary-Search'
	DB	'-Tree: ''%s''', 0aH, 00H
	ORG $+3
$SG2462	DB	'Total Attempts to Find/Put WORDs into Binary-Search-Tree'
	DB	's: %s', 0aH, 00H
	ORG $+1
$SG2463	DB	'Total Number of LEAFs in Binary-Search-Trees(GREATER THE'
	DB	' BETTER): %s', 0aH, 00H
	ORG $+2
$SG2464	DB	'Perfectly-Balanced-Binary-Search-Tree for MaxNODEs = %s '
	DB	'must have PEAK = %s = rounding down of integer (1+lb(%s))', 0aH
	DB	00H
	ORG $+5
$SG2465	DB	'Binary-Search-Tree(1st out of %s) with MaxNODEs = %s has'
	DB	' PEAK = %s and LEAFs = %s', 0aH, 00H
	ORG $+5
$SG2466	DB	'Binary-Search-Tree(1st out of %s) with MaxPEAK = ''%s'' '
	DB	'has NODEs = %s and LEAFs = %s', 0aH, 00H
	ORG $+3
$SG2467	DB	'Binary-Search-Tree(1st out of %s) with MaxLEAFs = %s has'
	DB	' NODEs = %s and PEAK = %s', 0aH, 00H
	ORG $+1
$SG2469	DB	'Total Attempts to Find/Put WORDs into B-trees order 3: %'
	DB	's', 0aH, 00H
	ORG $+1
$SG2476	DB	'%', 00H, 00H
	ORG $+5
$SG2477	DB	'Words with length %s occupy %sKB of %sKB given i.e. %s%s'
	DB	' utilization', 0aH, 00H
	ORG $+2
$SG2482	DB	'%', 00H, 00H
	ORG $+1
$SG2483	DB	'Total pseudo(including hash table) memory utilization: %'
	DB	's%s', 0aH, 00H
	ORG $+7
$SG2485	DB	'Total real(wordlist''s words VS allocated block) memory '
	DB	'utilization: %s/1000', 0aH, 00H
	ORG $+3
$SG2487	DB	'Used value for third parameter in KB: %lu', 0aH, 00H
	ORG $+1
$SG2488	DB	'Use next time as third parameter: %lu-', 0aH, 00H
$SG2490	DB	'Time for making unsorted wordlist: %d second(s)', 0aH, 00H
	ORG $+3
$SG2491	DB	'Deallocated memory in MB: %lu', 0aH, 00H
	ORG $+1
$SG2498	DB	'Sorting(with ''MultiKeyQuickSortX26Sort'' by J. Bentley '
	DB	'and R. Sedgewick) ...', 0aH, 00H
	ORG $+3
$SG2502	DB	'Sort pass %s/26 ...', 0dH, 00H
	ORG $+3
$SG2510	DB	'Sorting(with ''InsertionSort'') ...', 00H
	ORG $+2
$SG2513	DB	'Sorting(with ''InsertionX26Sort'') ...', 0aH, 00H
	ORG $+2
$SG2517	DB	'Sort pass %s/26 ...', 0dH, 00H
	ORG $+7
$SG2524	DB	'Sorting(with ''MultiKeyQuickSortSort'' by J. Bentley and'
	DB	' R. Sedgewick) ...', 00H
	ORG $+7
$SG2527	DB	'Sorting(with ''MultiKeyQuickSortX26Sort'' by J. Bentley '
	DB	'and R. Sedgewick) ...', 0aH, 00H
	ORG $+3
$SG2531	DB	'Sort pass %s/26 ...', 0dH, 00H
	ORG $+3
$SG2536	DB	0aH, 'Flushing sorted words ...', 0aH, 00H
$SG2539	DB	'wb+', 00H
$SG2540	DB	'Leprechaun: Can''t create file %s ', 0aH, 00H
	ORG $+1
$SG2544	DB	'%s', 00H
	ORG $+1
$SG2548	DB	'Time for sorting unsorted wordlist: %d second(s)', 0aH, 00H
	ORG $+2
$SG2551	DB	'a+', 00H
	ORG $+1
$SG2552	DB	'Leprechaun.LOG', 00H
	ORG $+1
$SG2553	DB	'Leprechaun: Can''t open file Leprechaun.LOG.', 0aH, 00H
	ORG $+3
$SG2555	DB	'Time for sorting unsorted wordlist: %d second(s)', 0aH, 0aH
	DB	00H
	ORG $+1
$SG2556	DB	'Leprechaun: Done.', 0aH, 00H
	ORG $+1
$SG2558	DB	'Leprechaun: Input file too large, wordlist remains unsor'
	DB	'ted!', 0aH, 00H
; Function compile flags: /Ogty
_DATA	ENDS
_TEXT	SEGMENT
_pi$ = -8						; size = 4
tv198 = -4						; size = 4
_a$ = 8							; size = 4
_d$ = 12						; size = 4
_InsertSortKAZE PROC NEAR
; _n$ = eax
; File c:\worktemp\leprechaun_r13++\visual c++ toolkit 2003\leprechaun_r13+++++_exe+elf_vs_wikipedia_22,202,980_en+latin-words\leprechaun.c
; Line 402
	sub	esp, 8
; Line 403
	mov	ecx, DWORD PTR _a$[esp+4]
	add	ecx, 4
	dec	eax
	test	eax, eax
	push	ebp
	mov	ebp, DWORD PTR _d$[esp+8]
	mov	DWORD PTR _pi$[esp+12], ecx
	jle	SHORT $L1291
	push	ebx
	push	esi
	mov	DWORD PTR tv198[esp+20], eax
	push	edi
	npad	1
$L2575:
; Line 404
	cmp	ecx, DWORD PTR _a$[esp+20]
	jbe	SHORT $L1290
$L1292:
; Line 406
	mov	edi, DWORD PTR [ecx-4]
	mov	ebx, DWORD PTR [ecx]
	mov	al, BYTE PTR [edi+ebp]
	cmp	al, BYTE PTR [ebx+ebp]
	lea	edx, DWORD PTR [edi+ebp]
	lea	esi, DWORD PTR [ebx+ebp]
	jne	SHORT $L1297
	npad	7
$L1295:
	test	al, al
	je	SHORT $L1297
	mov	al, BYTE PTR [edx+1]
	inc	edx
	inc	esi
	cmp	al, BYTE PTR [esi]
	je	SHORT $L1295
$L1297:
; Line 408
	mov	al, BYTE PTR [edx]
	cmp	al, BYTE PTR [esi]
	jbe	SHORT $L2574
	mov	eax, DWORD PTR _a$[esp+20]
; Line 410
	mov	DWORD PTR [ecx], edi
	mov	DWORD PTR [ecx-4], ebx
	add	ecx, -4					; fffffffcH
	cmp	ecx, eax
	ja	SHORT $L1292
$L2574:
; Line 404
	mov	ecx, DWORD PTR _pi$[esp+24]
$L1290:
; Line 403
	mov	eax, DWORD PTR tv198[esp+24]
	add	ecx, 4
	dec	eax
	mov	DWORD PTR _pi$[esp+24], ecx
	mov	DWORD PTR tv198[esp+24], eax
	jne	SHORT $L2575
	pop	edi
	pop	esi
	pop	ebx
$L1291:
	pop	ebp
; Line 412
	add	esp, 8
	ret	0
_InsertSortKAZE ENDP
_TEXT	ENDS
PUBLIC	_vecswap2
; Function compile flags: /Ogty
_TEXT	SEGMENT
_a$ = 8							; size = 4
_b$ = 12						; size = 4
_n$ = 16						; size = 4
_vecswap2 PROC NEAR
; Line 490
	push	esi
	mov	esi, DWORD PTR _n$[esp]
	test	esi, esi
	jle	SHORT $L2578
	mov	ecx, DWORD PTR _b$[esp]
	mov	eax, DWORD PTR _a$[esp]
	push	edi
$L1312:
; Line 492
	mov	edi, DWORD PTR [ecx]
	mov	edx, DWORD PTR [eax]
	mov	DWORD PTR [eax], edi
; Line 493
	mov	DWORD PTR [ecx], edx
	add	eax, 4
	add	ecx, 4
	dec	esi
	jne	SHORT $L1312
	pop	edi
$L2578:
	pop	esi
; Line 495
	ret	0
_vecswap2 ENDP
_TEXT	ENDS
PUBLIC	_med3func
; Function compile flags: /Ogty
_TEXT	SEGMENT
_a$ = 8							; size = 4
_b$ = 12						; size = 4
_c$ = 16						; size = 4
_depth$ = 20						; size = 4
_med3func PROC NEAR
; Line 502
	mov	eax, DWORD PTR _a$[esp-4]
	mov	ecx, DWORD PTR _depth$[esp-4]
	mov	edx, DWORD PTR [eax]
	movzx	edx, BYTE PTR [edx+ecx]
	push	ebx
	mov	ebx, DWORD PTR _b$[esp]
	push	esi
	mov	esi, DWORD PTR [ebx]
	movzx	esi, BYTE PTR [esi+ecx]
	cmp	edx, esi
; Line 503
	je	SHORT $L1324
	push	ebp
	push	edi
; Line 504
	mov	edi, DWORD PTR _c$[esp+12]
	mov	ebp, DWORD PTR [edi]
	movzx	ecx, BYTE PTR [ecx+ebp]
	cmp	ecx, edx
	je	SHORT $L1330
	cmp	ecx, esi
	je	SHORT $L1330
; Line 508
	cmp	edx, esi
	jge	SHORT $L2589
	cmp	esi, ecx
	jl	SHORT $L2592
	cmp	edx, ecx
	jl	SHORT $L1330
	pop	edi
	pop	ebp
	pop	esi
	pop	ebx
; Line 509
	ret	0
$L2589:
; Line 508
	cmp	esi, ecx
	jle	SHORT $L2587
$L2592:
	pop	edi
	pop	ebp
	pop	esi
	mov	eax, ebx
	pop	ebx
; Line 509
	ret	0
$L2587:
; Line 508
	cmp	edx, ecx
	jl	SHORT $L2591
$L1330:
; Line 505
	mov	eax, edi
$L2591:
	pop	edi
	pop	ebp
$L1324:
	pop	esi
	pop	ebx
; Line 509
	ret	0
_med3func ENDP
_TEXT	ENDS
PUBLIC	_inssort
; Function compile flags: /Ogty
_TEXT	SEGMENT
_pi$ = -4						; size = 4
_a$ = 8							; size = 4
tv198 = 12						; size = 4
_n$ = 12						; size = 4
_d$ = 16						; size = 4
_inssort PROC NEAR
; Line 513
	push	ecx
; Line 514
	mov	ecx, DWORD PTR _a$[esp]
	mov	eax, DWORD PTR _n$[esp]
	add	ecx, 4
	dec	eax
	test	eax, eax
	mov	DWORD PTR _pi$[esp+4], ecx
	jle	SHORT $L1345
	push	ebx
	push	ebp
	mov	ebp, DWORD PTR _d$[esp+8]
	push	esi
	push	edi
	mov	DWORD PTR tv198[esp+16], eax
$L2602:
; Line 515
	cmp	ecx, DWORD PTR _a$[esp+16]
	jbe	SHORT $L1344
$L1346:
; Line 517
	mov	edi, DWORD PTR [ecx-4]
	mov	ebx, DWORD PTR [ecx]
	mov	al, BYTE PTR [edi+ebp]
	cmp	al, BYTE PTR [ebx+ebp]
	lea	edx, DWORD PTR [edi+ebp]
	lea	esi, DWORD PTR [ebx+ebp]
	jne	SHORT $L1351
	npad	7
$L1349:
	test	al, al
	je	SHORT $L1351
	mov	al, BYTE PTR [edx+1]
	inc	edx
	inc	esi
	cmp	al, BYTE PTR [esi]
	je	SHORT $L1349
$L1351:
; Line 519
	mov	al, BYTE PTR [edx]
	cmp	al, BYTE PTR [esi]
	jbe	SHORT $L2601
	mov	eax, DWORD PTR _a$[esp+16]
; Line 521
	mov	DWORD PTR [ecx], edi
	mov	DWORD PTR [ecx-4], ebx
	add	ecx, -4					; fffffffcH
	cmp	ecx, eax
	ja	SHORT $L1346
$L2601:
; Line 515
	mov	ecx, DWORD PTR _pi$[esp+20]
$L1344:
; Line 514
	mov	eax, DWORD PTR tv198[esp+16]
	add	ecx, 4
	dec	eax
	mov	DWORD PTR _pi$[esp+20], ecx
	mov	DWORD PTR tv198[esp+16], eax
	jne	SHORT $L2602
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
$L1345:
; Line 523
	pop	ecx
	ret	0
_inssort ENDP
_TEXT	ENDS
PUBLIC	_mkqsort
; Function compile flags: /Ogty
_TEXT	SEGMENT
_pd$ = -16						; size = 4
_pl$ = -16						; size = 4
tv329 = -12						; size = 4
tv157 = -12						; size = 4
tv71 = -12						; size = 4
_partval$ = -12						; size = 4
tv373 = -8						; size = 4
tv326 = -8						; size = 4
tv375 = -4						; size = 4
_a$ = 8							; size = 4
_n$ = 12						; size = 4
_depth$ = 16						; size = 4
_mkqsort PROC NEAR
; Line 526
	sub	esp, 16					; 00000010H
	push	ebx
	push	ebp
; Line 528
	mov	ebp, DWORD PTR _a$[esp+20]
	push	esi
	push	edi
	mov	edi, DWORD PTR _n$[esp+28]
	cmp	edi, 20					; 00000014H
	jl	$L2636
$L2626:
; Line 533
	mov	eax, edi
	cdq
	sub	eax, edx
	sar	eax, 1
; Line 534
	lea	ebx, DWORD PTR [ebp+edi*4]
	lea	esi, DWORD PTR [ebp+eax*4]
; Line 535
	mov	eax, DWORD PTR _n$[esp+28]
	add	ebx, -4					; fffffffcH
	cmp	eax, 30					; 0000001eH
	mov	ecx, ebp
	mov	DWORD PTR tv326[esp+32], ebx
	mov	edi, ebx
	jle	SHORT $L1373
; Line 536
	cdq
	and	edx, 7
	add	eax, edx
	sar	eax, 3
; Line 537
	lea	ecx, DWORD PTR [eax*8]
	lea	ebx, DWORD PTR [eax*4]
	mov	eax, DWORD PTR _depth$[esp+28]
	mov	DWORD PTR tv329[esp+32], ecx
	push	eax
	add	ecx, ebp
	push	ecx
	lea	ecx, DWORD PTR [ebx+ebp]
	push	ecx
	push	ebp
	call	_med3func
; Line 538
	mov	edx, DWORD PTR _depth$[esp+44]
	push	edx
	mov	DWORD PTR _pl$[esp+52], eax
	lea	eax, DWORD PTR [ebx+esi]
	push	eax
	push	esi
	sub	esi, ebx
	push	esi
	call	_med3func
; Line 539
	mov	ecx, DWORD PTR _depth$[esp+60]
	push	ecx
	mov	edx, edi
	sub	edx, ebx
	mov	ebx, DWORD PTR tv329[esp+68]
	push	edi
	push	edx
	sub	edi, ebx
	push	edi
	mov	esi, eax
	call	_med3func
	mov	ecx, DWORD PTR _pl$[esp+80]
	mov	ebx, DWORD PTR tv326[esp+80]
	add	esp, 48					; 00000030H
	mov	edi, eax
$L1373:
; Line 541
	mov	eax, DWORD PTR _depth$[esp+28]
	push	eax
	push	edi
	push	esi
	push	ecx
	call	_med3func
; Line 542
	mov	edx, DWORD PTR [eax]
	mov	ecx, DWORD PTR [ebp]
	mov	DWORD PTR [ebp], edx
	mov	DWORD PTR [eax], ecx
; Line 543
	mov	eax, DWORD PTR [ebp]
	mov	ecx, DWORD PTR _depth$[esp+44]
	movzx	edx, BYTE PTR [eax+ecx]
	mov	DWORD PTR _partval$[esp+48], edx
; Line 544
	lea	eax, DWORD PTR [ebp+4]
; Line 545
	mov	edx, ebx
	add	esp, 16					; 00000010H
	mov	edi, eax
	mov	DWORD PTR _pd$[esp+32], edx
$L1375:
; Line 547
	cmp	eax, edx
	ja	SHORT $L2646
	npad	4
$L1378:
	mov	esi, DWORD PTR [eax]
	mov	ecx, DWORD PTR _depth$[esp+28]
	movzx	ecx, BYTE PTR [esi+ecx]
	sub	ecx, DWORD PTR _partval$[esp+32]
	test	ecx, ecx
	jg	$L2631
; Line 548
	jne	SHORT $L2648
	mov	ecx, DWORD PTR [edi]
	mov	DWORD PTR [edi], esi
	mov	DWORD PTR [eax], ecx
	add	edi, 4
$L2648:
; Line 549
	add	eax, 4
	cmp	eax, edx
	jbe	SHORT $L1378
$L2646:
; Line 561
	mov	ebx, eax
	sub	ebx, edi
	sub	edi, ebp
	sar	ebx, 2
	sar	edi, 2
	cmp	edi, ebx
	mov	DWORD PTR tv373[esp+32], ebx
	mov	DWORD PTR tv375[esp+32], edi
	jle	SHORT $L2605
	mov	edi, ebx
$L2605:
	lea	esi, DWORD PTR [edi*4]
	mov	ecx, eax
	sub	ecx, esi
	test	edi, edi
	jle	SHORT $L2639
	mov	esi, ebp
	sub	esi, ecx
	mov	DWORD PTR tv157[esp+32], edi
	npad	7
$L2610:
	mov	edi, DWORD PTR [esi+ecx]
	mov	ebx, DWORD PTR [ecx]
	mov	DWORD PTR [esi+ecx], ebx
	mov	DWORD PTR [ecx], edi
	mov	edi, DWORD PTR tv157[esp+32]
	add	ecx, 4
	dec	edi
	mov	DWORD PTR tv157[esp+32], edi
	jne	SHORT $L2610
	mov	ebx, DWORD PTR tv373[esp+32]
$L2639:
; Line 562
	mov	ecx, DWORD PTR _n$[esp+28]
	mov	edi, DWORD PTR _pd$[esp+32]
	lea	ecx, DWORD PTR [ebp+ecx*4]
	mov	esi, ecx
	sub	esi, edi
	sar	esi, 2
	lea	edi, DWORD PTR [esi-1]
	mov	esi, DWORD PTR _pd$[esp+32]
	sub	esi, edx
	sar	esi, 2
	cmp	esi, edi
	mov	edx, esi
	jle	SHORT $L2607
	mov	edx, edi
$L2607:
	lea	edi, DWORD PTR [edx*4]
	sub	ecx, edi
	test	edx, edx
	jle	SHORT $L2641
	sub	eax, ecx
	mov	DWORD PTR tv71[esp+32], edx
$L2619:
	mov	edx, DWORD PTR [eax+ecx]
	mov	edi, DWORD PTR [ecx]
	mov	DWORD PTR [eax+ecx], edi
	mov	DWORD PTR [ecx], edx
	mov	edx, DWORD PTR tv71[esp+32]
	add	ecx, 4
	dec	edx
	mov	DWORD PTR tv71[esp+32], edx
	jne	SHORT $L2619
$L2641:
; Line 563
	cmp	ebx, 1
; Line 564
	mov	edi, DWORD PTR _depth$[esp+28]
	jle	SHORT $L1386
	push	edi
	push	ebx
	push	ebp
	call	_mkqsort
	add	esp, 12					; 0000000cH
$L1386:
; Line 565
	mov	edx, DWORD PTR [ebp+ebx*4]
	cmp	BYTE PTR [edi+edx], 0
	lea	eax, DWORD PTR [ebp+ebx*4]
	je	SHORT $L2656
; Line 566
	mov	ecx, DWORD PTR tv375[esp+32]
	mov	ebx, DWORD PTR _pd$[esp+32]
	lea	edx, DWORD PTR [ecx*4]
	mov	ecx, DWORD PTR _n$[esp+28]
	sub	edx, ebx
	lea	ecx, DWORD PTR [ebp+ecx*4]
	add	edx, ecx
	inc	edi
	sar	edx, 2
	push	edi
	dec	edx
	push	edx
	push	eax
	call	_mkqsort
	add	esp, 12					; 0000000cH
$L2656:
; Line 567
	cmp	esi, 1
	jle	SHORT $L1388
; Line 568
	mov	edx, DWORD PTR _n$[esp+28]
	sub	edx, esi
	cmp	esi, 20					; 00000014H
	lea	ebp, DWORD PTR [ebp+edx*4]
	mov	DWORD PTR _n$[esp+28], esi
	mov	edi, esi
	jge	$L2626
$L2636:
; Line 529
	mov	eax, DWORD PTR _depth$[esp+28]
	push	eax
	push	edi
	push	ebp
	call	_inssort
	add	esp, 12					; 0000000cH
$L1388:
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
; Line 569
	add	esp, 16					; 00000010H
	ret	0
$L2631:
; Line 551
	cmp	eax, edx
	ja	$L2646
	npad	8
$L1382:
	mov	esi, DWORD PTR [edx]
	mov	ecx, DWORD PTR _depth$[esp+28]
	movzx	ecx, BYTE PTR [esi+ecx]
	sub	ecx, DWORD PTR _partval$[esp+32]
	js	SHORT $L1383
; Line 552
	test	ecx, ecx
	jne	SHORT $L2649
	mov	ecx, DWORD PTR _pd$[esp+32]
	mov	ebx, DWORD PTR [ecx]
	mov	DWORD PTR [edx], ebx
	mov	DWORD PTR [ecx], esi
	sub	ecx, 4
	mov	DWORD PTR _pd$[esp+32], ecx
$L2649:
; Line 553
	sub	edx, 4
	cmp	eax, edx
	jbe	SHORT $L1382
; Line 551
	jmp	$L2646
$L1383:
; Line 555
	cmp	eax, edx
	ja	$L2646
; Line 556
	mov	esi, DWORD PTR [edx]
	mov	ecx, DWORD PTR [eax]
	mov	DWORD PTR [eax], esi
	mov	DWORD PTR [edx], ecx
; Line 557
	add	eax, 4
; Line 558
	sub	edx, 4
; Line 559
	jmp	$L1375
_mkqsort ENDP
_TEXT	ENDS
PUBLIC	_mkqsort_main
; Function compile flags: /Ogty
_TEXT	SEGMENT
_a$ = 8							; size = 4
_n$ = 12						; size = 4
_mkqsort_main PROC NEAR
; Line 571
	mov	eax, DWORD PTR _n$[esp-4]
	mov	ecx, DWORD PTR _a$[esp-4]
	push	0
	push	eax
	push	ecx
	call	_mkqsort
	add	esp, 12					; 0000000cH
	ret	0
_mkqsort_main ENDP
_TEXT	ENDS
EXTRN	_exit:NEAR
EXTRN	_malloc:NEAR
EXTRN	_fclose:NEAR
EXTRN	_fopen:NEAR
EXTRN	_fread:NEAR
EXTRN	_fseek:NEAR
EXTRN	_ftell:NEAR
EXTRN	_printf:NEAR
EXTRN	_puts:NEAR
; Function compile flags: /Ogty
_TEXT	SEGMENT
_nlines$ = -4						; size = 4
_file_name$ = 8						; size = 4
_lines$ = 12						; size = 4
_readlines PROC NEAR
; Line 576
	push	ecx
	push	ebx
	push	ebp
	mov	ebp, DWORD PTR _file_name$[esp+8]
	push	esi
	push	edi
; Line 583
	push	OFFSET FLAT:$SG1409
	push	ebp
	mov	DWORD PTR _nlines$[esp+28], 0
	call	_fopen
	mov	esi, eax
	add	esp, 8
	test	esi, esi
	jne	SHORT $L1408
; Line 584
	push	ebp
	push	OFFSET FLAT:$SG1410
	call	_printf
; Line 585
	push	-1
	call	_exit
	add	esp, 12					; 0000000cH
$L1408:
; Line 587
	push	2
	push	0
	push	esi
	call	_fseek
; Line 588
	push	esi
	call	_ftell
; Line 589
	push	0
	push	0
	push	esi
	mov	edi, eax
	call	_fseek
; Line 590
	push	edi
	call	_malloc
	mov	ebx, eax
	add	esp, 32					; 00000020H
	test	ebx, ebx
	jne	SHORT $L1415
	pop	edi
	pop	esi
	pop	ebp
	or	eax, -1
	pop	ebx
; Line 630
	pop	ecx
	ret	0
$L1415:
; Line 591
	mov	eax, edi
	shr	eax, 20					; 00000014H
	inc	eax
	push	eax
	push	OFFSET FLAT:$SG1417
	call	_printf
; Line 592
	push	esi
	push	edi
	push	1
	push	ebx
	call	_fread
	add	esp, 24					; 00000018H
	cmp	eax, edi
	jae	SHORT $L1418
; Line 593
	push	ebp
	push	OFFSET FLAT:$SG1419
	call	_printf
; Line 594
	push	-1
	call	_exit
	add	esp, 12					; 0000000cH
$L1418:
; Line 596
	push	esi
	call	_fclose
; Line 600
	lea	esi, DWORD PTR [ebx+edi]
	add	esp, 4
	cmp	ebx, esi
	mov	eax, ebx
	jae	SHORT $L1422
; Line 602
	cmp	eax, esi
	jae	SHORT $L1425
	npad	5
$L1424:
	cmp	BYTE PTR [eax], 10			; 0000000aH
	je	SHORT $L1425
	inc	eax
	cmp	eax, esi
	jb	SHORT $L1424
$L1425:
; Line 606
	mov	edx, DWORD PTR _nlines$[esp+20]
	dec	eax
	mov	BYTE PTR [eax], 0
	add	eax, 2
	inc	edx
	cmp	eax, esi
	mov	DWORD PTR _nlines$[esp+20], edx
	jb	SHORT $L1424
$L1422:
; Line 610
	mov	edi, DWORD PTR _nlines$[esp+20]
	shl	edi, 2
	push	edi
	call	_malloc
	mov	ebp, eax
	add	esp, 4
; Line 611
	test	ebp, ebp
	jne	SHORT $L1429
; Line 612
	push	OFFSET FLAT:$SG1430
	call	_puts
	add	esp, 4
	pop	edi
	pop	esi
	pop	ebp
	mov	eax, 1
	pop	ebx
; Line 630
	pop	ecx
	ret	0
$L1429:
; Line 613
	shr	edi, 20					; 00000014H
	inc	edi
	push	edi
	push	OFFSET FLAT:$SG1432
	call	_printf
; Line 614
	mov	ecx, DWORD PTR _lines$[esp+24]
	add	esp, 8
; Line 618
	xor	eax, eax
; Line 620
	cmp	ebx, esi
	mov	DWORD PTR [ecx], ebp
	mov	edx, ebx
	jae	SHORT $L1400
	npad	4
$L1434:
; Line 622
	cmp	edx, esi
	mov	ecx, edx
	jae	SHORT $L1438
$L1437:
	cmp	BYTE PTR [ecx], 10			; 0000000aH
	je	SHORT $L1438
	inc	ecx
	cmp	ecx, esi
	jb	SHORT $L1437
$L1438:
; Line 623
	dec	ecx
	mov	BYTE PTR [ecx], 0
; Line 625
	mov	DWORD PTR [ebp+eax*4], edx
; Line 626
	lea	edx, DWORD PTR [ecx+2]
; Line 627
	inc	eax
	cmp	edx, esi
	jb	SHORT $L1434
$L1400:
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
; Line 630
	pop	ecx
	ret	0
_readlines ENDP
_TEXT	ENDS
PUBLIC	_x64toaKAZE
EXTRN	__aulldvrm:NEAR
; Function compile flags: /Ogty
_TEXT	SEGMENT
tv65 = -8						; size = 8
tv164 = 8						; size = 8
_val$ = 8						; size = 8
_firstdig$ = 16						; size = 4
_buf$ = 16						; size = 4
_radix$ = 20						; size = 4
_is_neg$ = 24						; size = 4
_x64toaKAZE PROC NEAR
; Line 646
	mov	eax, DWORD PTR _is_neg$[esp-4]
	sub	esp, 8
	push	esi
	mov	esi, DWORD PTR _buf$[esp+8]
	push	edi
; Line 649
	mov	edi, DWORD PTR _val$[esp+12]
	test	eax, eax
	mov	eax, DWORD PTR _val$[esp+16]
	je	SHORT $L1453
	mov	BYTE PTR [esi], 45			; 0000002dH
	inc	esi
	neg	edi
	adc	eax, 0
	neg	eax
$L1453:
	push	ebx
	push	ebp
; Line 663
	mov	ebp, DWORD PTR _radix$[esp+20]
	mov	DWORD PTR _firstdig$[esp+20], esi
	mov	DWORD PTR tv164[esp+24], 0
$L1456:
	mov	ecx, DWORD PTR tv164[esp+24]
	push	ecx
	push	ebp
	push	eax
	push	edi
	call	__aulldvrm
	cmp	ecx, 9
	mov	edi, eax
	mov	DWORD PTR tv65[esp+28], ebx
	mov	eax, edx
	jbe	SHORT $L1460
; Line 660
	add	cl, 87					; 00000057H
; Line 661
	jmp	SHORT $L2679
$L1460:
; Line 662
	add	cl, 48					; 00000030H
$L2679:
	mov	BYTE PTR [esi], cl
	inc	esi
; Line 663
	test	eax, eax
	ja	SHORT $L1456
	jb	SHORT $L2676
	test	edi, edi
	ja	SHORT $L1456
$L2676:
	pop	ebp
; Line 668
	mov	BYTE PTR [esi], 0
	dec	esi
	pop	ebx
	npad	5
$L1464:
; Line 672
	mov	ecx, DWORD PTR _firstdig$[esp+12]
	mov	dl, BYTE PTR [ecx]
	mov	al, BYTE PTR [esi]
	mov	BYTE PTR [esi], dl
; Line 674
	dec	esi
	mov	BYTE PTR [ecx], al
; Line 675
	inc	ecx
; Line 676
	cmp	ecx, esi
	mov	DWORD PTR _firstdig$[esp+12], ecx
	jb	SHORT $L1464
	pop	edi
	pop	esi
; Line 677
	add	esp, 8
	ret	0
_x64toaKAZE ENDP
_TEXT	ENDS
PUBLIC	__i64toaKAZE
; Function compile flags: /Ogty
_TEXT	SEGMENT
_val$ = 8						; size = 8
_buf$ = 16						; size = 4
_radix$ = 20						; size = 4
__i64toaKAZE PROC NEAR
; Line 688
	mov	ecx, DWORD PTR _radix$[esp-4]
	cmp	ecx, 10					; 0000000aH
	mov	edx, DWORD PTR _val$[esp]
	push	esi
	push	edi
	mov	edi, DWORD PTR _val$[esp+4]
	jne	SHORT $L2681
	test	edx, edx
	jg	SHORT $L2681
	jl	SHORT $L2683
	test	edi, edi
	jae	SHORT $L2681
$L2683:
	mov	eax, 1
	jmp	SHORT $L2682
$L2681:
	xor	eax, eax
$L2682:
	mov	esi, DWORD PTR _buf$[esp+4]
	push	eax
	push	ecx
	push	esi
	push	edx
	push	edi
	call	_x64toaKAZE
	add	esp, 20					; 00000014H
	pop	edi
; Line 689
	mov	eax, esi
	pop	esi
; Line 690
	ret	0
__i64toaKAZE ENDP
_TEXT	ENDS
PUBLIC	__ui64toaKAZE
; Function compile flags: /Ogty
_TEXT	SEGMENT
_val$ = 8						; size = 8
_buf$ = 16						; size = 4
_radix$ = 20						; size = 4
__ui64toaKAZE PROC NEAR
; Line 698
	mov	eax, DWORD PTR _radix$[esp-4]
	mov	ecx, DWORD PTR _val$[esp]
	mov	edx, DWORD PTR _val$[esp-4]
	push	esi
	mov	esi, DWORD PTR _buf$[esp]
	push	0
	push	eax
	push	esi
	push	ecx
	push	edx
	call	_x64toaKAZE
	add	esp, 20					; 00000014H
; Line 699
	mov	eax, esi
	pop	esi
; Line 700
	ret	0
__ui64toaKAZE ENDP
_TEXT	ENDS
PUBLIC	__ui64toaKAZEzerocomma
; Function compile flags: /Ogty
_TEXT	SEGMENT
_val$ = 8						; size = 8
_buf$ = 16						; size = 4
_radix$ = 20						; size = 4
__ui64toaKAZEzerocomma PROC NEAR
; Line 712
	mov	eax, DWORD PTR _radix$[esp-4]
	mov	ecx, DWORD PTR _val$[esp]
	mov	edx, DWORD PTR _val$[esp-4]
	push	ebx
	push	ebp
	mov	ebp, DWORD PTR _buf$[esp+4]
	push	esi
	push	edi
	push	0
	push	eax
	push	ebp
	push	ecx
	push	edx
	call	_x64toaKAZE
	add	esp, 20					; 00000014H
; Line 713
	mov	edi, ebp
$L1496:
; Line 715
	mov	al, BYTE PTR [edi+1]
	inc	edi
	test	al, al
	jne	SHORT $L1496
; Line 716
	dec	edi
; Line 718
	mov	BYTE PTR [ebp+26], 0
; Line 719
	mov	ebx, 1
; Line 720
	xor	esi, esi
	lea	ecx, DWORD PTR [ebp+25]
	jmp	SHORT $L1499
$L2688:
; Line 716
	mov	ebp, DWORD PTR _buf$[esp+12]
$L1499:
; Line 724
	inc	esi
	cmp	ebp, edi
; Line 726
	mov	ebp, 3
	ja	SHORT $L1502
	mov	al, BYTE PTR [edi]
	mov	BYTE PTR [ecx], al
	dec	edi
; Line 731
	jmp	SHORT $L2690
$L1502:
; Line 732
	mov	BYTE PTR [ecx], 48			; 00000030H
$L2690:
; Line 733
	mov	eax, esi
	cdq
	idiv	ebp
	test	edx, edx
	jne	SHORT $L1507
; Line 734
	inc	ebx
	dec	ecx
; Line 735
	mov	BYTE PTR [ecx], 44			; 0000002cH
$L1507:
; Line 738
	inc	ebx
	dec	ecx
; Line 739
	cmp	ebx, 26					; 0000001aH
	jle	SHORT $L2688
; Line 740
	mov	eax, DWORD PTR _buf$[esp+12]
	pop	edi
	pop	esi
	pop	ebp
	pop	ebx
; Line 741
	ret	0
__ui64toaKAZEzerocomma ENDP
_TEXT	ENDS
PUBLIC	__ui64toaKAZEcomma
; Function compile flags: /Ogty
_TEXT	SEGMENT
_val$ = 8						; size = 8
_pxnman$ = 16						; size = 4
_buf$ = 16						; size = 4
_radix$ = 20						; size = 4
__ui64toaKAZEcomma PROC NEAR
; Line 753
	mov	eax, DWORD PTR _radix$[esp-4]
	mov	ecx, DWORD PTR _val$[esp]
	mov	edx, DWORD PTR _val$[esp-4]
	push	ebx
	push	ebp
	push	edi
	mov	edi, DWORD PTR _buf$[esp+8]
	push	0
	push	eax
	push	edi
	push	ecx
	push	edx
	call	_x64toaKAZE
	add	esp, 20					; 00000014H
; Line 754
	mov	ecx, edi
$L1521:
; Line 756
	mov	al, BYTE PTR [ecx+1]
	inc	ecx
	test	al, al
	jne	SHORT $L1521
; Line 757
	dec	ecx
; Line 761
	xor	ebp, ebp
; Line 762
	cmp	edi, ecx
	mov	BYTE PTR [edi+26], 0
	mov	ebx, 1
	ja	SHORT $L1526
	push	esi
	lea	esi, DWORD PTR [edi+25]
	jmp	SHORT $L1525
$L2695:
; Line 757
	mov	ebp, DWORD PTR _pxnman$[esp+12]
$L1525:
; Line 764
	mov	al, BYTE PTR [ecx]
	inc	ebp
	mov	BYTE PTR [esi], al
; Line 766
	mov	eax, ebp
	mov	DWORD PTR _pxnman$[esp+12], ebp
	cdq
	mov	ebp, 3
	idiv	ebp
	dec	ecx
	test	edx, edx
	jne	SHORT $L1527
	cmp	edi, ecx
	ja	SHORT $L1527
; Line 767
	inc	ebx
	dec	esi
; Line 768
	mov	BYTE PTR [esi], 44			; 0000002cH
$L1527:
; Line 770
	inc	ebx
	dec	esi
	cmp	ecx, edi
	jae	SHORT $L2695
	pop	esi
$L1526:
; Line 772
	mov	eax, edi
	pop	edi
	sub	eax, ebx
	pop	ebp
	add	eax, 27					; 0000001bH
	pop	ebx
; Line 773
	ret	0
__ui64toaKAZEcomma ENDP
_TEXT	ENDS
PUBLIC	_KuxHash
; Function compile flags: /Ogty
_TEXT	SEGMENT
_str$ = 8						; size = 4
_KuxHash PROC NEAR
; Line 779
	mov	edx, DWORD PTR _str$[esp-4]
	mov	cl, BYTE PTR [edx]
	xor	al, al
	test	cl, cl
	je	SHORT $L1537
	npad	4
$L1536:
; Line 780
	xor	al, cl
	mov	cl, BYTE PTR [edx+1]
	inc	edx
	test	cl, cl
	jne	SHORT $L1536
$L1537:
; Line 784
	ret	0
_KuxHash ENDP
_TEXT	ENDS
PUBLIC	_KuxHash2
; Function compile flags: /Ogty
_TEXT	SEGMENT
_str$ = 8						; size = 4
_KuxHash2 PROC NEAR
; Line 787
	push	esi
; Line 790
	mov	esi, DWORD PTR _str$[esp]
	mov	cl, BYTE PTR [esi]
	push	edi
	xor	edi, edi
	xor	eax, eax
	xor	edx, edx
	test	cl, cl
	je	SHORT $L1547
$L1546:
; Line 791
	movsx	ecx, BYTE PTR [edx+esi]
	xor	edi, ecx
; Line 793
	imul	ecx, edx
	add	eax, ecx
	mov	cl, BYTE PTR [edx+esi+1]
	inc	edx
	test	cl, cl
	jne	SHORT $L1546
$L1547:
; Line 797
	xor	edx, edx
	mov	ecx, 15					; 0000000fH
	div	ecx
	shl	edi, 4
	mov	eax, edx
	or	eax, edi
	pop	edi
	pop	esi
; Line 799
	ret	0
_KuxHash2 ENDP
_TEXT	ENDS
PUBLIC	_KuxHash3
; Function compile flags: /Ogty
_TEXT	SEGMENT
_str$ = 8						; size = 4
_KuxHash3 PROC NEAR
; Line 806
	mov	ecx, DWORD PTR _str$[esp-4]
	mov	dl, BYTE PTR [ecx]
	push	esi
	xor	esi, esi
	xor	eax, eax
	test	dl, dl
	je	SHORT $L1557
	push	ebx
	push	edi
	mov	edi, 1
	sub	edi, ecx
	npad	8
$L1556:
; Line 807
	movsx	edx, BYTE PTR [ecx]
; Line 809
	lea	ebx, DWORD PTR [edi+ecx]
	imul	ebx, edx
	xor	esi, edx
	mov	dl, BYTE PTR [ecx+1]
	add	eax, ebx
	inc	ecx
	test	dl, dl
	jne	SHORT $L1556
	pop	edi
	pop	ebx
$L1557:
; Line 819
	xor	edx, edx
	mov	ecx, 63					; 0000003fH
	div	ecx
	shl	esi, 6
	mov	eax, edx
	or	eax, esi
	pop	esi
; Line 822
	ret	0
_KuxHash3 ENDP
_TEXT	ENDS
PUBLIC	_KuxHash3plus
; Function compile flags: /Ogty
_TEXT	SEGMENT
_str$ = 8						; size = 4
_KuxHash3plus PROC NEAR
; Line 829
	mov	ecx, DWORD PTR _str$[esp-4]
	mov	dl, BYTE PTR [ecx]
	push	esi
	xor	esi, esi
	xor	eax, eax
	test	dl, dl
	je	SHORT $L1567
	push	ebx
	push	edi
	mov	edi, 1
	sub	edi, ecx
	npad	8
$L1566:
; Line 830
	movsx	edx, BYTE PTR [ecx]
; Line 832
	lea	ebx, DWORD PTR [edi+ecx]
	imul	ebx, edx
	xor	esi, edx
	mov	dl, BYTE PTR [ecx+1]
	add	eax, ebx
	inc	ecx
	test	dl, dl
	jne	SHORT $L1566
	pop	edi
	pop	ebx
$L1567:
; Line 845
	xor	edx, edx
	mov	ecx, 251				; 000000fbH
	div	ecx
	shl	esi, 8
	mov	eax, edx
; Line 847
	or	eax, esi
	and	eax, 8191				; 00001fffH
	pop	esi
; Line 848
	ret	0
_KuxHash3plus ENDP
_TEXT	ENDS
PUBLIC	_KuxHash4
; Function compile flags: /Ogty
_TEXT	SEGMENT
_str$ = 8						; size = 4
_KuxHash4 PROC NEAR
; Line 902
	push	esi
; Line 904
	mov	esi, DWORD PTR _str$[esp]
	mov	cl, BYTE PTR [esi]
	xor	eax, eax
	test	cl, cl
	je	SHORT $L1575
	npad	3
$L1573:
; Line 906
	shl	eax, 7
	movsx	ecx, cl
	add	eax, ecx
	cdq
	mov	ecx, 8191				; 00001fffH
	idiv	ecx
	mov	cl, BYTE PTR [esi+1]
	inc	esi
	test	cl, cl
	mov	eax, edx
	jne	SHORT $L1573
$L1575:
	pop	esi
; Line 910
	ret	0
_KuxHash4 ENDP
_TEXT	ENDS
PUBLIC	_FNV1A_Hash_4_OCTETS_31
; Function compile flags: /Ogty
_TEXT	SEGMENT
_str$ = 8						; size = 4
_wrdlen_QUADRUPLETS$ = 12				; size = 4
_FNV1A_Hash_4_OCTETS_31 PROC NEAR
; Line 1017
	mov	edx, DWORD PTR _wrdlen_QUADRUPLETS$[esp-4]
	test	edx, edx
	mov	eax, DWORD PTR _str$[esp-4]
	mov	ecx, -2128831035			; 811c9dc5H
	je	SHORT $L1587
	push	esi
$L1585:
; Line 1018
	mov	esi, DWORD PTR [eax]
	xor	esi, ecx
	imul	esi, 31					; 0000001fH
; Line 1019
	add	eax, 4
	dec	edx
	mov	ecx, esi
	jne	SHORT $L1585
	pop	esi
$L1587:
; Line 1023
	mov	dl, BYTE PTR [eax]
	test	dl, dl
	je	SHORT $L1598
$L1596:
; Line 1024
	movzx	edx, dl
	xor	edx, ecx
	imul	edx, 31					; 0000001fH
	inc	eax
	mov	ecx, edx
	mov	dl, BYTE PTR [eax]
	test	dl, dl
	jne	SHORT $L1596
$L1598:
; Line 1028
	mov	eax, ecx
	shr	eax, 16					; 00000010H
	xor	eax, ecx
	and	eax, 8191				; 00001fffH
; Line 1029
	ret	0
_FNV1A_Hash_4_OCTETS_31 ENDP
_TEXT	ENDS
PUBLIC	_FNV1A_Hash_4_OCTETS
; Function compile flags: /Ogty
_TEXT	SEGMENT
_str$ = 8						; size = 4
_wrdlen_QUADRUPLETS$ = 12				; size = 4
_FNV1A_Hash_4_OCTETS PROC NEAR
; Line 1044
	mov	edx, DWORD PTR _wrdlen_QUADRUPLETS$[esp-4]
	test	edx, edx
	mov	eax, DWORD PTR _str$[esp-4]
	mov	ecx, -2128831035			; 811c9dc5H
	je	SHORT $L1614
	push	esi
$L1612:
; Line 1045
	mov	esi, DWORD PTR [eax]
	xor	esi, ecx
	imul	esi, 107712257				; 066b8f01H
; Line 1046
	add	eax, 4
	dec	edx
	mov	ecx, esi
	jne	SHORT $L1612
	pop	esi
$L1614:
; Line 1050
	mov	dl, BYTE PTR [eax]
	test	dl, dl
	je	SHORT $L1622
	npad	5
$L1620:
; Line 1051
	movzx	edx, dl
	xor	edx, ecx
	imul	edx, 107712257				; 066b8f01H
	inc	eax
	mov	ecx, edx
	mov	dl, BYTE PTR [eax]
	test	dl, dl
	jne	SHORT $L1620
$L1622:
; Line 1055
	mov	eax, ecx
	shr	eax, 16					; 00000010H
	xor	eax, ecx
	and	eax, 8191				; 00001fffH
; Line 1056
	ret	0
_FNV1A_Hash_4_OCTETS ENDP
_TEXT	ENDS
PUBLIC	_FNV1A_Hash_8_OCTETS
; Function compile flags: /Ogty
_TEXT	SEGMENT
_str$ = 8						; size = 4
_wrdlen_OCTETS$ = 12					; size = 4
_FNV1A_Hash_8_OCTETS PROC NEAR
; Line 1071
	mov	edx, DWORD PTR _wrdlen_OCTETS$[esp-4]
	test	edx, edx
	mov	eax, DWORD PTR _str$[esp-4]
	mov	ecx, -2128831035			; 811c9dc5H
	je	SHORT $L1637
	push	esi
$L1635:
; Line 1072
	mov	esi, DWORD PTR [eax]
	xor	esi, ecx
	imul	esi, 107712257				; 066b8f01H
; Line 1073
	add	eax, 8
	dec	edx
	mov	ecx, esi
	jne	SHORT $L1635
	pop	esi
$L1637:
; Line 1077
	mov	dl, BYTE PTR [eax]
	test	dl, dl
	je	SHORT $L1645
	npad	5
$L1643:
; Line 1078
	movzx	edx, dl
	xor	edx, ecx
	imul	edx, 107712257				; 066b8f01H
	inc	eax
	mov	ecx, edx
	mov	dl, BYTE PTR [eax]
	test	dl, dl
	jne	SHORT $L1643
$L1645:
; Line 1082
	mov	eax, ecx
	shr	eax, 16					; 00000010H
	xor	eax, ecx
	and	eax, 8191				; 00001fffH
; Line 1083
	ret	0
_FNV1A_Hash_8_OCTETS ENDP
_TEXT	ENDS
PUBLIC	_FNV1A_Hash_Granularity
EXTRN	__allmul:NEAR
; Function compile flags: /Ogty
_TEXT	SEGMENT
_str$ = 8						; size = 4
_wrdlen_granulated$ = 12				; size = 4
_Granularity$ = 16					; size = 4
_FNV1A_Hash_Granularity PROC NEAR
; Line 1099
	mov	eax, DWORD PTR _Granularity$[esp-4]
	cmp	eax, 2
	push	esi
	mov	esi, DWORD PTR _str$[esp]
	mov	ecx, -2128831035			; 811c9dc5H
	jne	SHORT $L1664
; Line 1100
	mov	eax, DWORD PTR _wrdlen_granulated$[esp]
	test	eax, eax
	je	SHORT $L1670
	npad	5
$L1662:
; Line 1101
	mov	edx, DWORD PTR [esi]
	xor	edx, ecx
	imul	edx, 107712257				; 066b8f01H
; Line 1102
	add	esi, 4
	dec	eax
	mov	ecx, edx
	jne	SHORT $L1662
$L1670:
; Line 1140
	mov	al, BYTE PTR [esi]
	test	al, al
	je	SHORT $L1690
$L1688:
; Line 1141
	movzx	edx, al
	mov	al, BYTE PTR [esi+1]
	xor	edx, ecx
	imul	edx, 107712257				; 066b8f01H
	inc	esi
	test	al, al
	mov	ecx, edx
	jne	SHORT $L1688
$L1690:
; Line 1145
	mov	eax, ecx
	shr	eax, 16					; 00000010H
	xor	eax, ecx
	and	eax, 8191				; 00001fffH
	pop	esi
; Line 1147
	ret	0
$L1664:
; Line 1105
	cmp	eax, 3
	jne	SHORT $L1670
	push	ebx
; Line 1107
	mov	ebx, DWORD PTR _wrdlen_granulated$[esp+4]
	test	ebx, ebx
	push	edi
	mov	ecx, -2078137563			; 84222325H
	mov	edi, -873292572				; cbf29ce4H
	je	SHORT $L1674
$L1672:
; Line 1108
	mov	eax, DWORD PTR [esi]
	xor	eax, ecx
	mov	ecx, DWORD PTR [esi+4]
	push	256					; 00000100H
	push	435					; 000001b3H
	xor	ecx, edi
	push	ecx
	push	eax
	call	__allmul
; Line 1109
	add	esi, 8
	dec	ebx
	mov	ecx, eax
	mov	edi, edx
	jne	SHORT $L1672
$L1674:
; Line 1111
	mov	al, BYTE PTR [esi]
	test	al, al
	je	SHORT $L1682
	npad	2
$L1680:
; Line 1112
	movzx	eax, al
	cdq
	push	256					; 00000100H
	push	435					; 000001b3H
	xor	edx, edi
	xor	eax, ecx
	push	edx
	push	eax
	call	__allmul
	inc	esi
	mov	ecx, eax
	mov	al, BYTE PTR [esi]
	test	al, al
	mov	edi, edx
	jne	SHORT $L1680
$L1682:
; Line 1116
	mov	eax, edi
	shr	eax, 19					; 00000013H
	pop	edi
	pop	ebx
; Line 1145
	xor	eax, ecx
	and	eax, 8191				; 00001fffH
	pop	esi
; Line 1147
	ret	0
_FNV1A_Hash_Granularity ENDP
_TEXT	ENDS
PUBLIC	_FNV1A_Hash_SHIFTless_XORless
; Function compile flags: /Ogty
_TEXT	SEGMENT
_str$ = 8						; size = 4
_FNV1A_Hash_SHIFTless_XORless PROC NEAR
; Line 1182
	mov	edx, DWORD PTR _str$[esp-4]
	mov	cl, BYTE PTR [edx]
	test	cl, cl
	mov	eax, -2128831035			; 811c9dc5H
	je	SHORT $L1705
	npad	1
$L1703:
; Line 1183
	movzx	ecx, cl
	xor	ecx, eax
	imul	ecx, 107712257				; 066b8f01H
	inc	edx
	mov	eax, ecx
	mov	cl, BYTE PTR [edx]
	test	cl, cl
	jne	SHORT $L1703
$L1705:
; Line 1187
	and	eax, 8191				; 00001fffH
; Line 1188
	ret	0
_FNV1A_Hash_SHIFTless_XORless ENDP
_TEXT	ENDS
PUBLIC	_FNV1A_Hash
; Function compile flags: /Ogty
_TEXT	SEGMENT
_str$ = 8						; size = 4
_FNV1A_Hash PROC NEAR
; Line 1224
	mov	edx, DWORD PTR _str$[esp-4]
	mov	al, BYTE PTR [edx]
	test	al, al
	mov	ecx, -2128831035			; 811c9dc5H
	je	SHORT $L1718
	npad	1
$L1716:
; Line 1225
	movzx	eax, al
	xor	eax, ecx
	imul	eax, 107712257				; 066b8f01H
	inc	edx
	mov	ecx, eax
	mov	al, BYTE PTR [edx]
	test	al, al
	jne	SHORT $L1716
$L1718:
; Line 1229
	mov	eax, ecx
	shr	eax, 13					; 0000000dH
	xor	eax, ecx
	and	eax, 8191				; 00001fffH
; Line 1230
	ret	0
_FNV1A_Hash ENDP
_TEXT	ENDS
PUBLIC	_floorLog2
; Function compile flags: /Ogty
_TEXT	SEGMENT
_n$ = 8							; size = 4
_floorLog2 PROC NEAR
; Line 1469
	mov	ecx, DWORD PTR _n$[esp-4]
	xor	eax, eax
	cmp	ecx, 65536				; 00010000H
	jb	SHORT $L1727
	shr	ecx, 16					; 00000010H
	mov	eax, 16					; 00000010H
$L1727:
; Line 1470
	cmp	ecx, 256				; 00000100H
	jb	SHORT $L1728
	shr	ecx, 8
	add	eax, 8
$L1728:
; Line 1471
	cmp	ecx, 16					; 00000010H
	jb	SHORT $L1729
	shr	ecx, 4
	add	eax, 4
$L1729:
; Line 1472
	cmp	ecx, 4
	jb	SHORT $L1730
	shr	ecx, 2
	add	eax, 2
$L1730:
; Line 1473
	cmp	ecx, 2
	jb	SHORT $L1731
	inc	eax
$L1731:
; Line 1474
	test	ecx, ecx
	jne	SHORT $L2747
	or	eax, -1
$L2747:
; Line 1475
	ret	0
_floorLog2 ENDP
_TEXT	ENDS
PUBLIC	_main
EXTRN	__lseeki64:NEAR
EXTRN	__telli64:NEAR
EXTRN	_free:NEAR
EXTRN	_fprintf:NEAR
EXTRN	_fwrite:NEAR
EXTRN	_fileno:NEAR
EXTRN	__aulldiv:NEAR
EXTRN	__chkstk:NEAR
EXTRN	_atoi:NEAR
EXTRN	_time:NEAR
; Function compile flags: /Ogty
_TEXT	SEGMENT
tv4644 = -892416					; size = 4
_FoundInLinkedList$ = -892416				; size = 4
_j$ = -892416						; size = 4
_WORDcountDistinct$ = -892412				; size = 4
_workbyte$ = -892405					; size = 1
tv5762 = -892404					; size = 4
_Melnitchka$ = -892404					; size = 4
_BSTcurrentPeak$ = -892404				; size = 4
_WORDcount$ = -892400					; size = 8
_PseudoLinkedPointerNEW$ = -892392			; size = 4
_BSTcurrentPeakMAX$ = -892392				; size = 4
_POffsetInLEAF$ = -892388				; size = 4
_LetterOffset$ = -892388				; size = 4
_BSTcurrentLeaf$ = -892388				; size = 4
tv5873 = -892384					; size = 4
tv4681 = -892384					; size = 4
tv4271 = -892384					; size = 4
_BSTcurrentNode$ = -892384				; size = 4
_WORDcountAttemptsToPut$ = -892380			; size = 8
tv4436 = -892372					; size = 8
$T2860 = -892372					; size = 8
_i$ = -892372						; size = 8
_BufStart$ = -892364					; size = 4
_fp_outLOG$ = -892360					; size = 4
_CRdLFa$ = -892356					; size = 2
tv4846 = -892352					; size = 8
_size_inLINESIXFOUR$ = -892352				; size = 8
tv2672 = -892344					; size = 4
_PseudoLinkedPointerNEWleft$ = -892344			; size = 4
_k$ = -892344						; size = 4
_fp_out$ = -892340					; size = 4
_workKoffset$ = -892340					; size = 4
_backup$ = -892336					; size = 4
_FilesLEN$ = -892332					; size = 8
_NumberOfLines$ = -892324				; size = 8
_NumberOfFiles$ = -892316				; size = 4
_t3$ = -892312						; size = 4
_Thunderwith$ = -892308					; size = 4
tv4538 = -892304					; size = 4
_LetterBuffer$ = -892300				; size = 4
_TotalWLchars$ = -892296				; size = 4
_WHOLEletter_BufferSize$ = -892292			; size = 4
_llTOaDigits$ = -892288					; size = 27
_t1$ = -892260						; size = 4
_pointerflush$ = -892256				; size = 4
_BSTwithMAXpeak$ = -892252				; size = 4
_BSTorBtree$ = -892248					; size = 4
_t2$ = -892244						; size = 4
_BSTcurrentLeafMAXqUANTITY$ = -892240			; size = 4
_jBSTwithMAXpeak$ = -892236				; size = 4
_size_in$ = -892236					; size = 4
_BSTwithMAXnode$ = -892232				; size = 4
tv4661 = -892228					; size = 4
tv4640 = -892228					; size = 4
_BSTcurrentNodeMAXqUANTITY$ = -892224			; size = 4
tv5490 = -892220					; size = 4
tv4646 = -892220					; size = 4
_BSTcurrentPeakMAXqUANTITY$ = -892216			; size = 4
_PEAKibBST$ = -892212					; size = 4
_PseudoLinkedPointerNEWright$ = -892212			; size = 4
_StackPtr$ = -892212					; size = 4
tv739 = -892212						; size = 8
_fp_inLINE$ = -892212					; size = 4
_Utiliza2$ = -892204					; size = 4
_NumberOfTrees$ = -892200				; size = 4
_Utiliza1$ = -892196					; size = 4
_wrd$ = -892192						; size = 32
_PseudoLinkedPointerNEWold$ = -892160			; size = 4
_iBSTwithMAXpeak$ = -892156				; size = 4
_fp_in$ = -892156					; size = 4
_MAXusedBufferABS$ = -892152				; size = 4
_BSTwithMAXleaf$ = -892148				; size = 4
_TAILOffetFromStartBUKVA$ = -892144			; size = 4
_BSTwithMAXpeakNODE$ = -892140				; size = 4
_BSTsTotalLEAFs$ = -892136				; size = 4
_BSTwithMAXpeakLEAF$ = -892132				; size = 4
_llTOaDigits2$ = -892128				; size = 27
tv4677 = -892100					; size = 4
_BSTwithMAXleafNODE$ = -892096				; size = 4
_Slot$ = -892092					; size = 4
_BSTwithMAXnodePEAK$ = -892088				; size = 4
_BSTwithMAXnodeLEAF$ = -892084				; size = 4
_BSTwithMAXleafPEAK$ = -892080				; size = 4
_memory_size$ = -892076					; size = 4
_llTOaDigits3$ = -892072				; size = 27
_llTOaDigits4$ = -892044				; size = 27
_GRMBLhill$ = -892016					; size = 128
_wrdUP$ = -891888					; size = 32
_wrdUPold$ = -891856					; size = 32
_MAXusedBuffer$ = -891824				; size = 128
_OffsetsInBuffer$ = -891696				; size = 124
_GRMBLFoolAgain$ = -891572				; size = 128
_LINE10$ = -891444					; size = 257
_bufNumberOfWords$ = -891184				; size = 3224
_bufend$ = -887960					; size = 3224
_workK$ = -884736					; size = 98304
_BSTstack$ = -786432					; size = 786432
_argc$ = 8						; size = 4
_argv$ = 12						; size = 4
_main	PROC NEAR
; Line 1480
	mov	eax, 892416				; 000d9e00H
	call	__chkstk
	push	ebx
; Line 1515
	mov	ebx, 1
	push	esi
	xor	esi, esi
; Line 1577
	push	OFFSET FLAT:$SG1831
	mov	DWORD PTR _backup$[esp+892428], esi
	mov	DWORD PTR _NumberOfTrees$[esp+892428], esi
	mov	DWORD PTR _BSTsTotalLEAFs$[esp+892428], esi
	mov	DWORD PTR _BSTwithMAXnode$[esp+892428], esi
	mov	DWORD PTR _BSTcurrentNodeMAXqUANTITY$[esp+892428], esi
	mov	DWORD PTR _BSTwithMAXnodePEAK$[esp+892428], ebx
	mov	DWORD PTR _BSTwithMAXnodeLEAF$[esp+892428], ebx
	mov	DWORD PTR _BSTwithMAXpeak$[esp+892428], esi
	mov	DWORD PTR _BSTcurrentPeakMAXqUANTITY$[esp+892428], esi
	mov	DWORD PTR _BSTwithMAXpeakNODE$[esp+892428], ebx
	mov	DWORD PTR _BSTwithMAXpeakLEAF$[esp+892428], ebx
	mov	DWORD PTR _BSTwithMAXleaf$[esp+892428], esi
	mov	DWORD PTR _BSTcurrentLeafMAXqUANTITY$[esp+892428], esi
	mov	DWORD PTR _BSTwithMAXleafNODE$[esp+892428], ebx
	mov	DWORD PTR _BSTwithMAXleafPEAK$[esp+892428], ebx
	mov	DWORD PTR _workKoffset$[esp+892428], -1
	mov	DWORD PTR _MAXusedBufferABS$[esp+892428], esi
	mov	DWORD PTR _Utiliza1$[esp+892428], esi
	mov	DWORD PTR _Utiliza2$[esp+892428], esi
	mov	DWORD PTR _TotalWLchars$[esp+892428], esi
	mov	DWORD PTR _TAILOffetFromStartBUKVA$[esp+892428], esi
	mov	DWORD PTR _BSTorBtree$[esp+892428], esi
	call	_puts
; Line 1578
	push	OFFSET FLAT:$SG1832
	call	_puts
; Line 1579
	push	OFFSET FLAT:$SG1833
	call	_puts
; Line 1580
	push	OFFSET FLAT:$SG1834
	call	_puts
; Line 1583
	mov	eax, DWORD PTR _argc$[esp+892436]
	add	esp, 16					; 00000010H
	cmp	eax, 3
	je	$L1835
	cmp	eax, 4
	je	$L1835
	cmp	eax, 5
	je	$L1835
	cmp	eax, 6
	je	$L1835
; Line 1585
	push	OFFSET FLAT:$SG1836
	call	_puts
; Line 1586
	push	OFFSET FLAT:$SG1837
	call	_puts
; Line 1587
	push	OFFSET FLAT:$SG1838
	call	_puts
; Line 1588
	push	OFFSET FLAT:$SG1839
	call	_puts
; Line 1589
	push	OFFSET FLAT:$SG1840
	call	_puts
; Line 1590
	push	OFFSET FLAT:$SG1841
	call	_puts
; Line 1591
	push	OFFSET FLAT:$SG1842
	call	_puts
; Line 1592
	push	OFFSET FLAT:$SG1843
	call	_puts
; Line 1593
	push	OFFSET FLAT:$SG1844
	call	_puts
; Line 1594
	push	OFFSET FLAT:$SG1845
	call	_puts
; Line 1595
	push	OFFSET FLAT:$SG1846
	call	_puts
; Line 1596
	push	OFFSET FLAT:$SG1847
	call	_puts
; Line 1597
	push	OFFSET FLAT:$SG1848
	call	_puts
; Line 1598
	push	OFFSET FLAT:$SG1849
	call	_puts
; Line 1599
	push	OFFSET FLAT:$SG1850
	call	_puts
; Line 1600
	push	OFFSET FLAT:$SG1851
	call	_puts
	add	esp, 64					; 00000040H
; Line 1601
	push	OFFSET FLAT:$SG1852
	call	_puts
; Line 1602
	push	OFFSET FLAT:$SG1853
	call	_puts
; Line 1603
	push	OFFSET FLAT:$SG1854
	call	_puts
; Line 1604
	push	OFFSET FLAT:$SG1855
	call	_puts
; Line 1605
	push	OFFSET FLAT:$SG1856
	call	_puts
; Line 1606
	push	OFFSET FLAT:$SG1857
	call	_puts
; Line 1607
	push	OFFSET FLAT:$SG1858
	call	_puts
; Line 1608
	push	OFFSET FLAT:$SG1859
	call	_puts
; Line 1609
	push	OFFSET FLAT:$SG1860
	call	_puts
; Line 1610
	push	OFFSET FLAT:$SG1861
	call	_puts
; Line 1611
	push	OFFSET FLAT:$SG1862
	call	_puts
; Line 1612
	push	OFFSET FLAT:$SG1863
	call	_puts
; Line 1613
	push	OFFSET FLAT:$SG1864
	call	_puts
; Line 1614
	push	OFFSET FLAT:$SG1865
	call	_puts
; Line 1615
	push	OFFSET FLAT:$SG1866
	call	_puts
; Line 1616
	push	OFFSET FLAT:$SG1867
	call	_puts
	add	esp, 64					; 00000040H
; Line 1617
	push	OFFSET FLAT:$SG1868
	call	_puts
; Line 1618
	push	OFFSET FLAT:$SG1869
	call	_puts
; Line 1619
	push	OFFSET FLAT:$SG1870
	call	_puts
; Line 1620
	push	OFFSET FLAT:$SG1871
	call	_puts
; Line 1621
	push	OFFSET FLAT:$SG1872
	call	_puts
; Line 1622
	push	OFFSET FLAT:$SG1873
	call	_puts
; Line 1623
	push	OFFSET FLAT:$SG1874
	call	_puts
; Line 1624
	push	OFFSET FLAT:$SG1875
	call	_puts
; Line 1625
	push	OFFSET FLAT:$SG1876
	call	_puts
; Line 1626
	push	OFFSET FLAT:$SG1877
	call	_puts
; Line 1627
	push	OFFSET FLAT:$SG1878
	call	_puts
; Line 1628
	push	OFFSET FLAT:$SG1879
	call	_puts
; Line 1629
	push	OFFSET FLAT:$SG1880
	call	_puts
; Line 1630
	push	OFFSET FLAT:$SG1881
	call	_puts
; Line 1631
	push	OFFSET FLAT:$SG1882
	call	_puts
; Line 1632
	push	OFFSET FLAT:$SG1883
	call	_puts
	add	esp, 64					; 00000040H
; Line 1633
	push	OFFSET FLAT:$SG1884
	call	_puts
; Line 1634
	push	OFFSET FLAT:$SG1885
	call	_puts
; Line 1635
	push	OFFSET FLAT:$SG1886
	call	_puts
; Line 1636
	push	OFFSET FLAT:$SG1887
	call	_puts
; Line 1637
	push	OFFSET FLAT:$SG1888
	call	_puts
; Line 1638
	push	OFFSET FLAT:$SG1889
	call	_puts
; Line 1639
	push	OFFSET FLAT:$SG1890
	call	_puts
; Line 1640
	push	OFFSET FLAT:$SG1891
	call	_puts
; Line 1641
	push	OFFSET FLAT:$SG1892
	call	_puts
; Line 1642
	push	OFFSET FLAT:$SG1893
	call	_puts
; Line 1643
	push	OFFSET FLAT:$SG1894
	call	_puts
; Line 1644
	push	OFFSET FLAT:$SG1895
	call	_puts
; Line 1645
	push	OFFSET FLAT:$SG1896
	call	_puts
; Line 1646
	push	OFFSET FLAT:$SG1897
	call	_puts
; Line 1647
	push	OFFSET FLAT:$SG1898
	call	_puts
; Line 1648
	push	OFFSET FLAT:$SG1899
	call	_puts
	add	esp, 64					; 00000040H
; Line 1649
	push	OFFSET FLAT:$SG1900
	call	_puts
; Line 1650
	push	OFFSET FLAT:$SG1901
	call	_puts
; Line 1651
	push	OFFSET FLAT:$SG1902
	call	_puts
; Line 1652
	push	OFFSET FLAT:$SG1903
	call	_puts
; Line 1653
	push	OFFSET FLAT:$SG1904
	call	_puts
; Line 1654
	push	OFFSET FLAT:$SG1905
	call	_puts
; Line 1655
	push	OFFSET FLAT:$SG1906
	call	_puts
; Line 1656
	push	OFFSET FLAT:$SG1907
	call	_puts
; Line 1657
	push	OFFSET FLAT:$SG1908
	call	_puts
; Line 1658
	push	OFFSET FLAT:$SG1909
	call	_puts
; Line 1659
	push	OFFSET FLAT:$SG1910
	call	_puts
; Line 1660
	push	OFFSET FLAT:$SG1911
	call	_puts
; Line 1661
	push	OFFSET FLAT:$SG1912
	call	_puts
; Line 1662
	push	OFFSET FLAT:$SG1913
	call	_puts
; Line 1663
	push	OFFSET FLAT:$SG1914
	call	_puts
; Line 1664
	push	OFFSET FLAT:$SG1915
	call	_puts
	add	esp, 64					; 00000040H
; Line 1665
	push	OFFSET FLAT:$SG1916
	call	_puts
; Line 1666
	push	OFFSET FLAT:$SG1917
	call	_puts
; Line 1667
	push	OFFSET FLAT:$SG1918
	call	_puts
; Line 1668
	push	OFFSET FLAT:$SG1919
	call	_puts
; Line 1669
	push	OFFSET FLAT:$SG1920
	call	_puts
; Line 1670
	push	OFFSET FLAT:$SG1921
	call	_puts
; Line 1671
	push	OFFSET FLAT:$SG1922
	call	_puts
; Line 1672
	push	OFFSET FLAT:$SG1923
	call	_puts
; Line 1673
	push	OFFSET FLAT:$SG1924
	call	_puts
; Line 1674
	push	OFFSET FLAT:$SG1925
	call	_puts
; Line 1675
	push	OFFSET FLAT:$SG1926
	call	_puts
; Line 1676
	push	OFFSET FLAT:$SG1927
	call	_puts
; Line 1677
	push	OFFSET FLAT:$SG1928
	call	_puts
; Line 1678
	push	OFFSET FLAT:$SG1929
	call	_puts
; Line 1679
	push	OFFSET FLAT:$SG1930
	call	_puts
; Line 1680
	push	OFFSET FLAT:$SG1931
	call	_puts
	add	esp, 64					; 00000040H
; Line 1681
	push	OFFSET FLAT:$SG1932
	call	_puts
; Line 1682
	push	OFFSET FLAT:$SG1933
	call	_puts
; Line 1683
	push	OFFSET FLAT:$SG1934
	call	_puts
; Line 1684
	push	OFFSET FLAT:$SG1935
	call	_puts
; Line 1685
	push	OFFSET FLAT:$SG1936
	call	_puts
; Line 1686
	push	OFFSET FLAT:$SG1937
	call	_puts
; Line 1687
	push	OFFSET FLAT:$SG1938
	call	_puts
; Line 1688
	push	OFFSET FLAT:$SG1939
	call	_puts
; Line 1689
	push	OFFSET FLAT:$SG1940
	call	_puts
; Line 1690
	push	OFFSET FLAT:$SG1941
	call	_puts
; Line 1691
	push	OFFSET FLAT:$SG1942
	call	_puts
; Line 1692
	push	OFFSET FLAT:$SG1943
	call	_puts
; Line 1693
	push	OFFSET FLAT:$SG1944
	call	_puts
; Line 1694
	push	OFFSET FLAT:$SG1945
	call	_puts
; Line 1695
	push	OFFSET FLAT:$SG1946
	call	_puts
; Line 1696
	push	OFFSET FLAT:$SG1947
	call	_puts
	add	esp, 64					; 00000040H
; Line 1697
	push	OFFSET FLAT:$SG1948
	call	_puts
; Line 1698
	push	OFFSET FLAT:$SG1949
	call	_puts
; Line 1699
	push	OFFSET FLAT:$SG1950
	call	_puts
; Line 1700
	push	OFFSET FLAT:$SG1951
	call	_puts
; Line 1701
	push	OFFSET FLAT:$SG1952
	call	_puts
; Line 1702
	push	OFFSET FLAT:$SG1953
	call	_puts
; Line 1703
	push	OFFSET FLAT:$SG1954
	call	_puts
; Line 1704
	push	OFFSET FLAT:$SG1955
	call	_puts
; Line 1705
	push	OFFSET FLAT:$SG1956
	call	_puts
; Line 1706
	push	OFFSET FLAT:$SG1957
	call	_puts
; Line 1707
	push	OFFSET FLAT:$SG1958
	call	_puts
; Line 1708
	push	OFFSET FLAT:$SG1959
	call	_puts
; Line 1709
	push	OFFSET FLAT:$SG1960
	call	_puts
; Line 1710
	push	OFFSET FLAT:$SG1961
	call	_puts
; Line 1712
	push	OFFSET FLAT:$SG1962
	call	_puts
; Line 1713
	push	OFFSET FLAT:$SG1963
	call	_puts
	add	esp, 64					; 00000040H
; Line 1714
	push	OFFSET FLAT:$SG1964
	call	_puts
; Line 1715
	push	OFFSET FLAT:$SG1965
	call	_puts
; Line 1716
	push	OFFSET FLAT:$SG1966
	call	_puts
; Line 1717
	push	OFFSET FLAT:$SG1967
	call	_puts
; Line 1718
	push	OFFSET FLAT:$SG1968
	call	_puts
; Line 1719
	push	OFFSET FLAT:$SG1969
	call	_puts
; Line 1720
	push	OFFSET FLAT:$SG1970
	call	_puts
; Line 1721
	push	OFFSET FLAT:$SG1971
	call	_puts
; Line 1722
	push	OFFSET FLAT:$SG1972
	call	_puts
; Line 1723
	push	OFFSET FLAT:$SG1973
	call	_puts
; Line 1724
	push	OFFSET FLAT:$SG1974
	call	_puts
; Line 1725
	push	OFFSET FLAT:$SG1975
	call	_puts
; Line 1726
	push	OFFSET FLAT:$SG1976
	call	_puts
; Line 1727
	push	OFFSET FLAT:$SG1977
	call	_puts
; Line 1728
	push	OFFSET FLAT:$SG1978
	call	_puts
; Line 1729
	push	OFFSET FLAT:$SG1979
	call	_puts
	add	esp, 64					; 00000040H
; Line 1730
	push	OFFSET FLAT:$SG1980
	call	_puts
	add	esp, 4
	pop	esi
; Line 1731
	mov	eax, ebx
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L1835:
; Line 1738
	mov	eax, 4
	mov	DWORD PTR _GRMBLhill$[esp+892440], eax
; Line 1757
	mov	DWORD PTR _GRMBLhill$[esp+892516], eax
	push	ebp
; Line 1758
	mov	eax, 3
	mov	DWORD PTR _GRMBLhill$[esp+892524], eax
; Line 1759
	mov	DWORD PTR _GRMBLhill$[esp+892528], eax
; Line 1767
	mov	eax, DWORD PTR _argv$[esp+892424]
	mov	ecx, DWORD PTR [eax+4]
	push	edi
	mov	ebp, 2
	push	OFFSET FLAT:$SG1983
	push	ecx
	mov	DWORD PTR _GRMBLhill$[esp+892440], esi
	mov	DWORD PTR _GRMBLhill$[esp+892444], ebx
	mov	DWORD PTR _GRMBLhill$[esp+892448], ebx
	mov	DWORD PTR _GRMBLhill$[esp+892452], ebx
	mov	DWORD PTR _GRMBLhill$[esp+892460], 11	; 0000000bH
	mov	DWORD PTR _GRMBLhill$[esp+892464], 22	; 00000016H
	mov	DWORD PTR _GRMBLhill$[esp+892468], 37	; 00000025H
	mov	DWORD PTR _GRMBLhill$[esp+892472], 47	; 0000002fH
	mov	DWORD PTR _GRMBLhill$[esp+892476], 53	; 00000035H
	mov	DWORD PTR _GRMBLhill$[esp+892480], 50	; 00000032H
	mov	DWORD PTR _GRMBLhill$[esp+892484], 46	; 0000002eH
	mov	DWORD PTR _GRMBLhill$[esp+892488], 38	; 00000026H
	mov	DWORD PTR _GRMBLhill$[esp+892492], 32	; 00000020H
	mov	DWORD PTR _GRMBLhill$[esp+892496], 25	; 00000019H
	mov	DWORD PTR _GRMBLhill$[esp+892500], 20	; 00000014H
	mov	DWORD PTR _GRMBLhill$[esp+892504], 18	; 00000012H
	mov	DWORD PTR _GRMBLhill$[esp+892508], 14	; 0000000eH
	mov	DWORD PTR _GRMBLhill$[esp+892512], 10	; 0000000aH
	mov	DWORD PTR _GRMBLhill$[esp+892516], 8
	mov	DWORD PTR _GRMBLhill$[esp+892520], 7
	mov	DWORD PTR _GRMBLhill$[esp+892524], 6
	mov	DWORD PTR _GRMBLhill$[esp+892528], 5
	mov	DWORD PTR _GRMBLhill$[esp+892544], ebp
	mov	DWORD PTR _GRMBLhill$[esp+892548], ebp
	mov	DWORD PTR _GRMBLhill$[esp+892552], ebp
	mov	DWORD PTR _GRMBLhill$[esp+892556], ebp
	mov	DWORD PTR _GRMBLhill$[esp+892560], ebx
	mov	DWORD PTR _GRMBLhill$[esp+892564], ebx
	call	_fopen
	mov	edi, eax
	add	esp, 8
	cmp	edi, esi
	mov	DWORD PTR _fp_in$[esp+892432], edi
	jne	SHORT $L1982
; Line 1768
	mov	edx, DWORD PTR _argv$[esp+892428]
	mov	eax, DWORD PTR [edx+4]
	push	eax
	push	OFFSET FLAT:$SG1984
	call	_printf
	add	esp, 8
	pop	edi
	pop	ebp
	pop	esi
	mov	eax, ebx
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L1982:
; Line 1770
	push	ebp
	push	esi
	push	edi
	call	_fseek
; Line 1771
	push	edi
	call	_ftell
; Line 1772
	push	esi
	mov	ebp, eax
	push	esi
	push	edi
	mov	DWORD PTR _size_in$[esp+892460], ebp
	call	_fseek
; Line 1773
	push	ebp
	push	OFFSET FLAT:$SG1985
	call	_printf
; Line 1775
	push	OFFSET FLAT:$SG1988
	push	OFFSET FLAT:$SG1989
	call	_fopen
	add	esp, 44					; 0000002cH
	cmp	eax, esi
	mov	DWORD PTR _fp_outLOG$[esp+892432], eax
	jne	SHORT $L1987
; Line 1776
	push	OFFSET FLAT:$SG1990
	call	_printf
; Line 3121
	add	esp, 4
	pop	edi
	pop	ebp
	pop	esi
	mov	eax, ebx
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L1987:
; Line 1779
	mov	ecx, DWORD PTR _argc$[esp+892428]
	cmp	ecx, 4
	jne	SHORT $L1991
; Line 1780
	mov	eax, 3
; Line 1781
	jmp	SHORT $L1993
$L1991:
	cmp	ecx, 5
	jne	SHORT $L1992
; Line 1782
	mov	eax, 4
; Line 1783
	jmp	SHORT $L1993
$L1992:
	cmp	ecx, 6
; Line 1784
	mov	eax, 5
	je	SHORT $L1993
	mov	eax, DWORD PTR _k$[esp+892432]
$L1993:
; Line 1785
	mov	edx, DWORD PTR _argv$[esp+892428]
	mov	eax, DWORD PTR [edx+eax*4]
	mov	al, BYTE PTR [eax]
	cmp	al, 89					; 00000059H
	je	SHORT $L1995
	cmp	al, 121					; 00000079H
	jne	SHORT $L1994
$L1995:
	mov	DWORD PTR _BSTorBtree$[esp+892432], ebx
$L1994:
; Line 1787
	cmp	ecx, 4
	je	SHORT $L1997
	cmp	ecx, 5
	je	SHORT $L1997
	cmp	ecx, 6
; Line 1788
	jne	SHORT $L2862
$L1997:
; Line 1787
	mov	ecx, DWORD PTR [edx+12]
	push	ecx
	call	_atoi
	add	esp, 4
; Line 1790
	cmp	eax, 1023				; 000003ffH
	mov	DWORD PTR _Thunderwith$[esp+892432], eax
	jge	SHORT $L2000
$L2862:
	mov	eax, 1023				; 000003ffH
	mov	DWORD PTR _Thunderwith$[esp+892432], eax
$L2000:
; Line 1791
	mov	ebp, eax
	shl	ebp, 10					; 0000000aH
	mov	DWORD PTR _LetterBuffer$[esp+892432], ebp
; Line 1792
	mov	DWORD PTR _WHOLEletter_BufferSize$[esp+892432], esi
; Line 1793
	mov	ebx, 1
	xor	edi, edi
$L2994:
; Line 1795
	cmp	edi, esi
	mov	DWORD PTR _OffsetsInBuffer$[esp+ebx*4+892428], esi
	mov	DWORD PTR _j$[esp+892432], 1
	jb	SHORT $L2006
	ja	SHORT $L2920
	cmp	ebx, 1
	jb	SHORT $L2006
$L2920:
	mov	edx, DWORD PTR _OffsetsInBuffer$[esp+ebx*4+892428]
	mov	DWORD PTR tv4271[esp+892432], edx
	lea	esi, DWORD PTR _GRMBLhill$[esp+892432]
$L2004:
; Line 1796
	mov	ecx, DWORD PTR [esi]
	imul	ecx, ebp
	mov	eax, 138547333				; 08421085H
	mul	ecx
	mov	eax, DWORD PTR _j$[esp+892432]
	sub	ecx, edx
	shr	ecx, 1
	add	ecx, edx
	mov	edx, DWORD PTR tv4271[esp+892432]
	shr	ecx, 4
	add	edx, ecx
	inc	eax
	mov	DWORD PTR _j$[esp+892432], eax
	xor	eax, eax
	add	esi, 4
	cmp	eax, edi
	mov	DWORD PTR tv4271[esp+892432], edx
	jb	SHORT $L2004
; Line 1795
	ja	SHORT $L2921
	cmp	DWORD PTR _j$[esp+892432], ebx
	jbe	SHORT $L2004
$L2921:
	mov	eax, DWORD PTR tv4271[esp+892432]
	mov	DWORD PTR _OffsetsInBuffer$[esp+ebx*4+892428], eax
	xor	esi, esi
$L2006:
; Line 1798
	mov	ecx, DWORD PTR _GRMBLhill$[esp+ebx*4+892432]
	imul	ecx, ebp
	mov	eax, 138547333				; 08421085H
	mul	ecx
	sub	ecx, edx
	shr	ecx, 1
	add	ecx, edx
	mov	edx, DWORD PTR _WHOLEletter_BufferSize$[esp+892432]
	shr	ecx, 4
	add	edx, ecx
; Line 1799
	mov	DWORD PTR _GRMBLFoolAgain$[esp+ebx*4+892432], ecx
	add	ebx, 1
	adc	edi, esi
	mov	DWORD PTR _WHOLEletter_BufferSize$[esp+892432], edx
	jne	SHORT $L2922
; Line 1793
	cmp	ebx, 31					; 0000001fH
	jbe	$L2994
$L2922:
; Line 1801
	mov	edi, DWORD PTR _WHOLEletter_BufferSize$[esp+892432]
	imul	edi, 26					; 0000001aH
	inc	edi
; Line 1802
	push	edi
	mov	DWORD PTR _memory_size$[esp+892436], edi
	call	_malloc
	add	esp, 4
; Line 1803
	cmp	eax, esi
	mov	DWORD PTR _pointerflush$[esp+892432], eax
	jne	SHORT $L2013
; Line 1804
	push	OFFSET FLAT:$SG2014
	call	_puts
; Line 3121
	add	esp, 4
	pop	edi
	pop	ebp
	pop	esi
; Line 3122
	mov	eax, 1
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2013:
; Line 1806
	mov	ecx, DWORD PTR _fp_outLOG$[esp+892432]
	push	OFFSET FLAT:$SG2015
	push	ecx
	call	_fprintf
; Line 1808
	shr	edi, 20					; 00000014H
	lea	eax, DWORD PTR [edi+1]
	push	eax
	push	OFFSET FLAT:$SG2016
	mov	DWORD PTR tv4538[esp+892448], eax
	call	_printf
	add	esp, 16					; 00000010H
; Line 1814
	xor	edx, edx
	mov	DWORD PTR _i$[esp+892436], esi
	npad	4
$L2017:
; Line 1823
	xor	ecx, ecx
	mov	eax, edx
	imul	eax, 124				; 0000007cH
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892432], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892436], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892440], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892444], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892448], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892452], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892456], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892460], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892464], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892468], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892472], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892476], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892480], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892484], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892488], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892492], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892496], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892500], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892504], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892508], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892512], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892516], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892520], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892524], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892528], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892532], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892536], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892540], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892544], ecx
	mov	ebp, edx
	imul	ebp, DWORD PTR _WHOLEletter_BufferSize$[esp+892432]
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892548], ecx
	mov	DWORD PTR _bufNumberOfWords$[esp+eax+892552], ecx
	mov	DWORD PTR tv5762[esp+892432], eax
	xor	esi, esi
	mov	DWORD PTR tv2672[esp+892432], 31	; 0000001fH
	npad	8
$L2020:
	mov	eax, DWORD PTR _OffsetsInBuffer$[esp+esi+892432]
	mov	ecx, DWORD PTR _pointerflush$[esp+892432]
	add	eax, ebp
	add	eax, ecx
	cmp	edx, 25					; 00000019H
	mov	ecx, DWORD PTR tv5762[esp+892432]
	mov	DWORD PTR _bufend$[esp+ecx+892432], eax
	jne	SHORT $L2023
	mov	ecx, DWORD PTR _i$[esp+892436]
	test	ecx, ecx
	jne	SHORT $L2023
; Line 1817
	mov	DWORD PTR _MAXusedBuffer$[esp+esi+892436], eax
$L2023:
; Line 1818
	mov	eax, DWORD PTR tv5762[esp+892432]
	mov	ebx, DWORD PTR _bufend$[esp+eax+892432]
; Line 1819
	xor	eax, eax
	mov	edi, ebx
	mov	ecx, 8193				; 00002001H
	rep stosd
	mov	ecx, DWORD PTR tv5762[esp+892432]
	add	ebx, 32772				; 00008004H
; Line 1822
	cmp	edx, 25					; 00000019H
	mov	DWORD PTR _bufend$[esp+ecx+892432], ebx
	jne	SHORT $L2028
	mov	eax, DWORD PTR _i$[esp+892436]
	test	eax, eax
	jne	SHORT $L2028
	mov	ecx, DWORD PTR _MAXusedBuffer$[esp+esi+892436]
	mov	eax, DWORD PTR _bufend$[esp+esi+895532]
	sub	eax, ecx
	mov	DWORD PTR _MAXusedBuffer$[esp+esi+892436], eax
$L2028:
; Line 1823
	mov	ecx, DWORD PTR tv5762[esp+892432]
	mov	eax, DWORD PTR tv2672[esp+892432]
	add	ecx, 4
	add	esi, 4
	dec	eax
	mov	DWORD PTR tv5762[esp+892432], ecx
	mov	DWORD PTR tv2672[esp+892432], eax
	jne	$L2020
	mov	eax, DWORD PTR _i$[esp+892436]
	add	edx, 1
	adc	eax, 0
	mov	DWORD PTR _i$[esp+892436], eax
	jne	SHORT $L2999
; Line 1814
	cmp	edx, 26					; 0000001aH
	jb	$L2017
$L2999:
; Line 1830
	lea	ecx, DWORD PTR _t1$[esp+892432]
	push	ecx
	xor	edi, edi
	call	_time
; Line 1839
	mov	eax, DWORD PTR _size_in$[esp+892436]
	add	esp, 4
	xor	esi, esi
	cmp	eax, edi
	mov	DWORD PTR _Melnitchka$[esp+892432], edi
	mov	DWORD PTR _WORDcount$[esp+892432], edi
	mov	DWORD PTR _WORDcount$[esp+892436], edi
	mov	DWORD PTR _WORDcountDistinct$[esp+892432], edi
	mov	DWORD PTR _NumberOfFiles$[esp+892432], edi
	mov	DWORD PTR _NumberOfLines$[esp+892432], edi
	mov	DWORD PTR _NumberOfLines$[esp+892436], edi
	mov	DWORD PTR _FilesLEN$[esp+892432], edi
	mov	DWORD PTR _FilesLEN$[esp+892436], edi
	mov	DWORD PTR _k$[esp+892432], edi
	jbe	$L2972
	npad	3
$L3008:
; Line 1841
	mov	edx, DWORD PTR _fp_in$[esp+892432]
	push	edx
	push	1
	lea	eax, DWORD PTR _workbyte$[esp+892440]
	push	1
	push	eax
	call	_fread
; Line 1842
	mov	al, BYTE PTR _workbyte$[esp+892448]
	add	esp, 16					; 00000010H
	cmp	al, 10					; 0000000aH
	je	SHORT $L2034
; Line 1843
	cmp	al, 13					; 0000000dH
	je	$L2032
; Line 1844
	cmp	esi, 255				; 000000ffH
	jae	SHORT $L2036
	mov	BYTE PTR _LINE10$[esp+esi+892432], al
$L2036:
; Line 1845
	inc	esi
; Line 1851
	jmp	$L2032
$L2034:
; Line 1852
	cmp	esi, 1
	jb	$L2032
	cmp	esi, 255				; 000000ffH
	ja	$L2032
; Line 1854
	lea	ecx, DWORD PTR _LINE10$[esp+892432]
	push	OFFSET FLAT:$SG2042
	push	ecx
	mov	BYTE PTR _LINE10$[esp+esi+892440], 0
	call	_fopen
	mov	ebp, eax
	add	esp, 8
	cmp	ebp, edi
	mov	DWORD PTR _fp_inLINE$[esp+892432], ebp
	je	$L2823
; Line 1863
	push	2
	xor	ebx, ebx
	push	ebx
	push	ebx
	push	ebp
	call	_fileno
	add	esp, 4
	push	eax
	call	__lseeki64
; Line 1864
	push	ebp
	call	_fileno
	push	eax
	call	__telli64
	add	esp, 24					; 00000018H
; Line 1865
	push	ebx
	push	ebx
	mov	edi, eax
	mov	esi, edx
	push	ebx
	push	ebp
	mov	DWORD PTR _size_inLINESIXFOUR$[esp+892448], edi
	mov	DWORD PTR _size_inLINESIXFOUR$[esp+892452], esi
	call	_fileno
	add	esp, 4
	push	eax
	call	__lseeki64
; Line 1873
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+892452]
	push	edx
	push	esi
	push	edi
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG2044
	call	_printf
; Line 1874
	mov	eax, DWORD PTR _FilesLEN$[esp+892472]
	mov	edx, DWORD PTR _FilesLEN$[esp+892476]
; Line 1875
	mov	ecx, DWORD PTR _NumberOfFiles$[esp+892472]
	add	esp, 40					; 00000028H
	add	eax, edi
	adc	edx, esi
	inc	ecx
; Line 1879
	xor	edi, edi
	test	esi, esi
	mov	DWORD PTR _FilesLEN$[esp+892432], eax
	mov	DWORD PTR _FilesLEN$[esp+892436], edx
	mov	DWORD PTR _NumberOfFiles$[esp+892432], ecx
	mov	DWORD PTR _i$[esp+892432], ebx
	mov	DWORD PTR _i$[esp+892436], edi
	jb	$L3001
	ja	SHORT $L3000
	mov	eax, DWORD PTR _size_inLINESIXFOUR$[esp+892432]
	test	eax, eax
	jbe	$L3001
	npad	8
$L3000:
; Line 1883
	mov	ecx, DWORD PTR _workKoffset$[esp+892432]
	cmp	ecx, -1
	jne	SHORT $L2048
; Line 1884
	mov	ecx, DWORD PTR _i$[esp+892432]
	add	ecx, 98304				; 00018000H
	mov	eax, edi
	adc	eax, 0
	cmp	eax, esi
	ja	SHORT $L2049
	jb	SHORT $L2925
	cmp	ecx, DWORD PTR _size_inLINESIXFOUR$[esp+892432]
	jae	SHORT $L2049
$L2925:
; Line 1885
	push	ebp
	push	98304					; 00018000H
	lea	eax, DWORD PTR _workK$[esp+892440]
	push	1
	push	eax
	call	_fread
; Line 1887
	mov	al, BYTE PTR _workK$[esp+892448]
	add	esp, 16					; 00000010H
	mov	DWORD PTR _workKoffset$[esp+892432], 0
	mov	BYTE PTR _workbyte$[esp+892432], al
; Line 1888
	jmp	SHORT $L2052
$L2049:
; Line 1889
	push	ebp
	push	1
	lea	ecx, DWORD PTR _workbyte$[esp+892440]
	push	1
	push	ecx
	call	_fread
; Line 1890
	mov	al, BYTE PTR _workbyte$[esp+892448]
	add	esp, 16					; 00000010H
	jmp	SHORT $L2052
$L2048:
; Line 1892
	mov	al, BYTE PTR _workK$[esp+ecx+892433]
	inc	ecx
; Line 1893
	cmp	ecx, 98303				; 00017fffH
	mov	DWORD PTR _workKoffset$[esp+892432], ecx
	mov	BYTE PTR _workbyte$[esp+892432], al
	jne	SHORT $L2052
	mov	DWORD PTR _workKoffset$[esp+892432], -1
$L2052:
; Line 1904
	cmp	al, 65					; 00000041H
	jl	SHORT $ElStupido$2054
; Line 2586
	cmp	al, 90					; 0000005aH
	jg	SHORT $L2327
; Line 2588
	cmp	ebx, 31					; 0000001fH
	jae	SHORT $L2328
; Line 2589
	add	al, 32					; 00000020H
	mov	BYTE PTR _wrd$[esp+ebx+892432], al
$L2328:
; Line 2590
	inc	ebx
; Line 2592
	jmp	$L2046
$L2327:
	cmp	al, 97					; 00000061H
	jl	SHORT $ElStupido$2054
	cmp	al, 122					; 0000007aH
	jg	SHORT $ElStupido$2054
; Line 2594
	cmp	ebx, 31					; 0000001fH
	jae	SHORT $L2328
; Line 2595
	mov	BYTE PTR _wrd$[esp+ebx+892432], al
; Line 2596
	inc	ebx
; Line 2598
	jmp	$L2046
$ElStupido$2054:
; Line 1908
	cmp	al, 10					; 0000000aH
	jne	SHORT $L3009
	mov	ecx, DWORD PTR _NumberOfLines$[esp+892432]
	mov	eax, DWORD PTR _NumberOfLines$[esp+892436]
	add	ecx, 1
	adc	eax, 0
	mov	DWORD PTR _NumberOfLines$[esp+892432], ecx
	mov	DWORD PTR _NumberOfLines$[esp+892436], eax
$L3009:
; Line 1909
	cmp	ebx, 1
	jb	$L2255
	cmp	ebx, 31					; 0000001fH
	ja	$L2255
; Line 1914
	mov	eax, DWORD PTR _WORDcount$[esp+892432]
	mov	edi, DWORD PTR _WORDcount$[esp+892436]
	add	eax, 1
	mov	ecx, 0
	adc	edi, ecx
	mov	DWORD PTR _WORDcount$[esp+892432], eax
	and	eax, 1048575				; 000fffffH
	or	eax, ecx
	mov	BYTE PTR _wrd$[esp+ebx+892432], 0
	mov	DWORD PTR _WORDcount$[esp+892436], edi
	jne	$L2982
; Line 1917
	mov	edx, DWORD PTR _Melnitchka$[esp+892432]
	inc	edx
; Line 1918
	mov	eax, edx
	and	eax, -2147483645			; 80000003H
	jns	SHORT $L3043
	dec	eax
	or	eax, -4					; fffffffcH
	inc	eax
$L3043:
; Line 1919
	mov	edi, DWORD PTR _size_inLINESIXFOUR$[esp+892432]
	mov	ebp, DWORD PTR _i$[esp+892436]
	mov	esi, DWORD PTR _i$[esp+892432]
	mov	DWORD PTR _Melnitchka$[esp+892432], eax
	jne	SHORT $L2058
	mov	edx, DWORD PTR _size_inLINESIXFOUR$[esp+892436]
	mov	eax, esi
	mov	ecx, ebp
	shld	ecx, eax, 6
	push	edx
	push	edi
	shl	eax, 6
	push	ecx
	push	eax
	call	__aulldiv
	mov	ecx, DWORD PTR _WORDcountDistinct$[esp+892432]
	push	edx
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits2$[esp+892444]
	push	eax
	push	0
	push	ecx
	call	__ui64toaKAZEcomma
	mov	ecx, DWORD PTR _WORDcount$[esp+892456]
	add	esp, 16					; 00000010H
	push	eax
	mov	eax, DWORD PTR _WORDcount$[esp+892448]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+892448]
	push	edx
	push	eax
	push	ecx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2061
	call	_printf
	mov	eax, DWORD PTR _Melnitchka$[esp+892452]
	add	esp, 20					; 00000014H
$L2058:
; Line 1920
	cmp	eax, 1
	jne	SHORT $L2062
	mov	edx, DWORD PTR _size_inLINESIXFOUR$[esp+892436]
	push	edx
	shld	ebp, esi, 6
	push	edi
	push	ebp
	shl	esi, 6
	push	esi
	call	__aulldiv
	mov	ecx, DWORD PTR _WORDcountDistinct$[esp+892432]
	push	edx
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits2$[esp+892444]
	push	eax
	push	0
	push	ecx
	call	__ui64toaKAZEcomma
	mov	ecx, DWORD PTR _WORDcount$[esp+892456]
	add	esp, 16					; 00000010H
	push	eax
	mov	eax, DWORD PTR _WORDcount$[esp+892448]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+892448]
	push	edx
	push	eax
	push	ecx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2065
; Line 1921
	jmp	$L3047
$L2062:
	cmp	eax, 2
	jne	SHORT $L2066
	mov	edx, DWORD PTR _size_inLINESIXFOUR$[esp+892436]
	push	edx
	shld	ebp, esi, 6
	push	edi
	push	ebp
	shl	esi, 6
	push	esi
	call	__aulldiv
	mov	ecx, DWORD PTR _WORDcountDistinct$[esp+892432]
	push	edx
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits2$[esp+892444]
	push	eax
	push	0
	push	ecx
	call	__ui64toaKAZEcomma
	mov	ecx, DWORD PTR _WORDcount$[esp+892456]
	add	esp, 16					; 00000010H
	push	eax
	mov	eax, DWORD PTR _WORDcount$[esp+892448]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+892448]
	push	edx
	push	eax
	push	ecx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2069
; Line 1922
	jmp	SHORT $L3047
$L2066:
	cmp	eax, 3
	jne	SHORT $L2982
	mov	edx, DWORD PTR _size_inLINESIXFOUR$[esp+892436]
	push	edx
	shld	ebp, esi, 6
	push	edi
	push	ebp
	shl	esi, 6
	push	esi
	call	__aulldiv
	mov	ecx, DWORD PTR _WORDcountDistinct$[esp+892432]
	push	edx
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits2$[esp+892444]
	push	eax
	push	0
	push	ecx
	call	__ui64toaKAZEcomma
	mov	ecx, DWORD PTR _WORDcount$[esp+892456]
	add	esp, 16					; 00000010H
	push	eax
	mov	eax, DWORD PTR _WORDcount$[esp+892448]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+892448]
	push	edx
	push	eax
	push	ecx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2073
$L3047:
	call	_printf
	add	esp, 20					; 00000014H
$L2982:
; Line 1924
	movsx	ebp, BYTE PTR _wrd$[esp+892432]
; Line 1927
	mov	ecx, DWORD PTR _pointerflush$[esp+892432]
	mov	edx, ebp
	imul	edx, 31					; 0000001fH
	add	ebp, -97				; ffffff9fH
	imul	ebp, DWORD PTR _WHOLEletter_BufferSize$[esp+892432]
	lea	esi, DWORD PTR [edx+ebx-3008]
	add	ebp, DWORD PTR _OffsetsInBuffer$[esp+ebx*4+892428]
	add	ebp, ecx
; Line 1941
	cmp	ebx, 19					; 00000013H
	mov	DWORD PTR _LetterOffset$[esp+892432], esi
	mov	DWORD PTR _BufStart$[esp+892432], ebp
	ja	SHORT $L2076
; Line 1942
	mov	eax, ebx
	push	2
	shr	eax, 2
	push	eax
	lea	ecx, DWORD PTR _wrd$[esp+892440]
	push	ecx
; Line 1943
	jmp	SHORT $L3048
$L2076:
; Line 1944
	mov	edx, ebx
	push	3
	shr	edx, 3
	push	edx
	lea	eax, DWORD PTR _wrd$[esp+892440]
	push	eax
$L3048:
	call	_FNV1A_Hash_Granularity
; Line 1960
	mov	edx, DWORD PTR _BSTorBtree$[esp+892444]
	mov	ecx, eax
	shl	ecx, 2
	mov	eax, DWORD PTR [ecx+ebp]
	add	esp, 12					; 0000000cH
	cmp	edx, 1
	mov	DWORD PTR _Slot$[esp+892432], ecx
	mov	DWORD PTR tv4640[esp+892432], eax
	je	$L2078
; Line 1963
	test	eax, eax
	jne	$L2079
; Line 1966
	mov	eax, DWORD PTR _bufend$[esp+esi*4+892432]
	mov	edi, DWORD PTR _GRMBLFoolAgain$[esp+ebx*4+892432]
	lea	edx, DWORD PTR _bufend$[esp+esi*4+892432]
	mov	esi, eax
	sub	esi, ebp
	lea	esi, DWORD PTR [esi+ebx+8]
	cmp	esi, edi
	mov	DWORD PTR tv4644[esp+892432], edx
	jae	$L2082
; Line 1968
	mov	DWORD PTR [ecx+ebp], eax
; Line 1986
	add	eax, 8
	mov	DWORD PTR [edx], eax
; Line 1987
	mov	ecx, ebx
	mov	edx, ecx
	shr	ecx, 2
	mov	edi, eax
	lea	esi, DWORD PTR _wrd$[esp+892432]
	rep movsd
	mov	ecx, edx
	and	ecx, 3
	rep movsb
	mov	ecx, DWORD PTR _LetterOffset$[esp+892432]
	mov	esi, DWORD PTR _bufNumberOfWords$[esp+ecx*4+892432]
	mov	edi, DWORD PTR _WORDcountDistinct$[esp+892432]
	lea	ecx, DWORD PTR _bufNumberOfWords$[esp+ecx*4+892432]
	inc	edi
	inc	esi
; Line 1989
	add	eax, ebx
	mov	DWORD PTR [ecx], esi
	mov	ecx, DWORD PTR tv4644[esp+892432]
	mov	DWORD PTR [ecx], eax
; Line 1990
	mov	ecx, DWORD PTR _MAXusedBuffer$[esp+ebx*4+892432]
	lea	ebx, DWORD PTR _MAXusedBuffer$[esp+ebx*4+892432]
	sub	eax, ebp
	cmp	ecx, eax
	mov	DWORD PTR _WORDcountDistinct$[esp+892432], edi
	jae	$L2255
	mov	DWORD PTR [ebx], eax
; Line 2009
	jmp	$L2255
$L2079:
; Line 2010
	mov	DWORD PTR _FoundInLinkedList$[esp+892432], 0
$L2110:
; Line 2011
	mov	ecx, DWORD PTR _FoundInLinkedList$[esp+892432]
	test	ecx, ecx
	jne	$L2255
; Line 2013
	lea	edx, DWORD PTR [eax+8]
	mov	ecx, ebx
	lea	edi, DWORD PTR _wrd$[esp+892432]
	mov	esi, edx
	xor	ebp, ebp
	repe cmpsb
	jne	SHORT $L2112
; Line 2019
	mov	DWORD PTR _FoundInLinkedList$[esp+892432], 1
; Line 2021
	jmp	$L2113
$L2112:
; Line 2023
	mov	esi, edx
	mov	ecx, ebx
	lea	edi, DWORD PTR _wrd$[esp+892432]
	xor	edx, edx
	repe cmpsb
	je	SHORT $L2928
	sbb	edx, edx
	sbb	edx, -1
$L2928:
	test	edx, edx
; Line 2025
	jg	SHORT $L3049
; Line 2027
	add	eax, 4
$L3049:
; Line 2028
	mov	ecx, DWORD PTR [eax]
; Line 2031
	test	ecx, ecx
	mov	DWORD PTR _PseudoLinkedPointerNEW$[esp+892432], ecx
	jne	$L2988
; Line 2034
	mov	edx, DWORD PTR _LetterOffset$[esp+892432]
	mov	ecx, DWORD PTR _bufend$[esp+edx*4+892432]
	mov	ebp, DWORD PTR _BufStart$[esp+892432]
	mov	edi, DWORD PTR _GRMBLFoolAgain$[esp+ebx*4+892432]
	lea	edx, DWORD PTR _bufend$[esp+edx*4+892432]
	mov	esi, ecx
	sub	esi, ebp
	lea	esi, DWORD PTR [esi+ebx+8]
	cmp	esi, edi
	jae	$L2119
; Line 2035
	mov	DWORD PTR [eax], ecx
; Line 2040
	lea	eax, DWORD PTR [ecx+8]
; Line 2041
	mov	ecx, ebx
	mov	ebp, ecx
	shr	ecx, 2
	mov	edi, eax
	lea	esi, DWORD PTR _wrd$[esp+892432]
	rep movsd
	mov	ecx, ebp
	and	ecx, 3
	rep movsb
	mov	ecx, DWORD PTR _LetterOffset$[esp+892432]
	mov	edi, DWORD PTR _WORDcountDistinct$[esp+892432]
	mov	esi, DWORD PTR _bufNumberOfWords$[esp+ecx*4+892432]
	mov	DWORD PTR [edx], eax
	lea	ecx, DWORD PTR _bufNumberOfWords$[esp+ecx*4+892432]
; Line 2043
	add	eax, ebx
	inc	edi
	inc	esi
	mov	DWORD PTR [edx], eax
; Line 2044
	mov	edx, DWORD PTR _BufStart$[esp+892432]
	mov	DWORD PTR [ecx], esi
	mov	ecx, DWORD PTR _MAXusedBuffer$[esp+ebx*4+892432]
	sub	eax, edx
	cmp	ecx, eax
	mov	DWORD PTR _WORDcountDistinct$[esp+892432], edi
	jae	SHORT $L2988
	mov	DWORD PTR _MAXusedBuffer$[esp+ebx*4+892432], eax
$L2988:
; Line 2063
	mov	eax, DWORD PTR _PseudoLinkedPointerNEW$[esp+892432]
$L2113:
; Line 2065
	mov	esi, DWORD PTR _WORDcountAttemptsToPut$[esp+892432]
	mov	edx, DWORD PTR _WORDcountAttemptsToPut$[esp+892436]
	add	esi, 1
	adc	edx, 0
	test	eax, eax
	mov	DWORD PTR _WORDcountAttemptsToPut$[esp+892432], esi
	mov	DWORD PTR _WORDcountAttemptsToPut$[esp+892436], edx
	jne	$L2110
; Line 2069
	jmp	$L2255
$L2078:
; Line 2080
	test	eax, eax
	jne	$L2146
; Line 2082
	mov	eax, DWORD PTR _bufend$[esp+esi*4+892432]
	mov	edi, DWORD PTR _GRMBLFoolAgain$[esp+ebx*4+892432]
	lea	edx, DWORD PTR _bufend$[esp+esi*4+892432]
	lea	esi, DWORD PTR [ebx+ebx+12]
	sub	esi, ebp
	add	esi, eax
	cmp	esi, edi
	mov	DWORD PTR tv4644[esp+892432], edx
	jae	$L2149
; Line 2084
	mov	DWORD PTR [ecx+ebp], eax
; Line 2085
	add	eax, 12					; 0000000cH
	mov	DWORD PTR [edx], eax
; Line 2086
	mov	ecx, ebx
	mov	edx, ecx
	shr	ecx, 2
	mov	edi, eax
	lea	esi, DWORD PTR _wrd$[esp+892432]
	rep movsd
	mov	ecx, edx
	and	ecx, 3
	rep movsb
	mov	ecx, DWORD PTR _LetterOffset$[esp+892432]
	mov	esi, DWORD PTR _bufNumberOfWords$[esp+ecx*4+892432]
	mov	edi, DWORD PTR _WORDcountDistinct$[esp+892432]
	lea	ecx, DWORD PTR _bufNumberOfWords$[esp+ecx*4+892432]
	inc	edi
	inc	esi
	mov	DWORD PTR [ecx], esi
; Line 2087
	mov	ecx, DWORD PTR tv4644[esp+892432]
	lea	eax, DWORD PTR [eax+ebx*2]
	mov	DWORD PTR [ecx], eax
; Line 2088
	mov	ecx, DWORD PTR _MAXusedBuffer$[esp+ebx*4+892432]
	lea	ebx, DWORD PTR _MAXusedBuffer$[esp+ebx*4+892432]
	sub	eax, ebp
	cmp	ecx, eax
	mov	DWORD PTR _WORDcountDistinct$[esp+892432], edi
	jae	$L2255
	mov	DWORD PTR [ebx], eax
; Line 2108
	jmp	$L2255
$L2146:
; Line 2109
	mov	DWORD PTR _FoundInLinkedList$[esp+892432], 0
	npad	10
$L2177:
; Line 2110
	mov	ecx, DWORD PTR _FoundInLinkedList$[esp+892432]
	test	ecx, ecx
	jne	$L2990
; Line 2117
	lea	ebp, DWORD PTR [eax+12]
	mov	ecx, ebx
	lea	edi, DWORD PTR _wrd$[esp+892432]
	mov	esi, ebp
	xor	edx, edx
	repe cmpsb
	je	SHORT $L2992
	sbb	edx, edx
	sbb	edx, -1
$L2992:
	test	edx, edx
	jle	SHORT $L2179
; Line 2119
	mov	eax, DWORD PTR [eax]
; Line 2121
	jmp	$L2189
$L2179:
	mov	ecx, ebx
	lea	edi, DWORD PTR _wrd$[esp+892432]
	mov	esi, ebp
	xor	edx, edx
	repe cmpsb
	je	SHORT $L2930
	sbb	edx, edx
	sbb	edx, -1
$L2930:
	test	edx, edx
	jge	SHORT $L2181
; Line 2123
	mov	cl, BYTE PTR [eax+ebx+12]
	test	cl, cl
	lea	ebp, DWORD PTR [eax+ebx+12]
	je	SHORT $L2183
; Line 2131
	mov	ecx, ebx
	lea	edi, DWORD PTR _wrd$[esp+892432]
	mov	esi, ebp
	xor	edx, edx
	repe cmpsb
	je	SHORT $L2991
	sbb	edx, edx
	sbb	edx, -1
$L2991:
	test	edx, edx
	jle	SHORT $L2184
; Line 2133
	mov	eax, DWORD PTR [eax+4]
; Line 2135
	jmp	SHORT $L2187
$L2184:
	mov	ecx, ebx
	lea	edi, DWORD PTR _wrd$[esp+892432]
	mov	esi, ebp
	xor	edx, edx
	repe cmpsb
	je	SHORT $L2932
	sbb	edx, edx
	sbb	edx, -1
$L2932:
	test	edx, edx
	jge	SHORT $L2186
; Line 2138
	mov	eax, DWORD PTR [eax+8]
; Line 2140
	jmp	SHORT $L2187
$L2186:
	mov	DWORD PTR _FoundInLinkedList$[esp+892432], 1
$L2187:
; Line 2141
	mov	edx, DWORD PTR _WORDcountAttemptsToPut$[esp+892432]
	mov	ecx, DWORD PTR _WORDcountAttemptsToPut$[esp+892436]
	add	edx, 1
	adc	ecx, 0
	mov	DWORD PTR _WORDcountAttemptsToPut$[esp+892432], edx
	mov	DWORD PTR _WORDcountAttemptsToPut$[esp+892436], ecx
; Line 2145
	jmp	SHORT $L2189
$L2183:
; Line 2147
	mov	eax, DWORD PTR [eax+4]
; Line 2150
	jmp	SHORT $L2189
$L2181:
	mov	DWORD PTR _FoundInLinkedList$[esp+892432], 1
$L2189:
; Line 2151
	mov	esi, DWORD PTR _WORDcountAttemptsToPut$[esp+892432]
	mov	edx, DWORD PTR _WORDcountAttemptsToPut$[esp+892436]
	add	esi, 1
	adc	edx, 0
	test	eax, eax
	mov	DWORD PTR _WORDcountAttemptsToPut$[esp+892432], esi
	mov	DWORD PTR _WORDcountAttemptsToPut$[esp+892436], edx
	jne	$L2177
$L2990:
; Line 2154
	mov	edx, DWORD PTR _WORDcountAttemptsToPut$[esp+892432]
	mov	ecx, DWORD PTR _WORDcountAttemptsToPut$[esp+892436]
	or	eax, -1
	add	edx, eax
	adc	ecx, eax
; Line 2297
	mov	eax, DWORD PTR _FoundInLinkedList$[esp+892432]
	test	eax, eax
	mov	DWORD PTR _WORDcountAttemptsToPut$[esp+892432], edx
	mov	DWORD PTR _WORDcountAttemptsToPut$[esp+892436], ecx
	jne	$L2255
; Line 2304
	mov	eax, DWORD PTR tv4640[esp+892432]
; Line 2305
	xor	edx, edx
; Line 2306
	test	eax, eax
	je	$L2985
$L2192:
; Line 2313
	lea	esi, DWORD PTR [eax+12]
	mov	ecx, ebx
	lea	edi, DWORD PTR _wrd$[esp+892432]
	xor	ebp, ebp
	repe cmpsb
	je	SHORT $L2933
	sbb	ebp, ebp
	sbb	ebp, -1
$L2933:
	test	ebp, ebp
	jle	SHORT $L2194
; Line 2315
	cmp	edx, 196606				; 0002fffeH
	mov	ecx, DWORD PTR [eax]
	ja	$L2819
; Line 2316
	mov	DWORD PTR _BSTstack$[esp+edx*4+892432], eax
	inc	edx
; Line 2317
	mov	DWORD PTR _BSTstack$[esp+edx*4+892432], 0
; Line 2320
	jmp	$L3050
$L2194:
	mov	ecx, ebx
	lea	edi, DWORD PTR _wrd$[esp+892432]
	lea	esi, DWORD PTR [eax+12]
	xor	ebp, ebp
	repe cmpsb
	je	SHORT $L2934
	sbb	ebp, ebp
	sbb	ebp, -1
$L2934:
	test	ebp, ebp
	jge	$L2984
; Line 2322
	mov	cl, BYTE PTR [eax+ebx+12]
	test	cl, cl
	lea	esi, DWORD PTR [eax+ebx+12]
	je	$L2200
; Line 2330
	mov	ecx, ebx
	lea	edi, DWORD PTR _wrd$[esp+892432]
	xor	ebp, ebp
	repe cmpsb
	je	SHORT $L2935
	sbb	ebp, ebp
	sbb	ebp, -1
$L2935:
	test	ebp, ebp
	jle	SHORT $L2201
; Line 2332
	cmp	edx, 196606				; 0002fffeH
	mov	ecx, DWORD PTR [eax+4]
	jbe	SHORT $L3051
	push	OFFSET FLAT:$SG2203
	call	_printf
; Line 3121
	add	esp, 4
	pop	edi
	pop	ebp
	pop	esi
	mov	eax, 13					; 0000000dH
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2201:
; Line 2337
	mov	ecx, ebx
	lea	edi, DWORD PTR _wrd$[esp+892432]
	lea	esi, DWORD PTR [eax+ebx+12]
	xor	ebp, ebp
	repe cmpsb
	je	SHORT $L2936
	sbb	ebp, ebp
	sbb	ebp, -1
$L2936:
	test	ebp, ebp
	jge	SHORT $L2984
; Line 2340
	cmp	edx, 196606				; 0002fffeH
	mov	ecx, DWORD PTR [eax+8]
	ja	$L2821
; Line 2341
	mov	DWORD PTR _BSTstack$[esp+edx*4+892432], eax
	inc	edx
; Line 2342
	mov	DWORD PTR _BSTstack$[esp+edx*4+892432], 8
; Line 2349
	jmp	SHORT $L3050
$L2200:
; Line 2351
	cmp	edx, 196606				; 0002fffeH
	mov	ecx, DWORD PTR [eax+4]
	ja	$L2822
$L3051:
; Line 2352
	mov	DWORD PTR _BSTstack$[esp+edx*4+892432], eax
	inc	edx
; Line 2353
	mov	DWORD PTR _BSTstack$[esp+edx*4+892432], 4
$L3050:
	inc	edx
; Line 2354
	mov	eax, ecx
$L2984:
; Line 2306
	test	eax, eax
	jne	$L2192
$L2985:
; Line 2374
	mov	esi, DWORD PTR _BSTstack$[esp+edx*4+892428]
; Line 2379
	mov	ebp, DWORD PTR _WORDcountDistinct$[esp+892432]
	mov	ecx, DWORD PTR _LetterOffset$[esp+892432]
	dec	edx
	mov	eax, DWORD PTR _BSTstack$[esp+edx*4+892428]
	dec	edx
	lea	edi, DWORD PTR [eax+ebx+12]
	inc	ebp
	cmp	BYTE PTR [edi], 0
	mov	DWORD PTR _POffsetInLEAF$[esp+892432], esi
	mov	DWORD PTR _WORDcountDistinct$[esp+892432], ebp
	je	$L2214
	mov	esi, DWORD PTR _bufNumberOfWords$[esp+ecx*4+892432]
; Line 2381
	mov	ebp, DWORD PTR _bufend$[esp+ecx*4+892432]
	inc	esi
	mov	DWORD PTR _bufNumberOfWords$[esp+ecx*4+892432], esi
	lea	esi, DWORD PTR [ebx+ebx+12]
	lea	ecx, DWORD PTR _bufend$[esp+ecx*4+892432]
	mov	DWORD PTR tv4677[esp+892432], esi
	sub	esi, DWORD PTR _BufStart$[esp+892432]
	mov	DWORD PTR tv4644[esp+892432], ecx
	mov	ecx, DWORD PTR _GRMBLFoolAgain$[esp+ebx*4+892432]
	add	esi, ebp
	cmp	esi, ecx
	jae	$L2217
; Line 2385
	mov	esi, DWORD PTR tv4644[esp+892432]
	lea	ecx, DWORD PTR [ebp+12]
	mov	DWORD PTR tv4681[esp+892432], ecx
	lea	ecx, DWORD PTR [ecx+ebx*2]
	mov	DWORD PTR [esi], ecx
; Line 2386
	mov	esi, DWORD PTR _BufStart$[esp+892432]
	mov	DWORD PTR tv5490[esp+892432], ecx
	sub	ecx, esi
	cmp	DWORD PTR _MAXusedBuffer$[esp+ebx*4+892432], ecx
	lea	esi, DWORD PTR _MAXusedBuffer$[esp+ebx*4+892432]
	mov	DWORD PTR _PseudoLinkedPointerNEW$[esp+892432], ebp
	mov	DWORD PTR tv4661[esp+892432], esi
	jae	SHORT $L2219
	mov	DWORD PTR [esi], ecx
$L2219:
; Line 2404
	mov	ecx, DWORD PTR _POffsetInLEAF$[esp+892432]
	test	ecx, ecx
	jne	$L2243
; Line 2406
	mov	ecx, ebx
	mov	ebp, ecx
	shr	ecx, 2
	lea	esi, DWORD PTR [eax+12]
	lea	edi, DWORD PTR _wrdUP$[esp+892432]
	rep movsd
	mov	ecx, ebp
	and	ecx, 3
	rep movsb
; Line 2407
	mov	ecx, ebx
	lea	esi, DWORD PTR _wrd$[esp+892432]
	lea	edi, DWORD PTR [eax+12]
$L3052:
; Line 2413
	mov	ebp, ecx
	shr	ecx, 2
	rep movsd
	mov	ecx, ebp
	and	ecx, 3
	rep movsb
; Line 2414
	mov	edi, DWORD PTR tv4681[esp+892432]
	mov	ecx, ebx
	mov	ebp, ecx
	shr	ecx, 2
	lea	esi, DWORD PTR [eax+ebx+12]
	rep movsd
	mov	ecx, ebp
	and	ecx, 3
	rep movsb
; Line 2415
	mov	BYTE PTR [eax+ebx+12], 0
$L3062:
; Line 2417
	mov	ebp, DWORD PTR _PseudoLinkedPointerNEW$[esp+892432]
	npad	6
$L2254:
; Line 2440
	test	edx, edx
	je	$L2257
; Line 2446
	mov	ecx, DWORD PTR _BSTstack$[esp+edx*4+892428]
	dec	edx
; Line 2447
	mov	eax, DWORD PTR _BSTstack$[esp+edx*4+892428]
	dec	edx
; Line 2448
	cmp	BYTE PTR [eax+ebx+12], 0
	mov	DWORD PTR _POffsetInLEAF$[esp+892432], ecx
	je	$L2259
; Line 2450
	mov	ecx, ebx
	mov	ebp, ecx
	shr	ecx, 2
	lea	esi, DWORD PTR _wrdUP$[esp+892432]
	lea	edi, DWORD PTR _wrdUPold$[esp+892432]
	rep movsd
	mov	ecx, ebp
; Line 2453
	mov	ebp, DWORD PTR _BufStart$[esp+892432]
	and	ecx, 3
	rep movsb
	mov	ecx, DWORD PTR _PseudoLinkedPointerNEW$[esp+892432]
	mov	esi, DWORD PTR _GRMBLFoolAgain$[esp+ebx*4+892432]
	mov	DWORD PTR _PseudoLinkedPointerNEWold$[esp+892432], ecx
	mov	ecx, DWORD PTR tv4677[esp+892432]
	sub	ecx, ebp
	mov	ebp, DWORD PTR tv5490[esp+892432]
	add	ecx, ebp
	cmp	ecx, esi
	jae	$L2262
; Line 2457
	mov	esi, DWORD PTR tv4644[esp+892432]
	lea	ecx, DWORD PTR [ebp+12]
	mov	DWORD PTR tv5873[esp+892432], ecx
	lea	ecx, DWORD PTR [ecx+ebx*2]
	mov	DWORD PTR [esi], ecx
; Line 2458
	mov	esi, DWORD PTR _BufStart$[esp+892432]
	mov	DWORD PTR tv5490[esp+892432], ecx
	sub	ecx, esi
	mov	esi, DWORD PTR tv4661[esp+892432]
	cmp	DWORD PTR [esi], ecx
	mov	DWORD PTR _PseudoLinkedPointerNEW$[esp+892432], ebp
	jae	SHORT $L2264
	mov	DWORD PTR [esi], ecx
$L2264:
; Line 2476
	mov	ecx, DWORD PTR _POffsetInLEAF$[esp+892432]
	test	ecx, ecx
	jne	$L2288
; Line 2478
	mov	ecx, ebx
	mov	ebp, ecx
	shr	ecx, 2
	lea	esi, DWORD PTR [eax+12]
	lea	edi, DWORD PTR _wrdUP$[esp+892432]
	rep movsd
	mov	ecx, ebp
	and	ecx, 3
	rep movsb
; Line 2479
	mov	ecx, ebx
	shr	ecx, 2
	lea	esi, DWORD PTR _wrdUPold$[esp+892432]
	lea	edi, DWORD PTR [eax+12]
	rep movsd
	mov	ecx, ebp
	and	ecx, 3
	rep movsb
; Line 2480
	mov	edi, DWORD PTR tv5873[esp+892432]
	mov	ecx, ebx
	shr	ecx, 2
	lea	esi, DWORD PTR [eax+ebx+12]
	rep movsd
	mov	ecx, ebp
; Line 2487
	mov	ebp, DWORD PTR _PseudoLinkedPointerNEW$[esp+892432]
	and	ecx, 3
	rep movsb
	mov	BYTE PTR [eax+ebx+12], 0
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR [ebp], ecx
; Line 2488
	mov	ecx, DWORD PTR [eax+8]
	mov	DWORD PTR [ebp+4], ecx
; Line 2489
	mov	ecx, DWORD PTR _PseudoLinkedPointerNEWold$[esp+892432]
	mov	DWORD PTR [eax+4], ecx
; Line 2491
	jmp	$L2254
$L2243:
; Line 2411
	cmp	ecx, 4
	jne	SHORT $L2245
; Line 2413
	mov	ecx, ebx
	lea	esi, DWORD PTR _wrd$[esp+892432]
	lea	edi, DWORD PTR _wrdUP$[esp+892432]
; Line 2417
	jmp	$L3052
$L2245:
	cmp	ecx, 8
	jne	$L2254
; Line 2419
	mov	esi, edi
	mov	ecx, ebx
	mov	ebp, ecx
	shr	ecx, 2
	lea	edi, DWORD PTR _wrdUP$[esp+892432]
	rep movsd
	mov	ecx, ebp
	and	ecx, 3
	rep movsb
; Line 2421
	mov	edi, DWORD PTR tv4681[esp+892432]
	mov	ecx, ebx
	shr	ecx, 2
	mov	BYTE PTR [eax+ebx+12], 0
	lea	esi, DWORD PTR _wrd$[esp+892432]
	rep movsd
	mov	ecx, ebp
	and	ecx, 3
	rep movsb
; Line 2424
	jmp	$L3062
$L2214:
; Line 2425
	mov	edx, DWORD PTR _bufNumberOfWords$[esp+ecx*4+892432]
	lea	ecx, DWORD PTR _bufNumberOfWords$[esp+ecx*4+892432]
	inc	edx
; Line 2426
	test	esi, esi
	mov	DWORD PTR [ecx], edx
	jne	SHORT $L2250
; Line 2428
	add	eax, 12					; 0000000cH
	mov	ecx, ebx
	mov	edx, ecx
	shr	ecx, 2
	mov	esi, eax
	rep movsd
	mov	ecx, edx
	and	ecx, 3
	rep movsb
; Line 2429
	mov	ecx, ebx
	mov	edi, eax
	mov	eax, ecx
	shr	ecx, 2
	lea	esi, DWORD PTR _wrd$[esp+892432]
	rep movsd
	mov	ecx, eax
	and	ecx, 3
	rep movsb
; Line 2431
	jmp	$L2255
$L2250:
	cmp	esi, 4
	jne	$L2255
; Line 2433
	mov	ecx, ebx
	mov	edx, ecx
	shr	ecx, 2
	lea	esi, DWORD PTR _wrd$[esp+892432]
	rep movsd
	mov	ecx, edx
	and	ecx, 3
	rep movsb
; Line 2437
	jmp	$L2255
$L2288:
; Line 2491
	cmp	ecx, 4
	jne	SHORT $L2290
; Line 2493
	mov	ecx, ebx
	mov	ebp, ecx
	shr	ecx, 2
	lea	esi, DWORD PTR _wrdUPold$[esp+892432]
	lea	edi, DWORD PTR _wrdUP$[esp+892432]
	rep movsd
	mov	ecx, ebp
	and	ecx, 3
	rep movsb
; Line 2494
	mov	edi, DWORD PTR tv5873[esp+892432]
	mov	ecx, ebx
	shr	ecx, 2
	lea	esi, DWORD PTR [eax+ebx+12]
	rep movsd
	mov	ecx, ebp
; Line 2501
	mov	ebp, DWORD PTR _PseudoLinkedPointerNEW$[esp+892432]
	and	ecx, 3
	rep movsb
	mov	ecx, DWORD PTR _PseudoLinkedPointerNEWold$[esp+892432]
	mov	BYTE PTR [eax+ebx+12], 0
	mov	DWORD PTR [ebp], ecx
; Line 2502
	mov	ecx, DWORD PTR [eax+8]
	mov	DWORD PTR [ebp+4], ecx
; Line 2504
	jmp	$L2254
$L2290:
	cmp	ecx, 8
	jne	$L2254
; Line 2506
	mov	ecx, ebx
	mov	ebp, ecx
	shr	ecx, 2
	lea	esi, DWORD PTR [eax+ebx+12]
	lea	edi, DWORD PTR _wrdUP$[esp+892432]
	rep movsd
	mov	ecx, ebp
	and	ecx, 3
	rep movsb
; Line 2508
	mov	edi, DWORD PTR tv5873[esp+892432]
	mov	BYTE PTR [eax+ebx+12], 0
	mov	ecx, ebx
	shr	ecx, 2
	lea	esi, DWORD PTR _wrdUPold$[esp+892432]
	rep movsd
	mov	ecx, ebp
; Line 2514
	mov	ebp, DWORD PTR _PseudoLinkedPointerNEW$[esp+892432]
	and	ecx, 3
	rep movsb
	mov	ecx, DWORD PTR [eax+8]
	mov	DWORD PTR [ebp], ecx
; Line 2515
	mov	ecx, DWORD PTR _PseudoLinkedPointerNEWold$[esp+892432]
	mov	DWORD PTR [ebp+4], ecx
; Line 2575
	jmp	$L2254
$L2259:
; Line 2520
	test	ecx, ecx
	jne	SHORT $L2295
; Line 2522
	mov	ecx, ebx
	mov	edx, ecx
	shr	ecx, 2
	lea	esi, DWORD PTR [eax+12]
	lea	edi, DWORD PTR [eax+ebx+12]
	rep movsd
	mov	ecx, edx
	and	ecx, 3
	rep movsb
; Line 2523
	mov	ecx, ebx
	shr	ecx, 2
	lea	esi, DWORD PTR _wrdUP$[esp+892432]
	lea	edi, DWORD PTR [eax+12]
	rep movsd
	mov	ecx, edx
	and	ecx, 3
	rep movsb
; Line 2525
	mov	ecx, DWORD PTR [eax+4]
	mov	DWORD PTR [eax+8], ecx
; Line 2526
	mov	DWORD PTR [eax+4], ebp
; Line 2528
	jmp	$L2255
$L2295:
	cmp	ecx, 4
	jne	$L2255
; Line 2530
	mov	ecx, ebx
	mov	edx, ecx
	shr	ecx, 2
	lea	esi, DWORD PTR _wrdUP$[esp+892432]
	lea	edi, DWORD PTR [eax+ebx+12]
	rep movsd
	mov	ecx, edx
	and	ecx, 3
	rep movsb
; Line 2532
	mov	DWORD PTR [eax+8], ebp
; Line 2534
	jmp	$L2255
$L2257:
; Line 2541
	mov	esi, DWORD PTR _BufStart$[esp+892432]
	mov	ecx, DWORD PTR tv4644[esp+892432]
	mov	edx, DWORD PTR tv4677[esp+892432]
	mov	ecx, DWORD PTR [ecx]
	sub	edx, esi
	mov	esi, DWORD PTR _GRMBLFoolAgain$[esp+ebx*4+892432]
	add	edx, ecx
	cmp	edx, esi
	mov	DWORD PTR tv4646[esp+892432], ecx
	jae	$L2300
; Line 2544
	mov	edx, DWORD PTR tv4644[esp+892432]
	lea	edi, DWORD PTR [ecx+12]
	mov	DWORD PTR [edx], edi
; Line 2545
	mov	ecx, ebx
	mov	edx, ecx
	shr	ecx, 2
	lea	esi, DWORD PTR _wrdUP$[esp+892432]
	rep movsd
	mov	ecx, edx
; Line 2546
	mov	edx, DWORD PTR tv4646[esp+892432]
	and	ecx, 3
	rep movsb
; Line 2547
	mov	esi, DWORD PTR _BufStart$[esp+892432]
	mov	edi, DWORD PTR tv4661[esp+892432]
	lea	ecx, DWORD PTR [edx+12]
	lea	ebx, DWORD PTR [ecx+ebx*2]
	mov	ecx, DWORD PTR tv4644[esp+892432]
	mov	DWORD PTR [ecx], ebx
	mov	ecx, ebx
	mov	ebx, DWORD PTR [edi]
	sub	ecx, esi
	cmp	ebx, ecx
	jae	SHORT $L2302
	mov	DWORD PTR [edi], ecx
$L2302:
; Line 2569
	mov	DWORD PTR [edx], eax
; Line 2572
	mov	eax, DWORD PTR _Slot$[esp+892432]
	mov	DWORD PTR [edx+4], ebp
	mov	DWORD PTR [eax+esi], edx
$L2255:
; Line 2582
	mov	ebp, DWORD PTR _fp_inLINE$[esp+892432]
	mov	esi, DWORD PTR _size_inLINESIXFOUR$[esp+892436]
	mov	edi, DWORD PTR _i$[esp+892436]
	xor	ebx, ebx
$L2046:
	mov	edx, DWORD PTR _i$[esp+892432]
	add	edx, 1
	adc	edi, 0
	cmp	edi, esi
	mov	DWORD PTR _i$[esp+892432], edx
	mov	DWORD PTR _i$[esp+892436], edi
	jb	$L3000
; Line 1879
	ja	SHORT $L3001
	mov	eax, DWORD PTR _size_inLINESIXFOUR$[esp+892432]
	mov	ecx, edx
	cmp	ecx, eax
	jb	$L3000
$L3001:
; Line 2606
	mov	edx, DWORD PTR _Melnitchka$[esp+892432]
	inc	edx
; Line 2607
	mov	eax, edx
	and	eax, -2147483645			; 80000003H
	jns	SHORT $L3044
	dec	eax
	or	eax, -4					; fffffffcH
	inc	eax
$L3044:
	mov	DWORD PTR _Melnitchka$[esp+892432], eax
; Line 2608
	jne	SHORT $L2333
	mov	ecx, DWORD PTR _WORDcountDistinct$[esp+892432]
	push	64					; 00000040H
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits2$[esp+892440]
	push	eax
	push	0
	push	ecx
	call	__ui64toaKAZEcomma
	mov	ecx, DWORD PTR _WORDcount$[esp+892452]
	add	esp, 16					; 00000010H
	push	eax
	mov	eax, DWORD PTR _WORDcount$[esp+892444]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+892444]
	push	edx
	push	eax
	push	ecx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2335
	call	_printf
	mov	eax, DWORD PTR _Melnitchka$[esp+892448]
	add	esp, 16					; 00000010H
$L2333:
; Line 2609
	cmp	eax, 1
	jne	SHORT $L2336
	mov	eax, DWORD PTR _WORDcountDistinct$[esp+892432]
	push	64					; 00000040H
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits2$[esp+892440]
	push	edx
	push	0
	push	eax
	call	__ui64toaKAZEcomma
	mov	edx, DWORD PTR _WORDcount$[esp+892456]
	add	esp, 16					; 00000010H
	push	eax
	mov	eax, DWORD PTR _WORDcount$[esp+892440]
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+892444]
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2338
; Line 2610
	jmp	$L3053
$L2336:
	cmp	eax, 2
	jne	SHORT $L2339
	mov	edx, DWORD PTR _WORDcountDistinct$[esp+892432]
	push	64					; 00000040H
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits2$[esp+892440]
	push	ecx
	push	0
	push	edx
	call	__ui64toaKAZEcomma
	mov	ecx, DWORD PTR _WORDcount$[esp+892456]
	mov	edx, DWORD PTR _WORDcount$[esp+892452]
	add	esp, 16					; 00000010H
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+892444]
	push	eax
	push	ecx
	push	edx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2341
; Line 2611
	jmp	SHORT $L3053
$L2339:
	cmp	eax, 3
	jne	SHORT $L3002
	mov	ecx, DWORD PTR _WORDcountDistinct$[esp+892432]
	push	64					; 00000040H
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits2$[esp+892440]
	push	eax
	push	0
	push	ecx
	call	__ui64toaKAZEcomma
	mov	ecx, DWORD PTR _WORDcount$[esp+892452]
	add	esp, 16					; 00000010H
	push	eax
	mov	eax, DWORD PTR _WORDcount$[esp+892444]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+892444]
	push	edx
	push	eax
	push	ecx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2344
$L3053:
	call	_printf
	add	esp, 16					; 00000010H
$L3002:
; Line 2615
	push	ebp
	xor	esi, esi
	mov	BYTE PTR _LINE10$[esp+892436], 0
	call	_fclose
	add	esp, 4
	xor	edi, edi
$L2032:
	mov	eax, DWORD PTR _k$[esp+892432]
	mov	ecx, DWORD PTR _size_in$[esp+892432]
	inc	eax
	cmp	eax, ecx
	mov	DWORD PTR _k$[esp+892432], eax
	jb	$L3008
$L2972:
; Line 2620
	lea	eax, DWORD PTR _t3$[esp+892432]
	push	eax
	call	_time
; Line 2621
	mov	eax, DWORD PTR _t3$[esp+892436]
	mov	ecx, DWORD PTR _t1$[esp+892436]
	add	esp, 4
	cmp	eax, ecx
	jg	SHORT $L2346
	lea	eax, DWORD PTR [ecx+1]
	mov	DWORD PTR _t3$[esp+892432], eax
$L2346:
; Line 2622
	push	10					; 0000000aH
	sub	eax, ecx
	mov	ecx, DWORD PTR _WORDcount$[esp+892436]
	lea	edx, DWORD PTR _llTOaDigits$[esp+892436]
	push	edx
	cdq
	push	edx
	push	eax
	mov	eax, DWORD PTR _WORDcount$[esp+892452]
	push	eax
	push	ecx
	call	__aulldiv
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG2348
	call	_printf
; Line 2625
	push	OFFSET FLAT:$SG2349
	call	_printf
; Line 2626
	mov	esi, DWORD PTR _argv$[esp+892456]
	mov	edx, DWORD PTR [esi+8]
	push	OFFSET FLAT:$SG2352
	push	edx
	call	_fopen
	add	esp, 36					; 00000024H
	cmp	eax, edi
	mov	DWORD PTR _fp_out$[esp+892432], eax
	jne	$L2351
; Line 2627
	mov	eax, DWORD PTR [esi+8]
	push	eax
	push	OFFSET FLAT:$SG2353
	call	_printf
	add	esp, 8
	pop	edi
	pop	ebp
	pop	esi
	mov	eax, 1
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2823:
; Line 1855
	lea	edx, DWORD PTR _LINE10$[esp+892432]
	push	edx
	push	OFFSET FLAT:$SG2043
	call	_printf
	add	esp, 8
	pop	edi
	pop	ebp
	pop	esi
	mov	eax, 1
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2082:
; Line 1993
	push	OFFSET FLAT:$SG2087
	call	_printf
; Line 1994
	mov	eax, DWORD PTR _argv$[esp+892432]
	mov	ecx, DWORD PTR [eax+4]
	mov	ebp, DWORD PTR _fp_outLOG$[esp+892436]
	push	ecx
	push	OFFSET FLAT:$SG2088
	push	ebp
	call	_fprintf
; Line 1995
	mov	eax, DWORD PTR _FilesLEN$[esp+892452]
	mov	ecx, DWORD PTR _FilesLEN$[esp+892448]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+892452]
	push	edx
	push	eax
	push	ecx
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG2089
	push	ebp
	call	_fprintf
; Line 1996
	mov	eax, DWORD PTR _WORDcountDistinct$[esp+892476]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits2$[esp+892480]
	push	edx
	push	0
	push	eax
	call	__ui64toaKAZEcomma
	mov	edx, DWORD PTR _WORDcount$[esp+892496]
	add	esp, 60					; 0000003cH
	push	eax
	mov	eax, DWORD PTR _WORDcount$[esp+892436]
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+892440]
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2091
	push	ebp
	call	_fprintf
; Line 1997
	mov	ecx, DWORD PTR _NumberOfFiles$[esp+892448]
	push	ecx
	push	OFFSET FLAT:$SG2092
	push	ebp
	call	_fprintf
; Line 1998
	mov	edx, DWORD PTR _NumberOfLines$[esp+892464]
	mov	eax, DWORD PTR _NumberOfLines$[esp+892460]
	push	edx
	push	eax
	push	OFFSET FLAT:$SG2093
	push	ebp
	call	_fprintf
; Line 1999
	mov	ecx, DWORD PTR tv4538[esp+892476]
	push	ecx
	push	OFFSET FLAT:$SG2095
	push	ebp
	call	_fprintf
; Line 2000
	mov	eax, DWORD PTR _WORDcountAttemptsToPut$[esp+892492]
	mov	ecx, DWORD PTR _WORDcountAttemptsToPut$[esp+892488]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+892492]
	push	edx
	push	eax
	push	ecx
	call	__ui64toaKAZEcomma
	add	esp, 72					; 00000048H
	push	eax
	push	OFFSET FLAT:$SG2096
	push	ebp
	call	_fprintf
	add	esp, 12					; 0000000cH
; Line 2001
	mov	ebx, 1
$L2097:
; Line 2002
	mov	ecx, DWORD PTR _GRMBLhill$[esp+ebx*4+892432]
	imul	ecx, DWORD PTR _LetterBuffer$[esp+892432]
	mov	edi, DWORD PTR _MAXusedBuffer$[esp+ebx*4+892432]
	mov	eax, 138547333				; 08421085H
	mul	ecx
	sub	ecx, edx
	push	OFFSET FLAT:$SG2103
	shr	ecx, 1
	push	10					; 0000000aH
	add	ecx, edx
	mov	eax, edi
	imul	eax, 100				; 00000064H
	lea	edx, DWORD PTR _llTOaDigits4$[esp+892440]
	push	edx
	shr	ecx, 4
	push	0
	mov	esi, ecx
	push	esi
	push	0
	push	eax
	call	__aulldiv
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 24					; 00000018H
	push	eax
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits3$[esp+892444]
	push	ecx
	shr	esi, 10					; 0000000aH
	inc	esi
	push	0
	push	esi
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 21					; 00000015H
	push	eax
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits2$[esp+892448]
	push	edx
	shr	edi, 10					; 0000000aH
	inc	edi
	push	0
	push	edi
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 21					; 00000015H
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+892452]
	push	eax
	push	0
	push	ebx
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 24					; 00000018H
	push	eax
	push	OFFSET FLAT:$SG2104
	push	ebp
	call	_fprintf
	add	esp, 28					; 0000001cH
	inc	ebx
	cmp	ebx, 32					; 00000020H
	jb	$L2097
; Line 2004
	mov	ecx, DWORD PTR _Thunderwith$[esp+892432]
	push	ecx
	push	OFFSET FLAT:$SG2106
	push	ebp
	call	_fprintf
; Line 2005
	push	OFFSET FLAT:$SG2107
	push	ebp
	call	_fprintf
	add	esp, 20					; 00000014H
	pop	edi
	pop	ebp
	pop	esi
; Line 2006
	mov	eax, 1
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2119:
; Line 2047
	push	OFFSET FLAT:$SG2124
	call	_printf
; Line 2048
	mov	edx, DWORD PTR _argv$[esp+892432]
	mov	eax, DWORD PTR [edx+4]
	mov	ebp, DWORD PTR _fp_outLOG$[esp+892436]
	push	eax
	push	OFFSET FLAT:$SG2125
	push	ebp
	call	_fprintf
; Line 2049
	mov	edx, DWORD PTR _FilesLEN$[esp+892452]
	mov	eax, DWORD PTR _FilesLEN$[esp+892448]
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+892452]
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG2126
	push	ebp
	call	_fprintf
; Line 2050
	mov	edx, DWORD PTR _WORDcountDistinct$[esp+892476]
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits2$[esp+892480]
	push	ecx
	push	0
	push	edx
	call	__ui64toaKAZEcomma
	mov	ecx, DWORD PTR _WORDcount$[esp+892496]
	mov	edx, DWORD PTR _WORDcount$[esp+892492]
	add	esp, 60					; 0000003cH
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+892440]
	push	eax
	push	ecx
	push	edx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2128
	push	ebp
	call	_fprintf
; Line 2051
	mov	eax, DWORD PTR _NumberOfFiles$[esp+892448]
	push	eax
	push	OFFSET FLAT:$SG2129
	push	ebp
	call	_fprintf
; Line 2052
	mov	ecx, DWORD PTR _NumberOfLines$[esp+892464]
	mov	edx, DWORD PTR _NumberOfLines$[esp+892460]
	push	ecx
	push	edx
	push	OFFSET FLAT:$SG2130
	push	ebp
	call	_fprintf
; Line 2053
	mov	eax, DWORD PTR tv4538[esp+892476]
	push	eax
	push	OFFSET FLAT:$SG2132
	push	ebp
	call	_fprintf
; Line 2054
	mov	edx, DWORD PTR _WORDcountAttemptsToPut$[esp+892492]
	mov	eax, DWORD PTR _WORDcountAttemptsToPut$[esp+892488]
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+892492]
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	add	esp, 72					; 00000048H
	push	eax
	push	OFFSET FLAT:$SG2133
	push	ebp
	call	_fprintf
	add	esp, 12					; 0000000cH
; Line 2055
	mov	ebx, 1
	npad	6
$L2134:
; Line 2056
	mov	ecx, DWORD PTR _GRMBLhill$[esp+ebx*4+892432]
	imul	ecx, DWORD PTR _LetterBuffer$[esp+892432]
	mov	edi, DWORD PTR _MAXusedBuffer$[esp+ebx*4+892432]
	mov	eax, 138547333				; 08421085H
	mul	ecx
	sub	ecx, edx
	shr	ecx, 1
	add	ecx, edx
	push	OFFSET FLAT:$SG2140
	shr	ecx, 4
	push	10					; 0000000aH
	mov	esi, ecx
	mov	edx, edi
	imul	edx, 100				; 00000064H
	lea	ecx, DWORD PTR _llTOaDigits4$[esp+892440]
	push	ecx
	push	0
	push	esi
	push	0
	push	edx
	call	__aulldiv
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 24					; 00000018H
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits3$[esp+892444]
	push	eax
	shr	esi, 10					; 0000000aH
	inc	esi
	push	0
	push	esi
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 21					; 00000015H
	push	eax
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits2$[esp+892448]
	push	ecx
	shr	edi, 10					; 0000000aH
	inc	edi
	push	0
	push	edi
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 21					; 00000015H
	push	eax
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+892452]
	push	edx
	push	0
	push	ebx
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 24					; 00000018H
	push	eax
	push	OFFSET FLAT:$SG2141
	push	ebp
	call	_fprintf
	add	esp, 28					; 0000001cH
	inc	ebx
	cmp	ebx, 32					; 00000020H
	jb	$L2134
; Line 2058
	mov	eax, DWORD PTR _Thunderwith$[esp+892432]
	push	eax
	push	OFFSET FLAT:$SG2143
	push	ebp
	call	_fprintf
; Line 2059
	push	OFFSET FLAT:$SG2144
	push	ebp
	call	_fprintf
	add	esp, 20					; 00000014H
	pop	edi
	pop	ebp
	pop	esi
; Line 2060
	mov	eax, 1
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2149:
; Line 2091
	push	OFFSET FLAT:$SG2154
	call	_printf
; Line 2092
	mov	ecx, DWORD PTR _argv$[esp+892432]
	mov	edx, DWORD PTR [ecx+4]
	mov	ebp, DWORD PTR _fp_outLOG$[esp+892436]
	push	edx
	push	OFFSET FLAT:$SG2155
	push	ebp
	call	_fprintf
; Line 2093
	mov	ecx, DWORD PTR _FilesLEN$[esp+892452]
	mov	edx, DWORD PTR _FilesLEN$[esp+892448]
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+892452]
	push	eax
	push	ecx
	push	edx
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG2156
	push	ebp
	call	_fprintf
; Line 2094
	mov	ecx, DWORD PTR _WORDcountDistinct$[esp+892476]
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits2$[esp+892480]
	push	eax
	push	0
	push	ecx
	call	__ui64toaKAZEcomma
	mov	ecx, DWORD PTR _WORDcount$[esp+892492]
	add	esp, 60					; 0000003cH
	push	eax
	mov	eax, DWORD PTR _WORDcount$[esp+892440]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+892440]
	push	edx
	push	eax
	push	ecx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2158
	push	ebp
	call	_fprintf
; Line 2095
	mov	edx, DWORD PTR _NumberOfFiles$[esp+892448]
	push	edx
	push	OFFSET FLAT:$SG2159
	push	ebp
	call	_fprintf
; Line 2096
	mov	eax, DWORD PTR _NumberOfLines$[esp+892464]
	mov	ecx, DWORD PTR _NumberOfLines$[esp+892460]
	push	eax
	push	ecx
	push	OFFSET FLAT:$SG2160
	push	ebp
	call	_fprintf
; Line 2097
	mov	edx, DWORD PTR tv4538[esp+892476]
	push	edx
	push	OFFSET FLAT:$SG2162
	push	ebp
	call	_fprintf
; Line 2098
	mov	ecx, DWORD PTR _WORDcountAttemptsToPut$[esp+892492]
	mov	edx, DWORD PTR _WORDcountAttemptsToPut$[esp+892488]
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+892492]
	push	eax
	push	ecx
	push	edx
	call	__ui64toaKAZEcomma
	add	esp, 72					; 00000048H
	push	eax
	push	OFFSET FLAT:$SG2163
	push	ebp
	call	_fprintf
	add	esp, 12					; 0000000cH
; Line 2099
	mov	ebx, 1
	npad	6
$L2164:
; Line 2100
	mov	ecx, DWORD PTR _GRMBLhill$[esp+ebx*4+892432]
	imul	ecx, DWORD PTR _LetterBuffer$[esp+892432]
	mov	edi, DWORD PTR _MAXusedBuffer$[esp+ebx*4+892432]
	mov	eax, 138547333				; 08421085H
	mul	ecx
	sub	ecx, edx
	shr	ecx, 1
	add	ecx, edx
	shr	ecx, 4
	push	OFFSET FLAT:$SG2170
	mov	esi, ecx
	push	10					; 0000000aH
	mov	ecx, edi
	imul	ecx, 100				; 00000064H
	lea	eax, DWORD PTR _llTOaDigits4$[esp+892440]
	push	eax
	push	0
	push	esi
	push	0
	push	ecx
	call	__aulldiv
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 24					; 00000018H
	push	eax
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits3$[esp+892444]
	push	edx
	shr	esi, 10					; 0000000aH
	inc	esi
	push	0
	push	esi
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 21					; 00000015H
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits2$[esp+892448]
	push	eax
	shr	edi, 10					; 0000000aH
	inc	edi
	push	0
	push	edi
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 21					; 00000015H
	push	eax
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+892452]
	push	ecx
	push	0
	push	ebx
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 24					; 00000018H
	push	eax
	push	OFFSET FLAT:$SG2171
	push	ebp
	call	_fprintf
	add	esp, 28					; 0000001cH
	inc	ebx
	cmp	ebx, 32					; 00000020H
	jb	$L2164
; Line 2102
	mov	edx, DWORD PTR _Thunderwith$[esp+892432]
	push	edx
	push	OFFSET FLAT:$SG2173
	push	ebp
	call	_fprintf
; Line 2103
	push	OFFSET FLAT:$SG2174
	push	ebp
	call	_fprintf
	add	esp, 20					; 00000014H
	pop	edi
	pop	ebp
	pop	esi
; Line 2104
	mov	eax, 1
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2819:
; Line 2315
	push	OFFSET FLAT:$SG2196
	call	_printf
; Line 3121
	add	esp, 4
	pop	edi
	pop	ebp
	pop	esi
	mov	eax, 13					; 0000000dH
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2821:
; Line 2340
	push	OFFSET FLAT:$SG2207
	call	_printf
; Line 3121
	add	esp, 4
	pop	edi
	pop	ebp
	pop	esi
	mov	eax, 13					; 0000000dH
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2822:
; Line 2351
	push	OFFSET FLAT:$SG2211
	call	_printf
; Line 3121
	add	esp, 4
	pop	edi
	pop	ebp
	pop	esi
	mov	eax, 13					; 0000000dH
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2217:
; Line 2389
	push	OFFSET FLAT:$SG2222
	call	_printf
; Line 2390
	mov	eax, DWORD PTR _argv$[esp+892432]
	mov	ecx, DWORD PTR [eax+4]
	mov	ebp, DWORD PTR _fp_outLOG$[esp+892436]
	push	ecx
	push	OFFSET FLAT:$SG2223
	push	ebp
	call	_fprintf
; Line 2391
	mov	eax, DWORD PTR _FilesLEN$[esp+892452]
	mov	ecx, DWORD PTR _FilesLEN$[esp+892448]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+892452]
	push	edx
	push	eax
	push	ecx
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG2224
	push	ebp
	call	_fprintf
; Line 2392
	mov	eax, DWORD PTR _WORDcountDistinct$[esp+892476]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits2$[esp+892480]
	push	edx
	push	0
	push	eax
	call	__ui64toaKAZEcomma
	mov	edx, DWORD PTR _WORDcount$[esp+892496]
	add	esp, 60					; 0000003cH
	push	eax
	mov	eax, DWORD PTR _WORDcount$[esp+892436]
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+892440]
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2226
	push	ebp
	call	_fprintf
; Line 2393
	mov	ecx, DWORD PTR _NumberOfFiles$[esp+892448]
	push	ecx
	push	OFFSET FLAT:$SG2227
	push	ebp
	call	_fprintf
; Line 2394
	mov	edx, DWORD PTR _NumberOfLines$[esp+892464]
	mov	eax, DWORD PTR _NumberOfLines$[esp+892460]
	push	edx
	push	eax
	push	OFFSET FLAT:$SG2228
	push	ebp
	call	_fprintf
; Line 2395
	mov	ecx, DWORD PTR tv4538[esp+892476]
	push	ecx
	push	OFFSET FLAT:$SG2230
	push	ebp
	call	_fprintf
; Line 2396
	mov	eax, DWORD PTR _WORDcountAttemptsToPut$[esp+892492]
	mov	ecx, DWORD PTR _WORDcountAttemptsToPut$[esp+892488]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+892492]
	push	edx
	push	eax
	push	ecx
	call	__ui64toaKAZEcomma
	add	esp, 72					; 00000048H
	push	eax
	push	OFFSET FLAT:$SG2231
	push	ebp
	call	_fprintf
	add	esp, 12					; 0000000cH
; Line 2397
	mov	ebx, 1
$L2232:
; Line 2398
	mov	ecx, DWORD PTR _GRMBLhill$[esp+ebx*4+892432]
	imul	ecx, DWORD PTR _LetterBuffer$[esp+892432]
	mov	edi, DWORD PTR _MAXusedBuffer$[esp+ebx*4+892432]
	mov	eax, 138547333				; 08421085H
	mul	ecx
	sub	ecx, edx
	push	OFFSET FLAT:$SG2238
	shr	ecx, 1
	push	10					; 0000000aH
	add	ecx, edx
	mov	eax, edi
	imul	eax, 100				; 00000064H
	lea	edx, DWORD PTR _llTOaDigits4$[esp+892440]
	push	edx
	shr	ecx, 4
	push	0
	mov	esi, ecx
	push	esi
	push	0
	push	eax
	call	__aulldiv
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 24					; 00000018H
	push	eax
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits3$[esp+892444]
	push	ecx
	shr	esi, 10					; 0000000aH
	inc	esi
	push	0
	push	esi
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 21					; 00000015H
	push	eax
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits2$[esp+892448]
	push	edx
	shr	edi, 10					; 0000000aH
	inc	edi
	push	0
	push	edi
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 21					; 00000015H
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+892452]
	push	eax
	push	0
	push	ebx
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 24					; 00000018H
	push	eax
	push	OFFSET FLAT:$SG2239
	push	ebp
	call	_fprintf
	add	esp, 28					; 0000001cH
	inc	ebx
	cmp	ebx, 32					; 00000020H
	jb	$L2232
; Line 2400
	mov	ecx, DWORD PTR _Thunderwith$[esp+892432]
	push	ecx
	push	OFFSET FLAT:$SG2241
	push	ebp
	call	_fprintf
; Line 2401
	push	OFFSET FLAT:$SG2242
	push	ebp
	call	_fprintf
	add	esp, 20					; 00000014H
	pop	edi
	pop	ebp
	pop	esi
; Line 2402
	mov	eax, 1
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2262:
; Line 2461
	push	OFFSET FLAT:$SG2267
	call	_printf
; Line 2462
	mov	edx, DWORD PTR _argv$[esp+892432]
	mov	eax, DWORD PTR [edx+4]
	mov	ebp, DWORD PTR _fp_outLOG$[esp+892436]
	push	eax
	push	OFFSET FLAT:$SG2268
	push	ebp
	call	_fprintf
; Line 2463
	mov	edx, DWORD PTR _FilesLEN$[esp+892452]
	mov	eax, DWORD PTR _FilesLEN$[esp+892448]
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+892452]
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG2269
	push	ebp
	call	_fprintf
; Line 2464
	mov	edx, DWORD PTR _WORDcountDistinct$[esp+892476]
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits2$[esp+892480]
	push	ecx
	push	0
	push	edx
	call	__ui64toaKAZEcomma
	mov	ecx, DWORD PTR _WORDcount$[esp+892496]
	mov	edx, DWORD PTR _WORDcount$[esp+892492]
	add	esp, 60					; 0000003cH
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+892440]
	push	eax
	push	ecx
	push	edx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2271
	push	ebp
	call	_fprintf
; Line 2465
	mov	eax, DWORD PTR _NumberOfFiles$[esp+892448]
	push	eax
	push	OFFSET FLAT:$SG2272
	push	ebp
	call	_fprintf
; Line 2466
	mov	ecx, DWORD PTR _NumberOfLines$[esp+892464]
	mov	edx, DWORD PTR _NumberOfLines$[esp+892460]
	push	ecx
	push	edx
	push	OFFSET FLAT:$SG2273
	push	ebp
	call	_fprintf
; Line 2467
	mov	eax, DWORD PTR tv4538[esp+892476]
	push	eax
	push	OFFSET FLAT:$SG2275
	push	ebp
	call	_fprintf
; Line 2468
	mov	edx, DWORD PTR _WORDcountAttemptsToPut$[esp+892492]
	mov	eax, DWORD PTR _WORDcountAttemptsToPut$[esp+892488]
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+892492]
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	add	esp, 72					; 00000048H
	push	eax
	push	OFFSET FLAT:$SG2276
	push	ebp
	call	_fprintf
	add	esp, 12					; 0000000cH
; Line 2469
	mov	ebx, 1
	npad	5
$L2277:
; Line 2470
	mov	ecx, DWORD PTR _GRMBLhill$[esp+ebx*4+892432]
	imul	ecx, DWORD PTR _LetterBuffer$[esp+892432]
	mov	edi, DWORD PTR _MAXusedBuffer$[esp+ebx*4+892432]
	mov	eax, 138547333				; 08421085H
	mul	ecx
	sub	ecx, edx
	shr	ecx, 1
	add	ecx, edx
	push	OFFSET FLAT:$SG2283
	shr	ecx, 4
	push	10					; 0000000aH
	mov	esi, ecx
	mov	edx, edi
	imul	edx, 100				; 00000064H
	lea	ecx, DWORD PTR _llTOaDigits4$[esp+892440]
	push	ecx
	push	0
	push	esi
	push	0
	push	edx
	call	__aulldiv
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 24					; 00000018H
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits3$[esp+892444]
	push	eax
	shr	esi, 10					; 0000000aH
	inc	esi
	push	0
	push	esi
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 21					; 00000015H
	push	eax
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits2$[esp+892448]
	push	ecx
	shr	edi, 10					; 0000000aH
	inc	edi
	push	0
	push	edi
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 21					; 00000015H
	push	eax
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+892452]
	push	edx
	push	0
	push	ebx
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 24					; 00000018H
	push	eax
	push	OFFSET FLAT:$SG2284
	push	ebp
	call	_fprintf
	add	esp, 28					; 0000001cH
	inc	ebx
	cmp	ebx, 32					; 00000020H
	jb	$L2277
; Line 2472
	mov	eax, DWORD PTR _Thunderwith$[esp+892432]
	push	eax
	push	OFFSET FLAT:$SG2286
	push	ebp
	call	_fprintf
; Line 2473
	push	OFFSET FLAT:$SG2287
	push	ebp
	call	_fprintf
	add	esp, 20					; 00000014H
	pop	edi
	pop	ebp
	pop	esi
; Line 2474
	mov	eax, 1
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2300:
; Line 2550
	push	OFFSET FLAT:$SG2305
	call	_printf
; Line 2551
	mov	ecx, DWORD PTR _argv$[esp+892432]
	mov	edx, DWORD PTR [ecx+4]
	mov	esi, DWORD PTR _fp_outLOG$[esp+892436]
	push	edx
	push	OFFSET FLAT:$SG2306
	push	esi
	call	_fprintf
; Line 2552
	mov	ecx, DWORD PTR _FilesLEN$[esp+892452]
	mov	edx, DWORD PTR _FilesLEN$[esp+892448]
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+892452]
	push	eax
	push	ecx
	push	edx
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG2307
	push	esi
	call	_fprintf
; Line 2553
	mov	ecx, DWORD PTR _WORDcountDistinct$[esp+892476]
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits2$[esp+892480]
	push	eax
	push	0
	push	ecx
	call	__ui64toaKAZEcomma
	mov	ecx, DWORD PTR _WORDcount$[esp+892492]
	add	esp, 60					; 0000003cH
	push	eax
	mov	eax, DWORD PTR _WORDcount$[esp+892440]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+892440]
	push	edx
	push	eax
	push	ecx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2309
	push	esi
	call	_fprintf
; Line 2554
	mov	edx, DWORD PTR _NumberOfFiles$[esp+892448]
	push	edx
	push	OFFSET FLAT:$SG2310
	push	esi
	call	_fprintf
; Line 2555
	mov	eax, DWORD PTR _NumberOfLines$[esp+892464]
	mov	ecx, DWORD PTR _NumberOfLines$[esp+892460]
	push	eax
	push	ecx
	push	OFFSET FLAT:$SG2311
	push	esi
	call	_fprintf
; Line 2556
	mov	edx, DWORD PTR tv4538[esp+892476]
	push	edx
	push	OFFSET FLAT:$SG2313
	push	esi
	call	_fprintf
; Line 2557
	mov	ecx, DWORD PTR _WORDcountAttemptsToPut$[esp+892492]
	mov	edx, DWORD PTR _WORDcountAttemptsToPut$[esp+892488]
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+892492]
	push	eax
	push	ecx
	push	edx
	call	__ui64toaKAZEcomma
	add	esp, 72					; 00000048H
	push	eax
	push	OFFSET FLAT:$SG2314
	push	esi
	call	_fprintf
	add	esp, 12					; 0000000cH
; Line 2558
	mov	ebx, 1
	mov	ebp, esi
	npad	4
$L2315:
; Line 2559
	mov	ecx, DWORD PTR _GRMBLhill$[esp+ebx*4+892432]
	imul	ecx, DWORD PTR _LetterBuffer$[esp+892432]
	mov	edi, DWORD PTR _MAXusedBuffer$[esp+ebx*4+892432]
	mov	eax, 138547333				; 08421085H
	mul	ecx
	sub	ecx, edx
	shr	ecx, 1
	add	ecx, edx
	shr	ecx, 4
	push	OFFSET FLAT:$SG2321
	mov	esi, ecx
	push	10					; 0000000aH
	mov	ecx, edi
	imul	ecx, 100				; 00000064H
	lea	eax, DWORD PTR _llTOaDigits4$[esp+892440]
	push	eax
	push	0
	push	esi
	push	0
	push	ecx
	call	__aulldiv
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 24					; 00000018H
	push	eax
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits3$[esp+892444]
	push	edx
	shr	esi, 10					; 0000000aH
	inc	esi
	push	0
	push	esi
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 21					; 00000015H
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits2$[esp+892448]
	push	eax
	shr	edi, 10					; 0000000aH
	inc	edi
	push	0
	push	edi
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 21					; 00000015H
	push	eax
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+892452]
	push	ecx
	push	0
	push	ebx
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 24					; 00000018H
	push	eax
	push	OFFSET FLAT:$SG2322
	push	ebp
	call	_fprintf
	add	esp, 28					; 0000001cH
	inc	ebx
	cmp	ebx, 32					; 00000020H
	jb	$L2315
; Line 2561
	mov	edx, DWORD PTR _Thunderwith$[esp+892432]
	push	edx
	push	OFFSET FLAT:$SG2324
	push	ebp
	call	_fprintf
; Line 2562
	push	OFFSET FLAT:$SG2325
	push	ebp
	call	_fprintf
	add	esp, 20					; 00000014H
	pop	edi
	pop	ebp
	pop	esi
; Line 2563
	mov	eax, 1
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2351:
; Line 2629
	mov	BYTE PTR _CRdLFa$[esp+892432], 13	; 0000000dH
	mov	BYTE PTR _CRdLFa$[esp+892433], 10	; 0000000aH
; Line 2631
	mov	DWORD PTR _i$[esp+892432], edi
	mov	DWORD PTR _i$[esp+892436], edi
	mov	eax, edi
$L2974:
; Line 2633
	mov	ecx, DWORD PTR _i$[esp+892436]
	push	0
	push	31					; 0000001fH
	push	ecx
	push	eax
	call	__aulldvrm
	imul	eax, DWORD PTR _WHOLEletter_BufferSize$[esp+892432]
	mov	DWORD PTR tv4846[esp+892432], ecx
	mov	ecx, DWORD PTR _OffsetsInBuffer$[esp+ecx*4+892432]
	add	ecx, eax
	add	ecx, DWORD PTR _pointerflush$[esp+892432]
	mov	DWORD PTR tv4846[esp+892436], ebx
	mov	DWORD PTR tv739[esp+892436], edx
	mov	DWORD PTR _BufStart$[esp+892432], ecx
; Line 2658
	mov	DWORD PTR _j$[esp+892432], 0
$L2995:
; Line 2661
	mov	edx, DWORD PTR _BufStart$[esp+892432]
	mov	eax, DWORD PTR _j$[esp+892432]
	mov	ebx, DWORD PTR [edx+eax*4]
; Line 2662
	test	ebx, ebx
	je	$L2358
; Line 2664
	mov	ecx, DWORD PTR _NumberOfTrees$[esp+892432]
; Line 2665
	mov	eax, DWORD PTR _BSTorBtree$[esp+892432]
	inc	ecx
; Line 2694
	xor	edi, edi
	cmp	eax, 1
	mov	DWORD PTR _NumberOfTrees$[esp+892432], ecx
	je	$L2381
	xor	edx, edx
	xor	esi, esi
	xor	ecx, ecx
	mov	DWORD PTR _BSTcurrentNode$[esp+892432], edx
	mov	DWORD PTR _BSTcurrentPeak$[esp+892432], esi
	mov	DWORD PTR _BSTcurrentLeaf$[esp+892432], ecx
	mov	DWORD PTR _BSTcurrentPeakMAX$[esp+892432], edi
; Line 2695
	xor	ebp, ebp
$L2363:
; Line 2697
	test	ebx, ebx
	je	SHORT $L2367
$L2366:
; Line 2699
	cmp	ebp, 196604				; 0002fffcH
	ja	$L2824
; Line 2700
	mov	edx, DWORD PTR [ebx]
; Line 2702
	mov	eax, DWORD PTR [ebx+4]
	add	ebx, 4
; Line 2703
	add	ebx, 4
	mov	DWORD PTR _BSTstack$[esp+ebp*4+892432], ebx
	inc	ebp
; Line 2704
	mov	DWORD PTR _BSTstack$[esp+ebp*4+892432], eax
	inc	ebp
; Line 2705
	mov	DWORD PTR _BSTstack$[esp+ebp*4+892432], edx
	inc	ebp
; Line 2707
	test	edx, edx
	jne	SHORT $L3004
	test	eax, eax
	jne	SHORT $L3004
	mov	edx, DWORD PTR _BSTsTotalLEAFs$[esp+892432]
	inc	ecx
	inc	edx
	mov	DWORD PTR _BSTcurrentLeaf$[esp+892432], ecx
	mov	DWORD PTR _BSTsTotalLEAFs$[esp+892432], edx
$L3004:
; Line 2708
	inc	esi
; Line 2709
	cmp	edi, esi
	mov	DWORD PTR _BSTcurrentPeak$[esp+892432], esi
	jae	SHORT $L2371
	mov	edi, esi
	mov	DWORD PTR _BSTcurrentPeakMAX$[esp+892432], edi
$L2371:
; Line 2710
	mov	DWORD PTR _BSTstack$[esp+ebp*4+892432], esi
	inc	ebp
	test	eax, eax
; Line 2712
	mov	ebx, eax
	jne	SHORT $L2366
; Line 2697
	mov	edx, DWORD PTR _BSTcurrentNode$[esp+892432]
$L2367:
; Line 2714
	test	ebp, ebp
	je	$L2825
; Line 2715
	mov	ecx, DWORD PTR _BSTstack$[esp+ebp*4+892428]
; Line 2718
	mov	ebx, DWORD PTR tv4846[esp+892432]
	dec	ebp
	mov	edx, DWORD PTR _BSTstack$[esp+ebp*4+892428]
	mov	DWORD PTR _BSTcurrentPeak$[esp+892432], ecx
	dec	ebp
	mov	esi, DWORD PTR _BSTstack$[esp+ebp*4+892424]
	sub	ebp, 2
	inc	ebx
	mov	ecx, ebx
	mov	eax, ecx
	shr	ecx, 2
	lea	edi, DWORD PTR _wrd$[esp+892432]
	rep movsd
	mov	ecx, eax
	and	ecx, 3
	rep movsb
; Line 2719
	mov	esi, DWORD PTR _fp_out$[esp+892432]
	push	esi
	push	1
	lea	ecx, DWORD PTR _wrd$[esp+892440]
	push	ebx
	push	ecx
	mov	DWORD PTR _PseudoLinkedPointerNEWleft$[esp+892448], edx
	call	_fwrite
	mov	ecx, DWORD PTR _TotalWLchars$[esp+892448]
; Line 2720
	push	esi
	push	1
	lea	edx, DWORD PTR _CRdLFa$[esp+892456]
	add	ecx, ebx
	push	2
	push	edx
	mov	DWORD PTR _TotalWLchars$[esp+892464], ecx
	call	_fwrite
; Line 2721
	mov	eax, DWORD PTR _BSTcurrentNode$[esp+892464]
; Line 2722
	mov	ebx, DWORD PTR _PseudoLinkedPointerNEWleft$[esp+892464]
; Line 2723
	mov	edi, DWORD PTR _BSTcurrentPeakMAX$[esp+892464]
	mov	esi, DWORD PTR _BSTcurrentPeak$[esp+892464]
	mov	ecx, DWORD PTR _BSTcurrentLeaf$[esp+892464]
	add	esp, 32					; 00000020H
	inc	eax
	mov	DWORD PTR _BSTcurrentNode$[esp+892432], eax
	mov	edx, eax
	jmp	$L2363
$L2825:
; Line 2726
	mov	eax, DWORD PTR _BSTwithMAXnode$[esp+892432]
	cmp	eax, edx
	jae	SHORT $L3054
; Line 2727
	mov	DWORD PTR _BSTwithMAXnode$[esp+892432], edx
; Line 2728
	mov	DWORD PTR _BSTwithMAXnodePEAK$[esp+892432], edi
; Line 2729
	mov	DWORD PTR _BSTwithMAXnodeLEAF$[esp+892432], ecx
; Line 2730
	mov	DWORD PTR _BSTcurrentNodeMAXqUANTITY$[esp+892432], 0
; Line 2732
	jmp	SHORT $L2864
$L3054:
	jne	SHORT $L3006
$L2864:
	inc	DWORD PTR _BSTcurrentNodeMAXqUANTITY$[esp+892432]
$L3006:
; Line 2733
	mov	eax, DWORD PTR _BSTwithMAXpeak$[esp+892432]
	cmp	eax, edi
	jae	SHORT $L3055
; Line 2737
	mov	eax, DWORD PTR _i$[esp+892432]
	mov	DWORD PTR _iBSTwithMAXpeak$[esp+892432], eax
	mov	eax, DWORD PTR _j$[esp+892432]
	mov	DWORD PTR _BSTwithMAXpeak$[esp+892432], edi
	mov	DWORD PTR _BSTwithMAXpeakNODE$[esp+892432], edx
	mov	DWORD PTR _BSTwithMAXpeakLEAF$[esp+892432], ecx
	mov	DWORD PTR _BSTcurrentPeakMAXqUANTITY$[esp+892432], 0
	mov	DWORD PTR _jBSTwithMAXpeak$[esp+892432], eax
; Line 2739
	jmp	SHORT $L2865
$L3055:
	jne	SHORT $L3010
$L2865:
	inc	DWORD PTR _BSTcurrentPeakMAXqUANTITY$[esp+892432]
$L3010:
; Line 2740
	mov	eax, DWORD PTR _BSTwithMAXleaf$[esp+892432]
	cmp	eax, ecx
	jae	SHORT $L3056
; Line 2741
	mov	DWORD PTR _BSTwithMAXleaf$[esp+892432], ecx
; Line 2742
	mov	DWORD PTR _BSTwithMAXleafNODE$[esp+892432], edx
; Line 2743
	mov	DWORD PTR _BSTwithMAXleafPEAK$[esp+892432], edi
; Line 2744
	mov	DWORD PTR _BSTcurrentLeafMAXqUANTITY$[esp+892432], 0
; Line 2746
	jmp	SHORT $L2866
$L3056:
	jne	SHORT $L2358
$L2866:
	inc	DWORD PTR _BSTcurrentLeafMAXqUANTITY$[esp+892432]
$L2358:
	mov	eax, DWORD PTR _j$[esp+892432]
	inc	eax
	cmp	eax, 8192				; 00002000H
	mov	DWORD PTR _j$[esp+892432], eax
	jb	$L2995
	mov	eax, DWORD PTR _i$[esp+892432]
	mov	ecx, DWORD PTR _i$[esp+892436]
	add	eax, 1
	adc	ecx, 0
	mov	DWORD PTR _i$[esp+892432], eax
	mov	DWORD PTR _i$[esp+892436], ecx
	jne	SHORT $L2356
; Line 2631
	cmp	eax, 806				; 00000326H
	jb	$L2974
$L2356:
; Line 2808
	cmp	DWORD PTR _BSTorBtree$[esp+892432], 1
	je	$L2973
; Line 2812
	mov	edx, DWORD PTR _iBSTwithMAXpeak$[esp+892432]
	xor	eax, eax
	push	eax
	push	31					; 0000001fH
	push	eax
	push	edx
	call	__aulldvrm
	imul	eax, DWORD PTR _WHOLEletter_BufferSize$[esp+892432]
; Line 2822
	mov	esi, DWORD PTR _fp_outLOG$[esp+892432]
	mov	DWORD PTR tv4846[esp+892432], ecx
; Line 3122
	mov	ecx, DWORD PTR _OffsetsInBuffer$[esp+ecx*4+892432]
	mov	DWORD PTR tv4436[esp+892436], edx
	mov	edx, DWORD PTR _pointerflush$[esp+892432]
	add	ecx, eax
	add	ecx, edx
	mov	edx, DWORD PTR _jBSTwithMAXpeak$[esp+892432]
	mov	edi, DWORD PTR [ecx+edx*4]
	test	edi, edi
	mov	DWORD PTR tv4846[esp+892436], ebx
	je	$L2829
	xor	ebx, ebx
	push	OFFSET FLAT:$SG2402
	push	esi
	xor	ebp, ebp
	mov	DWORD PTR _BSTcurrentLeaf$[esp+892440], ebx
	mov	DWORD PTR _BSTcurrentPeakMAX$[esp+892440], ebx
	call	_fprintf
$L3059:
	add	esp, 8
	test	edi, edi
	je	SHORT $L2408
; Line 2825
	mov	edx, DWORD PTR _BSTcurrentPeakMAX$[esp+892432]
	npad	5
$L2407:
; Line 2827
	cmp	ebx, 196604				; 0002fffcH
	ja	$L2828
; Line 2828
	mov	ecx, DWORD PTR [edi]
; Line 2830
	mov	eax, DWORD PTR [edi+4]
	add	edi, 4
; Line 2831
	add	edi, 4
	mov	DWORD PTR _BSTstack$[esp+ebx*4+892432], edi
	inc	ebx
; Line 2832
	mov	DWORD PTR _BSTstack$[esp+ebx*4+892432], eax
	inc	ebx
; Line 2833
	mov	DWORD PTR _BSTstack$[esp+ebx*4+892432], ecx
	inc	ebx
; Line 2835
	test	ecx, ecx
	jne	SHORT $L2411
	test	eax, eax
	jne	SHORT $L2411
	inc	DWORD PTR _BSTcurrentLeaf$[esp+892432]
$L2411:
; Line 2836
	inc	ebp
; Line 2837
	cmp	edx, ebp
	jae	SHORT $L2412
	mov	edx, ebp
	mov	DWORD PTR _BSTcurrentPeakMAX$[esp+892432], edx
$L2412:
; Line 2838
	mov	DWORD PTR _BSTstack$[esp+ebx*4+892432], ebp
	inc	ebx
	test	eax, eax
; Line 2840
	mov	edi, eax
	jne	SHORT $L2407
$L2408:
; Line 2842
	test	ebx, ebx
	je	$L2829
; Line 2843
	mov	eax, DWORD PTR _BSTstack$[esp+ebx*4+892428]
	dec	ebx
; Line 2844
	mov	edx, DWORD PTR _BSTstack$[esp+ebx*4+892428]
	dec	ebx
; Line 2845
	mov	ecx, DWORD PTR _BSTstack$[esp+ebx*4+892428]
	dec	ebx
; Line 2846
	mov	esi, DWORD PTR _BSTstack$[esp+ebx*4+892428]
	mov	DWORD PTR _PseudoLinkedPointerNEWright$[esp+892432], ecx
	mov	ecx, DWORD PTR tv4846[esp+892432]
	dec	ebx
	inc	ecx
	mov	ebp, ecx
	shr	ecx, 2
	lea	edi, DWORD PTR _wrd$[esp+892432]
	rep movsd
	mov	ecx, ebp
	mov	ebp, DWORD PTR _fp_outLOG$[esp+892432]
	and	ecx, 3
; Line 2852
	test	eax, eax
	rep movsb
	mov	DWORD PTR _BSTcurrentPeak$[esp+892432], eax
	mov	DWORD PTR _PseudoLinkedPointerNEWleft$[esp+892432], edx
	mov	edi, edx
	jbe	SHORT $L2416
; Line 2843
	mov	esi, eax
$L2414:
; Line 2852
	push	32					; 00000020H
	push	OFFSET FLAT:$SG2417
	push	ebp
	call	_fprintf
	add	esp, 12					; 0000000cH
	dec	esi
	jne	SHORT $L2414
$L2416:
; Line 2853
	mov	eax, DWORD PTR _PseudoLinkedPointerNEWleft$[esp+892432]
	test	eax, eax
	jne	$L2418
	push	OFFSET FLAT:$SG2419
	jmp	$L3057
	npad	6
$L2381:
; Line 2757
	test	ebx, ebx
	je	SHORT $L2394
$L2384:
; Line 2759
	cmp	edi, 196607				; 0002ffffH
	ja	$L2826
; Line 2761
	mov	ecx, DWORD PTR tv4846[esp+892432]
	mov	al, BYTE PTR [ebx+ecx+13]
	mov	DWORD PTR _BSTstack$[esp+edi*4+892432], ebx
	inc	edi
	test	al, al
	jne	SHORT $L2389
	mov	edx, DWORD PTR _BufStart$[esp+892432]
	mov	eax, DWORD PTR [edx+32768]
	mov	DWORD PTR [ebx+8], eax
$L2389:
; Line 2764
	mov	eax, DWORD PTR [ebx+8]
; Line 2766
	test	eax, eax
	mov	esi, DWORD PTR [ebx]
	mov	edx, DWORD PTR [ebx+4]
	je	SHORT $L2390
; Line 2767
	mov	ecx, DWORD PTR _BufStart$[esp+892432]
	mov	edx, DWORD PTR [ecx+32768]
	mov	DWORD PTR [ebx+8], edx
; Line 2768
	mov	ebx, eax
; Line 2770
	jmp	SHORT $L2395
$L2390:
	test	edx, edx
	je	SHORT $L2392
; Line 2771
	mov	eax, DWORD PTR _BufStart$[esp+892432]
	mov	ecx, DWORD PTR [eax+32768]
	mov	DWORD PTR [ebx+4], ecx
; Line 2772
	mov	ebx, edx
; Line 2774
	jmp	SHORT $L2395
$L2392:
	test	esi, esi
	je	SHORT $L2394
; Line 2775
	mov	edx, DWORD PTR _BufStart$[esp+892432]
	mov	eax, DWORD PTR [edx+32768]
	mov	DWORD PTR [ebx], eax
; Line 2776
	mov	ebx, esi
$L2395:
; Line 2757
	test	ebx, ebx
	jne	SHORT $L2384
$L2394:
; Line 2783
	test	edi, edi
	je	$L2358
; Line 2784
	mov	ebx, DWORD PTR _BSTstack$[esp+edi*4+892428]
; Line 3122
	mov	ecx, DWORD PTR [ebx+8]
	mov	esi, DWORD PTR [ebx]
	mov	eax, DWORD PTR [ebx+4]
	dec	edi
	add	ecx, esi
	add	ecx, eax
	mov	DWORD PTR _StackPtr$[esp+892432], edi
	jne	$L2381
	mov	ebp, DWORD PTR tv4846[esp+892432]
	mov	eax, DWORD PTR _fp_out$[esp+892432]
	inc	ebp
	mov	ecx, ebp
	mov	edx, ecx
	shr	ecx, 2
	lea	esi, DWORD PTR [ebx+12]
	lea	edi, DWORD PTR _wrd$[esp+892432]
	rep movsd
	push	eax
	mov	ecx, edx
	and	ecx, 3
	push	1
	rep movsb
	lea	ecx, DWORD PTR _wrd$[esp+892440]
	push	ebp
	push	ecx
	call	_fwrite
	mov	edx, DWORD PTR _fp_out$[esp+892448]
	mov	ecx, DWORD PTR _TotalWLchars$[esp+892448]
	push	edx
	push	1
	lea	eax, DWORD PTR _CRdLFa$[esp+892456]
	add	ecx, ebp
	push	2
	push	eax
	mov	DWORD PTR _TotalWLchars$[esp+892464], ecx
	call	_fwrite
	mov	ecx, DWORD PTR tv4846[esp+892464]
	mov	al, BYTE PTR [ebx+ecx+13]
	lea	ebx, DWORD PTR [ebx+ecx+13]
	add	esp, 32					; 00000020H
	test	al, al
	je	SHORT $L2399
	mov	ecx, ebp
	mov	edx, ecx
	shr	ecx, 2
	mov	esi, ebx
	lea	edi, DWORD PTR _wrd$[esp+892432]
	rep movsd
	mov	ecx, edx
	and	ecx, 3
	rep movsb
	mov	esi, DWORD PTR _fp_out$[esp+892432]
	push	esi
	push	1
	lea	eax, DWORD PTR _wrd$[esp+892440]
	push	ebp
	push	eax
	call	_fwrite
	mov	eax, DWORD PTR _TotalWLchars$[esp+892448]
	push	esi
	push	1
	lea	ecx, DWORD PTR _CRdLFa$[esp+892456]
	add	eax, ebp
	push	2
	push	ecx
	mov	DWORD PTR _TotalWLchars$[esp+892464], eax
	call	_fwrite
	add	esp, 32					; 00000020H
$L2399:
	mov	edi, DWORD PTR _StackPtr$[esp+892432]
	xor	ebx, ebx
	jmp	$L2381
$L2824:
; Line 2699
	push	OFFSET FLAT:$SG2369
	call	_printf
; Line 3121
	add	esp, 4
	pop	edi
	pop	ebp
	pop	esi
	mov	eax, 13					; 0000000dH
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2826:
; Line 2759
	push	OFFSET FLAT:$SG2387
	call	_printf
; Line 3121
	add	esp, 4
	pop	edi
	pop	ebp
	pop	esi
	mov	eax, 13					; 0000000dH
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2418:
; Line 2853
	push	OFFSET FLAT:$SG2421
$L3057:
	push	ebp
	call	_fprintf
; Line 2854
	mov	eax, DWORD PTR tv4846[esp+892440]
	mov	ecx, DWORD PTR tv4846[esp+892444]
	add	esp, 8
	xor	esi, esi
	add	eax, 1
	adc	ecx, esi
	mov	DWORD PTR $T2860[esp+892432], eax
	mov	DWORD PTR $T2860[esp+892436], ecx
	ja	SHORT $L2962
	test	eax, eax
	jbe	SHORT $L2940
	npad	1
$L2962:
	movsx	edx, BYTE PTR _wrd$[esp+esi+892432]
	push	edx
	push	OFFSET FLAT:$SG2426
	push	ebp
	call	_fprintf
	mov	ecx, DWORD PTR $T2860[esp+892448]
	add	esp, 12					; 0000000cH
	xor	eax, eax
	inc	esi
	cmp	eax, ecx
	jb	SHORT $L2962
	ja	SHORT $L2940
	cmp	esi, DWORD PTR $T2860[esp+892432]
	jb	SHORT $L2962
$L2940:
; Line 2855
	mov	eax, DWORD PTR _PseudoLinkedPointerNEWright$[esp+892432]
	test	eax, eax
	jne	SHORT $L2427
	push	OFFSET FLAT:$SG2428
	jmp	SHORT $L3058
$L2427:
	push	OFFSET FLAT:$SG2430
$L3058:
	push	ebp
	call	_fprintf
; Line 2856
	mov	eax, DWORD PTR _BSTcurrentPeak$[esp+892440]
	add	esp, 8
	cmp	eax, 1
	jne	SHORT $L2431
	push	OFFSET FLAT:$SG2432
	push	ebp
	call	_fprintf
	add	esp, 8
$L2431:
; Line 2857
	push	OFFSET FLAT:$SG2433
	push	ebp
	call	_fprintf
; Line 2859
	mov	esi, DWORD PTR _fp_outLOG$[esp+892440]
	mov	ebp, DWORD PTR _BSTcurrentPeak$[esp+892440]
	jmp	$L3059
$L2828:
; Line 2827
	push	OFFSET FLAT:$SG2410
	call	_printf
; Line 3121
	add	esp, 4
	pop	edi
	pop	ebp
	pop	esi
	mov	eax, 13					; 0000000dH
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2829:
; Line 2862
	mov	ecx, DWORD PTR _BSTwithMAXpeakLEAF$[esp+892432]
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+892436]
	push	eax
	push	0
	push	ecx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	mov	eax, DWORD PTR _BSTwithMAXpeakNODE$[esp+892436]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits3$[esp+892440]
	push	edx
	push	0
	push	eax
	call	__ui64toaKAZEcomma
	mov	edx, DWORD PTR _BSTwithMAXpeak$[esp+892452]
	add	esp, 16					; 00000010H
	push	eax
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits2$[esp+892444]
	push	ecx
	push	0
	push	edx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2434
	push	esi
	call	_fprintf
; Line 2863
	push	OFFSET FLAT:$SG2435
	push	esi
	call	_fprintf
; Line 2864
	push	OFFSET FLAT:$SG2436
	push	esi
	call	_fprintf
; Line 2865
	push	OFFSET FLAT:$SG2437
	push	esi
	call	_fprintf
; Line 2866
	push	OFFSET FLAT:$SG2438
	push	esi
	call	_fprintf
; Line 2867
	push	OFFSET FLAT:$SG2439
	push	esi
	call	_fprintf
; Line 2871
	mov	eax, DWORD PTR _BSTwithMAXnode$[esp+892492]
	add	esp, 60					; 0000003cH
	xor	ecx, ecx
	cmp	eax, 65536				; 00010000H
	jb	SHORT $L2757
	shr	eax, 16					; 00000010H
	mov	ecx, 16					; 00000010H
$L2757:
	cmp	eax, 256				; 00000100H
	jb	SHORT $L2758
	shr	eax, 8
	add	ecx, 8
$L2758:
	cmp	eax, 16					; 00000010H
	jb	SHORT $L2996
	shr	eax, 4
	add	ecx, 4
$L2996:
	cmp	eax, 4
	jb	SHORT $L2978
	shr	eax, 2
	add	ecx, 2
$L2978:
	cmp	eax, 2
	jb	SHORT $L2761
	inc	ecx
$L2761:
	test	eax, eax
	jne	SHORT $L2756
	or	ecx, -1
$L2756:
	inc	ecx
	mov	DWORD PTR _PEAKibBST$[esp+892432], ecx
	jmp	SHORT $L2400
$L2973:
	mov	esi, DWORD PTR _fp_outLOG$[esp+892432]
$L2400:
; Line 2877
	lea	eax, DWORD PTR _t2$[esp+892432]
	push	eax
	call	_time
; Line 2878
	mov	eax, DWORD PTR _t2$[esp+892436]
	mov	ecx, DWORD PTR _t1$[esp+892436]
	add	esp, 4
	cmp	eax, ecx
	jg	SHORT $L2441
	lea	eax, DWORD PTR [ecx+1]
	mov	DWORD PTR _t2$[esp+892432], eax
$L2441:
; Line 2879
	sub	eax, ecx
	push	eax
	push	OFFSET FLAT:$SG2443
	call	_printf
; Line 2880
	mov	eax, DWORD PTR _t3$[esp+892440]
	mov	ebx, DWORD PTR _t1$[esp+892440]
	mov	edi, DWORD PTR _FilesLEN$[esp+892440]
	add	esp, 8
	push	10					; 0000000aH
	sub	eax, ebx
	cdq
	lea	ecx, DWORD PTR _llTOaDigits$[esp+892436]
	push	ecx
	push	edx
	mov	edx, DWORD PTR _FilesLEN$[esp+892448]
	push	eax
	push	edx
	push	edi
	call	__aulldiv
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG2445
	push	esi
	call	_fprintf
; Line 2881
	mov	edx, DWORD PTR _t1$[esp+892460]
	mov	ebp, DWORD PTR _WORDcount$[esp+892464]
	mov	ebx, DWORD PTR _WORDcount$[esp+892460]
	add	esp, 28					; 0000001cH
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+892436]
	push	eax
	mov	eax, DWORD PTR _t3$[esp+892440]
	sub	eax, edx
	cdq
	push	edx
	push	eax
	push	ebp
	push	ebx
	call	__aulldiv
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG2447
	push	esi
	call	_fprintf
; Line 2882
	mov	ecx, DWORD PTR _argv$[esp+892456]
	mov	edx, DWORD PTR [ecx+4]
	push	edx
	push	OFFSET FLAT:$SG2448
	push	esi
	call	_fprintf
; Line 2883
	mov	ecx, DWORD PTR _FilesLEN$[esp+892476]
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+892476]
	push	eax
	push	ecx
	push	edi
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG2449
	push	esi
	call	_fprintf
; Line 2884
	mov	edi, DWORD PTR _WORDcountDistinct$[esp+892500]
	add	esp, 68					; 00000044H
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits2$[esp+892436]
	push	edx
	push	0
	push	edi
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+892440]
	push	eax
	push	ebp
	push	ebx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2451
	push	esi
	call	_fprintf
; Line 2885
	mov	ecx, DWORD PTR _NumberOfFiles$[esp+892448]
	push	ecx
	push	OFFSET FLAT:$SG2452
	push	esi
	call	_fprintf
; Line 2886
	mov	edx, DWORD PTR _NumberOfLines$[esp+892464]
	mov	eax, DWORD PTR _NumberOfLines$[esp+892460]
	push	edx
	push	eax
	push	OFFSET FLAT:$SG2453
	push	esi
	call	_fprintf
; Line 2887
	mov	ecx, DWORD PTR tv4538[esp+892476]
	push	ecx
	push	OFFSET FLAT:$SG2455
	push	esi
	call	_fprintf
; Line 2889
	mov	ebx, DWORD PTR _NumberOfTrees$[esp+892488]
	push	ebx
	push	OFFSET FLAT:$SG2456
	push	esi
	call	_fprintf
; Line 2890
	mov	ecx, ebx
	imul	ecx, 100				; 00000064H
	mov	eax, 1161666093				; 453d9e2dH
	mul	ecx
	sub	ecx, edx
	shr	ecx, 1
	add	esp, 68					; 00000044H
	add	ecx, edx
	push	OFFSET FLAT:$SG2457
	shr	ecx, 22					; 00000016H
	push	ecx
	push	OFFSET FLAT:$SG2458
	push	esi
	call	_fprintf
	sub	edi, ebx
; Line 2891
	push	edi
	push	OFFSET FLAT:$SG2459
	push	esi
	call	_fprintf
; Line 2893
	mov	eax, DWORD PTR _BSTorBtree$[esp+892460]
	add	esp, 28					; 0000001cH
	cmp	eax, 1
; Line 2895
	push	10					; 0000000aH
	je	$L2460
	mov	eax, DWORD PTR _BSTwithMAXpeak$[esp+892436]
	lea	edx, DWORD PTR _llTOaDigits$[esp+892436]
	push	edx
	xor	ebx, ebx
	push	ebx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG2461
	push	esi
	call	_fprintf
; Line 2896
	mov	edx, DWORD PTR _WORDcountAttemptsToPut$[esp+892464]
	mov	eax, DWORD PTR _WORDcountAttemptsToPut$[esp+892460]
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+892464]
	push	ecx
	push	edx
	push	eax
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG2462
	push	esi
	call	_fprintf
; Line 2897
	mov	edx, DWORD PTR _BSTsTotalLEAFs$[esp+892488]
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+892492]
	push	ecx
	push	ebx
	push	edx
	call	__ui64toaKAZEcomma
	add	esp, 72					; 00000048H
	push	eax
	push	OFFSET FLAT:$SG2463
	push	esi
	call	_fprintf
; Line 2898
	mov	ebp, DWORD PTR _BSTwithMAXnode$[esp+892444]
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits3$[esp+892448]
	push	eax
	xor	edi, edi
	push	edi
	push	ebp
	call	__ui64toaKAZEcomma
	mov	edx, DWORD PTR _PEAKibBST$[esp+892460]
	add	esp, 28					; 0000001cH
	push	eax
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits2$[esp+892440]
	push	ecx
	push	edi
	push	edx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+892444]
	push	eax
	push	edi
	push	ebp
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2464
	push	esi
	call	_fprintf
; Line 2899
	mov	edx, DWORD PTR _BSTwithMAXnodeLEAF$[esp+892452]
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+892456]
	push	ecx
	push	edi
	push	edx
	call	__ui64toaKAZEcomma
	mov	ecx, DWORD PTR _BSTwithMAXnodePEAK$[esp+892468]
	add	esp, 36					; 00000024H
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits3$[esp+892440]
	push	eax
	push	edi
	push	ecx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits2$[esp+892444]
	push	edx
	push	edi
	push	ebp
	call	__ui64toaKAZEcomma
	mov	ecx, DWORD PTR _BSTcurrentNodeMAXqUANTITY$[esp+892456]
	add	esp, 16					; 00000010H
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits4$[esp+892448]
	push	eax
	push	edi
	push	ecx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2465
	push	esi
	call	_fprintf
; Line 2900
	mov	eax, DWORD PTR _BSTwithMAXpeakLEAF$[esp+892456]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+892460]
	push	edx
	push	edi
	push	eax
	call	__ui64toaKAZEcomma
	mov	edx, DWORD PTR _BSTwithMAXpeakNODE$[esp+892472]
	add	esp, 40					; 00000028H
	push	eax
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits3$[esp+892440]
	push	ecx
	push	edi
	push	edx
	call	__ui64toaKAZEcomma
	mov	ecx, DWORD PTR _BSTwithMAXpeak$[esp+892452]
	add	esp, 16					; 00000010H
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits2$[esp+892444]
	push	eax
	push	ebx
	push	ecx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	mov	eax, DWORD PTR _BSTcurrentPeakMAXqUANTITY$[esp+892444]
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits4$[esp+892448]
	push	edx
	push	edi
	push	eax
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2466
	push	esi
	call	_fprintf
; Line 2901
	mov	edx, DWORD PTR _BSTwithMAXleafPEAK$[esp+892456]
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+892460]
	push	ecx
	push	edi
	push	edx
	call	__ui64toaKAZEcomma
	mov	ecx, DWORD PTR _BSTwithMAXleafNODE$[esp+892472]
	add	esp, 40					; 00000028H
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits3$[esp+892440]
	push	eax
	push	edi
	push	ecx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits2$[esp+892444]
	mov	eax, DWORD PTR _BSTwithMAXleaf$[esp+892444]
	push	edx
	push	edi
	push	eax
	call	__ui64toaKAZEcomma
	mov	edx, DWORD PTR _BSTcurrentLeafMAXqUANTITY$[esp+892456]
	add	esp, 16					; 00000010H
	push	eax
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits4$[esp+892448]
	push	ecx
	push	edi
	push	edx
	call	__ui64toaKAZEcomma
	add	esp, 16					; 00000010H
	push	eax
	push	OFFSET FLAT:$SG2467
	push	esi
	call	_fprintf
	add	esp, 24					; 00000018H
; Line 2902
	jmp	SHORT $L2468
$L2460:
; Line 2904
	mov	ecx, DWORD PTR _WORDcountAttemptsToPut$[esp+892440]
	mov	edx, DWORD PTR _WORDcountAttemptsToPut$[esp+892436]
	lea	eax, DWORD PTR _llTOaDigits$[esp+892436]
	push	eax
	push	ecx
	push	edx
	call	__ui64toaKAZEcomma
	push	eax
	push	OFFSET FLAT:$SG2469
	push	esi
	call	_fprintf
	add	esp, 28					; 0000001cH
$L2468:
; Line 2907
	mov	edi, 1
$L2470:
; Line 2908
	mov	ecx, DWORD PTR _GRMBLhill$[esp+edi*4+892432]
	imul	ecx, DWORD PTR _LetterBuffer$[esp+892432]
	mov	eax, 138547333				; 08421085H
	mul	ecx
	mov	eax, DWORD PTR _MAXusedBuffer$[esp+edi*4+892432]
	sub	ecx, edx
	push	OFFSET FLAT:$SG2476
	shr	ecx, 1
	push	10					; 0000000aH
	mov	ebx, eax
	imul	eax, 100				; 00000064H
	add	ecx, edx
	lea	edx, DWORD PTR _llTOaDigits4$[esp+892440]
	push	edx
	push	0
	shr	ecx, 4
	push	ecx
	push	0
	mov	ebp, ecx
	push	eax
	shr	ebp, 10					; 0000000aH
	shr	ebx, 10					; 0000000aH
	call	__aulldiv
	push	edx
	push	eax
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 24					; 00000018H
	push	eax
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits3$[esp+892444]
	push	eax
	lea	ecx, DWORD PTR [ebp+1]
	push	0
	push	ecx
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 21					; 00000015H
	push	eax
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits2$[esp+892448]
	push	edx
	lea	eax, DWORD PTR [ebx+1]
	push	0
	push	eax
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 21					; 00000015H
	push	eax
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+892452]
	push	ecx
	push	0
	push	edi
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 24					; 00000018H
	push	eax
	push	OFFSET FLAT:$SG2477
	push	esi
	call	_fprintf
; Line 2909
	lea	eax, DWORD PTR [ebx+1]
	imul	eax, 31					; 0000001fH
	xor	edx, edx
	div	DWORD PTR _GRMBLhill$[esp+edi*4+892460]
	mov	ecx, DWORD PTR _MAXusedBufferABS$[esp+892460]
	add	esp, 28					; 0000001cH
	cmp	ecx, eax
	jae	SHORT $L2479
	inc	eax
	mov	DWORD PTR _MAXusedBufferABS$[esp+892432], eax
$L2479:
; Line 2910
	mov	edx, DWORD PTR _Utiliza1$[esp+892432]
; Line 2911
	mov	ecx, DWORD PTR _Utiliza2$[esp+892432]
	lea	eax, DWORD PTR [edx+ebx+1]
	inc	edi
	cmp	edi, 32					; 00000020H
	lea	edx, DWORD PTR [ecx+ebp+1]
	mov	DWORD PTR _Utiliza1$[esp+892432], eax
	mov	DWORD PTR _Utiliza2$[esp+892432], edx
	jb	$L2470
; Line 2913
	push	OFFSET FLAT:$SG2482
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+892440]
	push	eax
	mov	eax, DWORD PTR _Utiliza1$[esp+892444]
	imul	eax, 100				; 00000064H
	xor	edx, edx
	div	DWORD PTR _Utiliza2$[esp+892444]
	push	0
	push	eax
	call	__ui64toaKAZEzerocomma
	add	esp, 16					; 00000010H
	add	eax, 24					; 00000018H
	push	eax
	push	OFFSET FLAT:$SG2483
	push	esi
	call	_fprintf
; Line 2914
	mov	eax, DWORD PTR _TotalWLchars$[esp+892448]
	mov	ecx, 1000				; 000003e8H
	mul	ecx
	mov	ecx, DWORD PTR _memory_size$[esp+892448]
	add	esp, 16					; 00000010H
	push	0
	push	ecx
	push	edx
	push	eax
	call	__aulldiv
	test	edx, edx
	jg	SHORT $L2768
	jl	SHORT $L2941
	test	eax, eax
	jae	SHORT $L2768
$L2941:
	mov	ecx, 1
	jmp	SHORT $L2769
$L2768:
	xor	ecx, ecx
$L2769:
	push	ecx
	push	10					; 0000000aH
	lea	ecx, DWORD PTR _llTOaDigits$[esp+892440]
	push	ecx
	push	edx
	push	eax
	call	_x64toaKAZE
	lea	edx, DWORD PTR _llTOaDigits$[esp+892452]
	push	edx
	push	OFFSET FLAT:$SG2485
	push	esi
	call	_fprintf
; Line 2915
	mov	eax, DWORD PTR _Thunderwith$[esp+892464]
	push	eax
	push	OFFSET FLAT:$SG2487
	push	esi
	call	_fprintf
; Line 2916
	mov	ecx, DWORD PTR _MAXusedBufferABS$[esp+892476]
	push	ecx
	push	OFFSET FLAT:$SG2488
	push	esi
	call	_fprintf
; Line 2917
	mov	edx, DWORD PTR _t2$[esp+892488]
	sub	edx, DWORD PTR _t1$[esp+892488]
	push	edx
	push	OFFSET FLAT:$SG2490
	push	esi
	call	_fprintf
; Line 2920
	mov	eax, DWORD PTR tv4538[esp+892500]
	add	esp, 68					; 00000044H
	push	eax
	push	OFFSET FLAT:$SG2491
	call	_printf
; Line 2921
	mov	ecx, DWORD PTR _pointerflush$[esp+892440]
	push	ecx
	call	_free
; Line 2922
	mov	edx, DWORD PTR _fp_out$[esp+892444]
	push	edx
	call	_fclose
; Line 2923
	push	esi
	call	_fclose
; Line 2926
	mov	ebp, DWORD PTR _argv$[esp+892448]
	mov	ecx, DWORD PTR [ebp+8]
	lea	eax, DWORD PTR _backup$[esp+892452]
	push	eax
	push	ecx
	call	_readlines
	mov	ebx, eax
	add	esp, 28					; 0000001cH
	test	ebx, ebx
	jl	$L2493
; Line 2937
	mov	eax, DWORD PTR _argc$[esp+892428]
	cmp	eax, 4
	jne	SHORT $L2494
; Line 2938
	mov	edi, 3
; Line 2939
	jmp	SHORT $L2495
$L2494:
	cmp	eax, 5
	je	SHORT $L2496
	cmp	eax, 6
	jne	SHORT $L2495
$L2496:
; Line 2940
	mov	edi, 4
$L2495:
; Line 2941
	mov	edx, DWORD PTR [ebp+edi*4]
	mov	al, BYTE PTR [edx]
	cmp	al, 65					; 00000041H
	je	$L2509
	cmp	al, 97					; 00000061H
	je	$L2975
	cmp	al, 66					; 00000042H
	je	$L2975
	cmp	al, 98					; 00000062H
	je	$L2975
	cmp	al, 67					; 00000043H
	je	$L2975
	cmp	al, 99					; 00000063H
	je	$L2975
	cmp	al, 68					; 00000044H
	je	$L2975
	cmp	al, 100					; 00000064H
	je	$L2975
; Line 2942
	push	OFFSET FLAT:$SG2498
	call	_printf
; Line 2944
	mov	esi, DWORD PTR _TAILOffetFromStartBUKVA$[esp+892436]
	add	esp, 4
	xor	edi, edi
$L2499:
; Line 2945
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+892436]
	push	eax
	lea	ebp, DWORD PTR [edi+1]
	push	0
	push	ebp
	call	__ui64toaKAZEzerocomma
	add	eax, 24					; 00000018H
	push	eax
	push	OFFSET FLAT:$SG2502
	call	_printf
	add	esp, 24					; 00000018H
; Line 2947
	cmp	esi, ebx
	mov	eax, esi
	jae	SHORT $L2500
	mov	ecx, DWORD PTR _backup$[esp+892432]
$L2504:
	mov	edx, DWORD PTR [ecx+esi*4]
	movzx	edx, BYTE PTR [edx]
	sub	edx, 97					; 00000061H
	cmp	edx, edi
	jne	SHORT $L2505
; Line 2948
	inc	esi
	cmp	esi, ebx
	jb	SHORT $L2504
$L2505:
; Line 2950
	cmp	eax, esi
	je	SHORT $L2500
; Line 2951
	mov	edx, DWORD PTR _backup$[esp+892432]
	mov	ecx, esi
	sub	ecx, eax
	push	0
	push	ecx
	lea	eax, DWORD PTR [edx+eax*4]
	push	eax
	call	_mkqsort
	add	esp, 12					; 0000000cH
$L2500:
	mov	edi, ebp
	cmp	edi, 26					; 0000001aH
	jb	SHORT $L2499
; Line 2955
	jmp	$L2530
$L2975:
; Line 2957
	cmp	al, 65					; 00000041H
	je	SHORT $L2509
	cmp	al, 97					; 00000061H
	jne	SHORT $L3003
$L2509:
; Line 2958
	push	OFFSET FLAT:$SG2510
	call	_printf
; Line 2959
	mov	ecx, DWORD PTR _backup$[esp+892436]
	push	0
	push	ecx
	mov	eax, ebx
	call	_InsertSortKAZE
	add	esp, 12					; 0000000cH
$L3003:
; Line 2961
	mov	edx, DWORD PTR [ebp+edi*4]
	mov	al, BYTE PTR [edx]
	cmp	al, 66					; 00000042H
	je	SHORT $L2512
	cmp	al, 98					; 00000062H
	jne	$L2979
$L2512:
; Line 2962
	push	OFFSET FLAT:$SG2513
	call	_printf
; Line 2964
	mov	esi, DWORD PTR _TAILOffetFromStartBUKVA$[esp+892436]
	add	esp, 4
	xor	edi, edi
$L2514:
; Line 2965
	push	10					; 0000000aH
	lea	eax, DWORD PTR _llTOaDigits$[esp+892436]
	push	eax
	lea	ebp, DWORD PTR [edi+1]
	push	0
	push	ebp
	call	__ui64toaKAZEzerocomma
	add	eax, 24					; 00000018H
	push	eax
	push	OFFSET FLAT:$SG2517
	call	_printf
	add	esp, 24					; 00000018H
; Line 2967
	cmp	esi, ebx
	mov	ecx, esi
	jae	SHORT $L2515
	mov	eax, DWORD PTR _backup$[esp+892432]
$L2519:
	mov	edx, DWORD PTR [eax+esi*4]
	movzx	edx, BYTE PTR [edx]
	sub	edx, 97					; 00000061H
	cmp	edx, edi
	jne	SHORT $L2520
; Line 2968
	inc	esi
	cmp	esi, ebx
	jb	SHORT $L2519
$L2520:
; Line 2970
	cmp	ecx, esi
	je	SHORT $L2515
; Line 2971
	mov	edx, DWORD PTR _backup$[esp+892432]
	mov	eax, esi
	sub	eax, ecx
	lea	ecx, DWORD PTR [edx+ecx*4]
	push	0
	push	ecx
	call	_InsertSortKAZE
	add	esp, 8
$L2515:
	mov	edi, ebp
	cmp	edi, 26					; 0000001aH
	jb	SHORT $L2514
; Line 2964
	mov	ebp, DWORD PTR _argv$[esp+892428]
	jmp	SHORT $L2516
$L2979:
	mov	esi, DWORD PTR _TAILOffetFromStartBUKVA$[esp+892432]
$L2516:
; Line 2975
	mov	edx, DWORD PTR [ebp+edi*4]
	mov	al, BYTE PTR [edx]
	cmp	al, 67					; 00000043H
	je	SHORT $L2523
	cmp	al, 99					; 00000063H
	jne	SHORT $L2777
$L2523:
; Line 2976
	push	OFFSET FLAT:$SG2524
	call	_printf
; Line 2977
	mov	eax, DWORD PTR _backup$[esp+892436]
	push	0
	push	ebx
	push	eax
	call	_mkqsort
	add	esp, 16					; 00000010H
$L2777:
; Line 2979
	mov	ecx, DWORD PTR [ebp+edi*4]
	mov	al, BYTE PTR [ecx]
	cmp	al, 68					; 00000044H
	je	SHORT $L2998
	cmp	al, 100					; 00000064H
	jne	$L2530
$L2998:
; Line 2980
	push	OFFSET FLAT:$SG2527
	call	_printf
	add	esp, 4
; Line 2982
	xor	edi, edi
$L2528:
; Line 2983
	push	10					; 0000000aH
	lea	edx, DWORD PTR _llTOaDigits$[esp+892436]
	push	edx
	lea	ebp, DWORD PTR [edi+1]
	push	0
	push	ebp
	call	__ui64toaKAZEzerocomma
	add	eax, 24					; 00000018H
	push	eax
	push	OFFSET FLAT:$SG2531
	call	_printf
	add	esp, 24					; 00000018H
; Line 2985
	cmp	esi, ebx
	mov	eax, esi
	jae	SHORT $L2529
	mov	ecx, DWORD PTR _backup$[esp+892432]
$L2533:
	mov	edx, DWORD PTR [ecx+esi*4]
	movzx	edx, BYTE PTR [edx]
	sub	edx, 97					; 00000061H
	cmp	edx, edi
	jne	SHORT $L2534
; Line 2986
	inc	esi
	cmp	esi, ebx
	jb	SHORT $L2533
$L2534:
; Line 2988
	cmp	eax, esi
	je	SHORT $L2529
; Line 2989
	mov	edx, DWORD PTR _backup$[esp+892432]
	mov	ecx, esi
	sub	ecx, eax
	push	0
	push	ecx
	lea	eax, DWORD PTR [edx+eax*4]
	push	eax
	call	_mkqsort
	add	esp, 12					; 0000000cH
$L2529:
	mov	edi, ebp
	cmp	edi, 26					; 0000001aH
	jb	SHORT $L2528
$L2530:
; Line 2996
	push	OFFSET FLAT:$SG2536
	call	_printf
; Line 2997
	mov	esi, DWORD PTR _argv$[esp+892432]
	mov	ecx, DWORD PTR [esi+8]
	push	OFFSET FLAT:$SG2539
	push	ecx
	call	_fopen
	mov	edi, eax
	add	esp, 12					; 0000000cH
	test	edi, edi
	jne	SHORT $L2538
; Line 2998
	mov	edx, DWORD PTR [esi+8]
	push	edx
	push	OFFSET FLAT:$SG2540
	call	_printf
	add	esp, 8
	pop	edi
	pop	ebp
	pop	esi
	mov	eax, 1
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2538:
; Line 2999
	xor	esi, esi
	test	ebx, ebx
	jbe	SHORT $L2997
	mov	ebp, DWORD PTR _backup$[esp+892432]
	npad	7
$L2541:
; Line 3002
	mov	eax, DWORD PTR [ebp+esi*4]
	push	eax
	push	OFFSET FLAT:$SG2544
	push	edi
	call	_fprintf
; Line 3003
	push	edi
	push	1
	lea	ecx, DWORD PTR _CRdLFa$[esp+892452]
	push	2
	push	ecx
	call	_fwrite
	add	esp, 28					; 0000001cH
	inc	esi
	cmp	esi, ebx
	jb	SHORT $L2541
$L2997:
; Line 3005
	lea	edx, DWORD PTR _t3$[esp+892432]
	push	edx
	call	_time
; Line 3006
	mov	eax, DWORD PTR _t3$[esp+892436]
	mov	ecx, DWORD PTR _t2$[esp+892436]
	add	esp, 4
	cmp	eax, ecx
	jg	SHORT $L2546
	lea	eax, DWORD PTR [ecx+1]
	mov	DWORD PTR _t3$[esp+892432], eax
$L2546:
; Line 3007
	sub	eax, ecx
	push	eax
	push	OFFSET FLAT:$SG2548
	call	_printf
; Line 3114
	push	OFFSET FLAT:$SG2551
	push	OFFSET FLAT:$SG2552
	call	_fopen
	add	esp, 16					; 00000010H
	test	eax, eax
	jne	SHORT $L2550
; Line 3115
	push	OFFSET FLAT:$SG2553
	jmp	SHORT $L3061
$L2550:
; Line 3116
	mov	ecx, DWORD PTR _t3$[esp+892432]
	sub	ecx, DWORD PTR _t2$[esp+892432]
	push	ecx
	push	OFFSET FLAT:$SG2555
	push	eax
	call	_fprintf
; Line 3117
	push	OFFSET FLAT:$SG2556
	call	_printf
	add	esp, 16					; 00000010H
	pop	edi
	pop	ebp
	pop	esi
; Line 3118
	xor	eax, eax
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
$L2493:
; Line 3121
	push	OFFSET FLAT:$SG2558
$L3061:
	call	_printf
	add	esp, 4
	pop	edi
	pop	ebp
	pop	esi
; Line 3122
	mov	eax, 1
	pop	ebx
; Line 3125
	add	esp, 892416				; 000d9e00H
	ret	0
_main	ENDP
_TEXT	ENDS
END
