forked from halsten/Duqu-detectors
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDuquDriverPatterns.py
executable file
·1011 lines (990 loc) · 59.2 KB
/
DuquDriverPatterns.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#! /usr/bin/python
from __future__ import division
import os
import mmap
import sys
import re
import binascii
'''
Copyright (c) 2011, NSS Labs
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
'''
'''
Mohamed Saher
Matt Molinyawe
'''
dbPattern1= b"\x31\x01\x00\x64\xA1\x00\x00\x00\x00\x50\x64\x89\x25\x00\x00\x00" + \
b"\x00\x83\xEC\x10\x53\x56\x57\x89\x65\xE8\xC7\x45\xFC\x00\x00\x00" + \
b"\x00\xC7\x05\x54\x53\x01\x00\x80\x00\x00\x00\x68\x00\x02\x00\x00" + \
b"\x6A\x00\xFF\x15\xA0\x33\x01\x00\xA3\x4C\x53\x01\x00\x85\xC0\x75" + \
b"\x07\xB8\x01\x00\x00\xC0\xEB\x26\xC6\x05\x58\x53\x01\x00\x01\xBE" + \
b"\x80\x51\x01\x00\x89\x75\xE4\x81\xFE\x84\x51\x01\x00\x73\x0D\x8B" + \
b"\x06\x85\xC0\x74\x02\xFF\xD0\x83\xC6\x04\xEB\xE8\x33\xC0\x85\xC0" + \
b"\x75\x79\x8B\x7D\x0C\xE8\x2A\x0D\x00\x00\xA1\x90\x51\x01\x00\xA8" + \
b"\x01\x74\x12\x8B\x0D\xD4\x33\x01\x00\x83\x39\x00\x74\x07\xB8\x01" + \
b"\x00\x00\xC0\xEB\x21\x8B\x15\x90\x51\x01\x00\xF7\xC2\x02\x00\x00" + \
b"\x00\x74\x11\xA1\xD0\x33\x01\x00\x80\x38\x00\x74\x07\xB8\x01\x00" + \
b"\x00\xC0\xEB\x02\x33\xC0\x85\xC0\x75\x31\x8D\x7D\xE0\x8B\x75\x08" + \
b"\xE8\x6F\x07\x00\x00\x85\xC0\x75\x22\x8B\x4E\x18\xC7\x41\x04\x50" + \
b"\x04\x01\x00\x50\x68\x80\x03\x01\x00\x56\xFF\x15\xF4\x33\x01\x00" + \
b"\xEB\x09\xB8\x01\x00\x00\x00\xC3\x8B\x65\xE8\xC7\x45\xFC\xFF\xFF" + \
b"\xFF\xFF\x33\xC0\x8B\x4D\xF0\x64\x89\x0D\x00\x00\x00\x00\x5F\x5E" + \
b"\x5B\x8B\xE5\x5D\xC2\x08\x00\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC" + \
b"\xCC\xCC\xCC\xCC\x55\x8B\x6C\x24\x08\x57\x6A\x00\xFF\x15\xA0\x33" + \
b"\x01\x00\x83\x3B\x00\x89\x06\x89\x7E\x04\x89\x46\x08\x89\x7E\x0C" + \
b"\x75\x21\x8B\x06\x85\xC0\x75\x0C\xC7\x03\x01\x00\x00\xC0\x8B\xC6" + \
b"\x5D\xC2\x04\x00\x85\xED\x74\x0B\x57\x55\x50\xE8"
dbPattern2= b"\x2A\x00\x00\x83\xC4\x0C\x8B\xC6\x5D\xC2\x04\x00\xCC\xCC\xCC\xCC" + \
b"\xCC\xCC\xCC\xCC\xCC\xCC\xCC\x83\xEC\x24\x83\x3F\x00\x8D\x46\x04" + \
b"\xC6\x06\x00\xC7\x00\x00\x00\x00\x00\x75\x4F\x6A\x60\x6A\x01\x8D" + \
b"\x54\x24\x08\x52\x89\x4C\x24\x1C\x8D\x4C\x24\x14\x51\x68\x00\x00" + \
b"\x10\x80\x50\xC7\x44\x24\x20\x18\x00\x00\x00\xC7\x44\x24\x24\x00" + \
b"\x00\x00\x00\xC7\x44\x24\x2C\x40\x02\x00\x00\xC7\x44\x24\x30\x00" + \
b"\x00\x00\x00\xC7\x44\x24\x34\x00\x00\x00\x00\xFF\x15\xC8\x33\x01" + \
b"\x00\x85\xC0\x0F\x94\xC2\x89\x07\x88\x16\x8B\xC6\x83\xC4\x24\xC3" + \
b"\xCC\xCC\xCC\xCC\xCC\xCC\xCC\x83\xEC\x0C\x80\x38\x00\x75\x09\xB8" + \
b"\x01\x00\x00\xC0\x83\xC4\x0C\xC3\x8B\x0E\x6A\x00\x6A\x00\x51\x52" + \
b"\x8B\x50\x04\x8D\x4C\x24\x10\x51\x6A\x00\x6A\x00\x6A\x00\x52\xFF" + \
b"\x15\xFC\x33\x01\x00\x8B\x4C\x24\x04\x89\x0E\x83\xC4\x0C\xC3\xCC" + \
b"\xCC\xCC\xCC\xCC\xCC\xCC\xCC\x83\xEC\x30\x53\x55\x56\x57\x33\xDB" + \
b"\x8D\x7C\x24\x14\x8D\x74\x24\x20\x89\x5C\x24\x14\xE8\x36\xFF\xFF" + \
b"\xFF\x8B\x74\x24\x14\x3B\xF3\x74\x25\x38\x5C\x24\x20\x0F\x84\xD5" + \
b"\x01\x00\x00\x8B\x44\x24\x24\x50\x88\x5C\x24\x24\xFF\x15\xC4\x33" + \
b"\x01\x00\x8B\xC6\x5F\x5E\x5D\x5B\x83\xC4\x30\xC2\x04\x00\x8A\x44" + \
b"\x24\x20\x84\xC0\x75\x0F\x8B\x4C\x24\x24\x8B\x6C\x24\x20\xBE\x01" + \
b"\x00\x00\xC0\xEB\x27\x8B\x44\x24\x24\x6A\x05\x6A\x18\x8D\x4C\x24" + \
b"\x30\x51\x8D\x54\x24\x24\x52\x50\xFF\x15\xCC\x33\x01\x00\x8B\x6C" + \
b"\x24\x30\x8B\x4C\x24\x34\x8B\xF0\x8A\x44\x24\x20\x3B\xF3\x89\x74" + \
b"\x24\x14\x74\x11\x84\xC0\x0F\x84\x6C\x01\x00\x00\x88\x5C\x24\x20" + \
b"\xE9\x58\x01\x00\x00\x3B\xCB\x77\x08\x81\xFD\x00\x00\x40\x00\x76" + \
b"\x22\x84\xC0\x74\x0F\x8B\x54\x24\x24\x52\x88\x5C\x24\x24\xFF\x15" + \
b"\xC4\x33\x01\x00\xB8\x01\x00\x00\xC0\x5F\x5E\x5D\x5B\x83\xC4\x30" + \
b"\xC2\x04\x00\x8B\x3D\xA0\x33\x01\x00\x6A\x10\x53\x89\x6C\x24\x20" + \
b"\xFF\xD7\x8B\xF0\x3B\xF3\x74\x1D\x55\x53\xFF\xD7\x89\x06\x89\x6E" + \
b"\x04\x89\x46\x08\x89\x6E\x0C\x39\x1E\x75\x08\xC7\x44\x24\x14\x01" + \
b"\x00\x00\xC0\x8B\xDE\x8B\x44\x24\x44\x8B\x78\x04\x3B\xDF\x74\x21" + \
b"\x85\xFF\x74\x1A\x8B\x07\x85\xC0\x8B\x35\xF8\x33\x01\x00\x74\x05" + \
b"\x6A\x00\x50\xFF\xD6\x6A\x00\x57\xFF\xD6\x8B\x44\x24\x44\x89\x58" + \
b"\x04\x8B\x74\x24\x14\x85\xF6\x74\x27\x80\x7C\x24\x20\x00\x0F\x84" + \
b"\xC4\x00\x00\x00\x8B\x44\x24\x24\x50\xC6\x44\x24\x24\x00\xFF\x15" + \
b"\xC4\x33\x01\x00\x8B\xC6\x5F\x5E\x5D\x5B\x83\xC4\x30\xC2\x04\x00" + \
b"\x8B\x40\x04\x85\xC0\x75\x24\x38\x44\x24\x20\x74\x0F\x8B\x4C\x24" + \
b"\x24\x51\x88\x44\x24\x24\xFF\x15\xC4\x33\x01\x00\xB8\x01\x00\x00" + \
b"\xC0\x5F\x5E\x5D\x5B\x83\xC4\x30\xC2\x04\x00\x8B\x00\x8B\xD0\x8D" + \
b"\x74\x24\x18\x8D\x44\x24\x20\xE8\x2B\xFE\xFF\xFF\x8B\xF0\x85\xF6" + \
b"\x74\x23\x80\x7C\x24\x20\x00\x74\x5F\x8B\x54\x24\x24\x52\xC6\x44" + \
b"\x24\x24\x00\xFF\x15\xC4\x33\x01\x00\x8B\xC6\x5F\x5E\x5D\x5B\x83" + \
b"\xC4\x30\xC2\x04\x00\x39\x6C\x24\x18\x74\x26\x80\x7C\x24\x20\x00" + \
b"\x74\x10\x8B\x44\x24\x24\x50\xC6\x44\x24\x24\x00\xFF\x15\xC4\x33" + \
b"\x01\x00\xB8\x01\x00\x00\xC0\x5F\x5E\x5D\x5B\x83\xC4\x30\xC2\x04" + \
b"\x00\x80\x7C\x24\x20\x00\x74\x10\xC6\x44\x24\x20\x00\x8B\x4C\x24" + \
b"\x24\x51\xFF\x15\xC4\x33\x01\x00\x5F\x8B\xC6\x5E\x5D\x5B\x83\xC4" + \
b"\x30\xC2\x04\x00\xCC\xCC\xCC\x55\x8B\x6C\x24\x08\x56\x8B\x75\x04" + \
b"\x3B\xDE\x74\x1F\x85\xF6\x74\x18\x8B\x06\x85\xC0\x57\x8B\x3D\xF8" + \
b"\x33\x01\x00\x74\x05\x6A\x00\x50\xFF\xD7\x6A\x00\x56\xFF\xD7\x5F" + \
b"\x89\x5D\x04\x5E\x5D\xC2\x04\x00\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC" + \
b"\xCC\xCC\xCC\xCC\xCC\xCC\xCC\x83\xEC\x08\x56\x57\x8D\x7C\x24\x08" + \
b"\x8D\x74\x24\x0C\xC7\x44\x24\x08\x00\x00\x00\x00\xE8\x46\x00\x00" + \
b"\x00\x8B\x44\x24\x08\x85\xC0\x75\x36\x8D\x74\x24\x08\xE8\xD5\x00" + \
b"\x00\x00\x8B\x44\x24\x08\xE8\x5C\x04\x00\x00\x85\xC0\x75\x20\x8D" + \
b"\x74\x24\x0C\xE8\x7F\x01\x00\x00\x8D\x74\x24\x08\xE8\xF6\x01\x00" + \
b"\x00\x8B\x44\x24\x08\x8B\x48\x10\x68\x80\x12\x01\x00\xFF\xD1\x5F" + \
b"\x5E\x83\xC4\x08\xC3\xCC\xCC\x51\xA1\xF0\x53\x01\x00\xA8\x01\xC7" + \
b"\x06\x00\x00\x00\x00\x75\x10\x8B\x0F\x83\xC8\x01\xA3\xF0\x53\x01" + \
b"\x00\x89\x0D\xEC\x53\x01\x00\xA8\x02\x75\x54\x83\xC8\x02\xA3\xF0" + \
b"\x53\x01\x00\xE8\x2F\x1A\x00\x00\x80\x3D\x58\x53\x01\x00\x00\x74" + \
b"\x3E\x83\x3D\x4C\x53\x01\x00\x00\x74\x35\x8B\x15\x54\x53\x01\x00" + \
b"\x3B\x15\x50\x53\x01\x00\x7E\x27\xB9\x50\x53\x01\x00\xB8\x01\x00" + \
b"\x00\x00\xF0\x0F\xC1\x01\x40\x83\xE8\x01\x39\x05\x54\x53\x01\x00" + \
b"\x7E\x0D\x8B\x15\x4C\x53\x01\x00\xC7\x04\x82"\
dbPattern3= b"\x31\x01\x00\x64\xA1\x00\x00\x00\x00\x50\x64\x89\x25\x00\x00\x00" + \
b"\x00\x83\xEC\x0C\x53\x56\x57\x89\x65\xE8\xBF\x02\x00\x00\xC0\x89" + \
b"\x7D\xE4\x33\xDB\x89\x5D\xFC\x8B\x75\x0C\x8B\x46\x60\x0F\xB6\x00" + \
b"\x2B\xC3\x74\x1F\x83\xE8\x02\x74\x1A\x83\xE8\x0C\x75\x1D\x8B\xCE" + \
b"\xE8\x6F\xFF\xFF\xFF\x8B\xF8\x89\x7D\xE4\xC7\x45\xFC\xFF\xFF\xFF" + \
b"\xFF\xEB\x29\x89\x5E\x1C\x33\xFF\x89\x7D\xE4\xC7\x45\xFC\xFF\xFF" + \
b"\xFF\xFF\xEB\x18\xB8\x01\x00\x00\x00\xC3\x8B\x65\xE8\xC7\x45\xFC" + \
b"\xFF\xFF\xFF\xFF\x33\xDB\x8B\x75\x0C\x8B\x7D\xE4\x81\xFF\x03\x01" + \
b"\x00\x00\x75\x15\x8B\xC7\x8B\x4D\xF0\x64\x89\x0D\x00\x00\x00\x00" + \
b"\x5F\x5E\x5B\x8B\xE5\x5D\xC2\x08\x00\x3B\xFB\x74\x03\x89\x5E\x1C" + \
b"\x89\x7E\x18\x32\xD2\x8B\xCE\xFF\x15\xD8\x33\x01\x00\x8B\xC7\x8B" + \
b"\x4D\xF0\x64\x89\x0D\x00\x00\x00\x00\x5F\x5E\x5B\x8B\xE5\x5D\xC2" + \
b"\x08\x00\xCC\xCC\x83\xEC\x08\x68\x74\x52\x01\x00\x8D\x44\x24\x04" + \
b"\x50\xFF\x15\xC0\x33\x01\x00\x57\x6A\x00\x68\x00\x01\x00\x00\x6A" + \
b"\x22\x8D\x4C\x24\x10\x51\x6A\x00\x56\xFF\x15\xB8\x33\x01\x00\x85" + \
b"\xC0\x0F\x85\x80\x00\x00\x00\xB9\xE0\x0C\x01\x00\x89\x4E\x38\x89" + \
b"\x4E\x3C\x89\x4E\x40\x89\x4E\x44\x89\x4E\x48\x89\x4E\x4C\x89\x4E" + \
b"\x50\x89\x4E\x54\x89\x4E\x58\x89\x4E\x5C\x89\x4E\x60\x89\x4E\x64" + \
b"\x89\x4E\x68\x89\x4E\x6C\x89\x4E\x70\x89\x4E\x74\x89\x4E\x78\x89" + \
b"\x4E\x7C\x89\x8E\x80\x00\x00\x00\x89\x8E\x84\x00\x00\x00\x89\x8E" + \
b"\x88\x00\x00\x00\x89\x8E\x8C\x00\x00\x00\x89\x8E\x90\x00\x00\x00" + \
b"\x89\x8E\x94\x00\x00\x00\x89\x8E\x98\x00\x00\x00\x89\x8E\x9C\x00" + \
b"\x00\x00\x89\x8E\xA0\x00\x00\x00\x89\x8E\xA4\x00\x00\x00\x8B\x0F" + \
b"\x81\x61\x1C\x7F\xFF\xFF\xFF\x83\xC4\x08\xC3\xCC\xCC\xCC\xCC\xCC" + \
b"\xCC\xCC\xCC\xCC\x55\x8B\xEC\x83\xE4\xF8\x83\xEC\x14\x53\x56\x57" + \
b"\x8B\x3D\xC0\x33\x01\x00\x8B\xF0\x68\x98\x51\x01\x00\x8D\x44\x24" + \
b"\x1C\x50\xFF\xD7\x68\x60\x52\x01\x00\x8D\x4C\x24\x14\x51\xFF\xD7" + \
b"\x6A\x00\x6A\x00\x6A\x00\x8D\x7E\x08\x6A\x00\x57\x89\x7C\x24\x20" + \
b"\xFF\x15\x10\x34\x01\x00\x56\x8D\x54\x24\x14\x52\x8D\x44\x24\x20" + \
b"\xE8\x9F\x18\x00\x00\x85\xC0\x75\x42\x8B\x46\x04\x8B\x38\x8B\x58" + \
b"\x04\x8B\x0D\x94\x51\x01\x00\xE8\x28\x1A\x00\x00\x32\xC9\x33\xC0" + \
b"\x85\xDB\x76\x3C\x02\x0C\x38\x83\xC0\x01\x3B\xC3\x72\xF6\x84\xC9" + \
b"\x74\x2E\x8B\x44\x24\x0C\x6A\x00\x50\xFF\x15\x0C\x34\x01\x00\xB8" + \
b"\x01\x00\x00\xC0\x5F\x5E\x5B\x8B\xE5\x5D\xC3\x6A\x00\x57\xFF\x15" + \
b"\x0C\x34\x01\x00\xB8\x01\x00\x00\xC0\x5F\x5E\x5B\x8B\xE5\x5D\xC3" + \
b"\x8B\x76\x04\x85\xF6\x6A\x00\x75\x17\x8B\x4C\x24\x10\x51\xFF\x15" + \
b"\x0C\x34\x01\x00\xB8\x01\x00\x00\xC0\x5F\x5E\x5B\x8B\xE5\x5D\xC3" + \
b"\x83\x7E\x04\x00\x77\x17\x8B\x54\x24\x10\x52\xFF\x15\x0C\x34\x01" + \
b"\x00\xB8\x01\x00\x00\xC0\x5F\x5E\x5B\x8B\xE5\x5D\xC3\x8B\x44\x24" + \
b"\x10\x50\xFF\x15\x0C\x34\x01\x00\x5F\x5E\x33\xC0\x5B\x8B\xE5\x5D" + \
b"\xC3\xCC\xCC\xCC\x83\xEC\x08\x53\x55\x56\x57\x8B\x7C\x24\x1C\x6A" + \
b"\x00\x6A\x00\x6A\x00\x8D\x6F\x08\x6A\x00\x55\xC7\x44\x24\x24\x00" + \
b"\x00\x00\x00\x89\x6C\x24\x28\xFF\x15\x10\x34\x01\x00\x8B\x1D\xA0" + \
b"\x33\x01\x00\x6A\x10\x6A\x00\xFF\xD3\x8B\xF0\x85\xF6\x74\x41\x8B" + \
b"\x47\x04\x8B\x78\x04\x8B\x28\x57\x6A\x00\xFF\xD3\x89\x06\x89\x7E" + \
b"\x04\x89\x46\x08\x89\x7E\x0C\x8B\x06\x85\xC0\x75\x0E\x8B\x6C\x24" + \
b"\x14\xC7\x44\x24\x10\x01\x00\x00\xC0\xEB\x17\x85\xED\x74\x0B\x57" + \
b"\x55\x50\xE8"
dbPattern4= b"\x21\x00\x00\x83\xC4\x0C\x8B\x6C\x24\x14\xEB\x02\x33\xF6\x8B\x44" + \
b"\x24\x20\x8B\x78\x04\x3B\xF7\x74\x21\x85\xFF\x74\x16\x8B\x07\x85" + \
b"\xC0\x8B\x1D\xF8\x33\x01\x00\x74\x05\x6A\x00\x50\xFF\xD3\x6A\x00" + \
b"\x57\xFF\xD3\x8B\x4C\x24\x20\x89\x71\x04\x8B\x74\x24\x10\x85\xF6" + \
b"\x6A\x00\x55\x74\x12\xFF\x15\x0C\x34\x01\x00\x5F\x8B\xC6\x5E\x5D" + \
b"\x5B\x83\xC4\x08\xC2\x08\x00\x8B\x54\x24\x24\x83\x7A\x04\x00\x75" + \
b"\x15\xFF\x15\x0C\x34\x01\x00\x5F\x5E\x5D\xB8\x01\x00\x00\xC0\x5B" + \
b"\x83\xC4\x08\xC2\x08\x00\xFF\x15\x0C\x34\x01\x00\x5F\x5E\x5D\x33" + \
b"\xC0\x5B\x83\xC4\x08\xC2\x08\x00\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC" + \
b"\x80\x38\x00\x74\x24\x56\x8B\x70\x04\x85\xF6\xC6\x00\x00\x74\x18" + \
b"\x8B\x06\x85\xC0\x57\x8B\x3D\xF8\x33\x01\x00\x74\x05\x6A\x00\x50" + \
b"\xFF\xD7\x6A\x00\x56\xFF\xD7\x5F\x5E\xC3\xCC\xCC\xCC\xCC\xCC\xCC" + \
b"\x51\x8B\x48\x08\x83\xC1\x04\x3B\x48\x04\x57\x77\x1A\x8B\x78\x08" + \
b"\x8B\x10\x8B\x14\x3A\x8B\x38\x03\xF9\x89\x48\x08\x89\x3E\x89\x56" + \
b"\x04\x01\x50\x08\x5F\x59\xC3\x8B\x38\x8B\x54\x24\x04\x03\xF9\x89" + \
b"\x48\x08\x89\x3E\x89\x56\x04\x01\x50\x08\x5F\x59\xC3\xCC\xCC\xCC" + \
b"\x55\x8B\xEC\x83\xE4\xF8\x8B\x55\x08\x83\xEC\x44\x53\x56\x57\xB8"
dbPattern5= b"\x00\x00\x39\x5C\x24\x10\x0F\x85\x20\x01\x00\x00\x8B\x4C\x24\x34" + \
b"\x8B\x55\x10\x3B\x4A\x04\x0F\x85\x10\x01\x00\x00\xA1\x90\x51\x01" + \
b"\x00\xA8\x04\x74\x0A\x38\x5C\x24\x38\x0F\x85\xFD\x00\x00\x00\x8D" + \
b"\x74\x24\x18\xE8\x1E\xFA\xFF\xFF\x8B\x5C\x24\x18\x8B\xC7\xE8\xD3" + \
b"\x02\x00\x00\x33\xDB\x8D\x74\x24\x1C\xC6\x44\x24\x24\x01\x89\x5C" + \
b"\x24\x28\xE8\x3F\xF9\xFF\xFF\x8B\x54\x24\x1C\x8D\x4C\x24\x24\x51" + \
b"\x52\xE8\xC0\xFD\xFF\xFF\x3B\xC3\x0F\x85\xB5\x00\x00\x00\x8B\x44" + \
b"\x24\x28\x8B\x08\x8B\x50\x04\x8D\x44\x24\x20\x50\x8D\x44\x24\x48" + \
b"\x89\x4C\x24\x48\x89\x54\x24\x4C\x89\x5C\x24\x50\xE8\x25\x01\x00" + \
b"\x00\x8D\x4C\x24\x14\x51\x8D\x44\x24\x48\xE8\x17\x01\x00\x00\x8B" + \
b"\x74\x24\x4C\x3B\x74\x24\x48\x77\x7A\x39\x5C\x24\x20\x75\x74\x33" + \
b"\xFF\x39\x5C\x24\x14\x89\x5C\x24\x3C\x89\x5C\x24\x2C\x89\x5C\x24" + \
b"\x30\x76\x60\x8D\x49\x00\x8B\x54\x24\x44\x8D\x1C\x16\x83\xC6\x0C" + \
b"\x89\x74\x24\x4C\x8D\x74\x24\x3C\x8D\x44\x24\x44\xE8\x75\xFE\xFF" + \
b"\xFF\x8D\x74\x24\x2C\x8D\x44\x24\x44\xE8\x68\xFE\xFF\xFF\x8B\x74" + \
b"\x24\x4C\x3B\x74\x24\x48\x77\x2B\x8B\x44\x24\x3C\x8B\x55\x08\xE8" + \
b"\x92\x0B\x00\x00\x84\xC0\x74\x12\x8B\x4D\x10\x8D\x44\x24\x2C\x50" + \
b"\x8B\x45\x0C\x53\x51\xE8\x8C\x07\x00\x00\x83\xC7\x01\x3B\x7C\x24" + \
b"\x14\x72\xA3\x8D\x44\x24\x24\xE8\xFA\xFD\xFF\xFF\x5F\x5E\x5B\x8B" + \
b"\xE5\x5D\xC2\x0C\x00\xCC\x55\x8B\xEC\x6A\xFF\x68\xE8\x50\x01\x00" + \
b"\x68"
dbPattern6= b"\xCC\xCC\xCC\x33\xC0\x50\x68\xC0\x15\x01\x00\x68\xB0\x15\x01\x00" + \
b"\x68\x90\x15\x01\x00\x68\x7C\x53\x01\x00\xA3\x7C\x53\x01\x00\xA3" + \
b"\x80\x53\x01\x00\xA3\x84\x53\x01\x00\xA3\x88\x53\x01\x00\xA3\x8C" + \
b"\x53\x01\x00\xA3\x90\x53\x01\x00\xA3\x94\x53\x01\x00\xA3\x98\x53" + \
b"\x01\x00\xA3\x9C\x53\x01\x00\xA3\xA0\x53\x01\x00\xC6\x05\xA8\x53" + \
b"\x01\x00\xFF\xA3\xA4\x53\x01\x00\xA3\xAC\x53\x01\x00\xA3\xB0\x53" + \
b"\x01\x00\xFF\x15\xE8\x33\x01\x00\xB8\x7C\x53\x01\x00\xC3\xCC\xCC" + \
b"\xCC\xCC\xCC\x83\xEC\x14\x56\x57\x89\x44\x24\x08\x8D\x73\x28\xFF" + \
b"\x15\xE0\x33\x01\x00\x8B\xF8\x3B\x7E\x08\x74\x15\x8B\xCE\xFF\x15" + \
b"\x80\x33\x01\x00\x88\x46\x04\x89\x7E\x08\xC7\x46\x0C\x00\x00\x00" + \
b"\x00\x83\x46\x0C\x01\x8D\x4C\x24\x08\x51\x53\xFF\x15\xE4\x33\x01" + \
b"\x00\x83\x46\x0C\xFF\x8B\xF8\x75\x12\x8A\x56\x04\x8B\xCE\xC7\x46" + \
b"\x08\x00\x00\x00\x00\xFF\x15\x88\x33\x01\x00\x8B\xC7\x5F\x5E\x83" + \
b"\xC4\x14\xC3\x83\xEC\x14\x56\x57\x89\x44\x24\x08\x8D\x73\x28\xFF" + \
b"\x15\xE0\x33\x01\x00\x8B\xF8\x3B\x7E\x08\x74\x15\x8B\xCE\xFF\x15" + \
b"\x80\x33\x01\x00\x88\x46\x04\x89\x7E\x08\xC7\x46\x0C\x00\x00\x00" + \
b"\x00\x83\x46\x0C\x01\x8D\x4C\x24\x08\x51\x53\xFF\x15\xDC\x33\x01" + \
b"\x00\x84\xC0\x75\x23\x83\x46\x0C\xFF\x75\x12\x8A\x56\x04\x8B\xCE" + \
b"\xC7\x46\x08\x00\x00\x00\x00\xFF\x15\x88\x33\x01\x00\x5F\xB8\x01" + \
b"\x00\x00\xC0\x5E\x83\xC4\x14\xC3\x83\x46\x0C\xFF\x75\x12\x8A\x56" + \
b"\x04\x8B\xCE\xC7\x46\x08\x00\x00\x00\x00\xFF\x15\x88\x33\x01\x00" + \
b"\x5F\x33\xC0\x5E\x83\xC4\x14\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC" + \
b"\xCC\xCC\xCC\x53\x55\x8B\x6C\x24\x0C\x56\x8B\xD8\x57\x8D\x73\x28" + \
b"\xFF\x15\xE0\x33\x01\x00\x8B\xF8\x3B\x7E\x08\x74\x15\x8B\xCE\xFF" + \
b"\x15\x80\x33\x01\x00\x89\x7E\x08\x33\xFF\x88\x46\x04\x89\x7E\x0C" + \
b"\xEB\x02\x33\xFF\x83\x46\x0C\x01\x8B\x45\x00\xE8\xD3\xFE\xFF\xFF" + \
b"\x85\xC0\x74\x2C\x8B\x45\x00\xE8\x27\xFF\xFF\xFF\x85\xC0\x74\x20" + \
b"\x83\x46\x0C\xFF\x75\x0E\x8A\x56\x04\x8B\xCE\x89\x7E\x08\xFF\x15" + \
b"\x88\x33\x01\x00\x5F\x5E\x5D\xB8\x01\x00\x00\xC0\x5B\xC2\x04\x00" + \
b"\x57\x6A\x14\x55\x53\xFF\x15\xEC\x33\x01\x00\x85\xC0\x74\xD1\x83" + \
b"\x46\x0C\xFF\x75\x0E\x8A\x56\x04\x8B\xCE\x89\x7E\x08\xFF\x15\x88" + \
b"\x33\x01\x00\x5F\x5E\x5D\x33\xC0\x5B\xC2\x04\x00\xCC\xCC\xCC\xCC" + \
b"\xCC\xCC\xCC\x8B\x44\x24\x08\x8B\x4C\x24\x0C\x8B\x00\x8B\x09\x3B" + \
b"\xC1\x75\x08\xB8\x02\x00\x00\x00\xC2\x0C\x00\x1B\xC0\x83\xC0\x01" + \
b"\xC2\x0C\x00\xC7\x44\x24\x04\x00\x00\x00\x00\xFF\x25\xA0\x33\x01" + \
b"\x00\xCC\xCC\x8B\x44\x24\x08\x85\xC0\x74\x12\xC7\x44\x24\x08\x00" + \
b"\x00\x00\x00\x89\x44\x24\x04\xFF\x25\xF8\x33\x01\x00\xC2\x08\x00" + \
b"\xCC\xCC\xCC\x83\xEC\x0C\x53\x55\x8B\x6C\x24\x18\x57\x8B\xF9\xF6" + \
b"\x47\x06\x02\x75\x15\x8B\x08\x8B\x50\x04\x89\x0E\x89\x56\x04\x8B" + \
b"\xC6\x5F\x5D\x5B\x83\xC4\x0C\xC2\x04\x00\x8B\x00\x50\x8D\x4C\x24" + \
b"\x14\x51\xFF\x15\xC0\x33\x01\x00\x55\x8D\x4C\x24\x14\xE8\x71\xF1" + \
b"\xFF\xFF\x85\xC0\x75\x2E\xF6\x47\x06\x01\x74\x10\x8B\x45\x04\x8B" + \
b"\x4F\x08\x8B\x58\x04\x8B\x38\xE8\xC7\x12\x00\x00\x8B\x45\x04\x8B" + \
b"\x10\x8B\x40\x04\x89\x46\x04\x89\x16\x8B\xC6\x5F\x5D\x5B\x83\xC4" + \
b"\x0C\xC2\x04\x00\x5F\x5D\xC7\x06\x00\x00\x00\x00\xC7\x46\x04\x00" + \
b"\x00\x00\x00\x8B\xC6\x5B\x83\xC4\x0C\xC2\x04\x00\xCC\xCC\xCC\xCC" + \
b"\xCC\xCC\xCC\x8B\x48\x04\x83\xEC\x34\x53\x55\x8B\x6C\x24\x44\x56" + \
b"\x57\x6A\x01\x51\x8D\x54\x24\x2C\x52\xE8"
dbPattern7= b"\x0D\x00\x00\x33\xDB\x39\x5C\x24\x08\x74\x23\x38\x5C\x24\x0C\x74" + \
b"\x4B\x8D\x74\x24\x34\x88\x5C\x24\x0C\xE8\xA8\xEE\xFF\xFF\x8B\x54" + \
b"\x24\x34\x8B\x42\x1C\x8D\x4C\x24\x18\x51\xFF\xD0\xEB\x2E\x8B\x4C" + \
b"\x24\x34\x56\x51\x8B\xCF\xE8\x3B\xFF\xFF\xFF\x38\x5C\x24\x0C\x74" + \
b"\x1B\x8D\x74\x24\x34\x88\x5C\x24\x0C\xE8\x78\xEE\xFF\xFF\x8B\x44" + \
b"\x24\x34\x8B\x48\x1C\x8D\x54\x24\x18\x52\xFF\xD1\x38\x5C\x24\x10" + \
b"\x74\x0E\x8B\x4C\x24\x14\x88\x5C\x24\x10\xFF\x15\x34\x34\x01\x00" + \
b"\x5E\x5B\x83\xC4\x28\xC2\x04\x00\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC" + \
b"\xCC\xCC\xCC\xCC\xCC\xCC\x83\xEC\x08\x56\x57\x8B\xF8\x8D\x70\x02" + \
b"\x8D\x9B\x00\x00\x00\x00\x66\x8B\x08\x83\xC0\x02\x66\x85\xC9\x75" + \
b"\xF5\x2B\xC6\xD1\xF8\x8B\xF0\x66\x8B\x02\x66\xD1\xE8\x0F\xB7\xC0" + \
b"\x0F\xB7\xC0\x3B\xF0\x76\x08\x5F\x32\xC0\x5E\x83\xC4\x08\xC3\x8B" + \
b"\x4A\x04\x53\x2B\xC6\x33\xDB\x85\xF6\x55\x8D\x04\x41\x76\x38\x2B" + \
b"\xC7\x89\x44\x24\x14\xEB\x04\x8B\x44\x24\x14\x0F\xB7\x14\x38\x8B" + \
b"\x2D\xF0\x33\x01\x00\x52\xFF\xD5\x0F\xB7\x0F\x51\x66\x89\x44\x24" + \
b"\x16\xFF\xD5\x0F\xB7\x4C\x24\x12\x66\x3B\xC1\x75\x14\x83\xC3\x01" + \
b"\x83\xC7\x02\x3B\xDE\x72\xD0\x5D\x5B\x5F\xB0\x01\x5E\x83\xC4\x08" + \
b"\xC3\x5D\x5B\x5F\x32\xC0\x5E\x83\xC4\x08\xC3\xCC\xCC\xCC\xCC\xCC" + \
b"\xCC\xCC\xCC\xCC\xCC\xCC\x83\xEC\x10\x56\x8D\x47\x11\x8D\x74\x24" + \
b"\x10\xC7\x44\x24\x0C\x00\x00\x00\x00\x89\x44\x24\x08\xE8\x84\xED" + \
b"\xFF\xFF\x8B\x44\x24\x10\x6A\x40\x68\x00\x10\x00\x00\x8D\x4C\x24" + \
b"\x10\x51\x8B\x48\x14\x6A\x00\x8D\x54\x24\x1C\x52\x6A\xFF\xFF\xD1" + \
b"\x85\xC0\x75\x0F\x39\x7C\x24\x08\x72\x09\x8B\x44\x24\x0C\x5E\x83" + \
b"\xC4\x10\xC3\x33\xC0\x5E\x83\xC4\x10\xC3\xCC\xCC\xCC\xCC\xCC\xCC" + \
b"\xCC\xCC\xCC\xCC\xCC\xCC\x83\xEC\x4C\x53\x55\x56\x57\x8B\xD8\x68" + \
b"\x74\x52\x01\x00\x8D\x44\x24\x14\x50\xFF\x15\xC0\x33\x01\x00\x8B" + \
b"\x2D\xC8\x33\x01\x00\x33\xF6\x8D\x4C\x24\x10\xC7\x44\x24\x20\x18" + \
b"\x00\x00\x00\x89\x74\x24\x24\xC7\x44\x24\x2C\x40\x00\x00\x00\x89" + \
b"\x4C\x24\x28\x89\x74\x24\x30\x89\x74\x24\x34\x6A\x60\x6A\x03\x8D" + \
b"\x54\x24\x20\x52\x8D\x44\x24\x2C\x50\x68\x00\x00\x10\xC0\x53\xFF" + \
b"\xD5\x8B\xF8\x85\xFF\x75\x10\x8B\x0B\x89\x4C\xB4\x38\x83\xC6\x01" + \
b"\x83\xFE\x07\x7E\xD6\xEB\x03\x83\xC6\x01\x83\xEE\x02\x78\x13\x8B" + \
b"\x1D\xC4\x33\x01\x00\x90\x8B\x54\xB4\x38\x52\xFF\xD3\x83\xEE\x01" + \
b"\x79\xF4\x8B\xC7\x5F\x5E\x5D\x5B\x83\xC4\x4C\xC3\xCC\xCC\xCC\xCC" + \
b"\xCC\xCC\xCC\xCC\xCC\xCC\x83\xEC\x10\x56\x8B\x74\x24\x1C\x8B\x46" + \
b"\x0C\x8B\x4E\x08\x3B\x48\x34\x75\x09\x33\xC0\x5E\x83\xC4\x10\xC2" + \
b"\x08\x00\x57\x8D\x54\x24\x0C\x52\x8D\x44\x24\x0C\x50\x33\xFF\x6A" + \
b"\x05\x56\x89\x7C\x24\x18\x89\x7C\x24\x1C\xE8"
dbPattern8= b"\x10\x00\x00\x83\xC4\x10\x83\xF8\x02\x75\x0A\x5F\x33\xC0\x5E\x83" + \
b"\xC4\x10\xC2\x08\x00\x3B\xC7\x74\x0D\x5F\xB8\x01\x00\x00\xC0\x5E" + \
b"\x83\xC4\x10\xC2\x08\x00\x8B\x4C\x24\x0C\x53\x55\x8B\x6C\x24\x10" + \
b"\x03\xCD\x8D\x5D\x08\x3B\xD9\x89\x4C\x24\x1C\x77\x72\x8B\x45\x04" + \
b"\x85\xC0\x74\x6B\x83\xF8\x08\x72\x72\x83\xC0\xF8\xA8\x01\x75\x6B" + \
b"\xD1\xE8\x89\x44\x24\x18\xBA\x00\x00\x00\x00\x74\x44\x8B\x76\x08" + \
b"\x8B\x7D\x00\x8D\xA4\x24\x00\x00\x00\x00\x0F\xB7\x0C\x53\x8B\xC1" + \
b"\x25\xFF\x0F\x00\x00\x03\xC7\x03\xC6\xF7\xC1\x00\xF0\x00\x00\x74" + \
b"\x0F\x8B\x4C\x24\x24\x3B\xC1\x72\x07\x83\xC1\x0C\x3B\xC1\x72\x3A" + \
b"\x83\xC2\x01\x3B\x54\x24\x18\x72\xD1\x8B\x4C\x24\x1C\x8B\x74\x24" + \
b"\x28\x03\x6D\x04\x8D\x5D\x08\x3B\xD9\x89\x6C\x24\x10\x76\x8E\x5D" + \
b"\x5B\x5F\x33\xC0\x5E\x83\xC4\x10\xC2\x08\x00\x5D\x5B\x5F\xB8\x01" + \
b"\x00\x00\xC0\x5E\x83\xC4\x10\xC2\x08\x00\x5D\x5B\x5F\xB8\xBB\x00" + \
b"\x00\xC0\x5E\x83\xC4\x10\xC2\x08\x00\xCC\x0F\xBE\x11\x8D\x44\x92" + \
b"\x09\x0F\xAF\xC2\x0F\xBE\x51\x01\x03\xC2\x8D\x54\x80\x09\x0F\xAF" + \
b"\xD0\x0F\xBE\x41\x02\x03\xD0\x8D\x44\x92\x09\x0F\xAF\xC2\x0F\xBE" + \
b"\x51\x03\x03\xC2\x8D\x54\x80\x09\x0F\xAF\xD0\x0F\xBE\x41\x04\x03" + \
b"\xD0\x8D\x44\x92\x09\x0F\xAF\xC2\x0F\xBE\x51\x05\x03\xC2\x8D\x54" + \
b"\x80\x09\x0F\xAF\xD0\x0F\xBE\x41\x06\x0F\xBE\x49\x07\x03\xD0\x8D" + \
b"\x44\x92\x09\x0F\xAF\xC2\x03\xC1\xC3\xCC\x8B\xCE\x33\xC0\x81\xE9" + \
b"\x64\x34\x01\x00\x8D\x9B\x00\x00\x00\x00\x8A\x94\x01\x64\x34\x01" + \
b"\x00\x22\x90\x64\x34\x01\x00\x3A\x90\x50\x34\x01\x00\x75\x21\x83" + \
b"\xC0\x01\x83\xF8\x14\x72\xE3\xA1\x04\x34\x01\x00\x83\xC0\x0D\x8D" + \
b"\x4E\x0D\x8B\xD0\x2B\xD1\x8B\x09\x2B\x08\x3B\xCA\x0F\x94\xC0\xC3" + \
b"\x32\xC0\xC3\xCC\xCC\xCC\xCC\xCC\xCC\xCC\x53\x55\x8B\x6C\x24\x0C" + \
b"\x56\x57\xC7\x44\x24\x14\x00\x00\x00\x00\x8B\xD8\x8D\x43\x05\x39" + \
b"\x44\x24\x18\x76\x7D\x80\x3B\xE8\x75\x61\x8B\x40\xFC\x8D\x74\x18" + \
b"\x05\x56\x55\xE8"
dbPattern9= b"\x0C\x00\x00\x8B\xF8\x83\xC4\x08\x85\xFF\x74\x4A\x8B\x4F\x24\x81" + \
b"\xE1\x20\x00\x00\x62\x81\xF9\x20\x00\x00\x60\x75\x39\x8B\xCF\xE8" + \
b"\x01\xFF\xFF\xFF\x3D\xA8\xB9\x93\x4B\x74\x07\x3D\x1C\x97\x94\x12" + \
b"\x75\x24\x8B\x47\x08\x8B\x4F\x10\x3B\xC1\x72\x02\x8B\xC1\x8B\x57" + \
b"\x0C\x03\x55\x08\x03\xD0\x8D\x46\x14\x3B\xC2\x77\x09\xE8\x33\xFF" + \
b"\xFF\xFF\x84\xC0\x75\x20\x8B\x44\x24\x14\x83\xC0\x01\x83\xC3\x01" + \
b"\x83\xF8\x1E\x89\x44\x24\x14\x0F\x82\x7A\xFF\xFF\xFF\x5F\x5E\x5D" + \
b"\x33\xC0\x5B\xC2\x08\x00\x5F\x8B\xC6\x5E\x5D\x5B\xC2\x08\x00\xCC" + \
b"\xCC\xCC\xCC\xCC\xCC\x51\x53\x55\x8B\xD9\x83\xC3\xED\x3B\xC3\x56" + \
b"\x57\x89\x5C\x24\x10\x0F\x83\xC7\x00\x00\x00\x83\xC3\xFC\x8D\xA4" + \
b"\x24\x00\x00\x00\x00\x3B\xC3\x0F\x87\xB5\x00\x00\x00\xEB\x06\x8D" + \
b"\x9B\x00\x00\x00\x00\x8B\x08\x3B\x0D\x78\x34\x01\x00\x74\x0F\x83" + \
b"\xC0\x01\x3B\xC3\x76\xEF\x5F\x5E\x5D\x33\xC0\x5B\x59\xC3\xB9\x0E" + \
b"\x00\x00\x00\xBA\x78\x34\x01\x00\x8B\xF0\x8B\x3E\x3B\x3A\x75\x12" + \
b"\x83\xE9\x04\x83\xC2\x04\x83\xC6\x04\x83\xF9\x04\x73\xEC\x85\xC9" + \
b"\x74\x5D\x0F\xB6\x3E\x0F\xB6\x2A\x2B\xFD\x75\x45\x83\xE9\x01\x83" + \
b"\xC2\x01\x83\xC6\x01\x85\xC9\x74\x46\x0F\xB6\x3E\x0F\xB6\x2A\x2B" + \
b"\xFD\x75\x2E\x83\xE9\x01\x83\xC2\x01\x83\xC6\x01\x85\xC9\x74\x2F" + \
b"\x0F\xB6\x3E\x0F\xB6\x2A\x2B\xFD\x75\x17\x83\xE9\x01\x83\xC2\x01" + \
b"\x83\xC6\x01\x85\xC9\x74\x18\x0F\xB6\x3E\x0F\xB6\x12\x2B\xFA\x74" + \
b"\x0E\x85\xFF\xB9\x01\x00\x00\x00\x7F\x07\x83\xC9\xFF\xEB\x02\x33" + \
b"\xC9\x85\xC9\x74\x0F\x83\xC0\x01\x3B\x44\x24\x10\x0F\x82\x43\xFF" + \
b"\xFF\xFF\x33\xC0\x5F\x5E\x5D\x5B\x59\xC3\xCC\xCC\xCC\xCC\xCC\xCC" + \
b"\xCC\xCC\xCC\xCC\xCC\x83\xEC\x08\x55\x8B\x6C\x24\x20\x56\x8B\x74" + \
b"\x24\x18\x57\x8B\x7C\x24\x20\x6A\x00\x6A\x00\x8D\x44\x24\x18\x50" + \
b"\x8D\x4C\x24\x18\x51\xC6\x45\x00\x00\xC7\x44\x24\x1C\x00\x00\x00" + \
b"\x00\xC7\x44\x24\x20\x00\x00\x00\x00\xFF\x15\x24\x34\x01\x00\x83" + \
b"\x7C\x24\x0C\x05\x75\x3E\x83\x7C\x24\x10\x00\x75\x37\x8B\xCF\x8B" + \
b"\xC6\xE8\xBF\xFE\xFF\xFF\x85\xC0\x0F\x84\x59\x01\x00\x00\x8B\x54" + \
b"\x24\x24\x8B\x0A\x85\xC9\x74\x11\x3B\xC1\x74\x0D\x5F\x5E\xC6\x45" + \
b"\x00\x01\x5D\x83\xC4\x08\xC2\x14\x00\x5F\x5E\x89\x02\x5D\x83\xC4" + \
b"\x08\xC2\x14\x00\x8D\x4F\xF6\x3B\xF1\x8B\xC6\x0F\x83\x26\x01\x00" + \
b"\x00\x83\xC1\xFC\x89\x4C\x24\x10\x3B\xC1\x8B\xF8\x0F\x87\x15\x01" + \
b"\x00\x00\x8D\x49\x00\x8B\x17\x3B\x15\x48\x34\x01\x00\x74\x10\x83" + \
b"\xC7\x01\x3B\xF9\x76\xEF\x5F\x5E\x5D\x83\xC4\x08\xC2\x14\x00\xB8" + \
b"\x05\x00\x00\x00\xB9\x48\x34\x01\x00\x8B\xD7\x8B\x32\x3B\x31\x75" + \
b"\x12\x83\xE8\x04\x83\xC1\x04\x83\xC2\x04\x83\xF8\x04\x73\xEC\x85" + \
b"\xC0\x74\x5D\x0F\xB6\x32\x0F\xB6\x29\x2B\xF5\x75\x45\x83\xE8\x01" + \
b"\x83\xC1\x01\x83\xC2\x01\x85\xC0\x74\x46\x0F\xB6\x32\x0F\xB6\x29" + \
b"\x2B\xF5\x75\x2E\x83\xE8\x01\x83\xC1\x01\x83\xC2\x01\x85\xC0\x74" + \
b"\x2F\x0F\xB6\x32\x0F\xB6\x29\x2B\xF5\x75\x17\x83\xE8\x01\x83\xC1" + \
b"\x01\x83\xC2\x01\x85\xC0\x74\x18\x0F\xB6\x32\x0F\xB6\x01\x2B\xF0" + \
b"\x74\x0E\x85\xF6\xB8\x01\x00\x00\x00\x7F\x07\x83\xC8\xFF\xEB\x02" + \
b"\x33\xC0\x85\xC0\x75\x53\x8B\x54\x24\x1C\x8B\xCF\x8D\x34\x10\x3B" + \
b"\xF7\x73\x46\x80\x39\xE8\x75\x0F\x8B\x71\x01\x8D\x74\x0E\x05\x3B" + \
b"\x35\x04\x34\x01\x00\x74\x0D\x83\xC0\x01\x83\xE9\x01\x83\xF8\x78" + \
b"\x72\xDA\xEB\x25\x8B\x4C\x24\x20\x8B\x54\x24\x18\x51\x52\x8B\xC7" + \
b"\xE8\xE0\xFC\xFF\xFF\x85\xC0\x74\x10\x8B\x54\x24\x24\x8B\x0A\x85" + \
b"\xC9\x74\x04\x3B\xC1\x75\x19\x89\x02\x8B\x4C\x24\x20\x8D\x47\x01" + \
b"\x83\xC1\xF6\x3B\xC1\x73\x10\x8B\x4C\x24\x10\xE9\xE8\xFE\xFF\xFF" + \
b"\x8B\x44\x24\x28\xC6\x00\x01\x5F\x5E\x5D\x83\xC4\x08\xC2\x14\x00" + \
b"\xCC\xCC\xCC\xCC\xCC\x83\xEC\x2C\x53\x55\x56\x57\x33\xFF\x39\x3D" + \
b"\xEC\x53\x01\x00\x89\x3D\xE8\x53\x01\x00\x0F\x85\xD8\x00\x00\x00" + \
b"\xE8"
dbPattern10=b"\x00\x00\x83\xC4\x20\xA3\x68\x53\x01\x00\xB8\x5C\x53\x01\x00\x5E" + \
b"\x83\xC4\x20\xC3\x51\x55\x8B\x6C\x24\x0C\x8B\x45\x60\x33\xD2\xB9" + \
b"\x28\x00\x00\x00\x89\x55\x1C\x39\x48\x08\x74\x0A\xB8\x0D\x00\x00" + \
b"\xC0\x5D\x59\xC2\x04\x00\x39\x48\x04\x75\xF1\x53\x8B\x5D\x0C\x81" + \
b"\x3B\x0D\xF0\xAB\xAF\x74\x0B\x5B\xB8\x0D\x00\x00\xC0\x5D\x59\xC2" + \
b"\x04\x00\x56\x57\x8D\x7C\x24\x18\x8D\x74\x24\x10\x89\x54\x24\x18" + \
b"\xE8\x1F\xE3\xFF\xFF\x8B\x44\x24\x18\x85\xC0\x5F\x5E\x75\x26\x8D" + \
b"\x43\x20\x50\x8B\x00\x50\x8B\x43\x08\x8D\x4B\x18\x51\x8B\x4C\x24" + \
b"\x14\x8D\x53\x10\x52\x8B\x11\x50\xFF\xD2\x85\xC0\x75\x07\xC7\x45" + \
b"\x1C\x28\x00\x00\x00\x5B\x5D\x59\xC2\x04\x00\xCC\xCC\xCC\xCC\xCC" + \
b"\xCC\xCC\xCC\xCC\x83\xEC\x24\x53\x56\x8D\x4C\x24\x10\x51\x33\xDB" + \
b"\x68\x19\x00\x02\x00\x8D\x54\x24\x14\x52\x88\x5C\x24\x14\x89\x5C" + \
b"\x24\x18\xC7\x44\x24\x1C\x18\x00\x00\x00\x89\x5C\x24\x20\xC7\x44" + \
b"\x24\x28\x40\x00\x00\x00\x89\x44\x24\x24\x89\x5C\x24\x2C\x89\x5C" + \
b"\x24\x30\xFF\x15\x18\x34\x01\x00\x8B\xF0\x3B\xF3\x0F\x94\xC0\x3B" + \
b"\xF3\x88\x44\x24\x08\x74\x1D\x3A\xC3\x74\x42\x8B\x44\x24\x0C\x50" + \
b"\x88\x5C\x24\x0C\xFF\x15\xC4\x33\x01\x00\x8B\xC6\x5E\x5B\x83\xC4" + \
b"\x24\xC2\x08\x00\x8B\x4C\x24\x34\x8B\x44\x24\x30\x51\x8D\x4C\x24" + \
b"\x0C\xE8\x2E\x00\x00\x00\x38\x5C\x24\x08\x8B\xF0\x74\x0F\x8B\x54" + \
b"\x24\x0C\x52\x88\x5C\x24\x0C\xFF\x15\xC4\x33\x01\x00\x8B\xC6\x5E" + \
b"\x5B\x83\xC4\x24\xC2\x08\x00\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC\xCC" + \
b"\xCC\xCC\xCC\xCC\x83\xEC\x08\x53\x55\x56\x8B\xF1\x80\x3E\x00\x57" + \
b"\x8B\xD8\x74\x7C\x8B\x4E\x04\x8B\x3D\x14\x34\x01\x00\x8D\x44\x24" + \
b"\x10\x50\x6A\x00\x6A\x00\x6A\x02\x53\x51\xC7\x44\x24\x28\x00\x00" + \
b"\x00\x00\xFF\xD7\x3D\x23\x00\x00\xC0\x75\x55\x8B\x54\x24\x10\x52" + \
b"\x6A\x00\xFF\x15\xA0\x33\x01\x00\x8B\xE8\x85\xED\x74\x42\x8B\x4C" + \
b"\x24\x10\x8B\x56\x04\x8D\x44\x24\x10\x50\x51\x55\x6A\x02\x53\x52" + \
b"\xFF\xD7\x8B\xF8\x85\xFF\x89\x7C\x24\x14\x74\x15\x6A\x00\x55\xFF" + \
b"\x15\xF8\x33\x01\x00\x8B\xC7\x5F\x5E\x5D\x5B\x83\xC4\x08\xC2\x04" + \
b"\x00\x83\x7D\x04\x03\x74\x18\x6A\x00\x55\xFF\x15\xF8\x33\x01\x00" + \
b"\xB8\x01\x00\x00\xC0\x5F\x5E\x5D\x5B\x83\xC4\x08\xC2\x04\x00\x6A" + \
b"\x10\x6A\x00\xFF\x15\xA0\x33\x01\x00\x85\xC0\x74\x18\x8B\x7D\x08" + \
b"\x8D\x4D\x0C\x51\x8D\x5C\x24\x18\x8B\xF0\xE8\xC5\xDD\xFF\xFF\x8B" + \
b"\x7C\x24\x14\xEB\x02\x33\xC0\x8B\x74\x24\x1C\x56\x8B\xD8\xE8\xC1" + \
b"\xE0\xFF\xFF\x85\xFF\x75\x95\x39\x7E\x04\x57\x55\x74\xAC\xFF\x15" + \
b"\xF8\x33\x01\x00\x5F\x5E\x5D\x33\xC0\x5B\x83\xC4\x08\xC2\x04\x00" + \
b"\xCC\xCC\xCC\xCC\x56\x81\xF1"
dbPattern11=b"\x00\x00\x00\x00\x00\x00\x00\x00\xE0\x00\x02\x01\x00\x00\x09\x00" + \
b"\xC0\x04\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00" + \
b"\x60\x02\x00\x00\x20\x07\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00" + \
b"\x20\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00" + \
b"\x00\x00\x00\x00\x20\x08\x00\x00\x60\x02\x00\x00\x00\x00\x00\x00" + \
b"\x02\x00\x00\x80\x00\x00\x10\x00\x00\x10\x00\x00\x00\x00\x10\x00" + \
b"\x00\x10\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x20\x07\x00\x00" + \
b"\x70\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\xC0\x07\x00\x00\x34\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x02\x00\x00" + \
b"\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\xBB\x04\x00\x00\x60\x02\x00\x00\xC0\x04\x00\x00" + \
b"\x60\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x20\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x74\x00\x00\x00" + \
b"\x20\x07\x00\x00\x80\x00\x00\x00\x20\x07\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x40\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x04\x00\x00\x00\xA0\x07\x00\x00\x20\x00\x00\x00" + \
b"\xA0\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x40\x00\x00\xC0\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00" + \
b"\xC0\x07\x00\x00\x60\x00\x00\x00\xC0\x07\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x42\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x6E\x74\x64\x6C\x6C\x2E\x64\x6C\x6C\x00\x00\x00" + \
b"\x00\x00\x00\x00\x48\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\xA0\x07\x00\x00\x90\x07\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x53\x57\xB9\xB8\x02\x00\x00\xE8\x41\x03\x00\x00" + \
b"\x8B\xF8\x8B\x5F\x20\xB9\x52\x06\x00\x00\xC6\x06\x15\xC7\x46\x01" + \
b"\x39\x00\x00\x00\xE8\x28\x03\x00\x00\xB9\x86\x06\x00\x00\x89\x46" + \
b"\x0D\xE8\x1B\x03\x00\x00\x89\x46\x11\x8B\x47\x28\x89\x46\x15\x8B" + \
b"\x47\x18\x89\x46\x19\x8B\x47\x48\xB9\x60\x02\x00\x00\x89\x46\x1D" + \
b"\xE8\xFC\x02\x00\x00\x50\xFF\xD3\x5F\x89\x46\x21\x5B\x85\xC0\x75" + \
b"\x02\x40\xC3\x83\x66\x29\x00\x83\x66\x2D\x00\xC7\x46\x31\x01\x00" + \
b"\x00\x00\x33\xC0\xC3\x55\x8B\xEC\x81\xEC\x84\x00\x00\x00\x8B\x45" + \
b"\x08\x53\x56\x57\x8B\x78\x58\x8B\x47\x71\x8D\x9F\x95\x00\x00\x00" + \
b"\x03\xC3\x89\x45\xFC\x8B\x87\x81\x00\x00\x00\x03\xC3\x89\x45\xF8" + \
b"\xB8\x4D\x5A\x00\x00\x66\x89\x03\x8B\x87\x8D\x00\x00\x00\xC7\x04" + \
b"\x03\x50\x45\x00\x00\x8B\x87\x91\x00\x00\x00\xB9\x0B\x01\x00\x00" + \
b"\x8D\x75\xBC\x66\x89\x0C\x03\xE8\x38\xFF\xFF\xFF\x85\xC0\x75\x5F" + \
b"\x8B\x47\x01\xB9\x50\x03\x00\x00\x89\x5D\xC1\x89\x45\xC5\xE8\x6E" + \
b"\x02\x00\x00\x50\x8B\xC6\x50\xFF\x55\xFC\x59\x59\x85\xC0\x75\x3F" + \
b"\x8D\x75\xBC\xE8\x0C\xFF\xFF\xFF\x85\xC0\x75\x33\x8B\x45\x08\x8B" + \
b"\x48\x60\x8B\x40\x68\x89\x45\xC5\x8D\x85\x7C\xFF\xFF\xFF\x50\x8B" + \
b"\xC6\x50\x89\x4D\xC1\xFF\x55\xFC\x59\x59\x85\xC0\x75\x11\x8D\x85" + \
b"\x7C\xFF\xFF\xFF\x50\xFF\x55\xF8\x59\x85\xC0\x74\x02\xFF\xD0\x5F" + \
b"\x5E\x5B\xC9\xC3\x55\x8B\xEC\x83\xE4\xF8\x83\xEC\x2C\x57\xB9\xB8" + \
b"\x02\x00\x00\xE8\x09\x02\x00\x00\x8B\xF8\x57\xE8\x25\xFF\xFF\xFF" + \
b"\x83\x06\xF9\x8B\x06\x83\x4C\x24\x14\xFF\x89\x44\x24\x1C\x8D\x44" + \
b"\x24\x0C\x50\x8B\xC7\xC7\x44\x24\x10\x0D\xF0\xAB\xAF\xC7\x44\x24" + \
b"\x28\x0C\x00\x00\x00\xC7\x44\x24\x30\x80\x00\x00\x00\xE8\x95\x01" + \
b"\x00\x00\x59\x59\x89\x44\x24\x04\x33\xC9\x8A\x54\x0F\x78\x8B\x06" + \
b"\x88\x14\x01\x41\x83\xF9\x0C\x72\xF1\x83\x7C\x24\x04\x00\x75\x17" + \
b"\x8B\x87\x88\x00\x00\x00\x89\x44\x24\x28\x8D\x44\x24\x08\x50\x8B" + \
b"\xC7\xE8\x61\x01\x00\x00\x59\x5F\x8B\xE5\x5D\xC3\x56\x8D\x74\x24" + \
b"\x04\xE8\x6E\xFF\xFF\xFF\x5E\xC3\x55\x8B\xEC\x81\xEC\x84\x00\x00" + \
b"\x00\x8B\x0D\x58\x03\x00\x00\x53\x56\x57\x8B\x3D\x10\x03\x00\x00" + \
b"\x8B\x47\x3D\x8B\x5F\x2D\x03\xC1\x89\x45\xF8\x8B\x47\x45\x03\xC1" + \
b"\x8D\x75\xBC\x03\xD9\x89\x45\xFC\xE8\x07\xFE\xFF\xFF\x85\xC0\x75" + \
b"\x64\x8B\x75\x08\x8B\x46\x08\x89\x45\xC1\x8B\x46\x10\x89\x45\xC5" + \
b"\x8D\x85\x7C\xFF\xFF\xFF\x50\x8D\x45\xBC\x50\xFF\xD3\x59\x59\x85" + \
b"\xC0\x75\x42\x8D\x85\x7C\xFF\xFF\xFF\x50\xFF\x55\xF8\x59\x85\xC0" + \
b"\x74\x33\x6A\x00\x6A\x01\xFF\x75\x84\xFF\xD0\x85\xC0\x74\x26\x0F" + \
b"\xB7\x46\x18\x50\x8D\x85\x7C\xFF\xFF\xFF\x50\xFF\x55\xFC\x59\x59" + \
b"\x85\xC0\x74\x11\xFF\x35\x48\x03\x00\x00\x68\x50\x03\x00\x00\x57" + \
b"\xFF\xD0\x83\xC4\x0C\x5F\x5E\x5B\xC9\xC3\x56\x8B\x35\x28\x03\x00" + \
b"\x00\x85\xF6\x74\x4F\x53\x57\x80\x7E\x20\x00\x74\x09\x56\xE8\x45" + \
b"\xFF\xFF\xFF\x59\xEB\x36\xFF\x76\x08\xA1\xE8\x02\x00\x00\x8B\x3D" + \
b"\xD0\x02\x00\x00\x0F\xB7\x5E\x18\xFF\xD0\x85\xC0\x74\x1E\x53\x50" + \
b"\xFF\xD7\x85\xC0\x74\x16\xFF\x35\x48\x03\x00\x00\x68\x50\x03\x00" + \
b"\x00\xFF\x35\x10\x03\x00\x00\xFF\xD0\x83\xC4\x0C\x8B\x36\x85\xF6" + \
b"\x75\xB5\x5F\x5B\x5E\xC3\x56\x57\xB9\xB8\x02\x00\x00\xE8\x7F\x00" + \
b"\x00\x00\x8B\x78\x08\x6A\x40\xBE\x00\x30\x00\x00\x56\xFF\x74\x24" + \
b"\x18\xFF\x74\x24\x18\xFF\xD7\x85\xC0\x75\x0A\x6A\x40\x56\xFF\x74" + \
b"\x24\x18\x50\xFF\xD7\x5F\x5E\xC2\x08\x00\xB9\xB8\x02\x00\x00\xE8" + \
b"\x4D\x00\x00\x00\x8B\x40\x10\x68\x00\x80\x00\x00\x6A\x00\xFF\x74" + \
b"\x24\x0C\xFF\xD0\xC2\x04\x00\x55\x8B\xEC\x51\x8B\x48\x50\x83\x65" + \
b"\xFC\x00\x6A\x00\x8D\x55\xFC\x52\x6A\x28\xFF\x75\x08\x6A\x28\xFF" + \
b"\x75\x08\x68\x00\x38\x22\x00\xFF\xB0\x90\x00\x00\x00\xFF\xD1\x85" + \
b"\xC0\x75\x03\x40\xC9\xC3\x33\xC0\x83\x7D\xFC\x28\x0F\x95\xC0\xC9" + \
b"\xC3\xE8\x00\x00\x00\x00\x58\x8D\x15\xE2\x06\x00\x00\x2B\xC2\x03" + \
b"\xC1\xC3\xCC\xCC\x8B\x64\x24\x08\xEB\x00\x64\x8F\x05\x00\x00\x00" + \
b"\x00\x58\x61\xC3\x60\x68\xF0\x06\x00\x00\x64\xFF\x35\x00\x00\x00" + \
b"\x00\x64\x89\x25\x00\x00\x00\x00\xE8\xDD\xFE\xFF\xFF\xEB\xDB\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00"
dbPattern12=b"\x00\x00\x01\x00\x00\x04\x00\x00\x10\x00\x00\x10\x00\x00\x00\x00" + \
b"\x10\x00\x00\x10\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x60\x10" + \
b"\x00\x00\x78\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x4E\x0E\x00\x00\x10\x02\x00\x00\x50\x0E" + \
b"\x00\x00\x10\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + \
b"\x00\x00\x20\x00\x00\x60\x00\x00\x00\x00\x00\x00\x00\x00\x78\x02" + \
b"\x00\x00\x60\x10\x00\x00\x80\x02\x00\x00\x60\x10\x00\x00\x00\x00" + \
b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x40\xFF\x70" + \
b"\x20\xFF\x70\x18\x68\x00\x00\x00\x00\xE8\x00\x00\x00\x00\xFF\xF8" + \
b"\xFF\xFF\xF8\xFF\xFF\x00\x00\x00\x00\xFF\x00\x00\x00\x00\x56\x8B" + \
b"\x74\x24\x08\x80\x3E\x15\x75\x24\x83\x7E\x01\x39\x75\x1E\xFF\x74" + \
b"\x24\x0C\x56\xE8\x19\x00\x00\x00\x59\x59\x85\xC0\x75\x11\xFF\x74" + \
b"\x24\x0C\x56\xE8\x58\x00\x00\x00\x59\x59\x5E\xC3\x6A\x05\x58\x5E" + \
b"\xC3\x56\x8B\x74\x24\x08\x80\x3E\x15\x57\x75\x3E\x83\x7E\x01\x39" + \
b"\x75\x38\x8B\x7C\x24\x10\x6A\x3E\x6A\x00\x57\xE8\xC3\x0A\x00\x00" + \
b"\x83\xC4\x0C\xE8\xCA\x00\x00\x00\x8B\xF0\x85\xF6\x75\x0D\x57\xE8" + \
b"\xDF\x03\x00\x00\x8B\xF0\x59\x85" + \
b"\xF6\x74\x0B\x57\xE8\x71\x00\x00" + \
b"\x00\x59\x8B\xC6\xEB\x07\x33\xC0" + \
b"\xEB\x03\x6A\x05\x58\x5F\x5E\xC3" + \
b"\x53\x56\x57\x8B\x7C\x24\x10\x80" + \
b"\x3F\x15\x75\x4F\x83\x7F\x01\x39" + \
b"\x75\x49\x8B\x5C\x24\x14\x53\x8B" + \
b"\xC7\xE8\x79\x02\x00\x00\x8B\xF0" + \
b"\x59\x85\xF6\x75\x27\x8D\x73\x2E" + \
b"\x56\x57\xE8\xD3\x0C\x00\x00\x59" + \
b"\x59\x85\xC0\x74\x05\x33\xF6\x46" + \
b"\xEB\x12\x83\x3E\x00\x74\x18\x57" + \
b"\xE8\x0D\x0D\x00\x00\x8B\xF0\x59" + \
b"\x85\xF6\x74\x0B\x53\xE8\x10\x00" + \
b"\x00\x00\x59\x8B\xC6\xEB\x07\x33" + \
b"\xC0\xEB\x03\x6A\x05\x58\x5F\x5E" + \
b"\x5B\xC3\x56\x8B\x74\x24\x08\x83" + \
b"\x7E\x22\x00\x74\x0F\x83\x7E\x2E" + \
b"\x00\x74\x09\xFF\x76\x08\xFF\x76" + \
b"\x32\xFF\x56\x3A\x83\x7E\x1E\x00" + \
b"\x74\x06\xFF\x76\x08\xFF\x56\x26" + \
b"\x5E\xC3\x8B\x4C\x24\x04\x8B\x41" + \
b"\x0C\x8B\x40\x28\x03\x41\x08\xC3" + \
b"\xE9\xC3\x06\x00\x00\xE9\x61\x07" + \
b"\x00\x00\x55\x8B\xEC\x83\xEC\x24" + \
b"\x6A\x00\xFF\x76\x05\x8D\x45\xDC" + \
b"\x50\xE8\x43\x04\x00\x00\x83\xC4" + \
b"\x0C\x85\xC0\x74\x05\x6A\x02\x58" + \
b"\xC9\xC3\xFF\x76\x09\x8D\x45\xDC" + \
b"\xE8\x77\x00\x00\x00\x59\x85\xC0" + \
b"\x75\xEB\x53\x8B\x5D\xE8\xFF\x75" + \
b"\xF6\x8B\x43\x34\x50\xFF\x56\x0D" + \
b"\x89\x45\xFC\x85\xC0\x75\x04\x6A" + \
b"\x03\xEB\x44\xFF\x75\xF6\x8B\x4E" + \
b"\x11\x6A\x00\x89\x4F\x26\xC7\x47" + \
b"\x1E\x01\x00\x00\x00\x8B\x5B\x54" + \
b"\x50\xE8\x8D\x09\x00\x00\x8B\x46" + \
b"\x05\x8B\x4D\xFC\x83\xC4\x0C\xEB" + \
b"\x07\x8A\x10\x4B\x88\x11\x41\x40" + \
b"\x85\xDB\x75\xF5\x53\xFF\x75\xFC" + \
b"\x57\xE8\xD3\x03\x00\x00\x83\xC4" + \
b"\x0C\x85\xC0\x74\x05\x6A\x02\x58" + \
b"\xEB\x0F\xFF\x75\xFC\x8B\xC7\x56" + \
b"\xE8\x83\x00\x00\x00\x59\x59\x33" + \
b"\xC0\x5B\xC9\xC3\x55\x8B\xEC\x51" + \
b"\x83\x65\xFC\x00\x83\x38\x00\x56" + \
b"\x8B\x70\x14\x57\x0F\xB7\x78\x18" + \
b"\x74\x05\x6A\x02\x58\xEB\x58\x8B" + \
b"\x48\x0C\x8B\x55\x08\x39\x51\x54" + \
b"\x77\xF0\x53\x8B\x58\x1A\x33\xD2" + \
b"\x8B\xC3\xF7\x71\x38\x85\xD2\x75" + \
b"\x42\x33\xC0\x66\x3B\x41\x06\x74" + \
b"\x3A\x0F\xB7\xFF\x85\xFF\x76\x2C" + \
b"\x8D\x46\x10\x8B\x08\x8B\x50\xF8" + \
b"\x3B\xCA\x72\x02\x8B\xCA\x8B\x70" + \
b"\x04\x03\xF1\x3B\x75\x08\x77\x1B" + \
b"\x8B\x48\xFC\x03\xCA\x3B\xCB\x77" + \
b"\x12\x83\xC0\x28\xFF\x45\xFC\x39" + \
b"\x7D\xFC\x72\xD7\x33\xC0\x5B\x5F" + \
b"\x5E\xC9\xC3\x6A\x02\x58\xEB\xF6" + \
b"\x8B\x48\x14\x0F\xB7\x40\x18\x85" + \
b"\xC0\x76\x3E\x53\x56\x57\x8D\x71" + \
b"\x08\x8B\xD8\x8B\x46\x08\x8B\x16" + \
b"\x3B\xC2\x73\x02\x8B\xD0\x8B\x44" + \
b"\x24\x10\x8B\x4E\x0C\x03\x48\x05" + \
b"\x8B\x46\x04\x03\x44\x24\x14\x8B" + \
b"\xFA\x85\xD2\x74\x0B\x8A\x11\x4F" + \
b"\x88\x10\x40\x41\x85\xFF\x75\xF5" + \
b"\x83\xC6\x28\x4B\x75\xCD\x5F\x5E" + \
b"\x5B\xC3\x55\x8B\xEC\x83\xEC\x0C" + \
b"\x8B\x48\x2D\x53\x56\x57\x33\xFF" + \
b"\x89\x4D\xF8\x85\xC9\x76\x5A\x8B" + \
b"\x40\x29\x89\x45\xF4\x89\x45\xFC" + \
b"\x8B\x45\xFC\x8B\x10\x8B\x45\x08" + \
b"\xE8\x8C\x08\x00\x00\x85\xC0\x75" + \
b"\x36\x8B\x45\xFC\x8B\x48\x04\x8A" + \
b"\x11\x8B\x75\x0C\x0F\xB6\x06\x0F" + \
b"\xB6\xDA\x2B\xC3\x75\x14\x2B\xF1" + \
b"\x84\xD2\x74\x0E\x41\x8A\x11\x0F" + \
b"\xB6\x04\x0E\x0F\xB6\xDA\x2B\xC3" + \
b"\x74\xEE\x85\xC0\x7C\x09\x7E\x03" + \
b"\x33\xC0\x40\x85\xC0\x74\x17\x83" + \
b"\x45\xFC\x0C\x47\x3B\x7D\xF8\x72" + \
b"\xAF\x8B\x45\x10\x83\x20\x00\x5F" + \
b"\x5E\x33\xC0\x5B\xC9\xC3\x8B\x45" + \
b"\xF4\x6B\xFF\x0C\x8B\x44\x07\x08" + \
b"\x8B\x4D\x10\x89\x01\xEB\xE8\x55" + \
b"\x8B\xEC\x83\xEC\x10\x53\x8B\xD8" + \
b"\x8D\x45\xF0\x50\x8D\x45\xF8\x50" + \
b"\x6A\x01\xFF\x75\x08\xE8\x2A\x04" + \
b"\x00\x00\x83\xC4\x10\x83\xF8\x02" + \
b"\x75\x07\x33\xC0\xE9\xA6\x00\x00" + \
b"\x00\x85\xC0\x74\x08\x6A\x02\x58" + \
b"\xE9\x9A\x00\x00\x00\x8B\x45\xF8" + \
b"\x83\xC0\x10\x83\x38\x00\x56\x57" + \
b"\x0F\x84\x85\x00\x00\x00\x8B\xF8" + \
b"\x89\x45\xF8\x8B\x47\xFC\x33\xF6" + \
b"\x3B\xC6\x75\x05\x89\x75\xFC\xEB" + \
b"\x0E\x50\xFF\x75\x08\xE8\xC5\x03" + \
b"\x00\x00\x59\x59\x89\x45\xFC\x8B" + \
b"\x07\x3B\xC6\x74\x0D\x50\xFF\x75" + \
b"\x08\xE8\xB1\x03\x00\x00\x59\x59" + \
b"\x8B\xF0\x83\x7D\xFC\x00\x74\x52" + \
b"\x85\xF6\x74\x4E\xFF\x75\xFC\xFF" + \
b"\x53\x15\x89\x45\xF4\x85\xC0\x74" + \
b"\x41\x83\x3E\x00\x74\x2A\xFF\x75" + \
b"\xF4\x8D\x7D\xF0\xFF\x75\xFC\x8B" + \
b"\xC6\xFF\x75\x08\xE8\x2E\x00\x00" + \
b"\x00\x83\xC4\x0C\x85\xC0\x75\x22" + \
b"\x8B\x45\xF0\x89\x06\x83\xC6\x04" + \
b"\x83\x3E\x00\x75\xD9\x8B\x7D\xF8" + \
b"\x83\xC7\x14\x83\x3F\x00\x89\x7D" + \
b"\xF8\x75\x80\x33\xC0\x5F\x5E\x5B" + \
b"\xC9\xC3\x6A\x04\x58\xEB\xF6\x8B" + \
b"\x00\x56\x85\xC0\x79\x07\x25\xFF" + \
b"\xFF\x00\x00\xEB\x34\x74\x10\x50" + \
b"\xFF\x74\x24\x0C\xE8\x36\x03\x00" + \
b"\x00\x59\x59\x85\xC0\x75\x05\x6A" + \
b"\x04\x58\x5E\xC3\x8D\x70\x02\x57" + \
b"\x56\xFF\x74\x24\x14\x8B\xC3\xE8" + \
b"\x66\xFE\xFF\xFF\x83\xC4\x0C\x85" + \
b"\xC0\x75\x16\x39\x07\x75\x10\x8B" + \
b"\xC6\x50\xFF\x74\x24\x14\xFF\x53" + \
b"\x19\x89\x07\x85\xC0\x74\xD0\x33" + \
b"\xC0\x5E\xC3\x55\x8B\xEC\x83\xEC" + \
b"\x10\x57\x8B\x7D\x08\x8B\x4F\x0C" + \
b"\x8B\x47\x08\x2B\x41\x34\x89\x45" + \
b"\xF4\x75\x07\x33\xC0\xE9\xB3\x00" + \
b"\x00\x00\x8D\x45\xF8\x50\x8D\x45" + \
b"\xFC\x50\x6A\x05\x57\xE8\xEA\x02" + \
b"\x00\x00\x83\xC4\x10\x83\xF8\x02" + \
b"\x74\xE1\x85\xC0\x74\x08\x6A\x02" + \
b"\x58\xE9\x8F\x00\x00\x00\x8B\x45" + \
b"\xF8\x53\x56\x8B\x75\xFC\x03\xC6" + \
b"\x8D\x5E\x08\x89\x45\xF0\x3B\xD8" + \
b"\x77\x77\x8B\x46\x04\x85\xC0\x74" + \
b"\x70\x83\xF8\x08\x72\x72\x8B\x4F" + \
b"\x1A\x03\x4F\x08\x8D\x14\x30\x3B" + \
b"\xD1\x77\x65\x83\xC0\xF8\xA8\x01" + \
b"\x75\x5E\xD1\xE8\x89\x45\xF8\xC7" + \
b"\x45\xFC\x00\x00\x00\x00\x74\x3E" + \
b"\x8B\x45\xFC\x0F\xB7\x3C\x43\x8B" + \
b"\xC7\x25\xFF\x0F\x00\x00\x03\x06" + \
b"\x50\xFF\x75\x08\xE8\x5E\x02\x00" + \
b"\x00\x59\x59\x85\xC0\x74\x31\xC1" + \
b"\xEF\x0C\x85\xFF\x74\x0A\x83\xFF" + \
b"\x03\x75\x25\x8B\x4D\xF4\x01\x08" + \
b"\xFF\x45\xFC\x8B\x45\xFC\x3B\x45" + \
b"\xF8\x72\xC5\x8B\x7D\x08\x03\x76" + \
b"\x04\x8D\x5E\x08\x3B\x5D\xF0\x76" + \
b"\x89\x33\xC0\x5E\x5B\x5F\xC9\xC3" + \
b"\x6A\x02\x58\xEB\xF6\xE8\x00\x00" + \
b"\x00\x00\x58\x8D\x15\x54\x07\x40" + \
b"\x00\x2B\xC2\x03\xC1\xC3\x8B\x44" + \
b"\x24\x08\x8B\x4C\x24\x0C\x53\x56" + \
b"\x8B\xF0\x81\xE6\x00\xF0\xFF\xFF" + \
b"\x57\x3B\xC1\x73\x02\x8B\xC8\x2B" + \
b"\xC1\x8B\xD8\xEB\x1D\x8B\x7C\x24" + \
b"\x10\x6A\x01\xFF\x74\x24\x20\x56" + \
b"\xE8\xEE\x00\x00\x00\x83\xC4\x0C" + \
b"\x85\xC0\x74\x11\x81\xEE\x00\x10" + \
b"\x00\x00\x3B\xF3\x77\xDF\x33\xC0" + \
b"\x40\x5F\x5E\x5B\xC3\x33\xC0\xEB" + \
b"\xF8\x56\x8B\x74\x24\x0C\xB8\x4D" + \
b"\x5A\x00\x00\x66\x39\x06\x74\x05" + \
b"\x33\xC0\x40\x5E\xC3\x8B\x46\x3C" + \
b"\x03\xC6\x8B\x08\x81\xF1\x84\xF2" + \
b"\x50\xF7\x81\xF9\xD4\xB7\x50\xF7" + \
b"\x75\xE6\x0F\xB7\x48\x04\x53\x57" + \
b"\x8B\xF9\xBA\x03\x58\x00\x00\x81" + \
b"\xF7\x4F\x59\x00\x00\x8B\xDA\x66" + \
b"\x3B\xDF\x75\x25\xB9\x08\x59\x00" + \
b"\x00\x66\x33\x48\x18\x66\x3B\xCA" + \
b"\x75\x7A\xB9\xE0\x00\x00\x00\x66" + \
b"\x39\x48\x14\x75\x6F\x8B\x4C\x24" + \
b"\x10\x83\x21\x00\x8D\x50\x78\xEB" + \
b"\x36\x81\xF1\x67\xDE\x00\x00\x8B" + \
b"\xFA\x66\x3B\xF9\x75\x56\xB9\x08" + \
b"\x5A\x00\x00\x66\x33\x48\x18\x66" + \
b"\x3B\xCA\x75\x48\xB9\xF0\x00\x00" + \
b"\x00\x66\x39\x48\x14\x75\x3D\x8B" + \
b"\x4C\x24\x10\xC7\x01\x01\x00\x00" + \
b"\x00\x8D\x90\x88\x00\x00\x00\x89" + \
b"\x51\x10\x8B\x50\x50\x89\x51\x1A" + \
b"\x0F\xB7\x50\x14\x8D\x54\x02\x18" + \
b"\x89\x51\x14\x66\x8B\x50\x06\x89" + \
b"\x41\x0C\x8B\x44\x24\x18\x89\x41" + \
b"\x04\x66\x89\x51\x18\x89\x71\x08" + \
b"\x33\xC0\xEB\x03\x33\xC0\x40\x5F" + \
b"\x5B\x5E\xC3\x55\x8B\xEC\x83\x7D" + \
b"\x0C\x00\x53\x8B\x5D\x08\x74\x11" + \
b"\x53\xFF\x55\x0C\x59\x85\xC0\x75" + \
b"\x08\x33\xC0\x40\xE9\xD3\x00\x00" + \
b"\x00\xB8\x4D\x5A\x00\x00\x66\x39" + \
b"\x03\x75\xEE\x56\x8B\x73\x3C\x03" + \
b"\xF3\x83\x7D\x0C\x00\x74\x0D\x56" + \
b"\xFF\x55\x0C\x59\x85\xC0\x0F\x84" + \
b"\xAC\x00\x00\x00\x8B\x06\x35\x84" + \
b"\xF2\x50\xF7\x3D\xD4\xB7\x50\xF7" + \
b"\x0F\x85\x9A\x00\x00\x00\x0F\xB7" + \
b"\x4E\x04\x8B\xD1\xB8\x03\x58\x00" + \
b"\x00\x81\xF2\x4F\x59\x00\x00\x8B" + \
b"\xD8\x66\x3B\xDA\x75\x21\xB9\x08" + \
b"\x59\x00\x00\x66\x33\x4E\x18\x66" + \
b"\x3B\xC8\x75\x74\xB8\xE0\x00\x00" + \
b"\x00\x66\x39\x46\x14\x75\x69\x83" + \
b"\x27\x00\x8D\x46\x78\xEB\x32\x81" + \
b"\xF1\x67\xDE\x00\x00\x8B\xD0\x66" + \
b"\x3B\xD1\x75\x54\xB9\x08\x5A\x00" + \
b"\x00\x66\x33\x4E\x18\x66\x3B\xC8" + \
b"\x75\x46\xB8\xF0\x00\x00\x00\x66" + \
b"\x39\x46\x14\x75\x3B\xC7\x07\x01" + \
b"\x00\x00\x00\x8D\x86\x88\x00\x00" + \
b"\x00\x89\x47\x10\x8B\x46\x50\x89" + \
b"\x47\x1A\x0F\xB7\x46\x14\x8D\x44" + \
b"\x30\x18\x89\x47\x14\x66\x8B\x46" + \
b"\x06\x66\x89\x47\x18\x8B\x45\x08" + \
b"\x89\x47\x08\x8B\x45\x10\x89\x47" + \
b"\x04\x89\x77\x0C\x33\xC0\xEB\x03" + \
b"\x33\xC0\x40\x5E\x5B\x5D\xC3\x53" + \
b"\x8B\x5C\x24\x0C\x56\x8B\x74\x24" + \
b"\x0C\x8B\xC6\xE8\x6B\x02\x00\x00" + \
b"\x85\xC0\x74\x05\x8B\x46\x08\x03" + \
b"\xC3\x5E\x5B\xC3\x8B\x4C\x24\x04" + \
b"\x8B\x44\x24\x08\x8B\x51\x10\x56" + \
b"\x8D\x34\xC2\x83\xF8\x10\x72\x05" + \
b"\x33\xC0\x40\x5E\xC3\x8B\x06\x85" + \
b"\xC0\x75\x09\x39\x46\x04\x5E\x0F" + \
b"\x94\xC0\x40\xC3\x8B\x56\x04\x03" + \
b"\xD0\x3B\x51\x1A\x77\xE2\x50\x51" + \
b"\xE8\xAA\xFF\xFF\xFF\x8B\x54\x24" + \
b"\x1C\x59\x59\x8B\x4C\x24\x10\x89" + \
b"\x01\x8B\x46\x04\x89\x02\x33\xC0" + \
b"\x39\x01\x5E\x0F\x94\xC0\xC3\x8B" + \
b"\x54\x24\x04\x8A\x0A\x33\xC0\x84" + \
b"\xC9\x74\x24\x56\x0F\xBE\xC9\x8B" + \
b"\xF1\x6B\xF6\x11\x83\xC6\x0C\x0F" + \
b"\xAF\xF1\x8B\xC8\x6B\xC9\x07\x41" + \
b"\x0F\xAF\xC8\x03\xF1\x42\x8A\x0A" + \
b"\x8B\xC6\x84\xC9\x75\xDE\x5E\xC3" + \
b"\x55\x8B\xEC\x83\xEC\x0C\x56\x8D" + \
b"\x45\xF4\x50\x8D\x45\xFC\x50\x33" + \
b"\xF6\x56\xFF\x75\x08\xE8\x62\xFF" + \
b"\xFF\xFF\x83\xC4\x10\x85\xC0\x74" + \
b"\x04\x33\xC0\xEB\x61\x57\x8B\x7D" + \
b"\xFC\xFF\x77\x20\xFF\x75\x08\xE8" + \
b"\x2B\xFF\xFF\xFF\x59\x59\x89\x45" + \
b"\xFC\x3B\xC6\x74\x14\xFF\x77\x24" + \
b"\xFF\x75\x08\xE8\x17\xFF\xFF\xFF" + \
b"\x59\x59\x89\x45\xF8\x3B\xC6\x75" + \
b"\x04\x33\xC0\xEB\x30\x53\x8B\x5F" + \
b"\x18\x85\xDB\x76\x25\x8B\x45\xFC" + \
b"\xFF\x34\xB0\xFF\x75\x08\xE8\xF4" + \
b"\xFE\xFF\xFF\x59\x59\x85\xC0\x74" + \
b"\x11\x50\xE8\x58\xFF\xFF\xFF\x59" + \
b"\x3B\x45\x0C\x74\x0C\x46\x3B\xF3" + \
b"\x72\xDB\x33\xC0\x5B\x5F\x5E\xC9" + \
b"\xC3\x8B\x45\xF8\x0F\xB7\x04\x70" + \
b"\x50\xFF\x75\xF4\x8B\xC7\xFF\x75" + \
b"\x08\xE8\x4E\x00\x00\x00\x83\xC4" + \
b"\x0C\xEB\xE1\x55\x8B\xEC\x51\x51" + \
b"\x8D\x45\xF8\x50\x8D\x45\xFC\x50" + \
b"\x6A\x00\xFF\x75\x08\xE8\xC2\xFE" + \
b"\xFF\xFF\x83\xC4\x10\x85\xC0\x74" + \
b"\x04\x33\xC0\xC9\xC3\x66\x8B\x4D" + \
b"\x0C\x8B\x45\xFC\x0F\xB7\xD1\x3B" + \
b"\x50\x10\x72\xED\x66\x2B\x48\x10" + \
b"\x0F\xB7\xC9\x51\xFF\x75\xF8\xFF" + \
b"\x75\x08\xE8\x05\x00\x00\x00\x83" + \
b"\xC4\x0C\xC9\xC3\x56\x8B\xF0\xFF" + \
b"\x76\x1C\xFF\x74\x24\x0C\xE8\x64" + \
b"\xFE\xFF\xFF\x59\x59\x85\xC0\x74" + \
b"\x2F\x0F\xB7\x4C\x24\x10\x3B\x4E" + \
b"\x14\x73\x25\x8B\x04\x88\x85\xC0" + \
b"\x74\x1E\x50\xFF\x74\x24\x0C\xE8" + \
b"\x43\xFE\xFF\xFF\x59\x59\x85\xC0" + \
b"\x74\x0E\x3B\xC6\x72\x0C\x8B\x4C" + \
b"\x24\x0C\x03\xF1\x3B\xC6\x73\x02" + \
b"\x33\xC0\x5E\xC3\x55\x8B\xEC\x8B" + \
b"\x45\x08\x8B\x50\x14\x56\x57\x0F" + \
b"\xB7\x78\x18\x33\xC0\x33\xF6\x66" + \
b"\x3B\xC7\x73\x23\x0F\xB7\xC6\x6B" + \
b"\xC0\x28\x8B\x0C\x10\x23\x4D\x14" + \
b"\x8B\x44\x10\x04\x23\x45\x18\x3B" + \
b"\x4D\x0C\x75\x05\x3B\x45\x10\x74" + \
b"\x0C\x46\x66\x3B\xF7\x72\xDD\x33" + \
b"\xC0\x5F\x5E\x5D\xC3\x0F\xB7\xC6" + \
b"\x6B\xC0\x28\x03\xC2\xEB\xF2\x55" + \
b"\x8B\xEC\x8B\x45\x08\x53\x0F\xB7" + \
b"\x58\x18\x56\x8B\x70\x14\x57\x33" + \
b"\xC9\x33\xFF\x66\x3B\xCB\x73\x32" + \
b"\x8B\x40\x08\x89\x45\x08\x0F\xB7" + \
b"\xC7\x6B\xC0\x28\x03\xC6\x8B\x48" + \
b"\x08\x8B\x50\x10\x3B\xCA\x72\x02" + \
b"\x8B\xCA\x8B\x40\x0C\x03\x45\x08" + \
b"\x39\x45\x0C\x72\x07\x03\xC1\x39" + \
b"\x45\x0C\x72\x0D\x47\x66\x3B\xFB" + \
b"\x72\xD4\x33\xC0\x5F\x5E\x5B\x5D" + \
b"\xC3\x0F\xB7\xC7\x6B\xC0\x28\x03" + \
b"\xC6\xEB\xF1\x55\x8B\xEC\x51\x0F" + \
b"\xB7\x48\x18\x56\x8B\x70\x14\x89" + \
b"\x4D\xFC\x3B\x58\x1A\x72\x04\x33" + \
b"\xC0\xEB\x5B\x57\x33\xFF\x39\x78" + \
b"\x04\x75\x05\x33\xC0\x40\xEB\x4D" + \
b"\x33\xC0\x66\x3B\xC1\x73\x44\x0F" + \
b"\xB7\xC7\x6B\xC0\x28\x03\xC6\x8B" + \
b"\x48\x08\x8B\x50\x10\x3B\xCA\x72" + \
b"\x02\x8B\xCA\x8B\x40\x0C\x3B\xD8" + \
b"\x72\x06\x03\xC1\x3B\xD8\x72\x09" + \
b"\x47\x66\x3B\x7D\xFC\x72\xD8\xEB" + \
b"\x1A\x0F\xB7\xC7\x6B\xC0\x28\x8B" + \
b"\x74\x30\x24\xF7\xC6\x00\x00\x00" + \
b"\x02\x75\x08\xF7\xC6\x00\x00\x00" + \
b"\x40\x75\xB0\x33\xC0\x5F\x5E\xC9" + \
b"\xC3\x55\x8B\xEC\x51\x51\x8D\x45" + \
b"\xF8\x50\x8D\x45\xFC\x50\x6A\x00" + \
b"\xFF\x75\x08\xE8\x14\xFD\xFF\xFF" + \
b"\x83\xC4\x10\x85\xC0\x74\x05\x83" + \
b"\xC8\xFF\xC9\xC3\x8B\x45\xFC\xFF" + \
b"\x70\x0C\xFF\x75\x08\xE8\xDD\xFC" + \
b"\xFF\xFF\x59\x59\x85\xC0\x74\xE7" + \
b"\x8B\x55\x0C\xE8\xD1\x00\x00\x00" + \
b"\xC9\xC3\x55\x8B\xEC\x51\x51\x56" + \
b"\x57\x8D\x79\x04\x8D\x4C\x01\xF3" + \
b"\x8D\x70\xFC\x89\x4D\xFC\x83\xF8" + \
b"\x0D\x73\x04\x33\xC0\xEB\x4F\x53" + \
b"\x3B\xF9\x77\x47\x8D\x44\x3E\xFC" + \
b"\x8B\xDF\x3B\xF8\x77\x0C\x8B\x0B" + \
b"\x3B\x4D\x08\x74\x07\x43\x3B\xD8" + \
b"\x76\xF4\x33\xDB\x85\xDB\x74\x2B" + \
b"\x8D\x4B\xFC\x89\x4D\xF8\x3B\x4D" + \
b"\xFC\x77\x20\x8B\x45\x10\x8B\x55" + \
b"\x0C\x6A\x0D\xE8\x1F\x00\x00\x00" + \
b"\x59\x85\xC0\x75\x15\x2B\xFB\x8D" + \
b"\x74\x3E\xFF\x8D\x7B\x01\x3B\x7D" + \
b"\xFC\x76\xB9\x33\xC0\x5B\x5F\x5E" + \
b"\xC9\xC3\x8B\x45\xF8\xEB\xF6\x56" + \
b"\x57\x33\xFF\x39\x7C\x24\x0C\x76" + \
b"\x18\x8B\xF2\x2B\xC8\x2B\xF0\x8A" + \
b"\x14\x01\x22\x10\x3A\x14\x06\x75" + \
b"\x0E\x47\x40\x3B\x7C\x24\x0C\x72" + \
b"\xEE\x33\xC0\x40\x5F\x5E\xC3\x33" + \
b"\xC0\xEB\xF9\x55\x8B\xEC\x51\x8B" + \
b"\x45\x08\x89\x45\xFC\x8B\x45\x10" + \
b"\x8B\x4D\x10\x49\x89\x4D\x10\x85" + \
b"\xC0\x74\x11\x8B\x45\x08\x8A\x4D" + \
b"\x0C\x88\x08\x8B\x45\x08\x40\x89" + \
b"\x45\x08\xEB\xE1\x8B\x45\xFC\xC9" + \
b"\xC3\x56\x57\x8B\xF0\x0F\xB6\x06" + \
b"\x8D\x48\xBF\x46\x83\xF9\x19\x77" + \
b"\x03\x83\xC0\x20\x0F\xB6\x0A\x8D" + \
b"\x79\xBF\x42\x83\xFF\x19\x77\x03" + \
b"\x83\xC1\x20\x85\xC0\x74\x04\x3B" + \
b"\xC1\x74\xDA\x5F\x2B\xC1\x5E\xC3" + \
b"\x55\x8B\xEC\x8B\x45\x08\x83\xEC" + \
b"\x20\x6A\x01\xFF\x70\x21\x8D\x45" + \
b"\xE0\x50\xE8\xF2\xF9\xFF\xFF\x83" + \
b"\xC4\x0C\x85\xC0\x74\x05\x33\xC0" + \
b"\x40\xC9\xC3\x83\x7D\xE0\x00\x75" + \
b"\xF5\x53\x56\x6A\x0C\x6A\x00\x57" + \
b"\xE8\x6E\xFF\xFF\xFF\x8B\x75\xEC" + \
b"\x0F\xB7\x46\x14\x83\xC4\x0C\xB9" + \
b"\xA2\x0E\x40\x00\x8D\x5C\x30\x18" + \
b"\xE8\x60\xF9\xFF\xFF\x50\x0F\xB7" + \
b"\x46\x06\x50\x57\xFF\x75\x08\x8B" + \
b"\xC3\xE8\x41\x00\x00\x00\x83\xC4" + \
b"\x10\x85\xC0\x75\x33\x39\x07\x74" + \
b"\x2F\x39\x47\x04\x74\x2A\xB9\x30" + \
b"\x0F\x40\x00\xE8\x35\xF9\xFF\xFF" + \
b"\x50\x0F\xB7\x46\x06\x50\x57\xFF" + \
b"\x75\x08\x8B\xC3\xE8\x16\x00\x00" + \
b"\x00\x83\xC4\x10\x85\xC0\x75\x08" + \
b"\x39\x47\x08\x0F\x94\xC0\xEB\x03" + \
b"\x33\xC0\x40\x5E\x5B\xC9\xC3\x55" + \
b"\x8B\xEC\x53\x33\xDB\x56\x57\x39" + \
b"\x5D\x10\x76\x48\x8B\xF0\x83\xC6" + \
b"\x08\xBF\x20\x00\x00\x60\x8B\x46" + \
b"\x1C\x8B\xC8\x23\xCF\x3B\xCF\x75" + \
b"\x2A\xA9\x00\x00\x00\x02\x75\x23" + \
b"\x8B\x06\x8B\x4E\x08\x3B\xC1\x72" + \
b"\x02\x8B\xC1\xFF\x75\x0C\x8B\x4D" + \
b"\x08\x50\x8B\x46\x04\x03\x41\x21" + \
b"\x50\xFF\x55\x14\x83\xC4\x0C\x85" + \
b"\xC0\x75\x10\x43\x83\xC6\x28\x3B" + \
b"\x5D\x10\x72\xC2\x33\xC0\x5F\x5E" + \
b"\x5B\x5D\xC3\x33\xC0\x40\xEB\xF6" + \
b"\x55\x8B\xEC\x8B\x45\x08\x8B\x4D" + \
b"\x0C\x53\x8D\x4C\x08\xF0\x56\x57" + \
b"\x89\x4D\x08\x3B\xC1\x77\x70\x8B" + \
b"\x7D\x10\x8D\x70\x01\xB9\x20\x02" + \
b"\x40\x00\xE8\x86\xF8\xFF\xFF\x6A" + \
b"\x10\xB9\x10\x02\x40\x00\x8B\xD8" + \
b"\xE8\x78\xF8\xFF\xFF\x8B\xD0\x8B" + \
b"\xC3\x8D\x5E\xFF\x8B\xCB\xE8\x34" + \
b"\xFE\xFF\xFF\x59\x85\xC0\x74\x36" + \
b"\x8A\x06\x3A\x46\x03\x75\x2F\x3C" + \
b"\x74\x74\x2B\x8B\x4F\x04\x8B\x46" + \
b"\x0B\x8D\x44\x18\x10\x85\xC9\x74" + \
b"\x09\x3B\xC8\x74\x08\x33\xC0\x40" + \
b"\xEB\x1F\x89\x47\x04\x8B\x0F\x8B" + \
b"\x46\x06\x85\xC9\x74\x06\x3B\xC8" + \
b"\x75\xEB\xEB\x02\x89\x07\x46\x8D" + \
b"\x46\xFF\x3B\x45\x08\x76\x96\x33" + \
b"\xC0\x5F\x5E\x5B\x5D\xC3\x55\x8B" + \
b"\xEC\x53\x56\x57\xB9\x10\x02\x40" + \
b"\x00\xE8\x0F\xF8\xFF\xFF\x8B\xF0" + \
b"\xB9\x20\x02\x40\x00\x83\xC6\x03" + \
b"\xE8\x00\xF8\xFF\xFF\x8B\x4D\x08" + \
b"\x8B\xF8\x8B\x45\x0C\x83\xC7\x03" + \
b"\x8D\x1C\x01\xEB\x43\x8B\x55\x10" + \
b"\x57\x56\xFF\x32\xE8\x39\xFD\xFF" + \
b"\xFF\x83\xC4\x0C\x85\xC0\x74\x3B" + \
b"\x8D\x48\x01\x80\x39\x74\x89\x4D" + \
b"\x08\x74\x22\x8B\x48\x09\x8D\x4C" + \
b"\x01\x0D\x8B\x45\x10\x3B\x48\x04" + \
b"\x74\x13\x8B\x50\x08\x85\xD2\x74" + \
b"\x09\x3B\xD1\x74\x08\x33\xC0\x40" + \
b"\xEB\x13\x89\x48\x08\x8B\x4D\x08" + \
b"\x8B\xC3\x8D\x53\xF3\x2B\xC1\x3B" + \
b"\xCA\x76\xB2\x33\xC0\x5F\x5E\x5B" + \
b"\x5D\xC3\x55\x8B\xEC\x81\xEC\x94" + \
b"\x00\x00\x00\x68\x94\x00\x00\x00" + \
b"\x8D\x85\x6C\xFF\xFF\xFF\x6A\x00" + \
b"\x50\xE8\x75\xFD\xFF\xFF\x83\xC4" + \
b"\x0C\x8D\x85\x6C\xFF\xFF\xFF\x50" + \
b"\x8B\x45\x08\xC7\x85\x6C\xFF\xFF" + \
b"\xFF\x94\x00\x00\x00\xFF\x50\x1D" + \
b"\x85\xC0\x75\x03\x40\xC9\xC3\x83" + \
b"\xBD\x70\xFF\xFF\xFF\x06\x8B\x4D" + \
b"\x0C\x1B\xC0\x40\x89\x01\x33\xC0" + \
b"\xC9\xC3\x57\xFF\x74\x24\x08\x8D" + \
b"\x7B\x32\xE8\x91\xFD\xFF\xFF\x59" + \
b"\x85\xC0\x74\x05\x33\xC0\x40\x5F" + \
b"\xC3\x56\x8B\x37\x8B\x46\x04\x83" + \
b"\xF8\x64\x72\x27\x3D\x00\x10\x00" + \
b"\x00\x77\x20\x39\x06\x73\x1C\x80" + \
b"\x7E\x08\x00\x75\x16\xFF\x73\x1A" + \
b"\xFF\x73\x08\x56\xFF\x57\x04\x33" + \
b"\xC0\x38\x46\x08\x0F\x95\xC0\x85" + \
b"\xC0\x74\x05\x33\xC0\x40\xEB\x09" + \
b"\xC7\x43\x22\x01\x00\x00\x00\x33" + \
b"\xC0\x5E\x5F\xC3\x00\x00\x00\x00" + \
b"\x00\x00"
def percentage(part, whole):
return 100 * float(part)/float(whole)
patterns = [dbPattern1,dbPattern2,dbPattern3,dbPattern4,dbPattern5,dbPattern6,dbPattern7,dbPattern8,dbPattern9,dbPattern10,dbPattern11,dbPattern12]
fileList = []
rootdir = sys.argv[1]
for root, subFolders, files in os.walk(rootdir):
for file in files:
patternsFound = {}
try:
size = os.stat(os.path.join(root,file)).st_size
print ("Scanning " + os.path.join(root,file) + ":")
f = open(os.path.join(root,file))
data = mmap.mmap(f.fileno(), size, access=mmap.ACCESS_READ)
matches = 0
for pattern in patterns:
patternNumber = str(patterns.index(pattern))
if data.find(pattern) >= 0: