Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ednumeri.asm line number cotrolled text editor 04/27/2009

0 views
Skip to first unread message

ericmatteson...@hotmail.com

unread,
Apr 27, 2009, 4:51:59 PM4/27/09
to
; delete all lines above this line
; delete all lines above this line
; this is the first line of this program
; ednumeri.asm of April 27 2009
; this ednumeri.asm line number controlled text editor
; program
; is written by Eric Matteson. Permission is granted
; to copy this source code file ednumeri.asm and to publish
; it on the Internet and to use it at least for
; non-profit use.
; to assemble with nasm
; nasm -f bin -o ednumeri.nas ednumeri.asm
; mv ednumeri.nas ednumeri.exe
; dir -l ednumeri.*
; ednumeri.exe will be exactly 45056 bytes if it is
; assembled correctly
; wine ednumeri.exe
; to run this program on wine + linux
; Also tested on Windows 98 SE
; ednumeri.asm assembler source code is next.
section .bss
org 02000h
nonscroll resd 1
resb 2
vardib resb 17582
te resd 1
dkey resd 1
le resd 1
r resd 1
revl resd 4
wmwindclass resd 24
tevl resd 4
wmwindmsg resd 16
rquesize resd 1
rquesave resd 1024
nzshift resd 1
cmd resd 1
tjctr resd 1
teepbase resd 1
; -
rep0 resd 1
one2 resd 1
fp04 resd 1
fl06 resd 1
eofi resd 1
a80w resd 1
hv0c resd 1
evrd resb 88
hiskrba resb 16
edhanb resd 2
pose resd 1
hiskwid resd 1
filelen resd 1
largestln resd 1
keyctr resd 1
zeeconsole resd 1
dagranow resd 1
freddynext resd 1
tprnctr resd 1
klinewid resd 1
editwithin resd 1
chkline resd 1
str96 resd 1
iojump resd 1
namzset resd 1
pitchin resd 1
filenamz resb 84
conrhan resd 2
conrham resd 2
conwhan resd 2
conwham resd 2
evwr resb 2080
sandoval resb 2092152
; -----
section .code
bits 32
org 00000000h
db "MZ"
dw 0080h
dw 0001h
dw 0000h
dw 0004h
dw 0000h
dw 0FFFFh
dw 0FFF0h
dw 7ff4h
dw 0000h
dw 0100h
dw 0fff0h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h
db 00h, 00h, 00h, 00h
dd 00000080h
db 0c7h, 0c2h, 010h, 01h, 0b4h, 09h, 0cdh, 21h
db 0c7h, 0c0h, 01h, 04ch, 0cdh, 021h, 00h, 00h
db "*** ERROR *** unable to load program$$$$$$$$$$--"
; begin 32-bit console header here at 0080
db "PE"
db 00h, 00h
db 04ch, 01h
hmanysects db 03h, 00h
dd 00000000h
dd 00000000h
dd 00000000h
dd 010600e0h
; -------------- 0098
dd 3702010bh
hcodesize dd 00009000h
hinitdsize dd 00001000h
hramsize dd 00800000h
lphfileIP dd 00001000h
lphramIP dd 00001000h
lphramCONST dd 0080A000h
iimagebase dd 00400000h
hsectalign dd 00001000h
hfilealign dd 00001000h
dd 00000004h
dd 00000000h
dd 00000004h
dd 00000000h
iimagesize dd 0080B000h
hddrsize dd 00001000h
checksum dd 00000000h
hwdllclwsub dd 00000002h
stackreserve dd 00100000h
stackcommit dd 00001000h
heapreserve dd 00100000h
heapcommit dd 00001000h
dd 00000000h
dd 00000010h
; -------- 00f8h
; address size
hhjexport dd 00000000h, 00000000h
hhjimport dd 0080A000h, 0000054Bh
hhresource dd 00000000h, 00000000h
dd 00000000h, 00000000h
dd 00000000h, 00000000h
dd 00000000h, 00000000h
dd 00000000h, 00000000h
dd 00000000h, 00000000h
dd 00000000h, 00000000h
dd 00000000h, 00000000h
dd 00000000h, 00000000h
dd 00000000h, 00000000h
dd 00000000h, 00000000h
dd 00000000h, 00000000h
dd 00000000h, 00000000h
dd 00000000h, 00000000h
; 0178h
db ".text"
db 00h, 00h, 00h
dd 00009000h
lpcoderam dd 00001000h
llcodesize dd 00009000h
lpcodefill dd 00001000h
dd 00000000h
dd 00000000h
dd 00000000h
codchrs dd 060000020h
; --------------------
db ".bss"
db 00h, 00h, 00h, 00h
dd 00000000h
dd 0000A000h
dd 00800000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 0C0000080h
; ------------
db ".data"
db 00h, 00h, 00h
dd 00001000h
dd 0080A000h
dd 00001000h
dd 0000A000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 0C0000040h
; --
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
; 0200h
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; ------------------------------ 0400
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 0600
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; ------------------------------ 0800
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; ------------------------------ 0a00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; ------------------------------ 0c00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; ------------------------------ 0e00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; ------------------------------ 1000
; begin 32-bit code here
firstcode: jmp lncmain105
; int nampy(int nasl, int nasr)
; 1004 retad 1008 nasl 1012 nasr
; 992 esi 996 edi 1000 ebp
; 980 ecx 984 edx 988 ebx
; 968 cst32 972 cst1 976 product
nampy: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
xor eax,eax
push eax
push eax
push eax
xor esi,esi
add esi,1000
mov ecx,esi
sub ecx,968
sub esi,999
mov [ebp+972],esi
mov [ebp+968],ecx
mov edi,[ebp+1008]
mov ebx,[ebp+1012]
xor esi,esi
namlop: mov edx,[ebp+972]
and edx,ebx
jz namzur
add [ebp+976],edi
namzur: shr ebx,1
add edi,edi
or ebx,ebx
jz nambot
add esi,[ebp+972]
cmp esi,[ebp+968]
js namlop
nambot: pop ecx
pop edx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of nampy
; int smposdiv(int posnu,int posde)
; 2004 retad 2008 posnu 2012 posde
; 1992 esi 1996 edi 2000 ebp
; 1980 ecx 1984 edx 1988 ebx
; 1968 cst32 1972 cst1 1976 frac
smposdiv: push ebp
mov ebp,esp
sub ebp,2000
push edi
push esi
push ebx
push edx
push ecx
xor eax,eax
push eax
push eax
push eax
xor esi,esi
add esi,1000
mov ecx,esi
sub ecx,968
sub esi,999
mov [ebp+1972],esi
mov [ebp+1968],ecx
mov esi,[ebp+2008]
xor ecx,ecx
xor edi,edi
loopdivt: mov edx,[ebp+1976]
clc
adc [ebp+1976],edx
clc
adc esi,esi
adc edi,edi
mov edx,edi
sub edx,[ebp+2012]
jb loopdivz
mov edi,edx
mov ebx,[ebp+1972]
add [ebp+1976],ebx
loopdivz: add ecx,[ebp+1972]
cmp ecx,[ebp+1968]
js loopdivt
pop ecx
pop edx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; bottom of smposdiv
; int idch(int numerator,int denominator,char* isrf);
; 1016 *isrf 1012 denominator 1008 numerator
; 1004 retad 1000 ebpsave 996 edisave
; 992 esisave 988 ebxsave 984 edxsave
; 980 ecxsave 976 ire 972 ito
; 968 ifrac 964 idh
idch: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
xor edx,edx
add edx,511
push edx
push edx
push edx
push edx
mov ebx,[ebp+1008]
mov edi,[ebp+1012]
xor eax,eax
cmp ebx,eax
js notdivb
cmp eax,edi
jns notdivb
isdivc: xor edx,edx
mov eax,ebx
mov ecx,edi
push ecx
push eax
call smposdiv
xor edx,edx
add edx,1008
sub edx,1000
add esp,edx
mov [ebp+968],eax
xor edx,edx
jz isdiva
isdivdec: mov edx,[ebp+968]
sub edx,300
add edx,301
mov [ebp+968],edx
isdiva: xor edx,edx
mov eax,[ebp+968]
mov ecx,edi
push ecx
push eax
call nampy
xor edx,edx
add edx,1008
sub edx,1000
add esp,edx
mov edx,ebx
sub edx,eax
mov [ebp+976],edx
xor eax,eax
jz isdivr
notdivb: xor eax,eax
jz rotdivb
isdivr: cmp edx,eax
js isdivdec
xor ecx,ecx
xor edx,edx
mov esi,[ebp+1016]
sub esi,300
mov dl,[esi+300]
add edx,1000
cmp edx,1114
jne notremd
mov ecx,[ebp+976]
notremd: cmp edx,1102
jne notfrad
mov ecx,[ebp+968]
notfrad: mov [ebp+964],ecx
rotdivb: xor eax,eax
cmp edi,eax
jnz notdigit
cmp ebx,eax
js notdigit
xor edx,edx
mov esi,[ebp+1016]
sub esi,1000
or dl,[ebx+esi*1+1000]
add edx,1000
mov ecx,edx
cmp edx,1048
js notnine
cmp edx,1058
jns notnine
sub ecx,1048
xor eax,eax
jz notnine
notdigit: xor eax,eax
jz botdigit
notnine: cmp edx,1065
js notaten
cmp edx,1071
jns notaten
sub ecx,1055
notaten: cmp edx,1097
js notzten
cmp edx,1103
jns notzten
sub ecx,1087
notzten: mov [ebp+964],ecx
botdigit: xor eax,eax
cmp edi,eax
jns typenot
cmp ebx,eax
js typenot
xor edx,edx
mov esi,[ebp+1016]
sub esi,1000
or dl,[ebx+esi*1+1000]
add edx,1000
mov ecx,edi
sub ecx,2000
cmp edx,1000
jnz notidhzur
add ecx,2003
notidhzur: cmp edx,1032
jnz notblank
add ecx,2003
notblank: cmp edx,1048
js itypenot
cmp edx,1058
jns itypenot
add ecx,2001
xor eax,eax
jz itypenot
typenot: xor eax,eax
jz typebot
itypenot: xor eax,eax
cmp edx,1065
js htypenot
cmp edx,1071
jns htypenot
add ecx,2001
htypenot: cmp edx,1097
js rtypenot
cmp edx,1103
jns rtypenot
add ecx,2001
rtypenot: mov [ebp+964],ecx
typebot: mov eax,[ebp+964]
pop edx
pop edx
pop edx
pop edx
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of idch
; chnvalue(*chwv,subv,inchn,*bwv)
; 1020 *bwv 1016 inchn 1012 subv 1008 *chvw
; 1004 retad 1000 ebpsav 996 edisav 992 esisa
; 988 ebxsav 984 edxsav 980 ecxsav 976 eaxsav
; 972 nvbase 968 nvwid 964 nvctr 960 nvtype
; 956 nvdir 952 nvptr 948 inrhn 944 inrhf
; 940 cst_f 936 cst_r 932 cst01 928 cst12
; 927f 922a 921v9 912v0
chnvalue: push ebp
mov ebp,esp
push edi
push esi
push ebx
push edx
push ecx
push eax
xor edx,edx
xor ecx,ecx
add ecx,3020
sub ecx,3000
chnputop: push edx
add ecx,2000
sub ecx,2001
jnz chnputop
sub ebp,1000
xor esi,esi
sub esi,1000
mov ecx,esi
add ecx,1012
mov [ebp+928],ecx
mov ecx,esi
add ecx,1001
mov [ebp+932],ecx
add esi,1427
consthlo: mov edx,esi
sub edx,325
mov [ebp+esi*1+500],dl
add edx,324
mov esi,edx
cmp esi,422
jns consthlo
xor esi,esi
add esi,421
constilo: mov edx,esi
sub edx,364
mov [ebp+esi*1+500],dl
add edx,363
mov esi,edx
cmp esi,412
jns constilo
xor esi,esi
sub esi,1000
mov ecx,esi
add ecx,1102
mov [ebp+940],ecx
mov ecx,esi
add ecx,1114
mov [ebp+936],ecx
xor edx,edx
mov esi,[ebp+1020]
xor ecx,ecx
sub ecx,[ebp+932]
push esi
push ecx
push edx
call idch
add esp,[ebp+928]
mov [ebp+960],eax
xor edx,edx
add edx,[ebp+932]
push esi
push ecx
push edx
call idch
add esp,[ebp+928]
mov [ebp+956],eax
mov ebx,[ebp+1016]
; -----------------
xor edx,edx
add edx,1056
sub edx,1000
mov eax,[ebp+940]
mov edi,[ebp+1020]
sub edi,1000
cmp al,[edi+1000]
jnz nonahvneg
cmp dl,[edi+1001]
jnz nonahvneg
xor edi,edi
cmp ebx,edi
jns nonahvneg
mov edx,ebx
add edx,[ebp+932]
xor ebx,ebx
sub ebx,edx
nonahvneg: mov [ebp+948],ebx
; ---
mov ecx,[ebp+960]
or ecx,[ebp+956]
jz yeswinte
; ----
yeswinte: mov esi,[ebp+1020]
xor edx,edx
cmp ebx,edx
js nonwinte
cmp edx,[ebp+960]
jnz nonwinte
cmp edx,[ebp+956]
jnz nonwinte
mov ecx,[ebp+932]
push esi
push edx
push edx
call idch
add esp,[ebp+928]
add eax,ecx
mov [ebp+972],eax
push esi
push edx
push ecx
call idch
add esp,[ebp+928]
mov [ebp+968],eax
xor edi,edi
add edi,1000
sub edi,1002
add edi,[ebp+968]
add edi,[ebp+1012]
xor ecx,ecx
jz chniloop
nonwinte: xor ecx,ecx
jz cvmidone
chniloop: mov ebx,[ebp+948]
cmp ecx,[ebp+968]
jns cvmidone
lea esi,[ebp+936]
push esi
mov edx,[ebp+972]
push edx
push ebx
call idch
add esp,[ebp+928]
mov esi,eax
lea eax,[ebp+940]
push eax
push edx
push ebx
call idch
add esp,[ebp+928]
mov [ebp+948],eax
mov ebx,[ebp+1008]
sub ebx,1000
xor edx,edx
jz chnegl319
chmiloop: xor edx,edx
jz chniloop
cvmidone: xor edx,edx
jz chnidone
chnegl319: cmp [ebp+1016],edx
jns chntoppg3
mov edx,esi
mov esi,[ebp+972]
sub esi,[ebp+932]
sub esi,edx
chntoppg3: xor edx,edx
mov dl,[ebp+esi*1+912]
mov [ebx+edi*1+1000],dl
sub edi,[ebp+932]
add ecx,[ebp+932]
xor edx,edx
jz chmiloop
chnidone: xor ebx,ebx
cmp ebx,[ebp+960]
jz nvtypeaus
mov esi,[ebp+1020]
sub esi,1000
xor edx,edx
or dl,[esi+1000]
mov [ebp+972],edx
mov esi,[ebp+1020]
mov edx,[ebp+972]
sub edx,[ebp+936]
jz prtypebur
cmp edx,[ebp+932]
jz nvfailr
xor ecx,ecx
jz nvtypeaus
prtypebur: mov ebx,[ebp+1008]
sub ebx,1000
xor edx,edx
sub esi,1000
mov dl,[esi+1001]
; ----
xor ecx,ecx
jz chnrepl
nvtypeaus: xor ecx,ecx
jz nvtypeaur
nvfailr: xor ecx,ecx
jz chnrepb
chnrepl: cmp ecx,[ebp+1016]
jns nvtypeaur
mov edi,ecx
add edi,[ebp+1012]
sub edi,[ebp+932]
mov [ebx+edi*1+1000],dl
add ecx,[ebp+932]
xor edi,edi
jz chnrepl
nvtypeaur: xor ecx,ecx
jz nxtypeeur
chnrepb: mov ecx,[ebp+932]
add ecx,[ebp+936]
cmp ecx,[ebp+972]
jnz nxtypeeur
mov ecx,[ebp+932]
mov [ebp+948],ecx
xor ecx,ecx
mov ebx,[ebp+1008]
sub ebx,1000
chnstrh: xor edx,edx
mov esi,[ebp+948]
cmp edx,esi
jns nvtypeaur
mov edi,ecx
add edi,[ebp+1012]
sub edi,[ebp+932]
mov esi,[ebp+1020]
sub esi,1000
xor edx,edx
jz chnsvrd
nxtypeeur: xor edx,edx
jz nvtypeeur
chnsvrd: add esi,ecx
mov dl,[esi+1001]
mov [ebp+944],edx
add edx,1000
sub edx,1033
jz nvtypeaur
mov edx,[ebp+944]
mov [ebx+edi*1+1000],dl
add ecx,[ebp+932]
xor edx,edx
add edx,1079
sub edx,1000
cmp ecx,edx
js chnstrh
nvtypeeur: xor ecx,ecx
add ecx,1080
sub ecx,1000
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of chnvalue
; int rlnvalue(int subd0,char* rlvasewid,char* rlnline)
; 1016 *rlnline 1012 rlvase 1008 subd
; 1004 retad 1000 ebpsave 996 edisave
; 992 esisave 988 ebxsave 984 edxsave
; 980 ecxsave 976 eaxsave 972 rlebctr
; 968 rlnvr 964 rlebsub 960 rlebterm
; 956 rixsub 952 rlebtype 948 cst1
; 944 cst0 940 cst-1 936 cst6
; 932 cst14 928 cst 12
; 924 base 920 len 916 912 newpos
; 908 posdsub1 904
rlnvalue: push ebp
mov ebp,esp
push edi
push esi
push ebx
push edx
push ecx
push eax
xor ecx,ecx
add ecx,2076
sub ecx,2000
xor ebx,ebx
rlnpusr: push ebx
add ecx,500
sub ecx,504
jnz rlnpusr
xor edi,edi
add edi,1014
mov ecx,edi
sub ebp,1000
sub ecx,1000
mov [ebp+932],ecx
mov ecx,edi
sub ecx,1008
mov [ebp+936],ecx
mov ecx,edi
sub ecx,1015
mov [ebp+940],ecx
mov [ebp+944],ebx
mov [ebp+912],ebx
mov ecx,edi
sub ecx,1013
mov [ebp+948],ecx
mov ecx,edi
sub ecx,1002
mov [ebp+928],ecx
mov edx,[ebp+940]
mov [ebp+968],edx
mov edx,[ebp+944]
mov [ebp+956],edx
mov edx,[ebp+1008]
mov [ebp+908],edx
xor ecx,ecx
cmp edx,ecx
jns rln732
mov edx,[ebp+940]
sub edx,[ebp+1008]
mov [ebp+908],edx
rln732: mov [ebp+964],edx
mov esi,[ebp+1012]
push esi
mov edx,[ebp+944]
push edx
mov eax,[ebp+948]
push eax
call idch
add esp,[ebp+928]
mov [ebp+920],eax
push esi
push edx
push edx
call idch
add esp,[ebp+928]
add eax,[ebp+948]
mov [ebp+924],eax
mov eax,[ebp+1016]
push eax
mov eax,[ebp+940]
push eax
mov eax,[ebp+964]
push eax
call idch
add esp,[ebp+928]
mov [ebp+952],eax
mov edx,[ebp+944]
cmp edx,[ebp+952]
jnz rln1003
mov eax,[ebp+1016]
push eax
mov eax,[ebp+944]
push eax
mov eax,[ebp+964]
push eax
call idch
add esp,[ebp+928]
cmp eax,[ebp+924]
js rln1003
mov edx,[ebp+948]
mov [ebp+952],edx
rln1003: mov edx,[ebp+944]
cmp edx,[ebp+952]
jz rlndig10
mov edx,[ebp+932]
mov [ebp+960],edx
rlnwfiv: mov edx,[ebp+944]
cmp edx,[ebp+960]
jz rlndig10
mov esi,[ebp+908]
add esi,[ebp+956]
mov [ebp+964],esi
mov eax,[ebp+1016]
push eax
mov eax,[ebp+940]
push eax
mov eax,[ebp+964]
push eax
call idch
add esp,[ebp+928]
mov [ebp+952],eax
xor edx,edx
jz rlnt005
rlndig10: xor edx,edx
jz rlndigt9
rlnwsix: xor edx,edx
jz rlnwfiv
rlnt005: cmp edx,[ebp+952]
jnz rln1006
mov eax,[ebp+1016]
push eax
mov eax,[ebp+944]
push eax
mov eax,[ebp+964]
push eax
call idch
add esp,[ebp+928]
cmp eax,[ebp+924]
js rln1006
mov edx,[ebp+948]
mov [ebp+952],edx
rln1006: mov edx,[ebp+952]
mov [ebp+960],edx
xor edx,edx
jz rlnl007
rlndigt9: xor edx,edx
jz rlndigt8
rlnwsev: xor edx,edx
jz rlnwsix
rlnl007: cmp edx,[ebp+960]
jz rlndigt9
mov edx,[ebp+948]
add [ebp+956],edx
mov esi,[ebp+932]
cmp esi,[ebp+956]
jns rlnwsev
rlndigt8: mov edx,[ebp+956]
add edx,[ebp+908]
mov [ebp+964],edx
mov eax,[ebp+1016]
push eax
mov eax,[ebp+940]
push eax
mov eax,[ebp+964]
push eax
call idch
add esp,[ebp+928]
mov [ebp+952],eax
xor edx,edx
cmp edx,[ebp+952]
jnz rln1013
mov eax,[ebp+1016]
push eax
mov eax,[ebp+944]
push eax
mov eax,[ebp+964]
push eax
call idch
add esp,[ebp+928]
cmp eax,[ebp+924]
js rln1013
mov edx,[ebp+948]
mov [ebp+952],edx
rln1013: mov edx,[ebp+952]
mov [ebp+972],edx
xor esi,esi
cmp esi,[ebp+952]
jnz rlnbot21
xor esi,esi
mov [ebp+968],esi
mov edx,[ebp+908]
add edx,[ebp+956]
add edx,[ebp+972]
mov [ebp+912],edx
rlnw016: mov edx,[ebp+972]
cmp edx,[ebp+920]
jns rlnbot21
mov esi,[ebp+908]
add esi,[ebp+956]
add esi,[ebp+972]
mov [ebp+964],esi
mov eax,[ebp+1016]
push eax
mov eax,[ebp+944]
push eax
mov eax,[ebp+964]
push eax
call idch
add esp,[ebp+928]
mov [ebp+960],eax
xor edx,edx
jz rlnt016
rlnbot21: xor edx,edx
jz rlnbot20
rlnw017: xor edx,edx
jz rlnw016
rlnt016: mov esi,[ebp+960]
cmp esi,edx
js rlnbot21
cmp esi,[ebp+924]
jns rlnbot21
mov edx,[ebp+972]
cmp edx,[ebp+920]
jns rlnbot21
xor edx,edx
mov eax,[ebp+968]
mov esi,[ebp+924]
push esi
push eax
call nampy
xor edx,edx
add edx,1008
sub edx,1000
add esp,edx
mov [ebp+968],eax
mov esi,[ebp+968]
add esi,[ebp+960]
mov [ebp+968],esi
mov edx,[ebp+964]
mov [ebp+912],edx
mov edx,[ebp+948]
add [ebp+972],edx
xor esi,esi
jz rlnw017
rlnbot20: mov eax,[ebp+968]
mov edx,[ebp+1008]
xor ecx,ecx
cmp edx,ecx
jns rlnposbt
mov eax,[ebp+912]
add eax,[ebp+948]
rlnposbt: xor ecx,ecx
add ecx,2080
sub ecx,2000
add esp,ecx
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of rlnvalue
; int getretad()
getretad: push ebp
mov ebp,esp
sub ebp,300
mov eax,[ebp+304]
pop ebp
ret
; int getreala(int ofthis)
; 362 ofthis 358 retad 354 ebpsave
; 350 esisave
getreala: push ebp
push esi
mov ebp,esp
sub ebp,350
xor eax,eax
lea esi,[eax+getonea]
call getretad
getonea: sub eax,esi
add eax,[ebp+362]
pop esi
pop ebp
ret
; void bigarec(char* localh,int locdisp,
; int widnegw,int lzub,char* bigac)
; 1016 widnegw 1020 lzub 1024 *bigac
; 1000 ebpsave 1004 retad 1008 *localh 1012 locdisp
; 984 edxsave 988 ebxsave 992 esisave 996 edisave
; 968 972 976 eaxsave 980 ecxsave
; 952 956 960 compdir 964 iabswid
; 936 arctr 940 lzbase 944 cst0 948 cst1
bigarec: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
push eax
xor ebx,ebx
xor edx,edx
add edx,3064
sub edx,3000
bigaus: push ebx
add edx,1000
sub edx,1004
jnz bigaus
xor esi,esi
add esi,1001
mov ecx,esi
sub ecx,1000
mov [ebp+948],ecx
mov [ebp+944],ebx
mov ecx,esi
sub ecx,1002
mov [ebp+960],ecx
xor edx,edx
sub edx,[ebp+1016]
mov [ebp+964],edx
mov ecx,[ebp+1016]
cmp ecx,[ebp+944]
js kaepbneg
mov edx,[ebp+1016]
mov [ebp+964],edx
mov edx,[ebp+948]
mov [ebp+960],edx
kaepbneg: xor edx,edx
mov eax,[ebp+1020]
mov esi,[ebp+964]
push esi
push eax
call nampy
xor edx,edx
add edx,1000
sub edx,992
add esp,edx
mov [ebp+940],eax
xor ecx,ecx
mov edx,[ebp+960]
cmp edx,[ebp+944]
jns ispozar
isnegar: cmp ecx,[ebp+964]
jns nobdunar
mov esi,ecx
add esi,[ebp+1008]
add esi,[ebp+1012]
mov edi,ecx
add edi,[ebp+1024]
add edi,[ebp+940]
sub edi,300
sub esi,400
xor edx,edx
or dl,[esi+400]
mov [edi+300],dl
add ecx,[ebp+948]
xor edx,edx
jz isnegar
nobdunar: xor edx,edx
jz noadunar
ispozar: cmp ecx,[ebp+964]
jns nobdunar
mov esi,ecx
add esi,[ebp+940]
add esi,[ebp+1024]
sub esi,600
mov edi,ecx
add edi,[ebp+1008]
add edi,[ebp+1012]
sub edi,800
xor edx,edx
mov dl,[esi+600]
mov [edi+800],dl
; --
add ecx,[ebp+948]
; --
xor edx,edx
jz ispozar
noadunar: xor edx,edx
add edx,3064
sub edx,3000
add esp,edx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of bigarec
; int abslen(int ilm,int ilsize,char* il)
; ilm == 1 small length idchtype
; ilm == 2 big length idchtype
; ilm == 3 small length > 32
; ilm == 4 big length > 32
; 1016 *il
; 1004 retad 1008 ilm 1012 ilsize
; 992 esi 996 edi 1000 ebpsave
; 980 ecx 984 edx 988 ebx
; 968 irl 972 ilz 976 eax
; 956 cst1 960 ien 964 iop
; 944 948 cstmi3 952 cst12
abslen: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
push eax
xor ebx,ebx
xor ecx,ecx
add ecx,2032
sub ecx,2000
absus: push ebx
add ecx,300
sub ecx,304
jnz absus
xor edi,edi
add edi,1012
mov ecx,edi
sub ecx,1011
mov [ebp+956],ecx
mov ecx,edi
sub ecx,1000
mov [ebp+952],ecx
mov ecx,edi
sub ecx,1015
mov [ebp+948],ecx
mov edx,[ebp+1012]
mov [ebp+968],edx
mov [ebp+972],ebx
mov edx,[ebp+956]
add edx,[ebp+956]
cmp edx,[ebp+1008]
jnz notilm22
mov edx,[ebp+968]
mov [ebp+972],edx
mov [ebp+960],ebx
whilm21: xor edx,edx
cmp edx,[ebp+960]
jnz doneilm2
mov edx,[ebp+972]
sub edx,[ebp+956]
mov [ebp+968],edx
mov eax,[ebp+1016]
push eax
mov eax,[ebp+948]
push eax
mov eax,[ebp+968]
push eax
call idch
add esp,[ebp+952]
mov [ebp+960],eax
xor edx,edx
cmp edx,[ebp+960]
jz keepilm2
doneilm2: xor edx,edx
jz doneilm4
whilm41: xor edx,edx
jz whilm21
notilm22: xor edx,edx
jz notilm42
keepilm2: mov edx,[ebp+968]
mov [ebp+972],edx
xor edx,edx
cmp edx,[ebp+972]
jnz whilm41
doneilm4: mov edx,[ebp+972]
mov [ebp+976],edx
notilm42: mov edx,[ebp+956]
cmp edx,[ebp+1008]
jnz notilm51
mov [ebp+964],ebx
mov [ebp+960],edx
whilm11: cmp ebx,[ebp+960]
jz doneilm1
mov eax,[ebp+1016]
push eax
mov eax,[ebp+948]
push eax
mov eax,[ebp+964]
push eax
call idch
add esp,[ebp+952]
mov [ebp+960],eax
xor edx,edx
cmp edx,[ebp+960]
jnz keepilm1
doneilm1: xor edx,edx
jz doneilm7
whilm31: xor edx,edx
jz whilm11
notilm51: xor edx,edx
jz notilm71
keepilm1: mov edx,[ebp+956]
add [ebp+964],edx
mov edx,[ebp+964]
cmp edx,[ebp+968]
js whilm31
doneilm7: mov edx,[ebp+964]
mov [ebp+976],edx
notilm71: xor edx,edx
add edx,1004
sub edx,1000
sub edx,[ebp+1008]
jnz notilm224
mov edx,[ebp+968]
mov [ebp+972],edx
mov [ebp+960],ebx
whilm214: xor edx,edx
cmp edx,[ebp+960]
jnz doneilm24
mov edx,[ebp+972]
sub edx,[ebp+956]
mov [ebp+968],edx
mov esi,[ebp+968]
xor edx,edx
sub esi,1000
add esi,[ebp+1016]
or dl,[esi+1000]
add edx,1000
cmp edx,1033
js keepilm24
doneilm24: xor edx,edx
jz doneilm44
notilm224: xor edx,edx
jz notilm424
whilm914: xor edx,edx
jz whilm214
keepilm24: mov edx,[ebp+968]
mov [ebp+972],edx
xor edx,edx
cmp edx,[ebp+972]
jnz whilm914
doneilm44: mov edx,[ebp+972]
mov [ebp+976],edx
notilm424: xor edx,edx
add edx,1003
sub edx,1000
cmp edx,[ebp+1008]
jnz notilm513
mov ebx,[ebp+1016]
sub ebx,3000
xor esi,esi
ilm7514: xor edx,edx
or dl,[ebx+esi*1+3000]
add edx,1000
cmp edx,1033
js endilm510
add esi,[ebp+956]
cmp esi,[ebp+1012]
js ilm7514
endilm510: mov [ebp+976],esi
notilm513: xor edx,edx
add edx,2032
sub edx,2000
add esp,edx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of abslen
; int getlnpos(int gpmode,struct lnes *gl)
; put line in array
; gpmode==2 write gpmode==1 get index only
; 1008 gpmode 1012 *gl
; 1000 ebpsave 1004 retad
; 988 ebx 992 esi 996 edi
; 976 980 ecx 984 edx
; 964 eocmp 968 eowid 972 cst0
; 952 gpdel 956 gplne 960 gplp
; 940 ge07 944 gplimit 948 gpsert
; 928 gpallow 932 gpcmp 936 lfit
; 916 glpctr 920 gln 924 gpzez
; 904 cst2 908 cst12 912 cst1
; 892 tinya80w 896 biga80w 900 cst7
; 880 str962 884 sandwhere 888 evrdloc
; 868 cst16 872 cst20 876 cst4
; 856 860 864 locarrayad
; 748 min 756 locarray
getlnpos: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
xor ebx,ebx
xor ecx,ecx
add ecx,2132
sub ecx,1900
getlnpuu: push ebx
add ecx,304
sub ecx,308
jnz getlnpuu
xor edi,edi
add edi,3012
mov ecx,edi
sub ecx,3011
mov [ebp+912],ecx
mov ecx,edi
sub ecx,3000
mov [ebp+908],ecx
mov ecx,edi
sub ecx,3010
mov [ebp+904],ecx
mov ecx,edi
sub ecx,3005
mov [ebp+900],ecx
mov ebx,[ebp+1012]
sub ebx,8192
mov edx,[ebx+a80w]
mov [ebp+892],edx
mov esi,[ebx+klinewid]
mov [ebp+896],esi
lea esi,[ebx+evrd]
mov [ebp+888],esi
lea esi,[ebx+sandoval]
mov [ebp+884],esi
lea esi,[ebp+756]
mov [ebp+864],esi
lea esi,[ebx+str96]
mov [ebp+880],esi
mov ecx,edi
sub ecx,3008
mov [ebp+876],ecx
mov ecx,edi
sub ecx,2992
mov [ebp+872],ecx
mov ecx,edi
sub ecx,2996
mov [ebp+868],ecx
mov edx,[ebp+972]
sub edx,[ebp+912]
mov [ebp+924],edx
mov edx,[ebp+972]
mov [ebp+952],edx
mov [ebp+928],edx
mov edx,[ebp+912]
mov [ebp+948],edx
mov edx,[ebx+filelen]
add edx,[ebp+912]
mov [ebp+944],edx
mov eax,[ebp+888]
push eax
mov eax,[ebp+880]
push eax
mov eax,[ebp+972]
push eax
call rlnvalue
add esp,[ebp+908]
mov [ebp+932],eax
mov edx,[ebp+932]
cmp edx,[ebp+972]
js getln103
mov edx,[ebx+largestln]
cmp edx,[ebp+932]
js getln103
mov esi,[ebp+972]
mov [ebp+924],esi
cmp esi,[ebx+filelen]
jns getln103
mov edx,[ebp+912]
mov [ebp+928],edx
getln103: mov esi,[ebp+972]
mov edx,[ebp+932]
cmp edx,esi
js getln105
mov edx,[ebx+largestln]
cmp edx,[ebp+932]
jns getln105
mov edx,[ebp+944]
sub edx,[ebp+912]
mov [ebp+924],edx
getln105: mov esi,[ebp+972]
mov [ebp+916],esi
getln106: xor esi,esi
cmp esi,[ebp+928]
jz getlx109
mov edx,[ebp+916]
mov [ebp+924],edx
mov esi,[ebp+892]
mov eax,[ebp+916]
xor edx,edx
push esi
push eax
call nampy
add esp,[ebp+876]
add esp,[ebp+876]
mov [ebp+960],eax
mov edx,[ebp+912]
add edx,[ebp+916]
add edx,[ebp+916]
mov [ebp+956],edx
mov esi,[ebp+892]
cmp esi,[ebp+896]
js getnonlc
xor esi,esi
jz getalcc
zetln106: xor esi,esi
jz getln106
getlx109: xor esi,esi
jz getly109
getalcc: mov eax,[ebp+884]
push eax
mov eax,[ebp+880]
push eax
mov eax,[ebp+960]
push eax
call rlnvalue
add esp,[ebp+908]
mov [ebp+956],eax
getnonlc: mov edx,[ebp+932]
cmp edx,[ebp+956]
jnz gpsertnz
xor esi,esi
mov [ebp+948],esi
gpsertnz: cmp edx,[ebp+956]
jg gpallownz
xor esi,esi
mov [ebp+928],esi
gpallownz: xor esi,esi
jz getln107
zeeln106: xor esi,esi
jz zetln106
getly109: xor esi,esi
jz getlz109
getln107: xor esi,esi
cmp esi,[ebp+928]
jz getly109
mov edx,[ebp+916]
add edx,[ebp+912]
mov [ebp+916],edx
mov [ebp+924],edx
mov esi,[ebp+944]
sub esi,[ebp+912]
cmp edx,esi
js zeeln106
xor esi,esi
mov [ebp+928],esi
getlz109: xor esi,esi
cmp esi,[ebp+948]
jnz getln111
mov ecx,[ebp+944]
sub ecx,[ebp+912]
mov edx,[ebp+924]
cmp edx,ecx
jns getln111
mov esi,[ebp+888]
mov edx,[ebp+896]
mov eax,[ebp+904]
push esi
push edx
push eax
call abslen
add esp,[ebp+908]
mov [ebp+964],eax
push esi
push edx
mov eax,[ebp+912]
push eax
call abslen
add esp,[ebp+908]
cmp eax,[ebp+964]
jnz getln111
mov edx,[ebp+912]
mov [ebp+952],edx
getln111: xor esi,esi
mov edx,[ebp+924]
cmp edx,esi
jns getln112
getlnr99: xor esi,esi
jz getlnr98
getln112: mov edx,[ebp+1008]
cmp edx,[ebp+904]
jnz getlnr99
mov edx,[ebp+972]
mov [ebp+928],edx
mov esi,[ebp+888]
mov edx,[ebp+896]
mov eax,[ebp+912]
push esi
push edx
push eax
call abslen
add esp,[ebp+908]
mov [ebp+964],eax
push esi
push edx
mov eax,[ebp+904]
push eax
call abslen
add esp,[ebp+908]
mov edx,[ebp+964]
cmp edx,eax
jns noloww97
mov edx,[ebp+912]
mov [ebp+928],edx
noloww97: xor esi,esi
jz noloww96
getlnr98: xor esi,esi
jz getlnr95
noloww96: cmp esi,[ebp+928]
js noloww94
nosert50: xor esi,esi
jz nosert49
noloww94: cmp esi,[ebp+948]
jns nosert50
mov edx,[ebp+944]
sub edx,[ebp+904]
mov [ebp+916],edx
whsert23: mov ecx,[ebp+916]
mov edx,[ebp+924]
cmp ecx,edx
jns wksert24
xor esi,esi
jz dunsert8
nosert49: xor esi,esi
jz nosert48
getlnr95: xor esi,esi
jz getlnr94
wksert24: mov ecx,[ebp+916]
add ecx,[ebp+912]
mov eax,[ebp+884]
push eax
mov eax,[ebp+916]
push eax
mov eax,[ebp+892]
push eax
mov eax,[ebp+972]
push eax
mov eax,[ebp+864]
push eax
call bigarec
add esp,[ebp+872]
xor edx,edx
jz wjsert25
whsert32: xor esi,esi
jz whsert23
dunsert8: xor esi,esi
jz dunsert7
nosert48: xor esi,esi
jz nosert47
getlnr94: xor esi,esi
jz getlnr93
wjsert25: sub edx,[ebp+892]
mov eax,[ebp+884]
push eax
push ecx
push edx
mov eax,[ebp+972]
push eax
mov eax,[ebp+864]
push eax
call bigarec
add esp,[ebp+872]
mov edx,[ebp+916]
sub edx,[ebp+912]
mov [ebp+916],edx
xor esi,esi
jz whsert32
nosert47: xor esi,esi
jz nosert46
getlnr93: xor esi,esi
jz getlnr92
dunsert7: mov ecx,[ebp+944]
mov [ebx+filelen],ecx
nosert46: mov esi,[ebp+892]
cmp esi,[ebp+896]
js metlnsm
mov ecx,[ebp+932]
mov edx,[ebx+largestln]
cmp edx,ecx
jns metlnsb
mov [ebx+largestln],ecx
metlnsb: xor edx,edx
jz metllss
metlnsm: xor esi,esi
sub esi,[ebp+912]
add esi,[ebx+filelen]
add esi,[ebx+filelen]
mov [ebx+largestln],esi
xor esi,esi
jz metlnsb
getlnr92: xor esi,esi
jz getlnr91
notplace1: xor esi,esi
jz notplace2
metllss: xor esi,esi
cmp esi,[ebp+928]
jns notplace1
cmp esi,[ebp+952]
jnz notplace1
mov eax,[ebp+888]
push eax
mov eax,[ebp+896]
push eax
mov eax,[ebp+912]
push eax
call abslen
add esp,[ebp+908]
add eax,[ebp+912]
cmp eax,[ebp+900]
js metln75
mov eax,[ebp+900]
metln75: mov [ebp+940],eax
mov edx,[ebp+892]
cmp edx,[ebp+896]
js metln73
xor ecx,ecx
mov [ebp+940],ecx
metln73: xor esi,esi
jz metln80
getlnr91: xor esi,esi
jz getlnr90
notplace2: xor esi,esi
jz notplace3
metln80: xor edx,edx
sub edx,[ebp+892]
mov esi,[ebp+884]
push esi
mov esi,[ebp+924]
push esi
push edx
mov esi,[ebp+940]
push esi
mov esi,[ebp+888]
push esi
call bigarec
add esp,[ebp+872]
notplace3: xor esi,esi
jz notplace4
getlnr90: xor esi,esi
jz getlnr89
notdel10: xor esi,esi
jz notdel11
notplace4: xor esi,esi
cmp esi,[ebp+952]
jns notdel10
mov edx,[ebp+924]
mov [ebp+916],edx
whdel31: mov edx,[ebp+916]
mov ecx,[ebp+944]
sub ecx,[ebp+904]
cmp edx,ecx
js isdel23
xor esi,esi
jz dundel12
getlnr89: xor esi,esi
jz getlnr88
notdel11: xor esi,esi
jz notdel12
whdel32: xor esi,esi
jz whdel31
isdel23: xor edx,edx
sub edx,[ebp+892]
mov esi,[ebp+916]
add esi,[ebp+912]
mov eax,[ebp+884]
push eax
push esi
mov eax,[ebp+892]
push eax
mov eax,[ebp+972]
push eax
mov eax,[ebp+864]
push eax
call bigarec
add esp,[ebp+872]
xor esi,esi
jz isdel24
dundel12: xor esi,esi
jz dundel13
getlnr88: xor esi,esi
jz getlnr87
notdel12: xor esi,esi
jz notdel13
whdel33: xor esi,esi
jz whdel32
isdel24: mov eax,[ebp+884]
push eax
mov eax,[ebp+916]
push eax
push edx
mov eax,[ebp+972]
push eax
mov eax,[ebp+864]
push eax
call bigarec
add esp,[ebp+872]
mov edx,[ebp+912]
add [ebp+916],edx
xor esi,esi
jz whdel33
getlnr87: xor esi,esi
jz getlnr86
notdel13: xor esi,esi
jz notdel14
dundel13: mov ecx,[ebp+944]
mov edx,[ebp+912]
cmp edx,ecx
jns notdel13
sub ecx,[ebp+904]
mov [ebx+filelen],ecx
notdel14: mov ecx,[ebx+largestln]
mov esi,[ebx+filelen]
add esi,[ebx+filelen]
sub esi,[ebp+912]
cmp ecx,esi
jns getlnr87
mov edx,[ebp+892]
cmp edx,[ebp+896]
jns getlnr87
mov [ebx+largestln],esi
getlnr86: xor edx,edx
add edx,2132
sub edx,1900
mov eax,[ebp+924]
; --
add esp,edx
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of getlnpos
; int movoneln(int mlmode,int mldex,struct lnes *ml)
; 0 <= mldex < filelen from big sandoval
; mlmode is 1 or 3 get from big sandoval
; mlmode is >= 3 for pre-scroll
; mlmode == 2 or mlmode == 4 get from input line
; mldex is not line number
; 1008 mlmode 1012 mldex 1016 *ml
; 996 edi 1000 ebpsave 1004 retad
; 984 edx 988 ebx 992 esi
; 972 976 980 ecx
; 960 mvlctr 964 mlnctr 968 mowid
; 948 mobase 952 moallow 956 vowid
; 936 cst0 940 cst1 944 cst24
; 924 *sandoval 928 *evrd 932 *evwr
; 912 cst12 916 *teline 920 cst20
; 900 cpfilelen 904 *cst96 908 cst7
; 888 chndex 892 cst3 896 mvbase
; 876 880 884 cst16
; 748 min 756 teline
movoneln: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
xor eax,eax
xor ecx,ecx
add ecx,2232
sub ecx,2000
movonepu: push eax
add ecx,504
sub ecx,508
jnz movonepu
xor edi,edi
add edi,1064
mov ecx,edi
sub ecx,1063
mov [ebp+940],ecx
mov ecx,edi
sub ecx,1040
mov [ebp+944],ecx
mov ecx,edi
sub ecx,1052
mov [ebp+912],ecx
mov ecx,edi
sub ecx,1044
mov [ebp+920],ecx
mov ecx,edi
sub ecx,1057
mov [ebp+908],ecx
mov ecx,edi
sub ecx,1061
mov [ebp+892],ecx
mov ecx,edi
sub ecx,1048
mov [ebp+884],ecx
mov ebx,[ebp+1016]
sub ebx,8192
lea edx,[ebx+sandoval]
mov [ebp+924],edx
lea ecx,[ebx+evrd]
mov [ebp+928],ecx
lea edx,[ebx+evwr]
mov [ebp+932],edx
lea ecx,[ebp+756]
mov [ebp+916],ecx
mov edx,[ebx+klinewid]
mov [ebp+956],edx
mov ecx,[ebx+a80w]
mov [ebp+968],ecx
mov edx,[ebx+filelen]
mov [ebp+900],edx
lea ecx,[ebx+str96]
mov [ebp+904],ecx
xor edx,edx
mov esi,[ebp+968]
mov eax,[ebp+1012]
push esi
push eax
call nampy
mov ecx,[ebp+940]
add ecx,[ebp+908]
add esp,ecx
mov [ebp+948],eax
; -----
xor esi,esi
mov ecx,[ebp+1012]
cmp ecx,[ebp+900]
jns movnolow
cmp ecx,esi
js movnolow
mov esi,[ebp+940]
movnolow: mov [ebp+952],esi
xor edx,edx
mov eax,[ebp+956]
mov esi,[ebp+944]
push esi
push eax
call nampy
mov edx,[ebp+940]
add edx,[ebp+908]
add esp,edx
mov [ebp+896],eax
xor edx,edx
mov [ebp+960],edx
mov edx,[ebp+1008]
cmp edx,[ebp+892]
js nomovscr
movscrlt: mov ecx,[ebp+960]
add ecx,[ebp+940]
mov edx,[ebp+932]
push edx
push ecx
mov edx,[ebp+956]
push edx
mov edx,[ebp+936]
push edx
mov edx,[ebp+916]
push edx
call bigarec
add esp,[ebp+920]
xor edx,edx
jz movscrgh
movscrlz: xor edx,edx
jz movscrlt
nomovscr: xor edx,edx
jz nomovrcr
movscrgh: sub edx,[ebp+956]
; ---
mov eax,[ebp+932]
push eax
mov eax,[ebp+960]
push eax
push edx
mov eax,[ebp+936]
push eax
mov eax,[ebp+916]
push eax
call bigarec
add esp,[ebp+920]
mov [ebp+960],ecx
cmp ecx,[ebp+944]
js movscrlz
; xor ecx,ecx
; mov [ebx+nonscroll],ecx
nomovrcr: xor ecx,ecx
xor edx,edx
add edx,2032
sub edx,2000
movclrly: mov edi,ecx
add edi,[ebp+916]
sub edi,1000
mov [edi+1000],dl
add ecx,[ebp+940]
cmp ecx,[ebp+956]
js movclrly
mov ecx,[ebp+1012]
add ecx,[ebp+1012]
add ecx,[ebp+940]
mov [ebp+888],ecx
mov esi,[ebp+936]
mov edx,[ebp+968]
cmp edx,[ebp+956]
jns nomovsrk
mov esi,[ebp+908]
nomovsrk: mov ecx,[ebp+952]
cmp ecx,[ebp+940]
jnz nomovbig
mov ecx,[ebp+924]
push ecx
mov ecx,[ebp+1012]
push ecx
mov ecx,[ebp+968]
push ecx
push esi
mov ecx,[ebp+916]
push ecx
call bigarec
add esp,[ebp+920]
; ---
xor ecx,ecx
cmp esi,ecx
jz nomovbig
mov ecx,[ebp+904]
push ecx
mov ecx,[ebp+888]
push ecx
mov ecx,[ebp+940]
push ecx
mov ecx,[ebp+916]
push ecx
call chnvalue
add esp,[ebp+884]
nomovbig: xor ecx,ecx
sub ecx,[ebp+956]
; ---
mov edx,[ebp+932]
push edx
mov edx,[ebp+944]
push edx
push ecx
mov edx,[ebp+936]
push edx
mov edx,[ebp+916]
push edx
call bigarec
add esp,[ebp+920]
mov ecx,[ebp+1008]
mov edx,[ebp+940]
add edx,[ebp+940]
cmp ecx,edx
jz wimovtwx
add edx,edx
cmp ecx,edx
jnz nomovtwx
wimovtwx: xor esi,esi
sub esi,[ebp+956]
mov eax,[ebp+932]
push eax
mov eax,[ebp+944]
push eax
push esi
mov eax,[ebp+936]
push eax
mov eax,[ebp+928]
push eax
call bigarec
add esp,[ebp+920]
nomovtwx: mov eax,[ebp+952]
xor ecx,ecx
add ecx,2232
sub ecx,2000
; --
add esp,ecx
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; bottom of movoneln
; ---
; void riedline(struct lnes *rl)
; 1004 retad 1008 *rl
; 992 esi 996 edi 1000 ebpsave
; 980 ecx 984 edx 988 ebx
; 968 972 976 eax
; 956 ctra06 960 ctrd04 964
; 944 rund 948 bund 952 ctrzz
; 932 cst32 936 cst126 940
; 920 cst0 924 cst1 928 cst204
; 908 cst08 912 cst1a 916 cst13
; 896 cst04 900 904 cst0a
; 884 888 892
; 872 876 880 cpa80w
riedline: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
push eax
xor edi,edi
xor ecx,ecx
add ecx,2026
sub ecx,2000
riedrlpu: push edi
add ecx,1000
sub ecx,1001
jnz riedrlpu
xor esi,esi
add esi,1000
mov ecx,esi
sub ecx,999
mov [ebp+924],ecx
mov ecx,esi
sub ecx,996
mov [ebp+896],ecx
mov ecx,esi
sub ecx,990
mov [ebp+904],ecx
mov ecx,esi
sub ecx,992
mov [ebp+908],ecx
mov ecx,esi
sub ecx,974
mov [ebp+912],ecx
mov ecx,esi
sub ecx,987
mov [ebp+916],ecx
mov ecx,esi
sub ecx,796
mov [ebp+928],ecx
mov ecx,esi
sub ecx,968
mov [ebp+932],ecx
mov ecx,esi
sub ecx,874
mov [ebp+936],ecx
mov ebx,[ebp+1008]
sub ebx,8192
mov ecx,[ebx+a80w]
mov [ebp+880],ecx
xor esi,esi
mov [ebp+960],esi
mov [ebp+956],esi
mov [ebp+952],esi
reedloop01: mov edx,[ebp+956]
cmp edx,[ebp+880]
js chkrep
xor esi,esi
jz afterloop01
chkrep: xor esi,esi
cmp esi,[ebx+rep0]
jnz crepeat
mov esi,[ebp+1008]
push esi
call riadone
add esp,[ebp+896]
crepeat: mov ecx,[ebx+one2]
mov [ebp+948],ecx
xor esi,esi
mov [ebx+rep0],esi
jz cmpxc
afterloop01: xor esi,esi
jz afterloop02
reedloop02: xor esi,esi
jz reedloop01
cmpxc: mov ecx,[ebp+948]
mov [ebp+944],ecx
cmp ecx,[ebp+928]
jz cmpxa1
cmp ecx,[ebp+932]
jns yreedu
mov edx,[ebp+932]
mov [ebp+944],edx
cmp ecx,[ebp+916]
jz cmpxd1
cmp ecx,[ebp+920]
jz cmpxd1
cmp ecx,[ebp+904]
jz cmpxa1
cmp ecx,[ebp+912]
jz cmpxa1
mov esi,[ebp+956]
mov edx,[ebp+944]
mov [ebx+esi*1+evrd],dl
add esi,[ebp+924]
mov [ebp+956],esi
xreedj1: xor esi,esi
jz reedloop02
afterloop02: xor esi,esi
jz afterloop03
cmpxa1: xor esi,esi
jz cmpxa2
cmpxd1: xor esi,esi
jz cmpxd2
yreedu: mov edx,[ebp+944]
mov esi,[ebp+956]
mov [ebx+esi*1+evrd],dl
add esi,[ebp+924]
mov [ebp+956],esi
xor esi,esi
jz xreedj1
cmpxd2: xor esi,esi
jz afterlined
cmpxa2: xor esi,esi
jz afterlinea
afterloop03: xor esi,esi
jz afterloop04
reedloop04: xor esi,esi
jz xreedj1
afterlined: xor esi,esi
jz afterlinea
aftquit01: xor esi,esi
jz blanright1
afterlinea: mov edx,[ebp+948]
cmp edx,[ebp+904]
jz aftquit01
cmp edx,[ebp+912]
jz aftquit01
cmp edx,[ebp+928]
jz aftquit01
xor esi,esi
jz dseek
afterminea: xor esi,esi
jz afterlinea
afterloop04: xor esi,esi
jz afterloop05
reedloop05: xor esi,esi
jz reedloop04
aftquit02: xor esi,esi
jz aftquit01
blanright1: xor esi,esi
jz blanright2
dseek: mov edx,[ebp+948]
cmp edx,[ebp+916]
jz dloopp
cmp edx,[ebp+920]
jz dloopp
mov ecx,[ebp+896]
mov [ebx+rep0],ecx
xor esi,esi
jz aftquit02
dloopp: xor esi,esi
cmp esi,[ebx+eofi]
jz dloop
aftquit03: xor esi,esi
jz aftquit02
afterloop05: xor esi,esi
jz afterloop06
reedloop06: xor esi,esi
jz reedloop05
blanright2: xor esi,esi
jz blanright3
aftermineb: xor esi,esi
jz afterminea
dloop: mov edx,[ebp+1008]
push edx
call riadone
add esp,[ebp+896]
mov edx,[ebx+one2]
mov [ebp+948],edx
xtafterlinea: mov edx,[ebp+960]
add edx,[ebp+924]
mov [ebp+960],edx
cmp edx,[ebp+896]
js atafterlinea
mov edx,[ebp+948]
cmp edx,[ebp+920]
jz reefixdz
cmp edx,[ebp+916]
jz reefixdz
xor esi,esi
jz atafterlinea
reefixdz: xor esi,esi
jz aftquit03
afterloop06: xor esi,esi
jz afterloop07
reedloop07: xor esi,esi
jz reedloop06
blanright3: xor esi,esi
jz blanright4
atafterlinea: xor esi,esi
jz aftermineb
blanright4: mov edx,[ebp+956]
mov [ebp+952],edx
blanlop: mov ecx,[ebp+956]
cmp ecx,[ebp+880]
jns rpopline
mov edi,[ebp+956]
mov edx,[ebp+932]
mov [ebx+edi*1+evrd],dl
add edi,[ebp+924]
mov [ebp+956],edi
xor esi,esi
jz blanlop
aftquit05: xor esi,esi
jz reefixdz
afterloop07: xor esi,esi
jz afterloop08
reedloop08: xor esi,esi
jz reedloop07
ttafterlinea: xor esi,esi
jz atafterlinea
rpopline: mov edx,[ebx+rep0]
mov [ebp+944],edx
xor esi,esi
jz reedret
afterloop08: xor esi,esi
cmp esi,[ebx+eofi]
jz alproca
aftquit06: xor esi,esi
jz aftquit05
alproca: xor esi,esi
jz alprocb
alprocb: mov edx,[ebp+1008]
push edx
call riadone
add esp,[ebp+896]
mov edx,[ebx+one2]
mov [ebp+948],edx
xor esi,esi
cmp esi,[ebx+eofi]
jz rtafterlinea
xor edx,edx
add edx,1008
sub edx,1000
mov [ebp+952],edx
rtafterlinea: xor esi,esi
jz ttafterlinea
reedret: xor edx,edx
add edx,2104
sub edx,2000
add esp,edx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of riadline
; void riadone(struct lnes *ro)
; 1000 ebpsave 1004 retad 1008 *ro
; 988 ebx 992 esi 996 edi
; 976 eax 980 ecx 984 edx
; 964 cst20 968 972
; 952 rdhd 956 cst1 960 cst0
; 940 rdha 944 rdhb 948 diskreclen
; 928 honeb 932 cst32 936 cst16
; 916 cphiskwid 920 han20 924 riskrba
; 904 908 912
; 892 896 900
riadone: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
push eax
xor edx,edx
xor ecx,ecx
add ecx,3000
sub ecx,2979
riadabpu: push edx
add ecx,1000
sub ecx,1001
jnz riadabpu
xor esi,esi
add esi,1000
mov ecx,esi
sub ecx,999
mov [ebp+956],ecx
mov ecx,esi
sub ecx,968
mov [ebp+932],ecx
mov ebx,[ebp+1008]
sub ebx,8192
mov edi,[ebx+hiskwid]
mov [ebp+916],edi
mov ecx,esi
sub ecx,984
mov [ebp+936],ecx
mov ecx,esi
sub ecx,980
mov [ebp+964],ecx
mov ecx,[ebp+956]
mov [ebp+940],ecx
mov [ebp+944],ecx
roteof2: mov edi,[ebx+fp04]
cmp edi,[ebx+fl06]
js rnoteof
mov ecx,[ebp+956]
mov [ebx+eofi],ecx
mov ecx,[ebp+932]
mov [ebp+928],ecx
xor esi,esi
jz yrnoteol
yreof: mov edi,[ebp+956]
mov [ebx+eofi],edi
yrnoteof: mov esi,[ebx+pose]
xor edx,edx
mov dl,[ebx+esi*1+hiskrba]
mov [ebp+928],edx
mov esi,[ebp+956]
add [ebx+pose],esi
yrnoteol: mov edi,[ebp+928]
mov [ebx+one2],edi
xor esi,esi
jz bbrlnc
breof: xor esi,esi
jz yreof
brnoteof: xor esi,esi
jz yrnoteof
rnoteof: mov edi,[ebp+916]
mov [ebp+948],edi
mov ecx,[ebx+fl06]
sub ecx,[ebx+fp04]
mov [ebp+952],ecx
cmp ecx,[ebx+hiskwid]
jg bigleftnoteof
mov edi,[ebp+952]
mov [ebp+948],edi
bigleftnoteof: mov ecx,[ebx+pose]
cmp ecx,[ebx+hiskwid]
js xbnc
mov edi,[ebp+960]
mov [ebx+pose],edi
xor esi,esi
jz noteof2
bbrlnc: xor esi,esi
jz ybrlnc
crnoteof: xor esi,esi
jz brnoteof
creof: xor esi,esi
jz breof
noteof2: mov ecx,[ebp+948]
mov [ebp+940],ecx
lea edi,[ebx+hiskrba]
mov [ebp+924],edi
mov ecx,[ebx+edhanb]
mov [ebp+920],ecx
mov ecx,[ebx+iojump]
push ecx
mov edi,[ebp+920]
push edi
mov edi,[ebp+944]
push edi
mov edi,[ebp+940]
push edi
mov edi,[ebp+924]
push edi
call afread
add esp,[ebp+964]
xbnc: mov edi,[ebx+fp04]
add edi,[ebp+956]
mov [ebx+fp04],edi
ylnc: mov ecx,[ebx+fp04]
cmp ecx,[ebx+fl06]
js crnoteof
yxrlnc: xor esi,esi
jz creof
ybrlnc: xor edx,edx
add edx,3084
sub edx,3000
add esp,edx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of riadone
; int initone(struct lnes *jn1,void* rawioproc)
; 1012 *rawioproc
; 1000 ebpsave 1004 retad 1008 *jn1
; 988 ebx 992 esi 996 edi
; 976 wasinit 980 ecx 984 edx
; 964 968 972
; 952 956 960
initone: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
xor edi,edi
push edi
push edi
push edi
push edi
push edi
push edi
push edi
mov ebx,[ebp+1008]
sub ebx,8192
xor edx,edx
add edx,1032
sub edx,1000
xor ecx,ecx
add ecx,2080
initlbwr: mov [ebx+edi*1+evwr],dl
add edi,1001
sub edi,1000
add ecx,999
sub ecx,1000
jnz initlbwr
xor edi,edi
xor esi,esi
add esi,1000
xor edx,edx
add edx,03936h
mov [ebx+str96],edi
mov edi,esi
sub edi,999
mov [ebx+str96],dh
mov [ebx+edi*1+str96],dl
mov ecx,esi
sub ecx,929
mov [ebx+a80w],ecx
mov ecx,esi
sub ecx,920
mov [ebx+klinewid],ecx
mov ecx,[ebx+a80w]
cmp ecx,[ebx+klinewid]
js initsame
xor edx,edx
add edx,06637h
mov [ebx+str96],dh
mov edi,esi
sub edi,999
mov [ebx+edi*1+str96],dl
initsame: mov ecx,esi
sub ecx,999
mov [ebp+976],ecx
mov ecx,esi
sub ecx,1000
mov [ebx+filelen],ecx
mov ecx,esi
sub ecx,1001
mov [ebx+largestln],ecx
mov ecx,esi
sub ecx,1000
mov [ebx+keyctr],ecx
mov [ebx+zeeconsole],ecx
mov [ebx+editwithin],ecx
mov [ebx+nonscroll],ecx
mov ecx,esi
sub ecx,984
mov [ebx+hiskwid],ecx
mov edx,[ebp+1012]
mov [ebx+iojump],edx
mov ecx,esi
sub ecx,1000
mov [ebx+filenamz],cl
mov ecx,esi
sub ecx,976
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of initone
; eax=3 read intfd_ebx char*buffer_ecx intcount_edx 0
; int afread(*where,diskreclen,cst1,handle,iojump);
; 1020 handle 1024 iojump
; 1012 diskreclenA 1016 diskreclenB
; 1000 ebpsave 1004 retad 1008 *where
; 988 ebx 992 esi 996 edi
; 976 980 ecx 984 edx
; 964 cst20 968 cst0 972 cst1
; 952 956 cst3 960
; 940 944 cst4 948
afread: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
xor edi,edi
xor ecx,ecx
add ecx,1000
sub ecx,990
afrepu: push edi
add ecx,1000
sub ecx,1001
jnz afrepu
xor esi,esi
add esi,1000
mov ecx,esi
sub ecx,999
mov [ebp+972],ecx
mov ecx,esi
sub ecx,980
mov [ebp+964],ecx
mov ecx,esi
sub ecx,997
mov [ebp+956],ecx
mov ecx,esi
sub ecx,996
mov [ebp+944],ecx
xor edx,edx
mov eax,[ebp+1012]
mov esi,[ebp+1016]
push esi
push eax
call nampy
add esp,[ebp+944]
add esp,[ebp+944]
mov edi,[ebp+968]
push edi
push eax
mov edi,[ebp+1008]
push edi
mov edi,[ebp+1020]
push edi
mov edi,[ebp+956]
push edi
xor edi,edi
lea edx,[edi+leadetaf]
push edi
call getreala
add esp,[ebp+944]
add edx,eax
push edx
mov ecx,[ebp+1024]
push ecx
ret
leadetaf: add esp,[ebp+964]
xor ecx,ecx
add ecx,1000
sub ecx,960
add esp,ecx
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of afread with five arguments
; int keytoline(int keynex,struct lnes *kl)
; 1004 retad 1008 keynex 1012 *kl
; 992 esi 996 edi 1000 ebpsave
; 980 ecx 984 edx 988 ebx
; 968 972 976 iskeyf
; 956 cst13 960 cst0 964 cst1
; 944 cst32 948 cst8 952 cst10
; 932 936 940 cst126
; 920 924 928
keytoline: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
xor edi,edi
xor ecx,ecx
add ecx,3015
sub ecx,3000
ktlinepu: push edi
add ecx,999
sub ecx,1000
jnz ktlinepu
xor esi,esi
add esi,1000
mov ecx,esi
sub ecx,999
mov [ebp+964],ecx
mov ecx,esi
sub ecx,987
mov [ebp+948],ecx
mov ecx,esi
sub ecx,968
mov [ebp+944],ecx
mov ecx,esi
sub ecx,874
mov [ebp+940],ecx
; --------
mov ecx,esi
sub ecx,987
mov [ebp+956],ecx
mov ecx,esi
sub ecx,992
mov [ebp+948],ecx
mov ecx,esi
sub ecx,990
mov [ebp+952],ecx
mov ecx,esi
sub ecx,992
mov [ebp+948],ecx
mov ecx,esi
sub ecx,968
mov [ebp+944],ecx
; ---
mov ebx,[ebp+1012]
sub ebx,8192
mov edi,[ebx+keyctr]
or edi,edi
jnz key8
mov edx,[ebp+944]
key0: mov [ebx+edi*1+evrd],dl
add edi,[ebp+964]
cmp edi,[ebx+klinewid]
js key0
xor edi,edi
key8: mov esi,[ebp+1008]
cmp esi,[ebp+948]
jnz key126
cmp edi,[ebp+964]
js key126
mov edx,[ebp+944]
mov [ebx+edi*1+evrd],dl
sub edi,[ebp+964]
mov [ebx+edi*1+evrd],dl
key126: mov esi,[ebp+1008]
cmp esi,[ebp+944]
js key10
cmp esi,[ebp+940]
jns key10
mov edx,esi
mov [ebx+edi*1+evrd],dl
add edi,[ebp+964]
cmp edi,[ebx+klinewid]
js key10
mov ecx,[ebp+964]
mov [ebp+976],ecx
key10: mov esi,[ebp+1008]
cmp esi,[ebp+952]
jz key9
cmp esi,[ebp+956]
jnz key12
key9: mov ecx,[ebp+964]
mov [ebp+976],ecx
key12: mov esi,[ebp+976]
cmp esi,[ebp+960]
jnz keybot
mov [ebx+keyctr],edi
keybot: xor ecx,ecx
add ecx,1056
sub ecx,1000
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; bottom of keytoline
; int astrcmp(char* asone,char* astwo,int asmany)
; 1008 *asone 1012 const *astwo 1016 asmany
; 996 edisave 1000 ebpsave 1004 retad
; 984 edx 988 ebx 992 esi
; 972 astctr 976 astrez 980 ecx
; 960 964 astlow 968 astnext
; 948 952 cst0 956 cst1
; 936 cst36 940 944 cst33
astrcmp: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
xor edi,edi
xor ecx,ecx
add ecx,2011
sub ecx,2000
asrcpu: push edi
add ecx,1000
sub ecx,1001
jnz asrcpu
xor esi,esi
add esi,1000
mov ecx,esi
sub ecx,1001
mov [ebp+956],ecx
mov ecx,esi
sub ecx,967
mov [ebp+944],ecx
mov ecx,esi
sub ecx,964
mov [ebp+936],ecx
cmp edi,[ebp+1016]
jns asrc06
mov edx,[ebp+956]
mov [ebp+976],edx
asrc06: mov edx,[ebp+956]
mov [ebp+964],edx
asrl070: cmp edi,[ebp+964]
js asrc09
xor edi,edi
jz asrl071
asrc09: mov esi,[ebp+956]
mov [ebp+968],esi
mov esi,[ebp+972]
xor edx,edx
xor ecx,ecx
mov ebx,[ebp+1008]
sub ebx,1000
mov cl,[ebx+esi*1+1000]
mov ebx,[ebp+1012]
sub ebx,1000
mov dl,[ebx+esi*1+1000]
cmp ecx,edx
jnz asrc12
xor edi,edi
jz asrl110
asrc16: xor edi,edi
jz asrc06
asrl071: xor edi,edi
jz asrc072
asrc12: xor edi,edi
mov [ebp+968],edi
cmp esi,[ebp+1016]
jns asrc14
mov [ebp+976],edi
asrc14: cmp edx,[ebp+936]
jnz asrm16
xor edi,edi
jz asrm21
asrc26: xor edi,edi
jz asrc16
asrl110: xor edi,edi
jz asrm21
asrc072: xor edi,edi
jz asrc073
asrm16: cmp ecx,edi
jz asrm17
mov [ebp+976],edi
asrm17: cmp edx,[ebp+944]
jz asrm19
cmp edx,edi
jnz asrm21
asrm19: mov [ebp+976],edi
asrm21: add esi,[ebp+956]
mov [ebp+972],esi
xor edi,edi
jz asrm24
asrc36: xor edi,edi
jz asrc26
asrc073: xor edi,edi
jz asrc074
asrm24: cmp esi,[ebp+1016]
jng asrm25
mov [ebp+968],edi
asrm25: mov edi,[ebp+968]
mov [ebp+964],edi
xor edi,edi
jz asrc36
asrc074: xor ecx,ecx
add ecx,2040
sub ecx,2000
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; bottom of astrcmp
; prt1920(struct lnes *pr,int prthan)
; 1008 *pr 1012 prthan
; 1000 ebpsave 1004 retad
; 988 ebx 992 esi 996 edi
; 976 eax 980 ecx 984 edx
; 964 wsub1920 968 wlen1920 972
; 952 wa1920 956 wty1920 960 wtr1920
; 940 cst0 944 948 crt[0]
; 928 cst0d 932 cst-3 936 cst1
; 916 absaddress 920 cst1920 924 cst0a
prt1920: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
push eax
xor edi,edi
xor ecx,ecx
add ecx,2015
sub ecx,2000
put1920: push edi
add ecx,1000
sub ecx,1001
jnz put1920
xor esi,esi
add esi,1000
mov ecx,esi
sub ecx,999
mov [ebp+936],ecx
mov ecx,esi
sub ecx,1003
mov [ebp+932],ecx
mov ecx,esi
sub ecx,987
mov [ebp+928],ecx
mov ecx,esi
sub ecx,990
mov [ebp+924],ecx
mov ecx,esi
add ecx,920
mov [ebp+920],ecx
mov ebx,[ebp+1008]
sub ebx,8192
mov edx,[ebx+klinewid]
mov [ebp+968],edx
xor edi,edi
push edi
call getreala
xor edi,edi
add edi,404
sub edi,400
add esp,edi
mov [ebp+916],eax
pr192018: xor edi,edi
cmp edi,[ebp+956]
jnz pri92030
mov edx,[ebp+968]
sub edx,[ebp+936]
mov [ebp+960],edx
add edx,[ebp+920]
mov [ebp+964],edx
mov esi,[ebp+964]
; ---
xor eax,eax
xor edx,edx
or dl,[ebx+esi*1+evwr]
mov [ebp+948],edx
; --
xor edi,edi
jz pri92117
pri92030: xor edi,edi
jz pr192030
pri92018: xor edi,edi
jz pr192018
pri92117: lea ecx,[ebp+948]
push ecx
mov eax,[ebp+932]
push eax
mov eax,[ebp+940]
push eax
call idch
xor ecx,ecx
add ecx,1000
sub ecx,988
add esp,ecx
skipidchpri: mov [ebp+956],eax
; ---
xor edi,edi
jz pr192016
pr192118: xor edi,edi
jz pri92018
pr192030: xor edi,edi
jz pr192130
pr192016: cmp edi,[ebp+956]
jnz pr192030
mov edx,[ebp+960]
mov [ebp+968],edx
; ----
mov ecx,[ebp+936]
add ecx,[ebp+936]
cmp edx,ecx
jns pr192030
mov ecx,[ebp+936]
mov [ebp+956],ecx
pr192130: xor edi,edi
cmp edi,[ebp+956]
jz pr192118
xor edi,edi
mov [ebp+960],edi
; --
pr192022: mov edx,[ebp+960]
cmp edx,[ebp+968]
jns pri72665
add edx,[ebp+920]
mov [ebp+964],edx
mov esi,[ebp+964]
xor edx,edx
mov dl,[ebx+esi*1+evwr]
mov [ebp+948],edx
xor ecx,ecx
cmp ecx,[ebx+zeeconsole]
jnz prxx2051
xor ecx,ecx
jz pri272662
pri82663: xor ecx,ecx
jz pr192022
pri72665: xor ecx,ecx
jz pri92055
pri272662: mov edi,[ebp+1008]
push edi
mov edi,[ebp+936]
push edi
lea edx,[ebp+948]
push edx
mov edi,[ebp+936]
push edi
xor ecx,ecx
add ecx,1004
sub ecx,1000
push ecx
mov edi,[ebp+916]
lea edx,[edi+priaft92]
push edx
lea ecx,[edi+wioswitch]
push ecx
ret
priaft92: add esp,[ebp+924]
add esp,[ebp+924]
xor ecx,ecx
jz przx2668
pri92055: xor ecx,ecx
jz pr192055
pri92022: xor ecx,ecx
jz pri82663
prxx2051: mov ecx,[ebx+iojump]
push ecx
mov edi,[ebp+1012]
push edi
mov edi,[ebp+936]
push edi
push edi
lea edx,[ebp+948]
push edx
call afwrite
add esp,[ebp+924]
add esp,[ebp+924]
przx2668: mov edx,[ebp+936]
add [ebp+960],edx
xor edi,edi
jz pri92022
pr192055: mov ecx,[ebp+928]
mov [ebp+948],ecx
xor ecx,ecx
cmp ecx,[ebx+zeeconsole]
jnz przx2702
; --- write to handle of 1
mov edi,[ebp+1008]
push edi
mov edi,[ebp+936]
push edi
lea edx,[ebp+948]
push edx
push edi
xor ecx,ecx
add ecx,1004
sub ecx,1000
push ecx
mov edi,[ebp+916]
lea edx,[edi+priaft93]
push edx
lea ecx,[edi+wioswitch]
push ecx
ret
priaft93: add esp,[ebp+924]
add esp,[ebp+924]
xor ecx,ecx
jz przx2678
przx2702: mov ecx,[ebx+iojump]
push ecx
mov edx,[ebp+1012]
push edx
mov edx,[ebp+936]
push edx
push edx
lea edx,[ebp+948]
push edx
call afwrite
add esp,[ebp+924]
add esp,[ebp+924]
przx2678: mov ecx,[ebp+924]
mov [ebp+948],ecx
xor ecx,ecx
cmp ecx,[ebx+zeeconsole]
jnz przx2704
; --- write to handle of 1
mov edx,[ebp+1008]
push edx
mov edx,[ebp+936]
push edx
lea edx,[ebp+948]
push edx
mov ecx,[ebp+936]
push ecx
xor ecx,ecx
add ecx,1004
sub ecx,1000
push ecx
mov edi,[ebp+916]
lea edx,[edi+priaft94]
push edx
lea ecx,[edi+wioswitch]
push ecx
ret
priaft94: add esp,[ebp+924]
add esp,[ebp+924]
xor ecx,ecx
jz endofpr1920
przx2704: mov ecx,[ebx+iojump]
push ecx
mov edx,[ebp+1012]
push edx
mov edx,[ebp+936]
push edx
push edx
lea edx,[ebp+948]
push edx
call afwrite
add esp,[ebp+924]
add esp,[ebp+924]
endofpr1920: xor ecx,ecx
add ecx,2060
sub ecx,2000
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of prt1920
; eax=4 write intfd_ebx char*buffer_ecx intcount_edx 0
; int afwrite(*where,diskreclen,cst1,handle,iojump);
; 1020 handle 1024 iojump
; 1012 diskreclenA 1016 diskreclenB
; 1000 ebpsave 1004 retad 1008 *where
; 988 ebx 992 esi 996 edi
; 976 980 ecx 984 edx
; 964 cst20 968 cst0 972 cst1
; 952 956 cst3 960
; 940 944 cst4 948
afwrite: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
xor edi,edi
xor ecx,ecx
add ecx,1000
sub ecx,990
afwepu: push edi
add ecx,1000
sub ecx,1001
jnz afwepu
xor esi,esi
add esi,1000
mov ecx,esi
sub ecx,999
mov [ebp+972],ecx
mov ecx,esi
sub ecx,980
mov [ebp+964],ecx
mov ecx,esi
sub ecx,997
mov [ebp+956],ecx
mov ecx,esi
sub ecx,996
mov [ebp+944],ecx
; --
xor edx,edx
mov eax,[ebp+1012]
mov esi,[ebp+1016]
push esi
push eax
call nampy
add esp,[ebp+944]
add esp,[ebp+944]
mov edi,[ebp+968]
push edi
push eax
mov edi,[ebp+1008]
push edi
mov edi,[ebp+1020]
push edi
mov edi,[ebp+944]
push edi
xor edi,edi
lea edx,[edi+lritetaf]
push edi
call getreala
add esp,[ebp+944]
; ------
add edx,eax
push edx
mov ecx,[ebp+1024]
push ecx
ret
lritetaf: add esp,[ebp+964]
xor ecx,ecx
add ecx,1000
sub ecx,960
add esp,ecx
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of afwrite with five arguments
; int shiflnrw(int lnrdir34,struct lnes *sr,int lnrlne3)
; 1016 lnrlne3
; 1004 retad 1008 lnrdir34 1012 *sr
; lnrdir34 is 3 after read but 4 before write
; lnrdir34 is 2 for shift 2 left for t 8888
; lnrdir34 is 2 for return index of t 8888
; 992 esi 996 edi 1000 ebpsave
; 980 ecx 984 edx 988 ebx
; 968 cst1 972 cst0 976 eaxdiff
; 956 =v_tbuff 960 =v_rd|wr 964 =v_str96
; 944 rawdiff 948 endbase 952 startbase
; 932 cst32 936 cst16 940 priwid
; 920 cst1920 924 cst3 928 cst4
; 820 shiflnswap
shiflnrw: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
xor edx,edx
add edx,8224
xor ecx,ecx
add ecx,2000
sub ecx,1960
puiflnrw: push edx
add ecx,1000
sub ecx,1001
jnz puiflnrw
xor esi,esi
add esi,1000
mov ecx,esi
sub ecx,1000
mov [ebp+976],ecx
mov [ebp+972],ecx
mov [ebp+952],ecx
mov [ebp+948],ecx
mov ecx,esi
sub ecx,999
mov [ebp+968],ecx
mov ecx,esi
sub ecx,968
mov [ebp+932],ecx
mov ecx,esi
sub ecx,996
mov [ebp+928],ecx
mov ecx,esi
sub ecx,997
mov [ebp+924],ecx
mov ecx,esi
add ecx,920
mov [ebp+920],ecx
mov ecx,esi
sub ecx,984
mov [ebp+936],ecx
mov ebx,[ebp+1012]
sub ebx,8192
mov edx,[ebx+a80w]
mov [ebp+940],edx
mov edx,[ebx+klinewid]
sub edx,[ebx+a80w]
sub edx,[ebp+968]
sub edx,[ebp+968]
mov [ebp+944],edx
mov [ebp+976],edx
lea ecx,[ebx+str96]
mov [ebp+964],ecx
lea edx,[ebp+820]
mov [ebp+956],edx
mov [ebp+960],edx
mov edi,[ebp+1008]
cmp edi,[ebp+924]
jnz notr3if
lea ecx,[ebx+evrd]
mov [ebp+960],ecx
mov esi,[ebp+944]
mov [ebp+948],esi
cmp esi,[ebp+928]
js notr3if
mov edx,[ebp+964]
push edx
mov edx,[ebp+1016]
push edx
mov edx,[ebp+968]
push edx
mov edx,[ebp+956]
push edx
call chnvalue
add esp,[ebp+936]
sub esi,[ebp+968]
mov edx,[ebp+932]
mov [ebp+esi*1+820],dl
notr3if: cmp edi,[ebp+928]
jnz notw4if
mov esi,[ebp+944]
mov [ebp+952],esi
lea ecx,[ebx+evwr]
add ecx,[ebp+920]
mov [ebp+960],ecx
notw4if: xor ecx,ecx
add ecx,[ebp+968]
add ecx,[ebp+968]
cmp edi,ecx
jnz notw2if
mov [ebp+952],ecx
mov esi,[ebx+klinewid]
sub esi,[ebp+952]
mov [ebp+940],esi
lea ecx,[ebx+evrd]
mov [ebp+960],ecx
notw2if: xor edx,edx
xor ecx,ecx
loop4if: mov esi,ecx
mov edi,ecx
add esi,[ebp+952]
add edi,[ebp+948]
add esi,[ebp+960]
sub esi,3000
sub esi,ebp
mov dl,[ebp+esi*1+3000]
mov [ebp+edi*1+820],dl
add ecx,[ebp+968]
cmp ecx,[ebp+940]
js loop4if
xor ecx,ecx
loop5if: mov esi,ecx
mov edi,ecx
add edi,[ebp+960]
sub edi,3000
sub edi,ebp
mov dl,[ebp+esi*1+820]
mov [ebp+edi*1+3000],dl
add ecx,[ebp+968]
cmp ecx,[ebx+klinewid]
js loop5if
mov edi,[ebp+1008]
sub edi,[ebp+968]
cmp edi,[ebp+968]
jnz bot72if
mov ecx,[ebp+1012]
push ecx
mov ecx,[ebp+968]
push ecx
call getlnpos
xor ecx,ecx
add ecx,1008
sub ecx,1000
add esp,ecx
mov esi,eax
mov [ebp+976],esi
bot72if: xor ecx,ecx
add ecx,1156
sub ecx,1000
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of shiflnrw
; void readlnf(struct lnes *ir)
; 1004 retad 1008 *ir
; 992 esi 996 edi 1000 ebpsave
; 980 ecx 984 edx 988 ebx
; 968 te 972 le 976 eax
; 956 cst1 960 cst0 964 cst4
; 944 cst6 948 cst7 952 cst2
; 932 R 936 &ir 940 bigwid
; 920 generalarez 924 cst5 928 cj[1]
; 908 cstm1 912 cst3 916 cst20
; 904 whereis928
readlnf: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
push eax
xor edi,edi
xor ecx,ecx
add ecx,3000
sub ecx,2981
puadlnf: push edi
add ecx,1000
sub ecx,1001
jnz puadlnf
xor esi,esi
add esi,1000
mov ecx,esi
sub ecx,996
mov [ebp+964],ecx
mov ecx,esi
sub ecx,999
mov [ebp+956],ecx
mov ecx,esi
sub ecx,998
mov [ebp+952],ecx
mov ecx,esi
sub ecx,993
mov [ebp+948],ecx
mov ecx,esi
sub ecx,994
mov [ebp+944],ecx
mov ecx,esi
sub ecx,995
mov [ebp+924],ecx
mov ecx,esi
sub ecx,980
mov [ebp+916],ecx
mov ecx,esi
sub ecx,997
mov [ebp+912],ecx
mov ecx,esi
sub ecx,1001
mov [ebp+908],ecx
mov ebx,[ebp+1008]
sub ebx,8192
mov edx,[ebp+1008]
mov [ebp+936],edx
mov ecx,[ebx+klinewid]
mov [ebp+940],ecx
lea edx,[ebp+928]
mov [ebp+904],edx
xor esi,esi
push esi
call getreala
add esp,[ebp+964]
mov [ebp+920],eax
; ----------------
lea edx,[ebx+evrd]
push edx
mov eax,[ebp+940]
push eax
mov eax,[ebp+956]
push eax
call abslen
add esp,[ebp+964]
add esp,[ebp+964]
add esp,[ebp+964]
mov [ebp+972],eax
lea edx,[ebx+evrd]
push edx
mov eax,[ebp+940]
push eax
mov eax,[ebp+952]
push eax
call abslen
add esp,[ebp+964]
add esp,[ebp+964]
add esp,[ebp+964]
mov [ebp+968],eax
; -----------------
mov edx,[ebp+968]
sub edx,[ebp+972]
mov [ebp+932],edx
mov ecx,[ebp+952]
cmp ecx,[ebp+932]
js bpenlne
xor edi,edi
jz qeadlne1
bpenlne: mov esi,[ebp+952]
mov [ebp+932],esi
cpenlne: mov esi,[ebp+932]
cmp esi,[ebp+968]
jns epenlne
mov edi,esi
sub edi,[ebp+952]
xor edx,edx
mov dl,[ebx+esi*1+evrd]
mov [ebx+edi*1+filenamz],dl
add esi,[ebp+956]
mov [ebp+932],esi
xor edx,edx
jz cpenlne
qeadlne1: xor edi,edi
jz qqadlne2
epenlne: mov ecx,[ebp+956]
mov [ebx+namzset],ecx
mov edx,[ebx+filelen]
add edx,[ebx+filelen]
add edx,[ebp+956]
mov [ebx+pitchin],edx
mov ecx,[ebp+924]
mov [ebx+hv0c],ecx
add edi,[ebp+956]
xor edx,edx
jz dpenlme
qqadlne2: xor edx,edx
jz qeadlne2
dpenlme: mov [ebx+edi*1+filenamz],dl
; ----
xor edx,edx
push edx
add edx,493
push edx
xor ecx,ecx
push ecx
lea esi,[ebx+filenamz]
push esi
mov esi,[ebp+924]
push esi
xor esi,esi
lea edx,[esi+aenlne]
add edx,[ebp+920]
push edx
mov ecx,[ebx+iojump]
push ecx
ret
qeadlne2: xor edi,edi
jz qeadlne3
aenlne: add esp,[ebp+916]
mov [ebx+edhanb],eax
; --
xor edi,edi
mov [ebx+rep0],edi
mov [ebx+fp04],edi
mov [ebx+fl06],edi
cmp eax,[ebp+952]
js qeadlne2
xor edi,edi
push edi
mov ecx,[ebp+952]
push ecx
push edi
mov ecx,[ebx+edhanb]
push ecx
xor ecx,ecx
add ecx,1019
sub ecx,1000
push ecx
lea edx,[edi+benlne]
add edx,[ebp+920]
push edx
mov ecx,[ebx+iojump]
push ecx
ret
qeadlne3: xor edi,edi
jz qeadlne4
benlne: add esp,[ebp+916]
mov [ebx+fl06],eax
xor edi,edi
push edi
push edi
push edi
mov ecx,[ebx+edhanb]
push ecx
xor ecx,ecx
add ecx,1019
sub ecx,1000
push ecx
lea edx,[edi+cenlne]
add edx,[ebp+920]
push edx
mov ecx,[ebx+iojump]
push ecx
ret
qeadlne4: xor edi,edi
jz qeadlne5
cenlne: add esp,[ebp+916]
xor edi,edi
mov [ebx+eofi],edi
; ----
xor ecx,ecx
add ecx,1018
sub ecx,1000
mov [ebx+pose],ecx
xor ecx,ecx
add ecx,1016
sub ecx,1000
mov [ebx+hiskwid],ecx
mov edx,[ebx+a80w]
cmp edx,[ebx+klinewid]
js repitch5
jz ueadlne5
qeadlne5: xor edi,edi
jz qeadlne6
ueadlne5: xor edi,edi
jz ueadlne6
redclose5: xor edi,edi
jz redclose6
repitch5: xor edi,edi
cmp edi,[ebx+eofi]
jnz redclose5
mov edi,[ebp+936]
push edi
call riedline
add esp,[ebp+964]
mov eax,[ebx+pitchin]
push eax
push edi
mov eax,[ebp+912]
push eax
call shiflnrw
add esp,[ebp+964]
add esp,[ebp+964]
add esp,[ebp+964]
xor edi,edi
jz repitchr
repitch6: xor edi,edi
jz repitch5
qeadlne6: xor edi,edi
jz qeadlne7
ueadlne6: xor edi,edi
jz monlne
redclose6: xor edi,edi
jz redclose7
repitchr: mov eax,[ebp+936]
push eax
mov eax,[ebp+952]
push eax
call getlnpos
add esp,[ebp+964]
add esp,[ebp+964]
mov [ebp+972],eax
; ---
mov edx,[ebp+952]
add [ebx+pitchin],edx
xor edi,edi
jz repitch6
qeadlne7: xor edi,edi
jz qeadlne8
redclose7: xor edi,edi
jz redclose8
monlne: xor edi,edi
cmp edi,[ebx+eofi]
jnz redclose7
mov eax,[ebp+936]
push eax
call riedline
add esp,[ebp+964]
xor edx,edx
mov dl,[ebx+evrd]
mov [ebp+928],edx
mov eax,[ebp+904]
push eax
mov eax,[ebp+908]
push eax
mov eax,[ebp+960]
push eax
call idch
xor ecx,ecx
add ecx,1012
sub ecx,1000
add esp,ecx
xor edi,edi
cmp edi,eax
jz redafter8
xor edi,edi
cmp edi,[ebx+eofi]
jz monlne
xor edi,edi
jz redclose7
qeadlne8: xor edi,edi
jz qeadlne9
redclose8: xor edi,edi
jz redcloze9
redafter8: xor edi,edi
jz tedafter9
redloop8: xor edi,edi
cmp edi,[ebx+eofi]
jnz redclose8
cmp edi,[ebx+eofi]
jz redkeep8
qeadlne9: xor edi,edi
jz quadlne9
redcloze9: xor edi,edi
jz redclose9
; break here 2826.3458
redkeep8: mov edx,[ebp+936]
push edx
call riedline
add esp,[ebp+964]
xor edx,edx
mov dl,[ebx+evrd]
mov [ebp+928],edx
xor edi,edi
jz tedkeep9
tedafter9: xor edi,edi
jz redafter9
tedkeep9: mov eax,[ebp+904]
push eax
mov eax,[ebp+908]
push eax
mov eax,[ebp+960]
push eax
call idch
xor ecx,ecx
add ecx,1012
sub ecx,1000
add esp,ecx
xor edi,edi
cmp edi,eax
jnz redclose8
xor edi,edi
jz redafter9
redloop9: xor edi,edi
jz redloop8
quadlne9: xor edi,edi
jz qeadlnea
redclose9: xor edi,edi
jz redclosea
redafter9: mov eax,[ebp+936]
push eax
mov eax,[ebp+952]
push eax
call getlnpos
add esp,[ebp+964]
add esp,[ebp+964]
mov [ebp+972],eax
xor edi,edi
jz redloop9
qeadlnea: xor edi,edi
jz qeadlneb
redclosea: xor edi,edi
mov [ebx+hv0c],edi
push edi
push edi
push edi
mov edx,[ebx+edhanb]
push edx
mov edx,[ebp+944]
push edx
lea edx,[edi+qeadlncb]
add edx,[ebp+920]
push edx
mov ecx,[ebx+iojump]
push ecx
ret
qeadlncb: add esp,[ebp+916]
qeadlneb: xor ecx,ecx
add ecx,3076
sub ecx,3000
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of readlnf
; void writelnf(struct lnes *jw)
; 1000 ebp 1004 retad 1008 *jw
; 988 ebx 992 esi 996 edi
; 976 eax 980 ecx 984 edx
; 964 cst2 968 cst1 972 cst0
; 952 cst5 956 cst4 960 cst3
; 940 cst8 944 cst7 948 cst6
; 928 cst11 932 cst10 936 cst9
; 916 cst14 920 cst13 924 cst12
; 904 cst17 908 cst16 912 cst15
; 892 cst20 896 cst19 900 cst18
; 880 wrolop 884 wrihan 888
; 868 xle 872 cstm1 876 wrilen
; 856 cst1920 860 abigwid 864 xte
; 844 getrealareay 848 dj[1] 852 xr
writelnf: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
push eax
xor edi,edi
xor edx,edx
add edx,1000
sub edx,999
xor ecx,ecx
add ecx,1033
sub ecx,1000
puitelnf: push edi
add edi,edx
sub ecx,edx
jnz puitelnf
mov ecx,[ebp+972]
sub ecx,[ebp+968]
mov [ebp+872],ecx
xor edx,edx
add edx,1920
mov [ebp+856],edx
mov ebx,[ebp+1008]
sub ebx,8192
xor eax,eax
push eax
call getreala
add esp,[ebp+956]
mov [ebp+844],eax
lea edx,[ebx+evrd]
push edx
mov eax,[ebx+klinewid]
push eax
mov eax,[ebp+968]
push eax
call abslen
add esp,[ebp+924]
mov [ebp+868],eax
lea edx,[ebx+evrd]
push edx
mov eax,[ebx+klinewid]
push eax
mov eax,[ebp+964]
push eax
call abslen
add esp,[ebp+924]
mov [ebp+864],eax
mov esi,[ebp+864]
sub esi,[ebp+868]
mov [ebp+852],esi
mov edx,[ebp+968]
cmp edx,[ebp+852]
js writelns
xor edx,edx
mov dl,[ebx+filenamz]
cmp edx,[ebp+972]
jnz writelnpb
wrlfexit1: xor ecx,ecx
add ecx,1132
sub ecx,1000
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
writelns: mov edx,[ebp+964]
mov [ebp+876],edx
writefnl: mov esi,[ebp+876]
cmp esi,[ebp+864]
jns writefnd
mov edi,esi
sub edi,[ebp+964]
xor edx,edx
mov dl,[ebx+esi*1+evrd]
mov [ebx+edi*1+filenamz],dl
add esi,[ebp+968]
mov [ebp+876],esi
xor ecx,ecx
jz writefnl
writelnpb: xor ecx,ecx
jz writelnpa
writefnd: xor edx,edx
add edi,[ebp+968]
and [ebx+edi*1+filenamz],dl
add edi,[ebp+968]
and [ebx+edi*1+filenamz],dl
writelnpa: xor edx,edx
push edx
push edx
xor ecx,ecx
add ecx,493
push ecx
lea edx,[ebx+filenamz]
push edx
mov esi,[ebp+940]
push esi
xor esi,esi
lea ecx,[esi+writefne]
add ecx,[ebp+844]
push ecx
mov ecx,[ebx+iojump]
push ecx
ret
writefne: add esp,[ebp+892]
mov [ebp+884],eax
mov ecx,[ebp+968]
mov [ebx+zeeconsole],ecx
xor edi,edi
mov [ebp+880],edi
writefil1: mov esi,[ebp+880]
cmp esi,[ebx+filelen]
jns writeclose1
mov edi,[ebp+1008]
push edi
push esi
mov edi,[ebp+968]
push edi
call movoneln
add esp,[ebp+924]
xor edi,edi
push edi
mov edi,[ebp+1008]
push edi
mov edi,[ebp+956]
push edi
call shiflnrw
add esp,[ebp+924]
xor edi,edi
jz writejil
writefil2: xor edi,edi
jz writefil1
writeclose1: xor edi,edi
jz writeclose2
writejil: mov edx,[ebp+884]
push edx
mov edx,[ebp+1008]
push edx
call prt1920
add esp,[ebp+940]
mov edx,[ebp+968]
add [ebp+880],edx
xor edi,edi
jz writefil2
writeclose2: xor edx,edx
push edx
push edx
push edx
mov esi,[ebp+884]
push esi
mov esi,[ebp+948]
push esi
xor esi,esi
lea ecx,[esi+writeclose3]
add ecx,[ebp+844]
push ecx
mov edi,[ebx+iojump]
push edi
ret
writeclose3: xor edi,edi
add esp,[ebp+892]
wrlfexit2: xor edx,edx
mov [ebx+zeeconsole],edx
xor ecx,ecx
add ecx,1132
sub ecx,1000
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of writelnf
; void threeprcst(struct lnes* tps,char* tpl)
; 3000 ebp 3004 retad 3008 *tps 3012 *tpl
; 2984 edx 2988 ebx 2992 esi 2996 edi
; 2968 cst1 2972 cst0 2976 eax 2980 ecx
; 2952 cst5 2956 cst4 2960 cst3 2964 cst2
; 2936 cst9 2940 cst8 2944 cst7 2948 cst6
; 2920 cst13 2924 cst12 2928 cst11 2932 cst10
; 2904 cst17 2908 cst16 2912 cst15 2916 cst14
; 2888 *rb 2892 2896 &wrtline 2900 cst18
; 2872 cst25 2876 2880 &rb 2884
threeprcst: push ebp
mov ebp,esp
sub ebp,3000
push edi
push esi
push ebx
push edx
push ecx
push eax
xor edi,edi
xor ecx,ecx
add ecx,2026
sub ecx,2000
xor edx,edx
add edx,1000
sub edx,999
threepucst: push edi
add edi,edx
sub ecx,edx
jnz threepucst
mov ebx,[ebp+3008]
sub ebx,8192
lea ecx,[ebx+evwr]
add ecx,1920
mov [ebp+2896],ecx
xor edx,edx
add edx,0202072h
mov [ebp+2888],edx
; ---
mov ecx,[ebp+3008]
push ecx
mov ecx,[ebp+2972]
push ecx
mov ecx,[ebp+2956]
push ecx
call movoneln
add esp,[ebp+2924]
; -----
lea ecx,[ebp+2888]
push ecx
mov eax,[ebx+klinewid]
push eax
mov esi,[ebp+2968]
mov edi,[ebp+2896]
push esi
push edi
call chnvalue
add esp,[ebp+2908]
mov eax,[ebp+3012]
push eax
mov eax,[ebp+2972]
push eax
push esi
push edi
call chnvalue
add esp,[ebp+2908]
; push esi
; mov eax,[ebp+3008]
; push eax
; call prt1920
; add esp,[ebp+2940]
xor ecx,ecx
add ecx,1104
sub ecx,1000
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of threeprcst
; int zequal(int zlowlen,struct lnes *zeq)
; 1000 ebp 1004 retad 1008 zlowlen 1012 *zeq
; 984 edx 988 ebx 992 esi 996 edi
; 968 0 972 -1 976 rezz 980 ecx
; 952 4 956 3 960 2 964 1
; 936 8 940 7 944 6 948 5
; 920 12 924 11 928 10 932 9
; 904 16 908 15 912 14 916 zdisable
; 888 20 892 omany 896 18 900 cmposub
; 872 24 876 zolop 880 22 884 ilen
; 856 28 860 27 864 26 868 zilop
; 840 32 844 31 848 30 852 zonecmp
; 824 36 828 35 832 34 836 33
zequal: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
xor edx,edx
add edx,1000
mov esi,edx
mov ecx,edx
sub ecx,960
sub esi,1002
sub edx,999
zeqqpu: push esi
add esi,edx
sub ecx,edx
jnz zeqqpu
mov ebx,[ebp+1012]
sub ebx,8192
mov ecx,[ebx+chkline]
mov edx,ecx
shr edx,1
mov [ebp+900],edx
cmp ecx,[ebp+964]
js zeqafail
sub ecx,[ebx+largestln]
; ----------------
; push ecx
; call debugwr
; add esp,[ebp+952]
; ----------------- 12 + 6
cmp ecx,[ebp+968]
jle zeqstartz
zeqafail: xor edx,edx
mov [ebp+916],edx
zeqstartz: xor edx,edx
cmp edx,[ebp+916]
jnz zeqstarta
xor edx,edx
jz zequitb
zeqstarta: lea esi,[ebx+evrd]
push esi
mov ecx,[ebx+klinewid]
push ecx
mov ecx,[ebp+952]
push ecx
call abslen
add esp,[ebp+920]
sub eax,[ebp+960]
mov [ebp+884],eax
mov ecx,[ebx+a80w]
sub ecx,[ebp+884]
mov [ebp+892],ecx
cmp ecx,[ebp+964]
js zeqfailb
mov edx,[ebp+884]
cmp edx,[ebp+964]
jns zeqstartb
zeqfailb: xor edx,edx
mov [ebp+916],edx
zeqstartb: xor edx,edx
cmp edx,[ebp+916]
jnz zeqstartc
zequitb: xor edx,edx
jz zequitc
zeqstartc: xor edx,edx
cmp edx,[ebp+1008]
jnz zeqstartd
mov edx,[ebp+964]
mov [ebp+892],edx
zeqstartd: mov edx,[ebp+964]
mov [ebp+976],edx
xor edx,edx
mov [ebp+876],edx
zeqolop: xor esi,esi
cmp esi,[ebp+916]
jnz zeqtwo
zequitc: xor edx,edx
jz zequitzd
zeqolopy: xor edx,edx
jz zeqolop
zeqtwo: xor edx,edx
mov [ebp+868],edx
mov [ebp+852],edx
zeqilop: lea esi,[ebx+evrd]
add esi,[ebp+960]
add esi,[ebp+868]
mov eax,[ebp+900]
mov edi,[ebx+a80w]
xor edx,edx
push edi
push eax
call nampy
add esp,[ebp+936]
lea edi,[ebx+sandoval]
add edi,eax
add edi,[ebp+868]
sub edi,1000
sub esi,1000
add edi,[ebp+876]
xor edx,edx
jz zeq3913
zeqilopz: xor edx,edx
jz zeqilop
zequitzd: xor edx,edx
jz zequityd
zeqolopz: xor edx,edx
jz zeqolopy
zeq3913: mov dl,[esi+1000]
cmp edx,[ebp+840]
jz zeqvalid
sub dl,[edi+1000]
jz zeqvalid
mov ecx,[ebp+964]
mov [ebp+852],ecx
zeqvalid: mov edi,[ebp+868]
add edi,[ebp+964]
mov [ebp+868],edi
cmp edi,[ebp+884]
js zeqilopz
xor esi,esi
jz zeq4169
zequityd: xor esi,esi
jz requitydz
zeqoloptz: xor esi,esi
jz zeqolopz
zeq4169: cmp esi,[ebp+852]
jnz stilluneq
mov [ebp+976],esi
mov [ebp+916],esi
stilluneq: mov edx,[ebp+876]
add edx,[ebp+964]
mov [ebp+876],edx
cmp edx,[ebp+892]
jns zeqinc
xor esi,esi
jz zeqoloptz
requitydz: xor edx,edx
jz zequitd
zeqinc: xor esi,esi
cmp esi,[ebp+916]
jz zequitd
mov edx,[ebp+960]
add [ebx+chkline],edx
zequitd: xor ecx,ecx
; ---
add ecx,1156
sub ecx,1000
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of zequal
; void vfind(struct lnes *vfi)
; 996 edi 1000 ebpsave 1004 retad 1008 *vfi
; 980 ecx 984 edx 988 ebx 992 esi
; 964 2 968 1 972 0 976 eax
; 948 6 952 5 956 4 960 3
; 932 10 936 9 940 8 944 7
; 916 14 920 13 924 12 928 11
; 900 18 904 17 908 16 912 15
; 884 22 888 21 892 20 896 ylowlen
; 868 26 872 25 876 24 880 23
; 852 30 856 29 860 28 864 27
; 836 34 840 33 844 32 848 31
vfind: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
push eax
xor esi,esi
add esi,1000
mov ecx,esi
mov edx,esi
sub ecx,965
sub edx,999
sub esi,1000
vfipu: push esi
add esi,edx
sub ecx,edx
jnz vfipu
mov ebx,[ebp+1008]
sub ebx,8192
; ---
mov edx,[ebx+a80w]
cmp edx,[ebx+klinewid]
js vfistart
vfifaila: xor esi,esi
jz vfifailb
vfistart: mov ecx,[ebx+editwithin]
mov [ebx+chkline],ecx
lea esi,[ebx+evrd]
sub esi,999
xor edx,edx
mov dl,[esi+1000]
cmp edx,[ebp+844]
jz vfiloop
xor esi,esi
mov [ebp+896],esi
vfiloop: mov eax,[ebp+1008]
push eax
mov eax,[ebp+896]
push eax
call zequal
add esp,[ebp+940]
; ---
cmp eax,[ebp+972]
js vfifaila
cmp eax,[ebp+972]
jg vfiloop
cmp eax,[ebp+972]
jz vfimatch
vfifailb: xor edx,edx
jz vfifailc
vfimatch: mov edx,[ebx+chkline]
mov [ebx+editwithin],edx
shr edx,1
mov esi,[ebp+1008]
push esi
push edx
mov ecx,[ebp+960]
push ecx
call movoneln
add esp,[ebp+924]
vfifailc: xor ecx,ecx
add ecx,1140
sub ecx,1000
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of vfind
; int ledit(struct lnes *rled)
; 996 edi 1000 ebpsave 1004 retad 1008 *rled
; 980 ecx 984 edx 988 ebx 992 esi
; 964 -6 968 -7 972 -8 976 eax
; 948 -2 952 -3 956 -4 960 -5
; 932 2 936 1 940 0 944 -1
; 916 6 920 &wrt 924 4 928 3
; 900 10 904 9 908 8 912 7
; 884 14 888 13 892 12 896 11
; 868 18 872 17 876 16 880 15
; 852 22 856 21 860 20 864 leditctrl
; 836 26 840 25 844 24 848 leditctra
; 820 30 824 29 828 28 832 27
; 804 34 808 33 812 32 816 31
; 788 38 792 37 796 36 800 35
; 772 42 776 41 780 40 784 39
; 756 46 760 45 764 44 768 43
; 740 50 744 49 748 48 752 47
; 724 54 728 53 738 52 736 51
; 708 &sand 712 57 716 56 720 55
; 692 62 696 61 700 60 704 59
; 676 66 680 65 684 64 688 63
; 660 70 664 69 668 68 672 67
; 644 74 648 73 652 72 656 71
; 628 totlen 632 zeronodisp 636 76 640 evenodd
; 612 lpoz 616 chrodd 620 chrsuz 624 editzerolz
; 596 86 600 nzenable 604 lm 608 evrdloc
; 580 96s 584 93s 588 &580 592 &584
; 372 - 575 thisline 576 &[ebp+372]
ledit: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
xor eax,eax
push eax
xor edi,edi
add edi,1100
mov ecx,edi
mov edx,edi
mov esi,edi
sub edi,1108
sub ecx,1000
sub edx,1049
sub esi,1099
ledipu: push edi
add edi,esi
sub ecx,esi
jnz ledipu
xor edi,edi
add edi,020202020h
ledjpu: push edi
sub edx,esi
jnz ledjpu
lea edi,[ebp+372]
mov [ebp+576],edi
lea edi,[ebp+580]
mov [ebp+588],edi
lea edi,[ebp+584]
mov [ebp+592],edi
xor edi,edi
add edi,03639h
mov [ebp+580],edi
xor edi,edi
add edi,03339h
mov [ebp+584],edi
mov ebx,[ebp+1008]
sub ebx,8192
lea edx,[ebx+sandoval]
mov [ebp+708],edx
lea ecx,[ebx+evrd]
mov [ebp+608],ecx
push ecx
mov eax,[ebx+klinewid]
push eax
mov eax,[ebp+924]
push eax
call abslen
add esp,[ebp+892]
mov [ebp+628],eax
; ---
xor edx,edx
mov [ebp+612],edx
mov [ebp+624],edx
mov [ebp+616],edx
or dl,[ebx+evrd]
add edx,1000
cmp edx,1109
jz isl06
cmp edx,1108
jz isl04
xor edx,edx
jmp exit21
isl04: mov eax,[ebp+608]
push eax
mov eax,[ebp+588]
push eax
mov eax,[ebp+932]
push eax
call rlnvalue
add esp,[ebp+892]
mov [ebx+editwithin],eax
mov eax,[ebp+608]
push eax
mov eax,[ebp+588]
push eax
mov eax,[ebp+952]
push eax
call rlnvalue
add esp,[ebp+892]
add eax,[ebp+936]
mov [ebp+612],eax
; --
mov eax,[ebp+628]
sub eax,[ebp+612]
jg isl06
xor eax,eax
mov [ebp+600],eax
isl06: mov eax,[ebp+608]
push eax
mov eax,[ebp+592]
push eax
mov eax,[ebp+612]
push eax
call rlnvalue
add esp,[ebp+892]
mov [ebp+616],eax
mov edx,[ebp+944]
sub edx,[ebp+612]
mov eax,[ebp+608]
push eax
mov eax,[ebp+592]
push eax
push edx
call rlnvalue
add esp,[ebp+892]
add eax,[ebp+936]
; --
mov [ebp+612],eax
mov edx,[ebp+616]
or edx,[ebp+936]
add edx,[ebp+944]
shr edx,1
mov [ebp+620],edx
mov ecx,[ebp+616]
and ecx,[ebp+936]
mov [ebp+640],ecx
mov edx,[ebx+editwithin]
cmp edx,[ebp+936]
js zerodispl7
mov ecx,edx
and ecx,[ebp+936]
jz zerodispl7
mov ecx,[ebx+a80w]
cmp ecx,[ebx+klinewid]
jns zerodispl7
; ----
mov eax,[ebp+944]
add eax,[ebx+editwithin]
shr eax,1
mov [ebp+624],eax
cmp eax,[ebx+filelen]
jns zerodispl7
cmp edx,[ebx+largestln]
jle zerodispl8
zerodispl7: xor edi,edi
mov [ebp+600],edi
mov [ebp+632],edi
zerodispl8: mov edx,[ebx+a80w]
add edx,edx
mov ecx,[ebp+616]
cmp ecx,edx
js zerodisl9
xor edi,edi
mov [ebp+600],edi
zerodisl9: xor edi,edi
cmp edi,[ebp+632]
jz quit441
lea edi,[ebx+evwr]
add edi,1920
mov [ebp+920],edi
; ---
mov edi,[ebp+708]
push edi
mov edi,[ebp+624]
push edi
mov edi,[ebx+a80w]
push edi
mov edi,[ebp+940]
push edi
mov edi,[ebp+576]
push edi
call bigarec
add esp,[ebp+860]
; ---
xor edi,edi
jz ledi3990
quit441: xor edi,edi
jz quit44
ledi3990 cmp edi,[ebp+600]
jz quit44
xor edx,edx
or edx,[ebp+640]
jz iseven12
mov ecx,[ebp+628]
sub ecx,[ebp+612]
jle del10
xor edx,edx
jz replace11
iseven12: mov ecx,[ebp+628]
sub ecx,[ebp+612]
jg resert14
quit44: xor edx,edx
jz quit15
resert14: xor edx,edx
jz insert15
del10: xor edx,edx
jz del161
replace11: xor edx,edx
replop09: lea esi,[ebx+evrd]
add esi,[ebp+612]
add esi,edx
sub esi,500
lea edi,[ebp+372]
add edi,[ebp+620]
add edi,edx
sub edi,ebp
sub edi,600
xor eax,eax
mov al,[esi+500]
mov [ebp+edi*1+600],al
add edx,[ebp+936]
cmp edx,ecx
js replop09
quit15: xor edx,edx
jz quit16
del161: xor edx,edx
jz del16
insert15: mov edx,[ebp+944]
add edx,[ebx+a80w]
inslop16: cmp edx,[ebp+620]
js replace11
mov esi,edx
add esi,[ebp+576]
sub esi,ebp
sub esi,1000
mov edi,esi
add edi,ecx
xor eax,eax
mov al,[ebp+esi*1+1000]
mov [ebp+edi*1+1000],al
add edx,[ebp+944]
xor edi,edi
jz inslop16
quit16: xor edx,edx
jz quit19
del16: mov edx,[ebp+620]
add edx,[ebp+936]
de15lop: cmp edx,[ebx+a80w]
jns quit16
mov esi,edx
add esi,[ebp+576]
sub esi,1000
sub esi,ebp
mov edi,esi
add edi,[ebp+944]
xor eax,eax
mov al,[ebp+esi*1+1000]
mov [ebp+edi*1+1000],al
add edx,[ebp+936]
xor edi,edi
jz de15lop
quit19: xor edx,edx
cmp edx,[ebp+600]
jz noleditwb
xor edi,edi
sub edi,[ebx+a80w]
mov edx,[ebp+708]
push edx
mov edx,[ebp+624]
push edx
push edi
mov edx,[ebp+940]
push edx
mov edx,[ebp+576]
push edx
call bigarec
add esp,[ebp+860]
noleditwb: xor edx,edx
cmp edx,[ebp+632]
jnz showledit
exit12: xor edx,edx
jmp exit21
showledit: mov ecx,[ebx+klinewid]
mov edi,[ebp+920]
sub edi,1000
mov edx,[ebp+812]
mov eax,[ebp+1008]
push eax
mov eax,[ebp+940]
push eax
mov eax,[ebp+924]
push eax
call movoneln
add esp,[ebp+892]
showclr03: mov [edi+1000],dl
add edi,[ebp+936]
add ecx,[ebp+944]
jnz showclr03
mov ecx,[ebp+592]
mov edi,[ebp+920]
; --
push ecx
mov edx,[ebp+616]
push edx
mov eax,[ebp+932]
push eax
push edi
call chnvalue
add esp,[ebp+876]
push ecx
mov edx,[ebp+620]
push edx
mov eax,[ebp+916]
push eax
push edi
call chnvalue
add esp,[ebp+876]
mov eax,[ebp+588]
push eax
mov edx,[ebx+editwithin]
push edx
mov eax,[ebp+900]
push eax
push edi
call chnvalue
add esp,[ebp+876]
mov eax,[ebp+588]
push eax
mov edx,[ebp+624]
push edx
mov eax,[ebp+872]
push eax
push edi
call chnvalue
add esp,[ebp+876]
push ecx
mov edx,[ebp+612]
push edx
mov eax,[ebp+844]
push eax
push edi
call chnvalue
add esp,[ebp+876]
push ecx
mov edx,[ebp+628]
push edx
mov eax,[ebp+828]
push eax
push edi
call chnvalue
add esp,[ebp+876]
push ecx
mov edx,[ebp+604]
push edx
mov eax,[ebp+812]
push eax
push edi
call chnvalue
add esp,[ebp+876]
push ecx
mov edx,[ebp+640]
push edx
mov eax,[ebp+796]
push eax
push edi
call chnvalue
add esp,[ebp+876]
xor edx,edx
mov [ebp+848],edx
showol: xor edx,edx
mov [ebp+864],edx
mov ecx,[ebx+klinewid]
mov edi,[ebp+920]
sub edi,1000
mov eax,[ebp+1008]
push eax
mov eax,[ebp+940]
push eax
mov eax,[ebp+924]
push eax
call movoneln
add esp,[ebp+892]
mov eax,[ebp+812]
showclr: mov [edi+1000],al
add edi,[ebp+936]
add ecx,[ebp+944]
jnz showclr
showilop: mov esi,[ebp+848]
add esi,[ebp+576]
sub esi,ebp
sub esi,1000
mov edi,[ebp+864]
mov ecx,edi
add ecx,[ebp+928]
add edi,[ebp+916]
add edi,[ebp+920]
sub edi,1000
mov edx,[ebp+592]
push edx
mov edx,[ebp+848]
add edx,[ebp+936]
mov eax,[ebp+848]
add eax,edx
push eax
push ecx
mov eax,[ebp+920]
push eax
call chnvalue
add esp,[ebp+876]
xor eax,eax
jz imid4150
showilo2: xor eax,eax
jz showilop
imid4150: mov al,[ebp+esi*1+1000]
mov [edi+1000],al
cmp edx,[ebx+a80w]
jns finishshow
mov [ebp+848],edx
mov ecx,[ebp+864]
add ecx,[ebp+916]
mov [ebp+864],ecx
cmp ecx,[ebp+652]
jns showleline
xor esi,esi
jz showilo2
showleline: mov edi,[ebp+936]
xor edi,edi
jmp showol
finishshow: mov edx,[ebp+936]
mov ecx,[ebp+1008]
push ecx
mov edx,[ebp+624]
push edx
mov edx,[ebp+928]
push edx
call movoneln
add esp,[ebp+892]
mov edx,[ebp+936]
mov edx,[ebp+624]
mov [ebp+976],edx
exit21: xor ecx,ecx
add ecx,1604
sub ecx,1000
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; bottom of ledit
; int shovestack(lnes* rsq, int sqmode56, int sqin)
; 1008 *rsq 1012 sqmode56 1016 sqin
; 996 edi 1000 ebpsave 1004 retad
; 984 edx 988 ebx 992 esi
; 972 -2 976 eaxout 980 ecx
; 960 1 964 0 968 -1
; 948 4 952 3 956 2
; 936 7 cstpush 940 6 cstpush 944 5
shovestack: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
xor edi,edi
add edi,1011
mov ecx,edi
mov edx,edi
sub edx,1010
sub ecx,1000
sub edi,1014
shovestapu: push edi
add edi,edx
sub ecx,edx
jnz shovestapu
mov edi,[ebp+1008]
sub edi,8192
lea ebx,[edi+rquesave]
sub ebx,1000
mov edx,[edi+rquesize]
mov [ebp+952],edx
mov ecx,[ebp+1012]
cmp ecx,[ebp+944]
jnz nopop
xor esi,esi
jz vspop
nopop: cmp ecx,[ebp+940]
jnz nopush
xor esi,esi
jz vspush
nopush: mov edx,[ebp+964]
mov [edi+rquesize],edx
xor edx,edx
jz nxpop
vspop: mov edx,[ebp+952]
cmp edx,[ebp+960]
jns keepop
mov esi,[ebp+1016]
mov [ebp+976],esi
nxpop: xor esi,esi
jz nxpush
keepop: mov edx,[ebp+952]
add edx,[ebp+968]
mov [edi+rquesize],edx
mov ecx,[ebx+1000]
mov [ebp+976],ecx
mov ecx,[ebp+964]
loopop: cmp ecx,[ebp+952]
jns nxpop
mov esi,ecx
add esi,[ebp+960]
mov edi,ecx
mov edx,[ebx+esi*4+1000]
mov [ebx+edi*4+1000],edx
add ecx,[ebp+960]
xor esi,esi
jz loopop
vspush: mov edx,[ebp+952]
xor ecx,ecx
add ecx,2047
sub ecx,1025
cmp edx,ecx
js keepush
nxpush: xor esi,esi
jz shovebottom
keepush: mov ecx,[ebp+952]
add ecx,[ebp+960]
mov [edi+rquesize],ecx
loopush: add ecx,[ebp+968]
mov esi,ecx
mov edi,ecx
add edi,[ebp+960]
mov edx,[ebx+esi*4+1000]
mov [ebx+edi*4+1000],edx
cmp ecx,[ebp+960]
jns loopush
mov edx,[ebp+1016]
mov [ebx+1000],edx
shovebottom: xor esi,esi
add esi,3040
sub esi,3000
add esp,esi
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; bottom of shovestack
; temporary void debugwr(int what)
; 2000 ebpsave 2004 retad 2008 what
; 1988 ebxsave 1992 esisave 1996 edisave
; 1976 eaxsave 1980 ecxsave 1984 edxsave
; 1964 cst1 1968 cst0 1972 cstm1
; 1952 cst4 1956 cst3 1960 cst2
; 1940 cst7 1944 cst6 1948 cst5
; 1928 cst10 1932 cst9 1936 cst8
; 1916 cst13 1920 cst12 1924 cst11
; 1904 cst16 1908 cst15 1912 cst14
; 1892 cst3866h 1896 cst18 1900 cst17
; ----
; 1576 1580-1587 88888888 1589-1590 0d0a 1592
debugwr: push ebp
mov ebp,esp
sub ebp,2000
push edi
push esi
push ebx
push edx
push ecx
push eax
xor esi,esi
add esi,1000
mov ecx,esi
sub ecx,979
mov edi,esi
sub edi,1001
mov edx,esi
sub edx,999
debugwu: push edi
add edi,edx
sub ecx,edx
jnz debugwu
mov ecx,esi
sub ecx,921
mov edi,esi
sub edi,968
debugwy: push edi
sub ecx,edx
jnz debugwy
xor edi,edi
add edi,03866h
mov [ebp+1892],edi
lea edx,[ebp+1892]
push edx
mov eax,[ebp+2008]
push eax
mov eax,[ebp+1948]
push eax
lea ecx,[ebp+1576]
push ecx
call chnvalue
add esp,[ebp+1904]
mov eax,[ebp+1916]
mov edx,[ebp+1928]
mov [ebp+1590],al
mov [ebp+1591],dl
; --- 3620 within debugwr 3849
xor esi,esi
push esi
call getreala
add esp,[ebp+1952]
mov edi,eax
mov esi,[edi+wioccnd8]
lea ebx,[edi+afterdehan]
mov edx,[ebp+1968]
sub edx,[ebp+1924]
push edx
push ebx
push esi
ret
afterdehan: mov [ebp+1900],eax
mov esi,[edi+wiowrt84]
lea eax,[edi+afterdewrt]
xor edi,edi
push edi
lea ecx,[ebp+1896]
push ecx
mov ecx,[ebp+1904]
push ecx
lea ecx,[ebp+1576]
push ecx
mov ecx,[ebp+1900]
push ecx
push eax
push esi
ret
afterdewrt: xor esi,esi
xor ecx,ecx
add ecx,2400
sub ecx,2000
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of temporary debugwr(int what)
; void lnced(struct lnes* lnl, del*ioprocaddr)
; 2004 retad 2008 *lnl 2012 del*ioprocaddr
; 1992 esi 1996 edi 2000 ebpsave
; 1980 ecx 1984 edx 1988 ebx
; 1968 cst1 1972 cst0 1976 eaxsave
; 1956 cst4 1960 cst3 1964 cst2
; 1944 cst7 1948 cst6 1952 cst5
; d1932 te32 1936 codeadr 1940 cst8
; 1920 wherekey 1924 cst12 d1928 key
; 1908 cst16 d1912 r d1916 le
; 1896 wraddr d1900 te19 d1904 cmd
; 1884 where1892 d1888 teepbase 1892 stf8
lnced: push ebp
mov ebp,esp
sub ebp,2000
push edi
push esi
push ebx
push edx
push ecx
push eax
xor ecx,ecx
add ecx,1023
xor edx,edx
add edx,1000
xor edi,edi
pnpced: push edi
add edi,edx
sub edi,999
add ecx,999
sub ecx,edx
cmp ecx,edx
jnz pnpced
tlncnew: lea edi,[ebx+dkey]
mov [ebp+1920],edi
lea edi,[ebp+1892]
mov [ebp+1884],edi
xor edi,edi
add edi,034663866h
mov [ebp+1892],edi
xor edi,edi
push edi
call getreala
add esp,[ebp+1956]
mov [ebp+1936],eax
mov ebx,[ebp+2008]
sub ebx,8192
xor eax,eax
mov [ebx+r],eax
lea esi,[ebx+evwr]
add esi,1920
mov [ebp+1896],esi
; -- dagra below this line
; -- 4951 change below
mov edx,[ebx+dagranow]
cmp edx,1005
jnz helploop
jmp dag1005
helploop: xor edx,edx
mov [ebx+teepbase],edx
mov edi,[ebp+1936]
; --
lea esi,[edi+cstsegmsg01]
; --
push esi
mov edx,[ebp+2008]
push edx
call threeprcst
add esp,[ebp+1940]
lea esi,[edi+cstrbbb]
push esi
mov eax,[ebx+klinewid]
push eax
mov ecx,[ebp+1968]
push ecx
mov edx,[ebp+1896]
push edx
call chnvalue
add esp,[ebp+1908]
; -
lea esi,[edi+cstsegmsg01]
push esi
mov eax,[ebp+1972]
push eax
push ecx
push edx
call chnvalue
add esp,[ebp+1908]
; --
mov esi,[ebp+1884]
add esi,1002
sub esi,1000
push esi
xor edx,edx
mov edx,es
push edx
xor ecx,ecx
add ecx,1005
sub ecx,1000
push ecx
mov eax,[ebp+1896]
push eax
call chnvalue
add esp,[ebp+1908]
mov esi,[ebp+1884]
add esi,1002
sub esi,1000
push esi
xor edx,edx
mov edx,cs
push edx
xor ecx,ecx
add ecx,1014
sub ecx,1000
push ecx
mov eax,[ebp+1896]
push eax
call chnvalue
add esp,[ebp+1908]
mov esi,[ebp+1884]
add esi,1002
sub esi,1000
push esi
xor edx,edx
mov edx,ss
push edx
xor ecx,ecx
add ecx,1023
sub ecx,1000
push ecx
mov eax,[ebp+1896]
push eax
call chnvalue
add esp,[ebp+1908]
mov esi,[ebp+1884]
add esi,1002
sub esi,1000
push esi
xor edx,edx
mov edx,ds
push edx
xor ecx,ecx
add ecx,1032
sub ecx,1000
push ecx
mov edx,[ebp+1896]
push edx
call chnvalue
add esp,[ebp+1908]
xor edx,edx
mov edx,esp
mov eax,[ebp+1884]
push eax
push edx
xor ecx,ecx
add ecx,1041
sub ecx,1000
push ecx
mov eax,[ebp+1896]
push eax
call chnvalue
add esp,[ebp+1908]
lea esi,[edi+cstregmsg00]
; --
push esi
mov edx,[ebp+2008]
push edx
call threeprcst
add esp,[ebp+1940]
lea esi,[edi+cstrbbb]
push esi
mov eax,[ebx+klinewid]
push eax
mov eax,[ebp+1968]
push eax
mov eax,[ebp+1896]
push eax
call chnvalue
add esp,[ebp+1908]
; -
lea esi,[edi+cstregmsg00]
push esi
mov eax,[ebp+1972]
push eax
mov eax,[ebp+1968]
push eax
mov eax,[ebp+1896]
push eax
call chnvalue
add esp,[ebp+1908]
; -
mov eax,[ebp+1884]
push eax
mov eax,[ebp+1936]
push eax
xor ecx,ecx
add ecx,1005
sub ecx,1000
push ecx
mov eax,[ebp+1896]
push eax
call chnvalue
add esp,[ebp+1908]
mov eax,[ebp+1884]
push eax
mov eax,[ebp+2008]
push eax
xor ecx,ecx
add ecx,1019
sub ecx,1000
push ecx
mov eax,[ebp+1896]
push eax
call chnvalue
add esp,[ebp+1908]
mov eax,[ebp+1884]
push eax
mov eax,[ebx+iojump]
push eax
xor ecx,ecx
add ecx,1032
sub ecx,1000
push ecx
mov eax,[ebp+1896]
push eax
call chnvalue
add esp,[ebp+1908]
mov eax,[ebp+1884]
push eax
xor esi,esi
lea edx,[esi+firstcode]
push edx
xor ecx,ecx
add ecx,1044
sub ecx,1000
push ecx
mov eax,[ebp+1896]
push eax
call chnvalue
add esp,[ebp+1908]
mov eax,[ebp+1884]
push eax
xor esi,esi
lea edx,[esi+lastcode]
lea ecx,[esi+firstcode]
sub edx,ecx
add edx,[ebp+1968]
push edx
xor ecx,ecx
add ecx,1053
sub ecx,1000
push ecx
mov eax,[ebp+1896]
push eax
call chnvalue
add esp,[ebp+1908]
; -- begin changeable area 3903 7 times
lea esi,[edi+cstdatemsg0]
; --
push esi
mov edx,[ebp+2008]
push edx
call threeprcst
add esp,[ebp+1940]
lea esi,[edi+cstnummsg00]
; --
push esi
push edx
call threeprcst
add esp,[ebp+1940]
; --
lea esi,[edi+cstnummsg01]
; --
push esi
push edx
call threeprcst
add esp,[ebp+1940]
; --
lea esi,[edi+cstnummsg02]
; --
push esi
push edx
call threeprcst
add esp,[ebp+1940]
; --
lea esi,[edi+cstnummsg03]
; --
push esi
push edx
call threeprcst
add esp,[ebp+1940]
; --
lea esi,[edi+cstnummsg04]
; --
push esi
push edx
call threeprcst
add esp,[ebp+1940]
; --
lea esi,[edi+csttopmsg01]
; --
push esi
push edx
call threeprcst
add esp,[ebp+1940]
; --
lea esi,[edi+csttopmsg02]
; --
push esi
push edx
call threeprcst
add esp,[ebp+1940]
; --
; end of changeable area 4045.3953
mov edx,[ebx+a80w]
cmp edx,[ebx+klinewid]
jns numloop
lea esi,[edi+csttopmsg03]
; --
push esi
mov edx,[ebp+2008]
push edx
call threeprcst
add esp,[ebp+1940]
; --
lea esi,[edi+csttopmsg04]
; --
push esi
push edx
call threeprcst
add esp,[ebp+1940]
; --
numloop: xor edx,edx
mov [ebx+keyctr],edx
; ----- update display of one key
mov ecx,[ebx+nonscroll]
cmp ecx,[ebp+1972]
jnz skipcedshift
mov ecx,[ebp+2008]
push ecx
mov ecx,[ebp+1972]
push ecx
mov ecx,[ebp+1956]
push ecx
call movoneln
add esp,[ebp+1924]
; --
skipcedshift: xor esi,esi
mov ecx,[ebx+klinewid]
mov edx,[ebp+1908]
add edx,[ebp+1908]
numdclear: mov [ebx+esi*1+evrd],dl
add esi,[ebp+1968]
sub ecx,[ebp+1968]
jnz numdclear
; ----- update display of one key
mov ecx,[ebp+2008]
push ecx
mov ecx,[ebp+1972]
push ecx
mov ecx,[ebp+1964]
push ecx
call movoneln
add esp,[ebp+1924]
; --
numnext: xor esi,esi
mov ecx,[ebp+1968]
mov [ebx+nonscroll],ecx
xor ecx,ecx
add ecx,1005
mov [ebx+freddynext],ecx
jmp daguc
; imaginary location of read one key here
dag1005: mov esi,[ebx+dkey]
mov [ebx+le],esi
mov ecx,[ebp+2008]
push ecx
mov eax,[ebx+le]
push eax
call keytoline
add esp,[ebp+1940]
mov esi,eax
; ----- update display of one key
mov ecx,[ebp+2008]
push ecx
mov ecx,[ebp+1972]
push ecx
mov ecx,[ebp+1964]
push ecx
call movoneln
add esp,[ebp+1924]
; --
cmp esi,[ebp+1972]
jz numnext
xor edx,edx
xor esi,esi
mov [ebx+keyctr],esi
mov dl,[ebx+esi*1+evrd]
mov [ebx+dkey],edx
mov [ebx+cmd],edx
mov edx,[ebp+1920]
push edx
xor edx,edx
sub edx,[ebp+1968]
push edx
mov eax,[ebp+1972]
push eax
call idch
add esp,[ebp+1924]
mov [ebx+te],eax
xor edx,edx
cmp edx,[ebx+te]
jnz nonlnumber
xor edx,edx
add edx,1057
sub edx,1000
cmp edx,[ebx+dkey]
js nonlnumber
lnumber: mov ecx,[ebp+2008]
push ecx
mov edx,[ebp+1964]
push edx
call getlnpos
add esp,[ebp+1940]
mov [ebx+te],eax
mov edx,[ebp+1956]
push ecx
mov ecx,[ebx+te]
push ecx
push edx
call movoneln
add esp,[ebp+1924]
mov [ebx+r],eax
nonlnumber: xor edx,edx
add edx,1108
sub edx,1000
cmp edx,[ebx+cmd]
jg nonleditced
xor edx,edx
add edx,1109
sub edx,1000
cmp edx,[ebx+cmd]
js nonleditced
xor edx,edx
mov [ebx+nonscroll],edx
mov eax,[ebp+2008]
push eax
call ledit
add esp,[ebp+1956]
nonleditced: xor edx,edx
add edx,1105
sub edx,1000
cmp edx,[ebx+cmd]
jnz nonfindv
xor edx,edx
mov [ebx+nonscroll],edx
mov eax,[ebp+2008]
push eax
call vfind
add esp,[ebp+1956]
nonfindv: xor edx,edx
add edx,1116
sub edx,1000
cmp edx,[ebx+cmd]
jnz mvmteep
; 113 t teep
isteep: lea esi,[ebx+evrd]
lea edx,[ebx+str96]
push esi
push edx
mov eax,[ebp+1964]
push eax
call rlnvalue
add esp,[ebp+1924]
mov [ebx+le],eax
lea edx,[ebx+evrd]
push edx
mov eax,[ebx+klinewid]
push eax
mov eax,[ebp+1960]
push eax
call abslen
add esp,[ebp+1924]
mov [ebx+te],eax
xor edx,edx
jz mrmteep
mvmteep: xor edx,edx
jz mynteep
mrmteep: lea edx,[ebx+evrd]
push edx
mov eax,[ebx+klinewid]
push eax
mov eax,[ebp+1956]
push eax
call abslen
add esp,[ebp+1924]
cmp eax,[ebx+te]
jz shorteep
mov eax,[ebp+2008]
push eax
mov eax,[ebp+1968]
push eax
call getlnpos
add esp,[ebp+1940]
mov [ebx+teepbase],eax
xor edx,edx
jz shorteep
mynteep: xor edx,edx
jz nvnteepy
shorteep: mov eax,[ebx+teepbase]
mov [ebx+te],eax
xor edx,edx
mov [ebx+tjctr],edx
cmp eax,[ebx+filelen]
js teechkngg
mov edx,[ebx+filelen]
sub edx,[ebp+1968]
mov [ebx+te],edx
xor edx,edx
jz teechkngg
nvnteepy: xor edx,edx
jz mbnteep
teechkngg: xor edx,edx
cmp [ebx+te],edx
jns teetwoln
mov [ebx+te],edx
teetwoln: xor edx,edx
cmp edx,[ebx+filelen]
jns mbnteep
teeoneln: mov edx,[ebp+2008]
push edx
mov edx,[ebx+te]
push edx
mov edx,[ebp+1960]
push edx
call movoneln
add esp,[ebp+1924]
mov [ebx+r],eax
xor edx,edx
mov [ebx+nonscroll],edx
xor edx,edx
jz writete
mbnteep: xor edx,edx
jz nonteep
writete: mov edx,[ebp+1968]
mov edx,[ebx+te]
cmp edx,[ebx+filelen]
; wrong filelength jns nonteep
add edx,[ebp+1968]
mov [ebx+te],edx
mov edx,[ebx+tjctr]
add edx,[ebp+1968]
cmp edx,[ebp+1940]
jns jonteep
mov [ebx+tjctr],edx
xor edx,edx
jz teeoneln
jonteep: mov edx,[ebp+1940]
add [ebx+teepbase],edx
xor edx,edx
jmp numloop
nonteep: xor edx,edx
add edx,1110
sub edx,1000
cmp edx,[ebx+cmd]
jnz nonnew
mov ecx,[ebx+iojump]
push ecx
mov ecx,[ebp+2008]
push ecx
call initone
add esp,[ebp+1940]
jmp helploop
; jmp lncnew
nonnew: xor edx,edx
add edx,1121
sub edx,1000
cmp edx,[ebx+cmd]
jnz nony
; y ylinenumber 3662
lea esi,[ebx+evrd]
lea edx,[ebx+str96]
push esi
push edx
mov esi,[ebp+1964]
push esi
call rlnvalue
add esp,[ebp+1924]
mov [ebx+le],eax
mov edx,[ebx+le]
sub edx,[ebp+1968]
mov [ebx+teepbase],edx
xor esi,esi
cmp edx,esi
js nony
cmp esi,[ebx+filelen]
jns nony
mov [ebx+nonscroll],esi
jmp shorteep
nony: xor edx,edx
add edx,1111
sub edx,1000
cmp edx,[ebx+cmd]
jnz nonopen
; -----
xor edx,edx
mov [ebx+nonscroll],edx
mov edx,[ebp+2008]
push edx
call readlnf
add esp,[ebp+1956]
nonopen: xor edx,edx
add edx,1115
sub edx,1000
cmp edx,[ebx+cmd]
jnz nonsave
xor edx,edx
mov [ebx+nonscroll],edx
mov edx,[ebp+2008]
push edx
call writelnf
add esp,[ebp+1956]
isquit: xor edx,edx
add edx,1070
mov [ebx+freddynext],edx
daguc: xor edx,edx
add edx,1092
sub edx,1000
add esp,edx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
nonsave: xor edx,edx
add edx,1113
; 113 q quit
sub edx,1000
cmp edx,[ebx+cmd]
jz isquit
xor edx,edx
add edx,1104
sub edx,1000
cmp edx,[ebx+cmd]
jnz nonhelp
jmp helploop
nonhelp: jmp numloop
db "xxxxx"
chbackground dd 0fc01fe00h
db 03h, 0f8h, 07h, 0f0h, 0fh, 0e0h
db 1fh, 0c0h, 03fh, 080h, 07fh, 00h
dotprevcur db 0ffh, 07fh, 0feh, 0ffh
db 0fdh, 0ffh, 0fbh, 0ffh, 0f7h, 0ffh, 0efh
db 0ffh, 0dfh, 0ffh, 0bfh, 0ffh
; 11111111 01111111 11111110 11111111 11111101 11111111
; 11111011 11111111 11110111 11111111 11101111 11111111
; 11011111 11111111 10111111 11111111
db 0ffh, 0bfh, 0ffh, 07fh, 0feh, 0ffh
db 0fdh, 0ffh, 0fbh, 0ffh, 0f7h
db 0ffh, 0efh, 0ffh, 0dfh, 0ffh
; 11111111 10111111 11111111 01111111 11111110 11111111
; 11111101 11111111 11111011 11111111 11110111 11111111
; 11101111 11111111 11011111 11111111
db 0ffh, 0dfh, 0ffh, 0bfh, 0ffh, 07fh
db 0feh, 0ffh, 0fdh, 0ffh, 0fbh
db 0ffh, 0f7h, 0ffh, 0efh, 0ffh
; 11111111 11011111 11111111 10111111 11111111 01111111
; 11111110 11111111 11111101 11111111 11111011 11111111
; 11110111 11111111 11101111 11111111
db 0ffh, 0efh, 0ffh, 0dfh, 0ffh, 0bfh
db 0ffh, 07fh, 0feh, 0ffh, 0fdh
db 0ffh, 0fbh, 0ffh, 0f7h, 0ffh
; 11111111 11101111 11111111 11011111 11111111 10111111
; 11111111 01111111 11111110 11111111 11111101 11111111
; 11111011 11111111 11110111 11111111
db 0ffh, 0f7h, 0ffh, 0efh, 0ffh, 0dfh
db 0ffh, 0bfh, 0ffh, 07fh, 0feh
db 0ffh, 0fdh, 0ffh, 0fbh, 0ffh
; 11111111 11110111 11111111 11101111 11111111 11011111
; 11111111 10111111 11111111 01111111 11111110 11111111
; 11111101 11111111 11111011 11111111
db 0ffh, 0fbh, 0ffh, 0f7h, 0ffh, 0efh
db 0ffh, 0dfh, 0ffh, 0bfh, 0ffh
db 07fh, 0feh, 0ffh, 0fdh, 0ffh
; 11111111 11111011 11111111 11110111 11111111 11101111
; 11111111 11011111 11111111 10111111 11111111 01111111
; 11111110 11111111 11111101 11111111
db 0ffh, 0fdh, 0ffh, 0fbh, 0ffh, 0f7h
db 0ffh, 0efh, 0ffh, 0dfh, 0ffh,
db 0bfh, 0ffh, 07fh, 0feh, 0ffh
; 11111111 11111101 11111111 11111011 11111111 11110111
; 11111111 11101111 11111111 11011111 11111111 10111111
; 11111111 01111111 11111110 11111111
prebh db 00h, 00h
constbh db 42h, 4dh
dd 17558
dd 0
consthdrsize dd 0000003eh
dd 00000028h
biwidth dd 00000240h
biheight dd 000000f3h
dd 00010001h
dd 0
dd 17496
dd 00000ec4h
dd 00000ec4h
dd 0
dd 0
dd 00000000h
dd 00ffffffh
onefontdir dd 02020200h, 02060204h
dd 020a0208h, 020e020ch
dd 02120210h, 02160214h, 021a0218h, 021e021ch
dd 02220220h, 02260224h, 022a0228h, 022e022ch
dd 02320230h, 02360234h, 023a0238h, 023e023ch
dd 02420240h, 025c024bh, 0282026dh, 02ac0297h
dd 02c202b5h, 02dc02cfh, 02ee02e5h, 02fc02f3h
dd 03120301h, 0330031bh, 034e0341h, 03780363h
dd 03960381h, 03b403abh, 03ca03c1h, 03dc03d3h
dd 040203edh, 04280413h, 044a0435h, 0468045bh
dd 048a047dh, 04a00497h, 04b604adh, 04d404c7h
dd 04fa04e9h, 0520050bh, 053e0535h, 055c054bh
dd 0576056dh, 05900583h, 05a2059dh, 05bc05afh
dd 05cb05c1h, 05f105e0h, 060f05feh, 06310624h
dd 064f0642h, 06650658h, 067b0672h, 0699068ch
dd 06bb06aah, 06d906d0h, 06f706eeh, 070d0704h
dd 0727071eh, 07410734h, 075b0752h, 0779076ch
; --------------------------------------------
dd 02020200h, 02060204h, 020a0208h, 020e020ch
dd 02120210h, 02160214h, 021a0218h, 021e021ch
dd 02220220h, 02260224h, 022a0228h, 022e022ch
dd 02320230h, 02360234h, 023a0238h, 023e023ch
dd 02020200h, 02060204h, 020a0208h, 020e020ch
dd 02120210h, 02160214h, 021a0218h, 021e021ch
dd 02220220h, 02260224h, 022a0228h, 022e022ch
dd 02320230h, 02360234h, 023a0238h, 023e023ch
dd 02020200h, 02060204h, 020a0208h, 020e020ch
dd 02120210h, 02160214h, 021a0218h, 021e021ch
dd 02220220h, 02260224h, 022a0228h, 022e022ch
dd 02320230h, 02360234h, 023a0238h, 023e023ch
dd 02020200h, 02060204h, 020a0208h, 020e020ch
dd 02120210h, 02160214h, 021a0218h, 021e021ch
dd 02220220h, 02260224h, 022a0228h, 022e022ch
dd 02320230h, 02360234h, 023a0238h, 023e023ch
; top of font 5*7 letter on 7*9 box
; xpos 1-5 within 0-6
; ypos 1-7 within 0-8
; x y size drawtype
; drawtype direction
; 1 right
; 2 down
; 3 upperleft lowerright
; 4 lowerleft upperright
twofontdll db "0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-"
db "0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-0-"
; 32 blank ! doublequotes #
db "0-31423612-"
db "2222422213214321-2172417213511551-"
; 36 $ %
db "11511122125317513172-16543122132153323731-"
; 38 & singlequote ( )
db "13421451175151622334-13111422-133415331332-"
db "313353323734-"
; 42 * + , - . /
db "165412533252-14513252-55114621-"
db "1441-36224622-1654-"
; 48 0 1 2
db "1172517221312731-41622224-"
db "51421442114124312741-"
; 51 3 4 5
db "1141144117415172-114224315172-"
db "11425442214124312731-"
; 54 6 7 8
db "54421172214124312731-"
db "11511654-21312431273151721172-"
; 57 9 : ;
db "21312431273151721142-"
db "33113511-331125213611-"
; 60 < = > ?
db "14441443-13411541-17441143-"
db "3431513211413532-"
; 64 @ A
db "33323533517211511172-"
db "2131243111725172-"
; 66 B C D
db "21432443244127411172-115117511252-"
db "31335322273411721121-"
; 69 E F G
db "2141244127411172-117221412441-"
db "34331421274121411172-"
; 72 H I J K
db "243151721172-213127313252-"
db "17415172-244435331172-"
; 76 L M N
db "27411172-3334113352621262-"
db "233351721172-"
; 79 O P Q
db "13344223544214422731-"
db "2431113151421172-1151124215543333-"
; 82 R S T
db "24311141514211721443-"
db "21213731145154421142-11513262-"
; 85 U V W
db "273151721172-3734144312225232-"
db "1744343351621162-"
; 88 X Y Z [
db "16541253-333411333442-"
db "165411511751-113117311252-"
; 92 \ ] ^ _ graveaccentbackwardssinglequote
db "1253-313137315252-"
db "311122114211-1751-211132111-"
; 97 a b c
db "11411441174115225172-"
db "2431273154421172-244127411442-"
; 100 d e f
db "1442243127315172-"
db "24315142213111722731-214124211162-"
; 103 g h i j
db "1334133351722731-244155321172-"
db "33423111-273153525111-"
; 107 k l m n
db "343434332252-22523631-"
db "3634143315325532-134314325332-"
; 111 o p q
db "1534373415333333-4332232125211352-"
db "11511451514211423342-"
; 114 r s t u
db "14411532-12411232143127341741-"
db "13513352-144254422731-"
; 115 v w x y
db "37341533-3533173414425442-"
db "17441443-353413333532-"
; 122 z { | }
db "174414312731-3131373114213172-"
db "31323532-1131317234311731-"
; 126 ~
db "222131235111-0-0-0-0-0-0-0-"
db "0-0-0-0-0-0-0-0-0-0-0-0-0"
; -- end of vector font
cstdatemsg0 db "s .text.bss.data w98 Monday, April 27 2009 !"
cstsegmsg01 db "s es 5678 cs 1416 ss 2325 ds 3234 sp 41!"
cstregmsg00 db "s cb 56789abc ram 19212325 io 32343638 r!"
cstnummsg00 db "s use base ten numbers up to six digits. !"
cstnummsg01 db "s each normal line begins with a odd number!"
cstnummsg02 db "s followed by one blank followed by text !"
cstnummsg03 db "s even numbers are used to insert between..!"
cstnummsg04 db "s number controlled editor by Eric Matteson!"
csttopmsg01 db "s0-9 o fn s fn t 888888 q quit lnced!"
csttopmsg02 db "s n new y translate ylinenumber h help!"
csttopmsg03 db "s l 888888 888 edit within line !"
csttopmsg04 db "s m 888 modify current i find this !"
cstrbbb db "r !"
db "xxxxxxxxxxxx"
wdkey000: dd 000000000h, 000000000h
dd 000002008h, 000000d00h
dd 000000000h, 000000000h, 01B000000h, 000000000h
dd 0CFD1C920h, 0CDC8CBC7h, 000000050h, 000535200h
dd 033323130h, 037363534h, 000003938h, 000000000h
dd 063626100h, 067666564h, 06B6A6968h, 06F6E6D6Ch
dd 073727170h, 077767574h, 0007A7978h, 000000000h
dd 033323130h, 037363534h, 02B2A3938h, 02F2E2D00h
dd 0BEBDBCBBh, 0C2C1C0BFh, 00000C4C3h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 03D3B0000h, 02F2E2D2Ch
dd 000000060h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 05B000000h, 000275D5Ch
dd 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h
; -------------
dd 000000000h, 000000000h, 000000000h, 00000A000h
dd 000000000h, 000000000h, 000000000h, 000000000h
dd 000000020h, 000000000h, 000000000h, 000000000h
dd 023402129h, 0265E2524h, 00000282Ah, 000000000h
dd 043424100h, 047464544h, 04B4A4948h, 04F4E4D4Ch
dd 053525150h, 057565554h, 0005A5958h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 02B3A0000h, 03F3E5F3Ch
dd 00000007Eh, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 07B000000h, 000227D7Ch
dd 000000000h, 000000000h, 000000000h, 000000000h
dd 000000000h, 000000000h, 000000000h, 000000000h
; -------------
amkeydown dd 874
amkeyup dd 875
ampaint dd 633
amdestroy dd 620
amcreate dd 619
jasonsname db "ednumerj"
db 00h, 00h, 00h, 00h
dd 0
scotsname db "ednumers"
db 00h, 00h, 00h, 00h
dd 0
; int wdoskey(int rawkey,int nzzshift)
; 1004 retad 1008 rawkey 1012 nzzshift
; 992 esi 996 edi 1000 ebpsave
; 980 ecx 984 edx 988 ebx
; 968 1 972 0 976 result
; 956 4 960 3 964 2
; 944 7 948 cst255 952 cst127
; 932 10 936 tableloc 940 8
wdoskey: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
xor eax,eax
push eax
xor edx,edx
add edx,1001
mov ecx,edx
sub edx,1000
sub ecx,990
wdoskepu: push eax
add eax,edx
sub ecx,edx
jnz wdoskepu
xor edi,edi
add edi,1255
mov ecx,edi
sub ecx,1000
mov [ebp+948],ecx
mov ecx,edi
sub ecx,1128
mov [ebp+952],ecx
xor edx,edx
push edx
call getreala
add esp,[ebp+956]
mov esi,eax
lea edx,[esi+wdkey000]
mov [ebp+936],edx
mov ebx,[ebp+968]
add ebx,[ebp+948]
xor ecx,ecx
cmp ecx,[ebp+1012]
jnz wdoskeb
xor ebx,ebx
wdoskeb: add ebx,[ebp+936]
sub ebx,1000
mov esi,[ebp+1008]
and esi,[ebp+948]
xor edx,edx
mov dl,[ebx+esi*1+1000]
and edx,[ebp+952]
mov [ebp+976],edx
xor ecx,ecx
add ecx,1044
sub ecx,1000
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; bottom of wdoskey
; void pagetodib(struct lnes *pgi)
; 1000 ebpsave 1004 retad 1008 *pgi
; 988 ebx 992 esi 996 edi
; 976 eax 980 ecx 984 edx
; 964 -1 968 -2 972 -3
; 952 2 956 1 960 0
; 940 nineprod 944 4 948 3
; 928 8 932 7 936 6
; 916 ilopct 920 10 924 9
; 904 jlopct 908 olct 912 fromsub
; 892 mlct 896 hgt 900 &fontstart
; 880 20 884 wid 888 bytewid
; 868 addx 872 codeaddr 876 jdesbase
; 856 taddend 860 25 864 24
; 844 size 848 code 852 cst48
; 832 32 836 x 840 y
pagetodib: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
push eax
xor edi,edi
add edi,1000
mov edx,edi
mov ecx,edi
sub ecx,964
sub edx,999
sub edi,1003
pagedibpu: push edi
add edi,edx
sub ecx,edx
jnz pagedibpu
xor esi,esi
add esi,1048
sub esi,1000
mov [ebp+852],esi
xor edx,edx
push edx
call getreala
add esp,[ebp+944]
mov [ebp+872],eax
mov ebx,[ebp+872]
lea esi,[ebx+prebh]
sub esi,1000
mov ecx,[esi+1012]
mov edi,[esi+1020]
mov edx,[esi+1024]
mov [ebp+884],edi
mov [ebp+896],edx
mov ebx,[ebp+1008]
sub ebx,8192
lea edi,[ebx+vardib]
sub edi,1000
xor edx,edx
loaddhdr: mov dl,[esi+1002]
mov [edi+1000],dl
add esi,[ebp+956]
add edi,[ebp+956]
sub ecx,[ebp+956]
jnz loaddhdr
mov edx,[ebp+884]
shr edx,1
shr edx,1
shr edx,1
mov [ebp+888],edx
xor edx,edx
mov [ebp+912],edx
mov [ebp+908],edx
olopdib: mov ecx,[ebp+924]
mov eax,[ebp+908]
push ecx
push eax
call nampy
add esp,[ebp+928]
mov edx,[ebp+896]
sub edx,[ebp+924]
sub edx,eax
xor ecx,ecx
add ecx,[ebp+888]
push edx
push ecx
call nampy
add esp,[ebp+928]
mov [ebp+940],eax
xor ecx,ecx
mov [ebp+892],ecx
mlopdib: mov ecx,[ebp+932]
mov eax,[ebp+892]
push ecx
push eax
call nampy
add esp,[ebp+928]
add eax,[ebp+940]
add eax,[ebp+956]
mov [ebp+876],eax
xor ecx,ecx
mov [ebp+904],ecx
jlopdib: mov edx,[ebp+904]
add edx,edx
mov esi,[ebp+872]
lea ecx,[esi+chbackground]
add ecx,edx
sub ecx,2000
mov esi,ecx
xor eax,eax
xor ecx,ecx
mov al,[esi+2000]
mov cl,[esi+2001]
lea edi,[ebx+vardib]
add edi,[ebp+904]
add edi,1062
sub edi,2001
add edi,[ebp+876]
mov esi,[ebp+960]
rounddibc: mov edx,[ebp+944]
cmp edx,esi
jnz nondibch
mov [ebp+832],edi
nondibch: or [edi+1000],al
or [edi+1001],cl
xor edx,edx
sub edx,[ebp+888]
add edi,edx
add esi,[ebp+956]
cmp esi,[ebp+924]
js rounddibc
xor ecx,ecx
mov [ebp+916],ecx
mov esi,[ebp+912]
xor eax,eax
mov al,[ebx+esi*1+evwr]
add esi,[ebp+956]
mov [ebp+912],esi
mov esi,[ebp+872]
lea ecx,[esi+onefontdir]
mov esi,ecx
sub esi,1000
add esi,eax
add esi,eax
xor eax,eax
mov al,[esi+1000]
mov ah,[esi+1001]
add ecx,eax
mov [ebp+900],ecx
ilopdib: mov esi,[ebp+900]
xor ecx,ecx
xor edx,edx
xor eax,eax
sub esi,1000
add esi,[ebp+916]
mov al,[esi+1000]
mov cl,[esi+1001]
mov dl,[esi+1002]
; ----
; ----
sub eax,[ebp+852]
sub ecx,[ebp+852]
sub edx,[ebp+852]
mov [ebp+836],eax
mov [ebp+840],ecx
mov [ebp+844],edx
xor edx,edx
mov dl,[esi+1003]
sub edx,[ebp+852]
mov [ebp+848],edx
; -
; -
cmp eax,[ebp+956]
jns keeilop
xor esi,esi
jmp botilopd
keeilop: mov edx,[ebp+916]
add edx,[ebp+944]
mov [ebp+916],edx
; -
; -
mov edx,[ebp+956]
cmp edx,[ebp+848]
jnz notdibone
xor ecx,ecx
mov [ebp+856],ecx
mov ecx,[ebp+928]
add ecx,ecx
mov [ebp+868],ecx
notdibone: mov edx,[ebp+952]
cmp edx,[ebp+848]
jnz notdibtwo
xor ecx,ecx
sub ecx,[ebp+888]
mov [ebp+856],ecx
xor ecx,ecx
mov [ebp+868],ecx
notdibtwo: mov edx,[ebp+948]
cmp edx,[ebp+848]
jnz notdibthree
xor ecx,ecx
sub ecx,[ebp+888]
mov [ebp+856],ecx
mov ecx,[ebp+928]
add ecx,ecx
mov [ebp+868],ecx
notdibthree: mov edx,[ebp+944]
cmp edx,[ebp+848]
jnz notdibfour
xor ecx,ecx
add ecx,[ebp+888]
mov [ebp+856],ecx
mov ecx,[ebp+928]
add ecx,ecx
mov [ebp+868],ecx
notdibfour: mov edi,[ebp+872]
lea ecx,[edi+dotprevcur]
add ecx,[ebp+904]
add ecx,[ebp+904]
mov esi,[ebp+836]
add esi,esi
add esi,esi
add esi,esi
add esi,esi
sub ecx,1000
add esi,ecx
mov eax,[ebp+840]
xor ecx,ecx
sub ecx,[ebp+888]
push eax
push ecx
call nampy
add esp,[ebp+928]
mov edi,[ebp+960]
sub edi,2001
add edi,1062
add edi,eax
add edi,[ebp+876]
add edi,[ebp+904]
lea ecx,[ebx+vardib]
add edi,ecx
mov ecx,[ebp+844]
dibdraa: xor eax,eax
xor edx,edx
mov al,[esi+1000]
mov dl,[esi+1001]
and [edi+1000],al
and [edi+1001],dl
mov eax,[ebp+832]
; -
; xor ebx,ebx
; push ebx
; ret
; -
add esi,[ebp+868]
add edi,[ebp+856]
sub ecx,[ebp+956]
cmp ecx,[ebp+956]
jns dibdraa
jmp ilopdib
botilopd: mov edx,[ebp+904]
add edx,[ebp+956]
mov [ebp+904],edx
cmp edx,[ebp+928]
jns botjlopd
jmp jlopdib
botjlopd: mov ecx,[ebp+892]
add ecx,[ebp+956]
mov [ebp+892],ecx
cmp ecx,[ebp+920]
jns botmlopd
jmp mlopdib
botmlopd: mov edx,[ebp+908]
add edx,[ebp+956]
mov [ebp+908],edx
cmp edx,[ebp+860]
jns botolopd
jmp olopdib
botolopd: xor ecx,ecx
add ecx,1000
sub ecx,964
add ecx,ecx
add ecx,ecx
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of pagetodib
; int fixrect(*rects)
; 1000 ebpsave 1004 retad 1008 *rects
; 988 ebx 992 esi 996 edi
; 976 eax 980 ecx 984 edx
; 964 2 968 1 972 0
; 952 wwcmp 956 4 960 3
; 940 8 944 7 948 6
; 928 whcmp 932 10 936 9
fixrect: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
xor edi,edi
add edi,1000
mov edx,edi
mov ecx,edi
sub edi,1001
sub edx,999
sub ecx,986
fixrecpu: push edi
add edi,edx
sub ecx,edx
jnz fixrecpu
xor esi,esi
add esi,2000
mov ecx,esi
sub ecx,1950
mov [ebp+928],ecx
sub esi,1800
mov [ebp+952],esi
mov ebx,[ebp+1008]
sub ebx,1000
mov edx,[ebx+1012]
sub edx,[ebx+1004]
mov [ebx+1012],edx
mov edi,[ebx+1008]
sub edi,[ebx+1000]
mov [ebx+1008],edi
xor esi,esi
mov [ebx+1004],esi
mov [ebx+1000],esi
cmp edx,[ebp+928]
js tinyrect
cmp edi,[ebp+952]
js tinyrect
mov ecx,[ebp+968]
mov [ebp+976],ecx
tinyrect: xor ecx,ecx
add ecx,1052
sub ecx,1000
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; rect.left
; rect.top
; rect.right
; rect.bottom
; bottom of fixrect
; wioswitch(za,zb,zc,zd,zsi)
; 3024 zsi
; 3012 zb 3016 zc 3020 zd
; 3000 ebp 3004 retad 3008 za
; 2988 ebx 2992 esi 2996 edi
; 2976 cstm1 2980 ecx 2984 edx
; 2964 cst2 2968 cst1 2972 cst0
; 2952 cst5 2956 cst4 2960 cst3
; 2940 cst8 2944 cst7 2948 cst6
; 2928 cst11 2932 cst10 2936 cst9
; 2916 cst14 2920 cst13 2924 cst12
; 2904 cst17 2908 cst16 2912 cst15
; 2892 cst20 2896 cst19 2900 cst18
; 2880 cst23 2884 cst22 2888 cst21
; 2868 cst26 2872 cst25 2876 cst24
; 2856 800k 2860 cst28 2864 cst27
; 2844 cst32 2848 cst31 2852 cst30
; 2832 cst35 2836 cst34 2840 cst33
; 2820 arg7 2824 cstm769 2828 codebaddress
; 2808 arg4 2812 arg5 2816 arg6
; 2796 arg1 2800 arg2 2804 arg3
wioswitch: push ebp
mov ebp,esp
sub ebp,3000
push edi
push esi
push ebx
push edx
push ecx
xor edi,edi
add edi,1000
mov edx,edi
sub edi,1001
mov ecx,edx
sub edx,999
sub ecx,954
wioswipu: push edi
add edi,edx
sub ecx,edx
jnz wioswipu
; --
xor edi,edi
sub edi,769
mov [ebp+2824],edi
mov ebx,[ebp+3024]
sub ebx,8192
xor ecx,ecx
push ecx
call getreala
add esp,[ebp+2956]
mov [ebp+2828],eax
xor edi,edi
add edi,00800000h
mov [ebp+2856],edi
xor edi,edi
cmp edi,[ebp+3024]
jz wiofilel
mov edi,[ebp+2960]
cmp edi,[ebp+3008]
jnz wiooch4
xor ecx,ecx
jmp wiocon03
wiooch4: mov edi,[ebp+2956]
cmp edi,[ebp+3008]
jnz wioxch5
xor ecx,ecx
jmp wiocon04
wiofilel: mov edi,[ebp+2960]
cmp edi,[ebp+3008]
jnz wioxch4
xor ecx,ecx
jmp wiorea03
wioxch4: mov edi,[ebp+2956]
cmp edi,[ebp+3008]
jnz wioxch5
xor ecx,ecx
jmp wiowri04
wioxch5: mov edi,[ebp+2952]
cmp edi,[ebp+3008]
jnz wioxch6
xor ecx,ecx
jmp wiopen05
wioxch6: mov edi,[ebp+2948]
cmp edi,[ebp+3008]
jnz wioxch8
xor ecx,ecx
jmp wioclo06
wioxch8: mov edi,[ebp+2940]
cmp edi,[ebp+3008]
jnz wioxc19
xor ecx,ecx
jz wiorre08
wioxc19: mov edi,[ebp+2896]
cmp edi,[ebp+3008]
jnz wioxuuu
xor ecx,ecx
jz wioeek19
wiorre08: xor ecx,ecx
jz wiocre08
wioxuuu: xor esi,esi
add esi,1000
xor eax,eax
jz wionone
wioeek19: mov esi,[ebp+3012]
mov [ebp+2796],esi
mov ecx,[ebp+3016]
mov edx,[ebp+3020]
xor esi,esi
mov [ebp+2800],ecx
mov [ebp+2804],esi
mov [ebp+2808],edx
mov esi,[ebp+2828]
lea edx,[esi+wioafter19]
add esi,[ebp+2856]
mov ecx,[esi+wiosfp19]
push edx
push ecx
ret
wioafter19: xor esi,esi
add esi,1016
wionone: xor ecx,ecx
add ecx,1184
sub ecx,esi
add esp,ecx
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
wiocre08: mov esi,[ebp+3012]
mov [ebp+2796],esi
xor edx,edx
add edx,040000300h
and edx,[ebp+2824]
mov [ebp+2800],edx
xor esi,esi
mov [ebp+2804],esi
mov [ebp+2808],esi
xor edx,edx
add edx,770
and edx,[ebp+2824]
mov [ebp+2812],edx
xor ecx,ecx
add ecx,896
and ecx,[ebp+2824]
mov [ebp+2816],ecx
mov [ebp+2820],esi
mov esi,[ebp+2828]
lea edx,[esi+wioafter08]
add esi,[ebp+2856]
mov ecx,[esi+wiocrn85]
push edx
push ecx
ret
wioafter08: xor esi,esi
add esi,1028
xor edx,edx
jmp wionone
wioclo06: mov edx,[ebp+3012]
mov [ebp+2796],edx
mov esi,[ebp+2828]
lea edx,[esi+wioafter06]
add esi,[ebp+2856]
mov ecx,[esi+wiocls06]
push edx
push ecx
ret
wioafter06: xor esi,esi
add esi,1004
xor edx,edx
jmp wionone
wiopen05: mov ecx,[ebp+3012]
mov [ebp+2796],ecx
xor edx,edx
add edx,080000300h
and edx,[ebp+2824]
mov [ebp+2800],edx
xor edx,edx
add edx,040000300h
and edx,[ebp+2824]
mov ecx,[ebp+2964]
and ecx,[ebp+3016]
jz wiooro05
or [ebp+2800],edx
wiooro05: xor edx,edx
add edx,769
and edx,[ebp+2824]
mov [ebp+2804],edx
xor ecx,ecx
mov [ebp+2808],ecx
xor edx,edx
add edx,771
and edx,[ebp+2824]
mov [ebp+2812],edx
mov [ebp+2816],ecx
mov [ebp+2820],ecx
mov esi,[ebp+2828]
lea edx,[esi+wioafter05]
add esi,[ebp+2856]
mov ecx,[esi+wiocrn85]
push edx
push ecx
ret
wioafter05: xor esi,esi
add esi,1028
xor edx,edx
jmp wionone
wiowri04: mov esi,[ebp+3012]
wiowrw04: mov [ebp+2796],esi
mov ecx,[ebp+3016]
mov edx,[ebp+3020]
lea esi,[ebp+2816]
mov [ebp+2800],ecx
mov [ebp+2804],edx
mov [ebp+2808],esi
xor ecx,ecx
mov [ebp+2812],ecx
mov esi,[ebp+2828]
lea edx,[esi+wioafter04]
add esi,[ebp+2856]
mov ecx,[esi+wiowrt04]
push edx
push ecx
ret
wioafter04: xor esi,esi
add esi,1020
xor edx,edx
jmp wionone
wiocon04: mov esi,[ebx+conwham]
xor ecx,ecx
jz wiowrw84
wiorea03: mov esi,[ebp+3012]
wiorda03: mov [ebp+2796],esi
mov ecx,[ebp+3016]
mov edx,[ebp+3020]
lea esi,[ebp+2816]
mov [ebp+2800],ecx
mov [ebp+2804],edx
mov [ebp+2808],esi
xor ecx,ecx
mov [ebp+2812],ecx
mov esi,[ebp+2828]
lea edx,[esi+wioafter03]
add esi,[ebp+2856]
mov ecx,[esi+wiored03]
push edx
push ecx
ret
wioafter03: xor esi,esi
add esi,1020
xor edx,edx
jmp wionone
wiocon03: mov esi,[ebx+conrham]
xor ecx,ecx
jz wiorea83
wiowrw84: mov [ebp+2796],esi
mov ecx,[ebp+3016]
mov edx,[ebp+3020]
lea esi,[ebp+2816]
mov [ebp+2800],ecx
mov [ebp+2804],edx
mov [ebp+2808],esi
xor ecx,ecx
mov [ebp+2812],ecx
mov esi,[ebp+2828]
lea edx,[esi+wioafter84]
add esi,[ebp+2856]
mov ecx,[esi+wiowrt84]
push edx
push ecx
ret
wioafter84: xor esi,esi
add esi,1020
xor edx,edx
jmp wionone
wiorea83: mov [ebp+2796],esi
mov ecx,[ebp+3016]
mov edx,[ebp+3020]
lea esi,[ebp+2816]
mov [ebp+2800],ecx
mov [ebp+2804],edx
mov [ebp+2808],esi
xor ecx,ecx
mov [ebp+2812],ecx
mov esi,[ebp+2828]
lea edx,[esi+wioafter83]
add esi,[ebp+2856]
mov ecx,[esi+wiored83]
push edx
push ecx
ret
wioafter83: xor esi,esi
add esi,1020
xor edx,edx
jmp wionone
; end of wioswitch
; eax ebx ecx edx esi
; 03_read rhand *buff width
; 04_write whand *buffer width
; 05_open *asciiz 0or2 perms
; 06_close handle
; 08_creat *asciiz modet
; 19_lseek rhand offset whence0or2
; bottom of wioswitch
; void texcbpage(struct lnes *tep,int texhwnd)
; 3000 ebpsave 3004 retad 3008 *tep 3012 texhwnd
; 2984 edx 2988 ebx 2992 esi 2996 edi
; 2968 1 2972 0 2976 eax 2980 ecx
; 2952 5 2956 4 2960 3 2964 2
; 2936 9 2940 8 2944 7 2948 6
; 2920 13 2924 12 2928 11 2932 10
; 2904 17 2908 16 2912 15 2916 14
; 2888 21 2892 20 2896 19 2900 18
; 2872 25 2876 24 2880 23 2884 22
; 2856 bgphdc 2860 codeadr 2864 texlbase 2868 texlctr
; 2756 linebuffer
; 2572 400 2576 texps180
texcbpage: push ebp
mov ebp,esp
sub ebp,3000
push edi
push esi
push ebx
push edx
push ecx
push eax
xor edi,edi
xor edx,edx
add edx,1001
mov ecx,edx
sub edx,1000
sub ecx,900
texcbpugg: push edi
add edi,edx
sub ecx,edx
jnz texcbpugg
xor ecx,ecx
push ecx
call getreala
add esp,[ebp+2956]
mov [ebp+2860],eax
mov edi,[ebp+2860]
lea esi,[edi+texaftbgp]
mov ecx,[ebp+3012]
lea edx,[ebp+2576]
add edi,0800000h
mov eax,[edi+lpbeginpaint]
push edx
push ecx
push esi
push eax
ret
texaftbgp: mov ebp,esp
sub ebp,2572
mov [ebp+2856],eax
mov ebx,[ebp+3008]
sub ebx,8192
mov edi,[ebp+2860]
lea esi,[edi+texaftgwr]
mov ecx,[ebp+3012]
lea edx,[ebx+tevl]
add edi,0800000h
mov eax,[edi+lpgwrect]
push edx
push ecx
push esi
push eax
ret
texaftgwr: mov ebp,esp
sub ebp,2572
mov ebx,[ebp+3008]
sub ebx,8192
lea edx,[ebx+tevl]
push edx
call fixrect
add esp,[ebp+2956]
cmp eax,[ebp+2968]
jz tixcbpol
xor edi,edi
; jz texcc
xor edi,edi
tixcbpol: mov ecx,[ebp+2952]
; cut here at 6650 --
mov edx,[ebp+3008]
push edx
call pagetodib
add esp,[ebp+2956]
xor eax,eax
lea esi,[ebx+vardib]
sub esi,2000
lea ecx,[esi+2014]
lea edx,[esi+2062]
push eax
push ecx
push edx
mov ebx,[ebp+2860]
lea esi,[ebx+prebh]
sub esi,3000
mov edx,[esi+3020]
mov ecx,[esi+3024]
push ecx
push eax
push eax
push eax
push ecx
push edx
push eax
push eax
mov edi,[ebp+2856]
push edi
lea ecx,[ebx+aftdrawh]
add ebx,00800000h
mov edx,[ebx+lptextout]
push ecx
push edx
ret
aftdrawh: mov ebp,esp
sub ebp,2572
; --
; xor eax,eax
; push eax
; ret
; --
texcc: mov edx,[ebp+3012]
lea ebx,[ebp+2576]
mov edi,[ebp+2860]
lea esi,[edi+afttexep]
add edi,0800000h
mov eax,[edi+lpendpaint]
push ebx
push edx
push esi
push eax
ret
afttexep: xor ecx,ecx
add ecx,404
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of texcbpage
; int cbwindlnc(hw,kpc,keyr,lp)
; 1012 kpc 1016 keyr 1020 lp
; 1000 ebpsave 1004 retad 1008 hw
; 988 ebx 992 esi 996 edi
; 976 eaxrez 980 ecx 984 edx
; 964 2 968 1 972 0
; 952 5 956 4 960 3
; 940 8 944 7 948 6
; 928 11 932 10 936 9
; 916 cst26A 920 selcase 924 12
; 904 17 908 16 912 cst255
; 892 20 896 ramadr 900 rdwrdw513
; 880 23 884 codeadr 888 21
cbwindlnc: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
xor eax,eax
push eax
xor edi,edi
xor esi,esi
add esi,1024
mov ecx,esi
sub ecx,1000
sub esi,1023
cbwindlpu: push edi
add edi,esi
sub ecx,esi
jnz cbwindlpu
xor ecx,ecx
add ecx,1255
sub ecx,1000
mov [ebp+912],ecx
xor ecx,ecx
add ecx,2025
sub ecx,512
sub ecx,1000
mov [ebp+900],ecx
xor ecx,ecx
push ecx
call getreala
add esp,[ebp+956]
mov [ebp+884],eax
mov esi,[ebp+884]
lea edx,[esi+lastcode]
add edx,[ebp+968]
mov [ebp+896],edx
xor ecx,ecx
add ecx,616
add ecx,616
sub ecx,614
mov [ebp+916],ecx
mov edx,[ebp+1012]
add edx,[ebp+916]
mov [ebp+920],edx
mov ebx,[ebp+896]
mov edi,[ebp+884]
; mov edx,[ebp+1012]
; mov ecx,[ebp+948]
; - push here
; push edx
; push ecx
; push ebx
; call shovestack
; add esp,[ebp+924]
; --
sub ebx,8192
mov ecx,[ebp+920]
cmp ecx,[edi+amcreate]
; early crash
; -
jnz nocreate
xor edx,edx
jmp fmcreate
nocreate: mov ecx,[edi+amkeydown]
cmp ecx,[ebp+920]
jnz nokeydown
xor edx,edx
jmp fmkeydown
nokeydown: mov ecx,[edi+amkeyup]
cmp ecx,[ebp+920]
jnz nokeyup
xor edx,edx
jz fmkeyup
nokeyup: mov ecx,[edi+ampaint]
cmp ecx,[ebp+920]
jnz nopaint
xor edx,edx
jmp fmpaint
nopaint: mov ecx,[edi+amdestroy]
cmp ecx,[ebp+920]
jnz nodestroy
xor edx,edx
jmp fmdestroy
nodestroy: mov ecx,[ebp+1020]
push ecx
mov ecx,[ebp+1016]
push ecx
mov ecx,[ebp+1012]
push ecx
mov ecx,[ebp+1008]
push ecx
mov edi,[ebp+884]
lea edx,[edi+aftcbdwp]
add edi,0800000h
mov ecx,[edi+lpdefwproc]
push edx
push ecx
ret
aftcbdwp: mov ebp,esp
sub ebp,880
mov [ebp+976],eax
jmp quitwindlnc
fmkeyup: mov ecx,[ebp+1016]
and ecx,[ebp+912]
cmp ecx,[ebp+908]
jnz noresetkey
mov edx,[ebp+972]
mov [ebx+nzshift],edx
noresetkey: jmp quitwindlnc
fmkeydown: mov esi,[ebp+1016]
mov ecx,esi
and ecx,[ebp+912]
cmp ecx,[ebp+908]
jnz usekey
mov edx,[ebp+968]
mov [ebx+nzshift],edx
jmp quitwindlnc
usekey: mov edi,[ebx+nzshift]
push edi
push esi
call wdoskey
add esp,[ebp+940]
mov [ebx+dkey],eax
mov ecx,[ebp+896]
push ecx
call lnced
add esp,[ebp+956]
cbkaftced: mov ecx,[ebx+freddynext]
mov [ebx+dagranow],ecx
cmp ecx,1005
jz keepcbrun
cbpostqk: mov edx,[ebp+972]
mov edi,[ebp+884]
lea esi,[edi+keepcbrun]
add edi,0800000h
mov ecx,[edi+lppqmessage]
push edx
push esi
push ecx
ret
keepcbrun: mov ebp,esp
sub ebp,880
mov ebx,[ebp+896]
sub ebx,8192
lea ecx,[ebx+revl]
push ecx
mov ebx,[ebp+1008]
push ebx
mov edi,[ebp+884]
lea esi,[edi+reepcbrun]
add edi,0800000h
mov ecx,[edi+lpgwrect]
push esi
push ecx
ret
reepcbrun: mov ebp,esp
sub ebp,880
mov ebx,[ebp+896]
sub ebx,8192
lea esi,[ebx+revl]
push esi
call fixrect
add esp,[ebp+956]
cmp eax,[ebp+968]
jns stillruncb
notcbrun: jmp quitwindlnc
stillruncb: mov edx,[ebx+dagranow]
cmp edx,2070
jz notcbrun
mov ecx,[ebp+900]
push ecx
mov edx,[ebp+972]
push edx
lea ecx,[ebx+revl]
push ecx
mov edx,[ebp+1008]
push edx
mov edi,[ebp+884]
lea edx,[edi+aftredraw]
add edi,0800000h
mov ecx,[edi+lprdwindow]
push edx
push ecx
ret
aftredraw: mov ebp,esp
sub ebp,880
xor ecx,ecx
jz totcbrun
rotcbrun: xor ecx,ecx
jz notcbrun
; -
totcbrun: mov ebx,[ebp+896]
sub ebx,8192
lea esi,[ebx+revl]
sub esi,1000
mov edx,[ebx+dagranow]
mov edx,[ebp+1012]
mov ebx,[esi+1008]
mov edi,[esi+1012]
; --
; -----------------
xor ecx,ecx
jz rotcbrun
fmcreate: xor ecx,ecx
add ecx,1001
mov [ebx+dagranow],ecx
; --
xor ecx,ecx
mov [ebx+nzshift],ecx
lea ecx,[edi+wioswitch]
lea edx,[ebx+8192]
push ecx
push edx
call initone
add esp,[ebp+940]
; --
mov edx,[ebp+896]
push edx
call lnced
add esp,[ebp+956]
xor ecx,ecx
jz cbkc
cbkc: jmp cbkaftced
fmpaint: mov esi,[ebp+1008]
mov edx,[ebp+896]
push esi
push edx
call texcbpage
add esp,[ebp+940]
jmp notcbrun
fmdestroy: xor ecx,ecx
add ecx,1071
mov [ebx+dagranow],ecx
jmp cbpostqk
quitwindlnc: xor ecx,ecx
add ecx,1096
sub ecx,1000
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of cbwindlnc
; ----
lncmain105: push ebp
mov ebp,esp
sub ebp,300
push edi
push esi
push ebx
push edx
push ecx
xor edi,edi
push edi
push edi
push edi
push edi
; 276 272 268 264
xor eax,eax
push eax
call getreala
xor ecx,ecx
add ecx,304
sub ecx,300
add esp,ecx
reforeinit: mov esi,eax
mov [ebp+268],esi
lea ebx,[esi+lastcode]
add ebx,1001
sub ebx,1000
mov [ebp+272],ebx
sub ebx,8192
xor edi,edi
mov [ebx+rquesize],edi
lea edi,[esi+aftinitw]
add esi,00800000h
mov ecx,[esi+asminitw]
xor eax,eax
push eax
push edi
push ecx
ret
aftinitw: mov edi,eax
xor ecx,ecx
add ecx,1000
sub ecx,999
xor edx,edx
xor eax,eax
push ecx
push edx
push edx
push edi
call wmwindlnc
xor ecx,ecx
add ecx,316
sub ecx,300
add esp,ecx
; -
xor edi,edi
add edi,1016
sub edi,1000
add esp,edi
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; return to system here
; -
; int WINAPI wmwindlnc(bhinstance,-,-,-)
; 1012 prevstance 1016 lpcmdline 1020 ncmdshow
; 1000 ebpsave 1004 retad 1008 bhinstance
; 988 ebx 992 esi 996 edi
; 976 eaxrc 980 ecx 984 edx
; 964 0 968 -1 972 -2
; 952 3 956 2 960 1
; 940 6 944 5 948 4
; 928 9 932 8 936 7
; 916 12 920 11 924 10
; 904 15 908 nzgm 912 13
; 892 18 896 17 900 16
; 880 21 884 20 888 19
; 868 24 872 23 876 22
; 856 27 860 26 864 cst32512
; 844 ramaddr 848 codeaddr 852 28
; 832 33 836 32 840 31
; 820 36 824 &wmwindclass 828 34
; 808 39 812 &wmwindmsg 816 37
; 796 42 800 mhwnd 804 40
; 784 45 788 44 792 43
wmwindlnc: push ebp
mov ebp,esp
sub ebp,1000
push edi
push esi
push ebx
push edx
push ecx
xor edi,edi
add edi,1049
mov ecx,edi
mov edx,edi
sub edx,1048
sub ecx,1000
sub edi,1052
wmwindpu: push edi
add edi,edx
sub ecx,edx
jnz wmwindpu
xor ecx,ecx
push ecx
call getreala
add esp,[ebp+948]
mov esi,eax
lea ebx,[esi+lastcode]
add ebx,[ebp+960]
mov [ebp+844],ebx
mov [ebp+848],esi
sub ebx,8192
lea edi,[ebx+wmwindclass]
mov [ebp+824],edi
sub edi,1000
lea ecx,[ebx+wmwindmsg]
mov [ebp+812],ecx
mov edx,[ebp+952]
mov [edi+1000],edx
mov esi,[ebp+848]
lea ecx,[esi+cbwindlnc]
mov [edi+1004],ecx
mov ecx,[ebp+964]
mov [edi+1008],ecx
mov edx,[ebp+964]
mov [edi+1012],edx
mov ecx,[ebp+1008]
mov [edi+1016],ecx
set864: xor ecx,ecx
add ecx,32512
mov [ebp+864],ecx
xor edx,edx
cmp edx,[ebp+964]
jnz beficon
beficon: xor edx,edx
push ecx
push edx
mov esi,[ebp+848]
lea edx,[esi+afticon]
add esi,0800000h
mov ecx,[esi+lploadicon]
push edx
push ecx
ret
afticon: mov ebp,esp
sub ebp,784
xor ecx,ecx
cmp ecx,[ebp+964]
jnz aftjcon
aftjcon: mov edi,[ebp+824]
sub edi,1000
mov [edi+1020],eax
mov esi,[ebp+848]
mov eax,[ebp+864]
xor ebx,ebx
lea edx,[esi+aftcursor]
add esi,00800000h
mov ecx,[esi+lploadcursor]
push eax
push ebx
push edx
push ecx
ret
aftcursor: mov ebp,esp
sub ebp,784
xor ecx,ecx
cmp ecx,[ebp+964]
jnz aftbursor
aftbursor: mov edi,[ebp+824]
sub edi,1000
mov [edi+1024],eax
mov ecx,[ebp+940]
mov [edi+1028],ecx
xor ebx,ebx
mov [edi+1032],ebx
mov esi,[ebp+848]
lea ecx,[esi+jasonsname]
mov [edi+1036],ecx
mov eax,[ebp+824]
lea edx,[esi+aftrclass]
add esi,00800000h
mov ecx,[esi+lprclass]
push eax
push edx
push ecx
ret
aftrclass: mov ebp,esp
sub ebp,784
xor ecx,ecx
cmp ecx,[ebp+964]
jnz afteclass
afteclass: mov esi,[ebp+848]
lea edi,[esi+prebh]
sub edi,1000
mov ecx,[ebp+964]
mov edx,[ebp+1008]
push ecx
push edx
push ecx
push ecx
mov ecx,[edi+1024]
mov edx,[edi+1020]
add edx,[ebp+836]
add ecx,[ebp+788]
add ecx,[ebp+924]
push ecx
push edx
mov edi,[ebp+824]
sub edi,1000
mov ecx,[ebp+964]
push ecx
mov edx,[ebp+932]
push edx
xor edx,edx
add edx,0CF0000h
push edx
lea ecx,[esi+scotsname]
mov edx,[edi+1036]
push ecx
push edx
; --
mov edx,[ebp+964]
add edx,8768
sub edx,8000
sub edx,768
push edx
; -- call sequence after arguments
lea edx,[esi+aftcreatew]
add esi,0800000h
mov ecx,[esi+lpcwindow]
push edx
push ecx
; -
; -
ret
aftcreatew: mov ebp,esp
sub ebp,784
mov [ebp+800],eax
xor ecx,ecx
jz aftcreateu
jmp aftrclass
aftcreateu: mov esi,[ebp+848]
mov eax,[ebp+1020]
mov ecx,[ebp+800]
lea edx,[esi+aftswind]
add esi,0800000h
mov ebx,[esi+lpswindow]
push eax
push ecx
push edx
push ebx
; -
; -
ret
aftswind: mov ebp,esp
sub ebp,784
mov esi,[ebp+848]
mov eax,[ebp+800]
lea ecx,[esi+aftuwind]
add esi,0800000h
mov edx,[esi+lpuwindow]
push eax
push ecx
push edx
; -
; -
ret
aftuwind: mov ebp,esp
sub ebp,784
whigmlop: mov edi,[ebp+812]
mov esi,[ebp+848]
mov edx,[ebp+964]
push edx
push edx
push edx
push edi
lea edx,[esi+aftgm]
add esi,0800000h
mov ecx,[esi+lpgm]
push edx
push ecx
ret
aftgm: mov ebp,esp
sub ebp,784
mov edi,[ebp+812]
mov esi,[ebp+848]
mov [ebp+908],eax
xor ecx,ecx
cmp ecx,[ebp+908]
jnz keepgm
skipwhigm: xor ecx,ecx
jz quitgm
keepgm: lea ecx,[esi+afttrm]
add esi,0800000h
mov edx,[esi+lptm]
push edi
push ecx
push edx
ret
afttrm: mov ebp,esp
sub ebp,784
mov edi,[ebp+812]
mov esi,[ebp+848]
lea ecx,[esi+aftdm]
add esi,0800000h
mov edx,[esi+lpdm]
push edi
push ecx
push edx
ret
aftdm: mov ebp,esp
sub ebp,784
xor ecx,ecx
jmp whigmlop
quitgm: mov edi,[ebp+812]
sub edi,1000
mov edx,[edi+1008]
mov [ebp+976],edx
xor ecx,ecx
add ecx,1192
sub ecx,1000
add esp,ecx
pop eax
pop ecx
pop edx
pop ebx
pop esi
pop edi
pop ebp
ret
; end of wmwindlnc
; end of winmain program
db "xxxxxxx"
inconstr db "CONIN$"
db 00h
otconstr db "CONOUT$"
db 00h
db "----xxxx----"
db "crashx----xxxx----"
db "--------------------------------"
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 7B00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 7C00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 7D00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 7E00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 7F00
db "----xxxx----xxxx----xxxx----xxxx"
db "--------xxxxxxxx--------xxxxxxxx"
db "xxxxxxxxxxxxxxxx----------------"
db "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
db "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv"
db "vvvvvvvvvvxxxxxxxxxxxxxxxxvvvvvv"
db "----------------vvvvvvvvvvvvvvvv"
db "----xxxxxxxx--------xxxxxxxx----"
; 8000
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 8100
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 8200
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 8300
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 8400
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 8500
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 8600
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 8700
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 8800
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 8900
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 8A00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 8B00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 8C00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 8D00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 8E00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 8F00
db "----xxxx----xxxx----xxxx----xxxx"
db "--------xxxxxxxx--------xxxxxxxx"
db "xxxxxxxxxxxxxxxx----------------"
db "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
db "vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv"
db "vvvvvvvvvvxxxxxxxxxxxxxxxxvvvvvv"
db "----------------vvvvvvvvvvvvvvvv"
db "----xxxxxxxx--------xxxxxxxx----"
; 9000
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 9100
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 9200
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 9300
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 9400
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 9500
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 9600
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 9700
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 9800
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 9900
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 9A00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 9B00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 9C00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 9D00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 9E00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; 9F00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; A000
; A000 list of lists and dllname
; break here --------------------------
; Insert uninitialized data region here
; in destination memory only.
; break here --------------------------
wioatA000 dd 0080A060h
dd 00000000h
dd 00000000h
dd 0080A220h
dd 0080A070h
; -------------- a014
relatA000 dd 0080A080h
dd 00000000h
lpwforward dd 00000000h
lpwiodllname dd 0080A340h
lpwioreloc dd 0080A0C0h
; ------------------------ a028
dd 0080A100h
dd 00000000h
dd 00000000h
dd 0080A540h
dd 0080A180h
; ------------------------ a03c
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
; a060
wioatA060 dd 0080A200h
dd 00000000h
dd 00000000h
dd 00000000h
lptextout dd 0080A200h
dd 00000000h
dd 00000000h
dd 00000000h
; --------------- a080
liocls06 dd 0080A240h
liocrn85 dd 0080A260h
dd 0080A270h
lioccnd8 dd 0080A290h
liored83 dd 0080A2A0h
liored03 dd 0080A2C0h
liosfp19 dd 0080A2E0h
liowrt84 dd 0080A300h
liowrt04 dd 0080A320h
; --------------------- a0a4
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
; second relocatable list at 80A0C0
wiocls06 dd 0080A240h
wiocrn85 dd 0080A260h
asminitw dd 0080A270h
wioccnd8 dd 0080A290h
wiored83 dd 0080A2A0h
wiored03 dd 0080A2C0h
wiosfp19 dd 0080A2E0h
wiowrt84 dd 0080A300h
wiowrt04 dd 0080A320h
; --------------------- 80A0E4
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
; 80A100
dd 0080A360h
dd 0080A380h
dd 0080A3A0h
dd 0080A3C0h
dd 0080A3E0h
dd 0080A400h
dd 0080A420h
dd 0080a440h
dd 0080A460h
dd 0080a480h
dd 0080a4A0h
dd 0080A4C0h
dd 0080A4E0h
dd 0080a500h
dd 0080A520h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
; 80A180
lpbeginpaint dd 0080A360h
lpcwindow dd 0080A380h
lpdefwproc dd 0080A3A0h
lpdm dd 0080A3C0h
lpendpaint dd 0080A3E0h
lpgm dd 0080A400h
lpgwrect dd 0080A420h
lploadcursor dd 0080a440h
lploadicon dd 0080A460h
lppqmessage dd 0080a480h
lprdwindow dd 0080a4A0h
lprclass dd 0080A4C0h
lpswindow dd 0080A4E0h
lptm dd 0080A500h
lpuwindow dd 0080A520h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
dd 00000000h
; 80a200
db 028h, 00h
db "SetDIBitsToDevice"
db 00h
dd 00000000h
dd 0, 0
; 80a220
db "gdi32.dll"
db 00h, 00h, 00h
dd 00000000h
dd 0, 0, 0, 0
; 80a240
; relocating names to below this line
wioatA240 db 27h, 00h
db "CloseHandle"
db 00h, 01h, 00h
db "----------------"
wioatA260 db 42h, 00h
db "CreateFileA"
db 00h, 00h, 00h
inita270 db 070h, 01h
db "GetModuleHandleA"
db 00h, 00h
dd 0, 0, 0
wioatA290 db 080h, 01h
db "GetStdHandle"
db 00h, 00h
wioatA2a0 db 052h, 02h
db "ReadConsoleA"
db 00h, 04h
db "xxxx----xxxx----"
wioatA2c0 db 05Ch, 02h
db "ReadFile"
db 00h, 05h, 00h, 00h, 00h, 00h
db "----xxxx----xxxx"
wioatA2e0 db 0A8h, 02h
db "SetFilePointer"
db 00h, 06h, 00h, 00h
db "xxxx----xxxx"
wioatA300 db 014h, 03h
db "WriteConsoleA"
db 00h, 07h, 00h, 00h, 00h
db "----xxxx----"
wioatA320 db 01Dh, 03h
db "WriteFile"
db 00h, 08h, 00h, 00h, 00h
db "----------------"
; A1c0
wioatA340 db "kernel32.dll"
db 00h, 00h, 00h, 00h
dd 0, 0, 0, 0
; 80a360
db 01h, 00h
db "BeginPaint"
dd 00000000h
dd 0, 0, 0, 0
db 02h, 00h
db "CreateWindowExA"
db 00h, 00h, 00h
dd 0, 0, 0
db 084h, 00h
db "DefWindowProcA"
dd 0, 0, 0, 0
db 092h, 00h
db "DispatchMessageA"
db 00h, 00h
dd 0, 0, 0
db 093h, 00h
db "EndPaint"
db 00h, 00h
dd 00000000h
dd 0, 0, 0, 0
db 022h, 01h
db "GetMessageA"
db 00h, 00h, 00h
dd 0, 0, 0, 0
db 023h, 01h
db "GetWindowRect"
db 00h
dd 0, 0, 0, 0
db 024h, 01h
db "LoadCursorA"
db 00h, 00h, 00h
dd 0, 0, 0, 0
db 094h, 01h
db "LoadIconA"
db 00h
dd 00000000h
dd 0, 0, 0, 0
db 0d0h, 01h
db "PostQuitMessage"
db 00h, 00h, 00h
dd 0, 0, 0
db 0d1h, 01h
db "RedrawWindow"
db 00h, 00h
dd 0, 0, 0, 0
db 0d2h, 01h
db "RegisterClassA"
db 00h, 00h, 00h, 00h
dd 0, 0, 0
db 045h, 02h
db "ShowWindow"
db 00h, 00h, 00h, 00h
dd 0, 0, 0, 0
db 05dh, 02h
db "TranslateMessage"
db 00h, 00h
dd 0, 0, 0
db 069h, 02h
db "UpdateWindow"
db 00h, 00h
dd 0, 0, 0, 0
; 080a540
db "user32.dll"
db 00h, 00h
dd 00000000h
dd 0, 0, 0, 0
; 80a560
db "xxxxxxxx----------------xxxxxxxx"
db "--------xxxxxxxx--------xxxxxxxx"
db "----xxxx----xxxx----xxxx----xxxx"
db "----------------xxxxxxxxxxxxxxxx"
db "xxxxxxxx----------------xxxxxxxx"
; 0600
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; ------------------------------ 0800
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; ------------------------------ 0a00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; ------------------------------ 0c00
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
dd 0,0,0,0,0,0,0,0
; ------------------------------ 7e00
db "--------xxxxxxxx--------xxxxxxxx"
db "----xxxx----xxxx----xxxx----xxxx"
db "----------------xxxxxxxxxxxxxxxx"
db "xxxxxxxx----------------xxxxxxxx"
db "--------xxxxxxxx--------xxxxxxxx"
db "----xxxx----xxxx----xxxx----xxxx"
db "----------------xxxxxxxxxxxxxxxx"
db "xxxxxxxx----------------xxxxxxxx"
db "--------xxxxxxxx--------xxxxxxxx"
db "----xxxx----xxxx----xxxx----xxxx"
db "----------------xxxxxxxxxxxxxxxx"
db "xxxxxxxx----------------xxxxxxxx"
db "--------xxxxxxxx--------xxxxxxxx"
db "----xxxx----xxxx----xxxx----xxxx"
db "----------------xxxxxxxxxxxxxxxx"
; short
db "xxxxxxxx----------------xxxxxxy"
lastcode db "z"
; end of data section
; bottom of file
; delete all lines below this line
; delete all lines below this line


0 new messages