-
Notifications
You must be signed in to change notification settings - Fork 0
/
opaque.orig.asm
2580 lines (2580 loc) · 108 KB
/
opaque.orig.asm
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
00000000 9BDBE3 finit
00000003 E84B04 call word 0x451
00000006 2EC7061D056008 mov word [cs:0x51d],0x860
0000000D E8D503 call word 0x3e5
00000010 E86503 call word 0x378
00000013 33C0 xor ax,ax
00000015 8ED8 mov ds,ax
00000017 8EC0 mov es,ax
00000019 8EE0 mov fs,ax
0000001B 8EE8 mov gs,ax
0000001D 662E8B3E2105 mov edi,[cs:0x521]
00000023 6681C710892000 add edi,0x208910
0000002A E8840A call word 0xab1
0000002D 6633DB xor ebx,ebx
00000030 8CC8 mov ax,cs
00000032 BBC716 mov bx,0x16c7
00000035 660FB7C0 movzx eax,ax
00000039 66C1E004 shl eax,byte 0x4
0000003D 6603C3 add eax,ebx
00000040 668BF0 mov esi,eax
00000043 662E8B3E2105 mov edi,[cs:0x521]
00000049 6681C754DB2000 add edi,0x20db54
00000050 E82A0A call word 0xa7d
00000053 6633DB xor ebx,ebx
00000056 8CC8 mov ax,cs
00000058 BB5A19 mov bx,0x195a
0000005B 660FB7C0 movzx eax,ax
0000005F 66C1E004 shl eax,byte 0x4
00000063 6603C3 add eax,ebx
00000066 668BF0 mov esi,eax
00000069 662E8B3E2105 mov edi,[cs:0x521]
0000006F 6681C7982D2100 add edi,0x212d98
00000076 E8040A call word 0xa7d
00000079 E88D05 call word 0x609
0000007C 662E8B3E2105 mov edi,[cs:0x521]
00000082 6681C744920B00 add edi,0xb9244
00000089 66B899198219 mov eax,0x19821999
0000008F E8670B call word 0xbf9
00000092 662E8B3E2105 mov edi,[cs:0x521]
00000098 6681C744920F00 add edi,0xf9244
0000009F 66B882F99914 mov eax,0x1499f982
000000A5 E8510B call word 0xbf9
000000A8 662E8B3E2105 mov edi,[cs:0x521]
000000AE 6681C744921300 add edi,0x139244
000000B5 66B806800901 mov eax,0x1098006
000000BB E83B0B call word 0xbf9
000000BE 662EC706BA0DFF00 mov dword [cs:0xdba],0xff
-0000
000000C8 662E8B3E2105 mov edi,[cs:0x521]
000000CE 6681C744921700 add edi,0x179244
000000D5 E8600B call word 0xc38
000000D8 662EC706BA0D0004 mov dword [cs:0xdba],0x400
-0000
000000E2 662E8B3E2105 mov edi,[cs:0x521]
000000E8 6681C744921B00 add edi,0x1b9244
000000EF E8D40B call word 0xcc6
000000F2 662E8B3E2105 mov edi,[cs:0x521]
000000F8 6681C744921F00 add edi,0x1f9244
000000FF E88C10 call word 0x118e
00000102 662E8B362105 mov esi,[cs:0x521]
00000108 6681C610892000 add esi,0x208910
0000010F 662E8B3E2105 mov edi,[cs:0x521]
00000115 6683C700 add edi,byte +0x0
00000119 E82908 call word 0x945
0000011C B95000 mov cx,0x50
0000011F 51 push cx
00000120 662E8B362105 mov esi,[cs:0x521]
00000126 6681C644920B00 add esi,0xb9244
0000012D 662E8B3E2105 mov edi,[cs:0x521]
00000133 6681C700400B00 add edi,0xb4000
0000013A E8B408 call word 0x9f1
0000013D 662E83066D0B01 add dword [cs:0xb6d],byte +0x1
00000144 662E8306710B05 add dword [cs:0xb71],byte +0x5
0000014B 662E8B362105 mov esi,[cs:0x521]
00000151 6681C610892000 add esi,0x208910
00000158 662E8B3E2105 mov edi,[cs:0x521]
0000015E 6681C700400B00 add edi,0xb4000
00000165 B99114 mov cx,0x1491
00000168 E8740A call word 0xbdf
0000016B E8C009 call word 0xb2e
0000016E 59 pop cx
0000016F E2AE loop 0x11f
00000171 2EC7066116E313 mov word [cs:0x1661],0x13e3
00000178 B98000 mov cx,0x80
0000017B 51 push cx
0000017C 662E8B362105 mov esi,[cs:0x521]
00000182 6681C644921F00 add esi,0x1f9244
00000189 662E8B3E2105 mov edi,[cs:0x521]
0000018F 6681C700400B00 add edi,0xb4000
00000196 E8D40F call word 0x116d
00000199 E87E09 call word 0xb1a
0000019C E88F09 call word 0xb2e
0000019F 59 pop cx
000001A0 E2D9 loop 0x17b
000001A2 662E8B362105 mov esi,[cs:0x521]
000001A8 6681C6982D2100 add esi,0x212d98
000001AF 662E8B3E2105 mov edi,[cs:0x521]
000001B5 6681C700400B00 add edi,0xb4000
000001BC B99114 mov cx,0x1491
000001BF 66678B06 mov eax,[esi]
000001C3 66678907 mov [edi],eax
000001C7 6683C604 add esi,byte +0x4
000001CB 6683C704 add edi,byte +0x4
000001CF E2EE loop 0x1bf
000001D1 B90A00 mov cx,0xa
000001D4 51 push cx
000001D5 E85609 call word 0xb2e
000001D8 59 pop cx
000001D9 E2F9 loop 0x1d4
000001DB 2EC70661166516 mov word [cs:0x1661],0x1665
000001E2 B94000 mov cx,0x40
000001E5 51 push cx
000001E6 662E8B362105 mov esi,[cs:0x521]
000001EC 6681C644921F00 add esi,0x1f9244
000001F3 662E8B3E2105 mov edi,[cs:0x521]
000001F9 6681C700400B00 add edi,0xb4000
00000200 E86A0F call word 0x116d
00000203 E81409 call word 0xb1a
00000206 E82509 call word 0xb2e
00000209 59 pop cx
0000020A E2D9 loop 0x1e5
0000020C 662E8B362105 mov esi,[cs:0x521]
00000212 6681C654DB2000 add esi,0x20db54
00000219 662E8B3E2105 mov edi,[cs:0x521]
0000021F 6681C700400B00 add edi,0xb4000
00000226 B99114 mov cx,0x1491
00000229 66678B06 mov eax,[esi]
0000022D 66678907 mov [edi],eax
00000231 6683C604 add esi,byte +0x4
00000235 6683C704 add edi,byte +0x4
00000239 E2EE loop 0x229
0000023B B90A00 mov cx,0xa
0000023E 51 push cx
0000023F E8EC08 call word 0xb2e
00000242 59 pop cx
00000243 E2F9 loop 0x23e
00000245 2EC70661169316 mov word [cs:0x1661],0x1693
0000024C D9EE fldz
0000024E 2ED9160D1C fst dword [cs:0x1c0d]
00000253 2ED916111C fst dword [cs:0x1c11]
00000258 2ED916151C fst dword [cs:0x1c15]
0000025D 2ED916F91B fst dword [cs:0x1bf9]
00000262 2ED91EFD1B fstp dword [cs:0x1bfd]
00000267 2ED906F11B fld dword [cs:0x1bf1]
0000026C D9E0 fchs
0000026E 2ED91E011C fstp dword [cs:0x1c01]
00000273 B98000 mov cx,0x80
00000276 51 push cx
00000277 E8890F call word 0x1203
0000027A 662E8306D51302 add dword [cs:0x13d5],byte +0x2
00000281 662E8306D913FE add dword [cs:0x13d9],byte -0x2
00000288 662E8306DD1304 add dword [cs:0x13dd],byte +0x4
0000028F 662E8B362105 mov esi,[cs:0x521]
00000295 6681C644921F00 add esi,0x1f9244
0000029C 662E8B3E2105 mov edi,[cs:0x521]
000002A2 6681C700400B00 add edi,0xb4000
000002A9 E8C10E call word 0x116d
000002AC D9E8 fld1
000002AE 2ED806011C fadd dword [cs:0x1c01]
000002B3 2ED91E011C fstp dword [cs:0x1c01]
000002B8 E87308 call word 0xb2e
000002BB 59 pop cx
000002BC E2B8 loop 0x276
000002BE B90A00 mov cx,0xa
000002C1 51 push cx
000002C2 662E8B362105 mov esi,[cs:0x521]
000002C8 6681C610892000 add esi,0x208910
000002CF 662E8B3E2105 mov edi,[cs:0x521]
000002D5 6681C700400B00 add edi,0xb4000
000002DC B99114 mov cx,0x1491
000002DF 66678B06 mov eax,[esi]
000002E3 66678907 mov [edi],eax
000002E7 6683C604 add esi,byte +0x4
000002EB 6683C704 add edi,byte +0x4
000002EF E2EE loop 0x2df
000002F1 E83A08 call word 0xb2e
000002F4 59 pop cx
000002F5 E2CA loop 0x2c1
000002F7 B90A00 mov cx,0xa
000002FA 51 push cx
000002FB 662E8B3E2105 mov edi,[cs:0x521]
00000301 6681C700400B00 add edi,0xb4000
00000308 B99114 mov cx,0x1491
0000030B 6633C0 xor eax,eax
0000030E 66678907 mov [edi],eax
00000312 6683C704 add edi,byte +0x4
00000316 E2F6 loop 0x30e
00000318 E81308 call word 0xb2e
0000031B 59 pop cx
0000031C E2DC loop 0x2fa
0000031E B80300 mov ax,0x3
00000321 CD10 int 0x10
00000323 BA3904 mov dx,0x439
00000326 E84500 call word 0x36e
00000329 E8F900 call word 0x425
0000032C B8004C mov ax,0x4c00
0000032F CD21 int 0x21
00000331 E8F100 call word 0x425
00000334 B8004C mov ax,0x4c00
00000337 CD21 int 0x21
00000339 636F64 arpl [bx+0x64],bp
0000033C 65203C and [gs:si],bh
0000033F 2D3E20 sub ax,0x203e
00000342 666964656C5E6275 imul esp,[si+0x65],dword 0x75625e6c
0000034A 7463 jz 0x3af
0000034C 686572 push word 0x7265
0000034F 732E jnc 0x37f
00000351 0A0D or cl,[di]
00000353 2466 and al,0x66
00000355 BADA03 mov dx,0x3da
00000358 0000 add [bx+si],al
0000035A EC in al,dx
0000035B A808 test al,0x8
0000035D 74FB jz 0x35a
0000035F EC in al,dx
00000360 A808 test al,0x8
00000362 75FB jnz 0x35f
00000364 C3 ret
00000365 0E push cs
00000366 1F pop ds
00000367 B80009 mov ax,0x900
0000036A CD21 int 0x21
0000036C EBC3 jmp short 0x331
0000036E 1E push ds
0000036F 0E push cs
00000370 1F pop ds
00000371 B80009 mov ax,0x900
00000374 CD21 int 0x21
00000376 1F pop ds
00000377 C3 ret
00000378 0F01E0 smsw ax
0000037B A90100 test ax,0x1
0000037E 7406 jz 0x386
00000380 BAA505 mov dx,0x5a5
00000383 E8DFFF call word 0x365
00000386 6633C0 xor eax,eax
00000389 6633DB xor ebx,ebx
0000038C 8CC8 mov ax,cs
0000038E BBCF04 mov bx,0x4cf
00000391 66C1E004 shl eax,byte 0x4
00000395 6603C3 add eax,ebx
00000398 662EA3E104 mov [cs:0x4e1],eax
0000039D 2E0F0116DF04 lgdt [cs:0x4df]
000003A3 FA cli
000003A4 0F20C0 mov eax,cr0
000003A7 6683C801 or eax,byte +0x1
000003AB 0F22C0 mov cr0,eax
000003AE EB00 jmp short 0x3b0
000003B0 B80800 mov ax,0x8
000003B3 8ED8 mov ds,ax
000003B5 8EC0 mov es,ax
000003B7 8EE0 mov fs,ax
000003B9 8EE8 mov gs,ax
000003BB 0F20C0 mov eax,cr0
000003BE 6683E0FE and eax,byte -0x2
000003C2 0F22C0 mov cr0,eax
000003C5 EB00 jmp short 0x3c7
000003C7 FB sti
000003C8 BAC105 mov dx,0x5c1
000003CB E8A0FF call word 0x36e
000003CE C3 ret
000003CF 0000 add [bx+si],al
000003D1 0000 add [bx+si],al
000003D3 0000 add [bx+si],al
000003D5 0000 add [bx+si],al
000003D7 FF db 0xff
000003D8 FF00 inc word [bx+si]
000003DA 0000 add [bx+si],al
000003DC 92 xchg ax,dx
000003DD 8F00 pop word [bx+si]
000003DF 1000 adc [bx+si],al
000003E1 0000 add [bx+si],al
000003E3 0000 add [bx+si],al
000003E5 B80009 mov ax,0x900
000003E8 2E8B161D05 mov dx,[cs:0x51d]
000003ED 2EFF1E7D05 call word far [cs:0x57d]
000003F2 3D0100 cmp ax,0x1
000003F5 7406 jz 0x3fd
000003F7 BA9805 mov dx,0x598
000003FA E868FF call word 0x365
000003FD 52 push dx
000003FE BAB305 mov dx,0x5b3
00000401 E86AFF call word 0x36e
00000404 5A pop dx
00000405 2E89161F05 mov [cs:0x51f],dx
0000040A B8000C mov ax,0xc00
0000040D 2EFF1E7D05 call word far [cs:0x57d]
00000412 2E891E2105 mov [cs:0x521],bx
00000417 2E89162305 mov [cs:0x523],dx
0000041C C3 ret
0000041D 0000 add [bx+si],al
0000041F 0000 add [bx+si],al
00000421 0000 add [bx+si],al
00000423 0000 add [bx+si],al
00000425 B8000D mov ax,0xd00
00000428 2E8B161F05 mov dx,[cs:0x51f]
0000042D 2EFF1E7D05 call word far [cs:0x57d]
00000432 B8000A mov ax,0xa00
00000435 2E8B161F05 mov dx,[cs:0x51f]
0000043A 2EFF1E7D05 call word far [cs:0x57d]
0000043F 3D0100 cmp ax,0x1
00000442 7406 jz 0x44a
00000444 BAA405 mov dx,0x5a4
00000447 E81BFF call word 0x365
0000044A BAC005 mov dx,0x5c0
0000044D E81EFF call word 0x36e
00000450 C3 ret
00000451 B80043 mov ax,0x4300
00000454 CD2F int 0x2f
00000456 3C80 cmp al,0x80
00000458 7406 jz 0x460
0000045A BA8105 mov dx,0x581
0000045D E805FF call word 0x365
00000460 B81043 mov ax,0x4310
00000463 CD2F int 0x2f
00000465 2E891E7D05 mov [cs:0x57d],bx
0000046A 2E8C067F05 mov [cs:0x57f],es
0000046F BAB205 mov dx,0x5b2
00000472 E8F9FE call word 0x36e
00000475 33C0 xor ax,ax
00000477 2EFF1E7D05 call word far [cs:0x57d]
0000047C C3 ret
0000047D 0000 add [bx+si],al
0000047F 0000 add [bx+si],al
00000481 57 push di
00000482 686572 push word 0x7265
00000485 6527 gs daa
00000487 7320 jnc 0x4a9
00000489 58 pop ax
0000048A 4D dec bp
0000048B 53 push bx
0000048C 206472 and [si+0x72],ah
0000048F 697665723F imul si,[bp+0x65],word 0x3f72
00000494 210A and [bp+si],cx
00000496 0D244D or ax,0x4d24
00000499 6F outsw
0000049A 7265 jc 0x501
0000049C 20584D and [bx+si+0x4d],bl
0000049F 53 push bx
000004A0 210A and [bp+si],cx
000004A2 0D2424 or ax,0x2424
000004A5 56 push si
000004A6 38362065 cmp [0x6520],dh
000004AA 7272 jc 0x51e
000004AC 6F outsw
000004AD 7221 jc 0x4d0
000004AF 0A0D or cl,[di]
000004B1 2424 and al,0x24
000004B3 4D dec bp
000004B4 61 popaw
000004B5 6C insb
000004B6 6C insb
000004B7 6F outsw
000004B8 6320 arpl [bx+si],sp
000004BA 4F dec di
000004BB 4B dec bx
000004BC 2E0A0D or cl,[cs:di]
000004BF 2424 and al,0x24
000004C1 54 push sp
000004C2 7269 jc 0x52d
000004C4 7065 jo 0x52b
000004C6 6420696E and [fs:bx+di+0x6e],ch
000004CA 746F jz 0x53b
000004CC 20666C and [bp+0x6c],ah
000004CF 61 popaw
000004D0 746D jz 0x53f
000004D2 6F outsw
000004D3 64652E2E2E0A0D or cl,[cs:di]
000004DA 2466 and al,0x66
000004DC 2E83361C0601 xor word [cs:0x61c],byte +0x1
000004E2 662E833E1C0601 cmp dword [cs:0x61c],byte +0x1
000004E9 7419 jz 0x504
000004EB 66BF80960A00 mov edi,0xa9680
000004F1 E82C00 call word 0x520
000004F4 E85DFE call word 0x354
000004F7 BAD403 mov dx,0x3d4
000004FA B80C80 mov ax,0x800c
000004FD EF out dx,ax
000004FE B80D00 mov ax,0xd
00000501 EF out dx,ax
00000502 EB17 jmp short 0x51b
00000504 66BF80160A00 mov edi,0xa1680
0000050A E81300 call word 0x520
0000050D E844FE call word 0x354
00000510 BAD403 mov dx,0x3d4
00000513 B80C00 mov ax,0xc
00000516 EF out dx,ax
00000517 B80D00 mov ax,0xd
0000051A EF out dx,ax
0000051B C3 ret
0000051C 0100 add [bx+si],ax
0000051E 0000 add [bx+si],al
00000520 BAC403 mov dx,0x3c4
00000523 B80201 mov ax,0x102
00000526 EF out dx,ax
00000527 6656 push esi
00000529 6657 push edi
0000052B 66B900140000 mov ecx,0x1400
00000531 678A660C mov ah,[esi+0xc]
00000535 678A4608 mov al,[esi+0x8]
00000539 66C1E010 shl eax,byte 0x10
0000053D 678A6604 mov ah,[esi+0x4]
00000541 678A06 mov al,[esi]
00000544 66678907 mov [edi],eax
00000548 6683C610 add esi,byte +0x10
0000054C 6683C704 add edi,byte +0x4
00000550 6649 dec ecx
00000552 75DD jnz 0x531
00000554 665F pop edi
00000556 665E pop esi
00000558 6646 inc esi
0000055A BAC403 mov dx,0x3c4
0000055D B80202 mov ax,0x202
00000560 EF out dx,ax
00000561 6656 push esi
00000563 6657 push edi
00000565 66B900140000 mov ecx,0x1400
0000056B 678A660C mov ah,[esi+0xc]
0000056F 678A4608 mov al,[esi+0x8]
00000573 66C1E010 shl eax,byte 0x10
00000577 678A6604 mov ah,[esi+0x4]
0000057B 678A06 mov al,[esi]
0000057E 66678907 mov [edi],eax
00000582 6683C610 add esi,byte +0x10
00000586 6683C704 add edi,byte +0x4
0000058A 6649 dec ecx
0000058C 75DD jnz 0x56b
0000058E 665F pop edi
00000590 665E pop esi
00000592 6646 inc esi
00000594 BAC403 mov dx,0x3c4
00000597 B80204 mov ax,0x402
0000059A EF out dx,ax
0000059B 6656 push esi
0000059D 6657 push edi
0000059F 66B900140000 mov ecx,0x1400
000005A5 678A660C mov ah,[esi+0xc]
000005A9 678A4608 mov al,[esi+0x8]
000005AD 66C1E010 shl eax,byte 0x10
000005B1 678A6604 mov ah,[esi+0x4]
000005B5 678A06 mov al,[esi]
000005B8 66678907 mov [edi],eax
000005BC 6683C610 add esi,byte +0x10
000005C0 6683C704 add edi,byte +0x4
000005C4 6649 dec ecx
000005C6 75DD jnz 0x5a5
000005C8 665F pop edi
000005CA 665E pop esi
000005CC 6646 inc esi
000005CE BAC403 mov dx,0x3c4
000005D1 B80208 mov ax,0x802
000005D4 EF out dx,ax
000005D5 6656 push esi
000005D7 6657 push edi
000005D9 66B900140000 mov ecx,0x1400
000005DF 678A660C mov ah,[esi+0xc]
000005E3 678A4608 mov al,[esi+0x8]
000005E7 66C1E010 shl eax,byte 0x10
000005EB 678A6604 mov ah,[esi+0x4]
000005EF 678A06 mov al,[esi]
000005F2 66678907 mov [edi],eax
000005F6 6683C610 add esi,byte +0x10
000005FA 6683C704 add edi,byte +0x4
000005FE 6649 dec ecx
00000600 75DD jnz 0x5df
00000602 665F pop edi
00000604 665E pop esi
00000606 6646 inc esi
00000608 C3 ret
00000609 B81300 mov ax,0x13
0000060C CD10 int 0x10
0000060E BAC403 mov dx,0x3c4
00000611 B80406 mov ax,0x604
00000614 EF out dx,ax
00000615 66B8020F0000 mov eax,0xf02
0000061B EF out dx,ax
0000061C 66B900400000 mov ecx,0x4000
00000622 66BF00000A00 mov edi,0xa0000
00000628 6633C0 xor eax,eax
0000062B 66678907 mov [edi],eax
0000062F 6683C704 add edi,byte +0x4
00000633 6649 dec ecx
00000635 75F4 jnz 0x62b
00000637 BAD403 mov dx,0x3d4
0000063A B81400 mov ax,0x14
0000063D EF out dx,ax
0000063E B80900 mov ax,0x9
00000641 EF out dx,ax
00000642 B817E3 mov ax,0xe317
00000645 EF out dx,ax
00000646 E8B401 call word 0x7fd
00000649 E8F900 call word 0x745
0000064C C3 ret
0000064D 66B800000000 mov eax,0x0
00000653 66BB00000000 mov ebx,0x0
00000659 6650 push eax
0000065B 6653 push ebx
0000065D 6683E007 and eax,byte +0x7
00000661 6683E307 and ebx,byte +0x7
00000665 66C1E003 shl eax,byte 0x3
00000669 6603D8 add ebx,eax
0000066C 66C1E302 shl ebx,byte 0x2
00000670 6650 push eax
00000672 6653 push ebx
00000674 6633C0 xor eax,eax
00000677 6633DB xor ebx,ebx
0000067A 8CC8 mov ax,cs
0000067C 66C1E004 shl eax,byte 0x4
00000680 BB4509 mov bx,0x945
00000683 6603C3 add eax,ebx
00000686 665B pop ebx
00000688 6603D8 add ebx,eax
0000068B 6658 pop eax
0000068D 6633C0 xor eax,eax
00000690 66670FB66E02 movzx ebp,byte [esi+0x2]
00000696 66C1E502 shl ebp,byte 0x2
0000069A 662E8B8E781C mov ecx,[cs:bp+0x1c78]
000006A0 662E8B967824 mov edx,[cs:bp+0x2478]
000006A6 66673913 cmp [ebx],edx
000006AA 720E jc 0x6ba
000006AC 6641 inc ecx
000006AE 6683F908 cmp ecx,byte +0x8
000006B2 7506 jnz 0x6ba
000006B4 66B907000000 mov ecx,0x7
000006BA 66C1E105 shl ecx,byte 0x5
000006BE 660BC1 or eax,ecx
000006C1 66670FB66E01 movzx ebp,byte [esi+0x1]
000006C7 66C1E502 shl ebp,byte 0x2
000006CB 662E8B8E781C mov ecx,[cs:bp+0x1c78]
000006D1 662E8B967824 mov edx,[cs:bp+0x2478]
000006D7 66673913 cmp [ebx],edx
000006DB 720E jc 0x6eb
000006DD 6641 inc ecx
000006DF 6683F908 cmp ecx,byte +0x8
000006E3 7506 jnz 0x6eb
000006E5 66B907000000 mov ecx,0x7
000006EB 66C1E102 shl ecx,byte 0x2
000006EF 660BC1 or eax,ecx
000006F2 66670FB62E movzx ebp,byte [esi]
000006F7 66C1E502 shl ebp,byte 0x2
000006FB 662E8B8E7820 mov ecx,[cs:bp+0x2078]
00000701 662E8B967828 mov edx,[cs:bp+0x2878]
00000707 66673913 cmp [ebx],edx
0000070B 720E jc 0x71b
0000070D 6641 inc ecx
0000070F 6683F904 cmp ecx,byte +0x4
00000713 7506 jnz 0x71b
00000715 66B903000000 mov ecx,0x3
0000071B 660BC1 or eax,ecx
0000071E 678807 mov [edi],al
00000721 6683C604 add esi,byte +0x4
00000725 6647 inc edi
00000727 665B pop ebx
00000729 6658 pop eax
0000072B 6643 inc ebx
0000072D 6681FB40010000 cmp ebx,0x140
00000734 0F8521FF jnz word 0x659
00000738 6640 inc eax
0000073A 663D00010000 cmp eax,0x100
00000740 0F850FFF jnz word 0x653
00000744 C3 ret
00000745 66B900010000 mov ecx,0x100
0000074B 6633F6 xor esi,esi
0000074E 8CCE mov si,cs
00000750 66C1E604 shl esi,byte 0x4
00000754 6633DB xor ebx,ebx
00000757 BB781C mov bx,0x1c78
0000075A 6603F3 add esi,ebx
0000075D 6633DB xor ebx,ebx
00000760 662E891EF108 mov [cs:0x8f1],ebx
00000766 2EDB06F108 fild dword [cs:0x8f1]
0000076B 2ED836F508 fdiv dword [cs:0x8f5]
00000770 2EDB1EF108 fistp dword [cs:0x8f1]
00000775 662EA1F108 mov eax,[cs:0x8f1]
0000077A 66C1E808 shr eax,byte 0x8
0000077E 66678906 mov [esi],eax
00000782 662EA1F108 mov eax,[cs:0x8f1]
00000787 6625FF000000 and eax,0xff
0000078D 66C1E006 shl eax,byte 0x6
00000791 66C1E808 shr eax,byte 0x8
00000795 6667898600080000 mov [esi+0x800],eax
0000079D 662E891EF108 mov [cs:0x8f1],ebx
000007A3 2EDB06F108 fild dword [cs:0x8f1]
000007A8 2ED836F908 fdiv dword [cs:0x8f9]
000007AD 2EDB1EF108 fistp dword [cs:0x8f1]
000007B2 662EA1F108 mov eax,[cs:0x8f1]
000007B7 66C1E808 shr eax,byte 0x8
000007BB 6667898600040000 mov [esi+0x400],eax
000007C3 662EA1F108 mov eax,[cs:0x8f1]
000007C8 6625FF000000 and eax,0xff
000007CE 66C1E006 shl eax,byte 0x6
000007D2 66C1E808 shr eax,byte 0x8
000007D6 66678986000C0000 mov [esi+0xc00],eax
000007DE 6683C604 add esi,byte +0x4
000007E2 6681C300010000 add ebx,0x100
000007E9 E202 loop 0x7ed
000007EB EB03 jmp short 0x7f0
000007ED E970FF jmp word 0x760
000007F0 C3 ret
000007F1 0000 add [bx+si],al
000007F3 0000 add [bx+si],al
000007F5 66661242CD o32 adc al,[bp+si-0x33]
000007FA CC int3
000007FB AA stosb
000007FC 42 inc dx
000007FD 66B900010000 mov ecx,0x100
00000803 6633C0 xor eax,eax
00000806 66BAC8030000 mov edx,0x3c8
0000080C EE out dx,al
0000080D 6642 inc edx
0000080F 6633DB xor ebx,ebx
00000812 668BC3 mov eax,ebx
00000815 6625E0000000 and eax,0xe0
0000081B 66C1E805 shr eax,byte 0x5
0000081F 666BC009 imul eax,eax,byte +0x9
00000823 EE out dx,al
00000824 668BC3 mov eax,ebx
00000827 6683E01C and eax,byte +0x1c
0000082B 66C1E802 shr eax,byte 0x2
0000082F 666BC009 imul eax,eax,byte +0x9
00000833 EE out dx,al
00000834 668BC3 mov eax,ebx
00000837 6683E003 and eax,byte +0x3
0000083B 666BC015 imul eax,eax,byte +0x15
0000083F EE out dx,al
00000840 6643 inc ebx
00000842 E2CE loop 0x812
00000844 C3 ret
00000845 0100 add [bx+si],ax
00000847 0000 add [bx+si],al
00000849 2100 and [bx+si],ax
0000084B 0000 add [bx+si],al
0000084D 0900 or [bx+si],ax
0000084F 0000 add [bx+si],al
00000851 2900 sub [bx+si],ax
00000853 0000 add [bx+si],al
00000855 0300 add ax,[bx+si]
00000857 0000 add [bx+si],al
00000859 2300 and ax,[bx+si]
0000085B 0000 add [bx+si],al
0000085D 0B00 or ax,[bx+si]
0000085F 0000 add [bx+si],al
00000861 2B00 sub ax,[bx+si]
00000863 0000 add [bx+si],al
00000865 3100 xor [bx+si],ax
00000867 0000 add [bx+si],al
00000869 1100 adc [bx+si],ax
0000086B 0000 add [bx+si],al
0000086D 3900 cmp [bx+si],ax
0000086F 0000 add [bx+si],al
00000871 1900 sbb [bx+si],ax
00000873 0000 add [bx+si],al
00000875 3300 xor ax,[bx+si]
00000877 0000 add [bx+si],al
00000879 1300 adc ax,[bx+si]
0000087B 0000 add [bx+si],al
0000087D 3B00 cmp ax,[bx+si]
0000087F 0000 add [bx+si],al
00000881 1B00 sbb ax,[bx+si]
00000883 0000 add [bx+si],al
00000885 0D0000 or ax,0x0
00000888 002D add [di],ch
0000088A 0000 add [bx+si],al
0000088C 0005 add [di],al
0000088E 0000 add [bx+si],al
00000890 0025 add [di],ah
00000892 0000 add [bx+si],al
00000894 000F add [bx],cl
00000896 0000 add [bx+si],al
00000898 002F add [bx],ch
0000089A 0000 add [bx+si],al
0000089C 0007 add [bx],al
0000089E 0000 add [bx+si],al
000008A0 0027 add [bx],ah
000008A2 0000 add [bx+si],al
000008A4 003D add [di],bh
000008A6 0000 add [bx+si],al
000008A8 001D add [di],bl
000008AA 0000 add [bx+si],al
000008AC 0035 add [di],dh
000008AE 0000 add [bx+si],al
000008B0 0015 add [di],dl
000008B2 0000 add [bx+si],al
000008B4 003F add [bx],bh
000008B6 0000 add [bx+si],al
000008B8 001F add [bx],bl
000008BA 0000 add [bx+si],al
000008BC 0037 add [bx],dh
000008BE 0000 add [bx+si],al
000008C0 0017 add [bx],dl
000008C2 0000 add [bx+si],al
000008C4 0004 add [si],al
000008C6 0000 add [bx+si],al
000008C8 0024 add [si],ah
000008CA 0000 add [bx+si],al
000008CC 000C add [si],cl
000008CE 0000 add [bx+si],al
000008D0 002C add [si],ch
000008D2 0000 add [bx+si],al
000008D4 0002 add [bp+si],al
000008D6 0000 add [bx+si],al
000008D8 0022 add [bp+si],ah
000008DA 0000 add [bx+si],al
000008DC 000A add [bp+si],cl
000008DE 0000 add [bx+si],al
000008E0 002A add [bp+si],ch
000008E2 0000 add [bx+si],al
000008E4 0034 add [si],dh
000008E6 0000 add [bx+si],al
000008E8 0014 add [si],dl
000008EA 0000 add [bx+si],al
000008EC 003C add [si],bh
000008EE 0000 add [bx+si],al
000008F0 001C add [si],bl
000008F2 0000 add [bx+si],al
000008F4 0032 add [bp+si],dh
000008F6 0000 add [bx+si],al
000008F8 0012 add [bp+si],dl
000008FA 0000 add [bx+si],al
000008FC 003A add [bp+si],bh
000008FE 0000 add [bx+si],al
00000900 001A add [bp+si],bl
00000902 0000 add [bx+si],al
00000904 0010 add [bx+si],dl
00000906 0000 add [bx+si],al
00000908 0030 add [bx+si],dh
0000090A 0000 add [bx+si],al
0000090C 0008 add [bx+si],cl
0000090E 0000 add [bx+si],al
00000910 0028 add [bx+si],ch
00000912 0000 add [bx+si],al
00000914 000E0000 add [0x0],cl
00000918 002E0000 add [0x0],ch
0000091C 00060000 add [0x0],al
00000920 00260000 add [0x0],ah
00000924 004000 add [bx+si+0x0],al
00000927 0000 add [bx+si],al
00000929 2000 and [bx+si],al
0000092B 0000 add [bx+si],al
0000092D 3800 cmp [bx+si],al
0000092F 0000 add [bx+si],al
00000931 1800 sbb [bx+si],al
00000933 0000 add [bx+si],al
00000935 3E0000 add [ds:bx+si],al
00000938 001E0000 add [0x0],bl
0000093C 00360000 add [0x0],dh
00000940 00160000 add [0x0],dl
00000944 00B90300 add [bx+di+0x3],bh
00000948 51 push cx
00000949 6656 push esi
0000094B 6657 push edi
0000094D B94000 mov cx,0x40
00000950 51 push cx
00000951 B95000 mov cx,0x50
00000954 51 push cx
00000955 6657 push edi
00000957 670FB606 movzx ax,[esi]
0000095B 670FB69E44010000 movzx bx,[esi+0x144]
00000963 2BD8 sub bx,ax
00000965 2E891EAF0A mov [cs:0xaaf],bx
0000096A 670FB64604 movzx ax,[esi+0x4]
0000096F 670FB69E48010000 movzx bx,[esi+0x148]
00000977 2BD8 sub bx,ax
00000979 2E891EB30A mov [cs:0xab3],bx
0000097E 670FB606 movzx ax,[esi]
00000982 C1E002 shl ax,byte 0x2
00000985 670FB65E04 movzx bx,[esi+0x4]
0000098A C1E302 shl bx,byte 0x2
0000098D B504 mov ch,0x4
0000098F 50 push ax
00000990 53 push bx
00000991 8BD3 mov dx,bx
00000993 2BD0 sub dx,ax
00000995 C1E002 shl ax,byte 0x2
00000998 B104 mov cl,0x4
0000099A 50 push ax
0000099B C1F804 sar ax,byte 0x4
0000099E 678807 mov [edi],al
000009A1 6683C704 add edi,byte +0x4
000009A5 58 pop ax
000009A6 03C2 add ax,dx
000009A8 FEC9 dec cl
000009AA 75EE jnz 0x99a
000009AC 5B pop bx
000009AD 58 pop ax
000009AE 051818 add ax,0x1818
000009B1 81C31818 add bx,0x1818
000009B5 6681C7F0040000 add edi,0x4f0
000009BC FECD dec ch
000009BE 75CF jnz 0x98f
000009C0 665F pop edi
000009C2 59 pop cx
000009C3 6683C710 add edi,byte +0x10
000009C7 6683C604 add esi,byte +0x4
000009CB E287 loop 0x954
000009CD 6683C604 add esi,byte +0x4
000009D1 6681C7000F0000 add edi,0xf00
000009D8 59 pop cx
000009D9 E202 loop 0x9dd
000009DB EB03 jmp short 0x9e0
000009DD E970FF jmp word 0x950
000009E0 665F pop edi
000009E2 665E pop esi
000009E4 59 pop cx
000009E5 6646 inc esi
000009E7 6647 inc edi
000009E9 E202 loop 0x9ed
000009EB EB03 jmp short 0x9f0
000009ED E958FF jmp word 0x948
000009F0 C3 ret
000009F1 2EDB066D0B fild dword [cs:0xb6d]
000009F6 2ED80E790B fmul dword [cs:0xb79]
000009FB D9FB fsincos
000009FD 2EDA0E710B fimul dword [cs:0xb71]
00000A02 2EDF1E5C0B fistp word [cs:0xb5c]
00000A07 2EDA0E710B fimul dword [cs:0xb71]
00000A0C 2EDF1E580B fistp word [cs:0xb58]
00000A11 2EDB066D0B fild dword [cs:0xb6d]
00000A16 2ED806750B fadd dword [cs:0xb75]
00000A1B 2ED80E790B fmul dword [cs:0xb79]
00000A20 D9FB fsincos
00000A22 2EDA0E710B fimul dword [cs:0xb71]
00000A27 2EDF1E680B fistp word [cs:0xb68]
00000A2C 2EDA0E710B fimul dword [cs:0xb71]
00000A31 2EDF1E640B fistp word [cs:0xb64]
00000A36 B94100 mov cx,0x41
00000A39 B83C2C mov ax,0x2c3c
00000A3C BB9C05 mov bx,0x59c
00000A3F BA5100 mov dx,0x51
00000A42 50 push ax
00000A43 53 push bx
00000A44 50 push ax
00000A45 53 push bx
00000A46 8ADC mov bl,ah
00000A48 66678B049E mov eax,[dword esi+ebx*4]
00000A4D 66678907 mov [edi],eax
00000A51 6683C704 add edi,byte +0x4
00000A55 5B pop bx
00000A56 58 pop ax
00000A57 051818 add ax,0x1818
00000A5A 81C31818 add bx,0x1818
00000A5E 4A dec dx
00000A5F 75E3 jnz 0xa44
00000A61 5B pop bx
00000A62 58 pop ax
00000A63 051818 add ax,0x1818
00000A66 81C31818 add bx,0x1818
00000A6A E2D3 loop 0xa3f
00000A6C C3 ret
00000A6D 0000 add [bx+si],al
00000A6F 0000 add [bx+si],al
00000A71 800000 add byte [bx+si],0x0
00000A74 0000 add [bx+si],al
00000A76 008042DB add [bx+si-0x24be],al
00000A7A 0F db 0x0f
00000A7B C9 leave
00000A7C 3CB5 cmp al,0xb5
00000A7E A4 movsb
00000A7F 66B801000000 mov eax,0x1
00000A85 B120 mov cl,0x20
00000A87 6633D2 xor edx,edx
00000A8A 66678B1E mov ebx,[esi]
00000A8E 6685D8 test eax,ebx
00000A91 7406 jz 0xa99
00000A93 66BAFFFFFFFF mov edx,0xffffffff
00000A99 66678917 mov [edi],edx
00000A9D 6683C704 add edi,byte +0x4
00000AA1 66D1E0 shl eax,1
00000AA4 FEC9 dec cl
00000AA6 75DF jnz 0xa87
00000AA8 6683C604 add esi,byte +0x4
00000AAC FECD dec ch
00000AAE 75CF jnz 0xa7f
00000AB0 C3 ret
00000AB1 B81300 mov ax,0x13
00000AB4 CD10 int 0x10
00000AB6 B412 mov ah,0x12
00000AB8 B336 mov bl,0x36
00000ABA B001 mov al,0x1
00000ABC 1E push ds
00000ABD 0E push cs
00000ABE 1F pop ds
00000ABF BA070C mov dx,0xc07
00000AC2 B80009 mov ax,0x900
00000AC5 CD21 int 0x21
00000AC7 1F pop ds
00000AC8 66BE00000A00 mov esi,0xa0000
00000ACE B94100 mov cx,0x41
00000AD1 51 push cx
00000AD2 B95100 mov cx,0x51
00000AD5 66BB00000000 mov ebx,0x0
00000ADB 678A06 mov al,[esi]
00000ADE 3C00 cmp al,0x0
00000AE0 7406 jz 0xae8
00000AE2 66BBFFFFFFFF mov ebx,0xffffffff
00000AE8 6667891F mov [edi],ebx
00000AEC 6683C601 add esi,byte +0x1
00000AF0 6683C704 add edi,byte +0x4
00000AF4 E2DF loop 0xad5
00000AF6 6681C6EF000000 add esi,0xef
00000AFD 59 pop cx
00000AFE E2D1 loop 0xad1
00000B00 B412 mov ah,0x12
00000B02 B336 mov bl,0x36
00000B04 32C0 xor al,al
00000B06 C3 ret
00000B07 0A0D or cl,[di]
00000B09 0A0D or cl,[di]
00000B0B 0A0D or cl,[di]
00000B0D 204F70 and [bx+0x70],cl
00000B10 61 popaw
00000B11 7175 jno 0xb88
00000B13 652E2E2E0A0D or cl,[cs:di]
00000B19 24D9 and al,0xd9
00000B1B E82ED8 call word 0xe34c
00000B1E 06 push es
00000B1F 011C add [si],bx
00000B21 2ED91E011C fstp dword [cs:0x1c01]
00000B26 662E8306151C01 add dword [cs:0x1c15],byte +0x1
00000B2D C3 ret
00000B2E 662E8B362105 mov esi,[cs:0x521]
00000B34 6681C600400B00 add esi,0xb4000
00000B3B 662E8B3E2105 mov edi,[cs:0x521]
00000B41 6681C700000500 add edi,0x50000
00000B48 E8FAFD call word 0x945
00000B4B 662E8B362105 mov esi,[cs:0x521]
00000B51 6681C600000500 add esi,0x50000
00000B58 662E8B3E2105 mov edi,[cs:0x521]
00000B5E 6683C700 add edi,byte +0x0
00000B62 66B900400100 mov ecx,0x14000
00000B68 E83400 call word 0xb9f
00000B6B 662E8B362105 mov esi,[cs:0x521]
00000B71 6683C600 add esi,byte +0x0
00000B75 662E8B3E2105 mov edi,[cs:0x521]
00000B7B 6681C700000A00 add edi,0xa0000
00000B82 E8C8FA call word 0x64d
00000B85 662E8B362105 mov esi,[cs:0x521]
00000B8B 6681C600000A00 add esi,0xa0000
00000B92 E846F9 call word 0x4db
00000B95 B80001 mov ax,0x100
00000B98 CD16 int 0x16
00000B9A 0F8580F7 jnz word 0x31e
00000B9E C3 ret
00000B9F 33C0 xor ax,ax
00000BA1 33DB xor bx,bx
00000BA3 678A06 mov al,[esi]
00000BA6 678A1F mov bl,[edi]
00000BA9 03C3 add ax,bx
00000BAB D1E8 shr ax,1
00000BAD 678807 mov [edi],al
00000BB0 6646 inc esi
00000BB2 6647 inc edi
00000BB4 678A06 mov al,[esi]
00000BB7 678A1F mov bl,[edi]
00000BBA 03C3 add ax,bx
00000BBC D1E8 shr ax,1
00000BBE 678807 mov [edi],al
00000BC1 6646 inc esi
00000BC3 6647 inc edi
00000BC5 678A06 mov al,[esi]
00000BC8 678A1F mov bl,[edi]
00000BCB 03C3 add ax,bx
00000BCD D1E8 shr ax,1
00000BCF 678807 mov [edi],al
00000BD2 6646 inc esi
00000BD4 6647 inc edi
00000BD6 6646 inc esi
00000BD8 6647 inc edi
00000BDA 6649 dec ecx
00000BDC 75C5 jnz 0xba3
00000BDE C3 ret
00000BDF 6667833EFF cmp dword [esi],byte -0x1
00000BE4 7508 jnz 0xbee
00000BE6 6667C70700000000 mov dword [edi],0x0
00000BEE 6683C604 add esi,byte +0x4
00000BF2 6683C704 add edi,byte +0x4
00000BF6 E2E7 loop 0xbdf
00000BF8 C3 ret
00000BF9 B92000 mov cx,0x20
00000BFC 51 push cx
00000BFD B92000 mov cx,0x20
00000C00 51 push cx
00000C01 6657 push edi
00000C03 B508 mov ch,0x8
00000C05 B108 mov cl,0x8
00000C07 66678907 mov [edi],eax
00000C0B 6683C704 add edi,byte +0x4
00000C0F FEC9 dec cl
00000C11 75F4 jnz 0xc07
00000C13 6681C7E0030000 add edi,0x3e0
00000C1A FECD dec ch
00000C1C 75E7 jnz 0xc05
00000C1E 665F pop edi
00000C20 6683C720 add edi,byte +0x20
00000C24 660599198219 add eax,0x19821999
00000C2A 59 pop cx
00000C2B E2D3 loop 0xc00
00000C2D 6681C7001C0000 add edi,0x1c00
00000C34 59 pop cx
00000C35 E2C5 loop 0xbfc