diff --git a/th05_maine.asm b/th05_maine.asm
index 70b851eb..d3eeb64f 100644
--- a/th05_maine.asm
+++ b/th05_maine.asm
@@ -427,15 +427,13 @@ sub_22C		endp
 
 ; ---------------------------------------------------------------------------
 DGROUP@		dw 0			; DATA XREF: start:loc_3w start+B0r ...
+__MMODEL	dw 0C004h
+		db    0
 ; ---------------------------------------------------------------------------
-
-__MMODEL:
-		add	al, 0C0h ; 'À'
-		add	byte_18F2E, bl
 		push	ds
-		pop	di
-		add	cx, word_1A7E8
-		pop	ds
+		mov	ds, cs:word_35F
+		push	cs
+		call	near ptr sub_2222
 		mov	ax, 0FFF3h
 
 loc_27F:				; CODE XREF: seg000:02D9j seg000:02E1j
@@ -24212,7 +24210,7 @@ _envp		= dword	ptr  0Ch
 		jz	loc_A693
 		mov	word_107CA, 5208h
 		push	ds
-		push	offset unk_101A7
+		push	offset aKaikidan1_dat
 		call	sub_F0B4
 		les	bx, dword_11E6E
 		mov	al, es:[bx+12h]
@@ -27974,12 +27972,12 @@ loc_C2BB:				; CODE XREF: sub_C1DD+CEj
 		push	large 7C00C4h
 		push	9
 		push	ds
-		push	offset unk_11676
+		push	offset aGxgnbGvbGhvVGv
 		call	far ptr	loc_E914
 		push	large 7800C0h
 		push	2
 		push	ds
-		push	offset unk_116A9
+		push	offset aGxgnbGvbGhvV_0
 		call	far ptr	loc_E914
 
 loc_C2EB:				; CODE XREF: sub_C1DD+DCj
@@ -28507,7 +28505,7 @@ loc_C6F1:				; CODE XREF: sub_C67F+38j
 		push	[bp+arg_4]
 		push	word_116E4
 		push	ds
-		push	offset unk_11714
+		push	offset aU__0
 		call	far ptr	loc_E914
 		pop	di
 		pop	si
@@ -28618,14 +28616,14 @@ loc_C7B6:				; CODE XREF: sub_C729+7Fj
 		push	di
 		push	word_116E4
 		push	ds
-		push	offset unk_11717
+		push	offset aBd
 		call	far ptr	loc_E914
 		lea	ax, [si+60h]
 		push	ax
 		push	di
 		push	word_116E4
 		push	ds
-		push	offset unk_1171A
+		push	offset aBu
 		call	far ptr	loc_E914
 		pop	di
 		pop	si
@@ -28682,7 +28680,7 @@ arg_6		= word ptr  0Ah
 		push	di
 		push	word_116E4
 		push	ds
-		push	offset unk_1171D
+		push	offset aBd_0
 		call	far ptr	loc_E914
 		pop	di
 		pop	si
@@ -28828,7 +28826,7 @@ loc_C9B3:				; CODE XREF: sub_C8AE+F1j sub_C8AE+FBj
 		push	ax
 		push	word_116E4
 		push	ds
-		push	offset unk_11720
+		push	offset aBu_0
 		call	far ptr	loc_E914
 		leave
 		retn
@@ -28979,7 +28977,7 @@ var_4		= dword	ptr -4
 		push	ax
 		push	word_116E4
 		push	ds
-		push	offset unk_1174B
+		push	offset aGGxi
 		call	far ptr	loc_E914
 		push	word_116E2
 		mov	ax, word_116E8
@@ -28987,7 +28985,7 @@ var_4		= dword	ptr -4
 		push	ax
 		push	word_116E4
 		push	ds
-		push	offset unk_11754
+		push	offset aGGaogcpi
 		call	far ptr	loc_E914
 		push	word_116E2
 		mov	ax, word_116E8
@@ -29011,7 +29009,7 @@ var_4		= dword	ptr -4
 		push	ax
 		push	word_116E4
 		push	ds
-		push	offset unk_11779
+		push	offset aGagcgegai
 		call	far ptr	loc_E914
 		push	word_116E2
 		mov	ax, word_116E8
@@ -29114,7 +29112,7 @@ loc_CBE3:				; CODE XREF: sub_CA9B+13Ej
 		push	ax
 		push	word_116E4
 		push	ds
-		push	offset unk_117BC
+		push	offset aI
 		call	far ptr	loc_E914
 		mov	ax, word_116E2
 		add	ax, 110h
@@ -29124,7 +29122,7 @@ loc_CBE3:				; CODE XREF: sub_CA9B+13Ej
 		push	ax
 		push	word_116E4
 		push	ds
-		push	offset unk_117BF
+		push	offset aI_0
 		call	far ptr	loc_E914
 		mov	byte_1517C, 1
 		les	bx, dword_11E6E
@@ -29464,7 +29462,7 @@ loc_D01A:				; CODE XREF: sub_CA9B+56Bj
 		push	ax
 		push	word_116E4
 		push	ds
-		push	offset unk_117C2
+		push	offset aU_
 		call	far ptr	loc_E914
 		push	ds
 		push	offset a_ude_txt ; "_ude.txt"
@@ -35533,64 +35531,8 @@ off_1010C	dw offset sub_4B43	; DATA XREF: sub_6CCE+77r sub_6CCE+A1r ...
 		db    0
 		db    0
 		db    0
-		db  42h	; B
-		db  6Fh	; o
-		db  72h	; r
-		db  6Ch	; l
-		db  61h	; a
-		db  6Eh	; n
-		db  64h	; d
-		db  20h
-		db  43h	; C
-		db  2Bh	; +
-		db  2Bh	; +
-		db  20h
-		db  2Dh	; -
-		db  20h
-		db  43h	; C
-		db  6Fh	; o
-		db  70h	; p
-		db  79h	; y
-		db  72h	; r
-		db  69h	; i
-		db  67h	; g
-		db  68h	; h
-		db  74h	; t
-		db  20h
-		db  31h	; 1
-		db  39h	; 9
-		db  39h	; 9
-		db  33h	; 3
-		db  20h
-		db  42h	; B
-		db  6Fh	; o
-		db  72h	; r
-		db  6Ch	; l
-		db  61h	; a
-		db  6Eh	; n
-		db  64h	; d
-		db  20h
-		db  49h	; I
-		db  6Eh	; n
-		db  74h	; t
-		db  6Ch	; l
-		db  2Eh	; .
-		db    0
-		db  44h	; D
-		db  69h	; i
-		db  76h	; v
-		db  69h	; i
-		db  64h	; d
-		db  65h	; e
-		db  20h
-		db  65h	; e
-		db  72h	; r
-		db  72h	; r
-		db  6Fh	; o
-		db  72h	; r
-		db  0Dh
-		db  0Ah
-		db    0
+aBorlandCCopyright1993Bo db 'Borland C++ - Copyright 1993 Borland Intl.',0
+aDivideError	db 'Divide error',0Dh,0Ah,0
 dword_1015A	dd 0			; DATA XREF: sub_178:loc_17Ew
 					; __restorezero+4r ...
 dword_1015E	dd 0			; DATA XREF: sub_178+13w
@@ -35629,18 +35571,7 @@ off_10190	dd a_ed00_txt		; DATA XREF: sub_A5A4+Er sub_A5A4+24r	...
 					; "_ED00.TXT"
 aMiko_cfg	db 'MIKO.CFG',0         ; DATA XREF: sub_A545+6o
 a_ed00_txt	db '_ED00.TXT',0        ; DATA XREF: dseg:off_10190o
-unk_101A7	db  89h	; �E	; DATA XREF: _main+13o
-		db 0F6h	; �E
-		db 0E3h	; �E
-		db  59h	; Y
-		db  92h	; �E
-		db  6Bh	; k
-		db  31h	; 1
-		db  2Eh	; .
-		db  64h	; d
-		db  61h	; a
-		db  74h	; t
-		db    0
+aKaikidan1_dat	db '‰öãY’k1.dat',0      ; DATA XREF: _main+13o
 aMiko		db 'miko',0             ; DATA XREF: _main+33o
 ; char arg0[]
 arg0		db 'op',0               ; DATA XREF: _main+92o
@@ -35908,10 +35839,7 @@ word_102C0	dw 0			; DATA XREF: seg000:loc_50Er
 					; seg000:0515r
 		db 0
 		db 0
-		db  42h	; B
-		db  46h	; F
-		db  4Eh	; N
-		db  54h	; T
+aBfnt		db 'BFNT'
 		db  1Ah
 		db    0
 word_102CA	dw 0			; DATA XREF: sub_BCE:loc_BE3r
@@ -35971,24 +35899,8 @@ byte_10300	db 0			; DATA XREF: sub_BAE+4r
 		db  36h	; 6
 		db  3Fh	; ?
 		db    0
-		db  24h	; $
-		db  49h	; I
-		db  42h	; B
-		db  4Dh	; M
-		db  41h	; A
-		db  44h	; D
-		db  53h	; S
-		db  50h	; P
-		db    0
-		db  24h	; $
-		db  49h	; I
-		db  42h	; B
-		db  4Dh	; M
-		db  41h	; A
-		db  46h	; F
-		db  4Eh	; N
-		db  54h	; T
-		db    0
+aIbmadsp	db '$IBMADSP',0
+aIbmafnt	db '$IBMAFNT',0
 dword_1031E	dd 0			; DATA XREF: sub_11FE-8Cr
 word_10322	dw 0A800h		; DATA XREF: sub_DCC+7Er sub_12B4+9w ...
 word_10324	dw 3E80h		; DATA XREF: sub_12B4+Fw sub_1302+14r	...
@@ -37134,18 +37046,10 @@ word_107C4	dw 0			; DATA XREF: sub_EB66+1Cw sub_EB66+49r ...
 word_107C6	dw 0			; DATA XREF: sub_EB66+27w sub_EB66+42r ...
 word_107C8	dw 0			; DATA XREF: sub_EB66+32w sub_EB66+3Br ...
 word_107CA	dw 4E20h		; DATA XREF: _main+Cw sub_F0B4+3r
-		db  65h	; e
-		db  66h	; f
-		db  63h	; c
-		db    0
+aEfc		db 'efc',0
 dword_107D0	dd 6Dh			; DATA XREF: sub_ED60+88r
-		db  6Dh	; m
-		db  32h	; 2
-		db    0
-		db  6Dh	; m
-		db  6Dh	; m
-		db  64h	; d
-		db    0
+aM2		db 'm2',0
+aMmd		db 'mmd',0
 byte_107DB	db 0			; DATA XREF: sub_E81A+Dw
 					; sub_E878:loc_E8C4w ...
 byte_107DC	db 0			; DATA XREF: sub_E81A+Aw sub_E878+22w	...
@@ -37610,108 +37514,10 @@ aHi01_pi	db 'hi01.pi',0          ; DATA XREF: sub_C1DD+28o
 aScnum_bft	db 'scnum.bft',0        ; DATA XREF: sub_C1DD+50o
 aSctm0_bft	db 'sctm0.bft',0        ; DATA XREF: sub_C1DD+59o
 aSctm1_bft	db 'sctm1.bft',0        ; DATA XREF: sub_C1DD+62o
-unk_11676	db  83h	; �E	; DATA XREF: sub_C1DD+F5o
-		db  58h	; X
-		db  83h	; �E
-		db  8Dh	; �E
-		db  81h	; �E
-		db  5Bh	; [
-		db  83h	; �E
-		db  82h	; �E
-		db  81h	; �E
-		db  5Bh	; [
-		db  83h	; �E
-		db  68h	; h
-		db  82h	; �E
-		db 0C5h	; Å
-		db  82h	; �E
-		db 0CCh	; Ì
-		db  83h	; �E
-		db  76h	; v
-		db  83h	; �E
-		db  8Ch	; �E
-		db  83h	; �E
-		db  43h	; C
-		db  82h	; �E
-		db 0C5h	; Å
-		db  82h	; �E
-		db 0CDh	; Í
-		db  81h	; �E
-		db  41h	; A
-		db  83h	; �E
-		db  58h	; X
-		db  83h	; �E
-		db  52h	; R
-		db  83h	; �E
-		db  41h	; A
-		db  82h	; �E
-		db 0CDh	; Í
-		db  8Bh	; �E
-		db  4Ch	; L
-		db  98h	; �E
-		db  5Eh	; ^
-		db  82h	; �E
-		db 0B3h	; ³
-		db  82h	; �E
-		db 0EAh	; �E
-		db  82h	; �E
-		db 0DCh	; Ü
-		db  82h	; �E
-		db 0B9h	; ¹
-		db  82h	; �E
-		db 0F1h	; �E
-		db    0
-unk_116A9	db  83h	; �E	; DATA XREF: sub_C1DD+106o
-		db  58h	; X
-		db  83h	; �E
-		db  8Dh	; �E
-		db  81h	; �E
-		db  5Bh	; [
-		db  83h	; �E
-		db  82h	; �E
-		db  81h	; �E
-		db  5Bh	; [
-		db  83h	; �E
-		db  68h	; h
-		db  82h	; �E
-		db 0C5h	; Å
-		db  82h	; �E
-		db 0CCh	; Ì
-		db  83h	; �E
-		db  76h	; v
-		db  83h	; �E
-		db  8Ch	; �E
-		db  83h	; �E
-		db  43h	; C
-		db  82h	; �E
-		db 0C5h	; Å
-		db  82h	; �E
-		db 0CDh	; Í
-		db  81h	; �E
-		db  41h	; A
-		db  83h	; �E
-		db  58h	; X
-		db  83h	; �E
-		db  52h	; R
-		db  83h	; �E
-		db  41h	; A
-		db  82h	; �E
-		db 0CDh	; Í
-		db  8Bh	; �E
-		db  4Ch	; L
-		db  98h	; �E
-		db  5Eh	; ^
-		db  82h	; �E
-		db 0B3h	; ³
-		db  82h	; �E
-		db 0EAh	; �E
-		db  82h	; �E
-		db 0DCh	; Ü
-		db  82h	; �E
-		db 0B9h	; ¹
-		db  82h	; �E
-		db 0F1h	; �E
-		db    0
+aGxgnbGvbGhvVGv	db 'ƒXƒ��[ƒ‚�[ƒh‚Å‚ÌƒvƒŒƒC‚Å‚Í�AƒXƒRƒA‚Í‹L˜^‚³‚ê‚Ü‚¹‚ñ',0
+					; DATA XREF: sub_C1DD+F5o
+aGxgnbGvbGhvV_0	db 'ƒXƒ��[ƒ‚�[ƒh‚Å‚ÌƒvƒŒƒC‚Å‚Í�AƒXƒRƒA‚Í‹L˜^‚³‚ê‚Ü‚¹‚ñ',0
+					; DATA XREF: sub_C1DD+106o
 aName		db 'name',0             ; DATA XREF: sub_C1DD+13Fo
 		db 0
 word_116E2	dw 150h			; DATA XREF: sub_C8AE+116r
@@ -37764,76 +37570,26 @@ byte_116EA	db 0			; DATA XREF: sub_C729:loc_C786r
 		db 0AAh	; ª
 		db    0
 byte_11713	db 0			; DATA XREF: sub_C5E7+22r sub_C5E7+58r ...
-unk_11714	db  93h	; �E	; DATA XREF: sub_C67F+9Co
-		db  5Fh	; _
-		db    0
-unk_11717	db  81h	; �E	; DATA XREF: sub_C729+ECo
-		db  44h	; D
-		db    0
-unk_1171A	db  81h	; �E	; DATA XREF: sub_C729+FEo
-		db  93h	; �E
-		db    0
-unk_1171D	db  81h	; �E	; DATA XREF: sub_C835+6Bo
-		db  44h	; D
-		db    0
-unk_11720	db  81h	; �E	; DATA XREF: sub_C8AE+13Eo
-		db  93h	; �E
-		db    0
+aU__0		db '“_',0               ; DATA XREF: sub_C67F:loc_C71Bo
+aBd		db '�D',0               ; DATA XREF: sub_C729+ECo
+aBu		db '�“',0               ; DATA XREF: sub_C729+FEo
+aBd_0		db '�D',0               ; DATA XREF: sub_C835+6Bo
+aBu_0		db '�“',0               ; DATA XREF: sub_C8AE+13Eo
 aB@b@b@b@b@b@b@	db '�@�@�@�@�@�@�@ ˜r‘O”»’è',0 ; DATA XREF: sub_CA9B+21o
 aUqiUx		db '“ïˆÕ“x',0           ; DATA XREF: sub_CA9B+39o
 aNPiuU_		db '�Å�I“¾“_',0         ; DATA XREF: sub_CA9B+51o
-unk_1174B	db  83h	; �E	; DATA XREF: sub_CA9B+69o
-		db  7Eh	; ~
-		db  83h	; �E
-		db  58h	; X
-		db  89h	; �E
-		db 0F1h	; �E
-		db  90h	; �E
-		db  94h	; �E
-		db    0
-unk_11754	db  83h	; �E	; DATA XREF: sub_CA9B+81o
-		db  7Bh	; {
-		db  83h	; �E
-		db  80h	; €
-		db  8Eh	; �E
-		db  67h	; g
-		db  97h	; �E
-		db  70h	; p
-		db  89h	; �E
-		db 0F1h	; �E
-		db  90h	; �E
-		db  94h	; �E
-		db    0
+aGGxi		db 'ƒ~ƒX‰ñ�”',0         ; DATA XREF: sub_CA9B+69o
+aGGaogcpi	db 'ƒ{ƒ€Žg—p‰ñ�”',0     ; DATA XREF: sub_CA9B+81o
 aGqbGatbrmcj	db 'ƒQ�[ƒ€’B�¬—¦',0     ; DATA XREF: sub_CA9B+99o
 aIlcSObcj	db 'ˆ«—ì‘ÞŽ¡—¦',0       ; DATA XREF: sub_CA9B+B1o
-unk_11779	db  83h	; �E	; DATA XREF: sub_CA9B+C9o
-		db  41h	; A
-		db  83h	; �E
-		db  43h	; C
-		db  83h	; �E
-		db  65h	; e
-		db  83h	; �E
-		db  80h	; €
-		db  89h	; �E
-		db 0F1h	; �E
-		db  8Eh	; �E
-		db 0FBh	; �E
-		db  97h	; �E
-		db 0A6h	; ¦
-		db    0
+aGagcgegai	db 'ƒAƒCƒeƒ€‰ñŽû—¦',0   ; DATA XREF: sub_CA9B+C9o
 aUU_gagcgeganNv	db '“¾“_ƒAƒCƒeƒ€�Å�‚“_—¦',0 ; DATA XREF: sub_CA9B+E1o
 aLcnzvv		db '‹C�‡‚¢',0           ; DATA XREF: sub_CA9B+F9o
 aPicacovCj	db '�ˆ—�—Ž‚¿—¦',0       ; DATA XREF: sub_CA9B+111o
 aVavVVSrso	db '‚ ‚È‚½‚Ì˜r‘O',0     ; DATA XREF: sub_CA9B+129o
-unk_117BC	db  89h	; �E	; DATA XREF: sub_CA9B+1D8o
-		db 0F1h	; �E
-		db    0
-unk_117BF	db  89h	; �E	; DATA XREF: sub_CA9B+1F3o
-		db 0F1h	; �E
-		db    0
-unk_117C2	db  93h	; �E	; DATA XREF: sub_CA9B+5C7o
-		db  5Fh	; _
-		db    0
+aI		db '‰ñ',0               ; DATA XREF: sub_CA9B+1D8o
+aI_0		db '‰ñ',0               ; DATA XREF: sub_CA9B+1F3o
+aU_		db '“_',0               ; DATA XREF: sub_CA9B+5C7o
 a_ude_txt	db '_ude.txt',0         ; DATA XREF: sub_CA9B+5D0o
 aBhbhbhbhbhbhu_	db '�H�H�H�H�H�H“_',0   ; DATA XREF: sub_CA9B+698o
 aPicacovVVcvsfT	db '�ˆ—�—Ž‚¿‚É‚æ‚é”»’è•s‰Â',0 ; DATA XREF: sub_CA9B+6B3o
@@ -38816,37 +38572,12 @@ aStringRefere_1	db 'String reference out of range',0
 aPath		db 'PATH',0
 		db '/\',0
 		db    0
-		db  2Eh	; .
-		db  42h	; B
-		db  41h	; A
-		db  54h	; T
-		db    0
-		db  2Eh	; .
-		db  43h	; C
-		db  4Fh	; O
-		db  4Dh	; M
-		db    0
-		db  2Eh	; .
-		db  45h	; E
-		db  58h	; X
-		db  45h	; E
-		db    0
-		db  2Eh	; .
-		db  42h	; B
-		db  41h	; A
-		db  54h	; T
-		db    0
-		db  43h	; C
-		db  4Fh	; O
-		db  4Dh	; M
-		db  53h	; S
-		db  50h	; P
-		db  45h	; E
-		db  43h	; C
-		db    0
-		db  2Fh	; /
-		db  63h	; c
-		db    0
+a_bat		db '.BAT',0
+a_com		db '.COM',0
+a_exe		db '.EXE',0
+a_bat_0		db '.BAT',0
+aComspec	db 'COMSPEC',0
+aC		db '/c',0
 		db    1
 		db  20h
 		dd @string@contains$xqnxc ; string::contains(char *)
