; 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 _BSS SEGMENT $SG1684 DB 01H DUP (?) $SG1805 DB 01H DUP (?) $SG1820 DB 01H DUP (?) _BSS ENDS _DATA SEGMENT $SG1403 DB 'rb', 00H ORG $+1 $SG1404 DB 'Leprechaun: Can''t open file %s ', 0aH, 00H ORG $+3 $SG1411 DB 'Allocated memory for words in MB: %lu', 0aH, 00H ORG $+1 $SG1413 DB 'Leprechaun: Can''t read file %s ', 0aH, 00H ORG $+3 $SG1424 DB 'Leprechaun: Needed memory allocation denied!', 0aH, 00H ORG $+2 $SG1426 DB 'Allocated memory for pointers-to-words in MB: %lu', 0aH, 00H ORG $+1 $SG1679 DB 'Leprechaun(Fast Greedy Word-Ripper), revision 13++, writ' DB 'ten by Svalqyatchx.', 00H ORG $+4 $SG1680 DB 'Leprechaun: ''Oh, well, didn''t you hear? Bigger is good' DB ', but jumbo is dear.''', 00H ORG $+4 $SG1681 DB 'Kaze: Let''s see what a 4-way hash + 6,602,752 Binary-Se' DB 'arch-Trees can give us,', 00H ORG $+1 $SG1682 DB ' also the performance of a 4-way hash + 6,602,752 B' DB '-Trees of order 3.', 00H ORG $+1 $SG1685 DB '''The Little Monster'' short notes:', 00H ORG $+2 $SG1686 DB 'Note1: I wish to thank to R.N. Horspool, Ranjan Sinha, D' DB 'mitry Shkarin,', 00H ORG $+1 $SG1687 DB ' Michael Abrash, J. Bentley, R. Sedgewick, Igor Pa' DB 'vlov, Lasse Reinhold', 00H ORG $+3 $SG1688 DB ' for sharing their knowledge to public.', 00H ORG $+2 $SG1689 DB 'Note2: Run it without parameters to get usage and short ' DB 'notes.', 00H ORG $+1 $SG1690 DB 'Note3: This simple amateurish(more over I am not versed ' DB 'well neither in C nor', 00H ORG $+2 $SG1691 DB ' in mathematics nor in english language, but I am ' DB 'persistent in INDEXING', 00H ORG $+1 $SG1692 DB ' GBs of english TEXTS) tool is written in ANSI C(a' DB 't least its source is', 00H ORG $+2 $SG1693 DB ' compileable for CL(Windows) and GCC(Linux)), and ' DB 'its purpose is to', 00H ORG $+6 $SG1694 DB ' create a WordList for a group of files(given via ' DB 'filelist).', 00H ORG $+5 $SG1695 DB ' Its name comes(according to Heritage Dictionary) ' DB 'from ''low corpus'' or', 00H ORG $+3 $SG1696 DB ' ''little body'', in fact from amazing movie saga ' DB '''Leprechaun 1-2-3-4-5-6''', 00H ORG $+1 $SG1697 DB ' starring by Warwick Davis.', 00H ORG $+6 $SG1698 DB 'Note4: Only words up to 31 chars are proceeded - the rea' DB 'son is ''DDT''(the', 00H ORG $+3 $SG1699 DB ' longest word in Heritage Dictionary 3rd edition) ' DB 'or', 00H ORG $+1 $SG1700 DB ' ''dichlorodiphenyltrichloroethane''.', 00H ORG $+2 $SG1701 DB 'Note5: Cursor hiding in C - mission impossible for me.', 00H ORG $+5 $SG1702 DB 'Note6: By default(third parameter is 1023) allocated mem' DB 'ory is 393MB.', 00H ORG $+2 $SG1703 DB ' Due to ''malloc()'' limitation under WINDOWS, max' DB 'imum value of third', 00H ORG $+2 $SG1704 DB ' parameter is 5174 which is 1988MB allocated block' DB '.', 00H ORG $+2 $SG1705 DB 'Note7: File Leprechaun.LOG is a log, where new statistic' DB 's are appended.', 00H $SG1706 DB 'Note8: Revision 12+ can handle files larger than 4GB.', 00H ORG $+2 $SG1707 DB 'Note9: Revision 12++ has a buffered ''fread()'' - theref' DB 'ore I/O READ-BURST SPEED', 00H ORG $+1 $SG1708 DB ' is the first(worst) bottleneck, as a result r.12+' DB '+ is much-much faster;', 00H ORG $+1 $SG1709 DB ' the second(worse) bottleneck: the linked lists - ' DB 'the b-trees', 00H ORG $+4 $SG1710 DB ' might be the answer; the third(bad) bottleneck: t' DB 'he amateurish author.', 00H ORG $+2 $SG1711 DB 'NoteA: Revision 12+++ has an improved(2 bits were used d' DB 'oltishly) main hash', 00H $SG1712 DB ' function - therefore less collisions, for example' DB ':', 00H ORG $+2 $SG1713 DB ' for file ''wikipedia-de-html.tar'' 42,291,855,360' DB ' bytes with', 00H ORG $+6 $SG1714 DB ' 5,750,179,678 words of them 7,375,373 distinct at' DB 'tempts to Find/Put', 00H ORG $+5 $SG1715 DB ' a WORD into a linked list are 6,117,675,470(r.12+' DB '+) and 5,845,989,790', 00H ORG $+3 $SG1716 DB ' (r.12+++); also two ''if'' sections were moved be' DB 'cause they were executed', 00H ORG $+1 $SG1717 DB ' unnecessarily many times.', 00H ORG $+7 $SG1718 DB 'NoteB: Revision 13 uses BSTs instead of LLs, that is Lin' DB 'ked-Lists were', 00H ORG $+1 $SG1719 DB ' replaced by Binary-Search-Trees, as a result for ' DB '22,202,980 distinct', 00H ORG $+4 $SG1720 DB ' words(out of 35,271,297) r.12+++ needs 225,548,26' DB '8 total attempts to', 00H ORG $+4 $SG1721 DB ' Find/Put WORDs into linked lists where r.13 needs' DB ' 121,674,042 total', 00H ORG $+5 $SG1722 DB ' attempts to Find/Put WORDs into Binary-Search-Tre' DB 'es. But this is a', 00H ORG $+6 $SG1723 DB ' significant boost in performance only for wordlis' DB 'ts of million words.', 00H ORG $+3 $SG1724 DB 'NoteC: Revision 13+ gives only more statistics. Future r' DB 'evisions could lessen', 00H ORG $+2 $SG1725 DB ' number of attempts to Find/Put WORDs into Binary-' DB 'Search-Trees', 00H ORG $+3 $SG1726 DB ' furthermore by making them at some point Perfectl' DB 'y-Balanced. But', 00H $SG1727 DB ' for huge amount(multi-(m|b)illion) of distinct wo' DB 'rds the b-tree family', 00H ORG $+2 $SG1728 DB ' must come in, until then this is the leprechaunis' DB 'h niche.', 00H ORG $+7 $SG1729 DB 'NoteD: Revision 13++ has a little fix(2 unnecessary ZERO' DB 'ings, when a new word', 00H ORG $+2 $SG1730 DB ' is inserted, were deleted) and a fixed bug(13+ ad' DB 'ds stupidly the', 00H $SG1731 DB ' highest BST to the wordlist). Also B-Tree of orde' DB 'r 3 is added as a', 00H ORG $+6 $SG1732 DB ' searching method. Main goal of B-Tree is to reduc' DB 'e number of', 00H ORG $+4 $SG1733 DB ' comparisons but at nasty cost: a precious time wa' DB 'sted to construct it', 00H ORG $+3 $SG1734 DB ' and twice more memory, i.e. one step forward two ' DB 'backward: this tree is', 00H ORG $+1 $SG1735 DB ' more effective than BST in cases of 2++ billion/m' DB 'illion', 00H ORG $+1 $SG1736 DB ' different/distinct words.', 00H ORG $+7 $SG1737 DB ' The improvement which comes from using B-Tree of ' DB 'order 3 is about 200%', 00H ORG $+2 $SG1738 DB ' much more pleasing than I expected, for wikipedia' DB '-en-html.tar.wrd with', 00H ORG $+2 $SG1739 DB ' 12,561,874 distinct words Total Attempts to Find/' DB 'Put WORDs into:', 00H $SG1740 DB ' Binary-Search-Trees was 61,895,043 while for', 00H $SG1741 DB ' B-trees order 3 was 19,295,791.', 00H ORG $+1 $SG1742 DB 'NoteE: For old r.12+ a USB connected HDD crippled test:', 00H ORG $+4 $SG1743 DB ' for ''H:\>Leprechaun.exe static.wikipedia.org_dow' DB 'nloads_2008-06_en.lst', 00H ORG $+3 $SG1744 DB ' wikipedia-en-html.tar.wrd 5400''', 00H ORG $+1 $SG1745 DB ' where 223,674,511,360 wikipedia-en-html.tar', 00H ORG $+1 $SG1746 DB ' on laptop Toshiba Pentium T3400 2166 MHz with', 00H ORG $+7 $SG1747 DB ' Motherboard Name: Tos' DB 'hiba Satellite L305', 00H ORG $+4 $SG1748 DB ' CPU Type: Mobile DualCore Intel Pentium, ' DB '2166 MHz (13 x 167)', 00H ORG $+4 $SG1749 DB ' CPU Alias: ' DB ' Merom-1M', 00H ORG $+4 $SG1750 DB ' L1 Code Cache: ' DB ' 32 KB per core', 00H ORG $+4 $SG1751 DB ' L1 Data Cache: ' DB ' 32 KB per core', 00H ORG $+4 $SG1752 DB ' L2 Cache: 1 MB (On-Die, EC' DB 'C, ASC, Full-Speed)', 00H ORG $+4 $SG1753 DB ' Bus Type: ' DB ' Dual DDR2 SDRAM', 00H ORG $+4 $SG1754 DB ' Bus Width: ' DB ' 128-bit', 00H ORG $+4 $SG1755 DB ' Real Clock: ' DB ' 333 MHz (DDR)', 00H ORG $+4 $SG1756 DB ' Effective Clock: ' DB ' 666 MHz', 00H ORG $+4 $SG1757 DB ' EVEREST v5.00.1650 Memory Copy: 3725MB/s wi' DB 'th timings 5-5-5-13', 00H $SG1758 DB ' result is logged to ''Leprechaun.LOG'':', 00H ORG $+3 $SG1759 DB ' Bytes per second performance: 20,658,955B/s', 00H ORG $+2 $SG1760 DB ' Words per second performance: 2,860,880W/s', 00H ORG $+3 $SG1761 DB ' Input File with a list of TEXTual Files:', 00H ORG $+1 $SG1762 DB ' static.wikipedia.org_downloads_2008-06_en.lst', 00H ORG $+3 $SG1763 DB ' Size of all TEXTual Files: 223,674,511,360', 00H ORG $+3 $SG1764 DB ' Word count: 30,974,750,142 of them 12,561,874 distinct' DB 00H ORG $+3 $SG1765 DB ' Number Of Files: 1', 00H ORG $+3 $SG1766 DB ' Number Of Lines: 2088618575', 00H ORG $+2 $SG1767 DB ' Allocated memory in MB: 1920', 00H ORG $+1 $SG1768 DB ' Words with length 01 occupy 0,033KB of 0,349KB given i' DB '.e. 09% utilization', 00H ORG $+4 $SG1769 DB ' Words with length 02 occupy 0,033KB of 0,349KB given i' DB '.e. 09% utilization', 00H ORG $+4 $SG1770 DB ' Words with length 03 occupy 0,037KB of 0,697KB given i' DB '.e. 05% utilization', 00H ORG $+4 $SG1771 DB ' Words with length 04 occupy 0,151KB of 0,871KB given i' DB '.e. 17% utilization', 00H ORG $+4 $SG1772 DB ' Words with length 05 occupy 0,744KB of 1,568KB given i' DB '.e. 47% utilization', 00H ORG $+4 $SG1773 DB ' Words with length 06 occupy 1,470KB of 3,136KB given i' DB '.e. 46% utilization', 00H ORG $+4 $SG1774 DB ' Words with length 07 occupy 2,605KB of 5,923KB given i' DB '.e. 43% utilization', 00H ORG $+4 $SG1775 DB ' Words with length 08 occupy 3,296KB of 6,968KB given i' DB '.e. 47% utilization', 00H ORG $+4 $SG1776 DB ' Words with length 09 occupy 3,714KB of 6,968KB given i' DB '.e. 53% utilization', 00H ORG $+4 $SG1777 DB ' Words with length 10 occupy 3,483KB of 6,968KB given i' DB '.e. 49% utilization', 00H ORG $+4 $SG1778 DB ' Words with length 11 occupy 3,235KB of 5,923KB given i' DB '.e. 54% utilization', 00H ORG $+4 $SG1779 DB ' Words with length 12 occupy 2,691KB of 4,181KB given i' DB '.e. 64% utilization', 00H ORG $+4 $SG1780 DB ' Words with length 13 occupy 2,230KB of 3,484KB given i' DB '.e. 64% utilization', 00H ORG $+4 $SG1781 DB ' Words with length 14 occupy 1,718KB of 3,484KB given i' DB '.e. 49% utilization', 00H ORG $+4 $SG1782 DB ' Words with length 15 occupy 1,357KB of 2,613KB given i' DB '.e. 51% utilization', 00H ORG $+4 $SG1783 DB ' Words with length 16 occupy 1,063KB of 2,613KB given i' DB '.e. 40% utilization', 00H ORG $+4 $SG1784 DB ' Words with length 17 occupy 0,814KB of 1,742KB given i' DB '.e. 46% utilization', 00H ORG $+4 $SG1785 DB ' Words with length 18 occupy 0,617KB of 1,742KB given i' DB '.e. 35% utilization', 00H ORG $+4 $SG1786 DB ' Words with length 19 occupy 0,485KB of 1,742KB given i' DB '.e. 27% utilization', 00H ORG $+4 $SG1787 DB ' Words with length 20 occupy 0,402KB of 1,742KB given i' DB '.e. 23% utilization', 00H ORG $+4 $SG1788 DB ' Words with length 21 occupy 0,327KB of 1,742KB given i' DB '.e. 18% utilization', 00H ORG $+4 $SG1789 DB ' Words with length 22 occupy 0,274KB of 1,742KB given i' DB '.e. 15% utilization', 00H ORG $+4 $SG1790 DB ' Words with length 23 occupy 0,224KB of 1,394KB given i' DB '.e. 16% utilization', 00H ORG $+4 $SG1791 DB ' Words with length 24 occupy 0,190KB of 1,394KB given i' DB '.e. 13% utilization', 00H ORG $+4 $SG1792 DB ' Words with length 25 occupy 0,162KB of 1,394KB given i' DB '.e. 11% utilization', 00H ORG $+4 $SG1793 DB ' Words with length 26 occupy 0,136KB of 1,220KB given i' DB '.e. 11% utilization', 00H ORG $+4 $SG1794 DB ' Words with length 27 occupy 0,119KB of 1,046KB given i' DB '.e. 11% utilization', 00H ORG $+4 $SG1795 DB ' Words with length 28 occupy 0,107KB of 0,871KB given i' DB '.e. 12% utilization', 00H ORG $+4 $SG1796 DB ' Words with length 29 occupy 0,091KB of 0,697KB given i' DB '.e. 13% utilization', 00H ORG $+4 $SG1797 DB ' Words with length 30 occupy 0,080KB of 0,523KB given i' DB '.e. 15% utilization', 00H ORG $+4 $SG1798 DB ' Words with length 31 occupy 0,076KB of 0,523KB given i' DB '.e. 14% utilization', 00H $SG1799 DB ' Total pseudo(including hash table) memory utilization:' DB ' 42%', 00H ORG $+7 $SG1800 DB ' Total real(wordlist''s words VS allocated block) memor' DB 'y utilization: 60/1000', 00H ORG $+2 $SG1801 DB ' Used value for third parameter in KB: 5400', 00H ORG $+3 $SG1802 DB ' Use next time as third parameter: 3475-', 00H ORG $+2 $SG1803 DB ' Time for making unsorted wordlist: 10827 second(s)', 00H ORG $+3 $SG1804 DB ' Time for sorting unsorted wordlist: 10 second(s)', 00H ORG $+1 $SG1806 DB 'Usage: Leprechaun InFile OutFile [BufferSize] [SortMetho' DB 'd] [TreeMethod]', 00H $SG1807 DB ' : Input file with files for Leprechauning,' DB ' in WINDOWS console', 00H ORG $+4 $SG1808 DB ' you can create it by ''E:\KAZEHOME>dir *' DB '.txt/s/b>Leprechaun.lst''', 00H $SG1809 DB ' : Output WORDLIST(sorted since r.9, CRLF)' DB ' file', 00H ORG $+2 $SG1810 DB ' : Optional Dynamic RAM buffer in KB, d' DB 'efault(and minimum', 00H ORG $+5 $SG1811 DB ' in the same time) is 1023, i.e. omit' DB ' or specify greater one', 00H $SG1812 DB ' : Optional Sort Method, default is ''D' DB ''',', 00H ORG $+2 $SG1813 DB ' A - InsertionSort', 00H ORG $+2 $SG1814 DB ' B - InsertionX26Sort', 00H ORG $+3 $SG1815 DB ' C - MultiKeyQuickSortSort by J. Bent' DB 'ley, R. Sedgewick', 00H ORG $+6 $SG1816 DB ' D - MultiKeyQuickSortX26Sort'' by J.' DB ' Bentley, R. Sedgewick', 00H ORG $+2 $SG1817 DB ' : Optional Tree Method, default is ''X' DB ''',', 00H ORG $+2 $SG1818 DB ' X - Binary-Search-Trees', 00H $SG1819 DB ' Y - B-Trees of order 3', 00H ORG $+1 $SG1821 DB 'Have a nice Leprechauning.', 00H ORG $+1 $SG1822 DB 'For contacts: sanmayce@hotmail.com', 00H ORG $+5 $SG1823 DB 'Sanmayce Svalqyatchx ''Kaze'', 2005 Feb 07(rev.13++: 201' DB '0 Apr 12).', 00H ORG $+3 $SG1826 DB 'rb', 00H ORG $+1 $SG1827 DB 'Leprechaun: Can''t open file %s ', 0aH, 00H ORG $+3 $SG1828 DB 'Size of input file with files for Leprechauning: %lu', 0aH DB 00H ORG $+2 $SG1831 DB 'a+', 00H ORG $+1 $SG1832 DB 'Leprechaun.LOG', 00H ORG $+1 $SG1833 DB 'Leprechaun: Can''t open file Leprechaun.LOG.', 0aH, 00H ORG $+3 $SG1857 DB 'Leprechaun: Needed memory allocation denied!', 0aH, 00H ORG $+2 $SG1858 DB 'Leprechaun report:', 0aH, 00H $SG1859 DB 'Allocated memory in MB: %lu', 0aH, 00H ORG $+3 $SG1885 DB 'rb', 00H ORG $+1 $SG1886 DB 'Leprechaun: Can''t open file %s ', 0aH, 00H ORG $+3 $SG1887 DB 'Size of Input TEXTual file: %s', 0aH, 00H $SG1904 DB '|; Word count: %s of them %s distinct; Done: %lu/64', 0dH DB 00H ORG $+3 $SG1908 DB '/; Word count: %s of them %s distinct; Done: %lu/64', 0dH DB 00H ORG $+3 $SG1912 DB '-; Word count: %s of them %s distinct; Done: %lu/64', 0dH DB 00H ORG $+3 $SG1916 DB '\; Word count: %s of them %s distinct; Done: %lu/64', 0dH DB 00H ORG $+7 $SG1928 DB 0aH, 'Leprechaun: Failure! Increment ''Memory for each Le' DB 'tter'' parameter(third one)!', 0aH, 00H $SG1929 DB 'Input File with a list of TEXTual Files: %s', 0aH, 00H ORG $+3 $SG1930 DB 'Size of all TEXTual Files: %s', 0aH, 00H ORG $+1 $SG1932 DB 'Word count: %s of them %s distinct', 0aH, 00H $SG1933 DB 'Number Of Files: %lu', 0aH, 00H ORG $+2 $SG1934 DB 'Number Of Lines: %lu', 0aH, 00H ORG $+2 $SG1936 DB 'Allocated memory in MB: %lu', 0aH, 00H ORG $+3 $SG1937 DB 'Total Attempts to Find/Put WORDs into Binary-Search-Tree' DB 's: %s', 0aH, 00H ORG $+1 $SG1944 DB '%', 00H, 00H ORG $+1 $SG1945 DB 'Words with length %s occupy %sKB of %sKB given i.e. %s%s' DB ' utilization', 0aH, 00H ORG $+2 $SG1947 DB 'Used value for third parameter in KB: %lu', 0aH, 00H ORG $+5 $SG1948 DB 'Leprechaun: Failure! Increment ''Memory for each Letter''' DB ' parameter(third one)!', 0aH, 0aH, 00H $SG1965 DB 0aH, 'Leprechaun: Failure! Increment ''Memory for each Le' DB 'tter'' parameter(third one)!', 0aH, 00H $SG1966 DB 'Input File with a list of TEXTual Files: %s', 0aH, 00H ORG $+3 $SG1967 DB 'Size of all TEXTual Files: %s', 0aH, 00H ORG $+1 $SG1969 DB 'Word count: %s of them %s distinct', 0aH, 00H $SG1970 DB 'Number Of Files: %lu', 0aH, 00H ORG $+2 $SG1971 DB 'Number Of Lines: %lu', 0aH, 00H ORG $+2 $SG1973 DB 'Allocated memory in MB: %lu', 0aH, 00H ORG $+3 $SG1974 DB 'Total Attempts to Find/Put WORDs into Binary-Search-Tree' DB 's: %s', 0aH, 00H ORG $+1 $SG1981 DB '%', 00H, 00H ORG $+1 $SG1982 DB 'Words with length %s occupy %sKB of %sKB given i.e. %s%s' DB ' utilization', 0aH, 00H ORG $+2 $SG1984 DB 'Used value for third parameter in KB: %lu', 0aH, 00H ORG $+5 $SG1985 DB 'Leprechaun: Failure! Increment ''Memory for each Letter''' DB ' parameter(third one)!', 0aH, 0aH, 00H $SG1995 DB 0aH, 'Leprechaun: Failure! Increment ''Memory for each Le' DB 'tter'' parameter(third one)!', 0aH, 00H $SG1996 DB 'Input File with a list of TEXTual Files: %s', 0aH, 00H ORG $+3 $SG1997 DB 'Size of all TEXTual Files: %s', 0aH, 00H ORG $+1 $SG1999 DB 'Word count: %s of them %s distinct', 0aH, 00H $SG2000 DB 'Number Of Files: %lu', 0aH, 00H ORG $+2 $SG2001 DB 'Number Of Lines: %lu', 0aH, 00H ORG $+2 $SG2003 DB 'Allocated memory in MB: %lu', 0aH, 00H ORG $+3 $SG2004 DB 'Total Attempts to Find/Put WORDs into B-trees order 3: %' DB 's', 0aH, 00H ORG $+1 $SG2011 DB '%', 00H, 00H ORG $+5 $SG2012 DB 'Words with length %s occupy %sKB of %sKB given i.e. %s%s' DB ' utilization', 0aH, 00H ORG $+2 $SG2014 DB 'Used value for third parameter in KB: %lu', 0aH, 00H ORG $+5 $SG2015 DB 'Leprechaun: Failure! Increment ''Memory for each Letter''' DB ' parameter(third one)!', 0aH, 0aH, 00H $SG2037 DB 0aH, 'Leprechaun: Failure! ''B-tree order 3'' simulated s' DB 'tack overflow!', 0aH, 00H ORG $+6 $SG2044 DB 0aH, 'Leprechaun: Failure! ''B-tree order 3'' simulated s' DB 'tack overflow!', 0aH, 00H ORG $+6 $SG2048 DB 0aH, 'Leprechaun: Failure! ''B-tree order 3'' simulated s' DB 'tack overflow!', 0aH, 00H ORG $+6 $SG2052 DB 0aH, 'Leprechaun: Failure! ''B-tree order 3'' simulated s' DB 'tack overflow!', 0aH, 00H ORG $+6 $SG2063 DB 0aH, 'Leprechaun: Failure! Increment ''Memory for each Le' DB 'tter'' parameter(third one)!', 0aH, 00H $SG2064 DB 'Input File with a list of TEXTual Files: %s', 0aH, 00H ORG $+3 $SG2065 DB 'Size of all TEXTual Files: %s', 0aH, 00H ORG $+1 $SG2067 DB 'Word count: %s of them %s distinct', 0aH, 00H $SG2068 DB 'Number Of Files: %lu', 0aH, 00H ORG $+2 $SG2069 DB 'Number Of Lines: %lu', 0aH, 00H ORG $+2 $SG2071 DB 'Allocated memory in MB: %lu', 0aH, 00H ORG $+3 $SG2072 DB 'Total Attempts to Find/Put WORDs into B-trees order 3: %' DB 's', 0aH, 00H ORG $+1 $SG2079 DB '%', 00H, 00H ORG $+5 $SG2080 DB 'Words with length %s occupy %sKB of %sKB given i.e. %s%s' DB ' utilization', 0aH, 00H ORG $+2 $SG2082 DB 'Used value for third parameter in KB: %lu', 0aH, 00H ORG $+5 $SG2083 DB 'Leprechaun: Failure! Increment ''Memory for each Letter''' DB ' parameter(third one)!', 0aH, 0aH, 00H $SG2108 DB 0aH, 'Leprechaun: Failure! Increment ''Memory for each Le' DB 'tter'' parameter(third one)!', 0aH, 00H $SG2109 DB 'Input File with a list of TEXTual Files: %s', 0aH, 00H ORG $+3 $SG2110 DB 'Size of all TEXTual Files: %s', 0aH, 00H ORG $+1 $SG2112 DB 'Word count: %s of them %s distinct', 0aH, 00H $SG2113 DB 'Number Of Files: %lu', 0aH, 00H ORG $+2 $SG2114 DB 'Number Of Lines: %lu', 0aH, 00H ORG $+2 $SG2116 DB 'Allocated memory in MB: %lu', 0aH, 00H ORG $+3 $SG2117 DB 'Total Attempts to Find/Put WORDs into B-trees order 3: %' DB 's', 0aH, 00H ORG $+1 $SG2124 DB '%', 00H, 00H ORG $+5 $SG2125 DB 'Words with length %s occupy %sKB of %sKB given i.e. %s%s' DB ' utilization', 0aH, 00H ORG $+2 $SG2127 DB 'Used value for third parameter in KB: %lu', 0aH, 00H ORG $+5 $SG2128 DB 'Leprechaun: Failure! Increment ''Memory for each Letter''' DB ' parameter(third one)!', 0aH, 0aH, 00H $SG2146 DB 0aH, 'Leprechaun: Failure! Increment ''Memory for each Le' DB 'tter'' parameter(third one)!', 0aH, 00H $SG2147 DB 'Input File with a list of TEXTual Files: %s', 0aH, 00H ORG $+3 $SG2148 DB 'Size of all TEXTual Files: %s', 0aH, 00H ORG $+1 $SG2150 DB 'Word count: %s of them %s distinct', 0aH, 00H $SG2151 DB 'Number Of Files: %lu', 0aH, 00H ORG $+2 $SG2152 DB 'Number Of Lines: %lu', 0aH, 00H ORG $+2 $SG2154 DB 'Allocated memory in MB: %lu', 0aH, 00H ORG $+3 $SG2155 DB 'Total Attempts to Find/Put WORDs into B-trees order 3: %' DB 's', 0aH, 00H ORG $+1 $SG2162 DB '%', 00H, 00H ORG $+5 $SG2163 DB 'Words with length %s occupy %sKB of %sKB given i.e. %s%s' DB ' utilization', 0aH, 00H ORG $+2 $SG2165 DB 'Used value for third parameter in KB: %lu', 0aH, 00H ORG $+5 $SG2166 DB 'Leprechaun: Failure! Increment ''Memory for each Letter''' DB ' parameter(third one)!', 0aH, 0aH, 00H $SG2176 DB '|; Word count: %s of them %s distinct; Done: %lu/64', 0aH DB 00H ORG $+3 $SG2179 DB '/; Word count: %s of them %s distinct; Done: %lu/64', 0aH DB 00H ORG $+3 $SG2182 DB '-; Word count: %s of them %s distinct; Done: %lu/64', 0aH DB 00H ORG $+3 $SG2185 DB '\; Word count: %s of them %s distinct; Done: %lu/64', 0aH DB 00H ORG $+3 $SG2186 DB 'Flushing unsorted words ...', 0aH, 00H ORG $+3 $SG2189 DB 'wb+', 00H $SG2190 DB 'Leprechaun: Can''t create file %s ', 0aH, 00H ORG $+1 $SG2206 DB 0aH, 'Leprechaun: Failure! BST simulated stack overflow, ' DB 'too high BST!', 0aH, 00H ORG $+5 $SG2224 DB 0aH, 'Leprechaun: Failure! B-tree simulated stack overflo' DB 'w, too high B-tree!', 0aH, 00H ORG $+7 $SG2239 DB 'A(not always THE) Binary-Search-Tree with the longest pa' DB 'th(height, PEAK, number of levels):', 0aH, 00H ORG $+3 $SG2247 DB 0aH, 'Leprechaun: Failure! BST simulated stack overflow, ' DB 'too high BST!', 0aH, 00H ORG $+1 $SG2254 DB '%c', 00H ORG $+1 $SG2256 DB '[', 00H ORG $+2 $SG2258 DB ']', 00H ORG $+2 $SG2263 DB '%c', 00H ORG $+1 $SG2265 DB ']', 00H ORG $+2 $SG2267 DB '[', 00H ORG $+2 $SG2269 DB ' ROOT', 00H ORG $+2 $SG2270 DB 0aH, 00H ORG $+2 $SG2271 DB 'Above Binary-Search-Tree with MaxPEAK = %s has NODEs = %' DB 's and LEAFs = %s', 0aH, 00H ORG $+2 $SG2272 DB 'Legend:', 0aH, 00H ORG $+3 $SG2273 DB 'At left side of the word - ''['' means no left successor' DB 0aH, 00H $SG2274 DB 'At left side of the word - '']'' means left successor ex' DB 'ists', 0aH, 00H $SG2275 DB 'At right side of the word - '']'' means no right success' DB 'or', 0aH, 00H ORG $+2 $SG2276 DB 'At right side of the word - ''['' means right successor ' DB 'exists', 0aH, 00H ORG $+2 $SG2280 DB 'Time for making unsorted wordlist: %d second(s)', 0aH, 00H ORG $+3 $SG2282 DB 'Bytes per second performance: %sB/s', 0aH, 00H ORG $+3 $SG2284 DB 'Words per second performance: %sW/s', 0aH, 00H ORG $+3 $SG2285 DB 'Input File with a list of TEXTual Files: %s', 0aH, 00H ORG $+3 $SG2286 DB 'Size of all TEXTual Files: %s', 0aH, 00H ORG $+1 $SG2288 DB 'Word count: %s of them %s distinct', 0aH, 00H $SG2289 DB 'Number Of Files: %lu', 0aH, 00H ORG $+2 $SG2290 DB 'Number Of Lines: %lu', 0aH, 00H ORG $+2 $SG2292 DB 'Allocated memory in MB: %lu', 0aH, 00H ORG $+3 $SG2293 DB 'Number Of Trees(GREATER THE BETTER): %lu', 0aH, 00H ORG $+2 $SG2294 DB '%', 00H, 00H ORG $+1 $SG2295 DB 'Forest population(Hash Function Quality regarding Collis' DB 'ions i.e. Hash Table Utilization): %lu%s', 0aH, 00H ORG $+6 $SG2296 DB 'Number Of Hash Collisions(Distinct WORDs - Number Of Tre' DB 'es): %lu', 0aH, 00H ORG $+6 $SG2298 DB 'Maximum Attempts to Find/Put a WORD into a Binary-Search' DB '-Tree: ''%s''', 0aH, 00H ORG $+3 $SG2299 DB 'Total Attempts to Find/Put WORDs into Binary-Search-Tree' DB 's: %s', 0aH, 00H ORG $+1 $SG2300 DB 'Total Number of LEAFs in Binary-Search-Trees(GREATER THE' DB ' BETTER): %s', 0aH, 00H ORG $+2 $SG2301 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 $SG2302 DB 'Binary-Search-Tree(1st out of %s) with MaxNODEs = %s has' DB ' PEAK = %s and LEAFs = %s', 0aH, 00H ORG $+5 $SG2303 DB 'Binary-Search-Tree(1st out of %s) with MaxPEAK = ''%s'' ' DB 'has NODEs = %s and LEAFs = %s', 0aH, 00H ORG $+3 $SG2304 DB 'Binary-Search-Tree(1st out of %s) with MaxLEAFs = %s has' DB ' NODEs = %s and PEAK = %s', 0aH, 00H ORG $+1 $SG2306 DB 'Total Attempts to Find/Put WORDs into B-trees order 3: %' DB 's', 0aH, 00H ORG $+1 $SG2313 DB '%', 00H, 00H ORG $+5 $SG2314 DB 'Words with length %s occupy %sKB of %sKB given i.e. %s%s' DB ' utilization', 0aH, 00H ORG $+2 $SG2319 DB '%', 00H, 00H ORG $+1 $SG2320 DB 'Total pseudo(including hash table) memory utilization: %' DB 's%s', 0aH, 00H ORG $+7 $SG2322 DB 'Total real(wordlist''s words VS allocated block) memory ' DB 'utilization: %s/1000', 0aH, 00H ORG $+3 $SG2324 DB 'Used value for third parameter in KB: %lu', 0aH, 00H ORG $+1 $SG2325 DB 'Use next time as third parameter: %lu-', 0aH, 00H $SG2327 DB 'Time for making unsorted wordlist: %d second(s)', 0aH, 00H ORG $+3 $SG2328 DB 'Deallocated memory in MB: %lu', 0aH, 00H ORG $+1 $SG2335 DB 'Sorting(with ''MultiKeyQuickSortX26Sort'' by J. Bentley ' DB 'and R. Sedgewick) ...', 0aH, 00H ORG $+3 $SG2339 DB 'Sort pass %s/26 ...', 0dH, 00H ORG $+3 $SG2347 DB 'Sorting(with ''InsertionSort'') ...', 00H ORG $+2 $SG2350 DB 'Sorting(with ''InsertionX26Sort'') ...', 0aH, 00H ORG $+2 $SG2354 DB 'Sort pass %s/26 ...', 0dH, 00H ORG $+7 $SG2361 DB 'Sorting(with ''MultiKeyQuickSortSort'' by J. Bentley and' DB ' R. Sedgewick) ...', 00H ORG $+7 $SG2364 DB 'Sorting(with ''MultiKeyQuickSortX26Sort'' by J. Bentley ' DB 'and R. Sedgewick) ...', 0aH, 00H ORG $+3 $SG2368 DB 'Sort pass %s/26 ...', 0dH, 00H ORG $+3 $SG2373 DB 0aH, 'Flushing sorted words ...', 0aH, 00H $SG2376 DB 'wb+', 00H $SG2377 DB 'Leprechaun: Can''t create file %s ', 0aH, 00H ORG $+1 $SG2381 DB '%s', 00H ORG $+1 $SG2385 DB 'Time for sorting unsorted wordlist: %d second(s)', 0aH, 00H ORG $+2 $SG2388 DB 'a+', 00H ORG $+1 $SG2389 DB 'Leprechaun.LOG', 00H ORG $+1 $SG2390 DB 'Leprechaun: Can''t open file Leprechaun.LOG.', 0aH, 00H ORG $+3 $SG2392 DB 'Time for sorting unsorted wordlist: %d second(s)', 0aH, 0aH DB 00H ORG $+1 $SG2393 DB 'Leprechaun: Done.', 0aH, 00H ORG $+1 $SG2395 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 d:\leprechaun_r13++\visual c++ toolkit 2003\leprechaun.c ; Line 84 sub esp, 8 ; Line 85 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 $L1285 push ebx push esi mov DWORD PTR tv198[esp+20], eax push edi npad 1 $L2412: ; Line 86 cmp ecx, DWORD PTR _a$[esp+20] jbe SHORT $L1284 $L1286: ; Line 88 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 $L1291 npad 7 $L1289: test al, al je SHORT $L1291 mov al, BYTE PTR [edx+1] inc edx inc esi cmp al, BYTE PTR [esi] je SHORT $L1289 $L1291: ; Line 90 mov al, BYTE PTR [edx] cmp al, BYTE PTR [esi] jbe SHORT $L2411 mov eax, DWORD PTR _a$[esp+20] ; Line 92 mov DWORD PTR [ecx], edi mov DWORD PTR [ecx-4], ebx add ecx, -4 ; fffffffcH cmp ecx, eax ja SHORT $L1286 $L2411: ; Line 86 mov ecx, DWORD PTR _pi$[esp+24] $L1284: ; Line 85 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 $L2412 pop edi pop esi pop ebx $L1285: pop ebp ; Line 94 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 172 push esi mov esi, DWORD PTR _n$[esp] test esi, esi jle SHORT $L2415 mov ecx, DWORD PTR _b$[esp] mov eax, DWORD PTR _a$[esp] push edi $L1306: ; Line 174 mov edi, DWORD PTR [ecx] mov edx, DWORD PTR [eax] mov DWORD PTR [eax], edi ; Line 175 mov DWORD PTR [ecx], edx add eax, 4 add ecx, 4 dec esi jne SHORT $L1306 pop edi $L2415: pop esi ; Line 177 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 184 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 185 je SHORT $L1318 push ebp push edi ; Line 186 mov edi, DWORD PTR _c$[esp+12] mov ebp, DWORD PTR [edi] movzx ecx, BYTE PTR [ecx+ebp] cmp ecx, edx je SHORT $L1324 cmp ecx, esi je SHORT $L1324 ; Line 190 cmp edx, esi jge SHORT $L2426 cmp esi, ecx jl SHORT $L2429 cmp edx, ecx jl SHORT $L1324 pop edi pop ebp pop esi pop ebx ; Line 191 ret 0 $L2426: ; Line 190 cmp esi, ecx jle SHORT $L2424 $L2429: pop edi pop ebp pop esi mov eax, ebx pop ebx ; Line 191 ret 0 $L2424: ; Line 190 cmp edx, ecx jl SHORT $L2428 $L1324: ; Line 187 mov eax, edi $L2428: pop edi pop ebp $L1318: pop esi pop ebx ; Line 191 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 195 push ecx ; Line 196 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 $L1339 push ebx push ebp mov ebp, DWORD PTR _d$[esp+8] push esi push edi mov DWORD PTR tv198[esp+16], eax $L2439: ; Line 197 cmp ecx, DWORD PTR _a$[esp+16] jbe SHORT $L1338 $L1340: ; Line 199 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 $L1345 npad 7 $L1343: test al, al je SHORT $L1345 mov al, BYTE PTR [edx+1] inc edx inc esi cmp al, BYTE PTR [esi] je SHORT $L1343 $L1345: ; Line 201 mov al, BYTE PTR [edx] cmp al, BYTE PTR [esi] jbe SHORT $L2438 mov eax, DWORD PTR _a$[esp+16] ; Line 203 mov DWORD PTR [ecx], edi mov DWORD PTR [ecx-4], ebx add ecx, -4 ; fffffffcH cmp ecx, eax ja SHORT $L1340 $L2438: ; Line 197 mov ecx, DWORD PTR _pi$[esp+20] $L1338: ; Line 196 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 $L2439 pop edi pop esi pop ebp pop ebx $L1339: ; Line 205 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 208 sub esp, 16 ; 00000010H push ebx push ebp ; Line 210 mov ebp, DWORD PTR _a$[esp+20] push esi push edi mov edi, DWORD PTR _n$[esp+28] cmp edi, 20 ; 00000014H jl $L2473 $L2463: ; Line 215 mov eax, edi cdq sub eax, edx sar eax, 1 ; Line 216 lea ebx, DWORD PTR [ebp+edi*4] lea esi, DWORD PTR [ebp+eax*4] ; Line 217 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 $L1367 ; Line 218 cdq and edx, 7 add eax, edx sar eax, 3 ; Line 219 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 220 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 221 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 $L1367: ; Line 223 mov eax, DWORD PTR _depth$[esp+28] push eax push edi push esi push ecx call _med3func ; Line 224 mov edx, DWORD PTR [eax] mov ecx, DWORD PTR [ebp] mov DWORD PTR [ebp], edx mov DWORD PTR [eax], ecx ; Line 225 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 226 lea eax, DWORD PTR [ebp+4] ; Line 227 mov edx, ebx add esp, 16 ; 00000010H mov edi, eax mov DWORD PTR _pd$[esp+32], edx $L1369: ; Line 229 cmp eax, edx ja SHORT $L2483 npad 4 $L1372: 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 $L2468 ; Line 230 jne SHORT $L2485 mov ecx, DWORD PTR [edi] mov DWORD PTR [edi], esi mov DWORD PTR [eax], ecx add edi, 4 $L2485: ; Line 231 add eax, 4 cmp eax, edx jbe SHORT $L1372 $L2483: ; Line 243 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 $L2442 mov edi, ebx $L2442: lea esi, DWORD PTR [edi*4] mov ecx, eax sub ecx, esi test edi, edi jle SHORT $L2476 mov esi, ebp sub esi, ecx mov DWORD PTR tv157[esp+32], edi npad 7 $L2447: 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 $L2447 mov ebx, DWORD PTR tv373[esp+32] $L2476: ; Line 244 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 $L2444 mov edx, edi $L2444: lea edi, DWORD PTR [edx*4] sub ecx, edi test edx, edx jle SHORT $L2478 sub eax, ecx mov DWORD PTR tv71[esp+32], edx $L2456: 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 $L2456 $L2478: ; Line 245 cmp ebx, 1 ; Line 246 mov edi, DWORD PTR _depth$[esp+28] jle SHORT $L1380 push edi push ebx push ebp call _mkqsort add esp, 12 ; 0000000cH $L1380: ; Line 247 mov edx, DWORD PTR [ebp+ebx*4] cmp BYTE PTR [edi+edx], 0 lea eax, DWORD PTR [ebp+ebx*4] je SHORT $L2493 ; Line 248 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 $L2493: ; Line 249 cmp esi, 1 jle SHORT $L1382 ; Line 250 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 $L2463 $L2473: ; Line 211 mov eax, DWORD PTR _depth$[esp+28] push eax push edi push ebp call _inssort add esp, 12 ; 0000000cH $L1382: pop edi pop esi pop ebp pop ebx ; Line 251 add esp, 16 ; 00000010H ret 0 $L2468: ; Line 233 cmp eax, edx ja $L2483 npad 8 $L1376: 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 $L1377 ; Line 234 test ecx, ecx jne SHORT $L2486 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 $L2486: ; Line 235 sub edx, 4 cmp eax, edx jbe SHORT $L1376 ; Line 233 jmp $L2483 $L1377: ; Line 237 cmp eax, edx ja $L2483 ; Line 238 mov esi, DWORD PTR [edx] mov ecx, DWORD PTR [eax] mov DWORD PTR [eax], esi mov DWORD PTR [edx], ecx ; Line 239 add eax, 4 ; Line 240 sub edx, 4 ; Line 241 jmp $L1369 _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 253 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 258 push ecx push ebx push ebp mov ebp, DWORD PTR _file_name$[esp+8] push esi push edi ; Line 265 push OFFSET FLAT:$SG1403 push ebp mov DWORD PTR _nlines$[esp+28], 0 call _fopen mov esi, eax add esp, 8 test esi, esi jne SHORT $L1402 ; Line 266 push ebp push OFFSET FLAT:$SG1404 call _printf ; Line 267 push -1 call _exit add esp, 12 ; 0000000cH $L1402: ; Line 269 push 2 push 0 push esi call _fseek ; Line 270 push esi call _ftell ; Line 271 push 0 push 0 push esi mov edi, eax call _fseek ; Line 272 push edi call _malloc mov ebx, eax add esp, 32 ; 00000020H test ebx, ebx jne SHORT $L1409 pop edi pop esi pop ebp or eax, -1 pop ebx ; Line 312 pop ecx ret 0 $L1409: ; Line 273 mov eax, edi shr eax, 20 ; 00000014H inc eax push eax push OFFSET FLAT:$SG1411 call _printf ; Line 274 push esi push edi push 1 push ebx call _fread add esp, 24 ; 00000018H cmp eax, edi jae SHORT $L1412 ; Line 275 push ebp push OFFSET FLAT:$SG1413 call _printf ; Line 276 push -1 call _exit add esp, 12 ; 0000000cH $L1412: ; Line 278 push esi call _fclose ; Line 282 lea esi, DWORD PTR [ebx+edi] add esp, 4 cmp ebx, esi mov eax, ebx jae SHORT $L1416 ; Line 284 cmp eax, esi jae SHORT $L1419 npad 5 $L1418: cmp BYTE PTR [eax], 10 ; 0000000aH je SHORT $L1419 inc eax cmp eax, esi jb SHORT $L1418 $L1419: ; Line 288 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 $L1418 $L1416: ; Line 292 mov edi, DWORD PTR _nlines$[esp+20] shl edi, 2 push edi call _malloc mov ebp, eax add esp, 4 ; Line 293 test ebp, ebp jne SHORT $L1423 ; Line 294 push OFFSET FLAT:$SG1424 call _puts add esp, 4 pop edi pop esi pop ebp mov eax, 1 pop ebx ; Line 312 pop ecx ret 0 $L1423: ; Line 295 shr edi, 20 ; 00000014H inc edi push edi push OFFSET FLAT:$SG1426 call _printf ; Line 296 mov ecx, DWORD PTR _lines$[esp+24] add esp, 8 ; Line 300 xor eax, eax ; Line 302 cmp ebx, esi mov DWORD PTR [ecx], ebp mov edx, ebx jae SHORT $L1394 npad 4 $L1428: ; Line 304 cmp edx, esi mov ecx, edx jae SHORT $L1432 $L1431: cmp BYTE PTR [ecx], 10 ; 0000000aH je SHORT $L1432 inc ecx cmp ecx, esi jb SHORT $L1431 $L1432: ; Line 305 dec ecx mov BYTE PTR [ecx], 0 ; Line 307 mov DWORD PTR [ebp+eax*4], edx ; Line 308 lea edx, DWORD PTR [ecx+2] ; Line 309 inc eax cmp edx, esi jb SHORT $L1428 $L1394: pop edi pop esi pop ebp pop ebx ; Line 312 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 328 mov eax, DWORD PTR _is_neg$[esp-4] sub esp, 8 push esi mov esi, DWORD PTR _buf$[esp+8] push edi ; Line 331 mov edi, DWORD PTR _val$[esp+12] test eax, eax mov eax, DWORD PTR _val$[esp+16] je SHORT $L1447 mov BYTE PTR [esi], 45 ; 0000002dH inc esi neg edi adc eax, 0 neg eax $L1447: push ebx push ebp ; Line 345 mov ebp, DWORD PTR _radix$[esp+20] mov DWORD PTR _firstdig$[esp+20], esi mov DWORD PTR tv164[esp+24], 0 $L1450: 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 $L1454 ; Line 342 add cl, 87 ; 00000057H ; Line 343 jmp SHORT $L2516 $L1454: ; Line 344 add cl, 48 ; 00000030H $L2516: mov BYTE PTR [esi], cl inc esi ; Line 345 test eax, eax ja SHORT $L1450 jb SHORT $L2513 test edi, edi ja SHORT $L1450 $L2513: pop ebp ; Line 350 mov BYTE PTR [esi], 0 dec esi pop ebx npad 5 $L1458: ; Line 354 mov ecx, DWORD PTR _firstdig$[esp+12] mov dl, BYTE PTR [ecx] mov al, BYTE PTR [esi] mov BYTE PTR [esi], dl ; Line 356 dec esi mov BYTE PTR [ecx], al ; Line 357 inc ecx ; Line 358 cmp ecx, esi mov DWORD PTR _firstdig$[esp+12], ecx jb SHORT $L1458 pop edi pop esi ; Line 359 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 370 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 $L2518 test edx, edx jg SHORT $L2518 jl SHORT $L2520 test edi, edi jae SHORT $L2518 $L2520: mov eax, 1 jmp SHORT $L2519 $L2518: xor eax, eax $L2519: 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 371 mov eax, esi pop esi ; Line 372 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 380 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 381 mov eax, esi pop esi ; Line 382 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 394 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 395 mov edi, ebp $L1490: ; Line 397 mov al, BYTE PTR [edi+1] inc edi test al, al jne SHORT $L1490 ; Line 398 dec edi ; Line 400 mov BYTE PTR [ebp+26], 0 ; Line 401 mov ebx, 1 ; Line 402 xor esi, esi lea ecx, DWORD PTR [ebp+25] jmp SHORT $L1493 $L2525: ; Line 398 mov ebp, DWORD PTR _buf$[esp+12] $L1493: ; Line 406 inc esi cmp ebp, edi ; Line 408 mov ebp, 3 ja SHORT $L1496 mov al, BYTE PTR [edi] mov BYTE PTR [ecx], al dec edi ; Line 413 jmp SHORT $L2527 $L1496: ; Line 414 mov BYTE PTR [ecx], 48 ; 00000030H $L2527: ; Line 415 mov eax, esi cdq idiv ebp test edx, edx jne SHORT $L1501 ; Line 416 inc ebx dec ecx ; Line 417 mov BYTE PTR [ecx], 44 ; 0000002cH $L1501: ; Line 420 inc ebx dec ecx ; Line 421 cmp ebx, 26 ; 0000001aH jle SHORT $L2525 ; Line 422 mov eax, DWORD PTR _buf$[esp+12] pop edi pop esi pop ebp pop ebx ; Line 423 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 435 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 436 mov ecx, edi $L1515: ; Line 438 mov al, BYTE PTR [ecx+1] inc ecx test al, al jne SHORT $L1515 ; Line 439 dec ecx ; Line 443 xor ebp, ebp ; Line 444 cmp edi, ecx mov BYTE PTR [edi+26], 0 mov ebx, 1 ja SHORT $L1520 push esi lea esi, DWORD PTR [edi+25] jmp SHORT $L1519 $L2532: ; Line 439 mov ebp, DWORD PTR _pxnman$[esp+12] $L1519: ; Line 446 mov al, BYTE PTR [ecx] inc ebp mov BYTE PTR [esi], al ; Line 448 mov eax, ebp mov DWORD PTR _pxnman$[esp+12], ebp cdq mov ebp, 3 idiv ebp dec ecx test edx, edx jne SHORT $L1521 cmp edi, ecx ja SHORT $L1521 ; Line 449 inc ebx dec esi ; Line 450 mov BYTE PTR [esi], 44 ; 0000002cH $L1521: ; Line 452 inc ebx dec esi cmp ecx, edi jae SHORT $L2532 pop esi $L1520: ; Line 454 mov eax, edi pop edi sub eax, ebx pop ebp add eax, 27 ; 0000001bH pop ebx ; Line 455 ret 0 __ui64toaKAZEcomma ENDP _TEXT ENDS PUBLIC _KuxHash ; Function compile flags: /Ogty _TEXT SEGMENT _str$ = 8 ; size = 4 _KuxHash PROC NEAR ; Line 461 mov edx, DWORD PTR _str$[esp-4] mov cl, BYTE PTR [edx] xor al, al test cl, cl je SHORT $L1531 npad 4 $L1530: ; Line 462 xor al, cl mov cl, BYTE PTR [edx+1] inc edx test cl, cl jne SHORT $L1530 $L1531: ; Line 466 ret 0 _KuxHash ENDP _TEXT ENDS PUBLIC _KuxHash2 ; Function compile flags: /Ogty _TEXT SEGMENT _str$ = 8 ; size = 4 _KuxHash2 PROC NEAR ; Line 469 push esi ; Line 472 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 $L1541 $L1540: ; Line 473 movsx ecx, BYTE PTR [edx+esi] xor edi, ecx ; Line 475 imul ecx, edx add eax, ecx mov cl, BYTE PTR [edx+esi+1] inc edx test cl, cl jne SHORT $L1540 $L1541: ; Line 479 xor edx, edx mov ecx, 15 ; 0000000fH div ecx shl edi, 4 mov eax, edx or eax, edi pop edi pop esi ; Line 481 ret 0 _KuxHash2 ENDP _TEXT ENDS PUBLIC _KuxHash3 ; Function compile flags: /Ogty _TEXT SEGMENT _str$ = 8 ; size = 4 _KuxHash3 PROC NEAR ; Line 488 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 $L1551 push ebx push edi mov edi, 1 sub edi, ecx npad 8 $L1550: ; Line 489 movsx edx, BYTE PTR [ecx] ; Line 491 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 $L1550 pop edi pop ebx $L1551: ; Line 501 xor edx, edx mov ecx, 63 ; 0000003fH div ecx shl esi, 6 mov eax, edx or eax, esi pop esi ; Line 504 ret 0 _KuxHash3 ENDP _TEXT ENDS PUBLIC _KuxHash3plus ; Function compile flags: /Ogty _TEXT SEGMENT _str$ = 8 ; size = 4 _KuxHash3plus PROC NEAR ; Line 511 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 $L1561 push ebx push edi mov edi, 1 sub edi, ecx npad 8 $L1560: ; Line 512 movsx edx, BYTE PTR [ecx] ; Line 514 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 $L1560 pop edi pop ebx $L1561: ; Line 527 xor edx, edx mov ecx, 251 ; 000000fbH div ecx shl esi, 8 mov eax, edx ; Line 529 or eax, esi and eax, 8191 ; 00001fffH pop esi ; Line 530 ret 0 _KuxHash3plus ENDP _TEXT ENDS PUBLIC _KuxHash4 ; Function compile flags: /Ogty _TEXT SEGMENT _str$ = 8 ; size = 4 _KuxHash4 PROC NEAR ; Line 584 push esi ; Line 586 mov esi, DWORD PTR _str$[esp] mov cl, BYTE PTR [esi] xor eax, eax test cl, cl je SHORT $L1569 npad 3 $L1567: ; Line 588 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 $L1567 $L1569: pop esi ; Line 592 ret 0 _KuxHash4 ENDP _TEXT ENDS PUBLIC _floorLog2 ; Function compile flags: /Ogty _TEXT SEGMENT _n$ = 8 ; size = 4 _floorLog2 PROC NEAR ; Line 652 mov ecx, DWORD PTR _n$[esp-4] xor eax, eax cmp ecx, 65536 ; 00010000H jb SHORT $L1575 shr ecx, 16 ; 00000010H mov eax, 16 ; 00000010H $L1575: ; Line 653 cmp ecx, 256 ; 00000100H jb SHORT $L1576 shr ecx, 8 add eax, 8 $L1576: ; Line 654 cmp ecx, 16 ; 00000010H jb SHORT $L1577 shr ecx, 4 add eax, 4 $L1577: ; Line 655 cmp ecx, 4 jb SHORT $L1578 shr ecx, 2 add eax, 2 $L1578: ; Line 656 cmp ecx, 2 jb SHORT $L1579 inc eax $L1579: ; Line 657 test ecx, ecx jne SHORT $L2552 or eax, -1 $L2552: ; Line 658 ret 0 _floorLog2 ENDP _TEXT ENDS PUBLIC _main EXTRN __lseeki64:NEAR EXTRN __telli64:NEAR EXTRN _free:NEAR EXTRN _fprintf:NEAR EXTRN _fwrite:NEAR EXTRN __aulldiv:NEAR EXTRN __chkstk:NEAR EXTRN _atoi:NEAR EXTRN _fileno:NEAR EXTRN _time:NEAR ; Function compile flags: /Ogty _TEXT SEGMENT tv4608 = -892416 ; size = 4 _FoundInLinkedList$ = -892416 ; size = 4 _j$ = -892416 ; size = 4 _WORDcountDistinct$ = -892412 ; size = 4 _workbyte$ = -892405 ; size = 1 tv5720 = -892404 ; size = 4 _Melnitchka$ = -892404 ; size = 4 _BSTcurrentPeak$ = -892404 ; size = 4 _PseudoLinkedPointerNEW$ = -892400 ; size = 4 _BSTcurrentPeakMAX$ = -892400 ; size = 4 _PseudoLinkedPointerNEWold$ = -892396 ; size = 4 _LetterOffset$ = -892396 ; size = 4 _BSTcurrentLeaf$ = -892396 ; size = 4 tv5831 = -892392 ; size = 4 tv4645 = -892392 ; size = 4 tv4238 = -892392 ; size = 4 _BSTcurrentNode$ = -892392 ; size = 4 _WORDcountAttemptsToPut$ = -892388 ; size = 8 $T2665 = -892380 ; size = 8 tv878 = -892380 ; size = 8 _i$ = -892380 ; size = 8 _fp_outLOG$ = -892372 ; size = 4 _WORDcount$ = -892368 ; size = 8 _BufStart$ = -892360 ; size = 4 tv4805 = -892356 ; size = 8 _size_inLINESIXFOUR$ = -892356 ; size = 8 _CRdLFa$ = -892348 ; size = 2 _fp_out$ = -892344 ; size = 4 _workKoffset$ = -892344 ; size = 4 _backup$ = -892340 ; size = 4 tv2645 = -892336 ; size = 4 _PseudoLinkedPointerNEWleft$ = -892336 ; size = 4 _k$ = -892336 ; size = 4 _FilesLEN$ = -892332 ; size = 8 _NumberOfLines$ = -892324 ; size = 8 _NumberOfFiles$ = -892316 ; size = 4 tv4506 = -892312 ; size = 4 _Thunderwith$ = -892308 ; size = 4 _TotalWLchars$ = -892304 ; size = 4 _WHOLEletter_BufferSize$ = -892300 ; size = 4 _t2$ = -892296 ; size = 4 _LetterBuffer$ = -892292 ; size = 4 _llTOaDigits$ = -892288 ; size = 27 _BSTwithMAXpeak$ = -892260 ; size = 4 _BSTorBtree$ = -892256 ; size = 4 _pointerflush$ = -892252 ; size = 4 _BSTwithMAXnode$ = -892248 ; size = 4 _BSTcurrentPeakMAXqUANTITY$ = -892244 ; size = 4 tv5448 = -892240 ; size = 4 tv4610 = -892240 ; size = 4 tv4625 = -892236 ; size = 4 tv4604 = -892236 ; size = 4 _BSTcurrentLeafMAXqUANTITY$ = -892232 ; size = 4 _BSTcurrentNodeMAXqUANTITY$ = -892228 ; size = 4 _t1$ = -892224 ; size = 4 tv4421 = -892220 ; size = 8 _PEAKibBST$ = -892220 ; size = 4 _PseudoLinkedPointerNEWright$ = -892220 ; size = 4 _StackPtr$ = -892220 ; size = 4 _fp_inLINE$ = -892220 ; size = 4 _MAXusedBufferABS$ = -892212 ; size = 4 _POffsetInLEAF$ = -892208 ; size = 4 _TAILOffetFromStartBUKVA$ = -892204 ; size = 4 _BSTwithMAXleaf$ = -892200 ; size = 4 _Utiliza1$ = -892196 ; size = 4 _jBSTwithMAXpeak$ = -892192 ; size = 4 _fp_in$ = -892192 ; size = 4 _Utiliza2$ = -892188 ; size = 4 _BSTwithMAXpeakLEAF$ = -892184 ; size = 4 _NumberOfTrees$ = -892180 ; size = 4 _iBSTwithMAXpeak$ = -892176 ; size = 4 _Slot$ = -892176 ; size = 4 _llTOaDigits2$ = -892172 ; size = 27 _BSTsTotalLEAFs$ = -892144 ; size = 4 _BSTwithMAXpeakNODE$ = -892140 ; size = 4 _t3$ = -892136 ; size = 4 _wrd$ = -892132 ; size = 32 tv4641 = -892100 ; size = 4 _BSTwithMAXleafNODE$ = -892096 ; size = 4 _BSTwithMAXleafPEAK$ = -892092 ; size = 4 _BSTwithMAXnodeLEAF$ = -892088 ; size = 4 _BSTwithMAXnodePEAK$ = -892084 ; size = 4 _size_in$ = -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 663 mov eax, 892416 ; 000d9e00H call __chkstk push ebx ; Line 698 mov ebx, 1 push esi xor esi, esi ; Line 760 push OFFSET FLAT:$SG1679 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 761 push OFFSET FLAT:$SG1680 call _puts ; Line 762 push OFFSET FLAT:$SG1681 call _puts ; Line 763 push OFFSET FLAT:$SG1682 call _puts ; Line 766 mov eax, DWORD PTR _argc$[esp+892436] add esp, 16 ; 00000010H cmp eax, 3 je $L1683 cmp eax, 4 je $L1683 cmp eax, 5 je $L1683 cmp eax, 6 je $L1683 ; Line 768 push OFFSET FLAT:$SG1684 call _puts ; Line 769 push OFFSET FLAT:$SG1685 call _puts ; Line 770 push OFFSET FLAT:$SG1686 call _puts ; Line 771 push OFFSET FLAT:$SG1687 call _puts ; Line 772 push OFFSET FLAT:$SG1688 call _puts ; Line 773 push OFFSET FLAT:$SG1689 call _puts ; Line 774 push OFFSET FLAT:$SG1690 call _puts ; Line 775 push OFFSET FLAT:$SG1691 call _puts ; Line 776 push OFFSET FLAT:$SG1692 call _puts ; Line 777 push OFFSET FLAT:$SG1693 call _puts ; Line 778 push OFFSET FLAT:$SG1694 call _puts ; Line 779 push OFFSET FLAT:$SG1695 call _puts ; Line 780 push OFFSET FLAT:$SG1696 call _puts ; Line 781 push OFFSET FLAT:$SG1697 call _puts ; Line 782 push OFFSET FLAT:$SG1698 call _puts ; Line 783 push OFFSET FLAT:$SG1699 call _puts add esp, 64 ; 00000040H ; Line 784 push OFFSET FLAT:$SG1700 call _puts ; Line 785 push OFFSET FLAT:$SG1701 call _puts ; Line 786 push OFFSET FLAT:$SG1702 call _puts ; Line 787 push OFFSET FLAT:$SG1703 call _puts ; Line 788 push OFFSET FLAT:$SG1704 call _puts ; Line 789 push OFFSET FLAT:$SG1705 call _puts ; Line 790 push OFFSET FLAT:$SG1706 call _puts ; Line 791 push OFFSET FLAT:$SG1707 call _puts ; Line 792 push OFFSET FLAT:$SG1708 call _puts ; Line 793 push OFFSET FLAT:$SG1709 call _puts ; Line 794 push OFFSET FLAT:$SG1710 call _puts ; Line 795 push OFFSET FLAT:$SG1711 call _puts ; Line 796 push OFFSET FLAT:$SG1712 call _puts ; Line 797 push OFFSET FLAT:$SG1713 call _puts ; Line 798 push OFFSET FLAT:$SG1714 call _puts ; Line 799 push OFFSET FLAT:$SG1715 call _puts add esp, 64 ; 00000040H ; Line 800 push OFFSET FLAT:$SG1716 call _puts ; Line 801 push OFFSET FLAT:$SG1717 call _puts ; Line 802 push OFFSET FLAT:$SG1718 call _puts ; Line 803 push OFFSET FLAT:$SG1719 call _puts ; Line 804 push OFFSET FLAT:$SG1720 call _puts ; Line 805 push OFFSET FLAT:$SG1721 call _puts ; Line 806 push OFFSET FLAT:$SG1722 call _puts ; Line 807 push OFFSET FLAT:$SG1723 call _puts ; Line 808 push OFFSET FLAT:$SG1724 call _puts ; Line 809 push OFFSET FLAT:$SG1725 call _puts ; Line 810 push OFFSET FLAT:$SG1726 call _puts ; Line 811 push OFFSET FLAT:$SG1727 call _puts ; Line 812 push OFFSET FLAT:$SG1728 call _puts ; Line 813 push OFFSET FLAT:$SG1729 call _puts ; Line 814 push OFFSET FLAT:$SG1730 call _puts ; Line 815 push OFFSET FLAT:$SG1731 call _puts add esp, 64 ; 00000040H ; Line 816 push OFFSET FLAT:$SG1732 call _puts ; Line 817 push OFFSET FLAT:$SG1733 call _puts ; Line 818 push OFFSET FLAT:$SG1734 call _puts ; Line 819 push OFFSET FLAT:$SG1735 call _puts ; Line 820 push OFFSET FLAT:$SG1736 call _puts ; Line 821 push OFFSET FLAT:$SG1737 call _puts ; Line 822 push OFFSET FLAT:$SG1738 call _puts ; Line 823 push OFFSET FLAT:$SG1739 call _puts ; Line 824 push OFFSET FLAT:$SG1740 call _puts ; Line 825 push OFFSET FLAT:$SG1741 call _puts ; Line 826 push OFFSET FLAT:$SG1742 call _puts ; Line 827 push OFFSET FLAT:$SG1743 call _puts ; Line 828 push OFFSET FLAT:$SG1744 call _puts ; Line 829 push OFFSET FLAT:$SG1745 call _puts ; Line 830 push OFFSET FLAT:$SG1746 call _puts ; Line 831 push OFFSET FLAT:$SG1747 call _puts add esp, 64 ; 00000040H ; Line 832 push OFFSET FLAT:$SG1748 call _puts ; Line 833 push OFFSET FLAT:$SG1749 call _puts ; Line 834 push OFFSET FLAT:$SG1750 call _puts ; Line 835 push OFFSET FLAT:$SG1751 call _puts ; Line 836 push OFFSET FLAT:$SG1752 call _puts ; Line 837 push OFFSET FLAT:$SG1753 call _puts ; Line 838 push OFFSET FLAT:$SG1754 call _puts ; Line 839 push OFFSET FLAT:$SG1755 call _puts ; Line 840 push OFFSET FLAT:$SG1756 call _puts ; Line 841 push OFFSET FLAT:$SG1757 call _puts ; Line 842 push OFFSET FLAT:$SG1758 call _puts ; Line 844 push OFFSET FLAT:$SG1759 call _puts ; Line 845 push OFFSET FLAT:$SG1760 call _puts ; Line 846 push OFFSET FLAT:$SG1761 call _puts ; Line 847 push OFFSET FLAT:$SG1762 call _puts ; Line 848 push OFFSET FLAT:$SG1763 call _puts add esp, 64 ; 00000040H ; Line 849 push OFFSET FLAT:$SG1764 call _puts ; Line 850 push OFFSET FLAT:$SG1765 call _puts ; Line 851 push OFFSET FLAT:$SG1766 call _puts ; Line 852 push OFFSET FLAT:$SG1767 call _puts ; Line 853 push OFFSET FLAT:$SG1768 call _puts ; Line 854 push OFFSET FLAT:$SG1769 call _puts ; Line 855 push OFFSET FLAT:$SG1770 call _puts ; Line 856 push OFFSET FLAT:$SG1771 call _puts ; Line 857 push OFFSET FLAT:$SG1772 call _puts ; Line 858 push OFFSET FLAT:$SG1773 call _puts ; Line 859 push OFFSET FLAT:$SG1774 call _puts ; Line 860 push OFFSET FLAT:$SG1775 call _puts ; Line 861 push OFFSET FLAT:$SG1776 call _puts ; Line 862 push OFFSET FLAT:$SG1777 call _puts ; Line 863 push OFFSET FLAT:$SG1778 call _puts ; Line 864 push OFFSET FLAT:$SG1779 call _puts add esp, 64 ; 00000040H ; Line 865 push OFFSET FLAT:$SG1780 call _puts ; Line 866 push OFFSET FLAT:$SG1781 call _puts ; Line 867 push OFFSET FLAT:$SG1782 call _puts ; Line 868 push OFFSET FLAT:$SG1783 call _puts ; Line 869 push OFFSET FLAT:$SG1784 call _puts ; Line 870 push OFFSET FLAT:$SG1785 call _puts ; Line 871 push OFFSET FLAT:$SG1786 call _puts ; Line 872 push OFFSET FLAT:$SG1787 call _puts ; Line 873 push OFFSET FLAT:$SG1788 call _puts ; Line 874 push OFFSET FLAT:$SG1789 call _puts ; Line 875 push OFFSET FLAT:$SG1790 call _puts ; Line 876 push OFFSET FLAT:$SG1791 call _puts ; Line 877 push OFFSET FLAT:$SG1792 call _puts ; Line 878 push OFFSET FLAT:$SG1793 call _puts ; Line 879 push OFFSET FLAT:$SG1794 call _puts ; Line 880 push OFFSET FLAT:$SG1795 call _puts add esp, 64 ; 00000040H ; Line 881 push OFFSET FLAT:$SG1796 call _puts ; Line 882 push OFFSET FLAT:$SG1797 call _puts ; Line 883 push OFFSET FLAT:$SG1798 call _puts ; Line 884 push OFFSET FLAT:$SG1799 call _puts ; Line 885 push OFFSET FLAT:$SG1800 call _puts ; Line 886 push OFFSET FLAT:$SG1801 call _puts ; Line 887 push OFFSET FLAT:$SG1802 call _puts ; Line 888 push OFFSET FLAT:$SG1803 call _puts ; Line 889 push OFFSET FLAT:$SG1804 call _puts ; Line 891 push OFFSET FLAT:$SG1805 call _puts ; Line 892 push OFFSET FLAT:$SG1806 call _puts ; Line 893 push OFFSET FLAT:$SG1807 call _puts ; Line 894 push OFFSET FLAT:$SG1808 call _puts ; Line 895 push OFFSET FLAT:$SG1809 call _puts ; Line 896 push OFFSET FLAT:$SG1810 call _puts ; Line 897 push OFFSET FLAT:$SG1811 call _puts add esp, 64 ; 00000040H ; Line 898 push OFFSET FLAT:$SG1812 call _puts ; Line 899 push OFFSET FLAT:$SG1813 call _puts ; Line 900 push OFFSET FLAT:$SG1814 call _puts ; Line 901 push OFFSET FLAT:$SG1815 call _puts ; Line 902 push OFFSET FLAT:$SG1816 call _puts ; Line 903 push OFFSET FLAT:$SG1817 call _puts ; Line 904 push OFFSET FLAT:$SG1818 call _puts ; Line 905 push OFFSET FLAT:$SG1819 call _puts ; Line 906 push OFFSET FLAT:$SG1820 call _puts ; Line 907 push OFFSET FLAT:$SG1821 call _puts ; Line 908 push OFFSET FLAT:$SG1822 call _puts ; Line 909 push OFFSET FLAT:$SG1823 call _puts add esp, 48 ; 00000030H pop esi ; Line 910 mov eax, ebx pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L1683: ; Line 917 mov eax, 4 mov DWORD PTR _GRMBLhill$[esp+892440], eax ; Line 936 mov DWORD PTR _GRMBLhill$[esp+892516], eax push ebp ; Line 937 mov eax, 3 mov DWORD PTR _GRMBLhill$[esp+892524], eax ; Line 938 mov DWORD PTR _GRMBLhill$[esp+892528], eax ; Line 946 mov eax, DWORD PTR _argv$[esp+892424] mov ecx, DWORD PTR [eax+4] push edi mov ebp, 2 push OFFSET FLAT:$SG1826 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 $L1825 ; Line 947 mov edx, DWORD PTR _argv$[esp+892428] mov eax, DWORD PTR [edx+4] push eax push OFFSET FLAT:$SG1827 call _printf add esp, 8 pop edi pop ebp pop esi mov eax, ebx pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L1825: ; Line 949 push ebp push esi push edi call _fseek ; Line 950 push edi call _ftell ; Line 951 push esi mov ebp, eax push esi push edi mov DWORD PTR _size_in$[esp+892460], ebp call _fseek ; Line 952 push ebp push OFFSET FLAT:$SG1828 call _printf ; Line 954 push OFFSET FLAT:$SG1831 push OFFSET FLAT:$SG1832 call _fopen add esp, 44 ; 0000002cH cmp eax, esi mov DWORD PTR _fp_outLOG$[esp+892432], eax jne SHORT $L1830 ; Line 955 push OFFSET FLAT:$SG1833 call _printf ; Line 2176 add esp, 4 pop edi pop ebp pop esi mov eax, ebx pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L1830: ; Line 958 mov ecx, DWORD PTR _argc$[esp+892428] cmp ecx, 4 jne SHORT $L1834 ; Line 959 mov eax, 3 ; Line 960 jmp SHORT $L1836 $L1834: cmp ecx, 5 jne SHORT $L1835 ; Line 961 mov eax, 4 ; Line 962 jmp SHORT $L1836 $L1835: cmp ecx, 6 ; Line 963 mov eax, 5 je SHORT $L1836 mov eax, DWORD PTR _k$[esp+892432] $L1836: ; Line 964 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 $L1838 cmp al, 121 ; 00000079H jne SHORT $L1837 $L1838: mov DWORD PTR _BSTorBtree$[esp+892432], ebx $L1837: ; Line 966 cmp ecx, 4 je SHORT $L1840 cmp ecx, 5 je SHORT $L1840 cmp ecx, 6 ; Line 967 jne SHORT $L2667 $L1840: ; Line 966 mov ecx, DWORD PTR [edx+12] push ecx call _atoi add esp, 4 ; Line 969 cmp eax, 1023 ; 000003ffH mov DWORD PTR _Thunderwith$[esp+892432], eax jge SHORT $L1843 $L2667: mov eax, 1023 ; 000003ffH mov DWORD PTR _Thunderwith$[esp+892432], eax $L1843: ; Line 970 mov ebp, eax shl ebp, 10 ; 0000000aH mov DWORD PTR _LetterBuffer$[esp+892432], ebp ; Line 971 mov DWORD PTR _WHOLEletter_BufferSize$[esp+892432], esi ; Line 972 mov ebx, 1 xor edi, edi npad 2 $L2799: ; Line 974 cmp edi, esi mov DWORD PTR _OffsetsInBuffer$[esp+ebx*4+892428], esi mov DWORD PTR _j$[esp+892432], 1 jb SHORT $L1849 ja SHORT $L2725 cmp ebx, 1 jb SHORT $L1849 $L2725: mov edx, DWORD PTR _OffsetsInBuffer$[esp+ebx*4+892428] mov DWORD PTR tv4238[esp+892432], edx lea esi, DWORD PTR _GRMBLhill$[esp+892432] npad 4 $L1847: ; Line 975 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 tv4238[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 tv4238[esp+892432], edx jb SHORT $L1847 ; Line 974 ja SHORT $L2726 cmp DWORD PTR _j$[esp+892432], ebx jbe SHORT $L1847 $L2726: mov eax, DWORD PTR tv4238[esp+892432] mov DWORD PTR _OffsetsInBuffer$[esp+ebx*4+892428], eax xor esi, esi $L1849: ; Line 977 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 978 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 $L2727 ; Line 972 cmp ebx, 31 ; 0000001fH jbe $L2799 $L2727: ; Line 980 mov edi, DWORD PTR _WHOLEletter_BufferSize$[esp+892432] imul edi, 26 ; 0000001aH inc edi ; Line 981 push edi mov DWORD PTR _memory_size$[esp+892436], edi call _malloc add esp, 4 ; Line 982 cmp eax, esi mov DWORD PTR _pointerflush$[esp+892432], eax jne SHORT $L1856 ; Line 983 push OFFSET FLAT:$SG1857 call _puts ; Line 2176 add esp, 4 pop edi pop ebp pop esi ; Line 2177 mov eax, 1 pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L1856: ; Line 985 mov ecx, DWORD PTR _fp_outLOG$[esp+892432] push OFFSET FLAT:$SG1858 push ecx call _fprintf ; Line 987 shr edi, 20 ; 00000014H lea eax, DWORD PTR [edi+1] push eax push OFFSET FLAT:$SG1859 mov DWORD PTR tv4506[esp+892448], eax call _printf add esp, 16 ; 00000010H ; Line 993 xor edx, edx mov DWORD PTR _i$[esp+892436], esi npad 6 $L1860: ; Line 1002 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 tv5720[esp+892432], eax xor esi, esi mov DWORD PTR tv2645[esp+892432], 31 ; 0000001fH npad 8 $L1863: 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 tv5720[esp+892432] mov DWORD PTR _bufend$[esp+ecx+892432], eax jne SHORT $L1866 mov ecx, DWORD PTR _i$[esp+892436] test ecx, ecx jne SHORT $L1866 ; Line 996 mov DWORD PTR _MAXusedBuffer$[esp+esi+892436], eax $L1866: ; Line 997 mov eax, DWORD PTR tv5720[esp+892432] mov ebx, DWORD PTR _bufend$[esp+eax+892432] ; Line 998 xor eax, eax mov edi, ebx mov ecx, 8193 ; 00002001H rep stosd mov ecx, DWORD PTR tv5720[esp+892432] add ebx, 32772 ; 00008004H ; Line 1001 cmp edx, 25 ; 00000019H mov DWORD PTR _bufend$[esp+ecx+892432], ebx jne SHORT $L1871 mov eax, DWORD PTR _i$[esp+892436] test eax, eax jne SHORT $L1871 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 $L1871: ; Line 1002 mov ecx, DWORD PTR tv5720[esp+892432] mov eax, DWORD PTR tv2645[esp+892432] add ecx, 4 add esi, 4 dec eax mov DWORD PTR tv5720[esp+892432], ecx mov DWORD PTR tv2645[esp+892432], eax jne $L1863 mov eax, DWORD PTR _i$[esp+892436] add edx, 1 adc eax, 0 mov DWORD PTR _i$[esp+892436], eax jne SHORT $L2804 ; Line 993 cmp edx, 26 ; 0000001aH jb $L1860 $L2804: ; Line 1009 lea ecx, DWORD PTR _t1$[esp+892432] push ecx xor edi, edi call _time ; Line 1018 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 $L2777 npad 3 $L2813: ; Line 1020 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 1021 mov al, BYTE PTR _workbyte$[esp+892448] add esp, 16 ; 00000010H cmp al, 10 ; 0000000aH je SHORT $L1877 ; Line 1022 cmp al, 13 ; 0000000dH je $L1875 ; Line 1023 cmp esi, 255 ; 000000ffH jae SHORT $L1879 mov BYTE PTR _LINE10$[esp+esi+892432], al $L1879: ; Line 1024 inc esi ; Line 1030 jmp $L1875 $L1877: ; Line 1031 cmp esi, 1 jb $L1875 cmp esi, 255 ; 000000ffH ja $L1875 ; Line 1033 lea ecx, DWORD PTR _LINE10$[esp+892432] push OFFSET FLAT:$SG1885 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 $L2628 ; Line 1042 push 2 xor ebx, ebx push ebx push ebx push ebp call _fileno add esp, 4 push eax call __lseeki64 ; Line 1043 push ebp call _fileno push eax call __telli64 add esp, 24 ; 00000018H ; Line 1044 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 1052 push 10 ; 0000000aH lea edx, DWORD PTR _llTOaDigits$[esp+892452] push edx push esi push edi call __ui64toaKAZEcomma push eax push OFFSET FLAT:$SG1887 call _printf ; Line 1053 mov eax, DWORD PTR _FilesLEN$[esp+892472] mov edx, DWORD PTR _FilesLEN$[esp+892476] ; Line 1054 mov ecx, DWORD PTR _NumberOfFiles$[esp+892472] add esp, 40 ; 00000028H add eax, edi adc edx, esi inc ecx ; Line 1058 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 $L2806 ja SHORT $L2805 mov eax, DWORD PTR _size_inLINESIXFOUR$[esp+892432] test eax, eax jbe $L2806 npad 8 $L2805: ; Line 1062 mov ecx, DWORD PTR _workKoffset$[esp+892432] cmp ecx, -1 jne SHORT $L1891 ; Line 1063 mov ecx, DWORD PTR _i$[esp+892432] add ecx, 98304 ; 00018000H mov eax, edi adc eax, 0 cmp eax, esi ja SHORT $L1892 jb SHORT $L2730 cmp ecx, DWORD PTR _size_inLINESIXFOUR$[esp+892432] jae SHORT $L1892 $L2730: ; Line 1064 push ebp push 98304 ; 00018000H lea eax, DWORD PTR _workK$[esp+892440] push 1 push eax call _fread ; Line 1066 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 1067 jmp SHORT $L1895 $L1892: ; Line 1068 push ebp push 1 lea ecx, DWORD PTR _workbyte$[esp+892440] push 1 push ecx call _fread ; Line 1069 mov al, BYTE PTR _workbyte$[esp+892448] add esp, 16 ; 00000010H jmp SHORT $L1895 $L1891: ; Line 1071 mov al, BYTE PTR _workK$[esp+ecx+892433] inc ecx ; Line 1072 cmp ecx, 98303 ; 00017fffH mov DWORD PTR _workKoffset$[esp+892432], ecx mov BYTE PTR _workbyte$[esp+892432], al jne SHORT $L1895 mov DWORD PTR _workKoffset$[esp+892432], -1 $L1895: ; Line 1083 cmp al, 65 ; 00000041H jl SHORT $ElStupido$1897 ; Line 1751 cmp al, 90 ; 0000005aH jg SHORT $L2168 ; Line 1753 cmp ebx, 31 ; 0000001fH jae SHORT $L2169 ; Line 1754 add al, 32 ; 00000020H mov BYTE PTR _wrd$[esp+ebx+892432], al $L2169: ; Line 1755 inc ebx ; Line 1757 jmp $L1889 $L2168: cmp al, 97 ; 00000061H jl SHORT $ElStupido$1897 cmp al, 122 ; 0000007aH jg SHORT $ElStupido$1897 ; Line 1759 cmp ebx, 31 ; 0000001fH jae SHORT $L2169 ; Line 1760 mov BYTE PTR _wrd$[esp+ebx+892432], al ; Line 1761 inc ebx ; Line 1763 jmp $L1889 $ElStupido$1897: ; Line 1087 cmp al, 10 ; 0000000aH jne SHORT $L2814 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 $L2814: ; Line 1088 cmp ebx, 1 jb $L2096 cmp ebx, 31 ; 0000001fH ja $L2096 ; Line 1093 mov esi, DWORD PTR _WORDcount$[esp+892432] mov ebp, DWORD PTR _WORDcount$[esp+892436] add esi, 1 mov ecx, 0 adc ebp, ecx mov eax, esi and eax, 1048575 ; 000fffffH or eax, ecx mov BYTE PTR _wrd$[esp+ebx+892432], 0 mov DWORD PTR _WORDcount$[esp+892432], esi mov DWORD PTR _WORDcount$[esp+892436], ebp jne $L2787 ; Line 1096 mov edx, DWORD PTR _Melnitchka$[esp+892432] inc edx ; Line 1097 mov eax, edx and eax, -2147483645 ; 80000003H jns SHORT $L2848 dec eax or eax, -4 ; fffffffcH inc eax $L2848: ; Line 1098 mov edi, DWORD PTR _i$[esp+892436] mov ebp, DWORD PTR _i$[esp+892432] mov DWORD PTR _Melnitchka$[esp+892432], eax jne SHORT $L1901 mov edx, DWORD PTR _size_inLINESIXFOUR$[esp+892436] push edx mov edx, DWORD PTR _size_inLINESIXFOUR$[esp+892436] mov eax, ebp mov ecx, edi shld ecx, eax, 6 push edx 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 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 esi call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET FLAT:$SG1904 call _printf mov eax, DWORD PTR _Melnitchka$[esp+892452] add esp, 20 ; 00000014H $L1901: ; Line 1099 cmp eax, 1 jne SHORT $L1905 mov ecx, DWORD PTR _size_inLINESIXFOUR$[esp+892436] mov edx, DWORD PTR _size_inLINESIXFOUR$[esp+892432] push ecx shld edi, ebp, 6 push edx push edi shl ebp, 6 push ebp 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 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 esi call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET FLAT:$SG1908 ; Line 1100 jmp $L2852 $L1905: cmp eax, 2 jne SHORT $L1909 mov ecx, DWORD PTR _size_inLINESIXFOUR$[esp+892436] mov edx, DWORD PTR _size_inLINESIXFOUR$[esp+892432] push ecx shld edi, ebp, 6 push edx push edi shl ebp, 6 push ebp 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 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 esi call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET FLAT:$SG1912 ; Line 1101 jmp SHORT $L2852 $L1909: cmp eax, 3 jne SHORT $L2787 mov ecx, DWORD PTR _size_inLINESIXFOUR$[esp+892436] mov edx, DWORD PTR _size_inLINESIXFOUR$[esp+892432] push ecx shld edi, ebp, 6 push edx push edi shl ebp, 6 push ebp 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 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 esi call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET FLAT:$SG1916 $L2852: call _printf add esp, 20 ; 00000014H $L2787: ; Line 1103 movsx ebp, BYTE PTR _wrd$[esp+892432] ; Line 1106 mov edx, DWORD PTR _OffsetsInBuffer$[esp+ebx*4+892428] mov ecx, ebp add ebp, -97 ; ffffff9fH imul ecx, 31 ; 0000001fH imul ebp, DWORD PTR _WHOLEletter_BufferSize$[esp+892432] lea edi, DWORD PTR [ecx+ebx-3008] mov ecx, DWORD PTR _pointerflush$[esp+892432] add ebp, edx ; Line 1110 lea edx, DWORD PTR _wrd$[esp+892432] add ebp, ecx push edx mov DWORD PTR _LetterOffset$[esp+892436], edi mov DWORD PTR _BufStart$[esp+892436], ebp call _KuxHash3plus ; Line 1125 mov edx, DWORD PTR _BSTorBtree$[esp+892436] mov ecx, eax shl ecx, 2 mov eax, DWORD PTR [ecx+ebp] add esp, 4 cmp edx, 1 mov DWORD PTR _Slot$[esp+892432], ecx mov DWORD PTR tv4604[esp+892432], eax je $L1919 ; Line 1128 test eax, eax jne $L1920 ; Line 1131 mov eax, DWORD PTR _bufend$[esp+edi*4+892432] lea edx, DWORD PTR _bufend$[esp+edi*4+892432] mov edi, eax sub edi, ebp lea edi, DWORD PTR [edi+ebx+8] cmp edi, DWORD PTR _GRMBLFoolAgain$[esp+ebx*4+892432] mov DWORD PTR tv4608[esp+892432], edx jae $L1923 ; Line 1133 mov DWORD PTR [ecx+ebp], eax ; Line 1151 add eax, 8 mov DWORD PTR [edx], eax ; Line 1152 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 1154 add eax, ebx mov DWORD PTR [ecx], esi mov ecx, DWORD PTR tv4608[esp+892432] mov DWORD PTR [ecx], eax ; Line 1155 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 $L2096 mov DWORD PTR [ebx], eax ; Line 1174 jmp $L2096 $L1920: ; Line 1175 mov DWORD PTR _FoundInLinkedList$[esp+892432], 0 npad 1 $L1951: ; Line 1176 mov ecx, DWORD PTR _FoundInLinkedList$[esp+892432] test ecx, ecx jne $L2096 ; Line 1178 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 $L1953 ; Line 1184 mov DWORD PTR _FoundInLinkedList$[esp+892432], 1 ; Line 1186 jmp $L1954 $L1953: ; Line 1188 mov esi, edx mov ecx, ebx lea edi, DWORD PTR _wrd$[esp+892432] xor edx, edx repe cmpsb je SHORT $L2733 sbb edx, edx sbb edx, -1 $L2733: test edx, edx ; Line 1190 jg SHORT $L2853 ; Line 1192 add eax, 4 $L2853: ; Line 1193 mov ecx, DWORD PTR [eax] ; Line 1196 test ecx, ecx mov DWORD PTR _PseudoLinkedPointerNEW$[esp+892432], ecx jne $L2792 ; Line 1199 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 $L1960 ; Line 1200 mov DWORD PTR [eax], ecx ; Line 1205 lea eax, DWORD PTR [ecx+8] ; Line 1206 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 1208 add eax, ebx inc edi inc esi mov DWORD PTR [edx], eax ; Line 1209 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 $L2792 mov DWORD PTR _MAXusedBuffer$[esp+ebx*4+892432], eax $L2792: ; Line 1228 mov eax, DWORD PTR _PseudoLinkedPointerNEW$[esp+892432] $L1954: ; Line 1230 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 $L1951 ; Line 1234 jmp $L2096 $L1919: ; Line 1245 test eax, eax jne $L1987 ; Line 1247 mov eax, DWORD PTR _bufend$[esp+edi*4+892432] lea edx, DWORD PTR _bufend$[esp+edi*4+892432] lea edi, DWORD PTR [ebx+ebx+12] sub edi, ebp add edi, eax cmp edi, DWORD PTR _GRMBLFoolAgain$[esp+ebx*4+892432] mov DWORD PTR tv4608[esp+892432], edx jae $L1990 ; Line 1249 mov DWORD PTR [ecx+ebp], eax ; Line 1250 add eax, 12 ; 0000000cH mov DWORD PTR [edx], eax ; Line 1251 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 1252 mov ecx, DWORD PTR tv4608[esp+892432] lea eax, DWORD PTR [eax+ebx*2] mov DWORD PTR [ecx], eax ; Line 1253 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 $L2096 mov DWORD PTR [ebx], eax ; Line 1273 jmp $L2096 $L1987: ; Line 1274 mov DWORD PTR _FoundInLinkedList$[esp+892432], 0 $L2018: ; Line 1275 mov ecx, DWORD PTR _FoundInLinkedList$[esp+892432] test ecx, ecx jne $L2794 ; Line 1282 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 $L2797 sbb edx, edx sbb edx, -1 $L2797: test edx, edx jle SHORT $L2020 ; Line 1284 mov eax, DWORD PTR [eax] ; Line 1286 jmp $L2030 $L2020: mov ecx, ebx lea edi, DWORD PTR _wrd$[esp+892432] mov esi, ebp xor edx, edx repe cmpsb je SHORT $L2735 sbb edx, edx sbb edx, -1 $L2735: test edx, edx jge SHORT $L2022 ; Line 1288 mov cl, BYTE PTR [eax+ebx+12] test cl, cl lea ebp, DWORD PTR [eax+ebx+12] je SHORT $L2024 ; Line 1296 mov ecx, ebx lea edi, DWORD PTR _wrd$[esp+892432] mov esi, ebp xor edx, edx repe cmpsb je SHORT $L2796 sbb edx, edx sbb edx, -1 $L2796: test edx, edx jle SHORT $L2025 ; Line 1298 mov eax, DWORD PTR [eax+4] ; Line 1300 jmp SHORT $L2028 $L2025: mov ecx, ebx lea edi, DWORD PTR _wrd$[esp+892432] mov esi, ebp xor edx, edx repe cmpsb je SHORT $L2737 sbb edx, edx sbb edx, -1 $L2737: test edx, edx jge SHORT $L2027 ; Line 1303 mov eax, DWORD PTR [eax+8] ; Line 1305 jmp SHORT $L2028 $L2027: mov DWORD PTR _FoundInLinkedList$[esp+892432], 1 $L2028: ; Line 1306 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 1310 jmp SHORT $L2030 $L2024: ; Line 1312 mov eax, DWORD PTR [eax+4] ; Line 1315 jmp SHORT $L2030 $L2022: mov DWORD PTR _FoundInLinkedList$[esp+892432], 1 $L2030: ; Line 1316 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 $L2018 $L2794: ; Line 1319 mov edx, DWORD PTR _WORDcountAttemptsToPut$[esp+892432] mov ecx, DWORD PTR _WORDcountAttemptsToPut$[esp+892436] or eax, -1 add edx, eax adc ecx, eax ; Line 1462 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 $L2096 ; Line 1469 mov eax, DWORD PTR tv4604[esp+892432] ; Line 1470 xor edx, edx ; Line 1471 test eax, eax je $L2788 npad 9 $L2033: ; Line 1478 lea esi, DWORD PTR [eax+12] mov ecx, ebx lea edi, DWORD PTR _wrd$[esp+892432] xor ebp, ebp repe cmpsb je SHORT $L2738 sbb ebp, ebp sbb ebp, -1 $L2738: test ebp, ebp jle SHORT $L2035 ; Line 1480 cmp edx, 196606 ; 0002fffeH mov ecx, DWORD PTR [eax] ja $L2624 ; Line 1481 mov DWORD PTR _BSTstack$[esp+edx*4+892432], eax inc edx ; Line 1482 mov DWORD PTR _BSTstack$[esp+edx*4+892432], 0 ; Line 1485 jmp $L2854 $L2035: mov ecx, ebx lea edi, DWORD PTR _wrd$[esp+892432] lea esi, DWORD PTR [eax+12] xor ebp, ebp repe cmpsb je SHORT $L2739 sbb ebp, ebp sbb ebp, -1 $L2739: test ebp, ebp jge $L2791 ; Line 1487 mov cl, BYTE PTR [eax+ebx+12] test cl, cl lea esi, DWORD PTR [eax+ebx+12] je $L2041 ; Line 1495 mov ecx, ebx lea edi, DWORD PTR _wrd$[esp+892432] xor ebp, ebp repe cmpsb je SHORT $L2740 sbb ebp, ebp sbb ebp, -1 $L2740: test ebp, ebp jle SHORT $L2042 ; Line 1497 cmp edx, 196606 ; 0002fffeH mov ecx, DWORD PTR [eax+4] jbe SHORT $L2855 push OFFSET FLAT:$SG2044 call _printf ; Line 2176 add esp, 4 pop edi pop ebp pop esi mov eax, 13 ; 0000000dH pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L2042: ; Line 1502 mov ecx, ebx lea edi, DWORD PTR _wrd$[esp+892432] lea esi, DWORD PTR [eax+ebx+12] xor ebp, ebp repe cmpsb je SHORT $L2741 sbb ebp, ebp sbb ebp, -1 $L2741: test ebp, ebp jge SHORT $L2791 ; Line 1505 cmp edx, 196606 ; 0002fffeH mov ecx, DWORD PTR [eax+8] ja $L2626 ; Line 1506 mov DWORD PTR _BSTstack$[esp+edx*4+892432], eax inc edx ; Line 1507 mov DWORD PTR _BSTstack$[esp+edx*4+892432], 8 ; Line 1514 jmp SHORT $L2854 $L2041: ; Line 1516 cmp edx, 196606 ; 0002fffeH mov ecx, DWORD PTR [eax+4] ja $L2627 $L2855: ; Line 1517 mov DWORD PTR _BSTstack$[esp+edx*4+892432], eax inc edx ; Line 1518 mov DWORD PTR _BSTstack$[esp+edx*4+892432], 4 $L2854: inc edx ; Line 1519 mov eax, ecx $L2791: ; Line 1471 test eax, eax jne $L2033 $L2788: ; Line 1539 mov esi, DWORD PTR _BSTstack$[esp+edx*4+892428] ; Line 1544 mov ebp, DWORD PTR _WORDcountDistinct$[esp+892432] dec edx mov eax, DWORD PTR _BSTstack$[esp+edx*4+892428] mov cl, BYTE PTR [eax+ebx+12] dec edx lea edi, DWORD PTR [eax+ebx+12] inc ebp test cl, cl mov ecx, DWORD PTR _LetterOffset$[esp+892432] mov DWORD PTR _POffsetInLEAF$[esp+892432], esi mov DWORD PTR _WORDcountDistinct$[esp+892432], ebp je $L2055 mov esi, DWORD PTR _bufNumberOfWords$[esp+ecx*4+892432] ; Line 1546 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 tv4641[esp+892432], esi sub esi, DWORD PTR _BufStart$[esp+892432] mov DWORD PTR tv4608[esp+892432], ecx mov ecx, DWORD PTR _GRMBLFoolAgain$[esp+ebx*4+892432] add esi, ebp cmp esi, ecx jae $L2058 ; Line 1550 mov esi, DWORD PTR tv4608[esp+892432] lea ecx, DWORD PTR [ebp+12] mov DWORD PTR tv4645[esp+892432], ecx lea ecx, DWORD PTR [ecx+ebx*2] mov DWORD PTR [esi], ecx ; Line 1551 mov esi, DWORD PTR _BufStart$[esp+892432] mov DWORD PTR tv5448[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 tv4625[esp+892432], esi jae SHORT $L2060 mov DWORD PTR [esi], ecx $L2060: ; Line 1569 mov ecx, DWORD PTR _POffsetInLEAF$[esp+892432] test ecx, ecx jne $L2084 ; Line 1571 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 1572 mov ecx, ebx lea esi, DWORD PTR _wrd$[esp+892432] lea edi, DWORD PTR [eax+12] $L2856: ; Line 1578 mov ebp, ecx shr ecx, 2 rep movsd mov ecx, ebp and ecx, 3 rep movsb ; Line 1579 mov edi, DWORD PTR tv4645[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 1580 mov BYTE PTR [eax+ebx+12], 0 $L2866: ; Line 1582 mov ebp, DWORD PTR _PseudoLinkedPointerNEW$[esp+892432] $L2095: ; Line 1605 test edx, edx je $L2098 ; Line 1611 mov ecx, DWORD PTR _BSTstack$[esp+edx*4+892428] dec edx ; Line 1612 mov eax, DWORD PTR _BSTstack$[esp+edx*4+892428] dec edx ; Line 1613 cmp BYTE PTR [eax+ebx+12], 0 mov DWORD PTR _POffsetInLEAF$[esp+892432], ecx je $L2100 ; Line 1615 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 1618 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 tv4641[esp+892432] sub ecx, ebp mov ebp, DWORD PTR tv5448[esp+892432] add ecx, ebp cmp ecx, esi jae $L2103 ; Line 1622 mov esi, DWORD PTR tv4608[esp+892432] lea ecx, DWORD PTR [ebp+12] mov DWORD PTR tv5831[esp+892432], ecx lea ecx, DWORD PTR [ecx+ebx*2] mov DWORD PTR [esi], ecx ; Line 1623 mov esi, DWORD PTR _BufStart$[esp+892432] mov DWORD PTR tv5448[esp+892432], ecx sub ecx, esi mov esi, DWORD PTR tv4625[esp+892432] cmp DWORD PTR [esi], ecx mov DWORD PTR _PseudoLinkedPointerNEW$[esp+892432], ebp jae SHORT $L2105 mov DWORD PTR [esi], ecx $L2105: ; Line 1641 mov ecx, DWORD PTR _POffsetInLEAF$[esp+892432] test ecx, ecx jne $L2129 ; Line 1643 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 1644 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 1645 mov edi, DWORD PTR tv5831[esp+892432] mov ecx, ebx shr ecx, 2 lea esi, DWORD PTR [eax+ebx+12] rep movsd mov ecx, ebp ; Line 1652 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 1653 mov ecx, DWORD PTR [eax+8] mov DWORD PTR [ebp+4], ecx ; Line 1654 mov ecx, DWORD PTR _PseudoLinkedPointerNEWold$[esp+892432] mov DWORD PTR [eax+4], ecx ; Line 1656 jmp $L2095 $L2084: ; Line 1576 cmp ecx, 4 jne SHORT $L2086 ; Line 1578 mov ecx, ebx lea esi, DWORD PTR _wrd$[esp+892432] lea edi, DWORD PTR _wrdUP$[esp+892432] ; Line 1582 jmp $L2856 $L2086: cmp ecx, 8 jne $L2095 ; Line 1584 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 1586 mov edi, DWORD PTR tv4645[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 1589 jmp $L2866 $L2055: ; Line 1590 mov edx, DWORD PTR _bufNumberOfWords$[esp+ecx*4+892432] lea ecx, DWORD PTR _bufNumberOfWords$[esp+ecx*4+892432] inc edx ; Line 1591 test esi, esi mov DWORD PTR [ecx], edx jne SHORT $L2091 ; Line 1593 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 1594 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 1596 jmp $L2096 $L2091: cmp esi, 4 jne $L2096 ; Line 1598 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 1602 jmp $L2096 $L2129: ; Line 1656 cmp ecx, 4 jne SHORT $L2131 ; Line 1658 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 1659 mov edi, DWORD PTR tv5831[esp+892432] mov ecx, ebx shr ecx, 2 lea esi, DWORD PTR [eax+ebx+12] rep movsd mov ecx, ebp ; Line 1666 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 1667 mov ecx, DWORD PTR [eax+8] mov DWORD PTR [ebp+4], ecx ; Line 1669 jmp $L2095 $L2131: cmp ecx, 8 jne $L2095 ; Line 1671 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 1673 mov edi, DWORD PTR tv5831[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 1679 mov ebp, DWORD PTR _PseudoLinkedPointerNEW$[esp+892432] and ecx, 3 rep movsb mov ecx, DWORD PTR [eax+8] mov DWORD PTR [ebp], ecx ; Line 1680 mov ecx, DWORD PTR _PseudoLinkedPointerNEWold$[esp+892432] mov DWORD PTR [ebp+4], ecx ; Line 1740 jmp $L2095 $L2100: ; Line 1685 test ecx, ecx jne SHORT $L2136 ; Line 1687 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 1688 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 1690 mov ecx, DWORD PTR [eax+4] mov DWORD PTR [eax+8], ecx ; Line 1691 mov DWORD PTR [eax+4], ebp ; Line 1693 jmp $L2096 $L2136: cmp ecx, 4 jne $L2096 ; Line 1695 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 1697 mov DWORD PTR [eax+8], ebp ; Line 1699 jmp $L2096 $L2098: ; Line 1706 mov esi, DWORD PTR _BufStart$[esp+892432] mov ecx, DWORD PTR tv4608[esp+892432] mov edx, DWORD PTR tv4641[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 tv4610[esp+892432], ecx jae $L2141 ; Line 1709 mov edx, DWORD PTR tv4608[esp+892432] lea edi, DWORD PTR [ecx+12] mov DWORD PTR [edx], edi ; Line 1710 mov ecx, ebx mov edx, ecx shr ecx, 2 lea esi, DWORD PTR _wrdUP$[esp+892432] rep movsd mov ecx, edx ; Line 1711 mov edx, DWORD PTR tv4610[esp+892432] and ecx, 3 rep movsb ; Line 1712 mov esi, DWORD PTR _BufStart$[esp+892432] mov edi, DWORD PTR tv4625[esp+892432] lea ecx, DWORD PTR [edx+12] lea ebx, DWORD PTR [ecx+ebx*2] mov ecx, DWORD PTR tv4608[esp+892432] mov DWORD PTR [ecx], ebx mov ecx, ebx mov ebx, DWORD PTR [edi] sub ecx, esi cmp ebx, ecx jae SHORT $L2143 mov DWORD PTR [edi], ecx $L2143: ; Line 1734 mov DWORD PTR [edx], eax ; Line 1737 mov eax, DWORD PTR _Slot$[esp+892432] mov DWORD PTR [edx+4], ebp mov DWORD PTR [eax+esi], edx $L2096: ; Line 1747 mov esi, DWORD PTR _size_inLINESIXFOUR$[esp+892436] mov edi, DWORD PTR _i$[esp+892436] mov ebp, DWORD PTR _fp_inLINE$[esp+892432] xor ebx, ebx $L1889: 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 $L2805 ; Line 1058 ja SHORT $L2806 mov eax, DWORD PTR _size_inLINESIXFOUR$[esp+892432] mov ecx, edx cmp ecx, eax jb $L2805 $L2806: ; Line 1771 mov edx, DWORD PTR _Melnitchka$[esp+892432] inc edx ; Line 1772 mov eax, edx and eax, -2147483645 ; 80000003H jns SHORT $L2849 dec eax or eax, -4 ; fffffffcH inc eax $L2849: mov DWORD PTR _Melnitchka$[esp+892432], eax ; Line 1773 jne SHORT $L2174 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:$SG2176 call _printf mov eax, DWORD PTR _Melnitchka$[esp+892448] add esp, 16 ; 00000010H $L2174: ; Line 1774 cmp eax, 1 jne SHORT $L2177 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:$SG2179 ; Line 1775 jmp $L2857 $L2177: cmp eax, 2 jne SHORT $L2180 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:$SG2182 ; Line 1776 jmp SHORT $L2857 $L2180: cmp eax, 3 jne SHORT $L2807 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:$SG2185 $L2857: call _printf add esp, 16 ; 00000010H $L2807: ; Line 1780 push ebp xor esi, esi mov BYTE PTR _LINE10$[esp+892436], 0 call _fclose add esp, 4 xor edi, edi $L1875: 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 $L2813 $L2777: ; Line 1786 push OFFSET FLAT:$SG2186 call _printf ; Line 1787 mov esi, DWORD PTR _argv$[esp+892432] mov ecx, DWORD PTR [esi+8] push OFFSET FLAT:$SG2189 push ecx call _fopen add esp, 12 ; 0000000cH cmp eax, edi mov DWORD PTR _fp_out$[esp+892432], eax jne $L2188 ; Line 1788 mov edx, DWORD PTR [esi+8] push edx push OFFSET FLAT:$SG2190 call _printf add esp, 8 pop edi pop ebp pop esi mov eax, 1 pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L2628: ; Line 1034 lea edx, DWORD PTR _LINE10$[esp+892432] push edx push OFFSET FLAT:$SG1886 call _printf add esp, 8 pop edi pop ebp pop esi mov eax, 1 pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L1923: ; Line 1158 push OFFSET FLAT:$SG1928 call _printf ; Line 1159 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:$SG1929 push ebp call _fprintf ; Line 1160 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:$SG1930 push ebp call _fprintf ; Line 1161 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 push 10 ; 0000000aH lea ecx, DWORD PTR _llTOaDigits$[esp+892440] push ecx push edx push esi call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET FLAT:$SG1932 push ebp call _fprintf ; Line 1162 mov eax, DWORD PTR _NumberOfFiles$[esp+892448] push eax push OFFSET FLAT:$SG1933 push ebp call _fprintf ; Line 1163 mov ecx, DWORD PTR _NumberOfLines$[esp+892464] mov edx, DWORD PTR _NumberOfLines$[esp+892460] push ecx push edx push OFFSET FLAT:$SG1934 push ebp call _fprintf ; Line 1164 mov eax, DWORD PTR tv4506[esp+892476] push eax push OFFSET FLAT:$SG1936 push ebp call _fprintf ; Line 1165 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:$SG1937 push ebp call _fprintf add esp, 12 ; 0000000cH ; Line 1166 mov ebx, 1 npad 10 $L1938: ; Line 1167 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:$SG1944 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:$SG1945 push ebp call _fprintf add esp, 28 ; 0000001cH inc ebx cmp ebx, 32 ; 00000020H jb $L1938 ; Line 1169 mov eax, DWORD PTR _Thunderwith$[esp+892432] push eax push OFFSET FLAT:$SG1947 push ebp call _fprintf ; Line 1170 push OFFSET FLAT:$SG1948 push ebp call _fprintf add esp, 20 ; 00000014H pop edi pop ebp pop esi ; Line 1171 mov eax, 1 pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L1960: ; Line 1212 push OFFSET FLAT:$SG1965 call _printf ; Line 1213 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:$SG1966 push ebp call _fprintf ; Line 1214 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:$SG1967 push ebp call _fprintf ; Line 1215 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:$SG1969 push ebp call _fprintf ; Line 1216 mov edx, DWORD PTR _NumberOfFiles$[esp+892448] push edx push OFFSET FLAT:$SG1970 push ebp call _fprintf ; Line 1217 mov eax, DWORD PTR _NumberOfLines$[esp+892464] mov ecx, DWORD PTR _NumberOfLines$[esp+892460] push eax push ecx push OFFSET FLAT:$SG1971 push ebp call _fprintf ; Line 1218 mov edx, DWORD PTR tv4506[esp+892476] push edx push OFFSET FLAT:$SG1973 push ebp call _fprintf ; Line 1219 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:$SG1974 push ebp call _fprintf add esp, 12 ; 0000000cH ; Line 1220 mov ebx, 1 npad 6 $L1975: ; Line 1221 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:$SG1981 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:$SG1982 push ebp call _fprintf add esp, 28 ; 0000001cH inc ebx cmp ebx, 32 ; 00000020H jb $L1975 ; Line 1223 mov edx, DWORD PTR _Thunderwith$[esp+892432] push edx push OFFSET FLAT:$SG1984 push ebp call _fprintf ; Line 1224 push OFFSET FLAT:$SG1985 push ebp call _fprintf add esp, 20 ; 00000014H pop edi pop ebp pop esi ; Line 1225 mov eax, 1 pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L1990: ; Line 1256 push OFFSET FLAT:$SG1995 call _printf ; Line 1257 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:$SG1996 push ebp call _fprintf ; Line 1258 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:$SG1997 push ebp call _fprintf ; Line 1259 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 push 10 ; 0000000aH lea ecx, DWORD PTR _llTOaDigits$[esp+892440] push ecx push edx push esi call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET FLAT:$SG1999 push ebp call _fprintf ; Line 1260 mov eax, DWORD PTR _NumberOfFiles$[esp+892448] push eax push OFFSET FLAT:$SG2000 push ebp call _fprintf ; Line 1261 mov ecx, DWORD PTR _NumberOfLines$[esp+892464] mov edx, DWORD PTR _NumberOfLines$[esp+892460] push ecx push edx push OFFSET FLAT:$SG2001 push ebp call _fprintf ; Line 1262 mov eax, DWORD PTR tv4506[esp+892476] push eax push OFFSET FLAT:$SG2003 push ebp call _fprintf ; Line 1263 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:$SG2004 push ebp call _fprintf add esp, 12 ; 0000000cH ; Line 1264 mov ebx, 1 npad 7 $L2005: ; Line 1265 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:$SG2011 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:$SG2012 push ebp call _fprintf add esp, 28 ; 0000001cH inc ebx cmp ebx, 32 ; 00000020H jb $L2005 ; Line 1267 mov eax, DWORD PTR _Thunderwith$[esp+892432] push eax push OFFSET FLAT:$SG2014 push ebp call _fprintf ; Line 1268 push OFFSET FLAT:$SG2015 push ebp call _fprintf add esp, 20 ; 00000014H pop edi pop ebp pop esi ; Line 1269 mov eax, 1 pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L2624: ; Line 1480 push OFFSET FLAT:$SG2037 call _printf ; Line 2176 add esp, 4 pop edi pop ebp pop esi mov eax, 13 ; 0000000dH pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L2626: ; Line 1505 push OFFSET FLAT:$SG2048 call _printf ; Line 2176 add esp, 4 pop edi pop ebp pop esi mov eax, 13 ; 0000000dH pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L2627: ; Line 1516 push OFFSET FLAT:$SG2052 call _printf ; Line 2176 add esp, 4 pop edi pop ebp pop esi mov eax, 13 ; 0000000dH pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L2058: ; Line 1554 push OFFSET FLAT:$SG2063 call _printf ; Line 1555 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:$SG2064 push ebp call _fprintf ; Line 1556 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:$SG2065 push ebp call _fprintf ; Line 1557 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:$SG2067 push ebp call _fprintf ; Line 1558 mov edx, DWORD PTR _NumberOfFiles$[esp+892448] push edx push OFFSET FLAT:$SG2068 push ebp call _fprintf ; Line 1559 mov eax, DWORD PTR _NumberOfLines$[esp+892464] mov ecx, DWORD PTR _NumberOfLines$[esp+892460] push eax push ecx push OFFSET FLAT:$SG2069 push ebp call _fprintf ; Line 1560 mov edx, DWORD PTR tv4506[esp+892476] push edx push OFFSET FLAT:$SG2071 push ebp call _fprintf ; Line 1561 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:$SG2072 push ebp call _fprintf add esp, 12 ; 0000000cH ; Line 1562 mov ebx, 1 $L2073: ; Line 1563 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:$SG2079 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:$SG2080 push ebp call _fprintf add esp, 28 ; 0000001cH inc ebx cmp ebx, 32 ; 00000020H jb $L2073 ; Line 1565 mov edx, DWORD PTR _Thunderwith$[esp+892432] push edx push OFFSET FLAT:$SG2082 push ebp call _fprintf ; Line 1566 push OFFSET FLAT:$SG2083 push ebp call _fprintf add esp, 20 ; 00000014H pop edi pop ebp pop esi ; Line 1567 mov eax, 1 pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L2103: ; Line 1626 push OFFSET FLAT:$SG2108 call _printf ; Line 1627 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:$SG2109 push ebp call _fprintf ; Line 1628 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:$SG2110 push ebp call _fprintf ; Line 1629 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:$SG2112 push ebp call _fprintf ; Line 1630 mov ecx, DWORD PTR _NumberOfFiles$[esp+892448] push ecx push OFFSET FLAT:$SG2113 push ebp call _fprintf ; Line 1631 mov edx, DWORD PTR _NumberOfLines$[esp+892464] mov eax, DWORD PTR _NumberOfLines$[esp+892460] push edx push eax push OFFSET FLAT:$SG2114 push ebp call _fprintf ; Line 1632 mov ecx, DWORD PTR tv4506[esp+892476] push ecx push OFFSET FLAT:$SG2116 push ebp call _fprintf ; Line 1633 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:$SG2117 push ebp call _fprintf add esp, 12 ; 0000000cH ; Line 1634 mov ebx, 1 npad 2 $L2118: ; Line 1635 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:$SG2124 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:$SG2125 push ebp call _fprintf add esp, 28 ; 0000001cH inc ebx cmp ebx, 32 ; 00000020H jb $L2118 ; Line 1637 mov ecx, DWORD PTR _Thunderwith$[esp+892432] push ecx push OFFSET FLAT:$SG2127 push ebp call _fprintf ; Line 1638 push OFFSET FLAT:$SG2128 push ebp call _fprintf add esp, 20 ; 00000014H pop edi pop ebp pop esi ; Line 1639 mov eax, 1 pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L2141: ; Line 1715 push OFFSET FLAT:$SG2146 call _printf ; Line 1716 mov edx, DWORD PTR _argv$[esp+892432] mov eax, DWORD PTR [edx+4] mov esi, DWORD PTR _fp_outLOG$[esp+892436] push eax push OFFSET FLAT:$SG2147 push esi call _fprintf ; Line 1717 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:$SG2148 push esi call _fprintf ; Line 1718 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:$SG2150 push esi call _fprintf ; Line 1719 mov eax, DWORD PTR _NumberOfFiles$[esp+892448] push eax push OFFSET FLAT:$SG2151 push esi call _fprintf ; Line 1720 mov ecx, DWORD PTR _NumberOfLines$[esp+892464] mov edx, DWORD PTR _NumberOfLines$[esp+892460] push ecx push edx push OFFSET FLAT:$SG2152 push esi call _fprintf ; Line 1721 mov eax, DWORD PTR tv4506[esp+892476] push eax push OFFSET FLAT:$SG2154 push esi call _fprintf ; Line 1722 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:$SG2155 push esi call _fprintf add esp, 12 ; 0000000cH ; Line 1723 mov ebx, 1 mov ebp, esi npad 1 $L2156: ; Line 1724 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:$SG2162 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:$SG2163 push ebp call _fprintf add esp, 28 ; 0000001cH inc ebx cmp ebx, 32 ; 00000020H jb $L2156 ; Line 1726 mov eax, DWORD PTR _Thunderwith$[esp+892432] push eax push OFFSET FLAT:$SG2165 push ebp call _fprintf ; Line 1727 push OFFSET FLAT:$SG2166 push ebp call _fprintf add esp, 20 ; 00000014H pop edi pop ebp pop esi ; Line 1728 mov eax, 1 pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L2188: ; Line 1790 mov BYTE PTR _CRdLFa$[esp+892432], 13 ; 0000000dH mov BYTE PTR _CRdLFa$[esp+892433], 10 ; 0000000aH ; Line 1792 mov DWORD PTR _i$[esp+892432], edi mov DWORD PTR _i$[esp+892436], edi mov eax, edi $L2779: ; Line 1794 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 tv4805[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 tv4805[esp+892436], ebx mov DWORD PTR tv4421[esp+892436], edx mov DWORD PTR _BufStart$[esp+892432], ecx ; Line 1819 mov DWORD PTR _j$[esp+892432], 0 $L2800: ; Line 1822 mov edx, DWORD PTR _BufStart$[esp+892432] mov eax, DWORD PTR _j$[esp+892432] mov ebx, DWORD PTR [edx+eax*4] ; Line 1823 test ebx, ebx je $L2195 ; Line 1825 mov ecx, DWORD PTR _NumberOfTrees$[esp+892432] ; Line 1826 mov eax, DWORD PTR _BSTorBtree$[esp+892432] inc ecx ; Line 1855 xor edi, edi cmp eax, 1 mov DWORD PTR _NumberOfTrees$[esp+892432], ecx je $L2218 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 1856 xor ebp, ebp $L2200: ; Line 1858 test ebx, ebx je SHORT $L2204 $L2203: ; Line 1860 cmp ebp, 196604 ; 0002fffcH ja $L2629 ; Line 1861 mov edx, DWORD PTR [ebx] ; Line 1863 mov eax, DWORD PTR [ebx+4] add ebx, 4 ; Line 1864 add ebx, 4 mov DWORD PTR _BSTstack$[esp+ebp*4+892432], ebx inc ebp ; Line 1865 mov DWORD PTR _BSTstack$[esp+ebp*4+892432], eax inc ebp ; Line 1866 mov DWORD PTR _BSTstack$[esp+ebp*4+892432], edx inc ebp ; Line 1868 test edx, edx jne SHORT $L2809 test eax, eax jne SHORT $L2809 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 $L2809: ; Line 1869 inc esi ; Line 1870 cmp edi, esi mov DWORD PTR _BSTcurrentPeak$[esp+892432], esi jae SHORT $L2208 mov edi, esi mov DWORD PTR _BSTcurrentPeakMAX$[esp+892432], edi $L2208: ; Line 1871 mov DWORD PTR _BSTstack$[esp+ebp*4+892432], esi inc ebp test eax, eax ; Line 1873 mov ebx, eax jne SHORT $L2203 ; Line 1858 mov edx, DWORD PTR _BSTcurrentNode$[esp+892432] $L2204: ; Line 1875 test ebp, ebp je $L2630 ; Line 1876 mov ecx, DWORD PTR _BSTstack$[esp+ebp*4+892428] ; Line 1879 mov ebx, DWORD PTR tv4805[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 1880 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 1881 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 1882 mov eax, DWORD PTR _BSTcurrentNode$[esp+892464] ; Line 1883 mov ebx, DWORD PTR _PseudoLinkedPointerNEWleft$[esp+892464] ; Line 1884 mov edi, DWORD PTR _BSTcurrentPeakMAX$[esp+892464] mov ecx, DWORD PTR _BSTcurrentLeaf$[esp+892464] mov esi, DWORD PTR _BSTcurrentPeak$[esp+892464] add esp, 32 ; 00000020H inc eax mov DWORD PTR _BSTcurrentNode$[esp+892432], eax mov edx, eax jmp $L2200 $L2630: ; Line 1887 mov eax, DWORD PTR _BSTwithMAXnode$[esp+892432] cmp eax, edx jae SHORT $L2858 ; Line 1888 mov DWORD PTR _BSTwithMAXnode$[esp+892432], edx ; Line 1889 mov DWORD PTR _BSTwithMAXnodePEAK$[esp+892432], edi ; Line 1890 mov DWORD PTR _BSTwithMAXnodeLEAF$[esp+892432], ecx ; Line 1891 mov DWORD PTR _BSTcurrentNodeMAXqUANTITY$[esp+892432], 0 ; Line 1893 jmp SHORT $L2669 $L2858: jne SHORT $L2811 $L2669: inc DWORD PTR _BSTcurrentNodeMAXqUANTITY$[esp+892432] $L2811: ; Line 1894 mov eax, DWORD PTR _BSTwithMAXpeak$[esp+892432] cmp eax, edi jae SHORT $L2859 ; Line 1898 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 1900 jmp SHORT $L2670 $L2859: jne SHORT $L2815 $L2670: inc DWORD PTR _BSTcurrentPeakMAXqUANTITY$[esp+892432] $L2815: ; Line 1901 mov eax, DWORD PTR _BSTwithMAXleaf$[esp+892432] cmp eax, ecx jae SHORT $L2860 ; Line 1902 mov DWORD PTR _BSTwithMAXleaf$[esp+892432], ecx ; Line 1903 mov DWORD PTR _BSTwithMAXleafNODE$[esp+892432], edx ; Line 1904 mov DWORD PTR _BSTwithMAXleafPEAK$[esp+892432], edi ; Line 1905 mov DWORD PTR _BSTcurrentLeafMAXqUANTITY$[esp+892432], 0 ; Line 1907 jmp SHORT $L2671 $L2860: jne SHORT $L2195 $L2671: inc DWORD PTR _BSTcurrentLeafMAXqUANTITY$[esp+892432] $L2195: mov eax, DWORD PTR _j$[esp+892432] inc eax cmp eax, 8192 ; 00002000H mov DWORD PTR _j$[esp+892432], eax jb $L2800 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 $L2193 ; Line 1792 cmp eax, 806 ; 00000326H jb $L2779 $L2193: ; Line 1969 cmp DWORD PTR _BSTorBtree$[esp+892432], 1 je $L2778 ; Line 1973 mov edx, DWORD PTR _iBSTwithMAXpeak$[esp+892432] xor eax, eax push eax push 31 ; 0000001fH push eax push edx call __aulldvrm ; Line 1983 mov esi, DWORD PTR _fp_outLOG$[esp+892432] mov DWORD PTR tv878[esp+892436], edx mov edx, DWORD PTR _WHOLEletter_BufferSize$[esp+892432] imul edx, eax ; Line 2177 mov eax, DWORD PTR _OffsetsInBuffer$[esp+ecx*4+892432] mov DWORD PTR tv4805[esp+892432], ecx mov ecx, DWORD PTR _pointerflush$[esp+892432] add eax, edx add eax, ecx mov ecx, DWORD PTR _jBSTwithMAXpeak$[esp+892432] mov edi, DWORD PTR [eax+ecx*4] test edi, edi mov DWORD PTR tv4805[esp+892436], ebx je $L2634 xor ebx, ebx push OFFSET FLAT:$SG2239 push esi xor ebp, ebp mov DWORD PTR _BSTcurrentLeaf$[esp+892440], ebx mov DWORD PTR _BSTcurrentPeakMAX$[esp+892440], ebx call _fprintf $L2863: add esp, 8 test edi, edi je SHORT $L2245 ; Line 1986 mov edx, DWORD PTR _BSTcurrentPeakMAX$[esp+892432] $L2244: ; Line 1988 cmp ebx, 196604 ; 0002fffcH ja $L2633 ; Line 1989 mov ecx, DWORD PTR [edi] ; Line 1991 mov eax, DWORD PTR [edi+4] add edi, 4 ; Line 1992 add edi, 4 mov DWORD PTR _BSTstack$[esp+ebx*4+892432], edi inc ebx ; Line 1993 mov DWORD PTR _BSTstack$[esp+ebx*4+892432], eax inc ebx ; Line 1994 mov DWORD PTR _BSTstack$[esp+ebx*4+892432], ecx inc ebx ; Line 1996 test ecx, ecx jne SHORT $L2248 test eax, eax jne SHORT $L2248 inc DWORD PTR _BSTcurrentLeaf$[esp+892432] $L2248: ; Line 1997 inc ebp ; Line 1998 cmp edx, ebp jae SHORT $L2249 mov edx, ebp mov DWORD PTR _BSTcurrentPeakMAX$[esp+892432], edx $L2249: ; Line 1999 mov DWORD PTR _BSTstack$[esp+ebx*4+892432], ebp inc ebx test eax, eax ; Line 2001 mov edi, eax jne SHORT $L2244 $L2245: ; Line 2003 test ebx, ebx je $L2634 ; Line 2004 mov eax, DWORD PTR _BSTstack$[esp+ebx*4+892428] dec ebx ; Line 2005 mov edx, DWORD PTR _BSTstack$[esp+ebx*4+892428] dec ebx ; Line 2006 mov ecx, DWORD PTR _BSTstack$[esp+ebx*4+892428] dec ebx ; Line 2007 mov esi, DWORD PTR _BSTstack$[esp+ebx*4+892428] mov DWORD PTR _PseudoLinkedPointerNEWright$[esp+892432], ecx mov ecx, DWORD PTR tv4805[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 2013 test eax, eax rep movsb mov DWORD PTR _BSTcurrentPeak$[esp+892432], eax mov DWORD PTR _PseudoLinkedPointerNEWleft$[esp+892432], edx mov edi, edx jbe SHORT $L2253 ; Line 2004 mov esi, eax $L2251: ; Line 2013 push 32 ; 00000020H push OFFSET FLAT:$SG2254 push ebp call _fprintf add esp, 12 ; 0000000cH dec esi jne SHORT $L2251 $L2253: ; Line 2014 mov eax, DWORD PTR _PseudoLinkedPointerNEWleft$[esp+892432] test eax, eax jne $L2255 push OFFSET FLAT:$SG2256 jmp $L2861 npad 6 $L2218: ; Line 1918 test ebx, ebx je $L2231 npad 8 $L2221: ; Line 1920 cmp edi, 196607 ; 0002ffffH ja $L2631 ; Line 1922 mov ecx, DWORD PTR tv4805[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 $L2226 mov edx, DWORD PTR _BufStart$[esp+892432] mov eax, DWORD PTR [edx+32768] mov DWORD PTR [ebx+8], eax $L2226: ; Line 1925 mov eax, DWORD PTR [ebx+8] ; Line 1927 test eax, eax mov esi, DWORD PTR [ebx] mov edx, DWORD PTR [ebx+4] je SHORT $L2227 ; Line 1928 mov ecx, DWORD PTR _BufStart$[esp+892432] mov edx, DWORD PTR [ecx+32768] mov DWORD PTR [ebx+8], edx ; Line 1929 mov ebx, eax ; Line 1931 jmp SHORT $L2232 $L2227: test edx, edx je SHORT $L2229 ; Line 1932 mov eax, DWORD PTR _BufStart$[esp+892432] mov ecx, DWORD PTR [eax+32768] mov DWORD PTR [ebx+4], ecx ; Line 1933 mov ebx, edx ; Line 1935 jmp SHORT $L2232 $L2229: test esi, esi je SHORT $L2231 ; Line 1936 mov edx, DWORD PTR _BufStart$[esp+892432] mov eax, DWORD PTR [edx+32768] mov DWORD PTR [ebx], eax ; Line 1937 mov ebx, esi $L2232: ; Line 1918 test ebx, ebx jne SHORT $L2221 $L2231: ; Line 1944 test edi, edi je $L2195 ; Line 1945 mov ebx, DWORD PTR _BSTstack$[esp+edi*4+892428] ; Line 2177 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 $L2218 mov ebp, DWORD PTR tv4805[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 tv4805[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 $L2236 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 $L2236: mov edi, DWORD PTR _StackPtr$[esp+892432] xor ebx, ebx jmp $L2218 $L2629: ; Line 1860 push OFFSET FLAT:$SG2206 call _printf ; Line 2176 add esp, 4 pop edi pop ebp pop esi mov eax, 13 ; 0000000dH pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L2631: ; Line 1920 push OFFSET FLAT:$SG2224 call _printf ; Line 2176 add esp, 4 pop edi pop ebp pop esi mov eax, 13 ; 0000000dH pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L2255: ; Line 2014 push OFFSET FLAT:$SG2258 $L2861: push ebp call _fprintf ; Line 2015 mov eax, DWORD PTR tv4805[esp+892440] mov ecx, DWORD PTR tv4805[esp+892444] add esp, 8 xor esi, esi add eax, 1 adc ecx, esi mov DWORD PTR $T2665[esp+892432], eax mov DWORD PTR $T2665[esp+892436], ecx ja SHORT $L2767 test eax, eax jbe SHORT $L2745 npad 5 $L2767: movsx edx, BYTE PTR _wrd$[esp+esi+892432] push edx push OFFSET FLAT:$SG2263 push ebp call _fprintf mov ecx, DWORD PTR $T2665[esp+892448] add esp, 12 ; 0000000cH xor eax, eax inc esi cmp eax, ecx jb SHORT $L2767 ja SHORT $L2745 cmp esi, DWORD PTR $T2665[esp+892432] jb SHORT $L2767 $L2745: ; Line 2016 mov eax, DWORD PTR _PseudoLinkedPointerNEWright$[esp+892432] test eax, eax jne SHORT $L2264 push OFFSET FLAT:$SG2265 jmp SHORT $L2862 $L2264: push OFFSET FLAT:$SG2267 $L2862: push ebp call _fprintf ; Line 2017 mov eax, DWORD PTR _BSTcurrentPeak$[esp+892440] add esp, 8 cmp eax, 1 jne SHORT $L2268 push OFFSET FLAT:$SG2269 push ebp call _fprintf add esp, 8 $L2268: ; Line 2018 push OFFSET FLAT:$SG2270 push ebp call _fprintf ; Line 2020 mov esi, DWORD PTR _fp_outLOG$[esp+892440] mov ebp, DWORD PTR _BSTcurrentPeak$[esp+892440] jmp $L2863 $L2633: ; Line 1988 push OFFSET FLAT:$SG2247 call _printf ; Line 2176 add esp, 4 pop edi pop ebp pop esi mov eax, 13 ; 0000000dH pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L2634: ; Line 2023 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:$SG2271 push esi call _fprintf ; Line 2024 push OFFSET FLAT:$SG2272 push esi call _fprintf ; Line 2025 push OFFSET FLAT:$SG2273 push esi call _fprintf ; Line 2026 push OFFSET FLAT:$SG2274 push esi call _fprintf ; Line 2027 push OFFSET FLAT:$SG2275 push esi call _fprintf ; Line 2028 push OFFSET FLAT:$SG2276 push esi call _fprintf ; Line 2032 mov eax, DWORD PTR _BSTwithMAXnode$[esp+892492] add esp, 60 ; 0000003cH xor ecx, ecx cmp eax, 65536 ; 00010000H jb SHORT $L2562 shr eax, 16 ; 00000010H mov ecx, 16 ; 00000010H $L2562: cmp eax, 256 ; 00000100H jb SHORT $L2563 shr eax, 8 add ecx, 8 $L2563: cmp eax, 16 ; 00000010H jb SHORT $L2801 shr eax, 4 add ecx, 4 $L2801: cmp eax, 4 jb SHORT $L2783 shr eax, 2 add ecx, 2 $L2783: cmp eax, 2 jb SHORT $L2566 inc ecx $L2566: test eax, eax jne SHORT $L2559 or ecx, -1 $L2559: inc ecx mov DWORD PTR _PEAKibBST$[esp+892432], ecx jmp SHORT $L2237 $L2778: mov esi, DWORD PTR _fp_outLOG$[esp+892432] $L2237: ; Line 2038 lea eax, DWORD PTR _t2$[esp+892432] push eax call _time ; Line 2039 mov eax, DWORD PTR _t2$[esp+892436] mov ecx, DWORD PTR _t1$[esp+892436] add esp, 4 cmp eax, ecx jg SHORT $L2278 lea eax, DWORD PTR [ecx+1] mov DWORD PTR _t2$[esp+892432], eax $L2278: ; Line 2040 sub eax, ecx push eax push OFFSET FLAT:$SG2280 call _printf ; Line 2041 mov eax, DWORD PTR _t2$[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:$SG2282 push esi call _fprintf ; Line 2042 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 _t2$[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:$SG2284 push esi call _fprintf ; Line 2043 mov ecx, DWORD PTR _argv$[esp+892456] mov edx, DWORD PTR [ecx+4] push edx push OFFSET FLAT:$SG2285 push esi call _fprintf ; Line 2044 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:$SG2286 push esi call _fprintf ; Line 2045 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:$SG2288 push esi call _fprintf ; Line 2046 mov ecx, DWORD PTR _NumberOfFiles$[esp+892448] push ecx push OFFSET FLAT:$SG2289 push esi call _fprintf ; Line 2047 mov edx, DWORD PTR _NumberOfLines$[esp+892464] mov eax, DWORD PTR _NumberOfLines$[esp+892460] push edx push eax push OFFSET FLAT:$SG2290 push esi call _fprintf ; Line 2048 mov ecx, DWORD PTR tv4506[esp+892476] push ecx push OFFSET FLAT:$SG2292 push esi call _fprintf ; Line 2050 mov ebx, DWORD PTR _NumberOfTrees$[esp+892488] push ebx push OFFSET FLAT:$SG2293 push esi call _fprintf ; Line 2051 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:$SG2294 shr ecx, 22 ; 00000016H push ecx push OFFSET FLAT:$SG2295 push esi call _fprintf sub edi, ebx ; Line 2052 push edi push OFFSET FLAT:$SG2296 push esi call _fprintf ; Line 2054 mov eax, DWORD PTR _BSTorBtree$[esp+892460] add esp, 28 ; 0000001cH cmp eax, 1 ; Line 2056 push 10 ; 0000000aH je $L2297 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:$SG2298 push esi call _fprintf ; Line 2057 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:$SG2299 push esi call _fprintf ; Line 2058 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:$SG2300 push esi call _fprintf ; Line 2059 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:$SG2301 push esi call _fprintf ; Line 2060 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:$SG2302 push esi call _fprintf ; Line 2061 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:$SG2303 push esi call _fprintf ; Line 2062 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:$SG2304 push esi call _fprintf add esp, 24 ; 00000018H ; Line 2063 jmp SHORT $L2305 $L2297: ; Line 2065 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:$SG2306 push esi call _fprintf add esp, 28 ; 0000001cH $L2305: ; Line 2068 mov edi, 1 $L2307: ; Line 2069 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:$SG2313 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:$SG2314 push esi call _fprintf ; Line 2070 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 $L2316 inc eax mov DWORD PTR _MAXusedBufferABS$[esp+892432], eax $L2316: ; Line 2071 mov edx, DWORD PTR _Utiliza1$[esp+892432] ; Line 2072 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 $L2307 ; Line 2074 push OFFSET FLAT:$SG2319 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:$SG2320 push esi call _fprintf ; Line 2075 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 $L2573 jl SHORT $L2746 test eax, eax jae SHORT $L2573 $L2746: mov ecx, 1 jmp SHORT $L2574 $L2573: xor ecx, ecx $L2574: 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:$SG2322 push esi call _fprintf ; Line 2076 mov eax, DWORD PTR _Thunderwith$[esp+892464] push eax push OFFSET FLAT:$SG2324 push esi call _fprintf ; Line 2077 mov ecx, DWORD PTR _MAXusedBufferABS$[esp+892476] push ecx push OFFSET FLAT:$SG2325 push esi call _fprintf ; Line 2078 mov edx, DWORD PTR _t2$[esp+892488] sub edx, DWORD PTR _t1$[esp+892488] push edx push OFFSET FLAT:$SG2327 push esi call _fprintf ; Line 2081 mov eax, DWORD PTR tv4506[esp+892500] add esp, 68 ; 00000044H push eax push OFFSET FLAT:$SG2328 call _printf ; Line 2082 mov ecx, DWORD PTR _pointerflush$[esp+892440] push ecx call _free ; Line 2083 mov edx, DWORD PTR _fp_out$[esp+892444] push edx call _fclose ; Line 2084 push esi call _fclose ; Line 2087 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 $L2330 ; Line 2098 mov eax, DWORD PTR _argc$[esp+892428] cmp eax, 4 jne SHORT $L2331 ; Line 2099 mov edi, 3 ; Line 2100 jmp SHORT $L2332 $L2331: cmp eax, 5 je SHORT $L2333 cmp eax, 6 jne SHORT $L2332 $L2333: ; Line 2101 mov edi, 4 $L2332: ; Line 2102 mov edx, DWORD PTR [ebp+edi*4] mov al, BYTE PTR [edx] cmp al, 65 ; 00000041H je $L2346 cmp al, 97 ; 00000061H je $L2780 cmp al, 66 ; 00000042H je $L2780 cmp al, 98 ; 00000062H je $L2780 cmp al, 67 ; 00000043H je $L2780 cmp al, 99 ; 00000063H je $L2780 cmp al, 68 ; 00000044H je $L2780 cmp al, 100 ; 00000064H je $L2780 ; Line 2103 push OFFSET FLAT:$SG2335 call _printf ; Line 2105 mov esi, DWORD PTR _TAILOffetFromStartBUKVA$[esp+892436] add esp, 4 xor edi, edi $L2336: ; Line 2106 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:$SG2339 call _printf add esp, 24 ; 00000018H ; Line 2108 cmp esi, ebx mov eax, esi jae SHORT $L2337 mov ecx, DWORD PTR _backup$[esp+892432] $L2341: mov edx, DWORD PTR [ecx+esi*4] movzx edx, BYTE PTR [edx] sub edx, 97 ; 00000061H cmp edx, edi jne SHORT $L2342 ; Line 2109 inc esi cmp esi, ebx jb SHORT $L2341 $L2342: ; Line 2111 cmp eax, esi je SHORT $L2337 ; Line 2112 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 $L2337: mov edi, ebp cmp edi, 26 ; 0000001aH jb SHORT $L2336 ; Line 2116 jmp $L2367 $L2780: ; Line 2118 cmp al, 65 ; 00000041H je SHORT $L2346 cmp al, 97 ; 00000061H jne SHORT $L2808 $L2346: ; Line 2119 push OFFSET FLAT:$SG2347 call _printf ; Line 2120 mov ecx, DWORD PTR _backup$[esp+892436] push 0 push ecx mov eax, ebx call _InsertSortKAZE add esp, 12 ; 0000000cH $L2808: ; Line 2122 mov edx, DWORD PTR [ebp+edi*4] mov al, BYTE PTR [edx] cmp al, 66 ; 00000042H je SHORT $L2349 cmp al, 98 ; 00000062H jne $L2784 $L2349: ; Line 2123 push OFFSET FLAT:$SG2350 call _printf ; Line 2125 mov esi, DWORD PTR _TAILOffetFromStartBUKVA$[esp+892436] add esp, 4 xor edi, edi $L2351: ; Line 2126 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:$SG2354 call _printf add esp, 24 ; 00000018H ; Line 2128 cmp esi, ebx mov ecx, esi jae SHORT $L2352 mov eax, DWORD PTR _backup$[esp+892432] $L2356: mov edx, DWORD PTR [eax+esi*4] movzx edx, BYTE PTR [edx] sub edx, 97 ; 00000061H cmp edx, edi jne SHORT $L2357 ; Line 2129 inc esi cmp esi, ebx jb SHORT $L2356 $L2357: ; Line 2131 cmp ecx, esi je SHORT $L2352 ; Line 2132 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 $L2352: mov edi, ebp cmp edi, 26 ; 0000001aH jb SHORT $L2351 ; Line 2125 mov ebp, DWORD PTR _argv$[esp+892428] jmp SHORT $L2353 $L2784: mov esi, DWORD PTR _TAILOffetFromStartBUKVA$[esp+892432] $L2353: ; Line 2136 mov edx, DWORD PTR [ebp+edi*4] mov al, BYTE PTR [edx] cmp al, 67 ; 00000043H je SHORT $L2360 cmp al, 99 ; 00000063H jne SHORT $L2582 $L2360: ; Line 2137 push OFFSET FLAT:$SG2361 call _printf ; Line 2138 mov eax, DWORD PTR _backup$[esp+892436] push 0 push ebx push eax call _mkqsort add esp, 16 ; 00000010H $L2582: ; Line 2140 mov ecx, DWORD PTR [ebp+edi*4] mov al, BYTE PTR [ecx] cmp al, 68 ; 00000044H je SHORT $L2803 cmp al, 100 ; 00000064H jne $L2367 $L2803: ; Line 2141 push OFFSET FLAT:$SG2364 call _printf add esp, 4 ; Line 2143 xor edi, edi $L2365: ; Line 2144 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:$SG2368 call _printf add esp, 24 ; 00000018H ; Line 2146 cmp esi, ebx mov eax, esi jae SHORT $L2366 mov ecx, DWORD PTR _backup$[esp+892432] $L2370: mov edx, DWORD PTR [ecx+esi*4] movzx edx, BYTE PTR [edx] sub edx, 97 ; 00000061H cmp edx, edi jne SHORT $L2371 ; Line 2147 inc esi cmp esi, ebx jb SHORT $L2370 $L2371: ; Line 2149 cmp eax, esi je SHORT $L2366 ; Line 2150 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 $L2366: mov edi, ebp cmp edi, 26 ; 0000001aH jb SHORT $L2365 $L2367: ; Line 2157 push OFFSET FLAT:$SG2373 call _printf ; Line 2158 mov esi, DWORD PTR _argv$[esp+892432] mov ecx, DWORD PTR [esi+8] push OFFSET FLAT:$SG2376 push ecx call _fopen mov edi, eax add esp, 12 ; 0000000cH test edi, edi jne SHORT $L2375 ; Line 2159 mov edx, DWORD PTR [esi+8] push edx push OFFSET FLAT:$SG2377 call _printf add esp, 8 pop edi pop ebp pop esi mov eax, 1 pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L2375: ; Line 2160 xor esi, esi test ebx, ebx jbe SHORT $L2802 mov ebp, DWORD PTR _backup$[esp+892432] npad 7 $L2378: ; Line 2163 mov eax, DWORD PTR [ebp+esi*4] push eax push OFFSET FLAT:$SG2381 push edi call _fprintf ; Line 2164 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 $L2378 $L2802: ; Line 2166 lea edx, DWORD PTR _t3$[esp+892432] push edx call _time ; Line 2167 mov eax, DWORD PTR _t3$[esp+892436] mov ecx, DWORD PTR _t2$[esp+892436] add esp, 4 cmp eax, ecx jg SHORT $L2383 lea eax, DWORD PTR [ecx+1] mov DWORD PTR _t3$[esp+892432], eax $L2383: ; Line 2168 sub eax, ecx push eax push OFFSET FLAT:$SG2385 call _printf ; Line 2169 push OFFSET FLAT:$SG2388 push OFFSET FLAT:$SG2389 call _fopen add esp, 16 ; 00000010H test eax, eax jne SHORT $L2387 ; Line 2170 push OFFSET FLAT:$SG2390 jmp SHORT $L2865 $L2387: ; Line 2171 mov ecx, DWORD PTR _t3$[esp+892432] sub ecx, DWORD PTR _t2$[esp+892432] push ecx push OFFSET FLAT:$SG2392 push eax call _fprintf ; Line 2172 push OFFSET FLAT:$SG2393 call _printf add esp, 16 ; 00000010H pop edi pop ebp pop esi ; Line 2173 xor eax, eax pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 $L2330: ; Line 2176 push OFFSET FLAT:$SG2395 $L2865: call _printf add esp, 4 pop edi pop ebp pop esi ; Line 2177 mov eax, 1 pop ebx ; Line 2180 add esp, 892416 ; 000d9e00H ret 0 _main ENDP _TEXT ENDS END