|" e:\work\jabba\button\readini.cppOS2203fOp DCPPƈ$87 e:\work\jabba\incl\readini.hۈ8o:\wcom105\h\ctype.h҈8o:\wcom105\h\stdlib.hs8o:\wcom105\h\string.h^8o:\wcom105\h\stdio.hԈ8o:\wcom105\h\except.hl8o:\wcom105\h\wcdefs.hy(5q! e:\work\jabba\button\readini.cppT "CODEDATABSSFLATDGROUP_TEXTu i=OCONSTי CONST2 _DATA _BSS DEBSYM $$SYMBOLS  ~DEBTYP$$TYPES x L_enumunionstructclass __segmentcharintunsigned int#'0FrF` g"i __indexg"i __delta gk__fnrF onexit_twEstrlen_toupper_strdup_W?strtoupper$n(pna)pnafseek_fgets_MSQRVWUEEEE EEEEE;EvE%UыEEE]_^ZY[Í@SQVWUEUEEEE11ҋE]h0Dfree_strcmp_^hEE%tE8[uEEE%t2EEE%tE8]uEEEEE}tEEEEUEt E@ tDUs{C fpos_tF  __va_list  wchar_t  size_t  WCboolr  F!"_PNH"PFUrF%&PFVrF` a_tmpfchar a_ungotten a _bufsize a _handle a _flag2"$a (00strtoupperstr ipt #2K #2W #{ #|o #|{%$d> .000FindSection-fhsectionName7X9OU!d#w$~%&()*+,-. /12'324:5Y6h7p9|:<>CD ftell_\EuEDžd}tEDždd]_^Y[ËVWUEU]MEEEEE]\\;\([ )*cnv x u\Ƅ([EEEE쀼(\ t퍅 EEEE쀼(\ t E쀼(\=uUEE슄(\ʋE [tU荅 u E@ t6  strncpy_ h/instrptr ptr2 nameuc taguc # # #$ #R #R$'$  000000GetOption-fhkey optStr 'M` a)_basea _cnta)_ptr *__iobuf+FILEF,r - r - O1ۋUEU荅 uR\EE%tE8=uEEE8=uEE]UEEEEE܉]_^j ` h^pW?strtoupper$n(pna)pna!W?FindSection$n(pn$__iobuf$$pna)id$W?GetOption$n(pn$__iobuf$$pnapnal)uiGJKLMN!O=PFQjR~SVXYZ[\]^ _-`4Fe strSz \/instr  1inKeyptrpos keyuc iD -e:\work\jabba\button\readini.cpp~ math387r emu387gTtA02Gt!e:\work\jabba\button\button.cppՈOS2203fOp DCPPƈ$87 e:\work\jabba\incl\readini.hۈ8o:\wcom105\h\i86.h$8o:\wcom105\h\dos.h 8o:\wcom105\h\sys\types.h8o:\wcom105\h\direct.hz#A!e:\work\jabba\incl\button.h?%!e:\work\jabba\incl\debuglib.hĈ%<|!e:\work\jabba\incl\tenutils.hv8o:\wcom105\h\errno.hш8o:\wcom105\h\time.hJ8o:\wcom105\h\ctype.h҈8o:\wcom105\h\stdarg.hp8o:\wcom105\h\stdlib.hs$\Y&!e:\work\jabba\incl\environ.hԈ8o:\wcom105\h\process.h8o:\wcom105\h\assert.hc8o:\wcom105\h\string.h^8o:\wcom105\h\stdio.hԈ'fZ&!e:\work\jabba\button\button.cppW "CODEDATABSSFLATDGROUP_TEXTu iz gOCONSTי 7nCONST2 _DATA _BSS  DEBSYM $$SYMBOLS  7DEBTYP$$TYPES . L_enumunionstructclass __segmentcharintunsigned int#'0FrF` g"i __indexg"i __delta gk__fnP  RINTR_OF  RINTR_DF RINTR_IF RINTR_TF RINTR_SF Q@INTR_ZF QINTR_AF QINTR_PF QINTR_CF.#0 off_t  dev_t  ino_tFr F msgFnrF !exitFn  eword  uword_eb4ub4sb4 eb2 ub2 sb2eb1ub1 WORD BOOLBYTE clock_t time_t  2va_list !onexit_t fpos_t 2__va_list  size_t  wchar_tbW?clientGetPathRtn$npn(pnai)pnaW?clientExitRtn$npn()vW?clientEndHook$npn()vW?gBrowseOk$ni"dprintf_exit_strchr_atoi_ɡSQRVWUEEPP]_^ZY[SQRVWUE=u E]_^ZY[ÐSQRVWUEE.EE}t.EeE EE@E.$?JR:clientGetPathRtn0doExit  errnum1GY>%s rtengame.iniTEN BUTTON ERROR:can't open tengame.ini for read.tengameTEN BUTTON ERROR: malformed tengame.ini, no [tengame]reqtermverTEN BUTTON ERROR: malformed ten fopen_W?debugMessage$n(pna)v#-!W?FindSection$n(pn$__iobuf$$pna)ifclose_EEeE EEEE]_^ZY[Í@QVWUEU]E}uEDEuLEE=GLQ _d u}   }(*+#-,/=0F2P3V6`9q;x<>?@ABCDEFGJOQ RT#V4W>XFZR\n'$W?GetOption$n(pn$__iobuf$$pnapnal)ui2W?quadsToULong$n(pna)ul]EuEEUEuEESP]EuEEkQ    6KS \a i    Ggame.ini, no reqtermverreqglinkverTEN BUTTON ERROR: malformed tengame.ini, no reqglinkvergamenameTEN BUTTON ERROR: malformed tengame.ini, no gamenamer\ten.initenTEN:X BUTTON ERROR: malformed ten.ini, no [ten]versionTEN BUTTON ERROR: malformed ten.ini, no versionr\glink.ini\tendata\games\TEN BUTTON ERROR: malformed glink.ini, no se getWinPath_strcat_ UEEE]_^YVWUEU]MFHE}uEEE[QEuUE7= ;@PW^    e]x^`acdegijkmnop&r0zG}x~LU1 strcpy__E,EuEEE]UE}uEEUE G  ). 6 J OT\jqx $$`} ?00quadsToULongstr quaddotout&$P A0000getGameReq gamename @termVers@glinkVers BworkstrGfp($0  I000)ction for gameversionTEN BUTTON ERROR: malformed ten.ini, no versionTEN BUTTON ERROR: getWinPath failed\ten.inirTENTEN BUTTON ERROR: malformed tengame.iniAPPPATHTEguEEfEuEE/EUUEE]_^ËSQRVWU EE=   08 AF N _ jzyuKEoExEE}u EzEu~EES]EuEEV  (-5 OW `e m    strrchr_ r F9rF;rr rFr @@!F` a_tmpfchar a_ungotten a _bufsize a _handle a _flag aC_basea _cntaC_ptr D__iobufEFILEFFFr H@@eN BUTTON ERROR: malformed tengame.inirtengame.iniTEN BUTTON ERROR: could not open tengame.initengameTEN BUTTON ERROR: malformed tengame.initeninststyleTEN BUTTON ERRapz (4AWct~#E\EEE]_^ZY[ËSQRVWU EE}uEEuEEAB AFK Y^ ow    strcmp_kq00getTenVers Hwhere gamename @termVers@glinkVersGfp BworkstrBworkstr2"$ J00getTenPath pathGfp #D #DpW?debugMessage$n(pna)vW?doExit$n(i)v,W?quadsToULong$n(pna)ul`W?getGameReq$n(pnapnulpnul)i W?getTenVers$n(pnxapnapnulpnul)i0W?getTenPath$n(pna)iW?getInstPath$n(pna)pnaѡnEuNEEqvuD]EuEE)EEEEEEE]_^ZY[Í@SQjG   +6GO X] e v  D#/@JR^z +28FVdov# system__W?getInstPath$n(pna)pnaVWUEUEEEUUEE]_^Y[Í@SQRVWU EuDžz)(-8FQWW?startProcess$n(pnapna)i#$% K00getInstPath instpathGfp Boptstr&$i L000startProcess procname paramsMparamptr istrwalker Bastr\OR: malformed tengame.inirelativeteninstpathTEN BUTTON ERROR: malformed tengame.ini rgame wTEN BUTTON ERROR: could not open tengame.ini for write.] [gamepath = 7<W?startProcess$n(pnapna)iW?installTen$n(pna)iE}t E DžA]u Dž Dž]_^ZY[QVWUEU]EE}u^3  (3:G  istrlen_fwrite_lv]MM ME‹EME]_^YÐSQRVWUpG "5BTYis envIsWin_͕!"#%&(*+,#--/<4Q5g6q8v9:;<=> @L"M+N7OIPURdSpTUV[W?getGameReq$n(pnapnulpnul)iW?getTenPath$n(pna)iW?installTen$n(pna)iW?doExit$n(i)v"$ J00installTen gamenameBinstpath BworkstrGfp($< N000writeGamePath filename gamename pathGfp Bbuff"u E]UEu Eu[Eu-=t Dž DžEd=t1EBM]U):FP}# W?getTenVers$n(pnxapnapnulpnul)i>pwd_W?writeGamePath$n(pnapnapna)vchdir__dos_setdrive_Gu EE;ErE;Es MÍUU1@](B+3DKRYiy !"z #d[ #d[ # # # S # S $ O0tenBnStartreqTermVerreqGlinkVer termVer glinkVer Pgamename| ¸/=t1ESEu*=t Dž DžE=t1EE]_^ZY[Í@SQRVWUEE= %6@jsz' Btenpath BworkstrBlocalpath dummyuint($ " S0tenBnSetBrowseRtnRrtn&$4 " T0tenBnSetExitRtn!rtn%$X " T0tenBnSetEndRtns &>r rr  rr  Or FQrRr!#W) ]_^ZY[ËSQRVWUEE]_^ZY[ËSQRVWUEE]_^ZY[ DzW?writeGamePath$n(pnapnapna)v< tenBnStart_tenBnSetBrowseRtn_ tenBnSetExitRtn_4 tenBnSetEndRtn_X WYZ[]d+ eK gV ii j k l m q r s t u v y ~ ! ) 4 E M X i q T5 \gamepath.ini\tendata\games\-game ten.exeatW?clientGetPathRtn$npn(pnai)pnaW?clientExitRtn$npn()vW?clientEndHook$npn()vW?gBrowseOk$ni !rtn̡ Z,e:\work\jabba\button\button.cpp clib3r plib3r math387r emu387gTtA02Gt" e:\work\jabba\debug\debuglib.cppƈOS2203fOp DCPPƈ%<|!e:\work\jabba\incl\tenutils.hv%!e:\work\jabba\incl\debuglib.hĈ8o:\wcom105\h\errno.hш8o:\wcom105\h\time.hJ8o:\wcom105\h\ctype.h҈8o:\wcom105\h\stdarg.hp8o:\wcom105\h\string.h^8o:\wcom105\h\stdlib.hs8o:\wcom105\h\stdio.hԈ$\Y&!e:\work\jabba\incl\environ.hԈ(,! e:\work\jabba\debug\debuglib.cppl "CODEDATABSSFLATDGROUP_TEXTu iIOCONSTי ?iCONST2  _DATA _BSS  DEBSYM $$SYMBOLS  DEBTYP$$TYPES  L_enumunionstructclass __segmentcharintunsigned int#'0FrF` g"i __indexg"i __delta gk__fnFr F msgFnrF exitFn  eword  uwordeb4ub4sb4 eb2 ub2 sb2eb1ub1 WORD BOOLBYTE clock_t time_t  -va_list onexit_tW?kLogFileKey$nxigW?pgExitFn$npn()vW?pgMsgFn$npn(ipna)v!W?$ct:CVerifyException$n(rnx$0$)___wcpp_2_undefed_cdtor__ֈAW?$ct:CVerifyException$n()_ǡY fpos_t -__va_list  size_t  wchar_t ? !CVerifyExceptionH7r8H7H7r:;`g!E=tPXP4P =t=&3 A [`en  exit_N%sassert '%.128s' at %.64s:%ld failed ..\debug\debuglib.cppstrlen(buf) < sizeof(buf)%serror %d from '%.128s' at %.64s:%ld ..\debug\debuglib.cppstrlen(buf) < sizeof(b1Dž]_^YVWUEU]M}u EEPEPEPEP[PP=s EE=t. ^k y cj Gformat .argptr 6buf&7a!hf($G 900CVerifyException Ithis($\ J0000verifyFailed expr file line 6bufW*, initDebug_ exitDebug_$setExitRoutine_<setDebugMsgRoutine_`setExceptionPrehandleRoutine_dprintf_W?$ct:CVerifyException$n()_ verifyFailed_\verifyNoErrCore_($ W?$nwn(ui)pnvW?$ct:logFile$n()_ҡPP4P =t1EE]_^Í@SQVWU(EUEEE}tEEEEEEEE}u0EEN. ! ' 09@p5W?$dt:logFile$n()_ W?$dln(pnv)vfopen_dprintf_c7CVerifyExceptionr >F?rrrr >FDrEFrGF7r r  r F` a_tmpfchar a_ungotten a _bufsize a _handle a _flag aM_basea _cntW?$ct:logFile$n(rnx$0$)_0aM_ptr N__iobufOFILEFP XlogFileHRrSHRHRrUV`g!WlogFileg!~logFileg!TlogFile acurLines a limit a levelaQfilea key RlogFileSHZm-$(  K00000verifyNoErrCore err expr file line 6buf #Y0 #Y0*$ L000tenDbOpenLogFile name  levelQ (?EQvSY_}t1ҋEEEEFEUBExuEPPEEUBEEE]_^Y[ËSQRVWUEEE}t]E8d u E +3KQ fclose_ EE@EE}t1ҋEEE]_^ZY[ÐSQRVWU$EEE(E}t E@;E }E8d u E  R.  6;.rewind_time_tenUtTimeString_ vfprintf_衲Zlf($ [0tenDbCloseLogFile logRefZlf # #!!$` \tenDbLprintf logRef  level $Gformat .argptrZlf EEx tE@EPE;P E@E@U1EP7PEp ]U$E@EP=PEp E]_^ZY[SQVWU E))BGP\ py $/V`ntz,DKTgms|   D fflush_|dUEE}tEUB E@]_^Y[ÐSQRVWUEEE}t E@]_^ZY[Í@SQRVWUEE@Ed E@E@EPEP EEEe P=t ]timeBuf*$T; ^00tenDbLimitLogFile logRef numLinesZlf$$1 [0tenDbFlushLog logRefZlf&Ra!hf$V T00logF '$FYrr G rFR>]_^ZY[ËSQVWU EUEEEE]_^Y[NtenDbOpenLogFile_tenDbCloseLogFile_ tenDbLprintf_`tenDbLimitLogFile_TtenDbFlushLog_W?$ct:logFile$n()_W?$dt:logFile$n()_9/8Vuf)%swThe log file '%s' could not be opened. ..\debug\debuglib.cpplf->key == kLogFileKey..\debug\debuglib.cpplf->key == kLogFileKey%-15s d ηW?kLogFileKey$nxiۑW?pgExitFn$npn()vW?pgMsgFn$npn(ipna)v2W?pgExceptionPrehandleFn$npn($CVerifyException$$)i W?pgFlags$nul (\/ile _this&Ra!hf"$-; 000~logFile _this  .cdtor? -e:\work\jabba\debug\debuglib.cpp clib3r plib3r math387r emu387gTrA02Ite:\work\jabba\util\tenutils.cOS2203fOpDCh%G!e:\work\jabba\util\tenutils.c=$\Y&!e:\work\jabba\incl\environ.hԈ8o:\wcom105\h\stdio.hԈ8o:\wcom105\h\stdlib.hs8o:\wcom105\h\string.h^8o:\wcom105\h\stdarg.hp8o:\wcom105\h\ctype.h҈8o:\wcom105\h\time.hJ8o:\wcom105\h\errno.hш%<|!e:\work\jabba\incl\tenutils.hv%!e:\work\jabba\incl\debuglib.hĈ 8o:\wcom105\h\sys\timeb.h# "CODEDATABSSFLATDGROUP_TEXTu iW OCONSTי &CONST2 _DATA _BSS DEBSYM $$SYMBOLS  JDEBTYP$$TYPES S L_structunionenumcharsigned charunsigned charshortunsigned shortintunsigned int wchar_t  size_tF __va_listlong fpos_t fpos_t| wchar_t0voidrF onexit_t va_listunsigned long time_t clock_t time_tBYTE BOOLWORDub1eb1sb2ub2eb2sb4ub4W=" ؝$  S,n% verifyFailed_stricmp_ strnicmp_ȡ,SQVWUEU}t}u E'0EUEEE]_^Y[ËQVWUEU]}t}u E30E]UE)05:H strlwr_V2,($Z 2000ten_strcasecmp1s11s2+$\^ 30000ten_strncasecmp1s11s2 n"$7 400ten_strlwr s!$+iXeten_strcasecmp_,ten_strncasecmp_ ten_strlwr_ initTENUtils_  exitTENUtils_8EE]_^YËSQRVWUE}u E EEE]_^ZY[ÐSQRVWU]_^ZY[Í@SQRVWU]_^ZY[Í@QVWUEU]EEE8U+UEH9v )3j%,'?+m.{1379<>DFI L.O8RFqPseukwwxz}~ __IsTableEuEE} r} v6}'r}'vD}\t>GE} u?EE\EEnEEREE\EErEE8EE\E%uEEEEUE9ӡ2EEEE]_^YVWU$EU]MEEEEE'E:Et EvEEE:EE+E@;Er EuE8\uXEEEE܀}nr}nv}rt$5-2;BLcios}%*|nitTENUtils!$ +exitTENUtils($$ 50000quotedStrcpy dst1src  size  origdst.$   700000readQuotedString 1inputη- quotedStrcpy_PreadQuotedString_L strlen_l"EE EE!EE EEEEUEEEUEeEU+UEBEE]_^VWU(E܉U]MEEEEEEEEE6T strcat_s quotedStrcpy_l  output  outSize 6consumed 1start  outStart quote,$   800000addStringParam buf  bufSize 1name 1value  buflen  namelenO;Er EuUE<EEE]+]UEEE}tEEA@EE;Es EDEEE]_^ÐSQRVWѝ8 (0G]emF0<CLcy#*4EMbdlx9U EEEE8t EE8 uE8u EvEE8't E_E8tPE8\uE@E8'u2EE8t EE8uEUEEEE,strncmp_tenUtNextStringParam_memmove_  valuelen err,$ :00tenUtNextStringParam9loc1pos #2 paramStart/$ ;00tenUtDeleteStringParam buf 1nameEE]_^ZY[ËSQVWUEUEEEE]UEu EE8 t2EEEtEXUEE Eu]_^Y[Í@VWU$z4E d p~  M    ?EQgio!q"}%().012357 8;G/I5ִreadQuotedString_CE܉U]ME܉EEE]UEu EE8 t/M]UEE@E}tEEEEuEwE]_^ËSQVWU$EUEEEE9' M o @strchr_strncpy_atol_ϡ pos  nameLen,$\  <00000getStringParam1buf 1name dst  dstSize1pos  nameLen err nc'$ >000ten_inet_aton>C}| yEE}}.EEEU‰U܋E܉E}u EvC]+]UEE+ED(eEEE@E뇋EUEE]_^Y[Í@QVWU4S" /]t sprintf_strcpy_衲v =addrNet  addrStr pos dot ?quad ipNet i)$ @0000ten_inet_ntoa  addrStr addrStrLen addrNet rv quad1 quad2БaddStringParam_LtenUtNextStringParam_4tenUtDeleteStringParam_getStringParam_ten_inet_aton_ten_inet_ntoa_6EU܉]E}̾E%EE%EE%EEE1EP1EP1EP1EP\PEPE;Es ŰEEuEEE]_^YÐSQRVeoz  dayOfWeek_L<NVOQSTUVWXY[\_lnp qr(s6u<wfys{~}% localtime_D dayOfWeek_W^eb4  uword  ewordrF+ ,exitFnr F. /msgFnFr 11r 11 r  r  1 F r 1 6r  11F1r 9r 1r 11 Fr =  r   r    r ` $ WU$E}ܾED(܉EE]_^ZY[Í@QVWUEU]EE}sE/E0EpEpE@PhPEP]_^YSQRVWUEʝQ~" quad3 quad4Abuf!$l9 B00dayOfWeek day Cdays*$d D000tenUtTimeString time buf  size Gtrec$  H0tenSleepftime_getcwd_ a tm_isdst a tm_yday a tm_wday a tm_year a tm_mon a tm_mday a tm_hour a tm_min a tm_secEtmFFrr` adstflag atimezone amillitmatime Jtimeb;I]_^ZY[ËSQRVWU]_^ZY[Í@SQRVWU]_^ZY[Í@SQRVWUE1fEiU‰UE]_^ZY[SQVWU EUUEEE]_^Y[SQRVWU|>M6 getenv_{ msecs$(+initTiming$@+exitTiming$X4 I0curMsecsKt$, L000pwd  pathbuff  bufflen$8 M0env Aޡr  r S ;Pf| e:\work\jabba\util\tenutils.ce:\work\jabba\incl\environ.ho:\wcom105\h\stdio.ho:\wcom105\h\stdlib.ho:\wcom105\h\string.ho:\wcom105\h\stdarg.hfu EEE]_^ZY[SQVWU EU]|‹EEEE]_^Y[ç<AKtenUtTimeString_ tenSleep_8 initTiming_T exitTiming_l curMsecs_pwd_ envIsWin_ getWinPath_ 1/8<I>T@bClEzGJKLOQRWYZ \ ] _ a/ bF cL SunMonTueWedThuFriSat..\util\tenutils.cs1 && s2 '' strlen(buf) < bufSize%d.%d.%d.%d%3s %2d:%02d:%02dwindirɡDIsWin$$; L000getWinPath  buff  bufflenݡ o:\wcom105\h\ctype.ho:\wcom105\h\time.ho:\wcom105\h\errno.he:\work\jabba\incl\tenutils.he:\work\jabba\incl\debuglib.ho:\wcom105\h\sys\timeb.h| math387r emu387gTpA02KtNc:DyY2n) debuglib! tenutils!,W?pgExitFn$npn()vten_inet_ntoa_, verifyFailed_tenUtTimeString_,tenBnSetExitRtn_tenDbLimitLogFile_verifyNoErrCore_setDebugMsgRoutine_W?$ct:logFile$n()_ exitTENUtils_,setExceptionPrehandleRoutine_getStringParam_, initTENUtils_, tenSleep_,4m%vI,=R[readini!button! ten_strlwr_, tenBnStart_ tenDbLprintf_ten_inet_aton_,W?pgMsgFn$npn(ipna)vtenDbFlushLog_setExitRoutine_!W?FindSection$n(pn$__iobuf$$pna)itenBnSetEndRtn_ten_strncasecmp_,tenDbOpenLogFile_tenDbCloseLogFile_tenBnSetBrowseRtn_ envIsWin_,tenUtNextStringParam_,W?$dt:logFile$n()_W?strtoupper$n(pna)pnatenUtDeleteStringParam_,W?writeGamePath$n(pnapnapna)v getWinPath_,pwd_, initTiming_,0[CS<6qbJten_strcasecmp_,$W?GetOption$n(pn$__iobuf$$pnapnal)ui curMsecs_,dprintf_ exitDebug_ exitTiming_,addStringParam_, W?pgFlags$nul initDebug_W?$ct:CVerifyException$n()_2W?pgExceptionPrehandleFn$npn($CVerifyException$$)i