

;
; ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
; º	This file is generated by The Interactive Disassembler (IDA)	    º
; º	Copyright (c) 2010 by Hex-Rays SA, <support@hex-rays.com>	    º
; º			 Licensed to: Freeware version			    º
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼
;
; Input	MD5   :	438C8653C90219F23999C5034AE0FF38

; File Name   :	C:\Documents and Settings\Erdoðan Tan\Desktop\FLAME.COM
; Format      :	MS-DOS COM-file
; Base Address:	1000h Range: 10100h-101BCh Loaded length: BCh

		.686p
		.mmx
		.model tiny

; ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ

; Segment type:	Pure code
seg000		segment	byte public 'CODE' use16
		assume cs:seg000
		org 100h
		assume es:nothing, ss:nothing, ds:seg000, fs:nothing, gs:nothing

; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B	R O U T	I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ


		public start
start		proc near
		push	0A000h
		pop	es
		assume es:nothing
		mov	al, 13h
		int	10h		; - VIDEO -
		mov	al, 3Fh
		mov	cx, 300h
		mov	di, 0C0h
		rep stosb
		mov	si, 0BFh
		xor	ax, ax
		call	sub_101A8
		mov	ah, 1
		call	sub_101A8
		mov	si, 0BEh
		call	sub_101A8
		xor	si, si
		call	sub_101A8
		mov	ax, 1012h
		mov	cl, 0FFh
		xor	dx, dx
		int	10h		; - VIDEO - SET	BLOCK OF DAC REGISTERS (EGA, VGA/MCGA)
					; BX = starting	color register,	CX = number of registers to set
					; ES:DX	-> table of 3*CX bytes where each 3 byte group represents one
					; byte each of red, green and blue (0-63)

loc_10133:				; CODE XREF: start+A0j
		mov	cx, 140h
		mov	di, 1BAh
		xor	ah, ah
		mov	bx, 64h

loc_1013E:				; CODE XREF: start+6Aj	start+72j
		mov	al, [di+27Fh]
		mov	dl, [di+280h]
		add	ax, dx
		mov	dl, [di+281h]
		add	ax, dx
		mov	dl, [di+500h]
		add	ax, dx
		shr	ax, 2
		jz	short loc_1015B
		dec	al

loc_1015B:				; CODE XREF: start+57j
		mov	[di], al
		mov	dl, [di+500h]
		add	ax, dx
		shr	ax, 1
		mov	[di+140h], al
		inc	di
		loop	loc_1013E
		mov	cx, 140h
		add	di, cx
		dec	bx
		jnz	short loc_1013E
		xor	di, di
		mov	si, 1BAh
		mov	cx, 3B60h
		rep movsd
		mov	di, 0FA7Ah
		mov	cx, 13Ch

loc_10185:				; CODE XREF: start+9Aj
		in	al, 40h		; Timer	8253-5 (AT: 8254.2).
		add	ax, word_101B8
		add	word_101B8, ax
		mov	ah, al
		mov	[di], ax
		mov	[di+2],	ax
		add	di, 4
		dec	cx
		jnz	short loc_10185
		mov	ah, 1
		int	16h		; KEYBOARD - CHECK BUFFER, DO NOT CLEAR
					; Return: ZF clear if character	in buffer
					; AH = scan code, AL = character
					; ZF set if no character in buffer
		jz	short loc_10133
		mov	ax, 3
		int	10h		; - VIDEO - SET	VIDEO MODE
					; AL = mode
		retn
start		endp


; ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ S U B	R O U T	I N E ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ


sub_101A8	proc near		; CODE XREF: start+17p	start+1Cp ...
		mov	cl, 40h
		xor	al, al

loc_101AC:				; CODE XREF: sub_101A8+Cj
		mov	es:[si], al
		add	al, ah
		add	si, 3
		loop	loc_101AC
		retn
sub_101A8	endp

; ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
		db    0
word_101B8	dw 8Dh			; DATA XREF: start+87r	start+8Bw
		db    0
		db    0
seg000		ends


		end start
