+*2$
,53P T'VXZ\$tv3)$5(6) (0 * 00)$(+$$
H'
P,'')B'24+$,0 '',..	013
P2)*'0'02274:636;<oL<2<5<:'>3>0.V+,+,;.L1N9$j,,(:1038+90
=322*C.+5ID+$1BD0() 9*<2b@2E*I+A)C7MB'4C$(
4(S+G^+CN0',2O' >(l+$L*(.*<,5,.50Z02L4X*6+18g0:B,<91>J(@$B1DX'FHH?JGLf'N:PRRFT4VX7Z)
\.^MibZd;X(31)S5Q>OH1x+sA*5t0:
a(|+i|0+X)4f*4..* 2+4J61
8:N<F>D@S1Bj(D?F^HUJ2NNRO,V15Z^nbPfjJl+n^pL$rE2vu(DS14
:Y?2TB]1R0Z=.Zh\(N2g*=52 S$a+F5oi+vs'h9
{'{'Jr*Lzzb|[26:O5z*^@4>H.IqV}H+(U5Yp[,;+7>=ChC*_CI4CIC^$s<KR4E+\)U)B<):)7)i)n	)+)U)7;)3f1dd2d[4<dT+d]ddr1Xdd\5
dF
dRda=d]<m2B)']<ejA	'
tQ.(gM0P
n;EyKPP)Pe4;PhPW
{PEP(x[.sh$
Vuip4;31
; 
*
g
aX)$aaaL ax2+a2ad.Zh5(f,xdd)DsU0ZO
X
].
LY
2
}4T
c
rw$0q5yQH3Xb^
E(KE|1rr63U 515K5m]5l5b 	55T35t)b5o.5515p
5o51{.D4'e,\3n,le1=
(j0{
a5s{A2U59Kd\m yl_Ax,uL?qPm'v 4218w,j
4.2	
e3:
f
(VvOlsT(BB^KBFNB,B$B5B5Bd,BBbB2BY66E6(6I66*6})tl,4[2  1+r'Nw)$.'	0 
Sh'>K>x>m3>$
>Tj
jgdjhj'JjjjQjj0jjN	j2	j4
j5j*|j$
jj jtZ1qZZx3ZZ Z)ZzZt
)Z1ZZ4o^^2.F*)*3Di{h8wQshg0UzX{Xc5s4s3v}
,+}r|
1
r?MYMTddx)d1iii4(423r0eMac).cpStr = cpOffset + rgFtntQue(vcFtntQueMac).cpStr  
			cpOldStart;
	rgFtntQue(vcFtntQueMac).cpStrLim = cpOffset + 
			rgFtntQue(vcFtntQueMac).cpStrLim  cpOldStart;
	rgFtntRef(vcFtntRefMac).docFtnt = doJy?i]5V)cSectorsTbdMaxZCEVENTSMAXCHECKEXPOSBCONFIGFILESPECSDNAMEREGISTRYSECTORSTATUSMAXDNPROCESSESWAITINGACCESSVMUNLOCKORGANIZATIONAPPENDTEXTTOSYSTEMMESSAGEPROCQUERYSERVERFORUSERCHECKFOREXPIREDMAILNRQSOUTSTANDINGSTRIPNODEFROMFILESPECGETNEXTENTRY
UNMARKPAGEPREPAREMESSAGEQ4RELEASEBUFFERPAGEVMDEXPANDLOCALMSGPPROCBSl:+^2LDThqMPIOPERATIONWOPERATIONTYPE	CLOSEFILE
MSGIDCUR	IMSGFIRSTOSBUSERNAMETBDN
RGCMDBLOCK	RELEASERH.LFUSERCONNECTEDGETFOLDERENTRYREORGFOLDER}FW9j^)t1PbDomainDelimRGTEMPLATEUSERUPDATE
OSBOLDNOMFZ
EXCHPRIEST6FORGUPDATEINPROGRESS
UPDATEORGLIST
COPYFILECRASHFAMhVALIDATERECIPIENT
PUTSBMSGFIELDREADMSGPAGE<EXPANDDATETIMEdE;N'ZCEVENTSMAXTBDREPLY	ALLOCEXCH(
MPFOLDERFHRAFIRSTLONGBUFFERWRITEERRORFILEnDELAYFOREVER{CHANGEFOLDERLENGTH]lPF2td+<bSuffixCWASSIGNRGIENTRYMACTBDSERVERQc
GETUSERNUMBEROSBSUBJECTNREG*
OSBMSGEXPIREDRIEVENTLASTREORGDONEbFALLOCRHL
LOCKPRIEST
LOCKSECTORyADDKEYEDFOLDERENTRYFINDANDHOLDFOLDERBUFFERRELEASEDDDGTNXCHPRg;sF\.L$	bDIADelimCOPERATIONS
GETFILESTATUSOSBSUBJECTQUERYNREG(OSBVERSIONNUMBERdRHMAC<MPIPROCESSFWAITINGFORALLOCCHANGEAGENTNAMEADJUSTUDIRSECTORSSENDDELIVERYFAILURENOTICEMSGFILEINIT$,PUTDATAINMAILBOX<CHECKCENTERINANYORGsGETKEYEDFOLDERENTRY,COMPAREKEYSCHECKPOINTFOLDERSREADBUFFERPAGEDERROREXITSTRINGLINITMSGFILEloSaz(J4?bDelimSysMsgCEVENTSMINTBDREPLYISTATESHUTDOWNINITOSBHAVEFAILEDONOSBUNKNOWNERRORHEXCHOVERLORD4MPIAGENTPSTATUSBUFFERMPRHREMOTESESSIONINFOFROUTINGSUSPECTRGFOLDERPROCCHECKFORMAILCHECKFORORGLISTUPDATEXADDORGLISTRECORD=
CRASHOVERLORD;GETNEXTLISTNAME4	PARSETEXTTHANDLETBDREPLYUNLOCKSTATUSUNIQUEIDNEW8COMPARECTDATESUPDATEBITMAPREADFOLDERDATASECTORI]>IqgU6
cDigitsErcV
ALLOCMEMORYSL*
MPIAGENTMHIPROCESSMAC
EXCHBUFFERISHORTBUFFERMAXRAFIRSTSHORTBUFFER
LOCKCENTERREMOVEDISTLIST+INITMAILSERVER$ASSIGNMSGIDANDPOSTEDDATESTRIPNODEFROMPBCBFILESPEC,SBMESSAGEFILESPECRELEASEBUFFERPAGEANDUNMARK[rSg1$?^FylastMpNConnectTriesNMinutestOSBTRANSPORTERRORACK@OSBTRANSPORTERRORSENDBASSIGNSNGETMINDATEFORFOLDERKIPROCESSCURRENT 
CHECKERCFAMDWRITEBUFFERPAGEDCALLPROC'AVbw5NmCCNFGSTRINGSCEVENTSMINRECREMACKNOWLEDGEMAILRECEIPTOSBSUBJECTTBDREPLY.SDDDNATTACHDIRECTORY
EXCHSTATUS:SENDRETURNRECEIPT
PROCRECEIVEMAILIUSERFORSECTORSTRIPNODEFROMSDFILESPECBLOCKPROCESS
ACCESSCOMPUTEzDRGPARAM	CallProc1;5OwC}lY$a	bTWXDelimMPIOPRQCODESHRINKAREASL
CREATEFILEDELAY
CSTATUSOPS,OSBERRORFILESUFFIX
SDTBDFILENAME
RGNHOLDINGADDORGLISTFIELDIUSERFORUNIQUEID]INITVM8D
QUERYMSGFHlLQ_DWORD_MULY|Y:bjDtN(3CEVENTSMINCHECKEXPGetDateTimeOSBINCONNECTNEXTRGSDCNFG
CDRONESACTIVE
SECTORMINNREG>IEVENTLASTRECREMNMPIRQIDRONE
EXCHLOCKVMzCHANGEUSERINFOSENDUSERDIRUPDATE
RESETROUTING<INITTBDITERATIONlFINDKEYEDENTRYbALLOCATEFOLDERSECTORSCREATEFOLDERVALIDATEMSG4GETMSGCOMPONENTBYPOSITION<PBUFFERFROMSECTORFDhB:2Tx^KrESTABLISHMAILCONNECTIONCREMOTECONNECTIONSRESERVED	IEVENTCURJ	EXCHALLOCUNLOCKCENTERUNLOCKASSIGN9MOVEINDEXENTRY
,
FATALERRORFAMDGETSHORTBUFFERDGETMSG
lFProcessorSupportsProtectedModeYLt{gA6
OSBNEWNOMFV	PNLSTABLEWRITEMSGTOFILEMSGFILECLOSE,COPYATTACHMENTSGETNLSKEYCAPTEXTINCREMENTASCIINUMBERuFINDKEYEDUNSORTEDENTRY2GETCMSGELEMENTSFORID
4BUILDSO4
FINDSECTORiDFPROTECTEDMODEZf2{n)L:BCEVENTSMAXCNEXTNETCHANGEPRIORITY
DREADDIRPAGE
RENAMEFILE	ERROREXIT
NSECTORBUFFERSOSBSUCCESSIVEOCCASIONS2OSBTEXTDELETELISTb
PRGLFAUDIRIEVENTLASTREORGNREG^MPIPROCESSPROCESSNUMBERMPIPROCESSEXCHDEFRESPRENAMEFILEMSPROCQUERYMAILCONFIGURATIONlDELTAT
FEQSTRINGSv	NLSSTRCMP0\C'rTI7 {iCEVENTSMAXREORGNREGOPENFILERECEIVEMAILWRITELOG}QUERYPROCESSNUMBERSNCURFUSERUPDATESAVE	MPILOCKMH2MPRHCMDBLOCKTIMEOUTREMOVECENTER7WRITESTATUSLINITTBDREPLYREPLYFORTBDRECIPIENT
SETUSERUPDATEFLAGSETPARTITIONNAMEtLQ_DWORD_DIV|CTOSVERSION^QhG5@ynMPIQUERYOPERATIONCODEMPIOPSTATUSOPCODE.
MPIOPFLAGSSECTORSTATUSMACRGBOVLOGOSBMAILBOXNAMESDMAILSERVERPASSWORD
SECTORTBDUSERFFDEBUGCHANGECENTERINFOGETNEXTFILEPROCQUERYNODEFORMAILUSERtPROCQUERYMAILSTATUSFENCLOSEDMSGJ4	DETACHMSG4RELEASEBUFFERPAGEDACCESSVMNEXTUDA;iMs{3 SCEVENTSMINREORGNREGCEVENTSLASTREORGDONECHECK
DELETEFILEULCMPBOSBREVISIONNUMBEROSBFWDSDDEADMAILDIRECTORYCBSTRINGAREA
IENTRYMAXNREG	LOCKAGENTREADUSERRECORD
LOCKSTATUSFGETPRIESTLOCKGETURECORDBYKEY:
GETURECORDBYSIMPLENAMEf
	GETORGDIRRELEASEFOLDERSECTORSPUTMSGBYTES
4oKV=|d
bDelimeterbLastNameDelim
CREATEPROCESS4OSBATTEMPTSTOCONNECTTOPROCCHANGEUSERNUMMAILINVALIDATESECTORCLOSEANDOPENUDIRECTORY(DELETEINDEXENTRYINITPPROCFATALERRORDREADUNEXPANDEDMSGBYTESrl'sK;fZR0RGIBCNFGSTRINGOSBINESTREMOTEOSBNAMELABELMPIDRONEIPROCESSRPROCACKNOWLEDGEMAILRECEIPTADDAGENT<
GETMSGTEXTINITLISTITERATION4CHECKFOLDERFORREORG<TERMINATEREMOTECONNECTIONDDPROCSENDMAIL	IUSERFREE	RESETSTATUSSECTORSRELEASEHELDBUFFERSALLOCFOLDER
DETACHMSGREAD4RELEASEMSGPAGE<CPARAMS3I?{dUp$bPeriodiPrecedenceTbdXmpNConnectTriesNMinutes\nConnectTriesErrorv
MPILOCKSECTORCONNECTTIMEAPPLIESDELETECENTERMAILBOXITEMPUTENTRYINMAILBOX<SETUPUSERSTATUS	SETMSGRETL	NLSULCMPBLb2v;*mUsbGenericDDNCenterPCENTRIESUSERMBOX
PBMSGCACHE.DATESTARTUPPROCESTABLISHMAILCONNECTIONCHECKERCINST,PROCSIGNOFFMAILUSERIUSERFORUSERNUMUNLOCKPRIEST\APPENDNUMBERRADIXCLOSEFOLDERNORMALIZESO4
ENCLOSEMSG<zl>J]7TeSENDQUERYMAILSTATUSOSBMSINSTALLEDOSBSUBJECTLISTOSBNEWMFXSDDISTLISTFILENAMEISTATESHUTDOWNjADDDISTLIST<
UNLOCKUSERADDUSER<READBUFFERPAGEANDMARK
CREATEMSGFILE<RELEASELONGBUFFERDOlwcX,7E	bDistList	RGWASSIGNCMSGSTRINGSOSBORGUPDATELISTKILLCENTERMAILBOXITEM
MOVEDIRECTORYRHFROMSECTORZDLIFEOFANOVERLORDLFNETTIMEOUTTLCHECKCENTERINORGOGETFOLDERINDEXFROMNAMEGETVALIDFOLDERNAME
CONVERTNUM4RELEASEPAGESFORFHD6B|VLsbibEOL
sbMsgFileSpecsbMsgFileMissingSAGENTBUFFERCEVENTSMAXCNCTNEXT
SETFILESTATUS	
SETPSTRUCTURENMPIOPERATIONPPROC.IBOVLOG
OSBERRORPOINTSDUDIRECTORYCREMOTECONNECTIONSPMPIUSERUSERSTATUSIEVENTLASTCHECKEXPZIEVENTLASTUSERUPDATEfFCTNETFREORGONINSTPROCSETMAILAGENTSTATUSCHANGEDISTLISTCONTENTS
ADDUDIRRECORDRHFROMMHDOPENFILEFOLDERPROCESSFIELD4)^CShwL9bDistListDelimCEVENTSMINCNEXTNETMPIOPERATIONOPERATIONCODE
MPICMDCMDCODENOSBINMSHOLDFHSTATUSpMPIDRONEFCRASHED
FTIMEINWINDOWSENDERRORMESSAGETOADMINPROCPURGEMAILUNIQUEID\ADDDATEDFOLDERENTRY
RELEASEFOLDER
LFAINDEXENTRY,
PUTMSGBYTE|4^HxU:h$LASTRGIDRECIPIENTCOPSDEALLOCMEMORYSL+SETPARTITIONLOCKITEMPLATEMAXUSERUPDATEOSBTRANSPORTERRORORGFSECTORADMINHILONGBUFFERMAXPROCCONNECTNEXTMAILCENTERCHECKNAMEREGISTRY,<DECODENUMBERPFINDINDEXENTRY,RELEASEINDEXBUFFERK,SECTORFROMPBUFFERD^G=R3'ivCEVENTSMINCNCTNEXT
MPIOPPPROC0GetPartitionStatus
GETPSTRUCTURE,SBSMALLMESSAGEOSBUNKNOWNRECIPJOSBMSGNOTDELIVEREDPERPMSCRASHSTATEnFREORGNREGINPROGRESSFUSERUPDATEUPDATESTATUSSECTORS
PROCESSTBDREPLYsPROCTERMINATEMAILCONNECTION
GETCTDATETIMEPUTTHREEMSGFIELDS	BHASHNAME	COMPUTENEWBINSIZE$
CHECKPOINTMSGq<LOCKVMD
NLSCOLLATEsOB:{f0X
cDigitsSuffixT
OPENFILELLaQUERYREQUESTINFO
PURGEMAILUSER
RESETSTACKOSBGENERICDIACENTEROSBOLDSUFFIXOSBTRANSPORTERRORCOMMDOSBSEEDOCUMENTATIONL	FSHUTDOWNBSVIDLOCKUSERCHANGEUSERWORKSPACELOCATION	ADDTBDRECIPIENTBLOCKDECODENUMBERRADIXmDELETEFOLDERrWAITFORALLOCWRITENEWFOLDER$
RELEASEMSG44Xau>jJ CEVENTSMAXCNEXTNONETCEVENTSMINUSERUPDATEREQUESTOSBINRECREMOTE
OSBORGLISTINVALID1 OSBTEXTRETRECEIPTTWXOK>SDADMINNAMECENTRIESTBD
SECTORSTATUSCURBTIMERREQUESTBLOCKvUNIQUEIDLASTRGSECTORADDUDIRFIELD
WRITETOLOGCBCONSTRUCTMAILBOXFILESPEC<PROCRESETMAILSERVERCHECKPOINTTBDENTRY=
PROCVALIDATEMAILGETFREESECTORSECURRENTOSVERSIONt1(dXPB:}
RGIDRECIPIENTCEVENTSMAXRECREMSLARGEBUFFERSDCENTERNAME	ADDCENTER<CHANGEORGANIZATIONINFO
CHECKERCMSINSTALLMAILSERVER
,ESTABLISHREMOTECONNECTIONDMAPUNIQUEIDRELEASEFOLDERDATASECTOROPENFILEFAMCONVERTELEMENT<	UNLOCKFAMDzXLgr)E29bDelimDistListCEVENTSESTTIMEOUTEXPANDAREASLsbVerRunCENTRIESCENTERMBOXRGOSBMSGOSBORGLISTINVALID3$OSBTEXTRETRECEIPTDIAERR4PMPLOWERTOUPPER	ACCESSFAMSLONGBUFFERFINDMAILCENTERTOCONNECTREADCONFIGFILE$WRITEFOLDERDATASECTORGETMSGBYTES4LOCKFAMDUNLOCKVMDl^ID8x,SbDDNCenterDelimRESPOND<CQUERIESMPIQUERYWQUERYTYPEMPIQUERYIPRIVILEGECNFGOSBCANTDELIVEROSBINTERMREMOTEOSBMAILDELIVERYSERVEROSBORGLISTINVALID2SDGENERICTWXCENTERIENTRYMACTBDIENTRYLASTTRIEDNET	EXCHDRONE2ERCMSCRASHSTATElFSRPFDISTLISTREORGRGFHHCHANGEAGENTINFOECHANGECENTERNAME	RENAMEFOLDER
REINITMSGFILElBOx5n,'[e
bNameLabelGetPartitionHandleBEEP4MPICMDISTATEjOSBSUBJECTRETRECEIPT,OSBTEXTRETRECEIPTOK:IEVENTLASTCNCTNEXTR
FDEVELOPEMENTpMAKETBDENTRYREMOVETBDENTRYMHHOLDINGSECTORLOCKAADDFOLDERENTRYNCLOSEMSGFILEl2sAhU:K_bDuplicateDelimWAITTERMINATEMAILCONNECTION
OSBREMOVEDMPIRQPRQ
CHANGEUSERNAMEGETNEXTDIRPAGE
WRITEBSRECORDUNLOCKSECTORPUTMSGCOMPONENTd4ALLOCATELONGBUFFERSQDALLOCATEBUFFERPAGEhDoHQ{d[=4
AllocMemoryLL,WRITE$
RGWPAGEBUFFEROSBOLDMF\PBMSGBUFFER*MPMHSESSIONINFOZSAVMBUFFERS
UPDATEUSERDIRLIFEOFADRONEUNSERVEREQUESTS,READNEXTSTATUSPAGEbWCOMPUTEHASHAPPENDSBMSGFIELD
GETFREEFOLDERPBUFFERSTART2D}7'qChMX0bCloseNodeSpec
CSECRECONNECTOPENRTCLOCK1GetpASCBOSBFAILEDDELIVERYOSBMESSAGENAMEOSBMSMALFUNCTION^	IAGENTMAC
EXCHASSIGN8MPRHCMDBLOCKZPPROCFATALERRORFAMRGACCESSUNLOCKAGENTLOCKORGANIZATIONREMOVEORGANIZATION
REMOVEUSERINITSYSTEMMESSAGEuOCMDBLOCKALLOCDPUTASCIIMSGFIELDFEQPBSB|g,Nt91ZD CEVENTSMAXUSERUPDATECEVENTSTERMTIMEOUTREAD	BTIMEZONEMPIOPSTATUSIPRIV
NLARGEBUFFERSOSBMSPARTITIONNAMEOSBSUBJECTUSERUPDATE0OSBTEXTRETRECEIPTERR8	WREVISION
IENTRYMAXLIST	CHECKUDIRMRECEIVEREMOTEMAILUDPROCPURGEMAILUSERdACKNOWLEDGEFORTBDRECIPIENTjAWAKEPROCESS	PREPAREMESSAGE24WRITEBUFFERPAGEVMD	CallProc0]$|rSf+H9CHANGEFILELENGTH
CCMDSLCDRONESOSBTEXTRETRECEIPTDIAOK6OSBTEXTRETRECEIPTTWXERR<SDSTATUSFILESPEC
SECTORMACNREG@MPIDRONESPBPBPROCCONFIGUREMAILCOUNTLISTNAMESSHUTDOWNMAILSERVERKINITSTATUSPAGESETERCTERMINATIONFORUSERNUMUPDATEUSERSTATUSoGETNEXTTBDRECIPIENTBLOCKeFINSUFFICIENTPRIVILEGESPURGEFOLDER INITMAILMSGBUFFER<WRITEMSGPAGE)<GETMSGUNEXPANDED
lFRmos)3N[<mxdEbDelimTbdReplyCONVERTTOSYSbQUERYDEFAULTRESPEXCH$SBEXTMESSAGEDTEXPIRATIONPDATETIMEOSrIENTRYLASTNETCENTEREXCHLOCKFAM|LOCKDISTLISTADDORGANIZATION<FATALERRORINST,ERRORTEXTFORERC+,FRETRYRECEIVEREMOTEMAILYLNLSSTDFORMATDATETIMECBCONSTRUCTMSGFILENAME
CREATEMAILBOXMARKPAGEPUTNUMN	4	CallProc2HxTem\;bUIndexDelimEXITMPIOPERATIONIPRIVILEGEREMOVEMAILBOXITEM;RELEASESYSTEMMESSAGEPROCQUIETMAILUSER	MAPSECTORFINDTBDENTRY	UPPERCASE
UPDATEINDEXENTRYx,GETMSGCOMPONENTBYID<
WAITFORBUFFERDCheckErc\	CallProc3RepI})1@[CLOSERTCLOCK2OSBINVALIDRECIPIENTT
PVMBUFFERSMPIAGENTIENTRYLASTTRIEDMPLONGINUSECONNECTNEXT_REMOVEAGENTUNLOCKDISTLISTCRASHMAILSERVERFINISHSYSTEMMESSAGEFCHECKFORTERMINATEL
INITTBDRECORDDCBAPPENDATTACHMENTNUMBERAPPENDASCIIMSGFIELDWRITEBUFFERPAGEANDUNMARK,POSITIONMSGPTR	4FORGETALLMSGPAGES<
FATALERROR\
CSUBPARAMS
INTCOLLATE\1qhF*UO=
bOpenNodeSpecCEVENTSMINCNEXTNONETWRELEASEIEVENTLASTTBDREPLYVMPIOPEXCHDEFFMSGFILEOPENNWAITSRGFINUSESENDORGLISTUPDATERELEASELIST4PROCQUERYMAILUNIQUEID|SENDTBDREPLYa
LOCKASSIGNUPDATEFOLDERENTRYDELETEFOLDERENTRY
GETMSGBYTE
4GETPNLSTABLET+7>C)dPxx1

a
QXEr35B6>jZXcsv?MTdi for the given pattern., )'

DefineCmr(WriteProtected, 1, true, false, livattrStatusBlinking, 0,
Document | cannot be changed, <> <1>)'


end; WpMsgPZ.asm
