; Listing generated by Microsoft (R) Optimizing Compiler Version 15.00.30729.01 TITLE D:\LEPREC~2\VS_2008\Leprechaun.c .686P .XMM include listing.inc .model flat INCLUDELIB LIBCMT INCLUDELIB OLDNAMES _BSS SEGMENT $SG3919 DB 01H DUP (?) $SG4004 DB 01H DUP (?) $SG4016 DB 01H DUP (?) _BSS ENDS _DATA SEGMENT $SG3704 DB 'rb', 00H ORG $+1 $SG3705 DB 'Leprechaun: Can''t open file %s ', 0aH, 00H ORG $+3 $SG3712 DB 'Allocated memory for words in MB: %lu', 0aH, 00H ORG $+1 $SG3714 DB 'Leprechaun: Can''t read file %s ', 0aH, 00H ORG $+3 $SG3725 DB 'Leprechaun: Needed memory allocation denied!', 0aH, 00H ORG $+2 $SG3727 DB 'Allocated memory for pointers-to-words in MB: %lu', 0aH, 00H ORG $+1 $SG3916 DB 'Leprechaun(Fast and Greedy Word-Ripper), revision 12++, ' DB 'written by Svalqyatchx.', 00H $SG3917 DB 'Leprechaun: ''Oh, well, didn''t you hear? Bigger is good' DB ', but jumbo is dear.''', 00H $SG3920 DB '''The Little Monster'' short notes:', 00H ORG $+2 $SG3921 DB 'Note1: I wish to thank to R.N. Horspool, Ranjan Sinha, D' DB 'mitry Shkarin, Michael', 00H ORG $+1 $SG3922 DB ' Abrash, J. Bentley, R. Sedgewick, Igor Pavlov for' DB ' sharing their', 00H ORG $+1 $SG3923 DB ' knowledge to public.', 00H $SG3924 DB 'Note2: Run it without parameters to get usage and short ' DB 'notes.', 00H ORG $+5 $SG3925 DB 'Note3: This simple amateurish(more over I am not versed ' DB 'well neither in C nor', 00H ORG $+2 $SG3926 DB ' in mathematics nor in english language, but I am ' DB 'persistent in INDEXING', 00H ORG $+1 $SG3927 DB ' GBs of english TEXTS) tool is written in ANSI C(a' DB 't least its source is', 00H ORG $+2 $SG3928 DB ' compileable for CL(Windows) and GCC(Linux)), and ' DB 'its purpose is to', 00H ORG $+6 $SG3929 DB ' create a WordList for a group of files(given via ' DB 'filelist).', 00H ORG $+5 $SG3930 DB ' Its name comes(according to Heritage Dictionary) ' DB 'from ''low corpus'' or', 00H ORG $+3 $SG3931 DB ' ''little body'', in fact from amazing movie saga ' DB '''Leprechaun 1-2-3-4-5-6''', 00H ORG $+1 $SG3932 DB ' starring by Warwick Davis.', 00H ORG $+2 $SG3933 DB 'Note4: Only words up to 31 chars are proceeded.', 00H $SG3934 DB 'Note5: Cursor hiding in C - mission impossible for me.', 00H ORG $+5 $SG3935 DB 'Note6: By default(third parameter is 1023) allocated mem' DB 'ory is 364MB.', 00H ORG $+2 $SG3936 DB ' Due to ''malloc()'' limitation under WINDOWS, max' DB 'imum value of third', 00H ORG $+2 $SG3937 DB ' parameter is 5592 which is 1988MB allocated block' DB '.', 00H ORG $+2 $SG3938 DB 'Note7: File Leprechaun.LOG is a log, where new statistic' DB 's are appended.', 00H $SG3939 DB 'Note8: Revision 12+ can handle files larger than 4GB.', 00H ORG $+2 $SG3940 DB 'Note9: Revision 12++ has a buffered ''fread()'' - theref' DB 'ore I/O READ-BURST SPEED', 00H ORG $+1 $SG3941 DB ' is the only major bottleneck, as a result r.12++ ' DB 'is much-much faster.', 00H ORG $+3 $SG3942 DB 'NoteA: For ''H:\>Leprechaun.exe static.wikipedia.org_dow' DB 'nloads_2008-06_en.lst', 00H ORG $+3 $SG3943 DB ' wikipedia-en-html.tar.wrd 5400''', 00H ORG $+1 $SG3944 DB ' where 223,674,511,360 wikipedia-en-html.tar', 00H ORG $+1 $SG3945 DB ' on laptop Toshiba Pentium T3400 2166 MHz with', 00H ORG $+7 $SG3946 DB ' Motherboard Name: Tos' DB 'hiba Satellite L305', 00H $SG3960 DB ' Input File with a list of TEXTual Files:', 00H ORG $+1 $SG3947 DB ' CPU Type: Mobile DualCore Intel Pentium, ' DB '2166 MHz (13 x 167)', 00H $SG3961 DB ' static.wikipedia.org_downloads_2008-06_en.lst', 00H ORG $+3 $SG3948 DB ' CPU Alias: ' DB ' Merom-1M', 00H $SG3963 DB ' Word count: 30,974,750,142 of them 12,561,874 distinct' DB 00H ORG $+3 $SG3949 DB ' L1 Code Cache: ' DB ' 32 KB per core', 00H $SG4001 DB ' Use next time as third parameter: 3475-', 00H ORG $+2 $SG3950 DB ' L1 Data Cache: ' DB ' 32 KB per core', 00H $SG4003 DB ' Time for sorting unsorted wordlist: 10 second(s)', 00H ORG $+1 $SG3951 DB ' L2 Cache: 1 MB (On-Die, EC' DB 'C, ASC, Full-Speed)', 00H $SG4005 DB 'Usage: Leprechaun InFile OutFile [BufferSize] [SortMetho' DB 'd]', 00H ORG $+1 $SG3952 DB ' Bus Type: ' DB ' Dual DDR2 SDRAM', 00H $SG4011 DB ' : Optional Sort Method, default is ''D' DB ''',', 00H ORG $+2 $SG3953 DB ' Bus Width: ' DB ' 128-bit', 00H $SG4013 DB ' B - InsertionX26Sort', 00H ORG $+3 $SG3954 DB ' Real Clock: ' DB ' 333 MHz (DDR)', 00H $SG4017 DB 'Have a nice Leprechauning.', 00H ORG $+1 $SG3955 DB ' Effective Clock: ' DB ' 666 MHz', 00H $SG4018 DB 'For contacts: sanmayce@hotmail.com', 00H ORG $+1 $SG3956 DB ' EVEREST v5.00.1650 Memory Copy: 3725MB/s wi' DB 'th timings 5-5-5-13', 00H $SG3957 DB ' result is logged to ''Leprechaun.LOG'':', 00H ORG $+3 $SG3958 DB ' Bytes per second performance: 20,658,955B/s', 00H ORG $+2 $SG3959 DB ' Words per second performance: 2,860,880W/s', 00H ORG $+3 $SG3962 DB ' Size of all TEXTual Files: 223,674,511,360', 00H ORG $+3 $SG3964 DB ' Number Of Files: 1', 00H ORG $+3 $SG3965 DB ' Number Of Lines: 2088618575', 00H ORG $+2 $SG3966 DB ' Allocated memory in MB: 1920', 00H ORG $+5 $SG3967 DB ' Words with length 01 occupy 0,033KB of 0,349KB given i' DB '.e. 09% utilization', 00H $SG4022 DB 'rb', 00H ORG $+1 $SG3968 DB ' Words with length 02 occupy 0,033KB of 0,349KB given i' DB '.e. 09% utilization', 00H $SG4023 DB 'Leprechaun: Can''t open file %s ', 0aH, 00H ORG $+3 $SG3969 DB ' Words with length 03 occupy 0,037KB of 0,697KB given i' DB '.e. 05% utilization', 00H $SG4027 DB 'a+', 00H ORG $+1 $SG3970 DB ' Words with length 04 occupy 0,151KB of 0,871KB given i' DB '.e. 17% utilization', 00H $SG4075 DB 'rb', 00H ORG $+1 $SG3971 DB ' Words with length 05 occupy 0,744KB of 1,568KB given i' DB '.e. 47% utilization', 00H $SG4076 DB 'Leprechaun: Can''t open file %s ', 0aH, 00H ORG $+3 $SG3972 DB ' Words with length 06 occupy 1,470KB of 3,136KB given i' DB '.e. 46% utilization', 00H $SG4127 DB 'Word count: %s of them %s distinct', 0aH, 00H $SG3973 DB ' Words with length 07 occupy 2,605KB of 5,923KB given i' DB '.e. 43% utilization', 00H $SG4138 DB '%', 00H, 00H ORG $+1 $SG3974 DB ' Words with length 08 occupy 3,296KB of 6,968KB given i' DB '.e. 47% utilization', 00H $SG4141 DB 'Used value for third parameter in KB: %lu', 0aH, 00H ORG $+1 $SG3975 DB ' Words with length 09 occupy 3,714KB of 6,968KB given i' DB '.e. 53% utilization', 00H $SG4190 DB 'Word count: %s of them %s distinct', 0aH, 00H $SG3976 DB ' Words with length 10 occupy 3,483KB of 6,968KB given i' DB '.e. 49% utilization', 00H $SG4201 DB '%', 00H, 00H ORG $+1 $SG3977 DB ' Words with length 11 occupy 3,235KB of 5,923KB given i' DB '.e. 54% utilization', 00H $SG4204 DB 'Used value for third parameter in KB: %lu', 0aH, 00H ORG $+1 $SG3978 DB ' Words with length 12 occupy 2,691KB of 4,181KB given i' DB '.e. 64% utilization', 00H $SG4221 DB 'wb+', 00H $SG3979 DB ' Words with length 13 occupy 2,230KB of 3,484KB given i' DB '.e. 64% utilization', 00H $SG4222 DB 'Leprechaun: Can''t create file %s ', 0aH, 00H ORG $+1 $SG3980 DB ' Words with length 14 occupy 1,718KB of 3,484KB given i' DB '.e. 49% utilization', 00H $SG4241 DB 'Time for making unsorted wordlist: %d second(s)', 0aH, 00H ORG $+3 $SG3981 DB ' Words with length 15 occupy 1,357KB of 2,613KB given i' DB '.e. 51% utilization', 00H $SG4249 DB 'Word count: %s of them %s distinct', 0aH, 00H $SG3982 DB ' Words with length 16 occupy 1,063KB of 2,613KB given i' DB '.e. 40% utilization', 00H $SG4260 DB '%', 00H, 00H ORG $+1 $SG3983 DB ' Words with length 17 occupy 0,814KB of 1,742KB given i' DB '.e. 46% utilization', 00H $SG4266 DB '%', 00H, 00H ORG $+1 $SG3984 DB ' Words with length 18 occupy 0,617KB of 1,742KB given i' DB '.e. 35% utilization', 00H $SG4271 DB 'Used value for third parameter in KB: %lu', 0aH, 00H ORG $+1 $SG3985 DB ' Words with length 19 occupy 0,485KB of 1,742KB given i' DB '.e. 27% utilization', 00H $SG4274 DB 'Time for making unsorted wordlist: %d second(s)', 0aH, 00H ORG $+3 $SG3986 DB ' Words with length 20 occupy 0,402KB of 1,742KB given i' DB '.e. 23% utilization', 00H $SG4291 DB 'Sorting(with ''InsertionSort'') ...', 00H ORG $+2 $SG3987 DB ' Words with length 21 occupy 0,327KB of 1,742KB given i' DB '.e. 18% utilization', 00H $SG4317 DB 0aH, 'Flushing sorted words ...', 0aH, 00H $SG3988 DB ' Words with length 22 occupy 0,274KB of 1,742KB given i' DB '.e. 15% utilization', 00H $SG4320 DB 'wb+', 00H $SG3989 DB ' Words with length 23 occupy 0,224KB of 1,394KB given i' DB '.e. 16% utilization', 00H $SG4321 DB 'Leprechaun: Can''t create file %s ', 0aH, 00H ORG $+1 $SG3990 DB ' Words with length 24 occupy 0,190KB of 1,394KB given i' DB '.e. 13% utilization', 00H $SG4325 DB '%s', 00H ORG $+1 $SG3991 DB ' Words with length 25 occupy 0,162KB of 1,394KB given i' DB '.e. 11% utilization', 00H $SG4329 DB 'Time for sorting unsorted wordlist: %d second(s)', 0aH, 00H ORG $+2 $SG3992 DB ' Words with length 26 occupy 0,136KB of 1,220KB given i' DB '.e. 11% utilization', 00H $SG4332 DB 'a+', 00H ORG $+1 $SG3993 DB ' Words with length 27 occupy 0,119KB of 1,046KB given i' DB '.e. 11% utilization', 00H $SG4336 DB 'Time for sorting unsorted wordlist: %d second(s)', 0aH, 0aH DB 00H ORG $+1 $SG3994 DB ' Words with length 28 occupy 0,107KB of 0,871KB given i' DB '.e. 12% utilization', 00H $SG4337 DB 'Leprechaun: Done.', 0aH, 00H ORG $+1 $SG3995 DB ' Words with length 29 occupy 0,091KB of 0,697KB given i' DB '.e. 13% utilization', 00H ORG $+4 $SG3996 DB ' Words with length 30 occupy 0,080KB of 0,523KB given i' DB '.e. 15% utilization', 00H ORG $+4 $SG3997 DB ' Words with length 31 occupy 0,076KB of 0,523KB given i' DB '.e. 14% utilization', 00H $SG3998 DB ' Total pseudo(including hash table) memory utilization:' DB ' 42%', 00H ORG $+7 $SG3999 DB ' Total real(wordlist''s words VS allocated block) memor' DB 'y utilization: 60/1000', 00H ORG $+2 $SG4000 DB ' Used value for third parameter in KB: 5400', 00H ORG $+3 $SG4002 DB ' Time for making unsorted wordlist: 10827 second(s)', 00H ORG $+3 $SG4006 DB ' : Input file with files for Leprechauning,' DB ' in WINDOWS console', 00H ORG $+4 $SG4007 DB ' you can create it by ''E:\KAZEHOME>dir *' DB '.txt/s/b>Leprechaun.lst''', 00H $SG4008 DB ' : Output WORDLIST(sorted since r.9, CRLF)' DB ' file', 00H ORG $+2 $SG4009 DB ' : Optional Dynamic RAM buffer in KB, d' DB 'efault(and minimum', 00H ORG $+5 $SG4010 DB ' in the same time) is 1023, i.e. omit' DB ' or specify greater one', 00H $SG4012 DB ' A - InsertionSort', 00H ORG $+2 $SG4014 DB ' C - MultiKeyQuickSortSort by J. Bent' DB 'ley, R. Sedgewick', 00H ORG $+6 $SG4015 DB ' D - MultiKeyQuickSortX26Sort'' by J.' DB ' Bentley, R. Sedgewick', 00H ORG $+2 $SG4019 DB 'Sanmayce Svalqyatchx ''Kaze'', 2005 Feb 07(rev.12++: 201' DB '0 Mar 02).', 00H ORG $+3 $SG4024 DB 'Size of input file with files for Leprechauning: %lu', 0aH DB 00H ORG $+2 $SG4028 DB 'Leprechaun.LOG', 00H ORG $+1 $SG4029 DB 'Leprechaun: Can''t open file Leprechaun.LOG.', 0aH, 00H ORG $+3 $SG4048 DB 'Leprechaun: Needed memory allocation denied!', 0aH, 00H ORG $+2 $SG4049 DB 'Allocated memory in MB: %lu', 0aH, 00H ORG $+3 $SG4077 DB 'Size of Input TEXTual file: %s', 0aH, 00H $SG4093 DB '|; Word count: %s of them %s distinct; Done: %lu/64', 0dH DB 00H ORG $+3 $SG4097 DB '/; Word count: %s of them %s distinct; Done: %lu/64', 0dH DB 00H ORG $+3 $SG4101 DB '-; Word count: %s of them %s distinct; Done: %lu/64', 0dH DB 00H ORG $+3 $SG4105 DB '\; Word count: %s of them %s distinct; Done: %lu/64', 0dH DB 00H ORG $+7 $SG4123 DB 0aH, 'Leprechaun: Failure! Increment ''Memory for each Le' DB 'tter'' parameter(third one)!', 0aH, 00H $SG4124 DB 'Input File with a list of TEXTual Files: %s', 0aH, 00H ORG $+3 $SG4125 DB 'Size of all TEXTual Files: %s', 0aH, 00H ORG $+1 $SG4128 DB 'Number Of Files: %lu', 0aH, 00H ORG $+2 $SG4129 DB 'Number Of Lines: %lu', 0aH, 00H ORG $+2 $SG4131 DB 'Allocated memory in MB: %lu', 0aH, 00H ORG $+3 $SG4139 DB 'Words with length %s occupy %sKB of %sKB given i.e. %s%s' DB ' utilization', 0aH, 00H ORG $+2 $SG4142 DB 'Leprechaun: Failure! Increment ''Memory for each Letter''' DB ' parameter(third one)!', 0aH, 0aH, 00H $SG4156 DB '|; Word count: %s of them %s distinct; Done: %lu/64', 0dH DB 00H ORG $+3 $SG4160 DB '/; Word count: %s of them %s distinct; Done: %lu/64', 0dH DB 00H ORG $+3 $SG4164 DB '-; Word count: %s of them %s distinct; Done: %lu/64', 0dH DB 00H ORG $+3 $SG4168 DB '\; Word count: %s of them %s distinct; Done: %lu/64', 0dH DB 00H ORG $+3 $SG4186 DB 0aH, 'Leprechaun: Failure! Increment ''Memory for each Le' DB 'tter'' parameter(third one)!', 0aH, 00H $SG4187 DB 'Input File with a list of TEXTual Files: %s', 0aH, 00H ORG $+3 $SG4188 DB 'Size of all TEXTual Files: %s', 0aH, 00H ORG $+1 $SG4191 DB 'Number Of Files: %lu', 0aH, 00H ORG $+2 $SG4192 DB 'Number Of Lines: %lu', 0aH, 00H ORG $+2 $SG4194 DB 'Allocated memory in MB: %lu', 0aH, 00H ORG $+3 $SG4202 DB 'Words with length %s occupy %sKB of %sKB given i.e. %s%s' DB ' utilization', 0aH, 00H ORG $+2 $SG4205 DB 'Leprechaun: Failure! Increment ''Memory for each Letter''' DB ' parameter(third one)!', 0aH, 0aH, 00H $SG4208 DB '|; Word count: %s of them %s distinct; Done: %lu/64', 0aH DB 00H ORG $+3 $SG4211 DB '/; Word count: %s of them %s distinct; Done: %lu/64', 0aH DB 00H ORG $+3 $SG4214 DB '-; Word count: %s of them %s distinct; Done: %lu/64', 0aH DB 00H ORG $+3 $SG4217 DB '\; Word count: %s of them %s distinct; Done: %lu/64', 0aH DB 00H ORG $+3 $SG4218 DB 'Flushing unsorted words ...', 0aH, 00H ORG $+3 $SG4243 DB 'Bytes per second performance: %sB/s', 0aH, 00H ORG $+3 $SG4245 DB 'Words per second performance: %sW/s', 0aH, 00H ORG $+3 $SG4246 DB 'Input File with a list of TEXTual Files: %s', 0aH, 00H ORG $+3 $SG4247 DB 'Size of all TEXTual Files: %s', 0aH, 00H ORG $+1 $SG4250 DB 'Number Of Files: %lu', 0aH, 00H ORG $+2 $SG4251 DB 'Number Of Lines: %lu', 0aH, 00H ORG $+2 $SG4253 DB 'Allocated memory in MB: %lu', 0aH, 00H ORG $+3 $SG4261 DB 'Words with length %s occupy %sKB of %sKB given i.e. %s%s' DB ' utilization', 0aH, 00H ORG $+2 $SG4267 DB 'Total pseudo(including hash table) memory utilization: %' DB 's%s', 0aH, 00H ORG $+3 $SG4269 DB 'Total real(wordlist''s words VS allocated block) memory ' DB 'utilization: %s/1000', 0aH, 00H ORG $+3 $SG4272 DB 'Use next time as third parameter: %lu-', 0aH, 00H $SG4275 DB 'Deallocated memory in MB: %lu', 0aH, 00H ORG $+1 $SG4279 DB 'Sorting(with ''MultiKeyQuickSortX26Sort'' by J. Bentley ' DB 'and R. Sedgewick) ...', 0aH, 00H ORG $+3 $SG4283 DB 'Sort pass %s/26 ...', 0dH, 00H ORG $+3 $SG4294 DB 'Sorting(with ''InsertionX26Sort'') ...', 0aH, 00H ORG $+2 $SG4298 DB 'Sort pass %s/26 ...', 0dH, 00H ORG $+3 $SG4305 DB 'Sorting(with ''MultiKeyQuickSortSort'' by J. Bentley and' DB ' R. Sedgewick) ...', 00H ORG $+7 $SG4308 DB 'Sorting(with ''MultiKeyQuickSortX26Sort'' by J. Bentley ' DB 'and R. Sedgewick) ...', 0aH, 00H ORG $+3 $SG4312 DB 'Sort pass %s/26 ...', 0dH, 00H ORG $+3 $SG4333 DB 'Leprechaun.LOG', 00H ORG $+1 $SG4334 DB 'Leprechaun: Can''t open file Leprechaun.LOG.', 0aH, 00H ORG $+3 $SG4339 DB 'Leprechaun: Input file too large, wordlist remains unsor' DB 'ted!', 0aH, 00H _DATA ENDS EXTRN __time64:PROC ; Function compile flags: /Ogtpy _TEXT SEGMENT _time PROC ; __Time$ = eax ; File c:\program files\microsoft visual studio 9.0\vc\include\time.inl ; Line 135 push eax call __time64 add esp, 4 ; Line 136 ret 0 _time ENDP ; Function compile flags: /Ogtpy _pi$ = -4 ; size = 4 _a$ = 8 ; size = 4 _n$ = 12 ; size = 4 _d$ = 16 ; size = 4 _InsertSortKAZE PROC ; File d:\leprechaun12++\vs_2008\leprechaun.c ; Line 84 push ecx ; Line 85 mov eax, DWORD PTR _n$[esp] push ebp mov ebp, DWORD PTR _d$[esp+4] push esi mov esi, DWORD PTR _a$[esp+8] dec eax add esi, 4 mov DWORD PTR _pi$[esp+12], esi mov DWORD PTR _n$[esp+8], eax test eax, eax jle SHORT $LN8@InsertSort push ebx push edi $LL21@InsertSort: ; Line 86 cmp esi, DWORD PTR _a$[esp+16] jbe SHORT $LN9@InsertSort $LL7@InsertSort: ; Line 88 mov edi, DWORD PTR [esi-4] mov ebx, DWORD PTR [esi] mov al, BYTE PTR [edi+ebp] lea ecx, DWORD PTR [edi+ebp] cmp al, BYTE PTR [ebx+ebp] lea edx, DWORD PTR [ebx+ebp] jne SHORT $LN2@InsertSort npad 6 $LL4@InsertSort: test al, al je SHORT $LN2@InsertSort mov al, BYTE PTR [ecx+1] inc ecx inc edx cmp al, BYTE PTR [edx] je SHORT $LL4@InsertSort $LN2@InsertSort: ; Line 90 mov al, BYTE PTR [ecx] cmp al, BYTE PTR [edx] jbe SHORT $LN20@InsertSort ; Line 92 mov DWORD PTR [esi], edi mov DWORD PTR [esi-4], ebx add esi, -4 ; fffffffcH cmp esi, DWORD PTR _a$[esp+16] ja SHORT $LL7@InsertSort $LN20@InsertSort: ; Line 86 mov esi, DWORD PTR _pi$[esp+20] $LN9@InsertSort: ; Line 85 mov eax, DWORD PTR _n$[esp+16] dec eax add esi, 4 mov DWORD PTR _pi$[esp+20], esi mov DWORD PTR _n$[esp+16], eax test eax, eax jg SHORT $LL21@InsertSort pop edi pop ebx $LN8@InsertSort: pop esi pop ebp ; Line 94 pop ecx ret 0 _InsertSortKAZE ENDP _TEXT ENDS PUBLIC _vecswap2 ; Function compile flags: /Ogtpy _TEXT SEGMENT _a$ = 8 ; size = 4 _b$ = 12 ; size = 4 _n$ = 16 ; size = 4 _vecswap2 PROC ; Line 158 mov edx, DWORD PTR _n$[esp-4] test edx, edx jle SHORT $LN6@vecswap2 mov ecx, DWORD PTR _b$[esp-4] mov eax, DWORD PTR _a$[esp-4] push esi push edi $LL2@vecswap2: ; Line 160 mov edi, DWORD PTR [ecx] mov esi, DWORD PTR [eax] mov DWORD PTR [eax], edi dec edx ; Line 161 mov DWORD PTR [ecx], esi add eax, 4 add ecx, 4 test edx, edx jg SHORT $LL2@vecswap2 pop edi pop esi $LN6@vecswap2: ; Line 163 ret 0 _vecswap2 ENDP _TEXT ENDS PUBLIC _med3func ; Function compile flags: /Ogtpy _TEXT SEGMENT _a$ = 8 ; size = 4 _b$ = 12 ; size = 4 _c$ = 16 ; size = 4 _depth$ = 20 ; size = 4 _med3func PROC ; Line 170 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 171 je SHORT $LN4@med3func push ebp push edi ; Line 172 mov edi, DWORD PTR _c$[esp+12] mov ebp, DWORD PTR [edi] movzx ecx, BYTE PTR [ecx+ebp] cmp ecx, edx je SHORT $LN1@med3func cmp ecx, esi je SHORT $LN1@med3func ; Line 176 cmp edx, esi jge SHORT $LN14@med3func cmp esi, ecx jl SHORT $LN17@med3func cmp edx, ecx jl SHORT $LN1@med3func pop edi pop ebp pop esi pop ebx ; Line 177 ret 0 $LN14@med3func: ; Line 176 cmp esi, ecx jle SHORT $LN12@med3func $LN17@med3func: pop edi pop ebp pop esi mov eax, ebx pop ebx ; Line 177 ret 0 $LN12@med3func: ; Line 176 cmp edx, ecx jl SHORT $LN16@med3func $LN1@med3func: ; Line 173 mov eax, edi $LN16@med3func: pop edi pop ebp $LN4@med3func: pop esi pop ebx ; Line 177 ret 0 _med3func ENDP _TEXT ENDS PUBLIC _inssort ; Function compile flags: /Ogtpy _TEXT SEGMENT _pi$ = -4 ; size = 4 _a$ = 8 ; size = 4 _n$ = 12 ; size = 4 _d$ = 16 ; size = 4 _inssort PROC ; Line 181 push ecx ; Line 182 mov eax, DWORD PTR _n$[esp] push esi mov esi, DWORD PTR _a$[esp+4] dec eax add esi, 4 mov DWORD PTR _pi$[esp+8], esi mov DWORD PTR _n$[esp+4], eax test eax, eax jle SHORT $LN8@inssort push ebx push ebp mov ebp, DWORD PTR _d$[esp+12] push edi $LL21@inssort: ; Line 183 cmp esi, DWORD PTR _a$[esp+16] jbe SHORT $LN9@inssort $LL7@inssort: ; Line 185 mov edi, DWORD PTR [esi-4] mov ebx, DWORD PTR [esi] mov al, BYTE PTR [edi+ebp] lea ecx, DWORD PTR [edi+ebp] cmp al, BYTE PTR [ebx+ebp] lea edx, DWORD PTR [ebx+ebp] jne SHORT $LN2@inssort npad 6 $LL4@inssort: test al, al je SHORT $LN2@inssort mov al, BYTE PTR [ecx+1] inc ecx inc edx cmp al, BYTE PTR [edx] je SHORT $LL4@inssort $LN2@inssort: ; Line 187 mov al, BYTE PTR [ecx] cmp al, BYTE PTR [edx] jbe SHORT $LN20@inssort ; Line 189 mov DWORD PTR [esi], edi mov DWORD PTR [esi-4], ebx add esi, -4 ; fffffffcH cmp esi, DWORD PTR _a$[esp+16] ja SHORT $LL7@inssort $LN20@inssort: ; Line 183 mov esi, DWORD PTR _pi$[esp+20] $LN9@inssort: ; Line 182 mov eax, DWORD PTR _n$[esp+16] dec eax add esi, 4 mov DWORD PTR _pi$[esp+20], esi mov DWORD PTR _n$[esp+16], eax test eax, eax jg SHORT $LL21@inssort pop edi pop ebp pop ebx $LN8@inssort: pop esi ; Line 191 pop ecx ret 0 _inssort ENDP _TEXT ENDS PUBLIC _mkqsort ; Function compile flags: /Ogtpy _TEXT SEGMENT tv329 = -12 ; size = 4 _pd$ = -12 ; size = 4 tv375 = -8 ; size = 4 _pl$ = -8 ; size = 4 tv373 = -4 ; size = 4 tv326 = -4 ; size = 4 _partval$ = -4 ; size = 4 _a$ = 8 ; size = 4 _n$ = 12 ; size = 4 _depth$ = 16 ; size = 4 _mkqsort PROC ; Line 194 sub esp, 12 ; 0000000cH push ebx ; Line 196 mov ebx, DWORD PTR _a$[esp+12] push ebp push esi push edi mov edi, DWORD PTR _n$[esp+24] cmp edi, 20 ; 00000014H jl $LN29@mkqsort $LL21@mkqsort: ; Line 201 mov eax, edi cdq sub eax, edx sar eax, 1 ; Line 202 lea ebp, DWORD PTR [ebx+edi*4] lea esi, DWORD PTR [ebx+eax*4] ; Line 203 mov eax, DWORD PTR _n$[esp+24] add ebp, -4 ; fffffffcH cmp eax, 30 ; 0000001eH mov ecx, ebx mov DWORD PTR tv326[esp+28], ebp mov edi, ebp jle SHORT $LN13@mkqsort ; Line 204 cdq and edx, 7 add eax, edx sar eax, 3 ; Line 205 lea ecx, DWORD PTR [eax*8] lea ebp, DWORD PTR [eax*4] mov eax, DWORD PTR _depth$[esp+24] mov DWORD PTR tv329[esp+28], ecx push eax add ecx, ebx push ecx lea ecx, DWORD PTR [ebx+ebp] push ecx push ebx call _med3func ; Line 206 mov edx, DWORD PTR _depth$[esp+40] push edx mov DWORD PTR _pl$[esp+48], eax lea eax, DWORD PTR [esi+ebp] push eax push esi sub esi, ebp push esi call _med3func ; Line 207 mov ecx, DWORD PTR _depth$[esp+56] push ecx mov edx, edi push edi sub edi, DWORD PTR tv329[esp+68] sub edx, ebp push edx push edi mov esi, eax call _med3func mov ecx, DWORD PTR _pl$[esp+76] mov ebp, DWORD PTR tv326[esp+76] add esp, 48 ; 00000030H mov edi, eax $LN13@mkqsort: ; Line 209 mov eax, DWORD PTR _depth$[esp+24] push eax push edi push esi push ecx call _med3func ; Line 210 mov edx, DWORD PTR [eax] mov ecx, DWORD PTR [ebx] mov DWORD PTR [ebx], edx mov DWORD PTR [eax], ecx ; Line 211 mov eax, DWORD PTR [ebx] mov ecx, DWORD PTR _depth$[esp+40] movzx edx, BYTE PTR [eax+ecx] ; Line 212 lea esi, DWORD PTR [ebx+4] ; Line 213 mov edi, ebp mov DWORD PTR _partval$[esp+44], edx add esp, 16 ; 00000010H mov edx, esi mov DWORD PTR _pd$[esp+28], edi $LL12@mkqsort: ; Line 215 cmp esi, edi ja SHORT $LN40@mkqsort $LL10@mkqsort: mov ecx, DWORD PTR [esi] mov eax, DWORD PTR _depth$[esp+24] movzx eax, BYTE PTR [ecx+eax] mov ebp, DWORD PTR _partval$[esp+28] sub eax, ebp test eax, eax jg $LN26@mkqsort ; Line 216 jne SHORT $LN36@mkqsort mov eax, DWORD PTR [edx] mov DWORD PTR [edx], ecx mov DWORD PTR [esi], eax add edx, 4 $LN36@mkqsort: ; Line 217 add esi, 4 cmp esi, edi jbe SHORT $LL10@mkqsort $LN40@mkqsort: ; Line 229 mov eax, esi sub eax, edx sub edx, ebx sar eax, 2 sar edx, 2 cmp edx, eax mov DWORD PTR tv373[esp+28], eax mov DWORD PTR tv375[esp+28], edx jg SHORT $LN17@mkqsort mov eax, edx $LN17@mkqsort: push eax lea edx, DWORD PTR [eax*4] mov eax, esi sub eax, edx push eax push ebx call _vecswap2 ; Line 230 mov ecx, DWORD PTR _n$[esp+36] mov ebp, DWORD PTR _pd$[esp+40] lea eax, DWORD PTR [ebx+ecx*4] mov edx, eax sub edx, ebp sar edx, 2 sub ebp, edi lea ecx, DWORD PTR [edx-1] sar ebp, 2 add esp, 12 ; 0000000cH cmp ebp, ecx jg SHORT $LN19@mkqsort mov ecx, ebp $LN19@mkqsort: push ecx add ecx, ecx add ecx, ecx sub eax, ecx push eax push esi call _vecswap2 ; Line 231 mov edi, DWORD PTR tv373[esp+40] ; Line 232 mov esi, DWORD PTR _depth$[esp+36] add esp, 12 ; 0000000cH cmp edi, 1 jle SHORT $LN3@mkqsort push esi push edi push ebx call _mkqsort add esp, 12 ; 0000000cH $LN3@mkqsort: ; Line 233 mov edx, DWORD PTR [ebx+edi*4] cmp BYTE PTR [esi+edx], 0 lea eax, DWORD PTR [ebx+edi*4] je SHORT $LN2@mkqsort ; Line 234 mov ecx, DWORD PTR tv375[esp+28] lea edx, DWORD PTR [ecx*4] sub edx, DWORD PTR _pd$[esp+28] mov ecx, DWORD PTR _n$[esp+24] lea ecx, DWORD PTR [ebx+ecx*4] add edx, ecx sar edx, 2 inc esi push esi dec edx push edx push eax call _mkqsort add esp, 12 ; 0000000cH $LN2@mkqsort: ; Line 235 cmp ebp, 1 jle SHORT $LN1@mkqsort ; Line 236 mov edx, DWORD PTR _n$[esp+24] sub edx, ebp cmp ebp, 20 ; 00000014H lea ebx, DWORD PTR [ebx+edx*4] mov DWORD PTR _n$[esp+24], ebp mov edi, ebp jge $LL21@mkqsort $LN29@mkqsort: ; Line 197 mov eax, DWORD PTR _depth$[esp+24] push eax push edi push ebx call _inssort add esp, 12 ; 0000000cH $LN1@mkqsort: pop edi pop esi pop ebp pop ebx ; Line 237 add esp, 12 ; 0000000cH ret 0 $LN26@mkqsort: ; Line 219 cmp esi, edi ja $LN40@mkqsort npad 8 $LL7@mkqsort: mov ecx, DWORD PTR [edi] mov eax, DWORD PTR _depth$[esp+24] movzx eax, BYTE PTR [ecx+eax] sub eax, ebp js SHORT $LN6@mkqsort ; Line 220 test eax, eax jne SHORT $LN37@mkqsort mov eax, DWORD PTR _pd$[esp+28] mov eax, DWORD PTR [eax] mov DWORD PTR [edi], eax mov eax, DWORD PTR _pd$[esp+28] mov DWORD PTR [eax], ecx sub eax, 4 mov DWORD PTR _pd$[esp+28], eax $LN37@mkqsort: ; Line 221 sub edi, 4 cmp esi, edi jbe SHORT $LL7@mkqsort ; Line 219 jmp $LN40@mkqsort $LN6@mkqsort: ; Line 223 cmp esi, edi ja $LN40@mkqsort ; Line 224 mov eax, DWORD PTR [esi] mov DWORD PTR [esi], ecx mov DWORD PTR [edi], eax ; Line 225 add esi, 4 ; Line 226 sub edi, 4 ; Line 227 jmp $LL12@mkqsort _mkqsort ENDP _TEXT ENDS PUBLIC _mkqsort_main ; Function compile flags: /Ogtpy _TEXT SEGMENT _a$ = 8 ; size = 4 _n$ = 12 ; size = 4 _mkqsort_main PROC ; Line 239 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 _puts:PROC EXTRN _fclose:PROC EXTRN _fread:PROC EXTRN _malloc:PROC EXTRN _ftell:PROC EXTRN _fseek:PROC EXTRN _exit:PROC EXTRN _printf:PROC EXTRN _fopen:PROC ; Function compile flags: /Ogtpy _TEXT SEGMENT _nlines$ = -4 ; size = 4 _file_name$ = 8 ; size = 4 _lines$ = 12 ; size = 4 _readlines PROC ; Line 244 push ecx push ebx push ebp mov ebp, DWORD PTR _file_name$[esp+8] push esi push edi ; Line 251 push OFFSET $SG3704 push ebp mov DWORD PTR _nlines$[esp+28], 0 call _fopen mov esi, eax add esp, 8 test esi, esi jne SHORT $LN12@readlines ; Line 252 push ebp push OFFSET $SG3705 call _printf ; Line 253 push -1 call _exit add esp, 12 ; 0000000cH $LN12@readlines: ; Line 255 push 2 push 0 push esi call _fseek ; Line 256 push esi call _ftell ; Line 257 push 0 push 0 push esi mov edi, eax call _fseek ; Line 258 push edi call _malloc mov ebx, eax add esp, 32 ; 00000020H test ebx, ebx jne SHORT $LN11@readlines pop edi pop esi pop ebp or eax, -1 pop ebx ; Line 298 pop ecx ret 0 $LN11@readlines: ; Line 259 mov eax, edi shr eax, 20 ; 00000014H inc eax push eax push OFFSET $SG3712 call _printf ; Line 260 push esi push edi push 1 push ebx call _fread add esp, 24 ; 00000018H cmp eax, edi jae SHORT $LN10@readlines ; Line 261 push ebp push OFFSET $SG3714 call _printf ; Line 262 push -1 call _exit add esp, 12 ; 0000000cH $LN10@readlines: ; Line 264 push esi call _fclose ; Line 268 lea esi, DWORD PTR [ebx+edi] add esp, 4 mov eax, ebx cmp ebx, esi jae SHORT $LN8@readlines ; Line 270 cmp eax, esi jae SHORT $LN6@readlines npad 5 $LL7@readlines: cmp BYTE PTR [eax], 10 ; 0000000aH je SHORT $LN6@readlines inc eax cmp eax, esi jb SHORT $LL7@readlines $LN6@readlines: ; Line 274 inc DWORD PTR _nlines$[esp+20] dec eax mov BYTE PTR [eax], 0 add eax, 2 cmp eax, esi jb SHORT $LL7@readlines $LN8@readlines: ; Line 278 mov edi, DWORD PTR _nlines$[esp+20] add edi, edi add edi, edi push edi call _malloc mov ebp, eax add esp, 4 ; Line 279 test ebp, ebp jne SHORT $LN5@readlines ; Line 280 push OFFSET $SG3725 call _puts add esp, 4 pop edi pop esi lea eax, DWORD PTR [ebp+1] pop ebp pop ebx ; Line 298 pop ecx ret 0 $LN5@readlines: ; Line 281 shr edi, 20 ; 00000014H inc edi push edi push OFFSET $SG3727 call _printf ; Line 282 mov ecx, DWORD PTR _lines$[esp+24] add esp, 8 ; Line 286 xor eax, eax mov DWORD PTR [ecx], ebp ; Line 287 mov edx, ebx ; Line 288 cmp ebx, esi jae SHORT $LN13@readlines $LL4@readlines: ; Line 289 mov ecx, edx ; Line 290 cmp edx, esi jae SHORT $LN1@readlines npad 4 $LL2@readlines: cmp BYTE PTR [ecx], 10 ; 0000000aH je SHORT $LN1@readlines inc ecx cmp ecx, esi jb SHORT $LL2@readlines $LN1@readlines: ; Line 291 dec ecx mov BYTE PTR [ecx], 0 ; Line 293 mov DWORD PTR [ebp+eax*4], edx ; Line 294 lea edx, DWORD PTR [ecx+2] ; Line 295 inc eax cmp edx, esi jb SHORT $LL4@readlines $LN13@readlines: pop edi pop esi pop ebp pop ebx ; Line 298 pop ecx ret 0 _readlines ENDP _TEXT ENDS PUBLIC _x64toaKAZE EXTRN __aulldvrm:PROC ; Function compile flags: /Ogtpy _TEXT SEGMENT tv65 = -8 ; size = 8 tv164 = 8 ; size = 8 _val$ = 8 ; size = 8 _buf$ = 16 ; size = 4 _radix$ = 20 ; size = 4 _is_neg$ = 24 ; size = 4 _x64toaKAZE PROC ; Line 317 mov eax, DWORD PTR _val$[esp] sub esp, 8 cmp DWORD PTR _is_neg$[esp+4], 0 push ebp push esi mov esi, DWORD PTR _buf$[esp+12] push edi mov edi, DWORD PTR _val$[esp+16] je SHORT $LN9@x64toaKAZE mov BYTE PTR [esi], 45 ; 0000002dH inc esi neg edi adc eax, 0 neg eax $LN9@x64toaKAZE: ; Line 320 mov ebp, esi ; Line 331 mov DWORD PTR tv164[esp+20], 0 push ebx npad 1 $LL8@x64toaKAZE: mov ecx, DWORD PTR tv164[esp+24] push ecx mov ecx, DWORD PTR _radix$[esp+24] push ecx push eax push edi call __aulldvrm mov edi, eax mov DWORD PTR tv65[esp+28], ebx mov eax, edx cmp ecx, 9 jbe SHORT $LN5@x64toaKAZE ; Line 328 add cl, 87 ; 00000057H ; Line 329 jmp SHORT $LN17@x64toaKAZE $LN5@x64toaKAZE: ; Line 330 add cl, 48 ; 00000030H $LN17@x64toaKAZE: mov BYTE PTR [esi], cl inc esi ; Line 331 test eax, eax ja SHORT $LL8@x64toaKAZE jb SHORT $LN14@x64toaKAZE test edi, edi ja SHORT $LL8@x64toaKAZE $LN14@x64toaKAZE: ; Line 336 mov BYTE PTR [esi], 0 dec esi pop ebx $LL3@x64toaKAZE: ; Line 340 mov dl, BYTE PTR [ebp] mov al, BYTE PTR [esi] mov BYTE PTR [esi], dl ; Line 341 mov BYTE PTR [ebp], al ; Line 342 dec esi ; Line 343 inc ebp ; Line 344 cmp ebp, esi jb SHORT $LL3@x64toaKAZE pop edi pop esi pop ebp ; Line 345 add esp, 8 ret 0 _x64toaKAZE ENDP _TEXT ENDS PUBLIC __i64toaKAZE ; Function compile flags: /Ogtpy _TEXT SEGMENT _val$ = 8 ; size = 8 _buf$ = 16 ; size = 4 _radix$ = 20 ; size = 4 __i64toaKAZE PROC ; Line 356 mov ecx, DWORD PTR _radix$[esp-4] mov edx, DWORD PTR _val$[esp] push esi push edi mov edi, DWORD PTR _val$[esp+4] cmp ecx, 10 ; 0000000aH jne SHORT $LN3@i64toaKAZE test edx, edx jg SHORT $LN3@i64toaKAZE jl SHORT $LN5@i64toaKAZE test edi, edi jae SHORT $LN3@i64toaKAZE $LN5@i64toaKAZE: mov eax, 1 jmp SHORT $LN4@i64toaKAZE $LN3@i64toaKAZE: xor eax, eax $LN4@i64toaKAZE: 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 357 mov eax, esi pop esi ; Line 358 ret 0 __i64toaKAZE ENDP _TEXT ENDS PUBLIC __ui64toaKAZE ; Function compile flags: /Ogtpy _TEXT SEGMENT _val$ = 8 ; size = 8 _buf$ = 16 ; size = 4 _radix$ = 20 ; size = 4 __ui64toaKAZE PROC ; Line 366 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 367 mov eax, esi pop esi ; Line 368 ret 0 __ui64toaKAZE ENDP _TEXT ENDS PUBLIC __ui64toaKAZEzerocomma ; Function compile flags: /Ogtpy _TEXT SEGMENT _val$ = 8 ; size = 8 _buf$ = 16 ; size = 4 _radix$ = 20 ; size = 4 __ui64toaKAZEzerocomma PROC ; Line 380 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 381 mov edi, ebp $LL10@ui64toaKAZ: ; Line 383 inc edi cmp BYTE PTR [edi], 0 jne SHORT $LL10@ui64toaKAZ ; Line 384 dec edi ; Line 386 mov BYTE PTR [ebp+26], 0 ; Line 387 mov ebx, 1 ; Line 388 xor ecx, ecx lea esi, DWORD PTR [ebp+25] npad 7 $LL7@ui64toaKAZ: ; Line 392 inc ecx cmp ebp, edi ja SHORT $LN4@ui64toaKAZ mov al, BYTE PTR [edi] mov BYTE PTR [esi], al ; Line 393 dec edi ; Line 399 jmp SHORT $LN18@ui64toaKAZ $LN4@ui64toaKAZ: ; Line 400 mov BYTE PTR [esi], 48 ; 00000030H $LN18@ui64toaKAZ: ; Line 401 mov eax, 1431655766 ; 55555556H imul ecx mov eax, edx shr eax, 31 ; 0000001fH add eax, edx lea edx, DWORD PTR [eax+eax*2] mov eax, ecx sub eax, edx jne SHORT $LN16@ui64toaKAZ ; Line 402 inc ebx dec esi ; Line 403 mov BYTE PTR [esi], 44 ; 0000002cH $LN16@ui64toaKAZ: ; Line 406 inc ebx dec esi ; Line 407 cmp ebx, 26 ; 0000001aH jle SHORT $LL7@ui64toaKAZ pop edi pop esi ; Line 408 mov eax, ebp pop ebp pop ebx ; Line 409 ret 0 __ui64toaKAZEzerocomma ENDP _TEXT ENDS PUBLIC __ui64toaKAZEcomma ; Function compile flags: /Ogtpy _TEXT SEGMENT _val$ = 8 ; size = 8 _buf$ = 16 ; size = 4 _radix$ = 20 ; size = 4 __ui64toaKAZEcomma PROC ; Line 421 mov eax, DWORD PTR _radix$[esp-4] mov ecx, DWORD PTR _val$[esp] mov edx, DWORD PTR _val$[esp-4] push ebx mov ebx, DWORD PTR _buf$[esp] push ebp push edi push 0 push eax push ebx push ecx push edx call _x64toaKAZE add esp, 20 ; 00000014H ; Line 422 mov ecx, ebx $LL6@ui64toaKAZ@2: ; Line 424 inc ecx cmp BYTE PTR [ecx], 0 jne SHORT $LL6@ui64toaKAZ@2 ; Line 425 dec ecx ; Line 429 xor edi, edi mov BYTE PTR [ebx+26], 0 mov ebp, 1 ; Line 430 cmp ebx, ecx ja SHORT $LN2@ui64toaKAZ@2 push esi lea esi, DWORD PTR [ebx+25] npad 3 $LL3@ui64toaKAZ@2: ; Line 432 mov al, BYTE PTR [ecx] mov BYTE PTR [esi], al inc edi ; Line 434 mov eax, 1431655766 ; 55555556H imul edi mov eax, edx shr eax, 31 ; 0000001fH add eax, edx lea edx, DWORD PTR [eax+eax*2] mov eax, edi dec ecx sub eax, edx jne SHORT $LN13@ui64toaKAZ@2 cmp ebx, ecx ja SHORT $LN13@ui64toaKAZ@2 ; Line 435 inc ebp dec esi ; Line 436 mov BYTE PTR [esi], 44 ; 0000002cH $LN13@ui64toaKAZ@2: ; Line 438 inc ebp dec esi cmp ecx, ebx jae SHORT $LL3@ui64toaKAZ@2 pop esi $LN2@ui64toaKAZ@2: ; Line 440 mov eax, ebx pop edi sub eax, ebp pop ebp add eax, 27 ; 0000001bH pop ebx ; Line 441 ret 0 __ui64toaKAZEcomma ENDP _TEXT ENDS PUBLIC _KuxHash ; Function compile flags: /Ogtpy _TEXT SEGMENT _str$ = 8 ; size = 4 _KuxHash PROC ; Line 447 mov edx, DWORD PTR _str$[esp-4] mov cl, BYTE PTR [edx] xor al, al test cl, cl je SHORT $LN1@KuxHash npad 4 $LL2@KuxHash: ; Line 448 inc edx xor al, cl mov cl, BYTE PTR [edx] test cl, cl jne SHORT $LL2@KuxHash $LN1@KuxHash: ; Line 452 ret 0 _KuxHash ENDP _TEXT ENDS PUBLIC _KuxHash2 ; Function compile flags: /Ogtpy _TEXT SEGMENT _str$ = 8 ; size = 4 _KuxHash2 PROC ; Line 458 mov edx, DWORD PTR _str$[esp-4] push esi push edi xor ecx, ecx xor esi, esi xor edi, edi cmp BYTE PTR [edx], cl je SHORT $LN1@KuxHash2 $LL2@KuxHash2: ; Line 459 movsx eax, BYTE PTR [ecx+edx] xor esi, eax ; Line 461 imul eax, ecx inc ecx add edi, eax cmp BYTE PTR [ecx+edx], 0 jne SHORT $LL2@KuxHash2 $LN1@KuxHash2: ; Line 465 mov eax, -2004318071 ; 88888889H mul edi shr edx, 3 mov eax, edx shl eax, 4 sub eax, edx mov ecx, eax mov eax, edi shl esi, 4 sub eax, ecx pop edi or eax, esi pop esi ; Line 467 ret 0 _KuxHash2 ENDP _TEXT ENDS PUBLIC _KuxHash3 ; Function compile flags: /Ogtpy _TEXT SEGMENT _str$ = 8 ; size = 4 _KuxHash3 PROC ; Line 473 mov eax, DWORD PTR _str$[esp-4] push esi push edi xor esi, esi xor edi, edi cmp BYTE PTR [eax], 0 je SHORT $LN1@KuxHash3 mov edx, 1 sub edx, eax push ebx $LL2@KuxHash3: ; Line 474 movsx ecx, BYTE PTR [eax] ; Line 476 lea ebx, DWORD PTR [edx+eax] imul ebx, ecx inc eax xor esi, ecx add edi, ebx cmp BYTE PTR [eax], 0 jne SHORT $LL2@KuxHash3 pop ebx $LN1@KuxHash3: ; Line 486 mov eax, 68174085 ; 04104105H mul edi mov eax, edi sub eax, edx shr eax, 1 add eax, edx shr eax, 5 mov ecx, eax shl ecx, 6 sub ecx, eax mov eax, edi shl esi, 6 sub eax, ecx pop edi or eax, esi pop esi ; Line 489 ret 0 _KuxHash3 ENDP _TEXT ENDS PUBLIC _argv$GSCopy$ PUBLIC __$ArrayPad$ PUBLIC _main EXTRN _free:PROC EXTRN _fwrite:PROC EXTRN _fprintf:PROC EXTRN __telli64:PROC EXTRN __lseeki64:PROC EXTRN _fileno:PROC EXTRN _atoi:PROC EXTRN ___security_cookie:DWORD EXTRN @__security_check_cookie@4:PROC EXTRN __chkstk:PROC EXTRN _memcpy:PROC EXTRN __aulldiv:PROC EXTRN _memset:PROC ; Function compile flags: /Ogtpy _TEXT SEGMENT _workbyte$ = -102613 ; size = 1 _WORDcountDistinct$ = -102612 ; size = 4 _i$ = -102608 ; size = 8 _WORDcount$ = -102600 ; size = 8 _ZEROS$ = -102592 ; size = 4 _FoundInLinkedList$ = -102592 ; size = 4 _backup$ = -102588 ; size = 4 tv1644 = -102584 ; size = 4 _pointerflush$ = -102584 ; size = 4 tv2293 = -102580 ; size = 8 _size_inLINESIXFOUR$ = -102580 ; size = 8 tv367 = -102580 ; size = 8 _CRdLFa$ = -102572 ; size = 2 tv2349 = -102568 ; size = 4 _j$ = -102568 ; size = 4 _Melnitchka$ = -102564 ; size = 4 _argv$GSCopy$ = -102560 ; size = 4 _NumberOfLines$ = -102556 ; size = 8 _WHOLEletter_BufferSize$ = -102548 ; size = 4 _workKoffset$ = -102544 ; size = 4 tv2435 = -102540 ; size = 4 _t2$ = -102536 ; size = 8 _FilesLEN$ = -102528 ; size = 8 _NumberOfFiles$ = -102520 ; size = 4 _fp_out$ = -102516 ; size = 4 _size_in$ = -102516 ; size = 4 tv2357 = -102512 ; size = 4 _fp_inLINE$ = -102512 ; size = 4 tv3277 = -102508 ; size = 4 _k$ = -102508 ; size = 4 _Thunderwith$ = -102504 ; size = 4 _t1$ = -102500 ; size = 8 _LetterBuffer$ = -102492 ; size = 4 _Utiliza2$ = -102488 ; size = 4 _fp_outLOG$ = -102484 ; size = 4 _TotalWLchars$ = -102480 ; size = 4 _Utiliza1$ = -102476 ; size = 4 _MAXusedBufferABS$ = -102472 ; size = 4 _TAILOffetFromStartBUKVA$ = -102468 ; size = 4 _PseudoLinkedPointerNEW$ = -102464 ; size = 4 _t3$ = -102460 ; size = 8 _fp_in$ = -102452 ; size = 4 _memory_size$ = -102448 ; size = 4 _GRMBLhill$ = -102444 ; size = 128 _MAXusedBuffer$ = -102316 ; size = 128 _OffsetsInBuffer$ = -102188 ; size = 124 _GRMBLFoolAgain$ = -102064 ; size = 128 _bufend$ = -101936 ; size = 3224 _llTOaDigits$ = -98712 ; size = 27 _llTOaDigits2$ = -98684 ; size = 27 _wrd$ = -98656 ; size = 32 _llTOaDigits3$ = -98624 ; size = 27 _llTOaDigits4$ = -98596 ; size = 27 _LINE10$ = -98568 ; size = 257 _workK$ = -98308 ; size = 98304 __$ArrayPad$ = -4 ; size = 4 _argc$ = 8 ; size = 4 _argv$ = 12 ; size = 4 _main PROC ; Line 493 mov eax, 102616 ; 000190d8H call __chkstk mov eax, DWORD PTR ___security_cookie xor eax, esp mov DWORD PTR __$ArrayPad$[esp+102616], eax push ebx mov ebx, DWORD PTR _argv$[esp+102616] push esi ; Line 495 xor esi, esi ; Line 564 push OFFSET $SG3916 mov DWORD PTR _argv$GSCopy$[esp+102628], ebx mov DWORD PTR _backup$[esp+102628], esi mov DWORD PTR _workKoffset$[esp+102628], -1 mov DWORD PTR _MAXusedBufferABS$[esp+102628], esi mov DWORD PTR _Utiliza1$[esp+102628], esi mov DWORD PTR _Utiliza2$[esp+102628], esi mov DWORD PTR _TotalWLchars$[esp+102628], esi mov DWORD PTR _TAILOffetFromStartBUKVA$[esp+102628], esi call _puts ; Line 565 push OFFSET $SG3917 call _puts ; Line 568 mov eax, DWORD PTR _argc$[esp+102628] add esp, 8 cmp eax, 3 je $LN150@main cmp eax, 4 je $LN150@main cmp eax, 5 je $LN150@main ; Line 570 push OFFSET $SG3919 call _puts ; Line 571 push OFFSET $SG3920 call _puts ; Line 572 push OFFSET $SG3921 call _puts ; Line 573 push OFFSET $SG3922 call _puts ; Line 574 push OFFSET $SG3923 call _puts ; Line 575 push OFFSET $SG3924 call _puts ; Line 576 push OFFSET $SG3925 call _puts ; Line 577 push OFFSET $SG3926 call _puts ; Line 578 push OFFSET $SG3927 call _puts ; Line 579 push OFFSET $SG3928 call _puts ; Line 580 push OFFSET $SG3929 call _puts ; Line 581 push OFFSET $SG3930 call _puts ; Line 582 push OFFSET $SG3931 call _puts ; Line 583 push OFFSET $SG3932 call _puts ; Line 584 push OFFSET $SG3933 call _puts ; Line 585 push OFFSET $SG3934 call _puts add esp, 64 ; 00000040H ; Line 586 push OFFSET $SG3935 call _puts ; Line 587 push OFFSET $SG3936 call _puts ; Line 588 push OFFSET $SG3937 call _puts ; Line 589 push OFFSET $SG3938 call _puts ; Line 590 push OFFSET $SG3939 call _puts ; Line 591 push OFFSET $SG3940 call _puts ; Line 592 push OFFSET $SG3941 call _puts ; Line 593 push OFFSET $SG3942 call _puts ; Line 594 push OFFSET $SG3943 call _puts ; Line 595 push OFFSET $SG3944 call _puts ; Line 596 push OFFSET $SG3945 call _puts ; Line 597 push OFFSET $SG3946 call _puts ; Line 598 push OFFSET $SG3947 call _puts ; Line 599 push OFFSET $SG3948 call _puts ; Line 600 push OFFSET $SG3949 call _puts ; Line 601 push OFFSET $SG3950 call _puts add esp, 64 ; 00000040H ; Line 602 push OFFSET $SG3951 call _puts ; Line 603 push OFFSET $SG3952 call _puts ; Line 604 push OFFSET $SG3953 call _puts ; Line 605 push OFFSET $SG3954 call _puts ; Line 606 push OFFSET $SG3955 call _puts ; Line 607 push OFFSET $SG3956 call _puts ; Line 608 push OFFSET $SG3957 call _puts ; Line 610 push OFFSET $SG3958 call _puts ; Line 611 push OFFSET $SG3959 call _puts ; Line 612 push OFFSET $SG3960 call _puts ; Line 613 push OFFSET $SG3961 call _puts ; Line 614 push OFFSET $SG3962 call _puts ; Line 615 push OFFSET $SG3963 call _puts ; Line 616 push OFFSET $SG3964 call _puts ; Line 617 push OFFSET $SG3965 call _puts ; Line 618 push OFFSET $SG3966 call _puts add esp, 64 ; 00000040H ; Line 619 push OFFSET $SG3967 call _puts ; Line 620 push OFFSET $SG3968 call _puts ; Line 621 push OFFSET $SG3969 call _puts ; Line 622 push OFFSET $SG3970 call _puts ; Line 623 push OFFSET $SG3971 call _puts ; Line 624 push OFFSET $SG3972 call _puts ; Line 625 push OFFSET $SG3973 call _puts ; Line 626 push OFFSET $SG3974 call _puts ; Line 627 push OFFSET $SG3975 call _puts ; Line 628 push OFFSET $SG3976 call _puts ; Line 629 push OFFSET $SG3977 call _puts ; Line 630 push OFFSET $SG3978 call _puts ; Line 631 push OFFSET $SG3979 call _puts ; Line 632 push OFFSET $SG3980 call _puts ; Line 633 push OFFSET $SG3981 call _puts ; Line 634 push OFFSET $SG3982 call _puts add esp, 64 ; 00000040H ; Line 635 push OFFSET $SG3983 call _puts ; Line 636 push OFFSET $SG3984 call _puts ; Line 637 push OFFSET $SG3985 call _puts ; Line 638 push OFFSET $SG3986 call _puts ; Line 639 push OFFSET $SG3987 call _puts ; Line 640 push OFFSET $SG3988 call _puts ; Line 641 push OFFSET $SG3989 call _puts ; Line 642 push OFFSET $SG3990 call _puts ; Line 643 push OFFSET $SG3991 call _puts ; Line 644 push OFFSET $SG3992 call _puts ; Line 645 push OFFSET $SG3993 call _puts ; Line 646 push OFFSET $SG3994 call _puts ; Line 647 push OFFSET $SG3995 call _puts ; Line 648 push OFFSET $SG3996 call _puts ; Line 649 push OFFSET $SG3997 call _puts ; Line 650 push OFFSET $SG3998 call _puts add esp, 64 ; 00000040H ; Line 651 push OFFSET $SG3999 call _puts ; Line 652 push OFFSET $SG4000 call _puts ; Line 653 push OFFSET $SG4001 call _puts ; Line 654 push OFFSET $SG4002 call _puts ; Line 655 push OFFSET $SG4003 call _puts ; Line 657 push OFFSET $SG4004 call _puts ; Line 658 push OFFSET $SG4005 call _puts ; Line 659 push OFFSET $SG4006 call _puts ; Line 660 push OFFSET $SG4007 call _puts ; Line 661 push OFFSET $SG4008 call _puts ; Line 662 push OFFSET $SG4009 call _puts ; Line 663 push OFFSET $SG4010 call _puts ; Line 664 push OFFSET $SG4011 call _puts ; Line 665 push OFFSET $SG4012 call _puts ; Line 666 push OFFSET $SG4013 call _puts ; Line 667 push OFFSET $SG4014 call _puts add esp, 64 ; 00000040H ; Line 668 push OFFSET $SG4015 call _puts ; Line 669 push OFFSET $SG4016 call _puts ; Line 670 push OFFSET $SG4017 call _puts ; Line 671 push OFFSET $SG4018 call _puts ; Line 672 push OFFSET $SG4019 call _puts add esp, 20 ; 00000014H ; Line 673 lea eax, DWORD PTR [esi+1] pop esi pop ebx ; Line 1161 mov ecx, DWORD PTR __$ArrayPad$[esp+102616] xor ecx, esp call @__security_check_cookie@4 add esp, 102616 ; 000190d8H ret 0 $LN150@main: ; Line 684 mov eax, 40 ; 00000028H mov DWORD PTR _GRMBLhill$[esp+102656], eax ; Line 685 mov DWORD PTR _GRMBLhill$[esp+102660], eax ; Line 686 mov DWORD PTR _GRMBLhill$[esp+102664], eax ; Line 689 mov eax, 20 ; 00000014H mov DWORD PTR _GRMBLhill$[esp+102676], eax ; Line 690 mov DWORD PTR _GRMBLhill$[esp+102680], eax ; Line 691 mov eax, 15 ; 0000000fH mov DWORD PTR _GRMBLhill$[esp+102684], eax ; Line 692 mov DWORD PTR _GRMBLhill$[esp+102688], eax ; Line 693 mov eax, 10 ; 0000000aH mov DWORD PTR _GRMBLhill$[esp+102692], eax ; Line 694 mov DWORD PTR _GRMBLhill$[esp+102696], eax ; Line 695 mov DWORD PTR _GRMBLhill$[esp+102700], eax ; Line 696 mov DWORD PTR _GRMBLhill$[esp+102704], eax ; Line 697 mov DWORD PTR _GRMBLhill$[esp+102708], eax ; Line 698 mov DWORD PTR _GRMBLhill$[esp+102712], eax ; Line 699 mov eax, 8 push ebp mov DWORD PTR _GRMBLhill$[esp+102720], eax ; Line 700 mov DWORD PTR _GRMBLhill$[esp+102724], eax ; Line 701 mov DWORD PTR _GRMBLhill$[esp+102728], eax ; Line 706 mov eax, 3 push edi mov DWORD PTR _GRMBLhill$[esp+102752], eax ; Line 707 mov DWORD PTR _GRMBLhill$[esp+102756], eax ; Line 709 mov eax, DWORD PTR [ebx+4] mov edx, 4 mov ecx, 34 ; 00000022H mov ebp, 2 mov edi, 5 push OFFSET $SG4022 push eax mov DWORD PTR _GRMBLhill$[esp+102640], esi mov DWORD PTR _GRMBLhill$[esp+102644], ebp mov DWORD PTR _GRMBLhill$[esp+102648], ebp mov DWORD PTR _GRMBLhill$[esp+102652], edx mov DWORD PTR _GRMBLhill$[esp+102656], edi mov DWORD PTR _GRMBLhill$[esp+102660], 9 mov DWORD PTR _GRMBLhill$[esp+102664], 18 ; 00000012H mov DWORD PTR _GRMBLhill$[esp+102668], ecx mov DWORD PTR _GRMBLhill$[esp+102684], ecx mov DWORD PTR _GRMBLhill$[esp+102688], 24 ; 00000018H mov DWORD PTR _GRMBLhill$[esp+102744], 7 mov DWORD PTR _GRMBLhill$[esp+102748], 6 mov DWORD PTR _GRMBLhill$[esp+102752], edi mov DWORD PTR _GRMBLhill$[esp+102756], edx call _fopen mov edi, eax add esp, 8 mov DWORD PTR _fp_in$[esp+102632], edi cmp edi, esi jne SHORT $LN149@main ; Line 710 mov ecx, DWORD PTR [ebx+4] push ecx push OFFSET $SG4023 call _printf add esp, 8 jmp $LN298@main $LN149@main: ; Line 712 push ebp push esi push edi call _fseek ; Line 713 push edi call _ftell ; Line 714 push esi mov ebp, eax push esi push edi mov DWORD PTR _size_in$[esp+102660], ebp call _fseek ; Line 715 push ebp push OFFSET $SG4024 call _printf ; Line 717 push OFFSET $SG4027 push OFFSET $SG4028 call _fopen add esp, 44 ; 0000002cH mov DWORD PTR _fp_outLOG$[esp+102632], eax cmp eax, esi jne SHORT $LN148@main ; Line 718 push OFFSET $SG4029 jmp $LN299@main $LN148@main: ; Line 720 mov eax, DWORD PTR _argc$[esp+102628] cmp eax, 4 je SHORT $LN146@main cmp eax, 5 ; Line 721 jne SHORT $LN230@main $LN146@main: ; Line 720 mov edx, DWORD PTR [ebx+12] push edx call _atoi add esp, 4 ; Line 723 cmp eax, 1023 ; 000003ffH mov DWORD PTR _Thunderwith$[esp+102632], eax jge SHORT $LN144@main $LN230@main: mov eax, 1023 ; 000003ffH mov DWORD PTR _Thunderwith$[esp+102632], eax $LN144@main: ; Line 724 mov ebx, eax shl ebx, 10 ; 0000000aH mov DWORD PTR _LetterBuffer$[esp+102632], ebx ; Line 725 mov DWORD PTR _WHOLEletter_BufferSize$[esp+102632], esi ; Line 726 mov ebp, 1 xor edi, edi npad 5 $LL285@main: ; Line 727 mov DWORD PTR _OffsetsInBuffer$[esp+ebp*4+102628], esi ; Line 728 mov DWORD PTR _j$[esp+102632], 1 cmp edi, esi jb SHORT $LN138@main ja SHORT $LN231@main cmp ebp, 1 jb SHORT $LN138@main $LN231@main: mov DWORD PTR tv1644[esp+102632], 0 ; Line 727 lea esi, DWORD PTR _GRMBLhill$[esp+102632] npad 7 $LL140@main: ; Line 729 mov ecx, DWORD PTR [esi] imul ecx, ebx inc DWORD PTR _j$[esp+102632] mov eax, 138547333 ; 08421085H mul ecx sub ecx, edx shr ecx, 1 add ecx, edx shr ecx, 4 add DWORD PTR tv1644[esp+102632], ecx xor eax, eax add esi, 4 cmp eax, edi jb SHORT $LL140@main ; Line 728 ja SHORT $LN232@main cmp DWORD PTR _j$[esp+102632], ebp jbe SHORT $LL140@main $LN232@main: mov eax, DWORD PTR tv1644[esp+102632] mov DWORD PTR _OffsetsInBuffer$[esp+ebp*4+102628], eax xor esi, esi $LN138@main: ; Line 731 mov ecx, DWORD PTR _GRMBLhill$[esp+ebp*4+102632] imul ecx, ebx mov eax, 138547333 ; 08421085H mul ecx sub ecx, edx shr ecx, 1 add ecx, edx shr ecx, 4 add DWORD PTR _WHOLEletter_BufferSize$[esp+102632], ecx ; Line 732 mov DWORD PTR _GRMBLFoolAgain$[esp+ebp*4+102632], ecx add ebp, 1 adc edi, esi jne SHORT $LN233@main ; Line 726 cmp ebp, 31 ; 0000001fH jbe $LL285@main $LN233@main: ; Line 734 mov edi, DWORD PTR _WHOLEletter_BufferSize$[esp+102632] imul edi, 26 ; 0000001aH inc edi ; Line 735 push edi mov DWORD PTR _memory_size$[esp+102636], edi call _malloc add esp, 4 mov DWORD PTR _pointerflush$[esp+102632], eax ; Line 736 cmp eax, esi jne SHORT $LN137@main ; Line 737 push OFFSET $SG4048 call _puts jmp $LN300@main $LN137@main: ; Line 739 shr edi, 20 ; 00000014H lea eax, DWORD PTR [edi+1] push eax push OFFSET $SG4049 mov DWORD PTR tv2349[esp+102640], eax call _printf ; Line 741 lea eax, DWORD PTR _OffsetsInBuffer$[esp+102640] add esp, 8 xor ebx, ebx sub eax, 4 mov DWORD PTR _i$[esp+102636], esi ; Line 742 mov DWORD PTR tv3277[esp+102632], eax npad 5 $LL136@main: mov eax, ebx imul eax, DWORD PTR _WHOLEletter_BufferSize$[esp+102632] mov ecx, ebx imul ecx, 124 ; 0000007cH mov DWORD PTR tv2357[esp+102632], eax lea ebp, DWORD PTR _bufend$[esp+ecx+102632] mov edi, 4 npad 4 $LL133@main: ; Line 743 mov edx, DWORD PTR tv3277[esp+102632] mov eax, DWORD PTR [edx+edi] add eax, DWORD PTR tv2357[esp+102632] mov ecx, DWORD PTR _pointerflush$[esp+102632] lea esi, DWORD PTR [eax+ecx] mov DWORD PTR [ebp], esi ; Line 744 cmp ebx, 25 ; 00000019H jne SHORT $LN130@main cmp DWORD PTR _i$[esp+102636], 0 jne SHORT $LN130@main mov edx, DWORD PTR _bufend$[esp+edi+105728] mov DWORD PTR _MAXusedBuffer$[esp+edi+102632], edx $LN130@main: ; Line 746 push 32772 ; 00008004H push 0 push esi call _memset add esi, 32772 ; 00008004H add esp, 12 ; 0000000cH mov DWORD PTR [ebp], esi ; Line 749 cmp ebx, 25 ; 00000019H jne SHORT $LN132@main cmp DWORD PTR _i$[esp+102636], 0 jne SHORT $LN132@main mov eax, DWORD PTR _bufend$[esp+edi+105728] sub eax, DWORD PTR _MAXusedBuffer$[esp+edi+102632] mov DWORD PTR _MAXusedBuffer$[esp+edi+102632], eax $LN132@main: add edi, 4 add ebp, 4 cmp edi, 124 ; 0000007cH jbe SHORT $LL133@main add ebx, 1 mov ebp, 0 adc DWORD PTR _i$[esp+102636], ebp jne SHORT $LN234@main ; Line 741 cmp ebx, 26 ; 0000001aH jb $LL136@main $LN234@main: ; Line 754 lea ecx, DWORD PTR _t1$[esp+102632] push ecx call __time64 ; Line 756 xor ebx, ebx add esp, 4 ; Line 761 xor esi, esi mov DWORD PTR _Melnitchka$[esp+102632], ebp mov DWORD PTR _WORDcount$[esp+102632], ebx mov DWORD PTR _WORDcount$[esp+102636], ebp mov DWORD PTR _WORDcountDistinct$[esp+102632], ebp mov DWORD PTR _NumberOfFiles$[esp+102632], ebp mov DWORD PTR _NumberOfLines$[esp+102632], ebp mov DWORD PTR _NumberOfLines$[esp+102636], ebp mov DWORD PTR _FilesLEN$[esp+102632], ebp mov DWORD PTR _FilesLEN$[esp+102636], ebp ; Line 763 mov DWORD PTR _k$[esp+102632], ebp cmp DWORD PTR _size_in$[esp+102632], ebp jbe $LN123@main $LL292@main: ; Line 765 mov edx, DWORD PTR _fp_in$[esp+102632] push edx push 1 lea eax, DWORD PTR _workbyte$[esp+102640] push 1 push eax call _fread ; Line 766 mov al, BYTE PTR _workbyte$[esp+102648] add esp, 16 ; 00000010H cmp al, 10 ; 0000000aH je SHORT $LN122@main ; Line 767 cmp al, 13 ; 0000000dH je $LN124@main ; Line 768 cmp esi, 255 ; 000000ffH jae SHORT $LN120@main mov BYTE PTR _LINE10$[esp+esi+102632], al $LN120@main: ; Line 769 inc esi ; Line 775 jmp $LN124@main $LN122@main: ; Line 776 lea ecx, DWORD PTR [esi-1] cmp ecx, 254 ; 000000feH ja $LN124@main ; Line 778 lea edx, DWORD PTR _LINE10$[esp+102632] push OFFSET $SG4075 push edx mov BYTE PTR _LINE10$[esp+esi+102640], 0 call _fopen mov edi, eax add esp, 8 mov DWORD PTR _fp_inLINE$[esp+102632], edi cmp edi, ebp je $LN206@main ; Line 787 push 2 push 0 push 0 push edi call _fileno add esp, 4 push eax call __lseeki64 ; Line 788 push edi call _fileno push eax call __telli64 add esp, 24 ; 00000018H ; Line 789 push 0 push 0 mov esi, eax mov ebp, edx push 0 push edi mov DWORD PTR _size_inLINESIXFOUR$[esp+102648], esi mov DWORD PTR _size_inLINESIXFOUR$[esp+102652], ebp call _fileno add esp, 4 push eax call __lseeki64 ; Line 797 push 10 ; 0000000aH lea eax, DWORD PTR _llTOaDigits$[esp+102652] push eax push ebp push esi call __ui64toaKAZEcomma push eax push OFFSET $SG4077 call _printf add esp, 40 ; 00000028H ; Line 798 add DWORD PTR _FilesLEN$[esp+102632], esi adc DWORD PTR _FilesLEN$[esp+102636], ebp ; Line 799 inc DWORD PTR _NumberOfFiles$[esp+102632] ; Line 802 xor esi, esi ; Line 803 mov DWORD PTR _i$[esp+102632], esi mov DWORD PTR _i$[esp+102636], esi cmp ebp, esi jb $LN237@main ja SHORT $LN242@main cmp DWORD PTR _size_inLINESIXFOUR$[esp+102632], esi jbe $LN237@main $LN242@main: mov edi, DWORD PTR _workKoffset$[esp+102632] jmp SHORT $LN235@main $LN289@main: mov ebx, DWORD PTR _WORDcount$[esp+102632] $LN235@main: ; Line 807 cmp edi, -1 jne SHORT $LN112@main ; Line 808 mov ecx, DWORD PTR _i$[esp+102632] mov eax, DWORD PTR _i$[esp+102636] add ecx, 98304 ; 00018000H adc eax, 0 cmp eax, ebp ja SHORT $LN111@main jb SHORT $LN236@main cmp ecx, DWORD PTR _size_inLINESIXFOUR$[esp+102632] jae SHORT $LN111@main $LN236@main: ; Line 809 mov ecx, DWORD PTR _fp_inLINE$[esp+102632] push ecx push 98304 ; 00018000H lea edx, DWORD PTR _workK$[esp+102640] push 1 push edx call _fread ; Line 811 mov al, BYTE PTR _workK$[esp+102648] add esp, 16 ; 00000010H xor edi, edi mov BYTE PTR _workbyte$[esp+102632], al ; Line 812 jmp SHORT $LN301@main $LN111@main: ; Line 813 mov eax, DWORD PTR _fp_inLINE$[esp+102632] push eax push 1 lea ecx, DWORD PTR _workbyte$[esp+102640] push 1 push ecx call _fread ; Line 814 mov al, BYTE PTR _workbyte$[esp+102648] add esp, 16 ; 00000010H jmp SHORT $LN108@main $LN112@main: ; Line 816 mov al, BYTE PTR _workK$[esp+edi+102633] inc edi mov DWORD PTR _workKoffset$[esp+102632], edi mov BYTE PTR _workbyte$[esp+102632], al ; Line 817 cmp edi, 98303 ; 00017fffH jne SHORT $LN108@main or edi, -1 $LN301@main: mov DWORD PTR _workKoffset$[esp+102632], edi $LN108@main: ; Line 828 cmp al, 65 ; 00000041H jge $LN107@main ; Line 830 cmp al, 10 ; 0000000aH jne SHORT $LN106@main add DWORD PTR _NumberOfLines$[esp+102632], 1 adc DWORD PTR _NumberOfLines$[esp+102636], 0 $LN106@main: ; Line 831 lea edx, DWORD PTR [esi-1] cmp edx, 30 ; 0000001eH ja $LN64@main ; Line 836 add ebx, 1 mov ecx, 0 adc DWORD PTR _WORDcount$[esp+102636], ecx mov eax, ebx and eax, 1048575 ; 000fffffH or eax, ecx mov BYTE PTR _wrd$[esp+esi+102632], 0 mov DWORD PTR _WORDcount$[esp+102632], ebx jne $LN100@main ; Line 839 mov eax, DWORD PTR _Melnitchka$[esp+102632] inc eax ; Line 840 mov edi, eax and edi, -2147483645 ; 80000003H jns SHORT $LN295@main dec edi or edi, -4 ; fffffffcH inc edi $LN295@main: mov DWORD PTR _Melnitchka$[esp+102632], edi ; Line 841 jne SHORT $LN279@main mov ecx, DWORD PTR _i$[esp+102632] mov edx, DWORD PTR _i$[esp+102636] mov eax, DWORD PTR _size_inLINESIXFOUR$[esp+102632] shld edx, ecx, 6 push ebp push eax shl ecx, 6 push edx push ecx call __aulldiv push edx mov edx, DWORD PTR _WORDcountDistinct$[esp+102636] push eax push 10 ; 0000000aH lea ecx, DWORD PTR _llTOaDigits2$[esp+102644] push ecx push 0 push edx call __ui64toaKAZEcomma mov ecx, DWORD PTR _WORDcount$[esp+102660] add esp, 16 ; 00000010H push eax push 10 ; 0000000aH lea eax, DWORD PTR _llTOaDigits$[esp+102648] push eax push ecx push ebx call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET $SG4093 call _printf add esp, 20 ; 00000014H $LN279@main: ; Line 842 cmp edi, 1 jne SHORT $LN102@main mov edx, DWORD PTR _i$[esp+102632] mov eax, DWORD PTR _i$[esp+102636] mov ecx, DWORD PTR _size_inLINESIXFOUR$[esp+102632] shld eax, edx, 6 push ebp push ecx shl edx, 6 push eax push edx call __aulldiv push edx push eax mov eax, DWORD PTR _WORDcountDistinct$[esp+102640] push 10 ; 0000000aH lea edx, DWORD PTR _llTOaDigits2$[esp+102644] push edx push 0 push eax call __ui64toaKAZEcomma mov edx, DWORD PTR _WORDcount$[esp+102660] add esp, 16 ; 00000010H push eax push 10 ; 0000000aH lea ecx, DWORD PTR _llTOaDigits$[esp+102648] push ecx push edx push ebx call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET $SG4097 ; Line 843 jmp $LN302@main $LN102@main: cmp edi, 2 jne SHORT $LN101@main mov eax, DWORD PTR _i$[esp+102632] mov ecx, DWORD PTR _i$[esp+102636] mov edx, DWORD PTR _size_inLINESIXFOUR$[esp+102632] shld ecx, eax, 6 push ebp push edx shl eax, 6 push ecx push eax call __aulldiv mov ecx, DWORD PTR _WORDcountDistinct$[esp+102632] push edx push eax push 10 ; 0000000aH lea eax, DWORD PTR _llTOaDigits2$[esp+102644] push eax push 0 push ecx call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax mov eax, DWORD PTR _WORDcount$[esp+102648] push 10 ; 0000000aH lea edx, DWORD PTR _llTOaDigits$[esp+102648] push edx push eax push ebx call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET $SG4101 ; Line 844 jmp SHORT $LN302@main $LN101@main: cmp edi, 3 jne SHORT $LN100@main mov ecx, DWORD PTR _i$[esp+102632] mov edx, DWORD PTR _i$[esp+102636] mov eax, DWORD PTR _size_inLINESIXFOUR$[esp+102632] shld edx, ecx, 6 push ebp push eax shl ecx, 6 push edx push ecx call __aulldiv push edx mov edx, DWORD PTR _WORDcountDistinct$[esp+102636] push eax push 10 ; 0000000aH lea ecx, DWORD PTR _llTOaDigits2$[esp+102644] push ecx push 0 push edx call __ui64toaKAZEcomma mov ecx, DWORD PTR _WORDcount$[esp+102660] add esp, 16 ; 00000010H push eax push 10 ; 0000000aH lea eax, DWORD PTR _llTOaDigits$[esp+102648] push eax push ecx push ebx call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET $SG4105 $LN302@main: call _printf add esp, 20 ; 00000014H $LN100@main: ; Line 846 movsx edi, BYTE PTR _wrd$[esp+102632] mov edx, edi shl edx, 5 sub edx, edi ; Line 849 add edi, -97 ; ffffff9fH imul edi, DWORD PTR _WHOLEletter_BufferSize$[esp+102632] add edi, DWORD PTR _OffsetsInBuffer$[esp+esi*4+102628] lea eax, DWORD PTR [edx+esi-3008] add edi, DWORD PTR _pointerflush$[esp+102632] ; Line 854 mov ebp, DWORD PTR _bufend$[esp+eax*4+102632] lea ebx, DWORD PTR _bufend$[esp+eax*4+102632] mov eax, ebp sub eax, edi lea ecx, DWORD PTR [eax+esi+4] mov DWORD PTR tv2435[esp+102632], ebx cmp ecx, DWORD PTR _GRMBLFoolAgain$[esp+esi*4+102632] jae $LN99@main ; Line 855 lea edx, DWORD PTR _wrd$[esp+102632] push edx call _KuxHash3 add eax, eax add eax, eax ; Line 856 mov edx, DWORD PTR [eax+edi] add esp, 4 ; Line 857 test edx, edx jne SHORT $LN98@main ; Line 858 mov DWORD PTR [eax+edi], ebp ; Line 859 mov eax, DWORD PTR [edi+32768] ; Line 861 push esi lea ecx, DWORD PTR _wrd$[esp+102636] mov DWORD PTR [ebp], eax push ecx add ebp, 4 push ebp call _memcpy inc DWORD PTR _WORDcountDistinct$[esp+102644] add esp, 12 ; 0000000cH ; Line 862 add ebp, esi ; Line 883 mov eax, ebx mov DWORD PTR [ebx], ebp mov eax, DWORD PTR [eax] ; Line 901 jmp $LN305@main $LN98@main: ; Line 865 mov DWORD PTR _FoundInLinkedList$[esp+102632], 0 npad 1 $LL96@main: ; Line 866 cmp DWORD PTR _FoundInLinkedList$[esp+102632], 0 jne $LN95@main ; Line 867 mov eax, esi lea ecx, DWORD PTR _wrd$[esp+102632] lea ebp, DWORD PTR [edx+4] cmp esi, 4 jb SHORT $LN281@main npad 4 $LL154@main: mov ebx, DWORD PTR [ebp] cmp ebx, DWORD PTR [ecx] jne SHORT $LN275@main sub eax, 4 add ecx, 4 add ebp, 4 cmp eax, 4 jae SHORT $LL154@main $LN281@main: test eax, eax je SHORT $LN277@main mov bl, BYTE PTR [ecx] cmp bl, BYTE PTR [ebp] jne SHORT $LN275@main cmp eax, 1 jbe SHORT $LN277@main mov bl, BYTE PTR [ecx+1] cmp bl, BYTE PTR [ebp+1] jne SHORT $LN275@main cmp eax, 2 jbe SHORT $LN277@main mov al, BYTE PTR [ecx+2] cmp al, BYTE PTR [ebp+2] je SHORT $LN277@main $LN275@main: ; Line 871 mov eax, DWORD PTR [edx] mov DWORD PTR _PseudoLinkedPointerNEW$[esp+102632], eax ; Line 872 test eax, eax jne SHORT $LN276@main ; Line 873 mov ebp, DWORD PTR tv2435[esp+102632] mov eax, DWORD PTR [ebp] mov DWORD PTR [edx], eax ; Line 874 mov ecx, DWORD PTR [edi+32768] ; Line 876 push esi lea edx, DWORD PTR _wrd$[esp+102636] lea ebx, DWORD PTR [eax+4] push edx push ebx mov DWORD PTR [eax], ecx call _memcpy inc DWORD PTR _WORDcountDistinct$[esp+102644] ; Line 877 mov eax, DWORD PTR _PseudoLinkedPointerNEW$[esp+102644] add esp, 12 ; 0000000cH add ebx, esi mov DWORD PTR [ebp], ebx $LN276@main: ; Line 879 mov edx, eax jmp SHORT $LN93@main $LN277@main: ; Line 868 mov DWORD PTR _FoundInLinkedList$[esp+102632], 1 $LN93@main: ; Line 866 test edx, edx jne $LL96@main $LN95@main: ; Line 883 mov eax, DWORD PTR tv2435[esp+102632] mov eax, DWORD PTR [eax] ; Line 901 jmp $LN305@main $LN107@main: ; Line 905 cmp al, 90 ; 0000005aH jg SHORT $LN85@main ; Line 907 cmp esi, 31 ; 0000001fH jae SHORT $LN84@main ; Line 908 add al, 32 ; 00000020H mov BYTE PTR _wrd$[esp+esi+102632], al $LN84@main: ; Line 909 inc esi jmp $LN114@main $LN85@main: ; Line 911 mov cl, al sub cl, 97 ; 00000061H cmp cl, 25 ; 00000019H ja SHORT $LN82@main ; Line 913 cmp esi, 31 ; 0000001fH jae SHORT $LN81@main ; Line 914 mov BYTE PTR _wrd$[esp+esi+102632], al $LN81@main: ; Line 915 inc esi ; Line 917 jmp $LN114@main $LN82@main: ; Line 919 cmp al, 10 ; 0000000aH jne SHORT $LN79@main add DWORD PTR _NumberOfLines$[esp+102632], 1 adc DWORD PTR _NumberOfLines$[esp+102636], 0 $LN79@main: ; Line 920 lea edx, DWORD PTR [esi-1] cmp edx, 30 ; 0000001eH ja $LN64@main ; Line 925 mov edi, DWORD PTR _WORDcount$[esp+102632] mov ebx, DWORD PTR _WORDcount$[esp+102636] add edi, 1 adc ebx, 0 mov eax, edi and eax, 1048575 ; 000fffffH xor ecx, ecx or eax, ecx mov BYTE PTR _wrd$[esp+esi+102632], 0 mov DWORD PTR _WORDcount$[esp+102632], edi mov DWORD PTR _WORDcount$[esp+102636], ebx jne $LN270@main ; Line 928 mov eax, DWORD PTR _Melnitchka$[esp+102632] inc eax ; Line 929 and eax, -2147483645 ; 80000003H jns SHORT $LN296@main dec eax or eax, -4 ; fffffffcH inc eax $LN296@main: mov DWORD PTR _Melnitchka$[esp+102632], eax ; Line 930 jne SHORT $LN269@main mov eax, DWORD PTR _size_inLINESIXFOUR$[esp+102636] mov ecx, DWORD PTR _i$[esp+102632] mov edx, DWORD PTR _i$[esp+102636] push eax mov eax, DWORD PTR _size_inLINESIXFOUR$[esp+102636] shld edx, ecx, 6 push eax shl ecx, 6 push edx push ecx call __aulldiv mov ebp, DWORD PTR _WORDcountDistinct$[esp+102632] push edx push eax push 10 ; 0000000aH lea ecx, DWORD PTR _llTOaDigits2$[esp+102644] push ecx push 0 push ebp call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push 10 ; 0000000aH lea edx, DWORD PTR _llTOaDigits$[esp+102648] push edx push ebx push edi call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET $SG4156 call _printf mov eax, DWORD PTR _Melnitchka$[esp+102652] add esp, 20 ; 00000014H jmp SHORT $LN76@main $LN269@main: mov ebp, DWORD PTR _WORDcountDistinct$[esp+102632] $LN76@main: ; Line 931 cmp eax, 1 jne SHORT $LN75@main mov edx, DWORD PTR _size_inLINESIXFOUR$[esp+102636] mov eax, DWORD PTR _i$[esp+102632] mov ecx, DWORD PTR _i$[esp+102636] push edx mov edx, DWORD PTR _size_inLINESIXFOUR$[esp+102636] shld ecx, eax, 6 push edx shl eax, 6 push ecx push eax call __aulldiv push edx push eax push 10 ; 0000000aH lea eax, DWORD PTR _llTOaDigits2$[esp+102644] push eax push 0 push ebp call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push 10 ; 0000000aH lea ecx, DWORD PTR _llTOaDigits$[esp+102648] push ecx push ebx push edi call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET $SG4160 call _printf add esp, 20 ; 00000014H ; Line 932 jmp $LN73@main $LN75@main: cmp eax, 2 jne SHORT $LN74@main mov ecx, DWORD PTR _size_inLINESIXFOUR$[esp+102636] mov edx, DWORD PTR _i$[esp+102632] mov eax, DWORD PTR _i$[esp+102636] push ecx mov ecx, DWORD PTR _size_inLINESIXFOUR$[esp+102636] shld eax, edx, 6 push ecx shl edx, 6 push eax push edx call __aulldiv push edx push eax push 10 ; 0000000aH lea edx, DWORD PTR _llTOaDigits2$[esp+102644] push edx push 0 push ebp call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push 10 ; 0000000aH lea eax, DWORD PTR _llTOaDigits$[esp+102648] push eax push ebx push edi call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET $SG4164 call _printf add esp, 20 ; 00000014H ; Line 933 jmp SHORT $LN73@main $LN74@main: cmp eax, 3 jne SHORT $LN73@main mov eax, DWORD PTR _size_inLINESIXFOUR$[esp+102636] mov ecx, DWORD PTR _i$[esp+102632] mov edx, DWORD PTR _i$[esp+102636] push eax mov eax, DWORD PTR _size_inLINESIXFOUR$[esp+102636] shld edx, ecx, 6 push eax shl ecx, 6 push edx push ecx call __aulldiv push edx push eax push 10 ; 0000000aH lea ecx, DWORD PTR _llTOaDigits2$[esp+102644] push ecx push 0 push ebp call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push 10 ; 0000000aH lea edx, DWORD PTR _llTOaDigits$[esp+102648] push edx push ebx push edi call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET $SG4168 call _printf add esp, 20 ; 00000014H jmp SHORT $LN73@main $LN270@main: mov ebp, DWORD PTR _WORDcountDistinct$[esp+102632] $LN73@main: ; Line 935 movsx edi, BYTE PTR _wrd$[esp+102632] mov eax, edi shl eax, 5 sub eax, edi ; Line 938 add edi, -97 ; ffffff9fH imul edi, DWORD PTR _WHOLEletter_BufferSize$[esp+102632] add edi, DWORD PTR _OffsetsInBuffer$[esp+esi*4+102628] lea eax, DWORD PTR [eax+esi-3008] add edi, DWORD PTR _pointerflush$[esp+102632] ; Line 943 mov ebx, DWORD PTR _bufend$[esp+eax*4+102632] lea eax, DWORD PTR _bufend$[esp+eax*4+102632] mov ecx, ebx sub ecx, edi lea edx, DWORD PTR [ecx+esi+4] mov DWORD PTR tv2435[esp+102632], eax cmp edx, DWORD PTR _GRMBLFoolAgain$[esp+esi*4+102632] jae $LN72@main ; Line 944 lea eax, DWORD PTR _wrd$[esp+102632] push eax call _KuxHash3 add eax, eax add eax, eax ; Line 945 mov edx, DWORD PTR [eax+edi] add esp, 4 ; Line 946 test edx, edx jne SHORT $LN71@main ; Line 947 mov DWORD PTR [eax+edi], ebx ; Line 948 mov ecx, DWORD PTR [edi+32768] ; Line 950 push esi lea edx, DWORD PTR _wrd$[esp+102636] mov DWORD PTR [ebx], ecx push edx add ebx, 4 push ebx call _memcpy ; Line 951 mov eax, DWORD PTR tv2435[esp+102644] inc ebp add esp, 12 ; 0000000cH add ebx, esi mov DWORD PTR _WORDcountDistinct$[esp+102632], ebp mov DWORD PTR [eax], ebx ; Line 953 jmp $LN271@main $LN71@main: ; Line 954 mov DWORD PTR _FoundInLinkedList$[esp+102632], 0 npad 9 $LL69@main: ; Line 955 cmp DWORD PTR _FoundInLinkedList$[esp+102632], 0 jne $LN271@main ; Line 956 mov eax, esi lea ecx, DWORD PTR _wrd$[esp+102632] lea ebp, DWORD PTR [edx+4] cmp esi, 4 jb SHORT $LN205@main npad 4 $LL158@main: mov ebx, DWORD PTR [ebp] cmp ebx, DWORD PTR [ecx] jne SHORT $LN266@main sub eax, 4 add ecx, 4 add ebp, 4 cmp eax, 4 jae SHORT $LL158@main $LN205@main: test eax, eax je SHORT $LN267@main mov bl, BYTE PTR [ecx] cmp bl, BYTE PTR [ebp] jne SHORT $LN266@main cmp eax, 1 jbe SHORT $LN267@main mov bl, BYTE PTR [ecx+1] cmp bl, BYTE PTR [ebp+1] jne SHORT $LN266@main cmp eax, 2 jbe SHORT $LN267@main mov cl, BYTE PTR [ecx+2] cmp cl, BYTE PTR [ebp+2] je SHORT $LN267@main $LN266@main: ; Line 960 mov eax, DWORD PTR [edx] mov DWORD PTR _PseudoLinkedPointerNEW$[esp+102632], eax ; Line 961 test eax, eax jne SHORT $LN65@main ; Line 962 mov ebp, DWORD PTR tv2435[esp+102632] mov eax, DWORD PTR [ebp] mov DWORD PTR [edx], eax ; Line 963 mov edx, DWORD PTR [edi+32768] ; Line 964 lea ebx, DWORD PTR [eax+4] mov DWORD PTR [eax], edx ; Line 965 push esi lea eax, DWORD PTR _wrd$[esp+102636] push eax push ebx call _memcpy inc DWORD PTR _WORDcountDistinct$[esp+102644] ; Line 966 mov eax, DWORD PTR _PseudoLinkedPointerNEW$[esp+102644] add esp, 12 ; 0000000cH add ebx, esi mov DWORD PTR [ebp], ebx $LN65@main: ; Line 968 mov edx, eax jmp SHORT $LN66@main $LN267@main: ; Line 957 mov DWORD PTR _FoundInLinkedList$[esp+102632], 1 $LN66@main: ; Line 955 test edx, edx jne $LL69@main $LN271@main: ; Line 972 mov ecx, DWORD PTR tv2435[esp+102632] mov eax, DWORD PTR [ecx] $LN305@main: lea esi, DWORD PTR _MAXusedBuffer$[esp+esi*4+102632] sub eax, edi cmp DWORD PTR [esi], eax jae SHORT $LN64@main mov DWORD PTR [esi], eax $LN64@main: ; Line 990 mov edi, DWORD PTR _workKoffset$[esp+102632] xor esi, esi $LN114@main: add DWORD PTR _i$[esp+102632], 1 mov eax, DWORD PTR _i$[esp+102636] mov ebp, DWORD PTR _size_inLINESIXFOUR$[esp+102636] adc eax, 0 mov DWORD PTR _i$[esp+102636], eax cmp eax, ebp jb $LN289@main ; Line 803 ja SHORT $LN290@main mov edx, DWORD PTR _i$[esp+102632] cmp edx, DWORD PTR _size_inLINESIXFOUR$[esp+102632] jb $LN289@main $LN290@main: mov ebx, DWORD PTR _WORDcount$[esp+102632] $LN237@main: ; Line 995 mov eax, DWORD PTR _Melnitchka$[esp+102632] inc eax ; Line 996 and eax, -2147483645 ; 80000003H jns SHORT $LN297@main dec eax or eax, -4 ; fffffffcH inc eax $LN297@main: mov DWORD PTR _Melnitchka$[esp+102632], eax ; Line 997 jne SHORT $LN59@main mov edx, DWORD PTR _WORDcountDistinct$[esp+102632] push 64 ; 00000040H push 10 ; 0000000aH lea ecx, DWORD PTR _llTOaDigits2$[esp+102640] push ecx push 0 push edx call __ui64toaKAZEcomma mov ecx, DWORD PTR _WORDcount$[esp+102656] add esp, 16 ; 00000010H push eax push 10 ; 0000000aH lea eax, DWORD PTR _llTOaDigits$[esp+102644] push eax push ecx push ebx call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET $SG4208 call _printf mov eax, DWORD PTR _Melnitchka$[esp+102648] add esp, 16 ; 00000010H $LN59@main: ; Line 998 cmp eax, 1 jne SHORT $LN58@main mov eax, DWORD PTR _WORDcountDistinct$[esp+102632] push 64 ; 00000040H push 10 ; 0000000aH lea edx, DWORD PTR _llTOaDigits2$[esp+102640] push edx push 0 push eax call __ui64toaKAZEcomma mov edx, DWORD PTR _WORDcount$[esp+102656] add esp, 16 ; 00000010H push eax push 10 ; 0000000aH lea ecx, DWORD PTR _llTOaDigits$[esp+102644] push ecx push edx push ebx call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET $SG4211 ; Line 999 jmp $LN306@main $LN58@main: cmp eax, 2 jne SHORT $LN57@main mov ecx, DWORD PTR _WORDcountDistinct$[esp+102632] push 64 ; 00000040H push 10 ; 0000000aH lea eax, DWORD PTR _llTOaDigits2$[esp+102640] push eax push 0 push ecx call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax mov eax, DWORD PTR _WORDcount$[esp+102644] push 10 ; 0000000aH lea edx, DWORD PTR _llTOaDigits$[esp+102644] push edx push eax push ebx call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET $SG4214 ; Line 1000 jmp SHORT $LN306@main $LN57@main: cmp eax, 3 jne SHORT $LN291@main mov edx, DWORD PTR _WORDcountDistinct$[esp+102632] push 64 ; 00000040H push 10 ; 0000000aH lea ecx, DWORD PTR _llTOaDigits2$[esp+102640] push ecx push 0 push edx call __ui64toaKAZEcomma mov ecx, DWORD PTR _WORDcount$[esp+102656] add esp, 16 ; 00000010H push eax push 10 ; 0000000aH lea eax, DWORD PTR _llTOaDigits$[esp+102644] push eax push ecx push ebx call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET $SG4217 $LN306@main: call _printf add esp, 16 ; 00000010H $LN291@main: ; Line 1004 mov edx, DWORD PTR _fp_inLINE$[esp+102632] push edx xor esi, esi mov BYTE PTR _LINE10$[esp+102636], 0 call _fclose add esp, 4 xor ebp, ebp $LN124@main: mov eax, DWORD PTR _k$[esp+102632] inc eax mov DWORD PTR _k$[esp+102632], eax cmp eax, DWORD PTR _size_in$[esp+102632] jb $LL292@main $LN123@main: ; Line 1010 push OFFSET $SG4218 call _printf ; Line 1011 mov esi, DWORD PTR _argv$GSCopy$[esp+102636] mov edx, DWORD PTR [esi+8] push OFFSET $SG4221 push edx call _fopen add esp, 12 ; 0000000cH mov DWORD PTR _fp_out$[esp+102632], eax cmp eax, ebp jne $LN55@main ; Line 1012 mov eax, DWORD PTR [esi+8] push eax push OFFSET $SG4222 call _printf add esp, 8 jmp $LN298@main $LN206@main: ; Line 779 lea eax, DWORD PTR _LINE10$[esp+102632] push eax push OFFSET $SG4076 call _printf add esp, 8 jmp $LN298@main $LN99@main: ; Line 886 push OFFSET $SG4123 call _printf ; Line 887 mov ecx, DWORD PTR _argv$GSCopy$[esp+102636] mov edx, DWORD PTR [ecx+4] mov ebp, DWORD PTR _fp_outLOG$[esp+102636] push edx push OFFSET $SG4124 push ebp call _fprintf ; Line 888 mov ecx, DWORD PTR _FilesLEN$[esp+102652] mov edx, DWORD PTR _FilesLEN$[esp+102648] push 10 ; 0000000aH lea eax, DWORD PTR _llTOaDigits$[esp+102652] push eax push ecx push edx call __ui64toaKAZEcomma push eax push OFFSET $SG4125 push ebp call _fprintf ; Line 889 mov ecx, DWORD PTR _WORDcountDistinct$[esp+102676] push 10 ; 0000000aH lea eax, DWORD PTR _llTOaDigits2$[esp+102680] push eax push 0 push ecx call __ui64toaKAZEcomma mov ecx, DWORD PTR _WORDcount$[esp+102692] add esp, 60 ; 0000003cH push eax mov eax, DWORD PTR _WORDcount$[esp+102640] push 10 ; 0000000aH lea edx, DWORD PTR _llTOaDigits$[esp+102640] push edx push eax push ecx call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET $SG4127 push ebp call _fprintf ; Line 890 mov edx, DWORD PTR _NumberOfFiles$[esp+102648] push edx push OFFSET $SG4128 push ebp call _fprintf ; Line 891 mov eax, DWORD PTR _NumberOfLines$[esp+102664] mov ecx, DWORD PTR _NumberOfLines$[esp+102660] push eax push ecx push OFFSET $SG4129 push ebp call _fprintf ; Line 892 mov edx, DWORD PTR tv2349[esp+102676] push edx push OFFSET $SG4131 push ebp call _fprintf add esp, 56 ; 00000038H ; Line 893 mov ebx, 1 npad 9 $LL89@main: ; Line 894 mov ecx, DWORD PTR _GRMBLhill$[esp+ebx*4+102632] imul ecx, DWORD PTR _LetterBuffer$[esp+102632] mov edi, DWORD PTR _MAXusedBuffer$[esp+ebx*4+102632] mov eax, 138547333 ; 08421085H mul ecx sub ecx, edx shr ecx, 1 add ecx, edx shr ecx, 4 push OFFSET $SG4138 mov esi, ecx push 10 ; 0000000aH mov ecx, edi imul ecx, 100 ; 00000064H lea eax, DWORD PTR _llTOaDigits4$[esp+102640] 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+102644] 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+102648] 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+102652] push ecx push 0 push ebx call __ui64toaKAZEzerocomma add esp, 16 ; 00000010H add eax, 24 ; 00000018H push eax push OFFSET $SG4139 push ebp call _fprintf inc ebx add esp, 28 ; 0000001cH cmp ebx, 32 ; 00000020H jb $LL89@main ; Line 896 mov edx, DWORD PTR _Thunderwith$[esp+102632] push edx push OFFSET $SG4141 push ebp call _fprintf ; Line 897 push OFFSET $SG4142 push ebp call _fprintf add esp, 20 ; 00000014H ; Line 898 jmp $LN298@main $LN72@main: ; Line 975 push OFFSET $SG4186 call _printf ; Line 976 mov eax, DWORD PTR _argv$GSCopy$[esp+102636] mov ecx, DWORD PTR [eax+4] mov ebp, DWORD PTR _fp_outLOG$[esp+102636] push ecx push OFFSET $SG4187 push ebp call _fprintf ; Line 977 mov eax, DWORD PTR _FilesLEN$[esp+102652] mov ecx, DWORD PTR _FilesLEN$[esp+102648] push 10 ; 0000000aH lea edx, DWORD PTR _llTOaDigits$[esp+102652] push edx push eax push ecx call __ui64toaKAZEcomma push eax push OFFSET $SG4188 push ebp call _fprintf ; Line 978 mov eax, DWORD PTR _WORDcountDistinct$[esp+102676] push 10 ; 0000000aH lea edx, DWORD PTR _llTOaDigits2$[esp+102680] push edx push 0 push eax call __ui64toaKAZEcomma mov edx, DWORD PTR _WORDcount$[esp+102696] add esp, 60 ; 0000003cH push eax mov eax, DWORD PTR _WORDcount$[esp+102636] push 10 ; 0000000aH lea ecx, DWORD PTR _llTOaDigits$[esp+102640] push ecx push edx push eax call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET $SG4190 push ebp call _fprintf ; Line 979 mov ecx, DWORD PTR _NumberOfFiles$[esp+102648] push ecx push OFFSET $SG4191 push ebp call _fprintf ; Line 980 mov edx, DWORD PTR _NumberOfLines$[esp+102664] mov eax, DWORD PTR _NumberOfLines$[esp+102660] push edx push eax push OFFSET $SG4192 push ebp call _fprintf ; Line 981 mov ecx, DWORD PTR tv2349[esp+102676] push ecx push OFFSET $SG4194 push ebp call _fprintf add esp, 56 ; 00000038H ; Line 982 mov ebx, 1 $LL62@main: ; Line 983 mov ecx, DWORD PTR _GRMBLhill$[esp+ebx*4+102632] imul ecx, DWORD PTR _LetterBuffer$[esp+102632] mov edi, DWORD PTR _MAXusedBuffer$[esp+ebx*4+102632] mov eax, 138547333 ; 08421085H mul ecx sub ecx, edx push OFFSET $SG4201 shr ecx, 1 push 10 ; 0000000aH add ecx, edx mov eax, edi imul eax, 100 ; 00000064H lea edx, DWORD PTR _llTOaDigits4$[esp+102640] 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+102644] 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+102648] 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+102652] push eax push 0 push ebx call __ui64toaKAZEzerocomma add esp, 16 ; 00000010H add eax, 24 ; 00000018H push eax push OFFSET $SG4202 push ebp call _fprintf inc ebx add esp, 28 ; 0000001cH cmp ebx, 32 ; 00000020H jb $LL62@main ; Line 985 mov ecx, DWORD PTR _Thunderwith$[esp+102632] push ecx push OFFSET $SG4204 push ebp call _fprintf ; Line 986 push OFFSET $SG4205 push ebp call _fprintf add esp, 20 ; 00000014H ; Line 987 jmp $LN298@main $LN55@main: ; Line 1016 mov DWORD PTR _i$[esp+102632], ebp mov DWORD PTR _i$[esp+102636], ebp mov ebp, DWORD PTR _fp_out$[esp+102632] mov BYTE PTR _ZEROS$[esp+102632], 0 mov BYTE PTR _ZEROS$[esp+102633], 0 mov BYTE PTR _ZEROS$[esp+102634], 0 mov BYTE PTR _ZEROS$[esp+102635], 0 mov BYTE PTR _CRdLFa$[esp+102632], 13 ; 0000000dH mov BYTE PTR _CRdLFa$[esp+102633], 10 ; 0000000aH $LL263@main: ; Line 1018 mov ecx, DWORD PTR _i$[esp+102636] mov edx, DWORD PTR _i$[esp+102632] push 0 push 31 ; 0000001fH push ecx push edx call __aulldvrm imul eax, DWORD PTR _WHOLEletter_BufferSize$[esp+102632] ; Line 1019 mov edi, DWORD PTR _ZEROS$[esp+102632] mov DWORD PTR tv2293[esp+102636], ebx mov DWORD PTR tv367[esp+102636], edx mov edx, DWORD PTR _OffsetsInBuffer$[esp+ecx*4+102632] add edx, eax add edx, DWORD PTR _pointerflush$[esp+102632] xor esi, esi $LL51@main: ; Line 1022 mov eax, DWORD PTR [edx+esi*4] ; Line 1023 test eax, eax je SHORT $LN50@main npad 5 $LL48@main: ; Line 1024 mov ecx, DWORD PTR [eax] ; Line 1025 mov DWORD PTR [eax], edi ; Line 1026 mov eax, ecx test ecx, ecx jne SHORT $LL48@main $LN50@main: ; Line 1019 inc esi cmp esi, 8192 ; 00002000H jb SHORT $LL51@main ; Line 1034 mov eax, DWORD PTR _i$[esp+102632] mov edi, DWORD PTR _bufend$[esp+eax*4+102632] lea esi, DWORD PTR [edx+32776] cmp esi, edi jae SHORT $LN53@main mov ebx, DWORD PTR _TotalWLchars$[esp+102632] npad 1 $LL46@main: ; Line 1035 cmp BYTE PTR [esi], 0 je SHORT $LN44@main push ebp push 1 push 1 push esi call _fwrite add esp, 16 ; 00000010H inc ebx $LN44@main: ; Line 1037 cmp BYTE PTR [esi-1], 0 je SHORT $LN43@main cmp BYTE PTR [esi], 0 jne SHORT $LN43@main push ebp push 1 lea ecx, DWORD PTR _CRdLFa$[esp+102640] push 2 push ecx call _fwrite add esp, 16 ; 00000010H $LN43@main: ; Line 1039 lea eax, DWORD PTR [edi-1] cmp esi, eax jne SHORT $LN42@main push ebp push 1 lea edx, DWORD PTR _CRdLFa$[esp+102640] push 2 push edx call _fwrite add esp, 16 ; 00000010H $LN42@main: ; Line 1040 inc esi cmp esi, edi jb SHORT $LL46@main ; Line 1035 mov DWORD PTR _TotalWLchars$[esp+102632], ebx $LN53@main: ; Line 1016 add DWORD PTR _i$[esp+102632], 1 adc DWORD PTR _i$[esp+102636], 0 jne SHORT $LN238@main cmp DWORD PTR _i$[esp+102632], 806 ; 00000326H jb $LL263@main $LN238@main: ; Line 1044 lea eax, DWORD PTR _t2$[esp+102632] push eax call __time64 ; Line 1045 mov ecx, DWORD PTR _t2$[esp+102640] mov esi, DWORD PTR _t1$[esp+102640] add esp, 4 cmp ecx, esi mov ecx, DWORD PTR _t1$[esp+102632] jg SHORT $LN261@main jl SHORT $LN239@main mov eax, DWORD PTR _t2$[esp+102632] cmp eax, ecx ja SHORT $LN41@main $LN239@main: mov eax, ecx add eax, 1 mov edx, esi adc edx, 0 mov DWORD PTR _t2$[esp+102632], eax mov DWORD PTR _t2$[esp+102636], edx jmp SHORT $LN41@main $LN261@main: mov eax, DWORD PTR _t2$[esp+102632] $LN41@main: ; Line 1046 cdq sub eax, ecx sbb edx, esi push edx push eax push OFFSET $SG4241 call _printf ; Line 1047 mov ecx, DWORD PTR _FilesLEN$[esp+102648] mov ebp, DWORD PTR _FilesLEN$[esp+102644] add esp, 12 ; 0000000cH push 10 ; 0000000aH lea eax, DWORD PTR _llTOaDigits$[esp+102636] push eax mov eax, DWORD PTR _t2$[esp+102640] cdq sub eax, DWORD PTR _t1$[esp+102640] sbb edx, DWORD PTR _t1$[esp+102644] push edx push eax push ecx push ebp call __aulldiv push edx push eax call __ui64toaKAZEcomma mov edi, DWORD PTR _fp_outLOG$[esp+102648] push eax push OFFSET $SG4243 push edi call _fprintf ; Line 1048 mov eax, DWORD PTR _t2$[esp+102660] mov ebx, DWORD PTR _WORDcount$[esp+102664] mov esi, DWORD PTR _WORDcount$[esp+102660] add esp, 28 ; 0000001cH push 10 ; 0000000aH lea edx, DWORD PTR _llTOaDigits$[esp+102636] push edx cdq sub eax, DWORD PTR _t1$[esp+102640] sbb edx, DWORD PTR _t1$[esp+102644] push edx push eax push ebx push esi call __aulldiv push edx push eax call __ui64toaKAZEcomma push eax push OFFSET $SG4245 push edi call _fprintf ; Line 1049 mov eax, DWORD PTR _argv$GSCopy$[esp+102660] mov ecx, DWORD PTR [eax+4] push ecx push OFFSET $SG4246 push edi call _fprintf ; Line 1050 mov eax, DWORD PTR _FilesLEN$[esp+102676] push 10 ; 0000000aH lea edx, DWORD PTR _llTOaDigits$[esp+102676] push edx push eax push ebp call __ui64toaKAZEcomma push eax push OFFSET $SG4247 push edi call _fprintf ; Line 1051 mov edx, DWORD PTR _WORDcountDistinct$[esp+102700] add esp, 68 ; 00000044H push 10 ; 0000000aH lea ecx, DWORD PTR _llTOaDigits2$[esp+102636] push ecx push 0 push edx call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push 10 ; 0000000aH lea eax, DWORD PTR _llTOaDigits$[esp+102640] push eax push ebx push esi call __ui64toaKAZEcomma add esp, 16 ; 00000010H push eax push OFFSET $SG4249 push edi call _fprintf ; Line 1052 mov ecx, DWORD PTR _NumberOfFiles$[esp+102648] push ecx push OFFSET $SG4250 push edi call _fprintf ; Line 1053 mov edx, DWORD PTR _NumberOfLines$[esp+102664] mov eax, DWORD PTR _NumberOfLines$[esp+102660] push edx push eax push OFFSET $SG4251 push edi call _fprintf ; Line 1054 mov ecx, DWORD PTR tv2349[esp+102676] push ecx push OFFSET $SG4253 push edi call _fprintf add esp, 56 ; 00000038H ; Line 1056 mov ebx, 1 npad 7 $LL40@main: ; Line 1057 mov ecx, DWORD PTR _GRMBLhill$[esp+ebx*4+102632] imul ecx, DWORD PTR _LetterBuffer$[esp+102632] mov eax, 138547333 ; 08421085H mul ecx mov eax, DWORD PTR _MAXusedBuffer$[esp+ebx*4+102632] sub ecx, edx push OFFSET $SG4260 shr ecx, 1 push 10 ; 0000000aH mov esi, eax imul eax, 100 ; 00000064H add ecx, edx lea edx, DWORD PTR _llTOaDigits4$[esp+102640] push edx push 0 shr ecx, 4 push ecx push 0 mov ebp, ecx push eax shr ebp, 10 ; 0000000aH shr esi, 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+102644] 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+102648] push edx lea eax, DWORD PTR [esi+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+102652] push ecx push 0 push ebx call __ui64toaKAZEzerocomma add esp, 16 ; 00000010H add eax, 24 ; 00000018H push eax push OFFSET $SG4261 push edi call _fprintf ; Line 1058 lea ecx, DWORD PTR [esi+1] mov eax, ecx shl eax, 5 sub eax, ecx xor edx, edx div DWORD PTR _GRMBLhill$[esp+ebx*4+102660] add esp, 28 ; 0000001cH cmp DWORD PTR _MAXusedBufferABS$[esp+102632], eax jae SHORT $LN37@main mov DWORD PTR _MAXusedBufferABS$[esp+102632], eax $LN37@main: ; Line 1059 mov edx, DWORD PTR _Utiliza1$[esp+102632] ; Line 1060 mov ecx, DWORD PTR _Utiliza2$[esp+102632] lea eax, DWORD PTR [edx+esi+1] inc ebx lea edx, DWORD PTR [ecx+ebp+1] mov DWORD PTR _Utiliza1$[esp+102632], eax mov DWORD PTR _Utiliza2$[esp+102632], edx cmp ebx, 32 ; 00000020H jb $LL40@main ; Line 1062 push OFFSET $SG4266 push 10 ; 0000000aH lea eax, DWORD PTR _llTOaDigits$[esp+102640] push eax mov eax, DWORD PTR _Utiliza1$[esp+102644] imul eax, 100 ; 00000064H xor edx, edx div DWORD PTR _Utiliza2$[esp+102644] push 0 push eax call __ui64toaKAZEzerocomma add esp, 16 ; 00000010H add eax, 24 ; 00000018H push eax push OFFSET $SG4267 push edi call _fprintf ; Line 1063 mov eax, DWORD PTR _TotalWLchars$[esp+102648] mov ecx, 1000 ; 000003e8H mul ecx mov ecx, DWORD PTR _memory_size$[esp+102648] add esp, 16 ; 00000010H push 0 push ecx push edx push eax call __aulldiv test edx, edx jg SHORT $LN167@main jl SHORT $LN240@main test eax, eax jae SHORT $LN167@main $LN240@main: mov ecx, 1 jmp SHORT $LN168@main $LN167@main: xor ecx, ecx $LN168@main: push ecx push 10 ; 0000000aH lea ecx, DWORD PTR _llTOaDigits$[esp+102640] push ecx push edx push eax call _x64toaKAZE lea edx, DWORD PTR _llTOaDigits$[esp+102652] push edx push OFFSET $SG4269 push edi call _fprintf ; Line 1064 mov eax, DWORD PTR _Thunderwith$[esp+102664] push eax push OFFSET $SG4271 push edi call _fprintf ; Line 1065 mov ecx, DWORD PTR _MAXusedBufferABS$[esp+102676] push ecx push OFFSET $SG4272 push edi call _fprintf ; Line 1066 mov eax, DWORD PTR _t2$[esp+102688] cdq sub eax, DWORD PTR _t1$[esp+102688] sbb edx, DWORD PTR _t1$[esp+102692] push edx push eax push OFFSET $SG4274 push edi call _fprintf ; Line 1069 mov edx, DWORD PTR tv2349[esp+102704] add esp, 72 ; 00000048H push edx push OFFSET $SG4275 call _printf ; Line 1070 mov eax, DWORD PTR _pointerflush$[esp+102640] push eax call _free ; Line 1071 mov ecx, DWORD PTR _fp_out$[esp+102644] push ecx call _fclose ; Line 1072 push edi call _fclose ; Line 1075 mov ebx, DWORD PTR _argv$GSCopy$[esp+102652] mov eax, DWORD PTR [ebx+8] lea edx, DWORD PTR _backup$[esp+102652] push edx push eax call _readlines mov edi, eax add esp, 28 ; 0000001cH test edi, edi jl $LN36@main ; Line 1085 cmp DWORD PTR _argc$[esp+102628], 5 je $LN35@main ; Line 1086 push OFFSET $SG4279 call _printf add esp, 4 ; Line 1088 xor ebx, ebx mov esi, ebx npad 6 $LL34@main: ; Line 1089 push 10 ; 0000000aH lea ecx, DWORD PTR _llTOaDigits$[esp+102636] push ecx lea ebp, DWORD PTR [ebx+1] push 0 push ebp call __ui64toaKAZEzerocomma add eax, 24 ; 00000018H push eax push OFFSET $SG4283 call _printf add esp, 24 ; 00000018H ; Line 1090 mov eax, esi ; Line 1091 cmp esi, edi jae SHORT $LN33@main mov ecx, DWORD PTR _backup$[esp+102632] $LL31@main: mov edx, DWORD PTR [ecx+esi*4] movzx edx, BYTE PTR [edx] sub edx, 97 ; 00000061H cmp edx, ebx jne SHORT $LN30@main ; Line 1092 inc esi cmp esi, edi jb SHORT $LL31@main $LN30@main: ; Line 1094 cmp eax, esi je SHORT $LN33@main ; Line 1095 mov edx, DWORD PTR _backup$[esp+102632] 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 $LN33@main: mov ebx, ebp cmp ebx, 26 ; 0000001aH jb SHORT $LL34@main ; Line 1099 jmp $LN11@main $LN35@main: ; Line 1101 mov ecx, DWORD PTR [ebx+16] mov al, BYTE PTR [ecx] cmp al, 65 ; 00000041H je SHORT $LN264@main cmp al, 97 ; 00000061H jne SHORT $LN27@main $LN264@main: ; Line 1102 push OFFSET $SG4291 call _printf ; Line 1103 mov edx, DWORD PTR _backup$[esp+102636] push 0 push edi push edx call _InsertSortKAZE add esp, 16 ; 00000010H $LN27@main: ; Line 1105 mov eax, DWORD PTR [ebx+16] mov al, BYTE PTR [eax] cmp al, 66 ; 00000042H je SHORT $LN24@main cmp al, 98 ; 00000062H jne $LN268@main $LN24@main: ; Line 1106 push OFFSET $SG4294 call _printf add esp, 4 ; Line 1108 xor ebx, ebx mov esi, ebx $LL23@main: ; Line 1109 push 10 ; 0000000aH lea ecx, DWORD PTR _llTOaDigits$[esp+102636] push ecx lea ebp, DWORD PTR [ebx+1] push 0 push ebp call __ui64toaKAZEzerocomma add eax, 24 ; 00000018H push eax push OFFSET $SG4298 call _printf add esp, 24 ; 00000018H ; Line 1110 mov eax, esi ; Line 1111 cmp esi, edi jae SHORT $LN22@main mov ecx, DWORD PTR _backup$[esp+102632] $LL20@main: mov edx, DWORD PTR [ecx+esi*4] movzx edx, BYTE PTR [edx] sub edx, 97 ; 00000061H cmp edx, ebx jne SHORT $LN19@main ; Line 1112 inc esi cmp esi, edi jb SHORT $LL20@main $LN19@main: ; Line 1114 cmp eax, esi je SHORT $LN22@main ; Line 1115 mov edx, DWORD PTR _backup$[esp+102632] mov ecx, esi sub ecx, eax push 0 push ecx lea eax, DWORD PTR [edx+eax*4] push eax call _InsertSortKAZE add esp, 12 ; 0000000cH $LN22@main: mov ebx, ebp cmp ebx, 26 ; 0000001aH jb SHORT $LL23@main ; Line 1108 mov ebx, DWORD PTR _argv$GSCopy$[esp+102632] jmp SHORT $LN21@main $LN268@main: mov esi, DWORD PTR _TAILOffetFromStartBUKVA$[esp+102632] $LN21@main: ; Line 1119 mov ecx, DWORD PTR [ebx+16] mov al, BYTE PTR [ecx] cmp al, 67 ; 00000043H je SHORT $LN16@main cmp al, 99 ; 00000063H jne SHORT $LN171@main $LN16@main: ; Line 1120 push OFFSET $SG4305 call _printf ; Line 1121 mov edx, DWORD PTR _backup$[esp+102636] push 0 push edi push edx call _mkqsort add esp, 16 ; 00000010H $LN171@main: ; Line 1123 mov eax, DWORD PTR [ebx+16] mov al, BYTE PTR [eax] cmp al, 68 ; 00000044H je SHORT $LN284@main cmp al, 100 ; 00000064H jne $LN11@main $LN284@main: ; Line 1124 push OFFSET $SG4308 call _printf add esp, 4 ; Line 1126 xor ebx, ebx npad 6 $LL13@main: ; Line 1127 push 10 ; 0000000aH lea ecx, DWORD PTR _llTOaDigits$[esp+102636] push ecx lea ebp, DWORD PTR [ebx+1] push 0 push ebp call __ui64toaKAZEzerocomma add eax, 24 ; 00000018H push eax push OFFSET $SG4312 call _printf add esp, 24 ; 00000018H ; Line 1128 mov eax, esi ; Line 1129 cmp esi, edi jae SHORT $LN12@main mov ecx, DWORD PTR _backup$[esp+102632] $LL10@main: mov edx, DWORD PTR [ecx+esi*4] movzx edx, BYTE PTR [edx] sub edx, 97 ; 00000061H cmp edx, ebx jne SHORT $LN9@main ; Line 1130 inc esi cmp esi, edi jb SHORT $LL10@main $LN9@main: ; Line 1132 cmp eax, esi je SHORT $LN12@main ; Line 1133 mov edx, DWORD PTR _backup$[esp+102632] 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 $LN12@main: mov ebx, ebp cmp ebx, 26 ; 0000001aH jb SHORT $LL13@main $LN11@main: ; Line 1140 push OFFSET $SG4317 call _printf ; Line 1141 mov esi, DWORD PTR _argv$GSCopy$[esp+102636] mov ecx, DWORD PTR [esi+8] push OFFSET $SG4320 push ecx call _fopen mov ebx, eax add esp, 12 ; 0000000cH test ebx, ebx jne SHORT $LN7@main ; Line 1142 mov edx, DWORD PTR [esi+8] push edx push OFFSET $SG4321 call _printf add esp, 8 jmp $LN298@main $LN7@main: ; Line 1143 xor esi, esi test edi, edi jbe SHORT $LN283@main mov ebp, DWORD PTR _backup$[esp+102632] npad 7 $LL6@main: ; Line 1144 mov eax, DWORD PTR [ebp+esi*4] push eax push OFFSET $SG4325 push ebx call _fprintf ; Line 1145 push ebx push 1 lea ecx, DWORD PTR _CRdLFa$[esp+102652] push 2 push ecx call _fwrite inc esi add esp, 28 ; 0000001cH cmp esi, edi jb SHORT $LL6@main $LN283@main: ; Line 1147 lea edx, DWORD PTR _t3$[esp+102632] push edx call __time64 ; Line 1148 mov eax, DWORD PTR _t3$[esp+102640] mov esi, DWORD PTR _t2$[esp+102640] mov ecx, DWORD PTR _t2$[esp+102636] add esp, 4 cmp eax, esi jg SHORT $LN262@main jl SHORT $LN241@main mov eax, DWORD PTR _t3$[esp+102632] cmp eax, ecx ja SHORT $LN286@main $LN241@main: mov eax, ecx add eax, 1 mov edx, esi adc edx, 0 mov DWORD PTR _t3$[esp+102632], eax mov DWORD PTR _t3$[esp+102636], edx jmp SHORT $LN286@main $LN262@main: mov eax, DWORD PTR _t3$[esp+102632] $LN286@main: ; Line 1149 cdq sub eax, ecx sbb edx, esi push edx push eax push OFFSET $SG4329 call _printf ; Line 1150 push OFFSET $SG4332 push OFFSET $SG4333 call _fopen mov ecx, eax add esp, 20 ; 00000014H test ecx, ecx jne SHORT $LN2@main ; Line 1151 push OFFSET $SG4334 jmp SHORT $LN299@main $LN2@main: ; Line 1152 mov eax, DWORD PTR _t3$[esp+102632] cdq sub eax, DWORD PTR _t2$[esp+102632] sbb edx, DWORD PTR _t2$[esp+102636] push edx push eax push OFFSET $SG4336 push ecx call _fprintf ; Line 1153 push OFFSET $SG4337 call _printf add esp, 20 ; 00000014H ; Line 1154 xor eax, eax jmp SHORT $LN293@main $LN36@main: ; Line 1157 push OFFSET $SG4339 $LN299@main: call _printf $LN300@main: add esp, 4 $LN298@main: ; Line 1158 mov eax, 1 $LN293@main: ; Line 1161 mov ecx, DWORD PTR __$ArrayPad$[esp+102632] pop edi pop ebp pop esi pop ebx xor ecx, esp call @__security_check_cookie@4 add esp, 102616 ; 000190d8H ret 0 _main ENDP _TEXT ENDS END