home *** CD-ROM | disk | FTP | other *** search
/ Freaks Macintosh Archive / Freaks Macintosh Archive.bin / Freaks Macintosh Archives / Hacking & Misc / UNIX Cracking / MacCracSource.sit / MacCrac.source / Source / crack-sort.c < prev    next >
MacBinary  |  1995-01-20  |  6.0 KB  |  [TEXT/MPCC]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
66% dexvert Compact Compressed (Unix) (archive/compact) ext Supported
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Fri Jan 20 01:55:59 1995, modified Fri Jan 20 01:55:59 1995, creator 'MPCC', type ASCII, 5469 bytes "crack-sort.c" , at 0x15dd 410 bytes resource default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[MPCC]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0c 63 72 61 63 6b 2d | 73 6f 72 74 2e 63 00 00 |..crack-|sort.c..|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 43 | 43 01 00 00 00 00 00 00 |.TEXTMPC|C.......|
|00000050| 00 00 00 00 00 15 5d 00 | 00 01 9a ab 45 0e ff ab |......].|....E...|
|00000060| 45 0e ff 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |E.......|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 a5 32 00 00 |........|.....2..|
|00000080| 23 69 6e 63 6c 75 64 65 | 20 22 63 72 61 63 6b 2e |#include| "crack.|
|00000090| 68 22 0d 23 64 65 66 69 | 6e 65 20 43 6f 6d 70 61 |h".#defi|ne Compa|
|000000a0| 72 65 28 61 2c 62 29 20 | 09 28 73 74 72 63 6d 70 |re(a,b) |.(strcmp|
|000000b0| 28 61 2c 62 29 29 0d 0d | 65 78 74 65 72 6e 20 76 |(a,b))..|extern v|
|000000c0| 6f 69 64 20 4c 6f 67 28 | 29 3b 0d 0d 2f 2a 0d 20 |oid Log(|);../*. |
|000000d0| 2a 20 53 6f 72 74 20 61 | 20 6c 69 73 74 20 6f 66 |* Sort a| list of|
|000000e0| 20 73 74 72 75 63 74 20 | 44 49 43 54 20 62 79 20 | struct |DICT by |
|000000f0| 75 73 69 6e 67 20 61 6e | 20 69 74 65 72 61 74 69 |using an| iterati|
|00000100| 76 65 20 62 6f 74 74 6f | 6d 2d 75 70 20 6d 65 72 |ve botto|m-up mer|
|00000110| 67 65 20 73 6f 72 74 2e | 0d 20 2a 20 54 68 69 73 |ge sort.|. * This|
|00000120| 20 70 61 72 74 69 63 75 | 6c 61 72 20 70 69 65 63 | particu|lar piec|
|00000130| 65 20 6f 66 20 63 6f 64 | 65 20 74 6f 6f 6b 20 6d |e of cod|e took m|
|00000140| 65 20 61 67 65 73 20 74 | 6f 20 64 6f 20 28 77 65 |e ages t|o do (we|
|00000150| 6c 6c 2c 20 32 20 64 61 | 79 73 20 2b 20 33 20 77 |ll, 2 da|ys + 3 w|
|00000160| 65 65 6b 73 0d 20 2a 20 | 72 65 73 65 61 72 63 68 |eeks. * |research|
|00000170| 29 20 61 6e 64 20 70 72 | 6f 76 69 64 65 73 20 61 |) and pr|ovides a|
|00000180| 20 46 41 53 54 20 77 61 | 79 20 6f 66 20 73 6f 72 | FAST wa|y of sor|
|00000190| 74 69 6e 67 20 61 20 6c | 69 6e 6b 65 64 20 6c 69 |ting a l|inked li|
|000001a0| 73 74 20 77 69 74 68 6f | 75 74 20 74 68 65 0d 20 |st witho|ut the. |
|000001b0| 2a 20 6f 76 65 72 68 65 | 61 64 20 6f 66 20 69 6e |* overhe|ad of in|
|000001c0| 63 72 65 61 73 69 6e 67 | 20 6d 65 6d 6f 72 79 20 |creasing| memory |
|000001d0| 75 73 61 67 65 20 76 69 | 61 20 6d 61 6c 6c 6f 63 |usage vi|a malloc|
|000001e0| 28 29 20 6f 72 20 62 72 | 6b 28 29 2e 20 57 68 79 |() or br|k(). Why|
|000001f0| 20 3f 20 42 65 63 61 75 | 73 65 20 49 0d 20 2a 20 | ? Becau|se I. * |
|00000200| 68 61 76 65 20 74 6f 20 | 61 73 73 75 6d 65 20 74 |have to |assume t|
|00000210| 68 61 74 20 74 68 65 72 | 65 20 69 73 20 6e 6f 20 |hat ther|e is no |
|00000220| 6d 6f 72 65 20 6d 65 6d | 6f 72 79 2c 20 74 68 61 |more mem|ory, tha|
|00000230| 74 73 20 77 68 79 2e 20 | 49 74 27 73 20 61 6c 6c |ts why. |It's all|
|00000240| 20 42 72 69 61 6e 0d 20 | 2a 20 54 68 6f 6d 70 73 | Brian. |* Thomps|
|00000250| 65 74 74 27 73 20 66 61 | 75 6c 74 21 20 52 65 61 |ett's fa|ult! Rea|
|00000260| 6c 6c 79 21 20 46 69 6c | 6c 69 6e 67 20 74 68 65 |lly! Fil|ling the|
|00000270| 20 73 77 61 70 73 70 61 | 63 65 20 6f 6e 20 61 20 | swapspa|ce on a |
|00000280| 53 70 61 72 63 53 74 61 | 74 69 6f 6e 32 20 61 6e |SparcSta|tion2 an|
|00000290| 64 0d 20 2a 20 65 78 70 | 65 63 74 69 6e 67 20 43 |d. * exp|ecting C|
|000002a0| 72 61 63 6b 20 74 6f 20 | 73 75 72 76 69 76 65 21 |rack to |survive!|
|000002b0| 20 41 72 67 68 21 20 38 | 2d 29 0d 20 2a 2f 0d 0d | Argh! 8|-). */..|
|000002c0| 2f 2a 20 53 69 6e 63 65 | 20 74 68 69 73 20 63 6f |/* Since| this co|
|000002d0| 64 65 20 69 73 20 73 6f | 20 6e 69 63 65 2c 20 49 |de is so| nice, I|
|000002e0| 27 6c 6c 20 63 6f 6d 6d | 65 6e 74 20 69 74 20 66 |'ll comm|ent it f|
|000002f0| 61 69 72 6c 79 20 74 68 | 6f 72 6f 75 67 68 6c 79 |airly th|oroughly|
|00000300| 20 2a 2f 0d 0d 73 74 72 | 75 63 74 20 44 49 43 54 | */..str|uct DICT|
|00000310| 20 2a 0d 53 6f 72 74 44 | 69 63 74 20 28 63 68 61 | *.SortD|ict (cha|
|00000320| 69 6e 33 2c 20 6c 69 73 | 74 6c 65 6e 67 74 68 29 |in3, lis|tlength)|
|00000330| 0d 20 20 20 20 72 65 67 | 69 73 74 65 72 20 73 74 |. reg|ister st|
|00000340| 72 75 63 74 20 44 49 43 | 54 20 2a 63 68 61 69 6e |ruct DIC|T *chain|
|00000350| 33 3b 0d 20 20 20 20 6c | 6f 6e 67 20 69 6e 74 20 |3;. l|ong int |
|00000360| 6c 69 73 74 6c 65 6e 67 | 74 68 3b 0d 7b 0d 20 20 |listleng|th;.{. |
|00000370| 20 20 2f 2a 20 6d 69 73 | 63 20 63 6f 75 6e 74 65 | /* mis|c counte|
|00000380| 72 73 20 2a 2f 0d 20 20 | 20 20 72 65 67 69 73 74 |rs */. | regist|
|00000390| 65 72 20 69 6e 74 20 63 | 6f 75 6e 74 65 72 3b 0d |er int c|ounter;.|
|000003a0| 20 20 20 20 6c 6f 6e 67 | 20 69 6e 74 20 64 69 73 | long| int dis|
|000003b0| 63 61 72 64 65 64 3b 0d | 0d 20 20 20 20 2f 2a 20 |carded;.|. /* |
|000003c0| 32 5e 6e 20 66 6f 72 20 | 6e 20 3d 20 30 2e 2e 78 |2^n for |n = 0..x|
|000003d0| 20 2a 2f 0d 20 20 20 20 | 6c 6f 6e 67 20 69 6e 74 | */. |long int|
|000003e0| 20 6e 3b 0d 0d 20 20 20 | 20 2f 2a 20 68 65 61 64 | n;.. | /* head|
|000003f0| 20 6f 66 20 74 68 65 20 | 66 69 72 73 74 20 65 78 | of the |first ex|
|00000400| 74 72 61 63 74 65 64 20 | 73 75 62 63 68 61 69 6e |tracted |subchain|
|00000410| 20 2a 2f 0d 20 20 20 20 | 72 65 67 69 73 74 65 72 | */. |register|
|00000420| 20 73 74 72 75 63 74 20 | 44 49 43 54 20 2a 63 68 | struct |DICT *ch|
|00000430| 61 69 6e 31 3b 0d 0d 20 | 20 20 20 2f 2a 20 68 65 |ain1;.. | /* he|
|00000440| 61 64 20 6f 66 20 73 65 | 63 6f 6e 64 20 73 75 62 |ad of se|cond sub|
|00000450| 63 68 61 69 6e 20 2a 2f | 0d 20 20 20 20 72 65 67 |chain */|. reg|
|00000460| 69 73 74 65 72 20 73 74 | 72 75 63 74 20 44 49 43 |ister st|ruct DIC|
|00000470| 54 20 2a 63 68 61 69 6e | 32 3b 0d 0d 20 20 20 20 |T *chain|2;.. |
|00000480| 2f 2a 20 75 73 65 66 75 | 6c 20 74 65 6d 70 20 70 |/* usefu|l temp p|
|00000490| 6f 69 6e 74 65 72 20 2a | 2f 0d 20 20 20 20 72 65 |ointer *|/. re|
|000004a0| 67 69 73 74 65 72 20 73 | 74 72 75 63 74 20 44 49 |gister s|truct DI|
|000004b0| 43 54 20 2a 73 63 72 61 | 74 63 68 3b 0d 0d 20 20 |CT *scra|tch;.. |
|000004c0| 20 20 2f 2a 20 50 54 52 | 20 54 4f 20 45 4c 45 4d | /* PTR| TO ELEM|
|000004d0| 45 4e 54 20 63 6f 6e 74 | 61 69 6e 69 6e 67 20 54 |ENT cont|aining T|
|000004e0| 41 49 4c 20 6f 66 20 75 | 6e 73 6f 72 74 65 64 20 |AIL of u|nsorted |
|000004f0| 6c 69 73 74 20 70 72 65 | 2d 6d 65 72 67 69 6e 67 |list pre|-merging|
|00000500| 20 2a 2f 0d 20 20 20 20 | 73 74 72 75 63 74 20 44 | */. |struct D|
|00000510| 49 43 54 20 2a 6c 65 61 | 64 5f 69 6e 3b 0d 0d 20 |ICT *lea|d_in;.. |
|00000520| 20 20 20 2f 2a 20 50 54 | 52 20 54 4f 20 48 45 41 | /* PT|R TO HEA|
|00000530| 44 20 6f 66 20 75 6e 73 | 6f 72 74 65 64 20 6c 69 |D of uns|orted li|
|00000540| 73 74 20 61 66 74 65 72 | 20 65 78 74 72 61 63 74 |st after| extract|
|00000550| 69 6e 67 20 63 68 61 69 | 6e 73 20 2a 2f 0d 20 20 |ing chai|ns */. |
|00000560| 20 20 73 74 72 75 63 74 | 20 44 49 43 54 20 2a 6c | struct| DICT *l|
|00000570| 65 61 64 5f 6f 75 74 3b | 0d 0d 20 20 20 20 2f 2a |ead_out;|.. /*|
|00000580| 20 64 75 6d 6d 79 20 73 | 74 72 75 63 74 75 72 65 | dummy s|tructure|
|00000590| 73 20 75 73 65 64 20 61 | 73 20 66 65 6e 63 65 70 |s used a|s fencep|
|000005a0| 6f 73 74 73 20 2a 2f 0d | 20 20 20 20 73 74 72 75 |osts */.| stru|
|000005b0| 63 74 20 44 49 43 54 20 | 64 75 6d 6d 79 31 3b 0d |ct DICT |dummy1;.|
|000005c0| 20 20 20 20 73 74 72 75 | 63 74 20 44 49 43 54 20 | stru|ct DICT |
|000005d0| 64 75 6d 6d 79 32 3b 0d | 0d 20 20 20 20 2f 2a 20 |dummy2;.|. /* |
|000005e0| 50 75 74 20 74 68 65 20 | 69 6e 63 6f 6d 69 6e 67 |Put the |incoming|
|000005f0| 20 6c 69 73 74 20 69 6e | 74 6f 20 27 64 75 6d 6d | list in|to 'dumm|
|00000600| 79 31 27 20 70 6f 73 74 | 68 6f 6c 65 20 2a 2f 0d |y1' post|hole */.|
|00000610| 20 20 20 20 64 75 6d 6d | 79 31 2e 6e 65 78 74 20 | dumm|y1.next |
|00000620| 3d 20 63 68 61 69 6e 33 | 3b 0d 0d 20 20 20 20 2f |= chain3|;.. /|
|00000630| 2a 20 46 6f 72 20 76 61 | 6c 75 65 73 20 6f 66 20 |* For va|lues of |
|00000640| 6e 20 3d 20 32 5e 28 30 | 2e 2e 33 30 29 20 6c 69 |n = 2^(0|..30) li|
|00000650| 6d 69 74 65 64 20 62 79 | 20 6c 69 73 74 6c 65 6e |mited by| listlen|
|00000660| 67 74 68 20 2a 2f 0d 20 | 20 20 20 66 6f 72 20 28 |gth */. | for (|
|00000670| 6e 20 3d 20 31 4c 3b 20 | 6e 20 3c 20 6c 69 73 74 |n = 1L; |n < list|
|00000680| 6c 65 6e 67 74 68 3b 20 | 6e 20 2a 3d 20 32 29 0d |length; |n *= 2).|
|00000690| 20 20 20 20 7b 0d 09 2f | 2a 20 53 74 6f 72 65 20 | {../|* Store |
|000006a0| 70 6c 61 63 65 20 74 6f | 20 67 65 74 2f 70 75 74 |place to| get/put|
|000006b0| 20 68 65 61 64 20 6f 66 | 20 6c 69 73 74 20 69 6e | head of| list in|
|000006c0| 20 27 6c 65 61 64 5f 69 | 6e 27 20 2a 2f 0d 09 6c | 'lead_i|n' */..l|
|000006d0| 65 61 64 5f 69 6e 20 3d | 20 26 64 75 6d 6d 79 31 |ead_in =| &dummy1|
|000006e0| 3b 0d 0d 09 2f 2a 20 53 | 65 74 20 63 68 61 69 6e |;.../* S|et chain|
|000006f0| 31 20 74 6f 20 74 68 65 | 20 68 65 61 64 20 6f 66 |1 to the| head of|
|00000700| 20 75 6e 73 6f 72 74 65 | 64 20 6c 69 73 74 20 2a | unsorte|d list *|
|00000710| 2f 0d 09 66 6f 72 20 28 | 63 68 61 69 6e 31 20 3d |/..for (|chain1 =|
|00000720| 20 6c 65 61 64 5f 69 6e | 20 2d 3e 20 6e 65 78 74 | lead_in| -> next|
|00000730| 3b 20 63 68 61 69 6e 31 | 3b 20 63 68 61 69 6e 31 |; chain1|; chain1|
|00000740| 20 3d 20 6c 65 61 64 5f | 69 6e 20 2d 3e 20 6e 65 | = lead_|in -> ne|
|00000750| 78 74 29 0d 09 7b 0d 09 | 20 20 20 20 2f 2a 20 42 |xt)..{..| /* B|
|00000760| 72 65 61 6b 20 63 6f 6e | 6e 65 63 74 69 6f 6e 20 |reak con|nection |
|00000770| 68 65 61 64 20 61 6e 64 | 20 63 68 61 69 6e 31 20 |head and| chain1 |
|00000780| 2a 2f 0d 09 20 20 20 20 | 6c 65 61 64 5f 69 6e 20 |*/.. |lead_in |
|00000790| 2d 3e 20 6e 65 78 74 20 | 3d 20 28 73 74 72 75 63 |-> next |= (struc|
|000007a0| 74 20 44 49 43 54 20 2a | 29 20 30 3b 0d 0d 09 20 |t DICT *|) 0;... |
|000007b0| 20 20 20 2f 2a 20 45 78 | 74 72 61 63 74 20 75 70 | /* Ex|tract up|
|000007c0| 20 74 6f 20 6c 65 6e 67 | 74 68 20 27 6e 27 2c 20 | to leng|th 'n', |
|000007d0| 70 61 72 6b 20 6f 6e 20 | 6c 61 73 74 20 65 6c 65 |park on |last ele|
|000007e0| 6d 65 6e 74 20 62 65 66 | 6f 72 65 20 63 68 61 69 |ment bef|ore chai|
|000007f0| 6e 32 20 2a 2f 0d 09 20 | 20 20 20 66 6f 72 20 28 |n2 */.. | for (|
|00000800| 63 6f 75 6e 74 65 72 20 | 3d 20 6e 20 2d 20 31 2c |counter |= n - 1,|
|00000810| 20 73 63 72 61 74 63 68 | 20 3d 20 63 68 61 69 6e | scratch| = chain|
|00000820| 31 3b 0d 09 09 20 63 6f | 75 6e 74 65 72 20 26 26 |1;... co|unter &&|
|00000830| 20 73 63 72 61 74 63 68 | 20 2d 3e 20 6e 65 78 74 | scratch| -> next|
|00000840| 3b 0d 09 09 20 73 63 72 | 61 74 63 68 20 3d 20 73 |;... scr|atch = s|
|00000850| 63 72 61 74 63 68 20 2d | 3e 20 6e 65 78 74 29 0d |cratch -|> next).|
|00000860| 09 20 20 20 20 7b 0d 09 | 09 63 6f 75 6e 74 65 72 |. {..|.counter|
|00000870| 2d 2d 3b 0d 09 20 20 20 | 20 7d 3b 0d 0d 09 20 20 |--;.. | };... |
|00000880| 20 20 2f 2a 20 49 66 20 | 63 68 61 69 6e 31 20 69 | /* If |chain1 i|
|00000890| 73 20 75 6e 64 65 72 73 | 69 7a 65 64 2f 65 78 61 |s unders|ized/exa|
|000008a0| 63 74 2c 20 74 68 65 72 | 65 20 69 73 20 6e 6f 20 |ct, ther|e is no |
|000008b0| 63 68 61 69 6e 32 20 2a | 2f 0d 09 20 20 20 20 69 |chain2 *|/.. i|
|000008c0| 66 20 28 63 6f 75 6e 74 | 65 72 20 7c 7c 20 21 73 |f (count|er || !s|
|000008d0| 63 72 61 74 63 68 20 2d | 3e 20 6e 65 78 74 29 0d |cratch -|> next).|
|000008e0| 09 20 20 20 20 7b 0d 09 | 09 2f 2a 20 70 75 74 20 |. {..|./* put |
|000008f0| 63 68 61 69 6e 31 20 62 | 61 63 6b 20 77 68 65 72 |chain1 b|ack wher|
|00000900| 65 20 79 6f 75 20 67 6f | 74 20 69 74 20 61 6e 64 |e you go|t it and|
|00000910| 20 62 72 65 61 6b 20 2a | 2f 0d 09 09 6c 65 61 64 | break *|/...lead|
|00000920| 5f 69 6e 20 2d 3e 20 6e | 65 78 74 20 3d 20 63 68 |_in -> n|ext = ch|
|00000930| 61 69 6e 31 3b 0d 09 09 | 62 72 65 61 6b 3b 0d 09 |ain1;...|break;..|
|00000940| 20 20 20 20 7d 0d 09 20 | 20 20 20 2f 2a 20 47 65 | }.. | /* Ge|
|00000950| 74 20 70 6f 69 6e 74 65 | 72 20 74 6f 20 68 65 61 |t pointe|r to hea|
|00000960| 64 20 6f 66 20 63 68 61 | 69 6e 32 20 2a 2f 0d 09 |d of cha|in2 */..|
|00000970| 20 20 20 20 63 68 61 69 | 6e 32 20 3d 20 73 63 72 | chai|n2 = scr|
|00000980| 61 74 63 68 20 2d 3e 20 | 6e 65 78 74 3b 0d 0d 09 |atch -> |next;...|
|00000990| 20 20 20 20 2f 2a 20 42 | 72 65 61 6b 20 63 6f 6e | /* B|reak con|
|000009a0| 6e 65 63 74 69 6f 6e 20 | 62 65 74 77 65 65 6e 20 |nection |between |
|000009b0| 63 68 61 69 6e 31 20 26 | 20 63 68 61 69 6e 32 20 |chain1 &| chain2 |
|000009c0| 2a 2f 0d 09 20 20 20 20 | 73 63 72 61 74 63 68 20 |*/.. |scratch |
|000009d0| 2d 3e 20 6e 65 78 74 20 | 3d 20 28 73 74 72 75 63 |-> next |= (struc|
|000009e0| 74 20 44 49 43 54 20 2a | 29 20 30 3b 0d 0d 09 20 |t DICT *|) 0;... |
|000009f0| 20 20 20 2f 2a 20 45 78 | 74 72 61 63 74 20 75 70 | /* Ex|tract up|
|00000a00| 20 74 6f 20 6c 65 6e 67 | 74 68 20 27 6e 27 2c 20 | to leng|th 'n', |
|00000a10| 70 61 72 6b 20 6f 6e 20 | 6c 61 73 74 20 65 6c 65 |park on |last ele|
|00000a20| 6d 65 6e 74 20 6f 66 20 | 63 68 61 69 6e 32 20 2a |ment of |chain2 *|
|00000a30| 2f 0d 09 20 20 20 20 66 | 6f 72 20 28 63 6f 75 6e |/.. f|or (coun|
|00000a40| 74 65 72 20 3d 20 6e 20 | 2d 20 31 2c 20 73 63 72 |ter = n |- 1, scr|
|00000a50| 61 74 63 68 20 3d 20 63 | 68 61 69 6e 32 3b 0d 09 |atch = c|hain2;..|
|00000a60| 09 20 63 6f 75 6e 74 65 | 72 20 26 26 20 73 63 72 |. counte|r && scr|
|00000a70| 61 74 63 68 20 2d 3e 20 | 6e 65 78 74 3b 0d 09 09 |atch -> |next;...|
|00000a80| 20 73 63 72 61 74 63 68 | 20 3d 20 73 63 72 61 74 | scratch| = scrat|
|00000a90| 63 68 20 2d 3e 20 6e 65 | 78 74 29 0d 09 20 20 20 |ch -> ne|xt).. |
|00000aa0| 20 7b 0d 09 09 63 6f 75 | 6e 74 65 72 2d 2d 3b 0d | {...cou|nter--;.|
|00000ab0| 09 20 20 20 20 7d 3b 0d | 0d 09 20 20 20 20 2f 2a |. };.|.. /*|
|00000ac0| 20 45 76 65 6e 20 69 66 | 20 69 74 27 73 20 4e 55 | Even if| it's NU|
|00000ad0| 4c 4c 2c 20 73 74 6f 72 | 65 20 72 65 73 74 20 6f |LL, stor|e rest o|
|00000ae0| 66 20 6c 69 73 74 20 69 | 6e 20 27 6c 65 61 64 5f |f list i|n 'lead_|
|00000af0| 6f 75 74 27 20 2a 2f 0d | 09 20 20 20 20 6c 65 61 |out' */.|. lea|
|00000b00| 64 5f 6f 75 74 20 3d 20 | 73 63 72 61 74 63 68 20 |d_out = |scratch |
|00000b10| 2d 3e 20 6e 65 78 74 3b | 0d 0d 09 20 20 20 20 2f |-> next;|... /|
|00000b20| 2a 20 42 72 65 61 6b 20 | 63 6f 6e 6e 65 63 74 69 |* Break |connecti|
|00000b30| 6f 6e 20 62 65 74 77 65 | 65 6e 20 63 68 61 69 6e |on betwe|en chain|
|00000b40| 32 20 26 20 74 61 69 6c | 20 6f 66 20 75 6e 73 6f |2 & tail| of unso|
|00000b50| 72 74 65 64 20 6c 69 73 | 74 20 2a 2f 0d 09 20 20 |rted lis|t */.. |
|00000b60| 20 20 73 63 72 61 74 63 | 68 20 2d 3e 20 6e 65 78 | scratc|h -> nex|
|00000b70| 74 20 3d 20 28 73 74 72 | 75 63 74 20 44 49 43 54 |t = (str|uct DICT|
|00000b80| 20 2a 29 20 30 3b 0d 0d | 09 20 20 20 20 2f 2a 20 | *) 0;..|. /* |
|00000b90| 4e 6f 77 2c 20 6d 65 72 | 67 65 73 6f 72 74 20 63 |Now, mer|gesort c|
|00000ba0| 68 61 69 6e 31 20 26 20 | 63 68 61 69 6e 32 20 74 |hain1 & |chain2 t|
|00000bb0| 6f 20 63 68 61 69 6e 33 | 20 2a 2f 0d 0d 09 20 20 |o chain3| */... |
|00000bc0| 20 20 2f 2a 20 53 65 74 | 20 75 70 20 64 75 6d 6d | /* Set| up dumm|
|00000bd0| 79 20 6c 69 73 74 20 66 | 65 6e 63 65 70 6f 73 74 |y list f|encepost|
|00000be0| 20 2a 2f 0d 09 20 20 20 | 20 63 68 61 69 6e 33 20 | */.. | chain3 |
|00000bf0| 3d 20 26 64 75 6d 6d 79 | 32 3b 0d 09 20 20 20 20 |= &dummy|2;.. |
|00000c00| 63 68 61 69 6e 33 20 2d | 3e 20 6e 65 78 74 20 3d |chain3 -|> next =|
|00000c10| 20 28 73 74 72 75 63 74 | 20 44 49 43 54 20 2a 29 | (struct| DICT *)|
|00000c20| 20 30 3b 0d 0d 09 20 20 | 20 20 2f 2a 20 57 68 69 | 0;... | /* Whi|
|00000c30| 6c 65 20 74 68 65 72 65 | 20 69 73 20 73 6f 6d 65 |le there| is some|
|00000c40| 74 68 69 6e 67 20 69 6e | 20 65 61 63 68 20 6c 69 |thing in| each li|
|00000c50| 73 74 20 2a 2f 0d 09 20 | 20 20 20 77 68 69 6c 65 |st */.. | while|
|00000c60| 20 28 63 68 61 69 6e 31 | 20 26 26 20 63 68 61 69 | (chain1| && chai|
|00000c70| 6e 32 29 0d 09 20 20 20 | 20 7b 0d 09 09 2f 2a 20 |n2).. | {.../* |
|00000c80| 43 6f 6d 70 61 72 65 20 | 74 68 65 6d 20 2a 2f 0d |Compare |them */.|
|00000c90| 09 09 63 6f 75 6e 74 65 | 72 20 3d 20 43 6f 6d 70 |..counte|r = Comp|
|00000ca0| 61 72 65 20 28 63 68 61 | 69 6e 31 20 2d 3e 20 77 |are (cha|in1 -> w|
|00000cb0| 6f 72 64 2c 20 63 68 61 | 69 6e 32 20 2d 3e 20 77 |ord, cha|in2 -> w|
|00000cc0| 6f 72 64 29 3b 0d 0d 09 | 09 69 66 20 28 63 6f 75 |ord);...|.if (cou|
|00000cd0| 6e 74 65 72 20 3c 20 30 | 29 0d 09 09 7b 0d 09 09 |nter < 0|)...{...|
|00000ce0| 20 20 20 20 2f 2a 20 61 | 20 3c 20 62 20 2a 2f 0d | /* a| < b */.|
|00000cf0| 09 09 20 20 20 20 63 68 | 61 69 6e 33 20 2d 3e 20 |.. ch|ain3 -> |
|00000d00| 6e 65 78 74 20 3d 20 63 | 68 61 69 6e 31 3b 0d 09 |next = c|hain1;..|
|00000d10| 09 20 20 20 20 63 68 61 | 69 6e 33 20 3d 20 63 68 |. cha|in3 = ch|
|00000d20| 61 69 6e 31 3b 0d 09 09 | 20 20 20 20 63 68 61 69 |ain1;...| chai|
|00000d30| 6e 31 20 3d 20 63 68 61 | 69 6e 31 20 2d 3e 20 6e |n1 = cha|in1 -> n|
|00000d40| 65 78 74 3b 0d 09 09 7d | 20 65 6c 73 65 20 69 66 |ext;...}| else if|
|00000d50| 20 28 63 6f 75 6e 74 65 | 72 20 3e 20 30 29 0d 09 | (counte|r > 0)..|
|00000d60| 09 7b 0d 09 09 20 20 20 | 20 2f 2a 20 61 20 3e 20 |.{... | /* a > |
|00000d70| 62 20 2a 2f 0d 09 09 20 | 20 20 20 63 68 61 69 6e |b */... | chain|
|00000d80| 33 20 2d 3e 20 6e 65 78 | 74 20 3d 20 63 68 61 69 |3 -> nex|t = chai|
|00000d90| 6e 32 3b 0d 09 09 20 20 | 20 20 63 68 61 69 6e 33 |n2;... | chain3|
|00000da0| 20 3d 20 63 68 61 69 6e | 32 3b 0d 09 09 20 20 20 | = chain|2;... |
|00000db0| 20 63 68 61 69 6e 32 20 | 3d 20 63 68 61 69 6e 32 | chain2 |= chain2|
|00000dc0| 20 2d 3e 20 6e 65 78 74 | 3b 0d 09 09 7d 20 65 6c | -> next|;...} el|
|00000dd0| 73 65 0d 09 09 7b 0d 09 | 09 20 20 20 20 2f 2a 0d |se...{..|. /*.|
|00000de0| 09 09 20 20 20 20 20 2a | 20 61 20 3d 3d 20 62 2e |.. *| a == b.|
|00000df0| 20 4c 69 6e 6b 20 74 68 | 65 6d 20 62 6f 74 68 20 | Link th|em both |
|00000e00| 69 6e 2e 20 44 6f 6e 27 | 74 20 74 72 79 20 74 6f |in. Don'|t try to|
|00000e10| 20 67 65 74 20 72 69 64 | 20 6f 66 20 74 68 65 0d | get rid| of the.|
|00000e20| 09 09 20 20 20 20 20 2a | 20 6d 75 6c 74 69 70 6c |.. *| multipl|
|00000e30| 65 20 63 6f 70 69 65 73 | 20 68 65 72 65 2c 20 62 |e copies| here, b|
|00000e40| 65 63 61 75 73 65 20 69 | 66 20 79 6f 75 20 66 72 |ecause i|f you fr|
|00000e50| 65 65 20 75 70 20 61 6e | 79 0d 09 09 20 20 20 20 |ee up an|y... |
|00000e60| 20 2a 20 65 6c 65 6d 65 | 6e 74 73 20 61 74 20 74 | * eleme|nts at t|
|00000e70| 68 69 73 20 70 6f 69 6e | 74 20 74 68 65 20 6c 69 |his poin|t the li|
|00000e80| 73 74 73 69 7a 65 20 63 | 68 61 6e 67 65 73 20 61 |stsize c|hanges a|
|00000e90| 6e 64 20 74 68 65 0d 09 | 09 20 20 20 20 20 2a 20 |nd the..|. * |
|00000ea0| 61 6c 67 6f 72 69 74 68 | 6d 20 72 75 6e 73 20 61 |algorith|m runs a|
|00000eb0| 6d 6f 6b 2e 0d 09 09 20 | 20 20 20 20 2a 2f 0d 09 |mok.... | */..|
|00000ec0| 09 20 20 20 20 63 68 61 | 69 6e 33 20 2d 3e 20 6e |. cha|in3 -> n|
|00000ed0| 65 78 74 20 3d 20 63 68 | 61 69 6e 31 3b 0d 09 09 |ext = ch|ain1;...|
|00000ee0| 20 20 20 20 63 68 61 69 | 6e 33 20 3d 20 63 68 61 | chai|n3 = cha|
|00000ef0| 69 6e 31 3b 0d 09 09 20 | 20 20 20 63 68 61 69 6e |in1;... | chain|
|00000f00| 31 20 3d 20 63 68 61 69 | 6e 31 20 2d 3e 20 6e 65 |1 = chai|n1 -> ne|
|00000f10| 78 74 3b 0d 09 09 20 20 | 20 20 63 68 61 69 6e 33 |xt;... | chain3|
|00000f20| 20 2d 3e 20 6e 65 78 74 | 20 3d 20 63 68 61 69 6e | -> next| = chain|
|00000f30| 32 3b 0d 09 09 20 20 20 | 20 63 68 61 69 6e 33 20 |2;... | chain3 |
|00000f40| 3d 20 63 68 61 69 6e 32 | 3b 0d 09 09 20 20 20 20 |= chain2|;... |
|00000f50| 63 68 61 69 6e 32 20 3d | 20 63 68 61 69 6e 32 20 |chain2 =| chain2 |
|00000f60| 2d 3e 20 6e 65 78 74 3b | 0d 09 09 7d 0d 09 20 20 |-> next;|...}.. |
|00000f70| 20 20 7d 0d 0d 09 20 20 | 20 20 2f 2a 0d 09 20 20 | }... | /*.. |
|00000f80| 20 20 20 2a 20 57 68 61 | 74 65 76 65 72 20 69 73 | * Wha|tever is|
|00000f90| 20 6c 65 66 74 20 69 73 | 20 73 6f 72 74 65 64 20 | left is| sorted |
|00000fa0| 61 6e 64 20 74 68 65 72 | 65 66 6f 72 65 20 6c 69 |and ther|efore li|
|00000fb0| 6e 6b 61 62 6c 65 20 73 | 74 72 61 69 67 68 74 0d |nkable s|traight.|
|00000fc0| 09 20 20 20 20 20 2a 20 | 6f 6e 74 6f 20 74 68 65 |. * |onto the|
|00000fd0| 20 65 6e 64 20 6f 66 20 | 74 68 65 20 63 75 72 72 | end of |the curr|
|00000fe0| 65 6e 74 20 6c 69 73 74 | 2e 0d 09 20 20 20 20 20 |ent list|... |
|00000ff0| 2a 2f 0d 0d 09 20 20 20 | 20 69 66 20 28 63 68 61 |*/... | if (cha|
|00001000| 69 6e 31 29 0d 09 20 20 | 20 20 7b 0d 09 09 63 68 |in1).. | {...ch|
|00001010| 61 69 6e 33 20 2d 3e 20 | 6e 65 78 74 20 3d 20 63 |ain3 -> |next = c|
|00001020| 68 61 69 6e 31 3b 0d 09 | 20 20 20 20 7d 20 65 6c |hain1;..| } el|
|00001030| 73 65 0d 09 20 20 20 20 | 7b 0d 09 09 63 68 61 69 |se.. |{...chai|
|00001040| 6e 33 20 2d 3e 20 6e 65 | 78 74 20 3d 20 63 68 61 |n3 -> ne|xt = cha|
|00001050| 69 6e 32 3b 0d 09 20 20 | 20 20 7d 0d 0d 09 20 20 |in2;.. | }... |
|00001060| 20 20 2f 2a 20 53 6b 69 | 70 20 74 6f 20 74 68 65 | /* Ski|p to the|
|00001070| 20 65 6e 64 20 6f 66 20 | 74 68 65 20 73 6f 72 74 | end of |the sort|
|00001080| 65 64 20 6c 69 73 74 20 | 2a 2f 0d 09 20 20 20 20 |ed list |*/.. |
|00001090| 77 68 69 6c 65 20 28 63 | 68 61 69 6e 33 20 2d 3e |while (c|hain3 ->|
|000010a0| 20 6e 65 78 74 29 0d 09 | 20 20 20 20 7b 0d 09 09 | next)..| {...|
|000010b0| 63 68 61 69 6e 33 20 3d | 20 63 68 61 69 6e 33 20 |chain3 =| chain3 |
|000010c0| 2d 3e 20 6e 65 78 74 3b | 0d 09 20 20 20 20 7d 0d |-> next;|.. }.|
|000010d0| 0d 09 20 20 20 20 2f 2a | 20 41 70 70 65 6e 64 20 |.. /*| Append |
|000010e0| 74 68 69 73 20 6c 6f 74 | 20 74 6f 20 77 68 65 72 |this lot| to wher|
|000010f0| 65 20 79 6f 75 20 67 6f | 74 20 63 68 61 69 6e 31 |e you go|t chain1|
|00001100| 20 66 72 6f 6d 20 28 27 | 6c 65 61 64 5f 69 6e 27 | from ('|lead_in'|
|00001110| 29 20 2a 2f 0d 09 20 20 | 20 20 6c 65 61 64 5f 69 |) */.. | lead_i|
|00001120| 6e 20 2d 3e 20 6e 65 78 | 74 20 3d 20 64 75 6d 6d |n -> nex|t = dumm|
|00001130| 79 32 2e 6e 65 78 74 3b | 0d 0d 09 20 20 20 20 2f |y2.next;|... /|
|00001140| 2a 20 41 70 70 65 6e 64 | 20 72 65 73 74 20 6f 66 |* Append| rest of|
|00001150| 20 75 6e 73 6f 72 74 65 | 64 20 6c 69 73 74 20 74 | unsorte|d list t|
|00001160| 6f 20 63 68 61 69 6e 33 | 20 2a 2f 0d 09 20 20 20 |o chain3| */.. |
|00001170| 20 63 68 61 69 6e 33 20 | 2d 3e 20 6e 65 78 74 20 | chain3 |-> next |
|00001180| 3d 20 6c 65 61 64 5f 6f | 75 74 3b 0d 0d 09 20 20 |= lead_o|ut;... |
|00001190| 20 20 2f 2a 20 53 65 74 | 20 27 6c 65 61 64 5f 69 | /* Set| 'lead_i|
|000011a0| 6e 27 20 66 6f 72 20 6e | 65 78 74 20 74 69 6d 65 |n' for n|ext time|
|000011b0| 20 74 6f 20 6c 61 73 74 | 20 65 6c 65 6d 65 6e 74 | to last| element|
|000011c0| 20 6f 66 20 27 63 68 61 | 69 6e 33 27 20 2a 2f 0d | of 'cha|in3' */.|
|000011d0| 09 20 20 20 20 6c 65 61 | 64 5f 69 6e 20 3d 20 63 |. lea|d_in = c|
|000011e0| 68 61 69 6e 33 3b 0d 09 | 7d 0d 20 20 20 20 7d 0d |hain3;..|}. }.|
|000011f0| 0d 20 20 20 20 2f 2a 20 | 4e 6f 77 2c 20 55 6e 69 |. /* |Now, Uni|
|00001200| 71 20 74 68 65 20 6c 69 | 73 74 20 2a 2f 0d 20 20 |q the li|st */. |
|00001210| 20 20 64 69 73 63 61 72 | 64 65 64 20 3d 20 30 3b | discar|ded = 0;|
|00001220| 0d 0d 20 20 20 20 2f 2a | 20 43 68 61 69 6e 31 20 |.. /*| Chain1 |
|00001230| 74 6f 20 74 68 65 20 68 | 65 61 64 20 6f 66 20 74 |to the h|ead of t|
|00001240| 68 65 20 6c 69 73 74 2c | 20 43 68 61 69 6e 32 20 |he list,| Chain2 |
|00001250| 74 6f 20 74 68 65 20 6e | 65 78 74 20 2a 2f 0d 20 |to the n|ext */. |
|00001260| 20 20 20 63 68 61 69 6e | 31 20 3d 20 64 75 6d 6d | chain|1 = dumm|
|00001270| 79 31 2e 6e 65 78 74 3b | 0d 20 20 20 20 63 68 61 |y1.next;|. cha|
|00001280| 69 6e 32 20 3d 20 63 68 | 61 69 6e 31 20 2d 3e 20 |in2 = ch|ain1 -> |
|00001290| 6e 65 78 74 3b 0d 0d 20 | 20 20 20 2f 2a 20 57 68 |next;.. | /* Wh|
|000012a0| 69 6c 65 20 6e 6f 74 20 | 61 74 20 65 6e 64 20 6f |ile not |at end o|
|000012b0| 66 20 6c 69 73 74 20 2a | 2f 0d 20 20 20 20 77 68 |f list *|/. wh|
|000012c0| 69 6c 65 20 28 63 68 61 | 69 6e 32 29 0d 20 20 20 |ile (cha|in2). |
|000012d0| 20 7b 0d 09 2f 2a 20 57 | 68 69 6c 73 74 20 28 63 | {../* W|hilst (c|
|000012e0| 68 61 69 6e 31 29 20 3d | 3d 20 28 63 68 61 69 6e |hain1) =|= (chain|
|000012f0| 32 29 20 2a 2f 0d 09 77 | 68 69 6c 65 20 28 21 43 |2) */..w|hile (!C|
|00001300| 6f 6d 70 61 72 65 20 28 | 63 68 61 69 6e 31 20 2d |ompare (|chain1 -|
|00001310| 3e 20 77 6f 72 64 2c 20 | 63 68 61 69 6e 32 20 2d |> word, |chain2 -|
|00001320| 3e 20 77 6f 72 64 29 29 | 0d 09 7b 0d 09 20 20 20 |> word))|..{.. |
|00001330| 20 2f 2a 20 42 75 6d 70 | 20 74 68 65 20 64 69 73 | /* Bump| the dis|
|00001340| 63 61 72 64 20 63 6f 75 | 6e 74 20 2a 2f 0d 09 20 |card cou|nt */.. |
|00001350| 20 20 20 64 69 73 63 61 | 72 64 65 64 2b 2b 3b 0d | disca|rded++;.|
|00001360| 0d 09 20 20 20 20 2f 2a | 20 53 74 6f 72 65 20 74 |.. /*| Store t|
|00001370| 68 65 20 6e 65 78 74 20 | 65 6c 65 6d 65 6e 74 20 |he next |element |
|00001380| 2a 2f 0d 09 20 20 20 20 | 73 63 72 61 74 63 68 20 |*/.. |scratch |
|00001390| 3d 20 63 68 61 69 6e 32 | 20 2d 3e 20 6e 65 78 74 |= chain2| -> next|
|000013a0| 3b 0d 0d 09 20 20 20 20 | 2f 2a 20 47 65 74 20 73 |;... |/* Get s|
|000013b0| 6f 6d 65 20 6d 65 6d 6f | 72 79 20 62 61 63 6b 20 |ome memo|ry back |
|000013c0| 2a 2f 0d 09 20 20 20 20 | 66 72 65 65 20 28 63 68 |*/.. |free (ch|
|000013d0| 61 69 6e 32 29 3b 09 2f | 2a 20 2e 2e 2e 3c 73 6e |ain2);./|* ...<sn|
|000013e0| 69 67 67 65 72 3e 2e 2e | 2e 20 2a 2f 0d 0d 09 20 |igger>..|. */... |
|000013f0| 20 20 20 2f 2a 20 41 73 | 73 69 67 6e 20 74 68 65 | /* As|sign the|
|00001400| 20 73 6b 69 70 2c 20 62 | 72 65 61 6b 20 69 66 20 | skip, b|reak if |
|00001410| 79 6f 75 20 72 75 6e 20 | 6f 66 66 20 74 68 65 20 |you run |off the |
|00001420| 65 6e 64 20 6f 66 20 6c | 69 73 74 20 2a 2f 0d 09 |end of l|ist */..|
|00001430| 20 20 20 20 69 66 20 28 | 21 28 63 68 61 69 6e 32 | if (|!(chain2|
|00001440| 20 3d 20 73 63 72 61 74 | 63 68 29 29 0d 09 20 20 | = scrat|ch)).. |
|00001450| 20 20 7b 0d 09 09 62 72 | 65 61 6b 3b 0d 09 20 20 | {...br|eak;.. |
|00001460| 20 20 7d 0d 09 7d 0d 0d | 09 2f 2a 20 53 65 74 20 | }..}..|./* Set |
|00001470| 63 6f 6d 70 61 72 69 73 | 6f 6e 20 70 74 72 20 74 |comparis|on ptr t|
|00001480| 6f 20 6e 65 77 20 65 6c | 65 6d 65 6e 74 20 6f 72 |o new el|ement or|
|00001490| 20 74 65 72 6d 69 6e 61 | 74 65 20 2a 2f 0d 09 63 | termina|te */..c|
|000014a0| 68 61 69 6e 31 20 2d 3e | 20 6e 65 78 74 20 3d 20 |hain1 ->| next = |
|000014b0| 63 68 61 69 6e 32 3b 0d | 0d 09 2f 2a 20 49 66 20 |chain2;.|../* If |
|000014c0| 6e 6f 74 20 74 65 72 6d | 69 6e 61 74 65 64 20 2a |not term|inated *|
|000014d0| 2f 0d 09 69 66 20 28 63 | 68 61 69 6e 32 29 0d 09 |/..if (c|hain2)..|
|000014e0| 7b 0d 09 20 20 20 20 2f | 2a 20 73 65 74 20 74 68 |{.. /|* set th|
|000014f0| 65 20 63 6f 6d 70 61 72 | 65 64 20 70 6f 69 6e 74 |e compar|ed point|
|00001500| 65 72 20 74 6f 20 69 74 | 73 20 73 75 63 63 65 73 |er to it|s succes|
|00001510| 73 6f 72 20 2a 2f 0d 09 | 20 20 20 20 63 68 61 69 |sor */..| chai|
|00001520| 6e 31 20 3d 20 63 68 61 | 69 6e 32 3b 0d 09 20 20 |n1 = cha|in2;.. |
|00001530| 20 20 63 68 61 69 6e 32 | 20 3d 20 63 68 61 69 6e | chain2| = chain|
|00001540| 32 20 2d 3e 20 6e 65 78 | 74 3b 0d 09 7d 0d 20 20 |2 -> nex|t;..}. |
|00001550| 20 20 7d 0d 0d 20 20 20 | 20 4c 6f 67 20 28 22 53 | }.. | Log ("S|
|00001560| 6f 72 74 20 64 69 73 63 | 61 72 64 65 64 20 25 6c |ort disc|arded %l|
|00001570| 64 20 77 6f 72 64 73 3b | 20 46 49 4e 41 4c 20 44 |d words;| FINAL D|
|00001580| 49 43 54 49 4f 4e 41 52 | 59 20 53 49 5a 45 3a 20 |ICTIONAR|Y SIZE: |
|00001590| 25 6c 64 5c 6e 22 2c 0d | 09 20 64 69 73 63 61 72 |%ld\n",.|. discar|
|000015a0| 64 65 64 2c 0d 09 20 6c | 69 73 74 6c 65 6e 67 74 |ded,.. l|istlengt|
|000015b0| 68 20 2d 20 64 69 73 63 | 61 72 64 65 64 29 3b 0d |h - disc|arded);.|
|000015c0| 0d 20 20 20 20 72 65 74 | 75 72 6e 20 28 64 75 6d |. ret|urn (dum|
|000015d0| 6d 79 31 2e 6e 65 78 74 | 29 3b 0d 7d 0d 00 00 00 |my1.next|);.}....|
|000015e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000015f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001600| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F|
|00001610| 63 61 6c 65 63 6f 6e 76 | 0b 74 6f 6f 6c 42 6f 78 |caleconv|.toolBox|
|00001620| 44 6f 6e 65 0b 5f 5f 6e | 77 5f 5f 46 55 6c 50 76 |Done.__n|w__FUlPv|
|00001630| 0c 63 72 61 63 6b 2d 73 | 6f 72 74 2e 63 73 02 00 |.crack-s|ort.cs..|
|00001640| 00 00 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |..PartSI|T!......|
|00001650| 00 00 50 61 72 74 53 49 | 54 21 00 00 00 00 00 00 |..PartSI|T!......|
|00001660| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001670| 00 00 ad 36 c9 86 00 00 | 00 00 00 00 01 9a 0f 50 |...6....|.......P|
|00001680| 42 53 65 74 46 49 6e 66 | 6f 41 73 79 6e 63 07 43 |BSetFInf|oAsync.C|
|00001690| 6f 70 79 52 67 6e 07 72 | 75 6c 65 73 24 31 01 00 |opyRgn.r|ules$1..|
|000016a0| 07 2e 50 65 6e 50 61 74 | 07 64 65 63 32 6e 75 6d |..PenPat|.dec2num|
|000016b0| 01 00 0b 2e 46 69 6e 64 | 57 69 6e 64 6f 77 0f 43 |....Find|Window.C|
|000016c0| 6c 6f 73 65 44 69 63 74 | 69 6f 6e 61 72 79 01 00 |loseDict|ionary..|
|000016d0| 0b 45 6e 74 72 79 32 49 | 6e 64 65 78 13 44 4d 44 |.Entry2I|ndex.DMD|
|000016e0| 72 61 77 44 65 73 6b 74 | 6f 70 52 65 67 69 6f 6e |rawDeskt|opRegion|
|000016f0| 03 6c 6f 67 0f 4d 49 44 | 49 43 6f 6e 76 65 72 74 |.log.MID|IConvert|
|00001700| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....|
|00001710| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00001720| 00 00 00 00 00 00 00 03 | 00 04 00 9d 00 08 01 a0 |........|........|
|00001730| 02 80 00 9d 00 08 01 a0 | 02 80 ab 5c 5a 75 00 00 |........|...\Zu..|
|00001740| 02 8b 00 00 02 8b 00 00 | 13 e4 01 00 00 00 00 04 |........|........|
|00001750| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T|
|00001760| 00 00 00 46 01 17 79 94 | 14 92 00 00 00 1c 00 46 |...F..y.|.......F|
|00001770| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..|
|00001780| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........|
|00001790| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........|
|000017a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000017f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+