seg000:0000 ; File Name : H:\GTX670.BIN seg000:0000 ; Format : Binary file seg000:0000 ; Base Address: C000h Range: C0000h - CE600h Loaded length: E600h seg000:0000 seg000:0000 .686p seg000:0000 .mmx seg000:0000 .model flat seg000:0000 seg000:0000 ; =========================================================================== seg000:0000 seg000:0000 ; Segment type: Pure code seg000:0000 seg000 segment byte public 'CODE' use16 seg000:0000 assume cs:seg000 seg000:0000 assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing seg000:0000 db 55h ; U seg000:0001 byte_C0001 db 0AAh, 73h, 0EBh, 4Bh, 37h, 34h, 2 dup(30h), 0E9h, 4Ch seg000:0001 ; DATA XREF: seg000:2C03w seg000:0001 ; sub_C2C15+9r ... seg000:0001 db 19h, 77h, 0CCh, 56h, 49h, 44h, 45h, 4Fh, 20h, 0Dh, 3 dup(0) seg000:0001 db 90h, 1, 26h, 1Bh, 2 dup(0), 49h, 42h, 4Dh, 20h, 56h seg000:0001 db 47h, 41h, 20h, 43h, 6Fh, 6Dh, 70h, 61h, 74h, 69h, 62h seg000:0001 db 6Ch, 65h, 1, 3 dup(0), 0C0h, 0, 95h, 52h, 31h, 32h seg000:0001 db 2Fh, 32h, 30h, 2Fh, 31h, 32h, 9 dup(0), 10h, 40h, 0 seg000:0001 db 0E1h, 0F0h, 2 dup(0), 0E9h, 9Eh, 2Bh, 0, 42h, 38h, 77h seg000:0001 db 36h, 3 dup(0FFh), 7Fh, 4 dup(0), 3 dup(0FFh), 7Fh, 3 dup(0) seg000:0001 db 80h, 0ADh, 52h, 0A5h, 0E4h, 0E9h, 0F4h, 45h, 0E9h, 0FBh seg000:0001 db 45h, 50h, 4Dh, 49h, 44h, 6Ch, 0, 6Fh, 4 dup(0), 0A0h seg000:0001 db 0, 0B0h, 0, 0B8h, 0, 0C0h, 0 seg000:0085 db 33h ; 3 seg000:0086 db 47h ; G seg000:0087 aK104P2004Sku00 db 'K104 P2004 SKU 0005 VGA BIOS (HWDIAG)',0Dh,0Ah,0 seg000:00AF db 28h dup(0) seg000:00D7 db 56h ; V seg000:00D8 aErsion80_04_5c db 'ersion 80.04.5C.00.70 ',0Dh,0Ah,0 seg000:00F1 db 43h ; C seg000:00F2 aOpyrightC19962 db 'opyright (C) 1996-2012 NVIDIA Corp.',0Dh,0Ah,0 seg000:0118 db 3 dup(0), 1, 0, 0C0h, 0, 0C0h, 0, 0EFh seg000:0118 ; DATA XREF: sub_C469F+1r seg000:0118 ; seg000:46ABr ... seg000:0122 db 47h ; G seg000:0123 aK104Board20040 db 'K104 Board - 20040005',0 seg000:0139 byte_C0139 db 0Ch dup(0), 43h, 68h, 69h, 70h, 20h, 52h, 65h, 76h seg000:0139 db 3 dup(20h), 9 dup(0), 0BAh, 91h, 98h, 96h, 91h, 2 dup(9Ah) seg000:0139 db 8Dh, 96h, 91h, 98h, 0DFh, 0ADh, 9Ah, 93h, 9Ah, 9Eh seg000:0139 db 8Ch, 9Ah, 0DFh, 0D2h, 0DFh, 0B1h, 90h, 8Bh, 0DFh, 0B9h seg000:0139 db 90h, 8Dh, 0DFh, 0AFh, 8Dh, 90h, 9Bh, 8Ah, 9Ch, 8Bh seg000:0139 db 96h, 90h, 91h, 0DFh, 0AAh, 8Ch, 9Ah, 0F2h, 0F5h, 0FFh seg000:0139 db 8 dup(0), 50h, 43h, 49h, 52h, 0DEh, 10h, 89h, 11h, 2 dup(0) seg000:0139 db 18h, 4 dup(0), 3, 73h, 0, 1, 2 dup(0), 80h, 2 dup(0) seg000:0139 db 2Eh, 8Bh, 0C0h, 2Eh, 8Bh, 0C0h, 8Bh, 0C0h, 4Eh, 50h seg000:0139 db 44h, 45h, 0, 1, 0Ch, 0, 79h, 2 dup(0), 1, 4 dup(0) seg000:0139 db 0FFh, 0B8h, 42h, 49h, 54h, 2 dup(0), 1, 0Ch, 6, 12h seg000:0139 db 45h, 32h, 1, 4, 0, 48h, 2, 42h, 2, 21h, 0, 54h, 2, 43h seg000:0139 db 1, 0Eh, 0, 75h, 2, 44h, 1, 4, 0, 83h, 2, 41h, 1, 3 seg000:0139 db 0, 87h, 2, 49h, 1, 12h, 0, 8Ah, 2, 4Ch, 1, 2, 0, 9Ch seg000:0139 db 2, 4Dh, 2, 11h, 0, 9Eh, 2, 4Eh, 5 dup(0), 50h, 2, 54h seg000:0139 db 0, 0AFh, 2, 53h, 2, 18h, 0, 2 dup(3), 54h, 1, 2, 0 seg000:0139 db 1Bh, 3, 55h, 1, 3, 0, 1Dh, 3, 56h, 1, 6, 0, 20h, 3 seg000:0139 db 78h, 1, 8, 0, 26h, 3, 64h, 1, 2, 0, 2Eh, 3, 70h, 1 seg000:0139 db 0Fh, 0, 30h, 3, 69h, 2, 44h, 0, 40h, 3, 2 dup(0), 84h seg000:0139 db 3, 99h, 4Bh, 4Ch, 63h, 34h, 6Ah, 0B6h, 0A7h, 11h dup(0) seg000:0139 db 5Ch, 4, 80h, 70h, 0C4h, 4 dup(0), 0A8h, 7, 8 dup(0) seg000:0139 db 2, 0, 2 dup(5Ch), 38h, 2, 2 dup(0), 4Ch, 2, 4, 0, 1 seg000:0139 db 8 dup(0), 0B5h, 4Ch, 0A3h, 9Bh, 2 dup(0), 0DAh, 50h seg000:0139 db 57h, 43h, 3 dup(0), 25h, 4Eh, 33h, 4Eh, 3Fh, 4Eh, 6Fh seg000:0139 db 4Eh, 97h, 50h, 0D8h, 50h, 33h, 4Eh, 8Ch, 0A7h, 0D8h seg000:0139 db 50h, 2 dup(0), 8, 9Eh, 4Ch, 84h, 4Dh, 3Ah, 7Eh, 2 dup(0) seg000:0139 db 81h, 7Eh, 2 dup(0), 1Bh, 4Eh, 2 dup(0), 35h, 6Ah, 2 dup(0) seg000:0139 db 52h, 6Dh, 2 dup(0), 0FFh, 6Eh, 2 dup(0), 69h, 71h, 2 dup(0) seg000:0139 db 0BCh, 7Dh, 6 dup(0), 22h, 7Eh, 6 dup(0), 0DEh, 71h seg000:0139 db 2 dup(0), 38h, 6Dh, 2 dup(0), 58h, 7Bh, 2 dup(0), 49h seg000:0139 db 7Ch, 2 dup(0), 4Bh, 6Bh, 2 dup(0), 0B1h, 6Bh, 2 dup(0) seg000:0139 db 0D0h, 6Ch, 2 dup(0), 8Fh, 7Bh, 2 dup(0), 0A0h, 7Dh seg000:0139 db 2 dup(0), 45h, 6Dh, 0Bh dup(0), 7Eh, 2 dup(0), 86h seg000:0139 db 0, 50h, 0D7h, 0, 19h, 0F1h, 0, 28h, 99h, 4Bh, 14h, 0ADh seg000:0139 db 4Bh, 23h, 22h, 1, 23h, 45h, 1, 14h, 0D0h, 4Bh, 28h seg000:0139 db 0A5h, 51h, 0F8h, 4Bh, 0, 73h, 4Ch, 2Fh, 4Ch, 4 dup(0) seg000:0139 db 2 dup(1), 4 dup(0), 1Ah, 61h, 2 dup(0), 7Eh, 0F2h, 2 dup(0) seg000:0139 db 64h, 4Eh, 1, 0, 40h, 24h, 2 dup(0), 8, 90h, 0, 5Ch seg000:0139 db 4, 80h, 1Ah, 2 dup(0), 0AEh, 0E9h, 0D0h, 0, 13h, 0E1h seg000:0139 db 2 dup(0), 30h, 38h, 2Fh, 31h, 36h, 2Fh, 31h, 32h, 0Ah dup(0) seg000:0139 db 8Dh, 0A7h, 7, 1, 10h, 3 dup(0), 80h, 1, 5 dup(0), 33h seg000:0139 db 32h, 35h, 30h, 32h, 2 dup(30h), 34h, 3 dup(30h), 35h seg000:0139 db 8 dup(0), 10h, 0, 0F1h, 6, 30h, 7, 4Dh, 7, 4Dh, 7, 0BFh seg000:0139 db 8, 0B8h, 8, 0FBh, 9, 0F2h, 9, 0ECh, 8, 0ECh, 8, 1, 8 seg000:0139 db 0Dh, 9, 8Fh, 10h, 22h, 9, 3Ch, 63h, 20h, 0, 0F1h, 6 seg000:0139 db 30h, 7, 4Dh, 7, 4Dh, 7, 0BFh, 8, 0B8h, 8, 0FBh, 9, 0F2h seg000:0139 db 9, 0ECh, 8, 0ECh, 8, 2Ch, 0, 18h, 7, 0F3h, 8, 3Ch, 63h seg000:0139 db 31h, 0, 0C1h, 5, 0C1h, 5, 2Fh, 0Ch, 35h, 0, 0C1h, 5 seg000:0139 db 4Fh, 0Ch, 0Fh, 0Ah, 0F4h, 0Ah, 22h, 0Ch, 0BAh, 10h seg000:03D8 db 39h ; 9 seg000:03D9 db 11h seg000:03DA db 39h ; 9 seg000:03DB db 11h seg000:03DC db 47h ; G seg000:03DD db 0 seg000:03DE db 4Dh ; M seg000:03DF db 7 seg000:03E0 db 4Dh ; M seg000:03E1 db 7 seg000:03E2 db 4Ch ; L seg000:03E3 db 0 seg000:03E4 db 0D3h ; Ë seg000:03E5 db 0Ch seg000:03E6 db 0A2h ; ó seg000:03E7 db 0Ch seg000:03E8 db 68h ; h seg000:03E9 db 0Ch seg000:03EA db 51h ; Q seg000:03EB db 0 seg000:03EC db 0B0h ; - seg000:03ED db 0Fh seg000:03EE db 0BFh ; ¬ seg000:03EF db 8 seg000:03F0 db 0FBh ; û seg000:03F1 db 9 seg000:03F2 db 4 seg000:03F3 db 0Ah seg000:03F4 db 51h ; Q seg000:03F5 db 9 seg000:03F6 db 85h ; ù seg000:03F7 db 9 seg000:03F8 db 0DEh ; Ù seg000:03F9 db 6 seg000:03FA db 7Ah ; z seg000:03FB db 7 seg000:03FC db 0C1h ; + seg000:03FD db 5 seg000:03FE db 0C1h ; + seg000:03FF db 5 seg000:0400 db 53h ; S seg000:0401 db 0Ch seg000:0402 db 0C1h ; + seg000:0403 db 5 seg000:0404 db 0C1h ; + seg000:0405 db 5 seg000:0406 db 9Fh ; è seg000:0407 db 0Fh seg000:0408 db 2Fh ; / seg000:0409 db 0Ah seg000:040A db 61h ; a seg000:040B db 0 seg000:040C db 0C1h ; + seg000:040D db 5 seg000:040E db 0F2h ; ² seg000:040F db 9 seg000:0410 db 0A2h ; ó seg000:0411 db 10h seg000:0412 db 66h ; f seg000:0413 db 0 seg000:0414 db 4Bh ; K seg000:0415 db 0Ch seg000:0416 db 4Bh ; K seg000:0417 db 0Ch seg000:0418 db 4Bh ; K seg000:0419 db 0Ch seg000:041A db 1 seg000:041B db 8 seg000:041C db 1Bh seg000:041D db 0Bh seg000:041E db 0Eh seg000:041F db 0Bh seg000:0420 db 4Bh ; K seg000:0421 db 0Ch seg000:0422 db 6Eh ; n seg000:0423 db 0 seg000:0424 db 0F1h ; ½ seg000:0425 db 6 seg000:0426 db 2Fh ; / seg000:0427 db 0Bh seg000:0428 db 71h ; q seg000:0429 db 0 seg000:042A db 4Bh ; K seg000:042B db 0Ch seg000:042C db 0F0h ; ­ seg000:042D db 0Ah seg000:042E db 74h ; t seg000:042F db 0 seg000:0430 db 0CBh ; T seg000:0431 db 6 seg000:0432 db 86h ; æ seg000:0433 db 0Bh seg000:0434 db 0D3h ; Ë seg000:0435 db 0Bh seg000:0436 db 78h ; x seg000:0437 db 0 seg000:0438 db 0B8h ; ª seg000:0439 db 8 seg000:043A db 7Ah ; z seg000:043B db 0 seg000:043C db 30h ; 0 seg000:043D db 7 seg000:043E db 0E5h ; ò seg000:043F db 0Fh seg000:0440 db 0E5h ; ò seg000:0441 db 0Fh seg000:0442 db 0E5h ; ò seg000:0443 db 0Fh seg000:0444 db 15h seg000:0445 db 10h seg000:0446 db 3Fh ; ? seg000:0447 db 10h seg000:0448 db 3Fh ; ? seg000:0449 db 10h seg000:044A db 3Fh ; ? seg000:044B db 10h seg000:044C db 69h ; i seg000:044D db 10h seg000:044E db 0ECh ; ý seg000:044F db 8 seg000:0450 db 0ECh ; ý seg000:0451 db 8 seg000:0452 db 87h ; ç seg000:0453 db 0 seg000:0454 db 0C1h ; + seg000:0455 db 7 seg000:0456 db 0A4h ; ¥ seg000:0457 db 7 seg000:0458 db 8Ah ; Õ seg000:0459 db 0 seg000:045A db 0C1h ; + seg000:045B db 5 seg000:045C db 9Fh ; è seg000:045D db 6 seg000:045E db 0A7h ; ž seg000:045F db 6 seg000:0460 db 0A8h ; Ê seg000:0461 db 6 seg000:0462 db 0A9h ; ê seg000:0463 db 6 seg000:0464 db 8Fh ; Æ seg000:0465 db 0 seg000:0466 db 8Eh ; Ä seg000:0467 db 0Ah seg000:0468 db 0D6h ; Í seg000:0469 db 0Ah seg000:046A db 7Ah ; z seg000:046B db 7 seg000:046C db 95h ; ¼ seg000:046D db 0 seg000:046E db 3Ch ; < seg000:046F db 63h ; c seg000:0470 db 70h ; p seg000:0471 db 0Dh seg000:0472 db 0B8h ; ª seg000:0473 db 0Dh seg000:0474 db 0F7h ; ¸ seg000:0475 db 0Dh seg000:0476 db 58h ; X seg000:0477 db 0Eh seg000:0478 db 9Fh ; è seg000:0479 db 0Fh seg000:047A db 9Eh ; × seg000:047B db 0 seg000:047C db 0A3h ; ú seg000:047D db 10h seg000:047E db 0A6h ; Ž seg000:047F db 0 seg000:0480 db 0A9h ; ê seg000:0481 db 0Eh seg000:0482 db 10h seg000:0483 db 0Fh seg000:0484 db 0A9h ; ê seg000:0485 db 6 seg000:0486 db 0A9h ; ê seg000:0487 db 6 seg000:0488 seg000:0488 ; =============== S U B R O U T I N E ======================================= seg000:0488 seg000:0488 seg000:0488 sub_C0488 proc near ; CODE XREF: sub_C04FB+4p seg000:0488 ; sub_C053B+7p seg000:0488 xor al, al seg000:048A cmp bh, 0F0h ; '­' seg000:048D jnz short loc_C0493 seg000:048F mov bh, 0F0h ; '­' seg000:0491 jmp short locret_C04BD seg000:0493 ; --------------------------------------------------------------------------- seg000:0493 seg000:0493 loc_C0493: ; CODE XREF: sub_C0488+5j seg000:0493 call sub_C23C7 seg000:0496 push ax seg000:0497 call sub_C20D9 seg000:049A mov ah, al seg000:049C test ah, 1 seg000:049F jz short loc_C04A5 seg000:04A1 mov ah, 0 seg000:04A3 jmp short loc_C04AC seg000:04A5 ; --------------------------------------------------------------------------- seg000:04A5 seg000:04A5 loc_C04A5: ; CODE XREF: sub_C0488+17j seg000:04A5 cmp ah, 2 seg000:04A8 jnz short loc_C04AC seg000:04AA mov ah, 1 seg000:04AC seg000:04AC loc_C04AC: ; CODE XREF: sub_C0488+1Bj seg000:04AC ; sub_C0488+20j seg000:04AC shl ah, 2 seg000:04AF call sub_C20B9 seg000:04B2 and bh, 3 seg000:04B5 shl al, 4 seg000:04B8 or bh, al seg000:04BA or bh, ah seg000:04BC pop ax seg000:04BD seg000:04BD locret_C04BD: ; CODE XREF: sub_C0488+9j seg000:04BD retn seg000:04BD sub_C0488 endp seg000:04BD seg000:04BE seg000:04BE ; =============== S U B R O U T I N E ======================================= seg000:04BE seg000:04BE seg000:04BE sub_C04BE proc near ; CODE XREF: sub_C054C+9p seg000:04BE ; sub_C0561+7p seg000:04BE and bh, 3 seg000:04C1 shl bl, 4 seg000:04C4 and bl, 0F0h seg000:04C7 or bh, bl seg000:04C9 mov bl, cl seg000:04CB shl bl, 2 seg000:04CE and bl, 4 seg000:04D1 or bh, bl seg000:04D3 retn seg000:04D3 sub_C04BE endp seg000:04D3 seg000:04D4 seg000:04D4 ; =============== S U B R O U T I N E ======================================= seg000:04D4 seg000:04D4 seg000:04D4 sub_C04D4 proc near ; CODE XREF: sub_C04E1+6p seg000:04D4 ; sub_C04ED+8p ... seg000:04D4 xor ch, ch seg000:04D6 shl al, 2 seg000:04D9 or ch, al seg000:04DB xor bl, bl seg000:04DD call sub_C0585 seg000:04E0 retn seg000:04E0 sub_C04D4 endp seg000:04E0 seg000:04E1 seg000:04E1 ; =============== S U B R O U T I N E ======================================= seg000:04E1 seg000:04E1 seg000:04E1 sub_C04E1 proc near ; CODE XREF: sub_C9516+Fp seg000:04E1 ; sub_C9516+22p ... seg000:04E1 pushad seg000:04E3 xor al, al seg000:04E5 mov bh, 0F0h ; '­' seg000:04E7 call sub_C04D4 seg000:04EA popad seg000:04EC retn seg000:04EC sub_C04E1 endp seg000:04EC seg000:04ED seg000:04ED ; =============== S U B R O U T I N E ======================================= seg000:04ED seg000:04ED seg000:04ED sub_C04ED proc near ; CODE XREF: sub_C9516+49p seg000:04ED pushad seg000:04EF xor di, di seg000:04F1 xor al, al seg000:04F3 mov bh, 0F0h ; '­' seg000:04F5 call sub_C04D4 seg000:04F8 popad seg000:04FA retn seg000:04FA sub_C04ED endp seg000:04FA seg000:04FB seg000:04FB ; =============== S U B R O U T I N E ======================================= seg000:04FB seg000:04FB seg000:04FB sub_C04FB proc near ; CODE XREF: sub_C8DB4+2Ap seg000:04FB ; sub_C8DF9+31p ... seg000:04FB pushad seg000:04FD xor di, di seg000:04FF call sub_C0488 seg000:0502 call sub_C04D4 seg000:0505 popad seg000:0507 retn seg000:0507 sub_C04FB endp seg000:0507 seg000:0507 ; --------------------------------------------------------------------------- seg000:0508 db 66h ; f seg000:0509 db 60h ; ` seg000:050A db 32h ; 2 seg000:050B db 0C9h ; - seg000:050C db 0E8h ; À seg000:050D db 0AFh ; » seg000:050E db 0FFh seg000:050F db 32h ; 2 seg000:0510 db 0C0h ; L seg000:0511 db 0E8h ; À seg000:0512 db 0C0h ; L seg000:0513 db 0FFh seg000:0514 db 66h ; f seg000:0515 db 61h ; a seg000:0516 db 0C3h ; + seg000:0517 seg000:0517 ; =============== S U B R O U T I N E ======================================= seg000:0517 seg000:0517 seg000:0517 sub_C0517 proc near ; CODE XREF: sub_C0529+Bp seg000:0517 ; sub_C053B+Ap ... seg000:0517 mov si, sp seg000:0519 mov si, ss:[si+24h] seg000:051D call sub_C04D4 seg000:0520 mov ax, si seg000:0522 mov si, sp seg000:0524 mov ss:[si+24h], ax seg000:0528 retn seg000:0528 sub_C0517 endp seg000:0528 seg000:0529 seg000:0529 ; =============== S U B R O U T I N E ======================================= seg000:0529 seg000:0529 seg000:0529 sub_C0529 proc near ; CODE XREF: sub_C148A+3p seg000:0529 ; sub_C2F7Fp ... seg000:0529 push es seg000:052A pushad seg000:052C mov di, sp seg000:052E push ss seg000:052F pop es seg000:0530 xor al, al seg000:0532 mov bh, 0F0h ; '­' seg000:0534 call sub_C0517 seg000:0537 popad seg000:0539 pop es seg000:053A retn seg000:053A sub_C0529 endp seg000:053A seg000:053B seg000:053B ; =============== S U B R O U T I N E ======================================= seg000:053B seg000:053B seg000:053B sub_C053B proc near ; CODE XREF: sub_C678E+1p seg000:053B ; seg000:67B0p seg000:053B push es seg000:053C pushad seg000:053E xor al, al seg000:0540 mov bh, 0F0h ; '­' seg000:0542 call sub_C0488 seg000:0545 call sub_C0517 seg000:0548 popad seg000:054A pop es seg000:054B retn seg000:054B sub_C053B endp seg000:054B seg000:054C seg000:054C ; =============== S U B R O U T I N E ======================================= seg000:054C seg000:054C seg000:054C sub_C054C proc near ; CODE XREF: seg000:B9EAp seg000:054C push es seg000:054D pushad seg000:054F mov di, sp seg000:0551 push ss seg000:0552 pop es seg000:0553 xor cl, cl seg000:0555 call sub_C04BE seg000:0558 xor al, al seg000:055A call sub_C0517 seg000:055D popad seg000:055F pop es seg000:0560 retn seg000:0560 sub_C054C endp seg000:0560 seg000:0561 seg000:0561 ; =============== S U B R O U T I N E ======================================= seg000:0561 seg000:0561 seg000:0561 sub_C0561 proc near ; CODE XREF: seg000:B95Dp seg000:0561 ; seg000:B991p ... seg000:0561 push es seg000:0562 pushad seg000:0564 mov di, sp seg000:0566 push ss seg000:0567 pop es seg000:0568 call sub_C04BE seg000:056B xor al, al seg000:056D call sub_C0517 seg000:0570 popad seg000:0572 pop es seg000:0573 retn seg000:0573 sub_C0561 endp seg000:0573 seg000:0573 ; --------------------------------------------------------------------------- seg000:0574 db 6 seg000:0575 db 66h ; f seg000:0576 db 60h ; ` seg000:0577 db 32h ; 2 seg000:0578 db 0C9h ; - seg000:0579 db 0E8h ; À seg000:057A db 42h ; B seg000:057B db 0FFh seg000:057C db 32h ; 2 seg000:057D db 0C0h ; L seg000:057E db 0E8h ; À seg000:057F db 96h ; ¾ seg000:0580 db 0FFh seg000:0581 db 66h ; f seg000:0582 db 61h ; a seg000:0583 db 7 seg000:0584 db 0C3h ; + seg000:0585 seg000:0585 ; =============== S U B R O U T I N E ======================================= seg000:0585 seg000:0585 seg000:0585 sub_C0585 proc near ; CODE XREF: sub_C04D4+9p seg000:0585 mov cl, bl seg000:0587 seg000:0587 loc_C0587: ; CODE XREF: sub_C0585+39j seg000:0587 mov bl, cs:[si] seg000:058A inc si seg000:058B push cx seg000:058C push si seg000:058D mov cx, 82h ; 'é' seg000:0590 mov dh, 0FFh seg000:0592 mov si, 384h seg000:0595 cld seg000:0596 seg000:0596 loc_C0596: ; CODE XREF: sub_C0585+1Cj seg000:0596 ; sub_C0585+22j seg000:0596 lods word ptr cs:[si] seg000:0598 test ax, 0FF00h seg000:059B jnz short loc_C05A3 seg000:059D dec al seg000:059F mov dh, al seg000:05A1 loop loc_C0596 seg000:05A3 seg000:05A3 loc_C05A3: ; CODE XREF: sub_C0585+16j seg000:05A3 inc dh seg000:05A5 cmp dh, bl seg000:05A7 loopne loc_C0596 seg000:05A9 pop si seg000:05AA pop cx seg000:05AB jz short loc_C05B2 seg000:05AD call sub_C1C2A seg000:05B0 jmp short locret_C05C0 seg000:05B2 ; --------------------------------------------------------------------------- seg000:05B2 seg000:05B2 loc_C05B2: ; CODE XREF: sub_C0585+26j seg000:05B2 and ch, 14h seg000:05B5 xchg cl, bl seg000:05B7 call ax seg000:05B9 mov cl, bl seg000:05BB test ch, 3 seg000:05BE jz short loc_C0587 seg000:05C0 seg000:05C0 locret_C05C0: ; CODE XREF: sub_C0585+2Bj seg000:05C0 retn seg000:05C0 sub_C0585 endp seg000:05C0 seg000:05C0 ; --------------------------------------------------------------------------- seg000:05C1 db 0E8h ; À seg000:05C2 db 66h ; f seg000:05C3 db 16h seg000:05C4 db 0C3h ; + seg000:05C5 db 66h ; f seg000:05C6 db 50h ; P seg000:05C7 db 66h ; f seg000:05C8 db 0Fh seg000:05C9 db 0B6h ;  seg000:05CA db 0F7h ; ¸ seg000:05CB db 66h ; f seg000:05CC db 0F7h ; ¸ seg000:05CD db 0C2h ; T seg000:05CE db 0 seg000:05CF db 0 seg000:05D0 db 0 seg000:05D1 db 80h ; Ç seg000:05D2 db 74h ; t seg000:05D3 db 0Fh seg000:05D4 db 66h ; f seg000:05D5 db 0B8h ; ª seg000:05D6 db 0 seg000:05D7 db 8 seg000:05D8 db 0 seg000:05D9 db 0 seg000:05DA db 83h ; â seg000:05DB db 0E6h, 3, 66h, 0Fh, 0AFh, 0C6h, 0EBh, 44h, 66h, 0F7h seg000:05DB db 0C2h, 3 dup(0), 40h, 74h, 38h, 56h, 81h, 0E6h, 0F0h seg000:05DB db 0, 0C1h, 0EEh, 4, 66h, 0B8h, 0, 8, 2 dup(0), 66h, 0Fh seg000:05DB db 0AFh, 0C6h, 5Eh, 66h, 0F7h, 0C2h, 3 dup(0), 20h, 74h seg000:05DB db 1Fh, 66h, 51h, 66h, 8Bh, 0C8h, 83h, 0E6h, 4, 0C1h, 0EEh seg000:05DB db 2, 66h, 0B8h, 80h, 3 dup(0), 66h, 0Fh, 0AFh, 0C6h, 66h seg000:05DB db 3, 0C1h, 66h, 59h, 0EBh, 3, 66h, 33h, 0C0h, 66h, 3 seg000:05DB db 0C2h, 66h, 25h, 3 dup(0FFh), 0Fh, 66h, 8Bh, 0F0h, 66h seg000:05DB db 58h, 0C3h, 66h, 56h, 0E8h, 8Ah, 0FFh, 0E8h, 1Eh, 41h seg000:05DB db 66h, 5Eh, 0C3h, 66h, 56h, 0E8h, 7Fh, 0FFh, 0E8h, 0F8h seg000:05DB db 40h, 66h, 5Eh, 0C3h, 80h, 0F9h, 30h, 72h, 9, 66h, 2Eh seg000:05DB db 8Bh, 14h, 83h, 0C6h, 4, 0EBh, 44h, 80h, 0F9h, 20h, 72h seg000:05DB db 0Fh, 2Eh, 0Fh, 0B6h, 14h, 46h, 57h, 3, 0FAh, 66h, 26h seg000:05DB db 8Bh, 15h, 5Fh, 0EBh, 30h, 66h, 0F7h, 0D2h, 66h, 50h seg000:05DB db 51h, 0B9h, 20h, 0, 66h, 0D1h, 0CAh, 73h, 17h, 0FEh seg000:05DB db 0C3h, 51h, 26h, 8Ah, 2Dh, 8Ah, 0CBh, 80h, 0FBh, 8, 72h seg000:05DB db 7, 32h, 0DBh, 0Bh, 0FFh, 74h, 1, 47h, 0D2h, 0EDh, 59h seg000:05DB db 66h, 0D1h, 0D8h, 0E2h, 0DFh, 66h, 8Bh, 0D0h, 59h, 66h seg000:05DB db 58h, 0C3h, 0F6h, 0C5h, 10h, 75h, 2, 0CDh, 1, 3 dup(0C3h) seg000:05DB db 33h, 0C0h, 80h, 0F9h, 8Eh, 74h, 4, 2Eh, 8Ah, 4, 46h seg000:05DB db 8Ah, 0E1h, 8Bh, 0F8h, 66h, 0C1h, 0E7h, 10h, 8Bh, 0FEh seg000:05DB db 0F6h, 0C5h, 10h, 75h, 3, 0E8h, 1Dh, 11h, 32h, 0E4h seg000:05DB db 3, 0F0h, 0C3h, 51h, 2Eh, 8Bh, 4, 83h, 0C6h, 2, 0F6h seg000:05DB db 0C5h, 10h, 75h, 5, 8Bh, 0C8h, 0E8h, 86h, 2Dh, 59h, 0C3h seg000:05DB db 51h, 2Eh, 8Bh, 4, 83h, 0C6h, 2, 0F6h, 0C5h, 10h, 75h seg000:05DB db 5, 8Bh, 0C8h, 0E8h, 89h, 2Dh, 59h, 0C3h, 66h, 2Eh, 8Bh seg000:05DB db 14h, 83h, 0C6h, 4, 0E8h, 3Bh, 0FFh, 66h, 52h, 66h, 2Eh seg000:05DB db 8Bh, 14h, 83h, 0C6h, 4, 66h, 23h, 0C2h, 0E8h, 42h, 0FFh seg000:05DB db 66h, 0Bh, 0C2h, 66h, 5Ah, 0F6h, 0C5h, 10h, 75h, 3, 0E8h seg000:05DB db 2Ah, 0FFh, 0C3h, 66h, 2Eh, 8Bh, 14h, 83h, 0C6h, 4, 0E8h seg000:05DB db 14h, 0FFh, 2Eh, 0Fh, 0B6h, 14h, 46h, 57h, 3, 0FAh, 66h seg000:05DB db 26h, 89h, 5, 5Fh, 0C3h, 66h, 2Eh, 8Bh, 14h, 83h, 0C6h seg000:05DB db 4, 66h, 52h, 66h, 33h, 0D2h, 0E8h, 0Dh, 0FFh, 66h, 8Bh seg000:05DB db 0C2h, 66h, 5Ah, 0F6h, 0C5h, 10h, 75h, 3, 0E8h, 0F5h seg000:05DB db 0FEh, 0C3h, 66h, 2Eh, 8Bh, 14h, 83h, 0C6h, 4, 0E8h seg000:05DB db 0DFh, 0FEh, 66h, 52h, 66h, 33h, 0D2h, 0E8h, 0EDh, 0FEh seg000:05DB db 0F6h, 0C1h, 1, 74h, 8, 66h, 0F7h, 0D2h, 66h, 23h, 0C2h seg000:05DB db 0EBh, 3, 66h, 0Bh, 0C2h, 66h, 5Ah, 0F6h, 0C5h, 10h seg000:05DB db 75h, 3, 0E8h, 0C8h, 0FEh, 0C3h, 53h, 66h, 2Eh, 8Bh seg000:05DB db 14h, 83h, 0C6h, 4, 2Eh, 8Ah, 1Ch, 46h, 66h, 2Eh, 8Bh seg000:05DB db 4, 83h, 0C6h, 4, 0F6h, 0C5h, 10h, 75h, 3, 0E8h, 0ACh seg000:05DB db 0FEh, 80h, 0F9h, 58h, 75h, 4, 66h, 83h, 0C2h, 4, 0FEh seg000:05DB db 0CBh, 75h, 0E4h, 5Bh, 0C3h, 2Eh, 8Ah, 14h, 46h, 66h seg000:05DB db 2Eh, 8Bh, 4, 83h, 0C6h, 4, 0F6h, 0C5h, 10h, 75h, 0Ch seg000:05DB db 66h, 51h, 66h, 8Bh, 0C8h, 8Ah, 0C2h, 0E8h, 0C8h, 31h seg000:05DB db 66h, 59h, 0C3h, 0E8h, 0B8h, 2, 8Ah, 0CAh, 2Eh, 8Ah seg000:05DB db 14h, 46h, 56h, 3, 0F0h, 66h, 2Eh, 8Bh, 4, 0Ah, 0D2h seg000:05DB db 74h, 11h, 0F6h, 0C5h, 10h, 75h, 0Ch, 66h, 51h, 66h seg000:05DB db 8Bh, 0C8h, 8Ah, 0C2h, 0E8h, 0A2h, 31h, 66h, 59h seg000:07E6 db 5Eh, 0Fh, 0B6h, 0C1h, 3, 0F0h, 0C3h, 81h, 0FAh, 0D4h seg000:07E6 db 3, 75h, 3, 0E8h, 4Dh, 15h, 0C3h, 2Eh, 8Bh, 14h, 83h seg000:07E6 db 0C6h, 2, 0E8h, 0EDh, 0FFh, 0C3h, 0E8h, 0F3h, 0FFh, 52h seg000:07E6 db 81h, 0FAh, 0C2h, 3, 75h, 3, 0BAh, 0CCh, 3, 0ECh, 2Eh seg000:07E6 db 8Ah, 14h, 46h, 22h, 0C2h, 0E8h, 0Ah, 0, 0Ah, 0C2h, 5Ah seg000:07E6 db 0F6h, 0C5h, 10h, 75h, 1, 0EEh, 0C3h, 80h, 0F9h, 30h seg000:07E6 db 72h, 6, 2Eh, 8Ah, 14h, 46h, 0EBh, 3Dh, 80h, 0F9h, 20h seg000:07E6 db 72h, 0Eh, 53h, 2Eh, 0Fh, 0B6h, 1Ch, 46h, 3, 0DFh, 26h seg000:07E6 db 8Ah, 17h, 5Bh, 0EBh, 2Ah, 0F6h, 0D2h, 50h, 51h, 0B9h seg000:07E6 db 8, 0, 0D0h, 0CAh, 73h, 17h, 0FEh, 0C3h, 51h, 26h, 8Ah seg000:07E6 db 2Dh, 8Ah, 0CBh, 80h, 0FBh, 8, 72h, 7, 32h, 0DBh, 0Bh seg000:07E6 db 0FFh, 74h, 1, 47h, 0D2h, 0EDh, 59h, 0D0h, 0D8h, 0E2h seg000:07E6 db 0E1h, 8Ah, 0D0h, 59h, 58h, 0C3h, 81h, 0FAh, 0C0h, 3 seg000:07E6 db 74h, 2, 0ECh, 50h, 2Eh, 8Ah, 4, 46h, 81h, 0FAh, 0C0h seg000:07E6 db 3, 75h, 0Dh, 0E8h, 0C3h, 15h, 0EEh, 42h, 8Ah, 0E0h seg000:07E6 db 0ECh, 86h, 0C4h, 4Ah, 0EBh, 3, 0E8h, 3, 13h, 52h, 2Eh seg000:07E6 db 8Ah, 14h, 46h, 22h, 0E2h, 0E8h, 8Bh, 0FFh, 0Ah, 0E2h seg000:07E6 db 5Ah, 0F6h, 0C5h, 10h, 75h, 10h, 81h, 0FAh, 0C0h, 3 seg000:07E6 db 75h, 9, 0E8h, 9Bh, 15h, 0EEh, 86h, 0C4h, 0EEh, 0EBh seg000:07E6 db 1, 0EFh, 81h, 0FAh, 0C0h, 3, 74h, 2, 58h, 0EEh, 0C3h seg000:07E6 db 0E8h, 3Ch, 0FFh, 0E8h, 0ADh, 0FFh, 0C3h, 0E8h, 81h seg000:07E6 db 14h, 0E8h, 0A6h, 0FFh, 0C3h, 0ECh, 50h, 2Eh, 8Ah, 4 seg000:07E6 db 46h, 0E8h, 0C1h, 12h, 52h, 32h, 0D2h, 0E8h, 4Dh, 0FFh seg000:07E6 db 0F6h, 0C1h, 1, 74h, 6, 0F6h, 0D2h, 22h, 0E2h, 0EBh seg000:07E6 db 2, 0Ah, 0E2h, 5Ah, 0F6h, 0C5h, 10h, 75h, 1, 0EFh, 58h seg000:07E6 db 0EEh, 0C3h, 0E8h, 54h, 14h, 0E8h, 0D4h, 0FFh, 0C3h seg000:07E6 db 0E8h, 5Ch, 14h, 50h, 2Eh, 8Ah, 4, 46h, 0E8h, 92h, 12h seg000:07E6 db 53h, 2Eh, 0Fh, 0B6h, 1Ch, 46h, 3, 0DFh, 26h, 88h, 27h seg000:07E6 db 5Bh, 58h, 0EEh, 0C3h, 0E8h, 42h, 14h, 50h, 2Eh, 8Ah seg000:07E6 db 24h, 46h, 51h, 2Eh, 0Fh, 0B6h, 0Ch, 46h, 0E8h, 6, 14h seg000:07E6 db 59h, 58h, 0EEh, 0C3h, 53h, 0E8h, 2Ch, 14h, 50h, 2Eh seg000:07E6 db 8Ah, 1Ch, 46h, 0F6h, 0C5h, 10h, 75h, 16h, 51h, 2Eh seg000:07E6 db 0Fh, 0B6h, 0Ch, 46h, 56h, 1Eh, 6, 1Fh, 8Bh, 0F7h, 0E8h seg000:07E6 db 0CEh, 13h, 8Bh, 0FEh, 1Fh, 5Eh, 59h, 0EBh, 7, 2Eh, 0Fh seg000:07E6 db 0B6h, 4, 46h, 3, 0F8h, 58h, 0EEh, 5Bh, 0C3h, 51h, 2Eh seg000:07E6 db 8Ah, 14h, 46h, 2Eh, 0Fh, 0B6h, 0Ch, 46h, 6Bh, 0C9h seg000:07E6 db 32h, 0Bh, 0C9h, 75h, 1, 49h, 32h, 0F6h, 0E8h, 2Bh, 2 seg000:07E6 db 74h, 5, 0FEh, 0CEh, 0E8h, 16h, 2Bh, 83h, 0F9h, 0FFh seg000:07E6 db 75h, 1, 41h, 0Ah, 0F6h, 0E0h, 0EAh, 59h, 0Ah, 0F6h seg000:07E6 db 74h, 6, 80h, 0CDh, 10h, 0E8h, 0A6h, 12h, 0C3h, 51h seg000:07E6 db 2Eh, 8Ah, 14h, 46h, 2Eh, 0Fh, 0B6h, 0Ch, 46h, 6Bh, 0C9h seg000:07E6 db 32h, 0Bh, 0C9h, 75h, 1, 49h, 32h, 0F6h, 0E8h, 0C8h seg000:07E6 db 1, 74h, 5, 0FEh, 0CEh, 0E8h, 0E2h, 2Ah, 83h, 0F9h, 0FFh seg000:07E6 db 75h, 1, 41h, 0Ah, 0F6h, 0E0h, 0EAh, 59h, 0Ah, 0F6h seg000:07E6 db 74h, 6, 80h, 0CDh, 10h, 0E8h, 72h, 12h, 0C3h, 81h, 0FAh seg000:07E6 db 0C0h, 3, 74h, 2, 0ECh, 2 dup(50h), 2Eh, 8Ah, 4, 46h seg000:07E6 db 52h, 32h, 0D2h, 0E8h, 56h, 0FEh, 8Ah, 0E2h, 5Ah, 0F6h seg000:07E6 db 0C5h, 10h, 75h, 10h, 81h, 0FAh, 0C0h, 3, 75h, 9, 0E8h seg000:07E6 db 66h, 14h, 0EEh, 86h, 0C4h, 0EEh, 0EBh, 1, 0EFh, 58h seg000:07E6 db 0FEh, 0CCh seg000:09E7 db 75h, 0D8h, 81h, 0FAh, 0C0h, 3, 74h, 2, 58h, 0EEh, 0C3h seg000:09E7 db 0E8h, 2, 0FEh, 0B4h, 1, 0E8h, 0BFh, 0FFh, 0C3h, 0E8h seg000:09E7 db 45h, 13h, 0B4h, 1, 0E8h, 0B6h, 0FFh, 0C3h, 0E8h, 3Ch seg000:09E7 db 13h, 2Eh, 8Ah, 24h, 46h, 0E8h, 0ABh, 0FFh, 0C3h, 0E8h seg000:09E7 db 39h, 5, 8Ah, 0C8h, 0E8h, 0E0h, 0FDh, 0ECh, 50h, 2Eh seg000:09E7 db 8Ah, 4, 46h, 0E8h, 70h, 11h, 2Eh, 22h, 24h, 46h, 0Ah seg000:09E7 db 0E1h, 0F6h, 0C5h, 10h, 75h, 1, 0EFh, 58h, 0EEh, 0C3h seg000:09E7 db 66h, 2Eh, 8Bh, 14h, 83h, 0C6h, 4, 0E8h, 0FDh, 0FBh seg000:09E7 db 2Eh, 8Ah, 0Ch, 46h, 80h, 0F9h, 80h, 73h, 5, 66h, 0D3h seg000:09E7 db 0E8h, 0EBh, 5, 0F6h, 0D9h, 66h, 0D3h, 0E0h, 66h, 2Eh seg000:09E7 db 23h, 4, 83h, 0C6h, 4, 66h, 2Eh, 33h, 4, 83h, 0C6h, 4 seg000:09E7 db 51h, 66h, 8Bh, 0C8h, 66h, 2Eh, 8Bh, 14h, 83h, 0C6h seg000:09E7 db 4, 0E8h, 0CEh, 0FBh, 66h, 2Eh, 23h, 4, 83h, 0C6h, 4 seg000:09E7 db 66h, 0Bh, 0C1h, 59h, 0F6h, 0C5h, 10h, 75h, 3, 0E8h seg000:09E7 db 0C6h, 0FBh, 0C3h, 0E8h, 4Fh, 34h, 32h, 0E4h, 0C1h, 0E0h seg000:09E7 db 2, 2Eh, 0Fh, 0B6h, 16h, 9Eh, 2, 0C1h, 0E2h, 2, 0C3h seg000:09E7 db 55h, 8Bh, 0ECh, 83h, 0C4h, 0FAh, 66h, 51h, 0E8h, 0E3h seg000:09E7 db 0FFh, 50h, 89h, 56h, 0FAh, 66h, 2Eh, 8Bh, 14h, 83h seg000:09E7 db 0C6h, 4, 51h, 66h, 2Eh, 0Fh, 0B6h, 0Ch, 66h, 89h, 4Eh seg000:09E7 db 0FCh, 59h, 46h, 2Eh, 8Ah, 0Ch, 46h, 3, 0F0h, 66h, 2Eh seg000:09E7 db 8Bh, 4, 3, 76h, 0FAh, 0F6h, 0C5h, 10h, 75h, 3, 0E8h seg000:09E7 db 7Ch, 0FBh, 66h, 3, 56h, 0FCh, 0FEh, 0C9h, 75h, 0E9h seg000:09E7 db 58h, 2Bh, 0F0h, 66h, 59h, 8Bh, 0E5h, 5Dh, 0C3h, 66h seg000:09E7 db 2Eh, 8Bh, 14h, 83h, 0C6h, 4, 0E8h, 56h, 0FBh, 66h, 2Eh seg000:09E7 db 8Bh, 14h, 83h, 0C6h, 4, 0F6h, 0C5h, 10h, 75h, 3, 0E8h seg000:09E7 db 52h, 0FBh, 0C3h, 80h, 0E5h, 0EFh, 0C3h, 80h, 0F5h, 10h seg000:09E7 db 0C3h, 56h, 0Fh, 0B6h, 0F0h, 0D1h, 0E6h, 2Eh, 8Bh, 0B4h seg000:09E7 db 25h, 4Eh, 0Bh, 0F6h, 74h, 5, 51h, 0E8h, 7Ah, 0FAh, 59h seg000:09E7 db 5Eh, 0C3h, 2Eh, 8Ah, 4, 46h, 0F6h, 0C5h, 10h, 75h, 3 seg000:09E7 db 0E8h, 0DEh, 0FFh, 0C3h, 2Eh, 8Ah, 4, 46h, 0F6h, 0C5h seg000:09E7 db 10h, 75h, 0Ah, 0Fh, 0B6h, 0F0h, 0D1h, 0E6h, 2Eh, 8Bh seg000:09E7 db 0B4h, 25h, 4Eh, 0C3h, 57h, 2Eh, 0Fh, 0B6h, 3Ch, 46h seg000:09E7 db 0D1h, 0E7h, 81h, 0C7h, 33h, 4Eh, 2Eh, 8Ah, 4Dh, 1, 2Eh seg000:09E7 db 0Fh, 0B6h, 3Dh, 0C1h, 0E7h, 3, 81h, 0C7h, 3Fh, 4Eh seg000:09E7 db 0F6h, 0C5h, 10h, 75h, 13h, 66h, 2Eh, 8Bh, 15h, 66h seg000:09E7 db 2Eh, 8Bh, 45h, 4, 83h, 0C7h, 8, 0E8h, 0E3h, 0FAh, 0FEh seg000:09E7 db 0C9h, 75h, 0EDh, 5Fh, 0C3h, 66h, 52h, 57h, 0Fh, 0B6h seg000:09E7 db 0FAh, 6Bh, 0FFh, 0Ch, 81h, 0C7h, 6Fh, 4Eh, 66h, 2Eh seg000:09E7 db 8Bh, 15h, 0E8h, 0BEh, 0FAh, 66h, 2Eh, 23h, 45h, 4, 66h seg000:09E7 db 2Eh, 3Bh, 45h, 8, 5Fh, 66h, 5Ah, 0C3h, 2Eh, 8Ah, 14h seg000:09E7 db 46h, 0E8h, 0D7h, 0FFh, 74h, 3, 80h, 0CDh, 10h, 0C3h seg000:09E7 db 52h, 57h, 0Fh, 0B6h, 0FAh, 6Bh, 0FFh, 5, 81h, 0C7h seg000:09E7 db 97h, 50h, 2Eh, 8Bh, 15h, 0E8h, 48h, 0FCh, 2Eh, 8Ah seg000:09E7 db 65h, 2, 80h, 0FCh, 0FFh, 75h, 0Bh, 0ECh, 2Eh, 22h, 65h seg000:09E7 db 3, 2Eh, 3Ah, 65h, 4, 0EBh, 17h, 0ECh, 66h, 0C1h, 0C8h seg000:09E7 db 8, 0E8h, 0CFh, 0Fh, 2Eh, 22h, 65h, 3, 2Eh, 3Ah, 65h seg000:09E7 db 4, 9Ch, 66h, 0C1h, 0C0h, 8, 0EEh, 9Dh, 5Fh, 5Ah, 0C3h seg000:09E7 db 2Eh, 8Ah, 14h, 46h, 0E8h, 0B9h, 0FFh, 74h, 3, 80h, 0CDh seg000:09E7 db 10h, 0C3h, 51h, 57h, 0Fh, 0B6h, 0F8h, 6Bh, 0FFh seg000:0BE7 db 9, 81h, 0C7h, 0D8h, 50h, 2Eh, 8Bh, 15h, 0E8h, 2 dup(0FBh) seg000:0BE7 db 0ECh, 50h, 2Eh, 8Ah, 45h, 2, 0E8h, 95h, 0Fh, 2Eh, 22h seg000:0BE7 db 65h, 3, 2Eh, 8Ah, 4Dh, 4, 0D2h, 0ECh, 0Fh, 0B6h, 0C4h seg000:0BE7 db 57h, 2Eh, 8Bh, 7Dh, 5, 3, 0F8h, 2Eh, 8Ah, 5, 5Fh, 2Eh seg000:0BE7 db 22h, 45h, 7, 8Ah, 0C8h, 58h, 0EEh, 2Eh, 3Ah, 4Dh, 8 seg000:0BE7 db 5Fh, 59h, 0C3h, 2Eh, 8Ah, 4, 46h, 0E8h, 0B7h, 0FFh seg000:0BE7 db 74h, 3, 80h, 0CDh, 10h, 0C3h, 2Eh, 8Ah, 4, 46h, 8Bh seg000:0BE7 db 0D6h, 8Bh, 0F2h, 52h, 50h, 0E8h, 49h, 0F9h, 58h, 5Ah seg000:0BE7 db 0F6h, 0C5h, 2, 74h, 2, 0FEh, 0C8h, 75h, 0EEh, 80h, 0E5h seg000:0BE7 db 0FDh, 0C3h, 80h, 0CDh, 1, 0C3h, 80h, 0CDh, 2, 0C3h seg000:0BE7 db 2Eh, 8Bh, 4, 83h, 0C6h, 2, 56h, 0F6h, 0C5h, 10h, 75h seg000:0BE7 db 7, 51h, 8Bh, 0F0h, 0E8h, 20h, 0F9h, 59h, 5Eh, 0C3h seg000:0BE7 db 55h, 0E8h, 0A0h, 0, 8Ah, 0CAh, 2Eh, 8Ah, 14h, 46h, 0F6h seg000:0BE7 db 0C5h, 10h, 75h, 24h, 51h, 53h, 0E8h, 0F6h, 35h, 72h seg000:0BE7 db 1Bh, 0E8h, 1Ah, 33h, 8Ah, 0C6h, 0E8h, 0FEh, 33h, 2Eh seg000:0BE7 db 8Ah, 4, 0E8h, 0F8h, 33h, 72h, 5, 46h, 0FEh, 0CAh, 75h seg000:0BE7 db 0F3h, 0E8h, 7Eh, 33h, 0E8h, 0FFh, 35h, 5Bh, 59h, 0Fh seg000:0BE7 db 0B6h, 0C2h, 3, 0F0h, 5Dh, 0C3h, 53h, 55h, 0E8h, 65h seg000:0BE7 db 0, 8Ah, 0DEh, 2Eh, 8Ah, 0Ch, 46h, 0F6h, 0C5h, 10h, 75h seg000:0BE7 db 17h, 2Eh, 8Bh, 4, 8Ah, 0F8h, 51h, 8Ah, 0CAh, 0E8h, 4Fh seg000:0BE7 db 35h, 59h, 73h, 9, 0Fh, 0B6h, 0C1h, 3, 0C0h, 3, 0F0h seg000:0BE7 db 0EBh, 7, 83h, 0C6h, 2, 0FEh, 0C9h, 75h, 0DDh, 5Dh, 5Bh seg000:0BE7 db 0C3h, 55h, 51h, 53h, 0E8h, 33h, 0, 8Ah, 0DEh, 2Eh, 8Ah seg000:0BE7 db 0Ch, 46h, 0F6h, 0C5h, 10h, 75h, 1Dh, 51h, 52h, 8Ah seg000:0BE7 db 0CAh, 2Eh, 8Ah, 3Ch, 8Bh, 0D3h, 0E8h, 0A5h, 34h, 8Ah seg000:0BE7 db 0E3h, 8Bh, 0DAh, 2Eh, 8Bh, 54h, 1, 22h, 0E2h, 0Ah, 0E6h seg000:0BE7 db 0E8h, 0Dh, 35h, 5Ah, 59h, 83h, 0C6h, 3, 0FEh, 0C9h seg000:0BE7 db 75h, 0D7h, 5Bh, 59h, 5Dh, 0C3h, 2Eh, 8Ah, 14h, 2Eh seg000:0BE7 db 8Ah, 74h, 1, 83h, 0C6h, 2, 80h, 0FAh, 0FFh, 75h, 0Eh seg000:0BE7 db 8Ah, 0C5h, 24h, 4, 0C0h, 0E8h, 2, 0E8h, 4, 17h, 8Ah seg000:0BE7 db 0D4h, 0EBh, 46h, 80h, 0FAh, 80h, 75h, 9, 32h, 0C0h seg000:0BE7 db 0E8h, 0F6h, 16h, 8Ah, 0D4h, 0EBh, 38h, 80h, 0FAh, 81h seg000:0BE7 db 75h, 9, 0B0h, 1, 2 dup(0E8h), 16h, 8Ah, 0D4h, 0EBh seg000:0BE7 db 2Ah, 80h, 0FAh, 0FEh, 75h, 1Ch, 8Ah, 0C7h, 24h, 1, 0E8h seg000:0BE7 db 8Ch, 17h, 53h, 51h, 0Fh, 0BCh, 0DAh, 0C1h, 0E3h, 0Ch seg000:0BE7 db 0Ah, 0F8h, 52h, 0E8h, 55h, 12h, 5Ah, 8Ah, 0D1h, 59h seg000:0BE7 db 5Bh, 0EBh, 9, 51h, 8Ah, 0CAh, 0E8h, 4Eh, 35h, 8Ah, 0D1h seg000:0BE7 db 59h, 0C3h, 0E8h, 0D8h, 1, 2Eh, 8Ah, 14h, 46h, 57h, 0Fh seg000:0BE7 db 0B6h, 0FAh, 6Bh, 0FFh, 2, 81h, 0C7h, 0D8h, 50h, 53h seg000:0BE7 db 2Eh, 8Bh, 1Dh, 2Eh, 0D7h, 8Ah, 0C8h, 5Bh, 5Fh, 66h seg000:0BE7 db 2Eh, 8Bh, 14h, 83h, 0C6h, 4, 0E8h, 0A0h, 0F8h, 66h seg000:0BE7 db 2Eh, 23h, 4, 83h, 0C6h, 4, 66h, 52h, 66h, 0Fh, 0B6h seg000:0BE7 db 0D1h, 2Eh, 8Ah, 0Ch, 66h, 0D3h, 0E2h, 46h, 66h, 0Bh seg000:0BE7 db 0C2h, 66h, 5Ah, 0F6h, 0C5h, 10h, 75h, 3, 0E8h, 8Ah seg000:0BE7 db 0F8h, 0C3h, 66h, 53h, 66h, 2Eh, 8Bh, 14h, 83h, 0C6h seg000:0BE7 db 4, 0E8h, 72h, 0F8h, 66h, 52h, 66h, 2Eh, 8Bh, 14h, 83h seg000:0BE7 db 0C6h, 4, 66h, 2Eh, 8Bh, 1Ch, 83h, 0C6h, 4, 66h, 50h seg000:0BE7 db 66h, 3, 0C3h, 66h, 0F7h, 0D2h, 66h, 23h, 0C2h, 66h seg000:0BE7 db 5Bh, 66h, 0F7h, 0D2h, 66h, 23h, 0DAh, 66h, 0Bh seg000:0DE9 db 0C3h, 66h, 5Ah, 0F6h, 0C5h, 10h, 75h, 3, 0E8h, 4Dh seg000:0DE9 db 0F8h, 66h, 5Bh, 0C3h, 55h, 8Bh, 0ECh, 83h, 0C4h, 0D6h seg000:0DE9 db 53h, 57h, 8Dh, 7Eh, 0D6h, 0B3h, 6, 0E8h, 0CBh, 11h seg000:0DE9 db 0E8h, 0AAh, 11h, 0E8h, 60h, 0B1h, 66h, 2Eh, 8Bh, 14h seg000:0DE9 db 83h, 0C6h, 4, 66h, 36h, 89h, 15h, 2Eh, 8Ah, 14h, 46h seg000:0DE9 db 0FEh, 0CAh, 36h, 88h, 55h, 5, 36h, 0C6h, 45h, 4, 9 seg000:0DE9 db 0E8h, 0A5h, 0AFh, 0FEh, 0C2h, 33h, 0DBh, 36h, 8Ah, 71h seg000:0DE9 db 16h, 2Eh, 22h, 34h, 46h, 2Eh, 0Ah, 34h, 36h, 88h, 71h seg000:0DE9 db 6, 46h, 43h, 0FEh, 0CAh, 0Ah, 0D2h, 75h, 0E9h, 0F6h seg000:0DE9 db 0C5h, 10h, 75h, 8, 36h, 0C6h, 45h, 4, 8, 0E8h, 30h seg000:0DE9 db 0AFh, 5Fh, 5Bh, 8Bh, 0E5h, 5Dh, 0C3h, 55h, 8Bh, 0ECh seg000:0DE9 db 83h, 0C4h, 0D6h, 53h, 57h, 8Dh, 7Eh, 0D6h, 0B3h, 6 seg000:0DE9 db 0E8h, 6Ah, 11h, 0E8h, 49h, 11h, 0E8h, 0FFh, 0B0h, 66h seg000:0DE9 db 2Eh, 8Bh, 14h, 83h, 0C6h, 4, 66h, 36h, 89h, 15h, 2Eh seg000:0DE9 db 8Ah, 14h, 46h, 0FEh, 0CAh, 36h, 88h, 55h, 5, 0FEh, 0C2h seg000:0DE9 db 33h, 0DBh, 2Eh, 8Ah, 34h, 36h, 88h, 71h, 6, 46h, 43h seg000:0DE9 db 0FEh, 0CAh, 0Ah, 0D2h, 75h, 0F1h, 0F6h, 0C5h, 10h, 75h seg000:0DE9 db 8, 36h, 0C6h, 45h, 4, 8, 0E8h, 0DFh, 0AEh, 5Fh, 5Bh seg000:0DE9 db 8Bh, 0E5h, 5Dh, 0C3h, 55h, 8Bh, 0ECh, 83h, 0C4h, 0D6h seg000:0DE9 db 53h, 51h, 57h, 8Dh, 7Eh, 0D6h, 0B3h, 6, 0E8h, 18h, 11h seg000:0DE9 db 0E8h, 0F7h, 10h, 0E8h, 0ADh, 0B0h, 66h, 2Eh, 8Bh, 14h seg000:0DE9 db 66h, 36h, 89h, 15h, 2Eh, 8Ah, 6Ch, 6, 0Ah, 0EDh, 75h seg000:0DE9 db 2, 0FEh, 0CDh, 2Eh, 8Ah, 74h, 4, 2Eh, 8Ah, 54h, 5, 83h seg000:0DE9 db 0C6h, 7, 56h, 33h, 0F6h, 0E8h, 49h, 0AFh, 22h, 0E6h seg000:0DE9 db 38h, 0D4h, 74h, 4, 4Eh, 0E8h, 98h, 25h, 80h, 0FDh, 0FFh seg000:0DE9 db 75h, 2, 0FEh, 0C5h, 0FEh, 0CDh, 0Ah, 0EDh, 74h, 4, 0Bh seg000:0DE9 db 0F6h, 75h, 0E0h, 0Bh, 0F6h, 5Eh, 5Fh, 59h, 5Bh, 74h seg000:0DE9 db 6, 80h, 0CDh, 10h, 0E8h, 1Eh, 0Dh, 8Bh, 0E5h, 5Dh, 0C3h seg000:0DE9 db 55h, 8Bh, 0ECh, 83h, 0C4h, 0D6h, 53h, 57h, 8Dh, 7Eh seg000:0DE9 db 0D6h, 0B3h, 6, 0E8h, 0B2h, 10h, 0E8h, 91h, 10h, 0E8h seg000:0DE9 db 47h, 0B0h, 66h, 2Eh, 8Bh, 14h, 66h, 36h, 89h, 15h, 2Eh seg000:0DE9 db 8Ah, 74h, 4, 2Eh, 8Ah, 54h, 5, 83h, 0C6h, 5, 0E8h, 0F0h seg000:0DE9 db 0AEh, 22h, 0E6h, 38h, 0D4h, 74h, 3, 80h, 0CDh, 10h seg000:0DE9 db 5Fh, 5Bh, 8Bh, 0E5h, 5Dh, 0C3h, 66h, 2Eh, 8Bh, 14h seg000:0DE9 db 83h, 0C6h, 4, 0E8h, 0E1h, 0F6h, 2Eh, 8Ah, 0Ch, 46h seg000:0DE9 db 80h, 0F9h, 80h, 73h, 5, 66h, 0D3h, 0E8h, 0EBh, 5, 0F6h seg000:0DE9 db 0D9h, 66h, 0D3h, 0E0h, 2Eh, 22h, 4, 46h, 0C3h, 50h seg000:0DE9 db 53h, 51h, 57h, 86h, 0C3h, 86h, 0D9h, 86h, 0E3h, 8Bh seg000:0DE9 db 0FAh, 0E8h, 26h, 32h, 22h, 0DFh, 38h, 0C3h, 5Fh, 59h seg000:0DE9 db 5Bh, 58h, 0C3h, 0E8h, 84h, 0FDh, 8Bh, 0C2h, 2Eh, 8Bh seg000:0DE9 db 14h, 2 dup(46h), 0Ah, 0C9h, 75h, 3, 32h, 0F6h, 4Eh seg000:0DE9 db 2Eh, 8Ah, 3Ch, 46h, 2Eh, 8Ah, 1Ch, 46h, 0C3h, 53h, 0C0h seg000:0DE9 db 0E9h, 7, 0E8h, 0DFh, 0FFh, 0E8h, 0C4h, 0FFh, 74h, 3 seg000:0DE9 db 80h, 0CDh, 10h, 5Bh, 0C3h, 53h, 0E8h, 9Eh, 0Dh, 50h seg000:0DE9 db 0E8h, 0D8h, 0Bh, 50h, 8Bh, 0DEh, 2 dup(46h), 2Eh, 8Ah seg000:0DE9 db 24h, 46h, 2Eh, 8Ah, 0Ch, 46h, 2Eh, 8Ah, 7, 0EFh, 50h seg000:0DE9 db 2Eh, 8Ah, 47h, 1, 2Eh, 8Ah, 24h, 46h, 0F6h, 0C5h, 10h seg000:0DE9 db 75h, 1, 0EFh, 58h, 0FEh, 0C4h, 0FEh, 0C9h, 75h, 0E6h seg000:0DE9 db 58h, 0EFh, 58h, 0EEh, 5Bh, 0C3h, 66h, 2Eh, 8Bh, 4, 83h seg000:0DE9 db 0C6h seg000:0FEB db 4 seg000:0FEC db 2Eh ; . seg000:0FED db 0Fh seg000:0FEE db 0B6h ;  seg000:0FEF db 14h seg000:0FF0 db 46h ; F seg000:0FF1 db 0F6h ; ÷ seg000:0FF2 db 0C5h ; + seg000:0FF3 db 10h seg000:0FF4 db 75h ; u seg000:0FF5 db 1Eh seg000:0FF6 db 57h ; W seg000:0FF7 db 3 seg000:0FF8 db 0FAh ; ÿ seg000:0FF9 db 80h ; Ç seg000:0FFA db 0F9h ; ¨ seg000:0FFB db 7Bh ; { seg000:0FFC db 75h ; u seg000:0FFD db 6 seg000:0FFE db 66h ; f seg000:0FFF db 26h ; & seg000:1000 db 21h ; ! seg000:1001 db 5 seg000:1002 db 0EBh ; Û seg000:1003 db 0Fh seg000:1004 db 80h ; Ç seg000:1005 db 0F9h ; ¨ seg000:1006 db 7Ch ; | seg000:1007 db 75h ; u seg000:1008 db 6 seg000:1009 db 66h ; f seg000:100A db 26h ; & seg000:100B db 9 seg000:100C db 5 seg000:100D db 0EBh ; Û seg000:100E db 4 seg000:100F db 66h ; f seg000:1010 db 26h ; & seg000:1011 db 31h ; 1 seg000:1012 db 5 seg000:1013 db 5Fh ; _ seg000:1014 db 0C3h ; + seg000:1015 db 2Eh ; . seg000:1016 db 8Ah ; Õ seg000:1017 db 0Ch seg000:1018 db 46h ; F seg000:1019 db 2Eh ; . seg000:101A db 0Fh seg000:101B db 0B6h ;  seg000:101C db 14h seg000:101D db 46h ; F seg000:101E db 0F6h ; ÷ seg000:101F db 0C5h ; + seg000:1020 db 10h seg000:1021 db 75h ; u seg000:1022 db 1Bh seg000:1023 db 57h ; W seg000:1024 db 3 seg000:1025 db 0FAh ; ÿ seg000:1026 db 66h ; f seg000:1027 db 26h ; & seg000:1028 db 8Bh ; õ seg000:1029 db 5 seg000:102A db 80h ; Ç seg000:102B db 0F9h ; ¨ seg000:102C db 80h ; Ç seg000:102D db 73h ; s seg000:102E db 5 seg000:102F db 66h ; f seg000:1030 db 0D3h ; Ë seg000:1031 db 0E8h ; À seg000:1032 db 0EBh ; Û seg000:1033 db 5 seg000:1034 db 0F6h ; ÷ seg000:1035 db 0D9h ; - seg000:1036 db 66h ; f seg000:1037 db 0D3h ; Ë seg000:1038 db 0E0h ; Ó seg000:1039 db 66h ; f seg000:103A db 26h ; & seg000:103B db 89h ; ë seg000:103C db 5 seg000:103D db 5Fh ; _ seg000:103E db 0C3h ; + seg000:103F db 2Eh ; . seg000:1040 db 8Ah ; Õ seg000:1041 db 4 seg000:1042 db 46h ; F seg000:1043 db 2Eh ; . seg000:1044 db 0Fh seg000:1045 db 0B6h ;  seg000:1046 db 14h seg000:1047 db 46h ; F seg000:1048 db 0F6h ; ÷ seg000:1049 db 0C5h ; + seg000:104A db 10h seg000:104B db 75h ; u seg000:104C db 1Bh seg000:104D db 57h ; W seg000:104E db 3 seg000:104F db 0FAh ; ÿ seg000:1050 db 80h ; Ç seg000:1051 db 0F9h ; ¨ seg000:1052 db 7Fh ;  seg000:1053 db 75h ; u seg000:1054 db 5 seg000:1055 db 26h ; & seg000:1056 db 20h seg000:1057 db 5 seg000:1058 db 0EBh ; Û seg000:1059 db 0Dh seg000:105A db 80h ; Ç seg000:105B db 0F9h ; ¨ seg000:105C db 80h ; Ç seg000:105D db 75h ; u seg000:105E db 5 seg000:105F db 26h ; & seg000:1060 db 8 seg000:1061 db 5 seg000:1062 db 0EBh ; Û seg000:1063 db 3 seg000:1064 db 26h ; & seg000:1065 db 30h ; 0 seg000:1066 db 5 seg000:1067 db 5Fh ; _ seg000:1068 db 0C3h ; + seg000:1069 db 2Eh ; . seg000:106A db 8Ah ; Õ seg000:106B db 0Ch seg000:106C db 46h ; F seg000:106D db 2Eh ; . seg000:106E db 0Fh seg000:106F db 0B6h ;  seg000:1070 db 14h seg000:1071 db 46h ; F seg000:1072 db 0F6h ; ÷ seg000:1073 db 0C5h ; + seg000:1074 db 10h seg000:1075 db 75h ; u seg000:1076 db 17h seg000:1077 db 57h ; W seg000:1078 db 3 seg000:1079 db 0FAh ; ÿ seg000:107A db 26h ; & seg000:107B db 8Ah ; Õ seg000:107C db 5 seg000:107D db 80h ; Ç seg000:107E db 0F9h ; ¨ seg000:107F db 80h ; Ç seg000:1080 db 73h ; s seg000:1081 db 4 seg000:1082 db 0D2h ; Ï seg000:1083 db 0E8h ; À seg000:1084 db 0EBh ; Û seg000:1085 db 4 seg000:1086 db 0F6h ; ÷ seg000:1087 db 0D9h ; - seg000:1088 db 0D2h ; Ï seg000:1089 db 0E0h ; Ó seg000:108A db 26h ; & seg000:108B db 88h ; ³ seg000:108C db 5 seg000:108D db 5Fh ; _ seg000:108E db 0C3h ; + seg000:108F db 8Ah ; Õ seg000:1090 db 0C3h ; + seg000:1091 db 2Eh ; . seg000:1092 db 2 seg000:1093 db 4 seg000:1094 db 46h ; F seg000:1095 db 8Ah ; Õ seg000:1096 db 0D8h ; ì seg000:1097 db 80h ; Ç seg000:1098 db 0E3h ; Ñ seg000:1099 db 7 seg000:109A db 0B1h ; - seg000:109B db 3 seg000:109C db 0D2h ; Ï seg000:109D db 0F8h ; ° seg000:109E db 98h ; œ seg000:109F db 3 seg000:10A0 db 0F8h ; ° seg000:10A1 db 0C3h ; + seg000:10A2 db 0C3h ; + seg000:10A3 db 0F6h ; ÷ seg000:10A4 db 0C5h ; + seg000:10A5 db 10h seg000:10A6 db 75h ; u seg000:10A7 db 3 seg000:10A8 db 0E8h ; À seg000:10A9 db 7 seg000:10AA db 2Eh ; . seg000:10AB db 0C3h ; + seg000:10AC db 0D6h ; Í seg000:10AD db 10h seg000:10AE db 0E1h ; ß seg000:10AF db 10h seg000:10B0 db 0F6h ; ÷ seg000:10B1 db 10h seg000:10B2 db 3Ch ; < seg000:10B3 db 63h ; c seg000:10B4 db 3Ch ; < seg000:10B5 db 63h ; c seg000:10B6 db 0Bh seg000:10B7 db 11h seg000:10B8 db 3Ch ; < seg000:10B9 db 63h ; c seg000:10BA db 2Eh ; . seg000:10BB db 0Fh seg000:10BC db 0B6h ;  seg000:10BD db 4 seg000:10BE db 46h ; F seg000:10BF db 46h ; F seg000:10C0 db 56h ; V seg000:10C1 db 3Dh ; = seg000:10C2 db 7 seg000:10C3 db 0 seg000:10C4 db 73h ; s seg000:10C5 db 0Eh seg000:10C6 db 0D1h ; Ð seg000:10C7 db 0E0h ; Ó seg000:10C8 db 8Bh ; õ seg000:10C9 db 0F0h ; ­ seg000:10CA db 2Eh ; . seg000:10CB db 0FFh seg000:10CC db 94h ; ö seg000:10CD db 0ACh ; È seg000:10CE db 10h seg000:10CF db 74h ; t seg000:10D0 db 3 seg000:10D1 db 80h ; Ç seg000:10D2 db 0CDh ; = seg000:10D3 db 10h seg000:10D4 db 5Eh ; ^ seg000:10D5 db 0C3h ; + seg000:10D6 db 53h ; S seg000:10D7 db 0B3h ; - seg000:10D8 db 6 seg000:10D9 db 0E8h ; À seg000:10DA db 0F6h ; ÷ seg000:10DB db 0Eh seg000:10DC db 0E8h ; À seg000:10DD db 0E2h ; Ô seg000:10DE db 0AFh ; » seg000:10DF db 5Bh ; [ seg000:10E0 db 0C3h ; + seg000:10E1 db 50h ; P seg000:10E2 db 53h ; S seg000:10E3 db 0B3h ; - seg000:10E4 db 6 seg000:10E5 db 0E8h ; À seg000:10E6 db 0EAh ; à seg000:10E7 db 0Eh seg000:10E8 db 0E8h ; À seg000:10E9 db 80h ; Ç seg000:10EA db 34h ; 4 seg000:10EB db 2Eh ; . seg000:10EC db 8Ah ; Õ seg000:10ED db 44h ; D seg000:10EE db 4 seg000:10EF db 0F6h ; ÷ seg000:10F0 db 0D0h ; ð seg000:10F1 db 0A8h ; Ê seg000:10F2 db 1 seg000:10F3 db 5Bh ; [ seg000:10F4 db 58h ; X seg000:10F5 db 0C3h ; + seg000:10F6 db 50h ; P seg000:10F7 db 53h ; S seg000:10F8 db 0B3h ; - seg000:10F9 db 6 seg000:10FA db 0E8h ; À seg000:10FB db 0D5h ; Ò seg000:10FC db 0Eh seg000:10FD db 0E8h ; À seg000:10FE db 6Bh ; k seg000:10FF db 34h ; 4 seg000:1100 db 2Eh ; . seg000:1101 db 8Ah ; Õ seg000:1102 db 44h ; D seg000:1103 db 4 seg000:1104 db 0F6h ; ÷ seg000:1105 db 0D0h ; ð seg000:1106 db 0A8h ; Ê seg000:1107 db 2 seg000:1108 db 5Bh ; [ seg000:1109 db 58h ; X seg000:110A db 0C3h ; + seg000:110B db 55h ; U seg000:110C db 8Bh ; õ seg000:110D db 0ECh ; ý seg000:110E db 83h ; â seg000:110F db 0C4h ; ¦ seg000:1110 db 0D6h ; Í seg000:1111 db 50h ; P seg000:1112 db 53h ; S seg000:1113 db 57h ; W seg000:1114 db 8Dh ; seg000:1115 db 7Eh ; ~ seg000:1116 db 0D6h ; Í seg000:1117 db 0B3h ; - seg000:1118 db 6 seg000:1119 db 0E8h ; À seg000:111A db 0B6h ;  seg000:111B db 0Eh seg000:111C db 0E8h ; À seg000:111D db 95h ; ¼ seg000:111E db 0Eh seg000:111F db 0E8h ; À seg000:1120 db 4Bh ; K seg000:1121 db 0AEh ; « seg000:1122 db 66h ; f seg000:1123 db 36h ; 6 seg000:1124 db 0C7h ; ã seg000:1125 db 5 seg000:1126 db 0Dh seg000:1127 db 0 seg000:1128 db 0 seg000:1129 db 0 seg000:112A db 0E8h ; À seg000:112B db 0FFh seg000:112C db 0ACh ; È seg000:112D db 0F6h ; ÷ seg000:112E db 0D4h ; ï seg000:112F db 0F6h ; ÷ seg000:1130 db 0C4h ; ¦ seg000:1131 db 1 seg000:1132 db 5Fh ; _ seg000:1133 db 5Bh ; [ seg000:1134 db 58h ; X seg000:1135 db 8Bh ; õ seg000:1136 db 0E5h ; ò seg000:1137 db 5Dh ; ] seg000:1138 db 0C3h ; + seg000:1139 db 53h ; S seg000:113A db 0E8h ; À seg000:113B db 6 seg000:113C db 0Ch seg000:113D db 0ECh ; ý seg000:113E db 50h ; P seg000:113F db 2Eh ; . seg000:1140 db 8Ah ; Õ seg000:1141 db 4 seg000:1142 db 46h ; F seg000:1143 db 0E8h ; À seg000:1144 db 4Ah ; J seg000:1145 db 0Ah seg000:1146 db 51h ; Q seg000:1147 db 0C0h ; L seg000:1148 db 0EFh ; ´ seg000:1149 db 4 seg000:114A db 8Ah ; Õ seg000:114B db 0CFh ; ¤ seg000:114C db 0B7h ; Ì seg000:114D db 0FEh ; ¦ seg000:114E db 0D2h ; Ï seg000:114F db 0C7h ; ã seg000:1150 db 22h ; " seg000:1151 db 0E7h ; š seg000:1152 db 59h ; Y seg000:1153 db 80h ; Ç seg000:1154 db 0F9h ; ¨ seg000:1155 db 3Ch ; < seg000:1156 db 75h ; u seg000:1157 db 4 seg000:1158 db 0F6h ; ÷ seg000:1159 db 0D7h ; Î seg000:115A db 0Ah seg000:115B db 0E7h ; š seg000:115C db 0F6h ; ÷ seg000:115D db 0C5h ; + seg000:115E db 10h seg000:115F db 75h ; u seg000:1160 db 1 seg000:1161 db 0EFh ; ´ seg000:1162 db 58h ; X seg000:1163 db 0EEh ; þ seg000:1164 db 5Bh ; [ seg000:1165 db 0C3h ; + seg000:1166 seg000:1166 ; =============== S U B R O U T I N E ======================================= seg000:1166 seg000:1166 seg000:1166 sub_C1166 proc near ; CODE XREF: seg000:466Dp seg000:1166 pushf seg000:1167 push ax seg000:1168 push ds seg000:1169 mov ax, cs seg000:116B mov ds, ax seg000:116D assume ds:nothing seg000:116D mov ax, word ptr cs:byte_C0001+81h seg000:1171 cli seg000:1172 mov ds:word_C2A4E, ax seg000:1175 mov ds:word_C2A5E, ax seg000:1178 mov ds:word_C2A6C, ax seg000:117B mov ds:word_C2A80, ax seg000:117E mov ds:word_C2B0F, ax seg000:1181 mov ds:word_C2B13, ax seg000:1184 mov ds:word_C2B1B, ax seg000:1187 mov ds:word_C2B1F, ax seg000:118A mov word ptr ds:byte_C2EEA+9, ax seg000:118D mov word ptr ds:byte_C2EEA+0Dh, ax seg000:1190 mov word ptr ds:byte_C2EEA+11h, ax seg000:1193 mov word ptr ds:byte_C2EEA+15h, ax seg000:1196 mov word ptr ds:byte_C2EEA+19h, ax seg000:1199 mov word ptr ds:byte_C2EEA+1Dh, ax seg000:119C mov word ptr ds:dword_C2F09+2, ax seg000:119F mov ds:word_C2F0F, ax seg000:11A2 mov word ptr ds:dword_C2F11+2, ax seg000:11A5 mov word ptr ds:dword_C2F15+2, ax seg000:11A8 mov word ptr ds:loc_C2F19+2, ax seg000:11AB mov word ptr ds:loc_C2F1D+2, ax seg000:11AE mov word ptr ds:dword_C28BC+2, ax seg000:11B1 mov ds:word_C28C2, ax seg000:11B4 mov word ptr ds:dword_C28C4+2, ax seg000:11B7 pop ds seg000:11B8 assume ds:nothing seg000:11B8 pop ax seg000:11B9 popf seg000:11BA retn seg000:11BA sub_C1166 endp seg000:11BA seg000:11BB seg000:11BB ; =============== S U B R O U T I N E ======================================= seg000:11BB seg000:11BB seg000:11BB sub_C11BB proc near ; CODE XREF: seg000:467Cp seg000:11BB pushf seg000:11BC push ax seg000:11BD push ds seg000:11BE cli seg000:11BF mov ds, word ptr cs:byte_C0001+79h seg000:11C4 mov ax, word ptr cs:byte_C0001+81h seg000:11C8 mov word ptr ds:40h, 19D4h seg000:11CE mov ds:42h, ax seg000:11D1 push ax seg000:11D2 mov ax, word ptr cs:dword_C2F09 seg000:11D6 add ax, 400h seg000:11D9 mov ds:7Ch, ax seg000:11DC mov ax, word ptr cs:dword_C2F09+2 seg000:11E0 mov ds:7Eh, ax seg000:11E3 pop ax seg000:11E4 mov word ptr ds:108h, 0F065h seg000:11EA mov word ptr ds:10Ah, 0F000h seg000:11F0 push ax seg000:11F1 mov ax, word ptr cs:dword_C2F09 seg000:11F5 mov ds:10Ch, ax seg000:11F8 mov ax, word ptr cs:dword_C2F09+2 seg000:11FC mov ds:10Eh, ax seg000:11FF pop ax seg000:1200 mov word ptr ds:1B4h, 19D4h seg000:1206 mov ds:1B6h, ax seg000:1209 mov word ptr ds:4A8h, 2A4Ch seg000:120F mov ds:4AAh, ax seg000:1212 pop ds seg000:1213 pop ax seg000:1214 popf seg000:1215 retn seg000:1215 sub_C11BB endp seg000:1215 seg000:1216 seg000:1216 ; =============== S U B R O U T I N E ======================================= seg000:1216 seg000:1216 seg000:1216 sub_C1216 proc near ; CODE XREF: sub_C123C+26p seg000:1216 push dx seg000:1217 push ax seg000:1218 mov ah, al seg000:121A mov al, 0A0h ; 'á' seg000:121C call sub_C1B76 seg000:121F mov al, 0A1h ; 'í' seg000:1221 call sub_C1B89 seg000:1224 mov dl, ah seg000:1226 pop ax seg000:1227 mov ah, dl seg000:1229 pop dx seg000:122A retn seg000:122A sub_C1216 endp seg000:122A seg000:122B seg000:122B ; =============== S U B R O U T I N E ======================================= seg000:122B seg000:122B seg000:122B sub_C122B proc near ; CODE XREF: sub_C127D+1Ap seg000:122B push dx seg000:122C push ax seg000:122D mov ah, al seg000:122F mov al, 0A0h ; 'á' seg000:1231 call sub_C1B76 seg000:1234 pop ax seg000:1235 push ax seg000:1236 mov al, 0A1h ; 'í' seg000:1238 out dx, ax seg000:1239 pop ax seg000:123A pop dx seg000:123B retn seg000:123B sub_C122B endp seg000:123B seg000:123C seg000:123C ; =============== S U B R O U T I N E ======================================= seg000:123C seg000:123C seg000:123C sub_C123C proc near ; CODE XREF: sub_C126B+3p seg000:123C ; sub_C127D+5p seg000:123C cmp al, 80h ; 'Ç' seg000:123E jb short loc_C1245 seg000:1240 mov bx, 1244h seg000:1243 jmp short loc_C1248 seg000:1245 ; --------------------------------------------------------------------------- seg000:1245 seg000:1245 loc_C1245: ; CODE XREF: sub_C123C+2j seg000:1245 mov bx, 12B4h seg000:1248 seg000:1248 loc_C1248: ; CODE XREF: sub_C123C+7j seg000:1248 mov cl, al seg000:124A movzx ax, al seg000:124D shl ax, 1 seg000:124F add bx, ax seg000:1251 mov ax, cs:[bx] seg000:1254 mov bh, ah seg000:1256 mov bl, cl seg000:1258 mov cl, ah seg000:125A bsf cx, cx seg000:125D cmp bl, 80h ; 'Ç' seg000:1260 jb short loc_C1267 seg000:1262 call sub_C1216 seg000:1265 jmp short locret_C126A seg000:1267 ; --------------------------------------------------------------------------- seg000:1267 seg000:1267 loc_C1267: ; CODE XREF: sub_C123C+24j seg000:1267 call sub_C1B89 seg000:126A seg000:126A locret_C126A: ; CODE XREF: sub_C123C+29j seg000:126A retn seg000:126A sub_C123C endp seg000:126A seg000:126B seg000:126B ; =============== S U B R O U T I N E ======================================= seg000:126B seg000:126B seg000:126B sub_C126B proc near ; CODE XREF: sub_C12A2+2p seg000:126B ; sub_C1AAD+5p ... seg000:126B push bx seg000:126C push cx seg000:126D push dx seg000:126E call sub_C123C seg000:1271 and bh, ah seg000:1273 shr bh, cl seg000:1275 mov ax, bx seg000:1277 or ah, ah seg000:1279 pop dx seg000:127A pop cx seg000:127B pop bx seg000:127C retn seg000:127C sub_C126B endp seg000:127C seg000:127D seg000:127D ; =============== S U B R O U T I N E ======================================= seg000:127D seg000:127D seg000:127D sub_C127D proc near ; CODE XREF: sub_C12AC+2p seg000:127D ; sub_C1AAD+32p ... seg000:127D push ax seg000:127E push bx seg000:127F push cx seg000:1280 push dx seg000:1281 push ax seg000:1282 call sub_C123C seg000:1285 not bh seg000:1287 and bh, ah seg000:1289 mov bl, al seg000:128B pop ax seg000:128C shl ah, cl seg000:128E or ah, bh seg000:1290 xchg bl, al seg000:1292 cmp bl, 80h ; 'Ç' seg000:1295 jb short loc_C129C seg000:1297 call sub_C122B seg000:129A jmp short loc_C129D seg000:129C ; --------------------------------------------------------------------------- seg000:129C seg000:129C loc_C129C: ; CODE XREF: sub_C127D+18j seg000:129C out dx, ax seg000:129D seg000:129D loc_C129D: ; CODE XREF: sub_C127D+1Dj seg000:129D pop dx seg000:129E pop cx seg000:129F pop bx seg000:12A0 pop ax seg000:12A1 retn seg000:12A1 sub_C127D endp seg000:12A1 seg000:12A2 seg000:12A2 ; =============== S U B R O U T I N E ======================================= seg000:12A2 seg000:12A2 seg000:12A2 sub_C12A2 proc near ; CODE XREF: sub_C24DD+6p seg000:12A2 ; sub_C24DD+Dp ... seg000:12A2 add al, bl seg000:12A4 call sub_C126B seg000:12A7 sub al, bl seg000:12A9 or ah, ah seg000:12AB retn seg000:12AB sub_C12A2 endp seg000:12AB seg000:12AC seg000:12AC ; =============== S U B R O U T I N E ======================================= seg000:12AC seg000:12AC seg000:12AC sub_C12AC proc near ; CODE XREF: sub_C13F5+6p seg000:12AC ; sub_C21F5+29p ... seg000:12AC add al, bl seg000:12AE call sub_C127D seg000:12B1 sub al, bl seg000:12B3 retn seg000:12B3 sub_C12AC endp seg000:12B3 seg000:12B3 ; --------------------------------------------------------------------------- seg000:12B4 db 80h ; Ç seg000:12B5 db 1 seg000:12B6 db 80h ; Ç seg000:12B7 db 2 seg000:12B8 db 80h ; Ç seg000:12B9 db 4 seg000:12BA db 80h ; Ç seg000:12BB db 8 seg000:12BC db 80h ; Ç seg000:12BD db 10h seg000:12BE db 80h ; Ç seg000:12BF db 20h seg000:12C0 db 80h ; Ç seg000:12C1 db 40h ; @ seg000:12C2 db 80h ; Ç seg000:12C3 db 80h ; Ç seg000:12C4 db 81h ; ü seg000:12C5 db 1 seg000:12C6 db 81h ; ü seg000:12C7 db 4 seg000:12C8 db 81h ; ü seg000:12C9 db 8 seg000:12CA db 81h ; ü seg000:12CB db 10h seg000:12CC db 81h ; ü seg000:12CD db 20h seg000:12CE db 81h ; ü seg000:12CF db 40h ; @ seg000:12D0 db 81h ; ü seg000:12D1 db 80h ; Ç seg000:12D2 db 82h ; é seg000:12D3 db 0FFh seg000:12D4 db 83h ; â seg000:12D5 db 0FFh seg000:12D6 db 84h ; ä seg000:12D7 db 1 seg000:12D8 db 84h ; ä seg000:12D9 db 2 seg000:12DA db 84h ; ä seg000:12DB db 4 seg000:12DC db 84h ; ä seg000:12DD db 8 seg000:12DE db 84h ; ä seg000:12DF db 10h seg000:12E0 db 84h ; ä seg000:12E1 db 20h seg000:12E2 db 84h ; ä seg000:12E3 db 40h ; @ seg000:12E4 db 85h ; ù seg000:12E5 db 0FFh seg000:12E6 db 86h ; æ seg000:12E7 db 0FFh seg000:12E8 db 87h ; ç seg000:12E9 db 0FFh seg000:12EA db 88h ; ³ seg000:12EB db 0Fh seg000:12EC db 88h ; ³ seg000:12ED db 30h ; 0 seg000:12EE db 88h ; ³ seg000:12EF db 40h ; @ seg000:12F0 db 88h ; ³ seg000:12F1 db 80h ; Ç seg000:12F2 db 89h ; ë seg000:12F3 db 0FFh seg000:12F4 db 8Ah ; Õ seg000:12F5 db 1Fh seg000:12F6 db 8Ah ; Õ seg000:12F7 db 20h seg000:12F8 db 8Ah ; Õ seg000:12F9 db 40h ; @ seg000:12FA db 8Ah ; Õ seg000:12FB db 80h ; Ç seg000:12FC db 8Bh ; õ seg000:12FD db 0Fh seg000:12FE db 8Bh ; õ seg000:12FF db 0F0h ; ­ seg000:1300 db 8Ch ; î seg000:1301 db 1Fh seg000:1302 db 8Ch ; î seg000:1303 db 0E0h ; Ó seg000:1304 db 8Dh ; seg000:1305 db 1Fh seg000:1306 db 8Dh ; seg000:1307 db 20h seg000:1308 db 8Eh ; Ä seg000:1309 db 0FFh seg000:130A db 8Fh ; Æ seg000:130B db 1 seg000:130C db 90h ; É seg000:130D db 0FFh seg000:130E db 91h ; Å seg000:130F db 1 seg000:1310 db 91h ; Å seg000:1311 db 6 seg000:1312 db 91h ; Å seg000:1313 db 78h ; x seg000:1314 db 92h ; å seg000:1315 db 0FFh seg000:1316 db 93h ; ô seg000:1317 db 0FFh seg000:1318 db 94h ; ö seg000:1319 db 7 seg000:131A db 94h ; ö seg000:131B db 8 seg000:131C db 94h ; ö seg000:131D db 10h seg000:131E db 94h ; ö seg000:131F db 80h ; Ç seg000:1320 db 95h ; ¼ seg000:1321 db 0Fh seg000:1322 db 96h ; ¾ seg000:1323 db 7Fh ;  seg000:1324 db 97h ; Œ seg000:1325 db 1 seg000:1326 db 97h ; Œ seg000:1327 db 2 seg000:1328 db 97h ; Œ seg000:1329 db 4 seg000:132A db 97h ; Œ seg000:132B db 8 seg000:132C db 97h ; Œ seg000:132D db 10h seg000:132E db 97h ; Œ seg000:132F db 20h seg000:1330 db 98h ; œ seg000:1331 db 0FFh seg000:1332 db 99h ; Ö seg000:1333 db 0FFh seg000:1334 db 9Ah ; Ü seg000:1335 db 0FFh seg000:1336 db 9Bh ; seg000:1337 db 0FFh seg000:1338 db 9Ch ; seg000:1339 db 1 seg000:133A db 9Ch ; seg000:133B db 0FEh ; ¦ seg000:133C db 9Dh ; £ seg000:133D db 1 seg000:133E db 9Dh ; £ seg000:133F db 2 seg000:1340 db 9Dh ; £ seg000:1341 db 4 seg000:1342 db 9Eh ; × seg000:1343 db 0FFh seg000:1344 db 1 seg000:1345 db 1 seg000:1346 db 11h seg000:1347 db 1 seg000:1348 db 21h ; ! seg000:1349 db 1 seg000:134A db 31h ; 1 seg000:134B db 1 seg000:134C db 1 seg000:134D db 2 seg000:134E db 11h seg000:134F db 2 seg000:1350 db 21h ; ! seg000:1351 db 2 seg000:1352 db 31h ; 1 seg000:1353 db 2 seg000:1354 db 1 seg000:1355 db 4 seg000:1356 db 11h seg000:1357 db 4 seg000:1358 db 21h ; ! seg000:1359 db 4 seg000:135A db 31h ; 1 seg000:135B db 4 seg000:135C db 1 seg000:135D db 8 seg000:135E db 11h seg000:135F db 8 seg000:1360 db 21h ; ! seg000:1361 db 8 seg000:1362 db 31h ; 1 seg000:1363 db 8 seg000:1364 db 1 seg000:1365 db 10h seg000:1366 db 11h seg000:1367 db 10h seg000:1368 db 21h ; ! seg000:1369 db 10h seg000:136A db 31h ; 1 seg000:136B db 10h seg000:136C db 1 seg000:136D db 20h seg000:136E db 11h seg000:136F db 20h seg000:1370 db 21h ; ! seg000:1371 db 20h seg000:1372 db 31h ; 1 seg000:1373 db 20h seg000:1374 db 1 seg000:1375 db 40h ; @ seg000:1376 db 11h seg000:1377 db 40h ; @ seg000:1378 db 21h ; ! seg000:1379 db 40h ; @ seg000:137A db 31h ; 1 seg000:137B db 40h ; @ seg000:137C db 3 seg000:137D db 1 seg000:137E db 13h seg000:137F db 1 seg000:1380 db 23h ; # seg000:1381 db 1 seg000:1382 db 33h ; 3 seg000:1383 db 1 seg000:1384 db 3 seg000:1385 db 2 seg000:1386 db 13h seg000:1387 db 2 seg000:1388 db 23h ; # seg000:1389 db 2 seg000:138A db 33h ; 3 seg000:138B db 2 seg000:138C db 4 seg000:138D db 1 seg000:138E db 14h seg000:138F db 1 seg000:1390 db 24h ; $ seg000:1391 db 1 seg000:1392 db 34h ; 4 seg000:1393 db 1 seg000:1394 db 8 seg000:1395 db 0FFh seg000:1396 db 18h seg000:1397 db 0FFh seg000:1398 db 28h ; ( seg000:1399 db 0FFh seg000:139A db 38h ; 8 seg000:139B db 0FFh seg000:139C db 9 seg000:139D db 0FFh seg000:139E db 19h seg000:139F db 0FFh seg000:13A0 db 29h ; ) seg000:13A1 db 0FFh seg000:13A2 db 39h ; 9 seg000:13A3 db 0FFh seg000:13A4 db 0Ch seg000:13A5 db 0FFh seg000:13A6 db 1Ch seg000:13A7 db 0FFh seg000:13A8 db 2Ch ; , seg000:13A9 db 0FFh seg000:13AA db 3Ch ; < seg000:13AB db 0FFh seg000:13AC db 0Dh seg000:13AD db 0FFh seg000:13AE db 1Dh seg000:13AF db 0FFh seg000:13B0 db 2Dh ; - seg000:13B1 db 0FFh seg000:13B2 db 3Dh ; = seg000:13B3 db 0FFh seg000:13B4 seg000:13B4 ; =============== S U B R O U T I N E ======================================= seg000:13B4 seg000:13B4 seg000:13B4 sub_C13B4 proc near ; CODE XREF: sub_C820C+5p seg000:13B4 push ax seg000:13B5 push edx seg000:13B7 push edi seg000:13B9 push ecx seg000:13BB movzx ecx, cx seg000:13BF imul ecx, 0Ah seg000:13C3 add al, 80h ; 'Ç' seg000:13C5 call sub_C36FD seg000:13C8 call sub_C3720 seg000:13CB call sub_C3A0F seg000:13CE mov eax, edi seg000:13D1 mov ecx, 0Ah seg000:13D7 xor edx, edx seg000:13DA div ecx seg000:13DD pop ecx seg000:13DF mov cx, ax seg000:13E1 pop edi seg000:13E3 pop edx seg000:13E5 pop ax seg000:13E6 retn seg000:13E6 sub_C13B4 endp seg000:13E6 seg000:13E6 ; --------------------------------------------------------------------------- seg000:13E7 db 50h ; P seg000:13E8 db 53h ; S seg000:13E9 db 8Ah ; Õ seg000:13EA db 0D8h ; ì seg000:13EB db 0B0h ; - seg000:13EC db 0A4h ; ¥ seg000:13ED db 0E8h ; À seg000:13EE db 0B2h ; - seg000:13EF db 0FEh ; ¦ seg000:13F0 db 0D0h ; ð seg000:13F1 db 0ECh ; ý seg000:13F2 db 5Bh ; [ seg000:13F3 db 58h ; X seg000:13F4 db 0C3h ; + seg000:13F5 seg000:13F5 ; =============== S U B R O U T I N E ======================================= seg000:13F5 seg000:13F5 seg000:13F5 sub_C13F5 proc near ; CODE XREF: sub_C21F5+22p seg000:13F5 ; sub_C2225+19p seg000:13F5 push ax seg000:13F6 push bx seg000:13F7 mov bl, al seg000:13F9 mov al, 0A4h ; '¥' seg000:13FB call sub_C12AC seg000:13FE pop bx seg000:13FF pop ax seg000:1400 retn seg000:1400 sub_C13F5 endp seg000:1400 seg000:1401 seg000:1401 ; =============== S U B R O U T I N E ======================================= seg000:1401 seg000:1401 seg000:1401 sub_C1401 proc near ; CODE XREF: sub_C26C6:loc_C26CDp seg000:1401 push dx seg000:1402 call sub_C24DD seg000:1405 or dx, dx seg000:1407 setnz dl seg000:140A shr dl, 1 seg000:140C pop dx seg000:140D retn seg000:140D sub_C1401 endp seg000:140D seg000:140D ; --------------------------------------------------------------------------- seg000:140E db 52h ; R seg000:140F db 0E8h ; À seg000:1410 db 0FCh ; Ø seg000:1411 db 10h seg000:1412 db 0Bh seg000:1413 db 0D2h ; Ï seg000:1414 db 0Fh seg000:1415 db 95h ; ¼ seg000:1416 db 0C2h ; T seg000:1417 db 0D0h ; ð seg000:1418 db 0EAh ; à seg000:1419 db 5Ah ; Z seg000:141A db 0C3h ; + seg000:141B db 0E8h ; À seg000:141C db 0F0h ; ­ seg000:141D db 0FFh seg000:141E db 73h ; s seg000:141F db 3 seg000:1420 db 0E8h ; À seg000:1421 db 0C4h ; ¦ seg000:1422 db 0FFh seg000:1423 db 0C3h ; + seg000:1424 db 53h ; S seg000:1425 db 57h ; W seg000:1426 db 0Fh seg000:1427 db 0B6h ;  seg000:1428 db 0FBh ; û seg000:1429 db 8Ah ; Õ seg000:142A db 0F8h ; ° seg000:142B db 32h ; 2 seg000:142C db 0DBh ; - seg000:142D db 0E8h ; À seg000:142E db 1Ch seg000:142F db 0F1h ; ½ seg000:1430 db 10h seg000:1431 db 0Ch seg000:1432 db 64h ; d seg000:1433 db 61h ; a seg000:1434 db 80h ; Ç seg000:1435 db 0E7h ; š seg000:1436 db 0FFh seg000:1437 db 0FFh seg000:1438 db 0FFh seg000:1439 db 71h ; q seg000:143A db 5Fh ; _ seg000:143B db 5Bh ; [ seg000:143C db 0C3h ; + seg000:143D db 53h ; S seg000:143E db 57h ; W seg000:143F db 0Fh seg000:1440 db 0B6h ;  seg000:1441 db 0FBh ; û seg000:1442 db 8Ah ; Õ seg000:1443 db 0F8h ; ° seg000:1444 db 32h ; 2 seg000:1445 db 0DBh ; - seg000:1446 db 0E8h ; À seg000:1447 db 3 seg000:1448 db 0F1h ; ½ seg000:1449 db 10h seg000:144A db 10h seg000:144B db 65h ; e seg000:144C db 61h ; a seg000:144D db 80h ; Ç seg000:144E db 0FEh ; ¦ seg000:144F db 0FFh seg000:1450 db 0FFh seg000:1451 db 0FFh seg000:1452 db 71h ; q seg000:1453 db 5Fh ; _ seg000:1454 db 5Bh ; [ seg000:1455 db 0C3h ; + seg000:1456 db 66h ; f seg000:1457 db 50h ; P seg000:1458 db 53h ; S seg000:1459 db 8Ah ; Õ seg000:145A db 0F8h ; ° seg000:145B db 32h ; 2 seg000:145C db 0DBh ; - seg000:145D db 0E8h ; À seg000:145E db 0ECh ; ý seg000:145F db 0F0h ; ­ seg000:1460 db 2Ch ; , seg000:1461 db 10h seg000:1462 db 65h ; e seg000:1463 db 61h ; a seg000:1464 db 80h ; Ç seg000:1465 db 1Ch seg000:1466 db 7Fh ;  seg000:1467 db 1 seg000:1468 db 1Ch seg000:1469 db 71h ; q seg000:146A db 5Bh ; [ seg000:146B db 8Ah ; Õ seg000:146C db 0D8h ; ì seg000:146D db 66h ; f seg000:146E db 58h ; X seg000:146F db 0C3h ; + seg000:1470 db 50h ; P seg000:1471 db 53h ; S seg000:1472 db 8Ah ; Õ seg000:1473 db 0F8h ; ° seg000:1474 db 32h ; 2 seg000:1475 db 0DBh ; - seg000:1476 db 0E8h ; À seg000:1477 db 0D3h ; Ë seg000:1478 db 0F0h ; ­ seg000:1479 db 20h seg000:147A db 0 seg000:147B db 52h ; R seg000:147C db 62h ; b seg000:147D db 80h ; Ç seg000:147E db 0 seg000:147F db 0 seg000:1480 db 0FFh seg000:1481 db 0FFh seg000:1482 db 18h seg000:1483 db 56h ; V seg000:1484 db 18h seg000:1485 db 0FFh seg000:1486 db 71h ; q seg000:1487 db 5Bh ; [ seg000:1488 db 58h ; X seg000:1489 db 0C3h ; + seg000:148A seg000:148A ; =============== S U B R O U T I N E ======================================= seg000:148A seg000:148A seg000:148A sub_C148A proc near ; CODE XREF: sub_C310E+8Ep seg000:148A push eax seg000:148C push dx seg000:148D call sub_C0529 seg000:1490 sub al, 0 seg000:1492 push ax seg000:1493 bound ax, [bx+si] seg000:1495 sbb al, 71h ; 'q' seg000:1497 mov cx, 4 seg000:149A xor dx, dx seg000:149C div cx seg000:149E mov cx, ax seg000:14A0 pop dx seg000:14A1 pop eax seg000:14A3 retn seg000:14A3 sub_C148A endp ; sp-analysis failed seg000:14A3 seg000:14A3 ; --------------------------------------------------------------------------- seg000:14A4 db 0C3h ; + seg000:14A5 db 0C3h ; + seg000:14A6 db 50h ; P seg000:14A7 db 53h ; S seg000:14A8 db 66h ; f seg000:14A9 db 51h ; Q seg000:14AA db 66h ; f seg000:14AB db 0Fh seg000:14AC db 0B7h ; Ì seg000:14AD db 0C9h ; - seg000:14AE db 66h ; f seg000:14AF db 69h ; i seg000:14B0 db 0C9h ; - seg000:14B1 db 10h seg000:14B2 db 27h ; ' seg000:14B3 db 0 seg000:14B4 db 0 seg000:14B5 db 8Ah ; Õ seg000:14B6 db 0F8h ; ° seg000:14B7 db 32h ; 2 seg000:14B8 db 0DBh ; - seg000:14B9 db 0E8h ; À seg000:14BA db 90h ; É seg000:14BB db 0F0h ; ­ seg000:14BC db 6Eh ; n seg000:14BD db 4 seg000:14BE db 64h ; d seg000:14BF db 61h ; a seg000:14C0 db 80h ; Ç seg000:14C1 db 0 seg000:14C2 db 0 seg000:14C3 db 0 seg000:14C4 db 0 seg000:14C5 db 0 seg000:14C6 db 0 seg000:14C7 db 20h seg000:14C8 db 1 seg000:14C9 db 21h ; ! seg000:14CA db 0 seg000:14CB db 64h ; d seg000:14CC db 61h ; a seg000:14CD db 80h ; Ç seg000:14CE db 18h seg000:14CF db 71h ; q seg000:14D0 db 66h ; f seg000:14D1 db 59h ; Y seg000:14D2 db 5Bh ; [ seg000:14D3 db 58h ; X seg000:14D4 db 0C3h ; + seg000:14D5 db 66h ; f seg000:14D6 db 50h ; P seg000:14D7 db 53h ; S seg000:14D8 db 66h ; f seg000:14D9 db 52h ; R seg000:14DA db 66h ; f seg000:14DB db 51h ; Q seg000:14DC db 8Ah ; Õ seg000:14DD db 0F8h ; ° seg000:14DE db 32h ; 2 seg000:14DF db 0DBh ; - seg000:14E0 db 0E8h ; À seg000:14E1 db 69h ; i seg000:14E2 db 0F0h ; ­ seg000:14E3 db 2Ch ; , seg000:14E4 db 0 seg000:14E5 db 64h ; d seg000:14E6 db 61h ; a seg000:14E7 db 80h ; Ç seg000:14E8 db 1Ch seg000:14E9 db 7Bh ; { seg000:14EA db 0FFh seg000:14EB db 0FFh seg000:14EC db 0FFh seg000:14ED db 7Fh ;  seg000:14EE db 1Ch seg000:14EF db 71h ; q seg000:14F0 db 66h ; f seg000:14F1 db 0B9h ; ¦ seg000:14F2 db 10h seg000:14F3 db 27h ; ' seg000:14F4 db 0 seg000:14F5 db 0 seg000:14F6 db 66h ; f seg000:14F7 db 33h ; 3 seg000:14F8 db 0D2h ; Ï seg000:14F9 db 66h ; f seg000:14FA db 0F7h ; ¸ seg000:14FB db 0F1h ; ½ seg000:14FC db 66h ; f seg000:14FD db 59h ; Y seg000:14FE db 8Bh ; õ seg000:14FF db 0C8h ; L seg000:1500 db 66h ; f seg000:1501 db 5Ah ; Z seg000:1502 db 5Bh ; [ seg000:1503 db 66h ; f seg000:1504 db 58h ; X seg000:1505 db 0C3h ; + seg000:1506 db 53h ; S seg000:1507 db 51h ; Q seg000:1508 db 0E8h ; À seg000:1509 db 1Eh seg000:150A db 0F0h ; ­ seg000:150B db 2Dh ; - seg000:150C db 0EBh ; Û seg000:150D db 10h seg000:150E db 2Dh ; - seg000:150F db 0ECh ; ý seg000:1510 db 11h seg000:1511 db 71h ; q seg000:1512 db 8Ah ; Õ seg000:1513 db 0C8h ; L seg000:1514 db 0B5h ; Á seg000:1515 db 1 seg000:1516 db 0D2h ; Ï seg000:1517 db 0E5h ; ò seg000:1518 db 22h ; " seg000:1519 db 0DDh ; Þ seg000:151A db 0B5h ; Á seg000:151B db 1 seg000:151C db 0D2h ; Ï seg000:151D db 0E5h ; ò seg000:151E db 22h ; " seg000:151F db 0FDh ; ø seg000:1520 db 0Ah seg000:1521 db 0FBh ; û seg000:1522 db 74h ; t seg000:1523 db 1 seg000:1524 db 0F9h ; ¨ seg000:1525 db 59h ; Y seg000:1526 db 5Bh ; [ seg000:1527 db 0C3h ; + seg000:1528 db 53h ; S seg000:1529 db 51h ; Q seg000:152A db 52h ; R seg000:152B db 8Ah ; Õ seg000:152C db 0C8h ; L seg000:152D db 0B3h ; - seg000:152E db 11h seg000:152F db 0B2h ; - seg000:1530 db 1 seg000:1531 db 0B7h ; Ì seg000:1532 db 11h seg000:1533 db 0B6h ;  seg000:1534 db 1 seg000:1535 db 0D2h ; Ï seg000:1536 db 0E3h ; Ñ seg000:1537 db 0D2h ; Ï seg000:1538 db 0E2h ; Ô seg000:1539 db 0D2h ; Ï seg000:153A db 0E7h ; š seg000:153B db 0D2h ; Ï seg000:153C db 0E6h ; Š seg000:153D db 0E8h ; À seg000:153E db 0E9h ; Ú seg000:153F db 0EFh ; ´ seg000:1540 db 29h ; ) seg000:1541 db 0ECh ; ý seg000:1542 db 10h seg000:1543 db 29h ; ) seg000:1544 db 0EEh ; þ seg000:1545 db 14h seg000:1546 db 29h ; ) seg000:1547 db 0EDh ; Ý seg000:1548 db 11h seg000:1549 db 29h ; ) seg000:154A db 0EEh ; þ seg000:154B db 15h seg000:154C db 71h ; q seg000:154D db 0E8h ; À seg000:154E db 0B6h ;  seg000:154F db 0FFh seg000:1550 db 73h ; s seg000:1551 db 0Bh seg000:1552 db 0B3h ; - seg000:1553 db 10h seg000:1554 db 0D2h ; Ï seg000:1555 db 0E3h ; Ñ seg000:1556 db 0E8h ; À seg000:1557 db 0D0h ; ð seg000:1558 db 0EFh ; ´ seg000:1559 db 28h ; ( seg000:155A db 0ECh ; ý seg000:155B db 10h seg000:155C db 71h ; q seg000:155D db 5Ah ; Z seg000:155E db 59h ; Y seg000:155F db 5Bh ; [ seg000:1560 db 0C3h ; + seg000:1561 db 50h ; P seg000:1562 db 53h ; S seg000:1563 db 66h ; f seg000:1564 db 51h ; Q seg000:1565 db 52h ; R seg000:1566 db 0E8h ; À seg000:1567 db 3Bh ; ; seg000:1568 db 0FFh seg000:1569 db 0E8h ; À seg000:156A db 39h ; 9 seg000:156B db 0FFh seg000:156C db 8Ah ; Õ seg000:156D db 0C8h ; L seg000:156E db 0B2h ; - seg000:156F db 10h seg000:1570 db 0B6h ;  seg000:1571 db 10h seg000:1572 db 0D2h ; Ï seg000:1573 db 0E2h ; Ô seg000:1574 db 0D2h ; Ï seg000:1575 db 0E6h ; Š seg000:1576 db 50h ; P seg000:1577 db 52h ; R seg000:1578 db 0B0h ; - seg000:1579 db 0EBh ; Û seg000:157A db 0E8h ; À seg000:157B db 0Ch seg000:157C db 6 seg000:157D db 8Ah ; Õ seg000:157E db 0CCh ; ¦ seg000:157F db 0B0h ; - seg000:1580 db 0ECh ; ý seg000:1581 db 0E8h ; À seg000:1582 db 5 seg000:1583 db 6 seg000:1584 db 8Ah ; Õ seg000:1585 db 0ECh ; ý seg000:1586 db 5Ah ; Z seg000:1587 db 58h ; X seg000:1588 db 22h ; " seg000:1589 db 0CAh ; ¦ seg000:158A db 22h ; " seg000:158B db 0EEh ; þ seg000:158C db 0Ah seg000:158D db 0E9h ; Ú seg000:158E db 74h ; t seg000:158F db 16h seg000:1590 db 0E8h ; À seg000:1591 db 42h ; B seg000:1592 db 0FFh seg000:1593 db 0Bh seg000:1594 db 0C9h ; - seg000:1595 db 74h ; t seg000:1596 db 0Fh seg000:1597 db 66h ; f seg000:1598 db 0Fh seg000:1599 db 0B7h ; Ì seg000:159A db 0C9h ; - seg000:159B db 66h ; f seg000:159C db 6Bh ; k seg000:159D db 0C9h ; - seg000:159E db 0Ah seg000:159F db 50h ; P seg000:15A0 db 4 seg000:15A1 db 80h ; Ç seg000:15A2 db 0E8h ; À seg000:15A3 db 0E1h ; ß seg000:15A4 db 23h ; # seg000:15A5 db 58h ; X seg000:15A6 db 8Ah ; Õ seg000:15A7 db 0F8h ; ° seg000:15A8 db 32h ; 2 seg000:15A9 db 0DBh ; - seg000:15AA db 0E8h ; À seg000:15AB db 9Fh ; è seg000:15AC db 0EFh ; ´ seg000:15AD db 6Eh ; n seg000:15AE db 80h ; Ç seg000:15AF db 0C2h ; T seg000:15B0 db 61h ; a seg000:15B1 db 80h ; Ç seg000:15B2 db 0FEh ; ¦ seg000:15B3 db 0FFh seg000:15B4 db 0FFh seg000:15B5 db 0FFh seg000:15B6 db 0 seg000:15B7 db 0 seg000:15B8 db 0 seg000:15B9 db 0 seg000:15BA db 71h ; q seg000:15BB db 0E8h ; À seg000:15BC db 48h ; H seg000:15BD db 0FFh seg000:15BE db 73h ; s seg000:15BF db 0Ch seg000:15C0 db 0E8h ; À seg000:15C1 db 79h ; y seg000:15C2 db 4Dh ; M seg000:15C3 db 8Ah ; Õ seg000:15C4 db 0D8h ; ì seg000:15C5 db 0B0h ; - seg000:15C6 db 94h ; ö seg000:15C7 db 0B4h ; + seg000:15C8 db 1 seg000:15C9 db 0E8h ; À seg000:15CA db 0E0h ; Ó seg000:15CB db 0FCh ; Ø seg000:15CC db 8Ah ; Õ seg000:15CD db 0F8h ; ° seg000:15CE db 32h ; 2 seg000:15CF db 0DBh ; - seg000:15D0 db 0E8h ; À seg000:15D1 db 79h ; y seg000:15D2 db 0EFh ; ´ seg000:15D3 db 6Eh ; n seg000:15D4 db 0C8h ; L seg000:15D5 db 63h ; c seg000:15D6 db 61h ; a seg000:15D7 db 80h ; Ç seg000:15D8 db 0FFh seg000:15D9 db 0FFh seg000:15DA db 0FFh seg000:15DB db 0BFh ; ¬ seg000:15DC db 0 seg000:15DD db 0 seg000:15DE db 0 seg000:15DF db 80h ; Ç seg000:15E0 db 71h ; q seg000:15E1 db 5Ah ; Z seg000:15E2 db 66h ; f seg000:15E3 db 59h ; Y seg000:15E4 db 5Bh ; [ seg000:15E5 db 58h ; X seg000:15E6 db 0C3h ; + seg000:15E7 seg000:15E7 ; =============== S U B R O U T I N E ======================================= seg000:15E7 seg000:15E7 seg000:15E7 sub_C15E7 proc near ; CODE XREF: sub_C16CE+5p seg000:15E7 push bx seg000:15E8 push cx seg000:15E9 push dx seg000:15EA mov si, 537Dh seg000:15ED movzx bx, byte ptr cs:[si+3] seg000:15F2 movzx cx, byte ptr cs:[si+2] seg000:15F7 mov si, 5383h seg000:15FA sub si, bx seg000:15FC seg000:15FC loc_C15FC: ; CODE XREF: sub_C15E7+23j seg000:15FC add si, bx seg000:15FE mov dx, cs:[si] seg000:1601 and dx, 0FF00h seg000:1605 shr dx, 8 seg000:1608 cmp al, dl seg000:160A loopne loc_C15FC seg000:160C jnz short loc_C1615 seg000:160E mov al, cs:[si] seg000:1611 and al, 3Fh seg000:1613 cmp al, al seg000:1615 seg000:1615 loc_C1615: ; CODE XREF: sub_C15E7+25j seg000:1615 pop dx seg000:1616 pop cx seg000:1617 pop bx seg000:1618 retn seg000:1618 sub_C15E7 endp seg000:1618 seg000:1619 seg000:1619 ; =============== S U B R O U T I N E ======================================= seg000:1619 seg000:1619 seg000:1619 sub_C1619 proc near ; CODE XREF: sub_C1731+3p seg000:1619 push bx seg000:161A push cx seg000:161B push dx seg000:161C mov si, 537Dh seg000:161F movzx bx, byte ptr cs:[si+3] seg000:1624 movzx cx, byte ptr cs:[si+2] seg000:1629 mov si, 5383h seg000:162C sub si, bx seg000:162E seg000:162E loc_C162E: ; CODE XREF: sub_C1619+1Fj seg000:162E add si, bx seg000:1630 mov dx, cs:[si] seg000:1633 and dx, 3Fh seg000:1636 cmp al, dl seg000:1638 loopne loc_C162E seg000:163A jnz short loc_C163E seg000:163C cmp al, al seg000:163E seg000:163E loc_C163E: ; CODE XREF: sub_C1619+21j seg000:163E pop dx seg000:163F pop cx seg000:1640 pop bx seg000:1641 retn seg000:1641 sub_C1619 endp seg000:1641 seg000:1641 ; --------------------------------------------------------------------------- seg000:1642 db 50h ; P seg000:1643 db 56h ; V seg000:1644 db 0E8h ; À seg000:1645 db 0A0h ; á seg000:1646 db 0FFh seg000:1647 db 5Eh ; ^ seg000:1648 db 58h ; X seg000:1649 db 0C3h ; + seg000:164A seg000:164A ; =============== S U B R O U T I N E ======================================= seg000:164A seg000:164A seg000:164A sub_C164A proc near ; CODE XREF: sub_C167E+8p seg000:164A ; sub_C16B0+5p seg000:164A push eax seg000:164C push cx seg000:164D mov cl, al seg000:164F xor eax, eax seg000:1652 mov esi, 0D610h seg000:1658 mov al, 4 seg000:165A mul cl seg000:165C add esi, eax seg000:165F pop cx seg000:1660 pop eax seg000:1662 retn seg000:1662 sub_C164A endp seg000:1662 seg000:1662 ; --------------------------------------------------------------------------- seg000:1663 db 66h ; f seg000:1664 db 50h ; P seg000:1665 db 51h ; Q seg000:1666 db 8Ah ; Õ seg000:1667 db 0CCh ; ¦ seg000:1668 db 66h ; f seg000:1669 db 33h ; 3 seg000:166A db 0C0h ; L seg000:166B db 66h ; f seg000:166C db 0BEh ; ¿ seg000:166D db 40h ; @ seg000:166E db 0D7h ; Î seg000:166F db 0 seg000:1670 db 0 seg000:1671 db 0FEh ; ¦ seg000:1672 db 0C9h ; - seg000:1673 db 0B0h ; - seg000:1674 db 4 seg000:1675 db 0F6h ; ÷ seg000:1676 db 0E1h ; ß seg000:1677 db 66h ; f seg000:1678 db 3 seg000:1679 db 0F0h ; ­ seg000:167A db 59h ; Y seg000:167B db 66h ; f seg000:167C db 58h ; X seg000:167D db 0C3h ; + seg000:167E seg000:167E ; =============== S U B R O U T I N E ======================================= seg000:167E seg000:167E seg000:167E sub_C167E proc near ; CODE XREF: sub_C1731+29p seg000:167E push eax seg000:1680 push ebx seg000:1682 push edx seg000:1684 push esi seg000:1686 call sub_C164A seg000:1689 shl bl, 1 seg000:168B or bl, ah seg000:168D movzx ebx, bl seg000:1691 rol ebx, 0Ch seg000:1695 mov edx, 0FFFFCFFFh seg000:169B call sub_C475C seg000:169E and eax, edx seg000:16A1 or eax, ebx seg000:16A4 call sub_C4741 seg000:16A7 pop esi seg000:16A9 pop edx seg000:16AB pop ebx seg000:16AD pop eax seg000:16AF retn seg000:16AF sub_C167E endp seg000:16AF seg000:16B0 seg000:16B0 ; =============== S U B R O U T I N E ======================================= seg000:16B0 seg000:16B0 seg000:16B0 sub_C16B0 proc near ; CODE XREF: sub_C16CE+Ap seg000:16B0 ; sub_C8C35:loc_C8C58p seg000:16B0 push cx seg000:16B1 push esi seg000:16B3 push eax seg000:16B5 call sub_C164A seg000:16B8 call sub_C475C seg000:16BB and eax, 4000h seg000:16C1 shr ax, 0Eh seg000:16C4 mov cl, al seg000:16C6 pop eax seg000:16C8 mov ah, cl seg000:16CA pop esi seg000:16CC pop cx seg000:16CD retn seg000:16CD sub_C16B0 endp seg000:16CD seg000:16CE seg000:16CE ; =============== S U B R O U T I N E ======================================= seg000:16CE seg000:16CE seg000:16CE sub_C16CE proc near ; CODE XREF: sub_C4A32+3p seg000:16CE push bx seg000:16CF push si seg000:16D0 push ax seg000:16D1 xor bl, bl seg000:16D3 call sub_C15E7 seg000:16D6 jnz short loc_C16EB seg000:16D8 call sub_C16B0 seg000:16DB mov bh, cs:[si+4] seg000:16DF shr bh, 6 seg000:16E2 and bh, 1 seg000:16E5 cmp ah, bh seg000:16E7 jnz short loc_C16EB seg000:16E9 inc bl seg000:16EB seg000:16EB loc_C16EB: ; CODE XREF: sub_C16CE+8j seg000:16EB ; sub_C16CE+19j seg000:16EB pop ax seg000:16EC mov ah, bl seg000:16EE or ah, ah seg000:16F0 pop si seg000:16F1 pop bx seg000:16F2 retn seg000:16F2 sub_C16CE endp seg000:16F2 seg000:16F2 ; --------------------------------------------------------------------------- seg000:16F3 db 0E8h ; À seg000:16F4 db 4 seg000:16F5 db 0 seg000:16F6 db 0E8h ; À seg000:16F7 db 0D1h ; Ð seg000:16F8 db 0 seg000:16F9 db 0C3h ; + seg000:16FA db 50h ; P seg000:16FB db 53h ; S seg000:16FC db 56h ; V seg000:16FD db 0E8h ; À seg000:16FE db 0E7h ; š seg000:16FF db 0FEh ; ¦ seg000:1700 db 75h ; u seg000:1701 db 24h ; $ seg000:1702 db 2Eh ; . seg000:1703 db 8Ah ; Õ seg000:1704 db 5Ch ; \ seg000:1705 db 4 seg000:1706 db 0Ah seg000:1707 db 0E4h ; ñ seg000:1708 db 8Ah ; Õ seg000:1709 db 0E3h ; Ñ seg000:170A db 74h ; t seg000:170B db 8 seg000:170C db 0C0h ; L seg000:170D db 0ECh ; ý seg000:170E db 6 seg000:170F db 0C0h ; L seg000:1710 db 0EBh ; Û seg000:1711 db 7 seg000:1712 db 0EBh ; Û seg000:1713 db 6 seg000:1714 db 0C0h ; L seg000:1715 db 0ECh ; ý seg000:1716 db 4 seg000:1717 db 0C0h ; L seg000:1718 db 0EBh ; Û seg000:1719 db 5 seg000:171A db 80h ; Ç seg000:171B db 0E4h ; ñ seg000:171C db 1 seg000:171D db 80h ; Ç seg000:171E db 0E3h ; Ñ seg000:171F db 1 seg000:1720 db 80h ; Ç seg000:1721 db 0F3h ; ¡ seg000:1722 db 1 seg000:1723 db 0E8h ; À seg000:1724 db 58h ; X seg000:1725 db 0FFh seg000:1726 db 5Eh ; ^ seg000:1727 db 5Bh ; [ seg000:1728 db 58h ; X seg000:1729 db 0C3h ; + seg000:172A seg000:172A ; =============== S U B R O U T I N E ======================================= seg000:172A seg000:172A seg000:172A sub_C172A proc near ; CODE XREF: sub_C8CAE:loc_C8CF1p seg000:172A call sub_C1731 seg000:172D call sub_C17CA seg000:1730 retn seg000:1730 sub_C172A endp seg000:1730 seg000:1731 seg000:1731 ; =============== S U B R O U T I N E ======================================= seg000:1731 seg000:1731 seg000:1731 sub_C1731 proc near ; CODE XREF: sub_C172Ap seg000:1731 push ax seg000:1732 push bx seg000:1733 push si seg000:1734 call sub_C1619 seg000:1737 jnz short loc_C175D seg000:1739 mov bl, cs:[si+4] seg000:173D or ah, ah seg000:173F mov ah, bl seg000:1741 jz short loc_C174B seg000:1743 shr ah, 6 seg000:1746 shr bl, 7 seg000:1749 jmp short loc_C1751 seg000:174B ; --------------------------------------------------------------------------- seg000:174B seg000:174B loc_C174B: ; CODE XREF: sub_C1731+10j seg000:174B shr ah, 4 seg000:174E shr bl, 5 seg000:1751 seg000:1751 loc_C1751: ; CODE XREF: sub_C1731+18j seg000:1751 and ah, 1 seg000:1754 and bl, 1 seg000:1757 xor bl, 1 seg000:175A call sub_C167E seg000:175D seg000:175D loc_C175D: ; CODE XREF: sub_C1731+6j seg000:175D pop si seg000:175E pop bx seg000:175F pop ax seg000:1760 retn seg000:1760 sub_C1731 endp seg000:1760 seg000:1760 ; --------------------------------------------------------------------------- seg000:1761 db 0E8h ; À seg000:1762 db 4 seg000:1763 db 0 seg000:1764 db 0E8h ; À seg000:1765 db 63h ; c seg000:1766 db 0 seg000:1767 db 0C3h ; + seg000:1768 db 66h ; f seg000:1769 db 50h ; P seg000:176A db 66h ; f seg000:176B db 53h ; S seg000:176C db 66h ; f seg000:176D db 51h ; Q seg000:176E db 66h ; f seg000:176F db 56h ; V seg000:1770 db 0E8h ; À seg000:1771 db 0D7h ; Î seg000:1772 db 0FEh ; ¦ seg000:1773 db 66h ; f seg000:1774 db 0BBh ; ¬ seg000:1775 db 0 seg000:1776 db 0FFh seg000:1777 db 0FFh seg000:1778 db 0FFh seg000:1779 db 66h ; f seg000:177A db 33h ; 3 seg000:177B db 0C9h ; - seg000:177C db 8Bh ; õ seg000:177D db 0C8h ; L seg000:177E db 0C1h ; + seg000:177F db 0E9h ; Ú seg000:1780 db 8 seg000:1781 db 0E8h ; À seg000:1782 db 0D8h ; ì seg000:1783 db 2Fh ; / seg000:1784 db 66h ; f seg000:1785 db 23h ; # seg000:1786 db 0C3h ; + seg000:1787 db 66h ; f seg000:1788 db 0Bh seg000:1789 db 0C1h ; + seg000:178A db 0E8h ; À seg000:178B db 0B4h ; + seg000:178C db 2Fh ; / seg000:178D db 66h ; f seg000:178E db 5Eh ; ^ seg000:178F db 66h ; f seg000:1790 db 59h ; Y seg000:1791 db 66h ; f seg000:1792 db 5Bh ; [ seg000:1793 db 66h ; f seg000:1794 db 58h ; X seg000:1795 db 0C3h ; + seg000:1796 db 66h ; f seg000:1797 db 50h ; P seg000:1798 db 66h ; f seg000:1799 db 53h ; S seg000:179A db 66h ; f seg000:179B db 51h ; Q seg000:179C db 66h ; f seg000:179D db 56h ; V seg000:179E db 0Ah seg000:179F db 0E4h ; ñ seg000:17A0 db 74h ; t seg000:17A1 db 1Fh seg000:17A2 db 80h ; Ç seg000:17A3 db 0FCh ; Ø seg000:17A4 db 18h seg000:17A5 db 77h ; w seg000:17A6 db 1Ah seg000:17A7 db 0E8h ; À seg000:17A8 db 0B9h ; ¦ seg000:17A9 db 0FEh ; ¦ seg000:17AA db 66h ; f seg000:17AB db 0BBh ; ¬ seg000:17AC db 0 seg000:17AD db 0FFh seg000:17AE db 0FFh seg000:17AF db 0FFh seg000:17B0 db 66h ; f seg000:17B1 db 33h ; 3 seg000:17B2 db 0C9h ; - seg000:17B3 db 8Ah ; Õ seg000:17B4 db 0C8h ; L seg000:17B5 db 0E8h ; À seg000:17B6 db 0A4h ; ¥ seg000:17B7 db 2Fh ; / seg000:17B8 db 66h ; f seg000:17B9 db 23h ; # seg000:17BA db 0C3h ; + seg000:17BB db 66h ; f seg000:17BC db 0Bh seg000:17BD db 0C1h ; + seg000:17BE db 0E8h ; À seg000:17BF db 80h ; Ç seg000:17C0 db 2Fh ; / seg000:17C1 db 66h ; f seg000:17C2 db 5Eh ; ^ seg000:17C3 db 66h ; f seg000:17C4 db 59h ; Y seg000:17C5 db 66h ; f seg000:17C6 db 5Bh ; [ seg000:17C7 db 66h ; f seg000:17C8 db 58h ; X seg000:17C9 db 0C3h ; + seg000:17CA seg000:17CA ; =============== S U B R O U T I N E ======================================= seg000:17CA seg000:17CA seg000:17CA sub_C17CA proc near ; CODE XREF: sub_C172A+3p seg000:17CA push eax seg000:17CC push esi seg000:17CE mov esi, 0D604h seg000:17D4 call sub_C475C seg000:17D7 and al, 0FEh seg000:17D9 or al, 1 seg000:17DB call sub_C4741 seg000:17DE pop esi seg000:17E0 pop eax seg000:17E2 retn seg000:17E2 sub_C17CA endp seg000:17E2 seg000:17E2 ; --------------------------------------------------------------------------- seg000:17E3 db 50h ; P seg000:17E4 db 53h ; S seg000:17E5 db 51h ; Q seg000:17E6 db 66h ; f seg000:17E7 db 52h ; R seg000:17E8 db 66h ; f seg000:17E9 db 56h ; V seg000:17EA db 0BEh ; ¿ seg000:17EB db 7Dh ; } seg000:17EC db 53h ; S seg000:17ED db 2Eh ; . seg000:17EE db 0Fh seg000:17EF db 0B6h ;  seg000:17F0 db 5Ch ; \ seg000:17F1 db 3 seg000:17F2 db 2Eh ; . seg000:17F3 db 0Fh seg000:17F4 db 0B6h ;  seg000:17F5 db 4Ch ; L seg000:17F6 db 2 seg000:17F7 db 0BEh ; ¿ seg000:17F8 db 83h ; â seg000:17F9 db 53h ; S seg000:17FA db 66h ; f seg000:17FB db 2Eh ; . seg000:17FC db 8Bh ; õ seg000:17FD db 14h seg000:17FE db 8Ah ; Õ seg000:17FF db 0C6h ; à seg000:1800 db 3Ch ; < seg000:1801 db 0FFh seg000:1802 db 74h ; t seg000:1803 db 2Ah ; * seg000:1804 db 0E8h ; À seg000:1805 db 36h ; 6 seg000:1806 db 0 seg000:1807 db 73h ; s seg000:1808 db 25h ; % seg000:1809 db 0F6h ; ÷ seg000:180A db 0C2h ; T seg000:180B db 80h ; Ç seg000:180C db 0Fh seg000:180D db 95h ; ¼ seg000:180E db 0C4h ; ¦ seg000:180F db 8Ah ; Õ seg000:1810 db 0C2h ; T seg000:1811 db 24h ; $ seg000:1812 db 3Fh ; ? seg000:1813 db 0E8h ; À seg000:1814 db 1Bh seg000:1815 db 0FFh seg000:1816 db 66h ; f seg000:1817 db 0C1h ; + seg000:1818 db 0EAh ; à seg000:1819 db 10h seg000:181A db 52h ; R seg000:181B db 81h ; ü seg000:181C db 0E2h ; Ô seg000:181D db 0FFh seg000:181E db 0 seg000:181F db 8Ah ; Õ seg000:1820 db 0E2h ; Ô seg000:1821 db 0E8h ; À seg000:1822 db 44h ; D seg000:1823 db 0FFh seg000:1824 db 5Ah ; Z seg000:1825 db 81h ; ü seg000:1826 db 0E2h ; Ô seg000:1827 db 0 seg000:1828 db 1Fh seg000:1829 db 8Ah ; Õ seg000:182A db 0E6h ; Š seg000:182B db 0E8h ; À seg000:182C db 68h ; h seg000:182D db 0FFh seg000:182E db 3 seg000:182F db 0F3h ; ¡ seg000:1830 db 0E2h ; Ô seg000:1831 db 0C8h ; L seg000:1832 db 0E8h ; À seg000:1833 db 95h ; ¼ seg000:1834 db 0FFh seg000:1835 db 66h ; f seg000:1836 db 5Eh ; ^ seg000:1837 db 66h ; f seg000:1838 db 5Ah ; Z seg000:1839 db 59h ; Y seg000:183A db 5Bh ; [ seg000:183B db 58h ; X seg000:183C db 0C3h ; + seg000:183D db 53h ; S seg000:183E db 56h ; V seg000:183F db 66h ; f seg000:1840 db 57h ; W seg000:1841 db 8Bh ; õ seg000:1842 db 0F7h ; ¸ seg000:1843 db 66h ; f seg000:1844 db 0C1h ; + seg000:1845 db 0EFh ; ´ seg000:1846 db 10h seg000:1847 db 8Bh ; õ seg000:1848 db 0DFh ; - seg000:1849 db 0EBh ; Û seg000:184A db 8 seg000:184B db 2Eh ; . seg000:184C db 3Ah ; : seg000:184D db 4 seg000:184E db 74h ; t seg000:184F db 0Bh seg000:1850 db 46h ; F seg000:1851 db 0FEh ; ¦ seg000:1852 db 0CBh ; T seg000:1853 db 80h ; Ç seg000:1854 db 0FBh ; û seg000:1855 db 0 seg000:1856 db 77h ; w seg000:1857 db 0F3h ; ¡ seg000:1858 db 0F8h ; ° seg000:1859 db 0EBh ; Û seg000:185A db 1 seg000:185B db 0F9h ; ¨ seg000:185C db 50h ; P seg000:185D db 9Fh ; è seg000:185E db 80h ; Ç seg000:185F db 0FFh seg000:1860 db 0A8h ; Ê seg000:1861 db 74h ; t seg000:1862 db 3 seg000:1863 db 80h ; Ç seg000:1864 db 0F4h ; ¢ seg000:1865 db 1 seg000:1866 db 9Eh ; × seg000:1867 db 58h ; X seg000:1868 db 66h ; f seg000:1869 db 5Fh ; _ seg000:186A db 5Eh ; ^ seg000:186B db 5Bh ; [ seg000:186C db 0C3h ; + seg000:186D db 0FFh seg000:186E db 1 seg000:186F db 0FFh seg000:1870 db 0FFh seg000:1871 db 1 seg000:1872 db 0 seg000:1873 db 1 seg000:1874 db 0 seg000:1875 db 0FFh seg000:1876 db 0FFh seg000:1877 db 2 seg000:1878 db 0F3h ; ¡ seg000:1879 db 18h seg000:187A db 1 seg000:187B db 19h seg000:187C db 19h seg000:187D db 19h seg000:187E seg000:187E ; =============== S U B R O U T I N E ======================================= seg000:187E seg000:187E seg000:187E sub_C187E proc near ; CODE XREF: sub_C1931+3p seg000:187E push bx seg000:187F push cx seg000:1880 push dx seg000:1881 mov si, 542Dh seg000:1884 movzx bx, byte ptr cs:[si+3] seg000:1889 movzx cx, byte ptr cs:[si+2] seg000:188E mov si, 5434h seg000:1891 seg000:1891 loc_C1891: ; CODE XREF: sub_C187E+1Fj seg000:1891 mov dx, cs:[si] seg000:1894 and dx, 3Fh seg000:1897 cmp al, dl seg000:1899 jz short loc_C189F seg000:189B add si, bx seg000:189D loop loc_C1891 seg000:189F seg000:189F loc_C189F: ; CODE XREF: sub_C187E+1Bj seg000:189F jnz short loc_C18A3 seg000:18A1 cmp al, al seg000:18A3 seg000:18A3 loc_C18A3: ; CODE XREF: sub_C187E:loc_C189Fj seg000:18A3 pop dx seg000:18A4 pop cx seg000:18A5 pop bx seg000:18A6 retn seg000:18A6 sub_C187E endp seg000:18A6 seg000:18A6 ; --------------------------------------------------------------------------- seg000:18A7 db 50h ; P seg000:18A8 db 2Eh ; . seg000:18A9 db 8Ah ; Õ seg000:18AA db 1Eh seg000:18AB db 32h ; 2 seg000:18AC db 54h ; T seg000:18AD db 2Eh ; . seg000:18AE db 0A0h ; á seg000:18AF db 33h ; 3 seg000:18B0 db 54h ; T seg000:18B1 db 24h ; $ seg000:18B2 db 10h seg000:18B3 db 0C0h ; L seg000:18B4 db 0E8h ; À seg000:18B5 db 4 seg000:18B6 db 0E8h ; À seg000:18B7 db 70h ; p seg000:18B8 db 0Bh seg000:18B9 db 8Ah ; Õ seg000:18BA db 0CCh ; ¦ seg000:18BB db 8Ah ; Õ seg000:18BC db 0E5h ; ò seg000:18BD db 0E8h ; À seg000:18BE db 0 seg000:18BF db 2Ah ; * seg000:18C0 db 8Ah ; Õ seg000:18C1 db 0ECh ; ý seg000:18C2 db 58h ; X seg000:18C3 db 0C3h ; + seg000:18C4 db 50h ; P seg000:18C5 db 53h ; S seg000:18C6 db 0E8h ; À seg000:18C7 db 0CCh ; ¦ seg000:18C8 db 28h ; ( seg000:18C9 db 22h ; " seg000:18CA db 0C3h ; + seg000:18CB db 0Ah seg000:18CC db 0E0h ; Ó seg000:18CD db 5Bh ; [ seg000:18CE db 0E8h ; À seg000:18CF db 3Bh ; ; seg000:18D0 db 29h ; ) seg000:18D1 db 58h ; X seg000:18D2 db 0C3h ; + seg000:18D3 db 52h ; R seg000:18D4 db 8Ah ; Õ seg000:18D5 db 0C8h ; L seg000:18D6 db 0B0h ; - seg000:18D7 db 1 seg000:18D8 db 0D2h ; Ï seg000:18D9 db 0E0h ; Ó seg000:18DA db 0D2h ; Ï seg000:18DB db 0E4h ; ñ seg000:18DC db 8Ah ; Õ seg000:18DD db 0D3h ; Ë seg000:18DE db 0D2h ; Ï seg000:18DF db 0E2h ; Ô seg000:18E0 db 32h ; 2 seg000:18E1 db 0D0h ; ð seg000:18E2 db 0F6h ; ÷ seg000:18E3 db 0D0h ; ð seg000:18E4 db 0E8h ; À seg000:18E5 db 0C0h ; L seg000:18E6 db 0FFh seg000:18E7 db 0E8h ; À seg000:18E8 db 0DAh ; - seg000:18E9 db 0FFh seg000:18EA db 8Ah ; Õ seg000:18EB db 0E2h ; Ô seg000:18EC db 8Ah ; Õ seg000:18ED db 0FDh ; ø seg000:18EE db 0E8h ; À seg000:18EF db 0D3h ; Ë seg000:18F0 db 0FFh seg000:18F1 db 5Ah ; Z seg000:18F2 db 0C3h ; + seg000:18F3 db 50h ; P seg000:18F4 db 53h ; S seg000:18F5 db 51h ; Q seg000:18F6 db 0B7h ; Ì seg000:18F7 db 1 seg000:18F8 db 0B5h ; Á seg000:18F9 db 3 seg000:18FA db 0E8h ; À seg000:18FB db 0D6h ; Í seg000:18FC db 0FFh seg000:18FD db 59h ; Y seg000:18FE db 5Bh ; [ seg000:18FF db 58h ; X seg000:1900 db 0C3h ; + seg000:1901 db 50h ; P seg000:1902 db 53h ; S seg000:1903 db 51h ; Q seg000:1904 db 0B7h ; Ì seg000:1905 db 2 seg000:1906 db 0B5h ; Á seg000:1907 db 6 seg000:1908 db 3Ch ; < seg000:1909 db 7 seg000:190A db 76h ; v seg000:190B db 6 seg000:190C db 24h ; $ seg000:190D db 7 seg000:190E db 0FEh ; ¦ seg000:190F db 0C7h ; ã seg000:1910 db 0FEh ; ¦ seg000:1911 db 0C5h ; + seg000:1912 db 0E8h ; À seg000:1913 db 0BEh ; ¿ seg000:1914 db 0FFh seg000:1915 db 59h ; Y seg000:1916 db 5Bh ; [ seg000:1917 db 58h ; X seg000:1918 db 0C3h ; + seg000:1919 db 50h ; P seg000:191A db 53h ; S seg000:191B db 51h ; Q seg000:191C db 0B7h ; Ì seg000:191D db 21h ; ! seg000:191E db 0B5h ; Á seg000:191F db 23h ; # seg000:1920 db 0E8h ; À seg000:1921 db 0B0h ; - seg000:1922 db 0FFh seg000:1923 db 59h ; Y seg000:1924 db 5Bh ; [ seg000:1925 db 58h ; X seg000:1926 db 0C3h ; + seg000:1927 seg000:1927 ; =============== S U B R O U T I N E ======================================= seg000:1927 seg000:1927 seg000:1927 sub_C1927 proc near ; CODE XREF: sub_C1931+28p seg000:1927 push si seg000:1928 lea si, ds:1878h seg000:192C call sub_C19B0 seg000:192F pop si seg000:1930 retn seg000:1930 sub_C1927 endp seg000:1930 seg000:1931 seg000:1931 ; =============== S U B R O U T I N E ======================================= seg000:1931 seg000:1931 seg000:1931 sub_C1931 proc near ; CODE XREF: sub_C8CAE+3Ep seg000:1931 push ax seg000:1932 push bx seg000:1933 push si seg000:1934 call sub_C187E seg000:1937 jnz short loc_C195C seg000:1939 mov bl, cs:[si] seg000:193C or ah, ah seg000:193E mov ah, bl seg000:1940 jz short loc_C194A seg000:1942 shr ah, 6 seg000:1945 shr bl, 7 seg000:1948 jmp short loc_C1950 seg000:194A ; --------------------------------------------------------------------------- seg000:194A seg000:194A loc_C194A: ; CODE XREF: sub_C1931+Fj seg000:194A shr ah, 4 seg000:194D shr bl, 5 seg000:1950 seg000:1950 loc_C1950: ; CODE XREF: sub_C1931+17j seg000:1950 and ah, 1 seg000:1953 and bl, 1 seg000:1956 xor bl, 1 seg000:1959 call sub_C1927 seg000:195C seg000:195C loc_C195C: ; CODE XREF: sub_C1931+6j seg000:195C pop si seg000:195D pop bx seg000:195E pop ax seg000:195F retn seg000:195F sub_C1931 endp seg000:195F seg000:195F ; --------------------------------------------------------------------------- seg000:1960 db 50h ; P seg000:1961 db 53h ; S seg000:1962 db 51h ; Q seg000:1963 db 66h ; f seg000:1964 db 52h ; R seg000:1965 db 56h ; V seg000:1966 db 0BEh ; ¿ seg000:1967 db 2Dh ; - seg000:1968 db 54h ; T seg000:1969 db 2Eh ; . seg000:196A db 0Fh seg000:196B db 0B6h ;  seg000:196C db 5Ch ; \ seg000:196D db 3 seg000:196E db 2Eh ; . seg000:196F db 0Fh seg000:1970 db 0B6h ;  seg000:1971 db 4Ch ; L seg000:1972 db 2 seg000:1973 db 0BEh ; ¿ seg000:1974 db 34h ; 4 seg000:1975 db 54h ; T seg000:1976 db 66h ; f seg000:1977 db 2Eh ; . seg000:1978 db 8Bh ; õ seg000:1979 db 14h seg000:197A db 8Ah ; Õ seg000:197B db 0C6h ; à seg000:197C db 0Ah seg000:197D db 0C0h ; L seg000:197E db 74h ; t seg000:197F db 11h seg000:1980 db 66h ; f seg000:1981 db 0F7h ; ¸ seg000:1982 db 0C2h ; T seg000:1983 db 80h ; Ç seg000:1984 db 0 seg000:1985 db 0 seg000:1986 db 0 seg000:1987 db 0Fh seg000:1988 db 95h ; ¼ seg000:1989 db 0C4h ; ¦ seg000:198A db 8Ah ; Õ seg000:198B db 0C2h ; T seg000:198C db 24h ; $ seg000:198D db 3Fh ; ? seg000:198E db 0E8h ; À seg000:198F db 0A0h ; á seg000:1990 db 0FFh seg000:1991 db 3 seg000:1992 db 0F3h ; ¡ seg000:1993 db 0E2h ; Ô seg000:1994 db 0E1h ; ß seg000:1995 db 5Eh ; ^ seg000:1996 db 66h ; f seg000:1997 db 5Ah ; Z seg000:1998 db 59h ; Y seg000:1999 db 5Bh ; [ seg000:199A db 58h ; X seg000:199B db 0C3h ; + seg000:199C seg000:199C ; =============== S U B R O U T I N E ======================================= seg000:199C seg000:199C seg000:199C sub_C199C proc near ; CODE XREF: sub_C19B0+7p seg000:199C push bx seg000:199D cmp bh, 0Bh seg000:19A0 jnb short loc_C19AC seg000:19A2 mov al, bh seg000:19A4 lea bx, ds:186Dh seg000:19A8 xlat byte ptr cs:[bx] seg000:19AA jmp short loc_C19AE seg000:19AC ; --------------------------------------------------------------------------- seg000:19AC seg000:19AC loc_C19AC: ; CODE XREF: sub_C199C+4j seg000:19AC mov al, 0FFh seg000:19AE seg000:19AE loc_C19AE: ; CODE XREF: sub_C199C+Ej seg000:19AE pop bx seg000:19AF retn seg000:19AF sub_C199C endp seg000:19AF seg000:19B0 seg000:19B0 ; =============== S U B R O U T I N E ======================================= seg000:19B0 seg000:19B0 seg000:19B0 sub_C19B0 proc near ; CODE XREF: sub_C1927+5p seg000:19B0 push si seg000:19B1 push ax seg000:19B2 mov bh, cs:byte_C5431 seg000:19B7 call sub_C199C seg000:19BA cmp al, 0FFh seg000:19BC jnz short loc_C19C3 seg000:19BE mov si, 633Ch seg000:19C1 jmp short loc_C19CB seg000:19C3 ; --------------------------------------------------------------------------- seg000:19C3 seg000:19C3 loc_C19C3: ; CODE XREF: sub_C19B0+Cj seg000:19C3 cbw seg000:19C4 shl ax, 1 seg000:19C6 add si, ax seg000:19C8 mov si, cs:[si] seg000:19CB seg000:19CB loc_C19CB: ; CODE XREF: sub_C19B0+11j seg000:19CB pop ax seg000:19CC or si, si seg000:19CE jz short loc_C19D2 seg000:19D0 call si seg000:19D2 seg000:19D2 loc_C19D2: ; CODE XREF: sub_C19B0+1Ej seg000:19D2 pop si seg000:19D3 retn seg000:19D3 sub_C19B0 endp seg000:19D3 seg000:19D4 ; --------------------------------------------------------------------------- seg000:19D4 seg000:19D4 INT10h_Entry: ; Entry point of INT10h handler seg000:19D4 push dx seg000:19D5 push ax seg000:19D6 mov dx, 3CAh seg000:19D9 in al, dx ; EGA port: graphics 2 position (must be 0 for EGA) seg000:19DA inc al seg000:19DC jz short loc_C19E0 seg000:19DE test al, 8 seg000:19E0 seg000:19E0 loc_C19E0: ; CODE XREF: seg000:19DCj seg000:19E0 pop ax seg000:19E1 pop dx seg000:19E2 jnz short loc_C1A62 seg000:19E4 call sub_C1A6B seg000:19E7 sub sp, 0Ch seg000:19EA push si seg000:19EB mov si, sp seg000:19ED add si, 2 seg000:19F0 call sub_C1A7E seg000:19F3 pop si seg000:19F4 cmp ah, 0 seg000:19F7 jz short loc_C1A18 seg000:19F9 cmp ah, 13h seg000:19FC jle short loc_C1A1B seg000:19FE cmp ax, 4F05h ; VBE - CPU VIDEO MEMORY CONTROL seg000:1A01 jz short loc_C1A1B seg000:1A03 cmp ax, 4F14h ; VESA OEM Extensions - API seg000:1A06 jnz short loc_C1A18 seg000:1A08 cmp bx, 48Fh seg000:1A0C jz short loc_C1A1B seg000:1A0E cmp bl, 95h ; '¼' seg000:1A11 jnz short loc_C1A18 seg000:1A13 cmp bh, 2 seg000:1A16 jl short loc_C1A1B seg000:1A18 seg000:1A18 loc_C1A18: ; CODE XREF: seg000:19F7j seg000:1A18 ; seg000:1A06j ... seg000:1A18 call sub_C4924 seg000:1A1B seg000:1A1B loc_C1A1B: ; CODE XREF: seg000:19FCj seg000:1A1B ; seg000:1A01j ... seg000:1A1B push ax seg000:1A1C cld seg000:1A1D sti seg000:1A1E call loc_C1B52 seg000:1A21 push ax seg000:1A22 push bp seg000:1A23 mov bp, sp seg000:1A25 mov ax, [bp+4] seg000:1A28 cmp ah, 0 seg000:1A2B jz short loc_C1A4C seg000:1A2D cmp ah, 13h seg000:1A30 jle short loc_C1A4F seg000:1A32 cmp ax, 4F05h ; VBE - CPU VIDEO MEMORY CONTROL seg000:1A35 jz short loc_C1A4F seg000:1A37 cmp ax, 4F14h ; VESA OEM Extensions - API seg000:1A3A jnz short loc_C1A4C seg000:1A3C cmp bx, 48Fh seg000:1A40 jz short loc_C1A4F seg000:1A42 cmp bl, 95h ; '¼' seg000:1A45 jnz short loc_C1A4C seg000:1A47 cmp bh, 2 seg000:1A4A jl short loc_C1A4F seg000:1A4C seg000:1A4C loc_C1A4C: ; CODE XREF: seg000:1A2Bj seg000:1A4C ; seg000:1A3Aj ... seg000:1A4C call sub_C4947 seg000:1A4F seg000:1A4F loc_C1A4F: ; CODE XREF: seg000:1A30j seg000:1A4F ; seg000:1A35j ... seg000:1A4F pop bp seg000:1A50 pop ax seg000:1A51 add sp, 2 seg000:1A54 push si seg000:1A55 mov si, sp seg000:1A57 add si, 2 seg000:1A5A call sub_C1AAD seg000:1A5D pop si seg000:1A5E add sp, 0Ch seg000:1A61 iret ; End of INT10h handler seg000:1A62 ; --------------------------------------------------------------------------- seg000:1A62 seg000:1A62 loc_C1A62: ; CODE XREF: seg000:19E2j seg000:1A62 cmp ah, 4Fh ; 'O' seg000:1A65 jnz short locret_C1A6A seg000:1A67 mov ax, 4Fh ; 'O' seg000:1A6A seg000:1A6A locret_C1A6A: ; CODE XREF: seg000:1A65j seg000:1A6A iret seg000:1A6B seg000:1A6B ; =============== S U B R O U T I N E ======================================= seg000:1A6B seg000:1A6B seg000:1A6B sub_C1A6B proc near ; CODE XREF: seg000:19E4p seg000:1A6B cmp ax, 4F14h seg000:1A6E jnz short locret_C1A7D seg000:1A70 cmp bl, 88h ; '³' seg000:1A73 jnz short locret_C1A7D seg000:1A75 cmp bh, 1 seg000:1A78 ja short locret_C1A7D seg000:1A7A call sub_C633F seg000:1A7D seg000:1A7D locret_C1A7D: ; CODE XREF: sub_C1A6B+3j seg000:1A7D ; sub_C1A6B+8j ... seg000:1A7D retn seg000:1A7D sub_C1A6B endp seg000:1A7D seg000:1A7E seg000:1A7E ; =============== S U B R O U T I N E ======================================= seg000:1A7E seg000:1A7E seg000:1A7E sub_C1A7E proc near ; CODE XREF: seg000:19F0p seg000:1A7E push ax seg000:1A7F push cx seg000:1A80 push dx seg000:1A81 mov dx, 3C4h seg000:1A84 in al, dx ; EGA: sequencer address reg seg000:1A84 ; seg000:1A85 mov ah, al seg000:1A87 mov dl, 0CEh ; '+' seg000:1A89 in al, dx ; EGA: graph 1 and 2 addr reg: seg000:1A89 ; seg000:1A8A mov ss:[si], ax seg000:1A8D call sub_C1D52 seg000:1A90 mov ah, al seg000:1A92 mov al, 3Fh ; '?' seg000:1A94 out dx, al seg000:1A95 inc dx seg000:1A96 in al, dx seg000:1A97 xchg ah, al seg000:1A99 mov ss:[si+2], ax seg000:1A9D mov al, 57h ; 'W' seg000:1A9F out dx, al seg000:1AA0 dec dx seg000:1AA1 push si seg000:1AA2 lea si, [si+4] seg000:1AA5 call sub_C473C seg000:1AA8 pop si seg000:1AA9 pop dx seg000:1AAA pop cx seg000:1AAB pop ax seg000:1AAC retn seg000:1AAC sub_C1A7E endp seg000:1AAC seg000:1AAD seg000:1AAD ; =============== S U B R O U T I N E ======================================= seg000:1AAD seg000:1AAD seg000:1AAD sub_C1AAD proc near ; CODE XREF: seg000:1A5Ap seg000:1AAD push ax seg000:1AAE push cx seg000:1AAF push dx seg000:1AB0 mov al, 1 seg000:1AB2 call sub_C126B seg000:1AB5 jnz short loc_C1ADD seg000:1AB7 call sub_C1D43 seg000:1ABA push si seg000:1ABB lea si, [si+4] seg000:1ABE call nullsub_7 seg000:1AC1 pop si seg000:1AC2 mov ax, ss:[si+2] seg000:1AC6 or ah, ah seg000:1AC8 jnz short loc_C1ACF seg000:1ACA push ax seg000:1ACB mov al, 3Fh ; '?' seg000:1ACD out dx, ax seg000:1ACE pop ax seg000:1ACF seg000:1ACF loc_C1ACF: ; CODE XREF: sub_C1AAD+1Bj seg000:1ACF out dx, al seg000:1AD0 mov ax, ss:[si] seg000:1AD3 mov dl, 0CEh ; '+' seg000:1AD5 out dx, al seg000:1AD6 mov al, ah seg000:1AD8 mov dl, 0C4h ; '¦' seg000:1ADA out dx, al seg000:1ADB jmp short loc_C1AE8 seg000:1ADD ; --------------------------------------------------------------------------- seg000:1ADD seg000:1ADD loc_C1ADD: ; CODE XREF: sub_C1AAD+8j seg000:1ADD xor ah, ah seg000:1ADF call sub_C127D seg000:1AE2 mov ax, 993Fh seg000:1AE5 call sub_C1B76 seg000:1AE8 seg000:1AE8 loc_C1AE8: ; CODE XREF: sub_C1AAD+2Ej seg000:1AE8 pop dx seg000:1AE9 pop cx seg000:1AEA pop ax seg000:1AEB retn seg000:1AEB sub_C1AAD endp seg000:1AEB seg000:1AEB ; --------------------------------------------------------------------------- seg000:1AEC off_C1AEC dw offset sub_C90E8 ; DATA XREF: sub_C1B51+1Dr seg000:1AEE dw offset sub_C73FD seg000:1AF0 dw offset sub_CABDF seg000:1AF2 dw offset sub_CABE5 seg000:1AF4 dw offset sub_C6AC3 seg000:1AF6 dw offset sub_C7473 seg000:1AF8 dw offset sub_C6E67 seg000:1AFA dw offset sub_C6E67 seg000:1AFC dw offset sub_C6E15 seg000:1AFE dw offset sub_CAA38 seg000:1B00 dw offset sub_CAAA8 seg000:1B02 dw offset nullsub_2 seg000:1B04 dw offset sub_C6AD8 seg000:1B06 dw offset sub_C6C16 seg000:1B08 dw offset sub_CAAE5 seg000:1B0A dw offset sub_C9376 seg000:1B0C dw offset sub_C6523 seg000:1B0E dw offset sub_C2EC9 seg000:1B10 dw offset sub_C69B3 seg000:1B12 dw offset sub_CAB64 seg000:1B14 dw offset nullsub_2 seg000:1B16 dw offset nullsub_2 seg000:1B18 dw offset nullsub_2 seg000:1B1A dw offset nullsub_2 seg000:1B1C dw offset nullsub_2 seg000:1B1E dw offset nullsub_2 seg000:1B20 dw offset sub_C7589 seg000:1B22 dw offset sub_C75F2 seg000:1B24 dw offset sub_C7744 seg000:1B26 db 0E8h ; À seg000:1B27 db 42h ; B seg000:1B28 db 0FFh seg000:1B29 db 0FCh ; Ø seg000:1B2A db 83h ; â seg000:1B2B db 0ECh ; ý seg000:1B2C db 0Ch seg000:1B2D db 56h ; V seg000:1B2E db 8Bh ; õ seg000:1B2F db 0F4h ; ¢ seg000:1B30 db 83h ; â seg000:1B31 db 0C6h ; à seg000:1B32 db 2 seg000:1B33 db 0E8h ; À seg000:1B34 db 48h ; H seg000:1B35 db 0FFh seg000:1B36 db 5Eh ; ^ seg000:1B37 db 0E8h ; À seg000:1B38 db 18h seg000:1B39 db 0 seg000:1B3A db 56h ; V seg000:1B3B db 8Bh ; õ seg000:1B3C db 0F4h ; ¢ seg000:1B3D db 83h ; â seg000:1B3E db 0C6h ; à seg000:1B3F db 2 seg000:1B40 db 0E8h ; À seg000:1B41 db 6Ah ; j seg000:1B42 db 0FFh seg000:1B43 db 5Eh ; ^ seg000:1B44 db 83h ; â seg000:1B45 db 0C4h ; ¦ seg000:1B46 db 0Ch seg000:1B47 db 2Eh ; . seg000:1B48 db 0F6h ; ÷ seg000:1B49 db 6 seg000:1B4A db 49h ; I seg000:1B4B db 0 seg000:1B4C db 2 seg000:1B4D db 74h ; t seg000:1B4E db 1 seg000:1B4F db 0CFh ; ¤ seg000:1B50 db 0CBh ; T seg000:1B51 seg000:1B51 ; =============== S U B R O U T I N E ======================================= seg000:1B51 seg000:1B51 seg000:1B51 sub_C1B51 proc near ; CODE XREF: sub_C2CAC+16p seg000:1B51 ; sub_C2CC9+Cp ... seg000:1B51 sti seg000:1B52 seg000:1B52 loc_C1B52: ; CODE XREF: seg000:1A1Ep seg000:1B52 ; sub_CA701+23p ... seg000:1B52 cld seg000:1B53 push si seg000:1B54 push ds seg000:1B55 cmp ah, 4Fh ; 'O' seg000:1B58 jnz short loc_C1B5F seg000:1B5A call sub_C433B seg000:1B5D jmp short loc_C1B73 seg000:1B5F ; --------------------------------------------------------------------------- seg000:1B5F seg000:1B5F loc_C1B5F: ; CODE XREF: sub_C1B51+7j seg000:1B5F cmp ah, 1Dh seg000:1B62 jnb short loc_C1B73 seg000:1B64 mov ds, word ptr cs:byte_C0001+79h seg000:1B69 movzx si, ah seg000:1B6C shl si, 1 seg000:1B6E call cs:off_C1AEC[si] seg000:1B73 seg000:1B73 loc_C1B73: ; CODE XREF: sub_C1B51+Cj seg000:1B73 ; sub_C1B51+11j seg000:1B73 pop ds seg000:1B74 pop si seg000:1B75 retn seg000:1B75 sub_C1B51 endp seg000:1B75 seg000:1B76 seg000:1B76 ; =============== S U B R O U T I N E ======================================= seg000:1B76 seg000:1B76 seg000:1B76 sub_C1B76 proc near ; CODE XREF: sub_C1216+6p seg000:1B76 ; sub_C122B+6p ... seg000:1B76 call sub_C1D43 seg000:1B79 out dx, ax seg000:1B7A retn seg000:1B7A sub_C1B76 endp seg000:1B7A seg000:1B7B seg000:1B7B ; =============== S U B R O U T I N E ======================================= seg000:1B7B seg000:1B7B seg000:1B7B sub_C1B7B proc near ; CODE XREF: sub_C1BAF+2p seg000:1B7B ; sub_C1BB9+2p ... seg000:1B7B mov dx, 3C4h seg000:1B7E call sub_C1B90 seg000:1B81 retn seg000:1B81 sub_C1B7B endp seg000:1B81 seg000:1B82 seg000:1B82 ; =============== S U B R O U T I N E ======================================= seg000:1B82 seg000:1B82 seg000:1B82 sub_C1B82 proc near ; CODE XREF: sub_C6F3B+2Dp seg000:1B82 ; sub_C6F3B+49p ... seg000:1B82 mov dx, 3CEh seg000:1B85 call sub_C1B90 seg000:1B88 retn seg000:1B88 sub_C1B82 endp seg000:1B88 seg000:1B89 seg000:1B89 ; =============== S U B R O U T I N E ======================================= seg000:1B89 seg000:1B89 seg000:1B89 sub_C1B89 proc near ; CODE XREF: sub_C1216+Bp seg000:1B89 ; sub_C123C:loc_C1267p ... seg000:1B89 call sub_C1D43 seg000:1B8C call sub_C1B90 seg000:1B8F retn seg000:1B8F sub_C1B89 endp seg000:1B8F seg000:1B90 seg000:1B90 ; =============== S U B R O U T I N E ======================================= seg000:1B90 seg000:1B90 seg000:1B90 sub_C1B90 proc near ; CODE XREF: sub_C1B7B+3p seg000:1B90 ; sub_C1B82+3p ... seg000:1B90 out dx, al seg000:1B91 in ax, dx seg000:1B92 retn seg000:1B92 sub_C1B90 endp seg000:1B92 seg000:1B93 seg000:1B93 ; =============== S U B R O U T I N E ======================================= seg000:1B93 seg000:1B93 seg000:1B93 sub_C1B93 proc near ; CODE XREF: sub_C967C+39p seg000:1B93 push dx seg000:1B94 push ax seg000:1B95 call sub_C1B89 seg000:1B98 pop dx seg000:1B99 or ah, dh seg000:1B9B call sub_C1B76 seg000:1B9E pop dx seg000:1B9F retn seg000:1B9F sub_C1B93 endp seg000:1B9F seg000:1B9F ; --------------------------------------------------------------------------- seg000:1BA0 db 0F6h ; ÷ seg000:1BA1 db 0D4h ; ï seg000:1BA2 db 52h ; R seg000:1BA3 db 50h ; P seg000:1BA4 db 0E8h ; À seg000:1BA5 db 0E2h ; Ô seg000:1BA6 db 0FFh seg000:1BA7 db 5Ah ; Z seg000:1BA8 db 22h ; " seg000:1BA9 db 0E6h ; Š seg000:1BAA db 0E8h ; À seg000:1BAB db 0C9h ; - seg000:1BAC db 0FFh seg000:1BAD db 5Ah ; Z seg000:1BAE db 0C3h ; + seg000:1BAF seg000:1BAF ; =============== S U B R O U T I N E ======================================= seg000:1BAF seg000:1BAF seg000:1BAF sub_C1BAF proc near ; CODE XREF: seg000:loc_C6A6Bp seg000:1BAF ; sub_C949F+Fp seg000:1BAF mov al, 1 seg000:1BB1 call sub_C1B7B seg000:1BB4 or ah, 20h seg000:1BB7 out dx, ax seg000:1BB8 retn seg000:1BB8 sub_C1BAF endp seg000:1BB8 seg000:1BB9 seg000:1BB9 ; =============== S U B R O U T I N E ======================================= seg000:1BB9 seg000:1BB9 seg000:1BB9 sub_C1BB9 proc near ; CODE XREF: seg000:6A66p seg000:1BB9 ; sub_C94BF+Ap seg000:1BB9 mov al, 1 seg000:1BBB call sub_C1B7B seg000:1BBE and ah, 0DFh seg000:1BC1 out dx, ax seg000:1BC2 retn seg000:1BC2 sub_C1BB9 endp seg000:1BC2 seg000:1BC3 seg000:1BC3 ; =============== S U B R O U T I N E ======================================= seg000:1BC3 seg000:1BC3 seg000:1BC3 sub_C1BC3 proc near ; CODE XREF: sub_C9153+33p seg000:1BC3 ; sub_C9153:loc_C91B3p seg000:1BC3 push bx seg000:1BC4 push es seg000:1BC5 call sub_C1D57 seg000:1BC8 jb short loc_C1BD6 seg000:1BCA cmp byte ptr es:[bx+5], 1 seg000:1BCF jz short loc_C1BD6 seg000:1BD1 cmp byte ptr es:[bx+5], 3 seg000:1BD6 seg000:1BD6 loc_C1BD6: ; CODE XREF: sub_C1BC3+5j seg000:1BD6 ; sub_C1BC3+Cj seg000:1BD6 pop es seg000:1BD7 pop bx seg000:1BD8 retn seg000:1BD8 sub_C1BC3 endp seg000:1BD8 seg000:1BD9 seg000:1BD9 ; =============== S U B R O U T I N E ======================================= seg000:1BD9 seg000:1BD9 seg000:1BD9 sub_C1BD9 proc near ; CODE XREF: sub_C1E00+13p seg000:1BD9 ; sub_C6D21+7p ... seg000:1BD9 push bx seg000:1BDA push es seg000:1BDB call sub_C1D57 seg000:1BDE jb short loc_C1BEC seg000:1BE0 cmp byte ptr es:[bx+5], 0 seg000:1BE5 jz short loc_C1BEC seg000:1BE7 cmp byte ptr es:[bx+5], 1 seg000:1BEC seg000:1BEC loc_C1BEC: ; CODE XREF: sub_C1BD9+5j seg000:1BEC ; sub_C1BD9+Cj seg000:1BEC pop es seg000:1BED pop bx seg000:1BEE retn seg000:1BEE sub_C1BD9 endp seg000:1BEE seg000:1BEF seg000:1BEF ; =============== S U B R O U T I N E ======================================= seg000:1BEF seg000:1BEF seg000:1BEF sub_C1BEF proc near ; CODE XREF: sub_C92F5+18p seg000:1BEF push ax seg000:1BF0 push dx seg000:1BF1 mov al, 1 seg000:1BF3 call sub_C1B7B seg000:1BF6 test ah, 1 seg000:1BF9 pop dx seg000:1BFA pop ax seg000:1BFB retn seg000:1BFB sub_C1BEF endp seg000:1BFB seg000:1BFC seg000:1BFC ; =============== S U B R O U T I N E ======================================= seg000:1BFC seg000:1BFC seg000:1BFC sub_C1BFC proc near ; CODE XREF: sub_C310E:loc_C31AEp seg000:1BFC ; sub_C368F+8p seg000:1BFC push ds seg000:1BFD mov ds, word ptr cs:byte_C0001+79h seg000:1C02 cmp byte ptr ds:449h, 14h seg000:1C07 pop ds seg000:1C08 retn seg000:1C08 sub_C1BFC endp seg000:1C08 seg000:1C09 seg000:1C09 ; =============== S U B R O U T I N E ======================================= seg000:1C09 seg000:1C09 seg000:1C09 sub_C1C09 proc near ; CODE XREF: sub_C1C2A+1p seg000:1C09 ; sub_CAAE5:loc_CAB0Bp seg000:1C09 push ax seg000:1C0A push cx seg000:1C0B mov al, 0B6h ; 'Â' seg000:1C0D out 43h, al ; Timer 8253-5 (AT: 8254.2). seg000:1C0F mov al, 33h ; '3' seg000:1C11 out 42h, al ; Timer 8253-5 (AT: 8254.2). seg000:1C13 mov al, 5 seg000:1C15 out 42h, al ; Timer 8253-5 (AT: 8254.2). seg000:1C17 in al, 61h ; PC/XT PPI port B bits: seg000:1C17 ; 0: Tmr 2 gate =T= OR 03H=spkr ON seg000:1C17 ; 1: Tmr 2 data =- AND 0fcH=spkr OFF seg000:1C17 ; 3: 1=read high switches seg000:1C17 ; 4: 0=enable RAM parity checking seg000:1C17 ; 5: 0=enable I/O channel check seg000:1C17 ; 6: 0=hold keyboard clock low seg000:1C17 ; 7: 0=enable kbrd seg000:1C19 push ax seg000:1C1A or al, 3 seg000:1C1C out 61h, al ; PC/XT PPI port B bits: seg000:1C1C ; 0: Tmr 2 gate =T= OR 03H=spkr ON seg000:1C1C ; 1: Tmr 2 data =- AND 0fcH=spkr OFF seg000:1C1C ; 3: 1=read high switches seg000:1C1C ; 4: 0=enable RAM parity checking seg000:1C1C ; 5: 0=enable I/O channel check seg000:1C1C ; 6: 0=hold keyboard clock low seg000:1C1C ; 7: 0=enable kbrd seg000:1C1E mov cx, 3 seg000:1C21 call sub_C1C4F seg000:1C24 pop ax seg000:1C25 out 61h, al ; PC/XT PPI port B bits: seg000:1C25 ; 0: Tmr 2 gate =T= OR 03H=spkr ON seg000:1C25 ; 1: Tmr 2 data =- AND 0fcH=spkr OFF seg000:1C25 ; 3: 1=read high switches seg000:1C25 ; 4: 0=enable RAM parity checking seg000:1C25 ; 5: 0=enable I/O channel check seg000:1C25 ; 6: 0=hold keyboard clock low seg000:1C25 ; 7: 0=enable kbrd seg000:1C27 pop cx seg000:1C28 pop ax seg000:1C29 retn seg000:1C29 sub_C1C09 endp seg000:1C29 seg000:1C2A seg000:1C2A ; =============== S U B R O U T I N E ======================================= seg000:1C2A seg000:1C2A seg000:1C2A sub_C1C2A proc near ; CODE XREF: sub_C0585+28p seg000:1C2A ; sub_C2653+9p seg000:1C2A push ax seg000:1C2B call sub_C1C09 seg000:1C2E mov ax, 103h seg000:1C31 call sub_C127D seg000:1C34 pop ax seg000:1C35 retn seg000:1C35 sub_C1C2A endp seg000:1C35 seg000:1C36 seg000:1C36 ; =============== S U B R O U T I N E ======================================= seg000:1C36 seg000:1C36 seg000:1C36 sub_C1C36 proc near ; CODE XREF: sub_C9140+Bp seg000:1C36 ; sub_CA07F+9p ... seg000:1C36 push dx seg000:1C37 push bx seg000:1C38 push ax seg000:1C39 call sub_C1E43 seg000:1C3C mov dx, 3C0h seg000:1C3F in al, dx ; EGA port seg000:1C40 mov bl, al seg000:1C42 and al, 20h seg000:1C44 or al, 11h seg000:1C46 out dx, al ; EGA: palette register: select colors for attribute AL: seg000:1C46 ; 0: RED seg000:1C46 ; 1: GREEN seg000:1C46 ; 2: BLUE seg000:1C46 ; 3: blue seg000:1C46 ; 4: green seg000:1C46 ; 5: red seg000:1C47 pop ax seg000:1C48 out dx, al ; EGA: palette register: select colors for attribute AL: seg000:1C48 ; 0: RED seg000:1C48 ; 1: GREEN seg000:1C48 ; 2: BLUE seg000:1C48 ; 3: blue seg000:1C48 ; 4: green seg000:1C48 ; 5: red seg000:1C49 mov al, bl seg000:1C4B out dx, al ; EGA: palette register: select colors for attribute AL: seg000:1C4B ; 0: RED seg000:1C4B ; 1: GREEN seg000:1C4B ; 2: BLUE seg000:1C4B ; 3: blue seg000:1C4B ; 4: green seg000:1C4B ; 5: red seg000:1C4C pop bx seg000:1C4D pop dx seg000:1C4E retn seg000:1C4E sub_C1C36 endp seg000:1C4E seg000:1C4F seg000:1C4F ; =============== S U B R O U T I N E ======================================= seg000:1C4F seg000:1C4F seg000:1C4F sub_C1C4F proc near ; CODE XREF: sub_C1C09+18p seg000:1C4F push ax seg000:1C50 push bx seg000:1C51 push cx seg000:1C52 push dx seg000:1C53 push esi seg000:1C55 push ds seg000:1C56 pushf seg000:1C57 movzx esi, cx seg000:1C5B imul esi, 0A000h seg000:1C62 mov ds, word ptr cs:byte_C0001+79h seg000:1C67 sub dx, dx seg000:1C69 cli seg000:1C6A add cx, ds:46Ch seg000:1C6E adc dx, ds:46Eh seg000:1C72 sti seg000:1C73 seg000:1C73 loc_C1C73: ; CODE XREF: sub_C1C4F+39j seg000:1C73 cli seg000:1C74 mov ax, ds:46Ch seg000:1C77 mov bx, ds:46Eh seg000:1C7B sti seg000:1C7C cmp dx, bx seg000:1C7E jb short loc_C1C8A seg000:1C80 cmp cx, ax seg000:1C82 jbe short loc_C1C8A seg000:1C84 in al, 80h ; manufacture's diagnostic checkpoint seg000:1C86 dec esi seg000:1C88 jnz short loc_C1C73 seg000:1C8A seg000:1C8A loc_C1C8A: ; CODE XREF: sub_C1C4F+2Fj seg000:1C8A ; sub_C1C4F+33j seg000:1C8A popf seg000:1C8B pop ds seg000:1C8C pop esi seg000:1C8E pop dx seg000:1C8F pop cx seg000:1C90 pop bx seg000:1C91 pop ax seg000:1C92 retn seg000:1C92 sub_C1C4F endp seg000:1C92 seg000:1C93 seg000:1C93 ; =============== S U B R O U T I N E ======================================= seg000:1C93 seg000:1C93 seg000:1C93 sub_C1C93 proc near ; CODE XREF: sub_C655F+3p seg000:1C93 ; sub_C65B7+1Ep ... seg000:1C93 push ax seg000:1C94 push cx seg000:1C95 push dx seg000:1C96 call sub_C1D43 seg000:1C99 add dl, 6 seg000:1C9C sub cx, cx seg000:1C9E seg000:1C9E loc_C1C9E: ; CODE XREF: sub_C1C93+Ej seg000:1C9E in al, dx seg000:1C9F test al, 1 seg000:1CA1 loopne loc_C1C9E seg000:1CA3 seg000:1CA3 loc_C1CA3: ; CODE XREF: sub_C1C93+13j seg000:1CA3 in al, dx seg000:1CA4 test al, 1 seg000:1CA6 loope loc_C1CA3 seg000:1CA8 pop dx seg000:1CA9 pop cx seg000:1CAA pop ax seg000:1CAB retn seg000:1CAB sub_C1C93 endp seg000:1CAB seg000:1CAC seg000:1CAC ; =============== S U B R O U T I N E ======================================= seg000:1CAC seg000:1CAC seg000:1CAC sub_C1CAC proc near ; CODE XREF: sub_C657E+6p seg000:1CAC ; sub_C658C:loc_C65A8p ... seg000:1CAC push ax seg000:1CAD push cx seg000:1CAE push dx seg000:1CAF call sub_C3441 seg000:1CB2 jb short loc_C1CCA seg000:1CB4 call sub_C1D43 seg000:1CB7 add dl, 6 seg000:1CBA xor cx, cx seg000:1CBC seg000:1CBC loc_C1CBC: ; CODE XREF: sub_C1CAC+13j seg000:1CBC in al, dx seg000:1CBD test al, 8 seg000:1CBF loopne loc_C1CBC seg000:1CC1 jnz short loc_C1CCA seg000:1CC3 xor cx, cx seg000:1CC5 seg000:1CC5 loc_C1CC5: ; CODE XREF: sub_C1CAC+1Cj seg000:1CC5 in al, dx seg000:1CC6 test al, 8 seg000:1CC8 loope loc_C1CC5 seg000:1CCA seg000:1CCA loc_C1CCA: ; CODE XREF: sub_C1CAC+6j seg000:1CCA ; sub_C1CAC+15j seg000:1CCA pop dx seg000:1CCB pop cx seg000:1CCC pop ax seg000:1CCD retn seg000:1CCD sub_C1CAC endp seg000:1CCD seg000:1CCD ; --------------------------------------------------------------------------- seg000:1CCE db 50h ; P seg000:1CCF db 52h ; R seg000:1CD0 db 0E8h ; À seg000:1CD1 db 70h ; p seg000:1CD2 db 0 seg000:1CD3 db 80h ; Ç seg000:1CD4 db 0C2h ; T seg000:1CD5 db 6 seg000:1CD6 db 0E8h ; À seg000:1CD7 db 68h ; h seg000:1CD8 db 17h seg000:1CD9 db 72h ; r seg000:1CDA db 0Ah seg000:1CDB db 0ECh ; ý seg000:1CDC db 0A8h ; Ê seg000:1CDD db 8 seg000:1CDE db 74h ; t seg000:1CDF db 0FBh ; û seg000:1CE0 db 0ECh ; ý seg000:1CE1 db 0A8h ; Ê seg000:1CE2 db 8 seg000:1CE3 db 75h ; u seg000:1CE4 db 0FBh ; û seg000:1CE5 db 5Ah ; Z seg000:1CE6 db 58h ; X seg000:1CE7 db 0C3h ; + seg000:1CE8 seg000:1CE8 ; =============== S U B R O U T I N E ======================================= seg000:1CE8 seg000:1CE8 seg000:1CE8 sub_C1CE8 proc near ; CODE XREF: sub_C949F+12p seg000:1CE8 push ax seg000:1CE9 push dx seg000:1CEA pushf seg000:1CEB cli seg000:1CEC call sub_C1E43 seg000:1CEF mov dx, 3C0h seg000:1CF2 sub al, al seg000:1CF4 out dx, al ; EGA: palette register: select colors for attribute AL: seg000:1CF4 ; 0: RED seg000:1CF4 ; 1: GREEN seg000:1CF4 ; 2: BLUE seg000:1CF4 ; 3: blue seg000:1CF4 ; 4: green seg000:1CF4 ; 5: red seg000:1CF5 popf seg000:1CF6 pop dx seg000:1CF7 pop ax seg000:1CF8 retn seg000:1CF8 sub_C1CE8 endp seg000:1CF8 seg000:1CF9 seg000:1CF9 ; =============== S U B R O U T I N E ======================================= seg000:1CF9 seg000:1CF9 seg000:1CF9 sub_C1CF9 proc near ; CODE XREF: sub_C94BF+10p seg000:1CF9 push ax seg000:1CFA push dx seg000:1CFB pushf seg000:1CFC cli seg000:1CFD call sub_C1E43 seg000:1D00 mov dx, 3C0h seg000:1D03 mov al, 20h ; ' ' seg000:1D05 out dx, al ; EGA: palette register: select colors for attribute AL: seg000:1D05 ; 0: RED seg000:1D05 ; 1: GREEN seg000:1D05 ; 2: BLUE seg000:1D05 ; 3: blue seg000:1D05 ; 4: green seg000:1D05 ; 5: red seg000:1D06 call sub_C1E43 seg000:1D09 popf seg000:1D0A pop dx seg000:1D0B pop ax seg000:1D0C retn seg000:1D0C sub_C1CF9 endp seg000:1D0C seg000:1D0D seg000:1D0D ; =============== S U B R O U T I N E ======================================= seg000:1D0D seg000:1D0D seg000:1D0D sub_C1D0D proc near ; CODE XREF: sub_C1D0D+14j seg000:1D0D ; sub_C785E+58p ... seg000:1D0D mov ah, bl seg000:1D0F lodsb seg000:1D10 xchg al, ah seg000:1D12 cmp dx, 3C4h seg000:1D16 jnz short loc_C1D1F seg000:1D18 cmp al, 1 seg000:1D1A jnz short loc_C1D1F seg000:1D1C or ah, 20h seg000:1D1F seg000:1D1F loc_C1D1F: ; CODE XREF: sub_C1D0D+9j seg000:1D1F ; sub_C1D0D+Dj seg000:1D1F out dx, ax seg000:1D20 inc bx seg000:1D21 loop sub_C1D0D seg000:1D23 retn seg000:1D23 sub_C1D0D endp seg000:1D23 seg000:1D24 seg000:1D24 ; =============== S U B R O U T I N E ======================================= seg000:1D24 seg000:1D24 seg000:1D24 sub_C1D24 proc near ; CODE XREF: sub_C1D24+9j seg000:1D24 ; sub_C77DF+25p ... seg000:1D24 mov al, ah seg000:1D26 out dx, al seg000:1D27 inc dx seg000:1D28 in al, dx seg000:1D29 stosb seg000:1D2A dec dx seg000:1D2B inc ah seg000:1D2D loop sub_C1D24 seg000:1D2F retn seg000:1D2F sub_C1D24 endp seg000:1D2F seg000:1D30 seg000:1D30 ; =============== S U B R O U T I N E ======================================= seg000:1D30 seg000:1D30 seg000:1D30 sub_C1D30 proc near ; CODE XREF: sub_C785E+86p seg000:1D30 push ax seg000:1D31 push dx seg000:1D32 pushf seg000:1D33 cli seg000:1D34 in al, dx seg000:1D35 mov dl, 0C0h ; 'L' seg000:1D37 seg000:1D37 loc_C1D37: ; CODE XREF: sub_C1D30+Dj seg000:1D37 mov al, bl seg000:1D39 out dx, al seg000:1D3A lodsb seg000:1D3B out dx, al seg000:1D3C inc bx seg000:1D3D loop loc_C1D37 seg000:1D3F popf seg000:1D40 pop dx seg000:1D41 pop ax seg000:1D42 retn seg000:1D42 sub_C1D30 endp seg000:1D42 seg000:1D43 seg000:1D43 ; =============== S U B R O U T I N E ======================================= seg000:1D43 seg000:1D43 seg000:1D43 sub_C1D43 proc near ; CODE XREF: sub_C1AAD+Ap seg000:1D43 ; sub_C1B76p ... seg000:1D43 push ax seg000:1D44 mov dx, 3CCh seg000:1D47 in al, dx ; EGA port: graphics 1 position (must be 1 for EGA) seg000:1D48 mov dl, 0B4h ; '+' seg000:1D4A test al, 1 seg000:1D4C jz short loc_C1D50 seg000:1D4E mov dl, 0D4h ; 'ï' seg000:1D50 seg000:1D50 loc_C1D50: ; CODE XREF: sub_C1D43+9j seg000:1D50 pop ax seg000:1D51 retn seg000:1D51 sub_C1D43 endp seg000:1D51 seg000:1D52 seg000:1D52 ; =============== S U B R O U T I N E ======================================= seg000:1D52 seg000:1D52 seg000:1D52 sub_C1D52 proc near ; CODE XREF: sub_C1A7E+Fp seg000:1D52 ; sub_C3235+2p ... seg000:1D52 call sub_C1D43 seg000:1D55 in al, dx seg000:1D56 retn seg000:1D56 sub_C1D52 endp seg000:1D56 seg000:1D57 seg000:1D57 ; =============== S U B R O U T I N E ======================================= seg000:1D57 seg000:1D57 seg000:1D57 sub_C1D57 proc near ; CODE XREF: sub_C1BC3+2p seg000:1D57 ; sub_C1BD9+2p ... seg000:1D57 call sub_C1DCE seg000:1D5A les bx, es:[bx+4] seg000:1D5E push ax seg000:1D5F push bx seg000:1D60 push ax seg000:1D61 mov al, 2Eh ; '.' seg000:1D63 call sub_C126B seg000:1D66 mov bl, ah seg000:1D68 pop ax seg000:1D69 cmp bl, 3 seg000:1D6C jnz short loc_C1D70 seg000:1D6E dec bl seg000:1D70 seg000:1D70 loc_C1D70: ; CODE XREF: sub_C1D57+15j seg000:1D70 cmp al, 4 seg000:1D72 jnb short loc_C1D7C seg000:1D74 shr al, 1 seg000:1D76 shl bl, 1 seg000:1D78 add al, bl seg000:1D7A or al, 80h seg000:1D7C seg000:1D7C loc_C1D7C: ; CODE XREF: sub_C1D57+1Bj seg000:1D7C cmp al, 7 seg000:1D7E jnz short loc_C1D8B seg000:1D80 cmp bl, 0 seg000:1D83 jbe short loc_C1D87 seg000:1D85 dec bl seg000:1D87 seg000:1D87 loc_C1D87: ; CODE XREF: sub_C1D57+2Cj seg000:1D87 add al, bl seg000:1D89 or al, 80h seg000:1D8B seg000:1D8B loc_C1D8B: ; CODE XREF: sub_C1D57+27j seg000:1D8B pop bx seg000:1D8C seg000:1D8C loc_C1D8C: ; CODE XREF: sub_C1D57+43j seg000:1D8C cmp byte ptr es:[bx], 0FFh seg000:1D90 jz short loc_C1D9F seg000:1D92 cmp es:[bx], al seg000:1D95 jz short loc_C1D9C seg000:1D97 add bx, 0Dh seg000:1D9A jmp short loc_C1D8C seg000:1D9C ; --------------------------------------------------------------------------- seg000:1D9C seg000:1D9C loc_C1D9C: ; CODE XREF: sub_C1D57+3Ej seg000:1D9C clc seg000:1D9D jmp short loc_C1DA2 seg000:1D9F ; --------------------------------------------------------------------------- seg000:1D9F seg000:1D9F loc_C1D9F: ; CODE XREF: sub_C1D57+39j seg000:1D9F sub bx, bx seg000:1DA1 stc seg000:1DA2 seg000:1DA2 loc_C1DA2: ; CODE XREF: sub_C1D57+46j seg000:1DA2 pop ax seg000:1DA3 retn seg000:1DA3 sub_C1D57 endp seg000:1DA3 seg000:1DA4 seg000:1DA4 ; =============== S U B R O U T I N E ======================================= seg000:1DA4 seg000:1DA4 seg000:1DA4 sub_C1DA4 proc near ; CODE XREF: sub_C3271+52p seg000:1DA4 push bx seg000:1DA5 push cx seg000:1DA6 push dx seg000:1DA7 push si seg000:1DA8 mov al, ds:449h seg000:1DAB call sub_C1D57 seg000:1DAE call sub_C1DEE seg000:1DB1 mov al, cs:[bx+7] seg000:1DB5 cbw seg000:1DB6 mov cx, cs:[si] seg000:1DB9 shr cx, 3 seg000:1DBC mul cx seg000:1DBE mul word ptr cs:[si+2] seg000:1DC2 or ax, ax seg000:1DC4 jz short loc_C1DC7 seg000:1DC6 inc dx seg000:1DC7 seg000:1DC7 loc_C1DC7: ; CODE XREF: sub_C1DA4+20j seg000:1DC7 mov ax, dx seg000:1DC9 pop si seg000:1DCA pop dx seg000:1DCB pop cx seg000:1DCC pop bx seg000:1DCD retn seg000:1DCD sub_C1DA4 endp seg000:1DCD seg000:1DCE seg000:1DCE ; =============== S U B R O U T I N E ======================================= seg000:1DCE seg000:1DCE seg000:1DCE sub_C1DCE proc near ; CODE XREF: sub_C1D57p seg000:1DCE ; sub_C1EA3p ... seg000:1DCE push ax seg000:1DCF mov es, word ptr cs:byte_C0001+79h seg000:1DD4 les bx, es:4A8h seg000:1DD9 les bx, es:[bx+10h] seg000:1DDD les bx, es:[bx+16h] seg000:1DE1 mov ax, es seg000:1DE3 or ax, bx seg000:1DE5 jnz short loc_C1DEC seg000:1DE7 push cs seg000:1DE8 pop es seg000:1DE9 assume es:nothing seg000:1DE9 mov bx, 2B0Dh seg000:1DEC seg000:1DEC loc_C1DEC: ; CODE XREF: sub_C1DCE+17j seg000:1DEC pop ax seg000:1DED retn seg000:1DED sub_C1DCE endp seg000:1DED seg000:1DEE seg000:1DEE ; =============== S U B R O U T I N E ======================================= seg000:1DEE seg000:1DEE seg000:1DEE sub_C1DEE proc near ; CODE XREF: sub_C1DA4+Ap seg000:1DEE ; sub_C1E00+10p ... seg000:1DEE push ax seg000:1DEF push bx seg000:1DF0 mov al, cs:[bx+2] seg000:1DF4 mov bl, 9 seg000:1DF6 mul bl seg000:1DF8 mov si, 9AB0h seg000:1DFB add si, ax seg000:1DFD pop bx seg000:1DFE pop ax seg000:1DFF retn seg000:1DFF sub_C1DEE endp seg000:1DFF seg000:1E00 seg000:1E00 ; =============== S U B R O U T I N E ======================================= seg000:1E00 seg000:1E00 seg000:1E00 sub_C1E00 proc near ; CODE XREF: sub_C7675+9p seg000:1E00 ; sub_C906Fp seg000:1E00 push bx seg000:1E01 push dx seg000:1E02 push si seg000:1E03 push ds seg000:1E04 push es seg000:1E05 mov ds, word ptr cs:byte_C0001+79h seg000:1E0A mov al, ds:449h seg000:1E0D call sub_C1D57 seg000:1E10 call sub_C1DEE seg000:1E13 call sub_C1BD9 seg000:1E16 mov ax, cs:[si+2] seg000:1E1A jnz short loc_C1E23 seg000:1E1C movzx dx, byte ptr cs:[si+6] seg000:1E21 mul dx seg000:1E23 seg000:1E23 loc_C1E23: ; CODE XREF: sub_C1E00+1Aj seg000:1E23 mov dl, cs:[si+8] seg000:1E27 test dl, 8 seg000:1E2A jz short loc_C1E2E seg000:1E2C shl ax, 1 seg000:1E2E seg000:1E2E loc_C1E2E: ; CODE XREF: sub_C1E00+2Aj seg000:1E2E pop es seg000:1E2F assume es:nothing seg000:1E2F pop ds seg000:1E30 pop si seg000:1E31 pop dx seg000:1E32 pop bx seg000:1E33 retn seg000:1E33 sub_C1E00 endp seg000:1E33 seg000:1E34 seg000:1E34 ; =============== S U B R O U T I N E ======================================= seg000:1E34 seg000:1E34 seg000:1E34 sub_C1E34 proc near ; CODE XREF: sub_C7DDC+Fp seg000:1E34 ; sub_C9516+53p seg000:1E34 push si seg000:1E35 movzx si, al seg000:1E38 shl si, 1 seg000:1E3A add si, 9BA3h seg000:1E3E mov cx, cs:[si] seg000:1E41 pop si seg000:1E42 retn seg000:1E42 sub_C1E34 endp seg000:1E42 seg000:1E43 seg000:1E43 ; =============== S U B R O U T I N E ======================================= seg000:1E43 seg000:1E43 seg000:1E43 sub_C1E43 proc near ; CODE XREF: sub_C1C36+3p seg000:1E43 ; sub_C1CE8+4p ... seg000:1E43 push ax seg000:1E44 push dx seg000:1E45 mov dx, 3DAh seg000:1E48 in al, dx ; Video status bits: seg000:1E48 ; 0: retrace. 1=display is in vert or horiz retrace. seg000:1E48 ; 1: 1=light pen is triggered; 0=armed seg000:1E48 ; 2: 1=light pen switch is open; 0=closed seg000:1E48 ; 3: 1=vertical sync pulse is occurring. seg000:1E49 mov dl, 0BAh ; '¦' seg000:1E4B in al, dx ; Video status bits: seg000:1E4B ; 0: retrace. 1=display is in vert or horiz retrace. seg000:1E4B ; 1: 1=light pen is triggered; 0=armed seg000:1E4B ; 2: 1=light pen switch is open; 0=closed seg000:1E4B ; 3: 1=vertical sync pulse is occurring. seg000:1E4C pop dx seg000:1E4D pop ax seg000:1E4E retn seg000:1E4E sub_C1E43 endp seg000:1E4E seg000:1E4F seg000:1E4F ; =============== S U B R O U T I N E ======================================= seg000:1E4F seg000:1E4F seg000:1E4F sub_C1E4F proc near ; CODE XREF: sub_C1E5B+Dp seg000:1E4F ; sub_C70BD+17p ... seg000:1E4F mov bh, ds:485h seg000:1E53 shr bh, 4 seg000:1E56 jnz short locret_C1E5A seg000:1E58 inc bh seg000:1E5A seg000:1E5A locret_C1E5A: ; CODE XREF: sub_C1E4F+7j seg000:1E5A retn seg000:1E5A sub_C1E4F endp seg000:1E5A seg000:1E5B seg000:1E5B ; =============== S U B R O U T I N E ======================================= seg000:1E5B seg000:1E5B seg000:1E5B sub_C1E5B proc near ; CODE XREF: sub_C7076+Dp seg000:1E5B ; sub_C7368+16p seg000:1E5B push bx seg000:1E5C push dx seg000:1E5D push es seg000:1E5E mov al, ds:449h seg000:1E61 call sub_C1D57 seg000:1E64 mov al, es:[bx+7] seg000:1E68 call sub_C1E4F seg000:1E6B mul bh seg000:1E6D mov bx, ds:44Ah seg000:1E71 mul bx seg000:1E73 pop es seg000:1E74 pop dx seg000:1E75 pop bx seg000:1E76 retn seg000:1E76 sub_C1E5B endp seg000:1E76 seg000:1E77 seg000:1E77 ; =============== S U B R O U T I N E ======================================= seg000:1E77 seg000:1E77 seg000:1E77 sub_C1E77 proc near ; CODE XREF: sub_C35CE+17p seg000:1E77 ; sub_CA94A+53p seg000:1E77 push cx seg000:1E78 push di seg000:1E79 xor ah, ah seg000:1E7B seg000:1E7B loc_C1E7B: ; CODE XREF: sub_C1E77+8j seg000:1E7B add ah, es:[di] seg000:1E7E inc di seg000:1E7F loop loc_C1E7B seg000:1E81 or ah, ah seg000:1E83 pop di seg000:1E84 pop cx seg000:1E85 retn seg000:1E85 sub_C1E77 endp seg000:1E85 seg000:1E86 seg000:1E86 ; =============== S U B R O U T I N E ======================================= seg000:1E86 seg000:1E86 seg000:1E86 sub_C1E86 proc near ; CODE XREF: sub_C7F00:loc_C7F1Bp seg000:1E86 push bx seg000:1E87 push es seg000:1E88 call sub_C1D57 seg000:1E8B jb short loc_C1EA0 seg000:1E8D cmp byte ptr es:[bx+5], 5 seg000:1E92 jz short loc_C1EA0 seg000:1E94 cmp byte ptr es:[bx+5], 3 seg000:1E99 jz short loc_C1EA0 seg000:1E9B cmp byte ptr es:[bx+5], 4 seg000:1EA0 seg000:1EA0 loc_C1EA0: ; CODE XREF: sub_C1E86+5j seg000:1EA0 ; sub_C1E86+Cj ... seg000:1EA0 pop es seg000:1EA1 pop bx seg000:1EA2 retn seg000:1EA2 sub_C1E86 endp seg000:1EA2 seg000:1EA3 seg000:1EA3 ; =============== S U B R O U T I N E ======================================= seg000:1EA3 seg000:1EA3 seg000:1EA3 sub_C1EA3 proc near ; CODE XREF: sub_C6CF7+2p seg000:1EA3 ; sub_C7B7A:loc_C7B87p seg000:1EA3 call sub_C1DCE seg000:1EA6 les bx, es:[bx+4] seg000:1EAA seg000:1EAA loc_C1EAA: ; CODE XREF: sub_C1EA3+16j seg000:1EAA cmp byte ptr es:[bx], 0FFh seg000:1EAE jz short loc_C1EBD seg000:1EB0 cmp es:[bx+3], ax seg000:1EB4 jz short loc_C1EBB seg000:1EB6 add bx, 0Dh seg000:1EB9 jmp short loc_C1EAA seg000:1EBB ; --------------------------------------------------------------------------- seg000:1EBB seg000:1EBB loc_C1EBB: ; CODE XREF: sub_C1EA3+11j seg000:1EBB clc seg000:1EBC retn seg000:1EBD ; --------------------------------------------------------------------------- seg000:1EBD seg000:1EBD loc_C1EBD: ; CODE XREF: sub_C1EA3+Bj seg000:1EBD sub bx, bx seg000:1EBF stc seg000:1EC0 retn seg000:1EC0 sub_C1EA3 endp seg000:1EC0 seg000:1EC1 seg000:1EC1 ; =============== S U B R O U T I N E ======================================= seg000:1EC1 seg000:1EC1 seg000:1EC1 sub_C1EC1 proc near ; CODE XREF: sub_C6D21+2Cp seg000:1EC1 ; sub_C7C65+52p ... seg000:1EC1 push bx seg000:1EC2 push es seg000:1EC3 call sub_C1D57 seg000:1EC6 mov al, 0 seg000:1EC8 jb short loc_C1ECE seg000:1ECA mov al, es:[bx+7] seg000:1ECE seg000:1ECE loc_C1ECE: ; CODE XREF: sub_C1EC1+7j seg000:1ECE pop es seg000:1ECF pop bx seg000:1ED0 retn seg000:1ED0 sub_C1EC1 endp seg000:1ED0 seg000:1ED1 seg000:1ED1 ; =============== S U B R O U T I N E ======================================= seg000:1ED1 seg000:1ED1 seg000:1ED1 sub_C1ED1 proc near ; CODE XREF: sub_C4A48+1Bp seg000:1ED1 ; seg000:loc_C6A8Ap ... seg000:1ED1 push bx seg000:1ED2 push dx seg000:1ED3 sub ax, ax seg000:1ED5 movzx bx, bh seg000:1ED8 shl bx, 1 seg000:1EDA mov [bx+450h], dx seg000:1EDE shr bx, 1 seg000:1EE0 cmp bl, ds:462h seg000:1EE4 jnz short loc_C1F03 seg000:1EE6 mov bx, ds:44Eh seg000:1EEA shr bx, 1 seg000:1EEC xchg al, dh seg000:1EEE mul byte ptr ds:44Ah seg000:1EF2 add ax, dx seg000:1EF4 add bx, ax seg000:1EF6 mov dx, ds:463h seg000:1EFA mov al, 0Eh seg000:1EFC mov ah, bh seg000:1EFE out dx, ax seg000:1EFF inc ax seg000:1F00 mov ah, bl seg000:1F02 out dx, ax seg000:1F03 seg000:1F03 loc_C1F03: ; CODE XREF: sub_C1ED1+13j seg000:1F03 pop dx seg000:1F04 pop bx seg000:1F05 retn seg000:1F05 sub_C1ED1 endp seg000:1F05 seg000:1F05 ; --------------------------------------------------------------------------- seg000:1F06 db 0B8h ; ª seg000:1F07 db 89h ; ë seg000:1F08 db 3Fh ; ? seg000:1F09 db 63h ; c seg000:1F0A db 0A0h ; á seg000:1F0B db 0B0h ; - seg000:1F0C db 0A5h ; ¹ seg000:1F0D db 89h ; ë seg000:1F0E db 3Fh ; ? seg000:1F0F db 63h ; c seg000:1F10 db 0F1h ; ½ seg000:1F11 db 0AEh ; « seg000:1F12 db 0CCh ; ¦ seg000:1F13 db 89h ; ë seg000:1F14 db 3Fh ; ? seg000:1F15 db 63h ; c seg000:1F16 db 20h seg000:1F17 db 0AEh ; « seg000:1F18 db 0DBh ; - seg000:1F19 db 89h ; ë seg000:1F1A db 3Ch ; < seg000:1F1B db 63h ; c seg000:1F1C db 8 seg000:1F1D db 0AEh ; « seg000:1F1E db 0B6h ;  seg000:1F1F db 88h ; ³ seg000:1F20 db 3Fh ; ? seg000:1F21 db 63h ; c seg000:1F22 db 2Dh ; - seg000:1F23 db 0AEh ; « seg000:1F24 db 8Ah ; Õ seg000:1F25 db 8Ah ; Õ seg000:1F26 db 3Ch ; < seg000:1F27 db 63h ; c seg000:1F28 db 0Bh seg000:1F29 db 0B3h ; - seg000:1F2A db 0F6h ; ÷ seg000:1F2B db 89h ; ë seg000:1F2C db 3Ch ; < seg000:1F2D db 63h ; c seg000:1F2E db 51h ; Q seg000:1F2F db 0B1h ; - seg000:1F30 db 0FFh seg000:1F31 db 89h ; ë seg000:1F32 db 3Ch ; < seg000:1F33 db 63h ; c seg000:1F34 db 6Ch ; l seg000:1F35 db 0B1h ; - seg000:1F36 db 2 seg000:1F37 db 4 seg000:1F38 db 8 seg000:1F39 db 1 seg000:1F3A db 10h seg000:1F3B db 20h seg000:1F3C db 40h ; @ seg000:1F3D db 95h ; ¼ seg000:1F3E db 8Ah ; Õ seg000:1F3F db 3Dh ; = seg000:1F40 db 63h ; c seg000:1F41 db 4Eh ; N seg000:1F42 db 0B3h ; - seg000:1F43 seg000:1F43 ; =============== S U B R O U T I N E ======================================= seg000:1F43 seg000:1F43 seg000:1F43 sub_C1F43 proc near ; CODE XREF: sub_C1F99+3p seg000:1F43 ; sub_C2012+3p ... seg000:1F43 push ax seg000:1F44 lea si, ds:52B0h seg000:1F48 mov ah, 8 seg000:1F4A mul ah seg000:1F4C add si, ax seg000:1F4E pop ax seg000:1F4F retn seg000:1F4F sub_C1F43 endp seg000:1F4F seg000:1F50 seg000:1F50 ; =============== S U B R O U T I N E ======================================= seg000:1F50 seg000:1F50 seg000:1F50 sub_C1F50 proc near ; CODE XREF: sub_C215C+1Fp seg000:1F50 ; sub_C22FB:loc_C2309p ... seg000:1F50 push ax seg000:1F51 push bx seg000:1F52 cbw seg000:1F53 xor bx, bx seg000:1F55 bts bx, ax seg000:1F58 mov al, 1Fh seg000:1F5A call sub_C126B seg000:1F5D and ah, bl seg000:1F5F pop bx seg000:1F60 pop ax seg000:1F61 retn seg000:1F61 sub_C1F50 endp seg000:1F61 seg000:1F62 seg000:1F62 ; =============== S U B R O U T I N E ======================================= seg000:1F62 seg000:1F62 seg000:1F62 sub_C1F62 proc near ; CODE XREF: sub_C215C+25p seg000:1F62 ; sub_C22FB+13p ... seg000:1F62 push eax seg000:1F64 push cx seg000:1F65 call sub_C2053 seg000:1F68 push ax seg000:1F69 and al, 50h seg000:1F6B cmp al, 50h ; 'P' seg000:1F6D pop ax seg000:1F6E jnz short loc_C1F83 seg000:1F70 push ax seg000:1F71 mov al, 40h ; '@' seg000:1F73 call sub_C126B seg000:1F76 mov cl, ah seg000:1F78 and cx, 1 seg000:1F7B pop ax seg000:1F7C and ax, 1 seg000:1F7F xor al, cl seg000:1F81 jmp short loc_C1F85 seg000:1F83 ; --------------------------------------------------------------------------- seg000:1F83 seg000:1F83 loc_C1F83: ; CODE XREF: sub_C1F62+Cj seg000:1F83 xor ah, ah seg000:1F85 seg000:1F85 loc_C1F85: ; CODE XREF: sub_C1F62+1Fj seg000:1F85 pop cx seg000:1F86 pop eax seg000:1F88 retn seg000:1F88 sub_C1F62 endp seg000:1F88 seg000:1F88 ; --------------------------------------------------------------------------- seg000:1F89 db 0E8h ; À seg000:1F8A db 0ACh ; È seg000:1F8B db 3 seg000:1F8C db 3Ch ; < seg000:1F8D db 3 seg000:1F8E db 74h ; t seg000:1F8F db 8 seg000:1F90 db 0E8h ; À seg000:1F91 db 2Eh ; . seg000:1F92 db 0A1h ; í seg000:1F93 db 74h ; t seg000:1F94 db 3 seg000:1F95 db 0E8h ; À seg000:1F96 db 0BBh ; ¬ seg000:1F97 db 93h ; ô seg000:1F98 db 0C3h ; + seg000:1F99 seg000:1F99 ; =============== S U B R O U T I N E ======================================= seg000:1F99 seg000:1F99 seg000:1F99 sub_C1F99 proc near ; CODE XREF: sub_C25E7+20p seg000:1F99 ; sub_C85BF+Bp ... seg000:1F99 push edx seg000:1F9B push si seg000:1F9C call sub_C1F43 seg000:1F9F mov edx, cs:[si] seg000:1FA3 and edx, 0F00h seg000:1FAA shr edx, 8 seg000:1FAE mov bl, dl seg000:1FB0 pop si seg000:1FB1 pop edx seg000:1FB3 retn seg000:1FB3 sub_C1F99 endp seg000:1FB3 seg000:1FB4 seg000:1FB4 ; =============== S U B R O U T I N E ======================================= seg000:1FB4 seg000:1FB4 seg000:1FB4 sub_C1FB4 proc near ; CODE XREF: sub_C42CF+1p seg000:1FB4 ; sub_C42E6+1p ... seg000:1FB4 push edx seg000:1FB6 push si seg000:1FB7 call sub_C2451 seg000:1FBA mov edx, cs:[si] seg000:1FBE and edx, 0F0h seg000:1FC5 shr edx, 4 seg000:1FC9 mov cl, dl seg000:1FCB and cl, 0Fh seg000:1FCE pop si seg000:1FCF pop edx seg000:1FD1 retn seg000:1FD1 sub_C1FB4 endp seg000:1FD1 seg000:1FD1 ; --------------------------------------------------------------------------- seg000:1FD2 db 50h ; P seg000:1FD3 db 51h ; Q seg000:1FD4 db 52h ; R seg000:1FD5 db 0E8h ; À seg000:1FD6 db 0D2h ; Ï seg000:1FD7 db 6 seg000:1FD8 db 32h ; 2 seg000:1FD9 db 0C0h ; L seg000:1FDA db 0E8h ; À seg000:1FDB db 9Dh ; £ seg000:1FDC db 3 seg000:1FDD db 38h ; 8 seg000:1FDE db 0E3h ; Ñ seg000:1FDF db 75h ; u seg000:1FE0 db 27h ; ' seg000:1FE1 db 0E8h ; À seg000:1FE2 db 49h ; I seg000:1FE3 db 0 seg000:1FE4 db 8Ah ; Õ seg000:1FE5 db 0F7h ; ¸ seg000:1FE6 db 0C0h ; L seg000:1FE7 db 0EEh ; þ seg000:1FE8 db 4 seg000:1FE9 db 38h ; 8 seg000:1FEA db 0F4h ; ¢ seg000:1FEB db 75h ; u seg000:1FEC db 1Bh seg000:1FED db 0E8h ; À seg000:1FEE db 0D9h ; - seg000:1FEF db 0 seg000:1FF0 db 0D0h ; ð seg000:1FF1 db 0ECh ; ý seg000:1FF2 db 8Ah ; Õ seg000:1FF3 db 0F7h ; ¸ seg000:1FF4 db 80h ; Ç seg000:1FF5 db 0E6h ; Š seg000:1FF6 db 4 seg000:1FF7 db 0C0h ; L seg000:1FF8 db 0EEh ; þ seg000:1FF9 db 2 seg000:1FFA db 38h ; 8 seg000:1FFB db 0F4h ; ¢ seg000:1FFC db 75h ; u seg000:1FFD db 0Ah seg000:1FFE db 80h ; Ç seg000:1FFF db 0E7h ; š seg000:2000 db 3 seg000:2001 db 0C0h ; L seg000:2002 db 0E0h ; Ó seg000:2003 db 4 seg000:2004 db 0Ah seg000:2005 db 0F8h ; ° seg000:2006 db 0EBh ; Û seg000:2007 db 6 seg000:2008 db 0FEh ; ¦ seg000:2009 db 0C0h ; L seg000:200A db 38h ; 8 seg000:200B db 0E8h ; À seg000:200C db 75h ; u seg000:200D db 0CCh ; ¦ seg000:200E db 5Ah ; Z seg000:200F db 59h ; Y seg000:2010 db 58h ; X seg000:2011 db 0C3h ; + seg000:2012 seg000:2012 ; =============== S U B R O U T I N E ======================================= seg000:2012 seg000:2012 seg000:2012 sub_C2012 proc near ; CODE XREF: sub_C203D+5p seg000:2012 ; sub_C225F+17p seg000:2012 push edx seg000:2014 push si seg000:2015 call sub_C1F43 seg000:2018 mov edx, cs:[si] seg000:201C and edx, 0F000000h seg000:2023 shr edx, 18h seg000:2027 mov ah, dl seg000:2029 pop si seg000:202A pop edx seg000:202C retn seg000:202C sub_C2012 endp seg000:202C seg000:202C ; --------------------------------------------------------------------------- seg000:202D db 53h ; S seg000:202E db 50h ; P seg000:202F db 0E8h ; À seg000:2030 db 0E0h ; Ó seg000:2031 db 0FFh seg000:2032 db 0Fh seg000:2033 db 0B6h ;  seg000:2034 db 0C4h ; ¦ seg000:2035 db 0Fh seg000:2036 db 0BCh ; - seg000:2037 db 0D8h ; ì seg000:2038 db 58h ; X seg000:2039 db 8Ah ; Õ seg000:203A db 0E3h ; Ñ seg000:203B db 5Bh ; [ seg000:203C db 0C3h ; + seg000:203D seg000:203D ; =============== S U B R O U T I N E ======================================= seg000:203D seg000:203D seg000:203D sub_C203D proc near ; CODE XREF: sub_C20B9+2p seg000:203D push bx seg000:203E push ax seg000:203F call sub_C24B3 seg000:2042 call sub_C2012 seg000:2045 mov bl, ah seg000:2047 pop ax seg000:2048 mov al, bl seg000:204A pop bx seg000:204B retn seg000:204B sub_C203D endp seg000:204B seg000:204C seg000:204C ; =============== S U B R O U T I N E ======================================= seg000:204C seg000:204C seg000:204C sub_C204C proc near ; CODE XREF: seg000:A209p seg000:204C ; sub_CA4A9:loc_CA4EBp ... seg000:204C call sub_C24B3 seg000:204F call sub_C2053 seg000:2052 retn seg000:2052 sub_C204C endp seg000:2052 seg000:2053 seg000:2053 ; =============== S U B R O U T I N E ======================================= seg000:2053 seg000:2053 seg000:2053 sub_C2053 proc near ; CODE XREF: sub_C1F62+3p seg000:2053 ; sub_C204C+3p seg000:2053 call sub_C2141 seg000:2056 mov al, ah seg000:2058 call sub_C2747 seg000:205B retn seg000:205B sub_C2053 endp seg000:205B seg000:205B ; --------------------------------------------------------------------------- seg000:205C db 7 seg000:205D db 8 seg000:205E db 0FFh seg000:205F db 0FFh seg000:2060 db 51h ; Q seg000:2061 db 52h ; R seg000:2062 db 0FFh seg000:2063 db 0FFh seg000:2064 db 0FFh seg000:2065 db 0FFh seg000:2066 db 0FFh seg000:2067 db 0FFh seg000:2068 db 5Eh ; ^ seg000:2069 db 5Fh ; _ seg000:206A db 60h ; ` seg000:206B db 51h ; Q seg000:206C db 53h ; S seg000:206D db 66h ; f seg000:206E db 50h ; P seg000:206F db 0B1h ; - seg000:2070 db 0FFh seg000:2071 db 0E8h ; À seg000:2072 db 0DFh ; - seg000:2073 db 0FFh seg000:2074 db 66h ; f seg000:2075 db 0C1h ; + seg000:2076 db 0E8h ; À seg000:2077 db 0Ch seg000:2078 db 25h ; % seg000:2079 db 33h ; 3 seg000:207A db 70h ; p seg000:207B db 74h ; t seg000:207C db 0Dh seg000:207D db 0Fh seg000:207E db 0BCh ; - seg000:207F db 0C0h ; L seg000:2080 db 8Dh ; seg000:2081 db 1Eh seg000:2082 db 5Ch ; \ seg000:2083 db 20h seg000:2084 db 2Eh ; . seg000:2085 db 0D7h ; Î seg000:2086 db 8Ah ; Õ seg000:2087 db 0C8h ; L seg000:2088 db 0Bh seg000:2089 db 0E4h ; ñ seg000:208A db 66h ; f seg000:208B db 58h ; X seg000:208C db 8Ah ; Õ seg000:208D db 0C1h ; + seg000:208E db 5Bh ; [ seg000:208F db 59h ; Y seg000:2090 db 0C3h ; + seg000:2091 seg000:2091 ; =============== S U B R O U T I N E ======================================= seg000:2091 seg000:2091 seg000:2091 sub_C2091 proc near ; CODE XREF: sub_CA159+63p seg000:2091 push bx seg000:2092 call sub_C2103 seg000:2095 or al, al seg000:2097 jnz short loc_C20AA seg000:2099 call sub_C20D9 seg000:209C xor bl, bl seg000:209E seg000:209E loc_C209E: ; CODE XREF: sub_C2091+15j seg000:209E shr al, 1 seg000:20A0 jnb short loc_C20A4 seg000:20A2 inc bl seg000:20A4 seg000:20A4 loc_C20A4: ; CODE XREF: sub_C2091+Fj seg000:20A4 or al, al seg000:20A6 jnz short loc_C209E seg000:20A8 jmp short loc_C20B5 seg000:20AA ; --------------------------------------------------------------------------- seg000:20AA seg000:20AA loc_C20AA: ; CODE XREF: sub_C2091+6j seg000:20AA call sub_C23AB seg000:20AD mov bl, 1 seg000:20AF cmp al, 3 seg000:20B1 jnz short loc_C20B5 seg000:20B3 inc bl seg000:20B5 seg000:20B5 loc_C20B5: ; CODE XREF: sub_C2091+17j seg000:20B5 ; sub_C2091+20j seg000:20B5 mov al, bl seg000:20B7 pop bx seg000:20B8 retn seg000:20B8 sub_C2091 endp seg000:20B8 seg000:20B9 seg000:20B9 ; =============== S U B R O U T I N E ======================================= seg000:20B9 seg000:20B9 seg000:20B9 sub_C20B9 proc near ; CODE XREF: sub_C0488+27p seg000:20B9 ; sub_C24BE+5p ... seg000:20B9 push bx seg000:20BA push ax seg000:20BB call sub_C203D seg000:20BE movzx ax, al seg000:20C1 bsf bx, ax seg000:20C4 pop ax seg000:20C5 mov al, bl seg000:20C7 pop bx seg000:20C8 retn seg000:20C8 sub_C20B9 endp seg000:20C8 seg000:20C9 seg000:20C9 ; =============== S U B R O U T I N E ======================================= seg000:20C9 seg000:20C9 seg000:20C9 sub_C20C9 proc near ; CODE XREF: sub_C20D9+5p seg000:20C9 ; sub_C225F:loc_C22A6p seg000:20C9 push si seg000:20CA call sub_C1F43 seg000:20CD mov ah, cs:[si+4] seg000:20D1 and ah, 30h seg000:20D4 shr ah, 4 seg000:20D7 pop si seg000:20D8 retn seg000:20D8 sub_C20C9 endp seg000:20D8 seg000:20D9 seg000:20D9 ; =============== S U B R O U T I N E ======================================= seg000:20D9 seg000:20D9 seg000:20D9 sub_C20D9 proc near ; CODE XREF: sub_C0488+Fp seg000:20D9 ; sub_C2091+8p ... seg000:20D9 push bx seg000:20DA push ax seg000:20DB call sub_C24B3 seg000:20DE call sub_C20C9 seg000:20E1 mov bl, ah seg000:20E3 pop ax seg000:20E4 mov al, bl seg000:20E6 pop bx seg000:20E7 retn seg000:20E7 sub_C20D9 endp seg000:20E7 seg000:20E8 seg000:20E8 ; =============== S U B R O U T I N E ======================================= seg000:20E8 seg000:20E8 seg000:20E8 sub_C20E8 proc near ; CODE XREF: sub_C2103+5p seg000:20E8 ; sub_C225F+20p seg000:20E8 push edx seg000:20EA push si seg000:20EB call sub_C1F43 seg000:20EE mov edx, cs:[si] seg000:20F2 and edx, 300000h seg000:20F9 shr edx, 14h seg000:20FD mov ah, dl seg000:20FF pop si seg000:2100 pop edx seg000:2102 retn seg000:2102 sub_C20E8 endp seg000:2102 seg000:2103 seg000:2103 ; =============== S U B R O U T I N E ======================================= seg000:2103 seg000:2103 seg000:2103 sub_C2103 proc near ; CODE XREF: sub_C2091+1p seg000:2103 ; sub_C2864+1p ... seg000:2103 push bx seg000:2104 push ax seg000:2105 call sub_C24B3 seg000:2108 call sub_C20E8 seg000:210B mov bl, ah seg000:210D pop ax seg000:210E mov al, bl seg000:2110 pop bx seg000:2111 retn seg000:2111 sub_C2103 endp seg000:2111 seg000:2111 ; --------------------------------------------------------------------------- seg000:2112 db 50h ; P seg000:2113 db 0E8h ; À seg000:2114 db 22h ; " seg000:2115 db 2 seg000:2116 db 32h ; 2 seg000:2117 db 0E4h ; ñ seg000:2118 db 0Ah seg000:2119 db 0C0h ; L seg000:211A db 74h ; t seg000:211B db 6 seg000:211C db 3Ch ; < seg000:211D db 1 seg000:211E db 74h ; t seg000:211F db 2 seg000:2120 db 0FEh ; ¦ seg000:2121 db 0C4h ; ¦ seg000:2122 db 0D0h ; ð seg000:2123 db 0ECh ; ý seg000:2124 db 58h ; X seg000:2125 db 0C3h ; + seg000:2126 seg000:2126 ; =============== S U B R O U T I N E ======================================= seg000:2126 seg000:2126 seg000:2126 sub_C2126 proc near ; CODE XREF: sub_C225F+8p seg000:2126 push edx seg000:2128 push si seg000:2129 call sub_C1F43 seg000:212C mov edx, cs:[si] seg000:2130 and edx, 0F0000h seg000:2137 shr edx, 10h seg000:213B mov ah, dl seg000:213D pop si seg000:213E pop edx seg000:2140 retn seg000:2140 sub_C2126 endp seg000:2140 seg000:2141 seg000:2141 ; =============== S U B R O U T I N E ======================================= seg000:2141 seg000:2141 seg000:2141 sub_C2141 proc near ; CODE XREF: sub_C2053p seg000:2141 ; sub_C85BF+10p seg000:2141 push edx seg000:2143 push si seg000:2144 call sub_C1F43 seg000:2147 mov edx, cs:[si] seg000:214B and edx, 0F000h seg000:2152 shr edx, 0Ch seg000:2156 mov ah, dl seg000:2158 pop si seg000:2159 pop edx seg000:215B retn seg000:215B sub_C2141 endp seg000:215B seg000:215C seg000:215C ; =============== S U B R O U T I N E ======================================= seg000:215C seg000:215C seg000:215C sub_C215C proc near ; CODE XREF: sub_C85DB+14p seg000:215C ; sub_C85F9+Bp ... seg000:215C push ax seg000:215D push bx seg000:215E push cx seg000:215F push si seg000:2160 call sub_C8BF1 seg000:2163 call sub_C8C0F seg000:2166 jnz short loc_C216D seg000:2168 call sub_C8C35 seg000:216B jmp short loc_C21B7 seg000:216D ; --------------------------------------------------------------------------- seg000:216D seg000:216D loc_C216D: ; CODE XREF: sub_C215C+Aj seg000:216D call sub_C6344 seg000:2170 clc seg000:2171 jnz short loc_C21B7 seg000:2173 call sub_C6344 seg000:2176 jnz short loc_C217E seg000:2178 call sub_C24B3 seg000:217B call sub_C1F50 seg000:217E seg000:217E loc_C217E: ; CODE XREF: sub_C215C+1Aj seg000:217E clc seg000:217F jnz short loc_C21B4 seg000:2181 call sub_C1F62 seg000:2184 clc seg000:2185 jnz short loc_C21B4 seg000:2187 call sub_C2338 seg000:218A movzx si, al seg000:218D mov cl, cs:[si+1F36h] seg000:2192 call sub_C3441 seg000:2195 jnb short loc_C219A seg000:2197 stc seg000:2198 jmp short loc_C21A1 seg000:219A ; --------------------------------------------------------------------------- seg000:219A seg000:219A loc_C219A: ; CODE XREF: sub_C215C+39j seg000:219A lea si, ds:1F1Eh seg000:219E call sub_C2653 seg000:21A1 seg000:21A1 loc_C21A1: ; CODE XREF: sub_C215C+3Cj seg000:21A1 jb short loc_C21A5 seg000:21A3 xor cl, cl seg000:21A5 seg000:21A5 loc_C21A5: ; CODE XREF: sub_C215C:loc_C21A1j seg000:21A5 mov al, 37h ; '7' seg000:21A7 call sub_C126B seg000:21AA or ah, cl seg000:21AC call sub_C127D seg000:21AF or cl, cl seg000:21B1 jz short loc_C21B4 seg000:21B3 stc seg000:21B4 seg000:21B4 loc_C21B4: ; CODE XREF: sub_C215C+23j seg000:21B4 ; sub_C215C+29j ... seg000:21B4 call nullsub_2 seg000:21B7 seg000:21B7 loc_C21B7: ; CODE XREF: sub_C215C+Fj seg000:21B7 ; sub_C215C+15j seg000:21B7 call sub_C8C00 seg000:21BA pop si seg000:21BB pop cx seg000:21BC pop bx seg000:21BD pop ax seg000:21BE retn seg000:21BE sub_C215C endp seg000:21BE seg000:21BF seg000:21BF ; =============== S U B R O U T I N E ======================================= seg000:21BF seg000:21BF seg000:21BF sub_C21BF proc near ; CODE XREF: sub_C21F5+1Ap seg000:21BF push ax seg000:21C0 push dx seg000:21C1 push si seg000:21C2 call sub_C24B3 seg000:21C5 mov ah, al seg000:21C7 call sub_C24B9 seg000:21CA call sub_C24DD seg000:21CD movzx si, ah seg000:21D0 bts dx, si seg000:21D3 call sub_C24F9 seg000:21D6 pop si seg000:21D7 pop dx seg000:21D8 pop ax seg000:21D9 retn seg000:21D9 sub_C21BF endp seg000:21D9 seg000:21DA seg000:21DA ; =============== S U B R O U T I N E ======================================= seg000:21DA seg000:21DA seg000:21DA sub_C21DA proc near ; CODE XREF: sub_C2225+Ap seg000:21DA push ax seg000:21DB push dx seg000:21DC push si seg000:21DD call sub_C24B3 seg000:21E0 mov ah, al seg000:21E2 call sub_C24B9 seg000:21E5 call sub_C24DD seg000:21E8 movzx si, ah seg000:21EB btr dx, si seg000:21EE call sub_C24F9 seg000:21F1 pop si seg000:21F2 pop dx seg000:21F3 pop ax seg000:21F4 retn seg000:21F4 sub_C21DA endp seg000:21F4 seg000:21F5 seg000:21F5 ; =============== S U B R O U T I N E ======================================= seg000:21F5 seg000:21F5 seg000:21F5 sub_C21F5 proc near ; CODE XREF: sub_C25BA+10p seg000:21F5 ; sub_C866E+47p ... seg000:21F5 push ax seg000:21F6 push bx seg000:21F7 push si seg000:21F8 mov al, 11h seg000:21FA call sub_C126B seg000:21FD jnz short loc_C2221 seg000:21FF lea si, ds:1F0Ch seg000:2203 call sub_C2653 seg000:2206 jnb short loc_C2212 seg000:2208 mov al, 33h ; '3' seg000:220A mov ah, 1 seg000:220C call sub_C127D seg000:220F call sub_C21BF seg000:2212 seg000:2212 loc_C2212: ; CODE XREF: sub_C21F5+11j seg000:2212 call sub_C24B9 seg000:2215 mov ah, 1 seg000:2217 call sub_C13F5 seg000:221A mov bl, al seg000:221C mov al, 80h ; 'Ç' seg000:221E call sub_C12AC seg000:2221 seg000:2221 loc_C2221: ; CODE XREF: sub_C21F5+8j seg000:2221 pop si seg000:2222 pop bx seg000:2223 pop ax seg000:2224 retn seg000:2224 sub_C21F5 endp seg000:2224 seg000:2225 seg000:2225 ; =============== S U B R O U T I N E ======================================= seg000:2225 seg000:2225 seg000:2225 sub_C2225 proc near ; CODE XREF: sub_C866E+28p seg000:2225 ; sub_C86CB+15p seg000:2225 push ax seg000:2226 push bx seg000:2227 push si seg000:2228 mov al, 11h seg000:222A call sub_C126B seg000:222D jnz short loc_C224A seg000:222F call sub_C21DA seg000:2232 lea si, ds:1F12h seg000:2236 call sub_C2653 seg000:2239 call sub_C24B9 seg000:223C xor ah, ah seg000:223E call sub_C13F5 seg000:2241 mov bl, al seg000:2243 mov al, 84h ; 'ä' seg000:2245 inc ah seg000:2247 call sub_C12AC seg000:224A seg000:224A loc_C224A: ; CODE XREF: sub_C2225+8j seg000:224A pop si seg000:224B pop bx seg000:224C pop ax seg000:224D retn seg000:224D sub_C2225 endp seg000:224D seg000:224D ; --------------------------------------------------------------------------- seg000:224E db 50h ; P seg000:224F db 53h ; S seg000:2250 db 56h ; V seg000:2251 db 80h ; Ç seg000:2252 db 0E3h ; Ñ seg000:2253 db 7 seg000:2254 db 8Dh ; seg000:2255 db 36h ; 6 seg000:2256 db 6 seg000:2257 db 1Fh seg000:2258 db 0E8h ; À seg000:2259 db 0F8h ; ° seg000:225A db 3 seg000:225B db 5Eh ; ^ seg000:225C db 5Bh ; [ seg000:225D db 58h ; X seg000:225E db 0C3h ; + seg000:225F seg000:225F ; =============== S U B R O U T I N E ======================================= seg000:225F seg000:225F seg000:225F sub_C225F proc near ; CODE XREF: sub_C8E61+33p seg000:225F push ax seg000:2260 push esi seg000:2262 push edi seg000:2264 xor edi, edi seg000:2267 call sub_C2126 seg000:226A mov cl, ah seg000:226C mov di, 10h seg000:226F shl di, cl seg000:2271 call sub_C237A seg000:2274 mov cl, ah seg000:2276 call sub_C2012 seg000:2279 mov ch, ah seg000:227B movzx esi, ah seg000:227F call sub_C20E8 seg000:2282 cmp ah, 1 seg000:2285 jnz short loc_C228D seg000:2287 shl esi, 18h seg000:228B jmp short loc_C22BB seg000:228D ; --------------------------------------------------------------------------- seg000:228D seg000:228D loc_C228D: ; CODE XREF: sub_C225F+26j seg000:228D or cl, cl seg000:228F jz short loc_C2296 seg000:2291 cmp cl, 1 seg000:2294 jnz short loc_C229C seg000:2296 seg000:2296 loc_C2296: ; CODE XREF: sub_C225F+30j seg000:2296 shl esi, 8 seg000:229A jmp short loc_C22BB seg000:229C ; --------------------------------------------------------------------------- seg000:229C seg000:229C loc_C229C: ; CODE XREF: sub_C225F+35j seg000:229C cmp cl, 2 seg000:229F jz short loc_C22A6 seg000:22A1 cmp cl, 3 seg000:22A4 jz short $+2 seg000:22A6 seg000:22A6 loc_C22A6: ; CODE XREF: sub_C225F+40j seg000:22A6 ; sub_C225F+45j seg000:22A6 call sub_C20C9 seg000:22A9 seg000:22A9 loc_C22A9: ; CODE XREF: sub_C225F+53j seg000:22A9 shr si, 1 seg000:22AB jz short loc_C22B0 seg000:22AD shl ah, 2 seg000:22B0 seg000:22B0 loc_C22B0: ; CODE XREF: sub_C225F+4Cj seg000:22B0 or si, si seg000:22B2 jnz short loc_C22A9 seg000:22B4 movzx si, ah seg000:22B7 shl esi, 10h seg000:22BB seg000:22BB loc_C22BB: ; CODE XREF: sub_C225F+2Cj seg000:22BB ; sub_C225F+3Bj seg000:22BB or edi, esi seg000:22BE mov ecx, edi seg000:22C1 pop edi seg000:22C3 pop esi seg000:22C5 pop ax seg000:22C6 retn seg000:22C6 sub_C225F endp seg000:22C6 seg000:22C6 ; --------------------------------------------------------------------------- seg000:22C7 db 3 seg000:22C8 db 0 seg000:22C9 db 1 seg000:22CA db 2 seg000:22CB db 6 seg000:22CC db 83h ; â seg000:22CD db 80h ; Ç seg000:22CE db 81h ; ü seg000:22CF db 82h ; é seg000:22D0 db 86h ; æ seg000:22D1 seg000:22D1 ; =============== S U B R O U T I N E ======================================= seg000:22D1 seg000:22D1 seg000:22D1 sub_C22D1 proc near ; CODE XREF: sub_C8ED8+14p seg000:22D1 push bx seg000:22D2 push cx seg000:22D3 movzx bx, al seg000:22D6 bsf bx, bx seg000:22D9 jz short loc_C22EA seg000:22DB mov al, cs:[bx+22C7h] seg000:22E0 mov cl, al seg000:22E2 and al, 7Fh seg000:22E4 shr cl, 7 seg000:22E7 call sub_C22FB seg000:22EA seg000:22EA loc_C22EA: ; CODE XREF: sub_C22D1+8j seg000:22EA pop cx seg000:22EB pop bx seg000:22EC retn seg000:22EC sub_C22D1 endp seg000:22EC seg000:22EC ; --------------------------------------------------------------------------- seg000:22ED db 56h ; V seg000:22EE db 0E8h ; À seg000:22EF db 47h ; G seg000:22F0 db 0 seg000:22F1 db 0Fh seg000:22F2 db 0B6h ;  seg000:22F3 db 0F0h ; ­ seg000:22F4 db 2Eh ; . seg000:22F5 db 8Ah ; Õ seg000:22F6 db 84h ; ä seg000:22F7 db 36h ; 6 seg000:22F8 db 1Fh seg000:22F9 db 5Eh ; ^ seg000:22FA db 0C3h ; + seg000:22FB seg000:22FB ; =============== S U B R O U T I N E ======================================= seg000:22FB seg000:22FB seg000:22FB sub_C22FB proc near ; CODE XREF: sub_C22D1+16p seg000:22FB ; sub_C8596+7p ... seg000:22FB push cx seg000:22FC push dx seg000:22FD push ax seg000:22FE mov dl, al seg000:2300 inc cl seg000:2302 call sub_C26AA seg000:2305 xor al, al seg000:2307 jmp short loc_C2322 seg000:2309 ; --------------------------------------------------------------------------- seg000:2309 seg000:2309 loc_C2309: ; CODE XREF: sub_C22FB+2Ej seg000:2309 call sub_C1F50 seg000:230C jnz short loc_C231C seg000:230E call sub_C1F62 seg000:2311 jnz short loc_C231C seg000:2313 call sub_C237A seg000:2316 cmp ah, dl seg000:2318 jnz short loc_C231C seg000:231A dec cl seg000:231C seg000:231C loc_C231C: ; CODE XREF: sub_C22FB+11j seg000:231C ; sub_C22FB+16j ... seg000:231C or cl, cl seg000:231E jz short loc_C2322 seg000:2320 inc al seg000:2322 seg000:2322 loc_C2322: ; CODE XREF: sub_C22FB+Cj seg000:2322 ; sub_C22FB+23j seg000:2322 cmp cl, 0 seg000:2325 jbe short loc_C232B seg000:2327 cmp al, ch seg000:2329 jb short loc_C2309 seg000:232B seg000:232B loc_C232B: ; CODE XREF: sub_C22FB+2Aj seg000:232B mov dh, al seg000:232D or cl, cl seg000:232F jz short loc_C2332 seg000:2331 stc seg000:2332 seg000:2332 loc_C2332: ; CODE XREF: sub_C22FB+34j seg000:2332 pop ax seg000:2333 mov al, dh seg000:2335 pop dx seg000:2336 pop cx seg000:2337 retn seg000:2337 sub_C22FB endp seg000:2337 seg000:2338 seg000:2338 ; =============== S U B R O U T I N E ======================================= seg000:2338 seg000:2338 seg000:2338 sub_C2338 proc near ; CODE XREF: sub_C215C+2Bp seg000:2338 ; sub_C2864+Ap ... seg000:2338 push bx seg000:2339 push ax seg000:233A call sub_C24B3 seg000:233D call sub_C237A seg000:2340 mov bl, ah seg000:2342 pop ax seg000:2343 mov al, bl seg000:2345 pop bx seg000:2346 retn seg000:2346 sub_C2338 endp seg000:2346 seg000:2347 seg000:2347 ; =============== S U B R O U T I N E ======================================= seg000:2347 seg000:2347 seg000:2347 sub_C2347 proc near ; CODE XREF: sub_C2653+2p seg000:2347 push bx seg000:2348 push ax seg000:2349 call sub_C24B3 seg000:234C call sub_C237A seg000:234F or ah, ah seg000:2351 jnz short loc_C2357 seg000:2353 mov bl, 0 seg000:2355 jmp short loc_C2375 seg000:2357 ; --------------------------------------------------------------------------- seg000:2357 seg000:2357 loc_C2357: ; CODE XREF: sub_C2347+Aj seg000:2357 cmp ah, 1 seg000:235A jnz short loc_C2360 seg000:235C mov bl, 1 seg000:235E jmp short loc_C2375 seg000:2360 ; --------------------------------------------------------------------------- seg000:2360 seg000:2360 loc_C2360: ; CODE XREF: sub_C2347+13j seg000:2360 cmp ah, 2 seg000:2363 jz short loc_C236F seg000:2365 cmp ah, 3 seg000:2368 jz short loc_C236F seg000:236A cmp ah, 6 seg000:236D jnz short loc_C2373 seg000:236F seg000:236F loc_C236F: ; CODE XREF: sub_C2347+1Cj seg000:236F ; sub_C2347+21j seg000:236F mov bl, 2 seg000:2371 jmp short loc_C2375 seg000:2373 ; --------------------------------------------------------------------------- seg000:2373 seg000:2373 loc_C2373: ; CODE XREF: sub_C2347+26j seg000:2373 mov bl, 0FFh seg000:2375 seg000:2375 loc_C2375: ; CODE XREF: sub_C2347+Ej seg000:2375 ; sub_C2347+17j ... seg000:2375 pop ax seg000:2376 mov al, bl seg000:2378 pop bx seg000:2379 retn seg000:2379 sub_C2347 endp seg000:2379 seg000:237A seg000:237A ; =============== S U B R O U T I N E ======================================= seg000:237A seg000:237A seg000:237A sub_C237A proc near ; CODE XREF: sub_C225F+12p seg000:237A ; sub_C22FB+18p ... seg000:237A push edx seg000:237C push si seg000:237D call sub_C1F43 seg000:2380 mov edx, cs:[si] seg000:2384 and edx, 0Fh seg000:2388 shr edx, 0 seg000:238C mov ah, dl seg000:238E pop si seg000:238F pop edx seg000:2391 retn seg000:2391 sub_C237A endp seg000:2391 seg000:2392 seg000:2392 ; =============== S U B R O U T I N E ======================================= seg000:2392 seg000:2392 seg000:2392 sub_C2392 proc near ; CODE XREF: seg000:A1FFp seg000:2392 push edx seg000:2394 push si seg000:2395 call sub_C2451 seg000:2398 mov edx, cs:[si+4] seg000:239D and edx, 3 seg000:23A1 shr edx, 0 seg000:23A5 mov al, dl seg000:23A7 pop si seg000:23A8 pop edx seg000:23AA retn seg000:23AA sub_C2392 endp seg000:23AA seg000:23AB seg000:23AB ; =============== S U B R O U T I N E ======================================= seg000:23AB seg000:23AB seg000:23AB sub_C23AB proc near ; CODE XREF: sub_C2091:loc_C20AAp seg000:23AB push edx seg000:23AD push si seg000:23AE call sub_C2451 seg000:23B1 mov edx, cs:[si+4] seg000:23B6 and edx, 0FF00h seg000:23BD shr edx, 8 seg000:23C1 mov al, dl seg000:23C3 pop si seg000:23C4 pop edx seg000:23C6 retn seg000:23C6 sub_C23AB endp seg000:23C6 seg000:23C7 seg000:23C7 ; =============== S U B R O U T I N E ======================================= seg000:23C7 seg000:23C7 seg000:23C7 sub_C23C7 proc near ; CODE XREF: sub_C0488:loc_C0493p seg000:23C7 push edx seg000:23C9 push si seg000:23CA call sub_C2451 seg000:23CD mov edx, cs:[si+4] seg000:23D2 and edx, 100000h seg000:23D9 shr edx, 14h seg000:23DD mov al, dl seg000:23DF pop si seg000:23E0 pop edx seg000:23E2 retn seg000:23E2 sub_C23C7 endp seg000:23E2 seg000:23E2 ; --------------------------------------------------------------------------- seg000:23E3 db 66h ; f seg000:23E4 db 52h ; R seg000:23E5 db 56h ; V seg000:23E6 db 0E8h ; À seg000:23E7 db 68h ; h seg000:23E8 db 0 seg000:23E9 db 66h ; f seg000:23EA db 2Eh ; . seg000:23EB db 8Bh ; õ seg000:23EC db 54h ; T seg000:23ED db 4 seg000:23EE db 66h ; f seg000:23EF db 81h ; ü seg000:23F0 db 0E2h ; Ô seg000:23F1 db 0 seg000:23F2 db 0 seg000:23F3 db 0E0h ; Ó seg000:23F4 db 0 seg000:23F5 db 66h ; f seg000:23F6 db 0C1h ; + seg000:23F7 db 0EAh ; à seg000:23F8 db 15h seg000:23F9 db 8Ah ; Õ seg000:23FA db 0C2h ; T seg000:23FB db 5Eh ; ^ seg000:23FC db 66h ; f seg000:23FD db 5Ah ; Z seg000:23FE db 0C3h ; + seg000:23FF db 66h ; f seg000:2400 db 52h ; R seg000:2401 db 56h ; V seg000:2402 db 0E8h ; À seg000:2403 db 4Ch ; L seg000:2404 db 0 seg000:2405 db 66h ; f seg000:2406 db 2Eh ; . seg000:2407 db 8Bh ; õ seg000:2408 db 54h ; T seg000:2409 db 4 seg000:240A db 66h ; f seg000:240B db 81h ; ü seg000:240C db 0E2h ; Ô seg000:240D db 0 seg000:240E db 0 seg000:240F db 0 seg000:2410 db 0Fh seg000:2411 db 66h ; f seg000:2412 db 0C1h ; + seg000:2413 db 0EAh ; à seg000:2414 db 18h seg000:2415 db 8Ah ; Õ seg000:2416 db 0C2h ; T seg000:2417 db 3Ch ; < seg000:2418 db 3 seg000:2419 db 75h ; u seg000:241A db 4 seg000:241B db 0B0h ; - seg000:241C db 2 seg000:241D db 0EBh ; Û seg000:241E db 6 seg000:241F db 3Ch ; < seg000:2420 db 0Fh seg000:2421 db 75h ; u seg000:2422 db 2 seg000:2423 db 0B0h ; - seg000:2424 db 4 seg000:2425 db 5Eh ; ^ seg000:2426 db 66h ; f seg000:2427 db 5Ah ; Z seg000:2428 db 0C3h ; + seg000:2429 db 56h ; V seg000:242A db 0BEh ; ¿ seg000:242B db 30h ; 0 seg000:242C db 53h ; S seg000:242D db 0Ah seg000:242E db 0C0h ; L seg000:242F db 75h ; u seg000:2430 db 9 seg000:2431 db 2Eh ; . seg000:2432 db 8Ah ; Õ seg000:2433 db 64h ; d seg000:2434 db 4 seg000:2435 db 80h ; Ç seg000:2436 db 0E4h ; ñ seg000:2437 db 0Fh seg000:2438 db 0EBh ; Û seg000:2439 db 0Ah seg000:243A db 2Eh ; . seg000:243B db 8Ah ; Õ seg000:243C db 64h ; d seg000:243D db 4 seg000:243E db 80h ; Ç seg000:243F db 0E4h ; ñ seg000:2440 db 0F0h ; ­ seg000:2441 db 0C0h ; L seg000:2442 db 0ECh ; ý seg000:2443 db 4 seg000:2444 db 80h ; Ç seg000:2445 db 0E4h ; ñ seg000:2446 db 0Fh seg000:2447 db 5Eh ; ^ seg000:2448 db 0C3h ; + seg000:2449 seg000:2449 ; =============== S U B R O U T I N E ======================================= seg000:2449 seg000:2449 seg000:2449 sub_C2449 proc near ; CODE XREF: sub_C256D+13p seg000:2449 ; sub_C25BA+Dp ... seg000:2449 mov bh, al seg000:244B shl bh, 4 seg000:244E or bh, ah seg000:2450 retn seg000:2450 sub_C2449 endp seg000:2450 seg000:2451 seg000:2451 ; =============== S U B R O U T I N E ======================================= seg000:2451 seg000:2451 seg000:2451 sub_C2451 proc near ; CODE XREF: sub_C1FB4+3p seg000:2451 ; sub_C2392+3p ... seg000:2451 push ax seg000:2452 mov al, bh seg000:2454 shr al, 4 seg000:2457 call sub_C1F43 seg000:245A pop ax seg000:245B retn seg000:245B sub_C2451 endp seg000:245B seg000:245C seg000:245C ; =============== S U B R O U T I N E ======================================= seg000:245C seg000:245C seg000:245C sub_C245C proc near ; CODE XREF: sub_C456B+6p seg000:245C ; sub_C8D01+6p seg000:245C push eax seg000:245E push bx seg000:245F call sub_C2451 seg000:2462 mov eax, cs:[si] seg000:2466 and eax, 0F30000Fh seg000:246C mov edx, eax seg000:246F ror edx, 10h seg000:2473 or al, dl seg000:2475 rol edx, 10h seg000:2479 push edx seg000:247B mov edx, cs:[si+4] seg000:2480 mov ah, dh seg000:2482 ror eax, 10h seg000:2486 pop edx seg000:2488 call sub_C24B9 seg000:248B cbw seg000:248C xor bx, bx seg000:248E bts bx, ax seg000:2491 mov ah, bl seg000:2493 ror edx, 18h seg000:2497 mov al, dl seg000:2499 and al, 0Fh seg000:249B mov edx, cs:[si+4] seg000:24A0 and dl, 30h seg000:24A3 shl dl, 2 seg000:24A6 or al, dl seg000:24A8 ror eax, 10h seg000:24AC mov edx, eax seg000:24AF pop bx seg000:24B0 pop eax seg000:24B2 retn seg000:24B2 sub_C245C endp seg000:24B2 seg000:24B3 seg000:24B3 ; =============== S U B R O U T I N E ======================================= seg000:24B3 seg000:24B3 seg000:24B3 sub_C24B3 proc near ; CODE XREF: sub_C203D+2p seg000:24B3 ; sub_C204Cp ... seg000:24B3 mov al, bh seg000:24B5 shr al, 4 seg000:24B8 retn seg000:24B8 sub_C24B3 endp seg000:24B8 seg000:24B9 seg000:24B9 ; =============== S U B R O U T I N E ======================================= seg000:24B9 seg000:24B9 seg000:24B9 sub_C24B9 proc near ; CODE XREF: sub_C21BF+8p seg000:24B9 ; sub_C21DA+8p ... seg000:24B9 mov al, bh seg000:24BB and al, 3 seg000:24BD retn seg000:24BD sub_C24B9 endp seg000:24BD seg000:24BE seg000:24BE ; =============== S U B R O U T I N E ======================================= seg000:24BE seg000:24BE seg000:24BE sub_C24BE proc near ; CODE XREF: seg000:B9E5p seg000:24BE call sub_C24B9 seg000:24C1 mov ah, al seg000:24C3 call sub_C20B9 seg000:24C6 retn seg000:24C6 sub_C24BE endp seg000:24C6 seg000:24C7 seg000:24C7 ; =============== S U B R O U T I N E ======================================= seg000:24C7 seg000:24C7 seg000:24C7 sub_C24C7 proc near ; CODE XREF: seg000:B958p seg000:24C7 ; seg000:B98Cp ... seg000:24C7 call sub_C24B9 seg000:24CA mov ah, al seg000:24CC call sub_C20D9 seg000:24CF test al, 1 seg000:24D1 jz short loc_C24D7 seg000:24D3 mov cl, 0 seg000:24D5 jmp short loc_C24D9 seg000:24D7 ; --------------------------------------------------------------------------- seg000:24D7 seg000:24D7 loc_C24D7: ; CODE XREF: sub_C24C7+Aj seg000:24D7 mov cl, 1 seg000:24D9 seg000:24D9 loc_C24D9: ; CODE XREF: sub_C24C7+Ej seg000:24D9 call sub_C20B9 seg000:24DC retn seg000:24DC sub_C24C7 endp seg000:24DC seg000:24DD seg000:24DD ; =============== S U B R O U T I N E ======================================= seg000:24DD seg000:24DD seg000:24DD sub_C24DD proc near ; CODE XREF: sub_C1401+1p seg000:24DD ; sub_C21BF+Bp ... seg000:24DD push ax seg000:24DE push bx seg000:24DF mov bl, al seg000:24E1 mov al, 0A8h ; 'Ê' seg000:24E3 call sub_C12A2 seg000:24E6 mov dl, ah seg000:24E8 mov al, 0ACh ; 'È' seg000:24EA call sub_C12A2 seg000:24ED mov dh, ah seg000:24EF or dx, dx seg000:24F1 setnz ah seg000:24F4 shr ah, 1 seg000:24F6 pop bx seg000:24F7 pop ax seg000:24F8 retn seg000:24F8 sub_C24DD endp seg000:24F8 seg000:24F9 seg000:24F9 ; =============== S U B R O U T I N E ======================================= seg000:24F9 seg000:24F9 seg000:24F9 sub_C24F9 proc near ; CODE XREF: sub_C21BF+14p seg000:24F9 ; sub_C21DA+14p seg000:24F9 push ax seg000:24FA push bx seg000:24FB mov bl, al seg000:24FD mov al, 0A8h ; 'Ê' seg000:24FF mov ah, dl seg000:2501 call sub_C12AC seg000:2504 mov al, 0ACh ; 'È' seg000:2506 mov ah, dh seg000:2508 call sub_C12AC seg000:250B pop bx seg000:250C pop ax seg000:250D retn seg000:250D sub_C24F9 endp seg000:250D seg000:250E seg000:250E ; =============== S U B R O U T I N E ======================================= seg000:250E seg000:250E seg000:250E sub_C250E proc near ; CODE XREF: sub_C2546+4p seg000:250E push ax seg000:250F push bx seg000:2510 mov bl, al seg000:2512 mov al, 0B0h ; '-' seg000:2514 call sub_C12A2 seg000:2517 mov dl, ah seg000:2519 mov al, 0B4h ; '+' seg000:251B call sub_C12A2 seg000:251E mov dh, ah seg000:2520 pop bx seg000:2521 pop ax seg000:2522 retn seg000:2522 sub_C250E endp seg000:2522 seg000:2523 seg000:2523 ; =============== S U B R O U T I N E ======================================= seg000:2523 seg000:2523 seg000:2523 sub_C2523 proc near ; CODE XREF: sub_C25A7+7p seg000:2523 push ax seg000:2524 push bx seg000:2525 mov bl, al seg000:2527 mov al, 0B0h ; '-' seg000:2529 mov ah, dl seg000:252B call sub_C12AC seg000:252E mov al, 0B4h ; '+' seg000:2530 mov ah, dh seg000:2532 call sub_C12AC seg000:2535 pop bx seg000:2536 pop ax seg000:2537 retn seg000:2537 sub_C2523 endp seg000:2537 seg000:2538 seg000:2538 ; =============== S U B R O U T I N E ======================================= seg000:2538 seg000:2538 seg000:2538 sub_C2538 proc near ; CODE XREF: sub_C256D:loc_C2577p seg000:2538 push ax seg000:2539 push dx seg000:253A call sub_C24DD seg000:253D movzx ax, ah seg000:2540 bt dx, ax seg000:2543 pop dx seg000:2544 pop ax seg000:2545 retn seg000:2545 sub_C2538 endp seg000:2545 seg000:2546 seg000:2546 ; =============== S U B R O U T I N E ======================================= seg000:2546 seg000:2546 seg000:2546 sub_C2546 proc near ; CODE XREF: sub_C25BA:loc_C25C2p seg000:2546 push ax seg000:2547 push dx seg000:2548 xchg al, ah seg000:254A call sub_C250E seg000:254D movzx ax, ah seg000:2550 bt dx, ax seg000:2553 pop dx seg000:2554 pop ax seg000:2555 retn seg000:2555 sub_C2546 endp seg000:2555 seg000:2556 seg000:2556 ; =============== S U B R O U T I N E ======================================= seg000:2556 seg000:2556 seg000:2556 sub_C2556 proc near ; CODE XREF: sub_C310E+74p seg000:2556 ; sub_C310E+94p ... seg000:2556 push ax seg000:2557 xor dx, dx seg000:2559 xor al, al seg000:255B seg000:255B loc_C255B: ; CODE XREF: sub_C2556+11j seg000:255B call di seg000:255D jnb short loc_C2561 seg000:255F inc dl seg000:2561 seg000:2561 loc_C2561: ; CODE XREF: sub_C2556+7j seg000:2561 inc dh seg000:2563 inc al seg000:2565 cmp al, 4 seg000:2567 jnz short loc_C255B seg000:2569 or dl, dl seg000:256B pop ax seg000:256C retn seg000:256C sub_C2556 endp seg000:256C seg000:256D seg000:256D ; =============== S U B R O U T I N E ======================================= seg000:256D seg000:256D seg000:256D sub_C256D proc near ; CODE XREF: seg000:2DADp seg000:256D ; seg000:3079p ... seg000:256D push ax seg000:256E push bx seg000:256F xor dx, dx seg000:2571 mov bh, ah seg000:2573 xor al, al seg000:2575 seg000:2575 loc_C2575: ; CODE XREF: sub_C256D+33j seg000:2575 xor ah, ah seg000:2577 seg000:2577 loc_C2577: ; CODE XREF: sub_C256D+2Dj seg000:2577 call sub_C2538 seg000:257A jnb short loc_C2593 seg000:257C push ax seg000:257D push bx seg000:257E xchg al, ah seg000:2580 call sub_C2449 seg000:2583 mov ah, bh seg000:2585 pop bx seg000:2586 xchg ah, bh seg000:2588 call di ; sub_C26B0 seg000:258A jnb short loc_C258E seg000:258C inc dl seg000:258E seg000:258E loc_C258E: ; CODE XREF: sub_C256D+1Dj seg000:258E inc dh seg000:2590 mov bh, ah seg000:2592 pop ax seg000:2593 seg000:2593 loc_C2593: ; CODE XREF: sub_C256D+Dj seg000:2593 inc ah seg000:2595 cmp ah, cs:byte_C5297 seg000:259A jnz short loc_C2577 seg000:259C inc al seg000:259E cmp al, 4 seg000:25A0 jnz short loc_C2575 seg000:25A2 or dl, dl seg000:25A4 pop bx seg000:25A5 pop ax seg000:25A6 retn seg000:25A6 sub_C256D endp seg000:25A6 seg000:25A7 seg000:25A7 ; =============== S U B R O U T I N E ======================================= seg000:25A7 seg000:25A7 seg000:25A7 sub_C25A7 proc near ; CODE XREF: seg000:309Ap seg000:25A7 push ax seg000:25A8 push dx seg000:25A9 xor al, al seg000:25AB seg000:25AB loc_C25AB: ; CODE XREF: sub_C25A7+Ej seg000:25AB call sub_C24DD seg000:25AE call sub_C2523 seg000:25B1 inc al seg000:25B3 cmp al, 4 seg000:25B5 jnz short loc_C25AB seg000:25B7 pop dx seg000:25B8 pop ax seg000:25B9 retn seg000:25B9 sub_C25A7 endp seg000:25B9 seg000:25BA seg000:25BA ; =============== S U B R O U T I N E ======================================= seg000:25BA seg000:25BA seg000:25BA sub_C25BA proc near ; CODE XREF: seg000:3087p seg000:25BA push ax seg000:25BB push bx seg000:25BC xor dx, dx seg000:25BE xor ah, ah seg000:25C0 seg000:25C0 loc_C25C0: ; CODE XREF: sub_C25BA+26j seg000:25C0 xor al, al seg000:25C2 seg000:25C2 loc_C25C2: ; CODE XREF: sub_C25BA+1Fj seg000:25C2 call sub_C2546 seg000:25C5 jnb short loc_C25D2 seg000:25C7 call sub_C2449 seg000:25CA call di ; sub_C21F5 seg000:25CC jnb short loc_C25D0 seg000:25CE inc dl seg000:25D0 seg000:25D0 loc_C25D0: ; CODE XREF: sub_C25BA+12j seg000:25D0 inc dh seg000:25D2 seg000:25D2 loc_C25D2: ; CODE XREF: sub_C25BA+Bj seg000:25D2 inc al seg000:25D4 cmp al, cs:byte_C5297 seg000:25D9 jnz short loc_C25C2 seg000:25DB inc ah seg000:25DD cmp ah, 4 seg000:25E0 jnz short loc_C25C0 seg000:25E2 or dl, dl seg000:25E4 pop bx seg000:25E5 pop ax seg000:25E6 retn seg000:25E6 sub_C25BA endp seg000:25E6 seg000:25E7 seg000:25E7 ; =============== S U B R O U T I N E ======================================= seg000:25E7 seg000:25E7 seg000:25E7 sub_C25E7 proc near ; CODE XREF: sub_C28B1+7p seg000:25E7 ; seg000:3092p ... seg000:25E7 push ax seg000:25E8 push cx seg000:25E9 push bx seg000:25EA xor dx, dx seg000:25EC xor al, al seg000:25EE call sub_C26AA seg000:25F1 movzx cx, ch seg000:25F4 seg000:25F4 loc_C25F4: ; CODE XREF: sub_C25E7+3Bj seg000:25F4 call sub_C1F50 seg000:25F7 jnz short loc_C2620 seg000:25F9 call sub_C237A seg000:25FC cmp ah, 0Eh seg000:25FF jz short loc_C261D seg000:2601 cmp ah, 0Fh seg000:2604 jz short loc_C2620 seg000:2606 push bx seg000:2607 call sub_C1F99 seg000:260A bsf bx, bx seg000:260D mov ah, bl seg000:260F pop bx seg000:2610 call sub_C2449 seg000:2613 call di ; sub_C85F9 seg000:2615 jnb short loc_C2619 seg000:2617 inc dl seg000:2619 seg000:2619 loc_C2619: ; CODE XREF: sub_C25E7+2Ej seg000:2619 inc dh seg000:261B jmp short loc_C2620 seg000:261D ; --------------------------------------------------------------------------- seg000:261D seg000:261D loc_C261D: ; CODE XREF: sub_C25E7+18j seg000:261D mov cx, 1 seg000:2620 seg000:2620 loc_C2620: ; CODE XREF: sub_C25E7+10j seg000:2620 ; sub_C25E7+1Dj ... seg000:2620 inc al seg000:2622 loop loc_C25F4 seg000:2624 or dl, dl seg000:2626 mov al, bl seg000:2628 pop bx seg000:2629 mov bl, al seg000:262B pop cx seg000:262C pop ax seg000:262D retn seg000:262D sub_C25E7 endp seg000:262D seg000:262D ; --------------------------------------------------------------------------- seg000:262E db 50h ; P seg000:262F db 53h ; S seg000:2630 db 56h ; V seg000:2631 db 86h ; æ seg000:2632 db 0C4h ; ¦ seg000:2633 db 0E8h ; À seg000:2634 db 13h seg000:2635 db 0FEh ; ¦ seg000:2636 db 8Dh ; seg000:2637 db 36h ; 6 seg000:2638 db 18h seg000:2639 db 1Fh seg000:263A db 0E8h ; À seg000:263B db 16h seg000:263C db 0 seg000:263D db 5Eh ; ^ seg000:263E db 5Bh ; [ seg000:263F db 58h ; X seg000:2640 db 0C3h ; + seg000:2641 db 50h ; P seg000:2642 db 52h ; R seg000:2643 db 57h ; W seg000:2644 db 0E8h ; À seg000:2645 db 6Ch ; l seg000:2646 db 0FEh ; ¦ seg000:2647 db 8Ah ; Õ seg000:2648 db 0E0h ; Ó seg000:2649 db 0BFh ; ¬ seg000:264A db 2Eh ; . seg000:264B db 26h ; & seg000:264C db 0E8h ; À seg000:264D db 7 seg000:264E db 0FFh seg000:264F db 5Fh ; _ seg000:2650 db 5Ah ; Z seg000:2651 db 58h ; X seg000:2652 db 0C3h ; + seg000:2653 seg000:2653 ; =============== S U B R O U T I N E ======================================= seg000:2653 seg000:2653 seg000:2653 sub_C2653 proc near ; CODE XREF: sub_C215C+42p seg000:2653 ; sub_C21F5+Ep ... seg000:2653 push si seg000:2654 push ax seg000:2655 call sub_C2347 seg000:2658 cmp al, 0FFh seg000:265A jnz short loc_C2664 seg000:265C call sub_C1C2A seg000:265F mov si, 633Ch seg000:2662 jmp short loc_C266C seg000:2664 ; --------------------------------------------------------------------------- seg000:2664 seg000:2664 loc_C2664: ; CODE XREF: sub_C2653+7j seg000:2664 cbw seg000:2665 shl ax, 1 seg000:2667 add si, ax seg000:2669 mov si, cs:[si] seg000:266C seg000:266C loc_C266C: ; CODE XREF: sub_C2653+Fj seg000:266C pop ax seg000:266D or si, si seg000:266F jz short loc_C2673 seg000:2671 call si seg000:2673 seg000:2673 loc_C2673: ; CODE XREF: sub_C2653+1Cj seg000:2673 pop si seg000:2674 retn seg000:2674 sub_C2653 endp seg000:2674 seg000:2674 ; --------------------------------------------------------------------------- seg000:2675 db 56h ; V seg000:2676 db 8Dh ; seg000:2677 db 36h ; 6 seg000:2678 db 2Ah ; * seg000:2679 db 1Fh seg000:267A db 0E8h ; À seg000:267B db 0D6h ; Í seg000:267C db 0FFh seg000:267D db 5Eh ; ^ seg000:267E db 0C3h ; + seg000:267F db 0B3h ; - seg000:2680 db 0 seg000:2681 db 0E8h ; À seg000:2682 db 0F1h ; ½ seg000:2683 db 0FFh seg000:2684 db 0C3h ; + seg000:2685 db 0B3h ; - seg000:2686 db 1 seg000:2687 db 0E8h ; À seg000:2688 db 0EBh ; Û seg000:2689 db 0FFh seg000:268A db 0C3h ; + seg000:268B db 56h ; V seg000:268C db 8Dh ; seg000:268D db 36h ; 6 seg000:268E db 30h ; 0 seg000:268F db 1Fh seg000:2690 db 0E8h ; À seg000:2691 db 0C0h ; L seg000:2692 db 0FFh seg000:2693 db 0Ah seg000:2694 db 0DBh ; - seg000:2695 db 74h ; t seg000:2696 db 1 seg000:2697 db 0F9h ; ¨ seg000:2698 db 5Eh ; ^ seg000:2699 db 0C3h ; + seg000:269A db 53h ; S seg000:269B db 0B3h ; - seg000:269C db 0 seg000:269D db 0E8h ; À seg000:269E db 0AEh ; « seg000:269F db 0FBh ; û seg000:26A0 db 5Bh ; [ seg000:26A1 db 0C3h ; + seg000:26A2 db 53h ; S seg000:26A3 db 0B3h ; - seg000:26A4 db 3 seg000:26A5 db 0E8h ; À seg000:26A6 db 0A6h ; Ž seg000:26A7 db 0FBh ; û seg000:26A8 db 5Bh ; [ seg000:26A9 db 0C3h ; + seg000:26AA seg000:26AA ; =============== S U B R O U T I N E ======================================= seg000:26AA seg000:26AA seg000:26AA sub_C26AA proc near ; CODE XREF: sub_C22FB+7p seg000:26AA ; sub_C25E7+7p ... seg000:26AA mov ch, cs:byte_C5297 seg000:26AF retn seg000:26AF sub_C26AA endp seg000:26AF seg000:26B0 seg000:26B0 ; =============== S U B R O U T I N E ======================================= seg000:26B0 seg000:26B0 seg000:26B0 sub_C26B0 proc near ; CODE XREF: sub_C256D+1Bp seg000:26B0 push si seg000:26B1 lea si, ds:1F24h seg000:26B5 call sub_C2653 seg000:26B8 pop si seg000:26B9 retn seg000:26B9 sub_C26B0 endp seg000:26B9 seg000:26B9 ; --------------------------------------------------------------------------- seg000:26BA db 50h ; P seg000:26BB db 0E8h ; À seg000:26BC db 2Fh ; / seg000:26BD db 0FCh ; Ø seg000:26BE db 84h ; ä seg000:26BF db 0C1h ; + seg000:26C0 db 74h ; t seg000:26C1 db 2 seg000:26C2 db 0FFh seg000:26C3 db 0D6h ; Í seg000:26C4 db 58h ; X seg000:26C5 db 0C3h ; + seg000:26C6 seg000:26C6 ; =============== S U B R O U T I N E ======================================= seg000:26C6 seg000:26C6 seg000:26C6 sub_C26C6 proc near ; CODE XREF: sub_C2726+6p seg000:26C6 ; sub_C30D7:loc_C30F2p ... seg000:26C6 push dx seg000:26C7 xor al, al seg000:26C9 xor dl, dl seg000:26CB mov dh, 4 seg000:26CD seg000:26CD loc_C26CD: ; CODE XREF: sub_C26C6+17j seg000:26CD call di ; sub_C1401 seg000:26CF jb short loc_C26D7 seg000:26D1 dec dh seg000:26D3 inc al seg000:26D5 jmp short loc_C26DB seg000:26D7 ; --------------------------------------------------------------------------- seg000:26D7 seg000:26D7 loc_C26D7: ; CODE XREF: sub_C26C6+9j seg000:26D7 inc dl seg000:26D9 xor dh, dh seg000:26DB seg000:26DB loc_C26DB: ; CODE XREF: sub_C26C6+Fj seg000:26DB or dh, dh seg000:26DD jnz short loc_C26CD seg000:26DF rcr dl, 1 seg000:26E1 pop dx seg000:26E2 retn seg000:26E2 sub_C26C6 endp seg000:26E2 seg000:26E3 seg000:26E3 ; =============== S U B R O U T I N E ======================================= seg000:26E3 seg000:26E3 seg000:26E3 sub_C26E3 proc near ; CODE XREF: sub_C30D7+Ap seg000:26E3 push cx seg000:26E4 push dx seg000:26E5 push ax seg000:26E6 xor al, al seg000:26E8 xor dl, dl seg000:26EA call sub_C26AA seg000:26ED seg000:26ED loc_C26ED: ; CODE XREF: sub_C26E3+37j seg000:26ED call sub_C1F50 seg000:26F0 jnz short loc_C270C seg000:26F2 call sub_C1F62 seg000:26F5 jnz short loc_C270C seg000:26F7 call sub_C237A seg000:26FA cmp ah, 0Eh seg000:26FD jz short loc_C270A seg000:26FF cmp ah, 0Fh seg000:2702 jz short loc_C270C seg000:2704 call di seg000:2706 rcl dl, 1 seg000:2708 jmp short loc_C270C seg000:270A ; --------------------------------------------------------------------------- seg000:270A seg000:270A loc_C270A: ; CODE XREF: sub_C26E3+1Aj seg000:270A mov ch, 1 seg000:270C seg000:270C loc_C270C: ; CODE XREF: sub_C26E3+Dj seg000:270C ; sub_C26E3+12j ... seg000:270C or dl, dl seg000:270E jnz short loc_C2716 seg000:2710 dec ch seg000:2712 inc al seg000:2714 jmp short loc_C2718 seg000:2716 ; --------------------------------------------------------------------------- seg000:2716 seg000:2716 loc_C2716: ; CODE XREF: sub_C26E3+2Bj seg000:2716 xor ch, ch seg000:2718 seg000:2718 loc_C2718: ; CODE XREF: sub_C26E3+31j seg000:2718 or ch, ch seg000:271A jnz short loc_C26ED seg000:271C rcr dl, 1 seg000:271E mov dl, al seg000:2720 pop ax seg000:2721 mov al, dl seg000:2723 pop dx seg000:2724 pop cx seg000:2725 retn seg000:2725 sub_C26E3 endp seg000:2725 seg000:2726 seg000:2726 ; =============== S U B R O U T I N E ======================================= seg000:2726 seg000:2726 seg000:2726 sub_C2726 proc near ; CODE XREF: sub_C30D7+Fp seg000:2726 ; sub_C8658+9p ... seg000:2726 push di seg000:2727 mov ah, al seg000:2729 mov di, 2538h seg000:272C call sub_C26C6 seg000:272F xchg ah, al seg000:2731 pop di seg000:2732 retn seg000:2732 sub_C2726 endp seg000:2732 seg000:2732 ; --------------------------------------------------------------------------- seg000:2733 db 0E8h ; À seg000:2734 db 7Dh ; } seg000:2735 db 0FDh ; ø seg000:2736 db 0E8h ; À seg000:2737 db 0EDh ; Ý seg000:2738 db 0FFh seg000:2739 db 0C3h ; + seg000:273A db 50h ; P seg000:273B db 0E8h ; À seg000:273C db 0E8h ; À seg000:273D db 0FFh seg000:273E db 73h ; s seg000:273F db 5 seg000:2740 db 86h ; æ seg000:2741 db 0C4h ; ¦ seg000:2742 db 0E8h ; À seg000:2743 db 0A2h ; ó seg000:2744 db 0ECh ; ý seg000:2745 db 58h ; X seg000:2746 db 0C3h ; + seg000:2747 seg000:2747 ; =============== S U B R O U T I N E ======================================= seg000:2747 seg000:2747 seg000:2747 sub_C2747 proc near ; CODE XREF: sub_C2053+5p seg000:2747 ; sub_C874B+2p seg000:2747 push si seg000:2748 call sub_C2751 seg000:274B mov eax, cs:[si] seg000:274F pop si seg000:2750 retn seg000:2750 sub_C2747 endp seg000:2750 seg000:2751 seg000:2751 ; =============== S U B R O U T I N E ======================================= seg000:2751 seg000:2751 seg000:2751 sub_C2751 proc near ; CODE XREF: sub_C2747+1p seg000:2751 push ax seg000:2752 mov si, 5504h seg000:2755 mov ah, cs:[si+3] seg000:2759 mul ah seg000:275B mov si, 5509h seg000:275E add si, ax seg000:2760 pop ax seg000:2761 retn seg000:2761 sub_C2751 endp seg000:2761 seg000:2762 seg000:2762 ; =============== S U B R O U T I N E ======================================= seg000:2762 seg000:2762 seg000:2762 sub_C2762 proc near ; CODE XREF: sub_C27C7+1p seg000:2762 push cx seg000:2763 push si seg000:2764 call sub_C42BA seg000:2767 mov si, 5335h seg000:276A mov al, cl seg000:276C mov cl, 4 seg000:276E mul cl seg000:2770 add si, ax seg000:2772 mov al, cs:[si+3] seg000:2776 pop si seg000:2777 pop cx seg000:2778 retn seg000:2778 sub_C2762 endp seg000:2778 seg000:2779 seg000:2779 ; =============== S U B R O U T I N E ======================================= seg000:2779 seg000:2779 seg000:2779 sub_C2779 proc near ; CODE XREF: sub_CB7AB+10p seg000:2779 ; sub_CB88E+13p seg000:2779 push cx seg000:277A push edx seg000:277C push si seg000:277D call sub_C26AA seg000:2780 lea si, ds:52B0h seg000:2784 xor al, al seg000:2786 seg000:2786 loc_C2786: ; CODE XREF: sub_C2779+2Bj seg000:2786 mov edx, cs:[si] seg000:278A mov edx, cs:[si] seg000:278E and edx, 0F0h seg000:2795 shr edx, 4 seg000:2799 cmp dl, cl seg000:279B jz short loc_C27A6 seg000:279D add si, 8 seg000:27A0 inc al seg000:27A2 cmp al, ch seg000:27A4 jnz short loc_C2786 seg000:27A6 seg000:27A6 loc_C27A6: ; CODE XREF: sub_C2779+22j seg000:27A6 pop si seg000:27A7 pop edx seg000:27A9 pop cx seg000:27AA retn seg000:27AA sub_C2779 endp seg000:27AA seg000:27AA ; --------------------------------------------------------------------------- seg000:27AB db 66h ; f seg000:27AC db 52h ; R seg000:27AD db 56h ; V seg000:27AE db 0E8h ; À seg000:27AF db 92h ; å seg000:27B0 db 0F7h ; ¸ seg000:27B1 db 66h ; f seg000:27B2 db 2Eh ; . seg000:27B3 db 8Bh ; õ seg000:27B4 db 54h ; T seg000:27B5 db 4 seg000:27B6 db 66h ; f seg000:27B7 db 81h ; ü seg000:27B8 db 0E2h ; Ô seg000:27B9 db 0 seg000:27BA db 0FFh seg000:27BB db 0 seg000:27BC db 0 seg000:27BD db 66h ; f seg000:27BE db 0C1h ; + seg000:27BF db 0EAh ; à seg000:27C0 db 8 seg000:27C1 db 8Ah ; Õ seg000:27C2 db 0E2h ; Ô seg000:27C3 db 5Eh ; ^ seg000:27C4 db 66h ; f seg000:27C5 db 5Ah ; Z seg000:27C6 db 0C3h ; + seg000:27C7 seg000:27C7 ; =============== S U B R O U T I N E ======================================= seg000:27C7 seg000:27C7 seg000:27C7 sub_C27C7 proc near ; CODE XREF: sub_CA92B+Ap seg000:27C7 ; sub_CAA0Ap ... seg000:27C7 push ax seg000:27C8 call sub_C2762 seg000:27CB cmp al, 6 seg000:27CD jnz short loc_C27D2 seg000:27CF clc seg000:27D0 jmp short loc_C27D3 seg000:27D2 ; --------------------------------------------------------------------------- seg000:27D2 seg000:27D2 loc_C27D2: ; CODE XREF: sub_C27C7+6j seg000:27D2 stc seg000:27D3 seg000:27D3 loc_C27D3: ; CODE XREF: sub_C27C7+9j seg000:27D3 pop ax seg000:27D4 retn seg000:27D4 sub_C27C7 endp seg000:27D4 seg000:27D4 ; --------------------------------------------------------------------------- seg000:27D5 db 66h ; f seg000:27D6 db 52h ; R seg000:27D7 db 66h ; f seg000:27D8 db 50h ; P seg000:27D9 db 0E8h ; À seg000:27DA db 77h ; w seg000:27DB db 0F8h ; ° seg000:27DC db 66h ; f seg000:27DD db 8Bh ; õ seg000:27DE db 0D0h ; ð seg000:27DF db 66h ; f seg000:27E0 db 0C1h ; + seg000:27E1 db 0EAh ; à seg000:27E2 db 0 seg000:27E3 db 80h ; Ç seg000:27E4 db 0E2h ; Ô seg000:27E5 db 0FFh seg000:27E6 db 80h ; Ç seg000:27E7 db 0FAh ; ÿ seg000:27E8 db 46h ; F seg000:27E9 db 74h ; t seg000:27EA db 14h seg000:27EB db 80h ; Ç seg000:27EC db 0FAh ; ÿ seg000:27ED db 31h ; 1 seg000:27EE db 74h ; t seg000:27EF db 0Fh seg000:27F0 db 80h ; Ç seg000:27F1 db 0FAh ; ÿ seg000:27F2 db 30h ; 0 seg000:27F3 db 74h ; t seg000:27F4 db 0Ah seg000:27F5 db 80h ; Ç seg000:27F6 db 0FAh ; ÿ seg000:27F7 db 61h ; a seg000:27F8 db 74h ; t seg000:27F9 db 5 seg000:27FA db 80h ; Ç seg000:27FB db 0FAh ; ÿ seg000:27FC db 47h ; G seg000:27FD db 75h ; u seg000:27FE db 2Ch ; , seg000:27FF db 66h ; f seg000:2800 db 0C1h ; + seg000:2801 db 0E8h ; À seg000:2802 db 14h seg000:2803 db 24h ; $ seg000:2804 db 0Fh seg000:2805 db 74h ; t seg000:2806 db 22h ; " seg000:2807 db 3Ch ; < seg000:2808 db 1 seg000:2809 db 75h ; u seg000:280A db 4 seg000:280B db 0B2h ; - seg000:280C db 5Ah ; Z seg000:280D db 0EBh ; Û seg000:280E db 16h seg000:280F db 3Ch ; < seg000:2810 db 2 seg000:2811 db 75h ; u seg000:2812 db 4 seg000:2813 db 0B2h ; - seg000:2814 db 5Bh ; [ seg000:2815 db 0EBh ; Û seg000:2816 db 0Eh seg000:2817 db 3Ch ; < seg000:2818 db 4 seg000:2819 db 75h ; u seg000:281A db 4 seg000:281B db 0B2h ; - seg000:281C db 5Ch ; \ seg000:281D db 0EBh ; Û seg000:281E db 6 seg000:281F db 3Ch ; < seg000:2820 db 8 seg000:2821 db 75h ; u seg000:2822 db 2 seg000:2823 db 0B2h ; - seg000:2824 db 5Dh ; ] seg000:2825 db 32h ; 2 seg000:2826 db 0C0h ; L seg000:2827 db 0EBh ; Û seg000:2828 db 2 seg000:2829 db 0Ch seg000:282A db 1 seg000:282B db 66h ; f seg000:282C db 58h ; X seg000:282D db 8Ah ; Õ seg000:282E db 0C2h ; T seg000:282F db 66h ; f seg000:2830 db 5Ah ; Z seg000:2831 db 0C3h ; + seg000:2832 db 50h ; P seg000:2833 db 53h ; S seg000:2834 db 51h ; Q seg000:2835 db 52h ; R seg000:2836 db 0E8h ; À seg000:2837 db 3 seg000:2838 db 3Bh ; ; seg000:2839 db 0E8h ; À seg000:283A db 0FCh ; Ø seg000:283B db 0FAh ; ÿ seg000:283C db 3Ch ; < seg000:283D db 2 seg000:283E db 74h ; t seg000:283F db 4 seg000:2840 db 3Ch ; < seg000:2841 db 6 seg000:2842 db 75h ; u seg000:2843 db 1Bh seg000:2844 db 8Ah ; Õ seg000:2845 db 0E8h ; À seg000:2846 db 0E8h ; À seg000:2847 db 6Ah ; j seg000:2848 db 0FCh ; Ø seg000:2849 db 0E8h ; À seg000:284A db 89h ; ë seg000:284B db 0FFh seg000:284C db 75h ; u seg000:284D db 0Eh seg000:284E db 80h ; Ç seg000:284F db 0FDh ; ø seg000:2850 db 2 seg000:2851 db 75h ; u seg000:2852 db 4 seg000:2853 db 32h ; 2 seg000:2854 db 0E4h ; ñ seg000:2855 db 0EBh ; Û seg000:2856 db 2 seg000:2857 db 0B4h ; + seg000:2858 db 1 seg000:2859 db 0E8h ; À seg000:285A db 97h ; Œ seg000:285B db 0EEh ; þ seg000:285C db 0E8h ; À seg000:285D db 34h ; 4 seg000:285E db 98h ; œ seg000:285F db 5Ah ; Z seg000:2860 db 59h ; Y seg000:2861 db 5Bh ; [ seg000:2862 db 58h ; X seg000:2863 db 0C3h ; + seg000:2864 seg000:2864 ; =============== S U B R O U T I N E ======================================= seg000:2864 seg000:2864 seg000:2864 sub_C2864 proc near ; CODE XREF: sub_C8D01+40p seg000:2864 push ax seg000:2865 call sub_C2103 seg000:2868 mov ah, 1 seg000:286A or al, al seg000:286C jnz short loc_C287F seg000:286E call sub_C2338 seg000:2871 cmp al, 3 seg000:2873 jz short loc_C287D seg000:2875 cmp al, 2 seg000:2877 jz short loc_C287D seg000:2879 cmp al, 6 seg000:287B jnz short loc_C287F seg000:287D seg000:287D loc_C287D: ; CODE XREF: sub_C2864+Fj seg000:287D ; sub_C2864+13j seg000:287D xor ah, ah seg000:287F seg000:287F loc_C287F: ; CODE XREF: sub_C2864+8j seg000:287F ; sub_C2864+17j seg000:287F and ah, ah seg000:2881 pop ax seg000:2882 retn seg000:2882 sub_C2864 endp seg000:2882 seg000:2883 seg000:2883 ; =============== S U B R O U T I N E ======================================= seg000:2883 seg000:2883 seg000:2883 sub_C2883 proc near ; CODE XREF: sub_C8E61+9p seg000:2883 push edx seg000:2885 push si seg000:2886 call sub_C1F43 seg000:2889 mov edx, cs:[si] seg000:288D test edx, 400000h seg000:2894 jnz short loc_C2899 seg000:2896 call sub_C1F50 seg000:2899 seg000:2899 loc_C2899: ; CODE XREF: sub_C2883+11j seg000:2899 pop si seg000:289A pop edx seg000:289C retn seg000:289C sub_C2883 endp seg000:289C seg000:289D seg000:289D ; =============== S U B R O U T I N E ======================================= seg000:289D seg000:289D seg000:289D sub_C289D proc near ; CODE XREF: sub_C8E61+13p seg000:289D push eax seg000:289F push si seg000:28A0 call sub_C1F43 seg000:28A3 mov eax, cs:[si] seg000:28A7 test eax, 800000h seg000:28AD pop si seg000:28AE pop eax seg000:28B0 retn seg000:28B0 sub_C289D endp seg000:28B0 seg000:28B1 seg000:28B1 ; =============== S U B R O U T I N E ======================================= seg000:28B1 seg000:28B1 seg000:28B1 sub_C28B1 proc near ; CODE XREF: seg000:2D40p seg000:28B1 lea si, ds:1F3Dh seg000:28B5 mov di, 2653h seg000:28B8 call sub_C25E7 seg000:28BB retn seg000:28BB sub_C28B1 endp seg000:28BB seg000:28BB ; --------------------------------------------------------------------------- seg000:28BC dword_C28BC dd 0C000CD50h ; DATA XREF: seg000:2C76w seg000:28BC ; sub_C2E0Er ... seg000:28C0 unk_C28C0 db 50h ; P ; DATA XREF: seg000:2C7Dw seg000:28C1 db 0D5h ; Ò seg000:28C2 word_C28C2 dw 0C000h ; DATA XREF: sub_C1166+4Bw seg000:28C2 ; seg000:2C7Aw seg000:28C4 dword_C28C4 dd 0C000D550h ; DATA XREF: seg000:2C84w seg000:28C4 ; sub_C2E0E+Er ... seg000:28C8 db 1Dh seg000:28C9 db 0 seg000:28CA db 0 seg000:28CB db 0 seg000:28CC db 0 seg000:28CD db 0 seg000:28CE db 24h ; $ seg000:28CF db 66h ; f seg000:28D0 db 0FFh seg000:28D1 db 66h ; f seg000:28D2 db 24h ; $ seg000:28D3 db 0 seg000:28D4 db 0 seg000:28D5 db 0 seg000:28D6 db 0 seg000:28D7 db 0 seg000:28D8 db 0 seg000:28D9 db 30h ; 0 seg000:28DA db 0 seg000:28DB db 0 seg000:28DC db 3Ch ; < seg000:28DD db 66h ; f seg000:28DE db 0C3h ; + seg000:28DF db 0C3h ; + seg000:28E0 db 0DBh ; - seg000:28E1 db 0DBh ; - seg000:28E2 db 0C3h ; + seg000:28E3 db 0C3h ; + seg000:28E4 db 66h ; f seg000:28E5 db 3Ch ; < seg000:28E6 db 0 seg000:28E7 db 0 seg000:28E8 db 0 seg000:28E9 db 0 seg000:28EA db 4Dh ; M seg000:28EB db 0 seg000:28EC db 0 seg000:28ED db 0C3h ; + seg000:28EE db 0E7h ; š seg000:28EF db 0FFh seg000:28F0 db 0FFh seg000:28F1 db 0DBh ; - seg000:28F2 db 0C3h ; + seg000:28F3 db 0C3h ; + seg000:28F4 db 0C3h ; + seg000:28F5 db 0C3h ; + seg000:28F6 db 0C3h ; + seg000:28F7 db 0 seg000:28F8 db 0 seg000:28F9 db 0 seg000:28FA db 0 seg000:28FB db 54h ; T seg000:28FC db 0 seg000:28FD db 0 seg000:28FE db 0FFh seg000:28FF db 0DBh ; - seg000:2900 db 99h ; Ö seg000:2901 db 18h seg000:2902 db 18h seg000:2903 db 18h seg000:2904 db 18h seg000:2905 db 18h seg000:2906 db 18h seg000:2907 db 3Ch ; < seg000:2908 db 0 seg000:2909 db 0 seg000:290A db 0 seg000:290B db 0 seg000:290C db 56h ; V seg000:290D db 0 seg000:290E db 0 seg000:290F db 0C3h ; + seg000:2910 db 0C3h ; + seg000:2911 db 0C3h ; + seg000:2912 db 0C3h ; + seg000:2913 db 0C3h ; + seg000:2914 db 0C3h ; + seg000:2915 db 0C3h ; + seg000:2916 db 66h ; f seg000:2917 db 3Ch ; < seg000:2918 db 18h seg000:2919 db 0 seg000:291A db 0 seg000:291B db 0 seg000:291C db 0 seg000:291D db 57h ; W seg000:291E db 0 seg000:291F db 0 seg000:2920 db 0C3h ; + seg000:2921 db 0C3h ; + seg000:2922 db 0C3h ; + seg000:2923 db 0C3h ; + seg000:2924 db 0C3h ; + seg000:2925 db 0DBh ; - seg000:2926 db 0DBh ; - seg000:2927 db 0FFh seg000:2928 db 66h ; f seg000:2929 db 66h ; f seg000:292A db 0 seg000:292B db 0 seg000:292C db 0 seg000:292D db 0 seg000:292E db 58h ; X seg000:292F db 0 seg000:2930 db 0 seg000:2931 db 0C3h ; + seg000:2932 db 0C3h ; + seg000:2933 db 66h ; f seg000:2934 db 3Ch ; < seg000:2935 db 18h seg000:2936 db 18h seg000:2937 db 3Ch ; < seg000:2938 db 66h ; f seg000:2939 db 0C3h ; + seg000:293A db 0C3h ; + seg000:293B db 0 seg000:293C db 0 seg000:293D db 0 seg000:293E db 0 seg000:293F db 59h ; Y seg000:2940 db 0 seg000:2941 db 0 seg000:2942 db 0C3h ; + seg000:2943 db 0C3h ; + seg000:2944 db 0C3h ; + seg000:2945 db 66h ; f seg000:2946 db 3Ch ; < seg000:2947 db 18h seg000:2948 db 18h seg000:2949 db 18h seg000:294A db 18h seg000:294B db 3Ch ; < seg000:294C db 0 seg000:294D db 0 seg000:294E db 0 seg000:294F db 0 seg000:2950 db 5Ah ; Z seg000:2951 db 0 seg000:2952 db 0 seg000:2953 db 0FFh seg000:2954 db 0C3h ; + seg000:2955 db 86h ; æ seg000:2956 db 0Ch seg000:2957 db 18h seg000:2958 db 30h ; 0 seg000:2959 db 60h ; ` seg000:295A db 0C1h ; + seg000:295B db 0C3h ; + seg000:295C db 0FFh seg000:295D db 0 seg000:295E db 0 seg000:295F db 0 seg000:2960 db 0 seg000:2961 db 6Dh ; m seg000:2962 db 0 seg000:2963 db 0 seg000:2964 db 0 seg000:2965 db 0 seg000:2966 db 0 seg000:2967 db 0E6h ; Š seg000:2968 db 0FFh seg000:2969 db 0DBh ; - seg000:296A db 0DBh ; - seg000:296B db 0DBh ; - seg000:296C db 0DBh ; - seg000:296D db 0DBh ; - seg000:296E db 0 seg000:296F db 0 seg000:2970 db 0 seg000:2971 db 0 seg000:2972 db 76h ; v seg000:2973 db 0 seg000:2974 db 0 seg000:2975 db 0 seg000:2976 db 0 seg000:2977 db 0 seg000:2978 db 0C3h ; + seg000:2979 db 0C3h ; + seg000:297A db 0C3h ; + seg000:297B db 0C3h ; + seg000:297C db 66h ; f seg000:297D db 3Ch ; < seg000:297E db 18h seg000:297F db 0 seg000:2980 db 0 seg000:2981 db 0 seg000:2982 db 0 seg000:2983 db 77h ; w seg000:2984 db 0 seg000:2985 db 0 seg000:2986 db 0 seg000:2987 db 0 seg000:2988 db 0 seg000:2989 db 0C3h ; + seg000:298A db 0C3h ; + seg000:298B db 0C3h ; + seg000:298C db 0DBh ; - seg000:298D db 0DBh ; - seg000:298E db 0FFh seg000:298F db 66h ; f seg000:2990 db 0 seg000:2991 db 0 seg000:2992 db 0 seg000:2993 db 0 seg000:2994 db 78h ; x seg000:2995 db 0 seg000:2996 db 0 seg000:2997 db 0 seg000:2998 db 0 seg000:2999 db 0 seg000:299A db 0C3h ; + seg000:299B db 66h ; f seg000:299C db 3Ch ; < seg000:299D db 18h seg000:299E db 3Ch ; < seg000:299F db 66h ; f seg000:29A0 db 0C3h ; + seg000:29A1 db 0 seg000:29A2 db 0 seg000:29A3 db 0 seg000:29A4 db 0 seg000:29A5 db 91h ; Å seg000:29A6 db 0 seg000:29A7 db 0 seg000:29A8 db 0 seg000:29A9 db 0 seg000:29AA db 0 seg000:29AB db 6Eh ; n seg000:29AC db 3Bh ; ; seg000:29AD db 1Bh seg000:29AE db 7Eh ; ~ seg000:29AF db 0D8h ; ì seg000:29B0 db 0DCh ; - seg000:29B1 db 77h ; w seg000:29B2 db 0 seg000:29B3 db 0 seg000:29B4 db 0 seg000:29B5 db 0 seg000:29B6 db 9Bh ; seg000:29B7 db 0 seg000:29B8 db 18h seg000:29B9 db 18h seg000:29BA db 7Eh ; ~ seg000:29BB db 0C3h ; + seg000:29BC db 0C0h ; L seg000:29BD db 0C0h ; L seg000:29BE db 0C0h ; L seg000:29BF db 0C3h ; + seg000:29C0 db 7Eh ; ~ seg000:29C1 db 18h seg000:29C2 db 18h seg000:29C3 db 0 seg000:29C4 db 0 seg000:29C5 db 0 seg000:29C6 db 0 seg000:29C7 db 9Dh ; £ seg000:29C8 db 0 seg000:29C9 db 0 seg000:29CA db 0C3h ; + seg000:29CB db 66h ; f seg000:29CC db 3Ch ; < seg000:29CD db 18h seg000:29CE db 0FFh seg000:29CF db 18h seg000:29D0 db 0FFh seg000:29D1 db 18h seg000:29D2 db 18h seg000:29D3 db 18h seg000:29D4 db 0 seg000:29D5 db 0 seg000:29D6 db 0 seg000:29D7 db 0 seg000:29D8 db 9Eh ; × seg000:29D9 db 0 seg000:29DA db 0FCh ; Ø seg000:29DB db 66h ; f seg000:29DC db 66h ; f seg000:29DD db 7Ch ; | seg000:29DE db 62h ; b seg000:29DF db 66h ; f seg000:29E0 db 6Fh ; o seg000:29E1 db 66h ; f seg000:29E2 db 66h ; f seg000:29E3 db 66h ; f seg000:29E4 db 0F3h ; ¡ seg000:29E5 db 0 seg000:29E6 db 0 seg000:29E7 db 0 seg000:29E8 db 0 seg000:29E9 db 0ABh ; Ÿ seg000:29EA db 0 seg000:29EB db 0C0h ; L seg000:29EC db 0C0h ; L seg000:29ED db 0C2h ; T seg000:29EE db 0C6h ; à seg000:29EF db 0CCh ; ¦ seg000:29F0 db 18h seg000:29F1 db 30h ; 0 seg000:29F2 db 60h ; ` seg000:29F3 db 0CEh ; + seg000:29F4 db 9Bh ; seg000:29F5 db 6 seg000:29F6 db 0Ch seg000:29F7 db 1Fh seg000:29F8 db 0 seg000:29F9 db 0 seg000:29FA db 0ACh ; È seg000:29FB db 0 seg000:29FC db 0C0h ; L seg000:29FD db 0C0h ; L seg000:29FE db 0C2h ; T seg000:29FF db 0C6h ; à seg000:2A00 db 0CCh ; ¦ seg000:2A01 db 18h seg000:2A02 db 30h ; 0 seg000:2A03 db 66h ; f seg000:2A04 db 0CEh ; + seg000:2A05 db 96h ; ¾ seg000:2A06 db 3Eh ; > seg000:2A07 db 6 seg000:2A08 db 6 seg000:2A09 db 0 seg000:2A0A db 0 seg000:2A0B db 0 seg000:2A0C db 50h ; P seg000:2A0D db 18h seg000:2A0E db 10h seg000:2A0F db 0 seg000:2A10 db 10h seg000:2A11 db 0 seg000:2A12 db 3 seg000:2A13 db 0 seg000:2A14 db 2 seg000:2A15 db 67h ; g seg000:2A16 db 5Fh ; _ seg000:2A17 db 4Fh ; O seg000:2A18 db 50h ; P seg000:2A19 db 82h ; é seg000:2A1A db 54h ; T seg000:2A1B db 80h ; Ç seg000:2A1C db 0BFh ; ¬ seg000:2A1D db 1Fh seg000:2A1E db 0 seg000:2A1F db 4Fh ; O seg000:2A20 db 0Dh seg000:2A21 db 0Eh seg000:2A22 db 0 seg000:2A23 db 0 seg000:2A24 db 0 seg000:2A25 db 0 seg000:2A26 db 9Ch ; seg000:2A27 db 8Eh ; Ä seg000:2A28 db 8Fh ; Æ seg000:2A29 db 28h ; ( seg000:2A2A db 1Fh seg000:2A2B db 96h ; ¾ seg000:2A2C db 0B9h ; ¦ seg000:2A2D db 0A3h ; ú seg000:2A2E db 0FFh seg000:2A2F db 0 seg000:2A30 db 1 seg000:2A31 db 2 seg000:2A32 db 3 seg000:2A33 db 4 seg000:2A34 db 5 seg000:2A35 db 14h seg000:2A36 db 7 seg000:2A37 db 38h ; 8 seg000:2A38 db 39h ; 9 seg000:2A39 db 3Ah ; : seg000:2A3A db 3Bh ; ; seg000:2A3B db 3Ch ; < seg000:2A3C db 3Dh ; = seg000:2A3D db 3Eh ; > seg000:2A3E db 3Fh ; ? seg000:2A3F db 0Ch seg000:2A40 db 0 seg000:2A41 db 0Fh seg000:2A42 db 8 seg000:2A43 db 0 seg000:2A44 db 0 seg000:2A45 db 0 seg000:2A46 db 0 seg000:2A47 db 0 seg000:2A48 db 10h seg000:2A49 db 0Eh seg000:2A4A db 0 seg000:2A4B db 0FFh seg000:2A4C db 0Ch seg000:2A4D db 24h ; $ seg000:2A4E word_C2A4E dw 0C000h ; DATA XREF: sub_C1166+Cw seg000:2A50 db 0 seg000:2A51 db 0 seg000:2A52 db 0 seg000:2A53 db 0 seg000:2A54 db 0 seg000:2A55 db 0 seg000:2A56 db 0 seg000:2A57 db 0 seg000:2A58 db 0 seg000:2A59 db 0 seg000:2A5A db 0 seg000:2A5B db 0 seg000:2A5C db 68h ; h seg000:2A5D db 2Ah ; * seg000:2A5E word_C2A5E dw 0C000h ; DATA XREF: sub_C1166+Fw seg000:2A60 db 0 seg000:2A61 db 0 seg000:2A62 db 0 seg000:2A63 db 0 seg000:2A64 db 0 seg000:2A65 db 0 seg000:2A66 db 0 seg000:2A67 db 0 seg000:2A68 db 1Ah seg000:2A69 db 0 seg000:2A6A db 82h ; é seg000:2A6B db 2Ah ; * seg000:2A6C word_C2A6C dw 0C000h ; DATA XREF: sub_C1166+12w seg000:2A6E db 0 seg000:2A6F db 0 seg000:2A70 db 0 seg000:2A71 db 0 seg000:2A72 db 0 seg000:2A73 db 0 seg000:2A74 db 0 seg000:2A75 db 0 seg000:2A76 db 0 seg000:2A77 db 0 seg000:2A78 db 0 seg000:2A79 db 0 seg000:2A7A db 0 seg000:2A7B db 0 seg000:2A7C db 0 seg000:2A7D db 0 seg000:2A7E db 0Dh seg000:2A7F db 2Bh ; + seg000:2A80 word_C2A80 dw 0C000h ; DATA XREF: sub_C1166+15w seg000:2A82 db 10h seg000:2A83 db 1 seg000:2A84 db 8 seg000:2A85 db 0 seg000:2A86 db 0 seg000:2A87 db 0 seg000:2A88 db 0 seg000:2A89 db 1 seg000:2A8A db 0 seg000:2A8B db 2 seg000:2A8C db 2 seg000:2A8D db 1 seg000:2A8E db 0 seg000:2A8F db 4 seg000:2A90 db 4 seg000:2A91 db 1 seg000:2A92 db 0 seg000:2A93 db 5 seg000:2A94 db 2 seg000:2A95 db 5 seg000:2A96 db 0 seg000:2A97 db 6 seg000:2A98 db 1 seg000:2A99 db 6 seg000:2A9A db 5 seg000:2A9B db 6 seg000:2A9C db 0 seg000:2A9D db 8 seg000:2A9E db 1 seg000:2A9F db 8 seg000:2AA0 db 0 seg000:2AA1 db 7 seg000:2AA2 db 2 seg000:2AA3 db 7 seg000:2AA4 db 2 seg000:2AA5 db 6 seg000:2AA6 db 0FFh seg000:2AA7 db 0E0h ; Ó seg000:2AA8 db 0Fh seg000:2AA9 db 0 seg000:2AAA db 0 seg000:2AAB db 0 seg000:2AAC db 0 seg000:2AAD db 7 seg000:2AAE db 8 seg000:2AAF db 2 seg000:2AB0 db 0FFh seg000:2AB1 db 0Eh seg000:2AB2 db 0 seg000:2AB3 db 0 seg000:2AB4 db 3Fh ; ? seg000:2AB5 db 0 seg000:2AB6 db 0 seg000:2AB7 db 0 seg000:2AB8 db 0 seg000:2AB9 db 0 seg000:2ABA db 0 seg000:2ABB db 0 seg000:2ABC db 0 seg000:2ABD db 0 seg000:2ABE db 0 seg000:2ABF db 0 seg000:2AC0 db 0 seg000:2AC1 db 0 seg000:2AC2 db 0 seg000:2AC3 db 0 seg000:2AC4 db 0 seg000:2AC5 db 0 seg000:2AC6 db 0 seg000:2AC7 db 0 seg000:2AC8 db 0 seg000:2AC9 db 0 seg000:2ACA db 0 seg000:2ACB db 0 seg000:2ACC db 50h ; P seg000:2ACD db 1Dh seg000:2ACE db 10h seg000:2ACF db 0 seg000:2AD0 db 0A0h ; á seg000:2AD1 db 1 seg000:2AD2 db 0Fh seg000:2AD3 db 0 seg000:2AD4 db 6 seg000:2AD5 db 0E3h ; Ñ seg000:2AD6 db 5Fh ; _ seg000:2AD7 db 4Fh ; O seg000:2AD8 db 50h ; P seg000:2AD9 db 82h ; é seg000:2ADA db 53h ; S seg000:2ADB db 9Fh ; è seg000:2ADC db 0Bh seg000:2ADD db 3Eh ; > seg000:2ADE db 0 seg000:2ADF db 40h ; @ seg000:2AE0 db 0 seg000:2AE1 db 0 seg000:2AE2 db 0 seg000:2AE3 db 0 seg000:2AE4 db 0 seg000:2AE5 db 0 seg000:2AE6 db 0E9h ; Ú seg000:2AE7 db 8Bh ; õ seg000:2AE8 db 0DFh ; - seg000:2AE9 db 28h ; ( seg000:2AEA db 0 seg000:2AEB db 0E7h ; š seg000:2AEC db 4 seg000:2AED db 0E3h ; Ñ seg000:2AEE db 0FFh seg000:2AEF db 0 seg000:2AF0 db 1 seg000:2AF1 db 2 seg000:2AF2 db 3 seg000:2AF3 db 4 seg000:2AF4 db 5 seg000:2AF5 db 14h seg000:2AF6 db 7 seg000:2AF7 db 38h ; 8 seg000:2AF8 db 39h ; 9 seg000:2AF9 db 3Ah ; : seg000:2AFA db 3Bh ; ; seg000:2AFB db 3Ch ; < seg000:2AFC db 3Dh ; = seg000:2AFD db 3Eh ; > seg000:2AFE db 3Fh ; ? seg000:2AFF db 1 seg000:2B00 db 0 seg000:2B01 db 0Fh seg000:2B02 db 0 seg000:2B03 db 0 seg000:2B04 db 0 seg000:2B05 db 0 seg000:2B06 db 0 seg000:2B07 db 0 seg000:2B08 db 0 seg000:2B09 db 5 seg000:2B0A db 0Fh seg000:2B0B db 0FFh seg000:2B0C byte_C2B0C db 7 ; DATA XREF: sub_C2CAC+4r seg000:2B0C ; sub_C2CC9+4r seg000:2B0D db 0 seg000:2B0E db 0 seg000:2B0F word_C2B0F dw 0C000h ; DATA XREF: sub_C1166+18w seg000:2B11 db 0F7h ; ¸ seg000:2B12 db 9Bh ; seg000:2B13 word_C2B13 dw 0C000h ; DATA XREF: sub_C1166+1Bw seg000:2B15 db 0 seg000:2B16 db 0 seg000:2B17 db 0 seg000:2B18 db 0 seg000:2B19 db 0 seg000:2B1A db 0 seg000:2B1B word_C2B1B dw 0C000h ; DATA XREF: sub_C1166+1Ew seg000:2B1D db 0 seg000:2B1E db 0 seg000:2B1F word_C2B1F dw 0C000h ; DATA XREF: sub_C1166+21w seg000:2B21 seg000:2B21 ; =============== S U B R O U T I N E ======================================= seg000:2B21 seg000:2B21 seg000:2B21 sub_C2B21 proc near ; CODE XREF: sub_C2B29+8p seg000:2B21 ; sub_C2B29+16p ... seg000:2B21 call sub_C33F4 seg000:2B24 retn seg000:2B24 sub_C2B21 endp seg000:2B24 seg000:2B25 seg000:2B25 ; =============== S U B R O U T I N E ======================================= seg000:2B25 seg000:2B25 seg000:2B25 sub_C2B25 proc near ; CODE XREF: sub_C2B4B+1Dp seg000:2B25 ; sub_C2B71+12p ... seg000:2B25 call sub_C3406 seg000:2B28 retn seg000:2B28 sub_C2B25 endp seg000:2B28 seg000:2B29 seg000:2B29 ; =============== S U B R O U T I N E ======================================= seg000:2B29 seg000:2B29 seg000:2B29 sub_C2B29 proc near ; CODE XREF: sub_C2B4B+4p seg000:2B29 ; sub_C2B71+5p ... seg000:2B29 push eax seg000:2B2B mov esi, 368h seg000:2B31 call sub_C2B21 seg000:2B34 test eax, 0FFE0000Fh seg000:2B3A jnz short loc_C2B48 seg000:2B3C mov esi, eax seg000:2B3F call sub_C2B21 seg000:2B42 cmp eax, 5341444Bh seg000:2B48 seg000:2B48 loc_C2B48: ; CODE XREF: sub_C2B29+11j seg000:2B48 pop eax seg000:2B4A retn seg000:2B4A sub_C2B29 endp seg000:2B4A seg000:2B4B seg000:2B4B ; =============== S U B R O U T I N E ======================================= seg000:2B4B seg000:2B4B seg000:2B4B sub_C2B4B proc near ; CODE XREF: sub_C3D04+6p seg000:2B4B ; sub_CA6BE+7p ... seg000:2B4B push esi seg000:2B4D push eax seg000:2B4F call sub_C2B29 seg000:2B52 stc seg000:2B53 jnz short loc_C2B6C seg000:2B55 add si, 18h seg000:2B58 call sub_C2B21 seg000:2B5B test al, 1 seg000:2B5D stc seg000:2B5E jnz short loc_C2B6C seg000:2B60 sub si, 4 seg000:2B63 call sub_C2B21 seg000:2B66 or al, 1 seg000:2B68 call sub_C2B25 seg000:2B6B clc seg000:2B6C seg000:2B6C loc_C2B6C: ; CODE XREF: sub_C2B4B+8j seg000:2B6C ; sub_C2B4B+13j seg000:2B6C pop eax seg000:2B6E pop esi seg000:2B70 retn seg000:2B70 sub_C2B4B endp seg000:2B70 seg000:2B71 seg000:2B71 ; =============== S U B R O U T I N E ======================================= seg000:2B71 seg000:2B71 seg000:2B71 sub_C2B71 proc near ; CODE XREF: sub_C3D04:loc_C3D4Ep seg000:2B71 ; sub_CA6BE:loc_CA6D2p ... seg000:2B71 push esi seg000:2B73 push eax seg000:2B75 pushf seg000:2B76 call sub_C2B29 seg000:2B79 jnz short loc_C2B86 seg000:2B7B add si, 14h seg000:2B7E call sub_C2B21 seg000:2B81 and al, 0FEh seg000:2B83 call sub_C2B25 seg000:2B86 seg000:2B86 loc_C2B86: ; CODE XREF: sub_C2B71+8j seg000:2B86 popf seg000:2B87 pop eax seg000:2B89 pop esi seg000:2B8B retn seg000:2B8B sub_C2B71 endp seg000:2B8B seg000:2B8C seg000:2B8C ; =============== S U B R O U T I N E ======================================= seg000:2B8C seg000:2B8C seg000:2B8C sub_C2B8C proc near ; CODE XREF: sub_C3EDA+8p seg000:2B8C ; sub_C3F13+8p ... seg000:2B8C push eax seg000:2B8E push ebx seg000:2B90 push cx seg000:2B91 mov ebx, eax seg000:2B94 call sub_C2B29 seg000:2B97 jnz short loc_C2BBD seg000:2B99 add si, 1Ch seg000:2B9C call sub_C2B21 seg000:2B9F add si, 24h ; '$' seg000:2BA2 mov cx, ax seg000:2BA4 jcxz short loc_C2BBD seg000:2BA6 seg000:2BA6 loc_C2BA6: ; CODE XREF: sub_C2B8C+2Fj seg000:2BA6 call sub_C2B21 seg000:2BA9 cmp eax, ebx seg000:2BAC jz short loc_C2BC0 seg000:2BAE push esi seg000:2BB0 add si, 4 seg000:2BB3 call sub_C2B21 seg000:2BB6 pop esi seg000:2BB8 add esi, eax seg000:2BBB loop loc_C2BA6 seg000:2BBD seg000:2BBD loc_C2BBD: ; CODE XREF: sub_C2B8C+Bj seg000:2BBD ; sub_C2B8C+18j seg000:2BBD xor esi, esi seg000:2BC0 seg000:2BC0 loc_C2BC0: ; CODE XREF: sub_C2B8C+20j seg000:2BC0 or esi, esi seg000:2BC3 pop cx seg000:2BC4 pop ebx seg000:2BC6 pop eax seg000:2BC8 retn seg000:2BC8 sub_C2B8C endp seg000:2BC8 seg000:2BC8 ; --------------------------------------------------------------------------- seg000:2BC9 byte_C2BC9 db 0 ; DATA XREF: seg000:2BF1r seg000:2BC9 ; sub_C2C0Er ... seg000:2BCA word_C2BCA dw 2000h ; DATA XREF: sub_C35F4r seg000:2BCC db 42h ; B seg000:2BCD db 75h ; u seg000:2BCE db 69h ; i seg000:2BCF db 6Ch ; l seg000:2BD0 db 64h ; d seg000:2BD1 db 20h seg000:2BD2 db 44h ; D seg000:2BD3 db 61h ; a seg000:2BD4 db 74h ; t seg000:2BD5 db 65h ; e seg000:2BD6 db 3Ah ; : seg000:2BD7 db 20h seg000:2BD8 db 20h seg000:2BD9 db 20h seg000:2BDA db 20h seg000:2BDB db 0 seg000:2BDC db 0Dh seg000:2BDD db 0Ah seg000:2BDE db 52h ; R seg000:2BDF aEvisionDate db 'evision Date: ',0 seg000:2BEE ; --------------------------------------------------------------------------- seg000:2BEE or ax, 0Ah seg000:2BF1 test cs:byte_C2BC9, 2 seg000:2BF7 jz short loc_C2C0D seg000:2BF9 test cs:byte_C0001+47h, 80h seg000:2BFF jz short loc_C2C09 seg000:2C01 xor al, al seg000:2C03 mov cs:byte_C0001+1, al seg000:2C07 jmp short loc_C2C0D seg000:2C09 ; --------------------------------------------------------------------------- seg000:2C09 seg000:2C09 loc_C2C09: ; CODE XREF: seg000:2BFFj seg000:2C09 push cs seg000:2C0A push offset loc_C63AE seg000:2C0D seg000:2C0D loc_C2C0D: ; CODE XREF: seg000:2BF7j seg000:2C0D ; seg000:2C07j seg000:2C0D retf seg000:2C0E seg000:2C0E ; =============== S U B R O U T I N E ======================================= seg000:2C0E seg000:2C0E seg000:2C0E sub_C2C0E proc near ; CODE XREF: sub_C949F+7p seg000:2C0E test cs:byte_C2BC9, 1 seg000:2C14 retn seg000:2C14 sub_C2C0E endp seg000:2C14 seg000:2C15 seg000:2C15 ; =============== S U B R O U T I N E ======================================= seg000:2C15 seg000:2C15 seg000:2C15 sub_C2C15 proc near ; CODE XREF: seg000:2D38p seg000:2C15 push es seg000:2C16 lea bx, ds:0CD50h seg000:2C1A add bx, 1800h seg000:2C1E movzx cx, cs:byte_C0001+1 seg000:2C24 shl cx, 9 seg000:2C27 mov di, bx seg000:2C29 add di, 3 seg000:2C2C and di, 0FFFCh seg000:2C2F sub cx, bx seg000:2C31 js short loc_C2C40 seg000:2C33 shr cx, 2 seg000:2C36 push cs seg000:2C37 pop es seg000:2C38 assume es:nothing seg000:2C38 xor eax, eax seg000:2C3B dec eax seg000:2C3D rep stosd seg000:2C40 seg000:2C40 loc_C2C40: ; CODE XREF: sub_C2C15+1Cj seg000:2C40 add bx, 1FFh seg000:2C44 shr bx, 9 seg000:2C47 mov cs:byte_C0001+1, bl seg000:2C4C and cs:byte_C2BC9, 0FDh seg000:2C52 mov word ptr cs:byte_C0139+67h, bx seg000:2C57 pop es seg000:2C58 assume es:nothing seg000:2C58 retn seg000:2C58 sub_C2C15 endp seg000:2C58 seg000:2C59 ; --------------------------------------------------------------------------- seg000:2C59 pusha seg000:2C5A push ds seg000:2C5B push es seg000:2C5C mov ax, cs seg000:2C5E mov ds, ax seg000:2C60 assume ds:nothing seg000:2C60 mov ax, word ptr cs:byte_C0001+81h seg000:2C64 lea bx, byte_CCD50 seg000:2C68 mov cx, bx seg000:2C6A add cx, 800h seg000:2C6E mov dx, cx seg000:2C70 add dx, 0 seg000:2C73 mov word ptr ds:dword_C28BC+2, ax seg000:2C76 mov word ptr ds:dword_C28BC, bx seg000:2C7A mov ds:word_C28C2, ax seg000:2C7D mov word ptr ds:unk_C28C0, cx seg000:2C81 mov word ptr ds:dword_C28C4+2, ax seg000:2C84 mov word ptr ds:dword_C28C4, dx seg000:2C88 mov word ptr ds:dword_C2F09, bx seg000:2C8C mov word ptr ds:dword_C2F09+2, ax seg000:2C8F mov ds:word_C2F0F, ax seg000:2C92 mov word ptr ds:dword_C2F11, cx seg000:2C96 mov word ptr ds:dword_C2F11+2, ax seg000:2C99 mov word ptr ds:dword_C2F15, dx seg000:2C9D mov word ptr ds:dword_C2F15+2, ax seg000:2CA0 add bx, 400h seg000:2CA4 mov ds:word_C2F0D, bx seg000:2CA8 pop es seg000:2CA9 pop ds seg000:2CAA assume ds:nothing seg000:2CAA popa seg000:2CAB retn seg000:2CAC seg000:2CAC ; =============== S U B R O U T I N E ======================================= seg000:2CAC seg000:2CAC seg000:2CAC sub_C2CAC proc near ; CODE XREF: sub_C2CAC+1Aj seg000:2CAC ; sub_C2CDC+Cp ... seg000:2CAC mov ah, 0Eh seg000:2CAE xor bh, bh seg000:2CB0 mov bl, cs:byte_C2B0C seg000:2CB5 mov al, es:[di] seg000:2CB8 or dl, dl seg000:2CBA jz short loc_C2CBE seg000:2CBC not al seg000:2CBE seg000:2CBE loc_C2CBE: ; CODE XREF: sub_C2CAC+Ej seg000:2CBE or al, al seg000:2CC0 jz short locret_C2CC8 seg000:2CC2 call sub_C1B51 seg000:2CC5 inc di seg000:2CC6 jmp short sub_C2CAC seg000:2CC8 ; --------------------------------------------------------------------------- seg000:2CC8 seg000:2CC8 locret_C2CC8: ; CODE XREF: sub_C2CAC+14j seg000:2CC8 retn seg000:2CC8 sub_C2CAC endp seg000:2CC8 seg000:2CC9 seg000:2CC9 ; =============== S U B R O U T I N E ======================================= seg000:2CC9 seg000:2CC9 seg000:2CC9 sub_C2CC9 proc near ; CODE XREF: sub_C2CC9+10j seg000:2CC9 ; sub_C2CDC+35p ... seg000:2CC9 mov ah, 0Eh seg000:2CCB xor bh, bh seg000:2CCD mov bl, cs:byte_C2B0C seg000:2CD2 mov al, es:[di] seg000:2CD5 call sub_C1B51 seg000:2CD8 inc di seg000:2CD9 loop sub_C2CC9 seg000:2CDB retn seg000:2CDB sub_C2CC9 endp seg000:2CDB seg000:2CDC seg000:2CDC ; =============== S U B R O U T I N E ======================================= seg000:2CDC seg000:2CDC seg000:2CDC sub_C2CDC proc near ; CODE XREF: seg000:loc_C2D8Ap seg000:2CDC pusha seg000:2CDD push es seg000:2CDE xor dl, dl seg000:2CE0 push cs seg000:2CE1 pop es seg000:2CE2 assume es:nothing seg000:2CE2 mov di, 86h ; 'æ' seg000:2CE5 call nullsub_2 seg000:2CE8 call sub_C2CAC seg000:2CEB push cs seg000:2CEC pop es seg000:2CED mov di, 0D7h ; 'Î' seg000:2CF0 call sub_C2CAC seg000:2CF3 test cs:byte_C0001+47h, 1 seg000:2CF9 jz short loc_C2D29 seg000:2CFB dec dl seg000:2CFD mov di, 159h seg000:2D00 call sub_C2CAC seg000:2D03 inc dl seg000:2D05 mov di, 2BCCh seg000:2D08 call sub_C2CAC seg000:2D0B mov di, 38h ; '8' seg000:2D0E mov cx, 8 seg000:2D11 call sub_C2CC9 seg000:2D14 mov di, 2BDCh seg000:2D17 call sub_C2CAC seg000:2D1A mov di, 34Fh seg000:2D1D mov cx, 8 seg000:2D20 call sub_C2CC9 seg000:2D23 mov di, 2BEEh seg000:2D26 call sub_C2CAC seg000:2D29 seg000:2D29 loc_C2D29: ; CODE XREF: sub_C2CDC+1Dj seg000:2D29 mov di, 0F1h ; '½' seg000:2D2C call sub_C2CAC seg000:2D2F call nullsub_2 seg000:2D32 pop es seg000:2D33 assume es:nothing seg000:2D33 popa seg000:2D34 retn seg000:2D34 sub_C2CDC endp seg000:2D34 seg000:2D35 ; --------------------------------------------------------------------------- seg000:2D35 push bp seg000:2D36 push ds seg000:2D37 push ax seg000:2D38 call sub_C2C15 seg000:2D3B mov ds, word ptr cs:byte_C0001+79h seg000:2D40 call sub_C28B1 seg000:2D43 call sub_C8F43 seg000:2D46 call nullsub_2 seg000:2D49 mov ax, 22Eh seg000:2D4C call sub_C127D seg000:2D4F pop ax seg000:2D50 call nullsub_2 seg000:2D53 call nullsub_2 seg000:2D56 call sub_C4A32 seg000:2D59 test cs:byte_C0001+47h, 1 seg000:2D5F jnz short loc_C2D71 seg000:2D61 test cs:byte_C0001+33h, 10h seg000:2D67 jnz short loc_C2D71 seg000:2D69 test cs:byte_C0001+48h, 20h seg000:2D6F jnz short loc_C2D74 seg000:2D71 seg000:2D71 loc_C2D71: ; CODE XREF: seg000:2D5Fj seg000:2D71 ; seg000:2D67j seg000:2D71 call sub_C1B51 seg000:2D74 seg000:2D74 loc_C2D74: ; CODE XREF: seg000:2D6Fj seg000:2D74 mov ax, 108h seg000:2D77 call sub_C127D seg000:2D7A test cs:byte_C0001+47h, 1 seg000:2D80 jnz short loc_C2D8A seg000:2D82 test cs:byte_C0001+33h, 10h seg000:2D88 jz short loc_C2D8D seg000:2D8A seg000:2D8A loc_C2D8A: ; CODE XREF: seg000:2D80j seg000:2D8A call sub_C2CDC seg000:2D8D seg000:2D8D loc_C2D8D: ; CODE XREF: seg000:2D88j seg000:2D8D mov al, cs:byte_C0001+47h seg000:2D91 test al, 2 seg000:2D93 jz short loc_C2D98 seg000:2D95 call nullsub_2 seg000:2D98 seg000:2D98 loc_C2D98: ; CODE XREF: seg000:2D93j seg000:2D98 call nullsub_2 seg000:2D9B call nullsub_2 seg000:2D9E call sub_C4A48 seg000:2DA1 call sub_CA07D seg000:2DA4 and cs:byte_C2BC9, 0FEh seg000:2DAA mov di, 267Fh seg000:2DAD call sub_C256D seg000:2DB0 call nullsub_2 seg000:2DB3 call nullsub_2 seg000:2DB6 call sub_C4A72 seg000:2DB9 call nullsub_2 seg000:2DBC call sub_C3441 seg000:2DBF jb short loc_C2DDF seg000:2DC1 test cs:byte_C0001+47h, 1 seg000:2DC7 jnz short loc_C2DD1 seg000:2DC9 test cs:byte_C0001+33h, 10h seg000:2DCF jz short loc_C2DDF seg000:2DD1 seg000:2DD1 loc_C2DD1: ; CODE XREF: seg000:2DC7j seg000:2DD1 mov cx, word ptr cs:byte_C0139+125h seg000:2DD6 or cx, cx seg000:2DD8 jz short loc_C2DDF seg000:2DDA seg000:2DDA loc_C2DDA: ; CODE XREF: seg000:2DDDj seg000:2DDA call sub_C3485 seg000:2DDD loop loc_C2DDA seg000:2DDF seg000:2DDF loc_C2DDF: ; CODE XREF: seg000:2DBFj seg000:2DDF ; seg000:2DCFj ... seg000:2DDF test cs:byte_C0001+47h, 40h seg000:2DE5 jz short loc_C2DEA seg000:2DE7 call nullsub_2 seg000:2DEA seg000:2DEA loc_C2DEA: ; CODE XREF: seg000:2DE5j seg000:2DEA test word ptr cs:byte_C0139+121h, 10h seg000:2DF1 jz short loc_C2DF8 seg000:2DF3 mov ax, 5FFFh seg000:2DF6 int 15h seg000:2DF8 seg000:2DF8 loc_C2DF8: ; CODE XREF: seg000:2DF1j seg000:2DF8 call nullsub_2 seg000:2DFB call sub_C4947 seg000:2DFE call nullsub_6 seg000:2E01 call sub_C3253 seg000:2E04 call sub_C2E0A seg000:2E07 pop ds seg000:2E08 pop bp seg000:2E09 retf seg000:2E0A seg000:2E0A ; =============== S U B R O U T I N E ======================================= seg000:2E0A seg000:2E0A seg000:2E0A sub_C2E0A proc near ; CODE XREF: seg000:2E04p seg000:2E0A call sub_C35CE seg000:2E0D retn seg000:2E0D sub_C2E0A endp seg000:2E0D seg000:2E0E seg000:2E0E ; =============== S U B R O U T I N E ======================================= seg000:2E0E seg000:2E0E seg000:2E0E sub_C2E0E proc near ; CODE XREF: sub_C92F5+Bp seg000:2E0E ; sub_C92F5:loc_C931Fp seg000:2E0E les di, cs:dword_C28BC seg000:2E13 mov bh, ds:485h seg000:2E17 cmp bh, 9 seg000:2E1A jbe short locret_C2E21 seg000:2E1C les di, cs:dword_C28C4 seg000:2E21 seg000:2E21 locret_C2E21: ; CODE XREF: sub_C2E0E+Cj seg000:2E21 retn seg000:2E21 sub_C2E0E endp seg000:2E21 seg000:2E22 seg000:2E22 ; =============== S U B R O U T I N E ======================================= seg000:2E22 seg000:2E22 seg000:2E22 sub_C2E22 proc near ; CODE XREF: sub_C2F41p seg000:2E22 ; sub_C9006+4p ... seg000:2E22 push dx seg000:2E23 mov dx, 3CEh seg000:2E26 mov ax, 5 seg000:2E29 out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:2E29 ; mode register.Data bits: seg000:2E29 ; 0-1: Write mode 0-2 seg000:2E29 ; 2: test condition seg000:2E29 ; 3: read mode: 1=color compare, 0=direct seg000:2E29 ; 4: 1=use odd/even RAM addressing seg000:2E29 ; 5: 1=use CGA mid-res map (2-bits/pixel) seg000:2E2A mov al, 6 seg000:2E2C call sub_C1B90 seg000:2E2F and ah, 1 seg000:2E32 or ah, 4 seg000:2E35 out dx, ax seg000:2E36 mov dl, 0C4h ; '¦' seg000:2E38 mov ax, 402h seg000:2E3B out dx, ax seg000:2E3C mov ax, 604h seg000:2E3F out dx, ax seg000:2E40 mov dl, 0CEh ; '+' seg000:2E42 mov al, 5 seg000:2E44 out dx, al seg000:2E45 inc dx seg000:2E46 in al, dx seg000:2E47 pop dx seg000:2E48 retn seg000:2E48 sub_C2E22 endp seg000:2E48 seg000:2E49 seg000:2E49 ; =============== S U B R O U T I N E ======================================= seg000:2E49 seg000:2E49 seg000:2E49 sub_C2E49 proc near ; CODE XREF: sub_C2F41+12p seg000:2E49 ; sub_C9006+Ap ... seg000:2E49 push bx seg000:2E4A push dx seg000:2E4B mov dx, 3CCh seg000:2E4E mov bx, 0A06h seg000:2E51 in al, dx ; EGA port: graphics 1 position (must be 1 for EGA) seg000:2E52 test al, 1 seg000:2E54 jz short loc_C2E58 seg000:2E56 mov bh, 0Eh seg000:2E58 seg000:2E58 loc_C2E58: ; CODE XREF: sub_C2E49+Bj seg000:2E58 mov dl, 0CEh ; '+' seg000:2E5A mov ax, bx seg000:2E5C out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:2E5C ; unknown register seg000:2E5D mov ax, 1005h seg000:2E60 out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:2E60 ; unknown register seg000:2E61 mov dl, 0C4h ; '¦' seg000:2E63 mov ax, 302h seg000:2E66 out dx, ax ; EGA: sequencer address reg seg000:2E66 ; unknown register seg000:2E67 mov ax, 204h seg000:2E6A out dx, ax ; EGA: sequencer address reg seg000:2E6A ; unknown register seg000:2E6B pop dx seg000:2E6C pop bx seg000:2E6D retn seg000:2E6D sub_C2E49 endp seg000:2E6D seg000:2E6E seg000:2E6E ; =============== S U B R O U T I N E ======================================= seg000:2E6E seg000:2E6E seg000:2E6E sub_C2E6E proc near ; CODE XREF: sub_C2F41+Fp seg000:2E6E ; sub_C9006+7p ... seg000:2E6E pushad seg000:2E70 push ds seg000:2E71 push es seg000:2E72 mov si, di seg000:2E74 push es seg000:2E75 pop ds seg000:2E76 call sub_C2F67 seg000:2E79 jcxz short loc_C2E9A seg000:2E7B mov dx, cx seg000:2E7D movzx bx, bh seg000:2E80 call sub_C8FB2 seg000:2E83 seg000:2E83 loc_C2E83: ; CODE XREF: sub_C2E6E+2Aj seg000:2E83 mov cx, bx seg000:2E85 or bp, bp seg000:2E87 jz short loc_C2E8F seg000:2E89 inc si seg000:2E8A rep movsb seg000:2E8C inc si seg000:2E8D jmp short loc_C2E91 seg000:2E8F ; --------------------------------------------------------------------------- seg000:2E8F seg000:2E8F loc_C2E8F: ; CODE XREF: sub_C2E6E+19j seg000:2E8F rep movsb seg000:2E91 seg000:2E91 loc_C2E91: ; CODE XREF: sub_C2E6E+1Fj seg000:2E91 add di, 1Fh seg000:2E94 and di, 0FFE0h seg000:2E97 dec dx seg000:2E98 jnz short loc_C2E83 seg000:2E9A seg000:2E9A loc_C2E9A: ; CODE XREF: sub_C2E6E+Bj seg000:2E9A pop es seg000:2E9B pop ds seg000:2E9C popad seg000:2E9E retn seg000:2E9E sub_C2E6E endp seg000:2E9E seg000:2E9E ; --------------------------------------------------------------------------- seg000:2E9F align 2 seg000:2EA0 db 6 seg000:2EA1 align 2 seg000:2EA2 db 1, 14h, 90h, 2, 32h, 90h, 3, 48h, 90h, 4, 41h, 2Fh seg000:2EA2 db 10h, 51h, 90h, 11h, 5Ah, 90h, 12h, 61h, 90h, 14h, 68h seg000:2EA2 db 90h, 20h, 4Dh, 63h, 21h, 5Dh, 63h, 22h, 7Ah, 63h, 23h seg000:2EA2 db 88h, 63h, 24h, 96h, 63h seg000:2EC9 seg000:2EC9 ; =============== S U B R O U T I N E ======================================= seg000:2EC9 seg000:2EC9 seg000:2EC9 sub_C2EC9 proc near ; CODE XREF: sub_C1B51+1Dp seg000:2EC9 ; DATA XREF: seg000:1B0Eo seg000:2EC9 cmp al, 30h ; '0' seg000:2ECB jz short loc_C2F21 seg000:2ECD pusha seg000:2ECE push es seg000:2ECF mov si, 2E9Fh seg000:2ED2 seg000:2ED2 loc_C2ED2: ; CODE XREF: sub_C2EC9+15j seg000:2ED2 cmp al, cs:[si] seg000:2ED5 jz short loc_C2EE2 seg000:2ED7 add si, 3 seg000:2EDA cmp si, 2EC9h seg000:2EDE jb short loc_C2ED2 seg000:2EE0 jmp short loc_C2EE6 seg000:2EE2 ; --------------------------------------------------------------------------- seg000:2EE2 seg000:2EE2 loc_C2EE2: ; CODE XREF: sub_C2EC9+Cj seg000:2EE2 call word ptr cs:[si+1] seg000:2EE6 seg000:2EE6 loc_C2EE6: ; CODE XREF: sub_C2EC9+17j seg000:2EE6 pop es seg000:2EE7 popa seg000:2EE8 retn seg000:2EE8 ; --------------------------------------------------------------------------- seg000:2EE9 db 7Ch ; | seg000:2EEA byte_C2EEA db 3 dup(0), 0Ch, 1, 2 dup(0), 15h, 2Fh, 0, 0C0h, 9, 2Fh seg000:2EEA ; DATA XREF: seg000:4674w seg000:2EEA ; seg000:4678w ... seg000:2EEA db 0, 0C0h, 0Dh, 2Fh, 0, 0C0h, 1Dh, 2Fh, 0, 0C0h, 15h seg000:2EEA db 2Fh, 0, 0C0h, 1Dh, 2Fh, 0, 0C0h seg000:2F09 dword_C2F09 dd 0C000CD50h ; DATA XREF: sub_C11BB+17r seg000:2F09 ; sub_C11BB+36r ... seg000:2F0D word_C2F0D dw 0D150h ; DATA XREF: seg000:2CA4w seg000:2F0F word_C2F0F dw 0C000h ; DATA XREF: sub_C1166+39w seg000:2F0F ; seg000:2C8Fw seg000:2F11 dword_C2F11 dd 0C000D550h ; DATA XREF: seg000:2C92w seg000:2F11 ; sub_C9014+7r ... seg000:2F15 dword_C2F15 dd 0C000D550h ; DATA XREF: seg000:2C99w seg000:2F15 ; sub_C2F41+Ar ... seg000:2F19 ; --------------------------------------------------------------------------- seg000:2F19 seg000:2F19 loc_C2F19: ; DATA XREF: sub_C9014+12r seg000:2F19 ; sub_C1166+42w seg000:2F19 enter 28h, 0C0h seg000:2F1D seg000:2F1D loc_C2F1D: ; DATA XREF: sub_C1166+45w seg000:2F1D enter 28h, 0C0h seg000:2F21 seg000:2F21 loc_C2F21: ; CODE XREF: sub_C2EC9+2j seg000:2F21 push bx seg000:2F22 mov cx, ds:485h seg000:2F26 mov dl, ds:484h seg000:2F2A cmp bh, 7 seg000:2F2D ja short loc_C2F3F seg000:2F2F mov bl, bh seg000:2F31 sub bh, bh seg000:2F33 shl bx, 2 seg000:2F36 les bp, cs:[bx+2EE9h] seg000:2F3B les bp, es:[bp+0] seg000:2F3F seg000:2F3F loc_C2F3F: ; CODE XREF: sub_C2EC9+64j seg000:2F3F pop bx seg000:2F40 retn seg000:2F40 sub_C2EC9 endp ; sp-analysis failed seg000:2F40 seg000:2F41 seg000:2F41 ; =============== S U B R O U T I N E ======================================= seg000:2F41 seg000:2F41 seg000:2F41 sub_C2F41 proc near ; CODE XREF: seg000:9068p seg000:2F41 call sub_C2E22 seg000:2F44 mov bh, 10h seg000:2F46 mov cx, 100h seg000:2F49 sub dx, dx seg000:2F4B les di, cs:dword_C2F15 seg000:2F50 call sub_C2E6E seg000:2F53 call sub_C2E49 seg000:2F56 retn seg000:2F56 sub_C2F41 endp seg000:2F56 seg000:2F56 ; --------------------------------------------------------------------------- seg000:2F57 db 3 dup(0), 40h, 0, 80h, 0, 0C0h, 0, 20h, 0, 60h, 0, 0A0h seg000:2F57 db 0, 0E0h seg000:2F67 seg000:2F67 ; =============== S U B R O U T I N E ======================================= seg000:2F67 seg000:2F67 seg000:2F67 sub_C2F67 proc near ; CODE XREF: sub_C2E6E+8p seg000:2F67 push bx seg000:2F68 push dx seg000:2F69 sub bh, bh seg000:2F6B shl bx, 1 seg000:2F6D mov es, word ptr cs:byte_C0001+7Bh seg000:2F72 assume es:nothing seg000:2F72 mov di, cs:[bx+2F57h] seg000:2F77 shl dx, 5 seg000:2F7A add di, dx seg000:2F7C pop dx seg000:2F7D pop bx seg000:2F7E retn seg000:2F7E sub_C2F67 endp seg000:2F7E seg000:2F7F seg000:2F7F ; =============== S U B R O U T I N E ======================================= seg000:2F7F seg000:2F7F seg000:2F7F sub_C2F7F proc near ; CODE XREF: sub_C2F95+3p seg000:2F7F ; sub_C3497+B9p ... seg000:2F7F call sub_C0529 seg000:2F82 db 26h seg000:2F82 sbb al, 14h seg000:2F85 db 26h seg000:2F85 sbb ax, 7115h seg000:2F89 retn seg000:2F89 sub_C2F7F endp seg000:2F89 seg000:2F8A seg000:2F8A ; =============== S U B R O U T I N E ======================================= seg000:2F8A seg000:2F8A seg000:2F8A sub_C2F8A proc near ; CODE XREF: sub_C2F9D+3p seg000:2F8A ; sub_C3497+BCp ... seg000:2F8A call sub_C0529 seg000:2F8D db 26h seg000:2F8D push ds seg000:2F8F adc al, 26h ; '&' seg000:2F91 pop ds seg000:2F92 adc ax, 0C371h seg000:2F92 sub_C2F8A endp ; sp-analysis failed seg000:2F92 seg000:2F95 seg000:2F95 ; =============== S U B R O U T I N E ======================================= seg000:2F95 seg000:2F95 seg000:2F95 sub_C2F95 proc near ; CODE XREF: sub_C2FA5+5p seg000:2F95 ; sub_C2FB9+9p ... seg000:2F95 push dx seg000:2F96 shl dx, 1 seg000:2F98 call sub_C2F7F seg000:2F9B pop dx seg000:2F9C retn seg000:2F9C sub_C2F95 endp seg000:2F9C seg000:2F9D seg000:2F9D ; =============== S U B R O U T I N E ======================================= seg000:2F9D seg000:2F9D seg000:2F9D sub_C2F9D proc near ; CODE XREF: sub_C2FAF+5p seg000:2F9D ; sub_C2FC7+9p ... seg000:2F9D push dx seg000:2F9E shl dx, 1 seg000:2FA0 call sub_C2F8A seg000:2FA3 seg000:2FA3 loc_C2FA3: ; CODE XREF: sub_C2FD5+9j seg000:2FA3 pop dx seg000:2FA4 retn seg000:2FA4 sub_C2F9D endp seg000:2FA4 seg000:2FA5 seg000:2FA5 ; =============== S U B R O U T I N E ======================================= seg000:2FA5 seg000:2FA5 seg000:2FA5 sub_C2FA5 proc near ; CODE XREF: sub_C2FFEp seg000:2FA5 ; sub_C6F3B+41p ... seg000:2FA5 push dx seg000:2FA6 call sub_C2FEB seg000:2FA9 inc dx seg000:2FAA call sub_C2F95 seg000:2FAD pop dx seg000:2FAE seg000:2FAE locret_C2FAE: ; CODE XREF: sub_C2FE0+9j seg000:2FAE retn seg000:2FAE sub_C2FA5 endp seg000:2FAE seg000:2FAF seg000:2FAF ; =============== S U B R O U T I N E ======================================= seg000:2FAF seg000:2FAF seg000:2FAF sub_C2FAF proc near ; CODE XREF: sub_C2FFE+3p seg000:2FAF ; sub_C6F8D+70p ... seg000:2FAF push dx seg000:2FB0 call sub_C2FF1 seg000:2FB3 inc dx seg000:2FB4 call sub_C2F9D seg000:2FB7 pop dx seg000:2FB8 retn seg000:2FB8 sub_C2FAF endp seg000:2FB8 seg000:2FB9 seg000:2FB9 ; =============== S U B R O U T I N E ======================================= seg000:2FB9 seg000:2FB9 seg000:2FB9 sub_C2FB9 proc near ; CODE XREF: sub_C7177+71p seg000:2FB9 ; sub_C7177+94p ... seg000:2FB9 push dx seg000:2FBA call sub_C2FEB seg000:2FBD or dx, dx seg000:2FBF jz short loc_C2FC5 seg000:2FC1 dec dx seg000:2FC2 call sub_C2F95 seg000:2FC5 seg000:2FC5 loc_C2FC5: ; CODE XREF: sub_C2FB9+6j seg000:2FC5 pop dx seg000:2FC6 retn seg000:2FC6 sub_C2FB9 endp seg000:2FC6 seg000:2FC7 seg000:2FC7 ; =============== S U B R O U T I N E ======================================= seg000:2FC7 seg000:2FC7 seg000:2FC7 sub_C2FC7 proc near ; CODE XREF: sub_C7177+78p seg000:2FC7 ; sub_C721B+8Ap seg000:2FC7 push dx seg000:2FC8 call sub_C2FF1 seg000:2FCB or dx, dx seg000:2FCD jz short loc_C2FD3 seg000:2FCF dec dx seg000:2FD0 call sub_C2F9D seg000:2FD3 seg000:2FD3 loc_C2FD3: ; CODE XREF: sub_C2FC7+6j seg000:2FD3 pop dx seg000:2FD4 retn seg000:2FD4 sub_C2FC7 endp seg000:2FD4 seg000:2FD5 seg000:2FD5 ; =============== S U B R O U T I N E ======================================= seg000:2FD5 seg000:2FD5 seg000:2FD5 sub_C2FD5 proc near ; CODE XREF: sub_C2FEBp seg000:2FD5 ; sub_C3497+A9p seg000:2FD5 call sub_C0529 seg000:2FD8 sub ax, 141Ch seg000:2FDB sub ax, 151Dh seg000:2FDE jno short loc_C2FA3 seg000:2FDE sub_C2FD5 endp ; sp-analysis failed seg000:2FDE seg000:2FE0 seg000:2FE0 ; =============== S U B R O U T I N E ======================================= seg000:2FE0 seg000:2FE0 seg000:2FE0 sub_C2FE0 proc near ; CODE XREF: sub_C2FF1p seg000:2FE0 ; sub_C3497+B0p seg000:2FE0 call sub_C0529 seg000:2FE3 sub ax, 141Eh seg000:2FE6 sub ax, 151Fh seg000:2FE9 jno short locret_C2FAE seg000:2FE9 sub_C2FE0 endp ; sp-analysis failed seg000:2FE9 seg000:2FEB seg000:2FEB ; =============== S U B R O U T I N E ======================================= seg000:2FEB seg000:2FEB seg000:2FEB sub_C2FEB proc near ; CODE XREF: sub_C2FA5+1p seg000:2FEB ; sub_C2FB9+1p ... seg000:2FEB call sub_C2FD5 seg000:2FEE shr dx, 1 seg000:2FF0 retn seg000:2FF0 sub_C2FEB endp seg000:2FF0 seg000:2FF1 seg000:2FF1 ; =============== S U B R O U T I N E ======================================= seg000:2FF1 seg000:2FF1 seg000:2FF1 sub_C2FF1 proc near ; CODE XREF: sub_C2FAF+1p seg000:2FF1 ; sub_C2FC7+1p ... seg000:2FF1 call sub_C2FE0 seg000:2FF4 shr dx, 1 seg000:2FF6 retn seg000:2FF6 sub_C2FF1 endp seg000:2FF6 seg000:2FF7 seg000:2FF7 ; =============== S U B R O U T I N E ======================================= seg000:2FF7 seg000:2FF7 seg000:2FF7 sub_C2FF7 proc near ; CODE XREF: sub_C3271:loc_C32FFp seg000:2FF7 ; sub_C3271+A8p ... seg000:2FF7 call sub_C2F95 seg000:2FFA call sub_C2F9D seg000:2FFD retn seg000:2FFD sub_C2FF7 endp seg000:2FFD seg000:2FFE seg000:2FFE ; =============== S U B R O U T I N E ======================================= seg000:2FFE seg000:2FFE seg000:2FFE sub_C2FFE proc near ; CODE XREF: sub_C72F3+5Fp seg000:2FFE ; sub_C7368+76p ... seg000:2FFE call sub_C2FA5 seg000:3001 call sub_C2FAF seg000:3004 retn seg000:3004 sub_C2FFE endp seg000:3004 seg000:3004 ; --------------------------------------------------------------------------- seg000:3005 db 8 seg000:3006 ; --------------------------------------------------------------------------- seg000:3006 mov bh, [si] seg000:3008 arpl [bx+2DB1h], ax seg000:300C seg000:300C loc_C300C: ; CODE XREF: seg000:305Aj seg000:300C mov bh, [si] seg000:300E arpl bp, si seg000:3010 mov cl, 16h seg000:3012 mov bh, [si] seg000:3014 arpl cx, ax seg000:3016 mov cl, 2Eh ; '.' seg000:3018 mov bh, [si] seg000:301A arpl si, si seg000:301C mov cl, 6Fh ; 'o' seg000:301E mov bh, [si] seg000:3020 arpl [di-174Eh], si seg000:3024 add dx, bp seg000:3026 sub ax, 1DE8h seg000:3029 jg short near ptr loc_C302B+2 seg000:302B seg000:302B loc_C302B: ; CODE XREF: seg000:3029j seg000:302B sbb ax, 182h seg000:302E sbb ax, 0C371h seg000:3031 seg000:3031 loc_C3031: ; CODE XREF: sub_C8284+1Fp seg000:3031 ; sub_C463B+3EC1p ... seg000:3031 push ax seg000:3032 push dx seg000:3033 push di seg000:3034 mov al, 11h seg000:3036 call sub_C126B seg000:3039 jnz short loc_C309D seg000:303B call sub_C310E ; CODE XREF: seg000:30B7j seg000:303E call sub_C0529 seg000:3041 test [si+5280h], dl seg000:3045 sbb sp, di seg000:3047 add [si+1E8h], al seg000:304B push bp seg000:304C add bh, bh seg000:304E jb short loc_C30A2 seg000:3050 sbb sp, si seg000:3052 or [di+3], dl seg000:3055 push word ptr [bp+si+55h] seg000:3058 add bh, bh seg000:305A jno short loc_C300C seg000:305C xor bp, ax seg000:305E or sp, dx seg000:3060 jnz short near ptr loc_C3070+1 seg000:3062 inc ah seg000:3064 call sub_C127D seg000:3067 call sub_C0529 seg000:306A test ch, al seg000:306C add al, 55h ; 'U' seg000:306E add di, di seg000:3070 seg000:3070 loc_C3070: ; CODE XREF: seg000:3060j seg000:3070 jno short near ptr sub_C2FF1+1 seg000:3072 sti seg000:3073 add [di+1Fh], si seg000:3076 mov di, 633Dh seg000:3079 call sub_C256D seg000:307C jnz short loc_C308A seg000:307E mov ax, 0Dh seg000:3081 call sub_C127D seg000:3084 mov di, 21F5h seg000:3087 call sub_C25BA seg000:308A seg000:308A loc_C308A: ; CODE XREF: seg000:307Cj seg000:308A call sub_C368F seg000:308D jb short loc_C3095 seg000:308F mov di, 2641h seg000:3092 call sub_C25E7 seg000:3095 seg000:3095 loc_C3095: ; CODE XREF: seg000:308Dj seg000:3095 cmp bl, 3 seg000:3098 jz short loc_C309D seg000:309A call sub_C25A7 seg000:309D seg000:309D loc_C309D: ; CODE XREF: seg000:3039j seg000:309D ; seg000:3098j seg000:309D pop di seg000:309E pop dx seg000:309F pop ax seg000:30A0 retn seg000:30A0 ; --------------------------------------------------------------------------- seg000:30A1 byte_C30A1 db 0E8h ; CODE XREF: seg000:3139p seg000:30A2 ; --------------------------------------------------------------------------- seg000:30A2 seg000:30A2 loc_C30A2: ; CODE XREF: seg000:304Ej seg000:30A2 test dx, sp seg000:30A4 test [bx+di], bl seg000:30A6 add [bx+di-3Dh], si seg000:30A9 push bx seg000:30AA push cx seg000:30AB mov cx, 3E8h seg000:30AE call sub_C3485 seg000:30B1 call sub_C0529 seg000:30B4 sub ax, 10E9h seg000:30B7 jno short near ptr loc_C303B+2 seg000:30B9 fsub st, st(1) seg000:30BB repne pop cx seg000:30BD pop bx seg000:30BE retn seg000:30BF seg000:30BF ; =============== S U B R O U T I N E ======================================= seg000:30BF seg000:30BF seg000:30BF sub_C30BF proc near ; CODE XREF: sub_C310E:loc_C31DAp seg000:30BF call sub_C0529 seg000:30C2 sub cl, ch seg000:30C4 sbb al, 71h ; 'q' seg000:30C6 retn seg000:30C6 sub_C30BF endp seg000:30C6 seg000:30C6 ; --------------------------------------------------------------------------- seg000:30C7 db 0E8h ; À seg000:30C8 db 5Fh ; _ seg000:30C9 db 0D4h, 55h, 2, 0FFh, 72h, 52h, 19h, 0F5h, 2, 83h, 94h seg000:30C9 db 80h, 71h, 0C3h seg000:30D7 seg000:30D7 ; =============== S U B R O U T I N E ======================================= seg000:30D7 seg000:30D7 seg000:30D7 sub_C30D7 proc near ; CODE XREF: sub_C310E+3p seg000:30D7 push ax seg000:30D8 push bx seg000:30D9 push cx seg000:30DA push di seg000:30DB xor dh, dh seg000:30DD lea di, ds:273Ah seg000:30E1 call sub_C26E3 seg000:30E4 jnb short loc_C30EF seg000:30E6 call sub_C2726 seg000:30E9 jnb short loc_C3109 seg000:30EB mov dh, ah seg000:30ED jmp short loc_C3109 seg000:30EF ; --------------------------------------------------------------------------- seg000:30EF seg000:30EF loc_C30EF: ; CODE XREF: sub_C30D7+Dj seg000:30EF mov di, 1401h seg000:30F2 seg000:30F2 loc_C30F2: ; CODE XREF: seg000:3142j seg000:30F2 call sub_C26C6 seg000:30F5 jb short loc_C30FD seg000:30F7 mov di, 141Bh seg000:30FA call sub_C26C6 seg000:30FD seg000:30FD loc_C30FD: ; CODE XREF: sub_C30D7+1Ej seg000:30FD jb short loc_C3105 seg000:30FF mov di, 140Eh seg000:3102 call sub_C26C6 seg000:3105 seg000:3105 loc_C3105: ; CODE XREF: sub_C30D7:loc_C30FDj seg000:3105 jnb short loc_C3109 seg000:3107 mov dh, al seg000:3109 seg000:3109 loc_C3109: ; CODE XREF: sub_C30D7+12j seg000:3109 ; sub_C30D7+16j ... seg000:3109 pop di seg000:310A pop cx seg000:310B pop bx seg000:310C pop ax seg000:310D retn seg000:310D sub_C30D7 endp seg000:310D seg000:310E seg000:310E ; =============== S U B R O U T I N E ======================================= seg000:310E seg000:310E seg000:310E sub_C310E proc near ; CODE XREF: seg000:loc_C303Bp seg000:310E ; seg000:3136p seg000:310E seg000:310E ; FUNCTION CHUNK AT seg000:317C SIZE 00000041 BYTES seg000:310E ; FUNCTION CHUNK AT seg000:31D8 SIZE 00000031 BYTES seg000:310E seg000:310E push ax seg000:310F push bx seg000:3110 push dx seg000:3111 call sub_C30D7 seg000:3114 shl dh, 5 seg000:3117 or dh, 8 seg000:311A call sub_C0529 seg000:311D sbb es:[di], dx seg000:3120 jno short loc_C317C seg000:3122 pop bx seg000:3123 pop ax seg000:3124 retn seg000:3124 sub_C310E endp ; sp-analysis failed seg000:3124 seg000:3125 ; --------------------------------------------------------------------------- seg000:3125 seg000:3125 loc_C3125: ; CODE XREF: sub_C463B+3ECBp seg000:3125 ; sub_C866E:loc_C86BAp ... seg000:3125 push ax seg000:3126 push dx seg000:3127 push si seg000:3128 push edi seg000:312A call sub_C4843 seg000:312D mov al, 11h seg000:312F call sub_C126B seg000:3132 jnz loc_C322C seg000:3136 call sub_C310E seg000:3139 call near ptr byte_C30A1 seg000:313C call sub_C0529 seg000:313F sub ax, 20h ; ' ' seg000:3142 jno short near ptr loc_C30F2+2 seg000:3144 add ax, bp seg000:3146 popa seg000:3146 ; --------------------------------------------------------------------------- seg000:3147 db 0FFh, 0BFh, 28h, 15h, 0E8h, 8, 0F4h, 8Dh, 36h, 5, 30h seg000:3147 db 0BFh, 53h, 26h, 0E8h, 62h, 0F4h, 8Dh, 36h, 0Bh, 30h seg000:3147 db 0BFh, 53h, 26h, 0E8h, 0Bh, 0F4h, 0B0h, 1, 0E8h, 58h seg000:3147 db 0FFh, 0B0h, 2, 0E8h, 3Dh, 0FFh, 8Dh, 36h, 11h, 30h seg000:3147 db 0BFh, 53h, 26h, 0E8h, 44h, 0F4h, 0E8h, 0C3h, 31h, 0BFh seg000:3147 db 3Ch, 63h seg000:317C ; --------------------------------------------------------------------------- seg000:317C ; START OF FUNCTION CHUNK FOR sub_C310E seg000:317C seg000:317C loc_C317C: ; CODE XREF: sub_C310E+12j seg000:317C call sub_C256D seg000:317F mov di, 1561h seg000:3182 call sub_C2556 seg000:3185 lea si, ds:3017h seg000:3189 mov di, 2653h seg000:318C call sub_C256D seg000:318F call sub_C368F seg000:3192 jb short loc_C31AE seg000:3194 push ecx seg000:3196 mov ecx, 0 seg000:319C call sub_C148A seg000:319F mov di, 1470h seg000:31A2 call sub_C2556 seg000:31A5 mov al, 45h ; 'E' seg000:31A7 mov ah, 1 seg000:31A9 call sub_C127D seg000:31AC pop ecx seg000:31AE seg000:31AE loc_C31AE: ; CODE XREF: sub_C310E+84j seg000:31AE call sub_C1BFC seg000:31B1 jb short loc_C31D8 seg000:31B3 call sub_C0529 seg000:31B6 seg000:31B6 loc_C31B6: ; CODE XREF: sub_C310E+F6j seg000:31B6 outsb seg000:31B7 add [bx+si+62h], ah seg000:31BB add ah, bh seg000:31BB ; END OF FUNCTION CHUNK FOR sub_C310E seg000:31BB ; --------------------------------------------------------------------------- seg000:31BD db 2 dup(0FFh), 10h, 2, 2 dup(0), 6Eh, 0, 20h, 61h, 2 dup(0) seg000:31BD db 0FCh, 2 dup(0FFh), 10h, 2, 2 dup(0), 71h, 0B0h, 44h seg000:31BD db 0B4h, 1, 0E8h, 0A5h, 0E0h seg000:31D8 ; --------------------------------------------------------------------------- seg000:31D8 ; START OF FUNCTION CHUNK FOR sub_C310E seg000:31D8 seg000:31D8 loc_C31D8: ; CODE XREF: sub_C310E+A3j seg000:31D8 mov al, 2 seg000:31DA seg000:31DA loc_C31DA: ; CODE XREF: sub_C310E+D5j seg000:31DA call sub_C30BF seg000:31DD call sub_C0529 seg000:31E0 sub ax, 1DE8h seg000:31E3 jno short near ptr loc_C31DA+1 seg000:31E5 les sp, [bx+si] seg000:31E7 assume es:nothing seg000:31E7 seg000:31E7 loc_C31E7: ; CODE XREF: sub_C310E+EDj seg000:31E7 jz short near ptr loc_C31FD+1 seg000:31E9 test cs:byte_C0001+47h, 8 seg000:31EF jz short near ptr loc_C31FD+1 seg000:31F1 call sub_C0529 seg000:31F4 push dx seg000:31F5 sbb bp, si seg000:31F7 add al, [bp+di-7F6Ch] seg000:31FB jno short near ptr loc_C31E7+1 seg000:31FD seg000:31FD loc_C31FD: ; CODE XREF: sub_C310E:loc_C31E7j seg000:31FD ; sub_C310E+E1j seg000:31FD db 2Eh seg000:31FD call sub_C0529 seg000:3201 sub ax, 20h ; ' ' seg000:3204 jno short loc_C31B6 seg000:3206 add al, 0E8h ; 'À' seg000:3208 lahf seg000:3208 ; END OF FUNCTION CHUNK FOR sub_C310E seg000:3208 ; --------------------------------------------------------------------------- seg000:3209 db 0FEh, 0BFh, 3Ch, 63h, 0E8h, 46h, 0F3h, 8Dh, 36h, 1Dh seg000:3209 db 30h, 0BFh, 53h, 26h, 0E8h, 53h, 0F3h, 0B0h, 4, 0E8h seg000:3209 db 0A0h, 0FEh, 0B0h, 8, 0E8h, 85h, 0FEh, 0B0h, 8, 0E8h seg000:3209 db 96h, 0FEh, 0E8h, 9Bh, 0FEh seg000:322C ; --------------------------------------------------------------------------- seg000:322C seg000:322C loc_C322C: ; CODE XREF: seg000:3132j seg000:322C call sub_C48B5 seg000:322F pop edi seg000:3231 pop si seg000:3232 pop dx seg000:3233 pop ax seg000:3234 retn seg000:3235 seg000:3235 ; =============== S U B R O U T I N E ======================================= seg000:3235 seg000:3235 seg000:3235 sub_C3235 proc near ; CODE XREF: seg000:4663p seg000:3235 ; sub_C7F24+2p seg000:3235 push ax seg000:3236 push dx seg000:3237 call sub_C1D52 seg000:323A push ax seg000:323B mov al, 3Fh ; '?' seg000:323D call sub_C1B89 seg000:3240 and ah, 1 seg000:3243 mov al, 0 seg000:3245 call sub_C127D seg000:3248 mov ax, 573Fh seg000:324B call sub_C1B76 seg000:324E pop ax seg000:324F out dx, al seg000:3250 pop dx seg000:3251 pop ax seg000:3252 retn seg000:3252 sub_C3235 endp seg000:3252 seg000:3253 seg000:3253 ; =============== S U B R O U T I N E ======================================= seg000:3253 seg000:3253 seg000:3253 sub_C3253 proc near ; CODE XREF: seg000:2E01p seg000:3253 ; seg000:4669p seg000:3253 push ax seg000:3254 push dx seg000:3255 call sub_C1D52 seg000:3258 push ax seg000:3259 mov al, 0 seg000:325B call sub_C126B seg000:325E jnz short loc_C3266 seg000:3260 mov ax, 993Fh seg000:3263 call sub_C1B76 seg000:3266 seg000:3266 loc_C3266: ; CODE XREF: sub_C3253+Bj seg000:3266 mov ax, 0 seg000:3269 call sub_C127D seg000:326C pop ax seg000:326D out dx, al seg000:326E pop dx seg000:326F pop ax seg000:3270 retn seg000:3270 sub_C3253 endp seg000:3270 seg000:3271 seg000:3271 ; =============== S U B R O U T I N E ======================================= seg000:3271 seg000:3271 seg000:3271 sub_C3271 proc near ; CODE XREF: sub_C90E8+4Fp seg000:3271 pusha seg000:3272 push eax seg000:3274 push es seg000:3275 mov al, ds:449h seg000:3278 call sub_C1D57 seg000:327B jb loc_C331C seg000:327F sub di, di seg000:3281 mov eax, 7200720h seg000:3287 mov cx, 2000h seg000:328A mov dx, word ptr cs:byte_C0001+7Fh seg000:328F mov bl, es:[bx+5] seg000:3293 cmp bl, 0 seg000:3296 jz short loc_C32AF seg000:3298 mov dx, word ptr cs:byte_C0001+7Dh seg000:329D cmp bl, 1 seg000:32A0 jz short loc_C32AF seg000:32A2 cmp bl, 2 seg000:32A5 jnz short loc_C32B6 seg000:32A7 mov dx, word ptr cs:byte_C0001+7Fh seg000:32AC sub eax, eax seg000:32AF seg000:32AF loc_C32AF: ; CODE XREF: sub_C3271+25j seg000:32AF ; sub_C3271+2Fj seg000:32AF mov es, dx seg000:32B1 assume es:nothing seg000:32B1 rep stosd seg000:32B4 jmp short loc_C331C seg000:32B6 ; --------------------------------------------------------------------------- seg000:32B6 seg000:32B6 loc_C32B6: ; CODE XREF: sub_C3271+34j seg000:32B6 mov cx, 8000h seg000:32B9 mov ax, 1 seg000:32BC cmp byte ptr ds:449h, 13h seg000:32C1 jbe short loc_C32E1 seg000:32C3 call sub_C1DA4 seg000:32C6 cmp bl, 5 seg000:32C9 jnz short loc_C32E1 seg000:32CB mov cx, ax seg000:32CD shr ax, 2 seg000:32D0 and cx, 3 seg000:32D3 shl cx, 0Dh seg000:32D6 cmp cx, 0 seg000:32D9 jbe short loc_C32DE seg000:32DB inc ax seg000:32DC jmp short loc_C32E1 seg000:32DE ; --------------------------------------------------------------------------- seg000:32DE seg000:32DE loc_C32DE: ; CODE XREF: sub_C3271+68j seg000:32DE mov cx, 8000h seg000:32E1 seg000:32E1 loc_C32E1: ; CODE XREF: sub_C3271+50j seg000:32E1 ; sub_C3271+58j ... seg000:32E1 cmp bl, 5 seg000:32E4 jz short loc_C32ED seg000:32E6 call sub_C47A6 seg000:32E9 jnb short loc_C32ED seg000:32EB xor ax, ax seg000:32ED seg000:32ED loc_C32ED: ; CODE XREF: sub_C3271+73j seg000:32ED ; sub_C3271+78j seg000:32ED or ax, ax seg000:32EF jz short loc_C3317 seg000:32F1 mov bx, cx seg000:32F3 mov si, ax seg000:32F5 mov es, word ptr cs:byte_C0001+7Bh seg000:32FA assume es:nothing seg000:32FA xor eax, eax seg000:32FD mov dx, di seg000:32FF seg000:32FF loc_C32FF: ; CODE XREF: sub_C3271+A4j seg000:32FF call sub_C2FF7 seg000:3302 cmp si, 1 seg000:3305 jnz short loc_C330D seg000:3307 mov cx, bx seg000:3309 shr cx, 1 seg000:330B jmp short loc_C3310 seg000:330D ; --------------------------------------------------------------------------- seg000:330D seg000:330D loc_C330D: ; CODE XREF: sub_C3271+94j seg000:330D mov cx, 4000h seg000:3310 seg000:3310 loc_C3310: ; CODE XREF: sub_C3271+9Aj seg000:3310 rep stosd seg000:3313 inc dx seg000:3314 dec si seg000:3315 jnz short loc_C32FF seg000:3317 seg000:3317 loc_C3317: ; CODE XREF: sub_C3271+7Ej seg000:3317 sub dx, dx seg000:3319 call sub_C2FF7 seg000:331C seg000:331C loc_C331C: ; CODE XREF: sub_C3271+Aj seg000:331C ; sub_C3271+43j seg000:331C pop es seg000:331D assume es:nothing seg000:331D pop eax seg000:331F popa seg000:3320 retn seg000:3320 sub_C3271 endp seg000:3320 seg000:3321 seg000:3321 ; =============== S U B R O U T I N E ======================================= seg000:3321 seg000:3321 seg000:3321 sub_C3321 proc near ; CODE XREF: seg000:6A35p seg000:3321 push ax seg000:3322 push dx seg000:3323 xor al, 1 seg000:3325 mov dx, 3C3h seg000:3328 out dx, al seg000:3329 in al, dx seg000:332A pop dx seg000:332B pop ax seg000:332C retn seg000:332C sub_C3321 endp seg000:332C seg000:332D ; --------------------------------------------------------------------------- seg000:332D push ax seg000:332E call sub_C633F seg000:3331 jnb short loc_C3336 seg000:3333 clc seg000:3334 jmp short loc_C3343 seg000:3336 ; --------------------------------------------------------------------------- seg000:3336 seg000:3336 loc_C3336: ; CODE XREF: seg000:3331j seg000:3336 call sub_C3441 seg000:3339 jb short loc_C3343 seg000:333B call sub_C35F9 seg000:333E setnb al seg000:3341 shr al, 1 seg000:3343 seg000:3343 loc_C3343: ; CODE XREF: seg000:3334j seg000:3343 ; seg000:3339j seg000:3343 pop ax seg000:3344 retn seg000:3344 ; --------------------------------------------------------------------------- seg000:3345 db 7Ch ; | seg000:3346 db 0, 7Ch, 0, 7Eh, 0, 80h, 0 seg000:334D seg000:334D ; =============== S U B R O U T I N E ======================================= seg000:334D seg000:334D seg000:334D sub_C334D proc near ; CODE XREF: seg000:337Dp seg000:334D ; seg000:338Fp ... seg000:334D push esi seg000:334F and esi, 0FFFFh seg000:3356 add esi, 610000h seg000:335D call sub_C4741 seg000:3360 pop esi seg000:3362 retn seg000:3362 sub_C334D endp seg000:3362 seg000:3363 seg000:3363 ; =============== S U B R O U T I N E ======================================= seg000:3363 seg000:3363 seg000:3363 sub_C3363 proc near ; CODE XREF: sub_C3382+4p seg000:3363 ; seg000:3398p ... seg000:3363 push esi seg000:3365 and esi, 0FFFFh seg000:336C add esi, 610000h seg000:3373 call sub_C475C seg000:3376 pop esi seg000:3378 retn seg000:3378 sub_C3363 endp seg000:3378 seg000:3379 ; --------------------------------------------------------------------------- seg000:3379 push si seg000:337A call sub_C33AF seg000:337D call sub_C334D seg000:3380 pop si seg000:3381 retn seg000:3382 seg000:3382 ; =============== S U B R O U T I N E ======================================= seg000:3382 seg000:3382 seg000:3382 sub_C3382 proc near ; CODE XREF: sub_CC907+Ep seg000:3382 push si seg000:3383 call sub_C33AF seg000:3386 call sub_C3363 seg000:3389 pop si seg000:338A retn seg000:338A sub_C3382 endp seg000:338A seg000:338B ; --------------------------------------------------------------------------- seg000:338B push si seg000:338C call sub_C33C1 seg000:338F call sub_C334D seg000:3392 pop si seg000:3393 retn seg000:3394 ; --------------------------------------------------------------------------- seg000:3394 push si seg000:3395 call sub_C33C1 seg000:3398 call sub_C3363 seg000:339B pop si seg000:339C retn seg000:339D seg000:339D ; =============== S U B R O U T I N E ======================================= seg000:339D seg000:339D seg000:339D sub_C339D proc near ; CODE XREF: seg000:B94Bp seg000:339D push si seg000:339E call sub_C33D4 seg000:33A1 call sub_C334D seg000:33A4 pop si seg000:33A5 retn seg000:33A5 sub_C339D endp seg000:33A5 seg000:33A6 seg000:33A6 ; =============== S U B R O U T I N E ======================================= seg000:33A6 seg000:33A6 seg000:33A6 sub_C33A6 proc near ; CODE XREF: seg000:B93Fp seg000:33A6 push si seg000:33A7 call sub_C33D4 seg000:33AA call sub_C3363 seg000:33AD pop si seg000:33AE retn seg000:33AE sub_C33A6 endp seg000:33AE seg000:33AF seg000:33AF ; =============== S U B R O U T I N E ======================================= seg000:33AF seg000:33AF seg000:33AF sub_C33AF proc near ; CODE XREF: seg000:337Ap seg000:33AF ; sub_C3382+1p seg000:33AF push ax seg000:33B0 push bx seg000:33B1 mov ax, 800h seg000:33B4 mov bl, bh seg000:33B6 and bx, 3 seg000:33B9 imul ax, bx seg000:33BC add si, ax seg000:33BE pop bx seg000:33BF pop ax seg000:33C0 retn seg000:33C0 sub_C33AF endp seg000:33C0 seg000:33C1 seg000:33C1 ; =============== S U B R O U T I N E ======================================= seg000:33C1 seg000:33C1 seg000:33C1 sub_C33C1 proc near ; CODE XREF: seg000:338Cp seg000:33C1 ; seg000:3395p ... seg000:33C1 push ax seg000:33C2 push cx seg000:33C3 call sub_C20B9 seg000:33C6 movzx ax, al seg000:33C9 mov cx, 800h seg000:33CC imul ax, cx seg000:33CF add si, ax seg000:33D1 pop cx seg000:33D2 pop ax seg000:33D3 retn seg000:33D3 sub_C33C1 endp seg000:33D3 seg000:33D4 seg000:33D4 ; =============== S U B R O U T I N E ======================================= seg000:33D4 seg000:33D4 seg000:33D4 sub_C33D4 proc near ; CODE XREF: sub_C339D+1p seg000:33D4 ; sub_C33A6+1p seg000:33D4 push ax seg000:33D5 call sub_C33C1 seg000:33D8 call sub_C20D9 seg000:33DB test al, 2 seg000:33DD jz short loc_C33E3 seg000:33DF add si, 80h ; 'Ç' seg000:33E3 seg000:33E3 loc_C33E3: ; CODE XREF: sub_C33D4+9j seg000:33E3 pop ax seg000:33E4 retn seg000:33E4 sub_C33D4 endp seg000:33E4 seg000:33E5 seg000:33E5 ; =============== S U B R O U T I N E ======================================= seg000:33E5 seg000:33E5 seg000:33E5 sub_C33E5 proc near ; CODE XREF: sub_C33F4+2p seg000:33E5 ; sub_C3406+2p seg000:33E5 push bx seg000:33E6 push es seg000:33E7 mov es, word ptr cs:byte_C0001+7Bh seg000:33EC assume es:nothing seg000:33EC mov bx, es:0 seg000:33F1 pop es seg000:33F2 assume es:nothing seg000:33F2 pop bx seg000:33F3 retn seg000:33F3 sub_C33E5 endp seg000:33F3 seg000:33F4 seg000:33F4 ; =============== S U B R O U T I N E ======================================= seg000:33F4 seg000:33F4 seg000:33F4 sub_C33F4 proc near ; CODE XREF: sub_C2B21p seg000:33F4 push esi seg000:33F6 call sub_C33E5 seg000:33F9 add esi, 7E0000h seg000:3400 call sub_C475C seg000:3403 pop esi seg000:3405 retn seg000:3405 sub_C33F4 endp seg000:3405 seg000:3406 seg000:3406 ; =============== S U B R O U T I N E ======================================= seg000:3406 seg000:3406 seg000:3406 sub_C3406 proc near ; CODE XREF: sub_C2B25p seg000:3406 push esi seg000:3408 call sub_C33E5 seg000:340B add esi, 7E0000h seg000:3412 call sub_C4741 seg000:3415 pop esi seg000:3417 retn seg000:3417 sub_C3406 endp seg000:3417 seg000:3418 seg000:3418 ; =============== S U B R O U T I N E ======================================= seg000:3418 seg000:3418 seg000:3418 sub_C3418 proc near ; CODE XREF: sub_C9516+56p seg000:3418 push ax seg000:3419 mov ah, cl seg000:341B mov al, 30h ; '0' seg000:341D call sub_C127D seg000:3420 mov ah, ch seg000:3422 mov al, 31h ; '1' seg000:3424 call sub_C127D seg000:3427 pop ax seg000:3428 retn seg000:3428 sub_C3418 endp seg000:3428 seg000:3429 ; --------------------------------------------------------------------------- seg000:3429 push ax seg000:342A mov al, 30h ; '0' seg000:342C call sub_C126B seg000:342F mov cl, ah seg000:3431 mov al, 31h ; '1' seg000:3433 call sub_C126B seg000:3436 mov ch, ah seg000:3438 pop ax seg000:3439 retn seg000:343A seg000:343A ; =============== S U B R O U T I N E ======================================= seg000:343A seg000:343A seg000:343A sub_C343A proc near ; CODE XREF: sub_C463B+3E54p seg000:343A ; sub_C463B:loc_C84CAp seg000:343A test cs:byte_C0139+20Ch, 10h seg000:3440 retn seg000:3440 sub_C343A endp seg000:3440 seg000:3441 seg000:3441 ; =============== S U B R O U T I N E ======================================= seg000:3441 seg000:3441 seg000:3441 sub_C3441 proc near ; CODE XREF: sub_C1CAC+3p seg000:3441 ; sub_C215C+36p ... seg000:3441 test cs:byte_C0001+48h, 4 seg000:3447 jz short locret_C344A seg000:3449 stc seg000:344A seg000:344A locret_C344A: ; CODE XREF: sub_C3441+6j seg000:344A retn seg000:344A sub_C3441 endp seg000:344A seg000:344B seg000:344B ; =============== S U B R O U T I N E ======================================= seg000:344B seg000:344B seg000:344B sub_C344B proc near ; CODE XREF: sub_C3462+1p seg000:344B ; sub_C3462:loc_C346Ap ... seg000:344B push ax seg000:344C push dx seg000:344D call sub_C1D52 seg000:3450 push ax seg000:3451 mov al, 0A8h ; 'Ê' seg000:3453 mov ah, cl seg000:3455 out dx, ax seg000:3456 inc dx seg000:3457 seg000:3457 loc_C3457: ; CODE XREF: sub_C344B+Fj seg000:3457 in al, dx seg000:3458 or al, al seg000:345A jnz short loc_C3457 seg000:345C dec dx seg000:345D pop ax seg000:345E out dx, al seg000:345F pop dx seg000:3460 pop ax seg000:3461 retn seg000:3461 sub_C344B endp seg000:3461 seg000:3462 seg000:3462 ; =============== S U B R O U T I N E ======================================= seg000:3462 seg000:3462 seg000:3462 sub_C3462 proc near ; CODE XREF: sub_C3478+5p seg000:3462 ; sub_C3485+4p ... seg000:3462 push cx seg000:3463 call sub_C344B seg000:3466 mov cl, 80h ; 'Ç' seg000:3468 jmp short loc_C3472 seg000:346A ; --------------------------------------------------------------------------- seg000:346A seg000:346A loc_C346A: ; CODE XREF: sub_C3462+12j seg000:346A call sub_C344B seg000:346D call sub_C344B seg000:3470 dec ch seg000:3472 seg000:3472 loc_C3472: ; CODE XREF: sub_C3462+6j seg000:3472 or ch, ch seg000:3474 jnz short loc_C346A seg000:3476 pop cx seg000:3477 retn seg000:3477 sub_C3462 endp seg000:3477 seg000:3478 seg000:3478 ; =============== S U B R O U T I N E ======================================= seg000:3478 seg000:3478 seg000:3478 sub_C3478 proc near seg000:3478 push cx seg000:3479 seg000:3479 loc_C3479: ; CODE XREF: sub_C3478+9j seg000:3479 push cx seg000:347A mov cx, 3E8h seg000:347D call sub_C3462 seg000:3480 pop cx seg000:3481 loop loc_C3479 seg000:3483 pop cx seg000:3484 retn seg000:3484 sub_C3478 endp seg000:3484 seg000:3485 seg000:3485 ; =============== S U B R O U T I N E ======================================= seg000:3485 seg000:3485 seg000:3485 sub_C3485 proc near ; CODE XREF: seg000:loc_C2DDAp seg000:3485 ; seg000:30AEp ... seg000:3485 push cx seg000:3486 mov cx, 7D0h seg000:3489 call sub_C3462 seg000:348C pop cx seg000:348D retn seg000:348D sub_C3485 endp seg000:348D seg000:348E seg000:348E ; =============== S U B R O U T I N E ======================================= seg000:348E seg000:348E seg000:348E sub_C348E proc near ; CODE XREF: sub_C3F9B+1Cp seg000:348E ; sub_C3F9B+22p ... seg000:348E push cx seg000:348F mov cx, 5 seg000:3492 call sub_C3462 seg000:3495 pop cx seg000:3496 retn seg000:3496 sub_C348E endp seg000:3496 seg000:3497 seg000:3497 ; =============== S U B R O U T I N E ======================================= seg000:3497 seg000:3497 seg000:3497 sub_C3497 proc near ; CODE XREF: seg000:A7DCp seg000:3497 ; seg000:CBCAp seg000:3497 push ax seg000:3498 push bx seg000:3499 push dx seg000:349A setb bl seg000:349D mov dx, 3CCh seg000:34A0 in al, dx ; EGA port: graphics 1 position (must be 1 for EGA) seg000:34A1 mov ss:[si], al seg000:34A4 or al, 2 seg000:34A6 mov dl, 0C2h ; 'T' seg000:34A8 out dx, al ; EGA : misc cntl seg000:34A8 ; 0: 1=select 3BxH seg000:34A8 ; 1: 1=enable RAM seg000:34A8 ; 2-3: Dot clock seg000:34A8 ; 5: Page bit for odd/even mode seg000:34A8 ; 6: Horiz retrace polarity: 1=neg, 0=pos seg000:34A8 ; 7: Vert retrace polarity: 1=neg, 0=pos seg000:34A9 mov al, 2 seg000:34AB call sub_C1B7B seg000:34AE mov ss:[si+1], ah seg000:34B2 mov ah, 0Fh seg000:34B4 out dx, ax seg000:34B5 mov al, 4 seg000:34B7 out dx, al seg000:34B8 in ax, dx seg000:34B9 mov ss:[si+2], ah seg000:34BD mov ah, 0Eh seg000:34BF out dx, ax seg000:34C0 mov dl, 0CEh ; '+' seg000:34C2 mov al, 0 seg000:34C4 out dx, al seg000:34C5 in ax, dx seg000:34C6 mov ss:[si+3], ah seg000:34CA mov ah, 0 seg000:34CC out dx, ax seg000:34CD mov al, 1 seg000:34CF out dx, al seg000:34D0 in ax, dx seg000:34D1 mov ss:[si+4], ah seg000:34D5 mov ah, 0 seg000:34D7 out dx, ax seg000:34D8 mov al, 5 seg000:34DA out dx, al seg000:34DB in ax, dx seg000:34DC mov ss:[si+5], ah seg000:34E0 mov ah, 0 seg000:34E2 out dx, ax seg000:34E3 mov al, 6 seg000:34E5 out dx, al seg000:34E6 in ax, dx seg000:34E7 mov ss:[si+6], ah seg000:34EB and ah, 0FDh seg000:34EE test ah, 0Ch seg000:34F1 jnz short loc_C34F5 seg000:34F3 inc bl seg000:34F5 seg000:34F5 loc_C34F5: ; CODE XREF: sub_C3497+5Aj seg000:34F5 or bl, bl seg000:34F7 jz short loc_C34FF seg000:34F9 and ah, 0F3h seg000:34FC or ah, 4 seg000:34FF seg000:34FF loc_C34FF: ; CODE XREF: sub_C3497+60j seg000:34FF out dx, ax seg000:3500 mov word ptr ss:[si+0Dh], es seg000:3504 and ah, 0Ch seg000:3507 shr ah, 1 seg000:3509 movzx bx, ah seg000:350C mov bx, cs:[bx+3345h] seg000:3511 mov es, word ptr cs:[bx] seg000:3514 mov bx, di seg000:3516 cmp ah, 4 seg000:3519 jb short loc_C351F seg000:351B and bx, 7FFFh seg000:351F seg000:351F loc_C351F: ; CODE XREF: sub_C3497+82j seg000:351F shr edi, 0Fh seg000:3523 xchg bx, di seg000:3525 mov al, 8 seg000:3527 out dx, al seg000:3528 in ax, dx seg000:3529 mov ss:[si+7], ah seg000:352D mov ah, 0FFh seg000:352F out dx, ax seg000:3530 mov al, 1Bh seg000:3532 call sub_C1B89 seg000:3535 mov ss:[si+8], ah seg000:3539 and ah, 79h seg000:353C or ah, 84h seg000:353F out dx, ax seg000:3540 call sub_C2FD5 seg000:3543 mov ss:[si+9], dx seg000:3547 call sub_C2FE0 seg000:354A mov ss:[si+0Bh], dx seg000:354E mov dx, bx seg000:3550 call sub_C2F7F seg000:3553 call sub_C2F8A seg000:3556 pop dx seg000:3557 pop bx seg000:3558 pop ax seg000:3559 retn seg000:3559 sub_C3497 endp seg000:3559 seg000:355A seg000:355A ; =============== S U B R O U T I N E ======================================= seg000:355A seg000:355A seg000:355A sub_C355A proc near ; CODE XREF: seg000:A849p seg000:355A ; seg000:CBF5p seg000:355A push ax seg000:355B push dx seg000:355C mov dx, ss:[si+9] seg000:3560 call sub_C2F7F seg000:3563 mov dx, ss:[si+0Bh] seg000:3567 call sub_C2F8A seg000:356A mov dx, 3C2h seg000:356D mov al, ss:[si] seg000:3570 out dx, al ; EGA : misc cntl seg000:3570 ; 0: 1=select 3BxH seg000:3570 ; 1: 1=enable RAM seg000:3570 ; 2-3: Dot clock seg000:3570 ; 5: Page bit for odd/even mode seg000:3570 ; 6: Horiz retrace polarity: 1=neg, 0=pos seg000:3570 ; 7: Vert retrace polarity: 1=neg, 0=pos seg000:3571 mov dl, 0C4h ; '¦' seg000:3573 mov al, 2 seg000:3575 mov ah, ss:[si+1] seg000:3579 out dx, ax ; EGA: sequencer address reg seg000:3579 ; sequencer reset. seg000:3579 ; Bits of data 0-1 indicate asynchronous/synchronous reset. seg000:357A mov al, 4 seg000:357C mov ah, ss:[si+2] seg000:3580 out dx, ax ; EGA: sequencer address reg seg000:3580 ; sequencer reset. seg000:3580 ; Bits of data 0-1 indicate asynchronous/synchronous reset. seg000:3581 mov es, word ptr ss:[si+0Dh] seg000:3585 mov dl, 0CEh ; '+' seg000:3587 mov al, 0 seg000:3589 mov ah, ss:[si+3] seg000:358D out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:358D ; set/reset. seg000:358D ; Data bits 0-3 select planes for write mode 00 seg000:358E mov al, 1 seg000:3590 mov ah, ss:[si+4] seg000:3594 out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:3594 ; set/reset. seg000:3594 ; Data bits 0-3 select planes for write mode 00 seg000:3595 mov al, 5 seg000:3597 mov ah, ss:[si+5] seg000:359B out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:359B ; set/reset. seg000:359B ; Data bits 0-3 select planes for write mode 00 seg000:359C mov al, 6 seg000:359E mov ah, ss:[si+6] seg000:35A2 out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:35A2 ; set/reset. seg000:35A2 ; Data bits 0-3 select planes for write mode 00 seg000:35A3 mov al, 8 seg000:35A5 mov ah, ss:[si+7] seg000:35A9 out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:35A9 ; set/reset. seg000:35A9 ; Data bits 0-3 select planes for write mode 00 seg000:35AA mov al, 1Bh seg000:35AC mov ah, ss:[si+8] seg000:35B0 call sub_C1B76 seg000:35B3 pop dx seg000:35B4 pop ax seg000:35B5 retn seg000:35B5 sub_C355A endp seg000:35B5 seg000:35B6 ; --------------------------------------------------------------------------- seg000:35B6 seg000:35B6 loc_C35B6: ; CODE XREF: sub_C949F+4p seg000:35B6 ; sub_C949F+19p ... seg000:35B6 push ax seg000:35B7 push di seg000:35B8 setb al seg000:35BB movzx di, al seg000:35BE call sub_C0529 seg000:35C1 adc [bx+si], al seg000:35C3 lahf seg000:35C4 popa seg000:35C5 add bh, dh seg000:35C5 ; --------------------------------------------------------------------------- seg000:35C7 db 3 dup(0FFh), 71h, 5Fh, 58h, 0C3h seg000:35CE seg000:35CE ; =============== S U B R O U T I N E ======================================= seg000:35CE seg000:35CE seg000:35CE sub_C35CE proc near ; CODE XREF: sub_C2E0Ap seg000:35CE push ax seg000:35CF push cx seg000:35D0 push di seg000:35D1 push es seg000:35D2 mov cs:byte_C0139+120h, 0 seg000:35D8 push cs seg000:35D9 pop es seg000:35DA assume es:nothing seg000:35DA xor di, di seg000:35DC movzx cx, cs:byte_C0001+1 seg000:35E2 shl cx, 9 seg000:35E5 call sub_C1E77 seg000:35E8 neg ah seg000:35EA mov cs:byte_C0139+120h, ah seg000:35EF pop es seg000:35F0 assume es:nothing seg000:35F0 pop di seg000:35F1 pop cx seg000:35F2 pop ax seg000:35F3 retn seg000:35F3 sub_C35CE endp seg000:35F3 seg000:35F4 seg000:35F4 ; =============== S U B R O U T I N E ======================================= seg000:35F4 seg000:35F4 seg000:35F4 sub_C35F4 proc near ; CODE XREF: sub_C463B+4132p seg000:35F4 mov ax, cs:word_C2BCA seg000:35F8 retn seg000:35F8 sub_C35F4 endp seg000:35F8 seg000:35F9 seg000:35F9 ; =============== S U B R O U T I N E ======================================= seg000:35F9 seg000:35F9 seg000:35F9 sub_C35F9 proc near ; CODE XREF: seg000:333Bp seg000:35F9 push eax seg000:35FB push esi seg000:35FD mov esi, 88078h seg000:3603 call sub_C475C seg000:3606 cmp al, 10h seg000:3608 jz short loc_C360D seg000:360A clc seg000:360B jmp short loc_C360E seg000:360D ; --------------------------------------------------------------------------- seg000:360D seg000:360D loc_C360D: ; CODE XREF: sub_C35F9+Fj seg000:360D stc seg000:360E seg000:360E loc_C360E: ; CODE XREF: sub_C35F9+12j seg000:360E pop esi seg000:3610 pop eax seg000:3612 retn seg000:3612 sub_C35F9 endp seg000:3612 seg000:3613 seg000:3613 ; =============== S U B R O U T I N E ======================================= seg000:3613 seg000:3613 seg000:3613 sub_C3613 proc near ; CODE XREF: sub_C4272+Ep seg000:3613 push eax seg000:3615 push cx seg000:3616 mov cx, 32h ; '2' seg000:3619 seg000:3619 loc_C3619: ; CODE XREF: sub_C3613+13j seg000:3619 mov al, 2 seg000:361B call sub_C4741 seg000:361E call sub_C363E seg000:3621 jz short loc_C3628 seg000:3623 call sub_C3485 seg000:3626 loop loc_C3619 seg000:3628 seg000:3628 loc_C3628: ; CODE XREF: sub_C3613+Ej seg000:3628 cmp cl, 0 seg000:362B pop cx seg000:362C pop eax seg000:362E retn seg000:362E sub_C3613 endp seg000:362E seg000:362F seg000:362F ; =============== S U B R O U T I N E ======================================= seg000:362F seg000:362F seg000:362F sub_C362F proc near ; CODE XREF: sub_C42AF+5p seg000:362F push eax seg000:3631 call sub_C363E seg000:3634 jnz short loc_C363B seg000:3636 xor al, al seg000:3638 call sub_C4741 seg000:363B seg000:363B loc_C363B: ; CODE XREF: sub_C362F+5j seg000:363B pop eax seg000:363D retn seg000:363D sub_C362F endp seg000:363D seg000:363E seg000:363E ; =============== S U B R O U T I N E ======================================= seg000:363E seg000:363E seg000:363E sub_C363E proc near ; CODE XREF: sub_C3613+Bp seg000:363E ; sub_C362F+2p ... seg000:363E push eax seg000:3640 call sub_C475C seg000:3643 cmp al, 2 seg000:3645 pop eax seg000:3647 retn seg000:3647 sub_C363E endp seg000:3647 seg000:3648 seg000:3648 ; =============== S U B R O U T I N E ======================================= seg000:3648 seg000:3648 ; Attributes: bp-based frame seg000:3648 seg000:3648 sub_C3648 proc near ; CODE XREF: seg000:3D86p seg000:3648 ; seg000:3DB0p ... seg000:3648 seg000:3648 arg_0 = word ptr 4 seg000:3648 seg000:3648 push bp seg000:3649 mov bp, sp seg000:364B push cx seg000:364C mov cx, [bp+arg_0] seg000:364F mov eax, edi seg000:3652 neg cl seg000:3654 add cl, 20h ; ' ' seg000:3657 shl eax, cl seg000:365A add cl, ch seg000:365C shr eax, cl seg000:365F pop cx seg000:3660 pop bp seg000:3661 retn 2 seg000:3661 sub_C3648 endp seg000:3661 seg000:3664 seg000:3664 ; =============== S U B R O U T I N E ======================================= seg000:3664 seg000:3664 seg000:3664 sub_C3664 proc near ; CODE XREF: sub_C368F+1Dp seg000:3664 ; sub_C4924+6p seg000:3664 push eax seg000:3666 push bx seg000:3667 call sub_C0529 seg000:366A sub ax, 100Fh seg000:366D adc word ptr [di+10h], 0F26h seg000:3672 adc [si], ch seg000:3674 or al, 94h seg000:3676 popa seg000:3677 add [si], bl seg000:3679 jle short near ptr loc_C3692+1 seg000:367B sbb al, 71h ; 'q' seg000:367D mov ah, bl seg000:367F call sub_C0529 seg000:3682 adc word ptr [di+10h], 0F26h seg000:3687 adc [bx+di+38h], dh seg000:368A loopne near ptr loc_C36E3+4 seg000:368C pop eax seg000:368E retn seg000:368E sub_C3664 endp ; sp-analysis failed seg000:368E seg000:368F seg000:368F ; =============== S U B R O U T I N E ======================================= seg000:368F seg000:368F seg000:368F sub_C368F proc near ; CODE XREF: seg000:loc_C308Ap seg000:368F ; sub_C310E+81p seg000:368F push ax seg000:3690 xor ah, ah seg000:3692 seg000:3692 loc_C3692: ; CODE XREF: sub_C3664+15j seg000:3692 call sub_C36B6 seg000:3695 jnb short loc_C36A3 seg000:3697 call sub_C1BFC seg000:369A jnb short loc_C36A8 seg000:369C mov al, 33h ; '3' seg000:369E call sub_C126B seg000:36A1 jmp short loc_C36A8 seg000:36A3 ; --------------------------------------------------------------------------- seg000:36A3 seg000:36A3 loc_C36A3: ; CODE XREF: sub_C368F+6j seg000:36A3 mov al, 0Dh seg000:36A5 call sub_C126B seg000:36A8 seg000:36A8 loc_C36A8: ; CODE XREF: sub_C368F+Bj seg000:36A8 ; sub_C368F+12j seg000:36A8 or ah, ah seg000:36AA jnz short loc_C36B2 seg000:36AC call sub_C3664 seg000:36AF setnz ah seg000:36B2 seg000:36B2 loc_C36B2: ; CODE XREF: sub_C368F+1Bj seg000:36B2 shr ah, 1 seg000:36B4 pop ax seg000:36B5 retn seg000:36B5 sub_C368F endp seg000:36B5 seg000:36B6 seg000:36B6 ; =============== S U B R O U T I N E ======================================= seg000:36B6 seg000:36B6 seg000:36B6 sub_C36B6 proc near ; CODE XREF: sub_C368F:loc_C3692p seg000:36B6 ; sub_C463B+3EA4p seg000:36B6 push ax seg000:36B7 push dx seg000:36B8 push bx seg000:36B9 mov al, 3Fh ; '?' seg000:36BB call sub_C126B seg000:36BE bt ax, 0Fh seg000:36C2 pop bx seg000:36C3 pop dx seg000:36C4 pop ax seg000:36C5 retn seg000:36C5 sub_C36B6 endp seg000:36C5 seg000:36C6 ; --------------------------------------------------------------------------- seg000:36C6 push eax seg000:36C8 push esi seg000:36CA rol eax, 10h seg000:36CE mov ax, cx seg000:36D0 rol eax, 10h seg000:36D4 mov esi, 1154h seg000:36DA call sub_C4741 seg000:36DD mov esi, 1150h seg000:36E3 seg000:36E3 loc_C36E3: ; CODE XREF: sub_C3664+26j seg000:36E3 mov eax, 1 seg000:36E9 call sub_C4741 seg000:36EC pop esi seg000:36EE pop eax seg000:36F0 retn seg000:36F0 ; --------------------------------------------------------------------------- seg000:36F1 db 41h ; A seg000:36F2 db 30h, 42h, 31h, 80h, 10h, 81h, 11h, 82h, 12h, 83h, 13h seg000:36FD seg000:36FD ; =============== S U B R O U T I N E ======================================= seg000:36FD seg000:36FD seg000:36FD sub_C36FD proc near ; CODE XREF: sub_C13B4+11p seg000:36FD ; sub_C3719p ... seg000:36FD push cx seg000:36FE push si seg000:36FF lea si, ds:36F1h seg000:3703 mov cx, 6 seg000:3706 mov ah, 0FFh seg000:3708 seg000:3708 loc_C3708: ; CODE XREF: sub_C36FD+17j seg000:3708 cmp al, cs:[si] seg000:370B jnz short loc_C3711 seg000:370D mov ah, cs:[si+1] seg000:3711 seg000:3711 loc_C3711: ; CODE XREF: sub_C36FD+Ej seg000:3711 add si, 2 seg000:3714 loop loc_C3708 seg000:3716 pop si seg000:3717 pop cx seg000:3718 retn seg000:3718 sub_C36FD endp seg000:3718 seg000:3719 seg000:3719 ; =============== S U B R O U T I N E ======================================= seg000:3719 seg000:3719 seg000:3719 sub_C3719 proc near ; CODE XREF: sub_C39AA+1Dp seg000:3719 call sub_C36FD seg000:371C or ah, 40h seg000:371F retn seg000:371F sub_C3719 endp seg000:371F seg000:3720 seg000:3720 ; =============== S U B R O U T I N E ======================================= seg000:3720 seg000:3720 seg000:3720 sub_C3720 proc near ; CODE XREF: sub_C13B4+14p seg000:3720 ; seg000:3992p ... seg000:3720 push eax seg000:3722 push bx seg000:3723 push ecx seg000:3725 push esi seg000:3727 xor edx, edx seg000:372A mov bh, ah seg000:372C and ah, 3Fh seg000:372F cmp ah, 30h ; '0' seg000:3732 jb short loc_C373D seg000:3734 and ah, 0Fh seg000:3737 call sub_C37DB seg000:373A jmp loc_C37D3 seg000:373D ; --------------------------------------------------------------------------- seg000:373D seg000:373D loc_C373D: ; CODE XREF: sub_C3720+12j seg000:373D cmp ah, 10h seg000:3740 jb loc_C37D3 seg000:3744 xor esi, esi seg000:3747 cmp ah, 13h seg000:374A ja short loc_C376B seg000:374C and ah, 0Fh seg000:374F shl ah, 2 seg000:3752 movzx si, ah seg000:3755 test bh, 40h seg000:3758 jz short loc_C3762 seg000:375A add si, 0E940h seg000:375E xor bx, bx seg000:3760 jmp short loc_C3771 seg000:3762 ; --------------------------------------------------------------------------- seg000:3762 seg000:3762 loc_C3762: ; CODE XREF: sub_C3720+38j seg000:3762 add si, 0E900h seg000:3766 mov bx, 20h ; ' ' seg000:3769 jmp short loc_C3771 seg000:376B ; --------------------------------------------------------------------------- seg000:376B seg000:376B loc_C376B: ; CODE XREF: sub_C3720+2Aj seg000:376B mov si, 0E9A0h seg000:376E mov bx, 40h ; '@' seg000:3771 seg000:3771 loc_C3771: ; CODE XREF: sub_C3720+40j seg000:3771 ; sub_C3720+49j seg000:3771 call sub_C475C seg000:3774 mov cl, al seg000:3776 and cl, 3 seg000:3779 or cl, cl seg000:377B jnz short loc_C3794 seg000:377D call sub_C37DF seg000:3780 and eax, 30000h seg000:3786 cmp eax, 30000h seg000:378C jnz short loc_C37D3 seg000:378E shl edx, 2 seg000:3792 jmp short loc_C37D3 seg000:3794 ; --------------------------------------------------------------------------- seg000:3794 seg000:3794 loc_C3794: ; CODE XREF: sub_C3720+5Bj seg000:3794 cmp cl, 2 seg000:3797 jnz short loc_C379E seg000:3799 call sub_C37E6 seg000:379C jmp short loc_C37D3 seg000:379E ; --------------------------------------------------------------------------- seg000:379E seg000:379E loc_C379E: ; CODE XREF: sub_C3720+77j seg000:379E cmp cl, 3 seg000:37A1 jnz short loc_C37D3 seg000:37A3 and ah, 1 seg000:37A6 mov dl, ah seg000:37A8 mov al, ah seg000:37AA add al, 41h ; 'A' seg000:37AC stc seg000:37AD call sub_C39AA seg000:37B0 or bx, bx seg000:37B2 jz short loc_C37D3 seg000:37B4 add si, bx seg000:37B6 call sub_C475C seg000:37B9 or dl, dl seg000:37BB jz short loc_C37BF seg000:37BD mov al, ah seg000:37BF seg000:37BF loc_C37BF: ; CODE XREF: sub_C3720+9Bj seg000:37BF add al, 2 seg000:37C1 movzx eax, al seg000:37C5 shl ecx, 1 seg000:37C8 xor edx, edx seg000:37CB xchg eax, ecx seg000:37CD div ecx seg000:37D0 mov edx, eax seg000:37D3 seg000:37D3 loc_C37D3: ; CODE XREF: sub_C3720+1Aj seg000:37D3 ; sub_C3720+20j ... seg000:37D3 pop esi seg000:37D5 pop ecx seg000:37D7 pop bx seg000:37D8 pop eax seg000:37DA retn seg000:37DA sub_C3720 endp seg000:37DA seg000:37DB seg000:37DB ; =============== S U B R O U T I N E ======================================= seg000:37DB seg000:37DB seg000:37DB sub_C37DB proc near ; CODE XREF: sub_C3720+17p seg000:37DB call sub_C37DF seg000:37DE retn seg000:37DE sub_C37DB endp seg000:37DE seg000:37DF seg000:37DF ; =============== S U B R O U T I N E ======================================= seg000:37DF seg000:37DF seg000:37DF sub_C37DF proc near ; CODE XREF: sub_C3720+5Dp seg000:37DF ; sub_C37DBp seg000:37DF mov edx, 6978h seg000:37E5 retn seg000:37E5 sub_C37DF endp seg000:37E5 seg000:37E6 seg000:37E6 ; =============== S U B R O U T I N E ======================================= seg000:37E6 seg000:37E6 seg000:37E6 sub_C37E6 proc near ; CODE XREF: sub_C3720+79p seg000:37E6 mov edx, 186A0h seg000:37EC retn seg000:37EC sub_C37E6 endp seg000:37EC seg000:37ED ; --------------------------------------------------------------------------- seg000:37ED push eax seg000:37EF push ebx seg000:37F1 push esi seg000:37F3 movzx bx, ah seg000:37F6 and ah, 3Fh seg000:37F9 mov esi, 0E900h seg000:37FF push ax seg000:3800 and ax, 0F00h seg000:3803 shr ax, 6 seg000:3806 add si, ax seg000:3808 pop ax seg000:3809 and bx, 40h seg000:380C add si, bx seg000:380E xor ebx, ebx seg000:3811 cmp al, 1 seg000:3813 jnz short loc_C381E seg000:3815 or ebx, 10000h seg000:381C jmp short loc_C3835 seg000:381E ; --------------------------------------------------------------------------- seg000:381E seg000:381E loc_C381E: ; CODE XREF: seg000:3813j seg000:381E cmp al, 2 seg000:3820 jz short loc_C3826 seg000:3822 cmp al, 3 seg000:3824 jnz short loc_C3835 seg000:3826 seg000:3826 loc_C3826: ; CODE XREF: seg000:3820j seg000:3826 or ebx, 3 seg000:382A cmp al, 3 seg000:382C jnz short loc_C3835 seg000:382E or ebx, 100h seg000:3835 seg000:3835 loc_C3835: ; CODE XREF: seg000:381Cj seg000:3835 ; seg000:3824j ... seg000:3835 call sub_C475C seg000:3838 and eax, 0FFFCFEFCh seg000:383E or eax, ebx seg000:3841 call sub_C4741 seg000:3844 pop esi seg000:3846 pop ebx seg000:3848 pop eax seg000:384A retn seg000:384B seg000:384B ; =============== S U B R O U T I N E ======================================= seg000:384B seg000:384B seg000:384B sub_C384B proc near ; CODE XREF: sub_C39AA+7p seg000:384B ; seg000:39FBp seg000:384B push ax seg000:384C push dx seg000:384D push esi seg000:384F movzx dx, al seg000:3852 call sub_C3C98 seg000:3855 xor cl, cl seg000:3857 cmp dl, 80h ; 'Ç' seg000:385A jb short loc_C387E seg000:385C cmp dl, 90h ; 'É' seg000:385F jnb short loc_C387E seg000:3861 mov esi, cs:[si+3] seg000:3866 add si, 0Ch seg000:3869 call sub_C475C seg000:386C bt ax, 8 seg000:3870 rcl cl, 1 seg000:3872 add si, 0FFF4h seg000:3875 call sub_C475C seg000:3878 bt ax, 3 seg000:387C jmp short loc_C38AD seg000:387E ; --------------------------------------------------------------------------- seg000:387E seg000:387E loc_C387E: ; CODE XREF: sub_C384B+Fj seg000:387E ; sub_C384B+14j seg000:387E cmp dl, 41h ; 'A' seg000:3881 jz short loc_C3888 seg000:3883 cmp dl, 42h ; 'B' seg000:3886 jnz short loc_C3899 seg000:3888 seg000:3888 loc_C3888: ; CODE XREF: sub_C384B+36j seg000:3888 mov esi, 0E9F8h seg000:388E call sub_C475C seg000:3891 sub dl, 41h ; 'A' seg000:3894 bt ax, dx seg000:3897 jmp short loc_C38AD seg000:3899 ; --------------------------------------------------------------------------- seg000:3899 seg000:3899 loc_C3899: ; CODE XREF: sub_C384B+3Bj seg000:3899 mov al, dl seg000:389B call sub_C36FD seg000:389E movzx dx, ah seg000:38A1 mov esi, 137340h seg000:38A7 call sub_C475C seg000:38AA bt ax, dx seg000:38AD seg000:38AD loc_C38AD: ; CODE XREF: sub_C384B+31j seg000:38AD ; sub_C384B+4Cj seg000:38AD rcl cl, 1 seg000:38AF add si, 4 seg000:38B2 call sub_C475C seg000:38B5 and eax, 3FFFFFh seg000:38BB mov ebx, eax seg000:38BE xor eax, eax seg000:38C1 cmp dl, 80h ; 'Ç' seg000:38C4 jb short loc_C38D1 seg000:38C6 cmp dl, 90h ; 'É' seg000:38C9 jnb short loc_C38D1 seg000:38CB add si, 0Ch seg000:38CE call sub_C475C seg000:38D1 seg000:38D1 loc_C38D1: ; CODE XREF: sub_C384B+79j seg000:38D1 ; sub_C384B+7Ej seg000:38D1 pop esi seg000:38D3 pop dx seg000:38D4 pop ax seg000:38D5 retn seg000:38D5 sub_C384B endp seg000:38D5 seg000:38D6 seg000:38D6 ; =============== S U B R O U T I N E ======================================= seg000:38D6 seg000:38D6 seg000:38D6 sub_C38D6 proc near ; CODE XREF: seg000:399Dp seg000:38D6 ; seg000:3A01p seg000:38D6 push eax seg000:38D8 push ebx seg000:38DA push cx seg000:38DB push edx seg000:38DD push esi seg000:38DF push di seg000:38E0 call sub_C3C98 seg000:38E3 mov esi, cs:[si+3] seg000:38E8 call sub_C397D seg000:38EB and al, 0F0h seg000:38ED cmp al, 80h ; 'Ç' seg000:38EF jnz short loc_C3946 seg000:38F1 push cx seg000:38F2 cmp ah, 0 seg000:38F5 pushf seg000:38F6 shr eax, 10h seg000:38FA mov cx, ax seg000:38FC add si, 0Ch seg000:38FF call sub_C475C seg000:3902 and eax, 0FFFFE4FFh seg000:3908 popf seg000:3909 jnz short loc_C391E seg000:390B or eax, 100h seg000:3911 or edx, edx seg000:3914 jz short loc_C3920 seg000:3916 or eax, 0A00h seg000:391C jmp short loc_C3920 seg000:391E ; --------------------------------------------------------------------------- seg000:391E seg000:391E loc_C391E: ; CODE XREF: sub_C38D6+33j seg000:391E xor cx, cx seg000:3920 seg000:3920 loc_C3920: ; CODE XREF: sub_C38D6+3Ej seg000:3920 ; sub_C38D6+46j seg000:3920 call sub_C4741 seg000:3923 add si, 0FFF8h seg000:3926 mov eax, ebx seg000:3929 call sub_C4741 seg000:392C add si, 0Ch seg000:392F movzx eax, cx seg000:3933 shl eax, 10h seg000:3937 pop ax seg000:3938 call sub_C4741 seg000:393B add si, 4 seg000:393E mov eax, edx seg000:3941 call sub_C4741 seg000:3944 jmp short loc_C3957 seg000:3946 ; --------------------------------------------------------------------------- seg000:3946 seg000:3946 loc_C3946: ; CODE XREF: sub_C38D6+19j seg000:3946 add si, 4 seg000:3949 call sub_C475C seg000:394C cmp eax, ebx seg000:394F jz short loc_C3957 seg000:3951 mov eax, ebx seg000:3954 call sub_C4741 seg000:3957 seg000:3957 loc_C3957: ; CODE XREF: sub_C38D6+6Ej seg000:3957 ; sub_C38D6+79j seg000:3957 pop di seg000:3958 pop esi seg000:395A pop edx seg000:395C pop cx seg000:395D pop ebx seg000:395F pop eax seg000:3961 retn seg000:3961 sub_C38D6 endp seg000:3961 seg000:3962 ; --------------------------------------------------------------------------- seg000:3962 push eax seg000:3964 push esi seg000:3966 call sub_C3C98 seg000:3969 mov esi, cs:[si+3] seg000:396E call sub_C475C seg000:3971 or eax, 1 seg000:3975 call sub_C4741 seg000:3978 pop esi seg000:397A pop eax seg000:397C retn seg000:397D seg000:397D ; =============== S U B R O U T I N E ======================================= seg000:397D seg000:397D seg000:397D sub_C397D proc near ; CODE XREF: sub_C38D6+12p seg000:397D ; sub_C3BCC+10p seg000:397D mov ah, al seg000:397F and ah, 0F0h seg000:3982 sub ah, 80h ; 'Ç' seg000:3985 retn seg000:3985 sub_C397D endp seg000:3985 seg000:3986 ; --------------------------------------------------------------------------- seg000:3986 push eax seg000:3988 push ebx seg000:398A push cx seg000:398B push edx seg000:398D push edi seg000:398F call sub_C36FD seg000:3992 call sub_C3720 seg000:3995 call sub_C3A0F seg000:3998 xor cx, cx seg000:399A xor edx, edx seg000:399D call sub_C38D6 seg000:39A0 pop edi seg000:39A2 pop edx seg000:39A4 pop cx seg000:39A5 pop ebx seg000:39A7 pop eax seg000:39A9 retn seg000:39AA seg000:39AA ; =============== S U B R O U T I N E ======================================= seg000:39AA seg000:39AA seg000:39AA sub_C39AA proc near ; CODE XREF: sub_C3720+8Dp seg000:39AA push eax seg000:39AC push ebx seg000:39AE push edx seg000:39B0 pushf seg000:39B1 call sub_C384B seg000:39B4 popf seg000:39B5 jnb short loc_C39C2 seg000:39B7 ror ebx, 10h seg000:39BB xor bx, bx seg000:39BD inc bx seg000:39BE rol ebx, 10h seg000:39C2 seg000:39C2 loc_C39C2: ; CODE XREF: sub_C39AA+Bj seg000:39C2 test cl, 1 seg000:39C5 jz short loc_C39D2 seg000:39C7 call sub_C3719 seg000:39CA call sub_C3720 seg000:39CD mov ecx, edx seg000:39D0 jmp short loc_C39DF seg000:39D2 ; --------------------------------------------------------------------------- seg000:39D2 seg000:39D2 loc_C39D2: ; CODE XREF: sub_C39AA+1Bj seg000:39D2 call sub_C36FD seg000:39D5 call sub_C3720 seg000:39D8 bt cx, 1 seg000:39DC call sub_C3B2B seg000:39DF seg000:39DF loc_C39DF: ; CODE XREF: sub_C39AA+26j seg000:39DF pop edx seg000:39E1 pop ebx seg000:39E3 pop eax seg000:39E5 retn seg000:39E5 sub_C39AA endp seg000:39E5 seg000:39E6 ; --------------------------------------------------------------------------- seg000:39E6 push eax seg000:39E8 push ebx seg000:39EA push ecx seg000:39EC push edx seg000:39EE push edi seg000:39F0 call sub_C36FD seg000:39F3 mov di, dx seg000:39F5 call sub_C3720 seg000:39F8 xchg edi, edx seg000:39FB call sub_C384B seg000:39FE call sub_C3AB3 seg000:3A01 call sub_C38D6 seg000:3A04 pop edi seg000:3A06 pop edx seg000:3A08 pop ecx seg000:3A0A pop ebx seg000:3A0C pop eax seg000:3A0E retn seg000:3A0F seg000:3A0F ; =============== S U B R O U T I N E ======================================= seg000:3A0F seg000:3A0F seg000:3A0F sub_C3A0F proc near ; CODE XREF: sub_C13B4+17p seg000:3A0F ; seg000:3995p seg000:3A0F pushf seg000:3A10 cli seg000:3A11 call sub_C3A29 seg000:3A14 jb short loc_C3A19 seg000:3A16 call sub_C3CBE seg000:3A19 seg000:3A19 loc_C3A19: ; CODE XREF: sub_C3A0F+5j seg000:3A19 jb short loc_C3A27 seg000:3A1B call sub_C4843 seg000:3A1E call sub_C3BCC seg000:3A21 call sub_C48B5 seg000:3A24 call sub_C3D04 seg000:3A27 seg000:3A27 loc_C3A27: ; CODE XREF: sub_C3A0F:loc_C3A19j seg000:3A27 popf seg000:3A28 retn seg000:3A28 sub_C3A0F endp seg000:3A28 seg000:3A29 seg000:3A29 ; =============== S U B R O U T I N E ======================================= seg000:3A29 seg000:3A29 seg000:3A29 sub_C3A29 proc near ; CODE XREF: sub_C3A0F+2p seg000:3A29 push ax seg000:3A2A push si seg000:3A2B push di seg000:3A2C xor si, si seg000:3A2E mov ebx, ecx seg000:3A31 lea di, ds:4CAEh seg000:3A35 mov cx, 2 seg000:3A38 seg000:3A38 loc_C3A38: ; CODE XREF: sub_C3A29+1Dj seg000:3A38 cmp al, cs:[di] seg000:3A3B jnz short loc_C3A41 seg000:3A3D mov si, cs:[di+1] seg000:3A41 seg000:3A41 loc_C3A41: ; CODE XREF: sub_C3A29+12j seg000:3A41 add di, 3 seg000:3A44 or si, si seg000:3A46 loope loc_C3A38 seg000:3A48 xor di, di seg000:3A4A or si, si seg000:3A4C jz short loc_C3A6E seg000:3A4E movzx cx, byte ptr cs:[si] seg000:3A52 inc si seg000:3A53 cmp cx, 0 seg000:3A56 jbe short loc_C3A6E seg000:3A58 seg000:3A58 loc_C3A58: ; CODE XREF: sub_C3A29+43j seg000:3A58 cmp ebx, cs:[si] seg000:3A5C jnz short loc_C3A67 seg000:3A5E cmp edx, cs:[si+4] seg000:3A63 jnz short loc_C3A67 seg000:3A65 mov di, si seg000:3A67 seg000:3A67 loc_C3A67: ; CODE XREF: sub_C3A29+33j seg000:3A67 ; sub_C3A29+3Aj seg000:3A67 add si, 0Eh seg000:3A6A or di, di seg000:3A6C loope loc_C3A58 seg000:3A6E seg000:3A6E loc_C3A6E: ; CODE XREF: sub_C3A29+23j seg000:3A6E ; sub_C3A29+2Dj seg000:3A6E mov ecx, ebx seg000:3A71 or di, di seg000:3A73 jz short loc_C3A85 seg000:3A75 mov ax, cs:[di+0Ch] seg000:3A79 shl eax, 10h seg000:3A7D mov ebx, cs:[di+8] seg000:3A82 stc seg000:3A83 jmp short $+2 seg000:3A85 ; --------------------------------------------------------------------------- seg000:3A85 seg000:3A85 loc_C3A85: ; CODE XREF: sub_C3A29+4Aj seg000:3A85 ; sub_C3A29+5Aj seg000:3A85 pop di seg000:3A86 pop si seg000:3A87 pop ax seg000:3A88 retn seg000:3A88 sub_C3A29 endp seg000:3A88 seg000:3A89 seg000:3A89 ; =============== S U B R O U T I N E ======================================= seg000:3A89 seg000:3A89 seg000:3A89 sub_C3A89 proc near ; CODE XREF: sub_C3AB3+1Bp seg000:3A89 ; sub_C3AB3+29p seg000:3A89 push eax seg000:3A8B push ebx seg000:3A8D push edx seg000:3A8F push edi seg000:3A91 shl ebx, 0Dh seg000:3A95 lea eax, [ebx+eax+1000h] seg000:3A9E mov edi, 7D0h seg000:3AA4 call sub_C3B83 seg000:3AA7 mov ecx, eax seg000:3AAA pop edi seg000:3AAC pop edx seg000:3AAE pop ebx seg000:3AB0 pop eax seg000:3AB2 retn seg000:3AB2 sub_C3A89 endp seg000:3AB2 seg000:3AB3 seg000:3AB3 ; =============== S U B R O U T I N E ======================================= seg000:3AB3 seg000:3AB3 ; Attributes: bp-based frame seg000:3AB3 seg000:3AB3 sub_C3AB3 proc near ; CODE XREF: seg000:39FEp seg000:3AB3 seg000:3AB3 var_6 = dword ptr -6 seg000:3AB3 var_1 = byte ptr -1 seg000:3AB3 seg000:3AB3 push bp seg000:3AB4 mov bp, sp seg000:3AB6 add sp, 0FFFAh seg000:3AB9 push eax seg000:3ABB push ebx seg000:3ABD push edi seg000:3ABF mov [bp+var_1], bl seg000:3AC2 sar eax, 10h seg000:3AC6 movzx ebx, bh seg000:3ACA movzx ecx, dh seg000:3ACE call sub_C3A89 seg000:3AD1 neg cx seg000:3AD3 add cx, ax seg000:3AD5 mov word ptr [bp+var_6+2], cx seg000:3AD8 movzx ecx, dl seg000:3ADC call sub_C3A89 seg000:3ADF add cx, ax seg000:3AE1 mov word ptr [bp+var_6], cx seg000:3AE4 sub cx, word ptr [bp+var_6+2] seg000:3AE7 movzx ecx, cx seg000:3AEB movzx eax, [bp+var_1] seg000:3AF0 imul eax, 42h seg000:3AF4 mul ecx seg000:3AF7 jz short loc_C3B1B seg000:3AF9 cmp eax, edi seg000:3AFC jbe short loc_C3B11 seg000:3AFE shl eax, 1 seg000:3B01 call sub_C3B8A seg000:3B04 test al, 1 seg000:3B06 jz short loc_C3B0D seg000:3B08 or ax, 1000h seg000:3B0B jmp short loc_C3B1B seg000:3B0D ; --------------------------------------------------------------------------- seg000:3B0D seg000:3B0D loc_C3B0D: ; CODE XREF: sub_C3AB3+53j seg000:3B0D shr ax, 1 seg000:3B0F jmp short loc_C3B1B seg000:3B11 ; --------------------------------------------------------------------------- seg000:3B11 seg000:3B11 loc_C3B11: ; CODE XREF: sub_C3AB3+49j seg000:3B11 xchg eax, edi seg000:3B13 call sub_C3B8A seg000:3B16 dec ax seg000:3B17 shl ax, 0Ch seg000:3B1A inc ax seg000:3B1B seg000:3B1B loc_C3B1B: ; CODE XREF: sub_C3AB3+44j seg000:3B1B ; sub_C3AB3+58j ... seg000:3B1B mov cx, ax seg000:3B1D mov edx, [bp+var_6] seg000:3B21 pop edi seg000:3B23 pop ebx seg000:3B25 pop eax seg000:3B27 mov sp, bp seg000:3B29 pop bp seg000:3B2A retn seg000:3B2A sub_C3AB3 endp seg000:3B2A seg000:3B2B seg000:3B2B ; =============== S U B R O U T I N E ======================================= seg000:3B2B seg000:3B2B seg000:3B2B sub_C3B2B proc near ; CODE XREF: sub_C39AA+32p seg000:3B2B push eax seg000:3B2D push ebx seg000:3B2F push edx seg000:3B31 push edi seg000:3B33 pushf seg000:3B34 mov al, bl seg000:3B36 movzx ecx, bh seg000:3B3A shr ebx, 10h seg000:3B3E mul bl seg000:3B40 movzx edi, ax seg000:3B44 sar eax, 10h seg000:3B48 xchg eax, edx seg000:3B4A popf seg000:3B4B jnb short loc_C3B61 seg000:3B4D shl edi, 0Dh seg000:3B51 shl ecx, 0Dh seg000:3B55 add ecx, 1000h seg000:3B5C add ecx, edx seg000:3B5F jmp short $+2 seg000:3B61 ; --------------------------------------------------------------------------- seg000:3B61 seg000:3B61 loc_C3B61: ; CODE XREF: sub_C3B2B+20j seg000:3B61 ; sub_C3B2B+34j seg000:3B61 call sub_C3B97 seg000:3B64 mov ecx, eax seg000:3B67 pop edi seg000:3B69 pop edx seg000:3B6B pop ebx seg000:3B6D pop eax seg000:3B6F retn seg000:3B6F sub_C3B2B endp seg000:3B6F seg000:3B70 seg000:3B70 ; =============== S U B R O U T I N E ======================================= seg000:3B70 seg000:3B70 seg000:3B70 sub_C3B70 proc near ; CODE XREF: sub_C3BCC+1Ep seg000:3B70 ; sub_C3BCC+4Dp seg000:3B70 movzx eax, ax seg000:3B74 imul eax, 3E8h seg000:3B7B retn seg000:3B7B sub_C3B70 endp seg000:3B7B seg000:3B7C seg000:3B7C ; =============== S U B R O U T I N E ======================================= seg000:3B7C seg000:3B7C seg000:3B7C sub_C3B7C proc near ; CODE XREF: sub_C3BCC+25p seg000:3B7C xor edx, edx seg000:3B7F div edi seg000:3B82 retn seg000:3B82 sub_C3B7C endp seg000:3B82 seg000:3B83 seg000:3B83 ; =============== S U B R O U T I N E ======================================= seg000:3B83 seg000:3B83 seg000:3B83 sub_C3B83 proc near ; CODE XREF: sub_C3A89+1Bp seg000:3B83 ; sub_C3BCC+A5p seg000:3B83 mul ecx seg000:3B86 div edi seg000:3B89 retn seg000:3B89 sub_C3B83 endp seg000:3B89 seg000:3B8A seg000:3B8A ; =============== S U B R O U T I N E ======================================= seg000:3B8A seg000:3B8A seg000:3B8A sub_C3B8A proc near ; CODE XREF: sub_C3AB3+4Ep seg000:3B8A ; sub_C3AB3+60p ... seg000:3B8A push ecx seg000:3B8C xor ecx, ecx seg000:3B8F inc ecx seg000:3B91 call sub_C3B97 seg000:3B94 pop ecx seg000:3B96 retn seg000:3B96 sub_C3B8A endp seg000:3B96 seg000:3B97 seg000:3B97 ; =============== S U B R O U T I N E ======================================= seg000:3B97 seg000:3B97 seg000:3B97 sub_C3B97 proc near ; CODE XREF: sub_C3B2B:loc_C3B61p seg000:3B97 ; sub_C3B8A+7p ... seg000:3B97 push ecx seg000:3B99 mul ecx seg000:3B9C mov ecx, edi seg000:3B9F shr ecx, 1 seg000:3BA2 add eax, ecx seg000:3BA5 adc edx, 0 seg000:3BA9 div edi seg000:3BAC pop ecx seg000:3BAE retn seg000:3BAE sub_C3B97 endp seg000:3BAE seg000:3BAF seg000:3BAF ; =============== S U B R O U T I N E ======================================= seg000:3BAF seg000:3BAF seg000:3BAF sub_C3BAF proc near ; CODE XREF: sub_C3BCC+57p seg000:3BAF push ecx seg000:3BB1 xor ecx, ecx seg000:3BB4 inc ecx seg000:3BB6 call sub_C3BBC seg000:3BB9 pop ecx seg000:3BBB retn seg000:3BBB sub_C3BAF endp seg000:3BBB seg000:3BBC seg000:3BBC ; =============== S U B R O U T I N E ======================================= seg000:3BBC seg000:3BBC seg000:3BBC sub_C3BBC proc near ; CODE XREF: sub_C3BAF+7p seg000:3BBC mul ecx seg000:3BBF dec eax seg000:3BC1 add eax, edi seg000:3BC4 adc edx, 0 seg000:3BC8 div edi seg000:3BCB retn seg000:3BCB sub_C3BBC endp seg000:3BCB seg000:3BCC seg000:3BCC ; =============== S U B R O U T I N E ======================================= seg000:3BCC seg000:3BCC ; Attributes: bp-based frame seg000:3BCC seg000:3BCC sub_C3BCC proc near ; CODE XREF: sub_C3A0F+Fp seg000:3BCC seg000:3BCC var_12 = word ptr -12h seg000:3BCC var_10 = dword ptr -10h seg000:3BCC var_C = dword ptr -0Ch seg000:3BCC var_8 = dword ptr -8 seg000:3BCC var_4 = dword ptr -4 seg000:3BCC seg000:3BCC push bp seg000:3BCD mov bp, sp seg000:3BCF add sp, 0FFEEh seg000:3BD2 push ax seg000:3BD3 push si seg000:3BD4 mov [bp+var_4], ecx seg000:3BD8 mov [bp+var_8], edx seg000:3BDC call sub_C397D seg000:3BDF call sub_C3C98 seg000:3BE2 mov si, cs:[si+1] seg000:3BE6 mov ax, cs:[si+2] seg000:3BEA call sub_C3B70 seg000:3BED mov edi, [bp+var_4] seg000:3BF1 call sub_C3B7C seg000:3BF4 movzx bx, byte ptr cs:[si+0Dh] seg000:3BF9 cmp ax, bx seg000:3BFB jbe short loc_C3BFF seg000:3BFD mov ax, bx seg000:3BFF seg000:3BFF loc_C3BFF: ; CODE XREF: sub_C3BCC+2Fj seg000:3BFF movzx bx, byte ptr cs:[si+0Ch] seg000:3C04 cmp ax, bx seg000:3C06 jnb short loc_C3C0A seg000:3C08 mov ax, bx seg000:3C0A seg000:3C0A loc_C3C0A: ; CODE XREF: sub_C3BCC+3Aj seg000:3C0A mov word ptr [bp+var_10+2], ax seg000:3C0D imul eax, ecx seg000:3C11 mov [bp+var_C], eax seg000:3C15 mov ax, cs:[si+6] seg000:3C19 call sub_C3B70 seg000:3C1C mov edi, eax seg000:3C1F mov eax, [bp+var_8] seg000:3C23 call sub_C3BAF seg000:3C26 mov byte ptr [bp+var_10], al seg000:3C29 mov ebx, [bp+var_C] seg000:3C2D mul ebx seg000:3C30 mov edi, [bp+var_8] seg000:3C34 mov edx, edi seg000:3C37 shr edx, 1 seg000:3C3A sub eax, edx seg000:3C3D call sub_C3B8A seg000:3C40 mov byte ptr [bp+var_10+1], al seg000:3C43 xchg eax, ebx seg000:3C45 movzx ecx, byte ptr [bp+var_10] seg000:3C4A shl ecx, 0Dh seg000:3C4E call sub_C3B97 seg000:3C51 movzx edx, bx seg000:3C55 shl edx, 0Dh seg000:3C59 sub eax, edx seg000:3C5C sub eax, 1000h seg000:3C62 mov [bp+var_12], ax seg000:3C65 add eax, 1000h seg000:3C6B add eax, edx seg000:3C6E xchg ecx, edi seg000:3C71 call sub_C3B83 seg000:3C74 movzx edi, word ptr [bp+var_10+2] seg000:3C79 call sub_C3B8A seg000:3C7C mov edi, eax seg000:3C7F mov ax, [bp+var_12] seg000:3C82 shl eax, 10h seg000:3C86 mov ebx, [bp+var_10] seg000:3C8A mov edx, [bp+var_8] seg000:3C8E mov ecx, [bp+var_4] seg000:3C92 pop si seg000:3C93 pop ax seg000:3C94 mov sp, bp seg000:3C96 pop bp seg000:3C97 retn seg000:3C97 sub_C3BCC endp seg000:3C97 seg000:3C98 seg000:3C98 ; =============== S U B R O U T I N E ======================================= seg000:3C98 seg000:3C98 seg000:3C98 sub_C3C98 proc near ; CODE XREF: sub_C384B+7p seg000:3C98 ; sub_C38D6+Ap ... seg000:3C98 push bx seg000:3C99 push cx seg000:3C9A push di seg000:3C9B mov di, 4CB5h seg000:3C9E movzx cx, byte ptr cs:[di+3] seg000:3CA3 movzx bx, byte ptr cs:[di+2] seg000:3CA8 mov di, 4CBAh seg000:3CAB xor si, si seg000:3CAD seg000:3CAD loc_C3CAD: ; CODE XREF: sub_C3C98+20j seg000:3CAD cmp al, cs:[di] seg000:3CB0 jnz short loc_C3CB4 seg000:3CB2 mov si, di seg000:3CB4 seg000:3CB4 loc_C3CB4: ; CODE XREF: sub_C3C98+18j seg000:3CB4 add di, bx seg000:3CB6 or si, si seg000:3CB8 loope loc_C3CAD seg000:3CBA pop di seg000:3CBB pop cx seg000:3CBC pop bx seg000:3CBD retn seg000:3CBD sub_C3C98 endp seg000:3CBD seg000:3CBE seg000:3CBE ; =============== S U B R O U T I N E ======================================= seg000:3CBE seg000:3CBE seg000:3CBE sub_C3CBE proc near ; CODE XREF: sub_C3A0F+7p seg000:3CBE push ax seg000:3CBF push dx seg000:3CC0 push esi seg000:3CC2 mov bh, al seg000:3CC4 mov eax, 100h seg000:3CCA cmp bh, 80h ; 'Ç' seg000:3CCD jbe short loc_C3CD2 seg000:3CCF and bh, 0F0h seg000:3CD2 seg000:3CD2 loc_C3CD2: ; CODE XREF: sub_C3CBE+Fj seg000:3CD2 mov al, bh seg000:3CD4 mov ebx, 0FFFFFFFFh seg000:3CDA mov dx, 10h seg000:3CDD call sub_C3EDA seg000:3CE0 jnb short loc_C3CFF seg000:3CE2 add si, 4 seg000:3CE5 call sub_C2B21 seg000:3CE8 mov edi, eax seg000:3CEB add si, 4 seg000:3CEE call sub_C2B21 seg000:3CF1 mov ebx, eax seg000:3CF4 add si, 4 seg000:3CF7 call sub_C2B21 seg000:3CFA shl eax, 10h seg000:3CFE stc seg000:3CFF seg000:3CFF loc_C3CFF: ; CODE XREF: sub_C3CBE+22j seg000:3CFF pop esi seg000:3D01 pop dx seg000:3D02 pop ax seg000:3D03 retn seg000:3D03 sub_C3CBE endp seg000:3D03 seg000:3D04 seg000:3D04 ; =============== S U B R O U T I N E ======================================= seg000:3D04 seg000:3D04 seg000:3D04 sub_C3D04 proc near ; CODE XREF: sub_C3A0F+15p seg000:3D04 push eax seg000:3D06 push edx seg000:3D08 push esi seg000:3D0A call sub_C2B4B seg000:3D0D jb short loc_C3D51 seg000:3D0F mov edx, eax seg000:3D12 push bx seg000:3D13 push cx seg000:3D14 mov bh, al seg000:3D16 mov eax, 100h seg000:3D1C mov al, bh seg000:3D1E mov dx, 10h seg000:3D21 mov cl, 0Ah seg000:3D23 call sub_C3F13 seg000:3D26 pop cx seg000:3D27 pop bx seg000:3D28 jnb short loc_C3D4E seg000:3D2A mov eax, ecx seg000:3D2D call sub_C2B25 seg000:3D30 add si, 4 seg000:3D33 mov eax, edi seg000:3D36 call sub_C2B25 seg000:3D39 sub si, 4 seg000:3D3C mov eax, ebx seg000:3D3F call sub_C2B25 seg000:3D42 add si, 4 seg000:3D45 shr edx, 10h seg000:3D49 mov ax, dx seg000:3D4B call sub_C2B25 seg000:3D4E seg000:3D4E loc_C3D4E: ; CODE XREF: sub_C3D04+24j seg000:3D4E call sub_C2B71 seg000:3D51 seg000:3D51 loc_C3D51: ; CODE XREF: sub_C3D04+9j seg000:3D51 pop esi seg000:3D53 pop edx seg000:3D55 pop eax seg000:3D57 retn seg000:3D57 sub_C3D04 endp seg000:3D57 seg000:3D58 ; --------------------------------------------------------------------------- seg000:3D58 mov ch, 4Dh ; 'M' seg000:3D5A push cs seg000:3D5B add al, 0 seg000:3D5D add [bp+50h], sp seg000:3D60 push cx seg000:3D61 push edx seg000:3D63 push edi seg000:3D65 push bx seg000:3D66 mov bl, dl seg000:3D68 mov edx, edi seg000:3D6B xor ch, ch seg000:3D6D movzx di, bl seg000:3D70 mov cl, cs:[di+3D5Ah] seg000:3D75 mov edi, cs:[si] seg000:3D79 test cl, 1 seg000:3D7C jz short loc_C3D83 seg000:3D7E or ch, 1 seg000:3D81 jmp short loc_C3D90 seg000:3D83 ; --------------------------------------------------------------------------- seg000:3D83 seg000:3D83 loc_C3D83: ; CODE XREF: seg000:3D7Cj seg000:3D83 push 408h seg000:3D86 call sub_C3648 seg000:3D89 cmp dl, al seg000:3D8B jnz short loc_C3D90 seg000:3D8D or ch, 1 seg000:3D90 seg000:3D90 loc_C3D90: ; CODE XREF: seg000:3D81j seg000:3D90 ; seg000:3D8Bj seg000:3D90 shr edx, 10h seg000:3D94 mov bl, ch seg000:3D96 and bl, 1 seg000:3D99 cmp bl, 1 seg000:3D9C jnz short loc_C3DBA seg000:3D9E test cl, 2 seg000:3DA1 jz short loc_C3DA8 seg000:3DA3 or ch, 2 seg000:3DA6 jmp short loc_C3DBA seg000:3DA8 ; --------------------------------------------------------------------------- seg000:3DA8 seg000:3DA8 loc_C3DA8: ; CODE XREF: seg000:3DA1j seg000:3DA8 mov bx, dx seg000:3DAA and bx, 0Fh seg000:3DAD push 0C10h seg000:3DB0 call sub_C3648 seg000:3DB3 cmp bl, al seg000:3DB5 jnz short loc_C3DBA seg000:3DB7 or ch, 2 seg000:3DBA seg000:3DBA loc_C3DBA: ; CODE XREF: seg000:3D9Cj seg000:3DBA ; seg000:3DA6j ... seg000:3DBA mov bl, ch seg000:3DBC and bl, 3 seg000:3DBF cmp bl, 3 seg000:3DC2 jnz short loc_C3DE5 seg000:3DC4 test cl, 4 seg000:3DC7 jz short loc_C3DCE seg000:3DC9 or ch, 4 seg000:3DCC jmp short loc_C3DE5 seg000:3DCE ; --------------------------------------------------------------------------- seg000:3DCE seg000:3DCE loc_C3DCE: ; CODE XREF: seg000:3DC7j seg000:3DCE mov bx, dx seg000:3DD0 and bx, 300h seg000:3DD4 shr bx, 8 seg000:3DD7 inc bx seg000:3DD8 push 1418h seg000:3DDB call sub_C3648 seg000:3DDE cmp bl, al seg000:3DE0 jnz short loc_C3DE5 seg000:3DE2 or ch, 4 seg000:3DE5 seg000:3DE5 loc_C3DE5: ; CODE XREF: seg000:3DC2j seg000:3DE5 ; seg000:3DCCj ... seg000:3DE5 mov bl, ch seg000:3DE7 and bl, 7 seg000:3DEA cmp bl, 7 seg000:3DED jnz short loc_C3E0F seg000:3DEF test cl, 8 seg000:3DF2 jz short loc_C3DF9 seg000:3DF4 or ch, 8 seg000:3DF7 jmp short loc_C3E0F seg000:3DF9 ; --------------------------------------------------------------------------- seg000:3DF9 seg000:3DF9 loc_C3DF9: ; CODE XREF: seg000:3DF2j seg000:3DF9 mov bx, dx seg000:3DFB and bx, 0F0h seg000:3DFF shr bx, 4 seg000:3E02 push 1014h seg000:3E05 call sub_C3648 seg000:3E08 cmp bl, al seg000:3E0A jnz short loc_C3E0F seg000:3E0C or ch, 8 seg000:3E0F seg000:3E0F loc_C3E0F: ; CODE XREF: seg000:3DEDj seg000:3E0F ; seg000:3DF7j ... seg000:3E0F pop bx seg000:3E10 mov bh, ch seg000:3E12 pop edi seg000:3E14 pop edx seg000:3E16 pop cx seg000:3E17 pop eax seg000:3E19 retn seg000:3E1A seg000:3E1A ; =============== S U B R O U T I N E ======================================= seg000:3E1A seg000:3E1A seg000:3E1A sub_C3E1A proc near seg000:3E1A push ebx seg000:3E1C push cx seg000:3E1D push edx seg000:3E1F push esi seg000:3E21 mov esi, 101000h seg000:3E27 call sub_C475C seg000:3E2A shr al, 2 seg000:3E2D and ax, 0Fh seg000:3E30 push ax seg000:3E31 mov esi, 10F838h seg000:3E37 call sub_C475C seg000:3E3A mov ebx, eax seg000:3E3D lea si, ds:4DFBh seg000:3E41 mov cx, 10h seg000:3E44 seg000:3E44 loc_C3E44: ; CODE XREF: sub_C3E1A+37j seg000:3E44 movzx edx, byte ptr cs:[si] seg000:3E49 bt ebx, edx seg000:3E4D rcr eax, 1 seg000:3E50 inc si seg000:3E51 loop loc_C3E44 seg000:3E53 pop ax seg000:3E54 pop esi seg000:3E56 pop edx seg000:3E58 pop cx seg000:3E59 pop ebx seg000:3E5B retn seg000:3E5B sub_C3E1A endp seg000:3E5B seg000:3E5B ; --------------------------------------------------------------------------- seg000:3E5C db 66h ; f seg000:3E5D db 50h ; P seg000:3E5E db 53h, 51h, 52h, 66h, 57h, 2Eh, 8Ah, 36h, 87h, 4Dh, 2Eh seg000:3E5E db 8Ah, 16h, 88h, 4Dh, 0BEh, 8Bh, 4Dh, 80h, 0E2h, 7, 0E8h seg000:3E5E db 0A4h, 0FFh, 66h, 8Bh, 0F8h, 8Bh, 0CEh, 32h, 0DBh, 2Eh seg000:3E5E db 8Ah, 3Ch, 80h, 0E7h, 0Fh, 80h, 0FFh, 0Fh, 74h, 0Bh seg000:3E5E db 0E8h, 0D3h, 0FEh, 38h, 0DFh, 76h, 4, 8Bh, 0CEh, 8Ah seg000:3E5E db 0DFh, 2Eh, 0Fh, 0B6h, 6, 86h, 4Dh, 3, 0F0h, 0FEh, 0CEh seg000:3E5E db 0Ah, 0F6h, 75h, 0DCh, 8Bh, 0F1h, 0Ah, 0DBh, 75h, 3 seg000:3E5E db 0E8h, 80h, 0DDh, 66h, 5Fh, 5Ah, 59h, 5Bh, 66h, 58h seg000:3E5E db 0C3h, 56h, 0E8h, 0A6h, 0FFh, 2Eh, 89h, 36h, 58h, 3Dh seg000:3E5E db 5Eh, 0C3h, 2Eh, 83h, 3Eh, 58h, 3Dh, 0, 75h, 3, 0E8h seg000:3E5E db 0EAh, 0FFh, 2Eh, 8Bh, 36h, 58h, 3Dh, 0C3h, 56h, 0E8h seg000:3E5E db 0EBh, 0FFh, 2Eh, 8Ah, 44h, 1, 24h, 0Fh, 5Eh, 0C3h seg000:3EDA seg000:3EDA ; =============== S U B R O U T I N E ======================================= seg000:3EDA seg000:3EDA seg000:3EDA sub_C3EDA proc near ; CODE XREF: sub_C3CBE+1Fp seg000:3EDA push eax seg000:3EDC push cx seg000:3EDD push edi seg000:3EDF mov edi, ecx seg000:3EE2 call sub_C2B8C seg000:3EE5 clc seg000:3EE6 jz short loc_C3F0D seg000:3EE8 add si, 10h seg000:3EEB call sub_C2B21 seg000:3EEE movzx cx, ah seg000:3EF1 add si, 4 seg000:3EF4 clc seg000:3EF5 cmp cx, 0 seg000:3EF8 jbe short loc_C3F0D seg000:3EFA seg000:3EFA loc_C3EFA: ; CODE XREF: sub_C3EDA+2Bj seg000:3EFA call sub_C2B21 seg000:3EFD add si, dx seg000:3EFF and eax, ebx seg000:3F02 cmp eax, edi seg000:3F05 loopne loc_C3EFA seg000:3F07 clc seg000:3F08 jnz short loc_C3F0D seg000:3F0A sub si, dx seg000:3F0C stc seg000:3F0D seg000:3F0D loc_C3F0D: ; CODE XREF: sub_C3EDA+Cj seg000:3F0D ; sub_C3EDA+1Ej ... seg000:3F0D pop edi seg000:3F0F pop cx seg000:3F10 pop eax seg000:3F12 retn seg000:3F12 sub_C3EDA endp seg000:3F12 seg000:3F13 seg000:3F13 ; =============== S U B R O U T I N E ======================================= seg000:3F13 seg000:3F13 seg000:3F13 sub_C3F13 proc near ; CODE XREF: sub_C3D04+1Fp seg000:3F13 push eax seg000:3F15 push bx seg000:3F16 push edx seg000:3F18 mov edi, ecx seg000:3F1B call sub_C2B8C seg000:3F1E clc seg000:3F1F jz short loc_C3F45 seg000:3F21 add si, 10h seg000:3F24 call sub_C2B21 seg000:3F27 mov bl, al seg000:3F29 cmp ah, cl seg000:3F2B jnb short loc_C3F2F seg000:3F2D inc ah seg000:3F2F seg000:3F2F loc_C3F2F: ; CODE XREF: sub_C3F13+18j seg000:3F2F inc al seg000:3F31 cmp al, cl seg000:3F33 jb short loc_C3F37 seg000:3F35 xor al, al seg000:3F37 seg000:3F37 loc_C3F37: ; CODE XREF: sub_C3F13+20j seg000:3F37 call sub_C2B25 seg000:3F3A add si, 4 seg000:3F3D movzx ax, bl seg000:3F40 mul dx seg000:3F42 add si, ax seg000:3F44 stc seg000:3F45 seg000:3F45 loc_C3F45: ; CODE XREF: sub_C3F13+Cj seg000:3F45 pop edx seg000:3F47 pop bx seg000:3F48 pop eax seg000:3F4A retn seg000:3F4A sub_C3F13 endp seg000:3F4A seg000:3F4B seg000:3F4B ; =============== S U B R O U T I N E ======================================= seg000:3F4B seg000:3F4B seg000:3F4B sub_C3F4B proc near ; CODE XREF: sub_C3F6B+2p seg000:3F4B ; sub_C3F78+4p ... seg000:3F4B push cx seg000:3F4C push si seg000:3F4D push ax seg000:3F4E call sub_C42C0 seg000:3F51 mov si, 5335h seg000:3F54 mov al, cl seg000:3F56 mov cl, 4 seg000:3F58 mul cl seg000:3F5A add si, ax seg000:3F5C mov ah, cs:[si] seg000:3F5F and ah, 0Fh seg000:3F62 mov al, 0CAh ; '¦' seg000:3F64 call sub_C1B76 seg000:3F67 pop ax seg000:3F68 pop si seg000:3F69 pop cx seg000:3F6A retn seg000:3F6A sub_C3F4B endp seg000:3F6A seg000:3F6B seg000:3F6B ; =============== S U B R O U T I N E ======================================= seg000:3F6B seg000:3F6B seg000:3F6B sub_C3F6B proc near ; CODE XREF: sub_C3FC1+3p seg000:3F6B ; sub_C3FC8+3p ... seg000:3F6B push dx seg000:3F6C push ax seg000:3F6D call sub_C3F4B seg000:3F70 mov al, 0CBh ; 'T' seg000:3F72 call sub_C1B76 seg000:3F75 pop ax seg000:3F76 pop dx seg000:3F77 retn seg000:3F77 sub_C3F6B endp seg000:3F77 seg000:3F78 seg000:3F78 ; =============== S U B R O U T I N E ======================================= seg000:3F78 seg000:3F78 seg000:3F78 sub_C3F78 proc near ; CODE XREF: sub_C3F89+1p seg000:3F78 ; sub_C3F92+1p ... seg000:3F78 push dx seg000:3F79 push cx seg000:3F7A mov ch, al seg000:3F7C call sub_C3F4B seg000:3F7F mov al, 0CBh ; 'T' seg000:3F81 call sub_C1B89 seg000:3F84 mov al, ch seg000:3F86 pop cx seg000:3F87 pop dx seg000:3F88 retn seg000:3F88 sub_C3F78 endp seg000:3F88 seg000:3F89 seg000:3F89 ; =============== S U B R O U T I N E ======================================= seg000:3F89 seg000:3F89 seg000:3F89 sub_C3F89 proc near ; CODE XREF: sub_C3FFF:loc_C4003p seg000:3F89 ; sub_C4130+6p ... seg000:3F89 push ax seg000:3F8A call sub_C3F78 seg000:3F8D and ah, 10h seg000:3F90 pop ax seg000:3F91 retn seg000:3F91 sub_C3F89 endp seg000:3F91 seg000:3F92 seg000:3F92 ; =============== S U B R O U T I N E ======================================= seg000:3F92 seg000:3F92 seg000:3F92 sub_C3F92 proc near ; CODE XREF: sub_C3FCF:loc_C3FD3p seg000:3F92 ; sub_C402B+9p ... seg000:3F92 push ax seg000:3F93 call sub_C3F78 seg000:3F96 and ah, 20h seg000:3F99 pop ax seg000:3F9A retn seg000:3F9A sub_C3F92 endp seg000:3F9A seg000:3F9B seg000:3F9B ; =============== S U B R O U T I N E ======================================= seg000:3F9B seg000:3F9B seg000:3F9B sub_C3F9B proc near ; CODE XREF: sub_C40C8:loc_C40D5p seg000:3F9B ; sub_C414B:loc_C417Fp ... seg000:3F9B call sub_C3F78 seg000:3F9E push ax seg000:3F9F and ah, 30h seg000:3FA2 cmp ah, 30h ; '0' seg000:3FA5 pop ax seg000:3FA6 jz short loc_C3FB4 seg000:3FA8 call sub_C3FE4 seg000:3FAB call sub_C3FC8 seg000:3FAE call sub_C3FCF seg000:3FB1 call sub_C3FEB seg000:3FB4 seg000:3FB4 loc_C3FB4: ; CODE XREF: sub_C3F9B+Bj seg000:3FB4 call sub_C3FC1 seg000:3FB7 call sub_C348E seg000:3FBA call sub_C3FE4 seg000:3FBD call sub_C348E seg000:3FC0 retn seg000:3FC0 sub_C3F9B endp seg000:3FC0 seg000:3FC1 seg000:3FC1 ; =============== S U B R O U T I N E ======================================= seg000:3FC1 seg000:3FC1 seg000:3FC1 sub_C3FC1 proc near ; CODE XREF: sub_C3F9B:loc_C3FB4p seg000:3FC1 ; sub_C4014+5p ... seg000:3FC1 and ah, 0FDh seg000:3FC4 call sub_C3F6B seg000:3FC7 retn seg000:3FC7 sub_C3FC1 endp seg000:3FC7 seg000:3FC8 seg000:3FC8 ; =============== S U B R O U T I N E ======================================= seg000:3FC8 seg000:3FC8 seg000:3FC8 sub_C3FC8 proc near ; CODE XREF: sub_C3F9B+10p seg000:3FC8 ; sub_C4014+Bp ... seg000:3FC8 or ah, 2 seg000:3FCB call sub_C3F6B seg000:3FCE retn seg000:3FCE sub_C3FC8 endp seg000:3FCE seg000:3FCF seg000:3FCF ; =============== S U B R O U T I N E ======================================= seg000:3FCF seg000:3FCF seg000:3FCF sub_C3FCF proc near ; CODE XREF: sub_C3F9B+13p seg000:3FCF ; sub_C4014+Ep ... seg000:3FCF push bx seg000:3FD0 mov bx, 400h seg000:3FD3 seg000:3FD3 loc_C3FD3: ; CODE XREF: sub_C3FCF+Dj seg000:3FD3 call sub_C3F92 seg000:3FD6 jnz short loc_C3FE1 seg000:3FD8 call sub_C348E seg000:3FDB dec bx seg000:3FDC jnz short loc_C3FD3 seg000:3FDE stc seg000:3FDF jmp short loc_C3FE2 seg000:3FE1 ; --------------------------------------------------------------------------- seg000:3FE1 seg000:3FE1 loc_C3FE1: ; CODE XREF: sub_C3FCF+7j seg000:3FE1 clc seg000:3FE2 seg000:3FE2 loc_C3FE2: ; CODE XREF: sub_C3FCF+10j seg000:3FE2 pop bx seg000:3FE3 retn seg000:3FE3 sub_C3FCF endp seg000:3FE3 seg000:3FE4 seg000:3FE4 ; =============== S U B R O U T I N E ======================================= seg000:3FE4 seg000:3FE4 seg000:3FE4 sub_C3FE4 proc near ; CODE XREF: sub_C3F9B+Dp seg000:3FE4 ; sub_C3F9B+1Fp ... seg000:3FE4 and ah, 0FEh seg000:3FE7 call sub_C3F6B seg000:3FEA retn seg000:3FEA sub_C3FE4 endp seg000:3FEA seg000:3FEB seg000:3FEB ; =============== S U B R O U T I N E ======================================= seg000:3FEB seg000:3FEB seg000:3FEB sub_C3FEB proc near ; CODE XREF: sub_C3F9B+16p seg000:3FEB ; sub_C4014+8p ... seg000:3FEB call sub_C348E seg000:3FEE call sub_C3FF8 seg000:3FF1 call sub_C348E seg000:3FF4 call sub_C3FFF seg000:3FF7 retn seg000:3FF7 sub_C3FEB endp seg000:3FF7 seg000:3FF8 seg000:3FF8 ; =============== S U B R O U T I N E ======================================= seg000:3FF8 seg000:3FF8 seg000:3FF8 sub_C3FF8 proc near ; CODE XREF: sub_C3FEB+3p seg000:3FF8 ; sub_C40A0:loc_C40A8p ... seg000:3FF8 or ah, 1 seg000:3FFB call sub_C3F6B seg000:3FFE retn seg000:3FFE sub_C3FF8 endp seg000:3FFE seg000:3FFF seg000:3FFF ; =============== S U B R O U T I N E ======================================= seg000:3FFF seg000:3FFF seg000:3FFF sub_C3FFF proc near ; CODE XREF: sub_C3FEB+9p seg000:3FFF ; sub_C40A0+Bp seg000:3FFF push bx seg000:4000 mov bx, 190h seg000:4003 seg000:4003 loc_C4003: ; CODE XREF: sub_C3FFF+Dj seg000:4003 call sub_C3F89 seg000:4006 jnz short loc_C4011 seg000:4008 call sub_C348E seg000:400B dec bx seg000:400C jnz short loc_C4003 seg000:400E stc seg000:400F jmp short loc_C4012 seg000:4011 ; --------------------------------------------------------------------------- seg000:4011 seg000:4011 loc_C4011: ; CODE XREF: sub_C3FFF+7j seg000:4011 clc seg000:4012 seg000:4012 loc_C4012: ; CODE XREF: sub_C3FFF+10j seg000:4012 pop bx seg000:4013 retn seg000:4013 sub_C3FFF endp seg000:4013 seg000:4014 seg000:4014 ; =============== S U B R O U T I N E ======================================= seg000:4014 seg000:4014 seg000:4014 sub_C4014 proc near ; CODE XREF: sub_C40C8:loc_C410Ep seg000:4014 ; sub_C40C8:loc_C4114p ... seg000:4014 pushf seg000:4015 push cx seg000:4016 call sub_C3FE4 seg000:4019 call sub_C3FC1 seg000:401C call sub_C3FEB seg000:401F call sub_C3FC8 seg000:4022 call sub_C3FCF seg000:4025 call sub_C348E seg000:4028 pop cx seg000:4029 popf seg000:402A retn seg000:402A sub_C4014 endp seg000:402A seg000:402B seg000:402B ; =============== S U B R O U T I N E ======================================= seg000:402B seg000:402B seg000:402B sub_C402B proc near ; CODE XREF: sub_C4084+Dp seg000:402B ; sub_C40C8+1Fp ... seg000:402B call sub_C3FC8 seg000:402E call sub_C3FEB seg000:4031 call sub_C348E seg000:4034 call sub_C3F92 seg000:4037 jz short loc_C403F seg000:4039 call sub_C3FE4 seg000:403C stc seg000:403D jmp short locret_C4043 seg000:403F ; --------------------------------------------------------------------------- seg000:403F seg000:403F loc_C403F: ; CODE XREF: sub_C402B+Cj seg000:403F call sub_C3FE4 seg000:4042 clc seg000:4043 seg000:4043 locret_C4043: ; CODE XREF: sub_C402B+12j seg000:4043 retn seg000:4043 sub_C402B endp seg000:4043 seg000:4044 seg000:4044 ; =============== S U B R O U T I N E ======================================= seg000:4044 seg000:4044 seg000:4044 sub_C4044 proc near ; CODE XREF: sub_C40C8+3Ep seg000:4044 call sub_C3FC1 seg000:4047 call sub_C3FEB seg000:404A call sub_C3FE4 seg000:404D retn seg000:404D sub_C4044 endp seg000:404D seg000:404E seg000:404E ; =============== S U B R O U T I N E ======================================= seg000:404E seg000:404E seg000:404E sub_C404E proc near ; CODE XREF: sub_C40C8:loc_C410Bp seg000:404E ; sub_C41A2+55p seg000:404E call sub_C3FC8 seg000:4051 call sub_C3FEB seg000:4054 call sub_C3FE4 seg000:4057 retn seg000:4057 sub_C404E endp seg000:4057 seg000:4058 seg000:4058 ; =============== S U B R O U T I N E ======================================= seg000:4058 seg000:4058 seg000:4058 sub_C4058 proc near ; CODE XREF: sub_C4084+5p seg000:4058 ; sub_C40C8+1Ap ... seg000:4058 push bx seg000:4059 mov bh, 0 seg000:405B seg000:405B loc_C405B: ; CODE XREF: sub_C4058+27j seg000:405B push cx seg000:405C mov cx, 1 seg000:405F call sub_C3462 seg000:4062 pop cx seg000:4063 shl bl, 1 seg000:4065 jb short loc_C406C seg000:4067 call sub_C3FC1 seg000:406A jmp short loc_C4074 seg000:406C ; --------------------------------------------------------------------------- seg000:406C seg000:406C loc_C406C: ; CODE XREF: sub_C4058+Dj seg000:406C call sub_C3FC8 seg000:406F call sub_C3FCF seg000:4072 jb short loc_C4082 seg000:4074 seg000:4074 loc_C4074: ; CODE XREF: sub_C4058+12j seg000:4074 call sub_C3FEB seg000:4077 call sub_C3FE4 seg000:407A inc bh seg000:407C cmp bh, 8 seg000:407F jnz short loc_C405B seg000:4081 clc seg000:4082 seg000:4082 loc_C4082: ; CODE XREF: sub_C4058+1Aj seg000:4082 pop bx seg000:4083 retn seg000:4083 sub_C4058 endp seg000:4083 seg000:4084 seg000:4084 ; =============== S U B R O U T I N E ======================================= seg000:4084 seg000:4084 seg000:4084 sub_C4084 proc near ; CODE XREF: sub_C414B+37p seg000:4084 push cx seg000:4085 push bx seg000:4086 push dx seg000:4087 mov bl, al seg000:4089 call sub_C4058 seg000:408C jb short loc_C409C seg000:408E call sub_C348E seg000:4091 call sub_C402B seg000:4094 pushf seg000:4095 call sub_C348E seg000:4098 call sub_C348E seg000:409B popf seg000:409C seg000:409C loc_C409C: ; CODE XREF: sub_C4084+8j seg000:409C pop dx seg000:409D pop bx seg000:409E pop cx seg000:409F retn seg000:409F sub_C4084 endp seg000:409F seg000:40A0 seg000:40A0 ; =============== S U B R O U T I N E ======================================= seg000:40A0 seg000:40A0 seg000:40A0 sub_C40A0 proc near ; CODE XREF: sub_C40C8:loc_C40F8p seg000:40A0 ; sub_C41A2+50p seg000:40A0 push cx seg000:40A1 call sub_C3FC8 seg000:40A4 xor bl, bl seg000:40A6 xor ch, ch seg000:40A8 seg000:40A8 loc_C40A8: ; CODE XREF: sub_C40A0+23j seg000:40A8 call sub_C3FF8 seg000:40AB call sub_C3FFF seg000:40AE jb short loc_C40C6 seg000:40B0 call sub_C3F92 seg000:40B3 jnz short loc_C40B8 seg000:40B5 clc seg000:40B6 jmp short loc_C40B9 seg000:40B8 ; --------------------------------------------------------------------------- seg000:40B8 seg000:40B8 loc_C40B8: ; CODE XREF: sub_C40A0+13j seg000:40B8 stc seg000:40B9 seg000:40B9 loc_C40B9: ; CODE XREF: sub_C40A0+16j seg000:40B9 rcl bl, 1 seg000:40BB call sub_C3FE4 seg000:40BE inc ch seg000:40C0 cmp ch, 8 seg000:40C3 jnz short loc_C40A8 seg000:40C5 clc seg000:40C6 seg000:40C6 loc_C40C6: ; CODE XREF: sub_C40A0+Ej seg000:40C6 pop cx seg000:40C7 retn seg000:40C7 sub_C40A0 endp seg000:40C7 seg000:40C8 seg000:40C8 ; =============== S U B R O U T I N E ======================================= seg000:40C8 seg000:40C8 seg000:40C8 sub_C40C8 proc near ; CODE XREF: sub_CAA0A+5p seg000:40C8 push ax seg000:40C9 push bx seg000:40CA push dx seg000:40CB push di seg000:40CC call sub_C4272 seg000:40CF jb short loc_C412B seg000:40D1 push bx seg000:40D2 push si seg000:40D3 xor bh, bh seg000:40D5 seg000:40D5 loc_C40D5: ; CODE XREF: sub_C40C8+5Bj seg000:40D5 call sub_C3F9B seg000:40D8 movzx dx, byte ptr [si+2] seg000:40DC lea si, [si+5] seg000:40DF seg000:40DF loc_C40DF: ; CODE XREF: sub_C40C8+25j seg000:40DF mov bl, [si] seg000:40E1 inc si seg000:40E2 call sub_C4058 seg000:40E5 jb short loc_C4117 seg000:40E7 call sub_C402B seg000:40EA jb short loc_C4114 seg000:40EC dec dx seg000:40ED jnz short loc_C40DF seg000:40EF pop si seg000:40F0 push si seg000:40F1 mov dx, [si+3] seg000:40F4 or dx, dx seg000:40F6 jz short loc_C410E seg000:40F8 seg000:40F8 loc_C40F8: ; CODE XREF: sub_C40C8+41j seg000:40F8 call sub_C40A0 seg000:40FB pushf seg000:40FC mov es:[di], bl seg000:40FF inc di seg000:4100 popf seg000:4101 jb short loc_C4114 seg000:4103 dec dx seg000:4104 jz short loc_C410B seg000:4106 call sub_C4044 seg000:4109 jmp short loc_C40F8 seg000:410B ; --------------------------------------------------------------------------- seg000:410B seg000:410B loc_C410B: ; CODE XREF: sub_C40C8+3Cj seg000:410B call sub_C404E seg000:410E seg000:410E loc_C410E: ; CODE XREF: sub_C40C8+2Ej seg000:410E call sub_C4014 seg000:4111 clc seg000:4112 jmp short loc_C4126 seg000:4114 ; --------------------------------------------------------------------------- seg000:4114 seg000:4114 loc_C4114: ; CODE XREF: sub_C40C8+22j seg000:4114 ; sub_C40C8+39j seg000:4114 call sub_C4014 seg000:4117 seg000:4117 loc_C4117: ; CODE XREF: sub_C40C8+1Dj seg000:4117 call sub_C3485 seg000:411A inc bh seg000:411C cmp bh, 14h seg000:411F jge short loc_C4125 seg000:4121 pop si seg000:4122 push si seg000:4123 jmp short loc_C40D5 seg000:4125 ; --------------------------------------------------------------------------- seg000:4125 seg000:4125 loc_C4125: ; CODE XREF: sub_C40C8+57j seg000:4125 stc seg000:4126 seg000:4126 loc_C4126: ; CODE XREF: sub_C40C8+4Aj seg000:4126 pop si seg000:4127 pop bx seg000:4128 call sub_C4298 seg000:412B seg000:412B loc_C412B: ; CODE XREF: sub_C40C8+7j seg000:412B pop di seg000:412C pop dx seg000:412D pop bx seg000:412E pop ax seg000:412F retn seg000:412F sub_C40C8 endp seg000:412F seg000:4130 seg000:4130 ; =============== S U B R O U T I N E ======================================= seg000:4130 seg000:4130 seg000:4130 sub_C4130 proc near ; CODE XREF: sub_C414B+Dp seg000:4130 call sub_C3FE4 seg000:4133 call sub_C348E seg000:4136 call sub_C3F89 seg000:4139 jnz short loc_C4149 seg000:413B call sub_C3FF8 seg000:413E call sub_C348E seg000:4141 call sub_C3F89 seg000:4144 jz short loc_C4149 seg000:4146 clc seg000:4147 jmp short locret_C414A seg000:4149 ; --------------------------------------------------------------------------- seg000:4149 seg000:4149 loc_C4149: ; CODE XREF: sub_C4130+9j seg000:4149 ; sub_C4130+14j seg000:4149 stc seg000:414A seg000:414A locret_C414A: ; CODE XREF: sub_C4130+17j seg000:414A retn seg000:414A sub_C4130 endp seg000:414A seg000:414B seg000:414B ; =============== S U B R O U T I N E ======================================= seg000:414B seg000:414B seg000:414B sub_C414B proc near ; CODE XREF: sub_CA92B+Fp seg000:414B pusha seg000:414C call sub_C4272 seg000:414F jnb short loc_C4155 seg000:4151 xor ah, ah seg000:4153 jmp short loc_C4193 seg000:4155 ; --------------------------------------------------------------------------- seg000:4155 seg000:4155 loc_C4155: ; CODE XREF: sub_C414B+4j seg000:4155 call sub_C3F78 seg000:4158 call sub_C4130 seg000:415B jb short loc_C418B seg000:415D call sub_C348E seg000:4160 call sub_C348E seg000:4163 call sub_C3FE4 seg000:4166 mov dx, 10h seg000:4169 seg000:4169 loc_C4169: ; CODE XREF: sub_C414B+30j seg000:4169 call sub_C3FF8 seg000:416C call sub_C348E seg000:416F call sub_C348E seg000:4172 call sub_C3F92 seg000:4175 jnz short loc_C417F seg000:4177 call sub_C4014 seg000:417A dec dx seg000:417B jnz short loc_C4169 seg000:417D jmp short loc_C418B seg000:417F ; --------------------------------------------------------------------------- seg000:417F seg000:417F loc_C417F: ; CODE XREF: sub_C414B+2Aj seg000:417F call sub_C3F9B seg000:4182 call sub_C4084 seg000:4185 jb short loc_C418B seg000:4187 or al, 1 seg000:4189 jmp short loc_C418D seg000:418B ; --------------------------------------------------------------------------- seg000:418B seg000:418B loc_C418B: ; CODE XREF: sub_C414B+10j seg000:418B ; sub_C414B+32j ... seg000:418B xor al, al seg000:418D seg000:418D loc_C418D: ; CODE XREF: sub_C414B+3Ej seg000:418D call sub_C4014 seg000:4190 call sub_C4298 seg000:4193 seg000:4193 loc_C4193: ; CODE XREF: sub_C414B+8j seg000:4193 popa seg000:4194 retn seg000:4194 sub_C414B endp seg000:4194 seg000:4195 seg000:4195 ; =============== S U B R O U T I N E ======================================= seg000:4195 seg000:4195 seg000:4195 sub_C4195 proc near ; CODE XREF: sub_CAA18+5p seg000:4195 push ax seg000:4196 push di seg000:4197 movzx di, bh seg000:419A xor ah, ah seg000:419C call sub_C41A2 seg000:419F pop di seg000:41A0 pop ax seg000:41A1 retn seg000:41A1 sub_C4195 endp seg000:41A1 seg000:41A2 seg000:41A2 ; =============== S U B R O U T I N E ======================================= seg000:41A2 seg000:41A2 seg000:41A2 sub_C41A2 proc near ; CODE XREF: sub_C4195+7p seg000:41A2 ; sub_C463B+4148p seg000:41A2 push ax seg000:41A3 push cx seg000:41A4 push dx seg000:41A5 mov ch, ah seg000:41A7 call sub_C42BA seg000:41AA mov dx, bx seg000:41AC call sub_C4272 seg000:41AF xchg bx, dx seg000:41B1 jb short loc_C4208 seg000:41B3 call sub_C3F9B seg000:41B6 call sub_C4058 seg000:41B9 jb short loc_C4200 seg000:41BB call sub_C402B seg000:41BE jb short loc_C4200 seg000:41C0 test ch, ch seg000:41C2 jz short loc_C41D4 seg000:41C4 push bx seg000:41C5 mov bx, di seg000:41C7 xchg bl, bh seg000:41C9 call sub_C4058 seg000:41CC pop bx seg000:41CD jb short loc_C4200 seg000:41CF call sub_C402B seg000:41D2 jb short loc_C4200 seg000:41D4 seg000:41D4 loc_C41D4: ; CODE XREF: sub_C41A2+20j seg000:41D4 push bx seg000:41D5 mov bx, di seg000:41D7 call sub_C4058 seg000:41DA pop bx seg000:41DB jb short loc_C4200 seg000:41DD call sub_C402B seg000:41E0 jb short loc_C4200 seg000:41E2 call sub_C3F9B seg000:41E5 or bl, 1 seg000:41E8 call sub_C4058 seg000:41EB jb short loc_C4200 seg000:41ED call sub_C402B seg000:41F0 jb short loc_C4200 seg000:41F2 call sub_C40A0 seg000:41F5 jb short loc_C4200 seg000:41F7 call sub_C404E seg000:41FA call sub_C4014 seg000:41FD clc seg000:41FE jmp short loc_C4201 seg000:4200 ; --------------------------------------------------------------------------- seg000:4200 seg000:4200 loc_C4200: ; CODE XREF: sub_C41A2+17j seg000:4200 ; sub_C41A2+1Cj ... seg000:4200 stc seg000:4201 seg000:4201 loc_C4201: ; CODE XREF: sub_C41A2+5Cj seg000:4201 xchg bx, dx seg000:4203 call sub_C4298 seg000:4206 mov bx, dx seg000:4208 seg000:4208 loc_C4208: ; CODE XREF: sub_C41A2+Fj seg000:4208 pop dx seg000:4209 pop cx seg000:420A pop ax seg000:420B retn seg000:420B sub_C41A2 endp seg000:420B seg000:420C seg000:420C ; =============== S U B R O U T I N E ======================================= seg000:420C seg000:420C seg000:420C sub_C420C proc near ; CODE XREF: sub_C463B+3F0Fp seg000:420C push ax seg000:420D push di seg000:420E push dx seg000:420F movzx di, bh seg000:4212 mov dl, ah seg000:4214 xor ah, ah seg000:4216 call sub_C421D seg000:4219 pop dx seg000:421A pop di seg000:421B pop ax seg000:421C retn seg000:421C sub_C420C endp seg000:421C seg000:421D seg000:421D ; =============== S U B R O U T I N E ======================================= seg000:421D seg000:421D seg000:421D sub_C421D proc near ; CODE XREF: sub_C420C+Ap seg000:421D ; sub_C463B:loc_C878Ap seg000:421D push ax seg000:421E push bx seg000:421F push cx seg000:4220 mov ch, ah seg000:4222 call sub_C42BA seg000:4225 push bx seg000:4226 call sub_C4272 seg000:4229 mov ax, bx seg000:422B pop bx seg000:422C jb short loc_C426E seg000:422E push ax seg000:422F call sub_C3F9B seg000:4232 call sub_C4058 seg000:4235 jb short loc_C426A seg000:4237 call sub_C402B seg000:423A jb short loc_C426A seg000:423C test ch, ch seg000:423E jz short loc_C424E seg000:4240 mov bx, di seg000:4242 xchg bl, bh seg000:4244 call sub_C4058 seg000:4247 jb short loc_C426A seg000:4249 call sub_C402B seg000:424C jb short loc_C426A seg000:424E seg000:424E loc_C424E: ; CODE XREF: sub_C421D+21j seg000:424E mov bx, di seg000:4250 call sub_C4058 seg000:4253 jb short loc_C426A seg000:4255 call sub_C402B seg000:4258 jb short loc_C426A seg000:425A mov bl, dl seg000:425C call sub_C4058 seg000:425F jb short loc_C426A seg000:4261 call sub_C402B seg000:4264 jb short loc_C426A seg000:4266 call sub_C4014 seg000:4269 clc seg000:426A seg000:426A loc_C426A: ; CODE XREF: sub_C421D+18j seg000:426A ; sub_C421D+1Dj ... seg000:426A pop bx seg000:426B call sub_C4298 seg000:426E seg000:426E loc_C426E: ; CODE XREF: sub_C421D+Fj seg000:426E pop cx seg000:426F pop bx seg000:4270 pop ax seg000:4271 retn seg000:4271 sub_C421D endp seg000:4271 seg000:4272 seg000:4272 ; =============== S U B R O U T I N E ======================================= seg000:4272 seg000:4272 seg000:4272 sub_C4272 proc near ; CODE XREF: sub_C40C8+4p seg000:4272 ; sub_C414B+1p ... seg000:4272 push ax seg000:4273 push esi seg000:4275 call sub_C42C8 seg000:4278 call sub_C363E seg000:427B setz bh seg000:427E jz short loc_C4285 seg000:4280 call sub_C3613 seg000:4283 jz short loc_C4293 seg000:4285 seg000:4285 loc_C4285: ; CODE XREF: sub_C4272+Cj seg000:4285 call sub_C3F78 seg000:4288 mov bl, ah seg000:428A or ah, 4 seg000:428D call sub_C3F6B seg000:4290 clc seg000:4291 jmp short loc_C4294 seg000:4293 ; --------------------------------------------------------------------------- seg000:4293 seg000:4293 loc_C4293: ; CODE XREF: sub_C4272+11j seg000:4293 stc seg000:4294 seg000:4294 loc_C4294: ; CODE XREF: sub_C4272+1Fj seg000:4294 pop esi seg000:4296 pop ax seg000:4297 retn seg000:4297 sub_C4272 endp seg000:4297 seg000:4298 seg000:4298 ; =============== S U B R O U T I N E ======================================= seg000:4298 seg000:4298 seg000:4298 sub_C4298 proc near ; CODE XREF: sub_C40C8+60p seg000:4298 ; sub_C414B+45p ... seg000:4298 pushf seg000:4299 push ax seg000:429A push dx seg000:429B call sub_C3F4B seg000:429E mov ah, bl seg000:42A0 call sub_C3F6B seg000:42A3 test bh, 1 seg000:42A6 jnz short loc_C42AB seg000:42A8 call sub_C42AF seg000:42AB seg000:42AB loc_C42AB: ; CODE XREF: sub_C4298+Ej seg000:42AB pop dx seg000:42AC pop ax seg000:42AD popf seg000:42AE retn seg000:42AE sub_C4298 endp seg000:42AE seg000:42AF seg000:42AF ; =============== S U B R O U T I N E ======================================= seg000:42AF seg000:42AF seg000:42AF sub_C42AF proc near ; CODE XREF: sub_C4298+10p seg000:42AF ; sub_C842Dp seg000:42AF push esi seg000:42B1 call sub_C42C8 seg000:42B4 call sub_C362F seg000:42B7 pop esi seg000:42B9 retn seg000:42B9 sub_C42AF endp seg000:42B9 seg000:42BA seg000:42BA ; =============== S U B R O U T I N E ======================================= seg000:42BA seg000:42BA seg000:42BA sub_C42BA proc near ; CODE XREF: sub_C2762+2p seg000:42BA ; sub_C41A2+5p ... seg000:42BA pushf seg000:42BB and cl, 0Fh seg000:42BE popf seg000:42BF retn seg000:42BF sub_C42BA endp seg000:42BF seg000:42C0 seg000:42C0 ; =============== S U B R O U T I N E ======================================= seg000:42C0 seg000:42C0 seg000:42C0 sub_C42C0 proc near ; CODE XREF: sub_C3F4B+3p seg000:42C0 ; sub_C42D8+1p ... seg000:42C0 pushf seg000:42C1 and cl, 0Fh seg000:42C4 xor ch, ch seg000:42C6 popf seg000:42C7 retn seg000:42C7 sub_C42C0 endp seg000:42C7 seg000:42C8 seg000:42C8 ; =============== S U B R O U T I N E ======================================= seg000:42C8 seg000:42C8 seg000:42C8 sub_C42C8 proc near ; CODE XREF: sub_C4272+3p seg000:42C8 ; sub_C42AF+2p seg000:42C8 mov esi, 10A594h seg000:42CE retn seg000:42CE sub_C42C8 endp seg000:42CE seg000:42CF seg000:42CF ; =============== S U B R O U T I N E ======================================= seg000:42CF seg000:42CF seg000:42CF sub_C42CF proc near ; CODE XREF: sub_CA6BE+4p seg000:42CF ; sub_CA6DA+5p seg000:42CF push cx seg000:42D0 call sub_C1FB4 seg000:42D3 call sub_C42D8 seg000:42D6 pop cx seg000:42D7 retn seg000:42D7 sub_C42CF endp seg000:42D7 seg000:42D8 seg000:42D8 ; =============== S U B R O U T I N E ======================================= seg000:42D8 seg000:42D8 seg000:42D8 sub_C42D8 proc near ; CODE XREF: sub_C42CF+4p seg000:42D8 push cx seg000:42D9 call sub_C42C0 seg000:42DC mov eax, 0C0h ; 'L' seg000:42E2 add ax, cx seg000:42E4 pop cx seg000:42E5 retn seg000:42E5 sub_C42D8 endp seg000:42E5 seg000:42E6 seg000:42E6 ; =============== S U B R O U T I N E ======================================= seg000:42E6 seg000:42E6 seg000:42E6 sub_C42E6 proc near ; CODE XREF: sub_CCC05+7p seg000:42E6 push cx seg000:42E7 call sub_C1FB4 seg000:42EA call sub_C42F9 seg000:42ED mov cl, al seg000:42EF mov eax, 0E0h ; 'Ó' seg000:42F5 add al, cl seg000:42F7 pop cx seg000:42F8 retn seg000:42F8 sub_C42E6 endp seg000:42F8 seg000:42F9 seg000:42F9 ; =============== S U B R O U T I N E ======================================= seg000:42F9 seg000:42F9 seg000:42F9 sub_C42F9 proc near ; CODE XREF: sub_C42E6+4p seg000:42F9 push cx seg000:42FA push si seg000:42FB call sub_C42BA seg000:42FE mov si, 5335h seg000:4301 mov al, cl seg000:4303 mov cl, 4 seg000:4305 mul cl seg000:4307 add si, ax seg000:4309 mov al, cs:[si] seg000:430C pop si seg000:430D pop cx seg000:430E retn seg000:430E sub_C42F9 endp seg000:430E seg000:430E ; --------------------------------------------------------------------------- seg000:430F off_C430F dw offset sub_C7A76 ; DATA XREF: sub_C433B+11r seg000:4311 dw offset sub_C7B4C seg000:4313 dw offset sub_C7E14 seg000:4315 dw offset sub_C7E5C seg000:4317 dw offset sub_C7E81 seg000:4319 dw offset sub_C7E99 seg000:431B dw offset sub_C7F24 seg000:431D dw offset sub_C6347 seg000:431F dw offset sub_C814A seg000:4321 dw offset sub_C8180 seg000:4323 dw offset sub_C81E6 seg000:4325 dw offset sub_C81F9 seg000:4327 dw offset sub_C6347 seg000:4329 dw offset sub_C6347 seg000:432B dw offset sub_C6347 seg000:432D dw offset sub_C6347 seg000:432F dw offset sub_C8221 seg000:4331 dw offset sub_C6347 seg000:4333 dw offset sub_C6347 seg000:4335 dw offset sub_C6347 seg000:4337 dw offset sub_C463B seg000:4339 dw offset sub_C82DB seg000:433B seg000:433B ; =============== S U B R O U T I N E ======================================= seg000:433B seg000:433B seg000:433B sub_C433B proc near ; CODE XREF: sub_C1B51+9p seg000:433B cmp al, 16h seg000:433D jnb short loc_C4353 seg000:433F mov ds, word ptr cs:byte_C0001+79h seg000:4344 push si seg000:4345 push ax seg000:4346 cbw seg000:4347 shl ax, 1 seg000:4349 mov si, ax seg000:434B pop ax seg000:434C call cs:off_C430F[si] seg000:4351 pop si seg000:4352 retn seg000:4353 ; --------------------------------------------------------------------------- seg000:4353 seg000:4353 loc_C4353: ; CODE XREF: sub_C433B+2j seg000:4353 mov ax, 14Fh seg000:4356 retn seg000:4356 sub_C433B endp seg000:4356 seg000:4356 ; --------------------------------------------------------------------------- seg000:4357 db 20h seg000:4358 db 5 seg000:4359 db 20h seg000:435A db 10h seg000:435B db 0 seg000:435C db 64h ; d seg000:435D db 19h seg000:435E db 0 seg000:435F db 4 seg000:4360 db 0FFh seg000:4361 db 3 seg000:4362 db 0 seg000:4363 db 0 seg000:4364 db 0FFh seg000:4365 db 3 seg000:4366 db 17h seg000:4367 db 4 seg000:4368 db 9Fh ; è seg000:4369 db 4 seg000:436A db 3Fh ; ? seg000:436B db 5 seg000:436C db 0 seg000:436D db 3 seg000:436E db 0FFh seg000:436F db 2 seg000:4370 db 0 seg000:4371 db 0 seg000:4372 db 0FFh seg000:4373 db 2 seg000:4374 db 2 seg000:4375 db 3 seg000:4376 db 8 seg000:4377 db 3 seg000:4378 db 25h ; % seg000:4379 db 3 seg000:437A db 0 seg000:437B db 0FFh seg000:437C db 30h ; 0 seg000:437D db 2Ah ; * seg000:437E db 0 seg000:437F db 5 seg000:4380 db 0FFh seg000:4381 db 4 seg000:4382 db 0 seg000:4383 db 0 seg000:4384 db 0FFh seg000:4385 db 4 seg000:4386 db 2Fh ; / seg000:4387 db 5 seg000:4388 db 9Fh ; è seg000:4389 db 5 seg000:438A db 97h ; Œ seg000:438B db 6 seg000:438C db 0 seg000:438D db 4 seg000:438E db 0FFh seg000:438F db 3 seg000:4390 db 0 seg000:4391 db 0 seg000:4392 db 0FFh seg000:4393 db 3 seg000:4394 db 0 seg000:4395 db 4 seg000:4396 db 3 seg000:4397 db 4 seg000:4398 db 29h ; ) seg000:4399 db 4 seg000:439A db 0 seg000:439B db 0FFh seg000:439C db 30h ; 0 seg000:439D db 2Ah ; * seg000:439E db 0 seg000:439F db 5 seg000:43A0 db 0FFh seg000:43A1 db 4 seg000:43A2 db 0 seg000:43A3 db 0 seg000:43A4 db 0FFh seg000:43A5 db 4 seg000:43A6 db 2Fh ; / seg000:43A7 db 5 seg000:43A8 db 9Fh ; è seg000:43A9 db 5 seg000:43AA db 97h ; Œ seg000:43AB db 6 seg000:43AC db 0 seg000:43AD db 4 seg000:43AE db 0FFh seg000:43AF db 3 seg000:43B0 db 0 seg000:43B1 db 0 seg000:43B2 db 0FFh seg000:43B3 db 3 seg000:43B4 db 0 seg000:43B5 db 4 seg000:43B6 db 3 seg000:43B7 db 4 seg000:43B8 db 29h ; ) seg000:43B9 db 4 seg000:43BA db 0 seg000:43BB db 0FFh seg000:43BC db 30h ; 0 seg000:43BD db 2Ah ; * seg000:43BE db 78h ; x seg000:43BF db 5 seg000:43C0 db 77h ; w seg000:43C1 db 5 seg000:43C2 db 0 seg000:43C3 db 0 seg000:43C4 db 77h ; w seg000:43C5 db 5 seg000:43C6 db 0A7h ; ž seg000:43C7 db 5 seg000:43C8 db 17h seg000:43C9 db 6 seg000:43CA db 97h ; Œ seg000:43CB db 6 seg000:43CC db 1Ah seg000:43CD db 4 seg000:43CE db 19h seg000:43CF db 4 seg000:43D0 db 0 seg000:43D1 db 0 seg000:43D2 db 19h seg000:43D3 db 4 seg000:43D4 db 1Ah seg000:43D5 db 4 seg000:43D6 db 1Dh seg000:43D7 db 4 seg000:43D8 db 29h ; ) seg000:43D9 db 4 seg000:43DA db 0 seg000:43DB db 0FFh seg000:43DC db 48h ; H seg000:43DD db 3Fh ; ? seg000:43DE db 40h ; @ seg000:43DF db 6 seg000:43E0 db 3Fh ; ? seg000:43E1 db 6 seg000:43E2 db 0 seg000:43E3 db 0 seg000:43E4 db 3Fh ; ? seg000:43E5 db 6 seg000:43E6 db 7Fh ;  seg000:43E7 db 6 seg000:43E8 db 3Fh ; ? seg000:43E9 db 7 seg000:43EA db 6Fh ; o seg000:43EB db 8 seg000:43EC db 0B0h ; - seg000:43ED db 4 seg000:43EE db 0AFh ; » seg000:43EF db 4 seg000:43F0 db 0 seg000:43F1 db 0 seg000:43F2 db 0AFh ; » seg000:43F3 db 4 seg000:43F4 db 0B0h ; - seg000:43F5 db 4 seg000:43F6 db 0B3h ; - seg000:43F7 db 4 seg000:43F8 db 0E1h ; ß seg000:43F9 db 4 seg000:43FA db 11h seg000:43FB db 0FFh seg000:43FC db 20h seg000:43FD db 4Eh ; N seg000:43FE db 0 seg000:43FF db 8 seg000:4400 db 0FFh seg000:4401 db 7 seg000:4402 db 0 seg000:4403 db 0 seg000:4404 db 0FFh seg000:4405 db 7 seg000:4406 db 2Fh ; / seg000:4407 db 8 seg000:4408 db 3Fh ; ? seg000:4409 db 8 seg000:440A db 5Fh ; _ seg000:440B db 8 seg000:440C db 0 seg000:440D db 6 seg000:440E db 0FFh seg000:440F db 5 seg000:4410 db 0 seg000:4411 db 0 seg000:4412 db 0FFh seg000:4413 db 5 seg000:4414 db 10h seg000:4415 db 6 seg000:4416 db 11h seg000:4417 db 6 seg000:4418 db 12h seg000:4419 db 6 seg000:441A db 11h seg000:441B db 0FFh seg000:441C db 54h ; T seg000:441D db 56h ; V seg000:441E db 0 seg000:441F db 8 seg000:4420 db 0FFh seg000:4421 db 7 seg000:4422 db 0 seg000:4423 db 0 seg000:4424 db 0FFh seg000:4425 db 7 seg000:4426 db 3Fh ; ? seg000:4427 db 8 seg000:4428 db 5Fh ; _ seg000:4429 db 8 seg000:442A db 3Fh ; ? seg000:442B db 9 seg000:442C db 0 seg000:442D db 6 seg000:442E db 0FFh seg000:442F db 5 seg000:4430 db 0 seg000:4431 db 0 seg000:4432 db 0FFh seg000:4433 db 5 seg000:4434 db 10h seg000:4435 db 6 seg000:4436 db 11h seg000:4437 db 6 seg000:4438 db 12h seg000:4439 db 6 seg000:443A db 11h seg000:443B db 0FFh seg000:443C db 0A0h ; á seg000:443D db 0Fh seg000:443E db 20h seg000:443F db 3 seg000:4440 db 1Fh seg000:4441 db 3 seg000:4442 db 0 seg000:4443 db 0 seg000:4444 db 1Fh seg000:4445 db 3 seg000:4446 db 47h ; G seg000:4447 db 3 seg000:4448 db 0C7h ; ã seg000:4449 db 3 seg000:444A db 1Fh seg000:444B db 4 seg000:444C db 58h ; X seg000:444D db 2 seg000:444E db 57h ; W seg000:444F db 2 seg000:4450 db 0 seg000:4451 db 0 seg000:4452 db 57h ; W seg000:4453 db 2 seg000:4454 db 58h ; X seg000:4455 db 2 seg000:4456 db 5Ch ; \ seg000:4457 db 2 seg000:4458 db 73h ; s seg000:4459 db 2 seg000:445A db 11h seg000:445B db 0FFh seg000:445C db 0A4h ; ¥ seg000:445D db 1Fh seg000:445E db 0 seg000:445F db 5 seg000:4460 db 0FFh seg000:4461 db 4 seg000:4462 db 0 seg000:4463 db 0 seg000:4464 db 0FFh seg000:4465 db 4 seg000:4466 db 2Fh ; / seg000:4467 db 5 seg000:4468 db 9Fh ; è seg000:4469 db 5 seg000:446A db 97h ; Œ seg000:446B db 6 seg000:446C db 0 seg000:446D db 3 seg000:446E db 0FFh seg000:446F db 2 seg000:4470 db 0 seg000:4471 db 0 seg000:4472 db 0FFh seg000:4473 db 2 seg000:4474 db 2 seg000:4475 db 3 seg000:4476 db 8 seg000:4477 db 3 seg000:4478 db 21h ; ! seg000:4479 db 3 seg000:447A db 1 seg000:447B db 0FFh seg000:447C db 0 seg000:447D db 0 seg000:447E db 0 seg000:447F db 0 seg000:4480 db 0 seg000:4481 db 0 seg000:4482 db 0 seg000:4483 db 0 seg000:4484 db 0 seg000:4485 db 0 seg000:4486 db 0 seg000:4487 db 0 seg000:4488 db 0 seg000:4489 db 0 seg000:448A db 0 seg000:448B db 0 seg000:448C db 0 seg000:448D db 0 seg000:448E db 0 seg000:448F db 0 seg000:4490 db 0 seg000:4491 db 0 seg000:4492 db 0 seg000:4493 db 0 seg000:4494 db 0 seg000:4495 db 0 seg000:4496 db 0 seg000:4497 db 0 seg000:4498 db 0 seg000:4499 db 0 seg000:449A db 0 seg000:449B db 0FFh seg000:449C db 95h ; ¼ seg000:449D db 25h ; % seg000:449E db 0A0h ; á seg000:449F db 5 seg000:44A0 db 9Fh ; è seg000:44A1 db 5 seg000:44A2 db 0 seg000:44A3 db 0 seg000:44A4 db 9Fh ; è seg000:44A5 db 5 seg000:44A6 db 0DFh ; - seg000:44A7 db 5 seg000:44A8 db 0FFh seg000:44A9 db 5 seg000:44AA db 0DFh ; - seg000:44AB db 6 seg000:44AC db 84h ; ä seg000:44AD db 3 seg000:44AE db 83h ; â seg000:44AF db 3 seg000:44B0 db 0 seg000:44B1 db 0 seg000:44B2 db 83h ; â seg000:44B3 db 3 seg000:44B4 db 86h ; æ seg000:44B5 db 3 seg000:44B6 db 89h ; ë seg000:44B7 db 3 seg000:44B8 db 8Fh ; Æ seg000:44B9 db 3 seg000:44BA db 0 seg000:44BB db 0FFh seg000:44BC db 95h ; ¼ seg000:44BD db 2Eh ; . seg000:44BE db 90h ; É seg000:44BF db 6 seg000:44C0 db 8Fh ; Æ seg000:44C1 db 6 seg000:44C2 db 0 seg000:44C3 db 0 seg000:44C4 db 8Fh ; Æ seg000:44C5 db 6 seg000:44C6 db 0BFh ; ¬ seg000:44C7 db 6 seg000:44C8 db 0DFh ; - seg000:44C9 db 6 seg000:44CA db 2Fh ; / seg000:44CB db 7 seg000:44CC db 1Ah seg000:44CD db 4 seg000:44CE db 19h seg000:44CF db 4 seg000:44D0 db 0 seg000:44D1 db 0 seg000:44D2 db 19h seg000:44D3 db 4 seg000:44D4 db 1Bh seg000:44D5 db 4 seg000:44D6 db 21h ; ! seg000:44D7 db 4 seg000:44D8 db 37h ; 7 seg000:44D9 db 4 seg000:44DA db 0 seg000:44DB db 0FFh seg000:44DC db 2Fh ; / seg000:44DD db 3Fh ; ? seg000:44DE db 80h ; Ç seg000:44DF db 7 seg000:44E0 db 7Fh ;  seg000:44E1 db 7 seg000:44E2 db 0 seg000:44E3 db 0 seg000:44E4 db 7Fh ;  seg000:44E5 db 7 seg000:44E6 db 0E3h ; Ñ seg000:44E7 db 7 seg000:44E8 db 3 seg000:44E9 db 8 seg000:44EA db 87h ; ç seg000:44EB db 8 seg000:44EC db 0B0h ; - seg000:44ED db 4 seg000:44EE db 0AFh ; » seg000:44EF db 4 seg000:44F0 db 0 seg000:44F1 db 0 seg000:44F2 db 0AFh ; » seg000:44F3 db 4 seg000:44F4 db 0B1h ; - seg000:44F5 db 4 seg000:44F6 db 0B7h ; Ì seg000:44F7 db 4 seg000:44F8 db 0D2h ; Ï seg000:44F9 db 4 seg000:44FA db 0 seg000:44FB db 0FFh seg000:44FC db 0 seg000:44FD db 0 seg000:44FE db 0 seg000:44FF db 0 seg000:4500 db 0 seg000:4501 db 0 seg000:4502 db 0 seg000:4503 db 0 seg000:4504 db 0 seg000:4505 db 0 seg000:4506 db 0 seg000:4507 db 0 seg000:4508 db 0 seg000:4509 db 0 seg000:450A db 0 seg000:450B db 0 seg000:450C db 0 seg000:450D db 0 seg000:450E db 0 seg000:450F db 0 seg000:4510 db 0 seg000:4511 db 0 seg000:4512 db 0 seg000:4513 db 0 seg000:4514 db 0 seg000:4515 db 0 seg000:4516 db 0 seg000:4517 db 0 seg000:4518 db 0 seg000:4519 db 0 seg000:451A db 0 seg000:451B db 0FFh seg000:451C db 42h ; B seg000:451D db 1Dh seg000:451E db 0 seg000:451F db 5 seg000:4520 db 0FFh seg000:4521 db 4 seg000:4522 db 0 seg000:4523 db 0 seg000:4524 db 0FFh seg000:4525 db 4 seg000:4526 db 0C3h ; + seg000:4527 db 5 seg000:4528 db 0F3h ; ¡ seg000:4529 db 5 seg000:452A db 0FFh seg000:452B db 5 seg000:452C db 20h seg000:452D db 3 seg000:452E db 1Fh seg000:452F db 3 seg000:4530 db 0 seg000:4531 db 0 seg000:4532 db 1Fh seg000:4533 db 3 seg000:4534 db 24h ; $ seg000:4535 db 3 seg000:4536 db 27h ; ' seg000:4537 db 3 seg000:4538 db 2Bh ; + seg000:4539 db 3 seg000:453A db 0 seg000:453B db 0FFh seg000:453C db 0 seg000:453D db 0 seg000:453E db 0 seg000:453F db 0 seg000:4540 db 0 seg000:4541 db 0 seg000:4542 db 0 seg000:4543 db 0 seg000:4544 db 0 seg000:4545 db 0 seg000:4546 db 0 seg000:4547 db 0 seg000:4548 db 0 seg000:4549 db 0 seg000:454A db 0 seg000:454B db 0 seg000:454C db 0 seg000:454D db 0 seg000:454E db 0 seg000:454F db 0 seg000:4550 db 0 seg000:4551 db 0 seg000:4552 db 0 seg000:4553 db 0 seg000:4554 db 0 seg000:4555 db 0 seg000:4556 db 0 seg000:4557 db 0 seg000:4558 db 0 seg000:4559 db 0 seg000:455A db 0 seg000:455B db 0FFh seg000:455C db 50h ; P seg000:455D db 52h ; R seg000:455E db 0E8h ; À seg000:455F db 81h ; ü seg000:4560 db 74h ; t seg000:4561 db 0B8h ; ª seg000:4562 db 64h ; d seg000:4563 db 0 seg000:4564 db 0F7h ; ¸ seg000:4565 db 0E1h ; ß seg000:4566 db 8Bh ; õ seg000:4567 db 0C8h ; L seg000:4568 db 5Ah ; Z seg000:4569 db 58h ; X seg000:456A db 0C3h ; + seg000:456B seg000:456B ; =============== S U B R O U T I N E ======================================= seg000:456B seg000:456B seg000:456B sub_C456B proc near ; CODE XREF: sub_CA542+10p seg000:456B push eax seg000:456D push cx seg000:456E push edx seg000:4570 push di seg000:4571 call sub_C245C seg000:4574 mov di, 611Ah seg000:4577 movzx cx, byte ptr cs:[di+3] seg000:457C add di, 9 seg000:457F xor si, si seg000:4581 jmp short loc_C45BA seg000:4583 ; --------------------------------------------------------------------------- seg000:4583 seg000:4583 loc_C4583: ; CODE XREF: sub_C456B+56j seg000:4583 push di seg000:4584 mov di, cs:[di] seg000:4587 or di, di seg000:4589 jz short loc_C45B5 seg000:458B mov eax, cs:[di] seg000:458F cmp dx, ax seg000:4591 jnz short loc_C45B5 seg000:4593 push edx seg000:4595 ror eax, 10h seg000:4599 ror edx, 10h seg000:459D push ax seg000:459E push dx seg000:459F and al, dl seg000:45A1 and al, 0Fh seg000:45A3 pop dx seg000:45A4 pop ax seg000:45A5 jz short loc_C45B3 seg000:45A7 and al, dl seg000:45A9 and al, 0C0h seg000:45AB jz short loc_C45B3 seg000:45AD and ah, dh seg000:45AF jz short loc_C45B3 seg000:45B1 mov si, di seg000:45B3 seg000:45B3 loc_C45B3: ; CODE XREF: sub_C456B+3Aj seg000:45B3 ; sub_C456B+40j ... seg000:45B3 pop edx seg000:45B5 seg000:45B5 loc_C45B5: ; CODE XREF: sub_C456B+1Ej seg000:45B5 ; sub_C456B+26j seg000:45B5 pop di seg000:45B6 add di, 2 seg000:45B9 dec cx seg000:45BA seg000:45BA loc_C45BA: ; CODE XREF: sub_C456B+16j seg000:45BA cmp cx, 0 seg000:45BD jbe short loc_C45C3 seg000:45BF or si, si seg000:45C1 jz short loc_C4583 seg000:45C3 seg000:45C3 loc_C45C3: ; CODE XREF: sub_C456B+52j seg000:45C3 pop di seg000:45C4 pop edx seg000:45C6 pop cx seg000:45C7 pop eax seg000:45C9 retn seg000:45C9 sub_C456B endp seg000:45C9 seg000:45C9 ; --------------------------------------------------------------------------- seg000:45CA db 50h ; P seg000:45CB db 0Ah seg000:45CC db 0DBh ; - seg000:45CD db 75h ; u seg000:45CE db 0Dh seg000:45CF db 0E8h ; À seg000:45D0 db 0EFh, 7Ah, 75h, 8, 0E8h, 5Ch, 0E1h, 72h, 3, 0E8h, 0FDh seg000:45D0 db 7Ah, 0E8h, 28h, 83h, 74h, 5, 0E8h, 0EEh, 81h, 0EBh seg000:45D0 db 3, 0E8h, 0F2h, 7Bh, 58h, 0C3h seg000:45EB off_C45EB dw offset loc_C8486 ; DATA XREF: sub_C463B+1Er seg000:45ED dw offset sub_C6347 seg000:45EF dw offset loc_C848C seg000:45F1 dw offset sub_C6347 seg000:45F3 dw offset sub_C6347 seg000:45F5 dw offset sub_C6347 seg000:45F7 dw offset loc_C852C seg000:45F9 dw offset sub_C6347 seg000:45FB dw offset sub_C6347 seg000:45FD dw offset sub_C6347 seg000:45FF dw offset sub_C6347 seg000:4601 dw offset sub_C6347 seg000:4603 dw offset sub_C6347 seg000:4605 dw offset sub_C6347 seg000:4607 dw offset sub_C6347 seg000:4609 dw offset sub_C6347 seg000:460B dw offset sub_C6347 seg000:460D dw offset sub_C6347 seg000:460F dw offset sub_C6347 seg000:4611 dw offset sub_C6347 seg000:4613 dw offset sub_C6347 seg000:4615 dw offset sub_C6347 seg000:4617 dw offset sub_C6347 seg000:4619 dw offset sub_C6347 seg000:461B dw offset sub_C6347 seg000:461D dw offset sub_C6347 seg000:461F dw offset sub_C6347 seg000:4621 dw offset sub_C6347 seg000:4623 dw offset loc_C8530 seg000:4625 dw offset loc_C8543 seg000:4627 dw offset sub_C6347 seg000:4629 dw offset loc_C856E seg000:462B dw offset sub_C6347 seg000:462D dw offset sub_C6347 seg000:462F dw offset loc_C8766 seg000:4631 dw offset sub_C6347 seg000:4633 dw offset loc_C877C seg000:4635 dw offset sub_C6347 seg000:4637 dw offset sub_C6347 seg000:4639 dw offset loc_C879A seg000:463B seg000:463B ; =============== S U B R O U T I N E ======================================= seg000:463B seg000:463B seg000:463B sub_C463B proc near ; CODE XREF: sub_C433B+11p seg000:463B ; DATA XREF: seg000:4337o seg000:463B seg000:463B ; FUNCTION CHUNK AT seg000:8486 SIZE 000000D0 BYTES seg000:463B ; FUNCTION CHUNK AT seg000:856E SIZE 00000028 BYTES seg000:463B ; FUNCTION CHUNK AT seg000:8766 SIZE 00000030 BYTES seg000:463B ; FUNCTION CHUNK AT seg000:879A SIZE 00000042 BYTES seg000:463B seg000:463B push bx seg000:463C cmp bl, 9 seg000:463F jb short loc_C464E seg000:4641 cmp bl, 7Fh ; '' seg000:4644 jb short loc_C465E seg000:4646 sub bl, 76h ; 'v' seg000:4649 cmp bl, 28h ; '(' seg000:464C jnb short loc_C465E seg000:464E seg000:464E loc_C464E: ; CODE XREF: sub_C463B+4j seg000:464E push ax seg000:464F xor ax, ax seg000:4651 mov al, bl seg000:4653 shl ax, 1 seg000:4655 mov si, ax seg000:4657 pop ax seg000:4658 pop bx seg000:4659 jmp cs:off_C45EB[si] seg000:465E ; --------------------------------------------------------------------------- seg000:465E seg000:465E loc_C465E: ; CODE XREF: sub_C463B+9j seg000:465E ; sub_C463B+11j seg000:465E pop bx seg000:465F mov ax, 14Fh seg000:4662 retn seg000:4662 sub_C463B endp ; sp-analysis failed seg000:4662 seg000:4663 ; --------------------------------------------------------------------------- seg000:4663 call sub_C3235 seg000:4666 call sub_C1B51 seg000:4669 call sub_C3253 seg000:466C retf seg000:466D ; --------------------------------------------------------------------------- seg000:466D call sub_C1166 seg000:4670 mov ax, word ptr cs:byte_C0001+79h seg000:4674 mov word ptr cs:byte_C2EEA+1, ax seg000:4678 mov word ptr cs:byte_C2EEA+5, ax seg000:467C call sub_C11BB seg000:467F retf seg000:4680 ; --------------------------------------------------------------------------- seg000:4680 push ax seg000:4681 push cx seg000:4682 push edx seg000:4684 mov ax, 0B101h seg000:4687 int 1Ah ; PCI BIOS CALL - PCI BIOS Present seg000:4687 ; Return: CF clear on success seg000:4687 ; EDX = 'PCI ' seg000:4687 ; AL = Hardware mechanism seg000:4687 ; AH = 00h seg000:4687 ; BH:BL Interface Level Major:Minor Version seg000:4687 ; CL = last PCI bus in the system seg000:4689 jnb short loc_C468F seg000:468B xor bx, bx seg000:468D jmp short loc_C469A seg000:468F ; --------------------------------------------------------------------------- seg000:468F seg000:468F loc_C468F: ; CODE XREF: seg000:4689j seg000:468F cmp edx, 20494350h seg000:4696 jz short loc_C469A seg000:4698 xor bx, bx seg000:469A seg000:469A loc_C469A: ; CODE XREF: seg000:468Dj seg000:469A ; seg000:4696j seg000:469A pop edx seg000:469C pop cx seg000:469D pop ax seg000:469E retn seg000:469F seg000:469F ; =============== S U B R O U T I N E ======================================= seg000:469F seg000:469F seg000:469F sub_C469F proc near ; CODE XREF: seg000:4727p seg000:469F push bx seg000:46A0 mov bx, word ptr cs:byte_C0118+2 seg000:46A5 call sub_C46B5 seg000:46A8 pop bx seg000:46A9 retn seg000:46A9 sub_C469F endp seg000:46A9 seg000:46AA ; --------------------------------------------------------------------------- seg000:46AA push bx seg000:46AB mov bx, word ptr cs:byte_C0118+2 seg000:46B0 call sub_C46D9 seg000:46B3 pop bx seg000:46B4 retn seg000:46B5 seg000:46B5 ; =============== S U B R O U T I N E ======================================= seg000:46B5 seg000:46B5 seg000:46B5 sub_C46B5 proc near ; CODE XREF: sub_C469F+6p seg000:46B5 push bx seg000:46B6 push dx seg000:46B7 cmp bh, 0FFh seg000:46BA stc seg000:46BB jz short loc_C46D6 seg000:46BD mov ah, 80h ; 'Ç' seg000:46BF shl eax, 8 seg000:46C3 mov ax, bx seg000:46C5 shl eax, 8 seg000:46C9 mov al, cl seg000:46CB mov dx, 0CF8h seg000:46CE out dx, eax ; PCI Configuration Space Address Register seg000:46CE ; bits 7..0: configuration space offset seg000:46CE ; bits 10..8: function number seg000:46CE ; bits 15..11: device number seg000:46CE ; bits 23..16: bus number seg000:46D0 mov dx, 0CFCh seg000:46D3 in eax, dx ; PCI Configuration Space Data Register seg000:46D5 clc seg000:46D6 seg000:46D6 loc_C46D6: ; CODE XREF: sub_C46B5+6j seg000:46D6 pop dx seg000:46D7 pop bx seg000:46D8 retn seg000:46D8 sub_C46B5 endp seg000:46D8 seg000:46D9 seg000:46D9 ; =============== S U B R O U T I N E ======================================= seg000:46D9 seg000:46D9 seg000:46D9 sub_C46D9 proc near ; CODE XREF: seg000:46B0p seg000:46D9 push bx seg000:46DA push dx seg000:46DB cmp bh, 0FFh seg000:46DE stc seg000:46DF jz short loc_C46FE seg000:46E1 push eax seg000:46E3 mov ah, 80h ; 'Ç' seg000:46E5 shl eax, 8 seg000:46E9 mov ax, bx seg000:46EB shl eax, 8 seg000:46EF mov al, cl seg000:46F1 mov dx, 0CF8h seg000:46F4 out dx, eax ; PCI Configuration Space Address Register seg000:46F4 ; bits 7..0: configuration space offset seg000:46F4 ; bits 10..8: function number seg000:46F4 ; bits 15..11: device number seg000:46F4 ; bits 23..16: bus number seg000:46F6 mov dx, 0CFCh seg000:46F9 pop eax seg000:46FB out dx, eax ; PCI Configuration Space Data Register seg000:46FD clc seg000:46FE seg000:46FE loc_C46FE: ; CODE XREF: sub_C46D9+6j seg000:46FE pop dx seg000:46FF pop bx seg000:4700 retn seg000:4700 sub_C46D9 endp seg000:4700 seg000:4701 seg000:4701 ; =============== S U B R O U T I N E ======================================= seg000:4701 seg000:4701 seg000:4701 sub_C4701 proc near ; CODE XREF: seg000:4733p seg000:4701 ; sub_C473Cp seg000:4701 push eax seg000:4703 push dx seg000:4704 mov dx, word ptr cs:byte_C0118+8 seg000:4709 mov eax, 2469FDB9h seg000:470F out dx, eax seg000:4711 add dx, 4 seg000:4714 mov eax, 1 seg000:471A out dx, eax seg000:471C pop dx seg000:471D pop eax seg000:471F retn seg000:471F sub_C4701 endp seg000:471F seg000:4720 ; --------------------------------------------------------------------------- seg000:4720 push eax seg000:4722 push cx seg000:4723 push dx seg000:4724 mov cx, 24h ; '$' seg000:4727 call sub_C469F seg000:472A jb short loc_C472F seg000:472C and ax, 0FFF8h seg000:472F seg000:472F loc_C472F: ; CODE XREF: seg000:472Aj seg000:472F mov word ptr cs:byte_C0118+8, ax seg000:4733 call sub_C4701 seg000:4736 pop dx seg000:4737 pop cx seg000:4738 pop eax seg000:473A retn seg000:473B ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_6. PRESS CTRL-NUMPAD+ TO EXPAND] seg000:473C seg000:473C ; =============== S U B R O U T I N E ======================================= seg000:473C seg000:473C seg000:473C sub_C473C proc near ; CODE XREF: sub_C1A7E+27p seg000:473C call sub_C4701 seg000:473F retn seg000:473F sub_C473C endp seg000:473F seg000:4740 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_7. PRESS CTRL-NUMPAD+ TO EXPAND] seg000:4741 seg000:4741 ; =============== S U B R O U T I N E ======================================= seg000:4741 seg000:4741 seg000:4741 sub_C4741 proc near ; CODE XREF: sub_C167E+26p seg000:4741 ; sub_C17CA+11p ... seg000:4741 pushf seg000:4742 push dx seg000:4743 push eax seg000:4745 mov eax, esi seg000:4748 mov dx, word ptr cs:byte_C0118+8 seg000:474D add dx, 8 seg000:4750 out dx, eax seg000:4752 add dx, 4 seg000:4755 pop eax seg000:4757 out dx, eax seg000:4759 pop dx seg000:475A popf seg000:475B retn seg000:475B sub_C4741 endp seg000:475B seg000:475C seg000:475C ; =============== S U B R O U T I N E ======================================= seg000:475C seg000:475C seg000:475C sub_C475C proc near ; CODE XREF: sub_C167E+1Dp seg000:475C ; sub_C16B0+8p ... seg000:475C pushf seg000:475D push dx seg000:475E mov eax, esi seg000:4761 mov dx, word ptr cs:byte_C0118+8 seg000:4766 add dx, 8 seg000:4769 out dx, eax seg000:476B add dx, 4 seg000:476E in eax, dx seg000:4770 pop dx seg000:4771 popf seg000:4772 retn seg000:4772 sub_C475C endp seg000:4772 seg000:4773 ; --------------------------------------------------------------------------- seg000:4773 pushf seg000:4774 push dx seg000:4775 push eax seg000:4777 mov eax, esi seg000:477A mov dx, word ptr cs:byte_C0118+8 seg000:477F add dx, 10h seg000:4782 out dx, eax seg000:4784 add dx, 4 seg000:4787 pop eax seg000:4789 out dx, eax seg000:478B pop dx seg000:478C popf seg000:478D retn seg000:478E ; --------------------------------------------------------------------------- seg000:478E pushf seg000:478F push dx seg000:4790 mov eax, esi seg000:4793 mov dx, word ptr cs:byte_C0118+8 seg000:4798 add dx, 10h seg000:479B out dx, eax seg000:479D add dx, 4 seg000:47A0 in eax, dx seg000:47A2 pop dx seg000:47A3 popf seg000:47A4 retn seg000:47A5 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS CTRL-NUMPAD+ TO EXPAND] seg000:47A6 seg000:47A6 ; =============== S U B R O U T I N E ======================================= seg000:47A6 seg000:47A6 seg000:47A6 sub_C47A6 proc near ; CODE XREF: sub_C3271+75p seg000:47A6 clc seg000:47A7 retn seg000:47A7 sub_C47A6 endp seg000:47A7 seg000:47A8 ; --------------------------------------------------------------------------- seg000:47A8 outsb seg000:47A9 adc al, al seg000:47AB popa seg000:47AC inc ax seg000:47AD jmp cx seg000:47AD ; --------------------------------------------------------------------------- seg000:47AF db 2 dup(0FFh), 0, 10h, 2 dup(0), 74h, 64h, 0, 75h, 6 seg000:47AF db 6Eh, 10h, 0C0h, 61h, 40h, 0FFh, 0EFh, 2 dup(0FFh), 4 dup(0) seg000:47AF db 72h, 6Eh, 10h, 0C0h, 61h, 40h, 0FFh, 0F7h, 2 dup(0FFh) seg000:47AF db 0, 8, 2 dup(0), 74h, 64h, 0, 75h, 6, 6Eh, 10h, 0C0h seg000:47AF db 61h, 40h, 0FFh, 0F7h, 2 dup(0FFh), 4 dup(0), 72h, 6Eh seg000:47AF db 10h, 0C0h, 61h, 40h, 0FFh, 0FBh, 2 dup(0FFh), 0, 4 seg000:47AF db 2 dup(0), 74h, 64h, 0, 75h, 6, 6Eh, 10h, 0C0h, 61h seg000:47AF db 40h, 0FFh, 0FBh, 2 dup(0FFh), 4 dup(0), 72h, 6Eh, 10h seg000:47AF db 0C0h, 61h, 40h, 0FFh, 0FDh, 2 dup(0FFh), 0, 2, 2 dup(0) seg000:47AF db 74h, 64h, 0, 75h, 6, 6Eh, 10h, 0C0h, 61h, 40h, 0FFh seg000:47AF db 0FDh, 2 dup(0FFh), 4 dup(0), 72h, 71h seg000:4829 seg000:4829 ; =============== S U B R O U T I N E ======================================= seg000:4829 seg000:4829 seg000:4829 sub_C4829 proc near ; CODE XREF: sub_C4947+4p seg000:4829 push eax seg000:482B push si seg000:482C mov si, 9E48h seg000:482F call sub_C3363 seg000:4832 and al, 0FCh seg000:4834 call sub_C334D seg000:4837 mov si, 9E4Ch seg000:483A xor ax, ax seg000:483C call sub_C334D seg000:483F pop si seg000:4840 pop eax seg000:4842 retn seg000:4842 sub_C4829 endp seg000:4842 seg000:4843 seg000:4843 ; =============== S U B R O U T I N E ======================================= seg000:4843 seg000:4843 seg000:4843 sub_C4843 proc near ; CODE XREF: seg000:312Ap seg000:4843 ; sub_C3A0F+Cp ... seg000:4843 push bp seg000:4844 pushf seg000:4845 call sub_C4962 seg000:4848 jz short loc_C48B2 seg000:484A push cx seg000:484B push si seg000:484C push bx seg000:484D push eax seg000:484F call sub_C49CF seg000:4852 mov bx, sp seg000:4854 add bx, 10h seg000:4857 mov bp, bx seg000:4859 sub cx, bx seg000:485B shr cx, 1 seg000:485D push dx seg000:485E push cx seg000:485F mov si, 9E48h seg000:4862 call sub_C3363 seg000:4865 or al, 1 seg000:4867 call sub_C334D seg000:486A mov al, 0A2h ; 'ó' seg000:486C call sub_C1D43 seg000:486F seg000:486F loc_C486F: ; CODE XREF: sub_C4843+38j seg000:486F mov bx, [bp+0] seg000:4872 mov ah, bl seg000:4874 out dx, ax seg000:4875 mov ah, bh seg000:4877 out dx, ax seg000:4878 add bp, 2 seg000:487B loop loc_C486F seg000:487D pop cx seg000:487E mov ah, cl seg000:4880 call sub_C1B76 seg000:4883 mov ah, ch seg000:4885 call sub_C1B76 seg000:4888 pop dx seg000:4889 call sub_C3363 seg000:488C and al, 0FEh seg000:488E call sub_C334D seg000:4891 pop eax seg000:4893 pop bx seg000:4894 mov si, sp seg000:4896 mov cx, ss:[si+4] seg000:489A mov [bp-6], cx seg000:489D mov cx, ss:[si+6] seg000:48A1 mov [bp-4], cx seg000:48A4 mov cx, ss:[si+8] seg000:48A8 mov [bp-2], cx seg000:48AB pop si seg000:48AC pop cx seg000:48AD sub bp, 6 seg000:48B0 mov sp, bp seg000:48B2 seg000:48B2 loc_C48B2: ; CODE XREF: sub_C4843+5j seg000:48B2 popf seg000:48B3 pop bp seg000:48B4 retn seg000:48B4 sub_C4843 endp seg000:48B4 seg000:48B5 seg000:48B5 ; =============== S U B R O U T I N E ======================================= seg000:48B5 seg000:48B5 ; Attributes: bp-based frame seg000:48B5 seg000:48B5 sub_C48B5 proc near ; CODE XREF: seg000:loc_C322Cp seg000:48B5 ; sub_C3A0F+12p ... seg000:48B5 seg000:48B5 var_s0 = word ptr 0 seg000:48B5 seg000:48B5 push bp seg000:48B6 mov bp, sp seg000:48B8 pushf seg000:48B9 call sub_C4962 seg000:48BC jz short loc_C4921 seg000:48BE push cx seg000:48BF push si seg000:48C0 push di seg000:48C1 push ds seg000:48C2 push es seg000:48C3 push bx seg000:48C4 push eax seg000:48C6 call sub_C496A seg000:48C9 mov bx, cx seg000:48CB shl cx, 1 seg000:48CD push ss seg000:48CE pop si seg000:48CF mov ds, si seg000:48D1 mov es, si seg000:48D3 add bp, 2 seg000:48D6 mov ax, bp seg000:48D8 sub bp, 14h seg000:48DB mov si, bp seg000:48DD mov di, bp seg000:48DF sub di, cx seg000:48E1 mov bp, ax seg000:48E3 mov cx, 0Bh seg000:48E6 cld seg000:48E7 rep movsw seg000:48E9 sub di, 16h seg000:48EC mov sp, di seg000:48EE mov si, 9E48h seg000:48F1 call sub_C3363 seg000:48F4 or al, 2 seg000:48F6 call sub_C334D seg000:48F9 mov cx, bx seg000:48FB push dx seg000:48FC call sub_C1D43 seg000:48FF mov al, 0A2h ; 'ó' seg000:4901 out dx, al seg000:4902 seg000:4902 loc_C4902: ; CODE XREF: sub_C48B5+59j seg000:4902 in ax, dx seg000:4903 mov bh, ah seg000:4905 in ax, dx seg000:4906 mov bl, ah seg000:4908 mov [bp+var_s0], bx seg000:490B sub bp, 2 seg000:490E loop loc_C4902 seg000:4910 pop dx seg000:4911 call sub_C3363 seg000:4914 and al, 0FDh seg000:4916 call sub_C334D seg000:4919 pop eax seg000:491B pop bx seg000:491C pop es seg000:491D pop ds seg000:491E pop di seg000:491F pop si seg000:4920 pop cx seg000:4921 seg000:4921 loc_C4921: ; CODE XREF: sub_C48B5+7j seg000:4921 popf seg000:4922 pop bp seg000:4923 retn seg000:4923 sub_C48B5 endp seg000:4923 seg000:4924 seg000:4924 ; =============== S U B R O U T I N E ======================================= seg000:4924 seg000:4924 seg000:4924 sub_C4924 proc near ; CODE XREF: seg000:loc_C1A18p seg000:4924 push ax seg000:4925 push bx seg000:4926 mov bx, sp seg000:4928 push cx seg000:4929 pushf seg000:492A call sub_C3664 seg000:492D jnz short loc_C4942 seg000:492F xor cx, cx seg000:4931 call sub_C4993 seg000:4934 mov cx, sp seg000:4936 add cx, 8 seg000:4939 call sub_C4993 seg000:493C call sub_C49BC seg000:493F call sub_C4950 seg000:4942 seg000:4942 loc_C4942: ; CODE XREF: sub_C4924+9j seg000:4942 popf seg000:4943 pop cx seg000:4944 pop bx seg000:4945 pop ax seg000:4946 retn seg000:4946 sub_C4924 endp seg000:4946 seg000:4947 seg000:4947 ; =============== S U B R O U T I N E ======================================= seg000:4947 seg000:4947 seg000:4947 sub_C4947 proc near ; CODE XREF: seg000:loc_C1A4Cp seg000:4947 ; seg000:2DFBp seg000:4947 pushf seg000:4948 call sub_C4959 seg000:494B call sub_C4829 seg000:494E popf seg000:494F retn seg000:494F sub_C4947 endp seg000:494F seg000:4950 seg000:4950 ; =============== S U B R O U T I N E ======================================= seg000:4950 seg000:4950 seg000:4950 sub_C4950 proc near ; CODE XREF: sub_C4924+1Bp seg000:4950 push ax seg000:4951 mov ax, 102h seg000:4954 call sub_C127D seg000:4957 pop ax seg000:4958 retn seg000:4958 sub_C4950 endp seg000:4958 seg000:4959 seg000:4959 ; =============== S U B R O U T I N E ======================================= seg000:4959 seg000:4959 seg000:4959 sub_C4959 proc near ; CODE XREF: sub_C4947+1p seg000:4959 push ax seg000:495A mov ax, 2 seg000:495D call sub_C127D seg000:4960 pop ax seg000:4961 retn seg000:4961 sub_C4959 endp seg000:4961 seg000:4962 seg000:4962 ; =============== S U B R O U T I N E ======================================= seg000:4962 seg000:4962 seg000:4962 sub_C4962 proc near ; CODE XREF: sub_C4843+2p seg000:4962 ; sub_C48B5+4p seg000:4962 push ax seg000:4963 mov al, 2 seg000:4965 call sub_C126B seg000:4968 pop ax seg000:4969 retn seg000:4969 sub_C4962 endp seg000:4969 seg000:496A seg000:496A ; =============== S U B R O U T I N E ======================================= seg000:496A seg000:496A seg000:496A sub_C496A proc near ; CODE XREF: sub_C48B5+11p seg000:496A push si seg000:496B push eax seg000:496D push dx seg000:496E pushf seg000:496F mov si, 9E48h seg000:4972 call sub_C3363 seg000:4975 push eax seg000:4977 or al, 2 seg000:4979 call sub_C334D seg000:497C mov al, 0A2h ; 'ó' seg000:497E call sub_C1B89 seg000:4981 mov ch, ah seg000:4983 call sub_C1B89 seg000:4986 mov cl, ah seg000:4988 pop eax seg000:498A call sub_C334D seg000:498D popf seg000:498E pop dx seg000:498F pop eax seg000:4991 pop si seg000:4992 retn seg000:4992 sub_C496A endp seg000:4992 seg000:4993 seg000:4993 ; =============== S U B R O U T I N E ======================================= seg000:4993 seg000:4993 seg000:4993 sub_C4993 proc near ; CODE XREF: sub_C4924+Dp seg000:4993 ; sub_C4924+15p seg000:4993 push si seg000:4994 push eax seg000:4996 push dx seg000:4997 pushf seg000:4998 mov si, 9E48h seg000:499B call sub_C3363 seg000:499E push eax seg000:49A0 or al, 1 seg000:49A2 call sub_C334D seg000:49A5 mov al, 0A2h ; 'ó' seg000:49A7 mov ah, cl seg000:49A9 call sub_C1B76 seg000:49AC mov ah, ch seg000:49AE call sub_C1B76 seg000:49B1 pop eax seg000:49B3 call sub_C334D seg000:49B6 popf seg000:49B7 pop dx seg000:49B8 pop eax seg000:49BA pop si seg000:49BB retn seg000:49BB sub_C4993 endp seg000:49BB seg000:49BC seg000:49BC ; =============== S U B R O U T I N E ======================================= seg000:49BC seg000:49BC seg000:49BC sub_C49BC proc near ; CODE XREF: sub_C4924+18p seg000:49BC push ax seg000:49BD pushf seg000:49BE mov al, 0Fh seg000:49C0 mov ah, cl seg000:49C2 call sub_C127D seg000:49C5 mov al, 10h seg000:49C7 mov ah, ch seg000:49C9 call sub_C127D seg000:49CC popf seg000:49CD pop ax seg000:49CE retn seg000:49CE sub_C49BC endp seg000:49CE seg000:49CF seg000:49CF ; =============== S U B R O U T I N E ======================================= seg000:49CF seg000:49CF seg000:49CF sub_C49CF proc near ; CODE XREF: sub_C4843+Cp seg000:49CF push ax seg000:49D0 pushf seg000:49D1 mov al, 0Fh seg000:49D3 call sub_C126B seg000:49D6 mov cl, ah seg000:49D8 mov al, 10h seg000:49DA call sub_C126B seg000:49DD mov ch, ah seg000:49DF popf seg000:49E0 pop ax seg000:49E1 retn seg000:49E1 sub_C49CF endp seg000:49E1 seg000:49E1 ; --------------------------------------------------------------------------- seg000:49E2 db 50h ; P seg000:49E3 aLeasePowerDown db 'LEASE POWER DOWN AND CONNECT THE PCIe POWER CABLE(S) FOR THIS GRA' seg000:49E3 db 'PHICS CARD',0Dh,0Ah,0 seg000:4A31 byte_C4A31 db 0 ; DATA XREF: sub_C4A32+8w seg000:4A31 ; sub_C4A48+1r ... seg000:4A32 seg000:4A32 ; =============== S U B R O U T I N E ======================================= seg000:4A32 seg000:4A32 seg000:4A32 sub_C4A32 proc near ; CODE XREF: seg000:2D56p seg000:4A32 push ax seg000:4A33 mov al, 79h ; 'y' seg000:4A35 call sub_C16CE seg000:4A38 jz short loc_C4A46 seg000:4A3A or cs:byte_C4A31, 1 seg000:4A40 and cs:byte_C0001+48h, 0DFh seg000:4A46 seg000:4A46 loc_C4A46: ; CODE XREF: sub_C4A32+6j seg000:4A46 pop ax seg000:4A47 retn seg000:4A47 sub_C4A32 endp seg000:4A47 seg000:4A48 seg000:4A48 ; =============== S U B R O U T I N E ======================================= seg000:4A48 seg000:4A48 seg000:4A48 sub_C4A48 proc near ; CODE XREF: seg000:2D9Ep seg000:4A48 pusha seg000:4A49 test cs:byte_C4A31, 1 seg000:4A4F jz short loc_C4A70 seg000:4A51 mov dh, ds:484h seg000:4A55 shr dh, 1 seg000:4A57 mov bx, ds:450h seg000:4A5B cmp dh, bh seg000:4A5D jbe short loc_C4A66 seg000:4A5F xor bh, bh seg000:4A61 xor dl, dl seg000:4A63 call sub_C1ED1 seg000:4A66 seg000:4A66 loc_C4A66: ; CODE XREF: sub_C4A48+15j seg000:4A66 push cs seg000:4A67 pop es seg000:4A68 assume es:nothing seg000:4A68 mov di, 49E2h seg000:4A6B xor dl, dl seg000:4A6D call sub_C2CAC seg000:4A70 seg000:4A70 loc_C4A70: ; CODE XREF: sub_C4A48+7j seg000:4A70 popa seg000:4A71 retn seg000:4A71 sub_C4A48 endp seg000:4A71 seg000:4A72 seg000:4A72 ; =============== S U B R O U T I N E ======================================= seg000:4A72 seg000:4A72 seg000:4A72 sub_C4A72 proc near ; CODE XREF: seg000:2DB6p seg000:4A72 cmp cs:byte_C4A31, 0 seg000:4A78 jz short locret_C4A7C seg000:4A7A seg000:4A7A loc_C4A7A: ; CODE XREF: sub_C4A72:loc_C4A7Aj seg000:4A7A jmp short loc_C4A7A seg000:4A7C ; --------------------------------------------------------------------------- seg000:4A7C seg000:4A7C locret_C4A7C: ; CODE XREF: sub_C4A72+6j seg000:4A7C retn seg000:4A7C sub_C4A72 endp seg000:4A7C seg000:4A7C ; --------------------------------------------------------------------------- seg000:4A7D db 66h ; f seg000:4A7E db 52h ; R seg000:4A7F db 0E8h, 0A7h, 0BAh, 2Ch, 0, 2 dup(10h), 0, 14h, 7Eh, 18h seg000:4A7F db 14h, 7Fh, 0Fh, 14h, 71h, 8Ah, 0C2h, 66h, 5Ah, 0C3h seg000:4A7F db 50h, 0E8h, 0E5h, 0FFh, 8Ah, 0C8h, 57h, 0E8h, 7, 0, 2Eh seg000:4A7F db 8Ah, 6Dh, 1, 5Fh, 58h, 0C3h, 50h, 0E8h, 0D4h, 0FFh seg000:4A7F db 0BFh, 2 dup(0), 0B4h, 2, 0F6h, 0ECh, 3, 0F8h, 58h, 0C3h seg000:4A7F db 50h, 0E8h, 0EDh, 0FFh, 2Eh, 8Ah, 45h, 1, 0B4h, 20h seg000:4A7F db 0F6h, 0ECh, 0BFh, 5Ch, 43h, 3, 0F8h, 58h, 0C3h, 66h seg000:4A7F db 50h, 51h, 57h, 8Bh, 0FEh, 32h, 0C0h, 0B9h, 18h, 0, 36h seg000:4A7F db 88h, 5, 47h, 0E2h, 0FAh, 5Fh, 66h, 33h, 0C0h, 2Eh, 8Bh seg000:4A7F db 45h, 4, 36h, 89h, 4, 2Eh, 8Bh, 45h, 0Eh, 36h, 89h, 44h seg000:4A7F db 2, 2Eh, 8Bh, 45h, 0Ah, 36h, 89h, 44h, 4, 2Eh, 8Bh, 45h seg000:4A7F db 0Ch, 36h, 89h, 44h, 6, 2Eh, 8Bh, 45h, 12h, 36h, 89h seg000:4A7F db 44h, 8, 2Eh, 8Bh, 45h, 1Ch, 36h, 89h, 44h, 0Ah, 2Eh seg000:4A7F db 8Bh, 45h, 18h, 36h, 89h, 44h, 0Ch, 2Eh, 8Bh, 45h, 1Ah seg000:4A7F db 36h, 89h, 44h, 0Eh, 32h, 0C0h, 2Eh, 0F6h, 45h, 1Eh seg000:4A7F db 1, 75h, 2, 0Ch, 2, 2Eh, 0F6h, 45h, 1Eh, 10h, 75h, 2 seg000:4A7F db 0Ch, 1, 36h, 88h, 44h, 10h, 2Eh, 8Bh, 5, 36h, 89h, 44h seg000:4A7F db 16h, 32h, 0C9h, 57h, 0E8h, 65h, 0FFh, 2Eh, 8Ah, 5, 5Fh seg000:4A7F db 8Ah, 0E0h, 80h, 0E4h, 1, 0Ah, 0CCh, 24h, 2, 0D0h, 0E0h seg000:4A7F db 0Ah, 0C8h, 36h, 0C6h, 44h, 14h, 0, 0Ah, 0C0h, 75h, 5 seg000:4A7F db 36h, 0C6h, 44h, 14h, 11h, 36h, 88h, 4Ch, 11h, 32h, 0C0h seg000:4A7F db 36h, 88h, 44h, 12h, 36h, 88h, 44h, 15h, 36h, 0C6h, 44h seg000:4A7F db 13h, 9, 0B2h, 3, 59h, 66h, 58h, 0C3h, 57h, 0E8h, 38h seg000:4A7F db 0FFh, 0E8h, 48h, 0FFh, 5Fh, 0C3h, 50h, 57h, 0E8h, 0F7h seg000:4A7F db 0FEh, 0E8h, 1Ch, 0FFh, 2Eh, 8Ah, 65h, 1, 3Dh, 2 dup(0Fh) seg000:4A7F db 75h, 3, 0F8h, 0EBh, 1, 0F9h, 5Fh, 58h, 0C3h, 4Eh, 56h seg000:4A7F db 49h, 44h, 49h, 41h, 0Eh dup(0) seg000:4BAD db 4Eh ; N seg000:4BAE aVidiaCorporati db 'VIDIA Corporation',0 seg000:4BC0 db 10h dup(0) seg000:4BD0 db 42h ; B seg000:4BD1 aIosCertificate db 'IOS Certificate Check Failed!!!',0Dh,0Ah,0 seg000:4BF3 align 8 seg000:4BF8 db 21h ; ! seg000:4BF9 db 5 seg000:4BFA db 2, 19h, 0Ch, 8Eh, 51h, 0Ah dup(0), 0C3h, 55h, 22h, 57h seg000:4BFA db 0B3h, 57h, 44h, 58h, 4 dup(0), 0ECh, 5Ah, 30h, 5Ch seg000:4BFA db 8Eh, 5Dh, 0ECh, 5Eh, 0A7h, 55h, 10h dup(0), 10h, 0Dh seg000:4BFA db 5, 34h, 0, 2 dup(10h), 9 dup(0), 34h, 0A8h, 14h, 2 seg000:4BFA db 9 dup(0), 34h, 0A0h, 14h, 2, 9 dup(0), 34h, 0D4h, 12h seg000:4BFA db 2, 9 dup(0), 34h, 0A4h, 14h, 2, 9 dup(0), 10h, 3, 8 seg000:4BFA db 0, 0C6h, 0, 3, 78h, 3, 4, 82h, 0, 5, 0A2h, 0, 7, 60h seg000:4BFA db 5, 8, 40h, 8, 9, 60h, 0Dh, 0Ah, 40h, 10h, 2, 1Eh, 1Ah seg000:4BFA db 2, 16h, 3 dup(2), 12h, 7 dup(2), 0, 1, 2, 3, 4, 5, 6 seg000:4BFA db 7, 0, 1, 2, 3, 4, 5, 6, 7, 80h, 0B4h, 4Ch, 81h, 0B4h seg000:4BFA db 4Ch, 0, 40h, 5, 0Bh, 0Ch, 0Eh, 7, 3Eh, 4Dh, 0E0h, 70h seg000:4BFA db 13h, 0, 2Ah, 3, 2Ah, 3, 8, 3Eh, 4Dh, 0, 70h, 13h, 0 seg000:4BFA db 2Ah, 3, 2Ah, 3, 0Ah, 3Eh, 4Dh, 20h, 70h, 13h, 0, 2Ah seg000:4BFA db 3, 2Ah, 3, 0Bh, 3Eh, 4Dh, 40h, 70h, 13h, 0, 2Ah, 3 seg000:4BFA db 2Ah, 3, 4, 4Ch, 4Dh, 4 dup(0), 0FAh, 0, 0C8h, 0, 0Ch seg000:4BFA db 5Ah, 4Dh, 4 dup(0), 1Bh, 0, 1Bh, 0, 41h, 68h, 4Dh, 0 seg000:4BFA db 0E8h, 2 dup(0), 2Ah, 3, 1Bh, 0, 42h, 68h, 4Dh, 20h seg000:4BFA db 0E8h, 2 dup(0), 2Ah, 3, 1Bh, 0, 80h, 76h, 4Dh, 40h seg000:4BFA db 41h, 61h, 0, 2Ah, 3, 1Bh, 0, 81h, 76h, 4Dh, 40h, 49h seg000:4BFA db 61h, 0, 2Ah, 3, 1Bh, 0, 82h, 76h, 4Dh, 40h, 51h, 61h seg000:4BFA db 0, 2Ah, 3, 1Bh, 0, 83h, 76h, 4Dh, 40h, 59h, 61h, 0 seg000:4BFA db 2Ah, 3, 1Bh, 0, 4Ch, 4, 64h, 9, 19h, 0, 64h, 0, 11h seg000:4BFA db 20h, 8, 0FFh, 1, 3Fh, 0D0h, 7, 0A0h, 0Fh, 96h, 0, 0FAh seg000:4BFA db 0, 1, 0FFh, 8, 0FFh, 1, 3Fh, 58h, 2, 0B0h, 4, 19h, 0 seg000:4BFA db 4Bh, 0, 1, 0FFh, 8, 0FFh, 1, 3Fh, 20h, 3, 54h, 6, 19h seg000:4BFA db 0, 4Bh, 0, 1, 0FFh, 8, 0FFh, 1, 3Fh, 58h, 2, 0B0h, 4 seg000:4BFA db 19h, 0, 4Bh, 0, 1, 0FFh, 8, 0FFh, 1, 3Fh, 10h, 2 dup(7) seg000:4D87 db 10h seg000:4D88 db 0 seg000:4D89 db 0FBh ; û seg000:4D8A db 4Dh, 3, 60h, 30h, 13h, 3 dup(0), 13h, 11h, 30h, 13h seg000:4D8A db 3 dup(0), 23h, 62h, 20h, 13h, 3 dup(0), 33h, 13h, 20h seg000:4D8A db 13h, 3 dup(0), 43h, 64h, 30h, 12h, 3 dup(0), 53h, 35h seg000:4D8A db 30h, 13h, 3 dup(0), 63h, 66h, 30h, 13h, 3 dup(0), 73h seg000:4D8A db 17h, 30h, 13h, 3 dup(0), 8Fh, 2 dup(0), 10h, 3 dup(0) seg000:4D8A db 9Fh, 1, 0, 10h, 3 dup(0), 0AFh, 2, 0, 10h, 3 dup(0) seg000:4D8A db 0BFh, 3, 0, 10h, 3 dup(0), 0CFh, 4, 0, 10h, 3 dup(0) seg000:4D8A db 0DFh, 5, 0, 10h, 3 dup(0), 0EFh, 6, 0, 10h, 3 dup(0) seg000:4D8A db 0FFh, 7, 0, 10h, 4 dup(0), 1, 2, 3, 4, 5, 6, 7, 8, 9 seg000:4D8A db 0Ah, 0Bh, 0Ch, 0Dh, 0Eh, 0Fh, 10h, 11h, 12h, 13h, 14h seg000:4D8A db 15h, 16h, 17h, 18h, 19h, 1Ah, 1Bh, 1Ch, 1Dh, 1Eh, 1Fh seg000:4D8A db 10h, 4, 2, 3, 0, 1, 10h, 1, 0, 7, 0B7h, 83h, 6Bh, 8Bh seg000:4D8A db 3Bh, 63h, 23h, 0A6h, 24h, 0A6h, 27h, 0A7h, 3 dup(0) seg000:4D8A db 3 dup(1), 2, 1, 3, 1, 4, 1, 5, 1, 14h, 0D3h, 11h, 0 seg000:4D8A db 1, 3 dup(0), 10h, 0D3h, 11h, 0, 1, 3 dup(0), 18h, 0D3h seg000:4D8A db 11h, 0, 1, 3 dup(0), 14h, 0E3h, 11h, 0, 1, 3 dup(0) seg000:4D8A db 10h, 0E3h, 11h, 0, 1, 3 dup(0), 18h, 0E3h, 11h, 0, 1 seg000:4D8A db 3 dup(0), 0Ch, 0, 61h, 4 dup(0), 80h, 3 dup(0), 80h seg000:4D8A db 0Ch, 0, 61h, 4 dup(0), 40h, 4 dup(0), 4, 0A0h, 61h seg000:4D8A db 40h, 3 dup(0), 80h, 4 dup(0), 4, 0C0h, 61h, 40h, 3 dup(0) seg000:4D8A db 80h, 4 dup(0), 4, 0, 62h, 40h, 3 dup(0), 80h, 4 dup(0) seg000:4D8A db 30h, 0C0h, 61h, 40h, 3 dup(0), 10h, 4 dup(0), 10h, 0C0h seg000:4D8A db 61h, 40h, 0, 80h, 3 dup(0), 80h, 3 dup(0), 0E8h, 4 dup(0) seg000:4D8A db 1, 3 dup(0), 1, 2 dup(0), 0E8h, 4 dup(0), 2, 3 dup(0) seg000:4D8A db 2, 0, 20h, 0E8h, 4 dup(0), 1, 3 dup(0), 1, 0, 20h, 0E8h seg000:4D8A db 4 dup(0), 2, 3 dup(0), 2, 0, 4Ch, 0, 12h, 0, 3Fh, 7 dup(0) seg000:4D8A db 64h, 0, 12h, 0, 7, 3 dup(0), 5, 3 dup(0), 0Ch, 24h seg000:4D8A db 2, 0, 1, 8 dup(0), 0C8h, 5 dup(0), 40h, 3 dup(0), 40h seg000:4D8A db 0, 0C8h, 5 dup(0), 40h, 3 dup(0), 40h, 20h, 1Ah, 13h seg000:4D8A db 3 dup(0), 1, 3 dup(0), 1, 0, 20h, 1Ch, 13h, 3 dup(0) seg000:4D8A db 1, 3 dup(0), 1, 0, 20h, 1Ah, 13h, 3 dup(0), 2, 3 dup(0) seg000:4D8A db 2, 0, 20h, 1Ch, 13h, 3 dup(0), 2, 3 dup(0), 2, 0, 98h seg000:4D8A db 12h, 2, 0, 0FFh, 7 dup(0), 34h, 0C0h, 61h, 40h, 3 dup(0) seg000:4D8A db 80h, 4 dup(0), 8, 63h, 61h, 80h, 10h, 8 dup(0), 2 dup(10h) seg000:4D8A db 0, 0Ch, 3 dup(0), 8, 4 dup(0), 52h, 62h, 80h, 3 dup(0) seg000:4D8A db 80h, 4 dup(0), 8, 25h, 2, 0, 4 dup(0FFh), 4 dup(0) seg000:4D8A db 90h, 12h, 2, 0, 1, 7 dup(0), 88h, 12h, 2, 0, 0FFh, 7 dup(0) seg000:4D8A db 0C0h, 14h, 2, 0, 7, 7 dup(0), 50h, 0E0h, 11h, 4 dup(0) seg000:4D8A db 80h, 4 dup(0), 50h, 0E0h, 11h, 4 dup(0), 40h, 5 dup(0) seg000:4D8A db 2 dup(10h), 0, 3Ch, 3 dup(0), 1Ch, 4 dup(0), 2 dup(10h) seg000:4D8A db 0, 3Ch, 3 dup(0), 0Ch, 3 dup(0), 0Ch, 0E6h, 11h, 0 seg000:4D8A db 40h, 3 dup(0), 40h, 3 dup(0), 2Ch, 1Ch, 13h, 2 dup(0) seg000:4D8A db 3, 3 dup(0), 3, 2 dup(0), 88h, 80h, 8, 3 dup(0), 0Fh seg000:4D8A db 3 dup(0), 1, 0, 40h, 0C0h, 8, 3 dup(0), 0Ch, 3 dup(0) seg000:4D8A db 8, 0, 40h, 0C0h, 8, 0, 1Fh, 8 dup(0), 7, 61h, 4 dup(0) seg000:4D8A db 80h, 4 dup(0), 80h, 7, 61h, 0, 1Fh, 3 dup(0), 3, 3 dup(0) seg000:4D8A db 84h, 15h, 2 dup(0), 4, 7 dup(0), 84h, 15h, 2 dup(0) seg000:4D8A db 8, 3 dup(0), 8, 4 dup(0), 80h, 8, 0, 2 dup(0FFh), 2 dup(0) seg000:4D8A db 86h, 80h, 2 dup(0), 4, 23h, 61h, 0, 3, 3 dup(0), 3 seg000:4D8A db 4 dup(0), 8, 10h, 0, 10h, 3 dup(0), 10h, 3 dup(0), 84h seg000:4D8A db 15h, 2 dup(0), 40h, 3 dup(0), 40h, 3 dup(0), 0D4h, 3 seg000:4D8A db 0E8h, 2 dup(2), 0D4h, 3, 0E8h, 4, 0, 0D4h, 3, 19h, 1 seg000:4D8A db 0, 0D4h, 3, 0E8h, 40h, 0, 0D4h, 3, 97h seg000:50AE db 2 dup(1), 0D4h, 3, 97h, 2 dup(2), 0D4h, 3, 97h, 2 dup(10h) seg000:50AE db 0D4h, 3, 97h, 2 dup(20h), 0D4h, 3, 97h, 2 dup(4), 0D4h seg000:50AE db 3, 97h, 2 dup(8), 0D4h, 3, 8Fh, 2 dup(1), 0D4h, 3, 9Dh seg000:50AE db 2 dup(4), 0D4h, 3, 8Dh, 2 dup(20h), 8Eh, 4Ch, 10h, 0Bh seg000:50AE db 0D0h, 0B4h, 20h, 90h, 31h, 10h, 12h, 6Ch, 0C2h, 6 dup(0) seg000:50AE db 1Ch, 0D6h, 9, 80h, 0A0h, 20h, 0E0h, 2Dh, 2 dup(10h) seg000:50AE db 60h, 0A2h, 6 dup(0), 18h, 0A0h, 0Fh, 20h, 0, 31h, 58h seg000:50AE db 1Ch, 20h, 28h, 80h, 14h, 6 dup(0), 1Eh, 88h, 13h, 20h seg000:50AE db 0F1h, 30h, 58h, 43h, 20h, 38h, 78h, 56h, 8, 5 dup(0) seg000:50AE db 1Eh, 56h, 13h, 20h, 0, 31h, 58h, 1Ch, 20h, 10h, 50h seg000:50AE db 13h, 6 dup(0), 1Eh, 64h, 19h, 0, 40h, 41h, 0, 26h, 30h seg000:50AE db 18h, 88h, 36h, 6 dup(0), 18h, 4Ch, 1Dh, 0, 30h, 41h seg000:50AE db 0, 26h, 30h, 18h, 88h, 36h, 6 dup(0), 18h, 0C3h, 1Eh seg000:50AE db 0, 20h, 41h, 0, 20h, 30h, 10h, 60h, 23h, 6 dup(0), 18h seg000:50AE db 0BCh, 34h, 0, 98h, 51h, 0, 2Ah, 40h, 10h, 90h, 13h seg000:50AE db 6 dup(0), 1Eh, 30h, 2Ah, 0, 98h, 51h, 0, 2Ah, 40h, 30h seg000:50AE db 70h, 13h, 6 dup(0), 1Eh, 2 dup(0), 0CFh, 0Fh, 2 dup(1) seg000:50AE db 6 dup(0), 0FFh, 0, 0A0h, 51h, 4 dup(0), 0A4h, 51h, 71h seg000:50AE db 20h, 0Dh, 4, 2 dup(0), 50h, 32h, 74h, 40h, 0E8h, 80h seg000:50AE db 0E4h, 57h, 5Bh, 37h, 59h, 6Eh, 30h, 0C1h, 61h, 40h seg000:50AE db 0FFh, 0, 0BFh, 0FFh, 0, 66h, 40h, 0, 6Eh, 0B0h, 0C1h seg000:50AE db 61h, 40h, 0FFh, 0, 0BFh, 0FFh, 0, 66h, 40h, 0, 6Eh seg000:50AE db 0, 23h, 61h, 40h, 2 dup(0FFh), 83h, 0FCh, 2 dup(0) seg000:50AE db 28h, 0, 71h, 5Bh, 0F2h, 51h, 5Bh, 0F7h, 51h, 71h, 6Eh seg000:50AE db 0, 23h, 61h, 40h, 2 dup(0FFh), 0FCh, 0FFh, 2 dup(0) seg000:50AE db 3, 0, 71h, 56h, 5, 0FFh, 72h, 71h, 6Eh, 0Ch, 0C1h, 61h seg000:50AE db 40h, 0FEh, 3 dup(0FFh), 4 dup(0), 6Eh, 0, 66h, 61h seg000:50AE db 80h, 0FEh, 3 dup(0FFh), 4 dup(0), 71h, 5Bh, 79h, 52h seg000:50AE db 58h, 0Ch, 0C0h, 61h, 40h, 4, 3 dup(0), 1, 0, 0Dh, 40h seg000:50AE db 3 dup(0), 2, 0, 0F8h, 5Ah, 24h, 0, 5Bh, 87h, 52h, 5Bh seg000:50AE db 72h, 52h, 71h, 5Bh, 79h, 52h, 58h, 0Ch, 0C0h, 61h, 40h seg000:50AE db 4, 3 dup(0), 1, 0, 0Dh, 40h, 3 dup(0), 2, 0, 0F8h, 5Ah seg000:50AE db 24h, 0, 5Bh, 87h, 52h, 5Bh, 72h, 52h, 71h, 5Bh, 79h seg000:50AE db 52h, 58h, 0Ch, 0C0h, 61h, 40h, 4, 3 dup(0), 1, 0, 0Dh seg000:50AE db 40h, 3 dup(0), 2, 0, 88h, 58h, 24h, 0, 5Bh, 87h, 52h seg000:50AE db 5Bh, 72h, 52h, 71h, 5Bh, 0A8h, 47h, 5Bh, 0B2h, 51h seg000:50AE db 71h, 6Eh, 38h, 0C1h, 61h, 40h, 0FCh, 3 dup(0FFh), 2 seg000:50AE db 3 dup(0), 71h, 6Eh, 38h, 0C1h, 61h, 40h, 0FCh, 3 dup(0FFh) seg000:50AE db 4 dup(0), 71h, 40h, 1Bh seg000:5297 byte_C5297 db 10h ; DATA XREF: sub_C256D+28r seg000:5297 ; sub_C25BA+1Ar ... seg000:5298 ; --------------------------------------------------------------------------- seg000:5298 or [bx+si], dh seg000:529A push bx seg000:529B retf seg000:529B ; --------------------------------------------------------------------------- seg000:529C db 0BDh ; ¯ seg000:529D db 0DCh ; - seg000:529E db 4Eh ; N seg000:529F db 7Dh, 53h, 71h, 53h, 0BAh, 54h, 0C6h, 54h, 0D3h, 54h seg000:529F db 4, 55h, 0C1h, 2 dup(0), 49h, 55h, 2, 0Fh, 0, 1, 30h seg000:529F db 0, 2, 2 dup(0), 0Fh, 0, 2, 4 dup(0), 82h, 1Fh, 1, 8 seg000:529F db 30h, 0, 2, 0, 62h, 2Fh, 2 dup(2), 10h, 0, 2, 0, 0B6h seg000:529F db 3Fh, 83h, 4, 10h, 0, 42h, 0Fh, 72h, 3Fh, 3, 4, 10h seg000:529F db 0, 2, 0, 0Fh, 7 dup(0), 0Fh, 7 dup(0), 0Fh, 7 dup(0) seg000:529F db 0Fh, 7 dup(0), 0Fh, 7 dup(0), 0Fh, 7 dup(0), 0Fh, 7 dup(0) seg000:529F db 0Fh, 7 dup(0), 0Fh, 7 dup(0), 0Fh, 7 dup(0), 40h, 5 seg000:529F db 0Fh, 4, 52h, 30h, 2 dup(0), 5, 31h, 2 dup(0), 5, 32h seg000:529F db 2 dup(0), 5, 3 dup(0), 0FFh, 3 dup(0), 0FFh, 35h, 2 dup(0) seg000:529F db 5, 36h, 1, 0, 5, 37h, 3, 0, 5, 38h, 5, 0, 5, 39h, 7 seg000:529F db 0, 5, 0, 0Dh, 0, 6, 1, 0Fh, 0, 6, 2, 11h, 0, 6, 3, 13h seg000:529F db 0, 6, 3 dup(0), 0FFh, 40h, 4, 8, 1, 8 dup(0Fh), 41h seg000:529F db 6, 20h, 5, 23h, 54h, 0, 4, 2 dup(0), 4Fh, 81h, 5, 2 dup(0) seg000:529F db 4Fh, 2, 6, 2 dup(0), 4Fh, 3, 1Ah, 2 dup(0), 4Fh, 84h seg000:529F db 73h, 2 dup(0), 4Fh, 5, 0FFh, 2 dup(0), 0EFh, 6, 7Ah seg000:529F db 2 dup(0), 3Fh, 7, 18h, 2 dup(0), 4Fh, 8, 23h, 58h, 0 seg000:529F db 1Fh, 9, 34h, 0, 16h, 0BFh, 8Ah, 2Eh, 2 dup(0), 1Fh seg000:529F db 0Bh, 0FFh, 2 dup(0), 0EFh, 0Ch, 79h, 0, 17h, 0BFh, 0Dh seg000:529F db 3Dh, 0, 18h, 0EFh, 0Eh, 7, 2 dup(0), 0BFh, 0Fh, 51h seg000:529F db 0, 3, 0BFh, 10h, 9, 0, 80h, 0EFh, 11h, 8, 0, 2, 0BFh seg000:529F db 12h, 52h, 2 dup(0), 0EFh, 13h, 0FFh, 2 dup(0), 0EFh seg000:529F db 14h, 30h, 2 dup(0), 0EFh, 15h, 2 dup(40h), 9, 0E0h seg000:529F db 16h, 42h, 50h, 11h, 0E4h, 17h, 2 dup(41h), 0Ah, 0E1h seg000:529F db 0, 0FFh, 2 dup(0), 4Fh, 0, 0FFh, 2 dup(0), 0Fh, 0, 0FFh seg000:529F db 2 dup(0), 0Fh, 0, 0FFh, 2 dup(0), 0Fh, 0, 0FFh, 2 dup(0) seg000:529F db 0Fh, 0, 0FFh, 2 dup(0), 0Fh, 0, 0FFh, 2 dup(0), 0Fh seg000:529F db 0, 0FFh, 2 dup(0), 0Fh, 40h, 4, 3, 2, 2Dh, 54h, 84h seg000:529F db 54h, 9Fh, 54h, 40h, 7, 10h, 5 seg000:5431 byte_C5431 db 0 ; DATA XREF: sub_C19B0+2r seg000:5432 align 8 seg000:5438 db 0Fh seg000:5439 db 4 dup(0), 0Fh, 4 dup(0), 0Fh, 4 dup(0), 0Fh, 4 dup(0) seg000:5439 db 0Fh, 4 dup(0), 0Fh, 4 dup(0), 0Fh, 4 dup(0), 0Fh, 4 dup(0) seg000:5439 db 0Fh, 4 dup(0), 0Fh, 4 dup(0), 0Fh, 4 dup(0), 0Fh, 4 dup(0) seg000:5439 db 0Fh, 4 dup(0), 0Fh, 4 dup(0), 0Fh, 4 dup(0), 0Fh, 40h seg000:5439 db 7, 4, 5, 7 dup(0), 0Fh, 4 dup(0), 0Fh, 4 dup(0), 0Fh seg000:5439 db 4 dup(0), 0Fh, 40h, 7, 4, 5, 7 dup(0), 0Fh, 4 dup(0) seg000:5439 db 0Fh, 4 dup(0), 0Fh, 4 dup(0), 0Fh, 40h, 0Ch, 2 dup(0) seg000:5439 db 0F0h, 3 dup(0), 0Fh, 3 dup(0), 41h, 5, 4, 2, 9 dup(0) seg000:5439 db 40h, 5, 0Bh, 4, 0, 4Ch, 90h, 40h, 2, 4Ch, 92h, 40h seg000:5439 db 2, 4Ch, 94h, 40h, 2, 0FFh, 3 dup(0), 0FFh, 3 dup(0) seg000:5439 db 0FFh, 3 dup(0), 0FFh, 3 dup(0), 0FFh, 3 dup(0), 0FFh seg000:5439 db 3 dup(0), 0FFh, 3 dup(0), 0FFh, 3 dup(0), 40h, 5, 10h seg000:5439 db 4, 0, 30h, 10h, 2 dup(0), 31h, 1, 2, 0, 61h, 2, 1, 0 seg000:5439 db 46h, 23h, 2 dup(0), 0FFh, 3 dup(0), 0FFh, 3 dup(0) seg000:5439 db 0FFh, 3 dup(0), 0FFh, 3 dup(0), 0FFh, 3 dup(0), 0FFh seg000:5439 db 3 dup(0), 0FFh, 3 dup(0), 0FFh, 3 dup(0), 0FFh, 3 dup(0) seg000:5439 db 0FFh, 3 dup(0), 0FFh, 3 dup(0), 0FFh, 3 dup(0), 10h seg000:5439 db 4 seg000:554B byte_C554B db 12h ; DATA XREF: sub_C8C7B+9r seg000:554C ; --------------------------------------------------------------------------- seg000:554C add ax, 3E1Fh seg000:554F db 3Eh, 3Eh, 3Eh seg000:554F pop ds seg000:5553 db 3Eh, 3Eh, 3Eh, 3Eh seg000:5553 pop ds seg000:5558 db 3Eh, 3Eh, 3Eh, 3Eh seg000:5558 pop ds seg000:555D db 3Eh, 3Eh, 3Eh, 3Eh seg000:555D pop ds seg000:5562 db 3Eh, 3Eh, 3Eh, 3Eh seg000:5562 pop ds seg000:5567 db 3Eh, 3Eh, 3Eh, 3Eh seg000:5567 pop ds seg000:556C db 3Eh, 3Eh, 3Eh, 3Eh seg000:556C pop ds seg000:5571 db 3Eh, 3Eh, 3Eh, 3Eh seg000:5571 pop ds seg000:5576 db 3Eh, 3Eh, 3Eh, 3Eh seg000:5576 pop ds seg000:557B db 3Eh, 3Eh, 3Eh, 3Eh seg000:557B pop ds seg000:5580 db 3Eh, 3Eh, 3Eh, 3Eh seg000:5580 pop ds seg000:5585 db 3Eh, 3Eh, 3Eh, 3Eh seg000:5585 pop ds seg000:558A db 3Eh, 3Eh, 3Eh, 3Eh seg000:558A pop ds seg000:558F db 3Eh, 3Eh, 3Eh, 3Eh seg000:558F pop ds seg000:5594 db 3Eh, 3Eh, 3Eh, 3Eh seg000:5594 pop ds seg000:5599 db 3Eh, 3Eh, 3Eh, 3Eh seg000:5599 pop ds seg000:559E db 3Eh, 3Eh, 3Eh, 3Eh seg000:559E pop ds seg000:55A3 db 3Eh, 3Eh, 3Eh, 3Eh seg000:55A3 adc al, [bx+si] seg000:55A9 iret seg000:55A9 ; --------------------------------------------------------------------------- seg000:55AA db 0Fh seg000:55AB ; --------------------------------------------------------------------------- seg000:55AB add ax, 0B901h seg000:55AE push bp seg000:55AF retn 55h seg000:55AF ; --------------------------------------------------------------------------- seg000:55B2 db 5 dup(0), 0BDh, 55h, 5Bh, 3Bh, 63h, 71h, 2 dup(0), 0C1h seg000:55B2 db 55h, 2 dup(71h), 2, 0, 0C1h, 0Fh, 1, 3, 1Ah, 59h, 1Bh seg000:55B2 db 59h, 1Ch, 59h, 1, 0, 0E1h, 55h, 0EDh, 55h, 2, 0, 0E1h seg000:55B2 db 55h, 0EDh, 55h, 5, 1, 0E1h, 55h, 0EDh, 55h, 75h, 40h seg000:55B2 db 0A3h, 56h, 65h, 19h, 4Ah, 56h, 2 dup(0), 0F1h, 55h seg000:55B2 db 2 dup(0), 0DDh, 51h, 5Bh, 6, 57h, 58h, 0Ch, 0C0h, 61h seg000:55B2 db 0, 4, 3 dup(0), 1, 0, 0Dh, 40h, 3 dup(0), 2, 0, 0F8h seg000:55B2 db 5Ah, 24h, 0, 5Bh, 14h, 57h, 58h, 18h, 0C1h, 61h, 0 seg000:55B2 db 2, 5 dup(30h), 3 dup(0), 58h, 98h, 0C1h, 61h, 0, 2 seg000:55B2 db 5 dup(30h), 3 dup(0), 6Eh, 20h, 0C1h, 61h, 0, 4 dup(0FFh) seg000:55B2 db 4 dup(0), 6Eh, 0A0h, 0C1h, 61h, 0, 4 dup(0FFh), 4 dup(0) seg000:55B2 db 5Bh, 3Bh, 63h, 5Bh, 0FCh, 56h, 71h, 5Bh, 6, 57h, 58h seg000:55B2 db 0Ch, 0C0h, 61h, 0, 4, 3 dup(0), 1, 0, 0Dh, 40h, 3 dup(0) seg000:55B2 db 2, 0, 0F8h, 5Ah, 24h, 0, 5Bh, 14h, 57h, 58h, 18h, 0C1h seg000:55B2 db 61h, 0, 2, 5 dup(31h), 3 dup(0), 58h, 98h, 0C1h, 61h seg000:55B2 db 0, 2, 5 dup(31h), 3 dup(0), 6Eh, 20h, 0C1h, 61h, 0 seg000:55B2 db 4 dup(0FFh), 4 dup(0), 6Eh, 0A0h, 0C1h, 61h, 0, 4 dup(0FFh) seg000:55B2 db 4 dup(0), 5Bh, 3Bh, 63h, 5Bh, 0FCh, 56h, 71h, 5Bh, 6 seg000:55B2 db 57h, 58h, 0Ch, 0C0h, 61h, 0, 4, 3 dup(0), 1, 0, 0Dh seg000:55B2 db 40h, 3 dup(0), 2, 0, 88h, 58h, 24h, 0, 5Bh, 14h, 57h seg000:55B2 db 58h, 18h, 0C1h, 61h, 0, 2, 5 dup(35h), 3 dup(0), 58h seg000:55B2 db 98h, 0C1h, 61h, 0, 2, 5 dup(35h), 3 dup(0), 6Eh, 20h seg000:55B2 db 0C1h, 61h, 0, 4 dup(0FFh), 4 dup(0), 6Eh, 0A0h, 0C1h seg000:55B2 db 61h, 0, 4 dup(0FFh), 4 dup(0), 5Bh, 3Bh, 63h, 5Bh, 0FCh seg000:55B2 db 56h, 71h, 5Bh, 0B2h, 51h, 75h, 2Bh, 5Bh, 0E4h, 51h seg000:55B2 db 72h, 71h, 6Eh, 38h, 0C1h, 61h, 40h, 0FCh, 3 dup(0FFh) seg000:55B2 db 2, 3 dup(0), 71h, 6Eh, 38h, 0C1h, 61h, 40h, 0FCh, 3 dup(0FFh) seg000:55B2 db 4 dup(0), 71h, 2, 0, 0C2h, 0Fh, 1, 3, 1Ah, 59h, 1Bh seg000:55B2 db 59h, 1Ch, 59h, 1, 0, 40h, 57h, 4Ch, 57h, 2, 0, 40h seg000:55B2 db 57h, 4Ch, 57h, 5, 1, 40h, 57h, 4Ch, 57h, 75h, 40h, 92h seg000:55B2 db 57h, 65h, 19h, 71h, 57h, 2 dup(0), 50h, 57h, 2 dup(0) seg000:55B2 db 0DDh, 51h, 58h, 18h, 0C9h, 61h, 0, 2, 5 dup(21h), 3 dup(0) seg000:55B2 db 7Ah, 20h, 0C9h, 61h, 5 dup(0), 5Bh, 3Bh, 63h, 5Bh, 0E4h seg000:55B2 db 51h, 5Bh, 12h, 52h, 71h, 58h, 18h, 0C9h, 61h, 0, 2 seg000:55B2 db 5 dup(22h), 3 dup(0), 7Ah, 20h, 0C9h, 61h, 5 dup(0) seg000:55B2 db 5Bh, 3Bh, 63h, 5Bh, 0E4h, 51h, 5Bh, 32h, 52h, 71h, 58h seg000:55B2 db 18h, 0C9h, 61h, 0, 2, 5 dup(2Ah), 3 dup(0), 7Ah, 20h seg000:55B2 db 0C9h, 61h, 5 dup(0), 5Bh, 3Bh, 63h, 5Bh, 0E4h, 51h seg000:55B2 db 5Bh, 2 dup(52h), 71h, 2, 0, 0C4h, 0Fh, 1, 3, 1Ah, 59h seg000:55B2 db 1Bh, 59h, 1Ch, 59h, 1, 0, 0D1h, 57h, 0DDh, 57h, 2, 0 seg000:55B2 db 0D1h, 57h, 0DDh, 57h, 5, 1, 0D1h, 57h, 0DDh, 57h, 75h seg000:55B2 db 40h, 23h, 58h, 65h, 19h, 2, 58h, 2 dup(0), 0E1h, 57h seg000:55B2 db 2 dup(0), 0DDh, 51h, 58h, 18h, 0D1h, 61h, 0, 2, 5 dup(23h) seg000:55B2 db 3 dup(0), 7Ah, 20h, 0D1h, 61h, 5 dup(0), 5Bh, 3Bh, 63h seg000:55B2 db 5Bh, 0E4h, 51h, 5Bh, 12h, 52h, 71h, 58h, 18h, 0D1h seg000:55B2 db 61h, 0, 2, 5 dup(25h), 3 dup(0), 7Ah, 20h, 0D1h, 61h seg000:55B2 db 5 dup(0), 5Bh, 3Bh, 63h, 5Bh, 0E4h, 51h, 5Bh, 32h, 52h seg000:55B2 db 71h, 58h, 18h, 0D1h, 61h, 0, 2, 5 dup(2Ah), 3 dup(0) seg000:55B2 db 7Ah, 20h, 0D1h, 61h, 5 dup(0), 5Bh, 3Bh, 63h, 5Bh, 0E4h seg000:55B2 db 51h, 5Bh, 2 dup(52h), 71h, 2, 0, 0C8h, 0Fh, 1, 3, 1Ah seg000:55B2 db 59h, 1Bh, 59h, 1Ch, 59h, 1, 0, 62h, 58h, 6Eh, 58h, 2 seg000:55B2 db 0, 62h seg000:5859 db 58h, 6Eh, 58h, 5, 1, 62h, 58h, 6Eh, 58h, 75h, 40h, 0E2h seg000:5859 db 58h, 65h, 19h, 0AAh, 58h, 2 dup(0), 72h, 58h, 2 dup(0) seg000:5859 db 0DDh, 51h, 58h, 18h, 0D9h, 61h, 0, 2, 5 dup(20h), 3 dup(0) seg000:5859 db 58h, 98h, 0D9h, 61h, 0, 2, 5 dup(20h), 3 dup(0), 7Ah seg000:5859 db 20h, 0D9h, 61h, 5 dup(0), 7Ah, 0A0h, 0D9h, 61h, 5 dup(0) seg000:5859 db 5Bh, 3Bh, 63h, 5Bh, 0E4h, 51h, 5Bh, 12h, 52h, 71h, 58h seg000:5859 db 18h, 0D9h, 61h, 0, 2, 5 dup(20h), 3 dup(0), 58h, 98h seg000:5859 db 0D9h, 61h, 0, 2, 5 dup(20h), 3 dup(0), 7Ah, 20h, 0D9h seg000:5859 db 61h, 5 dup(0), 7Ah, 0A0h, 0D9h, 61h, 5 dup(0), 5Bh seg000:5859 db 3Bh, 63h, 5Bh, 0E4h, 51h, 5Bh, 32h, 52h, 71h, 58h, 18h seg000:5859 db 0D9h, 61h, 0, 2, 5 dup(28h), 3 dup(0), 58h, 98h, 0D9h seg000:5859 db 61h, 0, 2, 5 dup(28h), 3 dup(0), 7Ah, 20h, 0D9h, 61h seg000:5859 db 5 dup(0), 7Ah, 0A0h, 0D9h, 61h, 5 dup(0), 5Bh, 3Bh seg000:5859 db 63h, 5Bh, 0E4h, 51h, 5Bh, 2 dup(52h), 3 dup(71h), 6Eh seg000:5859 db 0Ch, 0C0h, 61h, 40h, 0FEh, 3 dup(0FFh), 1, 3 dup(0) seg000:5859 db 6Eh, 14h, 0C0h, 61h, 40h, 2 dup(0FFh), 3Fh, 0FFh, 2 dup(0) seg000:5859 db 0C0h, 0, 71h, 58h, 40h, 0C0h, 61h, 40h, 10h, 2 dup(0) seg000:5859 db 0Bh, 1Fh, 2 dup(0), 0Ah, 1Fh, 2 dup(0), 8, 1Eh, 0, 20h seg000:5859 db 4, 1Eh, 0, 80h, 3 dup(0), 80h, 3 dup(0), 80h, 3 dup(0) seg000:5859 db 80h, 3 dup(0), 20h, 3 dup(0), 20h, 0, 1Fh, 2 dup(0) seg000:5859 db 0Ch, 1Fh, 2 dup(0), 0Ah, 1Fh, 0, 80h, 0Bh, 1Fh, 0, 80h seg000:5859 db 0Bh, 1Fh, 0, 80h, 0Bh, 1Fh, 0, 80h, 0Bh, 1Fh, 71h, 6Eh seg000:5859 db 0, 0E8h, 2 dup(0), 0FFh, 0FCh, 2 dup(0FFh), 0, 3, 2 dup(0) seg000:5859 db 6Eh, 20h, 0E8h, 2 dup(0), 0FFh, 0FCh, 2 dup(0FFh), 0 seg000:5859 db 3, 2 dup(0), 6Eh, 0Ch, 0C1h, 61h, 60h, 0FEh, 0BFh, 2 dup(0FFh) seg000:5859 db 1, 40h, 2 dup(0), 6Eh, 0, 23h, 61h, 40h, 3 dup(0FFh) seg000:5859 db 0FCh, 3 dup(0), 3, 6Eh, 38h, 0C1h, 61h, 40h, 0FCh, 3 dup(0FFh) seg000:5859 db 2, 3 dup(0), 7Ah, 0Ch, 0C0h, 61h, 40h, 0, 3, 0, 1, 7Ah seg000:5859 db 10h, 0C0h, 61h, 40h, 2Fh, 15h, 40h, 0, 7Ah, 14h, 0C0h seg000:5859 db 61h, 40h, 2 dup(0), 2, 0, 6Eh, 38h, 0C1h, 61h, 40h seg000:5859 db 0FCh, 3 dup(0FFh), 4 dup(0), 74h, 0E8h, 3, 5Bh, 0A8h seg000:5859 db 47h, 6Eh, 0, 23h, 61h, 40h, 2 dup(0FFh), 0FCh, 0FFh seg000:5859 db 2 dup(0), 1, 0, 74h, 32h, 0, 6Eh, 30h, 0C1h, 61h, 60h seg000:5859 db 0, 0FFh, 0BFh, 2 dup(0FFh), 0, 40h, 0, 6Eh, 34h, 0C0h seg000:5859 db 61h, 40h, 0FFh, 0Fh, 0EEh, 7Fh, 3 dup(0), 80h, 56h seg000:5859 db 15h, 0FFh, 74h, 0Ah, 0, 6Eh, 30h, 0C1h, 61h, 60h, 0Fh seg000:5859 db 3 dup(0FFh), 4 dup(0), 6Eh, 10h, 0C1h, 61h, 40h, 4 dup(0E0h) seg000:5859 db 4 dup(0), 98h, 2, 1, 2 dup(0), 1, 0DFh, 20h, 3Ah, 5 seg000:5859 db 15h, 6Eh, 40h, 0C1h, 61h, 60h, 0FDh, 3 dup(0FFh), 2 seg000:5859 db 3 dup(0), 98h, 0Ah, 1, 2 dup(0), 1, 0FEh, 1, 71h, 6Eh seg000:5859 db 10h, 0C1h, 61h, 40h, 4 dup(0E0h), 4 dup(10h), 98h, 2 seg000:5859 db 1, 2 dup(0), 1, 0DCh, 0, 71h, 5Fh, 0Ch, 0C1h, 61h, 60h seg000:5859 db 0, 4 dup(0FFh), 5 dup(0), 66h, 61h, 80h, 0FCh, 1, 2 dup(0) seg000:5859 db 5Bh, 0D3h, 60h, 6Eh, 30h, 0C0h, 61h, 40h, 4 dup(0FFh) seg000:5859 db 4 dup(0), 52h, 0E8h, 0DFh, 20h, 2 dup(71h), 6Eh, 0 seg000:5859 db 23h, 61h, 40h, 2 dup(0FFh), 80h, 0FCh, 2 dup(0), 28h seg000:5859 db 0, 6Eh, 30h, 0C1h, 61h, 60h, 0F0h, 3 dup(0FFh), 4 dup(0) seg000:5859 db 6Eh, 34h, 0C0h, 61h, 40h, 2 dup(0FFh), 0EEh, 7Fh, 2 dup(0) seg000:5859 db 11h, 80h, 56h, 15h, 0FFh, 6Eh, 0Ch, 0C1h, 61h, 60h seg000:5859 db 0FEh, 3 dup(0FFh), 4 dup(0), 6Eh, 14h, 0C0h, 61h, 40h seg000:5859 db 2 dup(0FFh), 3Fh, 0FFh, 2 dup(0), 0C0h, 0, 6Eh, 0Ch seg000:5859 db 0C0h, 61h, 40h, 0FEh, 3 dup(0FFh), 1, 3 dup(0), 71h seg000:5859 db 6, 0, 0C1h, 0Fh, 1, 4, 50h, 60h, 0A7h, 60h, 0A8h, 60h seg000:5859 db 8, 0, 10h, 5Bh, 14h, 5Bh, 8, 2, 10h, 5Bh, 14h, 5Bh seg000:5859 db 9 seg000:5B05 db 0, 10h, 5Bh, 14h, 5Bh, 9, 2, 10h, 5Bh, 14h, 5Bh, 2 dup(0) seg000:5B05 db 6Eh, 5Ah, 2 dup(0), 99h, 5Ah, 6, 0, 41h, 0Fh, 2, 7Eh seg000:5B05 db 59h, 58h, 5Ah, 3Eh, 5Bh, 2Ch, 5Ch, 28h, 5Ch, 9Ah, 5Ah seg000:5B05 db 0, 43h, 6, 0, 81h, 0Fh, 2, 7Eh, 59h, 58h, 5Ah, 47h seg000:5B05 db 5Bh, 2Ch, 5Ch, 28h, 5Ch, 9Ah, 5Ah, 0, 43h, 14h, 50h seg000:5B05 db 5Bh, 0Ah, 74h, 5Bh, 6, 98h, 5Bh, 14h, 0BCh, 5Bh, 0Ah seg000:5B05 db 0E0h, 5Bh, 6, 4, 5Ch, 7Ah, 0Ch, 0C0h, 61h, 40h, 0, 3 seg000:5B05 db 0, 1, 6Eh, 10h, 0C0h, 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh seg000:5B05 db 2 dup(0), 50h, 0, 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh) seg000:5B05 db 4 dup(0), 71h, 7Ah, 0Ch, 0C0h, 61h, 40h, 0, 3, 0, 1 seg000:5B05 db 6Eh, 10h, 0C0h, 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0) seg000:5B05 db 40h, 0, 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0) seg000:5B05 db 71h, 7Ah, 0Ch, 0C0h, 61h, 40h, 3 dup(0), 1, 6Eh, 10h seg000:5B05 db 0C0h, 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 40h seg000:5B05 db 0, 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0) seg000:5B05 db 71h, 7Ah, 0Ch, 0C0h, 61h, 40h, 0, 3, 0, 1, 6Eh, 10h seg000:5B05 db 0C0h, 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 50h seg000:5B05 db 0, 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0) seg000:5B05 db 71h, 7Ah, 0Ch, 0C0h, 61h, 40h, 0, 3, 0, 1, 6Eh, 10h seg000:5B05 db 0C0h, 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 40h seg000:5B05 db 0, 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0) seg000:5B05 db 71h, 7Ah, 0Ch, 0C0h, 61h, 40h, 3 dup(0), 1, 6Eh, 10h seg000:5B05 db 0C0h, 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 40h seg000:5B05 db 0, 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0) seg000:5B05 db 71h, 5Bh, 0C0h, 60h, 71h, 5Bh, 0B7h, 60h, 71h, 6, 0 seg000:5B05 db 0C2h, 0Fh, 1, 4, 50h, 60h, 0A7h, 60h, 0A8h, 60h, 8 seg000:5B05 db 0, 54h, 5Ch, 58h, 5Ch, 8, 2, 54h, 5Ch, 58h, 5Ch, 9 seg000:5B05 db 0, 54h, 5Ch, 58h, 5Ch, 9, 2, 54h, 5Ch, 58h, 5Ch, 2 dup(0) seg000:5B05 db 6Eh, 5Ah, 2 dup(0), 99h, 5Ah, 6, 0, 42h, 0Fh, 2, 7Eh seg000:5B05 db 59h, 58h, 5Ah, 82h, 5Ch, 7Dh, 5Dh, 6Ch, 5Dh, 9Ah, 5Ah seg000:5B05 db 0, 44h, 6, 0, 82h, 0Fh, 2, 7Eh, 59h, 58h, 5Ah, 8Bh seg000:5B05 db 5Ch, 7Dh, 5Dh, 6Ch, 5Dh, 9Ah, 5Ah, 0, 44h, 14h, 94h seg000:5B05 db 5Ch, 0Ah, 0B8h, 5Ch, 6, 0DCh, 5Ch, 14h, 0, 5Dh, 0Ah seg000:5B05 db 24h, 5Dh, 6, 48h, 5Dh, 7Ah, 0Ch, 0C0h, 61h, 40h, 0 seg000:5B05 db 3, 0, 1, 6Eh, 10h, 0C0h, 61h, 40h, 2 dup(0FFh), 0Fh seg000:5B05 db 0FFh, 2 dup(0), 50h, 0, 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh) seg000:5B05 db 4 dup(0), 71h, 7Ah, 0Ch, 0C0h, 61h, 40h, 0, 3, 0, 1 seg000:5B05 db 6Eh, 10h, 0C0h, 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0) seg000:5B05 db 40h, 0, 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0) seg000:5B05 db 71h, 7Ah, 0Ch, 0C0h, 61h, 40h, 3 dup(0), 1, 6Eh, 10h seg000:5B05 db 0C0h, 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 40h seg000:5B05 db 0, 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0) seg000:5B05 db 71h, 7Ah, 0Ch, 0C0h, 61h, 40h, 0, 3, 0, 1, 6Eh, 10h seg000:5B05 db 0C0h, 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 50h seg000:5B05 db 0, 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0) seg000:5B05 db 71h, 7Ah, 0Ch, 0C0h, 61h, 40h, 0, 3, 0, 1, 6Eh, 10h seg000:5B05 db 0C0h, 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 40h seg000:5B05 db 0, 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0) seg000:5B05 db 71h, 7Ah, 0Ch, 0C0h, 61h, 40h, 3 dup(0), 1, 6Eh, 10h seg000:5B05 db 0C0h, 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 40h seg000:5B05 db 0, 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0) seg000:5B05 db 71h, 6Eh, 80h, 0EAh, 2 dup(0), 0FEh seg000:5D72 db 3 dup(0FFh), 4 dup(0), 5Bh, 0C0h, 60h, 71h, 6Eh, 80h seg000:5D72 db 0EAh, 2 dup(0), 0FEh, 3 dup(0FFh), 1, 3 dup(0), 5Bh seg000:5D72 db 0B7h, 60h, 71h, 6, 0, 0C4h, 0Fh, 1, 4, 50h, 60h, 0A7h seg000:5D72 db 60h, 0A8h, 60h, 8, 0, 0B2h, 5Dh, 0B6h, 5Dh, 8, 2, 0B2h seg000:5D72 db 5Dh, 0B6h, 5Dh, 9, 0, 0B2h, 5Dh, 0B6h, 5Dh, 9, 2, 0B2h seg000:5D72 db 5Dh, 0B6h, 5Dh, 2 dup(0), 6Eh, 5Ah, 2 dup(0), 99h, 5Ah seg000:5D72 db 6, 0, 44h, 0Fh, 2, 7Eh, 59h, 58h, 5Ah, 0E0h, 5Dh, 0DBh seg000:5D72 db 5Eh, 0CAh, 5Eh, 9Ah, 5Ah, 0, 45h, 6, 0, 84h, 0Fh, 2 seg000:5D72 db 7Eh, 59h, 58h, 5Ah, 0E9h, 5Dh, 0DBh, 5Eh, 0CAh, 5Eh seg000:5D72 db 9Ah, 5Ah, 0, 45h, 14h, 0F2h, 5Dh, 0Ah, 16h, 5Eh, 6 seg000:5D72 db 3Ah, 5Eh, 14h, 2 dup(5Eh), 0Ah, 82h, 5Eh, 6, 0A6h, 5Eh seg000:5D72 db 7Ah, 0Ch, 0C0h, 61h, 40h, 0, 3, 0, 1, 6Eh, 10h, 0C0h seg000:5D72 db 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 50h, 0 seg000:5D72 db 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0), 71h seg000:5D72 db 7Ah, 0Ch, 0C0h, 61h, 40h, 0, 3, 0, 1, 6Eh, 10h, 0C0h seg000:5D72 db 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 40h, 0 seg000:5D72 db 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0), 71h seg000:5D72 db 7Ah, 0Ch, 0C0h, 61h, 40h, 3 dup(0), 1, 6Eh, 10h, 0C0h seg000:5D72 db 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 40h, 0 seg000:5D72 db 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0), 71h seg000:5D72 db 7Ah, 0Ch, 0C0h, 61h, 40h, 0, 3, 0, 1, 6Eh, 10h, 0C0h seg000:5D72 db 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 50h, 0 seg000:5D72 db 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0), 71h seg000:5D72 db 7Ah, 0Ch, 0C0h, 61h, 40h, 0, 3, 0, 1, 6Eh, 10h, 0C0h seg000:5D72 db 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 40h, 0 seg000:5D72 db 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0), 71h seg000:5D72 db 7Ah, 0Ch, 0C0h, 61h, 40h, 3 dup(0), 1, 6Eh, 10h, 0C0h seg000:5D72 db 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 40h, 0 seg000:5D72 db 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0), 71h seg000:5D72 db 6Eh, 80h, 0EAh, 2 dup(0), 0FDh, 3 dup(0FFh), 4 dup(0) seg000:5D72 db 5Bh, 0C0h, 60h, 71h, 6Eh, 80h, 0EAh, 2 dup(0), 0FDh seg000:5D72 db 3 dup(0FFh), 2, 3 dup(0), 5Bh, 0B7h, 60h, 71h, 6, 0 seg000:5D72 db 0C8h, 0Fh, 1, 4, 50h, 60h, 0A7h, 60h, 0A8h, 60h, 8 seg000:5D72 db 0, 10h, 5Fh, 14h, 5Fh, 8, 2, 10h, 5Fh, 14h, 5Fh, 9 seg000:5D72 db 0, 10h, 5Fh, 14h, 5Fh, 9, 2, 10h, 5Fh, 14h, 5Fh, 2 dup(0) seg000:5D72 db 6Eh, 5Ah, 2 dup(0), 99h, 5Ah, 6, 0, 48h, 0Fh, 2, 7Eh seg000:5D72 db 59h, 58h, 5Ah, 3Eh, 5Fh, 39h, 60h, 28h, 60h, 9Ah, 5Ah seg000:5D72 db 0, 46h, 6, 0, 88h, 0Fh, 2, 7Eh, 59h, 58h, 5Ah, 47h seg000:5D72 db 5Fh, 39h, 60h, 28h, 60h, 9Ah, 5Ah, 0, 46h, 14h, 50h seg000:5D72 db 5Fh, 0Ah, 74h, 5Fh, 6, 98h, 5Fh, 14h, 0BCh, 5Fh, 0Ah seg000:5D72 db 0E0h, 5Fh, 6, 4, 60h, 7Ah, 0Ch, 0C0h, 61h, 40h, 0, 3 seg000:5D72 db 0, 1, 6Eh, 10h, 0C0h, 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh seg000:5D72 db 2 dup(0), 50h, 0, 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh) seg000:5D72 db 4 dup(0), 71h, 7Ah, 0Ch, 0C0h, 61h, 40h, 0, 3, 0, 1 seg000:5D72 db 6Eh, 10h, 0C0h, 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0) seg000:5D72 db 40h, 0, 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0) seg000:5D72 db 71h, 7Ah, 0Ch, 0C0h, 61h, 40h, 3 dup(0), 1, 6Eh, 10h seg000:5D72 db 0C0h, 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 40h seg000:5D72 db 0, 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0) seg000:5D72 db 71h, 7Ah, 0Ch, 0C0h, 61h, 40h, 0, 3, 0, 1, 6Eh, 10h seg000:5D72 db 0C0h, 61h, 40h, 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 50h seg000:5D72 db 0, 6Eh, 14h, 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0) seg000:5D72 db 71h, 7Ah, 0Ch seg000:5FE2 db 0C0h, 61h, 40h, 0, 3, 0, 1, 6Eh, 10h, 0C0h, 61h, 40h seg000:5FE2 db 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 40h, 0, 6Eh, 14h seg000:5FE2 db 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0), 71h, 7Ah, 0Ch seg000:5FE2 db 0C0h, 61h, 40h, 3 dup(0), 1, 6Eh, 10h, 0C0h, 61h, 40h seg000:5FE2 db 2 dup(0FFh), 0Fh, 0FFh, 2 dup(0), 40h, 0, 6Eh, 14h seg000:5FE2 db 0C0h, 61h, 40h, 4 dup(0FFh), 4 dup(0), 71h, 6Eh, 80h seg000:5FE2 db 0EAh, 2 dup(0), 0FBh, 3 dup(0FFh), 4 dup(0), 5Bh, 0C0h seg000:5FE2 db 60h, 71h, 6Eh, 80h, 0EAh, 2 dup(0), 0FBh, 3 dup(0FFh) seg000:5FE2 db 4, 3 dup(0), 5Bh, 0B7h, 60h, 7 dup(71h), 3Ah, 0, 53h seg000:5FE2 db 6Eh, 18h, 0D6h, 2 dup(0), 4 dup(0FFh), 4 dup(0), 6Eh seg000:5FE2 db 1Ch, 0D6h, 2 dup(0), 4 dup(0FFh), 4 dup(0), 6Eh, 20h seg000:5FE2 db 0D6h, 2 dup(0), 4 dup(0FFh), 4 dup(0), 6Eh, 4, 0D6h seg000:5FE2 db 2 dup(0), 4 dup(0FFh), 4 dup(0), 7Ah, 80h, 0C0h, 61h seg000:5FE2 db 40h, 4 dup(0), 7Ah, 84h, 0C0h, 61h, 40h, 4 dup(0), 6Eh seg000:5FE2 db 40h, 0C1h, 61h, 60h, 0FEh, 3 dup(0FFh), 1, 3 dup(0) seg000:5FE2 db 2 dup(71h), 6Eh, 0, 66h, 61h, 80h, 0FEh, 3 dup(0FFh) seg000:5FE2 db 4 dup(0), 2 dup(71h), 98h, 7, 1, 2 dup(0), 1, 0EFh seg000:5FE2 db 10h, 71h, 98h, 7, 1, 2 dup(0), 1, 0EFh, 0, 71h, 7Ah seg000:5FE2 db 4, 0E8h, 2 dup(0), 1, 3Ch, 6, 5, 71h, 58h, 40h, 0C0h seg000:5FE2 db 61h, 40h, 10h, 32h, 10h, 3 dup(0), 0A0h, 40h, 2 dup(0) seg000:5FE2 db 80h, 40h, 2 dup(0), 80h, 40h, 2 dup(0), 80h, 40h, 2 dup(0) seg000:5FE2 db 80h, 40h, 2 dup(0), 80h, 40h, 2 dup(0), 80h, 40h, 2 dup(0) seg000:5FE2 db 20h, 2 dup(0), 0C8h, 90h, 3 dup(0), 80h, 3 dup(0), 80h seg000:5FE2 db 3 dup(0), 80h, 3 dup(0), 80h, 3 dup(0), 80h, 3 dup(0) seg000:5FE2 db 80h, 2 dup(0), 71h, 40h, 9, 2, 8, 13h, 2, 4, 28h, 0Ch seg000:5FE2 db 18h, 5Bh, 2Bh, 5Bh, 2 dup(5Ch), 6Fh, 5Ch, 0BAh, 5Dh seg000:5FE2 db 0CDh, 5Dh, 18h, 5Fh, 2Bh, 5Fh, 0, 0Fh, 0, 22h, 0, 14h seg000:5FE2 db 0Ah, 33h, 0, 19h, 14h, 44h, 0, 24h, 2Ah, 66h, 0, 16h seg000:5FE2 db 0, 33h, 0, 1Dh, 0Fh, 44h, 0, 20h, 19h, 66h, 0, 1Fh seg000:5FE2 db 0, 44h, 0, 29h, 14h, 66h, 0, 31h, 0, 66h, 3, 0Dh, 0 seg000:5FE2 db 22h, 3, 12h, 0Ah, 22h, 4, 16h, 14h, 33h, 5, 20h, 28h seg000:5FE2 db 55h, 4, 14h, 0, 33h, 4, 1Bh, 0Fh, 44h, 5, 20h, 19h seg000:5FE2 db 66h, 4, 1Ch, 0, 44h, 5, 26h, 14h, 55h, 5, 2Ch, 0, 66h seg000:5FE2 db 6, 0Dh, 0, 22h, 6, 11h, 0Ah, 22h, 8, 15h, 14h, 33h seg000:5FE2 db 0Bh, 1Dh, 28h, 44h, 7, 13h, 0, 33h, 9, 18h, 13h, 33h seg000:5FE2 db 12h, 1Fh, 19h, 66h, 8, 1Bh, 0, 44h, 0Ah, 24h, 14h, 55h seg000:5FE2 db 0Bh, 2Bh, 0, 66h, 8, 0Ch, 0, 22h, 0Dh, 0Fh, 0Bh, 22h seg000:5FE2 db 0Ch, 12h, 15h, 22h, 14h, 1Ah, 2Ah, 44h, 0Dh, 11h, 0 seg000:5FE2 db 33h, 0Fh, 16h, 15h, 33h, 1Bh, 1Dh, 19h, 66h, 0Fh, 19h seg000:5FE2 db 0, 44h, 11h, 21h, 1Ch, 44h, 11h, 25h, 0, 66h, 0, 14h seg000:5FE2 db 0, 22h, 0, 19h, 0Ah, 33h, 0, 1Eh, 14h, 44h, 0, 2Bh seg000:5FE2 db 28h, 66h, 0, 1Eh, 0, 33h, 0, 25h, 0Fh, 44h, 0, 2Fh seg000:5FE2 db 21h, 66h, 0, 28h, 0, 44h, 0, 32h, 14h, 66h, 0, 3Ch seg000:5FE2 db 0, 66h, 3, 12h, 0, 22h, 3, 17h, 0Ah, 22h, 4, 1Bh, 14h seg000:5FE2 db 33h, 5, 25h, 28h, 55h, 4, 1Ch, 0, 33h, 4, 23h, 0Fh seg000:5FE2 db 44h, 5, 28h, 19h, 66h, 4, 25h, 0, 44h, 5, 2Fh, 14h seg000:5FE2 db 55h, 5, 37h, 0, 66h, 6, 12h, 0, 22h, 6, 16h, 0Ah, 22h seg000:5FE2 db 8, 1Ah, 14h, 33h, 0Bh, 22h, 28h, 44h, 7, 1Bh, 0, 33h seg000:5FE2 db 9, 20h, 0Fh, 33h, 12h, 27h, 19h, 66h, 8, 24h, 0, 44h seg000:5FE2 db 0Ah, 2Dh, 14h, 55h, 0Bh, 36h, 0, 66h, 8, 11h seg000:624D db 0, 22h, 9, 14h, 0Ah, 22h, 0Bh, 17h, 14h, 22h, 12h, 1Fh seg000:624D db 28h, 44h, 0Bh, 19h, 0, 33h, 0Dh, 1Eh, 0Fh, 33h, 19h seg000:624D db 25h, 19h, 66h, 0Dh, 22h, 0, 44h, 0Fh, 2Ah, 14h, 44h seg000:624D db 0Fh, 30h, 0, 66h seg000:6273 seg000:6273 ; =============== S U B R O U T I N E ======================================= seg000:6273 seg000:6273 seg000:6273 sub_C6273 proc near ; CODE XREF: sub_C82DB+B6p seg000:6273 ; sub_CA92B+7p seg000:6273 push eax seg000:6275 push ebx seg000:6277 push ecx seg000:6279 push edx seg000:627B push esi seg000:627D mov si, 5335h seg000:6280 mov al, cl seg000:6282 mov cl, 4 seg000:6284 mul cl seg000:6286 add si, ax seg000:6288 mov edx, cs:[si] seg000:628C mov ecx, edx seg000:628F test edx, 100h seg000:6296 jz short loc_C62ED seg000:6298 and ecx, 0FF000000h seg000:629F shr ecx, 18h seg000:62A3 cmp ecx, 6 seg000:62A7 jnz short loc_C62BA seg000:62A9 and dl, 0Fh seg000:62AC mov ecx, 2002h seg000:62B2 mov ebx, 0FFFF0FFCh seg000:62B8 jmp short loc_C62D1 seg000:62BA ; --------------------------------------------------------------------------- seg000:62BA seg000:62BA loc_C62BA: ; CODE XREF: sub_C6273+34j seg000:62BA and edx, 1E00h seg000:62C1 shr edx, 9 seg000:62C5 mov ecx, 0C001h seg000:62CB mov ebx, 0FFFF3FFCh seg000:62D1 seg000:62D1 loc_C62D1: ; CODE XREF: sub_C6273+45j seg000:62D1 xor eax, eax seg000:62D4 mov al, 50h ; 'P' seg000:62D6 mul dl seg000:62D8 mov esi, 0E500h seg000:62DE add esi, eax seg000:62E1 call sub_C475C seg000:62E4 and eax, ebx seg000:62E7 or eax, ecx seg000:62EA call sub_C4741 seg000:62ED seg000:62ED loc_C62ED: ; CODE XREF: sub_C6273+23j seg000:62ED pop esi seg000:62EF pop edx seg000:62F1 pop ecx seg000:62F3 pop ebx seg000:62F5 pop eax seg000:62F7 retn seg000:62F7 sub_C6273 endp seg000:62F7 seg000:62F8 seg000:62F8 ; =============== S U B R O U T I N E ======================================= seg000:62F8 seg000:62F8 seg000:62F8 sub_C62F8 proc near ; CODE XREF: sub_C82DB+BBp seg000:62F8 ; seg000:A1D0p ... seg000:62F8 push eax seg000:62FA push bx seg000:62FB push cx seg000:62FC push esi seg000:62FE mov bl, al seg000:6300 cmp cl, 6 seg000:6303 jb short loc_C6333 seg000:6305 cmp cl, 0Eh seg000:6308 jnb short loc_C6333 seg000:630A cmp cl, 0Ah seg000:630D jb short loc_C6312 seg000:630F sub cx, 4 seg000:6312 seg000:6312 loc_C6312: ; CODE XREF: sub_C62F8+15j seg000:6312 sub cx, 6 seg000:6315 mov eax, 50h ; 'P' seg000:631B mul cx seg000:631D mov esi, eax seg000:6320 add esi, 0E50Ch seg000:6327 call sub_C475C seg000:632A and eax, 0FFFFFFFEh seg000:632E or al, bl seg000:6330 call sub_C4741 seg000:6333 seg000:6333 loc_C6333: ; CODE XREF: sub_C62F8+Bj seg000:6333 ; sub_C62F8+10j seg000:6333 pop esi seg000:6335 pop cx seg000:6336 pop bx seg000:6337 pop eax seg000:6339 retn seg000:6339 sub_C62F8 endp seg000:6339 seg000:6339 ; --------------------------------------------------------------------------- seg000:633A db 1, 71h seg000:633C ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS CTRL-NUMPAD+ TO EXPAND] seg000:633D seg000:633D ; =============== S U B R O U T I N E ======================================= seg000:633D seg000:633D seg000:633D sub_C633D proc near ; CODE XREF: sub_C90E8+10p seg000:633D ; sub_C90E8+19p ... seg000:633D stc seg000:633E retn seg000:633E sub_C633D endp seg000:633E seg000:633F seg000:633F ; =============== S U B R O U T I N E ======================================= seg000:633F seg000:633F seg000:633F sub_C633F proc near ; CODE XREF: sub_C1A6B+Fp seg000:633F ; seg000:332Ep ... seg000:633F clc seg000:6340 retn seg000:6340 sub_C633F endp seg000:6340 seg000:6341 seg000:6341 ; =============== S U B R O U T I N E ======================================= seg000:6341 seg000:6341 seg000:6341 sub_C6341 proc near ; CODE XREF: sub_C82DB+2Bp seg000:6341 ; seg000:loc_CA1E1p ... seg000:6341 or sp, sp seg000:6343 retn seg000:6343 sub_C6341 endp seg000:6343 seg000:6344 seg000:6344 ; =============== S U B R O U T I N E ======================================= seg000:6344 seg000:6344 seg000:6344 sub_C6344 proc near ; CODE XREF: sub_C215C:loc_C216Dp seg000:6344 ; sub_C215C+17p ... seg000:6344 cmp ax, ax seg000:6346 retn seg000:6346 sub_C6344 endp seg000:6346 seg000:6347 seg000:6347 ; =============== S U B R O U T I N E ======================================= seg000:6347 seg000:6347 seg000:6347 sub_C6347 proc near ; CODE XREF: sub_C433B+11p seg000:6347 ; sub_C463B+1Ej ... seg000:6347 mov ax, 14Fh seg000:634A retn seg000:634A sub_C6347 endp seg000:634A seg000:634B ; --------------------------------------------------------------------------- seg000:634B retf seg000:634B ; --------------------------------------------------------------------------- seg000:634C db 0, 9Ch, 0FAh, 89h, 2Eh, 7Ch, 0, 8Ch, 6, 7Eh, 0, 9Dh seg000:634C db 0C3h, 0, 0Eh, 19h, 2Bh, 89h, 2Eh, 0Ch, 1, 8Ch, 6, 0Eh seg000:634C db 1, 89h, 0Eh, 85h, 4, 0Ah, 0DBh, 74h, 7, 2Ah, 0FFh, 2Eh seg000:634C db 8Ah, 97h, 59h, 63h, 4Ah, 88h, 16h, 84h, 4, 0C3h, 2Eh seg000:634C db 0C4h, 3Eh, 11h, 2Fh, 8Bh, 0EFh, 0B9h, 0Eh, 0, 0E8h seg000:634C db 0D6h, 0FFh, 0C3h, 2Eh, 0C4h, 3Eh, 9, 2Fh, 8Bh, 0EFh seg000:634C db 0B9h, 8, 0, 0E8h, 0C8h, 0FFh, 0C3h, 2Eh, 0C4h, 3Eh seg000:634C db 15h, 2Fh, 8Bh, 0EFh, 0B9h, 10h, 0, 0E8h, 0BAh, 0FFh seg000:634C db 0C3h seg000:63A4 ; --------------------------------------------------------------------------- seg000:63A4 seg000:63A4 loc_C63A4: ; CODE XREF: sub_C72F3+30p seg000:63A4 ; sub_C7368+3Fp seg000:63A4 push ax seg000:63A5 push bx seg000:63A6 push cx seg000:63A7 push dx seg000:63A8 mov dx, word ptr cs:byte_C0001+79h seg000:63A8 ; --------------------------------------------------------------------------- seg000:63AD db 8Eh seg000:63AE ; --------------------------------------------------------------------------- seg000:63AE seg000:63AE loc_C63AE: ; CODE XREF: seg000:loc_C2C0DJ seg000:63AE ; DATA XREF: seg000:2C0Ao seg000:63AE ficom dword ptr [bx+si-18h] seg000:63B1 pushf seg000:63B2 mov dx, 0C18Bh seg000:63B5 div bh seg000:63B7 movzx cx, al seg000:63BA pop ax seg000:63BB lds si, ds:10Ch seg000:63BF cmp cl, 0Eh seg000:63C2 jnz short loc_C63D7 seg000:63C4 cmp si, word ptr cs:dword_C28C4 seg000:63C9 jnz short loc_C63D7 seg000:63CB mov bx, cs seg000:63CD mov dx, ds seg000:63CF cmp bx, dx seg000:63D1 jnz short loc_C63D7 seg000:63D3 mov cx, 10h seg000:63D6 inc si seg000:63D7 seg000:63D7 loc_C63D7: ; CODE XREF: seg000:63C2j seg000:63D7 ; seg000:63C9j ... seg000:63D7 mul cl seg000:63D9 add si, ax seg000:63DB pop dx seg000:63DC pop cx seg000:63DD pop bx seg000:63DE pop ax seg000:63DF retn seg000:63DF ; --------------------------------------------------------------------------- seg000:63E0 db 0, 10h, 1Fh, 2Fh, 3Fh, 1Fh, 27h, 2Fh, 37h, 3Fh, 2Dh seg000:63E0 db 31h, 36h, 3Ah, 3Fh, 0, 7, 0Eh, 15h, 1Ch, 0Eh, 11h, 15h seg000:63E0 db 18h, 1Ch, 14h, 16h, 18h, 1Ah, 1Ch, 0, 4, 8, 0Ch, 10h seg000:63E0 db 8, 0Ah, 0Ch, 0Eh, 10h, 0Bh, 0Ch, 0Dh, 0Fh, 10h seg000:640D seg000:640D ; =============== S U B R O U T I N E ======================================= seg000:640D seg000:640D seg000:640D sub_C640D proc near ; CODE XREF: sub_C6455:loc_C647Fp seg000:640D ; sub_C6455:loc_C6487p ... seg000:640D mov al, cs:[bx+si] seg000:6410 out dx, al seg000:6411 mov al, cs:[bx+di] seg000:6414 out dx, al seg000:6415 xchg si, cx seg000:6417 mov al, cs:[bx+si] seg000:641A out dx, al seg000:641B xchg si, cx seg000:641D retn seg000:641D sub_C640D endp seg000:641D seg000:641E seg000:641E ; =============== S U B R O U T I N E ======================================= seg000:641E seg000:641E seg000:641E sub_C641E proc near ; CODE XREF: sub_C939A+29p seg000:641E ; DATA XREF: seg000:938Ao ... seg000:641E xor al, al seg000:6420 mov dx, 3C8h seg000:6423 out dx, al seg000:6424 inc dx seg000:6425 mov cx, 40h ; '@' seg000:6428 xor ah, ah seg000:642A seg000:642A loc_C642A: ; CODE XREF: sub_C641E+34j seg000:642A mov al, 0 seg000:642C test ah, 8 seg000:642F jz short loc_C644D seg000:6431 mov al, 2Ah ; '*' seg000:6433 test ah, 10h seg000:6436 jz short loc_C644D seg000:6438 mov al, 3Fh ; '?' seg000:643A and ah, 1Fh seg000:643D xor al, al seg000:643F cmp ah, 7 seg000:6442 jbe short loc_C644D seg000:6444 mov al, 2Ah ; '*' seg000:6446 cmp ah, 17h seg000:6449 jbe short loc_C644D seg000:644B mov al, 3Fh ; '?' seg000:644D seg000:644D loc_C644D: ; CODE XREF: sub_C641E+11j seg000:644D ; sub_C641E+18j ... seg000:644D out dx, al seg000:644E out dx, al seg000:644F out dx, al seg000:6450 inc ah seg000:6452 loop loc_C642A seg000:6454 retn seg000:6454 sub_C641E endp seg000:6454 seg000:6455 seg000:6455 ; =============== S U B R O U T I N E ======================================= seg000:6455 seg000:6455 seg000:6455 sub_C6455 proc near ; CODE XREF: sub_C939A+29p seg000:6455 ; DATA XREF: seg000:9394o seg000:6455 xor al, al seg000:6457 mov dx, 3C8h seg000:645A out dx, al seg000:645B inc dx seg000:645C mov cx, 10h seg000:645F mov si, 93D6h seg000:6462 seg000:6462 loc_C6462: ; CODE XREF: sub_C6455+14j seg000:6462 lods byte ptr cs:[si] seg000:6464 mov bl, al seg000:6466 call sub_C9406 seg000:6469 loop loc_C6462 seg000:646B mov cx, 10h seg000:646E seg000:646E loc_C646E: ; CODE XREF: sub_C6455+1Ej seg000:646E lods byte ptr cs:[si] seg000:6470 out dx, al seg000:6471 out dx, al seg000:6472 out dx, al seg000:6473 loop loc_C646E seg000:6475 sub si, si seg000:6477 sub di, di seg000:6479 mov cx, 4 seg000:647C mov bx, 63E0h seg000:647F seg000:647F loc_C647F: ; CODE XREF: sub_C6455+30j seg000:647F ; sub_C6455+5Bj seg000:647F call sub_C640D seg000:6482 inc si seg000:6483 cmp si, cx seg000:6485 jb short loc_C647F seg000:6487 seg000:6487 loc_C6487: ; CODE XREF: sub_C6455+36j seg000:6487 call sub_C640D seg000:648A dec cx seg000:648B jnz short loc_C6487 seg000:648D seg000:648D loc_C648D: ; CODE XREF: sub_C6455+3Ej seg000:648D call sub_C640D seg000:6490 inc di seg000:6491 cmp di, si seg000:6493 jb short loc_C648D seg000:6495 seg000:6495 loc_C6495: ; CODE XREF: sub_C6455+44j seg000:6495 call sub_C640D seg000:6498 dec si seg000:6499 jnz short loc_C6495 seg000:649B seg000:649B loc_C649B: ; CODE XREF: sub_C6455+4Cj seg000:649B call sub_C640D seg000:649E inc cx seg000:649F cmp cx, di seg000:64A1 jb short loc_C649B seg000:64A3 seg000:64A3 loc_C64A3: ; CODE XREF: sub_C6455+52j seg000:64A3 call sub_C640D seg000:64A6 dec di seg000:64A7 jnz short loc_C64A3 seg000:64A9 add bx, 5 seg000:64AC cmp bx, 640Dh seg000:64B0 jb short loc_C647F seg000:64B2 mov cx, 18h seg000:64B5 xor al, al seg000:64B7 seg000:64B7 loc_C64B7: ; CODE XREF: sub_C6455+63j seg000:64B7 out dx, al seg000:64B8 loop loc_C64B7 seg000:64BA mov cx, 100h seg000:64BD call sub_C9423 seg000:64C0 jnb short locret_C64CD seg000:64C2 mov al, 0 seg000:64C4 mov cx, 10h seg000:64C7 mov si, 93F6h seg000:64CA call sub_C9434 seg000:64CD seg000:64CD locret_C64CD: ; CODE XREF: sub_C6455+6Bj seg000:64CD retn seg000:64CD sub_C6455 endp seg000:64CD seg000:64CE seg000:64CE ; =============== S U B R O U T I N E ======================================= seg000:64CE seg000:64CE seg000:64CE sub_C64CE proc near ; CODE XREF: sub_C939A+29p seg000:64CE ; DATA XREF: seg000:9396o ... seg000:64CE mov cx, 100h seg000:64D1 sub bl, bl seg000:64D3 mov al, bl seg000:64D5 mov dx, 3C8h seg000:64D8 out dx, al seg000:64D9 inc dx seg000:64DA pushf seg000:64DB seg000:64DB loc_C64DB: ; CODE XREF: sub_C64CE+19j seg000:64DB cli seg000:64DC mov al, bl seg000:64DE out dx, al seg000:64DF mov al, bl seg000:64E1 out dx, al seg000:64E2 mov al, bl seg000:64E4 out dx, al seg000:64E5 inc bl seg000:64E7 loop loc_C64DB seg000:64E9 popf seg000:64EA retn seg000:64EA sub_C64CE endp seg000:64EA seg000:64EA ; --------------------------------------------------------------------------- seg000:64EB off_C64EB dw offset sub_C655F ; DATA XREF: sub_C6523+11r seg000:64ED dw offset sub_C657E seg000:64EF dw offset sub_C658C seg000:64F1 dw offset sub_C65B7 seg000:64F3 dw offset nullsub_3 seg000:64F5 dw offset nullsub_3 seg000:64F7 dw offset nullsub_3 seg000:64F9 dw offset sub_C65DD seg000:64FB dw offset sub_C65FC seg000:64FD dw offset sub_C660A seg000:64FF dw offset nullsub_3 seg000:6501 dw offset nullsub_3 seg000:6503 dw offset nullsub_3 seg000:6505 dw offset nullsub_3 seg000:6507 dw offset nullsub_3 seg000:6509 dw offset nullsub_3 seg000:650B dw offset sub_C6629 seg000:650D dw offset nullsub_3 seg000:650F dw offset sub_C6653 seg000:6511 dw offset sub_C6680 seg000:6513 dw offset nullsub_3 seg000:6515 dw offset sub_C66B2 seg000:6517 dw offset nullsub_3 seg000:6519 dw offset sub_C66CF seg000:651B dw offset sub_C66EE seg000:651D dw offset sub_C66F7 seg000:651F dw offset sub_C6700 seg000:6521 dw offset sub_C6720 seg000:6523 seg000:6523 ; =============== S U B R O U T I N E ======================================= seg000:6523 seg000:6523 seg000:6523 sub_C6523 proc near ; CODE XREF: sub_C1B51+1Dp seg000:6523 ; DATA XREF: seg000:1B0Co seg000:6523 cmp al, 1Ch seg000:6525 jnb short locret_C653A seg000:6527 test byte ptr ds:487h, 8 seg000:652C jnz short locret_C653A seg000:652E push ax seg000:652F cbw seg000:6530 mov si, ax seg000:6532 shl si, 1 seg000:6534 call cs:off_C64EB[si] seg000:6539 pop ax seg000:653A seg000:653A locret_C653A: ; CODE XREF: sub_C6523+2j seg000:653A ; sub_C6523+9j seg000:653A retn seg000:653A sub_C6523 endp seg000:653A seg000:653B seg000:653B ; =============== S U B R O U T I N E ======================================= seg000:653B seg000:653B seg000:653B sub_C653B proc near ; CODE XREF: sub_C655Fp seg000:653B ; sub_C657E+3p seg000:653B push ds seg000:653C lds si, ds:4A8h seg000:6540 lds si, [si+4] seg000:6543 mov ax, ds seg000:6545 or ax, si seg000:6547 jz short loc_C655D seg000:6549 movzx ax, bl seg000:654C cmp bl, 10h seg000:654F jz short loc_C655D seg000:6551 cmp bl, 11h seg000:6554 ja short loc_C655D seg000:6556 jnz short loc_C6559 seg000:6558 dec ax seg000:6559 seg000:6559 loc_C6559: ; CODE XREF: sub_C653B+1Bj seg000:6559 add si, ax seg000:655B mov [si], bh seg000:655D seg000:655D loc_C655D: ; CODE XREF: sub_C653B+Cj seg000:655D ; sub_C653B+14j ... seg000:655D pop ds seg000:655E retn seg000:655E sub_C653B endp seg000:655E seg000:655F seg000:655F ; =============== S U B R O U T I N E ======================================= seg000:655F seg000:655F seg000:655F sub_C655F proc near ; CODE XREF: sub_C6523+11p seg000:655F ; DATA XREF: seg000:off_C64EBo seg000:655F call sub_C653B seg000:6562 call sub_C1C93 seg000:6565 call sub_C6569 seg000:6565 sub_C655F endp ; sp-analysis failed seg000:6565 seg000:6568 ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS CTRL-NUMPAD+ TO EXPAND] seg000:6569 seg000:6569 ; =============== S U B R O U T I N E ======================================= seg000:6569 seg000:6569 seg000:6569 sub_C6569 proc near ; CODE XREF: sub_C655F+6p seg000:6569 ; sub_C657E+9p ... seg000:6569 push dx seg000:656A pushf seg000:656B cli seg000:656C call sub_C1E43 seg000:656F mov dx, 3C0h seg000:6572 mov al, bl seg000:6574 out dx, al ; EGA: palette register: select colors for attribute AL: seg000:6574 ; 0: RED seg000:6574 ; 1: GREEN seg000:6574 ; 2: BLUE seg000:6574 ; 3: blue seg000:6574 ; 4: green seg000:6574 ; 5: red seg000:6575 mov al, bh seg000:6577 out dx, al ; EGA: palette register: select colors for attribute AL: seg000:6577 ; 0: RED seg000:6577 ; 1: GREEN seg000:6577 ; 2: BLUE seg000:6577 ; 3: blue seg000:6577 ; 4: green seg000:6577 ; 5: red seg000:6578 mov al, 20h ; ' ' seg000:657A out dx, al ; EGA: palette register: select colors for attribute AL: seg000:657A ; 0: RED seg000:657A ; 1: GREEN seg000:657A ; 2: BLUE seg000:657A ; 3: blue seg000:657A ; 4: green seg000:657A ; 5: red seg000:657B popf seg000:657C pop dx seg000:657D retn seg000:657D sub_C6569 endp seg000:657D seg000:657E seg000:657E ; =============== S U B R O U T I N E ======================================= seg000:657E seg000:657E seg000:657E sub_C657E proc near ; CODE XREF: sub_C6523+11p seg000:657E ; DATA XREF: seg000:64EDo seg000:657E push bx seg000:657F mov bl, 11h seg000:6581 call sub_C653B seg000:6584 call sub_C1CAC seg000:6587 call sub_C6569 seg000:658A pop bx seg000:658B retn seg000:658B sub_C657E endp seg000:658B seg000:658C seg000:658C ; =============== S U B R O U T I N E ======================================= seg000:658C seg000:658C seg000:658C sub_C658C proc near ; CODE XREF: sub_C6523+11p seg000:658C ; DATA XREF: seg000:64EFo seg000:658C push cx seg000:658D push di seg000:658E push es seg000:658F mov si, dx seg000:6591 push es seg000:6592 les di, ds:4A8h seg000:6596 assume es:nothing seg000:6596 pop ds seg000:6597 les di, es:[di+4] seg000:659B mov ax, es seg000:659D or ax, di seg000:659F jz short loc_C65A8 seg000:65A1 mov cx, 11h seg000:65A4 push si seg000:65A5 rep movsb seg000:65A7 pop si seg000:65A8 seg000:65A8 loc_C65A8: ; CODE XREF: sub_C658C+13j seg000:65A8 call sub_C1CAC seg000:65AB mov cx, 11h seg000:65AE sub ah, ah seg000:65B0 call sub_C9480 seg000:65B3 pop es seg000:65B4 pop di seg000:65B5 pop cx seg000:65B6 retn seg000:65B6 sub_C658C endp seg000:65B6 seg000:65B7 seg000:65B7 ; =============== S U B R O U T I N E ======================================= seg000:65B7 seg000:65B7 seg000:65B7 sub_C65B7 proc near ; CODE XREF: sub_C6523+11p seg000:65B7 ; DATA XREF: seg000:64F1o seg000:65B7 push bx seg000:65B8 push bx seg000:65B9 mov bl, 10h seg000:65BB call sub_C65DD seg000:65BE and bh, 0F7h seg000:65C1 pop ax seg000:65C2 and al, 1 seg000:65C4 shl al, 3 seg000:65C7 or bh, al seg000:65C9 shl al, 2 seg000:65CC and byte ptr ds:465h, 0DFh seg000:65D1 or ds:465h, al seg000:65D5 call sub_C1C93 seg000:65D8 call sub_C6569 seg000:65DB pop bx seg000:65DC retn seg000:65DC sub_C65B7 endp seg000:65DC seg000:65DD seg000:65DD ; =============== S U B R O U T I N E ======================================= seg000:65DD seg000:65DD seg000:65DD sub_C65DD proc near ; CODE XREF: sub_C6523+11p seg000:65DD ; sub_C65B7+4p ... seg000:65DD push dx seg000:65DE call sub_C1C93 seg000:65E1 pushf seg000:65E2 cli seg000:65E3 call sub_C1E43 seg000:65E6 mov dx, 3C0h seg000:65E9 mov al, bl seg000:65EB call sub_C1B90 seg000:65EE mov bh, ah seg000:65F0 mov al, ah seg000:65F2 out dx, al seg000:65F3 mov al, 20h ; ' ' seg000:65F5 out dx, al seg000:65F6 call sub_C1E43 seg000:65F9 popf seg000:65FA pop dx seg000:65FB retn seg000:65FB sub_C65DD endp seg000:65FB seg000:65FC seg000:65FC ; =============== S U B R O U T I N E ======================================= seg000:65FC seg000:65FC seg000:65FC sub_C65FC proc near ; CODE XREF: sub_C6523+11p seg000:65FC ; DATA XREF: seg000:64FBo seg000:65FC push dx seg000:65FD push bx seg000:65FE mov bl, 11h seg000:6600 call sub_C65DD seg000:6603 mov dh, bh seg000:6605 pop bx seg000:6606 mov bh, dh seg000:6608 pop dx seg000:6609 retn seg000:6609 sub_C65FC endp seg000:6609 seg000:660A seg000:660A ; =============== S U B R O U T I N E ======================================= seg000:660A seg000:660A seg000:660A sub_C660A proc near ; CODE XREF: sub_C6523+11p seg000:660A ; DATA XREF: seg000:64FDo seg000:660A push bx seg000:660B push cx seg000:660C push di seg000:660D mov cx, 11h seg000:6610 xor bl, bl seg000:6612 mov di, dx seg000:6614 seg000:6614 loc_C6614: ; CODE XREF: sub_C660A:loc_C6623j seg000:6614 call sub_C65DD seg000:6617 mov al, bh seg000:6619 stosb seg000:661A inc bl seg000:661C cmp bl, 10h seg000:661F jnz short loc_C6623 seg000:6621 inc bl seg000:6623 seg000:6623 loc_C6623: ; CODE XREF: sub_C660A+15j seg000:6623 loop loc_C6614 seg000:6625 pop di seg000:6626 pop cx seg000:6627 pop bx seg000:6628 retn seg000:6628 sub_C660A endp seg000:6628 seg000:6629 seg000:6629 ; =============== S U B R O U T I N E ======================================= seg000:6629 seg000:6629 seg000:6629 sub_C6629 proc near ; CODE XREF: sub_C6523+11p seg000:6629 ; sub_C6720+Cp seg000:6629 ; DATA XREF: ... seg000:6629 push cx seg000:662A push dx seg000:662B test byte ptr ds:489h, 2 seg000:6630 jz short loc_C6635 seg000:6632 call sub_C6737 seg000:6635 seg000:6635 loc_C6635: ; CODE XREF: sub_C6629+7j seg000:6635 pushf seg000:6636 cli seg000:6637 call sub_C663E seg000:663A popf seg000:663B pop dx seg000:663C pop cx seg000:663D retn seg000:663D sub_C6629 endp seg000:663D seg000:663E seg000:663E ; =============== S U B R O U T I N E ======================================= seg000:663E seg000:663E seg000:663E sub_C663E proc near ; CODE XREF: sub_C6629+Ep seg000:663E ; sub_C665F+17p seg000:663E push dx seg000:663F mov ah, dh seg000:6641 mov dx, 3C8h seg000:6644 mov al, bl seg000:6646 out dx, al seg000:6647 inc dx seg000:6648 mov al, ah seg000:664A out dx, al seg000:664B mov al, ch seg000:664D out dx, al seg000:664E mov al, cl seg000:6650 out dx, al seg000:6651 pop dx seg000:6652 retn seg000:6652 sub_C663E endp seg000:6652 seg000:6653 seg000:6653 ; =============== S U B R O U T I N E ======================================= seg000:6653 seg000:6653 seg000:6653 sub_C6653 proc near ; CODE XREF: sub_C6523+11p seg000:6653 ; DATA XREF: seg000:650Fo seg000:6653 push bx seg000:6654 push cx seg000:6655 push dx seg000:6656 mov si, dx seg000:6658 call sub_C665F seg000:665B pop dx seg000:665C pop cx seg000:665D pop bx seg000:665E retn seg000:665E sub_C6653 endp seg000:665E seg000:665F seg000:665F ; =============== S U B R O U T I N E ======================================= seg000:665F seg000:665F seg000:665F sub_C665F proc near ; CODE XREF: sub_C6653+5p seg000:665F ; sub_C665F+1Ej seg000:665F push cx seg000:6660 mov dh, es:[si] seg000:6663 inc si seg000:6664 lods word ptr es:[si] seg000:6666 mov ch, al seg000:6668 mov cl, ah seg000:666A test byte ptr ds:489h, 2 seg000:666F jz short loc_C6674 seg000:6671 call sub_C6737 seg000:6674 seg000:6674 loc_C6674: ; CODE XREF: sub_C665F+10j seg000:6674 pushf seg000:6675 cli seg000:6676 call sub_C663E seg000:6679 inc bl seg000:667B popf seg000:667C pop cx seg000:667D loop sub_C665F seg000:667F retn seg000:667F sub_C665F endp seg000:667F seg000:6680 seg000:6680 ; =============== S U B R O U T I N E ======================================= seg000:6680 seg000:6680 seg000:6680 sub_C6680 proc near ; CODE XREF: sub_C6523+11p seg000:6680 ; DATA XREF: seg000:6511o seg000:6680 push bx seg000:6681 push dx seg000:6682 cmp bl, 1 seg000:6685 ja short loc_C66AF seg000:6687 mov dx, bx seg000:6689 mov bl, 10h seg000:668B call sub_C65DD seg000:668E or dl, dl seg000:6690 jnz short loc_C669A seg000:6692 shl bh, 1 seg000:6694 shr dh, 1 seg000:6696 rcr bh, 1 seg000:6698 jmp short loc_C66A9 seg000:669A ; --------------------------------------------------------------------------- seg000:669A seg000:669A loc_C669A: ; CODE XREF: sub_C6680+10j seg000:669A test bh, 80h seg000:669D jnz short loc_C66A2 seg000:669F shl dh, 2 seg000:66A2 seg000:66A2 loc_C66A2: ; CODE XREF: sub_C6680+1Dj seg000:66A2 and dh, 0Fh seg000:66A5 mov bh, dh seg000:66A7 mov bl, 14h seg000:66A9 seg000:66A9 loc_C66A9: ; CODE XREF: sub_C6680+18j seg000:66A9 call sub_C1C93 seg000:66AC call sub_C6569 seg000:66AF seg000:66AF loc_C66AF: ; CODE XREF: sub_C6680+5j seg000:66AF pop dx seg000:66B0 pop bx seg000:66B1 retn seg000:66B1 sub_C6680 endp seg000:66B1 seg000:66B2 seg000:66B2 ; =============== S U B R O U T I N E ======================================= seg000:66B2 seg000:66B2 seg000:66B2 sub_C66B2 proc near ; CODE XREF: sub_C6523+11p seg000:66B2 ; sub_C6720+6p seg000:66B2 ; DATA XREF: ... seg000:66B2 push dx seg000:66B3 pushf seg000:66B4 cli seg000:66B5 call sub_C66BD seg000:66B8 popf seg000:66B9 pop dx seg000:66BA mov dh, ah seg000:66BC retn seg000:66BC sub_C66B2 endp seg000:66BC seg000:66BD seg000:66BD ; =============== S U B R O U T I N E ======================================= seg000:66BD seg000:66BD seg000:66BD sub_C66BD proc near ; CODE XREF: sub_C66B2+3p seg000:66BD ; sub_C66CF+9p seg000:66BD mov dx, 3C7h seg000:66C0 mov al, bl seg000:66C2 out dx, al seg000:66C3 inc dx seg000:66C4 inc dx seg000:66C5 in al, dx seg000:66C6 mov ah, al seg000:66C8 in al, dx seg000:66C9 mov ch, al seg000:66CB in al, dx seg000:66CC mov cl, al seg000:66CE retn seg000:66CE sub_C66BD endp seg000:66CE seg000:66CF seg000:66CF ; =============== S U B R O U T I N E ======================================= seg000:66CF seg000:66CF seg000:66CF sub_C66CF proc near ; CODE XREF: sub_C6523+11p seg000:66CF ; DATA XREF: seg000:6519o seg000:66CF push bx seg000:66D0 push cx seg000:66D1 push dx seg000:66D2 push di seg000:66D3 mov di, dx seg000:66D5 pushf seg000:66D6 cli seg000:66D7 seg000:66D7 loc_C66D7: ; CODE XREF: sub_C66CF+17j seg000:66D7 push cx seg000:66D8 call sub_C66BD seg000:66DB inc bl seg000:66DD mov al, ah seg000:66DF stosb seg000:66E0 mov al, ch seg000:66E2 mov ah, cl seg000:66E4 stosw seg000:66E5 pop cx seg000:66E6 loop loc_C66D7 seg000:66E8 popf seg000:66E9 pop di seg000:66EA pop dx seg000:66EB pop cx seg000:66EC pop bx seg000:66ED retn seg000:66ED sub_C66CF endp seg000:66ED seg000:66EE seg000:66EE ; =============== S U B R O U T I N E ======================================= seg000:66EE seg000:66EE seg000:66EE sub_C66EE proc near ; CODE XREF: sub_C6523+11p seg000:66EE ; DATA XREF: seg000:651Bo seg000:66EE push dx seg000:66EF mov dx, 3C6h seg000:66F2 mov al, bl seg000:66F4 out dx, al seg000:66F5 pop dx seg000:66F6 retn seg000:66F6 sub_C66EE endp seg000:66F6 seg000:66F7 seg000:66F7 ; =============== S U B R O U T I N E ======================================= seg000:66F7 seg000:66F7 seg000:66F7 sub_C66F7 proc near ; CODE XREF: sub_C6523+11p seg000:66F7 ; DATA XREF: seg000:651Do seg000:66F7 push dx seg000:66F8 mov dx, 3C6h seg000:66FB in al, dx seg000:66FC mov bl, al seg000:66FE pop dx seg000:66FF retn seg000:66FF sub_C66F7 endp seg000:66FF seg000:6700 seg000:6700 ; =============== S U B R O U T I N E ======================================= seg000:6700 seg000:6700 seg000:6700 sub_C6700 proc near ; CODE XREF: sub_C6523+11p seg000:6700 ; DATA XREF: seg000:651Fo seg000:6700 push dx seg000:6701 mov bl, 14h seg000:6703 call sub_C65DD seg000:6706 and bh, 0Fh seg000:6709 mov dh, bh seg000:670B mov bl, 10h seg000:670D call sub_C65DD seg000:6710 mov bl, bh seg000:6712 and bl, 80h seg000:6715 rol bl, 1 seg000:6717 jb short loc_C671C seg000:6719 shr dh, 2 seg000:671C seg000:671C loc_C671C: ; CODE XREF: sub_C6700+17j seg000:671C mov bh, dh seg000:671E pop dx seg000:671F retn seg000:671F sub_C6700 endp seg000:671F seg000:6720 seg000:6720 ; =============== S U B R O U T I N E ======================================= seg000:6720 seg000:6720 seg000:6720 sub_C6720 proc near ; CODE XREF: sub_C6523+11p seg000:6720 ; DATA XREF: seg000:6521o seg000:6720 push bx seg000:6721 push cx seg000:6722 push dx seg000:6723 jcxz short loc_C6733 seg000:6725 seg000:6725 loc_C6725: ; CODE XREF: sub_C6720+11j seg000:6725 push cx seg000:6726 call sub_C66B2 seg000:6729 call sub_C6737 seg000:672C call sub_C6629 seg000:672F inc bx seg000:6730 pop cx seg000:6731 loop loc_C6725 seg000:6733 seg000:6733 loc_C6733: ; CODE XREF: sub_C6720+3j seg000:6733 pop dx seg000:6734 pop cx seg000:6735 pop bx seg000:6736 retn seg000:6736 sub_C6720 endp seg000:6736 seg000:6737 seg000:6737 ; =============== S U B R O U T I N E ======================================= seg000:6737 seg000:6737 seg000:6737 sub_C6737 proc near ; CODE XREF: sub_C6629+9p seg000:6737 ; sub_C665F+12p ... seg000:6737 push bx seg000:6738 mov al, 1Eh seg000:673A mul dh seg000:673C mov bx, ax seg000:673E mov al, 3Bh ; ';' seg000:6740 mul ch seg000:6742 add bx, ax seg000:6744 mov al, 0Bh seg000:6746 mul cl seg000:6748 add ax, bx seg000:674A sub dx, dx seg000:674C mov bx, 64h ; 'd' seg000:674F div bx seg000:6751 mov dh, al seg000:6753 mov cl, al seg000:6755 mov ch, al seg000:6757 pop bx seg000:6758 retn seg000:6758 sub_C6737 endp seg000:6758 seg000:6758 ; --------------------------------------------------------------------------- seg000:6759 db 0E8h, 0CDh seg000:675B ; --------------------------------------------------------------------------- seg000:675B seg000:675B loc_C675B: ; CODE XREF: seg000:67CCj seg000:675B popf seg000:675C sub ax, 1D1Bh seg000:675F jg short near ptr loc_C67D0+1 seg000:6761 sbb ax, 482h seg000:6764 sbb ax, 0C371h seg000:6767 seg000:6767 ; =============== S U B R O U T I N E ======================================= seg000:6767 seg000:6767 seg000:6767 sub_C6767 proc near ; CODE XREF: sub_C814A+2Fp seg000:6767 push bx seg000:6768 call sub_C0529 seg000:676B sub ax, 101Bh seg000:676E jg short loc_C6778 seg000:6770 adc [bx+di-4Ch], dh seg000:6773 push es seg000:6774 or bl, bl seg000:6776 jz short loc_C677A seg000:6778 seg000:6778 loc_C6778: ; CODE XREF: sub_C6767+7j seg000:6778 mov ah, 8 seg000:677A seg000:677A loc_C677A: ; CODE XREF: sub_C6767+Fj seg000:677A pop bx seg000:677B retn seg000:677B sub_C6767 endp ; sp-analysis failed seg000:677B seg000:677C seg000:677C ; =============== S U B R O U T I N E ======================================= seg000:677C seg000:677C seg000:677C sub_C677C proc near ; CODE XREF: sub_C814A+28p seg000:677C push di seg000:677D xor di, di seg000:677F cmp ah, 8 seg000:6782 jb short loc_C6785 seg000:6784 inc di seg000:6785 seg000:6785 loc_C6785: ; CODE XREF: sub_C677C+6j seg000:6785 call sub_C0529 seg000:6788 adc al, 1Bh seg000:678A div word ptr [bx+di+5Fh] seg000:678D retn seg000:678D sub_C677C endp ; sp-analysis failed seg000:678D seg000:678E seg000:678E ; =============== S U B R O U T I N E ======================================= seg000:678E seg000:678E seg000:678E sub_C678E proc near ; CODE XREF: sub_C7744+4Cp seg000:678E push di seg000:678F call sub_C053B seg000:6792 sbb bx, [bp+si] seg000:6794 add bl, [bp+di] seg000:6796 sbb al, 4 seg000:6798 sbb bp, [bx+si] seg000:679A pop es seg000:679B sbb si, [si] seg000:679D add bl, [bp+di] seg000:679F cmp [si], al seg000:67A1 sbb dx, [bx+si+7104h] seg000:67A5 lea di, [di+1] seg000:67A8 call nullsub_2 seg000:67AB pop di seg000:67AC retn seg000:67AC sub_C678E endp ; sp-analysis failed seg000:67AC seg000:67AD ; --------------------------------------------------------------------------- seg000:67AD seg000:67AD loc_C67AD: ; CODE XREF: sub_C7744+83p seg000:67AD push di seg000:67AE mov di, si seg000:67B0 call sub_C053B seg000:67B3 adc al, 1Ah seg000:67B5 lock sbb al, 4 seg000:67B8 adc al, 1Bh seg000:67BA sbb byte ptr [si], 1 seg000:67BD sbb ax, 41Ch seg000:67C0 sbb ax, 728h seg000:67C3 sbb ax, 234h seg000:67C6 sbb ax, 438h seg000:67C9 sbb ax, 490h seg000:67CC jno short loc_C675B seg000:67CE jl short near ptr loc_C67D0+1 seg000:67D0 seg000:67D0 loc_C67D0: ; CODE XREF: seg000:675Fj seg000:67D0 ; seg000:67CEj seg000:67D0 call nullsub_2 seg000:67D3 pop di seg000:67D4 retn seg000:67D4 ; --------------------------------------------------------------------------- seg000:67D5 db 10h seg000:67D6 db 8 seg000:67D7 db 72h ; r seg000:67D8 db 2 seg000:67D9 db 0FFh seg000:67DA db 6 seg000:67DB db 8 seg000:67DC db 8 seg000:67DD db 70h ; p seg000:67DE db 2 seg000:67DF db 0FFh seg000:67E0 db 6 seg000:67E1 db 28h ; ( seg000:67E2 db 8, 78h, 2, 0FFh, 6, 30h, 5, 80h, 1, 0FFh, 0Ah, 48h seg000:67E2 db 8, 6Ah, 1, 6Eh, 1, 81h, 3, 0FFh, 3, 38h, 8, 69h, 1 seg000:67E2 db 6Dh, 1, 7Ah, 3, 0FFh, 3, 40h, 8, 6Bh, 1, 6Fh, 1, 7Dh seg000:67E2 db 3, 0FFh, 3, 60h, 4, 0FFh, 0Ch, 4Bh, 4Ch, 4Dh, 3, 53h seg000:67E2 db 36h, 8Bh, 1Ch, 43h, 36h, 89h, 5Dh, 10h, 4Bh, 0C1h, 0EBh seg000:67E2 db 3, 36h, 89h, 1Dh, 36h, 8Bh, 5Ch, 2, 83h, 0C3h, 0D9h seg000:67E2 db 0C1h, 0EBh, 3, 36h, 89h, 5Dh, 2, 36h, 8Bh, 5Ch, 4, 83h seg000:67E2 db 0C3h, 11h, 0C1h, 0EBh, 3, 36h, 89h, 5Dh, 4, 36h, 8Bh seg000:67E2 db 5Ch, 6, 83h, 0C3h, 11h, 0C1h, 0EBh, 3, 83h, 0E3h, 3Fh seg000:67E2 db 36h, 89h, 5Dh, 6, 36h, 8Bh, 5Ch, 8, 43h, 36h, 89h, 5Dh seg000:67E2 db 12h, 4Bh, 36h, 89h, 5Dh, 8, 36h, 8Bh, 5Ch, 0Ah, 4Bh seg000:67E2 db 36h, 89h, 5Dh, 0Ah, 36h, 8Bh, 5Ch, 0Ch, 36h, 89h, 5Dh seg000:67E2 db 0Ch, 36h, 8Bh, 5Ch, 0Eh, 83h, 0E3h, 0Fh, 36h, 89h, 5Dh seg000:67E2 db 0Eh, 5Bh, 0C3h, 50h, 53h, 51h, 52h, 56h, 57h, 6, 0E8h seg000:67E2 db 0D1h, 0B4h, 26h, 0Fh, 0B6h, 57h, 7, 0C1h, 0EAh, 3, 36h seg000:67E2 db 8Bh, 45h, 10h, 8Bh, 0C8h, 83h, 0C0h, 7, 0C1h, 0E8h seg000:67E2 db 3, 0F7h, 0E2h, 26h, 89h, 47h, 8, 36h, 8Bh, 45h, 12h seg000:67E2 db 0E8h, 47h, 0B5h, 2Eh, 89h, 0Ch, 2Eh, 89h, 44h, 2, 83h seg000:67E2 db 0C1h, 7, 0C1h, 0E9h, 3, 0C1h, 0E8h, 4, 0B2h, 10h, 81h seg000:67E2 db 0F9h, 0FFh, 0, 76h, 6, 0D1h, 0E9h, 0D1h, 0E8h, 0D0h seg000:67E2 db 0E2h, 2Eh, 88h, 54h, 6, 2Eh, 88h, 4Ch, 4, 0FEh, 0C8h seg000:67E2 db 2Eh, 88h, 44h, 5, 2Eh, 8Ah, 47h, 2, 0B1h, 11h, 0F6h seg000:67E2 db 0E1h, 0BEh, 0E5h, 98h, 3, 0F0h, 0BBh, 0D5h, 67h, 2Eh seg000:67E2 db 8Ah, 7, 43h, 2Eh, 0Fh, 0B6h, 0Fh, 43h, 53h, 3Ch, 0FFh seg000:67E2 db 74h, 3Eh, 8Ah, 0D0h, 80h, 0E2h, 7, 0C0h, 0E8h, 3, 51h seg000:67E2 db 56h, 0Ah, 0F6h, 75h, 6, 36h, 8Ah, 25h, 47h, 0B6h, 8 seg000:67E2 db 0Fh, 0B6h, 0D8h, 3, 0F3h, 32h, 0EDh, 8Ah, 0CAh, 0D0h seg000:67E2 db 0ECh, 0D0h, 0D5h, 0D2h, 0E5h, 0B3h, 0FEh, 0D2h, 0C3h seg000:67E2 db 2Eh, 20h, 1Ch, 2Eh, 8, 2Ch, 0FEh, 0CEh, 0FEh, 0C2h seg000:67E2 db 80h, 0FAh, 8, 75h, 2, 0FEh, 0C0h, 5Eh, 59h, 0E2h, 0CCh seg000:67E2 db 0EBh, 10h, 0Ah, 0F6h, 75h, 6, 36h, 8Ah, 25h, 47h, 0B6h seg000:67E2 db 8, 0D0h, 0ECh, 0FEh, 0CEh, 0E2h, 0F0h, 5Bh, 81h, 0FBh seg000:67E2 db 0Fh, 68h, 75h, 9Dh, 7, 5Fh, 5Eh, 5Ah, 59h, 5Bh, 58h seg000:67E2 db 0C3h, 55h, 8Bh, 0ECh, 83h, 0C4h, 0ECh, 50h, 53h, 57h seg000:67E2 db 0E8h, 0B4h, 0C2h, 74h, 35h, 0F8h, 72h, 32h, 8Dh, 7Eh seg000:67E2 db 0ECh, 0E8h, 0AEh, 0FEh, 2Eh, 0Fh, 0B6h, 1Eh, 12h, 68h seg000:67E2 db 81h, 0FBh, 3, 0, 73h, 20h, 2Eh, 8Ah, 87h, 0Fh, 68h seg000:67E2 db 0E8h, 3, 0FFh, 43h, 2Eh, 8Ah, 87h, 0Fh, 68h, 0E8h, 0FAh seg000:67E2 db 0FEh, 43h, 2Eh, 8Ah, 87h, 0Fh, 68h, 0E8h, 0F1h, 0FEh seg000:67E2 db 43h, 2Eh, 88h, 1Eh, 12h, 68h, 5Fh, 5Bh, 58h, 8Bh, 0E5h seg000:67E2 db 5Dh, 0C3h, 10h, 0CBh, 69h, 20h, 0E6h, 69h, 30h, 0FAh seg000:67E2 db 69h, 31h, 1Eh, 6Ah, 32h, 31h, 6Ah, 33h, 3Bh, 6Ah, 34h seg000:67E2 db 4Fh, 6Ah, 35h, 5Fh, 6Ah, 36h, 60h, 6Ah seg000:69B3 seg000:69B3 ; =============== S U B R O U T I N E ======================================= seg000:69B3 seg000:69B3 seg000:69B3 sub_C69B3 proc near ; CODE XREF: sub_C1B51+1Dp seg000:69B3 ; DATA XREF: seg000:1B10o seg000:69B3 mov si, 6998h seg000:69B6 seg000:69B6 loc_C69B6: ; CODE XREF: sub_C69B3+Fj seg000:69B6 cmp cs:[si], bl seg000:69B9 jz short loc_C69C6 seg000:69BB add si, 3 seg000:69BE cmp si, 69B3h seg000:69C2 jb short loc_C69B6 seg000:69C4 jmp short locret_C69CA seg000:69C6 ; --------------------------------------------------------------------------- seg000:69C6 seg000:69C6 loc_C69C6: ; CODE XREF: sub_C69B3+6j seg000:69C6 call word ptr cs:[si+1] seg000:69CA seg000:69CA locret_C69CA: ; CODE XREF: sub_C69B3+11j seg000:69CA retn seg000:69CA sub_C69B3 endp seg000:69CA seg000:69CB ; --------------------------------------------------------------------------- seg000:69CB mov bx, 103h seg000:69CE cmp byte ptr ds:463h, 0B4h ; '+' seg000:69D3 jz short loc_C69D7 seg000:69D5 sub bh, bh seg000:69D7 seg000:69D7 loc_C69D7: ; CODE XREF: seg000:69D3j seg000:69D7 mov cl, ds:488h seg000:69DB mov ch, cl seg000:69DD and cl, 0Fh seg000:69E0 shr ch, 4 seg000:69E3 mov al, bl seg000:69E5 retn seg000:69E6 ; --------------------------------------------------------------------------- seg000:69E6 pushf seg000:69E7 cli seg000:69E8 mov word ptr ds:14h, offset loc_C6A71 seg000:69EE mov word ptr ds:16h, cs seg000:69F2 popf seg000:69F3 retn seg000:69F4 ; --------------------------------------------------------------------------- seg000:69F4 or byte ptr [bx+si], 0 seg000:69F7 or [bx+si], dx seg000:69F9 or [si], di seg000:69FB add dh, [bx+1Fh] seg000:69FE cbw seg000:69FF mov si, ax seg000:6A01 shl si, 1 seg000:6A03 mov ax, cs:[si+69F4h] seg000:6A08 and byte ptr ds:489h, 6Fh seg000:6A0D or ds:489h, al seg000:6A11 and byte ptr ds:488h, 0F0h seg000:6A16 or ds:488h, ah seg000:6A1A mov ax, 1212h seg000:6A1D retn seg000:6A1E ; --------------------------------------------------------------------------- seg000:6A1E cmp al, 1 seg000:6A20 ja short locret_C6A30 seg000:6A22 shl al, 3 seg000:6A25 and byte ptr ds:489h, 0F7h seg000:6A2A or ds:489h, al seg000:6A2E mov al, 12h seg000:6A30 seg000:6A30 locret_C6A30: ; CODE XREF: seg000:6A20j seg000:6A30 retn seg000:6A31 ; --------------------------------------------------------------------------- seg000:6A31 cmp al, 1 seg000:6A33 ja short locret_C6A3A seg000:6A35 call sub_C3321 seg000:6A38 mov al, 12h seg000:6A3A seg000:6A3A locret_C6A3A: ; CODE XREF: seg000:6A33j seg000:6A3A retn seg000:6A3B ; --------------------------------------------------------------------------- seg000:6A3B cmp al, 1 seg000:6A3D ja short locret_C6A4E seg000:6A3F shl al, 1 seg000:6A41 xor al, 2 seg000:6A43 and byte ptr ds:489h, 0FDh seg000:6A48 or ds:489h, al seg000:6A4C mov al, 12h seg000:6A4E seg000:6A4E locret_C6A4E: ; CODE XREF: seg000:6A3Dj seg000:6A4E retn seg000:6A4F ; --------------------------------------------------------------------------- seg000:6A4F cmp al, 1 seg000:6A51 ja short locret_C6A5E seg000:6A53 and byte ptr ds:487h, 0FEh seg000:6A58 or ds:487h, al seg000:6A5C mov al, 12h seg000:6A5E seg000:6A5E locret_C6A5E: ; CODE XREF: seg000:6A51j seg000:6A5E retn seg000:6A5F ; --------------------------------------------------------------------------- seg000:6A5F retn seg000:6A60 ; --------------------------------------------------------------------------- seg000:6A60 cmp al, 1 seg000:6A62 ja short locret_C6A70 seg000:6A64 jz short loc_C6A6B seg000:6A66 call sub_C1BB9 seg000:6A69 jmp short loc_C6A6E seg000:6A6B ; --------------------------------------------------------------------------- seg000:6A6B seg000:6A6B loc_C6A6B: ; CODE XREF: seg000:6A64j seg000:6A6B call sub_C1BAF seg000:6A6E seg000:6A6E loc_C6A6E: ; CODE XREF: seg000:6A69j seg000:6A6E mov al, 12h seg000:6A70 seg000:6A70 locret_C6A70: ; CODE XREF: seg000:6A62j seg000:6A70 retn seg000:6A71 ; --------------------------------------------------------------------------- seg000:6A71 seg000:6A71 loc_C6A71: ; DATA XREF: seg000:69E8o seg000:6A71 pushf seg000:6A72 sti seg000:6A73 pusha seg000:6A74 push ds seg000:6A75 sub ax, ax seg000:6A77 mov ds, ax seg000:6A79 movzx bx, byte ptr ds:462h seg000:6A7E shl bx, 1 seg000:6A80 push word ptr [bx+450h] seg000:6A84 mov bh, ds:462h seg000:6A88 sub dx, dx seg000:6A8A seg000:6A8A loc_C6A8A: ; CODE XREF: seg000:6A9Aj seg000:6A8A ; seg000:6AAEj seg000:6A8A call sub_C1ED1 seg000:6A8D mov ah, 8 seg000:6A8F call sub_C1B51 seg000:6A92 call sub_C6AB8 seg000:6A95 inc dx seg000:6A96 cmp dl, ds:44Ah seg000:6A9A jb short loc_C6A8A seg000:6A9C mov al, 0Dh seg000:6A9E call sub_C6AB8 seg000:6AA1 mov al, 0Ah seg000:6AA3 call sub_C6AB8 seg000:6AA6 sub dl, dl seg000:6AA8 inc dh seg000:6AAA cmp dh, ds:484h seg000:6AAE jbe short loc_C6A8A seg000:6AB0 pop dx seg000:6AB1 call sub_C1ED1 seg000:6AB4 pop ds seg000:6AB5 popa seg000:6AB6 popf seg000:6AB7 iret seg000:6AB8 seg000:6AB8 ; =============== S U B R O U T I N E ======================================= seg000:6AB8 seg000:6AB8 seg000:6AB8 sub_C6AB8 proc near ; CODE XREF: seg000:6A92p seg000:6AB8 ; seg000:6A9Ep ... seg000:6AB8 push ax seg000:6AB9 push dx seg000:6ABA sub dx, dx seg000:6ABC mov ah, dl seg000:6ABE int 17h ; PRINTER - OUTPUT CHARACTER seg000:6ABE ; AL = character, DX = printer port (0-3) seg000:6ABE ; Return: AH = status bits seg000:6AC0 pop dx seg000:6AC1 pop ax seg000:6AC2 retn seg000:6AC2 sub_C6AB8 endp seg000:6AC2 seg000:6AC3 seg000:6AC3 ; =============== S U B R O U T I N E ======================================= seg000:6AC3 seg000:6AC3 seg000:6AC3 sub_C6AC3 proc near ; CODE XREF: sub_C1B51+1Dp seg000:6AC3 ; DATA XREF: seg000:1AF4o seg000:6AC3 sub ax, ax seg000:6AC5 retn seg000:6AC5 sub_C6AC3 endp seg000:6AC5 seg000:6AC5 ; --------------------------------------------------------------------------- seg000:6AC6 off_C6AC6 dw offset nullsub_4 ; DATA XREF: sub_C6AD8+20r seg000:6AC8 dw offset nullsub_4 seg000:6ACA dw offset sub_C6B00 seg000:6ACC dw offset sub_C6B51 seg000:6ACE dw offset sub_C6B51 seg000:6AD0 dw offset sub_C6B51 seg000:6AD2 dw offset sub_C6BA6 seg000:6AD4 dw offset sub_C6BC6 seg000:6AD6 dw offset sub_C6BE3 seg000:6AD8 seg000:6AD8 ; =============== S U B R O U T I N E ======================================= seg000:6AD8 seg000:6AD8 seg000:6AD8 sub_C6AD8 proc near ; CODE XREF: sub_C1B51+1Dp seg000:6AD8 ; DATA XREF: seg000:1B04o seg000:6AD8 pusha seg000:6AD9 push ax seg000:6ADA push bx seg000:6ADB push es seg000:6ADC mov al, ds:449h seg000:6ADF call sub_C1D57 seg000:6AE2 mov si, es:[bx+5] seg000:6AE6 pop es seg000:6AE7 pop bx seg000:6AE8 pop ax seg000:6AE9 jb short loc_C6AFE seg000:6AEB and si, 0FFh seg000:6AEF cmp si, 9 seg000:6AF3 jnb short loc_C6AFE seg000:6AF5 shl si, 1 seg000:6AF7 push es seg000:6AF8 call cs:off_C6AC6[si] seg000:6AFD pop es seg000:6AFE seg000:6AFE loc_C6AFE: ; CODE XREF: sub_C6AD8+11j seg000:6AFE ; sub_C6AD8+1Bj seg000:6AFE popa seg000:6AFF retn seg000:6AFF sub_C6AD8 endp seg000:6AFF seg000:6B00 seg000:6B00 ; =============== S U B R O U T I N E ======================================= seg000:6B00 seg000:6B00 seg000:6B00 sub_C6B00 proc near ; CODE XREF: sub_C6AD8+20p seg000:6B00 ; DATA XREF: seg000:6ACAo seg000:6B00 mov bl, al seg000:6B02 call sub_C6B20 seg000:6B05 mov ds, word ptr cs:byte_C0001+7Fh seg000:6B0A assume ds:nothing seg000:6B0A mov al, bl seg000:6B0C and bl, bh seg000:6B0E not bh seg000:6B10 rol bh, cl seg000:6B12 rol bl, cl seg000:6B14 or al, al seg000:6B16 js short loc_C6B1D seg000:6B18 and [si], bh seg000:6B1A or [si], bl seg000:6B1C retn seg000:6B1D ; --------------------------------------------------------------------------- seg000:6B1D seg000:6B1D loc_C6B1D: ; CODE XREF: sub_C6B00+16j seg000:6B1D xor [si], bl seg000:6B1D sub_C6B00 endp ; sp-analysis failed seg000:6B1D seg000:6B1F ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS CTRL-NUMPAD+ TO EXPAND] seg000:6B20 seg000:6B20 ; =============== S U B R O U T I N E ======================================= seg000:6B20 seg000:6B20 seg000:6B20 sub_C6B20 proc near ; CODE XREF: sub_C6B00+2p seg000:6B20 ; sub_C6C40+1p seg000:6B20 sub si, si seg000:6B22 shr dx, 1 seg000:6B24 jnb short loc_C6B29 seg000:6B26 mov si, 2000h seg000:6B29 seg000:6B29 loc_C6B29: ; CODE XREF: sub_C6B20+4j seg000:6B29 mov ax, 50h ; 'P' seg000:6B2C mul dx seg000:6B2E add si, ax seg000:6B30 mov ax, cx seg000:6B32 not cl seg000:6B34 shr ax, 2 seg000:6B37 cmp byte ptr ds:449h, 6 seg000:6B3C jnz short loc_C6B47 seg000:6B3E shr ax, 1 seg000:6B40 mov bh, 1 seg000:6B42 and cl, 7 seg000:6B45 jmp short loc_C6B4E seg000:6B47 ; --------------------------------------------------------------------------- seg000:6B47 seg000:6B47 loc_C6B47: ; CODE XREF: sub_C6B20+1Cj seg000:6B47 mov bh, 3 seg000:6B49 and cl, 3 seg000:6B4C shl cl, 1 seg000:6B4E seg000:6B4E loc_C6B4E: ; CODE XREF: sub_C6B20+25j seg000:6B4E add si, ax seg000:6B50 retn seg000:6B50 sub_C6B20 endp seg000:6B50 seg000:6B51 seg000:6B51 ; =============== S U B R O U T I N E ======================================= seg000:6B51 seg000:6B51 seg000:6B51 sub_C6B51 proc near ; CODE XREF: sub_C6AD8+20p seg000:6B51 ; DATA XREF: seg000:6ACCo ... seg000:6B51 mov bl, al seg000:6B53 call sub_C6B7D seg000:6B56 mov al, 8 seg000:6B58 mov dx, 3CEh seg000:6B5B out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:6B5B ; set/reset. seg000:6B5B ; Data bits 0-3 select planes for write mode 00 seg000:6B5C mov bh, ah seg000:6B5E xor ax, ax seg000:6B60 mov ah, bl seg000:6B62 out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:6B62 ; set/reset. seg000:6B62 ; Data bits 0-3 select planes for write mode 00 seg000:6B63 inc ax seg000:6B64 not ah seg000:6B66 out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:6B66 ; set/reset. seg000:6B66 ; Data bits 0-3 select planes for write mode 00 seg000:6B67 mov ax, 3 seg000:6B6A or bl, bl seg000:6B6C jns short loc_C6B70 seg000:6B6E mov ah, 18h seg000:6B70 seg000:6B70 loc_C6B70: ; CODE XREF: sub_C6B51+1Bj seg000:6B70 out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:6B70 ; unknown register seg000:6B71 mov ds, word ptr cs:byte_C0001+7Bh seg000:6B76 assume ds:nothing seg000:6B76 or [si], bh seg000:6B78 mov ax, 3 seg000:6B7B out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:6B7B ; data rotate and function select for write mode 00. Bits: seg000:6B7B ; 0-2: set rotate count for write mode 00 seg000:6B7B ; 3-4: fn for write modes 00 and 02 seg000:6B7B ; 00=no change; 01=AND; 10=OR; 11=XOR seg000:6B7C retn seg000:6B7C sub_C6B51 endp seg000:6B7C seg000:6B7D seg000:6B7D ; =============== S U B R O U T I N E ======================================= seg000:6B7D seg000:6B7D seg000:6B7D sub_C6B7D proc near ; CODE XREF: sub_C6B51+2p seg000:6B7D ; sub_C6C50+1p seg000:6B7D push bx seg000:6B7E mov si, cx seg000:6B80 shr si, 3 seg000:6B83 and cl, 7 seg000:6B86 mov ax, ds:44Ah seg000:6B89 mul dx seg000:6B8B add si, ax seg000:6B8D adc dx, 0 seg000:6B90 movzx ax, bh seg000:6B93 mov bx, dx seg000:6B95 mul word ptr ds:44Ch seg000:6B99 add si, ax seg000:6B9B adc dx, bx seg000:6B9D call sub_C2FF7 seg000:6BA0 mov ah, 80h ; 'Ç' seg000:6BA2 shr ah, cl seg000:6BA4 pop bx seg000:6BA5 retn seg000:6BA5 sub_C6B7D endp seg000:6BA5 seg000:6BA6 seg000:6BA6 ; =============== S U B R O U T I N E ======================================= seg000:6BA6 seg000:6BA6 seg000:6BA6 sub_C6BA6 proc near ; CODE XREF: sub_C6AD8+20p seg000:6BA6 ; DATA XREF: seg000:6AD2o seg000:6BA6 push ax seg000:6BA7 call sub_C6BB3 seg000:6BAA mov ds, word ptr cs:byte_C0001+7Bh seg000:6BAF pop ax seg000:6BB0 mov [si], al seg000:6BB2 retn seg000:6BB2 sub_C6BA6 endp seg000:6BB2 seg000:6BB3 seg000:6BB3 ; =============== S U B R O U T I N E ======================================= seg000:6BB3 seg000:6BB3 seg000:6BB3 sub_C6BB3 proc near ; CODE XREF: sub_C6BA6+1p seg000:6BB3 ; sub_C6C74p seg000:6BB3 mov ax, ds:44Ah seg000:6BB6 shl ax, 3 seg000:6BB9 mul dx seg000:6BBB add ax, cx seg000:6BBD adc dx, 0 seg000:6BC0 call sub_C2FF7 seg000:6BC3 mov si, ax seg000:6BC5 retn seg000:6BC5 sub_C6BB3 endp seg000:6BC5 seg000:6BC6 seg000:6BC6 ; =============== S U B R O U T I N E ======================================= seg000:6BC6 seg000:6BC6 seg000:6BC6 sub_C6BC6 proc near ; CODE XREF: sub_C6AD8+20p seg000:6BC6 ; DATA XREF: seg000:6AD4o seg000:6BC6 mov es, word ptr cs:byte_C0001+7Bh seg000:6BCB assume es:nothing seg000:6BCB mov ax, ds:44Ah seg000:6BCE shl ax, 4 seg000:6BD1 mul dx seg000:6BD3 shl cx, 1 seg000:6BD5 add ax, cx seg000:6BD7 adc dx, 0 seg000:6BDA call sub_C2FF7 seg000:6BDD mov di, ax seg000:6BDF mov es:[di], bx seg000:6BE2 retn seg000:6BE2 sub_C6BC6 endp seg000:6BE2 seg000:6BE3 seg000:6BE3 ; =============== S U B R O U T I N E ======================================= seg000:6BE3 seg000:6BE3 seg000:6BE3 sub_C6BE3 proc near ; CODE XREF: sub_C6AD8+20p seg000:6BE3 ; DATA XREF: seg000:6AD6o seg000:6BE3 push ax seg000:6BE4 mov es, word ptr cs:byte_C0001+7Bh seg000:6BE9 mov ax, ds:44Ah seg000:6BEC shl ax, 5 seg000:6BEF mul dx seg000:6BF1 shl cx, 2 seg000:6BF4 add ax, cx seg000:6BF6 adc dx, 0 seg000:6BF9 call sub_C2FF7 seg000:6BFC mov di, ax seg000:6BFE pop ax seg000:6BFF stosw seg000:6C00 mov es:[di], bx seg000:6C03 retn seg000:6C03 sub_C6BE3 endp seg000:6C03 seg000:6C03 ; --------------------------------------------------------------------------- seg000:6C04 off_C6C04 dw offset nullsub_5 ; DATA XREF: sub_C6C16+20r seg000:6C06 dw offset nullsub_5 seg000:6C08 dw offset sub_C6C40 seg000:6C0A dw offset sub_C6C50 seg000:6C0C dw offset sub_C6C50 seg000:6C0E dw offset sub_C6C50 seg000:6C10 dw offset sub_C6C74 seg000:6C12 dw offset sub_C6C7E seg000:6C14 dw offset sub_C6C9C seg000:6C16 seg000:6C16 ; =============== S U B R O U T I N E ======================================= seg000:6C16 seg000:6C16 seg000:6C16 sub_C6C16 proc near ; CODE XREF: sub_C1B51+1Dp seg000:6C16 ; DATA XREF: seg000:1B06o seg000:6C16 push cx seg000:6C17 push dx seg000:6C18 push ax seg000:6C19 push bx seg000:6C1A push es seg000:6C1B mov al, ds:449h seg000:6C1E call sub_C1D57 seg000:6C21 mov si, es:[bx+5] seg000:6C25 pop es seg000:6C26 assume es:nothing seg000:6C26 pop bx seg000:6C27 pop ax seg000:6C28 jb short loc_C6C3D seg000:6C2A and si, 0FFh seg000:6C2E cmp si, 9 seg000:6C32 jnb short loc_C6C3D seg000:6C34 shl si, 1 seg000:6C36 call cs:off_C6C04[si] seg000:6C3B mov ah, 0Dh seg000:6C3D seg000:6C3D loc_C6C3D: ; CODE XREF: sub_C6C16+12j seg000:6C3D ; sub_C6C16+1Cj seg000:6C3D pop dx seg000:6C3E pop cx seg000:6C3F retn seg000:6C3F sub_C6C16 endp seg000:6C3F seg000:6C40 seg000:6C40 ; =============== S U B R O U T I N E ======================================= seg000:6C40 seg000:6C40 seg000:6C40 sub_C6C40 proc near ; CODE XREF: sub_C6C16+20p seg000:6C40 ; DATA XREF: seg000:6C08o seg000:6C40 push bx seg000:6C41 call sub_C6B20 seg000:6C44 mov ds, word ptr cs:byte_C0001+7Fh seg000:6C49 assume ds:nothing seg000:6C49 lodsb seg000:6C4A shr al, cl seg000:6C4C and al, bh seg000:6C4E pop bx seg000:6C4E sub_C6C40 endp ; sp-analysis failed seg000:6C4E seg000:6C4F ; [00000001 BYTES: COLLAPSED FUNCTION nullsub_5. PRESS CTRL-NUMPAD+ TO EXPAND] seg000:6C50 seg000:6C50 ; =============== S U B R O U T I N E ======================================= seg000:6C50 seg000:6C50 seg000:6C50 sub_C6C50 proc near ; CODE XREF: sub_C6C16+20p seg000:6C50 ; DATA XREF: seg000:6C0Ao ... seg000:6C50 push bx seg000:6C51 call sub_C6B7D seg000:6C54 mov bh, ah seg000:6C56 mov ds, word ptr cs:byte_C0001+7Bh seg000:6C5B assume ds:nothing seg000:6C5B mov dx, 3CEh seg000:6C5E mov ax, 304h seg000:6C61 sub cx, cx seg000:6C63 seg000:6C63 loc_C6C63: ; CODE XREF: sub_C6C50+1Ej seg000:6C63 out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:6C63 ; unknown register seg000:6C64 mov ch, [si] seg000:6C66 and ch, bh seg000:6C68 neg ch seg000:6C6A rcl cl, 1 seg000:6C6C dec ah seg000:6C6E jns short loc_C6C63 seg000:6C70 mov al, cl seg000:6C72 pop bx seg000:6C73 retn seg000:6C73 sub_C6C50 endp seg000:6C73 seg000:6C74 seg000:6C74 ; =============== S U B R O U T I N E ======================================= seg000:6C74 seg000:6C74 seg000:6C74 sub_C6C74 proc near ; CODE XREF: sub_C6C16+20p seg000:6C74 ; DATA XREF: seg000:6C10o seg000:6C74 call sub_C6BB3 seg000:6C77 mov ds, word ptr cs:byte_C0001+7Bh seg000:6C7C lodsb seg000:6C7D retn seg000:6C7D sub_C6C74 endp seg000:6C7D seg000:6C7E seg000:6C7E ; =============== S U B R O U T I N E ======================================= seg000:6C7E seg000:6C7E seg000:6C7E sub_C6C7E proc near ; CODE XREF: sub_C6C16+20p seg000:6C7E ; DATA XREF: seg000:6C12o seg000:6C7E push ax seg000:6C7F mov ax, ds:44Ah seg000:6C82 shl ax, 4 seg000:6C85 mul dx seg000:6C87 shl cx, 1 seg000:6C89 add ax, cx seg000:6C8B adc dx, 0 seg000:6C8E call sub_C2FF7 seg000:6C91 mov ds, word ptr cs:byte_C0001+7Bh seg000:6C96 mov si, ax seg000:6C98 mov bx, [si] seg000:6C9A pop ax seg000:6C9B retn seg000:6C9B sub_C6C7E endp seg000:6C9B seg000:6C9C seg000:6C9C ; =============== S U B R O U T I N E ======================================= seg000:6C9C seg000:6C9C seg000:6C9C sub_C6C9C proc near ; CODE XREF: sub_C6C16+20p seg000:6C9C ; DATA XREF: seg000:6C14o seg000:6C9C mov ax, ds:44Ah seg000:6C9F shl ax, 5 seg000:6CA2 mul dx seg000:6CA4 shl cx, 2 seg000:6CA7 add ax, cx seg000:6CA9 adc dx, 0 seg000:6CAC call sub_C2FF7 seg000:6CAF mov ds, word ptr cs:byte_C0001+7Bh seg000:6CB4 mov si, ax seg000:6CB6 lodsw seg000:6CB7 mov bx, [si] seg000:6CB9 retn seg000:6CB9 sub_C6C9C endp seg000:6CB9 seg000:6CBA seg000:6CBA ; =============== S U B R O U T I N E ======================================= seg000:6CBA seg000:6CBA seg000:6CBA sub_C6CBA proc near ; CODE XREF: sub_C6CF7+Dp seg000:6CBA ; sub_C7A26+1Ep ... seg000:6CBA test al, 80h seg000:6CBC jz short locret_C6CCC seg000:6CBE cmp al, 87h ; 'ç' seg000:6CC0 jb short loc_C6CC6 seg000:6CC2 mov al, 7 seg000:6CC4 jmp short locret_C6CCC seg000:6CC6 ; --------------------------------------------------------------------------- seg000:6CC6 seg000:6CC6 loc_C6CC6: ; CODE XREF: sub_C6CBA+6j seg000:6CC6 and al, 1 seg000:6CC8 shl al, 1 seg000:6CCA inc al seg000:6CCC seg000:6CCC locret_C6CCC: ; CODE XREF: sub_C6CBA+2j seg000:6CCC ; sub_C6CBA+Aj seg000:6CCC retn seg000:6CCC sub_C6CBA endp seg000:6CCC seg000:6CCD seg000:6CCD ; =============== S U B R O U T I N E ======================================= seg000:6CCD seg000:6CCD seg000:6CCD sub_C6CCD proc near ; CODE XREF: sub_C7DDC+12p seg000:6CCD ; sub_C820C+8p seg000:6CCD movzx ecx, cx seg000:6CD1 imul ecx, 2710h seg000:6CD8 retn seg000:6CD8 sub_C6CCD endp seg000:6CD8 seg000:6CD9 seg000:6CD9 ; =============== S U B R O U T I N E ======================================= seg000:6CD9 seg000:6CD9 seg000:6CD9 sub_C6CD9 proc near ; CODE XREF: sub_C820Cp seg000:6CD9 push edx seg000:6CDB push eax seg000:6CDD push ecx seg000:6CDF xor edx, edx seg000:6CE2 mov eax, ecx seg000:6CE5 mov ecx, 2710h seg000:6CEB idiv ecx seg000:6CEE pop ecx seg000:6CF0 mov cx, ax seg000:6CF2 pop eax seg000:6CF4 pop edx seg000:6CF6 retn seg000:6CF6 sub_C6CD9 endp seg000:6CF6 seg000:6CF7 seg000:6CF7 ; =============== S U B R O U T I N E ======================================= seg000:6CF7 seg000:6CF7 seg000:6CF7 sub_C6CF7 proc near ; CODE XREF: sub_C7E14+Dp seg000:6CF7 push bx seg000:6CF8 push es seg000:6CF9 call sub_C1EA3 seg000:6CFC mov ax, 0FFFFh seg000:6CFF jb short loc_C6D07 seg000:6D01 mov al, es:[bx] seg000:6D04 call sub_C6CBA seg000:6D07 seg000:6D07 loc_C6D07: ; CODE XREF: sub_C6CF7+8j seg000:6D07 pop es seg000:6D08 pop bx seg000:6D09 retn seg000:6D09 sub_C6CF7 endp seg000:6D09 seg000:6D0A seg000:6D0A ; =============== S U B R O U T I N E ======================================= seg000:6D0A seg000:6D0A seg000:6D0A sub_C6D0A proc near ; CODE XREF: sub_C7E5C+4p seg000:6D0A push es seg000:6D0B call sub_C1D57 seg000:6D0E jb short loc_C6D1E seg000:6D10 mov bx, es:[bx+3] seg000:6D14 cmp bx, 0FFFFh seg000:6D17 jnz short loc_C6D1E seg000:6D19 mov bl, al seg000:6D1B sub bh, bh seg000:6D1D clc seg000:6D1E seg000:6D1E loc_C6D1E: ; CODE XREF: sub_C6D0A+4j seg000:6D1E ; sub_C6D0A+Dj seg000:6D1E cmc seg000:6D1F pop es seg000:6D20 retn seg000:6D20 sub_C6D0A endp seg000:6D20 seg000:6D21 seg000:6D21 ; =============== S U B R O U T I N E ======================================= seg000:6D21 seg000:6D21 seg000:6D21 sub_C6D21 proc near ; CODE XREF: sub_C6D8F+1p seg000:6D21 ; sub_C7C65+8Cp ... seg000:6D21 push bx seg000:6D22 push si seg000:6D23 push es seg000:6D24 mov bl, al seg000:6D26 xor dx, dx seg000:6D28 call sub_C1BD9 seg000:6D2B mov ax, 8000h seg000:6D2E jz short loc_C6D8B seg000:6D30 cmp bl, 13h seg000:6D33 ja short loc_C6D48 seg000:6D35 jnz short loc_C6D3C seg000:6D37 xor ax, ax seg000:6D39 inc dx seg000:6D3A jmp short loc_C6D8B seg000:6D3C ; --------------------------------------------------------------------------- seg000:6D3C seg000:6D3C loc_C6D3C: ; CODE XREF: sub_C6D21+14j seg000:6D3C cmp bl, 7 seg000:6D3F jbe short loc_C6D46 seg000:6D41 xor ax, ax seg000:6D43 mov dx, 4 seg000:6D46 seg000:6D46 loc_C6D46: ; CODE XREF: sub_C6D21+1Ej seg000:6D46 jmp short loc_C6D8B seg000:6D48 ; --------------------------------------------------------------------------- seg000:6D48 seg000:6D48 loc_C6D48: ; CODE XREF: sub_C6D21+12j seg000:6D48 mov dx, 10h seg000:6D4B mov al, bl seg000:6D4D call sub_C1EC1 seg000:6D50 cmp al, 8 seg000:6D52 jb short loc_C6D89 seg000:6D54 mov dx, 40h ; '@' seg000:6D57 mov ah, al seg000:6D59 mov al, bl seg000:6D5B call sub_C1D57 seg000:6D5E jb short loc_C6D89 seg000:6D60 call sub_C1DEE seg000:6D63 mov bx, cs:[si] seg000:6D66 shr bx, 5 seg000:6D69 mov si, cs:[si+2] seg000:6D6D shr si, 5 seg000:6D70 imul bx, si seg000:6D73 shr ah, 3 seg000:6D76 movzx ax, ah seg000:6D79 imul ax, bx seg000:6D7C add ax, 3Fh ; '?' seg000:6D7F shr ax, 6 seg000:6D82 cmp ax, dx seg000:6D84 jbe short loc_C6D89 seg000:6D86 mov dx, 0E0h ; 'Ó' seg000:6D89 seg000:6D89 loc_C6D89: ; CODE XREF: sub_C6D21+31j seg000:6D89 ; sub_C6D21+3Dj ... seg000:6D89 xor ax, ax seg000:6D8B seg000:6D8B loc_C6D8B: ; CODE XREF: sub_C6D21+Dj seg000:6D8B ; sub_C6D21+19j ... seg000:6D8B pop es seg000:6D8C pop si seg000:6D8D pop bx seg000:6D8E retn seg000:6D8E sub_C6D21 endp seg000:6D8E seg000:6D8F seg000:6D8F ; =============== S U B R O U T I N E ======================================= seg000:6D8F seg000:6D8F seg000:6D8F sub_C6D8F proc near ; CODE XREF: sub_C7E99+1Ap seg000:6D8F push dx seg000:6D90 call sub_C6D21 seg000:6D93 add ax, 0FFFFh seg000:6D96 adc dx, 0 seg000:6D99 mov ax, dx seg000:6D9B pop dx seg000:6D9C retn seg000:6D9C sub_C6D8F endp seg000:6D9C seg000:6D9D seg000:6D9D ; =============== S U B R O U T I N E ======================================= seg000:6D9D seg000:6D9D seg000:6D9D sub_C6D9D proc near ; CODE XREF: sub_C7F24+68p seg000:6D9D ; seg000:804Ep ... seg000:6D9D push dx seg000:6D9E mov dx, 3C4h seg000:6DA1 mov al, 1 seg000:6DA3 out dx, al ; EGA: sequencer address reg seg000:6DA3 ; clocking mode. Data bits: seg000:6DA3 ; 0: 1=8 dots/char; 0=9 dots/char seg000:6DA3 ; 1: CRT bandwidth: 1=low; 0=high seg000:6DA3 ; 2: 1=shift every char; 0=every 2nd char seg000:6DA3 ; 3: dot clock: 1=halved seg000:6DA4 inc dx seg000:6DA5 in al, dx ; EGA port: sequencer data register seg000:6DA6 and al, 1 seg000:6DA8 add al, 0F7h ; '¸' seg000:6DAA neg al seg000:6DAC pop dx seg000:6DAD retn seg000:6DAD sub_C6D9D endp seg000:6DAD seg000:6DAE seg000:6DAE ; =============== S U B R O U T I N E ======================================= seg000:6DAE seg000:6DAE seg000:6DAE sub_C6DAE proc near ; CODE XREF: sub_C80D0+1p seg000:6DAE push cx seg000:6DAF push dx seg000:6DB0 mov al, 13h seg000:6DB2 call sub_C1B89 seg000:6DB5 mov ch, ah seg000:6DB7 mov al, 3Bh ; ';' seg000:6DB9 call sub_C1B90 seg000:6DBC mov al, ch seg000:6DBE pop dx seg000:6DBF pop cx seg000:6DC0 retn seg000:6DC0 sub_C6DAE endp seg000:6DC0 seg000:6DC1 ; --------------------------------------------------------------------------- seg000:6DC1 push bx seg000:6DC2 mov al, 0Dh seg000:6DC4 call sub_C1B89 seg000:6DC7 mov bl, ah seg000:6DC9 dec ax seg000:6DCA call sub_C1B90 seg000:6DCD mov al, bl seg000:6DCF push ax seg000:6DD0 mov al, 35h ; '5' seg000:6DD2 call sub_C1B90 seg000:6DD5 mov bl, ah seg000:6DD7 mov al, 34h ; '4' seg000:6DD9 call sub_C1B90 seg000:6DDC mov bh, ah seg000:6DDE mov dx, bx seg000:6DE0 pop ax seg000:6DE1 pop bx seg000:6DE2 retn seg000:6DE3 ; --------------------------------------------------------------------------- seg000:6DE3 push bx seg000:6DE4 push cx seg000:6DE5 mov bx, dx seg000:6DE7 mov cl, al seg000:6DE9 mov al, 0Ch seg000:6DEB call sub_C1B76 seg000:6DEE inc al seg000:6DF0 mov ah, cl seg000:6DF2 out dx, ax seg000:6DF3 mov al, 35h ; '5' seg000:6DF5 mov ah, bl seg000:6DF7 out dx, ax seg000:6DF8 mov al, 34h ; '4' seg000:6DFA mov ah, bh seg000:6DFC and ah, 3Fh seg000:6DFF out dx, ax seg000:6E00 pop cx seg000:6E01 pop bx seg000:6E02 retn seg000:6E02 ; --------------------------------------------------------------------------- seg000:6E03 off_C6E03 dw offset sub_C6E4A ; DATA XREF: sub_C6E15+22r seg000:6E05 dw offset sub_C6E43 seg000:6E07 dw offset nullsub_2 seg000:6E09 dw offset nullsub_2 seg000:6E0B dw offset nullsub_2 seg000:6E0D dw offset nullsub_2 seg000:6E0F dw offset nullsub_2 seg000:6E11 dw offset nullsub_2 seg000:6E13 dw offset nullsub_2 seg000:6E15 seg000:6E15 ; =============== S U B R O U T I N E ======================================= seg000:6E15 seg000:6E15 seg000:6E15 sub_C6E15 proc near ; CODE XREF: sub_C1B51+1Dp seg000:6E15 ; sub_CAAE5+63p seg000:6E15 ; DATA XREF: ... seg000:6E15 push bx seg000:6E16 push cx seg000:6E17 push dx seg000:6E18 push di seg000:6E19 push bp seg000:6E1A push es seg000:6E1B push ax seg000:6E1C push bx seg000:6E1D mov al, ds:449h seg000:6E20 call sub_C1D57 seg000:6E23 mov si, es:[bx+5] seg000:6E27 pop bx seg000:6E28 pop ax seg000:6E29 jb short loc_C6E3C seg000:6E2B and si, 0FFh seg000:6E2F shl si, 1 seg000:6E31 cmp si, 12h seg000:6E35 jnb short loc_C6E3C seg000:6E37 call cs:off_C6E03[si] seg000:6E3C seg000:6E3C loc_C6E3C: ; CODE XREF: sub_C6E15+14j seg000:6E3C ; sub_C6E15+20j seg000:6E3C pop es seg000:6E3D pop bp seg000:6E3E pop di seg000:6E3F pop dx seg000:6E40 pop cx seg000:6E41 pop bx seg000:6E42 retn seg000:6E42 sub_C6E15 endp seg000:6E42 seg000:6E43 seg000:6E43 ; =============== S U B R O U T I N E ======================================= seg000:6E43 seg000:6E43 seg000:6E43 sub_C6E43 proc near ; CODE XREF: sub_C6E15+22p seg000:6E43 ; DATA XREF: seg000:6E05o seg000:6E43 mov es, word ptr cs:byte_C0001+7Dh seg000:6E48 assume es:nothing seg000:6E48 jmp short loc_C6E4F seg000:6E48 sub_C6E43 endp seg000:6E48 seg000:6E4A seg000:6E4A ; =============== S U B R O U T I N E ======================================= seg000:6E4A seg000:6E4A seg000:6E4A sub_C6E4A proc near ; CODE XREF: sub_C6E15+22p seg000:6E4A ; DATA XREF: seg000:off_C6E03o seg000:6E4A mov es, word ptr cs:byte_C0001+7Fh seg000:6E4F assume es:nothing seg000:6E4F seg000:6E4F loc_C6E4F: ; CODE XREF: sub_C6E43+5j seg000:6E4F call sub_CAA77 seg000:6E52 lods word ptr es:[si] seg000:6E54 retn seg000:6E54 sub_C6E4A endp seg000:6E54 seg000:6E54 ; --------------------------------------------------------------------------- seg000:6E55 off_C6E55 dw offset sub_C6E94 ; DATA XREF: sub_C6E67+1Er seg000:6E57 dw offset sub_C6E8D seg000:6E59 dw offset nullsub_2 seg000:6E5B dw offset sub_C6F3B seg000:6E5D dw offset sub_C6F3B seg000:6E5F dw offset sub_C6F3B seg000:6E61 dw offset sub_C7076 seg000:6E63 dw offset sub_C7076 seg000:6E65 dw offset sub_C7076 seg000:6E67 seg000:6E67 ; =============== S U B R O U T I N E ======================================= seg000:6E67 seg000:6E67 seg000:6E67 sub_C6E67 proc near ; CODE XREF: sub_C1B51+1Dp seg000:6E67 ; sub_CAAE5+74p seg000:6E67 ; DATA XREF: ... seg000:6E67 pusha seg000:6E68 push es seg000:6E69 push ax seg000:6E6A push bx seg000:6E6B mov al, ds:449h seg000:6E6E call sub_C1D57 seg000:6E71 mov si, es:[bx+5] seg000:6E75 pop bx seg000:6E76 pop ax seg000:6E77 jb short loc_C6E8A seg000:6E79 and si, 0FFh seg000:6E7D shl si, 1 seg000:6E7F cmp si, 12h seg000:6E83 jnb short loc_C6E8A seg000:6E85 call cs:off_C6E55[si] seg000:6E8A seg000:6E8A loc_C6E8A: ; CODE XREF: sub_C6E67+10j seg000:6E8A ; sub_C6E67+1Cj seg000:6E8A pop es seg000:6E8B assume es:nothing seg000:6E8B popa seg000:6E8C retn seg000:6E8C sub_C6E67 endp seg000:6E8C seg000:6E8D seg000:6E8D ; =============== S U B R O U T I N E ======================================= seg000:6E8D seg000:6E8D seg000:6E8D sub_C6E8D proc near ; CODE XREF: sub_C6E67+1Ep seg000:6E8D ; DATA XREF: seg000:6E57o seg000:6E8D mov es, word ptr cs:byte_C0001+7Dh seg000:6E92 assume es:nothing seg000:6E92 jmp short loc_C6E99 seg000:6E92 sub_C6E8D endp seg000:6E92 seg000:6E94 seg000:6E94 ; =============== S U B R O U T I N E ======================================= seg000:6E94 seg000:6E94 seg000:6E94 sub_C6E94 proc near ; CODE XREF: sub_C6E67+1Ep seg000:6E94 ; DATA XREF: seg000:off_C6E55o seg000:6E94 mov es, word ptr cs:byte_C0001+7Fh seg000:6E99 assume es:nothing seg000:6E99 seg000:6E99 loc_C6E99: ; CODE XREF: sub_C6E8D+5j seg000:6E99 mov bl, al seg000:6E9B mov bp, ds:44Ah seg000:6E9F mov al, 20h ; ' ' seg000:6EA1 xchg ah, bh seg000:6EA3 push ax seg000:6EA4 mov ax, bp seg000:6EA6 shl bp, 1 seg000:6EA8 push cx seg000:6EA9 cmp bh, 7 seg000:6EAC jnz short loc_C6EB3 seg000:6EAE std seg000:6EAF mov cx, dx seg000:6EB1 neg bp seg000:6EB3 seg000:6EB3 loc_C6EB3: ; CODE XREF: sub_C6E94+18j seg000:6EB3 mul ch seg000:6EB5 add al, cl seg000:6EB7 adc ah, 0 seg000:6EBA pop cx seg000:6EBB shl ax, 1 seg000:6EBD add ax, ds:44Eh seg000:6EC1 mov di, ax seg000:6EC3 sub bh, bh seg000:6EC5 sub dl, cl seg000:6EC7 sub dh, ch seg000:6EC9 movzx cx, dl seg000:6ECC inc cx seg000:6ECD movzx dx, dh seg000:6ED0 inc dx seg000:6ED1 or bx, bx seg000:6ED3 jz short loc_C6ED9 seg000:6ED5 cmp bx, dx seg000:6ED7 jb short loc_C6EDF seg000:6ED9 seg000:6ED9 loc_C6ED9: ; CODE XREF: sub_C6E94+3Fj seg000:6ED9 mov bx, dx seg000:6EDB jmp short loc_C6EFB seg000:6EDD ; --------------------------------------------------------------------------- seg000:6EDD jmp short loc_C6EE1 seg000:6EDF ; --------------------------------------------------------------------------- seg000:6EDF seg000:6EDF loc_C6EDF: ; CODE XREF: sub_C6E94+43j seg000:6EDF sub dx, bx seg000:6EE1 seg000:6EE1 loc_C6EE1: ; CODE XREF: sub_C6E94+49j seg000:6EE1 push bx seg000:6EE2 mov si, di seg000:6EE4 seg000:6EE4 loc_C6EE4: ; CODE XREF: sub_C6E94+53j seg000:6EE4 add si, bp seg000:6EE6 dec bx seg000:6EE7 jnz short loc_C6EE4 seg000:6EE9 pop bx seg000:6EEA push es seg000:6EEB pop ds seg000:6EEC assume ds:nothing seg000:6EEC seg000:6EEC loc_C6EEC: ; CODE XREF: sub_C6E94+65j seg000:6EEC push cx seg000:6EED push di seg000:6EEE push si seg000:6EEF rep movsw seg000:6EF1 pop si seg000:6EF2 pop di seg000:6EF3 pop cx seg000:6EF4 add si, bp seg000:6EF6 add di, bp seg000:6EF8 dec dx seg000:6EF9 jnz short loc_C6EEC seg000:6EFB seg000:6EFB loc_C6EFB: ; CODE XREF: sub_C6E94+47j seg000:6EFB pop ax seg000:6EFC mov dx, cx seg000:6EFE seg000:6EFE loc_C6EFE: ; CODE XREF: sub_C6E94+73j seg000:6EFE mov cx, dx seg000:6F00 push di seg000:6F01 rep stosw seg000:6F03 pop di seg000:6F04 add di, bp seg000:6F06 dec bx seg000:6F07 jnz short loc_C6EFE seg000:6F09 retn seg000:6F09 sub_C6E94 endp seg000:6F09 seg000:6F0A seg000:6F0A ; =============== S U B R O U T I N E ======================================= seg000:6F0A seg000:6F0A seg000:6F0A sub_C6F0A proc near ; CODE XREF: sub_C6F3B+18p seg000:6F0A sub dh, ch seg000:6F0C sub dl, cl seg000:6F0E mov al, ch seg000:6F10 push dx seg000:6F11 mul byte ptr ds:485h seg000:6F15 mul bp seg000:6F17 sub ch, ch seg000:6F19 add ax, cx seg000:6F1B adc dx, 0 seg000:6F1E add ax, ds:44Eh seg000:6F22 adc dx, 0 seg000:6F25 call sub_C2F95 seg000:6F28 mov di, ax seg000:6F2A pop cx seg000:6F2B mov al, ch seg000:6F2D sub ch, ch seg000:6F2F inc cx seg000:6F30 inc al seg000:6F32 mul byte ptr ds:485h seg000:6F36 mov bx, ax seg000:6F38 sub bp, cx seg000:6F3A retn seg000:6F3A sub_C6F0A endp seg000:6F3A seg000:6F3B seg000:6F3B ; =============== S U B R O U T I N E ======================================= seg000:6F3B seg000:6F3B seg000:6F3B sub_C6F3B proc near ; CODE XREF: sub_C6E67+1Ep seg000:6F3B ; DATA XREF: seg000:6E5Bo ... seg000:6F3B mov es, word ptr cs:byte_C0001+7Bh seg000:6F40 assume es:nothing seg000:6F40 mov bp, ds:44Ah seg000:6F44 test al, al seg000:6F46 jz short loc_C6F52 seg000:6F48 mov bl, al seg000:6F4A mov al, dh seg000:6F4C sub al, ch seg000:6F4E cmp bl, al seg000:6F50 jbe short loc_C6F58 seg000:6F52 seg000:6F52 loc_C6F52: ; CODE XREF: sub_C6F3B+Bj seg000:6F52 push bx seg000:6F53 call sub_C6F0A seg000:6F56 jmp short loc_C6F66 seg000:6F58 ; --------------------------------------------------------------------------- seg000:6F58 seg000:6F58 loc_C6F58: ; CODE XREF: sub_C6F3B+15j seg000:6F58 cmp ah, 7 seg000:6F5B jnz short loc_C6F62 seg000:6F5D call sub_C7177 seg000:6F60 jmp short locret_C6F8C seg000:6F62 ; --------------------------------------------------------------------------- seg000:6F62 seg000:6F62 loc_C6F62: ; CODE XREF: sub_C6F3B+20j seg000:6F62 push bx seg000:6F63 call sub_C6F8D seg000:6F66 seg000:6F66 loc_C6F66: ; CODE XREF: sub_C6F3B+1Bj seg000:6F66 mov al, 5 seg000:6F68 call sub_C1B82 seg000:6F6B and ah, 0FCh seg000:6F6E or ah, 2 seg000:6F71 out dx, ax seg000:6F72 pop ax seg000:6F73 mov al, ah seg000:6F75 seg000:6F75 loc_C6F75: ; CODE XREF: sub_C6F3B+45j seg000:6F75 call sub_C7018 seg000:6F78 add di, bp seg000:6F7A jnb short loc_C6F7F seg000:6F7C call sub_C2FA5 seg000:6F7F seg000:6F7F loc_C6F7F: ; CODE XREF: sub_C6F3B+3Fj seg000:6F7F dec bx seg000:6F80 jnz short loc_C6F75 seg000:6F82 mov al, 5 seg000:6F84 call sub_C1B82 seg000:6F87 and ah, 0FCh seg000:6F8A out dx, ax seg000:6F8B retn seg000:6F8C ; --------------------------------------------------------------------------- seg000:6F8C seg000:6F8C locret_C6F8C: ; CODE XREF: sub_C6F3B+25j seg000:6F8C retn seg000:6F8C sub_C6F3B endp seg000:6F8C seg000:6F8D seg000:6F8D ; =============== S U B R O U T I N E ======================================= seg000:6F8D seg000:6F8D seg000:6F8D sub_C6F8D proc near ; CODE XREF: sub_C6F3B+28p seg000:6F8D sub dh, ch seg000:6F8F sub dl, cl seg000:6F91 movzx ax, ch seg000:6F94 mov bh, cl seg000:6F96 mov cx, dx seg000:6F98 mov si, ds:485h seg000:6F9C mul bp seg000:6F9E mul si seg000:6FA0 add al, bh seg000:6FA2 adc ah, 0 seg000:6FA5 adc dx, 0 seg000:6FA8 add ax, ds:44Eh seg000:6FAC adc dx, 0 seg000:6FAF call sub_C2F95 seg000:6FB2 mov di, ax seg000:6FB4 movzx ax, ch seg000:6FB7 sub al, bl seg000:6FB9 inc ax seg000:6FBA mul si seg000:6FBC mov dx, ax seg000:6FBE sub ch, ch seg000:6FC0 inc cx seg000:6FC1 movzx ax, bl seg000:6FC4 push dx seg000:6FC5 mul si seg000:6FC7 mov bx, ax seg000:6FC9 mul bp seg000:6FCB mov si, di seg000:6FCD add si, ax seg000:6FCF adc dx, 0 seg000:6FD2 mov ax, dx seg000:6FD4 call sub_C2FEB seg000:6FD7 add dx, ax seg000:6FD9 call sub_C2F9D seg000:6FDC pop dx seg000:6FDD push es seg000:6FDE pop ds seg000:6FDF assume ds:nothing seg000:6FDF push dx seg000:6FE0 mov al, 5 seg000:6FE2 call sub_C1B82 seg000:6FE5 and ah, 0FCh seg000:6FE8 or ah, 1 seg000:6FEB out dx, ax seg000:6FEC pop dx seg000:6FED sub bp, cx seg000:6FEF seg000:6FEF loc_C6FEF: ; CODE XREF: sub_C6F8D+74j seg000:6FEF call sub_C7004 seg000:6FF2 add di, bp seg000:6FF4 jnb short loc_C6FF9 seg000:6FF6 call sub_C2FA5 seg000:6FF9 seg000:6FF9 loc_C6FF9: ; CODE XREF: sub_C6F8D+67j seg000:6FF9 add si, bp seg000:6FFB jnb short loc_C7000 seg000:6FFD call sub_C2FAF seg000:7000 seg000:7000 loc_C7000: ; CODE XREF: sub_C6F8D+6Ej seg000:7000 dec dx seg000:7001 jnz short loc_C6FEF seg000:7003 retn seg000:7003 sub_C6F8D endp seg000:7003 seg000:7004 seg000:7004 ; =============== S U B R O U T I N E ======================================= seg000:7004 seg000:7004 seg000:7004 sub_C7004 proc near ; CODE XREF: sub_C6F8D:loc_C6FEFp seg000:7004 ; sub_C7177:loc_C71E1p seg000:7004 push cx seg000:7005 seg000:7005 loc_C7005: ; CODE XREF: sub_C7004:loc_C7014j seg000:7005 movsb seg000:7006 or di, di seg000:7008 jnz short loc_C700D seg000:700A call sub_C2FA5 seg000:700D seg000:700D loc_C700D: ; CODE XREF: sub_C7004+4j seg000:700D or si, si seg000:700F jnz short loc_C7014 seg000:7011 call sub_C2FAF seg000:7014 seg000:7014 loc_C7014: ; CODE XREF: sub_C7004+Bj seg000:7014 loop loc_C7005 seg000:7016 pop cx seg000:7017 retn seg000:7017 sub_C7004 endp seg000:7017 seg000:7018 seg000:7018 ; =============== S U B R O U T I N E ======================================= seg000:7018 seg000:7018 seg000:7018 sub_C7018 proc near ; CODE XREF: sub_C6F3B:loc_C6F75p seg000:7018 ; sub_C7177:loc_C7204p seg000:7018 push cx seg000:7019 seg000:7019 loc_C7019: ; CODE XREF: sub_C7018:loc_C7021j seg000:7019 stosb seg000:701A or di, di seg000:701C jnz short loc_C7021 seg000:701E call sub_C2FA5 seg000:7021 seg000:7021 loc_C7021: ; CODE XREF: sub_C7018+4j seg000:7021 loop loc_C7019 seg000:7023 pop cx seg000:7024 retn seg000:7024 sub_C7018 endp seg000:7024 seg000:7025 seg000:7025 ; =============== S U B R O U T I N E ======================================= seg000:7025 seg000:7025 seg000:7025 sub_C7025 proc near ; CODE XREF: sub_C7076:loc_C709Dp seg000:7025 sub dh, ch seg000:7027 sub dl, cl seg000:7029 mov al, ch seg000:702B push bx seg000:702C push dx seg000:702D movzx bx, cl seg000:7030 movzx cx, dl seg000:7033 inc cx seg000:7034 mul byte ptr ds:485h seg000:7038 mul bp seg000:703A shl bx, 3 seg000:703D shl cx, 3 seg000:7040 cmp di, 8 seg000:7043 jz short loc_C7052 seg000:7045 shl bx, 1 seg000:7047 shl cx, 1 seg000:7049 cmp di, 10h seg000:704C jbe short loc_C7052 seg000:704E shl bx, 1 seg000:7050 shl cx, 1 seg000:7052 seg000:7052 loc_C7052: ; CODE XREF: sub_C7025+1Ej seg000:7052 ; sub_C7025+27j seg000:7052 add ax, bx seg000:7054 adc dx, 0 seg000:7057 add ax, ds:44Eh seg000:705B adc dx, 0 seg000:705E mov di, ax seg000:7060 call sub_C2F95 seg000:7063 pop bx seg000:7064 mov al, bh seg000:7066 inc al seg000:7068 mul byte ptr ds:485h seg000:706C mov bx, ax seg000:706E pop ax seg000:706F mov al, ah seg000:7071 sub bp, cx seg000:7073 shr cx, 1 seg000:7075 retn seg000:7075 sub_C7025 endp seg000:7075 seg000:7076 seg000:7076 ; =============== S U B R O U T I N E ======================================= seg000:7076 seg000:7076 seg000:7076 sub_C7076 proc near ; CODE XREF: sub_C6E67+1Ep seg000:7076 ; DATA XREF: seg000:6E61o ... seg000:7076 push bx seg000:7077 push ax seg000:7078 mov al, ds:449h seg000:707B call sub_C1D57 seg000:707E movzx di, byte ptr es:[bx+7] seg000:7083 call sub_C1E5B seg000:7086 mov bp, ax seg000:7088 pop ax seg000:7089 pop bx seg000:708A mov es, word ptr cs:byte_C0001+7Bh seg000:708F test al, al seg000:7091 jz short loc_C709D seg000:7093 mov bl, al seg000:7095 mov al, dh seg000:7097 sub al, ch seg000:7099 cmp bl, al seg000:709B jbe short loc_C70A2 seg000:709D seg000:709D loc_C709D: ; CODE XREF: sub_C7076+1Bj seg000:709D call sub_C7025 seg000:70A0 jmp short loc_C70AF seg000:70A2 ; --------------------------------------------------------------------------- seg000:70A2 seg000:70A2 loc_C70A2: ; CODE XREF: sub_C7076+25j seg000:70A2 cmp ah, 7 seg000:70A5 jnz short loc_C70AC seg000:70A7 call sub_C721B seg000:70AA jmp short locret_C70BC seg000:70AC ; --------------------------------------------------------------------------- seg000:70AC seg000:70AC loc_C70AC: ; CODE XREF: sub_C7076+2Fj seg000:70AC call sub_C70BD seg000:70AF seg000:70AF loc_C70AF: ; CODE XREF: sub_C7076+2Aj seg000:70AF ; sub_C7076+44j seg000:70AF call sub_C716A seg000:70B2 add di, bp seg000:70B4 jnb short loc_C70B9 seg000:70B6 call sub_C2FA5 seg000:70B9 seg000:70B9 loc_C70B9: ; CODE XREF: sub_C7076+3Ej seg000:70B9 dec bx seg000:70BA jnz short loc_C70AF seg000:70BC seg000:70BC locret_C70BC: ; CODE XREF: sub_C7076+34j seg000:70BC retn seg000:70BC sub_C7076 endp seg000:70BC seg000:70BD seg000:70BD ; =============== S U B R O U T I N E ======================================= seg000:70BD seg000:70BD seg000:70BD sub_C70BD proc near ; CODE XREF: sub_C7076:loc_C70ACp seg000:70BD push bx seg000:70BE sub dh, ch seg000:70C0 sub dl, cl seg000:70C2 movzx ax, ch seg000:70C5 mov bl, cl seg000:70C7 mov cx, dx seg000:70C9 push cx seg000:70CA inc cl seg000:70CC mov si, ds:485h seg000:70D0 mul si seg000:70D2 mul bp seg000:70D4 call sub_C1E4F seg000:70D7 push ax seg000:70D8 mov al, cl seg000:70DA mul bh seg000:70DC mov cx, ax seg000:70DE mov al, bl seg000:70E0 mul bh seg000:70E2 mov bx, ax seg000:70E4 pop ax seg000:70E5 shl bx, 3 seg000:70E8 shl cx, 3 seg000:70EB cmp di, 8 seg000:70EE jz short loc_C70FD seg000:70F0 shl bx, 1 seg000:70F2 shl cx, 1 seg000:70F4 cmp di, 10h seg000:70F7 jbe short loc_C70FD seg000:70F9 shl bx, 1 seg000:70FB shl cx, 1 seg000:70FD seg000:70FD loc_C70FD: ; CODE XREF: sub_C70BD+31j seg000:70FD ; sub_C70BD+3Aj seg000:70FD add ax, bx seg000:70FF adc dx, 0 seg000:7102 add ax, ds:44Eh seg000:7106 adc dx, 0 seg000:7109 mov di, ax seg000:710B call sub_C2F95 seg000:710E pop bx seg000:710F movzx ax, bh seg000:7112 pop bx seg000:7113 push bx seg000:7114 sub al, bl seg000:7116 inc ax seg000:7117 mul si seg000:7119 mov dx, ax seg000:711B pop ax seg000:711C push ax seg000:711D push dx seg000:711E sub ah, ah seg000:7120 mul si seg000:7122 mov bx, ax seg000:7124 mul bp seg000:7126 mov si, di seg000:7128 add si, ax seg000:712A adc dx, 0 seg000:712D mov ax, dx seg000:712F call sub_C2FEB seg000:7132 add dx, ax seg000:7134 call sub_C2F9D seg000:7137 pop dx seg000:7138 pop ax seg000:7139 mov al, ah seg000:713B push es seg000:713C pop ds seg000:713D sub bp, cx seg000:713F shr cx, 1 seg000:7141 seg000:7141 loc_C7141: ; CODE XREF: sub_C70BD+96j seg000:7141 call sub_C7156 seg000:7144 add di, bp seg000:7146 jnb short loc_C714B seg000:7148 call sub_C2FA5 seg000:714B seg000:714B loc_C714B: ; CODE XREF: sub_C70BD+89j seg000:714B add si, bp seg000:714D jnb short loc_C7152 seg000:714F call sub_C2FAF seg000:7152 seg000:7152 loc_C7152: ; CODE XREF: sub_C70BD+90j seg000:7152 dec dx seg000:7153 jnz short loc_C7141 seg000:7155 retn seg000:7155 sub_C70BD endp seg000:7155 seg000:7156 seg000:7156 ; =============== S U B R O U T I N E ======================================= seg000:7156 seg000:7156 seg000:7156 sub_C7156 proc near ; CODE XREF: sub_C70BD:loc_C7141p seg000:7156 ; sub_C721B:loc_C7297p seg000:7156 push cx seg000:7157 seg000:7157 loc_C7157: ; CODE XREF: sub_C7156:loc_C7166j seg000:7157 movsw seg000:7158 or di, di seg000:715A jnz short loc_C715F seg000:715C call sub_C2FA5 seg000:715F seg000:715F loc_C715F: ; CODE XREF: sub_C7156+4j seg000:715F or si, si seg000:7161 jnz short loc_C7166 seg000:7163 call sub_C2FAF seg000:7166 seg000:7166 loc_C7166: ; CODE XREF: sub_C7156+Bj seg000:7166 loop loc_C7157 seg000:7168 pop cx seg000:7169 retn seg000:7169 sub_C7156 endp seg000:7169 seg000:716A seg000:716A ; =============== S U B R O U T I N E ======================================= seg000:716A seg000:716A seg000:716A sub_C716A proc near ; CODE XREF: sub_C7076:loc_C70AFp seg000:716A ; sub_C721B:loc_C72ABp seg000:716A push cx seg000:716B seg000:716B loc_C716B: ; CODE XREF: sub_C716A:loc_C7173j seg000:716B stosw seg000:716C or di, di seg000:716E jnz short loc_C7173 seg000:7170 call sub_C2FA5 seg000:7173 seg000:7173 loc_C7173: ; CODE XREF: sub_C716A+4j seg000:7173 loop loc_C716B seg000:7175 pop cx seg000:7176 retn seg000:7176 sub_C716A endp seg000:7176 seg000:7177 seg000:7177 ; =============== S U B R O U T I N E ======================================= seg000:7177 seg000:7177 seg000:7177 sub_C7177 proc near ; CODE XREF: sub_C6F3B+22p seg000:7177 push bx seg000:7178 movzx ax, dh seg000:717B sub dh, ch seg000:717D sub dl, cl seg000:717F mov bh, cl seg000:7181 mov cx, dx seg000:7183 mov si, ds:485h seg000:7187 inc ax seg000:7188 mul bp seg000:718A mul si seg000:718C add al, bh seg000:718E adc ah, 0 seg000:7191 adc dx, 0 seg000:7194 sub ax, bp seg000:7196 sbb dx, 0 seg000:7199 add ax, ds:44Eh seg000:719D adc dx, 0 seg000:71A0 call sub_C2F95 seg000:71A3 mov di, ax seg000:71A5 movzx ax, ch seg000:71A8 sub al, bl seg000:71AA inc ax seg000:71AB mul si seg000:71AD mov dx, ax seg000:71AF sub ch, ch seg000:71B1 inc cx seg000:71B2 movzx ax, bl seg000:71B5 push dx seg000:71B6 mul si seg000:71B8 mov bx, ax seg000:71BA mul bp seg000:71BC mov si, di seg000:71BE sub si, ax seg000:71C0 mov ax, dx seg000:71C2 pushf seg000:71C3 call sub_C2FEB seg000:71C6 popf seg000:71C7 sbb dx, ax seg000:71C9 call sub_C2F9D seg000:71CC pop dx seg000:71CD push es seg000:71CE pop ds seg000:71CF neg bp seg000:71D1 push dx seg000:71D2 mov al, 5 seg000:71D4 call sub_C1B82 seg000:71D7 and ah, 0FCh seg000:71DA or ah, 1 seg000:71DD out dx, ax seg000:71DE pop dx seg000:71DF sub bp, cx seg000:71E1 seg000:71E1 loc_C71E1: ; CODE XREF: sub_C7177+7Cj seg000:71E1 call sub_C7004 seg000:71E4 add di, bp seg000:71E6 jb short loc_C71EB seg000:71E8 call sub_C2FB9 seg000:71EB seg000:71EB loc_C71EB: ; CODE XREF: sub_C7177+6Fj seg000:71EB add si, bp seg000:71ED jb short loc_C71F2 seg000:71EF call sub_C2FC7 seg000:71F2 seg000:71F2 loc_C71F2: ; CODE XREF: sub_C7177+76j seg000:71F2 dec dx seg000:71F3 jnz short loc_C71E1 seg000:71F5 mov al, 5 seg000:71F7 call sub_C1B82 seg000:71FA and ah, 0FCh seg000:71FD or ah, 2 seg000:7200 out dx, ax seg000:7201 pop ax seg000:7202 mov al, ah seg000:7204 seg000:7204 loc_C7204: ; CODE XREF: sub_C7177+98j seg000:7204 call sub_C7018 seg000:7207 add di, bp seg000:7209 jb short loc_C720E seg000:720B call sub_C2FB9 seg000:720E seg000:720E loc_C720E: ; CODE XREF: sub_C7177+92j seg000:720E dec bx seg000:720F jnz short loc_C7204 seg000:7211 mov al, 5 seg000:7213 call sub_C1B82 seg000:7216 and ah, 0FCh seg000:7219 out dx, ax seg000:721A retn seg000:721A sub_C7177 endp seg000:721A seg000:721B seg000:721B ; =============== S U B R O U T I N E ======================================= seg000:721B seg000:721B seg000:721B sub_C721B proc near ; CODE XREF: sub_C7076+31p seg000:721B push bx seg000:721C movzx ax, dh seg000:721F sub dh, ch seg000:7221 sub dl, cl seg000:7223 movzx bx, cl seg000:7226 mov cx, dx seg000:7228 push cx seg000:7229 sub ch, ch seg000:722B inc cx seg000:722C mov si, ds:485h seg000:7230 inc ax seg000:7231 mul si seg000:7233 mul bp seg000:7235 shl bx, 3 seg000:7238 shl cx, 3 seg000:723B cmp di, 8 seg000:723E jz short loc_C724D seg000:7240 shl bx, 1 seg000:7242 shl cx, 1 seg000:7244 cmp di, 10h seg000:7247 jbe short loc_C724D seg000:7249 shl bx, 1 seg000:724B shl cx, 1 seg000:724D seg000:724D loc_C724D: ; CODE XREF: sub_C721B+23j seg000:724D ; sub_C721B+2Cj seg000:724D add ax, bx seg000:724F adc dx, 0 seg000:7252 sub ax, bp seg000:7254 sbb dx, 0 seg000:7257 add ax, ds:44Eh seg000:725B adc dx, 0 seg000:725E mov di, ax seg000:7260 call sub_C2F95 seg000:7263 pop bx seg000:7264 movzx ax, bh seg000:7267 pop bx seg000:7268 push bx seg000:7269 sub al, bl seg000:726B inc ax seg000:726C mul si seg000:726E mov dx, ax seg000:7270 pop ax seg000:7271 push ax seg000:7272 push dx seg000:7273 sub ah, ah seg000:7275 mul si seg000:7277 mov bx, ax seg000:7279 mul bp seg000:727B mov si, di seg000:727D sub si, ax seg000:727F mov ax, dx seg000:7281 pushf seg000:7282 call sub_C2FEB seg000:7285 popf seg000:7286 sbb dx, ax seg000:7288 call sub_C2F9D seg000:728B pop dx seg000:728C pop ax seg000:728D mov al, ah seg000:728F push es seg000:7290 pop ds seg000:7291 add bp, cx seg000:7293 neg bp seg000:7295 shr cx, 1 seg000:7297 seg000:7297 loc_C7297: ; CODE XREF: sub_C721B+8Ej seg000:7297 call sub_C7156 seg000:729A add di, bp seg000:729C jb short loc_C72A1 seg000:729E call sub_C2FB9 seg000:72A1 seg000:72A1 loc_C72A1: ; CODE XREF: sub_C721B+81j seg000:72A1 add si, bp seg000:72A3 jb short loc_C72A8 seg000:72A5 call sub_C2FC7 seg000:72A8 seg000:72A8 loc_C72A8: ; CODE XREF: sub_C721B+88j seg000:72A8 dec dx seg000:72A9 jnz short loc_C7297 seg000:72AB seg000:72AB loc_C72AB: ; CODE XREF: sub_C721B+9Bj seg000:72AB call sub_C716A seg000:72AE add di, bp seg000:72B0 jb short loc_C72B5 seg000:72B2 call sub_C2FB9 seg000:72B5 seg000:72B5 loc_C72B5: ; CODE XREF: sub_C721B+95j seg000:72B5 dec bx seg000:72B6 jnz short loc_C72AB seg000:72B8 retn seg000:72B8 sub_C721B endp seg000:72B8 seg000:72B9 seg000:72B9 ; =============== S U B R O U T I N E ======================================= seg000:72B9 seg000:72B9 seg000:72B9 sub_C72B9 proc near ; CODE XREF: sub_CAA38+18p seg000:72B9 ; sub_CAAA8+18p seg000:72B9 ; DATA XREF: ... seg000:72B9 mov es, word ptr cs:byte_C0001+7Bh seg000:72BE push bx seg000:72BF movzx bx, bh seg000:72C2 shl bx, 1 seg000:72C4 mov dx, [bx+450h] seg000:72C8 pop bx seg000:72C9 cmp byte ptr ds:449h, 11h seg000:72CE jnz short loc_C72D3 seg000:72D0 or bl, 0Fh seg000:72D3 seg000:72D3 loc_C72D3: ; CODE XREF: sub_C72B9+15j seg000:72D3 ; sub_C72B9+20j seg000:72D3 push ax seg000:72D4 call sub_C72F3 seg000:72D7 pop ax seg000:72D8 inc dx seg000:72D9 loop loc_C72D3 seg000:72DB mov ax, 0F02h seg000:72DE retn seg000:72DE sub_C72B9 endp seg000:72DE seg000:72DF seg000:72DF ; =============== S U B R O U T I N E ======================================= seg000:72DF seg000:72DF seg000:72DF sub_C72DF proc near ; CODE XREF: sub_CAA38+18p seg000:72DF ; sub_CAAA8+18p seg000:72DF ; DATA XREF: ... seg000:72DF mov es, word ptr cs:byte_C0001+7Bh seg000:72E4 mov dx, ds:450h seg000:72E8 seg000:72E8 loc_C72E8: ; CODE XREF: sub_C72DF+Fj seg000:72E8 push ax seg000:72E9 call sub_C7368 seg000:72EC pop ax seg000:72ED inc dx seg000:72EE loop loc_C72E8 seg000:72F0 sub ax, ax seg000:72F2 retn seg000:72F2 sub_C72DF endp seg000:72F2 seg000:72F3 seg000:72F3 ; =============== S U B R O U T I N E ======================================= seg000:72F3 seg000:72F3 seg000:72F3 sub_C72F3 proc near ; CODE XREF: sub_C72B9+1Bp seg000:72F3 push bx seg000:72F4 push ecx seg000:72F6 push dx seg000:72F7 push bp seg000:72F8 push ds seg000:72F9 mov bp, ds:44Ah seg000:72FD push bx seg000:72FE push ax seg000:72FF movzx di, dl seg000:7302 mov cx, ds:485h seg000:7306 mov al, cl seg000:7308 mul dh seg000:730A mul bp seg000:730C add di, ax seg000:730E adc dx, 0 seg000:7311 movzx ax, bh seg000:7314 mov bx, dx seg000:7316 mul word ptr ds:44Ch seg000:731A add di, ax seg000:731C adc dx, bx seg000:731E call sub_C2FF7 seg000:7321 pop ax seg000:7322 pop bx seg000:7323 call loc_C63A4 seg000:7326 mov dx, 3C4h seg000:7329 mov ax, 0F02h seg000:732C out dx, ax ; EGA: sequencer address reg seg000:732C ; unknown register seg000:732D mov dl, 0CEh ; '+' seg000:732F sub ax, ax seg000:7331 out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:7331 ; set/reset. seg000:7331 ; Data bits 0-3 select planes for write mode 00 seg000:7332 inc ax seg000:7333 mov ah, bl seg000:7335 not ah seg000:7337 out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:7337 ; set/reset. seg000:7337 ; Data bits 0-3 select planes for write mode 00 seg000:7338 mov ax, 1803h seg000:733B test bl, 80h seg000:733E jnz short loc_C7342 seg000:7340 sub ah, ah seg000:7342 seg000:7342 loc_C7342: ; CODE XREF: sub_C72F3+4Bj seg000:7342 out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:7342 ; data rotate and function select for write mode 00. Bits: seg000:7342 ; 0-2: set rotate count for write mode 00 seg000:7342 ; 3-4: fn for write modes 00 and 02 seg000:7342 ; 00=no change; 01=AND; 10=OR; 11=XOR seg000:7343 mov ax, 0FF08h seg000:7346 out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:7346 ; unknown register seg000:7347 seg000:7347 loc_C7347: ; CODE XREF: sub_C72F3:loc_C7355j seg000:7347 lodsb seg000:7348 mov ah, es:[di] seg000:734B mov es:[di], al seg000:734E add di, bp seg000:7350 jnb short loc_C7355 seg000:7352 call sub_C2FFE seg000:7355 seg000:7355 loc_C7355: ; CODE XREF: sub_C72F3+5Dj seg000:7355 loop loc_C7347 seg000:7357 mov dx, 3CEh seg000:735A mov ax, 1 seg000:735D out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:735D ; enable set/reset seg000:735E mov al, 3 seg000:7360 out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:7360 ; data rotate and function select for write mode 00. Bits: seg000:7360 ; 0-2: set rotate count for write mode 00 seg000:7360 ; 3-4: fn for write modes 00 and 02 seg000:7360 ; 00=no change; 01=AND; 10=OR; 11=XOR seg000:7361 pop ds seg000:7362 assume ds:nothing seg000:7362 pop bp seg000:7363 pop dx seg000:7364 pop ecx seg000:7366 pop bx seg000:7367 retn seg000:7367 sub_C72F3 endp seg000:7367 seg000:7368 seg000:7368 ; =============== S U B R O U T I N E ======================================= seg000:7368 seg000:7368 seg000:7368 sub_C7368 proc near ; CODE XREF: sub_C72DF+Ap seg000:7368 push bx seg000:7369 push ecx seg000:736B push dx seg000:736C push si seg000:736D push bp seg000:736E push ds seg000:736F mov cx, si seg000:7371 shr cl, 1 seg000:7373 sub cl, 3 seg000:7376 cmp cl, 3 seg000:7379 jbe short loc_C737D seg000:737B mov bl, 0FFh seg000:737D seg000:737D loc_C737D: ; CODE XREF: sub_C7368+11j seg000:737D push ax seg000:737E call sub_C1E5B seg000:7381 mov bp, ax seg000:7383 call sub_C1E4F seg000:7386 mov al, dl seg000:7388 mul bh seg000:738A mov si, ax seg000:738C shl si, cl seg000:738E mov ch, ds:485h seg000:7392 mov al, dh seg000:7394 mul ch seg000:7396 mul bp seg000:7398 add ax, si seg000:739A adc dx, 0 seg000:739D mov di, ax seg000:739F call sub_C2FF7 seg000:73A2 pop ax seg000:73A3 push cx seg000:73A4 movzx cx, ch seg000:73A7 call loc_C63A4 seg000:73AA pop cx seg000:73AB movzx dx, bh seg000:73AE shl dx, cl seg000:73B0 sub bp, dx seg000:73B2 mov dl, ch seg000:73B4 mov dh, 1 seg000:73B6 seg000:73B6 loc_C73B6: ; CODE XREF: sub_C7368+8Bj seg000:73B6 dec dh seg000:73B8 jnz short loc_C73BF seg000:73BA mov dh, bh seg000:73BC lodsb seg000:73BD mov ah, al seg000:73BF seg000:73BF loc_C73BF: ; CODE XREF: sub_C7368+50j seg000:73BF mov ch, 8 seg000:73C1 seg000:73C1 loc_C73C1: ; CODE XREF: sub_C7368+80j seg000:73C1 sub al, al seg000:73C3 rol ah, 1 seg000:73C5 jnb short loc_C73C9 seg000:73C7 mov al, bl seg000:73C9 seg000:73C9 loc_C73C9: ; CODE XREF: sub_C7368+5Dj seg000:73C9 push cx seg000:73CA mov ch, bh seg000:73CC seg000:73CC loc_C73CC: ; CODE XREF: sub_C7368+7Bj seg000:73CC stosb seg000:73CD cmp cl, 3 seg000:73D0 jbe short loc_C73DA seg000:73D2 stosb seg000:73D3 cmp cl, 4 seg000:73D6 jbe short loc_C73DA seg000:73D8 stosb seg000:73D9 inc di seg000:73DA seg000:73DA loc_C73DA: ; CODE XREF: sub_C7368+68j seg000:73DA ; sub_C7368+6Ej seg000:73DA test di, di seg000:73DC jnz short loc_C73E1 seg000:73DE call sub_C2FFE seg000:73E1 seg000:73E1 loc_C73E1: ; CODE XREF: sub_C7368+74j seg000:73E1 dec ch seg000:73E3 jnz short loc_C73CC seg000:73E5 pop cx seg000:73E6 dec ch seg000:73E8 jnz short loc_C73C1 seg000:73EA add di, bp seg000:73EC jnb short loc_C73F1 seg000:73EE call sub_C2FFE seg000:73F1 seg000:73F1 loc_C73F1: ; CODE XREF: sub_C7368+84j seg000:73F1 dec dl seg000:73F3 jnz short loc_C73B6 seg000:73F5 pop ds seg000:73F6 pop bp seg000:73F7 pop si seg000:73F8 pop dx seg000:73F9 pop ecx seg000:73FB pop bx seg000:73FC retn seg000:73FC sub_C7368 endp seg000:73FC seg000:73FD seg000:73FD ; =============== S U B R O U T I N E ======================================= seg000:73FD seg000:73FD seg000:73FD sub_C73FD proc near ; CODE XREF: sub_C1B51+1Dp seg000:73FD ; DATA XREF: seg000:1AEEo seg000:73FD push cx seg000:73FE push dx seg000:73FF mov al, ds:449h seg000:7402 call sub_C1BD9 seg000:7405 jnz short loc_C7427 seg000:7407 mov ds:460h, cx seg000:740B test byte ptr ds:487h, 9 seg000:7410 jnz short loc_C741A seg000:7412 test ch, 20h seg000:7415 jnz short loc_C741A seg000:7417 call sub_C742A seg000:741A seg000:741A loc_C741A: ; CODE XREF: sub_C73FD+13j seg000:741A ; sub_C73FD+18j seg000:741A mov dx, ds:463h seg000:741E mov al, 0Ah seg000:7420 mov ah, ch seg000:7422 out dx, ax seg000:7423 inc ax seg000:7424 mov ah, cl seg000:7426 out dx, ax seg000:7427 seg000:7427 loc_C7427: ; CODE XREF: sub_C73FD+8j seg000:7427 pop dx seg000:7428 pop cx seg000:7429 retn seg000:7429 sub_C73FD endp seg000:7429 seg000:742A seg000:742A ; =============== S U B R O U T I N E ======================================= seg000:742A seg000:742A seg000:742A sub_C742A proc near ; CODE XREF: sub_C73FD+1Ap seg000:742A mov dl, ds:485h seg000:742E dec dx seg000:742F cmp cl, ch seg000:7431 jge short loc_C743E seg000:7433 or cl, cl seg000:7435 mov cl, dl seg000:7437 jnz short locret_C7472 seg000:7439 mov cx, 1E00h seg000:743C jmp short locret_C7472 seg000:743E ; --------------------------------------------------------------------------- seg000:743E seg000:743E loc_C743E: ; CODE XREF: sub_C742A+7j seg000:743E cmp cl, 3 seg000:7441 jbe short locret_C7472 seg000:7443 mov ah, ch seg000:7445 inc ah seg000:7447 inc ah seg000:7449 cmp ah, cl seg000:744B jb short loc_C7461 seg000:744D dec dx seg000:744E sub cl, ch seg000:7450 mov ch, dl seg000:7452 sub dl, cl seg000:7454 mov cl, dl seg000:7456 cmp cl, ch seg000:7458 jge short locret_C7472 seg000:745A mov cl, ds:485h seg000:745E dec cx seg000:745F jmp short locret_C7472 seg000:7461 ; --------------------------------------------------------------------------- seg000:7461 seg000:7461 loc_C7461: ; CODE XREF: sub_C742A+21j seg000:7461 cmp ch, 2 seg000:7464 jg short loc_C746A seg000:7466 mov cl, dl seg000:7468 jmp short locret_C7472 seg000:746A ; --------------------------------------------------------------------------- seg000:746A seg000:746A loc_C746A: ; CODE XREF: sub_C742A+3Aj seg000:746A mov cl, dl seg000:746C mov ch, dl seg000:746E inc ch seg000:7470 shr ch, 1 seg000:7472 seg000:7472 locret_C7472: ; CODE XREF: sub_C742A+Dj seg000:7472 ; sub_C742A+12j ... seg000:7472 retn seg000:7472 sub_C742A endp seg000:7472 seg000:7473 seg000:7473 ; =============== S U B R O U T I N E ======================================= seg000:7473 seg000:7473 seg000:7473 sub_C7473 proc near ; CODE XREF: sub_C1B51+1Dp seg000:7473 ; DATA XREF: seg000:1AF6o seg000:7473 pusha seg000:7474 mov ds:462h, al seg000:7477 sub bx, bx seg000:7479 cbw seg000:747A push ax seg000:747B or al, al seg000:747D jz short loc_C7486 seg000:747F seg000:747F loc_C747F: ; CODE XREF: sub_C7473+11j seg000:747F add bx, ds:44Ch seg000:7483 dec ax seg000:7484 jnz short loc_C747F seg000:7486 seg000:7486 loc_C7486: ; CODE XREF: sub_C7473+Aj seg000:7486 mov ds:44Eh, bx seg000:748A push ax seg000:748B mov al, ds:449h seg000:748E call sub_C1BD9 seg000:7491 pop ax seg000:7492 jnz short loc_C7496 seg000:7494 shr bx, 1 seg000:7496 seg000:7496 loc_C7496: ; CODE XREF: sub_C7473+1Fj seg000:7496 mov dx, ds:463h seg000:749A mov al, 0Ch seg000:749C mov ah, bh seg000:749E out dx, ax seg000:749F inc ax seg000:74A0 mov ah, bl seg000:74A2 out dx, ax seg000:74A3 pop bx seg000:74A4 shl bx, 1 seg000:74A6 mov dx, [bx+450h] seg000:74AA shr bx, 1 seg000:74AC mov bh, bl seg000:74AE call sub_C1ED1 seg000:74B1 popa seg000:74B2 retn seg000:74B2 sub_C7473 endp seg000:74B2 seg000:74B2 ; --------------------------------------------------------------------------- seg000:74B3 db 50h ; P seg000:74B4 db 53h, 52h, 57h, 6, 16h, 7, 8Bh, 0FEh, 0E8h, 7Ch, 90h seg000:74B4 db 2Dh, 42h, 0, 2Dh, 43h, 1, 2Dh, 40h, 2, 2Dh, 41h, 3 seg000:74B4 db 2Dh, 48h, 4, 2Dh, 49h, 5, 2Dh, 4Ah, 6, 2Dh, 4Bh, 7 seg000:74B4 db 2Dh, 52h, 8, 2Dh, 53h, 9, 2Dh, 50h, 0Ah, 2Dh, 51h, 0Bh seg000:74B4 db 2Dh, 58h, 0Ch, 2Dh, 59h, 0Dh, 2Dh, 5Ah, 0Eh, 2Dh, 5Bh seg000:74B4 db 0Fh, 71h, 0B0h, 1Ah, 0E8h, 94h, 0A6h, 36h, 8Bh, 5Ch seg000:74B4 db 6, 36h, 2Bh, 5Ch, 4, 83h, 0E3h, 3Fh, 0F6h, 0C4h, 8 seg000:74B4 db 74h, 3, 80h, 0E3h, 1Fh, 36h, 3, 5Ch, 4, 0C1h, 0E3h seg000:74B4 db 3, 36h, 89h, 5Ch, 6, 36h, 0C1h, 64h, 4, 3, 36h, 0C1h seg000:74B4 db 64h, 2, 3, 36h, 0C1h, 24h, 3, 36h, 8Bh, 5Ch, 0Eh, 36h seg000:74B4 db 2Bh, 5Ch, 0Ch, 83h, 0E3h, 0Fh, 36h, 3, 5Ch, 0Ch, 36h seg000:74B4 db 89h, 5Ch, 0Eh, 36h, 83h, 4, 8, 36h, 83h, 44h, 2, 28h seg000:74B4 db 36h, 83h, 44h, 4, 0F0h, 36h, 83h, 44h, 6, 0F0h, 0B0h seg000:74B4 db 1, 0E8h, 2Fh, 0A6h, 0F6h, 0C4h, 8, 74h, 0Fh, 36h, 0D1h seg000:74B4 db 24h, 36h, 0D1h, 64h, 2, 36h, 0D1h, 64h, 4, 36h, 0D1h seg000:74B4 db 64h, 6, 36h, 0FFh, 0Ch, 36h, 0FFh, 4Ch, 2, 36h, 0FFh seg000:74B4 db 4Ch, 4, 36h, 0FFh, 4Ch, 6, 36h, 83h, 44h, 8, 0, 36h seg000:74B4 db 83h, 44h, 0Ah, 1, 36h, 83h, 44h, 0Ch, 0, 36h, 83h, 44h seg000:74B4 db 0Eh, 0, 7, 5Fh, 5Ah, 5Bh, 58h, 0C3h seg000:7589 seg000:7589 ; =============== S U B R O U T I N E ======================================= seg000:7589 seg000:7589 seg000:7589 sub_C7589 proc near ; CODE XREF: sub_C1B51+1Dp seg000:7589 ; DATA XREF: seg000:1B20o seg000:7589 cmp al, 1 seg000:758B ja short locret_C75C6 seg000:758D mov ah, al seg000:758F jz short loc_C7597 seg000:7591 mov bl, ds:48Ah seg000:7595 mov bh, al seg000:7597 seg000:7597 loc_C7597: ; CODE XREF: sub_C7589+6j seg000:7597 mov al, ds:463h seg000:759A lds si, ds:4A8h seg000:759E lds si, [si+10h] seg000:75A1 lds si, [si+2] seg000:75A4 jz short loc_C75C7 seg000:75A6 shl bx, 1 seg000:75A8 mov bx, [bx+si+4] seg000:75AB xchg bl, bh seg000:75AD test bh, bh seg000:75AF jz short loc_C75C3 seg000:75B1 cmp al, 0D4h ; 'ï' seg000:75B3 jnz short loc_C75BC seg000:75B5 test bl, 1 seg000:75B8 jz short loc_C75C3 seg000:75BA jmp short loc_C75C1 seg000:75BC ; --------------------------------------------------------------------------- seg000:75BC seg000:75BC loc_C75BC: ; CODE XREF: sub_C7589+2Aj seg000:75BC test bl, 1 seg000:75BF jnz short loc_C75C3 seg000:75C1 seg000:75C1 loc_C75C1: ; CODE XREF: sub_C7589+31j seg000:75C1 xchg bl, bh seg000:75C3 seg000:75C3 loc_C75C3: ; CODE XREF: sub_C7589+26j seg000:75C3 ; sub_C7589+2Fj ... seg000:75C3 mov ax, 1A1Ah seg000:75C6 seg000:75C6 locret_C75C6: ; CODE XREF: sub_C7589+2j seg000:75C6 retn seg000:75C7 ; --------------------------------------------------------------------------- seg000:75C7 seg000:75C7 loc_C75C7: ; CODE XREF: sub_C7589+1Bj seg000:75C7 push cx seg000:75C8 sub ch, ch seg000:75CA mov cl, [si] seg000:75CC add si, 4 seg000:75CF add si, cx seg000:75D1 add si, cx seg000:75D3 dec si seg000:75D4 dec si seg000:75D5 std seg000:75D6 seg000:75D6 loc_C75D6: ; CODE XREF: sub_C7589+58j seg000:75D6 lodsw seg000:75D7 cmp ax, bx seg000:75D9 jz short loc_C75E5 seg000:75DB xchg al, ah seg000:75DD cmp ax, bx seg000:75DF jz short loc_C75E5 seg000:75E1 loop loc_C75D6 seg000:75E3 jmp short loc_C75EF seg000:75E5 ; --------------------------------------------------------------------------- seg000:75E5 seg000:75E5 loc_C75E5: ; CODE XREF: sub_C7589+50j seg000:75E5 ; sub_C7589+56j seg000:75E5 dec cx seg000:75E6 mov ds, word ptr cs:byte_C0001+79h seg000:75EB mov ds:48Ah, cl seg000:75EF seg000:75EF loc_C75EF: ; CODE XREF: sub_C7589+5Aj seg000:75EF pop cx seg000:75F0 jmp short loc_C75C3 seg000:75F0 sub_C7589 endp seg000:75F0 seg000:75F2 seg000:75F2 ; =============== S U B R O U T I N E ======================================= seg000:75F2 seg000:75F2 seg000:75F2 sub_C75F2 proc near ; CODE XREF: sub_C1B51+1Dp seg000:75F2 ; DATA XREF: seg000:1B22o seg000:75F2 test bx, bx seg000:75F4 jnz short locret_C764E seg000:75F6 push bx seg000:75F7 push cx seg000:75F8 push dx seg000:75F9 push di seg000:75FA mov ax, 2AA6h seg000:75FD stosw seg000:75FE mov ax, cs seg000:7600 stosw seg000:7601 mov si, 449h seg000:7604 mov cx, 1Eh seg000:7607 rep movsb seg000:7609 mov al, ds:484h seg000:760C inc ax seg000:760D stosb seg000:760E mov ax, ds:485h seg000:7611 stosw seg000:7612 mov ax, 1A00h seg000:7615 call sub_C1B51 seg000:7618 mov ax, bx seg000:761A stosw seg000:761B mov al, ds:449h seg000:761E call sub_C764F seg000:7621 stosw seg000:7622 mov al, ds:449h seg000:7625 call sub_C7667 seg000:7628 stosb seg000:7629 call sub_C7675 seg000:762C stosb seg000:762D call sub_C7698 seg000:7630 stosw seg000:7631 call sub_C76A9 seg000:7634 stosb seg000:7635 sub ax, ax seg000:7637 stosw seg000:7638 stosb seg000:7639 mov al, 3 seg000:763B stosb seg000:763C call sub_C76CB seg000:763F stosb seg000:7640 mov cx, 0Dh seg000:7643 sub ax, ax seg000:7645 rep stosb seg000:7647 pop di seg000:7648 pop dx seg000:7649 pop cx seg000:764A pop bx seg000:764B mov ax, 1Bh seg000:764E seg000:764E locret_C764E: ; CODE XREF: sub_C75F2+2j seg000:764E retn seg000:764E sub_C75F2 endp seg000:764E seg000:764F seg000:764F ; =============== S U B R O U T I N E ======================================= seg000:764F seg000:764F seg000:764F sub_C764F proc near ; CODE XREF: sub_C75F2+2Cp seg000:764F push es seg000:7650 mov cl, 1 seg000:7652 call sub_C1D57 seg000:7655 jb short loc_C7665 seg000:7657 mov cl, es:[bx+7] seg000:765B mov ax, 1 seg000:765E shl ax, cl seg000:7660 test ax, ax seg000:7662 jnz short loc_C7665 seg000:7664 dec ax seg000:7665 seg000:7665 loc_C7665: ; CODE XREF: sub_C764F+6j seg000:7665 ; sub_C764F+13j seg000:7665 pop es seg000:7666 assume es:nothing seg000:7666 retn seg000:7666 sub_C764F endp seg000:7666 seg000:7667 seg000:7667 ; =============== S U B R O U T I N E ======================================= seg000:7667 seg000:7667 seg000:7667 sub_C7667 proc near ; CODE XREF: sub_C75F2+33p seg000:7667 push es seg000:7668 call sub_C1D57 seg000:766B mov al, 1 seg000:766D jb short loc_C7673 seg000:766F mov al, es:[bx+6] seg000:7673 seg000:7673 loc_C7673: ; CODE XREF: sub_C7667+6j seg000:7673 pop es seg000:7674 retn seg000:7674 sub_C7667 endp seg000:7674 seg000:7675 seg000:7675 ; =============== S U B R O U T I N E ======================================= seg000:7675 seg000:7675 seg000:7675 sub_C7675 proc near ; CODE XREF: sub_C75F2+37p seg000:7675 sub dx, dx seg000:7677 cmp byte ptr ds:449h, 13h seg000:767C jz short loc_C7695 seg000:767E call sub_C1E00 seg000:7681 sub dx, dx seg000:7683 cmp ax, 0C8h ; 'L' seg000:7686 jz short loc_C7695 seg000:7688 inc dx seg000:7689 cmp ax, 15Eh seg000:768C jz short loc_C7695 seg000:768E inc dx seg000:768F cmp ax, 190h seg000:7692 jz short loc_C7695 seg000:7694 inc dx seg000:7695 seg000:7695 loc_C7695: ; CODE XREF: sub_C7675+7j seg000:7695 ; sub_C7675+11j ... seg000:7695 mov ax, dx seg000:7697 retn seg000:7697 sub_C7675 endp seg000:7697 seg000:7698 seg000:7698 ; =============== S U B R O U T I N E ======================================= seg000:7698 seg000:7698 seg000:7698 sub_C7698 proc near ; CODE XREF: sub_C75F2+3Bp seg000:7698 mov al, 3 seg000:769A call sub_C1B7B seg000:769D mov al, ah seg000:769F and ax, 1003h seg000:76A2 shr ah, 2 seg000:76A5 or al, ah seg000:76A7 cbw seg000:76A8 retn seg000:76A8 sub_C7698 endp seg000:76A8 seg000:76A9 seg000:76A9 ; =============== S U B R O U T I N E ======================================= seg000:76A9 seg000:76A9 seg000:76A9 sub_C76A9 proc near ; CODE XREF: sub_C75F2+3Fp seg000:76A9 call sub_C1CAC seg000:76AC mov bl, 10h seg000:76AE call sub_C65DD seg000:76B1 and bh, 8 seg000:76B4 shl bh, 2 seg000:76B7 mov al, ds:487h seg000:76BA mov ah, ds:489h seg000:76BE and ax, 0F01h seg000:76C1 shl al, 4 seg000:76C4 or al, ah seg000:76C6 or al, bh seg000:76C8 xor al, 10h seg000:76CA retn seg000:76CA sub_C76A9 endp seg000:76CA seg000:76CB seg000:76CB ; =============== S U B R O U T I N E ======================================= seg000:76CB seg000:76CB seg000:76CB sub_C76CB proc near ; CODE XREF: sub_C75F2+4Ap seg000:76CB push es seg000:76CC mov al, 3 seg000:76CE call sub_C1B7B seg000:76D1 sub al, al seg000:76D3 test ah, ah seg000:76D5 jz short loc_C76D8 seg000:76D7 inc ax seg000:76D8 seg000:76D8 loc_C76D8: ; CODE XREF: sub_C76CB+Aj seg000:76D8 les bx, ds:4A8h seg000:76DC les bx, es:[bx+4] seg000:76E0 mov dx, es seg000:76E2 or dx, bx seg000:76E4 jz short loc_C76E8 seg000:76E6 or al, 2 seg000:76E8 seg000:76E8 loc_C76E8: ; CODE XREF: sub_C76CB+19j seg000:76E8 les bx, ds:4A8h seg000:76EC les bx, es:[bx+8] seg000:76F0 mov dx, es seg000:76F2 or dx, bx seg000:76F4 jz short loc_C76F8 seg000:76F6 or al, 4 seg000:76F8 seg000:76F8 loc_C76F8: ; CODE XREF: sub_C76CB+29j seg000:76F8 les bx, ds:4A8h seg000:76FC les bx, es:[bx+0Ch] seg000:7700 mov dx, es seg000:7702 or dx, bx seg000:7704 jz short loc_C7708 seg000:7706 or al, 8 seg000:7708 seg000:7708 loc_C7708: ; CODE XREF: sub_C76CB+39j seg000:7708 les bx, ds:4A8h seg000:770C les bx, es:[bx+10h] seg000:7710 les bx, es:[bx+0Ah] seg000:7714 mov dx, es seg000:7716 or dx, bx seg000:7718 jz short loc_C771C seg000:771A or al, 10h seg000:771C seg000:771C loc_C771C: ; CODE XREF: sub_C76CB+4Dj seg000:771C les bx, ds:4A8h seg000:7720 les bx, es:[bx+10h] seg000:7724 les bx, es:[bx+2] seg000:7728 mov dx, es seg000:772A mov bx, cs seg000:772C cmp dx, bx seg000:772E jz short loc_C7732 seg000:7730 or al, 20h seg000:7732 seg000:7732 loc_C7732: ; CODE XREF: sub_C76CB+63j seg000:7732 pop es seg000:7733 retn seg000:7733 sub_C76CB endp seg000:7733 seg000:7733 ; --------------------------------------------------------------------------- seg000:7734 db 0, 3, 2, 4, 19h, 1Bh, 1Ah, 1Ch, 4, 7, 6, 8, 1Dh, 1Fh seg000:7734 db 1Eh, 20h seg000:7744 seg000:7744 ; =============== S U B R O U T I N E ======================================= seg000:7744 seg000:7744 seg000:7744 sub_C7744 proc near ; CODE XREF: sub_C1B51+1Dp seg000:7744 ; DATA XREF: seg000:1B24o seg000:7744 test al, al seg000:7746 jnz short loc_C7756 seg000:7748 mov bx, cx seg000:774A and bx, 0Fh seg000:774D mov bl, cs:[bx+7734h] seg000:7752 mov ax, 1Ch seg000:7755 seg000:7755 locret_C7755: ; CODE XREF: sub_C7744+14j seg000:7755 retn seg000:7756 ; --------------------------------------------------------------------------- seg000:7756 seg000:7756 loc_C7756: ; CODE XREF: sub_C7744+2j seg000:7756 cmp al, 2 seg000:7758 ja short locret_C7755 seg000:775A jz short loc_C779A seg000:775C push bx seg000:775D push dx seg000:775E push di seg000:775F mov di, bx seg000:7761 add di, 20h ; ' ' seg000:7764 test cl, 1 seg000:7767 jz short loc_C776F seg000:7769 mov es:[bx], di seg000:776C call sub_C77DF seg000:776F seg000:776F loc_C776F: ; CODE XREF: sub_C7744+23j seg000:776F test cl, 2 seg000:7772 jz short loc_C777B seg000:7774 mov es:[bx+2], di seg000:7778 call sub_C7927 seg000:777B seg000:777B loc_C777B: ; CODE XREF: sub_C7744+2Ej seg000:777B test cl, 4 seg000:777E jz short loc_C7787 seg000:7780 mov es:[bx+4], di seg000:7784 call sub_C799B seg000:7787 seg000:7787 loc_C7787: ; CODE XREF: sub_C7744+3Aj seg000:7787 test cl, 8 seg000:778A jz short loc_C7793 seg000:778C mov es:[bx+6], di seg000:7790 call sub_C678E seg000:7793 seg000:7793 loc_C7793: ; CODE XREF: sub_C7744+46j seg000:7793 mov ax, 1Ch seg000:7796 pop di seg000:7797 pop dx seg000:7798 pop bx seg000:7799 retn seg000:779A ; --------------------------------------------------------------------------- seg000:779A seg000:779A loc_C779A: ; CODE XREF: sub_C7744+16j seg000:779A push bx seg000:779B push dx seg000:779C push ax seg000:779D mov ax, 101h seg000:77A0 call sub_C127D seg000:77A3 pop ax seg000:77A4 call sub_C950B seg000:77A7 test cl, 1 seg000:77AA jz short loc_C77B2 seg000:77AC mov si, es:[bx] seg000:77AF call sub_C785E seg000:77B2 seg000:77B2 loc_C77B2: ; CODE XREF: sub_C7744+66j seg000:77B2 test cl, 2 seg000:77B5 jz short loc_C77BE seg000:77B7 mov si, es:[bx+2] seg000:77BB call sub_C7959 seg000:77BE seg000:77BE loc_C77BE: ; CODE XREF: sub_C7744+71j seg000:77BE test cl, 8 seg000:77C1 jz short loc_C77CA seg000:77C3 mov si, es:[bx+6] seg000:77C7 call loc_C67AD seg000:77CA seg000:77CA loc_C77CA: ; CODE XREF: sub_C7744+7Dj seg000:77CA test cl, 4 seg000:77CD jz short loc_C77D6 seg000:77CF mov si, es:[bx+4] seg000:77D3 call sub_C79CC seg000:77D6 seg000:77D6 loc_C77D6: ; CODE XREF: sub_C7744+89j seg000:77D6 call sub_C957B seg000:77D9 mov ax, 1Ch seg000:77DC pop dx seg000:77DD pop bx seg000:77DE retn seg000:77DE sub_C7744 endp seg000:77DE seg000:77DF seg000:77DF ; =============== S U B R O U T I N E ======================================= seg000:77DF seg000:77DF seg000:77DF sub_C77DF proc near ; CODE XREF: sub_C7744+28p seg000:77DF push bx seg000:77E0 push cx seg000:77E1 push bp seg000:77E2 mov dx, 3C4h seg000:77E5 in al, dx ; EGA: sequencer address reg seg000:77E5 ; seg000:77E6 stosb seg000:77E7 mov dl, 0CEh ; '+' seg000:77E9 in al, dx ; EGA: graph 1 and 2 addr reg: seg000:77E9 ; seg000:77EA stosb seg000:77EB call sub_C1D52 seg000:77EE push dx seg000:77EF stosb seg000:77F0 mov al, 24h ; '$' seg000:77F2 out dx, al seg000:77F3 inc dx seg000:77F4 in al, dx seg000:77F5 stosb seg000:77F6 dec dx seg000:77F7 mov al, 26h ; '&' seg000:77F9 out dx, al seg000:77FA inc dx seg000:77FB in al, dx seg000:77FC stosb seg000:77FD mov dl, 0C4h ; '¦' seg000:77FF mov ah, 1 seg000:7801 mov cx, 4 seg000:7804 call sub_C1D24 seg000:7807 mov dl, 0CCh ; '¦' seg000:7809 in al, dx seg000:780A stosb seg000:780B pop dx seg000:780C push dx seg000:780D mov al, 3Dh ; '=' seg000:780F call sub_C1B90 seg000:7812 push ax seg000:7813 or ah, 1 seg000:7816 out dx, ax seg000:7817 mov cx, 19h seg000:781A mov ah, ch seg000:781C call sub_C1D24 seg000:781F pop ax seg000:7820 out dx, ax seg000:7821 mov cx, 15h seg000:7824 mov ah, ch seg000:7826 call sub_C79F6 seg000:7829 mov dl, 0CEh ; '+' seg000:782B mov cx, 9 seg000:782E mov ah, ch seg000:7830 call sub_C1D24 seg000:7833 pop bp seg000:7834 mov ax, bp seg000:7836 stosw seg000:7837 mov dl, 0CEh ; '+' seg000:7839 mov al, 4 seg000:783B call sub_C1B90 seg000:783E push ax seg000:783F mov bx, 4 seg000:7842 mov cx, 4 seg000:7845 seg000:7845 loc_C7845: ; CODE XREF: sub_C77DF+77j seg000:7845 mov ax, bx seg000:7847 out dx, ax seg000:7848 xchg dx, bp seg000:784A mov al, 22h ; '"' seg000:784C call sub_C1B90 seg000:784F mov al, ah seg000:7851 stosb seg000:7852 xchg dx, bp seg000:7854 inc bh seg000:7856 loop loc_C7845 seg000:7858 pop ax seg000:7859 out dx, ax seg000:785A pop bp seg000:785B pop cx seg000:785C pop bx seg000:785D retn seg000:785D sub_C77DF endp seg000:785D seg000:785E seg000:785E ; =============== S U B R O U T I N E ======================================= seg000:785E seg000:785E seg000:785E sub_C785E proc near ; CODE XREF: sub_C7744+6Bp seg000:785E push bx seg000:785F push cx seg000:7860 push di seg000:7861 push ds seg000:7862 push es seg000:7863 pop ds seg000:7864 push si seg000:7865 push es seg000:7866 test byte ptr [si+3Dh], 40h seg000:786A jnz short loc_C78A3 seg000:786C mov dx, 3CEh seg000:786F mov ax, 5 seg000:7872 out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:7872 ; mode register.Data bits: seg000:7872 ; 0-1: Write mode 0-2 seg000:7872 ; 2: test condition seg000:7872 ; 3: read mode: 1=color compare, 0=direct seg000:7872 ; 4: 1=use odd/even RAM addressing seg000:7872 ; 5: 1=use CGA mid-res map (2-bits/pixel) seg000:7873 mov ax, 506h seg000:7876 out dx, ax ; EGA: graph 1 and 2 addr reg: seg000:7876 ; unknown register seg000:7877 mov dl, 0C4h ; '¦' seg000:7879 mov ax, 704h seg000:787C out dx, ax ; EGA: sequencer address reg seg000:787C ; unknown register seg000:787D mov ax, word ptr cs:byte_C0001+7Bh seg000:7881 mov es, ax seg000:7883 assume es:nothing seg000:7883 mov di, 0FFFFh seg000:7886 mov ch, 4 seg000:7888 mov cl, 1 seg000:788A add si, 43h ; 'C' seg000:788D seg000:788D loc_C788D: ; CODE XREF: sub_C785E+3Cj seg000:788D mov al, 2 seg000:788F mov ah, cl seg000:7891 out dx, ax ; EGA: sequencer address reg seg000:7891 ; unknown register seg000:7892 lodsb seg000:7893 mov es:[di], al seg000:7896 shl cl, 1 seg000:7898 dec ch seg000:789A jnz short loc_C788D seg000:789C mov ax, 0F02h seg000:789F out dx, ax ; EGA: sequencer address reg seg000:789F ; unknown register seg000:78A0 mov al, es:[di] seg000:78A3 seg000:78A3 loc_C78A3: ; CODE XREF: sub_C785E+Cj seg000:78A3 pop es seg000:78A4 assume es:nothing seg000:78A4 pop si seg000:78A5 mov di, si seg000:78A7 mov dx, 3C4h seg000:78AA add si, 5 seg000:78AD mov ax, 100h seg000:78B0 out dx, ax ; EGA: sequencer address reg seg000:78B0 ; unknown register seg000:78B1 mov bl, 1 seg000:78B3 mov cx, 4 seg000:78B6 call sub_C1D0D seg000:78B9 mov dl, 0C2h ; 'T' seg000:78BB lodsb seg000:78BC out dx, al seg000:78BD mov dl, 0C3h ; '+' seg000:78BF in al, dx seg000:78C0 mov dl, 0C4h ; '¦' seg000:78C2 mov ah, es:[si-5] seg000:78C6 mov al, 1 seg000:78C8 out dx, ax seg000:78C9 mov ax, 300h seg000:78CC out dx, ax seg000:78CD mov ax, 2011h seg000:78D0 call sub_C1B76 seg000:78D3 mov cx, 19h seg000:78D6 mov bl, ch seg000:78D8 call sub_C1D0D seg000:78DB push dx seg000:78DC add dl, 6 seg000:78DF mov cx, 15h seg000:78E2 mov bl, ch seg000:78E4 call sub_C1D30 seg000:78E7 mov dl, 0CEh ; '+' seg000:78E9 mov cx, 9 seg000:78EC mov bl, ch seg000:78EE call sub_C1D0D seg000:78F1 pop dx seg000:78F2 push si seg000:78F3 mov si, di seg000:78F5 mov cx, dx seg000:78F7 add dl, 6 seg000:78FA in al, dx seg000:78FB mov al, [si+4] seg000:78FE mov dl, 0C0h ; 'L' seg000:7900 out dx, al seg000:7901 mov dx, cx seg000:7903 test byte ptr [si+3], 80h seg000:7907 jnz short loc_C790D seg000:7909 add dl, 6 seg000:790C in al, dx seg000:790D seg000:790D loc_C790D: ; CODE XREF: sub_C785E+A9j seg000:790D mov dx, cx seg000:790F mov al, [di+2] seg000:7912 out dx, al seg000:7913 mov dl, 0C4h ; '¦' seg000:7915 mov al, [di] seg000:7917 out dx, al seg000:7918 mov dl, 0CEh ; '+' seg000:791A mov al, [di+1] seg000:791D out dx, al seg000:791E pop si seg000:791F add si, 6 seg000:7922 pop ds seg000:7923 pop di seg000:7924 pop cx seg000:7925 pop bx seg000:7926 retn seg000:7926 sub_C785E endp seg000:7926 seg000:7927 seg000:7927 ; =============== S U B R O U T I N E ======================================= seg000:7927 seg000:7927 seg000:7927 sub_C7927 proc near ; CODE XREF: sub_C7744+34p seg000:7927 push cx seg000:7928 mov al, ds:410h seg000:792B and al, 30h seg000:792D stosb seg000:792E mov cx, 1Eh seg000:7931 mov si, 449h seg000:7934 rep movsb seg000:7936 mov cx, 7 seg000:7939 mov si, 484h seg000:793C rep movsb seg000:793E mov si, 4A8h seg000:7941 movsw seg000:7942 movsw seg000:7943 mov si, 14h seg000:7946 movsw seg000:7947 movsw seg000:7948 mov si, 74h ; 't' seg000:794B movsw seg000:794C movsw seg000:794D mov si, 7Ch ; '|' seg000:7950 movsw seg000:7951 movsw seg000:7952 mov si, 10Ch seg000:7955 movsw seg000:7956 movsw seg000:7957 pop cx seg000:7958 retn seg000:7958 sub_C7927 endp seg000:7958 seg000:7959 seg000:7959 ; =============== S U B R O U T I N E ======================================= seg000:7959 seg000:7959 seg000:7959 sub_C7959 proc near ; CODE XREF: sub_C7744+77p seg000:7959 push cx seg000:795A push di seg000:795B push ds seg000:795C push es seg000:795D mov al, ds:410h seg000:7960 and al, 0CFh seg000:7962 or al, es:[si] seg000:7965 mov ds:410h, al seg000:7968 inc si seg000:7969 push ds seg000:796A push es seg000:796B pop ds seg000:796C pop es seg000:796D mov cx, 1Eh seg000:7970 mov di, 449h seg000:7973 rep movsb seg000:7975 mov cx, 7 seg000:7978 mov di, 484h seg000:797B rep movsb seg000:797D mov di, 4A8h seg000:7980 movsw seg000:7981 movsw seg000:7982 mov di, 14h seg000:7985 movsw seg000:7986 movsw seg000:7987 mov di, 74h ; 't' seg000:798A movsw seg000:798B movsw seg000:798C mov di, 7Ch ; '|' seg000:798F movsw seg000:7990 movsw seg000:7991 mov di, 10Ch seg000:7994 movsw seg000:7995 movsw seg000:7996 pop es seg000:7997 pop ds seg000:7998 pop di seg000:7999 pop cx seg000:799A retn seg000:799A sub_C7959 endp seg000:799A seg000:799B seg000:799B ; =============== S U B R O U T I N E ======================================= seg000:799B seg000:799B seg000:799B sub_C799B proc near ; CODE XREF: sub_C7744+40p seg000:799B push cx seg000:799C push bx seg000:799D mov dx, 3C7h seg000:79A0 in al, dx seg000:79A1 mov bh, al seg000:79A3 stosb seg000:79A4 inc dx seg000:79A5 test al, 3 seg000:79A7 in al, dx seg000:79A8 jz short loc_C79AB seg000:79AA dec ax seg000:79AB seg000:79AB loc_C79AB: ; CODE XREF: sub_C799B+Dj seg000:79AB mov bl, al seg000:79AD stosb seg000:79AE mov dl, 0C6h ; 'Ã' seg000:79B0 in al, dx seg000:79B1 stosb seg000:79B2 inc dx seg000:79B3 sub al, al seg000:79B5 out dx, al seg000:79B6 inc dx seg000:79B7 inc dx seg000:79B8 mov cx, 300h seg000:79BB seg000:79BB loc_C79BB: ; CODE XREF: sub_C799B+22j seg000:79BB in al, dx seg000:79BC stosb seg000:79BD loop loc_C79BB seg000:79BF dec dx seg000:79C0 test bh, 3 seg000:79C3 jz short loc_C79C6 seg000:79C5 dec dx seg000:79C6 seg000:79C6 loc_C79C6: ; CODE XREF: sub_C799B+28j seg000:79C6 mov al, bl seg000:79C8 out dx, al seg000:79C9 pop bx seg000:79CA pop cx seg000:79CB retn seg000:79CB sub_C799B endp seg000:79CB seg000:79CC seg000:79CC ; =============== S U B R O U T I N E ======================================= seg000:79CC seg000:79CC seg000:79CC sub_C79CC proc near ; CODE XREF: sub_C7744+8Fp seg000:79CC push bx seg000:79CD push cx seg000:79CE push ds seg000:79CF push es seg000:79D0 pop ds seg000:79D1 push si seg000:79D2 mov dx, 3C6h seg000:79D5 inc si seg000:79D6 inc si seg000:79D7 lodsb seg000:79D8 out dx, al seg000:79D9 inc dx seg000:79DA inc dx seg000:79DB sub al, al seg000:79DD out dx, al seg000:79DE mov cx, 300h seg000:79E1 inc dx seg000:79E2 seg000:79E2 loc_C79E2: ; CODE XREF: sub_C79CC+18j seg000:79E2 lodsb seg000:79E3 out dx, al seg000:79E4 loop loc_C79E2 seg000:79E6 pop bx seg000:79E7 dec dx seg000:79E8 test byte ptr [bx], 3 seg000:79EB jz short loc_C79EE seg000:79ED dec dx seg000:79EE seg000:79EE loc_C79EE: ; CODE XREF: sub_C79CC+1Fj seg000:79EE mov al, [bx+1] seg000:79F1 out dx, al seg000:79F2 pop ds seg000:79F3 pop cx seg000:79F4 pop bx seg000:79F5 retn seg000:79F5 sub_C79CC endp seg000:79F5 seg000:79F6 seg000:79F6 ; =============== S U B R O U T I N E ======================================= seg000:79F6 seg000:79F6 seg000:79F6 sub_C79F6 proc near ; CODE XREF: sub_C77DF+47p seg000:79F6 pushf seg000:79F7 mov dx, 3BAh seg000:79FA cli seg000:79FB in al, dx ; Video status bits: seg000:79FB ; 0: retrace. 1=display is in vert or horiz retrace. seg000:79FB ; 1: 1=light pen is triggered; 0=armed seg000:79FB ; 2: 1=light pen switch is open; 0=closed seg000:79FB ; 3: 1=vertical sync pulse is occurring. seg000:79FC mov dl, 0DAh ; '-' seg000:79FE in al, dx ; Video status bits: seg000:79FE ; 0: retrace. 1=display is in vert or horiz retrace. seg000:79FE ; 1: 1=light pen is triggered; 0=armed seg000:79FE ; 2: 1=light pen switch is open; 0=closed seg000:79FE ; 3: 1=vertical sync pulse is occurring. seg000:79FF mov dl, 0C0h ; 'L' seg000:7A01 seg000:7A01 loc_C7A01: ; CODE XREF: sub_C79F6+15j seg000:7A01 mov al, ah seg000:7A03 out dx, al ; EGA: palette register: select colors for attribute AL: seg000:7A03 ; 0: RED seg000:7A03 ; 1: GREEN seg000:7A03 ; 2: BLUE seg000:7A03 ; 3: blue seg000:7A03 ; 4: green seg000:7A03 ; 5: red seg000:7A04 inc dx seg000:7A05 in al, dx seg000:7A06 stosb seg000:7A07 dec dx seg000:7A08 out dx, al ; EGA: palette register: select colors for attribute AL: seg000:7A08 ; 0: RED seg000:7A08 ; 1: GREEN seg000:7A08 ; 2: BLUE seg000:7A08 ; 3: blue seg000:7A08 ; 4: green seg000:7A08 ; 5: red seg000:7A09 inc ah seg000:7A0B loop loc_C7A01 seg000:7A0D mov al, 20h ; ' ' seg000:7A0F out dx, al ; EGA: palette register: select colors for attribute AL: seg000:7A0F ; 0: RED seg000:7A0F ; 1: GREEN seg000:7A0F ; 2: BLUE seg000:7A0F ; 3: blue seg000:7A0F ; 4: green seg000:7A0F ; 5: red seg000:7A10 popf seg000:7A11 retn seg000:7A11 sub_C79F6 endp seg000:7A11 seg000:7A11 ; --------------------------------------------------------------------------- seg000:7A12 db 56h ; V seg000:7A13 db 45h, 53h, 41h, 0, 3, 99h, 4Bh, 2 dup(0), 1, 7 dup(0) seg000:7A13 db 4, 0 seg000:7A26 seg000:7A26 ; =============== S U B R O U T I N E ======================================= seg000:7A26 seg000:7A26 seg000:7A26 sub_C7A26 proc near ; CODE XREF: sub_C7A76+47p seg000:7A26 pushad seg000:7A28 push bx seg000:7A29 push es seg000:7A2A call sub_C1DCE seg000:7A2D les di, es:[bx+4] seg000:7A31 mov ax, es seg000:7A33 mov ds, ax seg000:7A35 pop es seg000:7A36 pop bx seg000:7A37 mov si, bx seg000:7A39 mov word ptr es:[bx], 0FFFFh seg000:7A3E seg000:7A3E loc_C7A3E: ; CODE XREF: sub_C7A26+4Bj seg000:7A3E mov al, [di] seg000:7A40 cmp al, 0FFh seg000:7A42 jz short loc_C7A73 seg000:7A44 call sub_C6CBA seg000:7A47 call sub_C9668 seg000:7A4A jb short loc_C7A6E seg000:7A4C mov ax, [di+3] seg000:7A4F cmp ax, 100h seg000:7A52 jb short loc_C7A6E seg000:7A54 mov bx, si seg000:7A56 seg000:7A56 loc_C7A56: ; CODE XREF: sub_C7A26+39j seg000:7A56 cmp es:[bx], ax seg000:7A59 jz short loc_C7A6E seg000:7A5B ja short loc_C7A61 seg000:7A5D inc bx seg000:7A5E inc bx seg000:7A5F jmp short loc_C7A56 seg000:7A61 ; --------------------------------------------------------------------------- seg000:7A61 seg000:7A61 loc_C7A61: ; CODE XREF: sub_C7A26+35j seg000:7A61 ; sub_C7A26+43j seg000:7A61 xchg ax, es:[bx] seg000:7A64 inc bx seg000:7A65 inc bx seg000:7A66 cmp ax, 0FFFFh seg000:7A69 jnz short loc_C7A61 seg000:7A6B mov es:[bx], ax seg000:7A6E seg000:7A6E loc_C7A6E: ; CODE XREF: sub_C7A26+24j seg000:7A6E ; sub_C7A26+2Cj ... seg000:7A6E add di, 0Dh seg000:7A71 jmp short loc_C7A3E seg000:7A73 ; --------------------------------------------------------------------------- seg000:7A73 seg000:7A73 loc_C7A73: ; CODE XREF: sub_C7A26+1Cj seg000:7A73 popad seg000:7A75 retn seg000:7A75 sub_C7A26 endp seg000:7A75 seg000:7A76 seg000:7A76 ; =============== S U B R O U T I N E ======================================= seg000:7A76 seg000:7A76 seg000:7A76 sub_C7A76 proc near ; CODE XREF: sub_C433B+11p seg000:7A76 ; DATA XREF: seg000:off_C430Fo seg000:7A76 push dx seg000:7A77 push di seg000:7A78 push ds seg000:7A79 push bx seg000:7A7A push cx seg000:7A7B push cs seg000:7A7C pop ds seg000:7A7D assume ds:nothing seg000:7A7D sub ax, ax seg000:7A7F cmp word ptr es:[di], 4256h seg000:7A84 jnz short loc_C7A8F seg000:7A86 cmp word ptr es:[di+2], 3245h seg000:7A8C jnz short loc_C7A8F seg000:7A8E inc ax seg000:7A8F seg000:7A8F loc_C7A8F: ; CODE XREF: sub_C7A76+Ej seg000:7A8F ; sub_C7A76+16j seg000:7A8F push ax seg000:7A90 mov cx, 14h seg000:7A93 mov si, 7A12h seg000:7A96 push di seg000:7A97 rep movsb seg000:7A99 mov cx, 0ECh ; 'ý' seg000:7A9C sub al, al seg000:7A9E rep stosb seg000:7AA0 pop di seg000:7AA1 mov ax, 0E0h ; 'Ó' seg000:7AA4 mov es:[di+12h], ax seg000:7AA8 mov word ptr es:[di+8], cs seg000:7AAC mov word ptr es:[di+10h], cs seg000:7AB0 mov bx, di seg000:7AB2 add bx, 22h ; '"' seg000:7AB5 mov es:[di+0Eh], bx seg000:7AB9 mov word ptr es:[di+10h], es seg000:7ABD call sub_C7A26 seg000:7AC0 pop ax seg000:7AC1 or ax, ax seg000:7AC3 jz short loc_C7B1A seg000:7AC5 lea bx, [di+100h] seg000:7AC9 push bx seg000:7ACA xchg bx, di seg000:7ACC mov ax, word ptr cs:byte_C0139+209h seg000:7AD0 mov es:[bx+14h], ax seg000:7AD4 mov es:[bx+6], di seg000:7AD8 mov word ptr es:[bx+8], es seg000:7ADC mov si, 4B99h seg000:7ADF call sub_C7B23 seg000:7AE2 mov es:[bx+16h], di seg000:7AE6 mov word ptr es:[bx+18h], es seg000:7AEA mov si, 4BADh seg000:7AED call sub_C7B23 seg000:7AF0 mov es:[bx+1Ah], di seg000:7AF4 mov word ptr es:[bx+1Ch], es seg000:7AF8 mov si, 122h seg000:7AFB call sub_C7B23 seg000:7AFE mov es:[bx+1Eh], di seg000:7B02 mov word ptr es:[bx+20h], es seg000:7B06 mov si, 145h seg000:7B09 call sub_C7B23 seg000:7B0C pop ax seg000:7B0D mov cx, 100h seg000:7B10 sub cx, di seg000:7B12 add cx, ax seg000:7B14 sub al, al seg000:7B16 rep stosb seg000:7B18 mov di, bx seg000:7B1A seg000:7B1A loc_C7B1A: ; CODE XREF: sub_C7A76+4Dj seg000:7B1A mov ax, 4Fh ; 'O' seg000:7B1D pop cx seg000:7B1E pop bx seg000:7B1F pop ds seg000:7B20 assume ds:nothing seg000:7B20 pop di seg000:7B21 pop dx seg000:7B22 retn seg000:7B22 sub_C7A76 endp seg000:7B22 seg000:7B23 seg000:7B23 ; =============== S U B R O U T I N E ======================================= seg000:7B23 seg000:7B23 seg000:7B23 sub_C7B23 proc near ; CODE XREF: sub_C7A76+69p seg000:7B23 ; sub_C7A76+77p ... seg000:7B23 lodsb seg000:7B24 stosb seg000:7B25 or al, al seg000:7B27 jnz short sub_C7B23 seg000:7B29 retn seg000:7B29 sub_C7B23 endp seg000:7B29 seg000:7B29 ; --------------------------------------------------------------------------- seg000:7B2A db 5 seg000:7B2B db 0Bh seg000:7B2C db 6 seg000:7B2D db 2 dup(5), 4 dup(0), 8, 10h, 3 dup(8), 0, 8, 18h, 0 seg000:7B2D db 40h, 0, 40h, 0, 20h, 0, 20h, 0, 7Ch, 0, 7Ch, 0, 7Eh seg000:7B2D db 0, 80h, 0 seg000:7B4C seg000:7B4C ; =============== S U B R O U T I N E ======================================= seg000:7B4C seg000:7B4C seg000:7B4C sub_C7B4C proc near ; CODE XREF: sub_C433B+11p seg000:7B4C ; DATA XREF: seg000:4311o seg000:7B4C push bx seg000:7B4D push cx seg000:7B4E push dx seg000:7B4F push bp seg000:7B50 push di seg000:7B51 and cx, 1FFh seg000:7B55 call sub_C7B7A seg000:7B58 jb short loc_C7B75 seg000:7B5A call sub_C7BC5 seg000:7B5D call sub_C7C2A seg000:7B60 call sub_C7C65 seg000:7B63 call sub_C7D71 seg000:7B66 call sub_C7D9E seg000:7B69 call sub_C7DDC seg000:7B6C mov ax, 4Fh ; 'O' seg000:7B6F seg000:7B6F loc_C7B6F: ; CODE XREF: sub_C7B4C+2Cj seg000:7B6F pop di seg000:7B70 pop bp seg000:7B71 pop dx seg000:7B72 pop cx seg000:7B73 pop bx seg000:7B74 retn seg000:7B75 ; --------------------------------------------------------------------------- seg000:7B75 seg000:7B75 loc_C7B75: ; CODE XREF: sub_C7B4C+Cj seg000:7B75 mov ax, 14Fh seg000:7B78 jmp short loc_C7B6F seg000:7B78 sub_C7B4C endp seg000:7B78 seg000:7B7A seg000:7B7A ; =============== S U B R O U T I N E ======================================= seg000:7B7A seg000:7B7A seg000:7B7A sub_C7B7A proc near ; CODE XREF: sub_C7B4C+9p seg000:7B7A push es seg000:7B7B mov ax, cx seg000:7B7D cmp ax, 100h seg000:7B80 jnb short loc_C7B87 seg000:7B82 call sub_C1D57 seg000:7B85 jmp short loc_C7B8A seg000:7B87 ; --------------------------------------------------------------------------- seg000:7B87 seg000:7B87 loc_C7B87: ; CODE XREF: sub_C7B7A+6j seg000:7B87 call sub_C1EA3 seg000:7B8A seg000:7B8A loc_C7B8A: ; CODE XREF: sub_C7B7A+Bj seg000:7B8A pop es seg000:7B8B jb short locret_C7BC4 seg000:7B8D mov al, cs:[bx+1] seg000:7B91 mov cl, 4 seg000:7B93 mul cl seg000:7B95 mov bp, 9891h seg000:7B98 add bp, ax seg000:7B9A call sub_C1DEE seg000:7B9D mov cx, cs:[si] seg000:7BA0 push cx seg000:7BA1 mov cx, cs:[si+2] seg000:7BA5 push cx seg000:7BA6 mov bl, cs:[bx] seg000:7BA9 xchg al, bl seg000:7BAB call sub_C6CBA seg000:7BAE xchg al, bl seg000:7BB0 push di seg000:7BB1 mov cx, 80h ; 'Ç' seg000:7BB4 sub ax, ax seg000:7BB6 rep stosw seg000:7BB8 pop di seg000:7BB9 pop ax seg000:7BBA mov es:[di+14h], ax seg000:7BBE pop ax seg000:7BBF mov es:[di+12h], ax seg000:7BC3 clc seg000:7BC4 seg000:7BC4 locret_C7BC4: ; CODE XREF: sub_C7B7A+11j seg000:7BC4 retn seg000:7BC4 sub_C7B7A endp seg000:7BC4 seg000:7BC5 seg000:7BC5 ; =============== S U B R O U T I N E ======================================= seg000:7BC5 seg000:7BC5 seg000:7BC5 sub_C7BC5 proc near ; CODE XREF: sub_C7B4C+Ep seg000:7BC5 push cx seg000:7BC6 mov al, bl seg000:7BC8 call sub_C9668 seg000:7BCB mov ax, 6 seg000:7BCE jb short loc_C7BD2 seg000:7BD0 or al, 1 seg000:7BD2 seg000:7BD2 loc_C7BD2: ; CODE XREF: sub_C7BC5+9j seg000:7BD2 test byte ptr cs:[bp+3], 1 seg000:7BD7 jz short loc_C7BDB seg000:7BD9 or al, 8 seg000:7BDB seg000:7BDB loc_C7BDB: ; CODE XREF: sub_C7BC5+12j seg000:7BDB mov cl, cs:[bp+3] seg000:7BDF test cl, 2 seg000:7BE2 jz short loc_C7BFA seg000:7BE4 or al, 10h seg000:7BE6 cmp bl, 13h seg000:7BE9 jbe short loc_C7BFA seg000:7BEB or al, 20h seg000:7BED and cl, 0Ch seg000:7BF0 shr cl, 2 seg000:7BF3 cmp cl, 1 seg000:7BF6 jbe short loc_C7BFA seg000:7BF8 or al, 40h seg000:7BFA seg000:7BFA loc_C7BFA: ; CODE XREF: sub_C7BC5+1Dj seg000:7BFA ; sub_C7BC5+24j ... seg000:7BFA push ds seg000:7BFB mov ds, word ptr cs:byte_C0001+79h seg000:7C00 test byte ptr ds:489h, 1 seg000:7C05 jnz short loc_C7C1E seg000:7C07 mov cl, ds:487h seg000:7C0B not cl seg000:7C0D and cl, 2 seg000:7C10 shl cl, 2 seg000:7C13 mov ch, al seg000:7C15 and ch, 8 seg000:7C18 cmp cl, ch seg000:7C1A jz short loc_C7C1E seg000:7C1C and al, 0FEh seg000:7C1E seg000:7C1E loc_C7C1E: ; CODE XREF: sub_C7BC5+40j seg000:7C1E ; sub_C7BC5+55j seg000:7C1E pop ds seg000:7C1F or ah, 1 seg000:7C22 or ah, 2 seg000:7C25 mov es:[di], ax seg000:7C28 pop cx seg000:7C29 retn seg000:7C29 sub_C7BC5 endp seg000:7C29 seg000:7C2A seg000:7C2A ; =============== S U B R O U T I N E ======================================= seg000:7C2A seg000:7C2A seg000:7C2A sub_C7C2A proc near ; CODE XREF: sub_C7B4C+11p seg000:7C2A pusha seg000:7C2B mov al, 6 seg000:7C2D cmp bl, 13h seg000:7C30 jbe short loc_C7C33 seg000:7C32 inc ax seg000:7C33 seg000:7C33 loc_C7C33: ; CODE XREF: sub_C7C2A+6j seg000:7C33 mov word ptr es:[di+0Ch], offset loc_C7ECD seg000:7C39 mov word ptr es:[di+0Eh], cs seg000:7C3D mov es:[di+2], al seg000:7C41 mov bl, cs:[bp+3] seg000:7C45 and bx, 0Ch seg000:7C48 shr bx, 1 seg000:7C4A mov ax, cs:[bx+7B3Ch] seg000:7C4F mov bx, cs:[bx+7B44h] seg000:7C54 mov bx, cs:[bx] seg000:7C57 mov es:[di+8], bx seg000:7C5B mov es:[di+4], ax seg000:7C5F mov es:[di+6], ax seg000:7C63 popa seg000:7C64 retn seg000:7C64 sub_C7C2A endp seg000:7C64 seg000:7C65 seg000:7C65 ; =============== S U B R O U T I N E ======================================= seg000:7C65 seg000:7C65 seg000:7C65 sub_C7C65 proc near ; CODE XREF: sub_C7B4C+14p seg000:7C65 pushad seg000:7C67 call sub_C7DFB seg000:7C6A mov es:[di+10h], ax seg000:7C6E mov es:[di+32h], ax seg000:7C72 mov cl, cs:[bp+3] seg000:7C76 sub ch, ch seg000:7C78 and cl, 2 seg000:7C7B mov al, cs:[si+6] seg000:7C7F mov es:[di+17h], al seg000:7C83 shr al, 4 seg000:7C86 jnz short loc_C7C8A seg000:7C88 inc al seg000:7C8A seg000:7C8A loc_C7C8A: ; CODE XREF: sub_C7C65+21j seg000:7C8A mov dl, 8 seg000:7C8C or cx, cx seg000:7C8E jnz short loc_C7C99 seg000:7C90 test byte ptr cs:[si+8], 1 seg000:7C95 jnz short loc_C7C99 seg000:7C97 mov dl, 9 seg000:7C99 seg000:7C99 loc_C7C99: ; CODE XREF: sub_C7C65+29j seg000:7C99 ; sub_C7C65+30j seg000:7C99 mul dl seg000:7C9B mov es:[di+16h], al seg000:7C9F mov dl, 1 seg000:7CA1 jcxz short loc_C7CB1 seg000:7CA3 mov al, cs:[bp+3] seg000:7CA7 test al, 10h seg000:7CA9 jnz short loc_C7CB1 seg000:7CAB test al, 20h seg000:7CAD jz short loc_C7CB1 seg000:7CAF mov dl, 4 seg000:7CB1 seg000:7CB1 loc_C7CB1: ; CODE XREF: sub_C7C65+3Cj seg000:7CB1 ; sub_C7C65+44j ... seg000:7CB1 mov es:[di+18h], dl seg000:7CB5 mov al, bl seg000:7CB7 call sub_C1EC1 seg000:7CBA mov es:[di+19h], al seg000:7CBE sub dl, dl seg000:7CC0 jcxz short loc_C7CD5 seg000:7CC2 inc dx seg000:7CC3 cmp bl, 6 seg000:7CC6 jbe short loc_C7CD5 seg000:7CC8 inc dx seg000:7CC9 inc dx seg000:7CCA cmp al, 4 seg000:7CCC jbe short loc_C7CD5 seg000:7CCE inc dx seg000:7CCF cmp al, 8 seg000:7CD1 jz short loc_C7CD5 seg000:7CD3 inc dx seg000:7CD4 inc dx seg000:7CD5 seg000:7CD5 loc_C7CD5: ; CODE XREF: sub_C7C65+5Bj seg000:7CD5 ; sub_C7C65+61j ... seg000:7CD5 mov es:[di+1Bh], dl seg000:7CD9 mov dx, 1 seg000:7CDC jcxz short loc_C7CE7 seg000:7CDE cmp bl, 6 seg000:7CE1 ja short loc_C7CE7 seg000:7CE3 add dx, 801h seg000:7CE7 seg000:7CE7 loc_C7CE7: ; CODE XREF: sub_C7C65+77j seg000:7CE7 ; sub_C7C65+7Cj seg000:7CE7 mov es:[di+1Ah], dl seg000:7CEB mov es:[di+1Ch], dh seg000:7CEF mov al, bl seg000:7CF1 call sub_C6D21 seg000:7CF4 xchg ax, dx seg000:7CF5 shl eax, 10h seg000:7CF9 mov ax, dx seg000:7CFB movzx ecx, word ptr es:[di+10h] seg000:7D01 movzx edx, byte ptr es:[di+18h] seg000:7D07 imul ecx, edx seg000:7D0B movzx edx, word ptr es:[di+14h] seg000:7D11 imul ecx, edx seg000:7D15 add ecx, 0FFFFh seg000:7D1C and ecx, 0FFFF0000h seg000:7D23 cdq seg000:7D25 div ecx seg000:7D28 test al, al seg000:7D2A jz short loc_C7D5D seg000:7D2C cmp al, 1 seg000:7D2E jz short loc_C7D5D seg000:7D30 dec ax seg000:7D31 cmp al, 1 seg000:7D33 jbe short loc_C7D36 seg000:7D35 dec ax seg000:7D36 seg000:7D36 loc_C7D36: ; CODE XREF: sub_C7C65+CEj seg000:7D36 jz short loc_C7D5D seg000:7D38 cmp bl, 5Ah ; 'Z' seg000:7D3B jz short loc_C7D5C seg000:7D3D cmp bl, 45h ; 'E' seg000:7D40 jz short loc_C7D5C seg000:7D42 cmp bl, 72h ; 'r' seg000:7D45 jz short loc_C7D5C seg000:7D47 cmp bl, 42h ; 'B' seg000:7D4A jz short loc_C7D5C seg000:7D4C cmp bl, 4Bh ; 'K' seg000:7D4F jz short loc_C7D5C seg000:7D51 cmp bl, 22h ; '"' seg000:7D54 jz short loc_C7D5C seg000:7D56 cmp bl, 5Dh ; ']' seg000:7D59 jnz short loc_C7D5D seg000:7D5B dec ax seg000:7D5C seg000:7D5C loc_C7D5C: ; CODE XREF: sub_C7C65+D6j seg000:7D5C ; sub_C7C65+DBj ... seg000:7D5C dec ax seg000:7D5D seg000:7D5D loc_C7D5D: ; CODE XREF: sub_C7C65+C5j seg000:7D5D ; sub_C7C65+C9j ... seg000:7D5D mov es:[di+1Dh], al seg000:7D61 mov es:[di+35h], al seg000:7D65 mov es:[di+34h], al seg000:7D69 mov byte ptr es:[di+1Eh], 1 seg000:7D6E popad seg000:7D70 retn seg000:7D70 sub_C7C65 endp seg000:7D70 seg000:7D71 seg000:7D71 ; =============== S U B R O U T I N E ======================================= seg000:7D71 seg000:7D71 seg000:7D71 sub_C7D71 proc near ; CODE XREF: sub_C7B4C+17p seg000:7D71 pusha seg000:7D72 cmp byte ptr es:[di+19h], 10h seg000:7D77 jb short loc_C7D9C seg000:7D79 mov si, 7B33h seg000:7D7C cmp byte ptr es:[di+19h], 20h ; ' ' seg000:7D81 jz short loc_C7D86 seg000:7D83 mov si, 7B2Ah seg000:7D86 seg000:7D86 loc_C7D86: ; CODE XREF: sub_C7D71+10j seg000:7D86 mov cx, 9 seg000:7D89 push si seg000:7D8A push di seg000:7D8B push cx seg000:7D8C lea di, [di+1Fh] seg000:7D8F rep movs byte ptr es:[di], byte ptr cs:[si] seg000:7D92 pop cx seg000:7D93 pop di seg000:7D94 pop si seg000:7D95 dec cx seg000:7D96 lea di, [di+36h] seg000:7D99 rep movs byte ptr es:[di], byte ptr cs:[si] seg000:7D9C seg000:7D9C loc_C7D9C: ; CODE XREF: sub_C7D71+6j seg000:7D9C popa seg000:7D9D retn seg000:7D9D sub_C7D71 endp seg000:7D9D seg000:7D9E seg000:7D9E ; =============== S U B R O U T I N E ======================================= seg000:7D9E seg000:7D9E seg000:7D9E sub_C7D9E proc near ; CODE XREF: sub_C7B4C+1Ap seg000:7D9E push eax seg000:7DA0 push bx seg000:7DA1 push esi seg000:7DA3 cmp bl, 13h seg000:7DA6 jbe short loc_C7DD6 seg000:7DA8 mov al, es:[di+18h] seg000:7DAC cmp al, 1 seg000:7DAE ja short loc_C7DD6 seg000:7DB0 mov esi, 8801Ch seg000:7DB6 call sub_C475C seg000:7DB9 and eax, 0FFFFFFF0h seg000:7DBD add eax, 1000000h seg000:7DC3 shr eax, 10h seg000:7DC7 mov es:[di+2Ah], ax seg000:7DCB mov word ptr es:[di+28h], 0 seg000:7DD1 or word ptr es:[di], 80h seg000:7DD6 seg000:7DD6 loc_C7DD6: ; CODE XREF: sub_C7D9E+8j seg000:7DD6 ; sub_C7D9E+10j seg000:7DD6 pop esi seg000:7DD8 pop bx seg000:7DD9 pop eax seg000:7DDB retn seg000:7DDB sub_C7D9E endp seg000:7DDB seg000:7DDC seg000:7DDC ; =============== S U B R O U T I N E ======================================= seg000:7DDC seg000:7DDC seg000:7DDC sub_C7DDC proc near ; CODE XREF: sub_C7B4C+1Dp seg000:7DDC push ax seg000:7DDD push bx seg000:7DDE push ecx seg000:7DE0 push es seg000:7DE1 mov al, bl seg000:7DE3 call sub_C1D57 seg000:7DE6 mov al, es:[bx+0Ch] seg000:7DEA pop es seg000:7DEB call sub_C1E34 seg000:7DEE call sub_C6CCD seg000:7DF1 mov es:[di+3Eh], ecx seg000:7DF6 pop ecx seg000:7DF8 pop bx seg000:7DF9 pop ax seg000:7DFA retn seg000:7DFA sub_C7DDC endp seg000:7DFA seg000:7DFB seg000:7DFB ; =============== S U B R O U T I N E ======================================= seg000:7DFB seg000:7DFB seg000:7DFB sub_C7DFB proc near ; CODE XREF: sub_C7C65+2p seg000:7DFB push bx seg000:7DFC push dx seg000:7DFD push es seg000:7DFE mov al, bl seg000:7E00 call sub_C1D57 seg000:7E03 jb short loc_C7E10 seg000:7E05 movzx dx, byte ptr cs:[bp+2] seg000:7E0A mov ax, es:[bx+8] seg000:7E0E mul dx seg000:7E10 seg000:7E10 loc_C7E10: ; CODE XREF: sub_C7DFB+8j seg000:7E10 pop es seg000:7E11 pop dx seg000:7E12 pop bx seg000:7E13 retn seg000:7E13 sub_C7DFB endp seg000:7E13 seg000:7E14 seg000:7E14 ; =============== S U B R O U T I N E ======================================= seg000:7E14 seg000:7E14 seg000:7E14 sub_C7E14 proc near ; CODE XREF: sub_C433B+11p seg000:7E14 ; DATA XREF: seg000:4313o seg000:7E14 push bx seg000:7E15 push cx seg000:7E16 push dx seg000:7E17 mov ax, bx seg000:7E19 and ah, 1 seg000:7E1C cmp ax, 100h seg000:7E1F jb short loc_C7E26 seg000:7E21 call sub_C6CF7 seg000:7E24 jb short loc_C7E4E seg000:7E26 seg000:7E26 loc_C7E26: ; CODE XREF: sub_C7E14+Bj seg000:7E26 call sub_C9668 seg000:7E29 jb short loc_C7E4E seg000:7E2B push ax seg000:7E2C push bx seg000:7E2D and bh, 80h seg000:7E30 or al, bh seg000:7E32 sub ah, ah seg000:7E34 call sub_C1B51 seg000:7E37 pop bx seg000:7E38 pop ax seg000:7E39 cmp ds:449h, al seg000:7E3D jnz short loc_C7E4E seg000:7E3F test bh, 40h seg000:7E42 jz short loc_C7E47 seg000:7E44 call sub_C7E53 seg000:7E47 seg000:7E47 loc_C7E47: ; CODE XREF: sub_C7E14+2Ej seg000:7E47 mov ax, 4Fh ; 'O' seg000:7E4A seg000:7E4A loc_C7E4A: ; CODE XREF: sub_C7E14+3Dj seg000:7E4A pop dx seg000:7E4B pop cx seg000:7E4C pop bx seg000:7E4D retn seg000:7E4E ; --------------------------------------------------------------------------- seg000:7E4E seg000:7E4E loc_C7E4E: ; CODE XREF: sub_C7E14+10j seg000:7E4E ; sub_C7E14+15j ... seg000:7E4E mov ax, 14Fh seg000:7E51 jmp short loc_C7E4A seg000:7E51 sub_C7E14 endp seg000:7E51 seg000:7E53 seg000:7E53 ; =============== S U B R O U T I N E ======================================= seg000:7E53 seg000:7E53 seg000:7E53 sub_C7E53 proc near ; CODE XREF: sub_C7E14+30p seg000:7E53 push ax seg000:7E54 mov ax, 12Dh seg000:7E57 call sub_C127D seg000:7E5A pop ax seg000:7E5B retn seg000:7E5B sub_C7E53 endp seg000:7E5B seg000:7E5C seg000:7E5C ; =============== S U B R O U T I N E ======================================= seg000:7E5C seg000:7E5C seg000:7E5C sub_C7E5C proc near ; CODE XREF: sub_C433B+11p seg000:7E5C ; DATA XREF: seg000:4315o seg000:7E5C push dx seg000:7E5D mov al, ds:449h seg000:7E60 call sub_C6D0A seg000:7E63 cmp bx, 0FFFFh seg000:7E66 jnz short loc_C7E6B seg000:7E68 cbw seg000:7E69 mov bx, ax seg000:7E6B seg000:7E6B loc_C7E6B: ; CODE XREF: sub_C7E5C+Aj seg000:7E6B mov al, 2Dh ; '-' seg000:7E6D call sub_C126B seg000:7E70 shl ah, 6 seg000:7E73 or bh, ah seg000:7E75 mov al, ds:487h seg000:7E78 and al, 80h seg000:7E7A or bh, al seg000:7E7C mov ax, 4Fh ; 'O' seg000:7E7F pop dx seg000:7E80 retn seg000:7E80 sub_C7E5C endp seg000:7E80 seg000:7E81 seg000:7E81 ; =============== S U B R O U T I N E ======================================= seg000:7E81 seg000:7E81 seg000:7E81 sub_C7E81 proc near ; CODE XREF: sub_C433B+11p seg000:7E81 ; DATA XREF: seg000:4317o seg000:7E81 mov ax, 14Fh seg000:7E84 cmp dl, 3 seg000:7E87 jnb short locret_C7E98 seg000:7E89 push cx seg000:7E8A mov ah, 1Ch seg000:7E8C mov al, dl seg000:7E8E and cx, 0Fh seg000:7E91 call sub_C1B51 seg000:7E94 mov ax, 4Fh ; 'O' seg000:7E97 pop cx seg000:7E98 seg000:7E98 locret_C7E98: ; CODE XREF: sub_C7E81+6j seg000:7E98 retn seg000:7E98 sub_C7E81 endp seg000:7E98 seg000:7E99 seg000:7E99 ; =============== S U B R O U T I N E ======================================= seg000:7E99 seg000:7E99 seg000:7E99 sub_C7E99 proc near ; CODE XREF: sub_C433B+11p seg000:7E99 ; DATA XREF: seg000:4319o seg000:7E99 or bl, bl seg000:7E9B jnz short loc_C7EAB seg000:7E9D cmp bh, 1 seg000:7EA0 jz short loc_C7EC6 seg000:7EA2 cmp bh, 80h ; 'Ç' seg000:7EA5 jz short loc_C7EB0 seg000:7EA7 or bh, bh seg000:7EA9 jz short loc_C7EB0 seg000:7EAB seg000:7EAB loc_C7EAB: ; CODE XREF: sub_C7E99+2j seg000:7EAB mov ax, 14Fh seg000:7EAE jmp short locret_C7ECC seg000:7EB0 ; --------------------------------------------------------------------------- seg000:7EB0 seg000:7EB0 loc_C7EB0: ; CODE XREF: sub_C7E99+Cj seg000:7EB0 ; sub_C7E99+10j seg000:7EB0 mov al, ds:449h seg000:7EB3 call sub_C6D8F seg000:7EB6 push dx seg000:7EB7 xor dh, dh seg000:7EB9 call sub_C2FF7 seg000:7EBC pop dx seg000:7EBD cmp dx, ax seg000:7EBF jle short loc_C7EC9 seg000:7EC1 mov ax, 14Fh seg000:7EC4 jmp short locret_C7ECC seg000:7EC6 ; --------------------------------------------------------------------------- seg000:7EC6 seg000:7EC6 loc_C7EC6: ; CODE XREF: sub_C7E99+7j seg000:7EC6 call sub_C2FEB seg000:7EC9 seg000:7EC9 loc_C7EC9: ; CODE XREF: sub_C7E99+26j seg000:7EC9 mov ax, 4Fh ; 'O' seg000:7ECC seg000:7ECC locret_C7ECC: ; CODE XREF: sub_C7E99+15j seg000:7ECC ; sub_C7E99+2Bj seg000:7ECC retn seg000:7ECC sub_C7E99 endp seg000:7ECC seg000:7ECD ; --------------------------------------------------------------------------- seg000:7ECD seg000:7ECD loc_C7ECD: ; DATA XREF: sub_C7C2A:loc_C7C33o seg000:7ECD push cx seg000:7ECE push dx seg000:7ECF mov ax, 573Fh seg000:7ED2 call sub_C1B76 seg000:7ED5 mov cx, dx seg000:7ED7 pop dx seg000:7ED8 or bl, bl seg000:7EDA jnz short loc_C7EF1 seg000:7EDC cmp bh, 1 seg000:7EDF jz short loc_C7EFB seg000:7EE1 cmp bh, 80h ; 'Ç' seg000:7EE4 jz short loc_C7EEA seg000:7EE6 or bh, bh seg000:7EE8 jnz short loc_C7EF1 seg000:7EEA seg000:7EEA loc_C7EEA: ; CODE XREF: seg000:7EE4j seg000:7EEA push dx seg000:7EEB xor dh, dh seg000:7EED call sub_C2FF7 seg000:7EF0 pop dx seg000:7EF1 seg000:7EF1 loc_C7EF1: ; CODE XREF: seg000:7EDAj seg000:7EF1 ; seg000:7EE8j ... seg000:7EF1 push dx seg000:7EF2 mov dx, cx seg000:7EF4 mov ax, 993Fh seg000:7EF7 out dx, ax seg000:7EF8 pop dx seg000:7EF9 pop cx seg000:7EFA retf seg000:7EFB ; --------------------------------------------------------------------------- seg000:7EFB seg000:7EFB loc_C7EFB: ; CODE XREF: seg000:7EDFj seg000:7EFB call sub_C2FEB seg000:7EFE jmp short loc_C7EF1 seg000:7F00 seg000:7F00 ; =============== S U B R O U T I N E ======================================= seg000:7F00 seg000:7F00 seg000:7F00 sub_C7F00 proc near ; CODE XREF: sub_C7F24+2Bp seg000:7F00 ; sub_C7F24+A2p seg000:7F00 mov al, ds:449h seg000:7F03 call sub_C6D21 seg000:7F06 div bx seg000:7F08 mov dx, ax seg000:7F0A mov al, ds:449h seg000:7F0D call sub_C1BD9 seg000:7F10 jnz short loc_C7F1B seg000:7F12 call sub_C8021 seg000:7F15 mul dx seg000:7F17 mov dx, ax seg000:7F19 jmp short locret_C7F23 seg000:7F1B ; --------------------------------------------------------------------------- seg000:7F1B seg000:7F1B loc_C7F1B: ; CODE XREF: sub_C7F00+10j seg000:7F1B call sub_C1E86 seg000:7F1E jnz short locret_C7F23 seg000:7F20 shr dx, 2 seg000:7F23 seg000:7F23 locret_C7F23: ; CODE XREF: sub_C7F00+19j seg000:7F23 ; sub_C7F00+1Ej seg000:7F23 retn seg000:7F23 sub_C7F00 endp seg000:7F23 seg000:7F24 seg000:7F24 ; =============== S U B R O U T I N E ======================================= seg000:7F24 seg000:7F24 seg000:7F24 sub_C7F24 proc near ; CODE XREF: sub_C433B+11p seg000:7F24 ; DATA XREF: seg000:431Bo seg000:7F24 push bp seg000:7F25 push di seg000:7F26 call sub_C3235 seg000:7F29 mov al, bl seg000:7F2B test al, al seg000:7F2D jz short loc_C7F57 seg000:7F2F cmp al, 1 seg000:7F31 jz loc_C7FBC seg000:7F35 cmp al, 2 seg000:7F37 jz short loc_C7F5A seg000:7F39 cmp al, 3 seg000:7F3B jz loc_C7FCF seg000:7F3F mov ax, 14Fh seg000:7F42 jmp loc_C7FCC seg000:7F45 ; --------------------------------------------------------------------------- seg000:7F45 seg000:7F45 loc_C7F45: ; CODE XREF: sub_C7F24+3Bj seg000:7F45 ; sub_C7F24+3Fj seg000:7F45 call sub_C80D0 seg000:7F48 mov bx, ax seg000:7F4A call sub_C80DB seg000:7F4D mov cx, ax seg000:7F4F call sub_C7F00 seg000:7F52 mov ax, 24Fh seg000:7F55 jmp short loc_C7FCC seg000:7F57 ; --------------------------------------------------------------------------- seg000:7F57 seg000:7F57 loc_C7F57: ; CODE XREF: sub_C7F24+9j seg000:7F57 call sub_C8057 seg000:7F5A seg000:7F5A loc_C7F5A: ; CODE XREF: sub_C7F24+13j seg000:7F5A call sub_C7FE6 seg000:7F5D cmp cx, ax seg000:7F5F ja short loc_C7F45 seg000:7F61 or cx, cx seg000:7F63 jz short loc_C7F45 seg000:7F65 push ebx seg000:7F67 push edx seg000:7F69 push eax seg000:7F6B movzx ebx, cx seg000:7F6F shl ebx, 3 seg000:7F73 call sub_C80AF seg000:7F76 movzx eax, al seg000:7F7A push eax seg000:7F7C add ebx, eax seg000:7F7F dec ebx seg000:7F81 xchg eax, ebx seg000:7F83 xor edx, edx seg000:7F86 div ebx seg000:7F89 mov ebx, eax seg000:7F8C call sub_C6D9D seg000:7F8F movzx eax, al seg000:7F93 add ebx, eax seg000:7F96 dec ebx seg000:7F98 xchg eax, ebx seg000:7F9A xor edx, edx seg000:7F9D div ebx seg000:7FA0 mov ds:44Ah, ax seg000:7FA3 mul ebx seg000:7FA6 pop ebx seg000:7FA8 mul ebx seg000:7FAB shr eax, 3 seg000:7FAF mov bx, ax seg000:7FB1 pop eax seg000:7FB3 mov ax, bx seg000:7FB5 pop edx seg000:7FB7 pop ebx seg000:7FB9 call sub_C8095 seg000:7FBC seg000:7FBC loc_C7FBC: ; CODE XREF: sub_C7F24+Dj seg000:7FBC call sub_C80D0 seg000:7FBF seg000:7FBF loc_C7FBF: ; CODE XREF: sub_C7F24+AEj seg000:7FBF mov bx, ax seg000:7FC1 call sub_C80DB seg000:7FC4 mov cx, ax seg000:7FC6 call sub_C7F00 seg000:7FC9 mov ax, 4Fh ; 'O' seg000:7FCC seg000:7FCC loc_C7FCC: ; CODE XREF: sub_C7F24+1Ej seg000:7FCC ; sub_C7F24+31j seg000:7FCC pop di seg000:7FCD pop bp seg000:7FCE retn seg000:7FCF ; --------------------------------------------------------------------------- seg000:7FCF seg000:7FCF loc_C7FCF: ; CODE XREF: sub_C7F24+17j seg000:7FCF call sub_C7FE6 seg000:7FD2 jmp short loc_C7FBF seg000:7FD2 sub_C7F24 endp seg000:7FD2 seg000:7FD2 ; --------------------------------------------------------------------------- seg000:7FD4 off_C7FD4 dw offset loc_C8009 ; DATA XREF: sub_C7FE6+1Er seg000:7FD6 dw offset loc_C8009 seg000:7FD8 dw offset loc_C8016 seg000:7FDA dw offset loc_C8013 seg000:7FDC dw offset loc_C8013 seg000:7FDE dw offset loc_C8013 seg000:7FE0 dw offset loc_C8016 seg000:7FE2 dw offset loc_C8016 seg000:7FE4 dw offset loc_C8016 seg000:7FE6 seg000:7FE6 ; =============== S U B R O U T I N E ======================================= seg000:7FE6 seg000:7FE6 seg000:7FE6 sub_C7FE6 proc near ; CODE XREF: sub_C7F24:loc_C7F5Ap seg000:7FE6 ; sub_C7F24:loc_C7FCFp seg000:7FE6 push bx seg000:7FE7 push dx seg000:7FE8 push si seg000:7FE9 push es seg000:7FEA mov al, ds:449h seg000:7FED call sub_C1D57 seg000:7FF0 mov al, es:[bx+5] seg000:7FF4 cbw seg000:7FF5 mov si, ax seg000:7FF7 call sub_C80F3 seg000:7FFA mov bx, ax seg000:7FFC mov al, ds:449h seg000:7FFF call sub_C6D21 seg000:8002 shl si, 1 seg000:8004 jmp cs:off_C7FD4[si] seg000:8009 ; --------------------------------------------------------------------------- seg000:8009 seg000:8009 loc_C8009: ; CODE XREF: sub_C7FE6+1Ej seg000:8009 ; DATA XREF: seg000:off_C7FD4o ... seg000:8009 div bx seg000:800B imul word ptr ds:485h seg000:800F and al, 0F0h seg000:8011 jmp short loc_C801C seg000:8013 ; --------------------------------------------------------------------------- seg000:8013 seg000:8013 loc_C8013: ; CODE XREF: sub_C7FE6+1Ej seg000:8013 ; DATA XREF: seg000:7FDAo ... seg000:8013 shl bx, 2 seg000:8016 seg000:8016 loc_C8016: ; CODE XREF: sub_C7FE6+1Ej seg000:8016 ; DATA XREF: seg000:7FD8o ... seg000:8016 div bx seg000:8018 and al, 0F0h seg000:801A jmp short $+2 seg000:801C ; --------------------------------------------------------------------------- seg000:801C seg000:801C loc_C801C: ; CODE XREF: sub_C7FE6+2Bj seg000:801C ; sub_C7FE6+34j seg000:801C pop es seg000:801D pop si seg000:801E pop dx seg000:801F pop bx seg000:8020 retn seg000:8020 sub_C7FE6 endp seg000:8020 seg000:8021 seg000:8021 ; =============== S U B R O U T I N E ======================================= seg000:8021 seg000:8021 seg000:8021 sub_C8021 proc near ; CODE XREF: sub_C7F00+12p seg000:8021 push dx seg000:8022 mov al, 9 seg000:8024 call sub_C1B89 seg000:8027 movzx ax, ah seg000:802A and al, 1Fh seg000:802C inc ax seg000:802D pop dx seg000:802E retn seg000:802E sub_C8021 endp seg000:802E seg000:802F ; --------------------------------------------------------------------------- seg000:802F push bx seg000:8030 push si seg000:8031 push es seg000:8032 mov al, ds:449h seg000:8035 call sub_C1D57 seg000:8038 call sub_C1DEE seg000:803B mov ax, cs:[si] seg000:803E cmp byte ptr es:[bx+5], 0 seg000:8043 jz short loc_C804C seg000:8045 cmp byte ptr es:[bx+5], 1 seg000:804A jnz short loc_C8053 seg000:804C seg000:804C loc_C804C: ; CODE XREF: seg000:8043j seg000:804C mov bx, ax seg000:804E call sub_C6D9D seg000:8051 mul bl seg000:8053 seg000:8053 loc_C8053: ; CODE XREF: seg000:804Aj seg000:8053 pop es seg000:8054 pop si seg000:8055 pop bx seg000:8056 retn seg000:8057 seg000:8057 ; =============== S U B R O U T I N E ======================================= seg000:8057 seg000:8057 seg000:8057 sub_C8057 proc near ; CODE XREF: sub_C7F24:loc_C7F57p seg000:8057 push ax seg000:8058 push bx seg000:8059 push dx seg000:805A call sub_C6D9D seg000:805D mov bl, al seg000:805F call sub_C80AF seg000:8062 cbw seg000:8063 push ax seg000:8064 mul cx seg000:8066 sub bh, bh seg000:8068 div bx seg000:806A pop bx seg000:806B test dx, dx seg000:806D jz short loc_C807B seg000:806F mov bx, 1 seg000:8072 call sub_C812B seg000:8075 shl bx, cl seg000:8077 add ax, bx seg000:8079 jmp short loc_C808F seg000:807B ; --------------------------------------------------------------------------- seg000:807B seg000:807B loc_C807B: ; CODE XREF: sub_C8057+16j seg000:807B call sub_C812B seg000:807E mov bx, ax seg000:8080 shr bx, cl seg000:8082 shl bx, cl seg000:8084 cmp bx, ax seg000:8086 jnb short loc_C808F seg000:8088 mov ax, 1 seg000:808B shl ax, cl seg000:808D add ax, bx seg000:808F seg000:808F loc_C808F: ; CODE XREF: sub_C8057+22j seg000:808F ; sub_C8057+2Fj seg000:808F mov cx, ax seg000:8091 pop dx seg000:8092 pop bx seg000:8093 pop ax seg000:8094 retn seg000:8094 sub_C8057 endp seg000:8094 seg000:8095 seg000:8095 ; =============== S U B R O U T I N E ======================================= seg000:8095 seg000:8095 seg000:8095 sub_C8095 proc near ; CODE XREF: sub_C7F24+95p seg000:8095 push ax seg000:8096 push cx seg000:8097 push dx seg000:8098 call sub_C812B seg000:809B shr ax, cl seg000:809D mov cx, ax seg000:809F mov ah, al seg000:80A1 mov al, 13h seg000:80A3 call sub_C1B76 seg000:80A6 mov al, 3Bh ; ';' seg000:80A8 mov ah, ch seg000:80AA out dx, ax seg000:80AB pop dx seg000:80AC pop cx seg000:80AD pop ax seg000:80AE retn seg000:80AE sub_C8095 endp seg000:80AE seg000:80AF seg000:80AF ; =============== S U B R O U T I N E ======================================= seg000:80AF seg000:80AF seg000:80AF sub_C80AF proc near ; CODE XREF: sub_C7F24+4Fp seg000:80AF ; sub_C8057+8p ... seg000:80AF push dx seg000:80B0 mov al, ds:449h seg000:80B3 call sub_C1EC1 seg000:80B6 push ax seg000:80B7 mov dx, 3CEh seg000:80BA mov al, 6 seg000:80BC out dx, al ; EGA: graph 1 and 2 addr reg: seg000:80BC ; miscellaneous graphics control.Data bits: seg000:80BC ; 0: 1=graphics; 0=enable char gen (text) seg000:80BC ; 1: 1=chain odd maps after even maps seg000:80BC ; 2: memory mapping for CPU seg000:80BC ; 00=a000H (128K); 01=a000H (64K) seg000:80BC ; 10=b000H (32K MDA);11=b800H (32K CGA) seg000:80BD inc dx seg000:80BE in al, dx ; EGA port: graphics controller data register seg000:80BF test al, 1 seg000:80C1 pop ax seg000:80C2 jz short loc_C80CC seg000:80C4 cmp al, 4 seg000:80C6 jnz short loc_C80CE seg000:80C8 mov al, 1 seg000:80CA jmp short loc_C80CE seg000:80CC ; --------------------------------------------------------------------------- seg000:80CC seg000:80CC loc_C80CC: ; CODE XREF: sub_C80AF+13j seg000:80CC mov al, 2 seg000:80CE seg000:80CE loc_C80CE: ; CODE XREF: sub_C80AF+17j seg000:80CE ; sub_C80AF+1Bj seg000:80CE pop dx seg000:80CF retn seg000:80CF sub_C80AF endp seg000:80CF seg000:80D0 seg000:80D0 ; =============== S U B R O U T I N E ======================================= seg000:80D0 seg000:80D0 seg000:80D0 sub_C80D0 proc near ; CODE XREF: sub_C7F24:loc_C7F45p seg000:80D0 ; sub_C7F24:loc_C7FBCp seg000:80D0 push cx seg000:80D1 call sub_C6DAE seg000:80D4 call sub_C812B seg000:80D7 shl ax, cl seg000:80D9 pop cx seg000:80DA retn seg000:80DA sub_C80D0 endp seg000:80DA seg000:80DB seg000:80DB ; =============== S U B R O U T I N E ======================================= seg000:80DB seg000:80DB seg000:80DB sub_C80DB proc near ; CODE XREF: sub_C7F24+26p seg000:80DB ; sub_C7F24+9Dp seg000:80DB push dx seg000:80DC push cx seg000:80DD call sub_C6D9D seg000:80E0 mov ch, al seg000:80E2 call sub_C80AF seg000:80E5 mov cl, al seg000:80E7 mov al, ch seg000:80E9 cbw seg000:80EA mul bx seg000:80EC sub ch, ch seg000:80EE div cx seg000:80F0 pop cx seg000:80F1 pop dx seg000:80F2 retn seg000:80F2 sub_C80DB endp seg000:80F2 seg000:80F3 seg000:80F3 ; =============== S U B R O U T I N E ======================================= seg000:80F3 seg000:80F3 seg000:80F3 sub_C80F3 proc near ; CODE XREF: sub_C7FE6+11p seg000:80F3 push bx seg000:80F4 push dx seg000:80F5 mov al, 7 seg000:80F7 call sub_C1B89 seg000:80FA mov al, ah seg000:80FC and ax, 4002h seg000:80FF shr al, 1 seg000:8101 shr ah, 5 seg000:8104 or al, ah seg000:8106 mov bh, al seg000:8108 mov al, 12h seg000:810A call sub_C1B90 seg000:810D mov bl, ah seg000:810F mov al, 3Ah ; ':' seg000:8111 call sub_C1B90 seg000:8114 shl ah, 2 seg000:8117 or bh, ah seg000:8119 mov al, 17h seg000:811B call sub_C1B90 seg000:811E test ah, 4 seg000:8121 jz short loc_C8125 seg000:8123 shl bx, 1 seg000:8125 seg000:8125 loc_C8125: ; CODE XREF: sub_C80F3+2Ej seg000:8125 mov ax, bx seg000:8127 inc ax seg000:8128 pop dx seg000:8129 pop bx seg000:812A retn seg000:812A sub_C80F3 endp seg000:812A seg000:812B seg000:812B ; =============== S U B R O U T I N E ======================================= seg000:812B seg000:812B seg000:812B sub_C812B proc near ; CODE XREF: sub_C8057+1Bp seg000:812B ; sub_C8057:loc_C807Bp ... seg000:812B push ax seg000:812C push dx seg000:812D mov cl, 2 seg000:812F mov al, 4 seg000:8131 call sub_C1B7B seg000:8134 test ah, 4 seg000:8137 jz short loc_C8147 seg000:8139 mov al, ds:449h seg000:813C call sub_C1EC1 seg000:813F mov cl, 1 seg000:8141 cmp al, 4 seg000:8143 jbe short loc_C8147 seg000:8145 mov cl, 3 seg000:8147 seg000:8147 loc_C8147: ; CODE XREF: sub_C812B+Cj seg000:8147 ; sub_C812B+18j seg000:8147 pop dx seg000:8148 pop ax seg000:8149 retn seg000:8149 sub_C812B endp seg000:8149 seg000:814A seg000:814A ; =============== S U B R O U T I N E ======================================= seg000:814A seg000:814A seg000:814A sub_C814A proc near ; CODE XREF: sub_C433B+11p seg000:814A ; DATA XREF: seg000:431Fo seg000:814A cmp bl, 1 seg000:814D jbe short loc_C8154 seg000:814F mov ax, 14Fh seg000:8152 jmp short locret_C817F seg000:8154 ; --------------------------------------------------------------------------- seg000:8154 seg000:8154 loc_C8154: ; CODE XREF: sub_C814A+3j seg000:8154 mov ax, 4Fh ; 'O' seg000:8157 jz short loc_C8178 seg000:8159 push bx seg000:815A push es seg000:815B mov al, ds:449h seg000:815E call sub_C1D57 seg000:8161 mov al, es:[bx+7] seg000:8165 pop es seg000:8166 pop bx seg000:8167 cmp al, 8 seg000:8169 jbe short loc_C8170 seg000:816B mov ax, 34Fh seg000:816E jmp short loc_C8178 seg000:8170 ; --------------------------------------------------------------------------- seg000:8170 seg000:8170 loc_C8170: ; CODE XREF: sub_C814A+1Fj seg000:8170 mov ah, bh seg000:8172 call sub_C677C seg000:8175 mov ax, 4Fh ; 'O' seg000:8178 seg000:8178 loc_C8178: ; CODE XREF: sub_C814A+Dj seg000:8178 ; sub_C814A+24j seg000:8178 push ax seg000:8179 call sub_C6767 seg000:817C mov bh, ah seg000:817E pop ax seg000:817F seg000:817F locret_C817F: ; CODE XREF: sub_C814A+8j seg000:817F retn seg000:817F sub_C814A endp seg000:817F seg000:8180 seg000:8180 ; =============== S U B R O U T I N E ======================================= seg000:8180 seg000:8180 seg000:8180 sub_C8180 proc near ; CODE XREF: sub_C433B+11p seg000:8180 ; DATA XREF: seg000:4321o seg000:8180 or bl, bl seg000:8182 jz short loc_C8196 seg000:8184 cmp bl, 1 seg000:8187 jz short loc_C81BE seg000:8189 cmp bl, 3 seg000:818C jbe short loc_C81E2 seg000:818E cmp bl, 80h ; 'Ç' seg000:8191 jnz short loc_C81DE seg000:8193 call sub_C1CAC seg000:8196 seg000:8196 loc_C8196: ; CODE XREF: sub_C8180+2j seg000:8196 pushad seg000:8198 push ds seg000:8199 push es seg000:819A pop ds seg000:819B mov si, di seg000:819D mov al, dl seg000:819F mov dx, 3C8h seg000:81A2 out dx, al seg000:81A3 inc dx seg000:81A4 seg000:81A4 loc_C81A4: ; CODE XREF: sub_C8180+35j seg000:81A4 lodsd seg000:81A6 ror eax, 10h seg000:81AA out dx, al seg000:81AB rol eax, 8 seg000:81AF out dx, al seg000:81B0 rol eax, 8 seg000:81B4 out dx, al seg000:81B5 loop loc_C81A4 seg000:81B7 pop ds seg000:81B8 popad seg000:81BA seg000:81BA loc_C81BA: ; CODE XREF: sub_C8180+5Cj seg000:81BA mov ax, 4Fh ; 'O' seg000:81BD retn seg000:81BE ; --------------------------------------------------------------------------- seg000:81BE seg000:81BE loc_C81BE: ; CODE XREF: sub_C8180+7j seg000:81BE pushad seg000:81C0 mov al, dl seg000:81C2 mov dx, 3C7h seg000:81C5 out dx, al seg000:81C6 inc dx seg000:81C7 inc dx seg000:81C8 seg000:81C8 loc_C81C8: ; CODE XREF: sub_C8180+58j seg000:81C8 sub eax, eax seg000:81CB in al, dx seg000:81CC shl eax, 8 seg000:81D0 in al, dx seg000:81D1 shl eax, 8 seg000:81D5 in al, dx seg000:81D6 stosd seg000:81D8 loop loc_C81C8 seg000:81DA popad seg000:81DC jmp short loc_C81BA seg000:81DE ; --------------------------------------------------------------------------- seg000:81DE seg000:81DE loc_C81DE: ; CODE XREF: sub_C8180+11j seg000:81DE mov ax, 14Fh seg000:81E1 retn seg000:81E2 ; --------------------------------------------------------------------------- seg000:81E2 seg000:81E2 loc_C81E2: ; CODE XREF: sub_C8180+Cj seg000:81E2 mov ax, 24Fh seg000:81E5 retn seg000:81E5 sub_C8180 endp seg000:81E5 seg000:81E6 seg000:81E6 ; =============== S U B R O U T I N E ======================================= seg000:81E6 seg000:81E6 seg000:81E6 sub_C81E6 proc near ; CODE XREF: sub_C433B+11p seg000:81E6 ; DATA XREF: seg000:4323o seg000:81E6 mov ax, 14Fh seg000:81E9 or bl, bl seg000:81EB jnz short locret_C81F6 seg000:81ED xor di, di seg000:81EF xor cx, cx seg000:81F1 push cx seg000:81F2 pop es seg000:81F3 mov ax, 14Fh seg000:81F6 seg000:81F6 locret_C81F6: ; CODE XREF: sub_C81E6+5j seg000:81F6 retn seg000:81F6 sub_C81E6 endp seg000:81F6 seg000:81F6 ; --------------------------------------------------------------------------- seg000:81F7 off_C81F7 dw offset sub_C820C ; DATA XREF: sub_C81F9+Dr seg000:81F9 seg000:81F9 ; =============== S U B R O U T I N E ======================================= seg000:81F9 seg000:81F9 seg000:81F9 sub_C81F9 proc near ; CODE XREF: sub_C433B+11p seg000:81F9 ; DATA XREF: seg000:4325o seg000:81F9 mov ax, 14Fh seg000:81FC cmp bl, 1 seg000:81FF jnb short locret_C820B seg000:8201 movzx si, bl seg000:8204 shl si, 1 seg000:8206 call cs:off_C81F7[si] seg000:820B seg000:820B locret_C820B: ; CODE XREF: sub_C81F9+6j seg000:820B retn seg000:820B sub_C81F9 endp seg000:820B seg000:820C seg000:820C ; =============== S U B R O U T I N E ======================================= seg000:820C seg000:820C seg000:820C sub_C820C proc near ; CODE XREF: sub_C81F9+Dp seg000:820C ; DATA XREF: seg000:off_C81F7o seg000:820C call sub_C6CD9 seg000:820F xor al, al seg000:8211 call sub_C13B4 seg000:8214 call sub_C6CCD seg000:8217 mov ax, 4Fh ; 'O' seg000:821A retn seg000:821A sub_C820C endp seg000:821A seg000:821A ; --------------------------------------------------------------------------- seg000:821B off_C821B dw offset sub_C82BC ; DATA XREF: sub_C8221+25r seg000:821D dw offset sub_C8284 seg000:821F dw offset sub_C8274 seg000:8221 seg000:8221 ; =============== S U B R O U T I N E ======================================= seg000:8221 seg000:8221 seg000:8221 sub_C8221 proc near ; CODE XREF: sub_C433B+11p seg000:8221 ; DATA XREF: seg000:432Fo seg000:8221 push dx seg000:8222 push cx seg000:8223 mov ax, 14Fh seg000:8226 cmp bl, 3 seg000:8229 jnb short loc_C824B seg000:822B test word ptr cs:byte_C0139+123h, 1 seg000:8232 jz short loc_C823F seg000:8234 mov ax, 5F10h seg000:8237 xor dl, dl seg000:8239 int 15h seg000:823B cmp al, 5Fh ; '_' seg000:823D jz short loc_C824B seg000:823F seg000:823F loc_C823F: ; CODE XREF: sub_C8221+11j seg000:823F movzx si, bl seg000:8242 shl si, 1 seg000:8244 mov dl, bl seg000:8246 call cs:off_C821B[si] seg000:824B seg000:824B loc_C824B: ; CODE XREF: sub_C8221+8j seg000:824B ; sub_C8221+1Cj seg000:824B test word ptr cs:byte_C0139+123h, 1 seg000:8252 jz short loc_C8271 seg000:8254 push ax seg000:8255 push bx seg000:8256 mov bl, dl seg000:8258 or bl, bl seg000:825A jnz short loc_C825E seg000:825C xor bh, bh seg000:825E seg000:825E loc_C825E: ; CODE XREF: sub_C8221+39j seg000:825E mov dl, 1 seg000:8260 mov ax, 5F10h seg000:8263 int 15h seg000:8265 cmp al, 5Fh ; '_' seg000:8267 jnz short loc_C826D seg000:8269 pop cx seg000:826A pop cx seg000:826B jmp short loc_C826F seg000:826D ; --------------------------------------------------------------------------- seg000:826D seg000:826D loc_C826D: ; CODE XREF: sub_C8221+46j seg000:826D pop bx seg000:826E pop ax seg000:826F seg000:826F loc_C826F: ; CODE XREF: sub_C8221+4Aj seg000:826F mov al, 4Fh ; 'O' seg000:8271 seg000:8271 loc_C8271: ; CODE XREF: sub_C8221+31j seg000:8271 pop cx seg000:8272 pop dx seg000:8273 retn seg000:8273 sub_C8221 endp seg000:8273 seg000:8274 seg000:8274 ; =============== S U B R O U T I N E ======================================= seg000:8274 seg000:8274 seg000:8274 sub_C8274 proc near ; CODE XREF: sub_C8221+25p seg000:8274 ; DATA XREF: seg000:821Fo seg000:8274 mov al, 32h ; '2' seg000:8276 call sub_C126B seg000:8279 mov cl, ah seg000:827B sub bh, bh seg000:827D stc seg000:827E rcl bh, cl seg000:8280 mov ax, 4Fh ; 'O' seg000:8283 retn seg000:8283 sub_C8274 endp seg000:8283 seg000:8284 seg000:8284 ; =============== S U B R O U T I N E ======================================= seg000:8284 seg000:8284 seg000:8284 sub_C8284 proc near ; CODE XREF: sub_C8221+25p seg000:8284 ; DATA XREF: seg000:821Do seg000:8284 push bx seg000:8285 push dx seg000:8286 push di seg000:8287 mov ax, 14Fh seg000:828A cmp bh, 8 seg000:828D jnz short loc_C8293 seg000:828F shr bh, 1 seg000:8291 jmp short loc_C82A1 seg000:8293 ; --------------------------------------------------------------------------- seg000:8293 seg000:8293 loc_C8293: ; CODE XREF: sub_C8284+9j seg000:8293 cmp bh, 3 seg000:8296 jz short loc_C82B8 seg000:8298 cmp bh, 4 seg000:829B ja short loc_C82B8 seg000:829D jnz short loc_C82A1 seg000:829F dec bh seg000:82A1 seg000:82A1 loc_C82A1: ; CODE XREF: sub_C8284+Dj seg000:82A1 ; sub_C8284+19j seg000:82A1 mov bl, 3 seg000:82A3 call loc_C3031 seg000:82A6 mov di, 224Eh seg000:82A9 mov bl, bh seg000:82AB call sub_C256D seg000:82AE mov al, 32h ; '2' seg000:82B0 mov ah, bl seg000:82B2 call sub_C127D seg000:82B5 mov ax, 4Fh ; 'O' seg000:82B8 seg000:82B8 loc_C82B8: ; CODE XREF: sub_C8284+12j seg000:82B8 ; sub_C8284+17j seg000:82B8 pop di seg000:82B9 pop dx seg000:82BA pop bx seg000:82BB retn seg000:82BB sub_C8284 endp seg000:82BB seg000:82BC seg000:82BC ; =============== S U B R O U T I N E ======================================= seg000:82BC seg000:82BC seg000:82BC sub_C82BC proc near ; CODE XREF: sub_C8221+25p seg000:82BC ; DATA XREF: seg000:off_C821Bo seg000:82BC mov bx, 710h seg000:82BF mov ax, 4Fh ; 'O' seg000:82C2 retn seg000:82C2 sub_C82BC endp seg000:82C2 seg000:82C2 ; --------------------------------------------------------------------------- seg000:82C3 off_C82C3 dw offset sub_C83B5 ; DATA XREF: sub_C82DB+BEr seg000:82C3 ; sub_C82DB:loc_C83A1r seg000:82C5 dw offset sub_C83EC seg000:82C7 dw offset sub_C6347 seg000:82C9 dw offset sub_C83F3 seg000:82CB dw offset sub_C83FA seg000:82CD dw offset sub_C840E seg000:82CF dw offset sub_C841A seg000:82D1 dw offset sub_C842D seg000:82D3 dw offset sub_C8434 seg000:82D5 dw offset sub_C8451 seg000:82D7 dw offset sub_C846E seg000:82D9 dw offset sub_C847A seg000:82DB seg000:82DB ; =============== S U B R O U T I N E ======================================= seg000:82DB seg000:82DB seg000:82DB sub_C82DB proc near ; CODE XREF: sub_C433B+11p seg000:82DB ; seg000:A1F4p seg000:82DB ; DATA XREF: ... seg000:82DB push bx seg000:82DC xor bh, bh seg000:82DE mov si, bx seg000:82E0 cmp bl, 5 seg000:82E3 jb short loc_C82F8 seg000:82E5 sub bl, 0Bh seg000:82E8 mov si, bx seg000:82EA cmp bl, 5 seg000:82ED jb loc_C83B0 seg000:82F1 cmp bl, 0Ch seg000:82F4 jnb loc_C83B0 seg000:82F8 seg000:82F8 loc_C82F8: ; CODE XREF: sub_C82DB+8j seg000:82F8 cmp bl, 5 seg000:82FB ja short loc_C8372 seg000:82FD test word ptr cs:byte_C0139+123h, 20h seg000:8304 jz short loc_C8372 seg000:8306 call sub_C6341 seg000:8309 jz short loc_C8310 seg000:830B cmp cx, 0Fh seg000:830E jnz short loc_C8372 seg000:8310 seg000:8310 loc_C8310: ; CODE XREF: sub_C82DB+2Ej seg000:8310 pop bx seg000:8311 push es seg000:8312 push di seg000:8313 or bl, bl seg000:8315 jnz short loc_C831D seg000:8317 xor ax, ax seg000:8319 mov es, ax seg000:831B mov di, ax seg000:831D seg000:831D loc_C831D: ; CODE XREF: sub_C82DB+3Aj seg000:831D test word ptr cs:byte_C0139+123h, 100h seg000:8324 jz short loc_C8363 seg000:8326 cmp bl, 1 seg000:8329 ja short loc_C8363 seg000:832B push bx seg000:832C mov ax, 5F80h seg000:832F mov bl, 2 seg000:8331 mov bh, 0 seg000:8333 int 15h seg000:8335 pop bx seg000:8336 cmp ax, 5Fh ; '_' seg000:8339 jnz short loc_C835A seg000:833B or bl, bl seg000:833D jnz short loc_C8345 seg000:833F mov bl, 3 seg000:8341 pop di seg000:8342 pop es seg000:8343 jmp short loc_C8358 seg000:8345 ; --------------------------------------------------------------------------- seg000:8345 seg000:8345 loc_C8345: ; CODE XREF: sub_C82DB+62j seg000:8345 push ax seg000:8346 mov ax, es seg000:8348 mov ds, ax seg000:834A pop ax seg000:834B pop si seg000:834C pop es seg000:834D xchg si, di seg000:834F mov cx, 80h ; 'Ç' seg000:8352 rep movsb seg000:8354 sub di, 80h ; 'Ç' seg000:8358 seg000:8358 loc_C8358: ; CODE XREF: sub_C82DB+68j seg000:8358 jmp short loc_C8361 seg000:835A ; --------------------------------------------------------------------------- seg000:835A seg000:835A loc_C835A: ; CODE XREF: sub_C82DB+5Ej seg000:835A mov ax, 5F15h seg000:835D int 15h seg000:835F pop di seg000:8360 pop es seg000:8361 seg000:8361 loc_C8361: ; CODE XREF: sub_C82DB:loc_C8358j seg000:8361 jmp short loc_C836A seg000:8363 ; --------------------------------------------------------------------------- seg000:8363 seg000:8363 loc_C8363: ; CODE XREF: sub_C82DB+49j seg000:8363 ; sub_C82DB+4Ej seg000:8363 mov ax, 5F15h seg000:8366 int 15h seg000:8368 pop di seg000:8369 pop es seg000:836A seg000:836A loc_C836A: ; CODE XREF: sub_C82DB:loc_C8361j seg000:836A cmp al, 5Fh ; '_' seg000:836C jnz short loc_C8371 seg000:836E mov al, 4Fh ; 'O' seg000:8370 retn seg000:8371 ; --------------------------------------------------------------------------- seg000:8371 seg000:8371 loc_C8371: ; CODE XREF: sub_C82DB+91j seg000:8371 push bx seg000:8372 seg000:8372 loc_C8372: ; CODE XREF: sub_C82DB+20j seg000:8372 ; sub_C82DB+29j ... seg000:8372 shl si, 1 seg000:8374 pop bx seg000:8375 rol eax, 10h seg000:8379 push ax seg000:837A rol eax, 10h seg000:837E cmp cx, 0Eh seg000:8381 jb short loc_C8388 seg000:8383 mov ax, 24Fh seg000:8386 jmp short loc_C83A6 seg000:8388 ; --------------------------------------------------------------------------- seg000:8388 seg000:8388 loc_C8388: ; CODE XREF: sub_C82DB+A6j seg000:8388 cmp bl, 11h seg000:838B jb short loc_C83A1 seg000:838D push cx seg000:838E call sub_C42BA seg000:8391 call sub_C6273 seg000:8394 mov al, 0 seg000:8396 call sub_C62F8 seg000:8399 call cs:off_C82C3[si] seg000:839E pop cx seg000:839F jmp short loc_C83A6 seg000:83A1 ; --------------------------------------------------------------------------- seg000:83A1 seg000:83A1 loc_C83A1: ; CODE XREF: sub_C82DB+B0j seg000:83A1 call cs:off_C82C3[si] seg000:83A6 seg000:83A6 loc_C83A6: ; CODE XREF: sub_C82DB+ABj seg000:83A6 ; sub_C82DB+C4j seg000:83A6 rol eax, 10h seg000:83AA pop ax seg000:83AB rol eax, 10h seg000:83AF retn seg000:83B0 ; --------------------------------------------------------------------------- seg000:83B0 seg000:83B0 loc_C83B0: ; CODE XREF: sub_C82DB+12j seg000:83B0 ; sub_C82DB+19j seg000:83B0 pop bx seg000:83B1 mov ax, 14Fh seg000:83B4 retn seg000:83B4 sub_C82DB endp seg000:83B4 seg000:83B5 seg000:83B5 ; =============== S U B R O U T I N E ======================================= seg000:83B5 seg000:83B5 seg000:83B5 sub_C83B5 proc near ; CODE XREF: sub_C82DB+BEp seg000:83B5 ; sub_C82DB:loc_C83A1p seg000:83B5 ; DATA XREF: ... seg000:83B5 call sub_C42BA seg000:83B8 xor bx, bx seg000:83BA mov al, 0A0h ; 'á' seg000:83BC call sub_CA92B seg000:83BF jz short loc_C83C6 seg000:83C1 or bl, 2 seg000:83C4 jmp short loc_C83DC seg000:83C6 ; --------------------------------------------------------------------------- seg000:83C6 seg000:83C6 loc_C83C6: ; CODE XREF: sub_C83B5+Aj seg000:83C6 mov al, 0A2h ; 'ó' seg000:83C8 call sub_CA92B seg000:83CB jz short loc_C83D2 seg000:83CD or bl, 8 seg000:83D0 jmp short loc_C83DC seg000:83D2 ; --------------------------------------------------------------------------- seg000:83D2 seg000:83D2 loc_C83D2: ; CODE XREF: sub_C83B5+16j seg000:83D2 mov al, 0A6h ; 'Ž' seg000:83D4 call sub_CA92B seg000:83D7 jz short loc_C83DC seg000:83D9 or bl, 10h seg000:83DC seg000:83DC loc_C83DC: ; CODE XREF: sub_C83B5+Fj seg000:83DC ; sub_C83B5+1Bj ... seg000:83DC or bl, bl seg000:83DE jz short loc_C83E8 seg000:83E0 mov bh, 1 seg000:83E2 or bl, 80h seg000:83E5 mov cx, 200h seg000:83E8 seg000:83E8 loc_C83E8: ; CODE XREF: sub_C83B5+29j seg000:83E8 mov ax, 4Fh ; 'O' seg000:83EB retn seg000:83EB sub_C83B5 endp seg000:83EB seg000:83EC seg000:83EC ; =============== S U B R O U T I N E ======================================= seg000:83EC seg000:83EC seg000:83EC sub_C83EC proc near ; CODE XREF: sub_C82DB+BEp seg000:83EC ; sub_C82DB:loc_C83A1p seg000:83EC ; DATA XREF: ... seg000:83EC mov ax, 0A0h ; 'á' seg000:83EF call sub_CA94A seg000:83F2 retn seg000:83F2 sub_C83EC endp seg000:83F2 seg000:83F3 seg000:83F3 ; =============== S U B R O U T I N E ======================================= seg000:83F3 seg000:83F3 seg000:83F3 sub_C83F3 proc near ; CODE XREF: sub_C82DB+BEp seg000:83F3 ; sub_C82DB:loc_C83A1p seg000:83F3 ; DATA XREF: ... seg000:83F3 mov ax, 0A2h ; 'ó' seg000:83F6 call sub_C8401 seg000:83F9 retn seg000:83F9 sub_C83F3 endp seg000:83F9 seg000:83FA seg000:83FA ; =============== S U B R O U T I N E ======================================= seg000:83FA seg000:83FA seg000:83FA sub_C83FA proc near ; CODE XREF: sub_C82DB+BEp seg000:83FA ; sub_C82DB:loc_C83A1p seg000:83FA ; DATA XREF: ... seg000:83FA mov ax, 0A6h ; 'Ž' seg000:83FD call sub_C8401 seg000:8400 retn seg000:8400 sub_C83FA endp seg000:8400 seg000:8401 seg000:8401 ; =============== S U B R O U T I N E ======================================= seg000:8401 seg000:8401 seg000:8401 sub_C8401 proc near ; CODE XREF: sub_C83F3+3p seg000:8401 ; sub_C83FA+3p seg000:8401 cmp dx, 0FFFFh seg000:8404 jnz short loc_C840A seg000:8406 call sub_CA943 seg000:8409 retn seg000:840A ; --------------------------------------------------------------------------- seg000:840A seg000:840A loc_C840A: ; CODE XREF: sub_C8401+3j seg000:840A call sub_CA94A seg000:840D retn seg000:840D sub_C8401 endp seg000:840D seg000:840E seg000:840E ; =============== S U B R O U T I N E ======================================= seg000:840E seg000:840E seg000:840E sub_C840E proc near ; CODE XREF: sub_C82DB+BEp seg000:840E ; sub_C82DB:loc_C83A1p seg000:840E ; DATA XREF: ... seg000:840E mov bl, 0Fh seg000:8410 mov cx, 100h seg000:8413 mov dx, 0Dh seg000:8416 mov ax, 4Fh ; 'O' seg000:8419 retn seg000:8419 sub_C840E endp seg000:8419 seg000:841A seg000:841A ; =============== S U B R O U T I N E ======================================= seg000:841A seg000:841A seg000:841A sub_C841A proc near ; CODE XREF: sub_C82DB+BEp seg000:841A ; sub_C82DB:loc_C83A1p seg000:841A ; DATA XREF: ... seg000:841A push bx seg000:841B call sub_C4272 seg000:841E jb short loc_C8428 seg000:8420 call sub_C3F78 seg000:8423 mov ax, 4Fh ; 'O' seg000:8426 jmp short loc_C842B seg000:8428 ; --------------------------------------------------------------------------- seg000:8428 seg000:8428 loc_C8428: ; CODE XREF: sub_C841A+4j seg000:8428 mov ax, 14Fh seg000:842B seg000:842B loc_C842B: ; CODE XREF: sub_C841A+Cj seg000:842B pop bx seg000:842C retn seg000:842C sub_C841A endp seg000:842C seg000:842D seg000:842D ; =============== S U B R O U T I N E ======================================= seg000:842D seg000:842D seg000:842D sub_C842D proc near ; CODE XREF: sub_C82DB+BEp seg000:842D ; sub_C82DB:loc_C83A1p seg000:842D ; DATA XREF: ... seg000:842D call sub_C42AF seg000:8430 mov ax, 4Fh ; 'O' seg000:8433 retn seg000:8433 sub_C842D endp seg000:8433 seg000:8434 seg000:8434 ; =============== S U B R O U T I N E ======================================= seg000:8434 seg000:8434 seg000:8434 sub_C8434 proc near ; CODE XREF: sub_C82DB+BEp seg000:8434 ; sub_C82DB:loc_C83A1p seg000:8434 ; DATA XREF: ... seg000:8434 cmp dx, 1 seg000:8437 ja short loc_C844D seg000:8439 call sub_C3F78 seg000:843C or dx, dx seg000:843E jnz short loc_C8445 seg000:8440 call sub_C3FE4 seg000:8443 jmp short loc_C8448 seg000:8445 ; --------------------------------------------------------------------------- seg000:8445 seg000:8445 loc_C8445: ; CODE XREF: sub_C8434+Aj seg000:8445 call sub_C3FF8 seg000:8448 seg000:8448 loc_C8448: ; CODE XREF: sub_C8434+Fj seg000:8448 mov ax, 4Fh ; 'O' seg000:844B jmp short locret_C8450 seg000:844D ; --------------------------------------------------------------------------- seg000:844D seg000:844D loc_C844D: ; CODE XREF: sub_C8434+3j seg000:844D mov ax, 14Fh seg000:8450 seg000:8450 locret_C8450: ; CODE XREF: sub_C8434+17j seg000:8450 retn seg000:8450 sub_C8434 endp seg000:8450 seg000:8451 seg000:8451 ; =============== S U B R O U T I N E ======================================= seg000:8451 seg000:8451 seg000:8451 sub_C8451 proc near ; CODE XREF: sub_C82DB+BEp seg000:8451 ; sub_C82DB:loc_C83A1p seg000:8451 ; DATA XREF: ... seg000:8451 cmp dx, 1 seg000:8454 ja short loc_C846A seg000:8456 call sub_C3F78 seg000:8459 or dx, dx seg000:845B jnz short loc_C8462 seg000:845D call sub_C3FC1 seg000:8460 jmp short loc_C8465 seg000:8462 ; --------------------------------------------------------------------------- seg000:8462 seg000:8462 loc_C8462: ; CODE XREF: sub_C8451+Aj seg000:8462 call sub_C3FC8 seg000:8465 seg000:8465 loc_C8465: ; CODE XREF: sub_C8451+Fj seg000:8465 mov ax, 4Fh ; 'O' seg000:8468 jmp short locret_C846D seg000:846A ; --------------------------------------------------------------------------- seg000:846A seg000:846A loc_C846A: ; CODE XREF: sub_C8451+3j seg000:846A mov ax, 14Fh seg000:846D seg000:846D locret_C846D: ; CODE XREF: sub_C8451+17j seg000:846D retn seg000:846D sub_C8451 endp seg000:846D seg000:846E seg000:846E ; =============== S U B R O U T I N E ======================================= seg000:846E seg000:846E seg000:846E sub_C846E proc near ; CODE XREF: sub_C82DB+BEp seg000:846E ; sub_C82DB:loc_C83A1p seg000:846E ; DATA XREF: ... seg000:846E xor dx, dx seg000:8470 call sub_C3F89 seg000:8473 jz short loc_C8476 seg000:8475 inc dx seg000:8476 seg000:8476 loc_C8476: ; CODE XREF: sub_C846E+5j seg000:8476 mov ax, 4Fh ; 'O' seg000:8479 retn seg000:8479 sub_C846E endp seg000:8479 seg000:847A seg000:847A ; =============== S U B R O U T I N E ======================================= seg000:847A seg000:847A seg000:847A sub_C847A proc near ; CODE XREF: sub_C82DB+BEp seg000:847A ; sub_C82DB:loc_C83A1p seg000:847A ; DATA XREF: ... seg000:847A xor dx, dx seg000:847C call sub_C3F92 seg000:847F jz short loc_C8482 seg000:8481 inc dx seg000:8482 seg000:8482 loc_C8482: ; CODE XREF: sub_C847A+5j seg000:8482 mov ax, 4Fh ; 'O' seg000:8485 retn seg000:8485 sub_C847A endp seg000:8485 seg000:8486 ; --------------------------------------------------------------------------- seg000:8486 ; START OF FUNCTION CHUNK FOR sub_C463B seg000:8486 seg000:8486 loc_C8486: ; CODE XREF: sub_C463B+1Ej seg000:8486 ; DATA XREF: seg000:off_C45EBo seg000:8486 mov bl, 10h seg000:8488 mov ax, 4Fh ; 'O' seg000:848B retn seg000:848C ; --------------------------------------------------------------------------- seg000:848C seg000:848C loc_C848C: ; CODE XREF: sub_C463B+1Ej seg000:848C ; DATA XREF: seg000:45EFo seg000:848C push dx seg000:848D xor dx, dx seg000:848F call sub_C343A seg000:8492 jz short loc_C84B7 seg000:8494 cmp bh, 80h ; 'Ç' seg000:8497 jb short loc_C84B7 seg000:8499 and bh, 7Fh seg000:849C test word ptr cs:byte_C0139+123h, 40h seg000:84A3 jz short loc_C84B7 seg000:84A5 cmp bh, 1 seg000:84A8 ja short loc_C84B7 seg000:84AA mov ax, 5F14h seg000:84AD int 15h seg000:84AF cmp al, 5Fh ; '_' seg000:84B1 jnz short loc_C84B7 seg000:84B3 mov dl, 4Fh ; 'O' seg000:84B5 mov dh, ah seg000:84B7 seg000:84B7 loc_C84B7: ; CODE XREF: sub_C463B+3E57j seg000:84B7 ; sub_C463B+3E5Cj ... seg000:84B7 cmp dl, 4Fh ; 'O' seg000:84BA jz short loc_C8528 seg000:84BC cmp bh, 1 seg000:84BF jnz short loc_C8514 seg000:84C1 cmp cl, 3 seg000:84C4 jbe short loc_C84CA seg000:84C6 mov dh, 1 seg000:84C8 jmp short loc_C84DB seg000:84CA ; --------------------------------------------------------------------------- seg000:84CA seg000:84CA loc_C84CA: ; CODE XREF: sub_C463B+3E89j seg000:84CA call sub_C343A seg000:84CD jz short loc_C84DB seg000:84CF mov al, 3Eh ; '>' seg000:84D1 call sub_C126B seg000:84D4 test ah, 10h seg000:84D7 jz short loc_C84DB seg000:84D9 mov dh, 1 seg000:84DB seg000:84DB loc_C84DB: ; CODE XREF: sub_C463B+3E8Dj seg000:84DB ; sub_C463B+3E92j ... seg000:84DB or dh, dh seg000:84DD jnz short loc_C851B seg000:84DF call sub_C36B6 seg000:84E2 jb short loc_C8512 seg000:84E4 mov al, 3Eh ; '>' seg000:84E6 call sub_C126B seg000:84E9 or ah, 10h seg000:84EC call sub_C127D seg000:84EF push ax seg000:84F0 mov al, 1Ch seg000:84F2 mov ah, cl seg000:84F4 call sub_C127D seg000:84F7 push dx seg000:84F8 push di seg000:84F9 push bx seg000:84FA mov bl, 4 seg000:84FC call loc_C3031 seg000:84FF pop bx seg000:8500 mov di, 26B0h seg000:8503 call sub_C256D seg000:8506 call loc_C3125 seg000:8509 pop di seg000:850A pop dx seg000:850B pop ax seg000:850C and ah, 0EFh seg000:850F call sub_C127D seg000:8512 seg000:8512 loc_C8512: ; CODE XREF: sub_C463B+3EA7j seg000:8512 jmp short loc_C851B seg000:8514 ; --------------------------------------------------------------------------- seg000:8514 seg000:8514 loc_C8514: ; CODE XREF: sub_C463B+3E84j seg000:8514 cmp bh, 2 seg000:8517 jb short loc_C851B seg000:8519 mov dh, 1 seg000:851B seg000:851B loc_C851B: ; CODE XREF: sub_C463B+3EA2j seg000:851B ; sub_C463B:loc_C8512j ... seg000:851B or dh, dh seg000:851D jnz short loc_C8526 seg000:851F mov al, 1Ch seg000:8521 call sub_C126B seg000:8524 mov bl, ah seg000:8526 seg000:8526 loc_C8526: ; CODE XREF: sub_C463B+3EE2j seg000:8526 mov dl, 4Fh ; 'O' seg000:8528 seg000:8528 loc_C8528: ; CODE XREF: sub_C463B+3E7Fj seg000:8528 mov ax, dx seg000:852A pop dx seg000:852B retn seg000:852C ; --------------------------------------------------------------------------- seg000:852C seg000:852C loc_C852C: ; CODE XREF: sub_C463B+1Ej seg000:852C ; DATA XREF: seg000:45F7o seg000:852C mov ax, 4Fh ; 'O' seg000:852F retn seg000:8530 ; --------------------------------------------------------------------------- seg000:8530 seg000:8530 loc_C8530: ; CODE XREF: sub_C463B+1Ej seg000:8530 ; DATA XREF: seg000:4623o seg000:8530 push bx seg000:8531 mov bh, dl seg000:8533 mov bl, ch seg000:8535 call sub_CAA18 seg000:8538 mov dh, bl seg000:853A sbb ah, ah seg000:853C and ah, 4 seg000:853F mov al, 4Fh ; 'O' seg000:8541 pop bx seg000:8542 retn seg000:8543 ; --------------------------------------------------------------------------- seg000:8543 seg000:8543 loc_C8543: ; CODE XREF: sub_C463B+1Ej seg000:8543 ; DATA XREF: seg000:4625o seg000:8543 push bx seg000:8544 mov ah, dh seg000:8546 mov bh, dl seg000:8548 mov bl, ch seg000:854A call sub_C420C seg000:854D sbb ah, ah seg000:854F and ah, 4 seg000:8552 mov al, 4Fh ; 'O' seg000:8554 pop bx seg000:8555 retn seg000:8555 ; END OF FUNCTION CHUNK FOR sub_C463B seg000:8555 ; --------------------------------------------------------------------------- seg000:8556 off_C8556 dw offset sub_C8596 ; DATA XREF: sub_C463B+3F4Fr seg000:8558 dw offset sub_C85BF seg000:855A dw offset sub_C85DB seg000:855C dw offset sub_C8658 seg000:855E dw offset sub_C866E seg000:8560 dw offset sub_C86CB seg000:8562 dw offset sub_C86EB seg000:8564 dw offset sub_C860E seg000:8566 dw offset sub_C8720 seg000:8568 dw offset sub_C8732 seg000:856A dw offset sub_C874B seg000:856C dw offset sub_C8759 seg000:856E ; --------------------------------------------------------------------------- seg000:856E ; START OF FUNCTION CHUNK FOR sub_C463B seg000:856E seg000:856E loc_C856E: ; CODE XREF: sub_C463B+1Ej seg000:856E ; DATA XREF: seg000:4629o seg000:856E call sub_C4843 seg000:8571 mov ax, 14Fh seg000:8574 push bx seg000:8575 and bh, 7Fh seg000:8578 cmp bh, 0Ch seg000:857B pop bx seg000:857C jnb short loc_C8590 seg000:857E push bx seg000:857F xor ax, ax seg000:8581 and bh, 7Fh seg000:8584 mov al, bh seg000:8586 shl ax, 1 seg000:8588 mov si, ax seg000:858A call cs:off_C8556[si] seg000:858F pop bx seg000:8590 seg000:8590 loc_C8590: ; CODE XREF: sub_C463B+3F41j seg000:8590 call sub_C48B5 seg000:8593 mov al, 4Fh ; 'O' seg000:8595 retn seg000:8595 ; END OF FUNCTION CHUNK FOR sub_C463B seg000:8596 seg000:8596 ; =============== S U B R O U T I N E ======================================= seg000:8596 seg000:8596 seg000:8596 sub_C8596 proc near ; CODE XREF: sub_C463B+3F4Fp seg000:8596 ; sub_C8703+4p seg000:8596 ; DATA XREF: ... seg000:8596 call sub_C26AA seg000:8599 mov al, 0Eh seg000:859B xor cl, cl seg000:859D call sub_C22FB seg000:85A0 jb short loc_C85A4 seg000:85A2 mov ch, al seg000:85A4 seg000:85A4 loc_C85A4: ; CODE XREF: sub_C8596+Aj seg000:85A4 ; sub_C8596+1Fj seg000:85A4 mov al, ch seg000:85A6 dec al seg000:85A8 call sub_C237A seg000:85AB cmp ah, 0Fh seg000:85AE jnz short loc_C85B2 seg000:85B0 dec ch seg000:85B2 seg000:85B2 loc_C85B2: ; CODE XREF: sub_C8596+18j seg000:85B2 cmp ah, 0Fh seg000:85B5 jz short loc_C85A4 seg000:85B7 mov cl, ch seg000:85B9 mov ch, 1 seg000:85BB mov ax, 4Fh ; 'O' seg000:85BE retn seg000:85BE sub_C8596 endp seg000:85BE seg000:85BF seg000:85BF ; =============== S U B R O U T I N E ======================================= seg000:85BF seg000:85BF seg000:85BF sub_C85BF proc near ; CODE XREF: sub_C463B+3F4Fp seg000:85BF ; DATA XREF: seg000:8558o seg000:85BF push bx seg000:85C0 call sub_C8703 seg000:85C3 jnz short loc_C85D9 seg000:85C5 mov al, cl seg000:85C7 call sub_C237A seg000:85CA call sub_C1F99 seg000:85CD mov ch, ah seg000:85CF call sub_C2141 seg000:85D2 mov dh, ah seg000:85D4 mov dl, bl seg000:85D6 mov ax, 4Fh ; 'O' seg000:85D9 seg000:85D9 loc_C85D9: ; CODE XREF: sub_C85BF+4j seg000:85D9 pop bx seg000:85DA retn seg000:85DA sub_C85BF endp seg000:85DA seg000:85DB seg000:85DB ; =============== S U B R O U T I N E ======================================= seg000:85DB seg000:85DB seg000:85DB sub_C85DB proc near ; CODE XREF: sub_C463B+3F4Fp seg000:85DB ; DATA XREF: seg000:855Ao seg000:85DB call nullsub_2 seg000:85DE call nullsub_2 seg000:85E1 call sub_C8703 seg000:85E4 jnz short locret_C85F8 seg000:85E6 xor ch, ch seg000:85E8 xor ah, ah seg000:85EA mov al, cl seg000:85EC call sub_C2449 seg000:85EF call sub_C215C seg000:85F2 setb ch seg000:85F5 mov ax, 4Fh ; 'O' seg000:85F8 seg000:85F8 locret_C85F8: ; CODE XREF: sub_C85DB+9j seg000:85F8 retn seg000:85F8 sub_C85DB endp seg000:85F8 seg000:85F9 seg000:85F9 ; =============== S U B R O U T I N E ======================================= seg000:85F9 seg000:85F9 seg000:85F9 sub_C85F9 proc near ; CODE XREF: sub_C25E7+2Cp seg000:85F9 push ax seg000:85FA push cx seg000:85FB call sub_C24B3 seg000:85FE mov cl, al seg000:8600 inc cl seg000:8602 xor ax, ax seg000:8604 call sub_C215C seg000:8607 rcl ax, cl seg000:8609 or si, ax seg000:860B pop cx seg000:860C pop ax seg000:860D retn seg000:860D sub_C85F9 endp seg000:860D seg000:860E seg000:860E ; =============== S U B R O U T I N E ======================================= seg000:860E seg000:860E seg000:860E sub_C860E proc near ; CODE XREF: sub_C463B+3F4Fp seg000:860E ; DATA XREF: seg000:8564o seg000:860E push bx seg000:860F push cx seg000:8610 push dx seg000:8611 push esi seg000:8613 push eax seg000:8615 call nullsub_2 seg000:8618 call nullsub_2 seg000:861B mov cx, 4 seg000:861E mov esi, 0E500h seg000:8624 seg000:8624 loc_C8624: ; CODE XREF: sub_C860E+1Fj seg000:8624 call sub_C475C seg000:8627 push eax seg000:8629 add esi, 50h ; 'P' seg000:862D loop loc_C8624 seg000:862F xor si, si seg000:8631 mov di, 85F9h seg000:8634 call sub_C25E7 seg000:8637 mov di, si seg000:8639 mov cx, 4 seg000:863C mov esi, 0E5F0h seg000:8642 seg000:8642 loc_C8642: ; CODE XREF: sub_C860E+3Dj seg000:8642 pop eax seg000:8644 call sub_C4741 seg000:8647 sub esi, 50h ; 'P' seg000:864B loop loc_C8642 seg000:864D pop eax seg000:864F mov ax, 4Fh ; 'O' seg000:8652 pop esi seg000:8654 pop dx seg000:8655 pop cx seg000:8656 pop bx seg000:8657 retn seg000:8657 sub_C860E endp ; sp-analysis failed seg000:8657 seg000:8658 seg000:8658 ; =============== S U B R O U T I N E ======================================= seg000:8658 seg000:8658 seg000:8658 sub_C8658 proc near ; CODE XREF: sub_C463B+3F4Fp seg000:8658 ; DATA XREF: seg000:855Co seg000:8658 call sub_C8703 seg000:865B jnz short locret_C866D seg000:865D xor ch, ch seg000:865F mov al, cl seg000:8661 call sub_C2726 seg000:8664 jnb short loc_C866A seg000:8666 mov dl, ah seg000:8668 inc ch seg000:866A seg000:866A loc_C866A: ; CODE XREF: sub_C8658+Cj seg000:866A mov ax, 4Fh ; 'O' seg000:866D seg000:866D locret_C866D: ; CODE XREF: sub_C8658+3j seg000:866D retn seg000:866D sub_C8658 endp seg000:866D seg000:866E seg000:866E ; =============== S U B R O U T I N E ======================================= seg000:866E seg000:866E seg000:866E sub_C866E proc near ; CODE XREF: sub_C463B+3F4Fp seg000:866E ; DATA XREF: seg000:855Eo seg000:866E push dx seg000:866F push bx seg000:8670 push di seg000:8671 call sub_C8703 seg000:8674 jnz short loc_C86C7 seg000:8676 mov ax, 14Fh seg000:8679 cmp ch, 4 seg000:867C jnb short loc_C86C7 seg000:867E mov bl, 2 seg000:8680 call loc_C3031 seg000:8683 mov al, cl seg000:8685 xor bx, bx seg000:8687 call sub_C2726 seg000:868A jnb short loc_C869A seg000:868C cmp ah, ch seg000:868E jnz short loc_C8693 seg000:8690 stc seg000:8691 jmp short loc_C869A seg000:8693 ; --------------------------------------------------------------------------- seg000:8693 seg000:8693 loc_C8693: ; CODE XREF: sub_C866E+20j seg000:8693 call sub_C2449 seg000:8696 call sub_C2225 seg000:8699 clc seg000:869A seg000:869A loc_C869A: ; CODE XREF: sub_C866E+1Cj seg000:869A ; sub_C866E+23j seg000:869A jb short loc_C86BA seg000:869C mov al, ch seg000:869E inc bl seg000:86A0 call sub_C24DD seg000:86A3 jb short loc_C86BA seg000:86A5 mov di, 871Ah seg000:86A8 call sub_C2556 seg000:86AB cmp dl, 1 seg000:86AE jnb short loc_C86BA seg000:86B0 mov ax, cx seg000:86B2 call sub_C2449 seg000:86B5 call sub_C21F5 seg000:86B8 xor bl, bl seg000:86BA seg000:86BA loc_C86BA: ; CODE XREF: sub_C866E:loc_C869Aj seg000:86BA ; sub_C866E+35j ... seg000:86BA call loc_C3125 seg000:86BD mov ax, 4Fh ; 'O' seg000:86C0 or bl, bl seg000:86C2 jz short loc_C86C7 seg000:86C4 mov ax, 14Fh seg000:86C7 seg000:86C7 loc_C86C7: ; CODE XREF: sub_C866E+6j seg000:86C7 ; sub_C866E+Ej ... seg000:86C7 pop di seg000:86C8 pop bx seg000:86C9 pop dx seg000:86CA retn seg000:86CA sub_C866E endp seg000:86CA seg000:86CB seg000:86CB ; =============== S U B R O U T I N E ======================================= seg000:86CB seg000:86CB seg000:86CB sub_C86CB proc near ; CODE XREF: sub_C463B+3F4Fp seg000:86CB ; DATA XREF: seg000:8560o seg000:86CB push bx seg000:86CC call sub_C8703 seg000:86CF jnz short loc_C86E9 seg000:86D1 mov al, cl seg000:86D3 call sub_C2726 seg000:86D6 jnb short loc_C86E6 seg000:86D8 call sub_C2449 seg000:86DB mov bl, 2 seg000:86DD call loc_C3031 seg000:86E0 call sub_C2225 seg000:86E3 call loc_C3125 seg000:86E6 seg000:86E6 loc_C86E6: ; CODE XREF: sub_C86CB+Bj seg000:86E6 mov ax, 4Fh ; 'O' seg000:86E9 seg000:86E9 loc_C86E9: ; CODE XREF: sub_C86CB+4j seg000:86E9 pop bx seg000:86EA retn seg000:86EA sub_C86CB endp seg000:86EA seg000:86EB seg000:86EB ; =============== S U B R O U T I N E ======================================= seg000:86EB seg000:86EB seg000:86EB sub_C86EB proc near ; CODE XREF: sub_C463B+3F4Fp seg000:86EB ; DATA XREF: seg000:8562o seg000:86EB push bx seg000:86EC push di seg000:86ED push dx seg000:86EE mov bl, 2 seg000:86F0 call loc_C3031 seg000:86F3 mov di, 2225h seg000:86F6 call sub_C256D seg000:86F9 call loc_C3125 seg000:86FC mov ax, 4Fh ; 'O' seg000:86FF pop dx seg000:8700 pop di seg000:8701 pop bx seg000:8702 retn seg000:8702 sub_C86EB endp seg000:8702 seg000:8703 seg000:8703 ; =============== S U B R O U T I N E ======================================= seg000:8703 seg000:8703 seg000:8703 sub_C8703 proc near ; CODE XREF: sub_C85BF+1p seg000:8703 ; sub_C85DB+6p ... seg000:8703 push cx seg000:8704 push bx seg000:8705 mov bl, cl seg000:8707 call sub_C8596 seg000:870A mov ax, 4Fh ; 'O' seg000:870D cmp bl, cl seg000:870F jb short loc_C8714 seg000:8711 mov ax, 14Fh seg000:8714 seg000:8714 loc_C8714: ; CODE XREF: sub_C8703+Cj seg000:8714 cmp ax, 4Fh ; 'O' seg000:8717 pop bx seg000:8718 pop cx seg000:8719 retn seg000:8719 sub_C8703 endp seg000:8719 seg000:871A ; --------------------------------------------------------------------------- seg000:871A push dx seg000:871B call sub_C24DD seg000:871E pop dx seg000:871F retn seg000:8720 seg000:8720 ; =============== S U B R O U T I N E ======================================= seg000:8720 seg000:8720 seg000:8720 sub_C8720 proc near ; CODE XREF: sub_C463B+3F4Fp seg000:8720 ; DATA XREF: seg000:8566o seg000:8720 push bx seg000:8721 mov al, ch seg000:8723 call sub_C22FB seg000:8726 mov cl, al seg000:8728 mov ax, 4Fh ; 'O' seg000:872B jnb short loc_C8730 seg000:872D mov ax, 14Fh seg000:8730 seg000:8730 loc_C8730: ; CODE XREF: sub_C8720+Bj seg000:8730 pop bx seg000:8731 retn seg000:8731 sub_C8720 endp seg000:8731 seg000:8732 seg000:8732 ; =============== S U B R O U T I N E ======================================= seg000:8732 seg000:8732 seg000:8732 sub_C8732 proc near ; CODE XREF: sub_C463B+3F4Fp seg000:8732 ; DATA XREF: seg000:8568o seg000:8732 push cx seg000:8733 call sub_C8703 seg000:8736 jnz short loc_C8749 seg000:8738 mov ch, 1 seg000:873A shl ch, cl seg000:873C mov al, 1Fh seg000:873E call sub_C126B seg000:8741 or ah, ch seg000:8743 call sub_C127D seg000:8746 mov ax, 4Fh ; 'O' seg000:8749 seg000:8749 loc_C8749: ; CODE XREF: sub_C8732+4j seg000:8749 pop cx seg000:874A retn seg000:874A sub_C8732 endp seg000:874A seg000:874B seg000:874B ; =============== S U B R O U T I N E ======================================= seg000:874B seg000:874B seg000:874B sub_C874B proc near ; CODE XREF: sub_C463B+3F4Fp seg000:874B ; DATA XREF: seg000:856Ao seg000:874B mov al, dh seg000:874D call sub_C2747 seg000:8750 and ax, 0FFFh seg000:8753 mov cx, ax seg000:8755 mov ax, 4Fh ; 'O' seg000:8758 retn seg000:8758 sub_C874B endp seg000:8758 seg000:8759 seg000:8759 ; =============== S U B R O U T I N E ======================================= seg000:8759 seg000:8759 seg000:8759 sub_C8759 proc near ; CODE XREF: sub_C463B+3F4Fp seg000:8759 ; DATA XREF: seg000:856Co seg000:8759 movzx ax, cl seg000:875C call sub_C2449 seg000:875F call sub_C1FB4 seg000:8762 mov ax, 4Fh ; 'O' seg000:8765 retn seg000:8765 sub_C8759 endp seg000:8765 seg000:8766 ; --------------------------------------------------------------------------- seg000:8766 ; START OF FUNCTION CHUNK FOR sub_C463B seg000:8766 seg000:8766 loc_C8766: ; CODE XREF: sub_C463B+1Ej seg000:8766 ; DATA XREF: seg000:462Fo seg000:8766 mov ax, 14Fh seg000:8769 or bh, bh seg000:876B jnz short locret_C877B seg000:876D call sub_C35F4 seg000:8770 movzx edi, ax seg000:8774 shl edi, 8 seg000:8778 mov ax, 4Fh ; 'O' seg000:877B seg000:877B locret_C877B: ; CODE XREF: sub_C463B+4130j seg000:877B retn seg000:877C ; --------------------------------------------------------------------------- seg000:877C seg000:877C loc_C877C: ; CODE XREF: sub_C463B+1Ej seg000:877C ; DATA XREF: seg000:4633o seg000:877C push bx seg000:877D mov bl, ch seg000:877F or bh, bh seg000:8781 jnz short loc_C878A seg000:8783 call sub_C41A2 seg000:8786 mov dl, bl seg000:8788 jmp short loc_C878D seg000:878A ; --------------------------------------------------------------------------- seg000:878A seg000:878A loc_C878A: ; CODE XREF: sub_C463B+4146j seg000:878A call sub_C421D seg000:878D seg000:878D loc_C878D: ; CODE XREF: sub_C463B+414Dj seg000:878D sbb ah, ah seg000:878F and ah, 4 seg000:8792 mov al, 4Fh ; 'O' seg000:8794 pop bx seg000:8795 retn seg000:8795 ; END OF FUNCTION CHUNK FOR sub_C463B seg000:8795 ; --------------------------------------------------------------------------- seg000:8796 off_C8796 dw offset sub_C87DC ; DATA XREF: sub_C463B+4197r seg000:8798 dw offset sub_C87FE seg000:879A ; --------------------------------------------------------------------------- seg000:879A ; START OF FUNCTION CHUNK FOR sub_C463B seg000:879A seg000:879A loc_C879A: ; CODE XREF: sub_C463B+1Ej seg000:879A ; DATA XREF: seg000:4639o seg000:879A push esi seg000:879C mov ax, 14Fh seg000:879F cmp bh, 2 seg000:87A2 jnb short loc_C87D7 seg000:87A4 push eax seg000:87A6 xor eax, eax seg000:87A9 mov al, 50h ; 'P' seg000:87AB mul cl seg000:87AD mov esi, 0E500h seg000:87B3 add esi, eax seg000:87B6 call sub_C475C seg000:87B9 and eax, 0FFFF0FFCh seg000:87BF or eax, 2002h seg000:87C5 call sub_C4741 seg000:87C8 pop eax seg000:87CA xor ax, ax seg000:87CC mov al, bh seg000:87CE shl ax, 1 seg000:87D0 mov si, ax seg000:87D2 call cs:off_C8796[si] seg000:87D7 seg000:87D7 loc_C87D7: ; CODE XREF: sub_C463B+4167j seg000:87D7 mov al, 4Fh ; 'O' seg000:87D9 pop esi seg000:87DB retn seg000:87DB ; END OF FUNCTION CHUNK FOR sub_C463B seg000:87DC seg000:87DC ; =============== S U B R O U T I N E ======================================= seg000:87DC seg000:87DC ; Attributes: bp-based frame seg000:87DC seg000:87DC sub_C87DC proc near ; CODE XREF: sub_C463B+4197p seg000:87DC ; DATA XREF: seg000:off_C8796o seg000:87DC seg000:87DC var_2A = byte ptr -2Ah seg000:87DC seg000:87DC push bp seg000:87DD mov bp, sp seg000:87DF add sp, 0FFD6h seg000:87E2 push di seg000:87E3 lea di, [bp+var_2A] seg000:87E6 call sub_CBF6D seg000:87E9 mov ss:[di], edx seg000:87ED call sub_CBE2C seg000:87F0 mov dh, ah seg000:87F2 sbb ah, ah seg000:87F4 and ah, 4 seg000:87F7 mov al, 4Fh ; 'O' seg000:87F9 pop di seg000:87FA mov sp, bp seg000:87FC pop bp seg000:87FD retn seg000:87FD sub_C87DC endp seg000:87FD seg000:87FE seg000:87FE ; =============== S U B R O U T I N E ======================================= seg000:87FE seg000:87FE ; Attributes: bp-based frame seg000:87FE seg000:87FE sub_C87FE proc near ; CODE XREF: sub_C463B+4197p seg000:87FE ; DATA XREF: seg000:8798o seg000:87FE seg000:87FE var_2A = byte ptr -2Ah seg000:87FE seg000:87FE push bp seg000:87FF mov bp, sp seg000:8801 add sp, 0FFD6h seg000:8804 push di seg000:8805 lea di, [bp+var_2A] seg000:8808 call sub_CBF6D seg000:880B mov ah, ch seg000:880D mov ss:[di], edx seg000:8811 call sub_CBE1A seg000:8814 sbb ah, ah seg000:8816 and ah, 4 seg000:8819 mov al, 4Fh ; 'O' seg000:881B pop di seg000:881C mov sp, bp seg000:881E pop bp seg000:881F retn seg000:881F sub_C87FE endp seg000:881F seg000:881F ; --------------------------------------------------------------------------- seg000:8820 db 0, 11h, 14h, 2 dup(55h), 8Fh, 2, 1Fh, 3, 97h, 2, 0F7h seg000:8820 db 2, 69h, 1, 0C0h, 1, 89h, 1, 8Bh, 1, 3, 2 dup(0), 11h seg000:8820 db 2 dup(0), 0D6h, 9, 8Fh, 2, 1Fh, 3, 97h, 2, 0F7h, 2 seg000:8820 db 0EFh, 1, 0Ch, 2, 0F1h, 1, 0F3h, 1, 3, 2 dup(0), 11h seg000:8820 db 2 dup(0), 0D6h, 9, 0E1h, 2, 83h, 3, 0EAh, 2, 56h, 3 seg000:8820 db 9Dh, 1, 0C0h, 1, 0A3h, 1, 0A5h, 2 dup(1), 2 dup(0) seg000:8820 db 11h, 2 dup(0), 10h, 0Bh, 50h, 53h, 0E8h, 4Ch, 9Ch, 0E8h seg000:8820 db 2 dup(3), 80h, 0FBh, 7, 0F8h, 75h, 1, 0F9h, 5Bh, 58h seg000:8820 db 0C3h, 51h, 52h, 33h, 0C9h, 0E8h, 2Eh, 97h, 32h, 0C0h seg000:8820 db 80h, 0F9h, 0Eh, 73h, 26h, 33h, 0D2h, 0B0h, 0A0h, 0E8h seg000:8820 db 97h, 20h, 75h, 7, 33h, 0D2h, 0B0h, 0A2h, 0E8h, 8Eh seg000:8820 db 20h, 75h, 7, 33h, 0D2h, 0B0h, 0A6h, 0E8h, 85h, 20h seg000:8820 db 0B0h, 0, 74h, 9, 0E8h, 0B9h, 1Dh, 0B0h, 2, 72h, 2, 0B0h seg000:8820 db 1, 5Ah, 59h, 0C3h, 50h, 0E8h, 0FFh, 97h, 0E8h, 87h seg000:8820 db 0DAh, 74h, 7, 0B4h, 0, 0E8h, 78h, 0DAh, 0EBh, 1Ah, 32h seg000:8820 db 0C0h, 2Eh, 0F6h, 6, 34h, 0, 40h, 75h, 6, 0E8h, 69h seg000:8820 db 0DAh, 0E8h, 0A9h, 0FFh, 3Ch, 1, 75h, 3, 0F9h, 0EBh seg000:8820 db 3, 0E8h, 8Dh, 0FFh, 58h, 0C3h, 55h, 8Bh, 0ECh, 83h seg000:8820 db 0C4h, 0E8h, 50h, 53h, 51h, 52h, 56h, 57h, 1Eh, 6, 0E8h seg000:8820 db 0C6h, 97h, 0E8h, 4Eh, 0DAh, 74h, 5, 0B4h, 0, 0E8h, 3Fh seg000:8820 db 0DAh, 0E8h, 0BEh, 9Bh, 0B3h, 0, 0E8h, 3Dh, 2, 8Dh, 7Eh seg000:8820 db 0E8h, 8Ch, 0D0h, 8Eh, 0C0h, 8Ch, 0C8h, 8Eh, 0D8h, 0FCh seg000:8820 db 8Dh, 76h, 2 dup(0E8h), 98h, 1Eh, 0Ah, 0D2h, 75h, 54h seg000:8820 db 0E8h, 0DEh, 92h, 72h, 2Fh, 0E8h, 96h, 9Bh, 8Bh, 0F7h seg000:8820 db 0E8h, 8Bh, 0EBh, 0BAh, 0CCh, 3, 0ECh, 24h, 2 dup(0C0h) seg000:8820 db 0E8h, 6, 88h, 46h, 0F8h, 32h, 0C0h, 88h, 46h, 0F9h seg000:8820 db 88h, 46h, 0FDh, 88h, 46h, 0FAh, 0C6h, 46h, 0FBh, 11h seg000:8820 db 0C6h, 46h, 0FCh, 0, 0E8h, 0DFh, 0AAh, 89h, 4Eh, 0FEh seg000:8820 db 0EBh, 20h, 0B9h, 18h, 0, 0E8h, 0ABh, 94h, 8Dh, 36h seg000:8820 db 55h, 88h, 3Dh, 0E0h, 1, 75h, 6, 8Dh, 36h, 3Dh, 88h seg000:8820 db 0EBh, 9, 3Dh, 5Eh, 1, 75h, 4, 8Dh, 36h, 25h, 88h, 0F3h seg000:8820 db 0A4h, 8Dh, 36h, 2 dup(0), 0Bh, 0F6h, 74h, 8, 8Dh, 7Eh seg000:8820 db 0E8h, 0B9h, 18h, 0, 0F3h, 0A4h, 8Dh, 76h, 2 dup(0E8h) seg000:8820 db 34h, 9Bh, 0B4h, 0, 0E8h, 81h, 22h, 36h, 8Bh, 4Ch, 16h seg000:8820 db 0E8h, 15h, 8Bh, 36h, 8Ah, 5Ch, 10h, 0E8h, 8Ch, 8Ah seg000:8820 db 0F9h, 7, 1Fh, 5Fh, 5Eh, 5Ah, 59h, 5Bh, 58h, 8Bh, 0E5h seg000:8820 db 5Dh, 0C3h, 50h, 0E8h, 10h, 97h, 0B4h, 55h, 0E8h, 30h seg000:8820 db 1, 0B4h, 0, 0E8h, 2 dup(1), 0E8h, 2Ch, 0FFh, 58h, 0C3h seg000:8820 db 50h, 56h, 0Fh, 0B6h, 0F3h, 2Eh, 8Ah, 0A4h, 20h, 88h seg000:8820 db 0E8h, 0F4h, 96h, 0E8h, 0ECh, 0, 0F9h, 5Eh, 58h, 0C3h seg000:8820 db 50h, 0E8h, 0E9h, 96h, 0B4h, 55h, 0E8h, 9, 1, 0E8h, 88h seg000:8820 db 1, 0F9h, 58h, 0C3h, 50h, 0E8h, 0DAh, 96h, 0E8h, 7Eh seg000:8820 db 1, 58h, 0C3h, 0E8h, 0A8h, 0ACh, 72h, 3, 0E8h, 0F6h seg000:8820 db 0FEh, 0C3h, 0B9h, 40h, 6, 0BAh, 0B0h, 4, 32h, 0C0h seg000:8820 db 0C3h, 50h, 0E8h, 0BFh, 96h, 0E8h, 0Eh, 1, 58h, 0C3h seg000:8820 db 50h, 0E8h, 0B6h, 96h, 0E8h, 22h, 1, 58h, 0C3h, 50h seg000:8820 db 0E8h, 0ADh, 9Ah, 0E8h, 0F7h, 8Ah, 73h, 3, 0E8h, 0D5h seg000:8820 db 3, 58h, 0C3h, 50h, 0E8h, 9Fh, 9Ah, 0E8h, 0E9h, 8Ah seg000:8820 db 73h, 0Ch, 0E8h, 0CFh, 3, 0E8h, 99h, 9Ah, 0E8h, 14h seg000:8820 db 0D9h, 0E8h, 0BDh, 1, 58h, 2 dup(0C3h), 50h seg000:8A2F db 53h, 51h, 52h, 0E8h, 0AAh, 1, 0E8h, 4, 0D9h, 0E8h, 7Eh seg000:8A2F db 9Ah, 0E8h, 0C8h, 8Ah, 73h, 2Ah, 0E8h, 92h, 8Ah, 0B3h seg000:8A2F db 0, 33h, 0D2h, 0E8h, 0EBh, 3, 0E8h, 71h, 9Ah, 53h, 8Bh seg000:8A2F db 0D8h, 0E8h, 0F9h, 2 dup(7Ah), 0, 22h, 61h, 80h, 4 dup(0) seg000:8A2F db 7Ah, 80h, 22h, 61h, 40h, 4 dup(0), 71h, 5Bh, 0E8h, 0D2h seg000:8A2F db 0D8h, 5Ah, 59h, 5Bh, 58h, 0C3h, 50h, 53h, 51h, 52h seg000:8A2F db 0E8h, 43h, 9Ah, 0E8h, 8Dh, 8Ah, 73h, 0Ah, 0E8h, 57h seg000:8A2F db 8Ah, 0B3h, 0, 33h, 0D2h, 0E8h, 0B8h, 3, 5Ah, 59h, 5Bh seg000:8A2F db 58h, 0C3h, 50h, 0B4h, 0, 0E8h, 29h, 9Ah, 0E8h, 0B0h seg000:8A2F db 22h, 58h, 0C3h, 50h, 0E8h, 0ACh, 3, 0E8h, 22h, 9Ah seg000:8A2F db 0F9h, 58h, 0C3h, 52h, 56h, 36h, 0F6h, 45h, 11h, 8, 75h seg000:8A2F db 9, 36h, 8Bh, 55h, 16h, 0BEh, 41h, 9Ch, 3Bh, 0D6h, 5Eh seg000:8A2F db 5Ah, 0C3h, 53h, 66h, 57h, 66h, 0Fh, 0B6h, 0FCh, 8Ah seg000:8A2F db 0D8h, 32h, 0FFh, 0E8h, 8Ah, 7Ah, 56h, 2, 0FFh, 72h seg000:8A2F db 7Ch, 3 dup(0), 80h, 0, 20h, 4, 0A0h, 61h, 40h, 80h seg000:8A2F db 2 dup(0FFh), 3Fh, 0, 56h, 2, 0FFh, 71h, 66h, 5Fh, 5Bh seg000:8A2F db 0C3h, 53h, 66h, 57h, 8Ah, 0D8h, 32h, 0FFh, 66h, 0Fh seg000:8A2F db 0B6h, 0FCh, 0E8h, 60h, 7Ah, 7Eh, 0F0h, 0, 56h, 2, 0FFh seg000:8A2F db 72h, 7Ch, 3 dup(0), 80h, 0, 20h, 4, 0A0h, 61h, 40h seg000:8A2F db 2 dup(0FFh), 80h, 3Fh, 0, 56h, 2, 0FFh, 71h, 66h, 5Fh seg000:8A2F db 5Bh, 0C3h, 53h, 66h, 57h, 66h, 33h, 0FFh, 80h, 0CBh seg000:8A2F db 2, 0Fh, 0B6h, 0FBh, 8Ah, 0D8h, 32h, 0FFh, 0E8h, 2Eh seg000:8A2F db 7Ah, 11h, 1Ch, 0A0h, 61h, 40h, 71h, 66h, 5Fh, 5Bh, 0C3h seg000:8A2F db 66h, 50h, 53h, 8Ah, 0D8h, 32h, 0FFh, 0E8h, 1Ah, 7Ah seg000:8A2F db 2Ch, 1Ch, 0A0h, 61h, 40h, 1Ch, 7Fh, 1, 1Ch, 71h, 5Bh seg000:8A2F db 8Ah, 0D8h, 66h, 58h, 0C3h, 53h, 66h, 51h, 66h, 33h seg000:8A2F db 0C9h, 0Ah, 0EBh, 0Fh, 0B6h, 0DCh, 0Fh, 0ABh, 0D9h, 8Bh seg000:8A2F db 0D8h, 0E8h, 0F7h, 79h, 21h, 0, 0A7h, 61h, 40h, 18h seg000:8A2F db 71h, 66h, 59h, 5Bh, 0C3h, 53h, 8Ah, 0D8h, 32h, 0FFh seg000:8A2F db 0E8h, 0E4h, 79h, 6Eh, 0, 0A7h, 61h, 40h, 0F0h, 3 dup(0FFh) seg000:8A2F db 4 dup(0), 71h, 5Bh, 0C3h, 66h, 50h, 66h, 51h, 66h, 52h seg000:8A2F db 53h, 8Ah, 0D8h, 32h, 0FFh, 0E8h, 0C6h, 79h, 2Ch, 0FCh seg000:8A2F db 9Fh, 61h, 40h, 1Ch, 2Ch, 30h, 0A0h, 61h, 40h, 14h, 7Ah seg000:8A2F db 0FCh, 9Fh, 61h, 40h, 4 dup(0), 7Ah, 30h, 0A0h, 61h seg000:8A2F db 40h, 4 dup(0), 7Ah, 0Ch, 0A0h, 61h, 40h, 2 dup(0), 10h seg000:8A2F db 0, 74h, 1Ch, 25h, 21h, 30h, 0A0h, 61h, 40h, 14h, 7Ah seg000:8A2F db 0Ch, 0A0h, 61h, 40h, 4 dup(0), 2Ch, 0Ch, 0A0h, 61h seg000:8A2F db 40h, 18h, 7Bh, 3 dup(0FFh), 3Fh, 18h, 7Eh, 1Bh, 18h seg000:8A2F db 21h, 0FCh, 9Fh, 61h, 40h, 1Ch, 71h, 5Bh, 8Ah, 0D9h seg000:8A2F db 66h, 5Ah, 66h, 59h, 66h, 58h, 0C3h, 52h, 0BAh, 0, 1 seg000:8A2F db 0E8h, 0C8h, 0, 5Ah, 0C3h, 52h, 0BAh, 2 dup(0), 0E8h seg000:8A2F db 0BFh, 0, 5Ah, 0C3h seg000:8BF1 seg000:8BF1 ; =============== S U B R O U T I N E ======================================= seg000:8BF1 seg000:8BF1 seg000:8BF1 sub_C8BF1 proc near ; CODE XREF: sub_C215C+4p seg000:8BF1 ; seg000:A7BAp seg000:8BF1 push dx seg000:8BF2 mov dx, 101h seg000:8BF5 call sub_C8CAE seg000:8BF8 mov dx, 103h seg000:8BFB call sub_C8CAE seg000:8BFE pop dx seg000:8BFF retn seg000:8BFF sub_C8BF1 endp seg000:8BFF seg000:8C00 seg000:8C00 ; =============== S U B R O U T I N E ======================================= seg000:8C00 seg000:8C00 seg000:8C00 sub_C8C00 proc near ; CODE XREF: sub_C215C:loc_C21B7p seg000:8C00 ; seg000:loc_CA850p seg000:8C00 push dx seg000:8C01 mov dx, 1 seg000:8C04 call sub_C8CAE seg000:8C07 mov dx, 3 seg000:8C0A call sub_C8CAE seg000:8C0D pop dx seg000:8C0E retn seg000:8C0E sub_C8C00 endp seg000:8C0E seg000:8C0F seg000:8C0F ; =============== S U B R O U T I N E ======================================= seg000:8C0F seg000:8C0F seg000:8C0F sub_C8C0F proc near ; CODE XREF: sub_C215C+7p seg000:8C0F push ax seg000:8C10 push cx seg000:8C11 push si seg000:8C12 call sub_C24B3 seg000:8C15 xor ch, ch seg000:8C17 call sub_C8C7B seg000:8C1A jnz short loc_C8C31 seg000:8C1C call sub_C8C6E seg000:8C1F mov al, cs:[si+3] seg000:8C23 and al, 3Eh seg000:8C25 shr al, 1 seg000:8C27 cmp al, 1Fh seg000:8C29 jnz short loc_C8C2F seg000:8C2B or al, al seg000:8C2D jmp short loc_C8C31 seg000:8C2F ; --------------------------------------------------------------------------- seg000:8C2F seg000:8C2F loc_C8C2F: ; CODE XREF: sub_C8C0F+1Aj seg000:8C2F xor al, al seg000:8C31 seg000:8C31 loc_C8C31: ; CODE XREF: sub_C8C0F+Bj seg000:8C31 ; sub_C8C0F+1Ej seg000:8C31 pop si seg000:8C32 pop cx seg000:8C33 pop ax seg000:8C34 retn seg000:8C34 sub_C8C0F endp seg000:8C34 seg000:8C35 seg000:8C35 ; =============== S U B R O U T I N E ======================================= seg000:8C35 seg000:8C35 seg000:8C35 sub_C8C35 proc near ; CODE XREF: sub_C215C+Cp seg000:8C35 push ax seg000:8C36 push bx seg000:8C37 push cx seg000:8C38 push si seg000:8C39 call sub_C24B3 seg000:8C3C xor ch, ch seg000:8C3E call sub_C8C7B seg000:8C41 call sub_C8C6E seg000:8C44 mov al, cs:[si+3] seg000:8C48 mov bl, al seg000:8C4A and al, 3Eh seg000:8C4C shr al, 1 seg000:8C4E test bl, 1 seg000:8C51 jz short loc_C8C58 seg000:8C53 call nullsub_2 seg000:8C56 jmp short loc_C8C5B seg000:8C58 ; --------------------------------------------------------------------------- seg000:8C58 seg000:8C58 loc_C8C58: ; CODE XREF: sub_C8C35+1Cj seg000:8C58 call sub_C16B0 seg000:8C5B seg000:8C5B loc_C8C5B: ; CODE XREF: sub_C8C35+21j seg000:8C5B and bl, 40h seg000:8C5E shr bl, 6 seg000:8C61 cmp ah, bl seg000:8C63 jnz short loc_C8C68 seg000:8C65 stc seg000:8C66 jmp short loc_C8C69 seg000:8C68 ; --------------------------------------------------------------------------- seg000:8C68 seg000:8C68 loc_C8C68: ; CODE XREF: sub_C8C35+2Ej seg000:8C68 clc seg000:8C69 seg000:8C69 loc_C8C69: ; CODE XREF: sub_C8C35+31j seg000:8C69 pop si seg000:8C6A pop cx seg000:8C6B pop bx seg000:8C6C pop ax seg000:8C6D retn seg000:8C6D sub_C8C35 endp seg000:8C6D seg000:8C6E seg000:8C6E ; =============== S U B R O U T I N E ======================================= seg000:8C6E seg000:8C6E seg000:8C6E sub_C8C6E proc near ; CODE XREF: sub_C8C0F+Dp seg000:8C6E ; sub_C8C35+Cp ... seg000:8C6E push ax seg000:8C6F lea si, ds:554Dh seg000:8C73 mov al, 5 seg000:8C75 mul cl seg000:8C77 add si, ax seg000:8C79 pop ax seg000:8C7A retn seg000:8C7A sub_C8C6E endp seg000:8C7A seg000:8C7B seg000:8C7B ; =============== S U B R O U T I N E ======================================= seg000:8C7B seg000:8C7B seg000:8C7B sub_C8C7B proc near ; CODE XREF: sub_C8C0F+8p seg000:8C7B ; sub_C8C35+9p ... seg000:8C7B push ax seg000:8C7C push bx seg000:8C7D push si seg000:8C7E mov ah, 0FFh seg000:8C80 mov bh, ch seg000:8C82 inc ch seg000:8C84 mov cl, cs:byte_C554B seg000:8C89 jmp short loc_C8C9C seg000:8C8B ; --------------------------------------------------------------------------- seg000:8C8B seg000:8C8B loc_C8C8B: ; CODE XREF: sub_C8C7B+29j seg000:8C8B dec cl seg000:8C8D call sub_C8C6E seg000:8C90 mov ah, cs:[si] seg000:8C93 and ah, 1Fh seg000:8C96 cmp al, ah seg000:8C98 jnz short loc_C8C9C seg000:8C9A dec ch seg000:8C9C seg000:8C9C loc_C8C9C: ; CODE XREF: sub_C8C7B+Ej seg000:8C9C ; sub_C8C7B+1Dj seg000:8C9C cmp cl, 0 seg000:8C9F jbe short loc_C8CA6 seg000:8CA1 cmp ch, 0 seg000:8CA4 ja short loc_C8C8B seg000:8CA6 seg000:8CA6 loc_C8CA6: ; CODE XREF: sub_C8C7B+24j seg000:8CA6 or ch, ch seg000:8CA8 mov ch, bh seg000:8CAA pop si seg000:8CAB pop bx seg000:8CAC pop ax seg000:8CAD retn seg000:8CAD sub_C8C7B endp seg000:8CAD seg000:8CAE seg000:8CAE ; =============== S U B R O U T I N E ======================================= seg000:8CAE seg000:8CAE seg000:8CAE sub_C8CAE proc near ; CODE XREF: sub_C8BF1+4p seg000:8CAE ; sub_C8BF1+Ap ... seg000:8CAE pushf seg000:8CAF push ax seg000:8CB0 push bx seg000:8CB1 push cx seg000:8CB2 push dx seg000:8CB3 push si seg000:8CB4 call sub_C24B3 seg000:8CB7 xor ch, ch seg000:8CB9 seg000:8CB9 loc_C8CB9: ; CODE XREF: sub_C8CAE+4Aj seg000:8CB9 call sub_C8C7B seg000:8CBC jnz short loc_C8CFA seg000:8CBE call sub_C8C6E seg000:8CC1 add si, 1 seg000:8CC4 movzx bx, dl seg000:8CC7 imul bx, 1 seg000:8CCA add si, bx seg000:8CCC mov bl, cs:[si] seg000:8CCF and bl, 3Eh seg000:8CD2 shr bl, 1 seg000:8CD4 cmp bl, 1Fh seg000:8CD7 jz short loc_C8CF6 seg000:8CD9 mov ah, cs:[si] seg000:8CDC and ah, 40h seg000:8CDF shr ah, 6 seg000:8CE2 and ah, dh seg000:8CE4 xchg al, bl seg000:8CE6 test byte ptr cs:[si], 1 seg000:8CEA jz short loc_C8CF1 seg000:8CEC call sub_C1931 seg000:8CEF jmp short loc_C8CF4 seg000:8CF1 ; --------------------------------------------------------------------------- seg000:8CF1 seg000:8CF1 loc_C8CF1: ; CODE XREF: sub_C8CAE+3Cj seg000:8CF1 call sub_C172A seg000:8CF4 seg000:8CF4 loc_C8CF4: ; CODE XREF: sub_C8CAE+41j seg000:8CF4 xchg al, bl seg000:8CF6 seg000:8CF6 loc_C8CF6: ; CODE XREF: sub_C8CAE+29j seg000:8CF6 inc ch seg000:8CF8 jmp short loc_C8CB9 seg000:8CFA ; --------------------------------------------------------------------------- seg000:8CFA seg000:8CFA loc_C8CFA: ; CODE XREF: sub_C8CAE+Ej seg000:8CFA pop si seg000:8CFB pop dx seg000:8CFC pop cx seg000:8CFD pop bx seg000:8CFE pop ax seg000:8CFF popf seg000:8D00 retn seg000:8D00 sub_C8CAE endp seg000:8D00 seg000:8D01 seg000:8D01 ; =============== S U B R O U T I N E ======================================= seg000:8D01 seg000:8D01 seg000:8D01 sub_C8D01 proc near ; CODE XREF: sub_C8D65+5p seg000:8D01 ; sub_C8DB4+11p ... seg000:8D01 push eax seg000:8D03 push cx seg000:8D04 push edx seg000:8D06 push di seg000:8D07 call sub_C245C seg000:8D0A mov di, 4BF8h seg000:8D0D movzx cx, byte ptr cs:[di+3] seg000:8D12 add di, 5 seg000:8D15 xor si, si seg000:8D17 jmp short loc_C8D55 seg000:8D19 ; --------------------------------------------------------------------------- seg000:8D19 seg000:8D19 loc_C8D19: ; CODE XREF: sub_C8D01+5Bj seg000:8D19 push di seg000:8D1A mov di, cs:[di] seg000:8D1D or di, di seg000:8D1F jz short loc_C8D50 seg000:8D21 mov eax, cs:[di] seg000:8D25 cmp dx, ax seg000:8D27 jnz short loc_C8D50 seg000:8D29 push edx seg000:8D2B ror eax, 10h seg000:8D2F ror edx, 10h seg000:8D33 push ax seg000:8D34 push dx seg000:8D35 and al, dl seg000:8D37 and al, 0Fh seg000:8D39 pop dx seg000:8D3A pop ax seg000:8D3B jz short loc_C8D4E seg000:8D3D and ah, dh seg000:8D3F jz short loc_C8D4E seg000:8D41 call sub_C2864 seg000:8D44 jnz short loc_C8D4A seg000:8D46 and al, dl seg000:8D48 and al, 0C0h seg000:8D4A seg000:8D4A loc_C8D4A: ; CODE XREF: sub_C8D01+43j seg000:8D4A jz short loc_C8D4E seg000:8D4C mov si, di seg000:8D4E seg000:8D4E loc_C8D4E: ; CODE XREF: sub_C8D01+3Aj seg000:8D4E ; sub_C8D01+3Ej ... seg000:8D4E pop edx seg000:8D50 seg000:8D50 loc_C8D50: ; CODE XREF: sub_C8D01+1Ej seg000:8D50 ; sub_C8D01+26j seg000:8D50 pop di seg000:8D51 add di, 2 seg000:8D54 dec cx seg000:8D55 seg000:8D55 loc_C8D55: ; CODE XREF: sub_C8D01+16j seg000:8D55 cmp cx, 0 seg000:8D58 jbe short loc_C8D5E seg000:8D5A or si, si seg000:8D5C jz short loc_C8D19 seg000:8D5E seg000:8D5E loc_C8D5E: ; CODE XREF: sub_C8D01+57j seg000:8D5E pop di seg000:8D5F pop edx seg000:8D61 pop cx seg000:8D62 pop eax seg000:8D64 retn seg000:8D64 sub_C8D01 endp seg000:8D64 seg000:8D65 seg000:8D65 ; =============== S U B R O U T I N E ======================================= seg000:8D65 seg000:8D65 seg000:8D65 sub_C8D65 proc near ; CODE XREF: sub_C8DF9+11p seg000:8D65 push ax seg000:8D66 push cx seg000:8D67 push di seg000:8D68 xor di, di seg000:8D6A call sub_C8D01 seg000:8D6D or si, si seg000:8D6F jz short loc_C8D9B seg000:8D71 movzx cx, byte ptr cs:[si+5] seg000:8D76 add si, 0Ch seg000:8D79 jmp short loc_C8D92 seg000:8D7B ; --------------------------------------------------------------------------- seg000:8D7B seg000:8D7B loc_C8D7B: ; CODE XREF: sub_C8D65+34j seg000:8D7B cmp dl, cs:[si+1] seg000:8D7F jnz short loc_C8D8E seg000:8D81 mov al, cs:[si] seg000:8D84 cmp bl, al seg000:8D86 jz short loc_C8D8C seg000:8D88 cmp al, 0FFh seg000:8D8A jnz short loc_C8D8E seg000:8D8C seg000:8D8C loc_C8D8C: ; CODE XREF: sub_C8D65+21j seg000:8D8C mov di, si seg000:8D8E seg000:8D8E loc_C8D8E: ; CODE XREF: sub_C8D65+1Aj seg000:8D8E ; sub_C8D65+25j seg000:8D8E add si, 6 seg000:8D91 dec cx seg000:8D92 seg000:8D92 loc_C8D92: ; CODE XREF: sub_C8D65+14j seg000:8D92 cmp cx, 0 seg000:8D95 jbe short loc_C8D9B seg000:8D97 or di, di seg000:8D99 jz short loc_C8D7B seg000:8D9B seg000:8D9B loc_C8D9B: ; CODE XREF: sub_C8D65+Aj seg000:8D9B ; sub_C8D65+30j seg000:8D9B mov si, di seg000:8D9D pop di seg000:8D9E pop cx seg000:8D9F pop ax seg000:8DA0 retn seg000:8DA0 sub_C8D65 endp seg000:8DA0 seg000:8DA1 seg000:8DA1 ; =============== S U B R O U T I N E ======================================= seg000:8DA1 seg000:8DA1 seg000:8DA1 sub_C8DA1 proc near ; CODE XREF: sub_C8DF9+2Ap seg000:8DA1 or si, si seg000:8DA3 jz short locret_C8DB3 seg000:8DA5 jmp short loc_C8DAA seg000:8DA7 ; --------------------------------------------------------------------------- seg000:8DA7 seg000:8DA7 loc_C8DA7: ; CODE XREF: sub_C8DA1+Cj seg000:8DA7 add si, 4 seg000:8DAA seg000:8DAA loc_C8DAA: ; CODE XREF: sub_C8DA1+4j seg000:8DAA cmp cx, cs:[si] seg000:8DAD jb short loc_C8DA7 seg000:8DAF mov si, cs:[si+2] seg000:8DB3 seg000:8DB3 locret_C8DB3: ; CODE XREF: sub_C8DA1+2j seg000:8DB3 retn seg000:8DB3 sub_C8DA1 endp seg000:8DB3 seg000:8DB4 seg000:8DB4 ; =============== S U B R O U T I N E ======================================= seg000:8DB4 seg000:8DB4 seg000:8DB4 sub_C8DB4 proc near ; CODE XREF: seg000:8DECp seg000:8DB4 ; seg000:8DF4p seg000:8DB4 push si seg000:8DB5 push di seg000:8DB6 push ax seg000:8DB7 push bx seg000:8DB8 call sub_C24B9 seg000:8DBB mov bl, al seg000:8DBD mov ax, 190h seg000:8DC0 call sub_C12AC seg000:8DC3 pop bx seg000:8DC4 pop ax seg000:8DC5 call sub_C8D01 seg000:8DC8 or si, si seg000:8DCA jz short loc_C8DE1 seg000:8DCC or al, al seg000:8DCE jnz short loc_C8DD6 seg000:8DD0 mov si, cs:[si+8] seg000:8DD4 jmp short loc_C8DDA seg000:8DD6 ; --------------------------------------------------------------------------- seg000:8DD6 seg000:8DD6 loc_C8DD6: ; CODE XREF: sub_C8DB4+1Aj seg000:8DD6 mov si, cs:[si+0Ah] seg000:8DDA seg000:8DDA loc_C8DDA: ; CODE XREF: sub_C8DB4+20j seg000:8DDA or si, si seg000:8DDC jz short loc_C8DE1 seg000:8DDE call sub_C04FB seg000:8DE1 seg000:8DE1 loc_C8DE1: ; CODE XREF: sub_C8DB4+16j seg000:8DE1 ; sub_C8DB4+28j seg000:8DE1 or si, si seg000:8DE3 jz short loc_C8DE6 seg000:8DE5 stc seg000:8DE6 seg000:8DE6 loc_C8DE6: ; CODE XREF: sub_C8DB4+2Fj seg000:8DE6 pop di seg000:8DE7 pop si seg000:8DE8 retn seg000:8DE8 sub_C8DB4 endp seg000:8DE8 seg000:8DE9 ; --------------------------------------------------------------------------- seg000:8DE9 push ax seg000:8DEA xor al, al seg000:8DEC call sub_C8DB4 seg000:8DEF pop ax seg000:8DF0 retn seg000:8DF1 ; --------------------------------------------------------------------------- seg000:8DF1 push ax seg000:8DF2 mov al, 1 seg000:8DF4 call sub_C8DB4 seg000:8DF7 pop ax seg000:8DF8 retn seg000:8DF9 seg000:8DF9 ; =============== S U B R O U T I N E ======================================= seg000:8DF9 seg000:8DF9 seg000:8DF9 sub_C8DF9 proc near ; CODE XREF: seg000:8E38p seg000:8DF9 ; seg000:8E40p seg000:8DF9 push cx seg000:8DFA push si seg000:8DFB push ax seg000:8DFC push bx seg000:8DFD call sub_C24B9 seg000:8E00 mov bl, al seg000:8E02 mov ax, 18Ch seg000:8E05 call sub_C12AC seg000:8E08 pop bx seg000:8E09 pop ax seg000:8E0A call sub_C8D65 seg000:8E0D or si, si seg000:8E0F jz short loc_C8E2D seg000:8E11 or al, al seg000:8E13 jnz short loc_C8E1B seg000:8E15 mov si, cs:[si+2] seg000:8E19 jmp short loc_C8E1F seg000:8E1B ; --------------------------------------------------------------------------- seg000:8E1B seg000:8E1B loc_C8E1B: ; CODE XREF: sub_C8DF9+1Aj seg000:8E1B mov si, cs:[si+4] seg000:8E1F seg000:8E1F loc_C8E1F: ; CODE XREF: sub_C8DF9+20j seg000:8E1F or si, si seg000:8E21 jz short loc_C8E2D seg000:8E23 call sub_C8DA1 seg000:8E26 or si, si seg000:8E28 jz short loc_C8E2D seg000:8E2A call sub_C04FB seg000:8E2D seg000:8E2D loc_C8E2D: ; CODE XREF: sub_C8DF9+16j seg000:8E2D ; sub_C8DF9+28j ... seg000:8E2D or si, si seg000:8E2F jz short loc_C8E32 seg000:8E31 stc seg000:8E32 seg000:8E32 loc_C8E32: ; CODE XREF: sub_C8DF9+36j seg000:8E32 pop si seg000:8E33 pop cx seg000:8E34 retn seg000:8E34 sub_C8DF9 endp seg000:8E34 seg000:8E35 ; --------------------------------------------------------------------------- seg000:8E35 push ax seg000:8E36 xor al, al seg000:8E38 call sub_C8DF9 seg000:8E3B pop ax seg000:8E3C retn seg000:8E3D ; --------------------------------------------------------------------------- seg000:8E3D push ax seg000:8E3E mov al, 1 seg000:8E40 call sub_C8DF9 seg000:8E43 pop ax seg000:8E44 retn seg000:8E45 ; --------------------------------------------------------------------------- seg000:8E45 push cx seg000:8E46 push si seg000:8E47 call sub_C8D01 seg000:8E4A or si, si seg000:8E4C jz short loc_C8E59 seg000:8E4E mov si, cs:[si+6] seg000:8E52 or si, si seg000:8E54 jz short loc_C8E59 seg000:8E56 call sub_C04FB seg000:8E59 seg000:8E59 loc_C8E59: ; CODE XREF: seg000:8E4Cj seg000:8E59 ; seg000:8E54j seg000:8E59 or si, si seg000:8E5B jz short loc_C8E5E seg000:8E5D stc seg000:8E5E seg000:8E5E loc_C8E5E: ; CODE XREF: seg000:8E5Bj seg000:8E5E pop si seg000:8E5F pop cx seg000:8E60 retn seg000:8E61 seg000:8E61 ; =============== S U B R O U T I N E ======================================= seg000:8E61 seg000:8E61 seg000:8E61 sub_C8E61 proc near ; CODE XREF: sub_C8EC3+Dp seg000:8E61 ; sub_C8ED8+17p ... seg000:8E61 push ax seg000:8E62 push bx seg000:8E63 push ecx seg000:8E65 push si seg000:8E66 xor si, si seg000:8E68 mov ah, 0Eh seg000:8E6A call sub_C2883 seg000:8E6D jnz short loc_C8E7C seg000:8E6F test dh, 1 seg000:8E72 jz short loc_C8E77 seg000:8E74 call sub_C289D seg000:8E77 seg000:8E77 loc_C8E77: ; CODE XREF: sub_C8E61+11j seg000:8E77 jnz short loc_C8E7C seg000:8E79 call sub_C237A seg000:8E7C seg000:8E7C loc_C8E7C: ; CODE XREF: sub_C8E61+Cj seg000:8E7C ; sub_C8E61:loc_C8E77j seg000:8E7C cmp ah, 0Eh seg000:8E7F jz short loc_C8EB9 seg000:8E81 cmp ah, 0Fh seg000:8E84 jz short loc_C8EB9 seg000:8E86 call sub_C1F99 seg000:8E89 and bl, dl seg000:8E8B xor bh, bh seg000:8E8D bsf cx, bx seg000:8E90 jz short loc_C8EB9 seg000:8E92 mov ah, cl seg000:8E94 call sub_C225F seg000:8E97 test ecx, edi seg000:8E9A jnz short loc_C8EB9 seg000:8E9C call sub_C2449 seg000:8E9F test dh, 2 seg000:8EA2 jnz short loc_C8EA9 seg000:8EA4 call sub_C215C seg000:8EA7 jmp short loc_C8EAA seg000:8EA9 ; --------------------------------------------------------------------------- seg000:8EA9 seg000:8EA9 loc_C8EA9: ; CODE XREF: sub_C8E61+41j seg000:8EA9 stc seg000:8EAA seg000:8EAA loc_C8EAA: ; CODE XREF: sub_C8E61+46j seg000:8EAA jnb short loc_C8EB9 seg000:8EAC call sub_C21F5 seg000:8EAF or edi, ecx seg000:8EB2 movzx cx, ah seg000:8EB5 btr dx, cx seg000:8EB8 inc si seg000:8EB9 seg000:8EB9 loc_C8EB9: ; CODE XREF: sub_C8E61+1Ej seg000:8EB9 ; sub_C8E61+23j ... seg000:8EB9 bt si, 0 seg000:8EBD pop si seg000:8EBE pop ecx seg000:8EC0 pop bx seg000:8EC1 pop ax seg000:8EC2 retn seg000:8EC2 sub_C8E61 endp seg000:8EC2 seg000:8EC3 seg000:8EC3 ; =============== S U B R O U T I N E ======================================= seg000:8EC3 seg000:8EC3 seg000:8EC3 sub_C8EC3 proc near ; CODE XREF: sub_C8F43+38p seg000:8EC3 push ax seg000:8EC4 push dx seg000:8EC5 push edi seg000:8EC7 mov dl, 0FFh seg000:8EC9 mov dh, 2 seg000:8ECB xor edi, edi seg000:8ECE mov al, cl seg000:8ED0 call sub_C8E61 seg000:8ED3 pop edi seg000:8ED5 pop dx seg000:8ED6 pop ax seg000:8ED7 retn seg000:8ED7 sub_C8EC3 endp seg000:8ED7 seg000:8ED8 seg000:8ED8 ; =============== S U B R O U T I N E ======================================= seg000:8ED8 seg000:8ED8 seg000:8ED8 sub_C8ED8 proc near ; CODE XREF: sub_C8F43:loc_C8F80p seg000:8ED8 push ax seg000:8ED9 push dx seg000:8EDA push edi seg000:8EDC mov dl, 0FFh seg000:8EDE mov dh, 2 seg000:8EE0 xor edi, edi seg000:8EE3 mov al, 1 seg000:8EE5 xor ah, ah seg000:8EE7 seg000:8EE7 loc_C8EE7: ; CODE XREF: sub_C8ED8+28j seg000:8EE7 test al, cl seg000:8EE9 jz short loc_C8EF7 seg000:8EEB push ax seg000:8EEC call sub_C22D1 seg000:8EEF call sub_C8E61 seg000:8EF2 pop ax seg000:8EF3 jnb short loc_C8EF7 seg000:8EF5 inc ah seg000:8EF7 seg000:8EF7 loc_C8EF7: ; CODE XREF: sub_C8ED8+11j seg000:8EF7 ; sub_C8ED8+1Bj seg000:8EF7 shl al, 1 seg000:8EF9 cmp al, 20h ; ' ' seg000:8EFB jnb short loc_C8F02 seg000:8EFD cmp ah, 1 seg000:8F00 jnz short loc_C8EE7 seg000:8F02 seg000:8F02 loc_C8F02: ; CODE XREF: sub_C8ED8+23j seg000:8F02 pop edi seg000:8F04 pop dx seg000:8F05 pop ax seg000:8F06 retn seg000:8F06 sub_C8ED8 endp seg000:8F06 seg000:8F07 seg000:8F07 ; =============== S U B R O U T I N E ======================================= seg000:8F07 seg000:8F07 seg000:8F07 sub_C8F07 proc near ; CODE XREF: sub_C8F43+44p seg000:8F07 ; sub_C8F43+53p seg000:8F07 push ax seg000:8F08 push cx seg000:8F09 push edi seg000:8F0B mov dl, 0FFh seg000:8F0D xor edi, edi seg000:8F10 xor ah, ah seg000:8F12 mov cl, cs:byte_C0139+12Fh seg000:8F17 cmp cl, 1 seg000:8F1A jbe short loc_C8F1E seg000:8F1C mov cl, 1 seg000:8F1E seg000:8F1E loc_C8F1E: ; CODE XREF: sub_C8F07+13j seg000:8F1E call sub_C26AA seg000:8F21 xor al, al seg000:8F23 seg000:8F23 loc_C8F23: ; CODE XREF: sub_C8F07+33j seg000:8F23 call sub_C6344 seg000:8F26 jnz short loc_C8F2F seg000:8F28 call sub_C8E61 seg000:8F2B jnb short loc_C8F2F seg000:8F2D inc ah seg000:8F2F seg000:8F2F loc_C8F2F: ; CODE XREF: sub_C8F07+1Fj seg000:8F2F ; sub_C8F07+24j seg000:8F2F call nullsub_2 seg000:8F32 inc al seg000:8F34 cmp al, ch seg000:8F36 jnb short loc_C8F3C seg000:8F38 cmp ah, cl seg000:8F3A jnz short loc_C8F23 seg000:8F3C seg000:8F3C loc_C8F3C: ; CODE XREF: sub_C8F07+2Fj seg000:8F3C mov dl, ah seg000:8F3E pop edi seg000:8F40 pop cx seg000:8F41 pop ax seg000:8F42 retn seg000:8F42 sub_C8F07 endp seg000:8F42 seg000:8F43 seg000:8F43 ; =============== S U B R O U T I N E ======================================= seg000:8F43 seg000:8F43 seg000:8F43 sub_C8F43 proc near ; CODE XREF: seg000:2D43p seg000:8F43 push ax seg000:8F44 push cx seg000:8F45 push dx seg000:8F46 push di seg000:8F47 mov ax, 37h ; '7' seg000:8F4A call sub_C127D seg000:8F4D xor ax, ax seg000:8F4F test word ptr cs:byte_C0139+121h, 2000h seg000:8F56 jz short loc_C8F5F seg000:8F58 mov ax, 5F0Ch seg000:8F5B int 15h seg000:8F5D jmp short loc_C8F6D seg000:8F5F ; --------------------------------------------------------------------------- seg000:8F5F seg000:8F5F loc_C8F5F: ; CODE XREF: sub_C8F43+13j seg000:8F5F test word ptr cs:byte_C0139+121h, 4 seg000:8F66 jz short loc_C8F6D seg000:8F68 mov ax, 5F02h seg000:8F6B int 15h seg000:8F6D seg000:8F6D loc_C8F6D: ; CODE XREF: sub_C8F43+1Aj seg000:8F6D ; sub_C8F43+23j seg000:8F6D cmp ax, 5Fh ; '_' seg000:8F70 jnz short loc_C8F85 seg000:8F72 test word ptr cs:byte_C0139+121h, 2000h seg000:8F79 jz short loc_C8F80 seg000:8F7B call sub_C8EC3 seg000:8F7E jmp short loc_C8F9F seg000:8F80 ; --------------------------------------------------------------------------- seg000:8F80 seg000:8F80 loc_C8F80: ; CODE XREF: sub_C8F43+36j seg000:8F80 call sub_C8ED8 seg000:8F83 jmp short loc_C8F9F seg000:8F85 ; --------------------------------------------------------------------------- seg000:8F85 seg000:8F85 loc_C8F85: ; CODE XREF: sub_C8F43+2Dj seg000:8F85 xor dh, dh seg000:8F87 call sub_C8F07 seg000:8F8A or dl, dl seg000:8F8C jnz short loc_C8F9F seg000:8F8E mov ax, 105h seg000:8F91 call sub_C127D seg000:8F94 mov dh, 3 seg000:8F96 call sub_C8F07 seg000:8F99 mov ax, 5 seg000:8F9C call sub_C127D seg000:8F9F seg000:8F9F loc_C8F9F: ; CODE XREF: sub_C8F43+3Bj seg000:8F9F ; sub_C8F43+40j ... seg000:8F9F mov di, 2685h seg000:8FA2 call sub_C256D seg000:8FA5 pop di seg000:8FA6 pop dx seg000:8FA7 pop cx seg000:8FA8 pop ax seg000:8FA9 retn seg000:8FA9 sub_C8F43 endp seg000:8FA9 seg000:8FAA seg000:8FAA ; =============== S U B R O U T I N E ======================================= seg000:8FAA seg000:8FAA seg000:8FAA sub_C8FAA proc near ; CODE XREF: sub_C92F5+1Dp seg000:8FAA push cs seg000:8FAB pop es seg000:8FAC assume es:nothing seg000:8FAC mov di, 28C8h seg000:8FAF mov bh, 10h seg000:8FB1 retn seg000:8FB1 sub_C8FAA endp seg000:8FB1 seg000:8FB2 seg000:8FB2 ; =============== S U B R O U T I N E ======================================= seg000:8FB2 seg000:8FB2 seg000:8FB2 sub_C8FB2 proc near ; CODE XREF: sub_C2E6E+12p seg000:8FB2 ; sub_C8FC6+1Dp seg000:8FB2 xor bp, bp seg000:8FB4 cmp bl, 0Eh seg000:8FB7 jnz short locret_C8FC5 seg000:8FB9 mov ax, ds seg000:8FBB mov cx, word ptr cs:dword_C28C4+2 seg000:8FC0 cmp ax, cx seg000:8FC2 jnz short locret_C8FC5 seg000:8FC4 inc bp seg000:8FC5 seg000:8FC5 locret_C8FC5: ; CODE XREF: sub_C8FB2+5j seg000:8FC5 ; sub_C8FB2+10j seg000:8FC5 retn seg000:8FC5 sub_C8FB2 endp seg000:8FC5 seg000:8FC6 seg000:8FC6 ; =============== S U B R O U T I N E ======================================= seg000:8FC6 seg000:8FC6 seg000:8FC6 sub_C8FC6 proc near ; CODE XREF: sub_C9014+17p seg000:8FC6 ; sub_C92F5+22p seg000:8FC6 push bx seg000:8FC7 push bp seg000:8FC8 push ds seg000:8FC9 push es seg000:8FCA mov si, di seg000:8FCC push es seg000:8FCD pop ds seg000:8FCE assume ds:nothing seg000:8FCE push bx seg000:8FCF sub bh, bh seg000:8FD1 shl bx, 1 seg000:8FD3 mov es, word ptr cs:byte_C0001+7Bh seg000:8FD8 assume es:nothing seg000:8FD8 mov di, cs:[bx+2F57h] seg000:8FDD pop bx seg000:8FDE mov dl, 20h ; ' ' seg000:8FE0 movzx bx, bh seg000:8FE3 call sub_C8FB2 seg000:8FE6 seg000:8FE6 loc_C8FE6: ; CODE XREF: sub_C8FC6+39j seg000:8FE6 lodsb seg000:8FE7 or al, al seg000:8FE9 jz short loc_C9001 seg000:8FEB push di seg000:8FEC mul dl seg000:8FEE add di, ax seg000:8FF0 mov cx, bx seg000:8FF2 or bp, bp seg000:8FF4 jz short loc_C8FFC seg000:8FF6 inc si seg000:8FF7 rep movsb seg000:8FF9 inc si seg000:8FFA jmp short loc_C8FFE seg000:8FFC ; --------------------------------------------------------------------------- seg000:8FFC seg000:8FFC loc_C8FFC: ; CODE XREF: sub_C8FC6+2Ej seg000:8FFC rep movsb seg000:8FFE seg000:8FFE loc_C8FFE: ; CODE XREF: sub_C8FC6+34j seg000:8FFE pop di seg000:8FFF jmp short loc_C8FE6 seg000:9001 ; --------------------------------------------------------------------------- seg000:9001 seg000:9001 loc_C9001: ; CODE XREF: sub_C8FC6+23j seg000:9001 pop es seg000:9002 assume es:nothing seg000:9002 pop ds seg000:9003 assume ds:nothing seg000:9003 pop bp seg000:9004 pop bx seg000:9005 retn seg000:9005 sub_C8FC6 endp seg000:9005 seg000:9006 seg000:9006 ; =============== S U B R O U T I N E ======================================= seg000:9006 seg000:9006 seg000:9006 sub_C9006 proc near ; CODE XREF: seg000:9053p seg000:9006 jcxz short locret_C9013 seg000:9008 mov di, bp seg000:900A call sub_C2E22 seg000:900D call sub_C2E6E seg000:9010 call sub_C2E49 seg000:9013 seg000:9013 locret_C9013: ; CODE XREF: sub_C9006j seg000:9013 retn seg000:9013 sub_C9006 endp seg000:9013 seg000:9014 seg000:9014 ; =============== S U B R O U T I N E ======================================= seg000:9014 seg000:9014 seg000:9014 sub_C9014 proc near ; CODE XREF: seg000:905Ap seg000:9014 mov bh, 0Eh seg000:9016 mov cx, 100h seg000:9019 sub dx, dx seg000:901B les di, cs:dword_C2F11 seg000:9020 call sub_C2E22 seg000:9023 call sub_C2E6E seg000:9026 les di, dword ptr cs:loc_C2F19 seg000:902B call sub_C8FC6 seg000:902E call sub_C2E49 seg000:9031 retn seg000:9031 sub_C9014 endp seg000:9031 seg000:9032 seg000:9032 ; =============== S U B R O U T I N E ======================================= seg000:9032 seg000:9032 seg000:9032 sub_C9032 proc near ; CODE XREF: seg000:9061p seg000:9032 mov bh, 8 seg000:9034 mov cx, 100h seg000:9037 sub dx, dx seg000:9039 les di, cs:dword_C2F09 seg000:903E call sub_C2E22 seg000:9041 call sub_C2E6E seg000:9044 call sub_C2E49 seg000:9047 retn seg000:9047 sub_C9032 endp seg000:9047 seg000:9048 ; --------------------------------------------------------------------------- seg000:9048 mov dx, 3C4h seg000:904B mov al, 3 seg000:904D mov ah, bl seg000:904F out dx, ax ; EGA: sequencer address reg seg000:904F ; sequencer reset. seg000:904F ; Bits of data 0-1 indicate asynchronous/synchronous reset. seg000:9050 retn seg000:9051 ; --------------------------------------------------------------------------- seg000:9051 jcxz short locret_C9059 seg000:9053 call sub_C9006 seg000:9056 call sub_C906F seg000:9059 seg000:9059 locret_C9059: ; CODE XREF: seg000:9051j seg000:9059 retn seg000:905A ; --------------------------------------------------------------------------- seg000:905A call sub_C9014 seg000:905D call sub_C906F seg000:9060 retn seg000:9061 ; --------------------------------------------------------------------------- seg000:9061 call sub_C9032 seg000:9064 call sub_C906F seg000:9067 retn seg000:9068 ; --------------------------------------------------------------------------- seg000:9068 call sub_C2F41 seg000:906B call sub_C906F seg000:906E retn seg000:906F seg000:906F ; =============== S U B R O U T I N E ======================================= seg000:906F seg000:906F seg000:906F sub_C906F proc near ; CODE XREF: seg000:9056p seg000:906F ; seg000:905Dp ... seg000:906F call sub_C1E00 seg000:9072 div bh seg000:9074 dec ax seg000:9075 mov ds:484h, al seg000:9078 mov ds:485h, bh seg000:907C inc ax seg000:907D mul bh seg000:907F dec ax seg000:9080 call sub_C1D43 seg000:9083 call sub_C90B0 seg000:9086 mov ah, bh seg000:9088 mov al, 14h seg000:908A out dx, ax seg000:908B mov al, 9 seg000:908D call sub_C1B90 seg000:9090 and ah, 0E0h seg000:9093 dec bh seg000:9095 or ah, bh seg000:9097 out dx, ax seg000:9098 inc ax seg000:9099 mov ah, bh seg000:909B dec ah seg000:909D out dx, ax seg000:909E inc ax seg000:909F mov ah, bh seg000:90A1 out dx, ax seg000:90A2 mov al, ds:484h seg000:90A5 inc ax seg000:90A6 mul byte ptr ds:44Ah seg000:90AA shl ax, 1 seg000:90AC mov ds:44Ch, ax seg000:90AF retn seg000:90AF sub_C906F endp seg000:90AF seg000:90B0 seg000:90B0 ; =============== S U B R O U T I N E ======================================= seg000:90B0 seg000:90B0 seg000:90B0 sub_C90B0 proc near ; CODE XREF: sub_C906F+14p seg000:90B0 mov cx, ax seg000:90B2 mov al, 9 seg000:90B4 call sub_C1B90 seg000:90B7 test ah, 80h seg000:90BA jz short loc_C90BE seg000:90BC shl cx, 1 seg000:90BE seg000:90BE loc_C90BE: ; CODE XREF: sub_C90B0+Aj seg000:90BE mov ah, cl seg000:90C0 mov al, 12h seg000:90C2 out dx, ax seg000:90C3 mov al, 11h seg000:90C5 call sub_C1B90 seg000:90C8 push ax seg000:90C9 and ah, 7Fh seg000:90CC out dx, ax seg000:90CD mov al, 7 seg000:90CF call sub_C1B90 seg000:90D2 and ah, 0BDh seg000:90D5 mov cl, ch seg000:90D7 and cx, 201h seg000:90DB shl cl, 1 seg000:90DD ror ch, 3 seg000:90E0 or ah, cl seg000:90E2 or ah, ch seg000:90E4 out dx, ax seg000:90E5 pop ax seg000:90E6 out dx, ax seg000:90E7 retn seg000:90E7 sub_C90B0 endp seg000:90E7 seg000:90E8 seg000:90E8 ; =============== S U B R O U T I N E ======================================= seg000:90E8 seg000:90E8 seg000:90E8 sub_C90E8 proc near ; CODE XREF: sub_C1B51+1Dp seg000:90E8 ; DATA XREF: seg000:off_C1AECo seg000:90E8 pusha seg000:90E9 push es seg000:90EA test word ptr cs:byte_C0139+123h, 200h seg000:90F1 jz short loc_C90F6 seg000:90F3 call nullsub_2 seg000:90F6 seg000:90F6 loc_C90F6: ; CODE XREF: sub_C90E8+9j seg000:90F6 mov bh, 4 seg000:90F8 call sub_C633D seg000:90FB jb short loc_C9104 seg000:90FD jnz short loc_C9104 seg000:90FF xor bh, bh seg000:9101 call sub_C633D seg000:9104 seg000:9104 loc_C9104: ; CODE XREF: sub_C90E8+13j seg000:9104 ; sub_C90E8+15j seg000:9104 push ax seg000:9105 and al, 7Fh seg000:9107 call sub_C9668 seg000:910A pop ax seg000:910B jb short loc_C913D seg000:910D call sub_C9153 seg000:9110 jb short loc_C913D seg000:9112 call sub_CA12B seg000:9115 call sub_C94E0 seg000:9118 call sub_C1D57 seg000:911B call sub_C921F seg000:911E call sub_C950B seg000:9121 call sub_C9516 seg000:9124 call sub_C1E43 seg000:9127 call sub_C928D seg000:912A call sub_C92F5 seg000:912D call sub_C9140 seg000:9130 test byte ptr ds:487h, 80h seg000:9135 jnz short loc_C913A seg000:9137 call sub_C3271 seg000:913A seg000:913A loc_C913A: ; CODE XREF: sub_C90E8+4Dj seg000:913A call sub_C957B seg000:913D seg000:913D loc_C913D: ; CODE XREF: sub_C90E8+23j seg000:913D ; sub_C90E8+28j seg000:913D pop es seg000:913E popa seg000:913F retn seg000:913F sub_C90E8 endp seg000:913F seg000:9140 seg000:9140 ; =============== S U B R O U T I N E ======================================= seg000:9140 seg000:9140 seg000:9140 sub_C9140 proc near ; CODE XREF: sub_C90E8+45p seg000:9140 push ax seg000:9141 test cs:byte_C0139+1E6h, 1 seg000:9147 jz short loc_C914E seg000:9149 mov al, 3Fh ; '?' seg000:914B call sub_C1C36 seg000:914E seg000:914E loc_C914E: ; CODE XREF: sub_C9140+7j seg000:914E call sub_CA07F seg000:9151 pop ax seg000:9152 retn seg000:9152 sub_C9140 endp seg000:9152 seg000:9153 seg000:9153 ; =============== S U B R O U T I N E ======================================= seg000:9153 seg000:9153 seg000:9153 sub_C9153 proc near ; CODE XREF: sub_C90E8+25p seg000:9153 mov ah, al seg000:9155 and ax, 807Fh seg000:9158 mov ds:449h, al seg000:915B mov cl, ds:487h seg000:915F and cl, 77h seg000:9162 or cl, ah seg000:9164 mov ds:487h, cl seg000:9168 mov bl, ds:410h seg000:916C mov bh, bl seg000:916E and bx, 0CF30h seg000:9172 mov dx, 3B4h seg000:9175 test byte ptr ds:489h, 1 seg000:917A jz short loc_C91B3 seg000:917C or bh, 30h seg000:917F mov bl, 0Bh seg000:9181 or byte ptr ds:487h, 2 seg000:9186 call sub_C1BC3 seg000:9189 jz short loc_C91A0 seg000:918B and byte ptr ds:487h, 0FDh seg000:9190 mov dl, 0D4h ; 'ï' seg000:9192 and bh, 0EFh seg000:9195 mov bl, 8 seg000:9197 test byte ptr ds:489h, 80h seg000:919C jnz short loc_C91A0 seg000:919E mov bl, 9 seg000:91A0 seg000:91A0 loc_C91A0: ; CODE XREF: sub_C9153+36j seg000:91A0 ; sub_C9153+49j seg000:91A0 mov ds:463h, dx seg000:91A4 mov ds:410h, bh seg000:91A8 and byte ptr ds:488h, 0F0h seg000:91AD or ds:488h, bl seg000:91B1 jmp short loc_C91FA seg000:91B3 ; --------------------------------------------------------------------------- seg000:91B3 seg000:91B3 loc_C91B3: ; CODE XREF: sub_C9153+27j seg000:91B3 call sub_C1BC3 seg000:91B6 jz short loc_C91DA seg000:91B8 cmp bl, 30h ; '0' seg000:91BB jz short loc_C91CA seg000:91BD mov dl, 0D4h ; 'ï' seg000:91BF test cl, 2 seg000:91C2 jnz short loc_C91FC seg000:91C4 mov ds:463h, dx seg000:91C8 jmp short loc_C91FA seg000:91CA ; --------------------------------------------------------------------------- seg000:91CA seg000:91CA loc_C91CA: ; CODE XREF: sub_C9153+68j seg000:91CA test cl, 2 seg000:91CD jz short loc_C91FC seg000:91CF mov al, 7 seg000:91D1 mov ds:449h, al seg000:91D4 mov ds:463h, dx seg000:91D8 jmp short loc_C91FA seg000:91DA ; --------------------------------------------------------------------------- seg000:91DA seg000:91DA loc_C91DA: ; CODE XREF: sub_C9153+63j seg000:91DA cmp bl, 30h ; '0' seg000:91DD jnz short loc_C91EA seg000:91DF test cl, 2 seg000:91E2 jz short loc_C91FC seg000:91E4 mov ds:463h, dx seg000:91E8 jmp short loc_C91FA seg000:91EA ; --------------------------------------------------------------------------- seg000:91EA seg000:91EA loc_C91EA: ; CODE XREF: sub_C9153+8Aj seg000:91EA test cl, 2 seg000:91ED jnz short loc_C91FC seg000:91EF sub al, al seg000:91F1 mov ds:449h, al seg000:91F4 mov word ptr ds:463h, 3D4h seg000:91FA seg000:91FA loc_C91FA: ; CODE XREF: sub_C9153+5Ej seg000:91FA ; sub_C9153+75j ... seg000:91FA clc seg000:91FB retn seg000:91FC ; --------------------------------------------------------------------------- seg000:91FC seg000:91FC loc_C91FC: ; CODE XREF: sub_C9153+6Fj seg000:91FC ; sub_C9153+7Aj ... seg000:91FC cbw seg000:91FD mov bl, 0Eh seg000:91FF cmp al, 7 seg000:9201 jz short loc_C9205 seg000:9203 mov bl, 8 seg000:9205 seg000:9205 loc_C9205: ; CODE XREF: sub_C9153+AEj seg000:9205 mov byte ptr ds:484h, 18h seg000:920A mov ds:485h, bl seg000:920E or byte ptr ds:487h, 8 seg000:9213 int 42h ; - EGA/VGA/PS - Relocated (by EGA) Video Handler (original INT 10h) seg000:9215 stc seg000:9216 retn seg000:9216 sub_C9153 endp seg000:9216 seg000:9216 ; --------------------------------------------------------------------------- seg000:9217 db 2Ch ; , seg000:9218 db 28h ; ( seg000:9219 db 2Dh, 29h, 2Ah, 2Eh, 1Eh, 29h seg000:921F seg000:921F ; =============== S U B R O U T I N E ======================================= seg000:921F seg000:921F seg000:921F sub_C921F proc near ; CODE XREF: sub_C90E8+33p seg000:921F push di seg000:9220 push es seg000:9221 mov cx, 9 seg000:9224 mov di, 44Eh seg000:9227 sub ax, ax seg000:9229 push ds seg000:922A pop es seg000:922B rep stosw seg000:922D pop es seg000:922E pop di seg000:922F push bx seg000:9230 mov ds:462h, al seg000:9233 mov bl, ds:449h seg000:9237 mov bh, ah seg000:9239 cmp bl, 7 seg000:923C ja short loc_C9255 seg000:923E mov al, cs:[bx-6DE9h] seg000:9243 mov ds:465h, al seg000:9246 mov byte ptr ds:466h, 3Fh ; '?' seg000:924B cmp bl, 6 seg000:924E jz short loc_C9255 seg000:9250 mov byte ptr ds:466h, 30h ; '0' seg000:9255 seg000:9255 loc_C9255: ; CODE XREF: sub_C921F+1Dj seg000:9255 ; sub_C921F+2Fj seg000:9255 pop bx seg000:9256 call sub_C1DEE seg000:9259 xor ax, ax seg000:925B mov al, cs:[si+4] seg000:925F mov ds:44Ah, ax seg000:9262 mov al, cs:[si+5] seg000:9266 mov ds:484h, al seg000:9269 mov al, cs:[si+6] seg000:926D mov ds:485h, ax seg000:9270 mov al, cs:[bx+1] seg000:9274 mov cl, 4 seg000:9276 mul cl seg000:9278 mov si, 9891h seg000:927B add si, ax seg000:927D mov ax, cs:[si] seg000:9280 xchg al, ah seg000:9282 mov ds:460h, ax seg000:9285 mov ax, cs:[bx+0Ah] seg000:9289 mov ds:44Ch, ax seg000:928C retn seg000:928C sub_C921F endp seg000:928C seg000:928D seg000:928D ; =============== S U B R O U T I N E ======================================= seg000:928D seg000:928D seg000:928D sub_C928D proc near ; CODE XREF: sub_C90E8+3Fp seg000:928D push di seg000:928E push es seg000:928F mov dx, ds:463h seg000:9293 add dl, 6 seg000:9296 call sub_C932B seg000:9299 pushf seg000:929A cli seg000:929B in al, dx seg000:929C mov dl, 0C0h ; 'L' seg000:929E mov al, 14h seg000:92A0 out dx, al seg000:92A1 sub al, al seg000:92A3 out dx, al seg000:92A4 popf seg000:92A5 test byte ptr ds:489h, 8 seg000:92AA jnz short loc_C92AF seg000:92AC call sub_C939A seg000:92AF seg000:92AF loc_C92AF: ; CODE XREF: sub_C928D+1Dj seg000:92AF les di, ds:4A8h seg000:92B3 les di, es:[di+10h] seg000:92B7 mov ax, es seg000:92B9 or ax, di seg000:92BB jz short loc_C92F2 seg000:92BD les di, es:[di+0Ah] seg000:92C1 mov ax, es seg000:92C3 or ax, di seg000:92C5 jz short loc_C92F2 seg000:92C7 lea si, [di+14h] seg000:92CA call sub_C9366 seg000:92CD jnz short loc_C92F2 seg000:92CF push ds seg000:92D0 mov cx, es:[di+4] seg000:92D4 mov ah, es:[di+6] seg000:92D8 lds si, es:[di+8] seg000:92DC call sub_C9480 seg000:92DF mov ax, 1012h seg000:92E2 mov cx, es:[di+0Ch] seg000:92E6 mov bx, es:[di+0Eh] seg000:92EA les dx, es:[di+10h] seg000:92EE call sub_C1B51 seg000:92F1 pop ds seg000:92F2 seg000:92F2 loc_C92F2: ; CODE XREF: sub_C928D+2Ej seg000:92F2 ; sub_C928D+38j ... seg000:92F2 pop es seg000:92F3 pop di seg000:92F4 retn seg000:92F4 sub_C928D endp seg000:92F4 seg000:92F5 seg000:92F5 ; =============== S U B R O U T I N E ======================================= seg000:92F5 seg000:92F5 seg000:92F5 sub_C92F5 proc near ; CODE XREF: sub_C90E8+42p seg000:92F5 mov al, ds:449h seg000:92F8 call sub_C1BD9 seg000:92FB jnz short loc_C931F seg000:92FD call sub_C2E22 seg000:9300 call sub_C2E0E seg000:9303 sub dx, dx seg000:9305 mov bl, dl seg000:9307 mov cx, 100h seg000:930A call sub_C2E6E seg000:930D call sub_C1BEF seg000:9310 jnz short loc_C931A seg000:9312 call sub_C8FAA seg000:9315 sub bl, bl seg000:9317 call sub_C8FC6 seg000:931A seg000:931A loc_C931A: ; CODE XREF: sub_C92F5+1Bj seg000:931A call sub_C2E49 seg000:931D jmp short locret_C932A seg000:931F ; --------------------------------------------------------------------------- seg000:931F seg000:931F loc_C931F: ; CODE XREF: sub_C92F5+6j seg000:931F call sub_C2E0E seg000:9322 mov ds:10Ch, di seg000:9326 mov word ptr ds:10Eh, es seg000:932A seg000:932A locret_C932A: ; CODE XREF: sub_C92F5+28j seg000:932A retn seg000:932A sub_C92F5 endp seg000:932A seg000:932B seg000:932B ; =============== S U B R O U T I N E ======================================= seg000:932B seg000:932B seg000:932B sub_C932B proc near ; CODE XREF: sub_C928D+9p seg000:932B push dx seg000:932C push di seg000:932D push ds seg000:932E push es seg000:932F push es seg000:9330 les di, ds:4A8h seg000:9334 les di, es:[di+4] seg000:9338 pop ds seg000:9339 mov ax, es seg000:933B or ax, di seg000:933D jz short loc_C9361 seg000:933F sub bl, bl seg000:9341 mov cx, 10h seg000:9344 pushf seg000:9345 cli seg000:9346 seg000:9346 loc_C9346: ; CODE XREF: sub_C932B+28j seg000:9346 in al, dx seg000:9347 push dx seg000:9348 mov dl, 0C0h ; 'L' seg000:934A mov al, bl seg000:934C out dx, al seg000:934D inc dx seg000:934E in al, dx seg000:934F pop dx seg000:9350 stosb seg000:9351 inc bl seg000:9353 loop loc_C9346 seg000:9355 inc bl seg000:9357 in al, dx seg000:9358 mov dl, 0C0h ; 'L' seg000:935A mov al, bl seg000:935C out dx, al seg000:935D inc dx seg000:935E in al, dx seg000:935F stosb seg000:9360 popf seg000:9361 seg000:9361 loc_C9361: ; CODE XREF: sub_C932B+12j seg000:9361 pop es seg000:9362 pop ds seg000:9363 pop di seg000:9364 pop dx seg000:9365 retn seg000:9365 sub_C932B endp seg000:9365 seg000:9366 seg000:9366 ; =============== S U B R O U T I N E ======================================= seg000:9366 seg000:9366 seg000:9366 sub_C9366 proc near ; CODE XREF: sub_C928D+3Dp seg000:9366 mov ah, ds:449h seg000:936A seg000:936A loc_C936A: ; CODE XREF: sub_C9366+Cj seg000:936A lods byte ptr es:[si] seg000:936C cmp ah, al seg000:936E jz short locret_C9375 seg000:9370 cmp al, 0FFh seg000:9372 jnz short loc_C936A seg000:9374 dec ax seg000:9375 seg000:9375 locret_C9375: ; CODE XREF: sub_C9366+8j seg000:9375 retn seg000:9375 sub_C9366 endp seg000:9375 seg000:9376 seg000:9376 ; =============== S U B R O U T I N E ======================================= seg000:9376 seg000:9376 seg000:9376 sub_C9376 proc near ; CODE XREF: sub_C1B51+1Dp seg000:9376 ; DATA XREF: seg000:1B0Ao seg000:9376 mov al, ds:487h seg000:9379 and al, 80h seg000:937B or al, ds:449h seg000:937F mov ah, ds:44Ah seg000:9383 mov bh, ds:462h seg000:9387 retn seg000:9387 sub_C9376 endp seg000:9387 seg000:9387 ; --------------------------------------------------------------------------- seg000:9388 off_C9388 dw offset sub_C93CA ; DATA XREF: sub_C939A+29r seg000:938A dw offset sub_C641E seg000:938C dw offset sub_C9441 seg000:938E dw offset sub_C641E seg000:9390 dw offset sub_C9441 seg000:9392 dw offset sub_C9441 seg000:9394 dw offset sub_C6455 seg000:9396 dw offset sub_C64CE seg000:9398 dw offset sub_C64CE seg000:939A seg000:939A ; =============== S U B R O U T I N E ======================================= seg000:939A seg000:939A seg000:939A sub_C939A proc near ; CODE XREF: sub_C928D+1Fp seg000:939A mov dx, 3C6h seg000:939D mov al, 0FFh seg000:939F out dx, al seg000:93A0 mov al, ds:449h seg000:93A3 mov bx, 4 seg000:93A6 cmp al, 0Dh seg000:93A8 jz short loc_C93C0 seg000:93AA cmp al, 0Eh seg000:93AC jz short loc_C93C0 seg000:93AE call sub_C1D57 seg000:93B1 mov bl, es:[bx+5] seg000:93B5 sub bh, bh seg000:93B7 cmp bl, 9 seg000:93BA jb short loc_C93BE seg000:93BC mov bl, 8 seg000:93BE seg000:93BE loc_C93BE: ; CODE XREF: sub_C939A+20j seg000:93BE shl bx, 1 seg000:93C0 seg000:93C0 loc_C93C0: ; CODE XREF: sub_C939A+Ej seg000:93C0 ; sub_C939A+12j seg000:93C0 push es seg000:93C1 push cs seg000:93C2 pop es seg000:93C3 assume es:nothing seg000:93C3 call cs:off_C9388[bx] seg000:93C8 pop es seg000:93C9 assume es:nothing seg000:93C9 retn seg000:93C9 sub_C939A endp seg000:93C9 seg000:93CA seg000:93CA ; =============== S U B R O U T I N E ======================================= seg000:93CA seg000:93CA seg000:93CA sub_C93CA proc near ; CODE XREF: sub_C939A+29p seg000:93CA ; DATA XREF: seg000:off_C9388o seg000:93CA test byte ptr ds:489h, 80h seg000:93CF jnz sub_C9441 seg000:93D3 jmp sub_C9441 seg000:93D3 sub_C93CA endp seg000:93D3 seg000:93D3 ; --------------------------------------------------------------------------- seg000:93D6 db 0, 1, 2, 3, 4, 5, 14h, 7, 38h, 39h, 3Ah, 3Bh, 3Ch, 3Dh seg000:93D6 db 3Eh, 3Fh, 0, 5, 8, 0Bh, 0Eh, 11h, 14h, 18h, 1Ch, 20h seg000:93D6 db 24h, 28h, 2Dh, 32h, 38h, 3Fh, 0, 5, 11h, 1Ch, 8, 0Bh seg000:93D6 db 14h, 28h, 0Eh, 18h, 2Dh, 32h, 20h, 24h, 38h, 3Fh seg000:9406 seg000:9406 ; =============== S U B R O U T I N E ======================================= seg000:9406 seg000:9406 seg000:9406 sub_C9406 proc near ; CODE XREF: sub_C6455+11p seg000:9406 ; sub_C9441:loc_C944Ap seg000:9406 mov ax, 400h seg000:9409 seg000:9409 loc_C9409: ; CODE XREF: sub_C9406+1Aj seg000:9409 push ax seg000:940A test bl, ah seg000:940C jz short loc_C9410 seg000:940E add al, 2Ah ; '*' seg000:9410 seg000:9410 loc_C9410: ; CODE XREF: sub_C9406+6j seg000:9410 shl ah, 1 seg000:9412 shl ah, 1 seg000:9414 shl ah, 1 seg000:9416 test bl, ah seg000:9418 jz short loc_C941C seg000:941A add al, 15h seg000:941C seg000:941C loc_C941C: ; CODE XREF: sub_C9406+12j seg000:941C out dx, al seg000:941D pop ax seg000:941E shr ah, 1 seg000:9420 jnz short loc_C9409 seg000:9422 retn seg000:9422 sub_C9406 endp seg000:9422 seg000:9423 seg000:9423 ; =============== S U B R O U T I N E ======================================= seg000:9423 seg000:9423 seg000:9423 sub_C9423 proc near ; CODE XREF: sub_C6455+68p seg000:9423 ; sub_C9441+16p seg000:9423 test byte ptr ds:489h, 2 seg000:9428 jz short locret_C9433 seg000:942A mov ax, 101Bh seg000:942D xor bx, bx seg000:942F call sub_C1B51 seg000:9432 stc seg000:9433 seg000:9433 locret_C9433: ; CODE XREF: sub_C9423+5j seg000:9433 retn seg000:9433 sub_C9423 endp seg000:9433 seg000:9434 seg000:9434 ; =============== S U B R O U T I N E ======================================= seg000:9434 seg000:9434 seg000:9434 sub_C9434 proc near ; CODE XREF: sub_C6455+75p seg000:9434 ; sub_C9441+23p ... seg000:9434 mov dx, 3C8h seg000:9437 out dx, al seg000:9438 inc dx seg000:9439 seg000:9439 loc_C9439: ; CODE XREF: sub_C9434+Aj seg000:9439 lods byte ptr cs:[si] seg000:943B out dx, al seg000:943C out dx, al seg000:943D out dx, al seg000:943E loop loc_C9439 seg000:9440 retn seg000:9440 sub_C9434 endp seg000:9440 seg000:9441 seg000:9441 ; =============== S U B R O U T I N E ======================================= seg000:9441 seg000:9441 seg000:9441 sub_C9441 proc near ; CODE XREF: sub_C939A+29p seg000:9441 ; sub_C93CA+5j ... seg000:9441 xor al, al seg000:9443 mov dx, 3C8h seg000:9446 out dx, al seg000:9447 inc dx seg000:9448 xor bl, bl seg000:944A seg000:944A loc_C944A: ; CODE XREF: sub_C9441+11j seg000:944A call sub_C9406 seg000:944D inc bl seg000:944F cmp bl, 40h ; '@' seg000:9452 jb short loc_C944A seg000:9454 mov cx, 40h ; '@' seg000:9457 call sub_C9423 seg000:945A jnb short locret_C947F seg000:945C mov si, 93F6h seg000:945F mov al, 0 seg000:9461 mov cx, 6 seg000:9464 call sub_C9434 seg000:9467 mov al, 14h seg000:9469 mov cx, 1 seg000:946C call sub_C9434 seg000:946F mov al, 7 seg000:9471 mov cx, 1 seg000:9474 call sub_C9434 seg000:9477 mov al, 38h ; '8' seg000:9479 mov cx, 8 seg000:947C call sub_C9434 seg000:947F seg000:947F locret_C947F: ; CODE XREF: sub_C9441+19j seg000:947F retn seg000:947F sub_C9441 endp seg000:947F seg000:9480 seg000:9480 ; =============== S U B R O U T I N E ======================================= seg000:9480 seg000:9480 seg000:9480 sub_C9480 proc near ; CODE XREF: sub_C658C+24p seg000:9480 ; sub_C928D+4Fp seg000:9480 push dx seg000:9481 pushf seg000:9482 cli seg000:9483 call sub_C1E43 seg000:9486 mov dx, 3C0h seg000:9489 seg000:9489 loc_C9489: ; CODE XREF: sub_C9480+17j seg000:9489 cmp ah, 10h seg000:948C jb short loc_C9490 seg000:948E mov ah, 11h seg000:9490 seg000:9490 loc_C9490: ; CODE XREF: sub_C9480+Cj seg000:9490 mov al, ah seg000:9492 out dx, al ; EGA: select overscan (border) color. seg000:9492 ; Same rgbRGB as palette regs seg000:9493 lodsb seg000:9494 out dx, al ; EGA: palette register: select colors for attribute AL: seg000:9494 ; 0: RED seg000:9494 ; 1: GREEN seg000:9494 ; 2: BLUE seg000:9494 ; 3: blue seg000:9494 ; 4: green seg000:9494 ; 5: red seg000:9495 inc ah seg000:9497 loop loc_C9489 seg000:9499 mov al, 20h ; ' ' seg000:949B out dx, al ; EGA: palette register: select colors for attribute AL: seg000:949B ; 0: RED seg000:949B ; 1: GREEN seg000:949B ; 2: BLUE seg000:949B ; 3: blue seg000:949B ; 4: green seg000:949B ; 5: red seg000:949C popf seg000:949D pop dx seg000:949E retn seg000:949E sub_C9480 endp seg000:949E seg000:949F seg000:949F ; =============== S U B R O U T I N E ======================================= seg000:949F seg000:949F seg000:949F sub_C949F proc near ; CODE XREF: sub_C950B+6p seg000:949F push ax seg000:94A0 push cx seg000:94A1 push dx seg000:94A2 clc seg000:94A3 call loc_C35B6 seg000:94A6 call sub_C2C0E seg000:94A9 jnz short loc_C94B7 seg000:94AB call sub_C1CAC seg000:94AE call sub_C1BAF seg000:94B1 call sub_C1CE8 seg000:94B4 call sub_C1CAC seg000:94B7 seg000:94B7 loc_C94B7: ; CODE XREF: sub_C949F+Aj seg000:94B7 stc seg000:94B8 call loc_C35B6 seg000:94BB pop dx seg000:94BC pop cx seg000:94BD pop ax seg000:94BE retn seg000:94BE sub_C949F endp seg000:94BE seg000:94BF seg000:94BF ; =============== S U B R O U T I N E ======================================= seg000:94BF seg000:94BF seg000:94BF sub_C94BF proc near ; CODE XREF: sub_C957B+18p seg000:94BF push ax seg000:94C0 push cx seg000:94C1 push dx seg000:94C2 clc seg000:94C3 call loc_C35B6 seg000:94C6 call sub_C1CAC seg000:94C9 call sub_C1BB9 seg000:94CC call sub_C1CAC seg000:94CF call sub_C1CF9 seg000:94D2 stc seg000:94D3 call loc_C35B6 seg000:94D6 pop dx seg000:94D7 pop cx seg000:94D8 pop ax seg000:94D9 retn seg000:94D9 sub_C94BF endp seg000:94D9 seg000:94D9 ; --------------------------------------------------------------------------- seg000:94DA db 0E4h ; ñ seg000:94DB ; --------------------------------------------------------------------------- seg000:94DB mov [si], di seg000:94DD arpl [bx+si-50h], sp seg000:94E0 seg000:94E0 ; =============== S U B R O U T I N E ======================================= seg000:94E0 seg000:94E0 seg000:94E0 sub_C94E0 proc near ; CODE XREF: sub_C90E8+2Dp seg000:94E0 push ax seg000:94E1 push cx seg000:94E2 mov ah, al seg000:94E4 mov al, 2Ch ; ',' seg000:94E6 call sub_C127D seg000:94E9 mov cl, ds:489h seg000:94ED mov ah, cl seg000:94EF and cl, 10h seg000:94F2 shr cl, 3 seg000:94F5 and ah, 80h seg000:94F8 shr ah, 7 seg000:94FB or ah, cl seg000:94FD mov al, 2Eh ; '.' seg000:94FF call sub_C127D seg000:9502 mov ax, 2Dh ; '-' seg000:9505 call sub_C127D seg000:9508 pop cx seg000:9509 pop ax seg000:950A retn seg000:950A sub_C94E0 endp seg000:950A seg000:950B seg000:950B ; =============== S U B R O U T I N E ======================================= seg000:950B seg000:950B seg000:950B sub_C950B proc near ; CODE XREF: sub_C7744+60p seg000:950B ; sub_C90E8+36p seg000:950B push bx seg000:950C mov bl, 1 seg000:950E call loc_C3031 seg000:9511 call sub_C949F seg000:9514 pop bx seg000:9515 retn seg000:9515 sub_C950B endp seg000:9515 seg000:9516 seg000:9516 ; =============== S U B R O U T I N E ======================================= seg000:9516 seg000:9516 seg000:9516 sub_C9516 proc near ; CODE XREF: sub_C90E8+39p seg000:9516 call sub_C4843 seg000:9519 pusha seg000:951A push es seg000:951B mov ax, cs seg000:951D mov es, ax seg000:951F assume es:nothing seg000:951F mov di, 96BDh seg000:9522 mov si, 9EB6h seg000:9525 call sub_C04E1 seg000:9528 mov al, cs:[bx+1] seg000:952C mov cl, 15h seg000:952E mul cl seg000:9530 mov di, 96D8h seg000:9533 add di, ax seg000:9535 mov si, 9F63h seg000:9538 call sub_C04E1 seg000:953B mov al, cs:[bx+2] seg000:953F mov cl, 11h seg000:9541 mul cl seg000:9543 mov di, 98E5h seg000:9546 add di, ax seg000:9548 mov si, 0A00Eh seg000:954B call sub_C04E1 seg000:954E xor cl, cl seg000:9550 call sub_C967C seg000:9553 lea di, [bx+8] seg000:9556 mov si, 0A06Ch seg000:9559 call sub_C04E1 seg000:955C mov si, 0A074h seg000:955F call sub_C04ED seg000:9562 call sub_C1DEE seg000:9565 mov al, cs:[si+7] seg000:9569 call sub_C1E34 seg000:956C call sub_C3418 seg000:956F call sub_C1D43 seg000:9572 mov al, 18h seg000:9574 out dx, al seg000:9575 pop es seg000:9576 assume es:nothing seg000:9576 popa seg000:9577 call sub_C48B5 seg000:957A retn seg000:957A sub_C9516 endp seg000:957A seg000:957B seg000:957B ; =============== S U B R O U T I N E ======================================= seg000:957B seg000:957B seg000:957B sub_C957B proc near ; CODE XREF: sub_C7744:loc_C77D6p seg000:957B ; sub_C90E8:loc_C913Ap seg000:957B push ax seg000:957C push bx seg000:957D push dx seg000:957E push si seg000:957F push di seg000:9580 call sub_C4843 seg000:9583 lea si, ds:94DAh seg000:9587 mov di, 2653h seg000:958A call sub_C256D seg000:958D call loc_C95B6 seg000:9590 call loc_C3125 seg000:9593 call sub_C94BF seg000:9596 mov di, 224Eh seg000:9599 xor bl, bl seg000:959B call sub_C256D seg000:959E mov ax, 32h ; '2' seg000:95A1 call sub_C127D seg000:95A4 call nullsub_1 seg000:95A7 call sub_CA106 seg000:95AA call nullsub_2 seg000:95AD call sub_C48B5 seg000:95B0 pop di seg000:95B1 pop si seg000:95B2 pop dx seg000:95B3 pop bx seg000:95B4 pop ax seg000:95B5 retn seg000:95B5 sub_C957B endp seg000:95B5 seg000:95B6 ; --------------------------------------------------------------------------- seg000:95B6 seg000:95B6 loc_C95B6: ; CODE XREF: sub_C957B+12p seg000:95B6 call sub_C0529 seg000:95B9 outsb seg000:95BA or [bx+si+62h], dl seg000:95BD add bh, bh seg000:95BD ; --------------------------------------------------------------------------- seg000:95BF db 0FEh, 2 dup(0FFh), 4 dup(0), 6Eh, 0FCh, 0F2h, 10h, 0 seg000:95BF db 0FEh, 3 dup(0FFh), 4 dup(0), 71h, 0C3h, 0EDh, 89h, 3Fh seg000:95BF db 63h, 15h, 0B1h, 50h, 53h, 51h, 52h, 56h, 57h, 6, 32h seg000:95BF db 0DBh, 80h, 0FCh, 13h, 76h, 72h, 53h, 8Ah, 0C4h, 0E8h seg000:95BF db 68h, 87h, 8Bh, 0FBh, 0Fh, 92h, 0C4h, 72h, 3, 0E8h, 0F5h seg000:95BF db 87h, 5Bh, 8Ah, 0DCh, 0Ah, 0DBh, 75h, 5Bh, 56h, 8Dh seg000:95BF db 36h, 0D5h, 95h, 0E8h, 4Bh, 90h, 5Eh, 2Eh, 0F6h, 44h seg000:95BF db 8, 4, 74h, 20h, 0Ah, 0C0h, 75h, 7, 2Eh, 0F6h, 44h, 8 seg000:95BF db 2, 75h, 11h, 2Eh, 3Bh, 0Ch, 73h, 2, 0FEh, 0C3h, 2Eh seg000:95BF db 3Bh, 54h, 2, 73h, 17h, 0FEh, 0C3h, 0EBh, 13h, 0FEh seg000:95BF db 0C3h, 0EBh, 0Fh, 2Eh, 3Bh, 0Ch, 74h, 2, 0FEh, 0C3h seg000:95BF db 2Eh, 3Bh, 54h, 2, 74h, 2, 0FEh, 0C3h, 2Eh, 8Bh, 44h seg000:95BF db 2, 2Eh, 0F7h, 24h, 0C1h, 0EAh, 4, 26h, 0Fh, 0B6h, 4Dh seg000:95BF db 7, 0C1h, 0E9h, 3, 0Fh, 0AFh, 0D1h, 83h, 0FAh, 10h, 72h seg000:95BF db 2, 0FEh, 0C3h, 0Ah, 0DBh, 74h, 1, 0F9h, 7, 5Fh, 5Eh seg000:95BF db 5Ah, 59h, 5Bh, 58h, 0C3h seg000:9668 seg000:9668 ; =============== S U B R O U T I N E ======================================= seg000:9668 seg000:9668 seg000:9668 sub_C9668 proc near ; CODE XREF: sub_C7A26+21p seg000:9668 ; sub_C7BC5+3p ... seg000:9668 push ax seg000:9669 push dx seg000:966A push di seg000:966B mov di, 95DBh seg000:966E mov ah, al seg000:9670 call sub_C256D seg000:9673 setnz al seg000:9676 shr al, 1 seg000:9678 pop di seg000:9679 pop dx seg000:967A pop ax seg000:967B retn seg000:967B sub_C9668 endp seg000:967B seg000:967C seg000:967C ; =============== S U B R O U T I N E ======================================= seg000:967C seg000:967C seg000:967C sub_C967C proc near ; CODE XREF: sub_C9516+3Ap seg000:967C push ds seg000:967D push ax seg000:967E push di seg000:967F push dx seg000:9680 mov ax, word ptr cs:byte_C0001+79h seg000:9684 mov ds, ax seg000:9686 cmp byte ptr ds:449h, 3 seg000:968B jnz short loc_C96B8 seg000:968D test byte ptr ds:489h, 10h seg000:9692 jz short loc_C96B8 seg000:9694 lds di, ds:4A8h seg000:9698 lds di, [di] seg000:969A mov ax, ds seg000:969C mov dx, cs seg000:969E cmp ax, dx seg000:96A0 jz short loc_C96B8 seg000:96A2 or cl, cl seg000:96A4 jnz short loc_C96B2 seg000:96A6 mov al, 1 seg000:96A8 mov ah, [di+605h] seg000:96AC mov dx, 3C4h seg000:96AF out dx, ax ; EGA: sequencer address reg seg000:96AF ; sequencer reset. seg000:96AF ; Bits of data 0-1 indicate asynchronous/synchronous reset. seg000:96B0 jmp short loc_C96B8 seg000:96B2 ; --------------------------------------------------------------------------- seg000:96B2 seg000:96B2 loc_C96B2: ; CODE XREF: sub_C967C+28j seg000:96B2 mov ax, 179h seg000:96B5 call sub_C1B93 seg000:96B8 seg000:96B8 loc_C96B8: ; CODE XREF: sub_C967C+Fj seg000:96B8 ; sub_C967C+16j ... seg000:96B8 pop dx seg000:96B9 pop di seg000:96BA pop ax seg000:96BB pop ds seg000:96BC retn seg000:96BC sub_C967C endp seg000:96BC seg000:96BC ; --------------------------------------------------------------------------- seg000:96BD db 2 dup(0), 0A4h, 8 dup(0), 0FFh, 4 dup(0), 25h, 9 dup(0) seg000:96BD db 0FFh, 7Fh, 2, 2 dup(0), 60h, 3Fh, 40h, 20h, 0Ch, 44h seg000:96BD db 61h, 1Ch, 48h, 0A2h, 2Ch, 4Ch, 0E3h, 3Ch, 0Fh, 81h seg000:96BD db 0F5h, 7Fh, 2, 2 dup(0), 80h, 3Fh, 40h, 20h, 0Ch, 44h seg000:96BD db 61h, 1Ch, 48h, 0A2h, 2Ch, 4Ch, 0E3h, 3Ch, 0Fh, 81h seg000:96BD db 0F5h, 7Fh, 2, 2 dup(0), 20h, 3Dh, 40h, 20h, 0Ch, 44h seg000:96BD db 61h, 1Ch, 48h, 0A2h, 2Ch, 4Ch, 0E3h, 3Ch, 0Fh, 81h seg000:96BD db 0F5h, 13h, 2, 80h, 0, 1, 18h, 0C0h, 54h, 5Dh, 2, 61h seg000:96BD db 1Ch, 50h, 24h, 4Dh, 54h, 65h, 5Dh, 3, 61h, 0Fh, 31h seg000:96BD db 2, 80h, 0, 1, 28h, 0C0h, 75h, 5Dh, 0D7h, 75h, 5Dh, 0D7h seg000:96BD db 75h, 5Dh, 0D7h, 75h, 5Dh, 2 dup(1), 0Dh, 7Fh, 2, 80h seg000:96BD db 40h, 1, 1Ch, 40h, 20h, 0Ch, 44h, 61h, 1Ch, 48h, 0A2h seg000:96BD db 2Ch, 4Ch, 0E3h, 3Ch, 0Fh, 91h, 0F5h, 3Fh, 0, 80h, 0Fh seg000:96BD db 0, 3Ch, 0, 2, 0, 18h, 6, 2 dup(0), 2, 2 dup(0), 6, 0 seg000:96BD db 5, 0Bh, 55h, 3Fh, 2, 80h, 2 dup(0), 2Ch, 0C0h, 0Bh dup(0FFh) seg000:96BD db 0Fh, 1, 15h, 3Fh, 2, 80h, 2 dup(0), 3Ch, 40h, 20h, 0Ch seg000:96BD db 44h, 61h, 1Ch, 50h, 24h, 4Dh, 54h, 65h, 5Dh, 0Fh, 1 seg000:96BD db 0F5h, 3Fh, 2, 80h, 2 dup(0), 3Ch, 40h, 20h, 0Ch, 44h seg000:96BD db 41h, 1Dh, 78h, 0AEh, 0EFh, 7Ch, 0EFh, 0FFh, 0Fh, 1 seg000:96BD db 0F5h, 3Fh, 2, 80h, 0Fh, 0, 3Ch, 40h, 20h, 0Ch, 44h seg000:96BD db 41h, 1Dh, 78h, 0AEh, 0EFh, 7Ch, 0EFh, 0FFh, 0Fh, 1 seg000:96BD db 0F5h, 3Fh, 2, 3 dup(0), 3Ch, 40h, 20h, 0Ch, 44h, 41h seg000:96BD db 1Dh, 78h, 0AEh, 0EFh, 7Ch, 0EFh, 0FFh, 0Fh, 1, 0F5h seg000:96BD db 13h, 2Eh, 8Ch, 1Fh, 0Dh, 1Ch, 40h, 20h, 0Ch, 44h, 41h seg000:96BD db 1Dh, 78h, 0AEh, 0EFh, 7Ch, 0EFh, 0FFh, 0Fh, 28h, 0Eh seg000:96BD db 13h, 2Ch, 8Ch, 2 dup(0Dh), 1Ch, 0, 82h, 20h, 8, 82h seg000:96BD db 20h, 10h, 86h, 61h, 18h, 86h, 61h, 8Fh, 2Eh, 0Ah, 13h seg000:96BD db 36h, 8Eh, 1Fh, 0Fh, 1Ch, 40h, 20h, 0Ch, 44h, 41h, 1Dh seg000:96BD db 78h, 0AEh, 0EFh, 7Ch, 0EFh, 0FFh, 0Fh, 2Ch, 0Eh, 13h seg000:96BD db 1Ah, 87h, 1Fh, 7, 1Ch, 40h, 20h, 0Ch, 44h, 61h, 1Ch seg000:96BD db 50h, 24h, 4Dh, 54h, 65h, 5Dh, 0Fh, 28h, 0Eh, 13h, 1Ah seg000:96BD db 87h, 1Fh, 7, 1Ch, 40h, 20h, 0Ch, 44h, 41h, 1Dh, 78h seg000:96BD db 0AEh, 0EFh, 7Ch, 0EFh, 0FFh, 0Fh, 2Ch, 0Eh, 13h, 18h seg000:96BD db 87h, 1Fh, 7, 1Ch, 0, 82h, 20h, 8, 82h, 20h, 10h, 86h seg000:96BD db 61h, 18h, 86h, 61h, 0Fh, 2Ah, 0Ah, 13h, 1Eh, 88h, 1Fh seg000:96BD db 8, 1Ch, 40h, 20h, 0Ch, 44h, 41h, 1Dh, 78h, 0AEh, 0EFh seg000:96BD db 7Ch, 0EFh, 0FFh, 0Fh, 2Ch, 0Eh, 13h, 36h, 8Eh, 1Fh seg000:96BD db 0Fh, 1Ch, 40h, 20h, 0Ch, 44h, 41h, 1Dh, 78h, 0AEh, 0EFh seg000:96BD db 7Ch, 0EFh, 0FFh, 8Fh, 2Ch, 0Eh, 13h, 34h, 8Eh, 2 dup(0Fh) seg000:96BD db 1Ch, 0, 82h, 20h, 8, 82h, 20h, 10h, 86h, 61h, 18h, 86h seg000:96BD db 61h, 8Fh, 2Eh, 0Ah, 2 dup(0), 8, 37h, 2 dup(0), 8, 37h seg000:96BD db 2 dup(0), 8, 37h, 2 dup(0), 4, 0Fh, 2 dup(0), 2, 2Fh seg000:96BD db 2 dup(0), 8, 37h, 2 dup(0), 2, 26h, 2 dup(0), 2, 27h seg000:96BD db 2 dup(0), 2, 27h, 2 dup(0), 2, 27h, 2 dup(0), 2, 27h seg000:96BD db 2 dup(0), 2, 27h, 0Bh, 0Ch, 4, 0Dh, 0Bh, 0Ch, 4, 8 seg000:96BD db 0Dh, 0Eh, 4, 0Dh, 6, 7, 4, 0Dh, 6, 7, 4, 0Dh, 6, 7 seg000:96BD db 4, 8, 7, 8, 4, 2 dup(0Dh), 0Eh, 4, 2 dup(0Dh), 0Eh seg000:96BD db 4, 8, 36h, 2Dh, 2 dup(27h), 91h, 2Bh, 8Fh, 0BFh, 9Ch seg000:96BD db 2 dup(8Fh), 0C0h, 8Eh, 1Eh, 2 dup(0), 1, 14h, 5Fh seg000:98F8 db 4Fh, 50h, 82h, 54h, 80h, 0BFh, 9Ch, 8Fh, 96h, 0B9h seg000:98F8 db 0Eh, 1Fh, 40h, 0, 1, 34h, 2Dh, 27h, 28h, 90h, 2Bh, 80h seg000:98F8 db 0BFh, 9Ch, 8Fh, 96h, 0B9h, 8Eh, 1Fh, 3 dup(0), 34h seg000:98F8 db 2Dh, 27h, 28h, 90h, 2Bh, 0A0h, 0BFh, 9Ch, 8Fh, 96h seg000:98F8 db 0B9h, 8Eh, 1Fh, 3 dup(0), 3Eh, 2Dh, 2 dup(27h), 91h seg000:98F8 db 2Bh, 8Fh, 0Bh, 0EAh, 2 dup(0DFh), 0Ch, 8Ch, 3Ch, 2 dup(0) seg000:98F8 db 1, 38h, 2Dh, 27h, 28h, 90h, 2Bh, 0A0h, 0BFh, 83h, 5Dh seg000:98F8 db 63h, 0BAh, 5, 1Fh, 3 dup(0), 36h, 2Dh, 2 dup(27h), 91h seg000:98F8 db 2Bh, 8Fh, 0BFh, 9Ch, 2 dup(8Fh), 0C0h, 0Eh, 1Eh, 2 dup(0) seg000:98F8 db 1, 25h, 2Dh, 27h, 28h, 90h, 2Bh, 0A0h, 0BFh, 9Ch, 8Fh seg000:98F8 db 96h, 0B9h, 0Eh, 1Fh, 3 dup(0), 18h, 5Fh, 4Fh, 50h, 82h seg000:98F8 db 55h, 81h, 0BFh, 9Ch, 8Fh, 96h, 0B9h, 8Eh, 1Fh, 40h seg000:98F8 db 0, 1, 14h, 5Fh, 4Fh, 50h, 82h, 54h, 80h, 0BFh, 9Ch seg000:98F8 db 8Fh, 96h, 0B9h, 8Eh, 1Fh, 40h, 0, 1, 14h, 5Fh, 4Fh seg000:98F8 db 50h, 82h, 55h, 81h, 0BFh, 9Ch, 8Fh, 96h, 0B9h, 8Eh seg000:98F8 db 1Fh, 40h, 0, 1, 18h, 5Fh, 4Fh, 50h, 82h, 54h, 80h, 0BFh seg000:98F8 db 83h, 5Dh, 63h, 0BAh, 5, 1Fh, 40h, 0, 1, 18h, 5Fh, 4Fh seg000:98F8 db 50h, 82h, 55h, 81h, 0BFh, 83h, 5Dh, 63h, 0BAh, 5, 1Fh seg000:98F8 db 40h, 0, 1, 16h, 5Fh, 2 dup(4Fh), 83h, 54h, 80h, 0BFh seg000:98F8 db 9Ch, 2 dup(8Fh), 0C0h, 0Eh, 1Eh, 40h, 0, 1, 1Eh, 5Fh seg000:98F8 db 2 dup(4Fh), 83h, 54h, 80h, 0Bh, 0EAh, 2 dup(0DFh), 2 dup(0Ch) seg000:98F8 db 3Ch, 40h, 0, 1, 1Ch, 5Fh, 4Fh, 50h, 82h, 54h, 80h, 0Bh seg000:98F8 db 0EAh, 0DFh, 0E7h, 4, 0Ch, 3Dh, 40h, 0, 1, 9, 5Fh, 4Fh seg000:98F8 db 50h, 82h, 55h, 81h, 0BFh, 83h, 5Dh, 63h, 0BAh, 5, 1Fh seg000:98F8 db 40h, 0, 1, 5, 5Fh, 4Fh, 50h, 82h, 55h, 81h, 0BFh, 9Ch seg000:98F8 db 8Fh, 96h, 0B9h, 0Eh, 1Fh, 40h, 0, 1, 12h, 7Fh, 2 dup(63h) seg000:98F8 db 83h, 6Ah, 1Ah, 72h, 59h, 2 dup(57h), 73h, 4Dh, 0E0h seg000:98F8 db 80h, 0, 1, 12h, 7Fh, 2 dup(63h), 83h, 6Bh, 1Bh, 72h seg000:98F8 db 59h, 2 dup(57h), 73h, 4Dh, 0E0h, 80h, 0, 1, 1Eh, 0A3h seg000:98F8 db 2 dup(7Fh), 87h, 84h, 95h, 24h, 3, 2 dup(0FFh), 25h seg000:98F8 db 49h, 0EAh, 80h, 2 dup(0), 1Eh, 0A3h, 2 dup(7Fh), 87h seg000:98F8 db 85h, 96h, 24h, 3, 2 dup(0FFh), 25h, 49h, 0EAh, 80h seg000:98F8 db 2 dup(0), 12h, 0CFh, 2 dup(9Fh), 93h, 0A9h, 19h, 28h seg000:98F8 db 1, 2 dup(0FFh), 29h, 44h, 54h, 0C0h, 24h, 1, 12h, 0CFh seg000:98F8 db 2 dup(9Fh), 93h, 0AAh, 1Ah, 28h, 1, 2 dup(0FFh), 29h seg000:98F8 db 44h, 54h, 0C0h, 24h, 1, 12h, 0CDh, 2 dup(9Fh), 91h seg000:98F8 db 0A9h, 1Ah, 3Ah, 21h, 2 dup(1Fh), 3Bh, 44h, 0FEh, 0C0h seg000:98F8 db 0, 1, 12h, 3, 2 dup(0C7h), 87h, 0D1h, 9, 0E0h, 0B1h seg000:98F8 db 2 dup(0AFh), 0E1h, 4, 0, 1, 24h, 13h, 16h, 9, 0C7h seg000:98F8 db 9Fh, 8Fh, 0D2h, 0Ah, 0E0h, 0B0h, 0AFh, 0CFh, 0EBh, 43h seg000:98F8 db 0, 0C1h, 24h, 3, 40h, 1, 0C8h, 0, 28h, 18h, 2 dup(8) seg000:98F8 db 5, 40h, 1, 0C8h, 0, 28h, 18h, 2 dup(8), 0Dh, 40h, 1 seg000:98F8 db 0C8h, 0, 28h, 18h, 2 dup(8), 5, 28h, 0, 19h, 0, 28h seg000:98F8 db 18h, 2 dup(8), 5, 40h, 1, 0F0h, 0, 28h, 1Dh, 2 dup(8) seg000:98F8 db 5, 28h, 0, 19h, 0, 28h, 18h, 0Eh, 8, 5, 40h, 1, 90h seg000:98F8 db 1, 28h, 18h, 10h, 8, 5, 28h, 0, 19h, 0, 28h, 18h, 10h seg000:98F8 db 9, 4, 50h, 0, 19h, 0, 50h, 18h, 2 dup(8), 5, 80h, 2 seg000:98F8 db 0C8h, 0, 50h, 18h, 2 dup(8), 5, 50h, 0, 19h, 0, 50h seg000:98F8 db 18h, 2 dup(8), 5, 80h, 2, 5Eh, 1, 50h, 18h, 0Eh, 8 seg000:98F8 db 5, 50h, 0, 19h, 0, 50h, 18h, 0Eh, 8, 5 seg000:9B25 db 80h, 2, 90h, 1, 50h, 18h, 10h, 8, 5, 80h, 2, 0E0h, 1 seg000:9B25 db 50h, 1Dh, 10h, 8, 5, 80h, 2, 0E0h, 1, 50h, 1Dh, 10h seg000:9B25 db 8, 5, 50h, 0, 19h, 0, 50h, 18h, 0Eh, 9, 4, 50h, 0, 19h seg000:9B25 db 0, 50h, 18h, 10h, 9, 4, 20h, 3, 58h, 2, 64h, 24h, 10h seg000:9B25 db 0Ch, 5, 20h, 3, 58h, 2, 64h, 24h, 10h, 0Ch, 5, 0, 4 seg000:9B25 db 0, 3, 80h, 2Fh, 2 dup(10h), 5, 0, 4, 0, 3, 80h, 2Fh seg000:9B25 db 2 dup(10h), 5, 0, 5, 0, 4, 0A0h, 3Fh, 10h, 17h, 5, 0 seg000:9B25 db 5, 0, 4, 0A0h, 3Fh, 10h, 17h, 5, 0, 5, 20h, 3, 0A0h seg000:9B25 db 31h, 10h, 23h, 7, 40h, 6, 0B0h, 4, 0C8h, 4Ah, 10h, 19h seg000:9B25 db 5, 40h, 6, 0B0h, 4, 0C8h, 4Ah, 10h, 2 dup(7), 0ABh seg000:9B25 db 13h, 20h, 16h, 0FDh, 0Ch, 50h, 14h, 40h, 1Fh, 9Ch, 18h seg000:9B25 db 2 dup(0), 4Ch, 1Dh, 0D6h, 9, 10h, 0Bh, 4Eh, 0Ch, 10h seg000:9B25 db 0Eh, 0A0h, 0Fh, 4, 10h, 8Ah, 11h, 88h, 13h, 64h, 19h seg000:9B25 db 30h, 2Ah, 0BCh, 34h, 56h, 13h, 0F9h, 15h, 0C3h, 1Eh seg000:9B25 db 0EAh, 24h, 62h, 2Ah, 0DEh, 0Dh, 0B8h, 3Dh, 0D2h, 15h seg000:9B25 db 0D0h, 7, 0E9h, 0Ah, 0B2h, 0Ch, 0EBh, 4, 0E2h, 1Fh, 0A6h seg000:9B25 db 59h, 0E5h, 2Fh, 47h, 68h, 9Ah, 20h, 97h, 29h, 7Ah, 39h seg000:9B25 db 74h, 4Bh, 2Fh, 26h, 2Fh, 0Dh, 66h, 21h, 80h, 0Ch, 5 seg000:9B25 db 1, 2 dup(0), 8, 4, 14h, 2 dup(0), 8, 17h, 81h, 2 dup(0Ch) seg000:9B25 db 3, 2 dup(0), 8, 4, 28h, 2 dup(0), 10h, 17h, 82h, 0Fh seg000:9B25 db 3, 1, 2 dup(0), 8, 4, 14h, 2 dup(0), 8, 17h, 83h, 0Fh seg000:9B25 db 0Ah, 3, 2 dup(0), 8, 4, 28h, 2 dup(0), 10h, 17h, 84h seg000:9B25 db 13h, 7, 1, 2 dup(0), 8, 4, 14h, 2 dup(0), 8, 17h, 85h seg000:9B25 db 13h, 11h, 3, 2 dup(0), 8, 4, 28h, 2 dup(0), 10h, 17h seg000:9B25 db 4, 3, 2, 4, 0, 2, 1, 2, 14h, 2 dup(0), 40h, 17h, 5 seg000:9B25 db 3, 2, 5, 0, 2, 1, 2, 14h, 2 dup(0), 40h, 17h, 6, 4 seg000:9B25 db 9, 6, 0, 2, 2 dup(1), 28h, 2 dup(0), 40h, 17h, 87h seg000:9B25 db 0Dh, 10h, 7, 0, 1, 8, 0, 28h, 2 dup(0), 10h, 17h, 88h seg000:9B25 db 14h, 11h, 7, 0, 1, 8, 0, 28h, 2 dup(0), 10h, 17h, 0Dh seg000:9B25 db 8, 2, 0Dh, 0, 5, 8, 4, 14h, 2 dup(0), 20h, 17h, 0Eh seg000:9B25 db 8, 9, 0Eh, 0, 5, 2 dup(4), 28h, 2 dup(0), 40h, 17h seg000:9B25 db 0Fh, 6, 0Bh, 0Fh, 0, 3, 2, 1, 28h, 2 dup(0), 80h, 17h seg000:9B25 db 10h, 0Ah, 0Bh, 10h, 0, 5, 2, 4, 28h, 2 dup(0), 80h seg000:9B25 db 17h, 11h, 7, 0Fh, 11h, 0, 4, 2 dup(1), 28h, 2 dup(0) seg000:9B25 db 0A0h, 17h, 12h, 9, 0Fh, 12h, 0, 5, 1, 4, 28h, 2 dup(0) seg000:9B25 db 0A0h, 17h, 13h, 5, 1, 13h, 0, 6, 1, 8, 28h, 2 dup(0) seg000:9B25 db 0FAh, 17h, 20h, 1, 0, 0Fh, 1, 8, 1, 20h, 0A0h, 0, 2 dup(0FFh) seg000:9B25 db 20h, 21h, 1, 0Eh, 12h, 1, 8, 1, 20h, 40h, 1, 2 dup(0FFh) seg000:9B25 db 20h, 22h, 1, 12h, 15h, 1, 8, 1, 20h, 90h, 1, 2 dup(0FFh) seg000:9B25 db 20h, 30h, 2, 0, 30h, 1, 6, 1, 8, 28h, 2 dup(0), 40h seg000:9B25 db 20h, 31h, 2, 6, 31h, 1, 6, 1, 8, 28h, 2 dup(0), 80h seg000:9B25 db 20h, 32h, 0, 6, 32h, 1, 7, 1, 10h, 50h, 0, 2 dup(0FFh) seg000:9B25 db 20h, 33h, 1, 6, 33h, 1, 8, 1, 20h, 0A0h, 0, 2 dup(0FFh) seg000:9B25 db 20h, 34h, 2, 4, 34h, 1, 6, 1, 8, 28h, 2 dup(0), 50h seg000:9B25 db 20h, 35h, 0, 4, 35h seg000:9D4D db 1, 7, 1, 10h, 50h, 2 dup(0), 0A0h, 20h, 36h, 1, 4, 36h seg000:9D4D db 1, 8, 1, 20h, 0A0h, 0, 2 dup(0FFh), 20h, 3Dh, 0, 0Dh seg000:9D4D db 3Dh, 1, 7, 1, 10h, 0A0h, 0, 2 dup(0FFh), 20h, 3Eh, 1 seg000:9D4D db 0Dh, 3Eh, 1, 8, 1, 20h, 40h, 1, 2 dup(0FFh), 20h, 3Fh seg000:9D4D db 1, 14h, 18h, 1, 8, 1, 20h, 0, 2, 2 dup(0FFh), 20h, 44h seg000:9D4D db 0, 16h, 1Ah, 1, 7, 1, 10h, 40h, 1, 2 dup(0FFh), 20h seg000:9D4D db 45h, 2, 19h, 45h, 1, 6, 1, 8, 0C8h, 0, 2 dup(0FFh) seg000:9D4D db 20h, 46h, 0, 19h, 46h, 1, 7, 1, 10h, 90h, 1, 2 dup(0FFh) seg000:9D4D db 20h, 4Ah, 1, 19h, 4Ah, 1, 8, 1, 2 dup(20h), 3, 2 dup(0FFh) seg000:9D4D db 20h, 4Bh, 2, 1Ah, 4Bh, 1, 6, 1, 8, 0C8h, 0, 2 dup(0FFh) seg000:9D4D db 20h, 4Ch, 0, 1Ah, 4Ch, 1, 7, 1, 10h, 90h, 1, 2 dup(0FFh) seg000:9D4D db 20h, 4Dh, 1, 1Ah, 4Dh, 1, 8, 1, 2 dup(20h), 3, 2 dup(0FFh) seg000:9D4D db 20h, 58h, 0Bh, 13h, 2, 1, 5, 1, 4, 32h, 0, 2 dup(0FFh) seg000:9D4D db 17h, 5Ah, 0Bh, 17h, 6, 1, 5, 1, 4, 50h, 0, 2 dup(0FFh) seg000:9D4D db 17h, 5Bh, 2, 0Dh, 0, 1, 6, 1, 8, 50h, 0, 2 dup(0FFh) seg000:9D4D db 20h, 5Ch, 2, 12h, 3, 1, 6, 1, 8, 64h, 0, 2 dup(0FFh) seg000:9D4D db 20h, 5Dh, 0Bh, 15h, 4, 1, 5, 1, 4, 40h, 0, 2 dup(0FFh) seg000:9D4D db 17h, 5Eh, 2, 14h, 5, 1, 6, 1, 8, 80h, 0, 2 dup(0FFh) seg000:9D4D db 20h, 5Fh, 2, 0Eh, 2 dup(1), 6, 1, 8, 50h, 0, 2 dup(0FFh) seg000:9D4D db 20h, 6Ah, 0Bh, 13h, 2, 1, 5, 1, 4, 32h, 0, 2 dup(0FFh) seg000:9D4D db 17h, 6Bh, 2, 16h, 7, 1, 6, 1, 8, 0A0h, 0, 2 dup(0FFh) seg000:9D4D db 20h, 6Eh, 0, 0Eh, 11h, 1, 7, 1, 10h, 0A0h, 0, 2 dup(0FFh) seg000:9D4D db 20h, 6Fh, 0, 12h, 14h, 1, 7, 1, 10h, 0C8h, 0, 2 dup(0FFh) seg000:9D4D db 20h, 72h, 0, 14h, 17h, 1, 7, 1, 10h, 0, 1, 2 dup(0FFh) seg000:9D4D db 20h, 78h, 2 dup(0), 0Eh, 1, 7, 1, 10h, 50h, 0, 2 dup(0FFh) seg000:9D4D db 20h, 79h, 1, 16h, 1Bh, 1, 8, 1, 20h, 80h, 2, 2 dup(0FFh) seg000:9D4D db 20h, 60h, 2, 18h, 60h, 1, 6, 1, 8, 0A0h, 0, 2 dup(0FFh) seg000:9D4D db 20h, 61h, 1, 18h, 61h, 1, 8, 1, 20h, 80h, 2, 2 dup(0FFh) seg000:9D4D db 20h, 0FFh, 62h, 0C4h, 3, 0, 1, 83h, 28h, 7, 84h, 1Ah seg000:9D4D db 2, 17h, 0C4h, 2 dup(3), 15h, 0C4h, 3, 2, 0Fh, 15h, 0C4h seg000:9D4D db 3, 4, 0Fh, 15h, 0C4h, 3, 4, 0FEh, 15h, 0C4h, 3, 1, 0FDh seg000:9D4D db 15h, 0C4h, 3, 1, 1Fh, 1Ah, 0C2h, 3, 0FDh, 1Ah, 0C2h seg000:9D4D db 3, 0CFh, 14h, 11h, 0Fh, 14h, 0Ah, 3Fh, 14h, 0Bh, 7Fh seg000:9D4D db 2 dup(14h), 7Fh, 16h, 8, 16h, 0Ch, 16h, 0Dh, 16h, 34h seg000:9D4D db 16h, 35h, 16h, 0Eh, 16h, 0Fh, 16h, 18h, 16h, 1Ch, 16h seg000:9D4D db 1Dh, 16h, 1Eh, 16h, 1Fh, 14h, 9, 0BFh, 14h, 17h, 0EFh seg000:9D4D db 14h, 17h, 7Fh, 14h, 1Bh, 0FEh, 14h, 1Bh, 7Fh, 14h, 7 seg000:9D4D db 0EFh, 1Ch, 2, 17h, 0C0h, 3, 11h, 15h, 0C0h, 3, 12h seg000:9D4D db 0Fh, 15h, 0C0h, 3, 13h, 0Fh, 15h, 0C0h, 3, 10h, 0CFh seg000:9D4D db 15h, 0C0h, 3, 10h, 7Fh, 15h, 0CEh, 3, 5, 0F0h, 15h seg000:9D4D db 0CEh, 3, 5, 7Fh, 17h, 0CEh, 3, 0, 17h, 0CEh, 3, 1, 17h seg000:9D4D db 0CEh, 3, 2, 17h, 0CEh, 2 dup(3), 17h, 0CEh, 3, 4, 15h seg000:9D4D db 0CEh, 3, 6, 0Fh, 15h, 0CEh, 3, 7, 0Fh, 17h, 0CEh, 3 seg000:9D4D db 8, 71h, 15h, 0C4h, 3, 2, 0F0h, 15h, 0C4h, 3, 4, 0F1h seg000:9D4D db 15h, 0C4h, 3 seg000:9F70 db 1, 0FBh, 15h, 0C4h, 3, 1, 0EFh, 1Ah, 0C2h, 3, 0FEh seg000:9F70 db 14h, 0Ah, 0C0h, 14h, 0Bh, 80h, 14h, 1Ah, 0FEh, 2 dup(14h) seg000:9F70 db 80h, 1Ch, 1, 14h, 9, 0E0h, 14h, 1Bh, 8Fh, 14h, 1Bh seg000:9F70 db 0F3h, 14h, 17h, 0FCh, 14h, 17h, 9Fh, 1Ch, 2, 15h, 0C0h seg000:9F70 db 3, 0, 0C0h, 15h, 0C0h, 3, 1, 0C0h, 15h, 0C0h, 3, 2 seg000:9F70 db 0C0h, 15h, 0C0h, 2 dup(3), 0C0h, 15h, 0C0h, 3, 4, 0C0h seg000:9F70 db 15h, 0C0h, 3, 5, 0C0h, 15h, 0C0h, 3, 6, 0C0h, 15h, 0C0h seg000:9F70 db 3, 7, 0C0h, 15h, 0C0h, 3, 8, 0C0h, 15h, 0C0h, 3, 9 seg000:9F70 db 0C0h, 15h, 0C0h, 3, 0Ah, 0C0h, 15h, 0C0h, 3, 0Bh, 0C0h seg000:9F70 db 15h, 0C0h, 3, 0Ch, 0C0h, 15h, 0C0h, 3, 0Dh, 0C0h, 15h seg000:9F70 db 0C0h, 3, 0Eh, 0C0h, 15h, 0C0h, 3, 0Fh, 0C0h, 15h, 0C0h seg000:9F70 db 3, 12h, 0F0h, 15h, 0C0h, 3, 13h, 0F0h, 15h, 0C0h, 3 seg000:9F70 db 10h, 0F0h, 15h, 0C0h, 3, 10h, 0BFh, 15h, 0CEh, 3, 5 seg000:9F70 db 8Fh, 15h, 0CEh, 3, 6, 0F0h, 15h, 0CEh, 3, 7, 0F0h, 71h seg000:9F70 db 1Ah, 0C2h, 3, 0F3h, 1Ah, 0C2h, 3, 3Fh, 15h, 0C4h, 3 seg000:9F70 db 1, 0FEh, 15h, 0C4h, 3, 1, 0F7h, 1Ch, 2, 16h, 0, 16h seg000:9F70 db 1, 16h, 2, 16h, 3, 16h, 4, 16h, 5, 16h, 6, 16h, 10h seg000:9F70 db 16h, 12h, 16h, 15h, 2 dup(16h), 14h, 11h, 0F0h, 14h seg000:9F70 db 17h, 0F3h, 14h, 9, 0DFh, 14h, 9, 7Fh, 14h, 1Ah, 0F7h seg000:9F70 db 14h, 7, 0F0h, 14h, 7, 1Fh, 14h, 28h, 0FCh, 14h, 29h seg000:9F70 db 0FCh, 14h, 2Ah, 0FCh, 14h, 2Bh, 0FCh, 14h, 2Ch, 0FCh seg000:9F70 db 14h, 2Eh, 0F8h, 14h, 38h, 0F8h, 14h, 2Dh, 0FEh, 14h seg000:9F70 db 3Ah, 0F8h, 14h, 3Dh, 0F8h, 71h, 16h, 13h, 14h, 3Bh seg000:9F70 db 0E0h, 1Ch, 3, 71h, 62h, 0C4h, 3, 0, 3, 84h, 11h, 80h seg000:9F70 db 71h seg000:A07D seg000:A07D ; =============== S U B R O U T I N E ======================================= seg000:A07D seg000:A07D seg000:A07D sub_CA07D proc near ; CODE XREF: seg000:2DA1p seg000:A07D clc seg000:A07E retn seg000:A07E sub_CA07D endp seg000:A07E seg000:A07F seg000:A07F ; =============== S U B R O U T I N E ======================================= seg000:A07F seg000:A07F seg000:A07F sub_CA07F proc near ; CODE XREF: sub_C9140:loc_C914Ep seg000:A07F mov al, 3 seg000:A081 call sub_C126B seg000:A084 jz short loc_CA08B seg000:A086 mov al, 4 seg000:A088 call sub_C1C36 seg000:A08B seg000:A08B loc_CA08B: ; CODE XREF: sub_CA07F+5j seg000:A08B mov al, 4 seg000:A08D call sub_C126B seg000:A090 jz short locret_CA09A seg000:A092 mov al, 6 seg000:A094 call sub_C1C36 seg000:A097 call loc_CA09B seg000:A09A seg000:A09A locret_CA09A: ; CODE XREF: sub_CA07F+11j seg000:A09A retn seg000:A09A sub_CA07F endp seg000:A09A seg000:A09B ; --------------------------------------------------------------------------- seg000:A09B seg000:A09B loc_CA09B: ; CODE XREF: sub_CA07F+18p seg000:A09B push bx seg000:A09C call sub_C0529 seg000:A09F outsb seg000:A0A0 or [bp+di+61h], ah seg000:A0A3 add dh, ch seg000:A0A3 ; --------------------------------------------------------------------------- seg000:A0A5 db 0FEh, 2 dup(0FFh), 11h, 1, 2 dup(0), 6Eh, 8, 6Bh, 61h seg000:A0A5 db 0, 0EEh, 0FEh, 2 dup(0FFh), 11h, 1, 2 dup(0), 6Eh, 0 seg000:A0A5 db 20h, 61h, 0, 1Fh, 0FCh, 2 dup(0FFh), 0E0h, 1, 2 dup(0) seg000:A0A5 db 6Eh, 0, 0A0h, 62h, 0, 1Fh, 0FCh, 2 dup(0FFh), 0E0h seg000:A0A5 db 1, 2 dup(0), 71h, 5Bh, 0C3h, 53h, 66h, 57h, 8Ah, 0F8h seg000:A0A5 db 32h, 0DBh, 0E8h, 6Ch, 64h, 2Ch, 8, 63h, 61h, 80h, 0 seg000:A0A5 db 7Bh, 10h, 4 dup(0), 6Eh, 8, 63h, 61h, 80h, 0EEh, 0FEh seg000:A0A5 db 2 dup(0FFh), 11h, 1, 2 dup(0), 71h, 66h, 0Bh, 0FFh seg000:A0A5 db 74h, 3, 0E8h, 28h, 7Bh, 66h, 5Fh, 5Bh, 0C3h seg000:A106 seg000:A106 ; =============== S U B R O U T I N E ======================================= seg000:A106 seg000:A106 seg000:A106 sub_CA106 proc near ; CODE XREF: sub_C957B+2Cp seg000:A106 push dx seg000:A107 push di seg000:A108 mov di, 0A0D6h seg000:A10B call sub_C2556 seg000:A10E pop di seg000:A10F pop dx seg000:A110 retn seg000:A110 sub_CA106 endp seg000:A110 seg000:A110 ; --------------------------------------------------------------------------- seg000:A111 db 53h ; S seg000:A112 db 8Ah, 0F8h, 32h, 0DBh, 0E8h, 33h, 64h, 75h, 16h, 6Eh seg000:A112 db 8, 63h, 61h, 80h, 0EEh, 0FEh, 2 dup(0FFh), 10h, 3 dup(0) seg000:A112 db 71h, 5Bh, 0C3h seg000:A12B seg000:A12B ; =============== S U B R O U T I N E ======================================= seg000:A12B seg000:A12B seg000:A12B sub_CA12B proc near ; CODE XREF: sub_C90E8+2Ap seg000:A12B push dx seg000:A12C push di seg000:A12D mov di, 0A111h seg000:A130 call sub_C2556 seg000:A133 pop di seg000:A134 pop dx seg000:A135 retn seg000:A135 sub_CA12B endp seg000:A135 seg000:A136 ; --------------------------------------------------------------------------- seg000:A136 push ax seg000:A137 call sub_C2338 seg000:A13A cmp al, 3 seg000:A13C jnz short loc_CA141 seg000:A13E stc seg000:A13F jmp short loc_CA157 seg000:A141 ; --------------------------------------------------------------------------- seg000:A141 seg000:A141 loc_CA141: ; CODE XREF: seg000:A13Cj seg000:A141 cmp al, 2 seg000:A143 jnz short loc_CA14A seg000:A145 call sub_CA159 seg000:A148 jmp short loc_CA157 seg000:A14A ; --------------------------------------------------------------------------- seg000:A14A seg000:A14A loc_CA14A: ; CODE XREF: seg000:A143j seg000:A14A call sub_CC907 seg000:A14D jnz short loc_CA154 seg000:A14F call sub_CC149 seg000:A152 jmp short loc_CA157 seg000:A154 ; --------------------------------------------------------------------------- seg000:A154 seg000:A154 loc_CA154: ; CODE XREF: seg000:A14Dj seg000:A154 call sub_CCA13 seg000:A157 seg000:A157 loc_CA157: ; CODE XREF: seg000:A13Fj seg000:A157 ; seg000:A148j ... seg000:A157 pop ax seg000:A158 retn seg000:A159 seg000:A159 ; =============== S U B R O U T I N E ======================================= seg000:A159 seg000:A159 seg000:A159 sub_CA159 proc near ; CODE XREF: seg000:A145p seg000:A159 pusha seg000:A15A test byte ptr ss:[di+11h], 8 seg000:A15F jz short loc_CA167 seg000:A161 test cs:byte_C0001+49h, 8 seg000:A167 seg000:A167 loc_CA167: ; CODE XREF: sub_CA159+6j seg000:A167 jnz short loc_CA1C8 seg000:A169 mov dx, ss:[di+16h] seg000:A16D mov bl, 1 seg000:A16F test byte ptr ss:[di+15h], 2 seg000:A174 jz short loc_CA17D seg000:A176 mov si, word ptr cs:byte_C50AE+102h seg000:A17B jmp short loc_CA1B7 seg000:A17D ; --------------------------------------------------------------------------- seg000:A17D seg000:A17D loc_CA17D: ; CODE XREF: sub_CA159+1Bj seg000:A17D cmp dx, word ptr cs:byte_C50AE+0FEh seg000:A182 jb short loc_CA186 seg000:A184 mov bl, 2 seg000:A186 seg000:A186 loc_CA186: ; CODE XREF: sub_CA159+29j seg000:A186 call sub_C2103 seg000:A189 or al, al seg000:A18B jnz short loc_CA19B seg000:A18D cmp word ptr cs:byte_C50AE+0FEh, 4074h seg000:A194 jbe short loc_CA19B seg000:A196 mov si, 4074h seg000:A199 jmp short loc_CA1A0 seg000:A19B ; --------------------------------------------------------------------------- seg000:A19B seg000:A19B loc_CA19B: ; CODE XREF: sub_CA159+32j seg000:A19B ; sub_CA159+3Bj seg000:A19B mov si, word ptr cs:byte_C50AE+0FEh seg000:A1A0 seg000:A1A0 loc_CA1A0: ; CODE XREF: sub_CA159+40j seg000:A1A0 or al, al seg000:A1A2 jnz short loc_CA1B2 seg000:A1A4 cmp word ptr cs:byte_C50AE+100h, 80E8h seg000:A1AB jbe short loc_CA1B2 seg000:A1AD mov di, 80E8h seg000:A1B0 jmp short loc_CA1B7 seg000:A1B2 ; --------------------------------------------------------------------------- seg000:A1B2 seg000:A1B2 loc_CA1B2: ; CODE XREF: sub_CA159+49j seg000:A1B2 ; sub_CA159+52j seg000:A1B2 mov di, word ptr cs:byte_C50AE+100h seg000:A1B7 seg000:A1B7 loc_CA1B7: ; CODE XREF: sub_CA159+22j seg000:A1B7 ; sub_CA159+57j seg000:A1B7 cmp bl, 2 seg000:A1BA jnz short loc_CA1C5 seg000:A1BC call sub_C2091 seg000:A1BF cmp al, 2 seg000:A1C1 jnz short loc_CA1C5 seg000:A1C3 mov si, di seg000:A1C5 seg000:A1C5 loc_CA1C5: ; CODE XREF: sub_CA159+61j seg000:A1C5 ; sub_CA159+68j seg000:A1C5 inc si seg000:A1C6 cmp dx, si seg000:A1C8 seg000:A1C8 loc_CA1C8: ; CODE XREF: sub_CA159:loc_CA167j seg000:A1C8 popa seg000:A1C9 retn seg000:A1C9 sub_CA159 endp seg000:A1C9 seg000:A1CA ; --------------------------------------------------------------------------- seg000:A1CA pusha seg000:A1CB call sub_C1FB4 seg000:A1CE mov al, 0 seg000:A1D0 call sub_C62F8 seg000:A1D3 push bx seg000:A1D4 push cx seg000:A1D5 call sub_C2338 seg000:A1D8 call sub_CC0C1 seg000:A1DB jz short loc_CA1E1 seg000:A1DD cmp al, 3 seg000:A1DF jnz short loc_CA1E4 seg000:A1E1 seg000:A1E1 loc_CA1E1: ; CODE XREF: seg000:A1DBj seg000:A1E1 call sub_C6341 seg000:A1E4 seg000:A1E4 loc_CA1E4: ; CODE XREF: seg000:A1DFj seg000:A1E4 jnz short loc_CA1EB seg000:A1E6 pop cx seg000:A1E7 pop bx seg000:A1E8 stc seg000:A1E9 jmp short loc_CA1EC seg000:A1EB ; --------------------------------------------------------------------------- seg000:A1EB seg000:A1EB loc_CA1EB: ; CODE XREF: seg000:loc_CA1E4j seg000:A1EB clc seg000:A1EC seg000:A1EC loc_CA1EC: ; CODE XREF: seg000:A1E9j seg000:A1EC jb short loc_CA22A seg000:A1EE xor ch, ch seg000:A1F0 xor dx, dx seg000:A1F2 xor bl, bl seg000:A1F4 call sub_C82DB seg000:A1F7 mov al, bl seg000:A1F9 pop cx seg000:A1FA pop bx seg000:A1FB or al, al seg000:A1FD jz short loc_CA22A seg000:A1FF call sub_C2392 seg000:A202 mov ch, al seg000:A204 call sub_C2338 seg000:A207 mov bl, al seg000:A209 call sub_C204C seg000:A20C cmp bl, 6 seg000:A20F jz short loc_CA224 seg000:A211 cmp bl, 3 seg000:A214 jnz short loc_CA21B seg000:A216 cmp ch, 2 seg000:A219 jz short loc_CA224 seg000:A21B seg000:A21B loc_CA21B: ; CODE XREF: seg000:A214j seg000:A21B cmp bl, 2 seg000:A21E jnz short loc_CA227 seg000:A220 cmp al, 46h ; 'F' seg000:A222 jnz short loc_CA227 seg000:A224 seg000:A224 loc_CA224: ; CODE XREF: seg000:A20Fj seg000:A224 ; seg000:A219j seg000:A224 stc seg000:A225 jmp short loc_CA22A seg000:A227 ; --------------------------------------------------------------------------- seg000:A227 seg000:A227 loc_CA227: ; CODE XREF: seg000:A21Ej seg000:A227 ; seg000:A222j seg000:A227 call sub_CA666 seg000:A22A seg000:A22A loc_CA22A: ; CODE XREF: seg000:loc_CA1ECj seg000:A22A ; seg000:A1FDj ... seg000:A22A pushf seg000:A22B popf seg000:A22C popa seg000:A22D retn seg000:A22D ; --------------------------------------------------------------------------- seg000:A22E db 0 seg000:A22F db 8 seg000:A230 db 34h ; 4 seg000:A231 db 51h ; Q seg000:A232 db 1 seg000:A233 db 0 seg000:A234 db 0FEh ; ¦ seg000:A235 db 50h ; P seg000:A236 db 0 seg000:A237 db 1 seg000:A238 db 6Ah ; j seg000:A239 db 51h ; Q seg000:A23A db 0 seg000:A23B db 2 seg000:A23C db 58h ; X seg000:A23D db 51h ; Q seg000:A23E db 0 seg000:A23F db 4 seg000:A240 db 46h ; F seg000:A241 db 51h ; Q seg000:A242 db 0 seg000:A243 db 40h ; @ seg000:A244 db 22h ; " seg000:A245 db 51h ; Q seg000:A246 db 0 seg000:A247 db 80h ; Ç seg000:A248 db 10h seg000:A249 db 51h ; Q seg000:A24A db 80h ; Ç seg000:A24B db 0 seg000:A24C db 0DAh ; - seg000:A24D db 50h ; P seg000:A24E db 20h seg000:A24F db 0 seg000:A250 db 0ECh ; ý seg000:A251 db 50h ; P seg000:A252 db 9Fh ; è seg000:A253 db 8Ah ; Õ seg000:A254 db 3Fh ; ? seg000:A255 db 63h ; c seg000:A256 db 36h ; 6 seg000:A257 db 0A1h ; í seg000:A258 seg000:A258 ; =============== S U B R O U T I N E ======================================= seg000:A258 seg000:A258 seg000:A258 sub_CA258 proc near ; CODE XREF: sub_CA380+6p seg000:A258 ; seg000:loc_CA8FFp seg000:A258 cmp word ptr es:[di], 0 seg000:A25C jz short locret_CA263 seg000:A25E cmp word ptr es:[di], 101h seg000:A263 seg000:A263 locret_CA263: ; CODE XREF: sub_CA258+4j seg000:A263 retn seg000:A263 sub_CA258 endp seg000:A263 seg000:A264 seg000:A264 ; =============== S U B R O U T I N E ======================================= seg000:A264 seg000:A264 seg000:A264 sub_CA264 proc near ; CODE XREF: sub_CA370p seg000:A264 push ax seg000:A265 push bx seg000:A266 mov al, es:[di+2] seg000:A26A mov ah, es:[di+4] seg000:A26E and ah, 0F0h seg000:A271 shr ah, 4 seg000:A274 dec ax seg000:A275 mov ss:[si], ax seg000:A278 mov bx, ax seg000:A27A mov al, es:[di+3] seg000:A27E mov ah, es:[di+4] seg000:A282 and ah, 0Fh seg000:A285 shr ah, 0 seg000:A288 add ax, bx seg000:A28A mov ss:[si+2], ax seg000:A28E mov al, es:[di+8] seg000:A292 mov ah, es:[di+0Bh] seg000:A296 and ah, 0C0h seg000:A299 shr ah, 6 seg000:A29C add ax, bx seg000:A29E mov ss:[si+4], ax seg000:A2A2 mov bx, ax seg000:A2A4 mov al, es:[di+9] seg000:A2A8 mov ah, es:[di+0Bh] seg000:A2AC and ah, 30h seg000:A2AF shr ah, 4 seg000:A2B2 add ax, bx seg000:A2B4 mov ss:[si+6], ax seg000:A2B8 mov al, es:[di+5] seg000:A2BC mov ah, es:[di+7] seg000:A2C0 and ah, 0F0h seg000:A2C3 shr ah, 4 seg000:A2C6 call sub_CA366 seg000:A2C9 dec ax seg000:A2CA mov ss:[si+8], ax seg000:A2CE mov bx, ax seg000:A2D0 mov al, es:[di+6] seg000:A2D4 mov ah, es:[di+7] seg000:A2D8 and ah, 0Fh seg000:A2DB shr ah, 0 seg000:A2DE call sub_CA366 seg000:A2E1 add ax, bx seg000:A2E3 mov ss:[si+0Ah], ax seg000:A2E7 mov al, es:[di+0Ah] seg000:A2EB and al, 0F0h seg000:A2ED shr al, 4 seg000:A2F0 shl al, 4 seg000:A2F3 mov ah, es:[di+0Bh] seg000:A2F7 and ah, 0Ch seg000:A2FA shr ah, 2 seg000:A2FD shr ax, 4 seg000:A300 call sub_CA366 seg000:A303 add ax, bx seg000:A305 mov ss:[si+0Ch], ax seg000:A309 mov bx, ax seg000:A30B mov al, es:[di+0Ah] seg000:A30F and al, 0Fh seg000:A311 shr al, 0 seg000:A314 shl al, 4 seg000:A317 mov ah, es:[di+0Bh] seg000:A31B and ah, 3 seg000:A31E shr ah, 0 seg000:A321 shr ax, 4 seg000:A324 call sub_CA366 seg000:A327 add ax, bx seg000:A329 mov ss:[si+0Eh], ax seg000:A32D xor al, al seg000:A32F test byte ptr es:[di+11h], 4 seg000:A334 jnz short loc_CA338 seg000:A336 or al, 2 seg000:A338 seg000:A338 loc_CA338: ; CODE XREF: sub_CA264+D0j seg000:A338 test byte ptr es:[di+11h], 2 seg000:A33D jnz short loc_CA341 seg000:A33F or al, 1 seg000:A341 seg000:A341 loc_CA341: ; CODE XREF: sub_CA264+D9j seg000:A341 mov ss:[si+10h], al seg000:A345 mov al, es:[di+11h] seg000:A349 and al, 80h seg000:A34B shr al, 4 seg000:A34E and byte ptr ss:[si+11h], 0F7h seg000:A353 or ss:[si+11h], al seg000:A357 mov ax, es:[di] seg000:A35A mov ss:[si+16h], ax seg000:A35E and byte ptr ss:[si+15h], 0FEh seg000:A363 pop bx seg000:A364 pop ax seg000:A365 retn seg000:A365 sub_CA264 endp seg000:A365 seg000:A366 seg000:A366 ; =============== S U B R O U T I N E ======================================= seg000:A366 seg000:A366 seg000:A366 sub_CA366 proc near ; CODE XREF: sub_CA264+62p seg000:A366 ; sub_CA264+7Ap ... seg000:A366 test byte ptr es:[di+11h], 80h seg000:A36B jz short locret_CA36F seg000:A36D shl ax, 1 seg000:A36F seg000:A36F locret_CA36F: ; CODE XREF: sub_CA366+5j seg000:A36F retn seg000:A36F sub_CA366 endp seg000:A36F seg000:A370 seg000:A370 ; =============== S U B R O U T I N E ======================================= seg000:A370 seg000:A370 seg000:A370 sub_CA370 proc near ; CODE XREF: sub_CA380+Bp seg000:A370 ; sub_CA3C2+D5p ... seg000:A370 call sub_CA264 seg000:A373 call sub_CA377 seg000:A376 retn seg000:A376 sub_CA370 endp seg000:A376 seg000:A377 seg000:A377 ; =============== S U B R O U T I N E ======================================= seg000:A377 seg000:A377 seg000:A377 sub_CA377 proc near ; CODE XREF: sub_CA370+3p seg000:A377 call sub_C6344 seg000:A37A jz short locret_CA37F seg000:A37C call nullsub_2 seg000:A37F seg000:A37F locret_CA37F: ; CODE XREF: sub_CA377+3j seg000:A37F retn seg000:A37F sub_CA377 endp seg000:A37F seg000:A380 seg000:A380 ; =============== S U B R O U T I N E ======================================= seg000:A380 seg000:A380 seg000:A380 sub_CA380 proc near ; CODE XREF: sub_CA3C2:loc_CA3FEp seg000:A380 ; sub_CA3C2+6Bp ... seg000:A380 push eax seg000:A382 push bx seg000:A383 push di seg000:A384 xor bl, bl seg000:A386 call sub_CA258 seg000:A389 jz short loc_CA3B9 seg000:A38B call sub_CA370 seg000:A38E call sub_CA4A9 seg000:A391 call sub_CA542 seg000:A394 call sub_C633F seg000:A397 mov di, si seg000:A399 lea si, ds:0A252h seg000:A39D call sub_C2653 seg000:A3A0 mov si, di seg000:A3A2 jnb short loc_CA3B9 seg000:A3A4 mov ax, ss:[si+8] seg000:A3A8 shl eax, 10h seg000:A3AC mov ax, ss:[si] seg000:A3AF cmp eax, ecx seg000:A3B2 jbe short loc_CA3B9 seg000:A3B4 mov ecx, eax seg000:A3B7 inc bl seg000:A3B9 seg000:A3B9 loc_CA3B9: ; CODE XREF: sub_CA380+9j seg000:A3B9 ; sub_CA380+22j ... seg000:A3B9 bt bx, 0 seg000:A3BD pop di seg000:A3BE pop bx seg000:A3BF pop eax seg000:A3C1 retn seg000:A3C1 sub_CA380 endp seg000:A3C1 seg000:A3C2 seg000:A3C2 ; =============== S U B R O U T I N E ======================================= seg000:A3C2 seg000:A3C2 ; Attributes: bp-based frame seg000:A3C2 seg000:A3C2 sub_CA3C2 proc near ; CODE XREF: sub_CA597+2p seg000:A3C2 seg000:A3C2 var_4 = dword ptr -4 seg000:A3C2 arg_D = byte ptr 11h seg000:A3C2 arg_11 = byte ptr 15h seg000:A3C2 seg000:A3C2 push bp seg000:A3C3 mov bp, sp seg000:A3C5 add sp, 0FFFCh seg000:A3C8 push ecx seg000:A3CA push di seg000:A3CB push ds seg000:A3CC push es seg000:A3CD push es seg000:A3CE pop ds seg000:A3CF mov dx, di seg000:A3D1 mov ss:[si+arg_D], 0 seg000:A3D6 mov ss:[si+arg_11], 0 seg000:A3DB xor ecx, ecx seg000:A3DE mov [bp+var_4], ecx seg000:A3E2 call sub_C633F seg000:A3E5 jnb short loc_CA3F7 seg000:A3E7 push di seg000:A3E8 add di, 80h ; 'Ç' seg000:A3EC call sub_CA8C7 seg000:A3EF jnz short loc_CA3F6 seg000:A3F1 or ss:[si+arg_11], 2 seg000:A3F6 seg000:A3F6 loc_CA3F6: ; CODE XREF: sub_CA3C2+2Dj seg000:A3F6 pop di seg000:A3F7 seg000:A3F7 loc_CA3F7: ; CODE XREF: sub_CA3C2+23j seg000:A3F7 mov di, dx seg000:A3F9 lea di, [di+36h] seg000:A3FC mov bl, 4 seg000:A3FE seg000:A3FE loc_CA3FE: ; CODE XREF: sub_CA3C2+64j seg000:A3FE call sub_CA380 seg000:A401 jnb short loc_CA41F seg000:A403 mov word ptr [bp+var_4], di seg000:A406 mov word ptr [bp+var_4+2], es seg000:A409 xchg dx, di seg000:A40B test byte ptr [di+18h], 2 seg000:A40F jz short loc_CA41D seg000:A411 cmp bl, 4 seg000:A414 jnz short loc_CA41D seg000:A416 xor ecx, ecx seg000:A419 dec ecx seg000:A41B mov bl, 1 seg000:A41D seg000:A41D loc_CA41D: ; CODE XREF: sub_CA3C2+4Dj seg000:A41D ; sub_CA3C2+52j seg000:A41D xchg dx, di seg000:A41F seg000:A41F loc_CA41F: ; CODE XREF: sub_CA3C2+3Fj seg000:A41F add di, 12h seg000:A422 dec bl seg000:A424 or bl, bl seg000:A426 jnz short loc_CA3FE seg000:A428 call sub_C633F seg000:A42B jnb short loc_CA438 seg000:A42D call sub_CA380 seg000:A430 jnb short loc_CA438 seg000:A432 mov word ptr [bp+var_4], di seg000:A435 mov word ptr [bp+var_4+2], es seg000:A438 seg000:A438 loc_CA438: ; CODE XREF: sub_CA3C2+69j seg000:A438 ; sub_CA3C2+6Ej seg000:A438 push cs seg000:A439 pop es seg000:A43A assume es:nothing seg000:A43A mov di, dx seg000:A43C lea di, [di+24h] seg000:A43F push cx seg000:A440 mov cx, 8 seg000:A443 seg000:A443 loc_CA443: ; CODE XREF: sub_CA3C2+88j seg000:A443 add di, 2 seg000:A446 cmp word ptr [di], 8081h seg000:A44A loopne loc_CA443 seg000:A44C pop cx seg000:A44D mov bl, 9 seg000:A44F jnz short loc_CA461 seg000:A451 mov di, 517Ch seg000:A454 call sub_CA380 seg000:A457 jnb short loc_CA461 seg000:A459 mov word ptr [bp+var_4], di seg000:A45C mov word ptr [bp+var_4+2], es seg000:A45F xor bl, bl seg000:A461 seg000:A461 loc_CA461: ; CODE XREF: sub_CA3C2+8Dj seg000:A461 ; sub_CA3C2+95j seg000:A461 mov di, 0A22Eh seg000:A464 jmp short loc_CA48A seg000:A466 ; --------------------------------------------------------------------------- seg000:A466 seg000:A466 loc_CA466: ; CODE XREF: sub_CA3C2+CAj seg000:A466 xchg dx, di seg000:A468 mov ax, [di+23h] seg000:A46B xchg dx, di seg000:A46D test cs:[di], ax seg000:A470 jz short loc_CA485 seg000:A472 push di seg000:A473 mov di, cs:[di+2] seg000:A477 call sub_CA380 seg000:A47A jnb short loc_CA484 seg000:A47C mov word ptr [bp+var_4], di seg000:A47F mov word ptr [bp+var_4+2], es seg000:A482 mov bl, 1 seg000:A484 seg000:A484 loc_CA484: ; CODE XREF: sub_CA3C2+B8j seg000:A484 pop di seg000:A485 seg000:A485 loc_CA485: ; CODE XREF: sub_CA3C2+AEj seg000:A485 add di, 4 seg000:A488 dec bl seg000:A48A seg000:A48A loc_CA48A: ; CODE XREF: sub_CA3C2+A2j seg000:A48A or bl, bl seg000:A48C jnz short loc_CA466 seg000:A48E les di, [bp+var_4] seg000:A491 assume es:nothing seg000:A491 mov al, 1 seg000:A493 or di, di seg000:A495 jz short loc_CA49C seg000:A497 call sub_CA370 seg000:A49A xor al, al seg000:A49C seg000:A49C loc_CA49C: ; CODE XREF: sub_CA3C2+D3j seg000:A49C bt ax, 0 seg000:A4A0 pop es seg000:A4A1 pop ds seg000:A4A2 pop di seg000:A4A3 pop ecx seg000:A4A5 mov sp, bp seg000:A4A7 pop bp seg000:A4A8 retn seg000:A4A8 sub_CA3C2 endp seg000:A4A8 seg000:A4A9 seg000:A4A9 ; =============== S U B R O U T I N E ======================================= seg000:A4A9 seg000:A4A9 seg000:A4A9 sub_CA4A9 proc near ; CODE XREF: sub_CA380+Ep seg000:A4A9 ; sub_CA597+3Ap seg000:A4A9 push eax seg000:A4AB push bx seg000:A4AC push cx seg000:A4AD push dx seg000:A4AE mov bl, ss:[si+11h] seg000:A4B2 and bl, 0FBh seg000:A4B5 mov ah, bl seg000:A4B7 and ah, 1 seg000:A4BA xor ch, ch seg000:A4BC mov byte ptr ss:[si+14h], 0 seg000:A4C1 call sub_C2338 seg000:A4C4 cmp al, 3 seg000:A4C6 jnz short loc_CA4EB seg000:A4C8 call sub_C20B9 seg000:A4CB mov dl, 1 seg000:A4CD mov cl, al seg000:A4CF shl cl, 1 seg000:A4D1 shl dl, cl seg000:A4D3 or ah, ah seg000:A4D5 jz short loc_CA4D9 seg000:A4D7 shl dl, 1 seg000:A4D9 seg000:A4D9 loc_CA4D9: ; CODE XREF: sub_CA4A9+2Cj seg000:A4D9 call sub_CB39D seg000:A4DC test al, dl seg000:A4DE jz short loc_CA4E4 seg000:A4E0 mov ch, 4 seg000:A4E2 jmp short loc_CA52C seg000:A4E4 ; --------------------------------------------------------------------------- seg000:A4E4 seg000:A4E4 loc_CA4E4: ; CODE XREF: sub_CA4A9+35j seg000:A4E4 mov byte ptr ss:[si+14h], 11h seg000:A4E9 jmp short loc_CA52C seg000:A4EB ; --------------------------------------------------------------------------- seg000:A4EB seg000:A4EB loc_CA4EB: ; CODE XREF: sub_CA4A9+1Dj seg000:A4EB call sub_C204C seg000:A4EE shr eax, 0 seg000:A4F2 and al, 0FFh seg000:A4F4 test cs:byte_C0001+49h, 10h seg000:A4FA jnz short loc_CA52C seg000:A4FC cmp al, 40h ; '@' seg000:A4FE jz short loc_CA52C seg000:A500 cmp al, 47h ; 'G' seg000:A502 jz short loc_CA52C seg000:A504 cmp word ptr ss:[si], 4FFh seg000:A509 jnz short loc_CA518 seg000:A50B cmp word ptr ss:[si+8], 2CFh seg000:A511 jnz short loc_CA518 seg000:A513 or byte ptr ss:[si+15h], 1 seg000:A518 seg000:A518 loc_CA518: ; CODE XREF: sub_CA4A9+60j seg000:A518 ; sub_CA4A9+68j seg000:A518 cmp word ptr ss:[si], 77Fh seg000:A51D jnz short loc_CA52C seg000:A51F cmp word ptr ss:[si+8], 437h seg000:A525 jnz short loc_CA52C seg000:A527 or byte ptr ss:[si+15h], 1 seg000:A52C seg000:A52C loc_CA52C: ; CODE XREF: sub_CA4A9+39j seg000:A52C ; sub_CA4A9+40j ... seg000:A52C or bl, ch seg000:A52E mov ss:[si+11h], bl seg000:A532 mov byte ptr ss:[si+12h], 0 seg000:A537 mov byte ptr ss:[si+13h], 9 seg000:A53C pop dx seg000:A53D pop cx seg000:A53E pop bx seg000:A53F pop eax seg000:A541 retn seg000:A541 sub_CA4A9 endp seg000:A541 seg000:A542 seg000:A542 ; =============== S U B R O U T I N E ======================================= seg000:A542 seg000:A542 seg000:A542 sub_CA542 proc near ; CODE XREF: sub_CA380+11p seg000:A542 ; sub_CA597+41p seg000:A542 push ax seg000:A543 push bx seg000:A544 push si seg000:A545 push di seg000:A546 mov bl, ss:[si+11h] seg000:A54A call sub_C2338 seg000:A54D cmp al, 6 seg000:A54F jnz short loc_CA566 seg000:A551 push si seg000:A552 call sub_C456B seg000:A555 mov al, cs:[si+4] seg000:A559 test al, 10h seg000:A55B jz short loc_CA562 seg000:A55D and bl, 0FBh seg000:A560 jmp short loc_CA565 seg000:A562 ; --------------------------------------------------------------------------- seg000:A562 seg000:A562 loc_CA562: ; CODE XREF: sub_CA542+19j seg000:A562 or bl, 4 seg000:A565 seg000:A565 loc_CA565: ; CODE XREF: sub_CA542+1Ej seg000:A565 pop si seg000:A566 seg000:A566 loc_CA566: ; CODE XREF: sub_CA542+Dj seg000:A566 mov di, dx seg000:A568 cmp byte ptr [di+13h], 4 seg000:A56C jb short loc_CA58E seg000:A56E and bl, 0FBh seg000:A571 mov byte ptr ss:[si+14h], 0 seg000:A576 mov ah, [di+14h] seg000:A579 and ah, 70h seg000:A57C cmp ah, 20h ; ' ' seg000:A57F jb short loc_CA586 seg000:A581 or bl, 4 seg000:A584 jmp short loc_CA58E seg000:A586 ; --------------------------------------------------------------------------- seg000:A586 seg000:A586 loc_CA586: ; CODE XREF: sub_CA542+3Dj seg000:A586 and bl, 0FBh seg000:A589 mov byte ptr ss:[si+14h], 11h seg000:A58E seg000:A58E loc_CA58E: ; CODE XREF: sub_CA542+2Aj seg000:A58E ; sub_CA542+42j seg000:A58E mov ss:[si+11h], bl seg000:A592 pop di seg000:A593 pop si seg000:A594 pop bx seg000:A595 pop ax seg000:A596 retn seg000:A596 sub_CA542 endp seg000:A596 seg000:A597 seg000:A597 ; =============== S U B R O U T I N E ======================================= seg000:A597 seg000:A597 seg000:A597 sub_CA597 proc near ; CODE XREF: seg000:A822p seg000:A597 push ds seg000:A598 push dx seg000:A599 call sub_CA3C2 seg000:A59C jb short loc_CA5DC seg000:A59E xor cl, cl seg000:A5A0 call sub_C2338 seg000:A5A3 cmp al, 3 seg000:A5A5 jnz short loc_CA5B0 seg000:A5A7 mov ax, ss:[si+16h] seg000:A5AB call sub_CB3A7 seg000:A5AE jmp short loc_CA5C8 seg000:A5B0 ; --------------------------------------------------------------------------- seg000:A5B0 seg000:A5B0 loc_CA5B0: ; CODE XREF: sub_CA597+Ej seg000:A5B0 cmp al, 2 seg000:A5B2 jnz short loc_CA5C8 seg000:A5B4 test byte ptr ss:[si+15h], 2 seg000:A5B9 jnz short loc_CA5C8 seg000:A5BB mov ax, ss:[si+16h] seg000:A5BF cmp ax, word ptr cs:byte_C50AE+0FEh seg000:A5C4 jb short loc_CA5C8 seg000:A5C6 inc cl seg000:A5C8 seg000:A5C8 loc_CA5C8: ; CODE XREF: sub_CA597+17j seg000:A5C8 ; sub_CA597+1Bj ... seg000:A5C8 and byte ptr ss:[si+11h], 0FEh seg000:A5CD or ss:[si+11h], cl seg000:A5D1 call sub_CA4A9 seg000:A5D4 push es seg000:A5D5 pop ds seg000:A5D6 mov dx, di seg000:A5D8 call sub_CA542 seg000:A5DB clc seg000:A5DC seg000:A5DC loc_CA5DC: ; CODE XREF: sub_CA597+5j seg000:A5DC pop dx seg000:A5DD pop ds seg000:A5DE retn seg000:A5DE sub_CA597 endp seg000:A5DE seg000:A5DE ; --------------------------------------------------------------------------- seg000:A5DF db 51h ; Q seg000:A5E0 db 6 seg000:A5E1 db 8Ch ; î seg000:A5E2 db 0C9h ; - seg000:A5E3 db 8Eh ; Ä seg000:A5E4 db 0C1h ; + seg000:A5E5 db 36h ; 6 seg000:A5E6 db 0C6h ; à seg000:A5E7 db 44h ; D seg000:A5E8 db 11h seg000:A5E9 db 0 seg000:A5EA db 36h ; 6 seg000:A5EB db 0C6h ; à seg000:A5EC db 44h ; D seg000:A5ED db 15h seg000:A5EE db 0 seg000:A5EF db 0E8h ; À seg000:A5F0 db 72h ; r seg000:A5F1 db 0FCh ; Ø seg000:A5F2 db 32h ; 2 seg000:A5F3 db 0C9h ; - seg000:A5F4 db 36h ; 6 seg000:A5F5 db 80h ; Ç seg000:A5F6 db 64h ; d seg000:A5F7 db 11h seg000:A5F8 db 0FEh ; ¦ seg000:A5F9 db 36h ; 6 seg000:A5FA db 8 seg000:A5FB db 4Ch ; L seg000:A5FC db 11h seg000:A5FD db 0E8h ; À seg000:A5FE db 0A9h ; ê seg000:A5FF db 0FEh ; ¦ seg000:A600 db 0F8h ; ° seg000:A601 db 7 seg000:A602 db 59h ; Y seg000:A603 db 0C3h ; + seg000:A604 seg000:A604 ; =============== S U B R O U T I N E ======================================= seg000:A604 seg000:A604 seg000:A604 sub_CA604 proc near ; CODE XREF: sub_CA701+96p seg000:A604 ; sub_CA94A+5Ap seg000:A604 call sub_CA617 seg000:A607 jz short locret_CA616 seg000:A609 call sub_C6341 seg000:A60C jz short locret_CA616 seg000:A60E call sub_C6341 seg000:A611 jz short locret_CA616 seg000:A613 call sub_C6341 seg000:A616 seg000:A616 locret_CA616: ; CODE XREF: sub_CA604+3j seg000:A616 ; sub_CA604+8j ... seg000:A616 retn seg000:A616 sub_CA604 endp seg000:A616 seg000:A617 seg000:A617 ; =============== S U B R O U T I N E ======================================= seg000:A617 seg000:A617 seg000:A617 sub_CA617 proc near ; CODE XREF: sub_CA604p seg000:A617 ; seg000:A7FAp ... seg000:A617 cmp dword ptr es:[di], 0FFFFFF00h seg000:A61F jnz short locret_CA639 seg000:A621 cmp dword ptr es:[di+4], 0FFFFFFh seg000:A62A jnz short locret_CA639 seg000:A62C cmp byte ptr es:[di+12h], 1 seg000:A631 jz short locret_CA639 seg000:A633 cmp word ptr es:[di+8], 0C84Eh seg000:A639 seg000:A639 locret_CA639: ; CODE XREF: sub_CA617+8j seg000:A639 ; sub_CA617+13j ... seg000:A639 retn seg000:A639 sub_CA617 endp seg000:A639 seg000:A63A seg000:A63A ; =============== S U B R O U T I N E ======================================= seg000:A63A seg000:A63A seg000:A63A sub_CA63A proc near ; CODE XREF: sub_CA666+Ap seg000:A63A ; sub_CA666+11p ... seg000:A63A push cx seg000:A63B push bx seg000:A63C mov ch, bl seg000:A63E mov bh, 0 seg000:A640 call sub_CAA18 seg000:A643 jb short loc_CA663 seg000:A645 cmp bl, 20h ; ' ' seg000:A648 cmp bl, 20h ; ' ' seg000:A64B jnz short loc_CA652 seg000:A64D clc seg000:A64E mov al, 2 seg000:A650 jmp short loc_CA663 seg000:A652 ; --------------------------------------------------------------------------- seg000:A652 seg000:A652 loc_CA652: ; CODE XREF: sub_CA63A+11j seg000:A652 mov bl, ch seg000:A654 mov bh, 12h seg000:A656 call sub_CAA18 seg000:A659 mov al, bl seg000:A65B cmp bl, 1 seg000:A65E jz short loc_CA663 seg000:A660 xor al, al seg000:A662 stc seg000:A663 seg000:A663 loc_CA663: ; CODE XREF: sub_CA63A+9j seg000:A663 ; sub_CA63A+16j ... seg000:A663 pop bx seg000:A664 pop cx seg000:A665 retn seg000:A665 sub_CA63A endp seg000:A665 seg000:A666 seg000:A666 ; =============== S U B R O U T I N E ======================================= seg000:A666 seg000:A666 seg000:A666 sub_CA666 proc near ; CODE XREF: seg000:loc_CA227p seg000:A666 push ax seg000:A667 push bx seg000:A668 push cx seg000:A669 call sub_C1FB4 seg000:A66C xor ch, ch seg000:A66E mov bl, 0A0h ; 'á' seg000:A670 call sub_CA63A seg000:A673 jnb short loc_CA681 seg000:A675 mov bl, 0A2h ; 'ó' seg000:A677 call sub_CA63A seg000:A67A jnb short loc_CA681 seg000:A67C mov bl, 0A6h ; 'Ž' seg000:A67E call sub_CA63A seg000:A681 seg000:A681 loc_CA681: ; CODE XREF: sub_CA666+Dj seg000:A681 ; sub_CA666+14j seg000:A681 jb short loc_CA6A8 seg000:A683 cmp al, 1 seg000:A685 jnz short loc_CA697 seg000:A687 mov bh, 14h seg000:A689 call sub_CAA18 seg000:A68C jb short loc_CA6A8 seg000:A68E test bl, 80h seg000:A691 jz short loc_CA695 seg000:A693 inc ch seg000:A695 seg000:A695 loc_CA695: ; CODE XREF: sub_CA666+2Bj seg000:A695 jmp short loc_CA6A8 seg000:A697 ; --------------------------------------------------------------------------- seg000:A697 seg000:A697 loc_CA697: ; CODE XREF: sub_CA666+1Fj seg000:A697 mov bh, 41h ; 'A' seg000:A699 call sub_CAA18 seg000:A69C jb short loc_CA6A8 seg000:A69E and bl, 0F0h seg000:A6A1 cmp bl, 30h ; '0' seg000:A6A4 jb short loc_CA6A8 seg000:A6A6 inc ch seg000:A6A8 seg000:A6A8 loc_CA6A8: ; CODE XREF: sub_CA666:loc_CA681j seg000:A6A8 ; sub_CA666+26j ... seg000:A6A8 movzx cx, ch seg000:A6AB bt cx, 0 seg000:A6AF pop cx seg000:A6B0 pop bx seg000:A6B1 pop ax seg000:A6B2 retn seg000:A6B2 sub_CA666 endp seg000:A6B2 seg000:A6B3 ; --------------------------------------------------------------------------- seg000:A6B3 push dx seg000:A6B4 push di seg000:A6B5 mov di, 0A6BEh seg000:A6B8 call sub_C25E7 seg000:A6BB pop di seg000:A6BC pop dx seg000:A6BD retn seg000:A6BE seg000:A6BE ; =============== S U B R O U T I N E ======================================= seg000:A6BE seg000:A6BE seg000:A6BE sub_CA6BE proc near ; CODE XREF: seg000:A834p seg000:A6BE push eax seg000:A6C0 push esi seg000:A6C2 call sub_C42CF seg000:A6C5 call sub_C2B4B seg000:A6C8 jb short loc_CA6D5 seg000:A6CA call sub_C2B8C seg000:A6CD jz short loc_CA6D2 seg000:A6CF call sub_CA872 seg000:A6D2 seg000:A6D2 loc_CA6D2: ; CODE XREF: sub_CA6BE+Fj seg000:A6D2 call sub_C2B71 seg000:A6D5 seg000:A6D5 loc_CA6D5: ; CODE XREF: sub_CA6BE+Aj seg000:A6D5 pop esi seg000:A6D7 pop eax seg000:A6D9 retn seg000:A6D9 sub_CA6BE endp seg000:A6D9 seg000:A6DA seg000:A6DA ; =============== S U B R O U T I N E ======================================= seg000:A6DA seg000:A6DA seg000:A6DA sub_CA6DA proc near ; CODE XREF: seg000:loc_CA7CEp seg000:A6DA push eax seg000:A6DC push cx seg000:A6DD push esi seg000:A6DF call sub_C42CF seg000:A6E2 xor ch, ch seg000:A6E4 call sub_C2B4B seg000:A6E7 jb short loc_CA6F9 seg000:A6E9 call sub_C2B8C seg000:A6EC jz short loc_CA6F6 seg000:A6EE add si, 10h seg000:A6F1 mov edi, esi seg000:A6F4 inc ch seg000:A6F6 seg000:A6F6 loc_CA6F6: ; CODE XREF: sub_CA6DA+12j seg000:A6F6 call sub_C2B71 seg000:A6F9 seg000:A6F9 loc_CA6F9: ; CODE XREF: sub_CA6DA+Dj seg000:A6F9 shr ch, 1 seg000:A6FB pop esi seg000:A6FD pop cx seg000:A6FE pop eax seg000:A700 retn seg000:A700 sub_CA6DA endp seg000:A700 seg000:A701 seg000:A701 ; =============== S U B R O U T I N E ======================================= seg000:A701 seg000:A701 seg000:A701 sub_CA701 proc near ; CODE XREF: seg000:A813p seg000:A701 push ax seg000:A702 push bx seg000:A703 push cx seg000:A704 push si seg000:A705 push ds seg000:A706 pushf seg000:A707 push dx seg000:A708 cli seg000:A709 call sub_C42C0 seg000:A70C call sub_C2338 seg000:A70F call sub_CC0C1 seg000:A712 jz short loc_CA718 seg000:A714 cmp al, 3 seg000:A716 jnz short loc_CA71C seg000:A718 seg000:A718 loc_CA718: ; CODE XREF: sub_CA701+11j seg000:A718 mov bl, 2 seg000:A71A jmp short loc_CA728 seg000:A71C ; --------------------------------------------------------------------------- seg000:A71C seg000:A71C loc_CA71C: ; CODE XREF: sub_CA701+15j seg000:A71C mov ax, 4F15h seg000:A71F xor dx, dx seg000:A721 xor bl, bl seg000:A723 push cx seg000:A724 call loc_C1B52 seg000:A727 pop cx seg000:A728 seg000:A728 loc_CA728: ; CODE XREF: sub_CA701+19j seg000:A728 mov dl, 2 seg000:A72A test bl, 2 seg000:A72D jz short loc_CA734 seg000:A72F mov bx, 0A001h seg000:A732 jmp short loc_CA74A seg000:A734 ; --------------------------------------------------------------------------- seg000:A734 seg000:A734 loc_CA734: ; CODE XREF: sub_CA701+2Cj seg000:A734 test bl, 8 seg000:A737 jz short loc_CA73E seg000:A739 mov bx, 0A203h seg000:A73C jmp short loc_CA74A seg000:A73E ; --------------------------------------------------------------------------- seg000:A73E seg000:A73E loc_CA73E: ; CODE XREF: sub_CA701+36j seg000:A73E test bl, 10h seg000:A741 jz short loc_CA748 seg000:A743 mov bx, 0A604h seg000:A746 jmp short loc_CA74A seg000:A748 ; --------------------------------------------------------------------------- seg000:A748 seg000:A748 loc_CA748: ; CODE XREF: sub_CA701+40j seg000:A748 xor dl, dl seg000:A74A seg000:A74A loc_CA74A: ; CODE XREF: sub_CA701+31j seg000:A74A ; sub_CA701+3Bj ... seg000:A74A or dl, dl seg000:A74C jz short loc_CA7A3 seg000:A74E test word ptr cs:byte_C0139+123h, 20h seg000:A755 jnz short loc_CA783 seg000:A757 push di seg000:A758 add di, 100h seg000:A75C mov al, bh seg000:A75E xor dx, dx seg000:A760 mov ah, 10h seg000:A762 call sub_CA94A seg000:A765 pop di seg000:A766 mov dl, 2 seg000:A768 cmp ax, 4Fh ; 'O' seg000:A76B jnz short loc_CA783 seg000:A76D push di seg000:A76E push cx seg000:A76F mov cx, 4 seg000:A772 push es seg000:A773 pop ds seg000:A774 mov si, di seg000:A776 add si, 100h seg000:A77A repe cmpsd seg000:A77D pop cx seg000:A77E pop di seg000:A77F jnz short loc_CA783 seg000:A781 mov dl, 1 seg000:A783 seg000:A783 loc_CA783: ; CODE XREF: sub_CA701+54j seg000:A783 ; sub_CA701+6Aj ... seg000:A783 cmp dl, 1 seg000:A786 jz short loc_CA7A3 seg000:A788 mov ax, 4F15h seg000:A78B xor dx, dx seg000:A78D call loc_C1B52 seg000:A790 mov dl, 2 seg000:A792 cmp ax, 4Fh ; 'O' seg000:A795 jz short loc_CA7A0 seg000:A797 call sub_CA604 seg000:A79A jz short loc_CA7A3 seg000:A79C xor dl, dl seg000:A79E jmp short loc_CA7A3 seg000:A7A0 ; --------------------------------------------------------------------------- seg000:A7A0 seg000:A7A0 loc_CA7A0: ; CODE XREF: sub_CA701+94j seg000:A7A0 call nullsub_2 seg000:A7A3 seg000:A7A3 loc_CA7A3: ; CODE XREF: sub_CA701+4Bj seg000:A7A3 ; sub_CA701+85j ... seg000:A7A3 mov al, dl seg000:A7A5 pop dx seg000:A7A6 mov dl, al seg000:A7A8 popf seg000:A7A9 pop ds seg000:A7AA pop si seg000:A7AB pop cx seg000:A7AC pop bx seg000:A7AD pop ax seg000:A7AE retn seg000:A7AE sub_CA701 endp seg000:A7AE seg000:A7AF ; --------------------------------------------------------------------------- seg000:A7AF push bp seg000:A7B0 mov bp, sp seg000:A7B2 add sp, 0FFF0h seg000:A7B5 push bx seg000:A7B6 push cx seg000:A7B7 push edi seg000:A7B9 push es seg000:A7BA call sub_C8BF1 seg000:A7BD call sub_C6344 seg000:A7C0 mov dl, 0 seg000:A7C2 jnz loc_CA850 seg000:A7C6 call sub_C6344 seg000:A7C9 jz short loc_CA7CE seg000:A7CB clc seg000:A7CC jmp short loc_CA7D1 seg000:A7CE ; --------------------------------------------------------------------------- seg000:A7CE seg000:A7CE loc_CA7CE: ; CODE XREF: seg000:A7C9j seg000:A7CE call sub_CA6DA seg000:A7D1 seg000:A7D1 loc_CA7D1: ; CODE XREF: seg000:A7CCj seg000:A7D1 jb short loc_CA7D7 seg000:A7D3 mov dl, 0 seg000:A7D5 jmp short loc_CA84D seg000:A7D7 ; --------------------------------------------------------------------------- seg000:A7D7 seg000:A7D7 loc_CA7D7: ; CODE XREF: seg000:loc_CA7D1j seg000:A7D7 push si seg000:A7D8 lea si, [bp-0Fh] seg000:A7DB clc seg000:A7DC call sub_C3497 seg000:A7DF pop si seg000:A7E0 call sub_C2338 seg000:A7E3 call sub_CC0C1 seg000:A7E6 jz short loc_CA7EC seg000:A7E8 cmp al, 3 seg000:A7EA jnz short loc_CA80B seg000:A7EC seg000:A7EC loc_CA7EC: ; CODE XREF: seg000:A7E6j seg000:A7EC call sub_C6341 seg000:A7EF jnz short loc_CA7F5 seg000:A7F1 mov dl, 2 seg000:A7F3 jmp short loc_CA80B seg000:A7F5 ; --------------------------------------------------------------------------- seg000:A7F5 seg000:A7F5 loc_CA7F5: ; CODE XREF: seg000:A7EFj seg000:A7F5 call sub_CA87C seg000:A7F8 jnz short loc_CA80B seg000:A7FA call sub_CA617 seg000:A7FD jz short loc_CA80B seg000:A7FF call sub_C6341 seg000:A802 jz short loc_CA80B seg000:A804 pushf seg000:A805 call sub_CA85C seg000:A808 mov dl, 0 seg000:A80A popf seg000:A80B seg000:A80B loc_CA80B: ; CODE XREF: seg000:A7EAj seg000:A80B ; seg000:A7F3j ... seg000:A80B jz short loc_CA819 seg000:A80D call sub_C4843 seg000:A810 call sub_C1FB4 seg000:A813 call sub_CA701 seg000:A816 call sub_C48B5 seg000:A819 seg000:A819 loc_CA819: ; CODE XREF: seg000:loc_CA80Bj seg000:A819 or dl, dl seg000:A81B jz short loc_CA845 seg000:A81D call sub_CA617 seg000:A820 jnz short loc_CA827 seg000:A822 call sub_CA597 seg000:A825 jmp short loc_CA830 seg000:A827 ; --------------------------------------------------------------------------- seg000:A827 seg000:A827 loc_CA827: ; CODE XREF: seg000:A820j seg000:A827 call sub_C6341 seg000:A82A stc seg000:A82B jnz short loc_CA830 seg000:A82D call sub_C633D seg000:A830 seg000:A830 loc_CA830: ; CODE XREF: seg000:A825j seg000:A830 ; seg000:A82Bj seg000:A830 jnb short loc_CA83F seg000:A832 mov dl, 0 seg000:A834 call sub_CA6BE seg000:A837 call sub_C2338 seg000:A83A call sub_CA85C seg000:A83D jmp short loc_CA845 seg000:A83F ; --------------------------------------------------------------------------- seg000:A83F seg000:A83F loc_CA83F: ; CODE XREF: seg000:loc_CA830j seg000:A83F call sub_C2338 seg000:A842 call sub_CA891 seg000:A845 seg000:A845 loc_CA845: ; CODE XREF: seg000:A81Bj seg000:A845 ; seg000:A83Dj seg000:A845 push si seg000:A846 lea si, [bp-0Fh] seg000:A849 call sub_C355A seg000:A84C pop si seg000:A84D seg000:A84D loc_CA84D: ; CODE XREF: seg000:A7D5j seg000:A84D call nullsub_2 seg000:A850 seg000:A850 loc_CA850: ; CODE XREF: seg000:A7C2j seg000:A850 call sub_C8C00 seg000:A853 pop es seg000:A854 pop edi seg000:A856 pop cx seg000:A857 pop bx seg000:A858 mov sp, bp seg000:A85A pop bp seg000:A85B retn seg000:A85C seg000:A85C ; =============== S U B R O U T I N E ======================================= seg000:A85C seg000:A85C seg000:A85C sub_CA85C proc near ; CODE XREF: seg000:A805p seg000:A85C ; seg000:A83Ap seg000:A85C cmp al, 3 seg000:A85E jnz short loc_CA866 seg000:A860 mov ax, 16h seg000:A863 call sub_C127D seg000:A866 seg000:A866 loc_CA866: ; CODE XREF: sub_CA85C+2j seg000:A866 call sub_CC0C1 seg000:A869 jnz short locret_CA871 seg000:A86B mov ax, 17h seg000:A86E call sub_C127D seg000:A871 seg000:A871 locret_CA871: ; CODE XREF: sub_CA85C+Dj seg000:A871 retn seg000:A871 sub_CA85C endp seg000:A871 seg000:A872 seg000:A872 ; =============== S U B R O U T I N E ======================================= seg000:A872 seg000:A872 seg000:A872 sub_CA872 proc near ; CODE XREF: sub_CA6BE+11p seg000:A872 add si, 10h seg000:A875 xor eax, eax seg000:A878 call sub_C2B25 seg000:A87B retn seg000:A87B sub_CA872 endp seg000:A87B seg000:A87C seg000:A87C ; =============== S U B R O U T I N E ======================================= seg000:A87C seg000:A87C seg000:A87C sub_CA87C proc near ; CODE XREF: seg000:loc_CA7F5p seg000:A87C cmp al, 3 seg000:A87E jnz short loc_CA889 seg000:A880 call sub_CA8B1 seg000:A883 jnz short locret_CA890 seg000:A885 mov dl, 2 seg000:A887 jmp short locret_CA890 seg000:A889 ; --------------------------------------------------------------------------- seg000:A889 seg000:A889 loc_CA889: ; CODE XREF: sub_CA87C+2j seg000:A889 call sub_CA8BC seg000:A88C jnz short locret_CA890 seg000:A88E mov dl, 2 seg000:A890 seg000:A890 locret_CA890: ; CODE XREF: sub_CA87C+7j seg000:A890 ; sub_CA87C+Bj ... seg000:A890 retn seg000:A890 sub_CA87C endp seg000:A890 seg000:A891 seg000:A891 ; =============== S U B R O U T I N E ======================================= seg000:A891 seg000:A891 seg000:A891 sub_CA891 proc near ; CODE XREF: seg000:A842p seg000:A891 cmp al, 3 seg000:A893 jnz short loc_CA89A seg000:A895 mov ax, 116h seg000:A898 jmp short loc_CA89D seg000:A89A ; --------------------------------------------------------------------------- seg000:A89A seg000:A89A loc_CA89A: ; CODE XREF: sub_CA891+2j seg000:A89A mov ax, 16h seg000:A89D seg000:A89D loc_CA89D: ; CODE XREF: sub_CA891+7j seg000:A89D call sub_C127D seg000:A8A0 call sub_CC0C1 seg000:A8A3 jnz short loc_CA8AA seg000:A8A5 mov ax, 117h seg000:A8A8 jmp short loc_CA8AD seg000:A8AA ; --------------------------------------------------------------------------- seg000:A8AA seg000:A8AA loc_CA8AA: ; CODE XREF: sub_CA891+12j seg000:A8AA mov ax, 17h seg000:A8AD seg000:A8AD loc_CA8AD: ; CODE XREF: sub_CA891+17j seg000:A8AD call sub_C127D seg000:A8B0 retn seg000:A8B0 sub_CA891 endp seg000:A8B0 seg000:A8B1 seg000:A8B1 ; =============== S U B R O U T I N E ======================================= seg000:A8B1 seg000:A8B1 seg000:A8B1 sub_CA8B1 proc near ; CODE XREF: sub_CA87C+4p seg000:A8B1 push ax seg000:A8B2 mov al, 16h seg000:A8B4 call sub_C126B seg000:A8B7 xor ah, 1 seg000:A8BA pop ax seg000:A8BB retn seg000:A8BB sub_CA8B1 endp seg000:A8BB seg000:A8BC seg000:A8BC ; =============== S U B R O U T I N E ======================================= seg000:A8BC seg000:A8BC seg000:A8BC sub_CA8BC proc near ; CODE XREF: sub_CA87C:loc_CA889p seg000:A8BC push ax seg000:A8BD mov al, 17h seg000:A8BF call sub_C126B seg000:A8C2 xor ah, 1 seg000:A8C5 pop ax seg000:A8C6 retn seg000:A8C6 sub_CA8BC endp seg000:A8C6 seg000:A8C7 seg000:A8C7 ; =============== S U B R O U T I N E ======================================= seg000:A8C7 seg000:A8C7 seg000:A8C7 sub_CA8C7 proc near ; CODE XREF: sub_CA3C2+2Ap seg000:A8C7 push ax seg000:A8C8 xor al, al seg000:A8CA cmp byte ptr es:[di+1], 3 seg000:A8CF jb short loc_CA8D9 seg000:A8D1 cmp byte ptr es:[di], 2 seg000:A8D5 jnz short loc_CA8D9 seg000:A8D7 inc al seg000:A8D9 seg000:A8D9 loc_CA8D9: ; CODE XREF: sub_CA8C7+8j seg000:A8D9 ; sub_CA8C7+Ej seg000:A8D9 dec al seg000:A8DB pop ax seg000:A8DC retn seg000:A8DC sub_CA8C7 endp seg000:A8DC seg000:A8DD ; --------------------------------------------------------------------------- seg000:A8DD push bp seg000:A8DE mov bp, sp seg000:A8E0 add sp, 0FFFEh seg000:A8E3 push ax seg000:A8E4 push bx seg000:A8E5 push ecx seg000:A8E7 shl edx, 10h seg000:A8EB movzx dx, byte ptr es:[di+2] seg000:A8F0 add di, dx seg000:A8F2 mov ax, 7Fh ; '' seg000:A8F5 sub ax, dx seg000:A8F7 mov dl, 12h seg000:A8F9 div dl seg000:A8FB xor bl, bl seg000:A8FD jmp short loc_CA916 seg000:A8FF ; --------------------------------------------------------------------------- seg000:A8FF seg000:A8FF loc_CA8FF: ; CODE XREF: seg000:A918j seg000:A8FF call sub_CA258 seg000:A902 jz short loc_CA911 seg000:A904 call sub_CA370 seg000:A907 call sub_CA380 seg000:A90A jnb short loc_CA911 seg000:A90C mov [bp-2], di seg000:A90F mov bl, 1 seg000:A911 seg000:A911 loc_CA911: ; CODE XREF: seg000:A902j seg000:A911 ; seg000:A90Aj seg000:A911 add di, 12h seg000:A914 dec al seg000:A916 seg000:A916 loc_CA916: ; CODE XREF: seg000:A8FDj seg000:A916 cmp al, 0 seg000:A918 ja short loc_CA8FF seg000:A91A shr edx, 10h seg000:A91E shr bl, 1 seg000:A920 mov di, [bp-2] seg000:A923 pop ecx seg000:A925 pop bx seg000:A926 pop ax seg000:A927 mov sp, bp seg000:A929 pop bp seg000:A92A retn seg000:A92B seg000:A92B ; =============== S U B R O U T I N E ======================================= seg000:A92B seg000:A92B seg000:A92B sub_CA92B proc near ; CODE XREF: sub_C83B5+7p seg000:A92B ; sub_C83B5+13p ... seg000:A92B push ax seg000:A92C mov al, 0 seg000:A92E call sub_C62F8 seg000:A931 pop ax seg000:A932 call sub_C6273 seg000:A935 call sub_C27C7 seg000:A938 jnb short loc_CA93F seg000:A93A call sub_C414B seg000:A93D jmp short locret_CA942 seg000:A93F ; --------------------------------------------------------------------------- seg000:A93F seg000:A93F loc_CA93F: ; CODE XREF: sub_CA92B+Dj seg000:A93F call sub_CB88E seg000:A942 seg000:A942 locret_CA942: ; CODE XREF: sub_CA92B+12j seg000:A942 retn seg000:A942 sub_CA92B endp seg000:A942 seg000:A943 seg000:A943 ; =============== S U B R O U T I N E ======================================= seg000:A943 seg000:A943 seg000:A943 sub_CA943 proc near ; CODE XREF: sub_C8401+5p seg000:A943 mov dx, 100h seg000:A946 mov ax, 4Fh ; 'O' seg000:A949 retn seg000:A949 sub_CA943 endp seg000:A949 seg000:A94A seg000:A94A ; =============== S U B R O U T I N E ======================================= seg000:A94A seg000:A94A seg000:A94A sub_CA94A proc near ; CODE XREF: sub_C83EC+3p seg000:A94A ; sub_C8401:loc_C840Ap ... seg000:A94A push bx seg000:A94B push cx seg000:A94C push dx seg000:A94D push si seg000:A94E cmp cx, 0Eh seg000:A951 jnb short loc_CA9B2 seg000:A953 call sub_C42BA seg000:A956 call sub_C6341 seg000:A959 jz short loc_CA9B7 seg000:A95B cmp al, 0A0h ; 'á' seg000:A95D jnz short loc_CA967 seg000:A95F and dx, 1 seg000:A962 shl dx, 7 seg000:A965 jmp short loc_CA96A seg000:A967 ; --------------------------------------------------------------------------- seg000:A967 seg000:A967 loc_CA967: ; CODE XREF: sub_CA94A+13j seg000:A967 shl dx, 8 seg000:A96A seg000:A96A loc_CA96A: ; CODE XREF: sub_CA94A+1Bj seg000:A96A mov bh, 3 seg000:A96C seg000:A96C loc_CA96C: ; CODE XREF: sub_CA94A+61j seg000:A96C call sub_CA92B seg000:A96F push bx seg000:A970 push ax seg000:A971 cmp al, 0A0h ; 'á' seg000:A973 jnz short loc_CA97A seg000:A975 mov bx, 80h ; 'Ç' seg000:A978 jmp short loc_CA97D seg000:A97A ; --------------------------------------------------------------------------- seg000:A97A seg000:A97A loc_CA97A: ; CODE XREF: sub_CA94A+29j seg000:A97A mov bx, 100h seg000:A97D seg000:A97D loc_CA97D: ; CODE XREF: sub_CA94A+2Ej seg000:A97D or ah, ah seg000:A97F jz short loc_CA984 seg000:A981 movzx bx, ah seg000:A984 seg000:A984 loc_CA984: ; CODE XREF: sub_CA94A+35j seg000:A984 mov ah, al seg000:A986 call sub_CA9BF seg000:A989 pop ax seg000:A98A pop bx seg000:A98B jb short loc_CA9A9 seg000:A98D or ah, ah seg000:A98F jnz short loc_CA9B7 seg000:A991 push cx seg000:A992 mov cx, 80h ; 'Ç' seg000:A995 cmp al, 0A0h ; 'á' seg000:A997 jz short loc_CA99C seg000:A999 mov cx, 100h seg000:A99C seg000:A99C loc_CA99C: ; CODE XREF: sub_CA94A+4Dj seg000:A99C push ax seg000:A99D call sub_C1E77 seg000:A9A0 pop ax seg000:A9A1 pop cx seg000:A9A2 jnz short loc_CA9A9 seg000:A9A4 call sub_CA604 seg000:A9A7 jz short loc_CA9B7 seg000:A9A9 seg000:A9A9 loc_CA9A9: ; CODE XREF: sub_CA94A+41j seg000:A9A9 ; sub_CA94A+58j seg000:A9A9 dec bh seg000:A9AB jnz short loc_CA96C seg000:A9AD mov ax, 14Fh seg000:A9B0 jmp short loc_CA9BA seg000:A9B2 ; --------------------------------------------------------------------------- seg000:A9B2 seg000:A9B2 loc_CA9B2: ; CODE XREF: sub_CA94A+7j seg000:A9B2 mov ax, 24Fh seg000:A9B5 jmp short loc_CA9BA seg000:A9B7 ; --------------------------------------------------------------------------- seg000:A9B7 seg000:A9B7 loc_CA9B7: ; CODE XREF: sub_CA94A+Fj seg000:A9B7 ; sub_CA94A+45j ... seg000:A9B7 mov ax, 4Fh ; 'O' seg000:A9BA seg000:A9BA loc_CA9BA: ; CODE XREF: sub_CA94A+66j seg000:A9BA ; sub_CA94A+6Bj seg000:A9BA pop si seg000:A9BB pop dx seg000:A9BC pop cx seg000:A9BD pop bx seg000:A9BE retn seg000:A9BE sub_CA94A endp seg000:A9BE seg000:A9BF seg000:A9BF ; =============== S U B R O U T I N E ======================================= seg000:A9BF seg000:A9BF seg000:A9BF sub_CA9BF proc near ; CODE XREF: sub_CA94A+3Cp seg000:A9BF push si seg000:A9C0 push bx seg000:A9C1 push cx seg000:A9C2 sub sp, 8 seg000:A9C5 mov si, sp seg000:A9C7 push ds seg000:A9C8 push ss seg000:A9C9 pop ds seg000:A9CA mov word ptr [si], 2 seg000:A9CE mov byte ptr [si+2], 2 seg000:A9D2 mov word ptr [si+3], 0 seg000:A9D7 mov [si+5], ah seg000:A9DA mov [si+6], dl seg000:A9DD call sub_C42BA seg000:A9E0 call sub_CAA0A seg000:A9E3 jb short loc_CA9FB seg000:A9E5 mov [si], bx seg000:A9E7 inc word ptr [si] seg000:A9E9 mov byte ptr [si+2], 1 seg000:A9ED mov [si+3], bx seg000:A9F0 mov [si+5], ah seg000:A9F3 inc byte ptr [si+5] seg000:A9F6 call sub_CAA0A seg000:A9F9 jnb short loc_CAA02 seg000:A9FB seg000:A9FB loc_CA9FB: ; CODE XREF: sub_CA9BF+24j seg000:A9FB pop ds seg000:A9FC add sp, 8 seg000:A9FF stc seg000:AA00 jmp short loc_CAA06 seg000:AA02 ; --------------------------------------------------------------------------- seg000:AA02 seg000:AA02 loc_CAA02: ; CODE XREF: sub_CA9BF+3Aj seg000:AA02 pop ds seg000:AA03 add sp, 8 seg000:AA06 seg000:AA06 loc_CAA06: ; CODE XREF: sub_CA9BF+41j seg000:AA06 pop cx seg000:AA07 pop bx seg000:AA08 pop si seg000:AA09 retn seg000:AA09 sub_CA9BF endp seg000:AA09 seg000:AA0A seg000:AA0A ; =============== S U B R O U T I N E ======================================= seg000:AA0A seg000:AA0A seg000:AA0A sub_CAA0A proc near ; CODE XREF: sub_CA9BF+21p seg000:AA0A ; sub_CA9BF+37p seg000:AA0A call sub_C27C7 seg000:AA0D jnb short loc_CAA14 seg000:AA0F call sub_C40C8 seg000:AA12 jmp short locret_CAA17 seg000:AA14 ; --------------------------------------------------------------------------- seg000:AA14 seg000:AA14 loc_CAA14: ; CODE XREF: sub_CAA0A+3j seg000:AA14 call sub_CB7AB seg000:AA17 seg000:AA17 locret_CAA17: ; CODE XREF: sub_CAA0A+8j seg000:AA17 retn seg000:AA17 sub_CAA0A endp seg000:AA17 seg000:AA18 seg000:AA18 ; =============== S U B R O U T I N E ======================================= seg000:AA18 seg000:AA18 seg000:AA18 sub_CAA18 proc near ; CODE XREF: sub_C463B+3EFAp seg000:AA18 ; sub_CA63A+6p ... seg000:AA18 call sub_C27C7 seg000:AA1B jnb short loc_CAA22 seg000:AA1D call sub_C4195 seg000:AA20 jmp short locret_CAA25 seg000:AA22 ; --------------------------------------------------------------------------- seg000:AA22 seg000:AA22 loc_CAA22: ; CODE XREF: sub_CAA18+3j seg000:AA22 call sub_CB8E3 seg000:AA25 seg000:AA25 locret_CAA25: ; CODE XREF: sub_CAA18+8j seg000:AA25 retn seg000:AA25 sub_CAA18 endp seg000:AA25 seg000:AA25 ; --------------------------------------------------------------------------- seg000:AA26 off_CAA26 dw offset sub_CAA64 ; DATA XREF: sub_CAA38+18r seg000:AA28 dw offset sub_CAA5D seg000:AA2A dw offset nullsub_2 seg000:AA2C dw offset sub_C72B9 seg000:AA2E dw offset sub_C72B9 seg000:AA30 dw offset sub_C72B9 seg000:AA32 dw offset sub_C72DF seg000:AA34 dw offset sub_C72DF seg000:AA36 dw offset sub_C72DF seg000:AA38 seg000:AA38 ; =============== S U B R O U T I N E ======================================= seg000:AA38 seg000:AA38 seg000:AA38 sub_CAA38 proc near ; CODE XREF: sub_C1B51+1Dp seg000:AA38 ; sub_CAB64+45p seg000:AA38 ; DATA XREF: ... seg000:AA38 pusha seg000:AA39 push es seg000:AA3A push ax seg000:AA3B push bx seg000:AA3C mov al, ds:449h seg000:AA3F call sub_C1D57 seg000:AA42 mov si, es:[bx+5] seg000:AA46 pop bx seg000:AA47 pop ax seg000:AA48 jb short loc_CAA55 seg000:AA4A and si, 0FFh seg000:AA4E shl si, 1 seg000:AA50 call cs:off_CAA26[si] seg000:AA55 seg000:AA55 loc_CAA55: ; CODE XREF: sub_CAA38+10j seg000:AA55 pop es seg000:AA56 mov bp, sp seg000:AA58 mov [bp+0Eh], ax seg000:AA5B popa seg000:AA5C retn seg000:AA5C sub_CAA38 endp seg000:AA5C seg000:AA5D seg000:AA5D ; =============== S U B R O U T I N E ======================================= seg000:AA5D seg000:AA5D seg000:AA5D sub_CAA5D proc near ; CODE XREF: sub_CAA38+18p seg000:AA5D ; DATA XREF: seg000:AA28o seg000:AA5D mov es, word ptr cs:byte_C0001+7Dh seg000:AA62 assume es:nothing seg000:AA62 jmp short loc_CAA69 seg000:AA62 sub_CAA5D endp seg000:AA62 seg000:AA64 seg000:AA64 ; =============== S U B R O U T I N E ======================================= seg000:AA64 seg000:AA64 seg000:AA64 sub_CAA64 proc near ; CODE XREF: sub_CAA38+18p seg000:AA64 ; DATA XREF: seg000:off_CAA26o seg000:AA64 mov es, word ptr cs:byte_C0001+7Fh seg000:AA69 assume es:nothing seg000:AA69 seg000:AA69 loc_CAA69: ; CODE XREF: sub_CAA5D+5j seg000:AA69 push ax seg000:AA6A mov ah, bl seg000:AA6C push ax seg000:AA6D call sub_CAA77 seg000:AA70 mov di, si seg000:AA72 pop ax seg000:AA73 rep stosw seg000:AA75 pop ax seg000:AA76 retn seg000:AA76 sub_CAA64 endp seg000:AA76 seg000:AA77 seg000:AA77 ; =============== S U B R O U T I N E ======================================= seg000:AA77 seg000:AA77 seg000:AA77 sub_CAA77 proc near ; CODE XREF: sub_C6E4A:loc_C6E4Fp seg000:AA77 ; sub_CAA64+9p ... seg000:AA77 movzx bx, bh seg000:AA7A mov ax, ds:44Ch seg000:AA7D mul bx seg000:AA7F mov si, ax seg000:AA81 shl bx, 1 seg000:AA83 mov bx, [bx+450h] seg000:AA87 mov al, ds:44Ah seg000:AA8A mul bh seg000:AA8C add al, bl seg000:AA8E adc ah, 0 seg000:AA91 shl ax, 1 seg000:AA93 add si, ax seg000:AA95 retn seg000:AA95 sub_CAA77 endp seg000:AA95 seg000:AA95 ; --------------------------------------------------------------------------- seg000:AA96 off_CAA96 dw offset sub_CAAD4 ; DATA XREF: sub_CAAA8+18r seg000:AA98 dw offset sub_CAACD seg000:AA9A dw offset nullsub_2 seg000:AA9C dw offset sub_C72B9 seg000:AA9E dw offset sub_C72B9 seg000:AAA0 dw offset sub_C72B9 seg000:AAA2 dw offset sub_C72DF seg000:AAA4 dw offset sub_C72DF seg000:AAA6 dw offset sub_C72DF seg000:AAA8 seg000:AAA8 ; =============== S U B R O U T I N E ======================================= seg000:AAA8 seg000:AAA8 seg000:AAA8 sub_CAAA8 proc near ; CODE XREF: sub_C1B51+1Dp seg000:AAA8 ; sub_CAAE5+35p seg000:AAA8 ; DATA XREF: ... seg000:AAA8 pusha seg000:AAA9 push es seg000:AAAA push ax seg000:AAAB push bx seg000:AAAC mov al, ds:449h seg000:AAAF call sub_C1D57 seg000:AAB2 mov si, es:[bx+5] seg000:AAB6 pop bx seg000:AAB7 pop ax seg000:AAB8 jb short loc_CAAC5 seg000:AABA and si, 0FFh seg000:AABE shl si, 1 seg000:AAC0 call cs:off_CAA96[si] seg000:AAC5 seg000:AAC5 loc_CAAC5: ; CODE XREF: sub_CAAA8+10j seg000:AAC5 pop es seg000:AAC6 assume es:nothing seg000:AAC6 mov bp, sp seg000:AAC8 mov [bp+0Eh], ax seg000:AACB popa seg000:AACC retn seg000:AACC sub_CAAA8 endp seg000:AACC seg000:AACD seg000:AACD ; =============== S U B R O U T I N E ======================================= seg000:AACD seg000:AACD seg000:AACD sub_CAACD proc near ; CODE XREF: sub_CAAA8+18p seg000:AACD ; DATA XREF: seg000:AA98o seg000:AACD mov es, word ptr cs:byte_C0001+7Dh seg000:AAD2 assume es:nothing seg000:AAD2 jmp short loc_CAAD9 seg000:AAD2 sub_CAACD endp seg000:AAD2 seg000:AAD4 seg000:AAD4 ; =============== S U B R O U T I N E ======================================= seg000:AAD4 seg000:AAD4 seg000:AAD4 sub_CAAD4 proc near ; CODE XREF: sub_CAAA8+18p seg000:AAD4 ; DATA XREF: seg000:off_CAA96o seg000:AAD4 mov es, word ptr cs:byte_C0001+7Fh seg000:AAD9 assume es:nothing seg000:AAD9 seg000:AAD9 loc_CAAD9: ; CODE XREF: sub_CAACD+5j seg000:AAD9 push ax seg000:AADA call sub_CAA77 seg000:AADD mov di, si seg000:AADF pop ax seg000:AAE0 seg000:AAE0 loc_CAAE0: ; CODE XREF: sub_CAAD4+Ej seg000:AAE0 stosb seg000:AAE1 inc di seg000:AAE2 loop loc_CAAE0 seg000:AAE4 retn seg000:AAE4 sub_CAAD4 endp seg000:AAE4 seg000:AAE5 seg000:AAE5 ; =============== S U B R O U T I N E ======================================= seg000:AAE5 seg000:AAE5 seg000:AAE5 sub_CAAE5 proc near ; CODE XREF: sub_C1B51+1Dp seg000:AAE5 ; sub_CAB64+51p ... seg000:AAE5 pusha seg000:AAE6 push bx seg000:AAE7 movzx bx, byte ptr ds:462h seg000:AAEC shl bx, 1 seg000:AAEE mov dx, [bx+450h] seg000:AAF2 pop bx seg000:AAF3 mov bh, ds:462h seg000:AAF7 cmp al, 7 seg000:AAF9 jz short loc_CAB0B seg000:AAFB cmp al, 8 seg000:AAFD jz short loc_CAB10 seg000:AAFF cmp al, 0Ah seg000:AB01 jz short loc_CAB27 seg000:AB03 cmp al, 0Dh seg000:AB05 jnz short loc_CAB17 seg000:AB07 sub dl, dl seg000:AB09 jmp short loc_CAB5F seg000:AB0B ; --------------------------------------------------------------------------- seg000:AB0B seg000:AB0B loc_CAB0B: ; CODE XREF: sub_CAAE5+14j seg000:AB0B call sub_C1C09 seg000:AB0E jmp short loc_CAB62 seg000:AB10 ; --------------------------------------------------------------------------- seg000:AB10 seg000:AB10 loc_CAB10: ; CODE XREF: sub_CAAE5+18j seg000:AB10 or dl, dl seg000:AB12 jz short loc_CAB62 seg000:AB14 dec dx seg000:AB15 jmp short loc_CAB5F seg000:AB17 ; --------------------------------------------------------------------------- seg000:AB17 seg000:AB17 loc_CAB17: ; CODE XREF: sub_CAAE5+20j seg000:AB17 mov cx, 1 seg000:AB1A call sub_CAAA8 seg000:AB1D inc dl seg000:AB1F cmp dl, ds:44Ah seg000:AB23 jb short loc_CAB5F seg000:AB25 sub dl, dl seg000:AB27 seg000:AB27 loc_CAB27: ; CODE XREF: sub_CAAE5+1Cj seg000:AB27 cmp dh, ds:484h seg000:AB2B jnb short loc_CAB31 seg000:AB2D inc dh seg000:AB2F jmp short loc_CAB5F seg000:AB31 ; --------------------------------------------------------------------------- seg000:AB31 seg000:AB31 loc_CAB31: ; CODE XREF: sub_CAAE5+46j seg000:AB31 push bx seg000:AB32 push dx seg000:AB33 movzx bx, bh seg000:AB36 shl bx, 1 seg000:AB38 sub dl, dl seg000:AB3A mov [bx+450h], dx seg000:AB3E xor bh, bh seg000:AB40 mov al, ds:449h seg000:AB43 call sub_C1BD9 seg000:AB46 jnz short loc_CAB4D seg000:AB48 call sub_C6E15 seg000:AB4B mov bh, ah seg000:AB4D seg000:AB4D loc_CAB4D: ; CODE XREF: sub_CAAE5+61j seg000:AB4D mov dl, ds:44Ah seg000:AB51 dec dl seg000:AB53 sub cx, cx seg000:AB55 mov ax, 601h seg000:AB58 push ds seg000:AB59 call sub_C6E67 seg000:AB5C pop ds seg000:AB5D pop dx seg000:AB5E pop bx seg000:AB5F seg000:AB5F loc_CAB5F: ; CODE XREF: sub_CAAE5+24j seg000:AB5F ; sub_CAAE5+30j ... seg000:AB5F call sub_C1ED1 seg000:AB62 seg000:AB62 loc_CAB62: ; CODE XREF: sub_CAAE5+29j seg000:AB62 ; sub_CAAE5+2Dj seg000:AB62 popa seg000:AB63 retn seg000:AB63 sub_CAAE5 endp seg000:AB63 seg000:AB64 seg000:AB64 ; =============== S U B R O U T I N E ======================================= seg000:AB64 seg000:AB64 seg000:AB64 sub_CAB64 proc near ; CODE XREF: sub_C1B51+1Dp seg000:AB64 ; DATA XREF: seg000:1B12o seg000:AB64 pusha seg000:AB65 or cx, cx seg000:AB67 jz short loc_CABDD seg000:AB69 cmp al, 3 seg000:AB6B ja short loc_CABDD seg000:AB6D mov si, bp seg000:AB6F mov bp, sp seg000:AB71 xchg bh, ds:462h seg000:AB75 push bx seg000:AB76 movzx bx, byte ptr [bp+9] seg000:AB7A shl bx, 1 seg000:AB7C mov ax, [bx+450h] seg000:AB80 push ax seg000:AB81 mov bx, [bp+8] seg000:AB84 seg000:AB84 loc_CAB84: ; CODE XREF: sub_CAB64+66j seg000:AB84 call sub_C1ED1 seg000:AB87 lods byte ptr es:[si] seg000:AB89 push bx seg000:AB8A push cx seg000:AB8B push es seg000:AB8C cmp al, 0Dh seg000:AB8E jz short loc_CABBA seg000:AB90 cmp al, 0Ah seg000:AB92 jz short loc_CABBA seg000:AB94 cmp al, 8 seg000:AB96 jz short loc_CABBA seg000:AB98 cmp al, 7 seg000:AB9A jz short loc_CABBA seg000:AB9C test byte ptr [bp+0Eh], 2 seg000:ABA0 jz short loc_CABA6 seg000:ABA2 mov bl, es:[si] seg000:ABA5 inc si seg000:ABA6 seg000:ABA6 loc_CABA6: ; CODE XREF: sub_CAB64+3Cj seg000:ABA6 mov cx, 1 seg000:ABA9 call sub_CAA38 seg000:ABAC inc dx seg000:ABAD cmp dl, ds:44Ah seg000:ABB1 jb short loc_CABC7 seg000:ABB3 mov al, 0Dh seg000:ABB5 call sub_CAAE5 seg000:ABB8 mov al, 0Ah seg000:ABBA seg000:ABBA loc_CABBA: ; CODE XREF: sub_CAB64+2Aj seg000:ABBA ; sub_CAB64+2Ej ... seg000:ABBA call sub_CAAE5 seg000:ABBD movzx bx, byte ptr [bp+9] seg000:ABC1 shl bx, 1 seg000:ABC3 mov dx, [bx+450h] seg000:ABC7 seg000:ABC7 loc_CABC7: ; CODE XREF: sub_CAB64+4Dj seg000:ABC7 pop es seg000:ABC8 assume es:nothing seg000:ABC8 pop cx seg000:ABC9 pop bx seg000:ABCA loop loc_CAB84 seg000:ABCC pop ax seg000:ABCD test byte ptr [bp+0Eh], 1 seg000:ABD1 jnz short loc_CABD5 seg000:ABD3 mov dx, ax seg000:ABD5 seg000:ABD5 loc_CABD5: ; CODE XREF: sub_CAB64+6Dj seg000:ABD5 call sub_C1ED1 seg000:ABD8 pop bx seg000:ABD9 mov ds:462h, bh seg000:ABDD seg000:ABDD loc_CABDD: ; CODE XREF: sub_CAB64+3j seg000:ABDD ; sub_CAB64+7j seg000:ABDD popa seg000:ABDE retn seg000:ABDE sub_CAB64 endp seg000:ABDE seg000:ABDF seg000:ABDF ; =============== S U B R O U T I N E ======================================= seg000:ABDF seg000:ABDF seg000:ABDF sub_CABDF proc near ; CODE XREF: sub_C1B51+1Dp seg000:ABDF ; DATA XREF: seg000:1AF0o seg000:ABDF pusha seg000:ABE0 call sub_C1ED1 seg000:ABE3 popa seg000:ABE4 retn seg000:ABE4 sub_CABDF endp seg000:ABE4 seg000:ABE5 seg000:ABE5 ; =============== S U B R O U T I N E ======================================= seg000:ABE5 seg000:ABE5 seg000:ABE5 sub_CABE5 proc near ; CODE XREF: sub_C1B51+1Dp seg000:ABE5 ; DATA XREF: seg000:1AF2o seg000:ABE5 push bx seg000:ABE6 movzx bx, bh seg000:ABE9 shl bx, 1 seg000:ABEB mov dx, [bx+450h] seg000:ABEF mov cx, ds:460h seg000:ABF3 pop bx seg000:ABF4 retn seg000:ABF4 sub_CABE5 endp seg000:ABF4 seg000:ABF4 ; --------------------------------------------------------------------------- seg000:ABF5 db 50h ; P seg000:ABF6 db 0E8h, 4Ah, 9Ch, 8Ah, 0C3h, 0E8h, 2Bh, 59h, 2Dh, 7Fh seg000:ABF6 db 10h, 26h, 7Fh, 1Ch, 71h, 0E8h, 0ADh, 9Ch, 58h, 2 dup(0C3h) seg000:ABF6 db 53h, 57h, 6, 8Ah, 0D8h, 0C0h, 0E3h, 5, 0E8h, 13h, 59h seg000:ABF6 db 24h, 19h, 0Fh, 10h, 71h, 0E8h, 0ECh, 0FFh, 8Ah, 0D8h seg000:ABF6 db 0E8h, 0D2h, 0FFh, 53h, 16h, 7, 8Bh, 0FEh, 8Ah, 0F8h seg000:ABF6 db 32h, 0DBh, 0E8h, 45h, 59h, 16h, 62h, 16h, 63h, 16h seg000:ABF6 db 60h, 16h, 61h, 16h, 68h, 16h, 69h, 16h, 6Ah, 16h, 6Bh seg000:ABF6 db 16h, 72h, 16h, 73h, 16h, 70h, 16h, 71h, 16h, 78h, 16h seg000:ABF6 db 79h, 16h, 7Ah, 16h, 7Bh, 1Ch, 0Bh, 10h, 8, 64h, 61h seg000:ABF6 db 80h, 0FEh, 3 dup(0FFh), 1Ch, 1, 10h, 74h, 64h, 61h seg000:ABF6 db 80h, 0F8h, 3 dup(0FFh), 10h, 70h, 64h, 61h, 80h, 2 dup(0FFh) seg000:ABF6 db 0, 0FFh, 10h, 70h, 64h, 61h, 80h, 0E0h, 3 dup(0FFh) seg000:ABF6 db 1Ch, 3, 10h, 6Ch, 64h, 61h, 0, 80h, 3 dup(0FFh), 1Ch seg000:ABF6 db 1, 71h, 0E8h, 0BBh, 0, 50h, 8Ah, 0D8h, 0B0h, 88h, 0B4h seg000:ABF6 db 1, 0E8h, 1Ah, 66h, 58h, 5Bh, 0E8h, 5Eh, 0FFh, 7, 5Fh seg000:ABF6 db 5Bh, 0C3h, 53h, 8Ah, 0D8h, 0E8h, 54h, 0FFh, 53h, 8Ah seg000:ABF6 db 0F8h, 32h, 0DBh, 0E8h, 0A3h, 58h, 2Dh, 62h, 18h, 2Dh seg000:ABF6 db 63h, 19h, 2Dh, 72h, 14h, 2Dh, 73h, 15h, 71h, 41h, 42h seg000:ABF6 db 5Bh, 0E8h, 39h, 0FFh, 5Bh, 0C3h, 50h, 53h, 56h, 57h seg000:ABF6 db 0E8h, 64h, 58h, 2Dh, 40h, 18h, 2Dh, 41h, 19h, 2Dh, 44h seg000:ABF6 db 4, 2Dh, 45h, 5, 2Dh, 46h, 0, 2Dh, 47h, 1, 2Dh, 42h seg000:ABF6 db 10h, 2Dh, 43h, 11h, 2Dh, 1Ah, 1Ch, 71h, 83h, 0C1h, 5 seg000:ABF6 db 43h, 0A8h, 8, 74h, 9, 2Bh, 0FEh, 83h, 0E7h, 3Fh, 2Bh seg000:ABF6 db 0CFh, 0EBh, 2, 8Bh, 0CBh, 8Bh, 0F9h, 0C1h, 0E1h, 3 seg000:ABF6 db 0E8h, 0F3h, 6Eh, 75h, 2, 3, 0CFh, 50h, 0B0h, 1, 0E8h seg000:ABF6 db 75h, 6Eh, 0F6h, 0C4h, 8, 74h, 2, 0D1h, 0E1h, 58h, 0E8h seg000:ABF6 db 18h, 58h, 2Dh, 50h, 14h, 2Dh, 51h, 15h, 2Dh, 54h, 4 seg000:ABF6 db 2Dh, 55h, 5, 2Dh, 56h, 0, 2Dh, 57h, 1, 2Dh, 52h, 10h seg000:ABF6 db 2Dh, 53h, 11h, 71h, 83h, 0C2h, 2, 43h, 0A8h, 8, 74h seg000:ABF6 db 0Ah, 2Bh, 0FEh, 81h, 0E7h, 0FFh, 0, 2Bh, 0D7h, 0EBh seg000:ABF6 db 2, 8Bh, 0D3h, 5Fh, 5Eh, 5Bh, 58h, 0C3h, 0E8h, 0FDh seg000:ABF6 db 9Ah, 60h, 8Ah, 0D8h, 0E8h, 0A9h, 0FEh, 53h, 8Ah, 0F8h seg000:ABF6 db 32h, 0DBh, 0E8h, 0F8h, 57h, 2Dh, 62h, 4, 2Dh, 63h, 5 seg000:ABF6 db 2Dh, 72h, 0, 2Dh, 73h, 1, 71h, 46h, 47h, 0E8h, 58h seg000:ABF6 db 0FFh, 80h, 0FCh, 1, 75h, 1Ch, 8Bh, 0C1h, 8Bh, 0CEh seg000:ABF6 db 2Bh, 0C8h, 72h, 6, 0D1h, 0E9h, 2Bh, 0F1h, 0EBh, 2, 33h seg000:ABF6 db 0C9h, 8Bh, 0C2h, 8Bh, 0D7h, 2Bh, 0D0h, 0D1h, 0EAh, 2Bh seg000:ABF6 db 0FAh, 0EBh, 5Ah, 80h, 0FCh, 2, 75h, 0Eh, 3Bh, 0F1h seg000:ABF6 db 72h, 2, 8Bh, 0F1h, 33h, 0C9h, 8Bh, 0FAh, 33h, 0D2h seg000:ABF6 db 0EBh, 47h, 80h, 0FCh, 4, 75h, 1Bh, 53h, 0BBh, 11h, 0 seg000:ABF6 db 8Bh, 0C6h, 33h, 0D2h, 0F7h, 0F3h, 8Bh, 0C8h, 2Bh, 0F1h seg000:ABF6 db 8Bh, 0C7h, 33h, 0D2h, 0F7h, 0F3h, 8Bh, 0D0h, 2Bh, 0FAh seg000:ABF6 db 5Bh, 0EBh, 27h, 80h, 0FCh, 3, 75h, 1Eh, 53h, 8Bh, 0DAh seg000:ABF6 db 8Bh, 0C7h, 0F7h, 0E1h, 0F7h, 0F3h, 5Bh, 3Bh, 0F0h, 76h seg000:ABF6 db 0Ah, 8Bh, 0CEh, 2Bh, 0C8h, 0D1h, 0E9h, 2Bh, 0F1h, 0EBh seg000:ABF6 db 2, 33h, 0C9h, 33h, 0D2h, 0EBh, 4, 33h, 0C9h, 33h, 0D2h seg000:ABF6 db 4Eh, 4Fh, 0E8h, 66h, 57h, 26h, 64h, 18h, 26h, 65h, 19h seg000:ABF6 db 26h, 66h, 4, 26h, 67h, 5, 26h, 74h, 14h, 26h, 75h, 15h seg000:ABF6 db 26h, 76h, 0, 26h, 77h, 1, 71h, 5Bh seg000:AE00 db 0E8h, 0F2h, 0FDh, 61h, 0E8h, 0AEh, 9Ah, 0C3h, 50h, 0E8h seg000:AE00 db 0F7h, 72h, 3Ch, 1, 75h, 8, 0E8h, 0ABh, 76h, 0E8h, 26h seg000:AE00 db 0B5h, 0EBh, 6, 0E8h, 0A3h, 76h, 0E8h, 0B9h, 5, 58h seg000:AE00 db 0C3h, 0E8h, 0E5h, 0FFh, 50h, 0E8h, 11h, 75h, 0E8h, 32h seg000:AE00 db 0FAh, 58h, 0F9h, 0C3h, 50h, 53h, 0E8h, 6, 75h, 0E8h seg000:AE00 db 0FDh, 79h, 50h, 3Ch, 3, 75h, 4, 38h, 0C0h, 0EBh, 1Ah seg000:AE00 db 0E8h, 80h, 12h, 75h, 4, 38h, 0C0h, 0EBh, 11h, 0E8h seg000:AE00 db 0F2h, 0B4h, 0E8h, 66h, 76h, 0E8h, 0F1h, 0B4h, 75h, 4 seg000:AE00 db 0FEh, 0C0h, 0EBh, 2, 38h, 0C0h, 58h, 0F8h, 0Fh, 85h seg000:AE00 db 86h, 0, 3Ch, 6, 75h, 5, 0B3h, 0, 0E8h, 63h, 97h, 0E8h seg000:AE00 db 0, 5, 72h, 17h, 0E8h, 0C9h, 74h, 3Ch, 6, 75h, 0Bh, 0E8h seg000:AE00 db 0CEh, 19h, 74h, 6, 0E8h, 1Fh, 1Bh, 0E8h, 37h, 1Dh, 0E8h seg000:AE00 db 49h, 0F3h, 0EBh, 3, 0E8h, 0FBh, 2 dup(9Ch), 72h, 13h seg000:AE00 db 80h, 0FCh, 6, 75h, 0Eh, 2Eh, 0F6h, 6, 1Fh, 3, 40h, 74h seg000:AE00 db 6, 9Dh, 0E8h, 2, 12h, 0EBh, 1, 9Dh, 9Ch, 3Ch, 3, 75h seg000:AE00 db 29h, 9Dh, 72h, 16h, 0B0h, 1Fh, 0E8h, 0C1h, 63h, 8Ah seg000:AE00 db 0CFh, 0C0h, 0E9h, 4, 0B5h, 1, 0D2h, 0E5h, 0Ah, 0E5h seg000:AE00 db 0E8h, 0C5h, 63h, 0F8h, 0EBh, 29h, 0B0h, 40h, 0E8h, 0ABh seg000:AE00 db 63h, 80h, 0E4h, 2, 75h, 3, 0F9h, 0EBh, 1, 0F8h, 0EBh seg000:AE00 db 19h, 9Dh, 9Ch, 0E8h, 0F1h, 11h, 75h, 11h, 0B0h, 40h seg000:AE00 db 0E8h, 94h, 63h, 80h, 0E4h, 2, 75h, 3, 9Dh, 0EBh, 5 seg000:AE00 db 9Dh, 0F8h, 0EBh, 1, 9Dh, 5Bh, 58h, 0C3h, 0E8h, 59h seg000:AE00 db 99h, 0E8h, 39h, 1, 0E8h, 0C5h, 99h, 0C3h, 50h, 53h seg000:AE00 db 0E8h, 42h, 74h, 3Ch, 6, 75h, 5, 0B3h, 0, 0E8h, 0CBh seg000:AE00 db 96h, 0E8h, 1, 72h, 8Ah, 0E0h, 0E8h, 0B2h, 71h, 0Ah seg000:AE00 db 0E4h, 75h, 7, 0B4h, 1, 0E8h, 0DFh, 4, 0EBh, 0Ch, 0B4h seg000:AE00 db 1, 0E8h, 28h, 0B4h, 73h, 2, 0B4h, 0, 0E8h, 1Eh, 0B4h seg000:AE00 db 0E8h, 93h, 70h, 0B0h, 0, 0E8h, 0D2h, 0B3h, 0E8h, 0FDh seg000:AE00 db 0, 5Bh, 58h, 0C3h, 50h, 53h, 0E8h, 88h, 75h, 8Ah, 0D8h seg000:AE00 db 36h, 8Ah, 64h, 11h, 80h, 0E4h, 1, 0B0h, 9Ch, 0E8h, 6Dh seg000:AE00 db 63h, 5Bh, 58h, 0C3h, 50h, 53h, 51h, 52h, 57h, 0B0h seg000:AE00 db 1Ch, 0E8h, 1Fh, 63h, 80h, 0FCh, 1, 74h, 0Eh, 80h, 0FCh seg000:AE00 db 3, 74h, 9, 36h, 0F6h, 44h, 15h, 1, 74h, 2, 0B4h, 4 seg000:AE00 db 0E8h, 57h, 75h, 0E8h, 0A6h, 0FCh, 0E8h, 0C4h, 0FFh seg000:AE00 db 36h, 8Ah, 64h, 11h, 80h, 0E4h, 4, 0C0h, 0ECh, 2, 8Ah seg000:AE00 db 0D8h, 0B0h, 0A0h, 0E8h, 33h, 63h, 36h, 8Bh, 4Ch, 16h seg000:AE00 db 0E8h, 83h, 71h, 0Ah, 0C0h, 75h, 51h, 0E8h, 0B1h, 73h seg000:AE00 db 3Ch, 3, 75h, 4, 0B3h, 0, 0EBh, 2Fh, 3Ch, 2, 75h, 1Ch seg000:AE00 db 0B3h, 1, 0E8h, 41h, 71h, 3Ch, 2, 75h, 4, 0B3h, 2, 0EBh seg000:AE00 db 1Eh, 3Ch, 3, 75h, 1Ah, 36h, 0F6h, 44h, 11h, 1, 74h seg000:AE00 db 2, 0B3h, 5, 0EBh, 0Fh, 3Ch, 6, 75h, 0Bh, 0B3h, 8, 0E8h seg000:AE00 db 21h, 71h, 3Ch, 2, 75h, 2, 0B3h, 9, 0E8h, 0FDh, 74h seg000:AE00 db 0E8h, 0F5h, 3, 50h, 0E8h, 70h, 73h, 8Ah, 0D8h, 58h seg000:AE00 db 80h, 0FBh, 6, 75h, 16h, 0E8h, 0C0h, 0Fh, 0EBh, 11h seg000:AE00 db 0E8h, 0E6h, 74h, 0B3h, 0, 0E8h, 5Fh, 0B3h, 36h, 8Ah seg000:AE00 db 5Ch, 10h, 80h, 0E3h, 0FBh, 0D1h, 0E1h, 0E8h, 0D0h, 74h seg000:AE00 db 0E8h, 0BAh, 64h, 36h, 8Ah, 5Ch, 10h, 0E8h, 31h, 64h seg000:AE00 db 5Fh, 5Ah, 59h, 5Bh, 58h, 0C3h, 50h, 57h, 0E8h, 6Ch seg000:AE00 db 3, 72h, 20h, 0E8h seg000:B001 db 35h, 73h, 3Ch, 6, 75h, 8, 0E8h, 6Dh, 7, 74h, 3, 0E8h seg000:B001 db 73h, 4, 0E8h, 9Dh, 0F7h, 0Ah, 0D2h, 75h, 0Dh, 0BFh seg000:B001 db 0ECh, 50h, 0E8h, 0C3h, 0F5h, 0B2h, 4, 0EBh, 3, 0E8h seg000:B001 db 55h, 9Bh, 5Fh, 58h, 0C3h, 55h, 8Bh, 0ECh, 83h, 0C4h seg000:B001 db 0E8h, 50h, 52h, 56h, 0E8h, 0, 78h, 0E8h, 3, 73h, 3Ch seg000:B001 db 6, 75h, 0Dh, 0E8h, 0CBh, 18h, 75h, 8, 0E8h, 3, 18h seg000:B001 db 74h, 3, 0E8h, 6Fh, 1Bh, 8Dh, 76h, 2 dup(0E8h), 0ADh seg000:B001 db 0FFh, 80h, 0FAh, 0, 0F8h, 74h, 7, 0E8h, 0EDh, 0FEh seg000:B001 db 0E8h, 0F6h, 0B8h, 0F9h, 5Eh, 5Ah, 58h, 8Bh, 0E5h, 5Dh seg000:B001 db 0C3h, 0E8h, 2Ch, 86h, 72h, 3, 0E8h, 7Fh, 0FEh, 0C3h seg000:B001 db 50h, 0E8h, 4Ch, 74h, 8Ah, 0D8h, 0B0h, 9Ch, 0E8h, 2Eh seg000:B001 db 62h, 33h, 0D2h, 0Ah, 0E4h, 74h, 3, 80h, 0CAh, 1, 0B0h seg000:B001 db 0A0h, 0E8h, 20h, 62h, 0Ah, 0E4h, 74h, 3, 80h, 0CAh seg000:B001 db 2, 0E8h, 77h, 70h, 8Ah, 0D8h, 0E8h, 2Dh, 74h, 80h, 0FBh seg000:B001 db 1, 75h, 5, 0E8h, 0A3h, 0B2h, 0EBh, 3, 0E8h, 0A9h, 3 seg000:B001 db 58h, 0C3h, 50h, 53h, 0E8h, 5Eh, 70h, 3Ch, 1, 75h, 2Ch seg000:B001 db 0E8h, 0Dh, 70h, 0E8h, 90h, 0B2h, 73h, 9, 0Ah, 0DBh seg000:B001 db 75h, 5, 0B4h, 2, 0E8h, 82h, 0B2h, 0B4h, 0, 0Ah, 0DBh seg000:B001 db 75h, 2, 0B4h, 1, 0E8h, 77h, 0B2h, 0E8h, 77h, 0B2h, 73h seg000:B001 db 47h, 0Ah, 0DBh, 74h, 5, 0B4h, 3, 0E8h, 69h, 0B2h, 0EBh seg000:B001 db 3Ch, 0E8h, 60h, 72h, 0E8h, 0E6h, 0Fh, 74h, 15h, 3Ch seg000:B001 db 6, 75h, 11h, 0E8h, 0E6h, 94h, 0Ah, 0DBh, 75h, 29h, 0E8h seg000:B001 db 8Ch, 6, 74h, 3, 0E8h, 92h, 3, 0EBh, 1Fh, 75h, 0Fh, 0Ah seg000:B001 db 0DBh, 75h, 8, 0E8h, 7Ch, 6, 74h, 3, 0E8h, 82h, 3, 0E8h seg000:B001 db 0C7h, 94h, 0B4h, 0, 0Ah, 0DBh, 75h, 2, 0B4h, 1, 0E8h seg000:B001 db 0ABh, 6Fh, 0E8h, 0DEh, 2, 0F9h, 5Bh, 58h, 0C3h, 53h seg000:B001 db 50h, 0E8h, 9Fh, 73h, 0E8h, 7Eh, 0FBh, 52h, 8Bh, 0C2h seg000:B001 db 0C1h, 0E0h, 4, 33h, 0D2h, 0F7h, 0F1h, 5Ah, 32h, 0DBh seg000:B001 db 83h, 0F8h, 0Ch, 73h, 2, 0FEh, 0C3h, 81h, 0F9h, 20h seg000:B001 db 3, 73h, 3, 0B9h, 20h, 3, 81h, 0FAh, 58h, 2, 73h, 3 seg000:B001 db 0BAh, 58h, 2, 81h, 0FAh, 0D0h, 2, 75h, 3, 0BAh, 0, 3 seg000:B001 db 58h, 8Ah, 0C3h, 5Bh, 0C3h, 50h, 0E8h, 0AEh, 6Fh, 8Ah seg000:B001 db 0E0h, 0E8h, 5Fh, 6Fh, 80h, 0FCh, 1, 75h, 5, 0E8h, 0DAh seg000:B001 db 0B1h, 0EBh, 6, 0E8h, 52h, 73h, 0E8h, 0D3h, 62h, 58h seg000:B001 db 0C3h, 50h, 0E8h, 93h, 6Fh, 8Ah, 0E0h, 0E8h, 44h, 6Fh seg000:B001 db 80h, 0FCh, 1, 75h, 5, 0E8h, 0BFh, 0B1h, 0EBh, 6, 0E8h seg000:B001 db 37h, 73h, 0E8h, 0D1h, 62h, 58h, 0C3h, 50h, 53h, 0E8h seg000:B001 db 2Dh, 73h, 0E8h, 77h, 63h, 73h, 2Dh, 0E8h, 2 dup(6Fh) seg000:B001 db 8Ah, 0E0h, 0E8h, 20h, 6Fh, 0E8h, 0A3h, 0B1h, 73h, 0Ch seg000:B001 db 80h, 0FCh, 1, 75h, 7, 50h, 0B4h, 0, 0E8h, 93h, 0B1h seg000:B001 db 58h, 0E8h, 3Ch, 0DCh, 0E8h, 8Fh, 0B1h, 73h, 0Ch, 80h seg000:B001 db 0FCh, 1, 75h, 7, 50h, 0B4h, 3, 0E8h, 7Fh, 0B1h, 58h seg000:B001 db 5Bh, 58h, 0C3h, 50h, 56h, 0E8h, 0F3h, 72h, 0E8h, 3Dh seg000:B001 db 63h, 73h, 27h, 0E8h, 23h, 0DCh, 0E8h, 67h, 71h, 3Ch seg000:B001 db 6, 75h, 17h, 0E8h, 2 dup(93h), 2Eh, 8Bh, 74h, 0Fh, 0E8h seg000:B001 db 1Ch, 53h, 0E8h, 0DFh, 0Eh, 75h, 8, 0E8h, 4Ch, 75h, 72h seg000:B001 db 3, 0E8h, 4Ch, 0Fh, 0E8h, 4Dh, 0B1h, 0E8h, 0F6h, 0D9h seg000:B001 db 5Eh, 58h, 2 dup(0C3h), 66h, 50h, 53h, 66h, 51h, 66h seg000:B001 db 52h, 66h, 57h, 0E8h, 0DDh, 0D9h, 0E8h, 37h, 0B1h seg000:B205 db 0E8h, 0B1h, 72h, 0E8h, 0FBh, 62h, 0Fh, 83h, 9Ch, 0 seg000:B205 db 4, 80h, 0F8h, 0E8h, 95h, 87h, 66h, 8Bh, 0C1h, 66h, 0B9h seg000:B205 db 0Ah, 3 dup(0), 66h, 33h, 0D2h, 66h, 0F7h, 0F1h, 66h seg000:B205 db 8Bh, 0C8h, 0E8h, 12h, 0B1h, 0E8h, 3Ch, 0FEh, 0E8h, 0D3h seg000:B205 db 6Eh, 8Ah, 0E0h, 0E8h, 3, 71h, 3Ch, 6, 75h, 14h, 0Ah seg000:B205 db 0E4h, 75h, 10h, 0E8h, 42h, 2, 0E8h, 0C4h, 16h, 74h seg000:B205 db 5, 0E8h, 9Bh, 18h, 0EBh, 3, 0E8h, 78h, 0Dh, 0E8h, 0C9h seg000:B205 db 0, 0E8h, 0E2h, 0DBh, 0E8h, 0ADh, 6Eh, 3Ch, 1, 75h, 1Fh seg000:B205 db 0E8h, 61h, 72h, 53h, 8Bh, 0D8h, 0E8h, 0E9h, 52h, 7Ah seg000:B205 db 0, 22h, 61h, 80h, 1, 3 dup(0), 7Ah, 80h, 23h, 61h, 40h seg000:B205 db 1, 3 dup(0), 71h, 5Bh, 0EBh, 2Fh, 0E8h, 42h, 72h, 53h seg000:B205 db 8Bh, 0D8h, 66h, 0BFh, 4 dup(0), 0F6h, 0C2h, 1, 74h seg000:B205 db 6, 66h, 0BFh, 2 dup(1), 2 dup(0), 0E8h, 0B9h, 52h, 7Ah seg000:B205 db 0, 22h, 61h, 80h, 4 dup(0), 20h, 0, 23h, 61h, 40h, 2 dup(0F8h) seg000:B205 db 2 dup(0FFh), 0, 71h, 5Bh, 0E8h, 91h, 0B0h, 66h, 5Fh seg000:B205 db 66h, 5Ah, 66h, 59h, 5Bh, 66h, 58h, 0C3h, 50h, 53h, 51h seg000:B205 db 52h, 0E8h, 0FDh, 71h, 0E8h, 47h, 62h, 73h, 45h, 0E8h seg000:B205 db 11h, 62h, 0E8h, 0A2h, 0FDh, 0E8h, 39h, 6Eh, 8Ah, 0E0h seg000:B205 db 0E8h, 0EAh, 6Dh, 0E8h, 6Dh, 0B0h, 73h, 0Ch, 80h, 0FCh seg000:B205 db 1, 75h, 7, 50h, 0B4h, 2, 0E8h, 5Dh, 0B0h, 58h, 0E8h seg000:B205 db 55h, 70h, 3Ch, 6, 75h, 8, 0E8h, 1Dh, 16h, 74h, 3, 0E8h seg000:B205 db 5Fh, 18h, 0E8h, 27h, 0, 0E8h, 48h, 0DBh, 0E8h, 47h seg000:B205 db 0B0h, 73h, 0Ch, 80h, 0FCh, 1, 75h, 7, 50h, 0B4h, 1 seg000:B205 db 0E8h, 37h, 0B0h, 58h, 5Ah, 59h, 5Bh, 58h, 0C3h, 50h seg000:B205 db 0B0h, 1Ch, 0E8h, 5Ah, 5Fh, 0E8h, 0A5h, 71h, 0E8h, 2Ch seg000:B205 db 0FAh, 58h, 0C3h, 66h, 50h, 53h, 0E8h, 19h, 70h, 3Ch seg000:B205 db 6, 75h, 5, 0E8h, 36h, 92h, 0EBh, 22h, 3Ch, 2, 75h, 1Eh seg000:B205 db 0E8h, 8Fh, 71h, 8Bh, 0D8h, 0E8h, 18h, 52h, 2Ch, 0, 0C7h seg000:B205 db 61h, 40h, 1Ch, 7Bh, 0, 0Fh, 2 dup(0), 1Ch, 7Eh, 8, 1Ch seg000:B205 db 71h, 3Ch, 5, 75h, 2, 0D1h, 0E9h, 5Bh, 66h, 58h, 0C3h seg000:B205 db 0E8h, 0F4h, 0DAh, 0F9h, 0C3h, 66h, 50h, 0E8h, 0E0h seg000:B205 db 6Fh, 3Ch, 2, 75h, 0Bh, 0E8h, 0EDh, 6Ch, 66h, 0C1h, 0E8h seg000:B205 db 0, 24h, 0FFh, 3Ch, 45h, 66h, 58h, 0C3h, 50h, 51h, 0B9h seg000:B205 db 2 dup(0Fh), 0E8h, 22h, 97h, 0E8h, 0C3h, 6Fh, 8Ah, 0E0h seg000:B205 db 0E8h, 18h, 70h, 0Ah, 0C0h, 75h, 0Fh, 80h, 0FCh, 3, 75h seg000:B205 db 5, 80h, 0F9h, 0Fh, 74h, 0Eh, 80h, 0FCh, 3, 75h, 9, 3Ch seg000:B205 db 2, 75h, 8, 80h, 0FCh, 3, 75h, 3, 0F8h, 0EBh, 1, 0F9h seg000:B205 db 59h, 58h, 0C3h seg000:B39D seg000:B39D ; =============== S U B R O U T I N E ======================================= seg000:B39D seg000:B39D seg000:B39D sub_CB39D proc near ; CODE XREF: sub_CA4A9:loc_CA4D9p seg000:B39D push si seg000:B39E mov si, 0 seg000:B3A1 mov al, cs:[si+4] seg000:B3A5 pop si seg000:B3A6 retn seg000:B3A6 sub_CB39D endp seg000:B3A6 seg000:B3A7 seg000:B3A7 ; =============== S U B R O U T I N E ======================================= seg000:B3A7 seg000:B3A7 seg000:B3A7 sub_CB3A7 proc near ; CODE XREF: sub_CA597+14p seg000:B3A7 push ax seg000:B3A8 push bx seg000:B3A9 xor cl, cl seg000:B3AB mov bx, 0 seg000:B3AE cmp ax, cs:[bx+5] seg000:B3B2 jb short loc_CB3B6 seg000:B3B4 inc cl seg000:B3B6 seg000:B3B6 loc_CB3B6: ; CODE XREF: sub_CB3A7+Bj seg000:B3B6 pop bx seg000:B3B7 pop ax seg000:B3B8 retn seg000:B3B8 sub_CB3A7 endp seg000:B3B8 seg000:B3B8 ; --------------------------------------------------------------------------- seg000:B3B9 db 53h ; S seg000:B3BA db 66h, 51h, 66h, 33h, 0C9h, 0Ah, 0EBh, 0Fh, 0B6h, 0DCh seg000:B3BA db 0Fh, 0ABh, 0D9h, 8Bh, 0D8h, 0E8h, 80h, 51h, 21h, 0 seg000:B3BA db 0C7h, 61h, 40h, 18h, 71h, 66h, 59h, 5Bh, 0C3h, 53h seg000:B3BA db 8Ah, 0D8h, 32h, 0FFh, 0E8h, 6Dh, 51h, 6Eh, 0, 0C7h seg000:B3BA db 61h, 40h, 0F0h, 3 dup(0FFh), 4 dup(0), 71h, 5Bh, 0C3h seg000:B3BA db 53h, 66h, 57h, 66h, 0Fh, 0B6h, 0FCh, 8Ah, 0D8h, 32h seg000:B3BA db 0FFh, 0E8h, 2Ch, 51h, 2Dh, 0E8h, 1Dh, 71h, 0F6h, 0C4h seg000:B3BA db 20h, 74h, 1Eh, 2Eh, 0F6h, 6, 48h, 0, 8, 74h, 16h, 0E8h seg000:B3BA db 3Bh, 51h, 7Ch, 3 dup(0), 80h, 0, 20h, 4, 0C0h, 61h seg000:B3BA db 40h, 0FEh, 2 dup(0FFh), 7Fh, 0, 71h, 0EBh, 1Fh, 0E8h seg000:B3BA db 25h, 51h, 56h, 3, 0FFh, 72h, 7Ch, 3 dup(0), 80h, 0 seg000:B3BA db 20h, 4, 0C0h, 61h, 40h, 0FEh, 2 dup(0FFh), 7Fh, 0, 56h seg000:B3BA db 3, 0FFh, 72h, 56h, 5, 0FFh, 71h, 66h, 5Fh, 5Bh, 0C3h seg000:B3BA db 66h, 51h, 53h, 8Ah, 0D8h, 32h, 0FFh, 0E8h, 0FBh, 50h seg000:B3BA db 2Ch, 0, 0C7h, 61h, 40h, 18h, 71h, 80h, 0E5h, 0Fh, 5Bh seg000:B3BA db 8Ah, 0DDh, 66h, 59h, 0C3h, 53h, 66h, 51h, 8Ah, 0D8h seg000:B3BA db 32h, 0FFh, 0E8h, 0E1h, 50h, 2Ch, 4, 0C0h, 61h, 40h seg000:B3BA db 18h, 7Eh, 0E1h, 18h, 7Fh, 1, 18h, 71h, 8Ah, 0E1h, 66h seg000:B3BA db 59h, 5Bh, 0C3h, 2, 1, 0, 3, 55h, 8Bh, 0ECh, 83h, 0C4h seg000:B3BA db 0BAh, 66h, 60h, 0E8h, 34h, 0Ch, 75h, 3, 0E8h, 47h, 0Ch seg000:B3BA db 0E8h, 0D6h, 90h, 56h, 2Eh, 8Bh, 74h, 5, 0E8h, 5Eh, 50h seg000:B3BA db 8Dh, 7Eh, 0D6h, 0E8h, 11h, 6Bh, 0E8h, 0C7h, 0Ah, 66h seg000:B3BA db 36h, 0C7h, 5, 3, 3 dup(0), 0E8h, 7Bh, 9, 5Eh, 9Ch, 73h seg000:B3BA db 3, 80h, 0E4h, 0FEh, 56h, 0F6h, 0C4h, 1, 75h, 6, 2Eh seg000:B3BA db 8Bh, 74h, 0Dh, 0EBh, 4, 2Eh, 8Bh, 74h, 0Bh, 0E8h, 30h seg000:B3BA db 50h, 5Eh, 89h, 76h, 0BCh, 8Dh, 76h, 0BFh, 66h, 36h seg000:B3BA db 0C7h, 5, 4 dup(0), 0E8h, 4Fh, 9, 36h, 88h, 64h, 16h seg000:B3BA db 9Dh, 0Fh, 82h, 9Fh, 1, 66h, 36h, 0C7h, 5, 2, 3 dup(0) seg000:B3BA db 0E8h, 3Bh, 9, 8Ah, 0DCh, 80h, 0E3h, 2 dup(80h), 0E4h seg000:B3BA db 1Fh, 0E8h, 3, 6Fh, 38h, 0E0h, 73h, 2, 8Ah, 0E0h, 36h seg000:B3BA db 88h, 24h, 0Ah, 0E3h, 0E8h, 5, 4, 66h, 36h, 0C7h, 5 seg000:B3BA db 2 dup(1), 2 dup(0), 0E8h, 5, 9, 66h, 36h, 0C7h, 5, 1 seg000:B3BA db 3 dup(0), 0E8h, 0Ch, 9, 36h, 88h, 64h, 1, 0E8h, 0BCh seg000:B3BA db 6Eh, 0Ah, 0C0h, 75h, 2, 0B4h, 6, 3Ch, 1, 75h, 2, 0B4h seg000:B3BA db 0Ah, 36h, 3Ah, 64h, 1, 73h, 4, 36h, 88h, 64h, 1, 36h seg000:B3BA db 0C6h, 44h, 2, 0, 36h, 8Ah, 64h, 1, 0E8h, 61h, 4, 56h seg000:B3BA db 8Bh, 76h, 0BCh, 2Eh, 8Bh, 74h, 9, 0EBh, 3, 83h, 0C6h seg000:B3BA db 3, 2Eh, 3Ah, 24h, 75h, 0F8h, 2Eh, 8Bh, 74h, 1, 0E8h seg000:B3BA db 99h, 4Fh, 5Eh, 66h, 36h, 0C7h, 5, 0, 1, 2 dup(0), 0E8h seg000:B3BA db 0ACh, 8, 51h, 0B9h, 0C8h, 0, 0E8h, 0EDh, 7Eh, 59h, 0E8h seg000:B3BA db 0D2h, 4, 51h, 0B9h, 0Ah, 0, 0E8h, 0E2h, 7Eh, 59h, 0B4h seg000:B3BA db 21h, 0E8h, 92h, 4, 66h, 36h, 0C7h, 5, 2, 1, 2 dup(0) seg000:B3BA db 0E8h, 89h, 8, 0E8h, 0CDh, 4, 0B6h, 10h, 0C6h, 46h, 0BBh seg000:B3BA db 0, 51h, 0B9h, 64h, 0, 0E8h, 0C1h, 7Eh, 59h, 0E8h, 39h seg000:B3BA db 1, 75h, 9, 36h, 0C6h, 44h, 2 dup(2), 0B6h, 1, 0EBh seg000:B3BA db 20h, 0E8h, 0D8h, 5, 75h, 4, 0B6h, 1, 0EBh, 17h, 0E8h seg000:B3BA db 0C0h, 5, 75h, 6, 80h, 46h, 0BBh, 1, 0EBh, 4, 0C6h, 46h seg000:B3BA db 0BBh, 1, 80h, 7Eh, 0BBh, 5, 75h, 2, 0B6h, 1, 0FEh, 0CEh seg000:B3BA db 0Ah, 0F6h seg000:B5D4 db 75h, 0C4h, 36h, 80h, 7Ch, 2, 0, 75h, 21h, 36h, 80h seg000:B5D4 db 7Ch, 1, 14h, 75h, 7, 36h, 0C6h, 44h, 1, 0Ah, 0EBh, 13h seg000:B5D4 db 36h, 80h, 7Ch, 1, 0Ah, 75h, 7, 36h, 0C6h, 44h, 1, 6 seg000:B5D4 db 0EBh, 5, 36h, 0C6h, 44h, 2, 1, 36h, 80h, 7Ch, 2, 0 seg000:B5D4 db 0Fh, 84h, 3Bh, 0FFh, 36h, 80h, 7Ch, 2, 1, 0Fh, 84h seg000:B5D4 db 0B7h, 0, 36h, 0C6h, 44h, 2, 0, 0B4h, 22h, 36h, 80h seg000:B5D4 db 7Ch, 1, 14h, 75h, 2, 0B4h, 23h, 0E8h, 0F5h, 3, 66h seg000:B5D4 db 36h, 0C7h, 5, 2, 1, 2 dup(0), 0E8h, 0ECh, 7, 0B6h, 6 seg000:B5D4 db 51h, 0B9h, 90h, 1, 0E8h, 2Bh, 7Eh, 59h, 0E8h, 0A3h seg000:B5D4 db 0, 74h, 2, 0B6h, 1, 0E8h, 0DBh, 0, 75h, 9, 36h, 0C6h seg000:B5D4 db 44h, 2 dup(2), 0EBh, 0Bh, 0EBh, 3, 0E8h, 2Ch, 5, 0FEh seg000:B5D4 db 0CEh, 0Ah, 0F6h, 75h, 0DAh, 36h, 80h, 7Ch, 2, 0, 75h seg000:B5D4 db 6Ah, 36h, 80h, 7Ch, 1, 14h, 75h, 7, 36h, 0C6h, 44h seg000:B5D4 db 1, 0Ah, 0EBh, 15h, 36h, 80h, 7Ch, 1, 0Ah, 75h, 7, 36h seg000:B5D4 db 0C6h, 44h, 1, 6, 0EBh, 7, 36h, 0C6h, 44h, 2, 1, 0EBh seg000:B5D4 db 47h, 0E9h, 0BAh, 0FEh, 0EBh, 42h, 0B4h, 81h, 0E8h, 85h seg000:B5D4 db 2, 36h, 0C6h, 4, 1, 0B4h, 6, 0E8h, 17h, 3, 56h, 8Bh seg000:B5D4 db 76h, 0BCh, 2Eh, 8Bh, 74h, 9, 0EBh, 3, 83h, 0C6h, 3 seg000:B5D4 db 2Eh, 3Ah, 24h, 75h, 0F8h, 2Eh, 8Bh, 74h, 1, 0E8h, 4Fh seg000:B5D4 db 4Eh, 5Eh, 66h, 36h, 0C7h, 44h, 3, 4 dup(2), 36h, 0C7h seg000:B5D4 db 44h, 7, 2 dup(0), 0E8h, 0, 5, 0E8h, 8Eh, 5, 36h, 0C6h seg000:B5D4 db 44h, 2 dup(2), 56h, 8Bh, 76h, 0BCh, 2Eh, 8Bh, 74h, 7 seg000:B5D4 db 0E8h, 29h, 4Eh, 5Eh, 36h, 80h, 7Ch, 2 dup(2), 66h, 61h seg000:B5D4 db 8Bh, 0E5h, 5Dh, 0C3h, 66h, 50h, 53h, 66h, 36h, 0C7h seg000:B5D4 db 5, 2 dup(2), 2 dup(0), 36h, 0C6h, 45h, 5, 1, 36h, 0C6h seg000:B5D4 db 45h, 4, 9, 0E8h, 0D9h, 6, 32h, 0FFh, 32h, 0DBh, 36h seg000:B5D4 db 8Bh, 45h, 16h, 0EBh, 0Ch, 0A9h, 1, 0, 75h, 2, 0B7h seg000:B5D4 db 1, 0C1h, 0E8h, 4, 0FEh, 0C3h, 36h, 3Ah, 1Ch, 75h, 0EFh seg000:B5D4 db 0Ah, 0DBh, 75h, 2, 0B7h, 1, 0Ah, 0FFh, 5Bh, 66h, 58h seg000:B5D4 db 0C3h, 66h, 50h, 53h, 66h, 36h, 0C7h, 5, 2 dup(2), 2 dup(0) seg000:B5D4 db 36h, 0C6h, 45h, 5, 1, 36h, 0C6h, 45h, 4, 9, 0E8h, 9Ah seg000:B5D4 db 6, 32h, 0FFh, 32h, 0DBh, 36h, 8Bh, 45h, 16h, 0EBh, 15h seg000:B5D4 db 0A9h, 2, 0, 75h, 4, 0B7h, 1, 0EBh, 7, 0A9h, 4, 0, 75h seg000:B5D4 db 2, 0B7h, 1, 0C1h, 0E8h, 4, 0FEh, 0C3h, 36h, 3Ah, 1Ch seg000:B5D4 db 75h, 0E6h, 0Ah, 0DBh, 75h, 2, 0B7h, 1, 66h, 36h, 0C7h seg000:B5D4 db 5, 4, 2, 2 dup(0), 0E8h, 0C2h, 6, 0F6h, 0C4h, 1, 75h seg000:B5D4 db 2, 0B7h, 1, 0Ah, 0FFh, 5Bh, 66h, 58h, 0C3h, 55h, 8Bh seg000:B5D4 db 0ECh, 83h, 0C4h, 0BEh, 2Eh, 0F6h, 6, 0C9h, 2Bh, 2, 75h seg000:B5D4 db 22h, 50h, 51h, 57h, 56h, 8Dh, 7Eh, 0D6h, 8Dh, 76h, 0BFh seg000:B5D4 db 0E8h, 22h, 68h, 0E8h, 0D8h, 7, 0E8h, 0BCh, 1, 36h, 88h seg000:B5D4 db 4, 0E8h, 40h, 0FFh, 75h, 3, 0E8h, 7Ah, 0FFh, 5Eh, 5Fh seg000:B5D4 db 59h, 58h, 8Bh, 0E5h, 5Dh, 0C3h seg000:B7AB seg000:B7AB ; =============== S U B R O U T I N E ======================================= seg000:B7AB seg000:B7AB ; Attributes: bp-based frame seg000:B7AB seg000:B7AB sub_CB7AB proc near ; CODE XREF: sub_CAA0A:loc_CAA14p seg000:B7AB seg000:B7AB var_2A = byte ptr -2Ah seg000:B7AB seg000:B7AB push bp seg000:B7AC mov bp, sp seg000:B7AE add sp, 0FFD6h seg000:B7B1 push bx seg000:B7B2 push di seg000:B7B3 push bp seg000:B7B4 push di seg000:B7B5 lea di, [bp+var_2A] seg000:B7B8 call sub_CBF6D seg000:B7BB call sub_C2779 seg000:B7BE mov bh, al seg000:B7C0 shl bh, 4 seg000:B7C3 call sub_CC907 seg000:B7C6 pop bp seg000:B7C7 jnz short loc_CB7CE seg000:B7C9 call sub_CB7D8 seg000:B7CC jmp short loc_CB7D1 seg000:B7CE ; --------------------------------------------------------------------------- seg000:B7CE seg000:B7CE loc_CB7CE: ; CODE XREF: sub_CB7AB+1Cj seg000:B7CE call sub_CCBAE seg000:B7D1 seg000:B7D1 loc_CB7D1: ; CODE XREF: sub_CB7AB+21j seg000:B7D1 pop bp seg000:B7D2 pop di seg000:B7D3 pop bx seg000:B7D4 mov sp, bp seg000:B7D6 pop bp seg000:B7D7 retn seg000:B7D7 sub_CB7AB endp seg000:B7D7 seg000:B7D8 seg000:B7D8 ; =============== S U B R O U T I N E ======================================= seg000:B7D8 seg000:B7D8 seg000:B7D8 sub_CB7D8 proc near ; CODE XREF: sub_CB7AB+1Ep seg000:B7D8 push eax seg000:B7DA push bx seg000:B7DB push cx seg000:B7DC push dx seg000:B7DD push di seg000:B7DE push bp seg000:B7DF mov al, [si+5] seg000:B7E2 shr al, 1 seg000:B7E4 movzx eax, al seg000:B7E8 mov ss:[di], eax seg000:B7EC mov dl, [si+2] seg000:B7EF cmp dl, 1 seg000:B7F2 jbe short loc_CB841 seg000:B7F4 dec dl seg000:B7F6 mov byte ptr ss:[di+4], 4 seg000:B7FB cmp dl, 1 seg000:B7FE jbe short loc_CB805 seg000:B800 mov byte ptr ss:[di+4], 0 seg000:B805 seg000:B805 loc_CB805: ; CODE XREF: sub_CB7D8+26j seg000:B805 push si seg000:B806 jmp short loc_CB83C seg000:B808 ; --------------------------------------------------------------------------- seg000:B808 seg000:B808 loc_CB808: ; CODE XREF: sub_CB7D8+66j seg000:B808 cmp dl, 10h seg000:B80B jb short loc_CB816 seg000:B80D mov byte ptr ss:[di+5], 0Fh seg000:B812 mov ch, 10h seg000:B814 jmp short loc_CB820 seg000:B816 ; --------------------------------------------------------------------------- seg000:B816 seg000:B816 loc_CB816: ; CODE XREF: sub_CB7D8+33j seg000:B816 mov ch, dl seg000:B818 dec dl seg000:B81A mov ss:[di+5], dl seg000:B81E xor dl, dl seg000:B820 seg000:B820 loc_CB820: ; CODE XREF: sub_CB7D8+3Cj seg000:B820 push di seg000:B821 seg000:B821 loc_CB821: ; CODE XREF: sub_CB7D8+56j seg000:B821 mov ah, [si+6] seg000:B824 mov ss:[di+6], ah seg000:B828 inc si seg000:B829 inc di seg000:B82A dec ch seg000:B82C or ch, ch seg000:B82E jnz short loc_CB821 seg000:B830 pop di seg000:B831 call sub_CBD82 seg000:B834 cmp dl, 10h seg000:B837 jb short loc_CB83C seg000:B839 sub dl, 10h seg000:B83C seg000:B83C loc_CB83C: ; CODE XREF: sub_CB7D8+2Ej seg000:B83C ; sub_CB7D8+5Fj seg000:B83C or dl, dl seg000:B83E jnz short loc_CB808 seg000:B840 pop si seg000:B841 seg000:B841 loc_CB841: ; CODE XREF: sub_CB7D8+1Aj seg000:B841 mov dx, [si+3] seg000:B844 jmp short loc_CB882 seg000:B846 ; --------------------------------------------------------------------------- seg000:B846 seg000:B846 loc_CB846: ; CODE XREF: sub_CB7D8+ACj seg000:B846 cmp dx, 10h seg000:B849 jb short loc_CB854 seg000:B84B mov byte ptr ss:[di+5], 0Fh seg000:B850 mov ch, 10h seg000:B852 jmp short loc_CB85E seg000:B854 ; --------------------------------------------------------------------------- seg000:B854 seg000:B854 loc_CB854: ; CODE XREF: sub_CB7D8+71j seg000:B854 mov ch, dl seg000:B856 dec dl seg000:B858 mov ss:[di+5], dl seg000:B85C xor dx, dx seg000:B85E seg000:B85E loc_CB85E: ; CODE XREF: sub_CB7D8+7Aj seg000:B85E mov byte ptr ss:[di+4], 1 seg000:B863 call sub_CBDCF seg000:B866 jb short loc_CB886 seg000:B868 push di seg000:B869 seg000:B869 loc_CB869: ; CODE XREF: sub_CB7D8+9Fj seg000:B869 mov al, ss:[di+16h] seg000:B86D mov es:[bp+0], al seg000:B871 inc di seg000:B872 inc bp seg000:B873 dec ch seg000:B875 or ch, ch seg000:B877 jnz short loc_CB869 seg000:B879 pop di seg000:B87A cmp dx, 10h seg000:B87D jb short loc_CB882 seg000:B87F sub dx, 10h seg000:B882 seg000:B882 loc_CB882: ; CODE XREF: sub_CB7D8+6Cj seg000:B882 ; sub_CB7D8+A5j seg000:B882 or dx, dx seg000:B884 jnz short loc_CB846 seg000:B886 seg000:B886 loc_CB886: ; CODE XREF: sub_CB7D8+8Ej seg000:B886 pop bp seg000:B887 pop di seg000:B888 pop dx seg000:B889 pop cx seg000:B88A pop bx seg000:B88B pop eax seg000:B88D retn seg000:B88D sub_CB7D8 endp seg000:B88D seg000:B88E seg000:B88E ; =============== S U B R O U T I N E ======================================= seg000:B88E seg000:B88E ; Attributes: bp-based frame seg000:B88E seg000:B88E sub_CB88E proc near ; CODE XREF: sub_CA92B:loc_CA93Fp seg000:B88E seg000:B88E var_2A = byte ptr -2Ah seg000:B88E seg000:B88E push bp seg000:B88F mov bp, sp seg000:B891 add sp, 0FFD6h seg000:B894 push bx seg000:B895 push di seg000:B896 cmp al, 0A0h ; 'á' seg000:B898 jnz short loc_CB8B9 seg000:B89A push ax seg000:B89B lea di, [bp+var_2A] seg000:B89E call sub_CBF6D seg000:B8A1 call sub_C2779 seg000:B8A4 mov bh, al seg000:B8A6 shl bh, 4 seg000:B8A9 pop ax seg000:B8AA call sub_CC907 seg000:B8AD jnz short loc_CB8B4 seg000:B8AF call sub_CB8C1 seg000:B8B2 jmp short loc_CB8BB seg000:B8B4 ; --------------------------------------------------------------------------- seg000:B8B4 seg000:B8B4 loc_CB8B4: ; CODE XREF: sub_CB88E+1Fj seg000:B8B4 call sub_CCB8B seg000:B8B7 jmp short loc_CB8BB seg000:B8B9 ; --------------------------------------------------------------------------- seg000:B8B9 seg000:B8B9 loc_CB8B9: ; CODE XREF: sub_CB88E+Aj seg000:B8B9 xor bh, bh seg000:B8BB seg000:B8BB loc_CB8BB: ; CODE XREF: sub_CB88E+24j seg000:B8BB ; sub_CB88E+29j seg000:B8BB pop di seg000:B8BC pop bx seg000:B8BD mov sp, bp seg000:B8BF pop bp seg000:B8C0 retn seg000:B8C0 sub_CB88E endp seg000:B8C0 seg000:B8C1 seg000:B8C1 ; =============== S U B R O U T I N E ======================================= seg000:B8C1 seg000:B8C1 seg000:B8C1 sub_CB8C1 proc near ; CODE XREF: sub_CB88E+21p seg000:B8C1 push eax seg000:B8C3 shr al, 1 seg000:B8C5 movzx eax, al seg000:B8C9 mov ss:[di], eax seg000:B8CD xor ah, ah seg000:B8CF call sub_CBE5E seg000:B8D2 jb short loc_CB8D7 seg000:B8D4 call sub_CBE4E seg000:B8D7 seg000:B8D7 loc_CB8D7: ; CODE XREF: sub_CB8C1+11j seg000:B8D7 jnb short loc_CB8DD seg000:B8D9 xor ah, ah seg000:B8DB jmp short loc_CB8E0 seg000:B8DD ; --------------------------------------------------------------------------- seg000:B8DD seg000:B8DD loc_CB8DD: ; CODE XREF: sub_CB8C1:loc_CB8D7j seg000:B8DD or ah, 1 seg000:B8E0 seg000:B8E0 loc_CB8E0: ; CODE XREF: sub_CB8C1+1Aj seg000:B8E0 pop eax seg000:B8E2 retn seg000:B8E2 sub_CB8C1 endp seg000:B8E2 seg000:B8E3 seg000:B8E3 ; =============== S U B R O U T I N E ======================================= seg000:B8E3 seg000:B8E3 ; Attributes: bp-based frame seg000:B8E3 seg000:B8E3 sub_CB8E3 proc near ; CODE XREF: sub_CAA18:loc_CAA22p seg000:B8E3 seg000:B8E3 var_2A = byte ptr -2Ah seg000:B8E3 seg000:B8E3 push bp seg000:B8E4 mov bp, sp seg000:B8E6 add sp, 0FFD6h seg000:B8E9 push eax seg000:B8EB push di seg000:B8EC lea di, [bp+var_2A] seg000:B8EF call sub_CBF6D seg000:B8F2 shr bl, 1 seg000:B8F4 movzx eax, bl seg000:B8F8 mov ss:[di], eax seg000:B8FC mov ah, bh seg000:B8FE call sub_CBE5E seg000:B901 jb short loc_CB906 seg000:B903 call sub_CBE4E seg000:B906 seg000:B906 loc_CB906: ; CODE XREF: sub_CB8E3+1Ej seg000:B906 mov bl, ah seg000:B908 pop di seg000:B909 pop eax seg000:B90B mov sp, bp seg000:B90D pop bp seg000:B90E retn seg000:B90E sub_CB8E3 endp seg000:B90E seg000:B90F ; --------------------------------------------------------------------------- seg000:B90F push eax seg000:B911 push si seg000:B912 push edi seg000:B914 mov al, ah seg000:B916 and ah, 1Fh seg000:B919 cmp ah, 2 seg000:B91C jnz short loc_CB922 seg000:B91E mov ah, 3 seg000:B920 jmp short loc_CB929 seg000:B922 ; --------------------------------------------------------------------------- seg000:B922 seg000:B922 loc_CB922: ; CODE XREF: seg000:B91Cj seg000:B922 cmp ah, 4 seg000:B925 jnz short loc_CB929 seg000:B927 mov ah, 0Fh seg000:B929 seg000:B929 loc_CB929: ; CODE XREF: seg000:B920j seg000:B929 ; seg000:B925j seg000:B929 movzx edi, ah seg000:B92D shl edi, 10h seg000:B931 test al, 80h seg000:B933 jz short loc_CB93C seg000:B935 or edi, 4000h seg000:B93C seg000:B93C loc_CB93C: ; CODE XREF: seg000:B933j seg000:B93C mov si, 0C10Ch seg000:B93F call sub_C33A6 seg000:B942 and eax, 0FFE0BFFFh seg000:B948 or eax, edi seg000:B94B call sub_C339D seg000:B94E pop edi seg000:B950 pop si seg000:B951 pop eax seg000:B953 retn seg000:B954 ; --------------------------------------------------------------------------- seg000:B954 seg000:B954 loc_CB954: ; CODE XREF: sub_CC149+4p seg000:B954 ; sub_CC1C6+5p seg000:B954 push bx seg000:B955 push cx seg000:B956 push edx seg000:B958 call sub_C24C7 seg000:B95B mov bx, ax seg000:B95D call sub_C0561 seg000:B960 sub al, 0Ch seg000:B962 shl word ptr [bx+di+60h], 14h seg000:B966 jnp short $+2 seg000:B968 seg000:B968 loc_CB968: ; CODE XREF: seg000:B966j seg000:B968 add [bx], bl seg000:B96A add [si], dl seg000:B96C jle short near ptr loc_CB97C+2 seg000:B96E adc al, 71h ; 'q' seg000:B970 mov ax, dx seg000:B972 cmp ax, 3 seg000:B975 jnz short loc_CB97C seg000:B977 mov ax, 2 seg000:B97A jmp short loc_CB984 seg000:B97C ; --------------------------------------------------------------------------- seg000:B97C seg000:B97C loc_CB97C: ; CODE XREF: seg000:B975j seg000:B97C ; seg000:B96Cj seg000:B97C cmp ax, 0Fh seg000:B97F jnz short loc_CB984 seg000:B981 mov ax, 4 seg000:B984 seg000:B984 loc_CB984: ; CODE XREF: seg000:B97Aj seg000:B984 ; seg000:B97Fj seg000:B984 pop edx seg000:B986 pop cx seg000:B987 pop bx seg000:B988 retn seg000:B989 ; --------------------------------------------------------------------------- seg000:B989 seg000:B989 loc_CB989: ; CODE XREF: sub_CC149+12p seg000:B989 push bx seg000:B98A push ecx seg000:B98C call sub_C24C7 seg000:B98F mov bx, ax seg000:B991 call sub_C0561 seg000:B994 sub al, 0Ch seg000:B996 shl word ptr [bx+di+60h], 18h seg000:B99A jnp short $+2 seg000:B99C seg000:B99C loc_CB99C: ; CODE XREF: seg000:B99Aj seg000:B99C inc ax seg000:B99C ; --------------------------------------------------------------------------- seg000:B99D db 2 dup(0), 18h, 7Eh, 0Eh, 18h, 71h, 8Ah, 0C1h, 66h, 59h seg000:B99D db 5Bh, 0C3h, 50h, 53h, 66h, 57h, 80h, 0FCh, 6, 75h, 4 seg000:B99D db 0B4h, 6, 0EBh, 0Bh, 80h, 0FCh, 0Ah, 75h, 4, 0B4h, 0Ah seg000:B99D db 0EBh, 2, 0B4h, 14h, 66h, 0Fh, 0B6h, 0FCh, 66h, 0C1h seg000:B99D db 0E7h, 12h, 0E8h, 0F1h, 6Ah, 8Bh, 0D8h, 0E8h, 7Ah, 4Bh seg000:B99D db 20h, 0, 23h, 61h, 40h, 2 dup(0FFh), 83h, 0FFh, 0, 71h seg000:B99D db 66h, 5Fh, 5Bh, 58h, 0C3h seg000:B9E2 ; --------------------------------------------------------------------------- seg000:B9E2 seg000:B9E2 loc_CB9E2: ; CODE XREF: sub_CC149+7p seg000:B9E2 ; sub_CC1C6+8p seg000:B9E2 push eax seg000:B9E4 push bx seg000:B9E5 call sub_C24BE seg000:B9E8 mov bx, ax seg000:B9EA call sub_C054C seg000:B9ED sub al, 0 seg000:B9EF and sp, [bx+di+40h] seg000:B9F2 sbb al, 7Bh ; '{' seg000:B9F2 ; --------------------------------------------------------------------------- seg000:B9F4 db 2 dup(0), 7Ch, 0, 1Ch, 7Eh, 12h, 1Ch, 71h, 83h, 0F8h seg000:B9F4 db 6, 75h, 5, 0B9h, 0A2h, 0, 0EBh, 0Dh, 83h, 0F8h, 0Ah seg000:B9F4 db 75h, 5, 0B9h, 0Eh, 1, 0EBh, 3, 0B9h, 1Ch, 2, 5Bh, 66h seg000:B9F4 db 58h, 0C3h, 66h, 50h, 53h, 51h, 66h, 57h, 66h, 0Fh, 0B6h seg000:B9F4 db 0C4h, 66h, 8Bh, 0F8h, 0B9h, 3, 0, 66h, 0C1h, 0E7h, 8 seg000:B9F4 db 66h, 0Bh, 0F8h, 0E2h, 0F7h, 0E8h, 8Ah, 6Ah, 8Bh, 0D8h seg000:B9F4 db 0E8h, 13h, 4Bh, 20h, 10h, 0C1h, 61h, 40h, 4 dup(0F0h) seg000:B9F4 db 0, 71h, 66h, 5Fh, 59h, 5Bh, 66h, 58h, 0C3h, 66h, 36h seg000:B9F4 db 0C7h, 44h, 3, 4 dup(0), 36h, 0C7h, 44h, 7, 2 dup(0) seg000:B9F4 db 0E8h, 62h, 1, 0E8h, 0F0h, 1, 0C3h, 66h, 50h, 66h, 36h seg000:B9F4 db 0C7h, 5, 3, 1, 2 dup(0), 66h, 36h, 8Bh, 44h, 3, 66h seg000:B9F4 db 36h, 89h, 45h, 6, 36h, 8Ah, 4, 0FEh, 0C8h, 36h, 88h seg000:B9F4 db 45h, 5, 36h, 0C6h, 45h, 4, 8, 0E8h, 0FCh, 2, 36h, 80h seg000:B9F4 db 7Ch, 16h, 12h, 72h, 1Eh, 0D0h, 0E8h, 36h, 88h, 45h seg000:B9F4 db 5, 66h, 36h, 0C7h, 5, 0Fh, 1, 2 dup(0), 36h, 8Bh, 44h seg000:B9F4 db 7, 36h, 89h, 45h, 6, 36h, 0C6h, 45h, 4, 8, 0E8h, 0D7h seg000:B9F4 db 2, 66h, 58h, 0C3h, 60h, 66h, 36h, 0C7h, 5, 6, 2, 2 dup(0) seg000:B9F4 db 36h, 0C6h, 45h, 5, 1, 36h, 0C6h, 45h, 4, 9, 0E8h, 0Bh seg000:B9F4 db 3, 8Bh, 0D0h, 36h, 80h, 7Ch, 1, 14h, 75h, 0Bh, 66h seg000:B9F4 db 36h, 0C7h, 5, 0Ch, 2, 2 dup(0), 0E8h, 54h, 3, 32h, 0EDh seg000:B9F4 db 33h, 0DBh, 50h, 52h, 83h, 0FBh, 2, 73h, 4, 8Ah, 0F2h seg000:B9F4 db 0EBh, 2, 8Ah, 0D6h, 0F7h, 0C3h, 1, 0, 74h, 3, 0C0h seg000:B9F4 db 0EAh, 4, 80h, 0E2h, 3, 80h, 0FAh, 3, 75h, 5, 80h, 0CAh seg000:B9F4 db 4, 0EBh, 3, 80h, 0E2h, 0FBh, 0F7h, 0C3h, 1, 0, 74h seg000:B9F4 db 5, 0C0h, 0EEh, 6, 0EBh, 3, 0C0h, 0EEh, 2, 80h, 0E6h seg000:B9F4 db 3, 80h, 0FEh, 3, 75h, 5, 80h, 0CEh, 20h, 0EBh, 3, 80h seg000:B9F4 db 0E6h, 0DFh, 0C0h, 0E6h, 3, 36h, 8Ah, 48h, 3, 80h, 0E1h seg000:B9F4 db 3, 38h, 0CAh, 74h, 2, 0B5h, 1, 0Ah, 0D6h, 36h, 88h seg000:B9F4 db 50h, 3, 8Ah, 0CBh, 0D0h, 0E1h, 0D2h, 0E8h, 24h, 3, 36h seg000:B9F4 db 80h, 7Ch, 1, 14h, 75h, 23h, 53h, 8Bh, 0FBh, 0D1h, 0E3h seg000:B9F4 db 36h, 8Ah, 60h, 11h, 0F7h, 0C7h, 1, 0, 74h, 8, 80h, 0E4h seg000:B9F4 db 30h, 0C0h, 0E8h, 4, 0EBh, 3, 80h, 0E4h, 3, 0Ah, 0E0h seg000:B9F4 db 36h, 88h, 60h, 11h, 5Bh, 0EBh, 6, 36h, 0C7h, 40h, 11h seg000:B9F4 db 2 dup(0), 43h, 5Ah, 58h, 36h, 3Ah, 1Ch, 0Fh, 85h, 64h seg000:B9F4 db 0FFh, 0Ah, 0EDh, 61h, 0C3h, 0E8h, 2Fh, 0FFh, 9Ch, 0E8h seg000:B9F4 db 3Ch, 0, 0E8h, 0DBh, 0FEh, 0E8h, 0C7h, 0, 9Dh, 0C3h seg000:B9F4 db 66h, 50h, 53h, 51h, 66h, 36h, 0C7h, 5, 3, 1, 2 dup(0) seg000:B9F4 db 36h, 0C6h, 45h, 5, 3, 36h, 0C6h, 45h, 4, 9, 0E8h, 2Bh seg000:B9F4 db 2, 32h, 0EDh, 33h, 0DBh, 0A8h, 4, 75h, 2, 0B5h, 1, 43h seg000:B9F4 db 66h, 0C1h, 0E8h, 8, 36h, 3Ah, 1Ch, 75h, 0F0h, 0Ah, 0EDh seg000:B9F4 db 59h, 5Bh, 66h, 58h, 0C3h, 60h, 8Bh, 0FEh, 0E8h, 0A6h seg000:B9F4 db 89h, 2Eh, 8Ah, 4Ch, 11h, 0B0h, 0A0h, 0F6h, 0E1h, 0BEh seg000:B9F4 db 33h, 61h, 3, 0F0h, 33h, 0DBh, 36h, 8Ah, 45h, 7, 83h seg000:B9F4 db 0FBh, 2, 72h, 4, 36h, 8Ah, 45h, 8, 0F7h, 0C3h, 1, 0 seg000:B9F4 db 74h, 3, 0C0h, 0E8h, 4, 24h, 3, 0B1h, 0Ah, 0F6h, 0E1h seg000:B9F4 db 36h, 8Ah, 51h, 3, 8Ah, 0F2h, 80h, 0E2h, 3, 80h, 0E6h seg000:B9F4 db 18h, 0C0h, 0EEh, 3, 80h, 0FAh, 1 seg000:BC02 db 75h, 3 dup(4), 0EBh, 10h, 80h, 0FAh, 2, 75h, 2 dup(4) seg000:BC02 db 7, 0EBh, 7, 80h, 0FAh, 3, 75h, 2, 4, 9, 2, 0C6h, 0B6h seg000:BC02 db 4, 0F6h, 0E6h, 53h, 8Bh, 0D8h, 2Eh, 8Ah, 40h, 3, 36h seg000:BC02 db 88h, 45h, 15h, 2Eh, 8Ah, 40h, 1, 2Eh, 8Ah, 60h, 2, 2Eh seg000:BC02 db 8Ah, 10h, 5Bh, 53h, 2Eh, 8Ah, 9Fh, 7Eh, 0B4h, 36h, 88h seg000:BC02 db 41h, 9, 36h, 88h, 61h, 0Dh, 36h, 88h, 51h, 11h, 5Bh seg000:BC02 db 43h, 36h, 3Ah, 1Dh, 75h, 86h, 61h, 0C3h, 66h, 60h, 8Bh seg000:BC02 db 0FEh, 0E8h, 70h, 68h, 8Bh, 0D8h, 66h, 36h, 8Bh, 75h seg000:BC02 db 9, 66h, 36h, 8Bh, 45h, 0Dh, 66h, 36h, 8Bh, 55h, 11h seg000:BC02 db 0E8h, 0F6h, 48h, 21h, 18h, 0C1h, 61h, 60h, 4, 21h, 20h seg000:BC02 db 0C1h, 61h, 60h, 1Ch, 21h, 3Ch, 0C1h, 61h, 60h, 14h seg000:BC02 db 5Bh, 3Bh, 63h, 71h, 0E8h, 0DDh, 48h, 2Ch, 30h, 0C1h seg000:BC02 db 61h, 60h, 1Ch, 71h, 66h, 25h, 0FFh, 0, 2 dup(0FFh) seg000:BC02 db 66h, 36h, 0Fh, 0B6h, 55h, 15h, 66h, 0C1h, 0E2h, 8, 66h seg000:BC02 db 0Bh, 0C2h, 0E8h, 0C0h, 48h, 21h, 30h, 0C1h, 61h, 60h seg000:BC02 db 1Ch, 71h, 66h, 61h, 0C3h seg000:BCAB seg000:BCAB ; =============== S U B R O U T I N E ======================================= seg000:BCAB seg000:BCAB seg000:BCAB sub_CBCAB proc near ; CODE XREF: sub_CBD82+6p seg000:BCAB ; sub_CBDCF+4p seg000:BCAB push eax seg000:BCAD push cx seg000:BCAE push edx seg000:BCB0 mov esi, 0E4E4h seg000:BCB6 add esi, ss:[di+26h] seg000:BCBB mov dx, 3E8h seg000:BCBE seg000:BCBE loc_CBCBE: ; CODE XREF: sub_CBCAB+2Aj seg000:BCBE call sub_C475C seg000:BCC1 and eax, 3010000h seg000:BCC7 mov cx, 1 seg000:BCCA call sub_C3462 seg000:BCCD dec dx seg000:BCCE or eax, eax seg000:BCD1 jz short loc_CBCD7 seg000:BCD3 or dx, dx seg000:BCD5 jnz short loc_CBCBE seg000:BCD7 seg000:BCD7 loc_CBCD7: ; CODE XREF: sub_CBCAB+26j seg000:BCD7 call sub_C475C seg000:BCDA and eax, 0FFCFFFFFh seg000:BCE0 or eax, 200000h seg000:BCE6 call sub_C4741 seg000:BCE9 mov dx, 3E8h seg000:BCEC seg000:BCEC loc_CBCEC: ; CODE XREF: sub_CBCAB+5Bj seg000:BCEC call sub_C475C seg000:BCEF and eax, 3000000h seg000:BCF5 mov cx, 1 seg000:BCF8 call sub_C3462 seg000:BCFB dec dx seg000:BCFC cmp eax, 2000000h seg000:BD02 jz short loc_CBD08 seg000:BD04 or dx, dx seg000:BD06 jnz short loc_CBCEC seg000:BD08 seg000:BD08 loc_CBD08: ; CODE XREF: sub_CBCAB+57j seg000:BD08 mov esi, 0E4F4h seg000:BD0E add esi, ss:[di+26h] seg000:BD13 call sub_C475C seg000:BD16 and eax, 0FFFF0000h seg000:BD1C shr eax, 10h seg000:BD20 inc eax seg000:BD22 mov edx, eax seg000:BD25 mov esi, 0E4F8h seg000:BD2B add esi, ss:[di+26h] seg000:BD30 call sub_C475C seg000:BD33 mov ebx, eax seg000:BD36 and eax, 0FFFF0000h seg000:BD3C or eax, edx seg000:BD3F mov esi, 0E4F8h seg000:BD45 add esi, ss:[di+26h] seg000:BD4A call sub_C4741 seg000:BD4D pop edx seg000:BD4F pop cx seg000:BD50 pop eax seg000:BD52 retn seg000:BD52 sub_CBCAB endp seg000:BD52 seg000:BD53 seg000:BD53 ; =============== S U B R O U T I N E ======================================= seg000:BD53 seg000:BD53 seg000:BD53 sub_CBD53 proc near ; CODE XREF: sub_CBD82+43p seg000:BD53 ; sub_CBDCF:loc_CBE12p seg000:BD53 pushf seg000:BD54 push eax seg000:BD56 mov esi, 0E4E4h seg000:BD5C add esi, ss:[di+26h] seg000:BD61 call sub_C475C seg000:BD64 and eax, 0FFCFFFFFh seg000:BD6A call sub_C4741 seg000:BD6D mov eax, ebx seg000:BD70 mov esi, 0E4F8h seg000:BD76 add esi, ss:[di+26h] seg000:BD7B call sub_C4741 seg000:BD7E pop eax seg000:BD80 popf seg000:BD81 retn seg000:BD81 sub_CBD53 endp seg000:BD81 seg000:BD82 seg000:BD82 ; =============== S U B R O U T I N E ======================================= seg000:BD82 seg000:BD82 seg000:BD82 sub_CBD82 proc near ; CODE XREF: sub_CB7D8+59p seg000:BD82 ; sub_CBE1A+Ep ... seg000:BD82 push eax seg000:BD84 push ebx seg000:BD86 push esi seg000:BD88 call sub_CBCAB seg000:BD8B mov esi, 0E4C0h seg000:BD91 add esi, ss:[di+26h] seg000:BD96 mov eax, ss:[di+6] seg000:BD9B call sub_C4741 seg000:BD9E add esi, 4 seg000:BDA2 mov eax, ss:[di+0Ah] seg000:BDA7 call sub_C4741 seg000:BDAA add esi, 4 seg000:BDAE mov eax, ss:[di+0Eh] seg000:BDB3 call sub_C4741 seg000:BDB6 add esi, 4 seg000:BDBA mov eax, ss:[di+12h] seg000:BDBF call sub_C4741 seg000:BDC2 call sub_CBE70 seg000:BDC5 call sub_CBD53 seg000:BDC8 pop esi seg000:BDCA pop ebx seg000:BDCC pop eax seg000:BDCE retn seg000:BDCE sub_CBD82 endp seg000:BDCE seg000:BDCF seg000:BDCF ; =============== S U B R O U T I N E ======================================= seg000:BDCF seg000:BDCF seg000:BDCF sub_CBDCF proc near ; CODE XREF: sub_CB7D8+8Bp seg000:BDCF ; sub_CBE2C+Ap ... seg000:BDCF push esi seg000:BDD1 push ebx seg000:BDD3 call sub_CBCAB seg000:BDD6 call sub_CBE70 seg000:BDD9 jb short loc_CBE12 seg000:BDDB mov esi, 0E4DCh seg000:BDE1 add esi, ss:[di+26h] seg000:BDE6 call sub_C475C seg000:BDE9 mov ss:[di+22h], eax seg000:BDEE sub esi, 4 seg000:BDF2 call sub_C475C seg000:BDF5 mov ss:[di+1Eh], eax seg000:BDFA sub esi, 4 seg000:BDFE call sub_C475C seg000:BE01 mov ss:[di+1Ah], eax seg000:BE06 sub esi, 4 seg000:BE0A call sub_C475C seg000:BE0D mov ss:[di+16h], eax seg000:BE12 seg000:BE12 loc_CBE12: ; CODE XREF: sub_CBDCF+Aj seg000:BE12 call sub_CBD53 seg000:BE15 pop ebx seg000:BE17 pop esi seg000:BE19 retn seg000:BE19 sub_CBDCF endp seg000:BE19 seg000:BE1A seg000:BE1A ; =============== S U B R O U T I N E ======================================= seg000:BE1A seg000:BE1A seg000:BE1A sub_CBE1A proc near ; CODE XREF: sub_C87FE+13p seg000:BE1A ; sub_CC4AA+12p seg000:BE1A mov byte ptr ss:[di+5], 0 seg000:BE1F mov ss:[di+6], ah seg000:BE23 mov byte ptr ss:[di+4], 8 seg000:BE28 call sub_CBD82 seg000:BE2B retn seg000:BE2B sub_CBE1A endp seg000:BE2B seg000:BE2C seg000:BE2C ; =============== S U B R O U T I N E ======================================= seg000:BE2C seg000:BE2C seg000:BE2C sub_CBE2C proc near ; CODE XREF: sub_C87DC+11p seg000:BE2C ; sub_CC455:loc_CC463p ... seg000:BE2C mov byte ptr ss:[di+5], 0 seg000:BE31 mov byte ptr ss:[di+4], 9 seg000:BE36 call sub_CBDCF seg000:BE39 xchg ah, al seg000:BE3B retn seg000:BE3B sub_CBE2C endp seg000:BE3B seg000:BE3C ; --------------------------------------------------------------------------- seg000:BE3C mov byte ptr ss:[di+5], 0 seg000:BE41 mov ss:[di+6], ah seg000:BE45 mov byte ptr ss:[di+4], 0 seg000:BE4A call sub_CBD82 seg000:BE4D retn seg000:BE4E seg000:BE4E ; =============== S U B R O U T I N E ======================================= seg000:BE4E seg000:BE4E seg000:BE4E sub_CBE4E proc near ; CODE XREF: sub_CB8C1+13p seg000:BE4E ; sub_CB8E3+20p seg000:BE4E mov byte ptr ss:[di+5], 0 seg000:BE53 mov byte ptr ss:[di+4], 1 seg000:BE58 call sub_CBDCF seg000:BE5B xchg ah, al seg000:BE5D retn seg000:BE5D sub_CBE4E endp seg000:BE5D seg000:BE5E seg000:BE5E ; =============== S U B R O U T I N E ======================================= seg000:BE5E seg000:BE5E seg000:BE5E sub_CBE5E proc near ; CODE XREF: sub_CB8C1+Ep seg000:BE5E ; sub_CB8E3+1Bp seg000:BE5E mov byte ptr ss:[di+5], 0 seg000:BE63 mov ss:[di+6], ah seg000:BE67 mov byte ptr ss:[di+4], 4 seg000:BE6C call sub_CBD82 seg000:BE6F retn seg000:BE6F sub_CBE5E endp seg000:BE6F seg000:BE70 seg000:BE70 ; =============== S U B R O U T I N E ======================================= seg000:BE70 seg000:BE70 seg000:BE70 sub_CBE70 proc near ; CODE XREF: sub_CBD82+40p seg000:BE70 ; sub_CBDCF+7p seg000:BE70 push ebx seg000:BE72 push cx seg000:BE73 push dx seg000:BE74 mov esi, 0E4E0h seg000:BE7A add esi, ss:[di+26h] seg000:BE7F mov eax, ss:[di] seg000:BE83 call sub_C4741 seg000:BE86 mov esi, 0E4E4h seg000:BE8C add esi, ss:[di+26h] seg000:BE91 call sub_C475C seg000:BE94 and eax, 0FFFF0F00h seg000:BE9A movzx ebx, byte ptr ss:[di+4] seg000:BEA0 shl ebx, 0Ch seg000:BEA4 or eax, ebx seg000:BEA7 movzx ebx, byte ptr ss:[di+5] seg000:BEAD shl ebx, 0 seg000:BEB1 or eax, ebx seg000:BEB4 or eax, 10000h seg000:BEBA mov dx, 1Eh seg000:BEBD seg000:BEBD loc_CBEBD: ; CODE XREF: sub_CBE70+A8j seg000:BEBD call sub_C4741 seg000:BEC0 push eax seg000:BEC2 mov bx, 3E8h seg000:BEC5 seg000:BEC5 loc_CBEC5: ; CODE XREF: sub_CBE70+6Cj seg000:BEC5 call sub_C475C seg000:BEC8 and eax, 10000h seg000:BECE dec bx seg000:BECF mov cx, 1 seg000:BED2 call sub_C3462 seg000:BED5 or bx, bx seg000:BED7 jz short loc_CBEDE seg000:BED9 or eax, eax seg000:BEDC jnz short loc_CBEC5 seg000:BEDE seg000:BEDE loc_CBEDE: ; CODE XREF: sub_CBE70+67j seg000:BEDE call sub_CBF47 seg000:BEE1 pop eax seg000:BEE3 jb short loc_CBEE8 seg000:BEE5 cmp bx, 1 seg000:BEE8 seg000:BEE8 loc_CBEE8: ; CODE XREF: sub_CBE70+73j seg000:BEE8 jnb short loc_CBF1A seg000:BEEA push eax seg000:BEEC call sub_C475C seg000:BEEF or eax, 80000000h seg000:BEF5 and eax, 0FFFEFFFFh seg000:BEFB call sub_C4741 seg000:BEFE mov cx, 1 seg000:BF01 call sub_C3462 seg000:BF04 and eax, 7FFFFFFFh seg000:BF0A call sub_C4741 seg000:BF0D pop eax seg000:BF0F mov cx, 32h ; '2' seg000:BF12 call sub_C3462 seg000:BF15 dec dx seg000:BF16 or dx, dx seg000:BF18 jnz short loc_CBEBD seg000:BF1A seg000:BF1A loc_CBF1A: ; CODE XREF: sub_CBE70:loc_CBEE8j seg000:BF1A or dx, dx seg000:BF1C jnz short loc_CBF41 seg000:BF1E mov esi, 0E4E4h seg000:BF24 add esi, ss:[di+26h] seg000:BF29 call sub_C475C seg000:BF2C or eax, 80000000h seg000:BF32 call sub_C4741 seg000:BF35 and eax, 7FFFFFFFh seg000:BF3B call sub_C4741 seg000:BF3E stc seg000:BF3F jmp short loc_CBF42 seg000:BF41 ; --------------------------------------------------------------------------- seg000:BF41 seg000:BF41 loc_CBF41: ; CODE XREF: sub_CBE70+ACj seg000:BF41 clc seg000:BF42 seg000:BF42 loc_CBF42: ; CODE XREF: sub_CBE70+CFj seg000:BF42 pop dx seg000:BF43 pop cx seg000:BF44 pop ebx seg000:BF46 retn seg000:BF46 sub_CBE70 endp seg000:BF46 seg000:BF47 seg000:BF47 ; =============== S U B R O U T I N E ======================================= seg000:BF47 seg000:BF47 seg000:BF47 sub_CBF47 proc near ; CODE XREF: sub_CBE70:loc_CBEDEp seg000:BF47 push eax seg000:BF49 push esi seg000:BF4B mov esi, 0E4E8h seg000:BF51 add esi, ss:[di+26h] seg000:BF56 call sub_C475C seg000:BF59 call sub_C4741 seg000:BF5C and eax, 0F0700h seg000:BF62 jz short loc_CBF67 seg000:BF64 stc seg000:BF65 jmp short loc_CBF68 seg000:BF67 ; --------------------------------------------------------------------------- seg000:BF67 seg000:BF67 loc_CBF67: ; CODE XREF: sub_CBF47+1Bj seg000:BF67 clc seg000:BF68 seg000:BF68 loc_CBF68: ; CODE XREF: sub_CBF47+1Ej seg000:BF68 pop esi seg000:BF6A pop eax seg000:BF6C retn seg000:BF6C sub_CBF47 endp seg000:BF6C seg000:BF6D seg000:BF6D ; =============== S U B R O U T I N E ======================================= seg000:BF6D seg000:BF6D seg000:BF6D sub_CBF6D proc near ; CODE XREF: sub_C87DC+Ap seg000:BF6D ; sub_C87FE+Ap ... seg000:BF6D push cx seg000:BF6E push si seg000:BF6F push eax seg000:BF71 call sub_C42BA seg000:BF74 mov si, 5335h seg000:BF77 mov al, cl seg000:BF79 mov cl, 4 seg000:BF7B mul cl seg000:BF7D add si, ax seg000:BF7F xor eax, eax seg000:BF82 mov al, cs:[si] seg000:BF85 mov cl, 50h ; 'P' seg000:BF87 mul cl seg000:BF89 mov ss:[di+26h], eax seg000:BF8E pop eax seg000:BF90 pop si seg000:BF91 pop cx seg000:BF92 retn seg000:BF92 sub_CBF6D endp seg000:BF92 seg000:BF92 ; --------------------------------------------------------------------------- seg000:BF93 db 50h ; P seg000:BF94 db 53h, 66h, 57h, 66h, 0BFh, 40h, 1, 2 dup(0), 36h, 8Ah seg000:BF94 db 44h, 11h, 0A8h, 4, 75h, 6, 66h, 0BFh, 80h, 3 dup(0) seg000:BF94 db 0E8h, 10h, 65h, 8Ah, 0FCh, 32h, 0DBh, 0E8h, 97h, 45h seg000:BF94 db 20h, 0Ch, 64h, 61h, 80h, 3Fh, 0FCh, 2 dup(0FFh), 0 seg000:BF94 db 71h, 66h, 5Fh, 5Bh, 58h, 0C3h, 55h, 8Bh, 0ECh, 83h seg000:BF94 db 0C4h, 0F4h, 66h, 60h, 66h, 0BEh, 18h, 3 dup(0), 0F6h seg000:BF94 db 0C2h, 2, 75h, 6, 66h, 0BEh, 12h, 3 dup(0), 66h, 0C7h seg000:BF94 db 46h, 0F8h, 0A0h, 86h, 1, 0, 66h, 0Fh, 0B7h, 0C9h, 66h seg000:BF94 db 8Bh, 46h, 0F8h, 66h, 0F7h, 0E1h, 66h, 0B9h, 64h, 3 dup(0) seg000:BF94 db 66h, 0F7h, 0F1h, 66h, 0F7h, 0E6h, 66h, 0C1h, 0E8h, 3 seg000:BF94 db 66h, 33h, 0C9h, 0E8h, 0DBh, 0F9h, 66h, 0F7h, 0F1h, 66h seg000:BF94 db 33h, 0D2h, 50h, 0E8h, 43h, 0F9h, 66h, 0Fh, 0B7h, 0C8h seg000:BF94 db 58h, 66h, 0F7h, 0F1h, 66h, 89h, 46h, 0FCh, 66h, 8Bh seg000:BF94 db 46h, 0F8h, 66h, 2Bh, 46h, 0FCh, 66h, 0B9h, 40h, 3 dup(0) seg000:BF94 db 66h, 0F7h, 0E1h, 66h, 0F7h, 66h, 0FCh, 66h, 0F7h, 76h seg000:BF94 db 0F8h, 66h, 89h, 46h, 0F4h, 66h, 8Bh, 0C6h, 66h, 0F7h seg000:BF94 db 66h, 0F8h, 66h, 0C1h, 0E8h, 2, 50h, 0E8h, 0Bh, 0F9h seg000:BF94 db 66h, 0Fh, 0B7h, 0C8h, 58h, 66h, 0F7h, 0F1h, 66h, 3 seg000:BF94 db 46h, 0F8h, 66h, 3, 46h, 0F8h, 66h, 3, 46h, 0F4h, 66h seg000:BF94 db 33h, 0D2h, 66h, 0F7h, 76h, 0F8h, 66h, 8Bh, 0D0h, 66h seg000:BF94 db 83h, 0FAh, 14h, 73h, 6, 66h, 0BAh, 14h, 3 dup(0), 66h seg000:BF94 db 81h, 0CAh, 3 dup(0), 8, 0E8h, 4Ah, 64h, 8Bh, 0D8h, 0E8h seg000:BF94 db 0DFh, 44h, 20h, 10h, 66h, 61h, 80h, 3Fh, 3 dup(0), 14h seg000:BF94 db 71h, 66h, 61h, 8Bh, 0E5h, 5Dh, 0C3h, 51h, 0E8h, 1Dh seg000:BF94 db 5Fh, 0E8h, 0D9h, 0A1h, 59h, 0C3h, 55h, 8Bh, 0ECh, 83h seg000:BF94 db 0C4h, 0D6h, 66h, 60h, 57h, 8Dh, 7Eh, 0D6h, 0E8h, 9 seg000:BF94 db 5Fh, 0E8h, 0BFh, 0FEh, 66h, 36h, 0C7h, 5, 4 dup(0) seg000:BF94 db 0E8h, 73h, 0FDh, 0F5h, 5Fh, 66h, 61h, 8Bh, 0E5h, 5Dh seg000:BF94 db 0C3h seg000:C0C1 seg000:C0C1 ; =============== S U B R O U T I N E ======================================= seg000:C0C1 seg000:C0C1 seg000:C0C1 sub_CC0C1 proc near ; CODE XREF: seg000:A1D8p seg000:C0C1 ; sub_CA701+Ep ... seg000:C0C1 push eax seg000:C0C3 call sub_C2338 seg000:C0C6 cmp al, 6 seg000:C0C8 jnz short loc_CC0D5 seg000:C0CA call sub_C204C seg000:C0CD shr eax, 0 seg000:C0D1 and al, 0FFh seg000:C0D3 cmp al, 47h ; 'G' seg000:C0D5 seg000:C0D5 loc_CC0D5: ; CODE XREF: sub_CC0C1+7j seg000:C0D5 pop eax seg000:C0D7 retn seg000:C0D7 sub_CC0C1 endp seg000:C0D7 seg000:C0D7 ; --------------------------------------------------------------------------- seg000:C0D8 db 0, 50h, 51h, 0B0h, 1, 0E8h, 0EEh, 55h, 0Ah, 0E4h, 75h seg000:C0D8 db 9, 0B4h, 1, 0E8h, 0Ah, 56h, 0B1h, 0C8h, 0EBh, 0Ah, 2Eh seg000:C0D8 db 80h, 3Eh, 0D8h, 0C0h, 0, 75h, 2, 0B1h, 0C8h, 0E8h, 3 seg000:C0D8 db 0, 59h, 58h, 0C3h, 50h, 0E8h, 0B2h, 63h, 0E8h, 67h seg000:C0D8 db 5Fh, 2Eh, 0F6h, 6, 4Ah, 0, 20h, 75h, 1Fh, 3Ch, 0FFh seg000:C0D8 db 74h, 1Bh, 0C0h, 0E9h, 2, 0E8h, 0B8h, 55h, 80h, 0FCh seg000:C0D8 db 1, 74h, 15h, 51h, 0B9h, 4, 0, 0E8h, 56h, 73h, 59h, 0FEh seg000:C0D8 db 0C9h, 0Ah, 0C9h, 75h, 0EAh, 0EBh, 5, 32h, 0EDh, 0E8h seg000:C0D8 db 48h, 73h, 2Eh, 0C6h, 6, 0D8h, 0C0h, 1, 58h, 0C3h, 50h seg000:C0D8 db 51h, 0B8h, 1, 0, 0E8h, 0B3h, 55h, 0B9h, 0F4h, 1, 0E8h seg000:C0D8 db 32h, 73h, 59h, 58h, 0C3h seg000:C149 seg000:C149 ; =============== S U B R O U T I N E ======================================= seg000:C149 seg000:C149 seg000:C149 sub_CC149 proc near ; CODE XREF: seg000:A14Fp seg000:C149 pusha seg000:C14A call sub_C4843 seg000:C14D call loc_CB954 seg000:C150 call loc_CB9E2 seg000:C153 mov si, cx seg000:C155 mul cx seg000:C157 shl ax, 3 seg000:C15A push ax seg000:C15B call loc_CB989 seg000:C15E mov ch, al seg000:C160 pop ax seg000:C161 call sub_C48B5 seg000:C164 mov bl, ss:[di+11h] seg000:C168 test bl, 4 seg000:C16B jnz short loc_CC172 seg000:C16D mov bx, 12h seg000:C170 jmp short loc_CC175 seg000:C172 ; --------------------------------------------------------------------------- seg000:C172 seg000:C172 loc_CC172: ; CODE XREF: sub_CC149+22j seg000:C172 mov bx, 18h seg000:C175 seg000:C175 loc_CC175: ; CODE XREF: sub_CC149+27j seg000:C175 div bx seg000:C177 mov bx, ax seg000:C179 push bx seg000:C17A mov ax, ss:[di+16h] seg000:C17E xor dx, dx seg000:C180 mov bx, 64h ; 'd' seg000:C183 div bx seg000:C185 mov dx, ax seg000:C187 pop bx seg000:C188 cmp ax, bx seg000:C18A jnb short loc_CC1C4 seg000:C18C xor ax, ax seg000:C18E or ch, ch seg000:C190 jz short loc_CC195 seg000:C192 mov ax, 3 seg000:C195 seg000:C195 loc_CC195: ; CODE XREF: sub_CC149+47j seg000:C195 cmp cl, 4 seg000:C198 jnz short loc_CC19F seg000:C19A add ax, 5 seg000:C19D jmp short loc_CC1AC seg000:C19F ; --------------------------------------------------------------------------- seg000:C19F seg000:C19F loc_CC19F: ; CODE XREF: sub_CC149+4Fj seg000:C19F cmp cl, 2 seg000:C1A2 jnz short loc_CC1A9 seg000:C1A4 add ax, 8 seg000:C1A7 jmp short loc_CC1AC seg000:C1A9 ; --------------------------------------------------------------------------- seg000:C1A9 seg000:C1A9 loc_CC1A9: ; CODE XREF: sub_CC149+59j seg000:C1A9 add ax, 0Eh seg000:C1AC seg000:C1AC loc_CC1AC: ; CODE XREF: sub_CC149+54j seg000:C1AC ; sub_CC149+5Ej seg000:C1AC mul dx seg000:C1AE push ax seg000:C1AF mov ax, dx seg000:C1B1 shl eax, 10h seg000:C1B5 pop ax seg000:C1B6 div si seg000:C1B8 add ax, 4 seg000:C1BB mov cx, ss:[di+2] seg000:C1BF sub cx, ss:[di] seg000:C1C2 cmp ax, cx seg000:C1C4 seg000:C1C4 loc_CC1C4: ; CODE XREF: sub_CC149+41j seg000:C1C4 popa seg000:C1C5 retn seg000:C1C5 sub_CC149 endp seg000:C1C5 seg000:C1C6 seg000:C1C6 ; =============== S U B R O U T I N E ======================================= seg000:C1C6 seg000:C1C6 seg000:C1C6 sub_CC1C6 proc near ; CODE XREF: sub_CCA80+2p seg000:C1C6 ; sub_CCA8F+27p seg000:C1C6 push ax seg000:C1C7 push dx seg000:C1C8 call sub_C4843 seg000:C1CB call loc_CB954 seg000:C1CE call loc_CB9E2 seg000:C1D1 mul cx seg000:C1D3 mov cx, ax seg000:C1D5 call sub_C48B5 seg000:C1D8 pop dx seg000:C1D9 pop ax seg000:C1DA retn seg000:C1DA sub_CC1C6 endp seg000:C1DA seg000:C1DB ; --------------------------------------------------------------------------- seg000:C1DB seg000:C1DB loc_CC1DB: ; CODE XREF: seg000:C7F5p seg000:C1DB ; seg000:C837p seg000:C1DB push ax seg000:C1DC push bx seg000:C1DD push cx seg000:C1DE push dx seg000:C1DF call sub_C4843 seg000:C1E2 mov dl, bl seg000:C1E4 call sub_C24C7 seg000:C1E7 mov bx, ax seg000:C1E9 or dl, dl seg000:C1EB jnz short loc_CC206 seg000:C1ED call sub_C0561 seg000:C1F0 cbw seg000:C1F1 add ds:0, al seg000:C1F5 add ax, di seg000:C1F7 add [si-18h], si seg000:C1FA add bx, [bx+si+600h] seg000:C1FA ; --------------------------------------------------------------------------- seg000:C1FE db 0 seg000:C1FF db 0 seg000:C200 db 1 seg000:C201 db 0F8h ; ° seg000:C202 db 1 seg000:C203 db 71h ; q seg000:C204 db 0EBh ; Û seg000:C205 db 0Ch seg000:C206 ; --------------------------------------------------------------------------- seg000:C206 seg000:C206 loc_CC206: ; CODE XREF: seg000:C1EBj seg000:C206 call sub_C0561 seg000:C209 cbw seg000:C20A add ds:0, al seg000:C20E add ax, di seg000:C210 add dh, [bx+di-18h] seg000:C213 mov al, ds:5A86h seg000:C216 pop cx seg000:C217 pop bx seg000:C218 pop ax seg000:C219 retn seg000:C21A seg000:C21A ; =============== S U B R O U T I N E ======================================= seg000:C21A seg000:C21A ; Attributes: bp-based frame seg000:C21A seg000:C21A sub_CC21A proc near ; CODE XREF: seg000:CBDAp seg000:C21A seg000:C21A var_2A = byte ptr -2Ah seg000:C21A arg_0 = byte ptr 4 seg000:C21A arg_2 = word ptr 6 seg000:C21A seg000:C21A push bp seg000:C21B mov bp, sp seg000:C21D add sp, 0FFD6h seg000:C220 push bx seg000:C221 push cx seg000:C222 push di seg000:C223 lea di, [bp+var_2A] seg000:C226 call sub_C1FB4 seg000:C229 call sub_CBF6D seg000:C22C mov ch, 0C0h ; 'L' seg000:C22E mov bl, 2 seg000:C230 call sub_CC4C2 seg000:C233 jb short loc_CC243 seg000:C235 mov ss:[di+arg_2], 0D501h seg000:C23B mov ss:[di+arg_0], 8 seg000:C240 call sub_CBD82 seg000:C243 seg000:C243 loc_CC243: ; CODE XREF: sub_CC21A+19j seg000:C243 pop di seg000:C244 pop cx seg000:C245 pop bx seg000:C246 mov sp, bp seg000:C248 pop bp seg000:C249 retn seg000:C249 sub_CC21A endp seg000:C249 seg000:C24A seg000:C24A ; =============== S U B R O U T I N E ======================================= seg000:C24A seg000:C24A ; Attributes: bp-based frame seg000:C24A seg000:C24A sub_CC24A proc near ; CODE XREF: seg000:CBDDp seg000:C24A seg000:C24A var_2A = byte ptr -2Ah seg000:C24A arg_1 = byte ptr 5 seg000:C24A arg_12 = byte ptr 16h seg000:C24A seg000:C24A push bp seg000:C24B mov bp, sp seg000:C24D add sp, 0FFD6h seg000:C250 pushad seg000:C252 lea di, [bp+var_2A] seg000:C255 call sub_C1FB4 seg000:C258 call sub_CBF6D seg000:C25B call sub_CC455 seg000:C25E jz short loc_CC2DB seg000:C260 add si, 10h seg000:C263 seg000:C263 loc_CC263: ; CODE XREF: sub_CC24A+8Fj seg000:C263 call sub_CC455 seg000:C266 mov dword ptr ss:[di], 1400h seg000:C26E mov ss:[di+arg_1], 0Fh seg000:C273 call sub_CBDCF seg000:C276 shr al, 5 seg000:C279 movzx eax, al seg000:C27D inc ax seg000:C27E push di seg000:C27F add di, ax seg000:C281 mov dh, ss:[di+arg_12] seg000:C285 and dh, 3Fh seg000:C288 dec dh seg000:C28A inc di seg000:C28B mov dl, ss:[di+arg_12] seg000:C28F pop di seg000:C290 add ax, 2 seg000:C293 add ss:[di], eax seg000:C297 jmp short loc_CC2CC seg000:C299 ; --------------------------------------------------------------------------- seg000:C299 seg000:C299 loc_CC299: ; CODE XREF: sub_CC24A+85j seg000:C299 cmp dh, 10h seg000:C29C jbe short loc_CC2AA seg000:C29E mov ch, 10h seg000:C2A0 mov ss:[di+arg_1], 0Fh seg000:C2A5 sub dh, 10h seg000:C2A8 jmp short loc_CC2B4 seg000:C2AA ; --------------------------------------------------------------------------- seg000:C2AA seg000:C2AA loc_CC2AA: ; CODE XREF: sub_CC24A+52j seg000:C2AA mov ch, dh seg000:C2AC dec dh seg000:C2AE mov ss:[di+arg_1], dh seg000:C2B2 xor dh, dh seg000:C2B4 seg000:C2B4 loc_CC2B4: ; CODE XREF: sub_CC24A+5Ej seg000:C2B4 call sub_CBDCF seg000:C2B7 add dword ptr ss:[di], 10h seg000:C2BC push di seg000:C2BD seg000:C2BD loc_CC2BD: ; CODE XREF: sub_CC24A+7Fj seg000:C2BD mov al, ss:[di+arg_12] seg000:C2C1 mov [si], al seg000:C2C3 inc si seg000:C2C4 inc di seg000:C2C5 dec ch seg000:C2C7 or ch, ch seg000:C2C9 jnz short loc_CC2BD seg000:C2CB pop di seg000:C2CC seg000:C2CC loc_CC2CC: ; CODE XREF: sub_CC24A+4Dj seg000:C2CC cmp dh, 0 seg000:C2CF ja short loc_CC299 seg000:C2D1 call sub_CC4AA seg000:C2D4 test dl, 40h seg000:C2D7 jnz short loc_CC2DB seg000:C2D9 jmp short loc_CC263 seg000:C2DB ; --------------------------------------------------------------------------- seg000:C2DB seg000:C2DB loc_CC2DB: ; CODE XREF: sub_CC24A+14j seg000:C2DB ; sub_CC24A+8Dj seg000:C2DB popad seg000:C2DD mov sp, bp seg000:C2DF pop bp seg000:C2E0 retn seg000:C2E0 sub_CC24A endp seg000:C2E0 seg000:C2E1 seg000:C2E1 ; =============== S U B R O U T I N E ======================================= seg000:C2E1 seg000:C2E1 ; Attributes: bp-based frame seg000:C2E1 seg000:C2E1 sub_CC2E1 proc near ; CODE XREF: sub_CCC7D+7Fp seg000:C2E1 seg000:C2E1 var_2A = byte ptr -2Ah seg000:C2E1 arg_0 = byte ptr 4 seg000:C2E1 arg_2 = byte ptr 6 seg000:C2E1 arg_3 = byte ptr 7 seg000:C2E1 arg_4 = byte ptr 8 seg000:C2E1 seg000:C2E1 push bp seg000:C2E2 mov bp, sp seg000:C2E4 add sp, 0FFD6h seg000:C2E7 push bx seg000:C2E8 push cx seg000:C2E9 push di seg000:C2EA lea di, [bp+var_2A] seg000:C2ED call sub_C1FB4 seg000:C2F0 call sub_CBF6D seg000:C2F3 mov ch, 0C1h ; '+' seg000:C2F5 mov bl, 43h ; 'C' seg000:C2F7 call sub_CC4C2 seg000:C2FA jb short loc_CC325 seg000:C2FC xor dh, dh seg000:C2FE mov dl, 10h seg000:C300 mov ss:[di+arg_2], dl seg000:C304 call sub_CC650 seg000:C307 call sub_CC5CD seg000:C30A shl dl, 4 seg000:C30D mov ss:[di+arg_3], dl seg000:C311 call sub_CC650 seg000:C314 mov dl, 0 seg000:C316 call sub_CC650 seg000:C319 mov ss:[di+arg_4], dh seg000:C31D mov ss:[di+arg_0], 8 seg000:C322 call sub_CBD82 seg000:C325 seg000:C325 loc_CC325: ; CODE XREF: sub_CC2E1+19j seg000:C325 pop di seg000:C326 pop cx seg000:C327 pop bx seg000:C328 mov sp, bp seg000:C32A pop bp seg000:C32B retn seg000:C32B sub_CC2E1 endp seg000:C32B seg000:C32C seg000:C32C ; =============== S U B R O U T I N E ======================================= seg000:C32C seg000:C32C ; Attributes: bp-based frame seg000:C32C seg000:C32C sub_CC32C proc near ; CODE XREF: sub_CCC7D+82p seg000:C32C seg000:C32C var_2A = byte ptr -2Ah seg000:C32C arg_1 = byte ptr 5 seg000:C32C arg_12 = byte ptr 16h seg000:C32C arg_16 = byte ptr 1Ah seg000:C32C arg_17 = byte ptr 1Bh seg000:C32C seg000:C32C push bp seg000:C32D mov bp, sp seg000:C32F add sp, 0FFD6h seg000:C332 push eax seg000:C334 push cx seg000:C335 push di seg000:C336 lea di, [bp+var_2A] seg000:C339 call sub_C1FB4 seg000:C33C call sub_CBF6D seg000:C33F call sub_CC455 seg000:C342 jz short loc_CC387 seg000:C344 mov dword ptr ss:[di], 1400h seg000:C34C mov ss:[di+arg_1], 0Fh seg000:C351 call sub_CBDCF seg000:C354 shr al, 5 seg000:C357 movzx eax, al seg000:C35B inc ax seg000:C35C push di seg000:C35D add di, ax seg000:C35F mov dh, ss:[di+arg_12] seg000:C363 and dh, 3Fh seg000:C366 inc di seg000:C367 mov dl, ss:[di+arg_12] seg000:C36B pop di seg000:C36C add ax, 2 seg000:C36F add ss:[di], eax seg000:C373 dec dh seg000:C375 mov ss:[di+arg_1], dh seg000:C379 call sub_CBDCF seg000:C37C mov dh, ss:[di+arg_16] seg000:C380 mov dl, ss:[di+arg_17] seg000:C384 call sub_CC4AA seg000:C387 seg000:C387 loc_CC387: ; CODE XREF: sub_CC32C+16j seg000:C387 pop di seg000:C388 pop cx seg000:C389 pop eax seg000:C38B mov sp, bp seg000:C38D pop bp seg000:C38E retn seg000:C38E sub_CC32C endp seg000:C38E seg000:C38F seg000:C38F ; =============== S U B R O U T I N E ======================================= seg000:C38F seg000:C38F ; Attributes: bp-based frame seg000:C38F seg000:C38F sub_CC38F proc near ; CODE XREF: sub_CC940+33p seg000:C38F ; seg000:C9D0p seg000:C38F seg000:C38F var_2A = byte ptr -2Ah seg000:C38F arg_0 = byte ptr 4 seg000:C38F arg_1 = byte ptr 5 seg000:C38F arg_2 = dword ptr 6 seg000:C38F seg000:C38F push bp seg000:C390 mov bp, sp seg000:C392 add sp, 0FFD6h seg000:C395 push bx seg000:C396 push cx seg000:C397 push di seg000:C398 lea di, [bp+var_2A] seg000:C39B call sub_C1FB4 seg000:C39E call sub_CBF6D seg000:C3A1 mov ss:[di+arg_2], 0CFC216h seg000:C3AA mov word ptr ss:[di+arg_2+3], 0AC14h seg000:C3B0 mov dword ptr ss:[di], 1000h seg000:C3B8 mov ss:[di+arg_1], 4 seg000:C3BD mov ss:[di+arg_0], 8 seg000:C3C2 call sub_CBD82 seg000:C3C5 call sub_CC455 seg000:C3C8 call sub_CC4AA seg000:C3CB pop di seg000:C3CC pop cx seg000:C3CD pop bx seg000:C3CE mov sp, bp seg000:C3D0 pop bp seg000:C3D1 retn seg000:C3D1 sub_CC38F endp seg000:C3D1 seg000:C3D1 ; --------------------------------------------------------------------------- seg000:C3D2 db 55h ; U seg000:C3D3 db 8Bh ; õ seg000:C3D4 db 0ECh ; ý seg000:C3D5 db 83h ; â seg000:C3D6 db 0C4h ; ¦ seg000:C3D7 db 0D4h ; ï seg000:C3D8 db 60h ; ` seg000:C3D9 db 51h ; Q seg000:C3DA db 8Dh ; seg000:C3DB db 7Eh ; ~ seg000:C3DC db 0D6h ; Í seg000:C3DD db 0E8h ; À seg000:C3DE db 0D4h ; ï seg000:C3DF db 5Bh ; [ seg000:C3E0 db 88h ; ³ seg000:C3E1 db 4Eh ; N seg000:C3E2 db 0D5h, 0E8h, 87h, 0FBh, 0B5h, 0C1h, 0B3h, 46h, 0E8h seg000:C3E2 db 0D5h, 0, 59h, 8Bh, 0F2h, 72h, 55h, 32h, 0F6h, 0B2h seg000:C3E2 db 11h, 36h, 88h, 55h, 6, 0E8h, 53h, 2, 0E8h, 95h, 1, 8Ah seg000:C3E2 db 0D0h, 0C0h, 0E2h, 4, 36h, 88h, 55h, 7, 0E8h, 44h, 2 seg000:C3E2 db 0E8h, 0AFh, 60h, 8Ah, 0D4h, 0FEh, 0C2h, 36h, 88h, 55h seg000:C3E2 db 8, 0E8h, 36h, 2, 52h, 8Bh, 0D6h, 0E8h, 1Eh, 6, 36h seg000:C3E2 db 88h, 65h, 9, 36h, 88h, 45h, 0Ah, 5Ah, 8Ah, 0D4h, 0E8h seg000:C3E2 db 22h, 2, 8Ah, 0D0h, 0E8h, 1Dh, 2, 32h, 0D2h, 0E8h, 18h seg000:C3E2 db 2, 36h, 88h, 75h, 0Bh, 8Ah, 4Eh, 0D5h, 36h, 0C6h, 45h seg000:C3E2 db 4, 8, 0E8h, 3Bh, 0F9h, 8Ah, 4Eh, 0D5h, 0E8h, 8, 0, 0E8h seg000:C3E2 db 5Ah, 0, 61h, 8Bh, 0E5h, 5Dh, 0C3h seg000:C455 seg000:C455 ; =============== S U B R O U T I N E ======================================= seg000:C455 seg000:C455 seg000:C455 sub_CC455 proc near ; CODE XREF: sub_CC24A+11p seg000:C455 ; sub_CC24A:loc_CC263p ... seg000:C455 push eax seg000:C457 push dx seg000:C458 mov dword ptr ss:[di], 201h seg000:C460 mov dx, 7D0h seg000:C463 seg000:C463 loc_CC463: ; CODE XREF: sub_CC455+1Ej seg000:C463 call sub_CBE2C seg000:C466 test ah, 10h seg000:C469 jz short loc_CC46D seg000:C46B jmp short loc_CC475 seg000:C46D ; --------------------------------------------------------------------------- seg000:C46D seg000:C46D loc_CC46D: ; CODE XREF: sub_CC455+14j seg000:C46D call sub_C3485 seg000:C470 dec dx seg000:C471 or dx, dx seg000:C473 jnz short loc_CC463 seg000:C475 seg000:C475 loc_CC475: ; CODE XREF: sub_CC455+16j seg000:C475 or dx, dx seg000:C477 jz short loc_CC4A4 seg000:C479 mov dword ptr ss:[di], 1400h seg000:C481 mov byte ptr ss:[di+5], 0Fh seg000:C486 call sub_CBDCF seg000:C489 push di seg000:C48A shr al, 5 seg000:C48D xor ah, ah seg000:C48F add ax, 3 seg000:C492 add di, ax seg000:C494 mov al, ss:[di+16h] seg000:C498 test al, 80h seg000:C49A pop di seg000:C49B jz short loc_CC4A4 seg000:C49D call sub_CC4AA seg000:C4A0 xor dx, dx seg000:C4A2 jmp short $+2 seg000:C4A4 ; --------------------------------------------------------------------------- seg000:C4A4 seg000:C4A4 loc_CC4A4: ; CODE XREF: sub_CC455+22j seg000:C4A4 ; sub_CC455+46j ... seg000:C4A4 or dx, dx seg000:C4A6 pop dx seg000:C4A7 pop eax seg000:C4A9 retn seg000:C4A9 sub_CC455 endp seg000:C4A9 seg000:C4AA seg000:C4AA ; =============== S U B R O U T I N E ======================================= seg000:C4AA seg000:C4AA seg000:C4AA sub_CC4AA proc near ; CODE XREF: sub_CC24A+87p seg000:C4AA ; sub_CC32C+58p ... seg000:C4AA push eax seg000:C4AC mov dword ptr ss:[di], 201h seg000:C4B4 call sub_CBE2C seg000:C4B7 test ah, 10h seg000:C4BA jz short loc_CC4BF seg000:C4BC call sub_CBE1A seg000:C4BF seg000:C4BF loc_CC4BF: ; CODE XREF: sub_CC4AA+10j seg000:C4BF pop eax seg000:C4C1 retn seg000:C4C1 sub_CC4AA endp seg000:C4C1 seg000:C4C2 seg000:C4C2 ; =============== S U B R O U T I N E ======================================= seg000:C4C2 seg000:C4C2 seg000:C4C2 sub_CC4C2 proc near ; CODE XREF: sub_CC21A+16p seg000:C4C2 ; sub_CC2E1+16p ... seg000:C4C2 push eax seg000:C4C4 push bx seg000:C4C5 push dx seg000:C4C6 call loc_CC57B seg000:C4C9 or al, al seg000:C4CB jnz short loc_CC4D1 seg000:C4CD stc seg000:C4CE jmp loc_CC576 seg000:C4D1 ; --------------------------------------------------------------------------- seg000:C4D1 seg000:C4D1 loc_CC4D1: ; CODE XREF: sub_CC4C2+9j seg000:C4D1 push di seg000:C4D2 push cx seg000:C4D3 mov dword ptr ss:[di], 1000h seg000:C4DB mov byte ptr ss:[di+4], 8 seg000:C4E0 mov byte ptr ss:[di+5], 2 seg000:C4E5 xor dh, dh seg000:C4E7 test ch, 1 seg000:C4EA jz short loc_CC4EE seg000:C4EC dec al seg000:C4EE seg000:C4EE loc_CC4EE: ; CODE XREF: sub_CC4C2+28j seg000:C4EE mov dl, al seg000:C4F0 dec al seg000:C4F2 shl dl, 4 seg000:C4F5 or dl, al seg000:C4F7 mov ss:[di+6], dl seg000:C4FB call sub_CC665 seg000:C4FE inc al seg000:C500 cmp al, 2 seg000:C502 jb short loc_CC541 seg000:C504 mov cl, al seg000:C506 push cx seg000:C507 mov cl, 9 seg000:C509 sub cl, al seg000:C50B shl cl, 2 seg000:C50E shr al, 1 seg000:C510 add al, 3 seg000:C512 dec al seg000:C514 mov ss:[di+5], al seg000:C518 call sub_CC595 seg000:C51B test ch, 1 seg000:C51E jz short loc_CC524 seg000:C520 shr eax, 4 seg000:C524 seg000:C524 loc_CC524: ; CODE XREF: sub_CC4C2+5Cj seg000:C524 shl eax, cl seg000:C527 pop cx seg000:C528 shr cl, 1 seg000:C52A jmp short loc_CC53C seg000:C52C ; --------------------------------------------------------------------------- seg000:C52C seg000:C52C loc_CC52C: ; CODE XREF: sub_CC4C2+7Dj seg000:C52C inc di seg000:C52D rol eax, 8 seg000:C531 mov ss:[di+6], al seg000:C535 mov dl, al seg000:C537 call sub_CC665 seg000:C53A dec cl seg000:C53C seg000:C53C loc_CC53C: ; CODE XREF: sub_CC4C2+68j seg000:C53C cmp cl, 0 seg000:C53F ja short loc_CC52C seg000:C541 seg000:C541 loc_CC541: ; CODE XREF: sub_CC4C2+40j seg000:C541 inc di seg000:C542 mov dl, bl seg000:C544 call sub_CC665 seg000:C547 mov ss:[di+6], bl seg000:C54B inc di seg000:C54C and ch, 0F0h seg000:C54F mov dl, ch seg000:C551 call sub_CC665 seg000:C554 or ch, dh seg000:C556 mov ss:[di+6], ch seg000:C55A pop cx seg000:C55B pop di seg000:C55C call sub_CBD82 seg000:C55F xor eax, eax seg000:C562 mov al, ss:[di+5] seg000:C566 inc al seg000:C568 add ss:[di], eax seg000:C56C and bl, 3Fh seg000:C56F dec bl seg000:C571 mov ss:[di+5], bl seg000:C575 clc seg000:C576 seg000:C576 loc_CC576: ; CODE XREF: sub_CC4C2+Cj seg000:C576 pop dx seg000:C577 pop bx seg000:C578 pop eax seg000:C57A retn seg000:C57A sub_CC4C2 endp seg000:C57A seg000:C57B ; --------------------------------------------------------------------------- seg000:C57B seg000:C57B loc_CC57B: ; CODE XREF: sub_CC4C2+4p seg000:C57B ; sub_CCC7D+1Bp seg000:C57B push bx seg000:C57C push cx seg000:C57D call sub_C24C7 seg000:C580 mov bx, ax seg000:C582 call sub_C0561 seg000:C585 sub al, 4 seg000:C587 shl word ptr [bx+di+60h], 1Ch seg000:C58B jnp short loc_CC59C seg000:C58B ; --------------------------------------------------------------------------- seg000:C58D db 3 dup(0), 1Ch, 71h, 59h, 5Bh, 0C3h seg000:C595 seg000:C595 ; =============== S U B R O U T I N E ======================================= seg000:C595 seg000:C595 seg000:C595 sub_CC595 proc near ; CODE XREF: sub_CC4C2+56p seg000:C595 ; sub_CC5CD+2p ... seg000:C595 seg000:C595 ; FUNCTION CHUNK AT seg000:C600 SIZE 00000008 BYTES seg000:C595 seg000:C595 push bx seg000:C596 push cx seg000:C597 call sub_C24C7 seg000:C59A mov bx, ax seg000:C59C seg000:C59C loc_CC59C: ; CODE XREF: seg000:C58Bj seg000:C59C call sub_C0561 seg000:C59F sub al, 0 seg000:C5A1 shl word ptr [bx+di+60h], 1Ch seg000:C5A5 jno short loc_CC600 seg000:C5A7 pop bx seg000:C5A8 retn seg000:C5A8 sub_CC595 endp ; sp-analysis failed seg000:C5A8 seg000:C5A9 seg000:C5A9 ; =============== S U B R O U T I N E ======================================= seg000:C5A9 seg000:C5A9 seg000:C5A9 sub_CC5A9 proc near ; CODE XREF: sub_CCA13+19p seg000:C5A9 push eax seg000:C5AB push bx seg000:C5AC push cx seg000:C5AD call sub_C4843 seg000:C5B0 call sub_C24C7 seg000:C5B3 mov bx, ax seg000:C5B5 call sub_C0561 seg000:C5B8 sub al, 40h ; '@' seg000:C5BA shl word ptr [bx+di+60h], 1Ch seg000:C5BE jno short near ptr unk_CC626 seg000:C5C0 shr ax, 10h seg000:C5C3 mov dx, ax seg000:C5C5 call sub_C48B5 seg000:C5C8 pop cx seg000:C5C9 pop bx seg000:C5CA pop eax seg000:C5CC retn seg000:C5CC sub_CC5A9 endp seg000:C5CC seg000:C5CD seg000:C5CD ; =============== S U B R O U T I N E ======================================= seg000:C5CD seg000:C5CD seg000:C5CD sub_CC5CD proc near ; CODE XREF: sub_CC2E1+26p seg000:C5CD ; sub_CC680+29p ... seg000:C5CD push eax seg000:C5CF call sub_CC595 seg000:C5D2 mov dl, al seg000:C5D4 pop eax seg000:C5D6 retn seg000:C5D6 sub_CC5CD endp seg000:C5D6 seg000:C5D7 ; --------------------------------------------------------------------------- seg000:C5D7 seg000:C5D7 loc_CC5D7: ; CODE XREF: sub_CCC5D+11p seg000:C5D7 ; sub_CCC7D+7Bp ... seg000:C5D7 push eax seg000:C5D9 push bx seg000:C5DA push cx seg000:C5DB push edx seg000:C5DD push ax seg000:C5DE call sub_C24C7 ; CODE XREF: seg000:C5EDj seg000:C5E1 mov bx, ax seg000:C5E3 pop ax seg000:C5E4 call sub_C0561 seg000:C5E7 sub al, 4 seg000:C5E9 shl word ptr [bx+di+60h], 14h seg000:C5ED jnp short near ptr loc_CC5DE+1 seg000:C5ED ; --------------------------------------------------------------------------- seg000:C5EF db 0FFh seg000:C5F0 db 0FFh seg000:C5F1 db 0FFh seg000:C5F2 db 14h seg000:C5F3 db 71h ; q seg000:C5F4 db 66h ; f seg000:C5F5 db 0Fh seg000:C5F6 db 0B6h ;  seg000:C5F7 db 0C0h ; L seg000:C5F8 db 66h ; f seg000:C5F9 db 0Bh seg000:C5FA db 0D0h ; ð seg000:C5FB db 66h ; f seg000:C5FC db 83h ; â seg000:C5FD db 0CAh ; ¦ seg000:C5FE db 10h seg000:C5FF db 0E8h ; À seg000:C600 ; --------------------------------------------------------------------------- seg000:C600 ; START OF FUNCTION CHUNK FOR sub_CC595 seg000:C600 seg000:C600 loc_CC600: ; CODE XREF: sub_CC595+10j seg000:C600 pop di seg000:C601 aas seg000:C602 and [si], al seg000:C604 shl word ptr [bx+di+60h], 0 seg000:C604 ; END OF FUNCTION CHUNK FOR sub_CC595 seg000:C604 ; --------------------------------------------------------------------------- seg000:C608 db 0 seg000:C609 db 0 seg000:C60A db 0 seg000:C60B db 14h seg000:C60C db 71h ; q seg000:C60D db 66h ; f seg000:C60E db 5Ah ; Z seg000:C60F db 59h ; Y seg000:C610 db 5Bh ; [ seg000:C611 db 66h ; f seg000:C612 db 58h ; X seg000:C613 db 0C3h ; + seg000:C614 ; --------------------------------------------------------------------------- seg000:C614 seg000:C614 loc_CC614: ; CODE XREF: sub_CCC5D+Bp seg000:C614 ; sub_CCC7D:loc_CCCF3p ... seg000:C614 push bx seg000:C615 push cx seg000:C616 push ax seg000:C617 call sub_C24C7 seg000:C61A mov bx, ax seg000:C61C pop ax seg000:C61D call sub_C0561 seg000:C620 and [bx+si], al seg000:C622 shl word ptr [bx+di+60h], 0 seg000:C622 ; --------------------------------------------------------------------------- seg000:C626 unk_CC626 db 0 ; CODE XREF: sub_CC5A9+15j seg000:C627 db 0 seg000:C628 db 0 seg000:C629 db 1Ch seg000:C62A db 71h ; q seg000:C62B db 59h ; Y seg000:C62C db 5Bh ; [ seg000:C62D db 0C3h ; + seg000:C62E ; --------------------------------------------------------------------------- seg000:C62E seg000:C62E loc_CC62E: ; CODE XREF: sub_CCC7D+88p seg000:C62E ; sub_CCC7D+B1p seg000:C62E push ax seg000:C62F push bx seg000:C630 push cx seg000:C631 push edx seg000:C633 call sub_C24C7 seg000:C636 mov bx, ax seg000:C638 shl edx, 10h seg000:C63C call sub_C0561 seg000:C63F and [bx+si-3Fh], al seg000:C642 popa seg000:C643 pusha seg000:C643 ; --------------------------------------------------------------------------- seg000:C644 db 0FFh seg000:C645 db 0FFh seg000:C646 db 0 seg000:C647 db 0 seg000:C648 db 14h seg000:C649 db 71h ; q seg000:C64A db 66h ; f seg000:C64B db 5Ah ; Z seg000:C64C db 59h ; Y seg000:C64D db 5Bh ; [ seg000:C64E db 58h ; X seg000:C64F db 0C3h ; + seg000:C650 seg000:C650 ; =============== S U B R O U T I N E ======================================= seg000:C650 seg000:C650 seg000:C650 sub_CC650 proc near ; CODE XREF: sub_CC2E1+23p seg000:C650 ; sub_CC2E1+30p ... seg000:C650 push ax seg000:C651 push cx seg000:C652 mov al, dl seg000:C654 mov cx, 8 seg000:C657 seg000:C657 loc_CC657: ; CODE XREF: sub_CC650:loc_CC65Ej seg000:C657 shl dx, 1 seg000:C659 jnb short loc_CC65E seg000:C65B xor dh, 0D5h seg000:C65E seg000:C65E loc_CC65E: ; CODE XREF: sub_CC650+9j seg000:C65E loop loc_CC657 seg000:C660 mov dl, al seg000:C662 pop cx seg000:C663 pop ax seg000:C664 retn seg000:C664 sub_CC650 endp seg000:C664 seg000:C665 seg000:C665 ; =============== S U B R O U T I N E ======================================= seg000:C665 seg000:C665 seg000:C665 sub_CC665 proc near ; CODE XREF: sub_CC4C2+39p seg000:C665 ; sub_CC4C2+75p ... seg000:C665 push ax seg000:C666 push cx seg000:C667 mov al, dl seg000:C669 mov cx, 8 seg000:C66C seg000:C66C loc_CC66C: ; CODE XREF: sub_CC665:loc_CC676j seg000:C66C shl dx, 1 seg000:C66E test dh, 10h seg000:C671 jz short loc_CC676 seg000:C673 xor dh, 3 seg000:C676 seg000:C676 loc_CC676: ; CODE XREF: sub_CC665+Cj seg000:C676 loop loc_CC66C seg000:C678 and dh, 0Fh seg000:C67B mov dl, al seg000:C67D pop cx seg000:C67E pop ax seg000:C67F retn seg000:C67F sub_CC665 endp seg000:C67F seg000:C680 seg000:C680 ; =============== S U B R O U T I N E ======================================= seg000:C680 seg000:C680 seg000:C680 sub_CC680 proc near ; CODE XREF: sub_CCB8B+15p seg000:C680 ; sub_CCBAEp seg000:C680 push eax seg000:C682 push bx seg000:C683 push dx seg000:C684 push cx seg000:C685 mov ch, 0C1h ; '+' seg000:C687 mov al, [si+2] seg000:C68A cmp al, 1 seg000:C68C jbe short loc_CC692 seg000:C68E mov bl, 9 seg000:C690 jmp short loc_CC694 seg000:C692 ; --------------------------------------------------------------------------- seg000:C692 seg000:C692 loc_CC692: ; CODE XREF: sub_CC680+Cj seg000:C692 mov bl, 5 seg000:C694 seg000:C694 loc_CC694: ; CODE XREF: sub_CC680+10j seg000:C694 call sub_CC4C2 seg000:C697 pop cx seg000:C698 jb loc_CC71D seg000:C69C push di seg000:C69D xor dh, dh seg000:C69F mov dl, 22h ; '"' seg000:C6A1 mov byte ptr ss:[di+6], 22h ; '"' seg000:C6A6 call sub_CC650 seg000:C6A9 call sub_CC5CD seg000:C6AC shl dl, 4 seg000:C6AF mov al, [si+2] seg000:C6B2 or al, al seg000:C6B4 jz short loc_CC6B8 seg000:C6B6 dec al seg000:C6B8 seg000:C6B8 loc_CC6B8: ; CODE XREF: sub_CC680+34j seg000:C6B8 or dl, al seg000:C6BA inc di seg000:C6BB mov ss:[di+6], dl seg000:C6BF call sub_CC650 seg000:C6C2 or al, al seg000:C6C4 jz short loc_CC6F2 seg000:C6C6 mov dl, [si+5] seg000:C6C9 shr dl, 1 seg000:C6CB inc di seg000:C6CC mov ss:[di+6], dl seg000:C6D0 call sub_CC650 seg000:C6D3 mov dl, al seg000:C6D5 inc di seg000:C6D6 mov ss:[di+6], dl seg000:C6DA call sub_CC650 seg000:C6DD mov dl, [si+6] seg000:C6E0 inc di seg000:C6E1 mov ss:[di+6], dl seg000:C6E5 call sub_CC650 seg000:C6E8 xor dl, dl seg000:C6EA inc di seg000:C6EB mov ss:[di+6], dl seg000:C6EF call sub_CC650 seg000:C6F2 seg000:C6F2 loc_CC6F2: ; CODE XREF: sub_CC680+44j seg000:C6F2 mov dl, [si+5] seg000:C6F5 shr dl, 1 seg000:C6F7 inc di seg000:C6F8 mov ss:[di+6], dl seg000:C6FC call sub_CC650 seg000:C6FF mov dl, [si+3] seg000:C702 inc di seg000:C703 mov ss:[di+6], dl seg000:C707 call sub_CC650 seg000:C70A mov dl, 0 seg000:C70C call sub_CC650 seg000:C70F inc di seg000:C710 mov ss:[di+6], dh seg000:C714 pop di seg000:C715 mov byte ptr ss:[di+4], 8 seg000:C71A call sub_CBD82 seg000:C71D seg000:C71D loc_CC71D: ; CODE XREF: sub_CC680+18j seg000:C71D pop dx seg000:C71E pop bx seg000:C71F pop eax seg000:C721 retn seg000:C721 sub_CC680 endp seg000:C721 seg000:C722 seg000:C722 ; =============== S U B R O U T I N E ======================================= seg000:C722 seg000:C722 seg000:C722 sub_CC722 proc near ; CODE XREF: sub_CCB8B+18p seg000:C722 ; sub_CCBAE+3p seg000:C722 push eax seg000:C724 push bx seg000:C725 push cx seg000:C726 push dx seg000:C727 push bp seg000:C728 xor dh, dh seg000:C72A call sub_CC455 seg000:C72D jz loc_CC7C9 seg000:C731 seg000:C731 loc_CC731: ; CODE XREF: sub_CC722+A4j seg000:C731 mov dword ptr ss:[di], 1400h seg000:C739 mov byte ptr ss:[di+5], 0Fh seg000:C73E call sub_CBDCF seg000:C741 shr al, 5 seg000:C744 movzx eax, al seg000:C748 push di seg000:C749 inc ax seg000:C74A add di, ax seg000:C74C mov dh, ss:[di+16h] seg000:C750 and dh, 3Fh seg000:C753 dec dh seg000:C755 inc di seg000:C756 mov dl, ss:[di+16h] seg000:C75A mov ch, ss:[di+17h] seg000:C75E pop di seg000:C75F add ax, 2 seg000:C762 test dl, 80h seg000:C765 jz short loc_CC779 seg000:C767 add ax, 3 seg000:C76A sub dh, 3 seg000:C76D cmp ch, 22h ; '"' seg000:C770 jz short loc_CC779 seg000:C772 call sub_CC4AA seg000:C775 xor dh, dh seg000:C777 jmp short loc_CC7C9 seg000:C779 ; --------------------------------------------------------------------------- seg000:C779 seg000:C779 loc_CC779: ; CODE XREF: sub_CC722+43j seg000:C779 ; sub_CC722+4Ej seg000:C779 add ss:[di], eax seg000:C77D jmp short loc_CC7B4 seg000:C77F ; --------------------------------------------------------------------------- seg000:C77F seg000:C77F loc_CC77F: ; CODE XREF: sub_CC722+95j seg000:C77F cmp dh, 10h seg000:C782 jbe short loc_CC790 seg000:C784 mov ch, 10h seg000:C786 mov byte ptr ss:[di+5], 0Fh seg000:C78B sub dh, 10h seg000:C78E jmp short loc_CC79A seg000:C790 ; --------------------------------------------------------------------------- seg000:C790 seg000:C790 loc_CC790: ; CODE XREF: sub_CC722+60j seg000:C790 mov ch, dh seg000:C792 dec dh seg000:C794 mov ss:[di+5], dh seg000:C798 xor dh, dh seg000:C79A seg000:C79A loc_CC79A: ; CODE XREF: sub_CC722+6Cj seg000:C79A call sub_CBDCF seg000:C79D add dword ptr ss:[di], 10h seg000:C7A2 push di seg000:C7A3 seg000:C7A3 loc_CC7A3: ; CODE XREF: sub_CC722+8Fj seg000:C7A3 mov al, ss:[di+16h] seg000:C7A7 mov es:[bp+0], al seg000:C7AB inc bp seg000:C7AC inc di seg000:C7AD dec ch seg000:C7AF or ch, ch seg000:C7B1 jnz short loc_CC7A3 seg000:C7B3 pop di seg000:C7B4 seg000:C7B4 loc_CC7B4: ; CODE XREF: sub_CC722+5Bj seg000:C7B4 cmp dh, 0 seg000:C7B7 ja short loc_CC77F seg000:C7B9 call sub_CC4AA seg000:C7BC mov dh, 1 seg000:C7BE test dl, 40h seg000:C7C1 jnz short loc_CC7C9 seg000:C7C3 call sub_CC455 seg000:C7C6 jmp loc_CC731 seg000:C7C9 ; --------------------------------------------------------------------------- seg000:C7C9 seg000:C7C9 loc_CC7C9: ; CODE XREF: sub_CC722+Bj seg000:C7C9 ; sub_CC722+55j ... seg000:C7C9 or dh, dh seg000:C7CB pop bp seg000:C7CC pop dx seg000:C7CD pop cx seg000:C7CE pop bx seg000:C7CF pop eax seg000:C7D1 retn seg000:C7D1 sub_CC722 endp seg000:C7D1 seg000:C7D2 ; --------------------------------------------------------------------------- seg000:C7D2 push bp seg000:C7D3 mov bp, sp seg000:C7D5 add sp, 0FFD6h seg000:C7D8 push bx seg000:C7D9 push cx seg000:C7DA push di seg000:C7DB lea di, [bp-2Ah] seg000:C7DE call sub_C1FB4 seg000:C7E1 call sub_CBF6D seg000:C7E4 mov dword ptr ss:[di+6], 0C74310h seg000:C7ED xor dh, dh seg000:C7EF or bl, bl seg000:C7F1 jnz short loc_CC7FA seg000:C7F3 mov dl, 24h ; '$' seg000:C7F5 call loc_CC1DB seg000:C7F8 jmp short loc_CC7FC seg000:C7FA ; --------------------------------------------------------------------------- seg000:C7FA seg000:C7FA loc_CC7FA: ; CODE XREF: seg000:C7F1j seg000:C7FA mov dl, 25h ; '%' seg000:C7FC seg000:C7FC loc_CC7FC: ; CODE XREF: seg000:C7F8j seg000:C7FC mov ss:[di+9], dl seg000:C800 call sub_CC650 seg000:C803 call sub_CC5CD seg000:C806 shl dl, 4 seg000:C809 mov ss:[di+0Ah], dl seg000:C80D call sub_CC650 seg000:C810 xor dl, dl seg000:C812 call sub_CC650 seg000:C815 mov ss:[di+0Bh], dh seg000:C819 mov byte ptr ss:[di+5], 5 seg000:C81E mov byte ptr ss:[di+4], 8 seg000:C823 mov dword ptr ss:[di], 1000h seg000:C82B call sub_CBD82 seg000:C82E call sub_CC455 seg000:C831 jz short loc_CC83A seg000:C833 or bl, bl seg000:C835 jz short loc_CC83A seg000:C837 call loc_CC1DB seg000:C83A seg000:C83A loc_CC83A: ; CODE XREF: seg000:C831j seg000:C83A ; seg000:C835j seg000:C83A call sub_CC4AA seg000:C83D pop di seg000:C83E pop cx seg000:C83F pop bx seg000:C840 mov sp, bp seg000:C842 pop bp seg000:C843 retn seg000:C843 ; --------------------------------------------------------------------------- seg000:C844 db 55h ; U seg000:C845 db 8Bh ; õ seg000:C846 db 0ECh ; ý seg000:C847 db 83h ; â seg000:C848 db 0C4h, 0D6h, 66h, 50h, 53h, 51h, 66h, 52h, 66h, 56h seg000:C848 db 57h, 8Dh, 7Eh, 0D6h, 0E8h, 5Bh, 57h, 0E8h, 11h, 0F7h seg000:C848 db 32h, 0EDh, 66h, 36h, 0C7h, 5, 4 dup(0), 0E8h, 0C3h seg000:C848 db 0F5h, 80h, 0FCh, 12h, 75h, 67h, 66h, 36h, 0C7h, 5, 21h seg000:C848 db 3 dup(0), 0E8h, 0B3h, 0F5h, 0F6h, 0C4h, 1, 74h, 2, 0B5h seg000:C848 db 1, 0BEh, 1Ah, 61h, 2Eh, 8Ah, 64h, 8, 0F6h, 0C4h, 4 seg000:C848 db 75h, 2, 32h, 0EDh, 0F6h, 0C4h, 1, 74h, 2, 32h, 0EDh seg000:C848 db 0F6h, 0C4h, 2, 74h, 2, 0B5h, 1, 0Ah, 0EDh, 75h, 1Bh seg000:C848 db 66h, 36h, 0C7h, 5, 11h, 1, 2 dup(0), 0B4h, 0, 0E8h seg000:C848 db 6Dh, 0F5h, 51h, 0B9h, 0C8h, 0, 0E8h, 0C4h, 6Bh, 59h seg000:C848 db 66h, 0BAh, 4 dup(0), 80h, 0FDh, 1, 75h, 1Bh, 66h, 36h seg000:C848 db 0C7h, 5, 11h, 1, 2 dup(0), 0B4h, 7, 0E8h, 4Dh, 0F5h seg000:C848 db 66h, 0BAh, 3 dup(0), 40h, 0EBh, 6, 66h, 0BAh, 4 dup(0) seg000:C848 db 0E8h, 0E9h, 5Bh, 8Bh, 0D8h, 0E8h, 7Eh, 3Ch, 20h, 0Ch seg000:C848 db 0C1h, 61h, 60h, 3 dup(0FFh), 0BFh, 14h, 20h, 0, 66h seg000:C848 db 61h, 80h, 3 dup(0FFh), 0BFh, 14h, 71h, 0Ah, 0EDh, 5Fh seg000:C848 db 66h, 5Eh, 66h, 5Ah, 59h, 5Bh, 66h, 58h, 8Bh, 0E5h, 5Dh seg000:C848 db 0C3h seg000:C907 seg000:C907 ; =============== S U B R O U T I N E ======================================= seg000:C907 seg000:C907 ; Attributes: bp-based frame seg000:C907 seg000:C907 sub_CC907 proc near ; CODE XREF: seg000:loc_CA14Ap seg000:C907 ; sub_CB7AB+18p ... seg000:C907 seg000:C907 var_2A = byte ptr -2Ah seg000:C907 seg000:C907 push bp seg000:C908 mov bp, sp seg000:C90A add sp, 0FFD6h seg000:C90D push eax seg000:C90F push cx seg000:C910 push si seg000:C911 push di seg000:C912 mov si, 6600h seg000:C915 call sub_C3382 seg000:C918 test eax, 40000000h seg000:C91E jz short loc_CC937 seg000:C920 lea di, [bp+var_2A] seg000:C923 call sub_C1FB4 seg000:C926 call sub_CBF6D seg000:C929 mov dword ptr ss:[di], 111h seg000:C931 call sub_CBE2C seg000:C934 test ah, 1 seg000:C937 seg000:C937 loc_CC937: ; CODE XREF: sub_CC907+17j seg000:C937 pop di seg000:C938 pop si seg000:C939 pop cx seg000:C93A pop eax seg000:C93C mov sp, bp seg000:C93E pop bp seg000:C93F retn seg000:C93F sub_CC907 endp seg000:C93F seg000:C940 seg000:C940 ; =============== S U B R O U T I N E ======================================= seg000:C940 seg000:C940 ; Attributes: bp-based frame seg000:C940 seg000:C940 sub_CC940 proc near seg000:C940 seg000:C940 var_2A = byte ptr -2Ah seg000:C940 arg_0 = byte ptr 4 seg000:C940 arg_1 = byte ptr 5 seg000:C940 arg_2 = dword ptr 6 seg000:C940 seg000:C940 push bp seg000:C941 mov bp, sp seg000:C943 add sp, 0FFD6h seg000:C946 push ax seg000:C947 push cx seg000:C948 push di seg000:C949 lea di, [bp+var_2A] seg000:C94C call sub_C1FB4 seg000:C94F call sub_CBF6D seg000:C952 mov ss:[di+arg_1], 2 seg000:C957 mov dword ptr ss:[di], 1C0h seg000:C95F mov ss:[di+arg_2], 3F0000h seg000:C968 mov ss:[di+arg_0], 8 seg000:C96D call sub_CBD82 seg000:C970 call sub_CC9DD seg000:C973 call sub_CC38F seg000:C976 mov byte ptr ss:[di+arg_2+2], al seg000:C97A call sub_C24B9 seg000:C97D inc al seg000:C97F mov byte ptr ss:[di+arg_2], al seg000:C983 mov byte ptr ss:[di+arg_2+1], 1 seg000:C988 mov ss:[di+arg_0], 8 seg000:C98D call sub_CBD82 seg000:C990 call sub_CC9DD seg000:C993 pop di seg000:C994 pop cx seg000:C995 pop ax seg000:C996 mov sp, bp seg000:C998 pop bp seg000:C999 retn seg000:C999 sub_CC940 endp seg000:C999 seg000:C99A ; --------------------------------------------------------------------------- seg000:C99A push bp seg000:C99B mov bp, sp seg000:C99D add sp, 0FFD6h seg000:C9A0 push ax seg000:C9A1 push cx seg000:C9A2 push di seg000:C9A3 call sub_C4843 seg000:C9A6 lea di, [bp-2Ah] seg000:C9A9 call sub_C1FB4 seg000:C9AC call sub_CBF6D seg000:C9AF mov byte ptr ss:[di+5], 2 seg000:C9B4 mov dword ptr ss:[di], 1C0h seg000:C9BC mov dword ptr ss:[di+6], 3F0000h seg000:C9C5 mov byte ptr ss:[di+4], 8 seg000:C9CA call sub_CBD82 seg000:C9CD call sub_CC9DD seg000:C9D0 call sub_CC38F seg000:C9D3 call sub_C48B5 seg000:C9D6 pop di seg000:C9D7 pop cx seg000:C9D8 pop ax seg000:C9D9 mov sp, bp seg000:C9DB pop bp seg000:C9DC retn seg000:C9DD seg000:C9DD ; =============== S U B R O U T I N E ======================================= seg000:C9DD seg000:C9DD seg000:C9DD sub_CC9DD proc near ; CODE XREF: sub_CC940+30p seg000:C9DD ; sub_CC940+50p ... seg000:C9DD push ax seg000:C9DE push bx seg000:C9DF push cx seg000:C9E0 call sub_C24C7 seg000:C9E3 mov bx, ax seg000:C9E5 call sub_C0561 seg000:C9E8 cmpsb seg000:C9E9 rol byte ptr [bp+si], 0 seg000:C9EC add [bx+di], al seg000:C9EE add ax, cx seg000:C9F0 cbw seg000:C9F1 rol byte ptr [bp+si], 0 seg000:C9F4 add [bx+di], al seg000:C9F6 inc byte ptr [bx+di] seg000:C9F8 jno short near ptr loc_CCA4F+4 seg000:C9FA pop bx seg000:C9FB pop ax seg000:C9FC retn seg000:C9FC sub_CC9DD endp ; sp-analysis failed seg000:C9FC seg000:C9FD ; --------------------------------------------------------------------------- seg000:C9FD push ax seg000:C9FE push bx seg000:C9FF call sub_C24C7 seg000:CA02 mov bx, ax seg000:CA04 call sub_C0561 seg000:CA07 cmpsb seg000:CA08 rol byte ptr [bp+si], 0 seg000:CA0B add [bp+si], al seg000:CA0D add al, [bx+si] seg000:CA0F jno short loc_CCA6C seg000:CA11 pop ax seg000:CA12 retn seg000:CA13 seg000:CA13 ; =============== S U B R O U T I N E ======================================= seg000:CA13 seg000:CA13 seg000:CA13 sub_CCA13 proc near ; CODE XREF: seg000:loc_CA154p seg000:CA13 push ax seg000:CA14 push cx seg000:CA15 push dx seg000:CA16 xor dx, dx seg000:CA18 mov cl, ss:[di+11h] seg000:CA1C test cl, 4 seg000:CA1F jz short loc_CCA24 seg000:CA21 or dx, 2 seg000:CA24 seg000:CA24 loc_CCA24: ; CODE XREF: sub_CCA13+Cj seg000:CA24 mov cx, ss:[di+16h] seg000:CA28 call sub_CCA3E seg000:CA2B push dx seg000:CA2C call sub_CC5A9 seg000:CA2F cmp ax, dx seg000:CA31 pop dx seg000:CA32 jnb short loc_CCA3A seg000:CA34 call sub_CCA8F seg000:CA37 cmp ax, 40h ; '@' seg000:CA3A seg000:CA3A loc_CCA3A: ; CODE XREF: sub_CCA13+1Fj seg000:CA3A pop dx seg000:CA3B pop cx seg000:CA3C pop ax seg000:CA3D retn seg000:CA3D sub_CCA13 endp seg000:CA3D seg000:CA3E seg000:CA3E ; =============== S U B R O U T I N E ======================================= seg000:CA3E seg000:CA3E seg000:CA3E sub_CCA3E proc near ; CODE XREF: sub_CCA13+15p seg000:CA3E push ecx seg000:CA40 push edx seg000:CA42 push esi seg000:CA44 mov esi, 18h seg000:CA4A test dl, 2 seg000:CA4D jnz short loc_CCA55 seg000:CA4F seg000:CA4F loc_CCA4F: ; CODE XREF: sub_CC9DD+1Bj seg000:CA4F mov esi, 12h seg000:CA55 seg000:CA55 loc_CCA55: ; CODE XREF: sub_CCA3E+Fj seg000:CA55 xor eax, eax seg000:CA58 mov ax, cx seg000:CA5A mul esi seg000:CA5D mov ecx, 1F7h seg000:CA63 mul ecx seg000:CA66 add eax, 5265Bh seg000:CA6C seg000:CA6C loc_CCA6C: ; CODE XREF: seg000:CA0Fj seg000:CA6C jnb short loc_CCA70 seg000:CA6E inc edx seg000:CA70 seg000:CA70 loc_CCA70: ; CODE XREF: sub_CCA3E:loc_CCA6Cj seg000:CA70 mov ecx, 5265Ch seg000:CA76 div ecx seg000:CA79 pop esi seg000:CA7B pop edx seg000:CA7D pop ecx seg000:CA7F retn seg000:CA7F sub_CCA3E endp seg000:CA7F seg000:CA80 seg000:CA80 ; =============== S U B R O U T I N E ======================================= seg000:CA80 seg000:CA80 seg000:CA80 sub_CCA80 proc near seg000:CA80 push cx seg000:CA81 push dx seg000:CA82 call sub_CC1C6 seg000:CA85 mul cx seg000:CA87 mov cx, 36h ; '6' seg000:CA8A div cx seg000:CA8C pop dx seg000:CA8D pop cx seg000:CA8E retn seg000:CA8E sub_CCA80 endp seg000:CA8E seg000:CA8F seg000:CA8F ; =============== S U B R O U T I N E ======================================= seg000:CA8F seg000:CA8F seg000:CA8F sub_CCA8F proc near ; CODE XREF: sub_CCA13+21p seg000:CA8F push ebx seg000:CA91 push ecx seg000:CA93 push edx seg000:CA95 push esi seg000:CA97 mov esi, 18h seg000:CA9D test dl, 2 seg000:CAA0 jnz short loc_CCAA8 seg000:CAA2 mov esi, 12h seg000:CAA8 seg000:CAA8 loc_CCAA8: ; CODE XREF: sub_CCA8F+11j seg000:CAA8 xor eax, eax seg000:CAAB mov ax, cx seg000:CAAD xor edx, edx seg000:CAB0 mul esi seg000:CAB3 xor ecx, ecx seg000:CAB6 call sub_CC1C6 seg000:CAB9 mov ebx, 3EEh seg000:CABF mul ebx seg000:CAC2 push eax seg000:CAC4 mov eax, 30D4h seg000:CACA mul ecx seg000:CACD mov ecx, eax seg000:CAD0 pop eax seg000:CAD2 add eax, ecx seg000:CAD5 dec eax seg000:CAD7 div ecx seg000:CADA pop esi seg000:CADC pop edx seg000:CADE pop ecx seg000:CAE0 pop ebx seg000:CAE2 retn seg000:CAE2 sub_CCA8F endp seg000:CAE2 seg000:CAE2 ; --------------------------------------------------------------------------- seg000:CAE3 db 50h ; P seg000:CAE4 db 53h, 51h, 66h, 56h, 66h, 57h, 66h, 33h, 0F6h, 0E8h seg000:CAE4 db 4Eh, 0FFh, 8Bh, 0F0h, 66h, 0C1h, 0CEh, 10h, 0E8h, 96h seg000:CAE4 db 0FFh, 66h, 0Fh, 0B7h, 0F8h, 66h, 0C1h, 0E7h, 8, 66h seg000:CAE4 db 47h, 0E8h, 3Ah, 0FEh, 0E8h, 77h, 0FFh, 8Bh, 0F0h, 66h seg000:CAE4 db 0C1h, 0CEh, 10h, 0E8h, 0B5h, 59h, 8Bh, 0D8h, 0E8h, 4Ah seg000:CAE4 db 3Ah, 6Eh, 0, 66h, 61h, 80h, 3 dup(0FFh), 0F8h, 3 dup(0) seg000:CAE4 db 5, 20h, 88h, 65h, 61h, 80h, 2 dup(0C0h), 2 dup(0FFh) seg000:CAE4 db 0, 20h, 8Ch, 65h, 61h, 80h, 4 dup(0), 4, 6Eh, 50h, 0C1h seg000:CAE4 db 61h, 40h, 0FEh, 0F0h, 0FFh, 0BFh, 1, 0Fh, 0, 40h, 71h seg000:CAE4 db 66h, 5Fh, 66h, 5Eh, 59h, 5Bh, 58h, 0C3h, 55h, 8Bh, 0ECh seg000:CAE4 db 83h, 0C4h, 0D6h, 50h, 66h, 52h, 66h, 56h, 57h, 53h seg000:CAE4 db 51h, 0E8h, 9Eh, 0FEh, 0E8h, 65h, 59h, 8Bh, 0D8h, 0E8h seg000:CAE4 db 0FAh, 39h, 6Eh, 0, 66h, 61h, 80h, 3 dup(0FFh), 0F8h seg000:CAE4 db 3 dup(0), 4, 71h, 59h, 5Bh, 0E8h, 58h, 0F8h, 5Fh, 66h seg000:CAE4 db 5Eh, 66h, 5Ah, 58h, 8Bh, 0E5h, 5Dh, 0C3h, 3, 0, 2, 1 seg000:CAE4 db 0, 0A0h, 0 seg000:CB8B seg000:CB8B ; =============== S U B R O U T I N E ======================================= seg000:CB8B seg000:CB8B ; Attributes: bp-based frame seg000:CB8B seg000:CB8B sub_CCB8B proc near ; CODE XREF: sub_CB88E:loc_CB8B4p seg000:CB8B push bp seg000:CB8C mov bp, sp seg000:CB8E add sp, 0FFFEh seg000:CB91 push si seg000:CB92 push bp seg000:CB93 push ds seg000:CB94 push es seg000:CB95 lea si, ds:0CB84h seg000:CB99 push cs seg000:CB9A pop ds seg000:CB9B assume ds:nothing seg000:CB9B push ss seg000:CB9C pop es seg000:CB9D lea bp, [bp-1] seg000:CBA0 call sub_CC680 seg000:CBA3 call sub_CC722 seg000:CBA6 pop es seg000:CBA7 pop ds seg000:CBA8 assume ds:nothing seg000:CBA8 pop bp seg000:CBA9 pop si seg000:CBAA mov sp, bp seg000:CBAC pop bp seg000:CBAD retn seg000:CBAD sub_CCB8B endp seg000:CBAD seg000:CBAE seg000:CBAE ; =============== S U B R O U T I N E ======================================= seg000:CBAE seg000:CBAE seg000:CBAE sub_CCBAE proc near ; CODE XREF: sub_CB7AB:loc_CB7CEp seg000:CBAE call sub_CC680 seg000:CBB1 call sub_CC722 seg000:CBB4 retn seg000:CBB4 sub_CCBAE endp seg000:CBB4 seg000:CBB5 ; --------------------------------------------------------------------------- seg000:CBB5 push bp seg000:CBB6 mov bp, sp seg000:CBB8 add sp, 0FFF0h seg000:CBBB push ax seg000:CBBC push bx seg000:CBBD push cx seg000:CBBE push si seg000:CBBF push edi seg000:CBC1 push ds seg000:CBC2 push es seg000:CBC3 call sub_CCC05 seg000:CBC6 lea si, [bp-0Fh] seg000:CBC9 clc seg000:CBCA call sub_C3497 seg000:CBCD call sub_CCC2D seg000:CBD0 push es seg000:CBD1 pop ds seg000:CBD2 mov si, di seg000:CBD4 call sub_C4843 seg000:CBD7 seg000:CBD7 loc_CCBD7: ; CODE XREF: seg000:CBECj seg000:CBD7 call sub_CCC5D seg000:CBDA call sub_CC21A seg000:CBDD call sub_CC24A seg000:CBE0 jz short loc_CCBEE seg000:CBE2 call sub_CCC7D seg000:CBE5 jnz short loc_CCBEE seg000:CBE7 call sub_CCD43 seg000:CBEA jz short loc_CCBEE seg000:CBEC jmp short loc_CCBD7 seg000:CBEE ; --------------------------------------------------------------------------- seg000:CBEE seg000:CBEE loc_CCBEE: ; CODE XREF: seg000:CBE0j seg000:CBEE ; seg000:CBE5j ... seg000:CBEE call sub_C48B5 seg000:CBF1 pushf seg000:CBF2 lea si, [bp-0Fh] seg000:CBF5 call sub_C355A seg000:CBF8 popf seg000:CBF9 pop es seg000:CBFA pop ds seg000:CBFB pop edi seg000:CBFD pop si seg000:CBFE pop cx seg000:CBFF pop bx seg000:CC00 pop ax seg000:CC01 mov sp, bp seg000:CC03 pop bp seg000:CC04 retn seg000:CC05 seg000:CC05 ; =============== S U B R O U T I N E ======================================= seg000:CC05 seg000:CC05 seg000:CC05 sub_CCC05 proc near ; CODE XREF: seg000:CBC3p seg000:CC05 push eax seg000:CC07 push cx seg000:CC08 push esi seg000:CC0A xor ch, ch seg000:CC0C call sub_C42E6 seg000:CC0F call sub_C2B4B seg000:CC12 jb short loc_CCC22 seg000:CC14 call sub_C2B8C seg000:CC17 jz short loc_CCC22 seg000:CC19 add esi, 10h seg000:CC1D mov edi, esi seg000:CC20 inc ch seg000:CC22 seg000:CC22 loc_CCC22: ; CODE XREF: sub_CCC05+Dj seg000:CC22 ; sub_CCC05+12j seg000:CC22 call sub_C2B71 seg000:CC25 shr ch, 1 seg000:CC27 pop esi seg000:CC29 pop cx seg000:CC2A pop eax seg000:CC2C retn seg000:CC2C sub_CCC05 endp seg000:CC2C seg000:CC2D seg000:CC2D ; =============== S U B R O U T I N E ======================================= seg000:CC2D seg000:CC2D seg000:CC2D sub_CCC2D proc near ; CODE XREF: seg000:CBCDp seg000:CC2D push eax seg000:CC2F push cx seg000:CC30 push di seg000:CC31 mov eax, 904005h seg000:CC37 stosd seg000:CC39 mov eax, 95h ; '¼' seg000:CC3F stosd seg000:CC41 mov eax, 10000h seg000:CC47 stosd seg000:CC49 mov cx, 71h ; 'q' seg000:CC4C xor eax, eax seg000:CC4F rep stosd seg000:CC52 pop di seg000:CC53 mov byte ptr es:[di+94h], 1 seg000:CC59 pop cx seg000:CC5A pop eax seg000:CC5C retn seg000:CC5C sub_CCC2D endp seg000:CC5C seg000:CC5D seg000:CC5D ; =============== S U B R O U T I N E ======================================= seg000:CC5D seg000:CC5D seg000:CC5D sub_CCC5D proc near ; CODE XREF: seg000:loc_CCBD7p seg000:CC5D push eax seg000:CC5F push di seg000:CC60 mov di, [si+2] seg000:CC63 add di, si seg000:CC65 mov eax, [di] seg000:CC68 call loc_CC614 seg000:CC6B mov al, [di+4] seg000:CC6E call loc_CC5D7 seg000:CC71 sub di, si seg000:CC73 add di, 5 seg000:CC76 mov [si+2], di seg000:CC79 pop di seg000:CC7A pop eax seg000:CC7C retn seg000:CC7C sub_CCC5D endp seg000:CC7C seg000:CC7D seg000:CC7D ; =============== S U B R O U T I N E ======================================= seg000:CC7D seg000:CC7D seg000:CC7D sub_CCC7D proc near ; CODE XREF: seg000:CBE2p seg000:CC7D push eax seg000:CC7F push bx seg000:CC80 push cx seg000:CC81 push dx seg000:CC82 push di seg000:CC83 push si seg000:CC84 call sub_C4843 seg000:CC87 mov di, [si+4] seg000:CC8A add di, si seg000:CC8C add si, 10h seg000:CC8F add si, 11h seg000:CC92 mov cl, [si] seg000:CC94 and cl, 0Fh seg000:CC97 inc si seg000:CC98 call loc_CC57B seg000:CC9B mov dl, al seg000:CC9D inc dl seg000:CC9F call sub_CC595 seg000:CCA2 xor dh, dh seg000:CCA4 jmp short loc_CCD1D seg000:CCA6 ; --------------------------------------------------------------------------- seg000:CCA6 seg000:CCA6 loc_CCCA6: ; CODE XREF: sub_CCC7D+A2j seg000:CCA6 push eax seg000:CCA8 mov bl, [si] seg000:CCAA test bl, 80h seg000:CCAD jnz short loc_CCD12 seg000:CCAF push bx seg000:CCB0 mov bl, [si+1] seg000:CCB3 test bl, 60h seg000:CCB6 pop bx seg000:CCB7 jz short loc_CCD0D seg000:CCB9 mov ch, bl seg000:CCBB and bl, 70h seg000:CCBE and ch, 0Fh seg000:CCC1 cmp bl, 20h ; ' ' seg000:CCC4 jz short loc_CCCD5 seg000:CCC6 cmp bl, 30h ; '0' seg000:CCC9 jz short loc_CCCD5 seg000:CCCB cmp bl, 40h ; '@' seg000:CCCE jz short loc_CCCD5 seg000:CCD0 cmp bl, 50h ; 'P' seg000:CCD3 jnz short loc_CCD0D seg000:CCD5 seg000:CCD5 loc_CCCD5: ; CODE XREF: sub_CCC7D+47j seg000:CCD5 ; sub_CCC7D+4Cj ... seg000:CCD5 shl eax, 4 seg000:CCD9 or al, ch seg000:CCDB mov [di], eax seg000:CCDE mov [di+4], dl seg000:CCE1 add di, 5 seg000:CCE4 cmp bl, 30h ; '0' seg000:CCE7 jz short loc_CCCF3 seg000:CCE9 cmp bl, 40h ; '@' seg000:CCEC jz short loc_CCCF3 seg000:CCEE cmp bl, 50h ; 'P' seg000:CCF1 jnz short loc_CCD0D seg000:CCF3 seg000:CCF3 loc_CCCF3: ; CODE XREF: sub_CCC7D+6Aj seg000:CCF3 ; sub_CCC7D+6Fj seg000:CCF3 call loc_CC614 seg000:CCF6 mov al, dl seg000:CCF8 call loc_CC5D7 seg000:CCFB push dx seg000:CCFC call sub_CC2E1 seg000:CCFF call sub_CC32C seg000:CD02 cmp dx, 0Ah seg000:CD05 call loc_CC62E seg000:CD08 pop dx seg000:CD09 jb short loc_CCD0D seg000:CD0B inc dh seg000:CD0D seg000:CD0D loc_CCD0D: ; CODE XREF: sub_CCC7D+3Aj seg000:CD0D ; sub_CCC7D+56j ... seg000:CD0D add si, 14h seg000:CD10 jmp short loc_CCD15 seg000:CD12 ; --------------------------------------------------------------------------- seg000:CD12 seg000:CD12 loc_CCD12: ; CODE XREF: sub_CCC7D+30j seg000:CD12 add si, 2 seg000:CD15 seg000:CD15 loc_CCD15: ; CODE XREF: sub_CCC7D+93j seg000:CD15 dec cl seg000:CD17 pop eax seg000:CD19 or dh, dh seg000:CD1B jnz short loc_CCD21 seg000:CD1D seg000:CD1D loc_CCD1D: ; CODE XREF: sub_CCC7D+27j seg000:CD1D or cl, cl seg000:CD1F jnz short loc_CCCA6 seg000:CD21 seg000:CD21 loc_CCD21: ; CODE XREF: sub_CCC7D+9Ej seg000:CD21 jnz short loc_CCD31 seg000:CD23 xor eax, eax seg000:CD26 call loc_CC614 seg000:CD29 call loc_CC5D7 seg000:CD2C xor dx, dx seg000:CD2E call loc_CC62E seg000:CD31 seg000:CD31 loc_CCD31: ; CODE XREF: sub_CCC7D:loc_CCD21j seg000:CD31 call sub_C48B5 seg000:CD34 pop si seg000:CD35 sub di, si seg000:CD37 mov [si+4], di seg000:CD3A or dh, dh seg000:CD3C pop di seg000:CD3D pop dx seg000:CD3E pop cx seg000:CD3F pop bx seg000:CD40 pop eax seg000:CD42 retn seg000:CD42 sub_CCC7D endp seg000:CD42 seg000:CD43 seg000:CD43 ; =============== S U B R O U T I N E ======================================= seg000:CD43 seg000:CD43 seg000:CD43 sub_CCD43 proc near ; CODE XREF: seg000:CBE7p seg000:CD43 push dx seg000:CD44 push di seg000:CD45 mov di, [si+2] seg000:CD48 mov dx, [si+4] seg000:CD4B cmp di, dx seg000:CD4D pop di seg000:CD4E pop dx seg000:CD4F retn seg000:CD4F sub_CCD43 endp seg000:CD4F seg000:CD4F ; --------------------------------------------------------------------------- seg000:CD50 byte_CCD50 db 8 dup(0), 7Eh, 81h, 0A5h, 81h, 0BDh, 99h, 81h, 2 dup(7Eh) seg000:CD50 ; DATA XREF: seg000:2C64o seg000:CD50 db 0FFh, 0DBh, 0FFh, 0C3h, 0E7h, 0FFh, 7Eh, 6Ch, 3 dup(0FEh) seg000:CD50 db 7Ch, 38h, 10h, 0, 10h, 38h, 7Ch, 0FEh, 7Ch, 38h, 10h seg000:CD50 db 0, 38h, 7Ch, 38h, 2 dup(0FEh), 7Ch, 38h, 7Ch, 2 dup(10h) seg000:CD50 db 38h, 7Ch, 0FEh, 7Ch, 38h, 7Ch, 2 dup(0), 18h, 2 dup(3Ch) seg000:CD50 db 18h, 2 dup(0), 2 dup(0FFh), 0E7h, 2 dup(0C3h), 0E7h seg000:CD50 db 2 dup(0FFh), 0, 3Ch, 66h, 2 dup(42h), 66h, 3Ch, 0, 0FFh seg000:CD50 db 0C3h, 99h, 2 dup(0BDh), 99h, 0C3h, 0FFh, 0Fh, 7, 0Fh seg000:CD50 db 7Dh, 3 dup(0CCh), 78h, 3Ch, 3 dup(66h), 3Ch, 18h, 7Eh seg000:CD50 db 18h, 3Fh, 33h, 3Fh, 2 dup(30h), 70h, 0F0h, 0E0h, 7Fh seg000:CD50 db 63h, 7Fh, 2 dup(63h), 67h, 0E6h, 0C0h, 99h, 5Ah, 3Ch seg000:CD50 db 2 dup(0E7h), 3Ch, 5Ah, 99h, 80h, 0E0h, 0F8h, 0FEh, 0F8h seg000:CD50 db 0E0h, 80h, 0, 2, 0Eh, 3Eh, 0FEh, 3Eh, 0Eh, 2, 0, 18h seg000:CD50 db 3Ch, 7Eh, 2 dup(18h), 7Eh, 3Ch, 18h, 5 dup(66h), 0 seg000:CD50 db 66h, 0, 7Fh, 2 dup(0DBh), 7Bh, 3 dup(1Bh), 0, 3Eh, 63h seg000:CD50 db 38h, 2 dup(6Ch), 38h, 0CCh, 78h, 4 dup(0), 3 dup(7Eh) seg000:CD50 db 0, 18h, 3Ch, 7Eh, 18h, 7Eh, 3Ch, 18h, 0FFh, 18h, 3Ch seg000:CD50 db 7Eh, 4 dup(18h), 0, 4 dup(18h), 7Eh, 3Ch, 18h, 2 dup(0) seg000:CD50 db 18h, 0Ch, 0FEh, 0Ch, 18h, 3 dup(0), 30h, 60h, 0FEh seg000:CD50 db 60h, 30h, 4 dup(0), 3 dup(0C0h), 0FEh, 3 dup(0), 24h seg000:CD50 db 66h, 0FFh, 66h, 24h, 3 dup(0), 18h, 3Ch, 7Eh, 2 dup(0FFh) seg000:CD50 db 3 dup(0), 2 dup(0FFh), 7Eh, 3Ch, 18h, 0Ah dup(0), 30h seg000:CD50 db 2 dup(78h), 2 dup(30h), 0, 30h, 0, 3 dup(6Ch), 5 dup(0) seg000:CD50 db 2 dup(6Ch), 0FEh, 6Ch, 0FEh, 2 dup(6Ch), 0, 30h, 7Ch seg000:CD50 db 0C0h, 78h, 0Ch, 0F8h, 30h, 2 dup(0), 0C6h, 0CCh, 18h seg000:CD50 db 30h, 66h, 0C6h, 0, 38h, 6Ch, 38h, 76h, 0DCh, 0CCh, 76h seg000:CD50 db 0, 2 dup(60h), 0C0h, 5 dup(0), 18h, 30h, 3 dup(60h) seg000:CD50 db 30h, 18h, 0, 60h, 30h, 3 dup(18h), 30h, 60h, 2 dup(0) seg000:CD50 db 66h, 3Ch, 0FFh, 3Ch, 66h, 3 dup(0), 2 dup(30h), 0FCh seg000:CD50 db 2 dup(30h), 7 dup(0), 2 dup(30h), 60h, 3 dup(0), 0FCh seg000:CD50 db 9 dup(0), 2 dup(30h), 0, 6, 0Ch, 18h, 30h, 60h, 0C0h seg000:CD50 db 80h, 0, 7Ch, 0C6h, 0CEh, 0DEh, 0F6h, 0E6h, 7Ch, 0, 30h seg000:CD50 db 70h, 4 dup(30h), 0FCh, 0, 78h, 0CCh, 0Ch, 38h, 60h seg000:CD50 db 0CCh, 0FCh, 0, 78h, 0CCh, 0Ch, 38h, 0Ch, 0CCh, 78h seg000:CD50 db 0, 1Ch, 3Ch, 6Ch, 0CCh, 0FEh, 0Ch, 1Eh, 0, 0FCh, 0C0h seg000:CD50 db 0F8h, 2 dup(0Ch), 0CCh, 78h, 0, 38h, 60h, 0C0h, 0F8h seg000:CD50 db 2 dup(0CCh), 78h, 0, 0FCh, 0CCh, 0Ch, 18h, 3 dup(30h) seg000:CD50 db 0, 78h, 2 dup(0CCh), 78h, 2 dup(0CCh), 78h, 0, 78h seg000:CD50 db 2 dup(0CCh), 7Ch, 0Ch, 18h, 70h, 2 dup(0), 2 dup(30h) seg000:CD50 db 2 dup(0), 2 dup(30h), 2 dup(0), 2 dup(30h), 2 dup(0) seg000:CD50 db 2 dup(30h), 60h, 18h, 30h, 60h, 0C0h, 60h, 30h, 18h seg000:CD50 db 3 dup(0), 0FCh, 2 dup(0), 0FCh, 2 dup(0), 60h, 30h seg000:CD50 db 18h, 0Ch, 18h, 30h, 60h, 0, 78h, 0CCh, 0Ch, 18h, 30h seg000:CD50 db 0, 30h, 0, 7Ch, 0C6h, 3 dup(0DEh), 0C0h, 78h, 0, 30h seg000:CD50 db 78h, 2 dup(0CCh), 0FCh, 2 dup(0CCh), 0, 0FCh, 2 dup(66h) seg000:CD50 db 7Ch, 2 dup(66h), 0FCh, 0, 3Ch, 66h, 3 dup(0C0h), 66h seg000:CD50 db 3Ch, 0, 0F8h, 6Ch, 3 dup(66h), 6Ch, 0F8h, 0, 0FEh, 62h seg000:CD50 db 68h, 78h, 68h, 62h, 0FEh, 0, 0FEh, 62h, 68h, 78h, 68h seg000:CD50 db 60h, 0F0h, 0, 3Ch, 66h, 2 dup(0C0h), 0CEh, 66h, 3Eh seg000:CD50 db 0, 3 dup(0CCh), 0FCh, 3 dup(0CCh), 0, 78h, 5 dup(30h) seg000:CD50 db 78h, 0, 1Eh, 3 dup(0Ch), 2 dup(0CCh), 78h, 0, 0E6h seg000:CD50 db 66h, 6Ch, 78h, 6Ch, 66h, 0E6h, 0, 0F0h, 3 dup(60h) seg000:CD50 db 62h, 66h, 0FEh, 0, 0C6h, 0EEh, 2 dup(0FEh), 0D6h, 2 dup(0C6h) seg000:CD50 db 0, 0C6h, 0E6h, 0F6h, 0DEh, 0CEh, 2 dup(0C6h), 0, 38h seg000:CD50 db 6Ch, 3 dup(0C6h), 6Ch, 38h, 0, 0FCh, 2 dup(66h), 7Ch seg000:CD50 db 2 dup(60h), 0F0h, 0, 78h, 3 dup(0CCh), 0DCh, 78h, 1Ch seg000:CD50 db 0, 0FCh, 2 dup(66h), 7Ch, 6Ch, 66h, 0E6h, 0, 78h, 0CCh seg000:CD50 db 0E0h, 70h, 1Ch, 0CCh, 78h, 0, 0FCh, 0B4h, 4 dup(30h) seg000:CD50 db 78h, 0, 6 dup(0CCh), 0FCh, 0, 5 dup(0CCh), 78h, 30h seg000:D007 db 0, 3 dup(0C6h), 0D6h, 0FEh, 0EEh, 0C6h, 0, 2 dup(0C6h) seg000:D007 db 6Ch, 2 dup(38h), 6Ch, 0C6h, 0, 3 dup(0CCh), 78h, 2 dup(30h) seg000:D007 db 78h, 0, 0FEh, 0C6h, 8Ch, 18h, 32h, 66h, 0FEh, 0, 78h seg000:D007 db 5 dup(60h), 78h, 0, 0C0h, 60h, 30h, 18h, 0Ch, 6, 2 seg000:D007 db 0, 78h, 5 dup(18h), 78h, 0, 10h, 38h, 6Ch, 0C6h, 0Bh dup(0) seg000:D007 db 0FFh, 2 dup(30h), 18h, 7 dup(0), 78h, 0Ch, 7Ch, 0CCh seg000:D007 db 76h, 0, 0E0h, 2 dup(60h), 7Ch, 2 dup(66h), 0DCh, 3 dup(0) seg000:D007 db 78h, 0CCh, 0C0h, 0CCh, 78h, 0, 1Ch, 2 dup(0Ch), 7Ch seg000:D007 db 2 dup(0CCh), 76h, 3 dup(0), 78h, 0CCh, 0FCh, 0C0h, 78h seg000:D007 db 0, 38h, 6Ch, 60h, 0F0h, 2 dup(60h), 0F0h, 3 dup(0) seg000:D007 db 76h, 2 dup(0CCh), 7Ch, 0Ch, 0F8h, 0E0h, 60h, 6Ch, 76h seg000:D007 db 2 dup(66h), 0E6h, 0, 30h, 0, 70h, 3 dup(30h), 78h, 0 seg000:D007 db 0Ch, 0, 3 dup(0Ch), 2 dup(0CCh), 78h, 0E0h, 60h, 66h seg000:D007 db 6Ch, 78h, 6Ch, 0E6h, 0, 70h, 5 dup(30h), 78h, 3 dup(0) seg000:D007 db 0CCh, 2 dup(0FEh), 0D6h, 0C6h, 3 dup(0), 0F8h, 4 dup(0CCh) seg000:D007 db 3 dup(0), 78h, 3 dup(0CCh), 78h, 3 dup(0), 0DCh, 2 dup(66h) seg000:D007 db 7Ch, 60h, 0F0h, 2 dup(0), 76h, 2 dup(0CCh), 7Ch, 0Ch seg000:D007 db 1Eh, 2 dup(0), 0DCh, 76h, 66h, 60h, 0F0h, 3 dup(0) seg000:D007 db 7Ch, 0C0h, 78h, 0Ch, 0F8h, 0, 10h, 30h, 7Ch, 2 dup(30h) seg000:D007 db 34h, 18h, 3 dup(0), 4 dup(0CCh), 76h, 3 dup(0), 3 dup(0CCh) seg000:D007 db 78h, 30h, 3 dup(0), 0C6h, 0D6h, 2 dup(0FEh), 6Ch, 3 dup(0) seg000:D007 db 0C6h, 6Ch, 38h, 6Ch, 0C6h, 3 dup(0), 3 dup(0CCh), 7Ch seg000:D007 db 0Ch, 0F8h, 2 dup(0), 0FCh, 98h, 30h, 64h, 0FCh, 0, 1Ch seg000:D007 db 2 dup(30h), 0E0h, 2 dup(30h), 1Ch, 0, 3 dup(18h), 0 seg000:D007 db 3 dup(18h), 0, 0E0h, 2 dup(30h), 1Ch, 2 dup(30h), 0E0h seg000:D007 db 0, 76h, 0DCh, 7 dup(0), 10h, 38h, 6Ch, 2 dup(0C6h) seg000:D007 db 0FEh, 0, 78h, 0CCh, 0C0h, 0CCh, 78h, 18h, 0Ch, 78h seg000:D007 db 0, 0CCh, 0, 3 dup(0CCh), 7Eh, 0, 1Ch, 0, 78h, 0CCh seg000:D007 db 0FCh, 0C0h, 78h, 0, 7Eh, 0C3h, 3Ch, 6, 3Eh, 66h, 3Fh seg000:D007 db 0, 0CCh, 0, 78h, 0Ch, 7Ch, 0CCh, 7Eh, 0, 0E0h, 0, 78h seg000:D007 db 0Ch, 7Ch, 0CCh, 7Eh, 0, 2 dup(30h), 78h, 0Ch, 7Ch, 0CCh seg000:D007 db 7Eh, 3 dup(0), 78h, 2 dup(0C0h), 78h, 0Ch, 38h, 7Eh seg000:D007 db 0C3h, 3Ch, 66h, 7Eh, 60h, 3Ch, 0, 0CCh, 0, 78h, 0CCh seg000:D007 db 0FCh, 0C0h, 78h, 0, 0E0h, 0, 78h, 0CCh, 0FCh, 0C0h seg000:D007 db 78h, 0, 0CCh, 0, 70h, 3 dup(30h), 78h, 0, 7Ch, 0C6h seg000:D007 db 38h, 3 dup(18h), 3Ch, 0, 0E0h, 0, 70h, 3 dup(30h), 78h seg000:D007 db 0, 0C6h, 38h, 6Ch, 0C6h, 0FEh, 2 dup(0C6h), 0, 2 dup(30h) seg000:D007 db 0, 78h, 0CCh, 0FCh, 0CCh, 0, 1Ch, 0, 0FCh, 60h, 78h seg000:D007 db 60h, 0FCh, 3 dup(0), 7Fh, 0Ch, 7Fh, 0CCh, 7Fh, 0, 3Eh seg000:D007 db 6Ch, 0CCh, 0FEh, 2 dup(0CCh), 0CEh, 0, 78h, 0CCh, 0 seg000:D007 db 78h, 2 dup(0CCh), 78h, 2 dup(0), 0CCh, 0, 78h, 2 dup(0CCh) seg000:D007 db 78h, 2 dup(0), 0E0h, 0, 78h, 2 dup(0CCh), 78h, 0, 78h seg000:D007 db 0CCh, 0, 3 dup(0CCh), 7Eh, 2 dup(0), 0E0h, 0, 3 dup(0CCh) seg000:D007 db 7Eh, 2 dup(0), 0CCh, 0, 2 dup(0CCh), 7Ch, 0Ch, 0F8h seg000:D007 db 0C3h, 18h, 3Ch, 2 dup(66h), 3Ch, 18h, 0, 0CCh, 0, 4 dup(0CCh) seg000:D007 db 78h, 0, 2 dup(18h), 7Eh, 2 dup(0C0h), 7Eh, 2 dup(18h) seg000:D007 db 38h, 6Ch, 64h, 0F0h, 60h, 0E6h, 0FCh, 0, 2 dup(0CCh) seg000:D007 db 78h, 0FCh, 30h, 0FCh, 2 dup(30h), 0F8h, 2 dup(0CCh) seg000:D007 db 0FAh, 0C6h, 0CFh, 0C6h, 0C7h, 0Eh, 1Bh, 18h, 3Ch, 2 dup(18h) seg000:D007 db 0D8h, 70h, 1Ch, 0, 78h, 0Ch, 7Ch, 0CCh, 7Eh, 0, 38h seg000:D007 db 0, 70h, 3 dup(30h), 78h, 2 dup(0), 1Ch, 0, 78h, 2 dup(0CCh) seg000:D007 db 78h, 2 dup(0), 1Ch, 0, 3 dup(0CCh), 7Eh, 2 dup(0), 0F8h seg000:D007 db 0, 0F8h, 3 dup(0CCh), 0, 0FCh, 0, 0CCh, 0ECh, 0FCh seg000:D007 db 0DCh, 0CCh, 0, 3Ch, 2 dup(6Ch), 3Eh, 0, 7Eh, 2 dup(0) seg000:D007 db 38h, 2 dup(6Ch), 38h, 0, 7Ch, 2 dup(0), 30h, 0, 30h seg000:D007 db 60h, 0C0h, 0CCh, 78h, 4 dup(0), 0FCh, 2 dup(0C0h), 5 dup(0) seg000:D007 db 0FCh, 2 dup(0Ch), 2 dup(0), 0C3h, 0C6h, 0CCh, 0DEh seg000:D007 db 33h, 66h, 0CCh, 0Fh, 0C3h, 0C6h, 0CCh, 0DBh seg000:D2B4 db 37h, 6Fh, 0CFh, 3, 2 dup(18h), 0, 4 dup(18h), 2 dup(0) seg000:D2B4 db 33h, 66h, 0CCh, 66h, 33h, 3 dup(0), 0CCh, 66h, 33h seg000:D2B4 db 66h, 0CCh, 2 dup(0), 22h, 88h, 22h, 88h, 22h, 88h, 22h seg000:D2B4 db 88h, 55h, 0AAh, 55h, 0AAh, 55h, 0AAh, 55h, 0AAh, 0DBh seg000:D2B4 db 77h, 0DBh, 0EEh, 0DBh, 77h, 0DBh, 0EEh, 0Ch dup(18h) seg000:D2B4 db 0F8h, 5 dup(18h), 0F8h, 18h, 0F8h, 3 dup(18h), 4 dup(36h) seg000:D2B4 db 0F6h, 3 dup(36h), 4 dup(0), 0FEh, 3 dup(36h), 2 dup(0) seg000:D2B4 db 0F8h, 18h, 0F8h, 3 dup(18h), 2 dup(36h), 0F6h, 6, 0F6h seg000:D2B4 db 0Bh dup(36h), 2 dup(0), 0FEh, 6, 0F6h, 5 dup(36h), 0F6h seg000:D2B4 db 6, 0FEh, 3 dup(0), 4 dup(36h), 0FEh, 3 dup(0), 2 dup(18h) seg000:D2B4 db 0F8h, 18h, 0F8h, 7 dup(0), 0F8h, 7 dup(18h), 1Fh, 3 dup(0) seg000:D2B4 db 4 dup(18h), 0FFh, 7 dup(0), 0FFh, 7 dup(18h), 1Fh, 3 dup(18h) seg000:D2B4 db 4 dup(0), 0FFh, 3 dup(0), 4 dup(18h), 0FFh, 5 dup(18h) seg000:D2B4 db 1Fh, 18h, 1Fh, 3 dup(18h), 4 dup(36h), 37h, 5 dup(36h) seg000:D2B4 db 37h, 30h, 3Fh, 5 dup(0), 3Fh, 30h, 37h, 5 dup(36h) seg000:D2B4 db 0F7h, 0, 0FFh, 5 dup(0), 0FFh, 0, 0F7h, 5 dup(36h) seg000:D2B4 db 37h, 30h, 37h, 3 dup(36h), 2 dup(0), 0FFh, 0, 0FFh seg000:D2B4 db 3 dup(0), 2 dup(36h), 0F7h, 0, 0F7h, 3 dup(36h), 2 dup(18h) seg000:D2B4 db 0FFh, 0, 0FFh, 3 dup(0), 4 dup(36h), 0FFh, 5 dup(0) seg000:D2B4 db 0FFh, 0, 0FFh, 3 dup(18h), 4 dup(0), 0FFh, 7 dup(36h) seg000:D2B4 db 3Fh, 3 dup(0), 2 dup(18h), 1Fh, 18h, 1Fh, 5 dup(0) seg000:D2B4 db 1Fh, 18h, 1Fh, 3 dup(18h), 4 dup(0), 3Fh, 7 dup(36h) seg000:D2B4 db 0FFh, 3 dup(36h), 2 dup(18h), 0FFh, 18h, 0FFh, 7 dup(18h) seg000:D2B4 db 0F8h, 7 dup(0), 1Fh, 3 dup(18h), 8 dup(0FFh), 4 dup(0) seg000:D2B4 db 4 dup(0FFh), 8 dup(0F0h), 8 dup(0Fh), 4 dup(0FFh), 6 dup(0) seg000:D2B4 db 76h, 0DCh, 0C8h, 0DCh, 76h, 2 dup(0), 78h, 0CCh, 0F8h seg000:D2B4 db 0CCh, 0F8h, 2 dup(0C0h), 0, 0FCh, 0CCh, 4 dup(0C0h) seg000:D2B4 db 2 dup(0), 0FEh, 5 dup(6Ch), 0, 0FCh, 0CCh, 60h, 30h seg000:D2B4 db 60h, 0CCh, 0FCh, 3 dup(0), 7Eh, 3 dup(0D8h), 70h, 2 dup(0) seg000:D2B4 db 4 dup(66h), 7Ch, 60h, 0C0h, 0, 76h, 0DCh, 4 dup(18h) seg000:D2B4 db 0, 0FCh, 30h, 78h, 2 dup(0CCh), 78h, 30h, 0FCh, 38h seg000:D2B4 db 6Ch, 0C6h, 0FEh, 0C6h, 6Ch, 38h, 0, 38h, 6Ch, 2 dup(0C6h) seg000:D2B4 db 2 dup(6Ch), 0EEh, 0, 1Ch, 30h, 18h, 7Ch, 2 dup(0CCh) seg000:D2B4 db 78h, 3 dup(0), 7Eh, 2 dup(0DBh), 7Eh, 2 dup(0), 6, 0Ch seg000:D2B4 db 7Eh, 2 dup(0DBh), 7Eh, 60h, 0C0h, 38h, 60h, 0C0h, 0F8h seg000:D2B4 db 0C0h, 60h, 38h, 0, 78h, 6 dup(0CCh), 2 dup(0), 0FCh seg000:D2B4 db 0, 0FCh, 0, 0FCh, 2 dup(0), 2 dup(30h), 0FCh, 2 dup(30h) seg000:D2B4 db 0, 0FCh, 0, 60h, 30h, 18h, 30h, 60h, 0, 0FCh, 0, 18h seg000:D2B4 db 30h, 60h, 30h, 18h, 0, 0FCh, 0, 0Eh, 2 dup(1Bh), 0Ah dup(18h) seg000:D2B4 db 2 dup(0D8h), 70h, 2 dup(30h), 0, 0FCh, 0, 2 dup(30h) seg000:D2B4 db 2 dup(0), 76h, 0DCh, 0, 76h, 0DCh, 2 dup(0), 38h, 2 dup(6Ch) seg000:D2B4 db 38h, 7 dup(0), 2 dup(18h), 7 dup(0), 18h, 3 dup(0) seg000:D2B4 db 0Fh, 3 dup(0Ch), 0ECh, 6Ch, 3Ch, 1Ch, 78h, 4 dup(6Ch) seg000:D2B4 db 3 dup(0), 70h, 18h, 30h, 60h, 78h, 5 dup(0), 4 dup(3Ch) seg000:D2B4 db 1Ch dup(0), 7Eh, 81h, 0A5h, 2 dup(81h), 0A5h, 99h, 2 dup(81h) seg000:D2B4 db 7Eh, 6 dup(0), 7Eh, 0FFh, 0DBh, 2 dup(0FFh), 0DBh, 0E7h seg000:D2B4 db 2 dup(0FFh), 7Eh, 8 dup(0), 6Ch, 4 dup(0FEh), 7Ch, 38h seg000:D2B4 db 10h, 8 dup(0), 10h, 38h, 7Ch, 0FEh, 7Ch, 38h, 10h, 8 dup(0) seg000:D2B4 db 18h, 2 dup(3Ch), 3 dup(0E7h), 2 dup(18h), 3Ch, 7 dup(0) seg000:D2B4 db 18h, 3Ch, 7Eh, 2 dup(0FFh), 7Eh, 2 dup(18h), 3Ch, 0Ah dup(0) seg000:D2B4 db 18h, 2 dup(3Ch), 18h, 6 dup(0), 6 dup(0FFh), 0E7h, 2 dup(0C3h) seg000:D2B4 db 0E7h, 6 dup(0FFh), 5 dup(0), 3Ch, 66h, 2 dup(42h), 66h seg000:D2B4 db 3Ch, 5 dup(0), 5 dup(0FFh), 0C3h, 99h, 2 dup(0BDh) seg000:D2B4 db 99h, 0C3h, 5 dup(0FFh), 2 dup(0), 1Eh, 6, 0Eh, 1Ah seg000:D2B4 db 78h, 4 dup(0CCh), 78h, 6 dup(0), 3Ch, 4 dup(66h), 3Ch seg000:D2B4 db 18h, 7Eh, 2 dup(18h), 6 dup(0), 3Fh, 33h, 3Fh, 4 dup(30h) seg000:D2B4 db 70h, 0F0h, 0E0h, 6 dup(0), 7Fh, 63h, 7Fh, 4 dup(63h) seg000:D2B4 db 67h, 0E7h, 0E6h, 0C0h, 6 dup(0), 2 dup(18h), 0DBh, 3Ch seg000:D2B4 db 0E7h, 3Ch, 0DBh, 2 dup(18h), 5 dup(0), 80h, 0C0h, 0E0h seg000:D2B4 db 0F0h, 0F8h, 0FEh, 0F8h, 0F0h, 0E0h, 0C0h, 80h, 5 dup(0) seg000:D2B4 db 2, 6, 0Eh, 1Eh, 3Eh, 0FEh, 3Eh, 1Eh, 0Eh, 6, 2, 6 dup(0) seg000:D2B4 db 18h, 3Ch, 7Eh, 3 dup(18h), 7Eh, 3Ch, 18h, 7 dup(0) seg000:D2B4 db 7 dup(66h), 0, 2 dup(66h), 6 dup(0), 7Fh, 3 dup(0DBh) seg000:D2B4 db 7Bh, 5 dup(1Bh), 5 dup(0), 7Ch, 0C6h, 60h, 38h, 6Ch seg000:D2B4 db 2 dup(0C6h), 6Ch, 38h, 0Ch, 0C6h, 7Ch, 0Bh dup(0), 4 dup(0FEh) seg000:D2B4 db 6 dup(0), 18h seg000:D6C3 db 3Ch, 7Eh, 3 dup(18h), 7Eh, 3Ch, 18h, 7Eh, 6 dup(0) seg000:D6C3 db 18h, 3Ch, 7Eh, 7 dup(18h), 6 dup(0), 7 dup(18h), 7Eh seg000:D6C3 db 3Ch, 18h, 9 dup(0), 18h, 0Ch, 0FEh, 0Ch, 18h, 0Bh dup(0) seg000:D6C3 db 30h, 60h, 0FEh, 60h, 30h, 0Ch dup(0), 3 dup(0C0h), 0FEh seg000:D6C3 db 0Bh dup(0), 28h, 6Ch, 0FEh, 6Ch, 28h, 0Ah dup(0), 10h seg000:D6C3 db 2 dup(38h), 2 dup(7Ch), 2 dup(0FEh), 9 dup(0), 2 dup(0FEh) seg000:D6C3 db 2 dup(7Ch), 2 dup(38h), 10h, 17h dup(0), 18h, 3 dup(3Ch) seg000:D6C3 db 3 dup(18h), 0, 2 dup(18h), 5 dup(0), 3 dup(66h), 24h seg000:D6C3 db 0Eh dup(0), 2 dup(6Ch), 0FEh, 3 dup(6Ch), 0FEh, 2 dup(6Ch) seg000:D6C3 db 4 dup(0), 2 dup(18h), 7Ch, 0C6h, 0C2h, 0C0h, 7Ch, 2 dup(6) seg000:D6C3 db 86h, 0C6h, 7Ch, 2 dup(18h), 6 dup(0), 0C2h, 0C6h, 0Ch seg000:D6C3 db 18h, 30h, 60h, 0C6h, 86h, 6 dup(0), 38h, 2 dup(6Ch) seg000:D6C3 db 38h, 76h, 0DCh, 3 dup(0CCh), 76h, 5 dup(0), 3 dup(30h) seg000:D6C3 db 60h, 0Dh dup(0), 0Ch, 18h, 6 dup(30h), 18h, 0Ch, 6 dup(0) seg000:D6C3 db 30h, 18h, 6 dup(0Ch), 18h, 30h, 9 dup(0), 66h, 3Ch seg000:D6C3 db 0FFh, 3Ch, 66h, 0Bh dup(0), 2 dup(18h), 7Eh, 2 dup(18h) seg000:D6C3 db 0Fh dup(0), 3 dup(18h), 30h, 0Ah dup(0), 0FEh, 12h dup(0) seg000:D6C3 db 2 dup(18h), 8 dup(0), 2, 6, 0Ch, 18h, 30h, 60h, 0C0h seg000:D6C3 db 80h, 6 dup(0), 38h, 6Ch, 2 dup(0C6h), 2 dup(0D6h), 2 dup(0C6h) seg000:D6C3 db 6Ch, 38h, 6 dup(0), 18h, 38h, 78h, 6 dup(18h), 7Eh seg000:D6C3 db 6 dup(0), 7Ch, 0C6h, 6, 0Ch, 18h, 30h, 60h, 0C0h, 0C6h seg000:D6C3 db 0FEh, 6 dup(0), 7Ch, 0C6h, 2 dup(6), 3Ch, 3 dup(6) seg000:D6C3 db 0C6h, 7Ch, 6 dup(0), 0Ch, 1Ch, 3Ch, 6Ch, 0CCh, 0FEh seg000:D6C3 db 3 dup(0Ch), 1Eh, 6 dup(0), 0FEh, 3 dup(0C0h), 0FCh seg000:D6C3 db 3 dup(6), 0C6h, 7Ch, 6 dup(0), 38h, 60h, 2 dup(0C0h) seg000:D6C3 db 0FCh, 4 dup(0C6h), 7Ch, 6 dup(0), 0FEh, 0C6h, 2 dup(6) seg000:D6C3 db 0Ch, 18h, 4 dup(30h), 6 dup(0), 7Ch, 3 dup(0C6h), 7Ch seg000:D6C3 db 4 dup(0C6h), 7Ch, 6 dup(0), 7Ch, 3 dup(0C6h), 7Eh, 3 dup(6) seg000:D6C3 db 0Ch, 78h, 8 dup(0), 2 dup(18h), 3 dup(0), 2 dup(18h) seg000:D6C3 db 9 dup(0), 2 dup(18h), 3 dup(0), 2 dup(18h), 30h, 7 dup(0) seg000:D6C3 db 6, 0Ch, 18h, 30h, 60h, 30h, 18h, 0Ch, 6, 9 dup(0), 7Eh seg000:D6C3 db 2 dup(0), 7Eh, 0Ah dup(0), 60h, 30h, 18h, 0Ch, 6, 0Ch seg000:D6C3 db 18h, 30h, 60h, 6 dup(0), 7Ch, 2 dup(0C6h), 0Ch, 3 dup(18h) seg000:D6C3 db 0, 2 dup(18h), 7 dup(0), 7Ch, 2 dup(0C6h), 3 dup(0DEh) seg000:D6C3 db 0DCh, 0C0h, 7Ch, 6 dup(0), 10h, 38h, 6Ch, 2 dup(0C6h) seg000:D6C3 db 0FEh, 4 dup(0C6h), 6 dup(0), 0FCh, 3 dup(66h), 7Ch seg000:D6C3 db 4 dup(66h), 0FCh, 6 dup(0), 3Ch, 66h, 0C2h, 4 dup(0C0h) seg000:D6C3 db 0C2h, 66h, 3Ch, 6 dup(0), 0F8h, 6Ch, 6 dup(66h), 6Ch seg000:D6C3 db 0F8h, 6 dup(0), 0FEh, 66h, 62h, 68h, 78h, 68h, 60h seg000:D6C3 db 62h, 66h, 0FEh, 6 dup(0), 0FEh, 66h, 62h, 68h, 78h seg000:D6C3 db 68h, 3 dup(60h), 0F0h, 6 dup(0), 3Ch, 66h, 0C2h, 2 dup(0C0h) seg000:D6C3 db 0DEh, 2 dup(0C6h), 66h, 3Ah, 6 dup(0), 4 dup(0C6h) seg000:D6C3 db 0FEh, 5 dup(0C6h), 6 dup(0), 3Ch, 8 dup(18h), 3Ch, 6 dup(0) seg000:D6C3 db 1Eh, 5 dup(0Ch), 3 dup(0CCh), 78h, 6 dup(0), 0E6h, 2 dup(66h) seg000:D6C3 db 6Ch, 2 dup(78h), 6Ch, 2 dup(66h), 0E6h, 6 dup(0), 0F0h seg000:D6C3 db 6 dup(60h), 62h, 66h, 0FEh, 6 dup(0), 0C6h, 0EEh, 2 dup(0FEh) seg000:D6C3 db 0D6h, 5 dup(0C6h), 6 dup(0), 0C6h, 0E6h, 0F6h, 0FEh seg000:D6C3 db 0DEh, 0CEh, 4 dup(0C6h), 6 dup(0), 7Ch, 8 dup(0C6h) seg000:D6C3 db 7Ch, 6 dup(0), 0FCh, 3 dup(66h), 7Ch, 4 dup(60h), 0F0h seg000:D6C3 db 6 dup(0), 7Ch, 6 dup(0C6h), 0D6h, 0DEh, 7Ch, 0Ch, 0Eh seg000:D6C3 db 4 dup(0), 0FCh, 3 dup(66h), 7Ch, 6Ch, 3 dup(66h), 0E6h seg000:D6C3 db 6 dup(0), 7Ch, 2 dup(0C6h), 60h, 38h, 0Ch, 6, 2 dup(0C6h) seg000:D6C3 db 7Ch, 6 dup(0), 2 dup(7Eh), 5Ah, 6 dup(18h), 3Ch, 6 dup(0) seg000:D6C3 db 9 dup(0C6h), 7Ch, 6 dup(0), 7 dup(0C6h), 6Ch, 38h, 10h seg000:D6C3 db 6 dup(0), 4 dup(0C6h), 3 dup(0D6h), 0FEh, 0EEh, 6Ch seg000:D6C3 db 6 dup(0), 2 dup(0C6h), 6Ch, 7Ch, 2 dup(38h), 7Ch, 6Ch seg000:D6C3 db 2 dup(0C6h), 6 dup(0), 4 dup(66h), 3Ch, 4 dup(18h) seg000:D6C3 db 3Ch, 6 dup(0), 0FEh, 0C6h, 86h, 0Ch, 18h, 30h, 60h seg000:D6C3 db 0C2h, 0C6h, 0FEh, 6 dup(0), 3Ch, 8 dup(30h), 3Ch, 7 dup(0) seg000:D6C3 db 80h, 0C0h, 0E0h, 70h, 38h, 1Ch, 0Eh, 6, 2, 6 dup(0) seg000:D6C3 db 3Ch, 8 dup(0Ch), 3Ch, 4 dup(0), 10h, 38h, 6Ch, 0C6h seg000:D6C3 db 19h dup(0), 0FFh, 2 dup(0), 2 dup(30h), 18h, 12h dup(0) seg000:D6C3 db 78h, 0Ch, 7Ch, 3 dup(0CCh), 76h, 6 dup(0), 0E0h, 2 dup(60h) seg000:D6C3 db 78h, 6Ch, 4 dup(66h), 7Ch, 9 dup(0), 7Ch, 0C6h, 3 dup(0C0h) seg000:D6C3 db 0C6h, 7Ch, 6 dup(0), 1Ch, 2 dup(0Ch), 3Ch, 6Ch, 4 dup(0CCh) seg000:D6C3 db 76h, 9 dup(0), 7Ch, 0C6h, 0FEh, 2 dup(0C0h), 0C6h, 7Ch seg000:D6C3 db 6 dup(0), 38h, 6Ch, 64h, 60h, 0F0h, 4 dup(60h), 0F0h seg000:D6C3 db 9 dup(0), 76h, 5 dup(0CCh), 7Ch, 0Ch, 0CCh, 78h, 3 dup(0) seg000:D6C3 db 0E0h, 2 dup(60h), 6Ch, 76h, 66h seg000:DBD8 db 3 dup(66h), 0E6h, 6 dup(0), 2 dup(18h), 0, 38h, 5 dup(18h) seg000:DBD8 db 3Ch, 6 dup(0), 2 dup(6), 0, 0Eh, 6 dup(6), 2 dup(66h) seg000:DBD8 db 3Ch, 3 dup(0), 0E0h, 2 dup(60h), 66h, 6Ch, 2 dup(78h) seg000:DBD8 db 6Ch, 66h, 0E6h, 6 dup(0), 38h, 8 dup(18h), 3Ch, 9 dup(0) seg000:DBD8 db 0ECh, 0FEh, 4 dup(0D6h), 0C6h, 9 dup(0), 0DCh, 6 dup(66h) seg000:DBD8 db 9 dup(0), 7Ch, 5 dup(0C6h), 7Ch, 9 dup(0), 0DCh, 5 dup(66h) seg000:DBD8 db 7Ch, 2 dup(60h), 0F0h, 6 dup(0), 76h, 5 dup(0CCh), 7Ch seg000:DBD8 db 2 dup(0Ch), 1Eh, 6 dup(0), 0DCh, 76h, 66h, 3 dup(60h) seg000:DBD8 db 0F0h, 9 dup(0), 7Ch, 0C6h, 60h, 38h, 0Ch, 0C6h, 7Ch seg000:DBD8 db 6 dup(0), 10h, 2 dup(30h), 0FCh, 4 dup(30h), 36h, 1Ch seg000:DBD8 db 9 dup(0), 6 dup(0CCh), 76h, 9 dup(0), 5 dup(66h), 3Ch seg000:DBD8 db 18h, 9 dup(0), 2 dup(0C6h), 3 dup(0D6h), 0FEh, 6Ch seg000:DBD8 db 9 dup(0), 0C6h, 6Ch, 3 dup(38h), 6Ch, 0C6h, 9 dup(0) seg000:DBD8 db 6 dup(0C6h), 7Eh, 6, 0Ch, 0F8h, 6 dup(0), 0FEh, 0CCh seg000:DBD8 db 18h, 30h, 60h, 0C6h, 0FEh, 6 dup(0), 0Eh, 3 dup(18h) seg000:DBD8 db 70h, 4 dup(18h), 0Eh, 6 dup(0), 4 dup(18h), 0, 5 dup(18h) seg000:DBD8 db 6 dup(0), 70h, 3 dup(18h), 0Eh, 4 dup(18h), 70h, 6 dup(0) seg000:DBD8 db 76h, 0DCh, 10h dup(0), 10h, 38h, 6Ch, 3 dup(0C6h), 0FEh seg000:DBD8 db 7 dup(0), 3Ch, 66h, 0C2h, 3 dup(0C0h), 0C2h, 66h, 3Ch seg000:DBD8 db 0Ch, 6, 7Ch, 4 dup(0), 0CCh, 2 dup(0), 6 dup(0CCh) seg000:DBD8 db 76h, 5 dup(0), 0Ch, 18h, 30h, 0, 7Ch, 0C6h, 0FEh, 2 dup(0C0h) seg000:DBD8 db 0C6h, 7Ch, 5 dup(0), 10h, 38h, 6Ch, 0, 78h, 0Ch, 7Ch seg000:DBD8 db 3 dup(0CCh), 76h, 6 dup(0), 0CCh, 2 dup(0), 78h, 0Ch seg000:DBD8 db 7Ch, 3 dup(0CCh), 76h, 5 dup(0), 60h, 30h, 18h, 0, 78h seg000:DBD8 db 0Ch, 7Ch, 3 dup(0CCh), 76h, 5 dup(0), 38h, 6Ch, 38h seg000:DBD8 db 0, 78h, 0Ch, 7Ch, 3 dup(0CCh), 76h, 8 dup(0), 3Ch, 66h seg000:DBD8 db 2 dup(60h), 66h, 3Ch, 0Ch, 6, 3Ch, 4 dup(0), 10h, 38h seg000:DBD8 db 6Ch, 0, 7Ch, 0C6h, 0FEh, 2 dup(0C0h), 0C6h, 7Ch, 6 dup(0) seg000:DBD8 db 0C6h, 2 dup(0), 7Ch, 0C6h, 0FEh, 2 dup(0C0h), 0C6h seg000:DBD8 db 7Ch, 5 dup(0), 60h, 30h, 18h, 0, 7Ch, 0C6h, 0FEh, 2 dup(0C0h) seg000:DBD8 db 0C6h, 7Ch, 6 dup(0), 66h, 2 dup(0), 38h, 5 dup(18h) seg000:DBD8 db 3Ch, 5 dup(0), 18h, 3Ch, 66h, 0, 38h, 5 dup(18h), 3Ch seg000:DBD8 db 5 dup(0), 60h, 30h, 18h, 0, 38h, 5 dup(18h), 3Ch, 5 dup(0) seg000:DBD8 db 0C6h, 0, 10h, 38h, 6Ch, 2 dup(0C6h), 0FEh, 3 dup(0C6h) seg000:DBD8 db 4 dup(0), 38h, 6Ch, 38h, 0, 38h, 6Ch, 2 dup(0C6h), 0FEh seg000:DBD8 db 3 dup(0C6h), 4 dup(0), 18h, 30h, 60h, 0, 0FEh, 66h seg000:DBD8 db 60h, 7Ch, 2 dup(60h), 66h, 0FEh, 9 dup(0), 0CCh, 76h seg000:DBD8 db 36h, 7Eh, 2 dup(0D8h), 6Eh, 6 dup(0), 3Eh, 6Ch, 2 dup(0CCh) seg000:DBD8 db 0FEh, 4 dup(0CCh), 0CEh, 5 dup(0), 10h, 38h, 6Ch, 0 seg000:DBD8 db 7Ch, 5 dup(0C6h), 7Ch, 6 dup(0), 0C6h, 2 dup(0), 7Ch seg000:DBD8 db 5 dup(0C6h), 7Ch, 5 dup(0), 60h, 30h, 18h, 0, 7Ch, 5 dup(0C6h) seg000:DBD8 db 7Ch, 5 dup(0), 30h, 78h, 0CCh, 0, 6 dup(0CCh), 76h seg000:DBD8 db 5 dup(0), 60h, 30h, 18h, 0, 6 dup(0CCh), 76h, 6 dup(0) seg000:DBD8 db 0C6h, 2 dup(0), 6 dup(0C6h), 7Eh, 6, 0Ch, 78h, 2 dup(0) seg000:DBD8 db 0C6h, 0, 7Ch, 7 dup(0C6h), 7Ch, 5 dup(0), 0C6h, 0, 8 dup(0C6h) seg000:DBD8 db 7Ch, 5 dup(0), 2 dup(18h), 3Ch, 66h, 3 dup(60h), 66h seg000:DBD8 db 3Ch, 2 dup(18h), 5 dup(0), 38h, 6Ch, 64h, 60h, 0F0h seg000:DBD8 db 4 dup(60h), 0E6h, 0FCh, 6 dup(0), 2 dup(66h), 3Ch, 18h seg000:DBD8 db 7Eh, 18h, 7Eh, 3 dup(18h), 5 dup(0), 0F8h, 2 dup(0CCh) seg000:DBD8 db 0F8h, 0C4h, 0CCh, 0DEh, 3 dup(0CCh), 0C6h, 5 dup(0) seg000:DBD8 db 0Eh, 1Bh, 3 dup(18h), 7Eh, 5 dup(18h), 0D8h, 70h, 3 dup(0) seg000:DBD8 db 18h, 30h, 60h, 0, 78h, 0Ch, 7Ch, 3 dup(0CCh), 76h, 5 dup(0) seg000:DBD8 db 0Ch, 18h, 30h, 0, 38h, 5 dup(18h), 3Ch, 5 dup(0), 18h seg000:DBD8 db 30h, 60h, 0, 7Ch, 5 dup(0C6h), 7Ch, 5 dup(0), 18h, 30h seg000:DBD8 db 60h, 0, 6 dup(0CCh), 76h, 6 dup(0), 76h, 0DCh, 0, 0DCh seg000:DBD8 db 6 dup(66h), 4 dup(0), 76h, 0DCh, 0, 0C6h, 0E6h, 0F6h seg000:DBD8 db 0FEh, 0DEh, 0CEh, 3 dup(0C6h), 5 dup(0), 3Ch, 2 dup(6Ch) seg000:DBD8 db 3Eh, 0, 7Eh, 0Ah dup(0), 38h, 2 dup(6Ch), 38h, 0, 7Ch seg000:DBD8 db 0Bh dup(0), 2 dup(30h), 0, 2 dup(30h), 60h, 0C0h, 2 dup(0C6h) seg000:DBD8 db 7Ch, 0Ah dup(0), 0FEh, 4 dup(0C0h), 0Bh dup(0), 0FEh seg000:DBD8 db 4 dup(6), 6 dup(0), 2 dup(0C0h), 0C2h, 0C6h, 0CCh, 18h seg000:DBD8 db 30h, 60h, 0DCh, 86h, 0Ch, 18h, 3Eh, 3 dup(0), 2 dup(0C0h) seg000:DBD8 db 0C2h, 0C6h, 0CCh, 18h, 30h, 66h, 0CEh, 9Eh, 3Eh, 2 dup(6) seg000:DBD8 db 4 dup(0), 2 dup(18h), 0, 3 dup(18h), 3 dup(3Ch), 18h seg000:DBD8 db 9 dup(0), 36h, 6Ch, 0D8h, 6Ch, 36h seg000:E03A db 0Bh dup(0), 0D8h, 6Ch, 36h, 6Ch, 0D8h, 6 dup(0), 11h seg000:E03A db 44h, 11h, 44h, 11h, 44h, 11h, 44h, 11h, 44h, 11h, 44h seg000:E03A db 11h, 44h, 11h, 44h, 55h, 0AAh, 55h, 0AAh, 55h, 0AAh seg000:E03A db 55h, 0AAh, 55h, 0AAh, 55h, 0AAh, 55h, 0AAh, 55h, 0AAh seg000:E03A db 0DDh, 77h, 0DDh, 77h, 0DDh, 77h, 0DDh, 77h, 0DDh, 77h seg000:E03A db 0DDh, 77h, 0DDh, 77h, 0DDh, 77h, 17h dup(18h), 0F8h seg000:E03A db 0Dh dup(18h), 0F8h, 18h, 0F8h, 8 dup(18h), 7 dup(36h) seg000:E03A db 0F6h, 8 dup(36h), 7 dup(0), 0FEh, 8 dup(36h), 5 dup(0) seg000:E03A db 0F8h, 18h, 0F8h, 8 dup(18h), 5 dup(36h), 0F6h, 6, 0F6h seg000:E0E8 a66666666666666 db '666666666666666666666666',0 seg000:E101 db 4 dup(0), 0FEh, 6, 0F6h, 0Dh dup(36h), 0F6h, 6, 0FEh seg000:E101 db 8 dup(0), 7 dup(36h), 0FEh, 8 dup(0), 5 dup(18h), 0F8h seg000:E101 db 18h, 0F8h, 0Fh dup(0), 0F8h, 0Fh dup(18h), 1Fh, 8 dup(0) seg000:E101 db 7 dup(18h), 0FFh, 0Fh dup(0), 0FFh, 0Fh dup(18h), 1Fh seg000:E101 db 8 dup(18h), 7 dup(0), 0FFh, 8 dup(0), 7 dup(18h), 0FFh seg000:E101 db 0Dh dup(18h), 1Fh, 18h, 1Fh, 8 dup(18h) seg000:E1C0 a66666667666666 db '66666667666666666666670?',0 seg000:E1D9 db 0Ch dup(0), 3Fh, 30h, 37h, 0Dh dup(36h), 0F7h, 0, 0FFh seg000:E1D9 db 0Dh dup(0), 0FFh, 0, 0F7h seg000:E208 a66666666666667 db '666666666666670766666666',0 seg000:E221 db 4 dup(0), 0FFh, 0, 0FFh, 8 dup(0), 5 dup(36h), 0F7h seg000:E221 db 0, 0F7h, 8 dup(36h), 5 dup(18h), 0FFh, 0, 0FFh, 8 dup(0) seg000:E221 db 7 dup(36h), 0FFh, 0Dh dup(0), 0FFh, 0, 0FFh, 8 dup(18h) seg000:E221 db 7 dup(0), 0FFh, 0Fh dup(36h), 3Fh, 8 dup(0), 5 dup(18h) seg000:E221 db 1Fh, 18h, 1Fh, 0Dh dup(0), 1Fh, 18h, 1Fh, 8 dup(18h) seg000:E221 db 7 dup(0), 3Fh, 0Fh dup(36h), 0FFh, 8 dup(36h), 5 dup(18h) seg000:E221 db 0FFh, 18h, 0FFh, 0Fh dup(18h), 0F8h, 0Fh dup(0), 1Fh seg000:E221 db 8 dup(18h), 10h dup(0FFh), 7 dup(0), 9 dup(0FFh), 10h dup(0F0h) seg000:E221 db 10h dup(0Fh), 7 dup(0FFh), 0Eh dup(0), 76h, 0DCh, 3 dup(0D8h) seg000:E221 db 0DCh, 76h, 6 dup(0), 78h, 3 dup(0CCh), 0D8h, 0CCh, 3 dup(0C6h) seg000:E221 db 0CCh, 6 dup(0), 0FEh, 2 dup(0C6h), 7 dup(0C0h), 8 dup(0) seg000:E221 db 0FEh, 7 dup(6Ch), 7 dup(0), 0FEh, 0C6h, 60h, 30h, 18h seg000:E221 db 30h, 60h, 0C6h, 0FEh, 9 dup(0), 7Eh, 5 dup(0D8h), 70h seg000:E221 db 8 dup(0), 5 dup(66h), 7Ch, 2 dup(60h), 0C0h, 7 dup(0) seg000:E221 db 76h, 0DCh, 6 dup(18h), 7 dup(0), 7Eh, 18h, 3Ch, 3 dup(66h) seg000:E221 db 3Ch, 18h, 7Eh, 7 dup(0), 38h, 6Ch, 2 dup(0C6h), 0FEh seg000:E221 db 2 dup(0C6h), 6Ch, 38h, 6 dup(0), 38h, 6Ch, 3 dup(0C6h) seg000:E221 db 4 dup(6Ch), 0EEh, 6 dup(0), 1Eh, 30h, 18h, 0Ch, 3Eh seg000:E221 db 4 dup(66h), 3Ch, 9 dup(0), 7Eh, 3 dup(0DBh), 7Eh, 9 dup(0) seg000:E221 db 3, 6, 7Eh, 2 dup(0DBh), 0F3h, 7Eh, 60h, 0C0h, 6 dup(0) seg000:E221 db 1Ch, 30h, 2 dup(60h), 7Ch, 3 dup(60h), 30h, 1Ch, 7 dup(0) seg000:E221 db 7Ch, 8 dup(0C6h), 8 dup(0), 0FEh, 2 dup(0), 0FEh, 2 dup(0) seg000:E221 db 0FEh, 9 dup(0), 2 dup(18h), 7Eh, 2 dup(18h), 2 dup(0) seg000:E221 db 0FFh, 7 dup(0), 30h, 18h, 0Ch, 6, 0Ch, 18h, 30h, 0 seg000:E221 db 7Eh, 7 dup(0), 0Ch, 18h, 30h, 60h, 30h, 18h, 0Ch, 0 seg000:E221 db 7Eh, 6 dup(0), 0Eh, 2 dup(1Bh), 13h dup(18h), 3 dup(0D8h) seg000:E221 db 70h, 8 dup(0), 2 dup(18h), 0, 7Eh, 0, 2 dup(18h), 0Ah dup(0) seg000:E221 db 76h, 0DCh, 0, 76h, 0DCh, 7 dup(0), 38h, 2 dup(6Ch) seg000:E221 db 38h, 12h dup(0), 2 dup(18h), 0Fh dup(0), 18h, 8 dup(0) seg000:E221 db 0Fh, 5 dup(0Ch), 0ECh, 2 dup(6Ch), 3Ch, 1Ch, 5 dup(0) seg000:E221 db 0D8h, 5 dup(6Ch), 0Ah dup(0), 70h, 0D8h, 30h, 60h, 0C8h seg000:E221 db 0F8h, 0Dh dup(0), 7 dup(7Ch), 15h dup(0), 0B0h dup(0FFh) seg000:E221 seg000 ends seg000:E221 seg000:E221 seg000:E221 end