Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- seg000:7C00 ;
- seg000:7C00 ; +-------------------------------------------------------------------------+
- seg000:7C00 ; | This file is generated by The Interactive Disassembler (IDA) |
- seg000:7C00 ; | Copyright (c) 2007 by DataRescue sa/nv, <ida@datarescue.com> |
- seg000:7C00 ; | Licensed to: Mach EDV Dienstleistungen, Jan Mach, 1 user, adv, 11/2007 |
- seg000:7C00 ; +-------------------------------------------------------------------------+
- seg000:7C00 ;
- seg000:7C00 ; Input MD5 : 55443443B1112FB45042EF4E8E515B27
- seg000:7C00
- seg000:7C00 ; ---------------------------------------------------------------------------
- seg000:7C00 ; File Name : D:\Projects\qck\qck.IMA
- seg000:7C00 ; Format : Binary file
- seg000:7C00 ; Base Address: 0000h Range: 0000h - 168000h Loaded length: 168000h
- seg000:7C00
- seg000:7C00 .686p
- seg000:7C00 .mmx
- seg000:7C00 .model flat
- seg000:7C00
- seg000:7C00 ; ===========================================================================
- seg000:7C00
- seg000:7C00 ; Segment type: Pure code
- seg000:7C00 seg000 segment byte public 'CODE' use16
- seg000:7C00 assume cs:seg000
- seg000:7C00 ;org 7C00h
- seg000:7C00 assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing
- seg000:7C00 jmp loc_7D11 ; org 7c00h
- seg000:7C00 ;
- seg000:7C00 ; ---------------------------------------------------------------------------
- seg000:7C03 db 55h ; U
- seg000:7C04 db 58h ; X
- seg000:7C05 db 42h ; B
- seg000:7C06 db 4Fh ; O
- seg000:7C07 db 4Fh ; O
- seg000:7C08 db 54h ; T
- seg000:7C09 db 20h
- seg000:7C0A db 20h
- seg000:7C0B db 0
- seg000:7C0C db 2
- seg000:7C0D db 1
- seg000:7C0E db 1
- seg000:7C0F db 0
- seg000:7C10 db 2
- seg000:7C11 db 0E0h ; a
- seg000:7C12 db 0
- seg000:7C13 db 40h ; @
- seg000:7C14 db 0Bh
- seg000:7C15 db 0F0h ; =
- seg000:7C16 db 9
- seg000:7C17 db 0
- seg000:7C18 db 12h
- seg000:7C19 db 0
- seg000:7C1A db 2
- seg000:7C1B db 0
- seg000:7C1C db 0
- seg000:7C1D db 0
- seg000:7C1E db 0
- seg000:7C1F db 0
- seg000:7C20 db 0
- seg000:7C21 db 0
- seg000:7C22 db 0
- seg000:7C23 db 0
- seg000:7C24 db 0
- seg000:7C25 db 0
- seg000:7C26 db 29h ; )
- seg000:7C27 db 7
- seg000:7C28 db 19h
- seg000:7C29 db 75h ; u
- seg000:7C2A db 24h ; $
- seg000:7C2B db 4Eh ; N
- seg000:7C2C db 4Fh ; O
- seg000:7C2D db 20h
- seg000:7C2E db 4Eh ; N
- seg000:7C2F db 41h ; A
- seg000:7C30 db 4Dh ; M
- seg000:7C31 db 45h ; E
- seg000:7C32 db 20h
- seg000:7C33 db 20h
- seg000:7C34 db 20h
- seg000:7C35 db 20h
- seg000:7C36 db 46h ; F
- seg000:7C37 db 41h ; A
- seg000:7C38 db 54h ; T
- seg000:7C39 db 31h ; 1
- seg000:7C3A db 32h ; 2
- seg000:7C3B db 20h
- seg000:7C3C db 20h
- seg000:7C3D db 20h
- seg000:7C3E db 4Bh ; K
- seg000:7C3F db 65h ; e
- seg000:7C40 db 72h ; r
- seg000:7C41 db 6Eh ; n
- seg000:7C42 db 65h ; e
- seg000:7C43 db 6Ch ; l
- seg000:7C44 db 20h
- seg000:7C45 db 4Ch ; L
- seg000:7C46 db 6Fh ; o
- seg000:7C47 db 61h ; a
- seg000:7C48 db 64h ; d
- seg000:7C49 db 69h ; i
- seg000:7C4A db 6Eh ; n
- seg000:7C4B db 67h ; g
- seg000:7C4C db 20h
- seg000:7C4D db 0
- seg000:7C4E db 0Dh
- seg000:7C4F db 0Ah
- seg000:7C50 db 45h ; E
- seg000:7C51 db 72h ; r
- seg000:7C52 db 72h ; r
- seg000:7C53 db 6Fh ; o
- seg000:7C54 db 72h ; r
- seg000:7C55 db 20h
- seg000:7C56 db 64h ; d
- seg000:7C57 db 65h ; e
- seg000:7C58 db 74h ; t
- seg000:7C59 db 65h ; e
- seg000:7C5A db 63h ; c
- seg000:7C5B db 74h ; t
- seg000:7C5C db 65h ; e
- seg000:7C5D db 64h ; d
- seg000:7C5E db 2Ch ; ,
- seg000:7C5F db 20h
- seg000:7C60 db 70h ; p
- seg000:7C61 db 72h ; r
- seg000:7C62 db 65h ; e
- seg000:7C63 db 73h ; s
- seg000:7C64 db 73h ; s
- seg000:7C65 db 20h
- seg000:7C66 db 61h ; a
- seg000:7C67 db 20h
- seg000:7C68 db 6Bh ; k
- seg000:7C69 db 65h ; e
- seg000:7C6A db 79h ; y
- seg000:7C6B db 20h
- seg000:7C6C db 74h ; t
- seg000:7C6D db 6Fh ; o
- seg000:7C6E db 20h
- seg000:7C6F db 72h ; r
- seg000:7C70 db 65h ; e
- seg000:7C71 db 62h ; b
- seg000:7C72 db 6Fh ; o
- seg000:7C73 db 6Fh ; o
- seg000:7C74 db 74h ; t
- seg000:7C75 db 0
- seg000:7C76 db 53h ; S
- seg000:7C77 db 65h ; e
- seg000:7C78 db 6Ch ; l
- seg000:7C79 db 66h ; f
- seg000:7C7A db 20h
- seg000:7C7B db 42h ; B
- seg000:7C7C db 6Fh ; o
- seg000:7C7D db 6Fh ; o
- seg000:7C7E db 74h ; t
- seg000:7C7F db 20h
- seg000:7C80 db 41h ; A
- seg000:7C81 db 70h ; p
- seg000:7C82 db 70h ; p
- seg000:7C83 db 6Ch ; l
- seg000:7C84 db 69h ; i
- seg000:7C85 db 63h ; c
- seg000:7C86 db 61h ; a
- seg000:7C87 db 74h ; t
- seg000:7C88 db 69h ; i
- seg000:7C89 db 6Fh ; o
- seg000:7C8A db 6Eh ; n
- seg000:7C8B db 0
- seg000:7C8C db 75h ; u
- seg000:7C8D db 6Eh ; n
- seg000:7C8E db 61h ; a
- seg000:7C8F db 75h ; u
- seg000:7C90 db 74h ; t
- seg000:7C91 db 68h ; h
- seg000:7C92 db 6Fh ; o
- seg000:7C93 db 72h ; r
- seg000:7C94 db 69h ; i
- seg000:7C95 db 7Ah ; z
- seg000:7C96 db 65h ; e
- seg000:7C97 db 64h ; d
- seg000:7C98 db 20h
- seg000:7C99 db 63h ; c
- seg000:7C9A db 6Fh ; o
- seg000:7C9B db 70h ; p
- seg000:7C9C db 79h ; y
- seg000:7C9D db 20h
- seg000:7C9E db 70h ; p
- seg000:7C9F db 72h ; r
- seg000:7CA0 db 6Fh ; o
- seg000:7CA1 db 68h ; h
- seg000:7CA2 db 69h ; i
- seg000:7CA3 db 62h ; b
- seg000:7CA4 db 69h ; i
- seg000:7CA5 db 74h ; t
- seg000:7CA6 db 65h ; e
- seg000:7CA7 db 64h ; d
- seg000:7CA8 db 0
- seg000:7CA9 db 20h
- seg000:7CAA db 20h
- seg000:7CAB db 20h
- seg000:7CAC db 20h
- seg000:7CAD db 20h
- seg000:7CAE db 20h
- seg000:7CAF db 20h
- seg000:7CB0 db 20h
- seg000:7CB1 db 20h
- seg000:7CB2 db 20h
- seg000:7CB3 db 20h
- seg000:7CB4 db 20h
- seg000:7CB5 db 20h
- seg000:7CB6 db 20h
- seg000:7CB7 db 20h
- seg000:7CB8 db 20h
- seg000:7CB9 db 20h
- seg000:7CBA db 20h
- seg000:7CBB db 20h
- seg000:7CBC db 20h
- seg000:7CBD db 20h
- seg000:7CBE db 20h
- seg000:7CBF db 20h
- seg000:7CC0 db 20h
- seg000:7CC1 db 20h
- seg000:7CC2 db 20h
- seg000:7CC3 db 20h
- seg000:7CC4 db 20h
- seg000:7CC5 db 20h
- seg000:7CC6 db 20h
- seg000:7CC7 db 20h
- seg000:7CC8 db 20h
- seg000:7CC9 db 20h
- seg000:7CCA db 20h
- seg000:7CCB db 20h
- seg000:7CCC db 20h
- seg000:7CCD db 20h
- seg000:7CCE db 20h
- seg000:7CCF db 20h
- seg000:7CD0 db 20h
- seg000:7CD1 db 20h
- seg000:7CD2 db 20h
- seg000:7CD3 db 20h
- seg000:7CD4 db 20h
- seg000:7CD5 db 20h
- seg000:7CD6 db 20h
- seg000:7CD7 db 20h
- seg000:7CD8 db 20h
- seg000:7CD9 db 20h
- seg000:7CDA db 20h
- seg000:7CDB db 20h
- seg000:7CDC db 20h
- seg000:7CDD db 20h
- seg000:7CDE db 20h
- seg000:7CDF db 20h
- seg000:7CE0 db 20h
- seg000:7CE1 db 20h
- seg000:7CE2 db 20h
- seg000:7CE3 db 20h
- seg000:7CE4 db 20h
- seg000:7CE5 db 20h
- seg000:7CE6 db 20h
- seg000:7CE7 db 20h
- seg000:7CE8 db 20h
- seg000:7CE9 db 20h
- seg000:7CEA db 20h
- seg000:7CEB db 20h
- seg000:7CEC db 20h
- seg000:7CED db 20h
- seg000:7CEE db 20h
- seg000:7CEF db 20h
- seg000:7CF0 db 20h
- seg000:7CF1 db 20h
- seg000:7CF2 db 20h
- seg000:7CF3 db 20h
- seg000:7CF4 db 20h
- seg000:7CF5
- seg000:7CF5 ; =============== S U B R O U T I N E =======================================
- seg000:7CF5
- seg000:7CF5
- seg000:7CF5 sub_7CF5 proc near ; CODE XREF: seg000:7D42p
- seg000:7CF5 ; seg000:7DD4p
- seg000:7CF5 push ax
- seg000:7CF6 push bx
- seg000:7CF7 jmp short loc_7D00
- seg000:7CF9 ; ---------------------------------------------------------------------------
- seg000:7CF9
- seg000:7CF9 loc_7CF9: ; CODE XREF: sub_7CF5+Ej
- seg000:7CF9 mov ah, 0Eh
- seg000:7CFB mov bx, 7
- seg000:7CFE int 10h ; - VIDEO - WRITE CHARACTER AND ADVANCE CURSOR (TTY WRITE)
- seg000:7CFE ; AL = character, BH = display page (alpha modes)
- seg000:7CFE ; BL = foreground color (graphics modes)
- seg000:7D00
- seg000:7D00 loc_7D00: ; CODE XREF: sub_7CF5+2j
- seg000:7D00 lodsb
- seg000:7D01 or al, al
- seg000:7D03 jnz short loc_7CF9
- seg000:7D05 pop bx
- seg000:7D06 pop ax
- seg000:7D07 retn
- seg000:7D07 sub_7CF5 endp
- seg000:7D07
- seg000:7D08
- seg000:7D08 ; =============== S U B R O U T I N E =======================================
- seg000:7D08
- seg000:7D08
- seg000:7D08 sub_7D08 proc near ; CODE XREF: seg000:7D45p
- seg000:7D08 ; seg000:7D8Ap ...
- seg000:7D08 mov ah, 0
- seg000:7D08 sub_7D08 endp ; sp-analysis failed
- seg000:7D08
- seg000:7D0A
- seg000:7D0A ; =============== S U B R O U T I N E =======================================
- seg000:7D0A
- seg000:7D0A
- seg000:7D0A sub_7D0A proc near ; CODE XREF: seg000:7D81p
- seg000:7D0A push ax
- seg000:7D0B mov dl, 0
- seg000:7D0D int 13h ; DISK - RESET DISK SYSTEM
- seg000:7D0D ; DL = drive (if bit 7 is set both hard disks and floppy disks reset)
- seg000:7D0F pop ax
- seg000:7D10 retn
- seg000:7D10 sub_7D0A endp
- seg000:7D10
- seg000:7D11 ; ---------------------------------------------------------------------------
- seg000:7D11
- seg000:7D11 loc_7D11: ; CODE XREF: seg000:7C00j
- seg000:7D11 jmp far ptr 7C0h:116h
- seg000:7D16 mov bp, 7C00h
- seg000:7D19 xor cx, cx
- seg000:7D1B mov es, cx
- seg000:7D1D mov ss, cx
- seg000:7D1F lea sp, [bp-0Ch]
- seg000:7D22 mov cl, 0Bh
- seg000:7D24 mov di, sp
- seg000:7D26 lds si, [bp-7B88h]
- seg000:7D2A push ds
- seg000:7D2B push si
- seg000:7D2C mov [bp-7B88h], di
- seg000:7D30 mov word ptr [bp-7B86h], es
- seg000:7D34 cld
- seg000:7D35 rep movsb
- seg000:7D37 push cs
- seg000:7D38 pop ds
- seg000:7D39 mov byte ptr [bp-8], 12h
- seg000:7D3D push cs
- seg000:7D3E pop ds
- seg000:7D3F mov si, 3Eh ; '>'
- seg000:7D42 call sub_7CF5
- seg000:7D45 call sub_7D08
- seg000:7D48 push cs
- seg000:7D49 pop es
- seg000:7D4A mov bx, 200h
- seg000:7D4D mov dh, 1
- seg000:7D4F mov cx, 10h
- seg000:7D52 mov al, 3
- seg000:7D54 jmp short loc_7D5A
- seg000:7D56 ; ---------------------------------------------------------------------------
- seg000:7D56
- seg000:7D56 loc_7D56: ; CODE XREF: seg000:7DC0j
- seg000:7D56 mov al, 12h
- seg000:7D58
- seg000:7D58 loc_7D58: ; CODE XREF: seg000:7DC4j
- seg000:7D58 mov cl, 1
- seg000:7D5A
- seg000:7D5A loc_7D5A: ; CODE XREF: seg000:7D54j
- seg000:7D5A push cx
- seg000:7D5B push ax
- seg000:7D5C mov ax, es
- seg000:7D5E mov cl, 4
- seg000:7D60 shl ax, cl
- seg000:7D62 add ax, bx
- seg000:7D64 neg ax
- seg000:7D66 mov cl, 9
- seg000:7D68 shr ax, cl
- seg000:7D6A pop cx
- seg000:7D6B xchg ax, cx
- seg000:7D6C mov ah, 0
- seg000:7D6E sub al, cl
- seg000:7D70 jbe short loc_7D74
- seg000:7D72 xchg al, ah
- seg000:7D74
- seg000:7D74 loc_7D74: ; CODE XREF: seg000:7D70j
- seg000:7D74 add al, cl
- seg000:7D76 pop cx
- seg000:7D77
- seg000:7D77 loc_7D77: ; CODE XREF: seg000:7DA8j
- seg000:7D77 push ax
- seg000:7D78 mov si, 5
- seg000:7D7B
- seg000:7D7B loc_7D7B: ; CODE XREF: seg000:7D8Dj
- seg000:7D7B mov ah, 2
- seg000:7D7D or al, al
- seg000:7D7F jz short loc_7D84
- seg000:7D81 call sub_7D0A
- seg000:7D84
- seg000:7D84 loc_7D84: ; CODE XREF: seg000:7D7Fj
- seg000:7D84 jnb short loc_7D8F
- seg000:7D86 dec si
- seg000:7D87 stc
- seg000:7D88 jz short loc_7DC7
- seg000:7D8A call sub_7D08
- seg000:7D8D jmp short loc_7D7B
- seg000:7D8F ; ---------------------------------------------------------------------------
- seg000:7D8F
- seg000:7D8F loc_7D8F: ; CODE XREF: seg000:loc_7D84j
- seg000:7D8F push dx
- seg000:7D90 push cx
- seg000:7D91 mov cl, 20h ; ' '
- seg000:7D93 mul cl
- seg000:7D95 mov dx, es
- seg000:7D97 add ax, dx
- seg000:7D99 mov es, ax
- seg000:7D9B pop cx
- seg000:7D9C pop dx
- seg000:7D9D pop ax
- seg000:7D9E or ah, ah
- seg000:7DA0 jz short loc_7DAA
- seg000:7DA2 add cl, al
- seg000:7DA4 mov al, ah
- seg000:7DA6 mov ah, 0
- seg000:7DA8 jmp short loc_7D77
- seg000:7DAA ; ---------------------------------------------------------------------------
- seg000:7DAA
- seg000:7DAA loc_7DAA: ; CODE XREF: seg000:7DA0j
- seg000:7DAA inc dh
- seg000:7DAC cmp dh, 2
- seg000:7DAF jb short loc_7DB5
- seg000:7DB1 mov dh, 0
- seg000:7DB3 inc ch
- seg000:7DB5
- seg000:7DB5 loc_7DB5: ; CODE XREF: seg000:7DAFj
- seg000:7DB5 mov ax, 0E2Eh
- seg000:7DB8 int 10h ; - VIDEO - WRITE CHARACTER AND ADVANCE CURSOR (TTY WRITE)
- seg000:7DB8 ; AL = character, BH = display page (alpha modes)
- seg000:7DB8 ; BL = foreground color (graphics modes)
- seg000:7DBA mov cl, dh
- seg000:7DBC cmp cx, 0A01h
- seg000:7DC0 jb short loc_7D56
- seg000:7DC2 mov al, 0Bh
- seg000:7DC4 jz short loc_7D58
- seg000:7DC6 clc
- seg000:7DC7
- seg000:7DC7 loc_7DC7: ; CODE XREF: seg000:7D88j
- seg000:7DC7 pop word ptr [bp-7B88h]
- seg000:7DCB pop word ptr [bp-7B86h]
- seg000:7DCF jnb short loc_7DDF
- seg000:7DD1 mov si, 4Eh ; 'N'
- seg000:7DD4 call sub_7CF5
- seg000:7DD7 mov ah, 0
- seg000:7DD9 int 16h ; KEYBOARD - READ CHAR FROM BUFFER, WAIT IF EMPTY
- seg000:7DD9 ; Return: AH = scan code, AL = character
- seg000:7DDB int 18h ; TRANSFER TO ROM BASIC
- seg000:7DDB ; causes transfer to ROM-based BASIC (IBM-PC)
- seg000:7DDB ; often reboots a compatible; often has no effect at all
- seg000:7DDD
- seg000:7DDD loc_7DDD: ; CODE XREF: seg000:loc_7DDDj
- seg000:7DDD jmp short loc_7DDD
- seg000:7DDF ; ---------------------------------------------------------------------------
- seg000:7DDF
- seg000:7DDF loc_7DDF: ; CODE XREF: seg000:7DCFj
- seg000:7DDF call sub_7D08
- seg000:7DE2 dec bx
- seg000:7DE3 dec bx
- seg000:7DE4 mov word ptr [bx], 9090h
- seg000:7DE8
- seg000:7DE8 loc_7DE8: ; CODE XREF: seg000:7DECj
- seg000:7DE8 ; seg000:7DFCj
- seg000:7DE8 sub es:[bx], bx
- seg000:7DEB dec bx
- seg000:7DEC jns short loc_7DE8
- seg000:7DEE mov bx, es
- seg000:7DF0 sub bx, 20h ; ' '
- seg000:7DF3 mov es, bx
- seg000:7DF5 assume es:nothing
- seg000:7DF5 mov ax, cs
- seg000:7DF7 cmp ax, bx
- seg000:7DF9 mov bx, 1FEh
- seg000:7DFC jnz short loc_7DE8
- seg000:7DFE push bp
- seg000:7DFF stosb
- seg000:7DFF ; ---------------------------------------------------------------------------
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement