	SECTION _TEXT align=1 CLASS=CODE USE32
	SECTION _DATA align=16 CLASS=DATA USE32
	SECTION _BSS align=16 CLASS=BSS USE32
	SECTION _CONST align=16 CLASS=CONST USE32
	SECTION _STRING align=4 CLASS=STRING USE32
	SECTION cstartup align=4 CLASS=INITDATA USE32
	SECTION crundown align=4 CLASS=EXITDATA USE32
	SECTION cppinit  align=4 CLASS=CPPINIT USE32
	SECTION cppexit  align=4 CLASS=CPPEXIT USE32
	GROUP DGROUP _DATA _BSS _CONST _STRING

SECTION _TEXT
[GLOBAL	_BuildFileName]
;
; Line 472:	void BuildFileName(char *path, const char *fn, const char *ext)
;
_BuildFileName:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	EBX
	PUSH	ESI
	MOV	ESI,DWORD [EBP+08H]
L_2:
;
; Line 473:	{
;
;
; Line 476:	strcpy(path, Argv[0]);
;
	MOV	EAX,DWORD [_Argv]
	PUSH	DWORD [EAX+00H]
	PUSH	ESI
	CALL	_strcpy
	ADD	ESP,BYTE 08H
;
; Line 477:	cp = strrchr(path, '\\');
;
	PUSH	BYTE 05CH
	PUSH	ESI
	CALL	_strrchr
	ADD	ESP,BYTE 08H
	MOV	EBX,EAX
;
; Line 478:	if (cp == NULL)
;
	TEST	EBX,EBX
	JNE	SHORT	L_3
;
; Line 479:	cp = path;
;
	MOV	EBX,ESI
	JMP	SHORT	L_4
L_3:
;
; Line 481:	cp++;
;
	INC	EBX
L_4:
;
; Line 482:	strcpy(cp, fn);
;
	PUSH	DWORD [EBP+0CH]
	PUSH	EBX
	CALL	_strcpy
	ADD	ESP,BYTE 08H
;
; Line 483:	strcat(cp, ext);
;
	PUSH	DWORD [EBP+010H]
	PUSH	EBX
	CALL	_strcat
	ADD	ESP,BYTE 08H
;
; Line 484:	}
;
L_1:
	POP	ESI
	POP	EBX
	POP	EBP
	RET
[GLOBAL	_OpenConfig]
;
; Line 486:	FILE *OpenConfig(char *mode)
;
_OpenConfig:
	PUSH	EBP
	MOV	EBP,ESP
	SUB	ESP,BYTE 044H
L_7:
;
; Line 487:	{
;
;
; Line 489:	BuildFileName(path, DFlatApplication, ".cfg");
;
	PUSH	DWORD L_5
	PUSH	DWORD _DFlatApplication
	LEA	EAX,[EBP-040H]
	PUSH	EAX
	CALL	_BuildFileName
	ADD	ESP,BYTE 0CH
;
; Line 490:	return fopen(path, mode);
;
	PUSH	DWORD [EBP+08H]
	LEA	EAX,[EBP-040H]
	PUSH	EAX
	CALL	_fopen
	ADD	ESP,BYTE 08H
L_6:
	MOV	ESP,EBP
	POP	EBP
	RET
[GLOBAL	_LoadConfig]
;
; Line 494:	BOOL LoadConfig(void)
;
_LoadConfig:
	PUSH	EBP
	MOV	EBP,ESP
	SUB	ESP,BYTE 040H
	PUSH	EBX
	PUSH	ESI
	MOV	ESI,DWORD _cfg
L_12:
;
; Line 495:	{
;
;
; Line 497:	if (ConfigLoaded == FALSE)	{
;
	CMP	DWORD [L_8],BYTE 00H
	JNE	NEAR	L_13
;
; Line 498:	FILE *fp = OpenConfig("rb");
;
	PUSH	DWORD L_9
	CALL	_OpenConfig
	POP	ECX
	MOV	EBX,EAX
;
; Line 499:	if (fp != NULL)    {
;
	TEST	EBX,EBX
	JE	NEAR	L_15
;
; Line 500:	fread(cfg.version, sizeof cfg.version+1, 1, fp);
;
	PUSH	EBX
	PUSH	BYTE 01H
	PUSH	BYTE 0CH
	PUSH	ESI
	CALL	_fread
	ADD	ESP,BYTE 010H
;
; Line 501:	if (strcmp(cfg.version, VERSION) == 0)    {
;
	PUSH	DWORD L_10
	PUSH	ESI
	CALL	_strcmp
	ADD	ESP,BYTE 08H
	TEST	EAX,EAX
	JNE	SHORT	L_17
;
; Line 502:	fseek(fp, 0L, SEEK_SET);
;
	PUSH	BYTE 00H
	PUSH	BYTE 00H
	PUSH	EBX
	CALL	_fseek
	ADD	ESP,BYTE 0CH
;
; Line 503:	fread(&cfg, sizeof(CONFIG), 1, fp);
;
	PUSH	EBX
	PUSH	BYTE 01H
	PUSH	DWORD 0515H
	PUSH	ESI
	CALL	_fread
	ADD	ESP,BYTE 010H
;
; Line 504:	fclose(fp);
;
	PUSH	EBX
	CALL	_fclose
	POP	ECX
	JMP	SHORT	L_18
L_17:
;
; Line 508:	BuildFileName(path, DFlatApplication, ".cfg");
;
	PUSH	DWORD L_5
	PUSH	DWORD _DFlatApplication
	LEA	EAX,[EBP-040H]
	PUSH	EAX
	CALL	_BuildFileName
	ADD	ESP,BYTE 0CH
;
; Line 509:	fclose(fp);
;
	PUSH	EBX
	CALL	_fclose
	POP	ECX
;
; Line 510:	unlink(path);
;
	LEA	EAX,[EBP-040H]
	PUSH	EAX
	CALL	_unlink
	POP	ECX
;
; Line 511:	strcpy(cfg.version, VERSION);
;
	PUSH	DWORD L_10
	PUSH	ESI
	CALL	_strcpy
	ADD	ESP,BYTE 08H
L_18:
;
; Line 513:	ConfigLoaded = TRUE;
;
	MOV	DWORD [L_8],01H
L_15:
L_13:
;
; Line 516:	return ConfigLoaded;
;
	MOV	EAX,DWORD [L_8]
L_11:
	POP	ESI
	POP	EBX
	MOV	ESP,EBP
	POP	EBP
	RET
[GLOBAL	_SaveConfig]
;
; Line 520:	void SaveConfig(void)
;
_SaveConfig:
	PUSH	EBX
L_21:
;
; Line 521:	{
;
;
; Line 522:	FILE *fp = OpenConfig("wb");
;
	PUSH	DWORD L_19
	CALL	_OpenConfig
	POP	ECX
	MOV	EBX,EAX
;
; Line 523:	if (fp != NULL)    {
;
	TEST	EBX,EBX
	JE	SHORT	L_22
;
; Line 524:	fwrite(&cfg, sizeof(CONFIG), 1, fp);
;
	PUSH	EBX
	PUSH	BYTE 01H
	PUSH	DWORD 0515H
	PUSH	DWORD _cfg
	CALL	_fwrite
	ADD	ESP,BYTE 010H
;
; Line 525:	fclose(fp);
;
	PUSH	EBX
	CALL	_fclose
	POP	ECX
L_22:
;
; Line 527:	}
;
L_20:
	POP	EBX
	RET
[GLOBAL	_SetStandardColor]
;
; Line 530:	void SetStandardColor(WINDOW wnd)
;
_SetStandardColor:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	ESI
	MOV	ESI,DWORD [EBP+08H]
L_25:
;
; Line 531:	{
;
;
; Line 532:	foreground = WndForeground(wnd);
;
	MOVSX	EAX,BYTE [ESI+034H]
	MOV	DWORD [_foreground],EAX
;
; Line 533:	background = WndBackground(wnd);
;
	MOVSX	EAX,BYTE [ESI+035H]
	MOV	DWORD [_background],EAX
;
; Line 534:	}
;
L_24:
	POP	ESI
	POP	EBP
	RET
[GLOBAL	_SetReverseColor]
;
; Line 536:	void SetReverseColor(WINDOW wnd)
;
_SetReverseColor:
	PUSH	EBP
	MOV	EBP,ESP
	PUSH	ESI
	MOV	ESI,DWORD [EBP+08H]
L_27:
;
; Line 537:	{
;
;
; Line 538:	foreground = SelectForeground(wnd);
;
	MOVSX	EAX,BYTE [ESI+036H]
	MOV	DWORD [_foreground],EAX
;
; Line 539:	background = SelectBackground(wnd);
;
	MOVSX	EAX,BYTE [ESI+037H]
	MOV	DWORD [_background],EAX
;
; Line 540:	}
;
L_26:
	POP	ESI
	POP	EBP
	RET
SECTION _STRING
L_19:
	DB	077H,062H,00H
L_10:
	DB	056H,065H,072H,073H,069H,06FH,06EH,020H,032H,032H,00H
L_9:
	DB	072H,062H,00H
L_5:
	DB	02EH,063H,066H,067H,00H
SECTION _DATA
[GLOBAL	_color]

_color	DB	07H,00H,07H,00H,07H,00H,07H,00H,07H,01H,07H,01H
	DB	07H,01H,07H,01H,00H,07H,07H,00H,00H,07H,00H,07H
	DB	00H,07H,07H,00H,00H,07H,00H,07H,00H,07H,07H,00H
	DB	07H,01H,00H,07H,00H,07H,00H,03H,00H,07H,08H,04H
	DB	00H,07H,00H,03H,00H,07H,08H,04H,00H,03H,00H,07H
	DB	00H,03H,08H,04H,00H,07H,07H,00H,00H,07H,00H,07H
	DB	07H,01H,00H,07H,07H,01H,07H,01H,07H,01H,07H,01H
	DB	07H,01H,07H,01H,00H,03H,0FH,03H,00H,03H,08H,04H
	DB	00H,07H,07H,00H,07H,00H,00H,07H,0FFH,0FFH,0FFH,0FFH
	DB	0FFH,0FFH,0FFH,0FFH,07H,01H,00H,07H,07H,01H,07H,01H
	DB	07H,01H,00H,07H,07H,01H,07H,01H,00H,07H,00H,07H
	DB	07H,00H,00H,07H,0EH,04H,0EH,04H,0EH,04H,0EH,04H
	DB	00H,07H,00H,07H,00H,07H,00H,07H,00H,07H,07H,01H
	DB	00H,07H,0FH,07H,00H,03H,00H,03H,00H,03H,00H,03H
	DB	07H,01H,00H,07H,07H,01H,00H,07H,00H,03H,00H,03H
	DB	00H,03H,0FH,03H,02H,07H,02H,07H,02H,07H,02H,07H
[GLOBAL	_bw]

_bw	DB	07H,00H,07H,00H,07H,00H,07H,00H,07H,00H,07H,00H
	DB	07H,00H,07H,00H,00H,07H,07H,00H,00H,07H,00H,07H
	DB	07H,00H,00H,07H,07H,00H,00H,07H,07H,00H,00H,07H
	DB	07H,00H,00H,07H,07H,00H,00H,07H,00H,07H,08H,0FH
	DB	07H,00H,00H,07H,07H,00H,08H,0FH,00H,07H,07H,00H
	DB	00H,07H,00H,07H,07H,00H,00H,07H,07H,00H,07H,00H
	DB	07H,00H,07H,00H,07H,00H,07H,00H,00H,07H,0FH,07H
	DB	00H,07H,08H,0FH,00H,07H,07H,00H,00H,07H,00H,07H
	DB	0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,07H,00H,00H,07H
	DB	07H,00H,07H,00H,07H,00H,00H,07H,07H,00H,07H,00H
	DB	00H,07H,00H,07H,00H,07H,00H,07H,07H,00H,07H,00H
	DB	07H,00H,07H,00H,07H,00H,07H,00H,07H,00H,07H,00H
	DB	07H,00H,0FH,00H,07H,00H,0FH,07H,00H,07H,00H,07H
	DB	00H,07H,00H,07H,00H,07H,07H,00H,00H,07H,07H,00H
	DB	00H,07H,00H,07H,00H,07H,00H,07H,00H,07H,00H,07H
	DB	00H,07H,00H,07H
	RESB	08H
[GLOBAL	_reverse]

_reverse	DB	00H,07H,00H,07H,00H,07H,00H,07H,00H,07H,00H,07H
	DB	00H,07H,00H,07H,00H,07H,07H,00H,00H,07H,00H,07H
	DB	00H,07H,07H,00H,00H,07H,00H,07H,00H,07H,07H,00H
	DB	00H,07H,00H,07H,00H,07H,07H,00H,07H,00H,08H,0FH
	DB	07H,00H,00H,07H,07H,00H,08H,0FH,00H,07H,07H,00H
	DB	00H,07H,00H,07H,00H,07H,07H,00H,00H,07H,00H,07H
	DB	00H,07H,00H,07H,00H,07H,00H,07H,07H,00H,0FH,00H
	DB	07H,00H,08H,0FH,00H,07H,07H,00H,07H,00H,00H,07H
	DB	0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,00H,07H,07H,00H
	DB	00H,07H,00H,07H,00H,07H,07H,00H,00H,07H,00H,07H
	DB	07H,00H,07H,00H,07H,00H,00H,07H,00H,07H,00H,07H
	DB	00H,07H,00H,07H,00H,07H,00H,07H,00H,07H,00H,07H
	DB	00H,07H,07H,00H,00H,07H,0FH,07H,07H,00H,07H,00H
	DB	07H,00H,07H,00H,07H,00H,00H,07H,07H,00H,00H,07H
	DB	07H,00H,07H,00H,07H,00H,07H,00H,07H,00H,07H,00H
	DB	07H,00H,07H,00H
	RESB	08H
[GLOBAL	_cfg]

_cfg	DB	056H,065H,072H,073H,069H,06FH,06EH,020H,032H,032H,00H,00H
	DD	00H,00H,01H,04H,00H
	DD	01H,01H,01H,01H,01H
	DD	019H
	DB	04CH,070H,074H,031H,00H
	DD	042H,050H,06H,046H,03H
	DD	037H
	RESB	0C0H
	RESB	0400H
	RESB	01H

L_8	DD	00H
SECTION _CONST

SECTION _TEXT
[EXTERN	_unlink]
[EXTERN	_DFlatApplication]
[EXTERN	_fwrite]
[EXTERN	_fread]
[EXTERN	_Argv]
[EXTERN	_background]
[EXTERN	_fseek]
[EXTERN	_foreground]
[EXTERN	_strcat]
[EXTERN	_strrchr]
[EXTERN	_fopen]
[EXTERN	_fclose]
[EXTERN	_strcmp]
[EXTERN	_strcpy]
