; Listing generated by Microsoft (R) Optimizing Compiler Version 15.00.21022.08 

	TITLE	c:\Develop\DScaler423a\DScaler\xmltv_db.cpp
	.686P
	.XMM
	include listing.inc
	.model	flat

INCLUDELIB OLDNAMES

PUBLIC	?Xmltv_ParagraphClose@@YAXXZ			; Xmltv_ParagraphClose
PUBLIC	?Xmltv_ParagraphCreate@@YAXXZ			; Xmltv_ParagraphCreate
PUBLIC	?Xmltv_PiCatAddText@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_PiCatAddText
PUBLIC	?Xmltv_PiCatClose@@YAXXZ			; Xmltv_PiCatClose
PUBLIC	?Xmltv_PiCatOpen@@YAXXZ				; Xmltv_PiCatOpen
PUBLIC	?Xmltv_ParagraphAdd@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_ParagraphAdd
PUBLIC	?Xmltv_PiDescClose@@YAXXZ			; Xmltv_PiDescClose
PUBLIC	?Xmltv_PiDescOpen@@YAXXZ			; Xmltv_PiDescOpen
PUBLIC	?Xmltv_PiEpisodeTitleAdd@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_PiEpisodeTitleAdd
PUBLIC	?Xmltv_PiTitleAdd@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_PiTitleAdd
PUBLIC	?Xmltv_TsClose@@YAXXZ				; Xmltv_TsClose
PUBLIC	?Xmltv_TsOpen@@YAXXZ				; Xmltv_TsOpen
PUBLIC	?Xmltv_ChannelAddName@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_ChannelAddName
PUBLIC	?Xmltv_ChannelClose@@YAXXZ			; Xmltv_ChannelClose
PUBLIC	?Xmltv_ChannelCreate@@YAXXZ			; Xmltv_ChannelCreate
PUBLIC	?Xmltv_PiCatSetCode@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_PiCatSetCode
PUBLIC	?Xmltv_PiCatSetSystem@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_PiCatSetSystem
PUBLIC	?Xmltv_PiCatSetType@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_PiCatSetType
PUBLIC	?Xmltv_TsSetFeatCrypt@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_TsSetFeatCrypt
PUBLIC	?Xmltv_TsSetFeatLive@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_TsSetFeatLive
PUBLIC	?Xmltv_TsCodeTimeSetVP@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_TsCodeTimeSetVP
PUBLIC	?Xmltv_TsCodeTimeSetSV@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_TsCodeTimeSetSV
PUBLIC	?Xmltv_TsCodeTimeSetVps@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_TsCodeTimeSetVps
PUBLIC	?Xmltv_TsCodeTimeSetPdc@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_TsCodeTimeSetPdc
PUBLIC	?Xmltv_TsSetChannel@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_TsSetChannel
PUBLIC	?Xmltv_TsSetStopTime@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_TsSetStopTime
PUBLIC	?Xmltv_TsSetStartTime@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_TsSetStartTime
PUBLIC	?Xmltv_ChannelSetId@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_ChannelSetId
PUBLIC	?Xmltv_AboutSetGenInfoUrl@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_AboutSetGenInfoUrl
PUBLIC	?Xmltv_AboutSetGenInfoName@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_AboutSetGenInfoName
PUBLIC	?Xmltv_AboutSetSourceDataUrl@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_AboutSetSourceDataUrl
PUBLIC	?Xmltv_AboutSetSourceInfoUrl@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_AboutSetSourceInfoUrl
PUBLIC	?Xmltv_AboutSetSourceInfoName@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_AboutSetSourceInfoName
_szStringVal DD	FLAT:??_C@_13HADIAKP@?$AAS?$AA?$AA@
_szDwordVal DD	FLAT:??_C@_13MKMNOPIJ@?$AAD?$AA?$AA@
_szBinaryVal DD	FLAT:??_C@_13OPKGLAFF@?$AAB?$AA?$AA@
_szValToken DD	FLAT:??_C@_17LLMMEOJD@?$AAV?$AAa?$AAl?$AA?$AA@
_szForceRemove DD FLAT:??_C@_1BI@JFAIJMHL@?$AAF?$AAo?$AAr?$AAc?$AAe?$AAR?$AAe?$AAm?$AAo?$AAv?$AAe?$AA?$AA@
_szNoRemove DD	FLAT:??_C@_1BC@GCKHIPE@?$AAN?$AAo?$AAR?$AAe?$AAm?$AAo?$AAv?$AAe?$AA?$AA@
_szDelete DD	FLAT:??_C@_1O@JDLOHAN@?$AAD?$AAe?$AAl?$AAe?$AAt?$AAe?$AA?$AA@
__bad_alloc_Message DD FLAT:??_C@_0P@GHFPNOJB@bad?5allocation?$AA@
PUBLIC	?Xmltv_PiDateAdd@@YAXPAUXML_STR_BUF@@@Z		; Xmltv_PiDateAdd
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\xmltv_db.cpp
;	COMDAT ?Xmltv_PiDateAdd@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiDateAdd@@YAXPAUXML_STR_BUF@@@Z PROC		; Xmltv_PiDateAdd, COMDAT

; 1193 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1194 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiDateAdd@@YAXPAUXML_STR_BUF@@@Z ENDP		; Xmltv_PiDateAdd
_TEXT	ENDS
PUBLIC	?Xmltv_PiCreditsAddGuest@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_PiCreditsAddGuest
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiCreditsAddGuest@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiCreditsAddGuest@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiCreditsAddGuest, COMDAT

; 1186 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1187 : #ifdef ALL_CONTENT
; 1188 :    Xmltv_PiCreditsAppend(_T("guest: "), pBuf);
; 1189 : #endif
; 1190 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCreditsAddGuest@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiCreditsAddGuest
_TEXT	ENDS
PUBLIC	?Xmltv_PiCreditsAddCompany@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_PiCreditsAddCompany
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiCreditsAddCompany@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiCreditsAddCompany@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiCreditsAddCompany, COMDAT

; 1179 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1180 : #ifdef ALL_CONTENT
; 1181 :    Xmltv_PiCreditsAppend(_T("producer: "), pBuf);
; 1182 : #endif
; 1183 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCreditsAddCompany@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiCreditsAddCompany
_TEXT	ENDS
PUBLIC	?Xmltv_PiCreditsAddNarrator@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_PiCreditsAddNarrator
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiCreditsAddNarrator@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiCreditsAddNarrator@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiCreditsAddNarrator, COMDAT

; 1172 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1173 : #ifdef ALL_CONTENT
; 1174 :    Xmltv_PiCreditsAppend(_T("narrator: "), pBuf);
; 1175 : #endif
; 1176 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCreditsAddNarrator@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiCreditsAddNarrator
_TEXT	ENDS
PUBLIC	?Xmltv_PiCreditsAddCommentator@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_PiCreditsAddCommentator
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiCreditsAddCommentator@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiCreditsAddCommentator@@YAXPAUXML_STR_BUF@@@Z PROC ; Xmltv_PiCreditsAddCommentator, COMDAT

; 1165 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1166 : #ifdef ALL_CONTENT
; 1167 :    Xmltv_PiCreditsAppend(_T("commentator: "), pBuf);
; 1168 : #endif
; 1169 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCreditsAddCommentator@@YAXPAUXML_STR_BUF@@@Z ENDP ; Xmltv_PiCreditsAddCommentator
_TEXT	ENDS
PUBLIC	?Xmltv_PiCreditsAddPresenter@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_PiCreditsAddPresenter
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiCreditsAddPresenter@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiCreditsAddPresenter@@YAXPAUXML_STR_BUF@@@Z PROC ; Xmltv_PiCreditsAddPresenter, COMDAT

; 1158 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1159 : #ifdef ALL_CONTENT
; 1160 :    Xmltv_PiCreditsAppend(_T("presented by: "), pBuf);
; 1161 : #endif
; 1162 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCreditsAddPresenter@@YAXPAUXML_STR_BUF@@@Z ENDP ; Xmltv_PiCreditsAddPresenter
_TEXT	ENDS
PUBLIC	?Xmltv_PiCreditsAddExecProducer@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_PiCreditsAddExecProducer
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiCreditsAddExecProducer@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiCreditsAddExecProducer@@YAXPAUXML_STR_BUF@@@Z PROC ; Xmltv_PiCreditsAddExecProducer, COMDAT

; 1151 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1152 : #ifdef ALL_CONTENT
; 1153 :    Xmltv_PiCreditsAppend(_T("exec. producer: "), pBuf);
; 1154 : #endif
; 1155 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCreditsAddExecProducer@@YAXPAUXML_STR_BUF@@@Z ENDP ; Xmltv_PiCreditsAddExecProducer
_TEXT	ENDS
PUBLIC	?Xmltv_PiCreditsAddProducer@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_PiCreditsAddProducer
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiCreditsAddProducer@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiCreditsAddProducer@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiCreditsAddProducer, COMDAT

; 1144 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1145 : #ifdef ALL_CONTENT
; 1146 :    Xmltv_PiCreditsAppend(_T("produced by: "), pBuf);
; 1147 : #endif
; 1148 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCreditsAddProducer@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiCreditsAddProducer
_TEXT	ENDS
PUBLIC	?Xmltv_PiCreditsAddAdapter@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_PiCreditsAddAdapter
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiCreditsAddAdapter@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiCreditsAddAdapter@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiCreditsAddAdapter, COMDAT

; 1137 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1138 : #ifdef ALL_CONTENT
; 1139 :    Xmltv_PiCreditsAppend(_T("adapted by: "), pBuf);
; 1140 : #endif
; 1141 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCreditsAddAdapter@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiCreditsAddAdapter
_TEXT	ENDS
PUBLIC	?Xmltv_PiCreditsAddWriter@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_PiCreditsAddWriter
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiCreditsAddWriter@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiCreditsAddWriter@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiCreditsAddWriter, COMDAT

; 1130 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1131 : #ifdef ALL_CONTENT
; 1132 :    Xmltv_PiCreditsAppend(_T("written by: "), pBuf);
; 1133 : #endif
; 1134 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCreditsAddWriter@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiCreditsAddWriter
_TEXT	ENDS
PUBLIC	?Xmltv_PiCreditsAddActor@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_PiCreditsAddActor
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiCreditsAddActor@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiCreditsAddActor@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiCreditsAddActor, COMDAT

; 1119 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1120 : #ifdef ALL_CONTENT
; 1121 :    if (XML_STR_BUF_GET_STR_LEN(xds.pi_actors) == 0)
; 1122 :       XmlCdata_AppendString(&xds.pi_actors, _T("With: "));
; 1123 :    else
; 1124 :       XmlCdata_AppendRaw(&xds.pi_actors, _T(", "), 2);
; 1125 :    XmlCdata_AppendRaw(&xds.pi_actors, XML_STR_BUF_GET_STR(*pBuf), XML_STR_BUF_GET_STR_LEN(*pBuf));
; 1126 : #endif
; 1127 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCreditsAddActor@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiCreditsAddActor
_TEXT	ENDS
PUBLIC	?Xmltv_PiCreditsAddDirector@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_PiCreditsAddDirector
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiCreditsAddDirector@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiCreditsAddDirector@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiCreditsAddDirector, COMDAT

; 1112 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1113 : #ifdef ALL_CONTENT
; 1114 :    Xmltv_PiCreditsAppend(_T("directed by: "), pBuf);
; 1115 : #endif
; 1116 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCreditsAddDirector@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiCreditsAddDirector
_TEXT	ENDS
PUBLIC	?Xmltv_PiCreditsClose@@YAXXZ			; Xmltv_PiCreditsClose
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiCreditsClose@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiCreditsClose@@YAXXZ PROC			; Xmltv_PiCreditsClose, COMDAT

; 1098 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1099 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCreditsClose@@YAXXZ ENDP			; Xmltv_PiCreditsClose
_TEXT	ENDS
PUBLIC	?Xmltv_PiCreditsOpen@@YAXXZ			; Xmltv_PiCreditsOpen
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiCreditsOpen@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiCreditsOpen@@YAXXZ PROC			; Xmltv_PiCreditsOpen, COMDAT

; 1090 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1091 : #ifdef ALL_CONTENT
; 1092 :    XmlCdata_Reset(&xds.pi_credits);
; 1093 :    XmlCdata_Reset(&xds.pi_actors);
; 1094 : #endif
; 1095 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCreditsOpen@@YAXXZ ENDP			; Xmltv_PiCreditsOpen
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_ParagraphClose@@YAXXZ
_TEXT	SEGMENT
?Xmltv_ParagraphClose@@YAXXZ PROC			; Xmltv_ParagraphClose, COMDAT

; 1071 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1072 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_ParagraphClose@@YAXXZ ENDP			; Xmltv_ParagraphClose
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_ParagraphCreate@@YAXXZ
_TEXT	SEGMENT
?Xmltv_ParagraphCreate@@YAXXZ PROC			; Xmltv_ParagraphCreate, COMDAT

; 1067 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1068 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_ParagraphCreate@@YAXXZ ENDP			; Xmltv_ParagraphCreate
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_PiDescClose@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiDescClose@@YAXXZ PROC				; Xmltv_PiDescClose, COMDAT

; 1063 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1064 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiDescClose@@YAXXZ ENDP				; Xmltv_PiDescClose
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_PiDescOpen@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiDescOpen@@YAXXZ PROC				; Xmltv_PiDescOpen, COMDAT

; 1059 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1060 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiDescOpen@@YAXXZ ENDP				; Xmltv_PiDescOpen
_TEXT	ENDS
PUBLIC	?Xmltv_PiStarRatingSetMax@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_PiStarRatingSetMax
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiStarRatingSetMax@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiStarRatingSetMax@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiStarRatingSetMax, COMDAT

; 1055 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1056 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiStarRatingSetMax@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiStarRatingSetMax
_TEXT	ENDS
PUBLIC	?Xmltv_PiStarRatingSetValue@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_PiStarRatingSetValue
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiStarRatingSetValue@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiStarRatingSetValue@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiStarRatingSetValue, COMDAT

; 1051 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1052 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiStarRatingSetValue@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiStarRatingSetValue
_TEXT	ENDS
PUBLIC	?Xmltv_PiStarRatingClose@@YAXXZ			; Xmltv_PiStarRatingClose
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiStarRatingClose@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiStarRatingClose@@YAXXZ PROC			; Xmltv_PiStarRatingClose, COMDAT

; 1046 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1047 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiStarRatingClose@@YAXXZ ENDP			; Xmltv_PiStarRatingClose
_TEXT	ENDS
PUBLIC	?Xmltv_PiStarRatingOpen@@YAXXZ			; Xmltv_PiStarRatingOpen
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiStarRatingOpen@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiStarRatingOpen@@YAXXZ PROC			; Xmltv_PiStarRatingOpen, COMDAT

; 1042 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1043 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiStarRatingOpen@@YAXXZ ENDP			; Xmltv_PiStarRatingOpen
_TEXT	ENDS
PUBLIC	?Xmltv_PiStarRatingAddText@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_PiStarRatingAddText
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiStarRatingAddText@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiStarRatingAddText@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiStarRatingAddText, COMDAT

; 1038 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1039 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiStarRatingAddText@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiStarRatingAddText
_TEXT	ENDS
PUBLIC	?Xmltv_PiRatingAddText@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_PiRatingAddText
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiRatingAddText@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiRatingAddText@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiRatingAddText, COMDAT

; 1033 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1034 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiRatingAddText@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiRatingAddText
_TEXT	ENDS
PUBLIC	?Xmltv_PiRatingSetSystem@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_PiRatingSetSystem
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiRatingSetSystem@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiRatingSetSystem@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiRatingSetSystem, COMDAT

; 1007 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1008 : #ifdef ALL_CONTENT
; 1009 :    TCHAR*  pStr = XML_STR_BUF_GET_STR(*pBuf);
; 1010 : 
; 1011 :    if (strcasecmp(pStr, _T("age")) == 0)
; 1012 :    {
; 1013 :       xds.pi_rating_sys = XMLTV_RATING_AGE;
; 1014 :    }
; 1015 :    else if (strcasecmp(pStr, _T("FSK")) == 0)
; 1016 :    {
; 1017 :       xds.pi_rating_sys = XMLTV_RATING_FSK;
; 1018 :    }
; 1019 :    else if (strcasecmp(pStr, _T("BBFC")) == 0)
; 1020 :    {
; 1021 :       xds.pi_rating_sys = XMLTV_RATING_BBFC;
; 1022 :    }
; 1023 :    else if (strcasecmp(pStr, _T("MPAA")) == 0)
; 1024 :    {
; 1025 :       xds.pi_rating_sys = XMLTV_RATING_MPAA;
; 1026 :    }
; 1027 :    else
; 1028 :       debug1(_T("Xmltv-PiRatingSetSystem: unknown system '%s'"), pStr);
; 1029 : #endif
; 1030 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiRatingSetSystem@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiRatingSetSystem
_TEXT	ENDS
PUBLIC	?Xmltv_PiSubtitlesSetPage@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_PiSubtitlesSetPage
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiSubtitlesSetPage@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiSubtitlesSetPage@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiSubtitlesSetPage, COMDAT

; 1002 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1003 :    // not supported by database struct
; 1004 : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiSubtitlesSetPage@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiSubtitlesSetPage
_TEXT	ENDS
PUBLIC	?Xmltv_PiSubtitlesTtx@@YAXXZ			; Xmltv_PiSubtitlesTtx
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiSubtitlesTtx@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiSubtitlesTtx@@YAXXZ PROC			; Xmltv_PiSubtitlesTtx, COMDAT

; 995  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 996  : #ifdef ALL_CONTENT
; 997  :    xds.pi_feature_flags |= PI_FEATURE_SUBTITLES;
; 998  : #endif
; 999  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiSubtitlesTtx@@YAXXZ ENDP			; Xmltv_PiSubtitlesTtx
_TEXT	ENDS
PUBLIC	?Xmltv_PiSubtitlesOsd@@YAXXZ			; Xmltv_PiSubtitlesOsd
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiSubtitlesOsd@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiSubtitlesOsd@@YAXXZ PROC			; Xmltv_PiSubtitlesOsd, COMDAT

; 988  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 989  : #ifdef ALL_CONTENT
; 990  :    xds.pi_feature_flags |= PI_FEATURE_SUBTITLES;
; 991  : #endif
; 992  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiSubtitlesOsd@@YAXXZ ENDP			; Xmltv_PiSubtitlesOsd
_TEXT	ENDS
PUBLIC	?Xmltv_PiSubtitlesSetType@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_PiSubtitlesSetType
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiSubtitlesSetType@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiSubtitlesSetType@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiSubtitlesSetType, COMDAT

; 972  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 973  : #ifdef ALL_CONTENT
; 974  :    TCHAR*  pStr = XML_STR_BUF_GET_STR(*pBuf);
; 975  : 
; 976  :    if ( (_tcscmp(pStr, _T("teletext")) == 0) ||
; 977  :         (_tcscmp(pStr, _T("onscreen")) == 0) )
; 978  :    {
; 979  :       xds.pi_feature_flags |= PI_FEATURE_SUBTITLES;
; 980  :    }
; 981  :    else
; 982  :       debug1(_T("Xmltv-PiSubtitlesSetType: unknown subtitles type '%s'"), pStr);
; 983  : #endif
; 984  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiSubtitlesSetType@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiSubtitlesSetType
_TEXT	ENDS
PUBLIC	?Xmltv_PiAudioSurrOpen@@YAXXZ			; Xmltv_PiAudioSurrOpen
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiAudioSurrOpen@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiAudioSurrOpen@@YAXXZ PROC			; Xmltv_PiAudioSurrOpen, COMDAT

; 963  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 964  : #ifdef ALL_CONTENT
; 965  :    xds.pi_feature_flags &= ~PI_FEATURE_SOUND_MASK;
; 966  :    xds.pi_feature_flags |= PI_FEATURE_SOUND_SURROUND;
; 967  : #endif
; 968  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiAudioSurrOpen@@YAXXZ ENDP			; Xmltv_PiAudioSurrOpen
_TEXT	ENDS
PUBLIC	?Xmltv_PiAudioStereoOpen@@YAXXZ			; Xmltv_PiAudioStereoOpen
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiAudioStereoOpen@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiAudioStereoOpen@@YAXXZ PROC			; Xmltv_PiAudioStereoOpen, COMDAT

; 955  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 956  : #ifdef ALL_CONTENT
; 957  :    xds.pi_feature_flags &= ~PI_FEATURE_SOUND_MASK;
; 958  :    xds.pi_feature_flags |= PI_FEATURE_SOUND_STEREO;
; 959  : #endif
; 960  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiAudioStereoOpen@@YAXXZ ENDP			; Xmltv_PiAudioStereoOpen
_TEXT	ENDS
PUBLIC	?Xmltv_PiAudioMonoOpen@@YAXXZ			; Xmltv_PiAudioMonoOpen
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiAudioMonoOpen@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiAudioMonoOpen@@YAXXZ PROC			; Xmltv_PiAudioMonoOpen, COMDAT

; 947  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 948  : #ifdef ALL_CONTENT
; 949  :    xds.pi_feature_flags &= ~PI_FEATURE_SOUND_MASK;
; 950  :    xds.pi_feature_flags |= PI_FEATURE_SOUND_MONO;
; 951  : #endif
; 952  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiAudioMonoOpen@@YAXXZ ENDP			; Xmltv_PiAudioMonoOpen
_TEXT	ENDS
PUBLIC	?Xmltv_PiAudioStereoAdd@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_PiAudioStereoAdd
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiAudioStereoAdd@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiAudioStereoAdd@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiAudioStereoAdd, COMDAT

; 920  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 921  : #ifdef ALL_CONTENT
; 922  :    TCHAR*  pStr = XML_STR_BUF_GET_STR(*pBuf);
; 923  : 
; 924  :    if (strcasecmp(pStr, _T("mono")) == 0)
; 925  :    {
; 926  :       xds.pi_feature_flags &= ~PI_FEATURE_SOUND_MASK;
; 927  :       xds.pi_feature_flags |= PI_FEATURE_SOUND_MONO;
; 928  :    }
; 929  :    else if (strcasecmp(pStr, _T("stereo")) == 0)
; 930  :    {
; 931  :       xds.pi_feature_flags &= ~PI_FEATURE_SOUND_MASK;
; 932  :       xds.pi_feature_flags |= PI_FEATURE_SOUND_STEREO;
; 933  :    }
; 934  :    else if ( (strcasecmp(pStr, _T("surround")) == 0) ||
; 935  :              (strncasecmp(pStr, _T("quad"), 4) == 0) )
; 936  :    {
; 937  :       xds.pi_feature_flags &= ~PI_FEATURE_SOUND_MASK;
; 938  :       xds.pi_feature_flags |= PI_FEATURE_SOUND_SURROUND;
; 939  :    }
; 940  :    else
; 941  :       debug1(_T("Xmltv-PiAudioStereoAdd: unknown keyword '%s'"), pStr);
; 942  : #endif
; 943  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiAudioStereoAdd@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiAudioStereoAdd
_TEXT	ENDS
PUBLIC	?Xmltv_PiAudioClose@@YAXXZ			; Xmltv_PiAudioClose
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiAudioClose@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiAudioClose@@YAXXZ PROC				; Xmltv_PiAudioClose, COMDAT

; 904  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 905  : #ifdef ALL_CONTENT
; 906  :    xds.audio_cnt += 1;
; 907  : 
; 908  :    // two mono channels -> so-called _T("2-channel") (usually different languages)
; 909  :    if ( (xds.audio_cnt > 1) &&
; 910  :         ((xds.pi_feature_flags & PI_FEATURE_SOUND_MASK) == PI_FEATURE_SOUND_MONO) )
; 911  :    {
; 912  :       xds.pi_feature_flags &= ~PI_FEATURE_SOUND_MASK;
; 913  :       xds.pi_feature_flags |= PI_FEATURE_SOUND_2CHAN;
; 914  :    }
; 915  : #endif
; 916  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiAudioClose@@YAXXZ ENDP				; Xmltv_PiAudioClose
_TEXT	ENDS
PUBLIC	?Xmltv_PiAudioOpen@@YAXXZ			; Xmltv_PiAudioOpen
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiAudioOpen@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiAudioOpen@@YAXXZ PROC				; Xmltv_PiAudioOpen, COMDAT

; 900  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 901  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiAudioOpen@@YAXXZ ENDP				; Xmltv_PiAudioOpen
_TEXT	ENDS
PUBLIC	?Xmltv_PiVideoQualityAdd@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_PiVideoQualityAdd
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiVideoQualityAdd@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiVideoQualityAdd@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiVideoQualityAdd, COMDAT

; 886  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 887  : #ifdef ALL_CONTENT
; 888  :    TCHAR*  pStr = XML_STR_BUF_GET_STR(*pBuf);
; 889  : 
; 890  :    if ( (strcasecmp(pStr, _T("PAL+")) == 0) ||
; 891  :         (strcasecmp(pStr, _T("PALplus")) == 0) ||
; 892  :         (strcasecmp(pStr, _T("PAL-plus")) == 0) )
; 893  :    {
; 894  :       xds.pi_feature_flags |= PI_FEATURE_PAL_PLUS;
; 895  :    }
; 896  : #endif
; 897  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiVideoQualityAdd@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiVideoQualityAdd
_TEXT	ENDS
PUBLIC	?Xmltv_PiVideoAspectAddXY@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_PiVideoAspectAddXY
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiVideoAspectAddXY@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiVideoAspectAddXY@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiVideoAspectAddXY, COMDAT

; 867  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 868  : #ifdef ALL_CONTENT
; 869  :    TCHAR*  pStr = XML_STR_BUF_GET_STR(*pBuf);
; 870  :    int scan_pos;
; 871  :    int nscan;
; 872  :    int asp_x, asp_y;
; 873  : 
; 874  :    nscan = _stscanf(pStr, _T("%u : %u%n"), &asp_x, &asp_y, &scan_pos);
; 875  :    if ((nscan >= 2) && (pStr[scan_pos] == 0))
; 876  :    {
; 877  :       xds.pi_aspect_x = asp_x;
; 878  :       xds.pi_aspect_y = asp_y;
; 879  :    }
; 880  :    else
; 881  :       debug1(_T("Xmltv-VideoAspectAddXY: parse error '%s'"), pStr);
; 882  : #endif
; 883  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiVideoAspectAddXY@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiVideoAspectAddXY
_TEXT	ENDS
PUBLIC	?Xmltv_PiVideoAspectSetY@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_PiVideoAspectSetY
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiVideoAspectSetY@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiVideoAspectSetY@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiVideoAspectSetY, COMDAT

; 857  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 858  : #ifdef ALL_CONTENT
; 859  :    TCHAR*  pStr = XML_STR_BUF_GET_STR(*pBuf);
; 860  : 
; 861  :    xds.pi_aspect_y = _ttoi(pStr);
; 862  : #endif
; 863  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiVideoAspectSetY@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiVideoAspectSetY
_TEXT	ENDS
PUBLIC	?Xmltv_PiVideoAspectSetX@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_PiVideoAspectSetX
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiVideoAspectSetX@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiVideoAspectSetX@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiVideoAspectSetX, COMDAT

; 848  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 849  : #ifdef ALL_CONTENT
; 850  :    TCHAR*  pStr = XML_STR_BUF_GET_STR(*pBuf);
; 851  : 
; 852  :    xds.pi_aspect_x = _ttoi(pStr);
; 853  : #endif
; 854  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiVideoAspectSetX@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiVideoAspectSetX
_TEXT	ENDS
PUBLIC	?Xmltv_PiVideoAspectClose@@YAXXZ		; Xmltv_PiVideoAspectClose
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiVideoAspectClose@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiVideoAspectClose@@YAXXZ PROC			; Xmltv_PiVideoAspectClose, COMDAT

; 837  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 838  : #ifdef ALL_CONTENT
; 839  :    if ( (xds.pi_aspect_x != 0) && (xds.pi_aspect_y != 0) &&
; 840  :         (3 * xds.pi_aspect_x > 4 * xds.pi_aspect_y) )  // equiv: x/y > 4/3
; 841  :    {
; 842  :       xds.pi_feature_flags |= PI_FEATURE_FMT_WIDE;
; 843  :    }
; 844  : #endif
; 845  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiVideoAspectClose@@YAXXZ ENDP			; Xmltv_PiVideoAspectClose
_TEXT	ENDS
PUBLIC	?Xmltv_PiVideoAspectOpen@@YAXXZ			; Xmltv_PiVideoAspectOpen
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiVideoAspectOpen@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiVideoAspectOpen@@YAXXZ PROC			; Xmltv_PiVideoAspectOpen, COMDAT

; 829  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 830  : #ifdef ALL_CONTENT
; 831  :    xds.pi_aspect_x = 0;
; 832  :    xds.pi_aspect_y = 0;
; 833  : #endif
; 834  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiVideoAspectOpen@@YAXXZ ENDP			; Xmltv_PiVideoAspectOpen
_TEXT	ENDS
PUBLIC	?Xmltv_PiVideoBwSet@@YAXXZ			; Xmltv_PiVideoBwSet
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_PiVideoBwSet@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiVideoBwSet@@YAXXZ PROC				; Xmltv_PiVideoBwSet, COMDAT

; 824  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 825  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiVideoBwSet@@YAXXZ ENDP				; Xmltv_PiVideoBwSet
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_PiCatSetCode@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiCatSetCode@@YAXPAUXML_STR_BUF@@@Z PROC		; Xmltv_PiCatSetCode, COMDAT

; 811  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 812  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCatSetCode@@YAXPAUXML_STR_BUF@@@Z ENDP		; Xmltv_PiCatSetCode
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_PiCatSetSystem@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiCatSetSystem@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiCatSetSystem, COMDAT

; 807  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 808  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCatSetSystem@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiCatSetSystem
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_PiCatSetType@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiCatSetType@@YAXPAUXML_STR_BUF@@@Z PROC		; Xmltv_PiCatSetType, COMDAT

; 802  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 803  :    // ignored
; 804  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCatSetType@@YAXPAUXML_STR_BUF@@@Z ENDP		; Xmltv_PiCatSetType
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_PiCatClose@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiCatClose@@YAXXZ PROC				; Xmltv_PiCatClose, COMDAT

; 798  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 799  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCatClose@@YAXXZ ENDP				; Xmltv_PiCatClose
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_PiCatOpen@@YAXXZ
_TEXT	SEGMENT
?Xmltv_PiCatOpen@@YAXXZ PROC				; Xmltv_PiCatOpen, COMDAT

; 794  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 795  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_PiCatOpen@@YAXXZ ENDP				; Xmltv_PiCatOpen
_TEXT	ENDS
PUBLIC	?Xmltv_TsCodeTimeSetSystem@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_TsCodeTimeSetSystem
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_TsCodeTimeSetSystem@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_TsCodeTimeSetSystem@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_TsCodeTimeSetSystem, COMDAT

; 751  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 752  : #ifdef ALL_CONTENT
; 753  :    TCHAR*  pStr = XML_STR_BUF_GET_STR(*pBuf);
; 754  : 
; 755  :    if (strcasecmp(pStr, _T("vps")) == 0)
; 756  :       xds.pi_code_time_sys = XMLTV_CODE_VPS;
; 757  :    else if (strcasecmp(pStr, _T("pdc")) == 0)
; 758  :       xds.pi_code_time_sys = XMLTV_CODE_PDC;
; 759  :    else if (strcasecmp(pStr, _T("showview")) == 0)
; 760  :       xds.pi_code_time_sys = XMLTV_CODE_SV;
; 761  :    else if (strcasecmp(pStr, _T("videoplus")) == 0)
; 762  :       xds.pi_code_time_sys = XMLTV_CODE_VP;
; 763  :    else
; 764  :       debug1(_T("Xmltv-TsCodeTimeSetSystem: unknown code-time systm '%s'"), pStr);
; 765  : #endif
; 766  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_TsCodeTimeSetSystem@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_TsCodeTimeSetSystem
_TEXT	ENDS
PUBLIC	?Xmltv_TsCodeTimeSetStart@@YAXPAUXML_STR_BUF@@@Z ; Xmltv_TsCodeTimeSetStart
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_TsCodeTimeSetStart@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_TsCodeTimeSetStart@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_TsCodeTimeSetStart, COMDAT

; 733  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 734  : #ifdef ALL_CONTENT
; 735  :    if (xds.pi_code_time_sys == XMLTV_CODE_SV)
; 736  :    {
; 737  :       XmlCdata_Assign(&xds.pi_code_sv, pBuf);
; 738  :    }
; 739  :    else if (xds.pi_code_time_sys == XMLTV_CODE_VP)
; 740  :    {
; 741  :       XmlCdata_Assign(&xds.pi_code_vp, pBuf);
; 742  :    }
; 743  :    else
; 744  :    {
; 745  :       XmlCdata_Assign(&xds.pi_code_time_str, pBuf);
; 746  :    }
; 747  : #endif
; 748  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_TsCodeTimeSetStart@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_TsCodeTimeSetStart
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_TsCodeTimeSetVP@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_TsCodeTimeSetVP@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_TsCodeTimeSetVP, COMDAT

; 725  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 726  : #ifdef ALL_CONTENT
; 727  :    XmlCdata_AssignOrAppend(&xds.pi_code_vp, pBuf);
; 728  : #endif
; 729  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_TsCodeTimeSetVP@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_TsCodeTimeSetVP
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_TsCodeTimeSetSV@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_TsCodeTimeSetSV@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_TsCodeTimeSetSV, COMDAT

; 718  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 719  : #ifdef ALL_CONTENT
; 720  :    XmlCdata_AssignOrAppend(&xds.pi_code_sv, pBuf);
; 721  : #endif
; 722  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_TsCodeTimeSetSV@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_TsCodeTimeSetSV
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_TsCodeTimeSetPdc@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_TsCodeTimeSetPdc@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_TsCodeTimeSetPdc, COMDAT

; 711  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 712  : #ifdef ALL_CONTENT
; 713  :    Xmltv_TsCodeTimeAssign(XMLTV_CODE_PDC, pBuf);
; 714  : #endif
; 715  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_TsCodeTimeSetPdc@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_TsCodeTimeSetPdc
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_TsCodeTimeSetVps@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_TsCodeTimeSetVps@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_TsCodeTimeSetVps, COMDAT

; 704  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 705  : #ifdef ALL_CONTENT
; 706  :    Xmltv_TsCodeTimeAssign(XMLTV_CODE_VPS, pBuf);
; 707  : #endif
; 708  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_TsCodeTimeSetVps@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_TsCodeTimeSetVps
_TEXT	ENDS
PUBLIC	?Xmltv_TsCodeTimeClose@@YAXXZ			; Xmltv_TsCodeTimeClose
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_TsCodeTimeClose@@YAXXZ
_TEXT	SEGMENT
?Xmltv_TsCodeTimeClose@@YAXXZ PROC			; Xmltv_TsCodeTimeClose, COMDAT

; 696  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 697  : #ifdef ALL_CONTENT
; 698  :    Xmltv_TsCodeTimeAssign(xds.pi_code_time_sys, &xds.pi_code_time_str);
; 699  : #endif
; 700  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_TsCodeTimeClose@@YAXXZ ENDP			; Xmltv_TsCodeTimeClose
_TEXT	ENDS
PUBLIC	?Xmltv_TsCodeTimeOpen@@YAXXZ			; Xmltv_TsCodeTimeOpen
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_TsCodeTimeOpen@@YAXXZ
_TEXT	SEGMENT
?Xmltv_TsCodeTimeOpen@@YAXXZ PROC			; Xmltv_TsCodeTimeOpen, COMDAT

; 688  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 689  : #ifdef ALL_CONTENT
; 690  :    xds.pi_code_time_sys = XMLTV_CODE_NONE;
; 691  :    XmlCdata_Reset(&xds.pi_code_time_str);
; 692  : #endif
; 693  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_TsCodeTimeOpen@@YAXXZ ENDP			; Xmltv_TsCodeTimeOpen
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_TsSetFeatCrypt@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_TsSetFeatCrypt@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_TsSetFeatCrypt, COMDAT

; 653  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 654  : #ifdef ALL_CONTENT
; 655  :    xds.pi_feature_flags |= PI_FEATURE_ENCRYPTED;
; 656  : #endif
; 657  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_TsSetFeatCrypt@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_TsSetFeatCrypt
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_TsSetFeatLive@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_TsSetFeatLive@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_TsSetFeatLive, COMDAT

; 641  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 642  : #ifdef ALL_CONTENT
; 643  :    TCHAR*  pStr = XML_STR_BUF_GET_STR(*pBuf);
; 644  : 
; 645  :    if (strcasecmp(pStr, _T("live")) == 0)
; 646  :    {
; 647  :       xds.pi_feature_flags |= PI_FEATURE_LIVE;
; 648  :    }
; 649  : #endif
; 650  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_TsSetFeatLive@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_TsSetFeatLive
_xds	DB	090H DUP (?)
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_TsOpen@@YAXXZ
_TEXT	SEGMENT
?Xmltv_TsOpen@@YAXXZ PROC				; Xmltv_TsOpen, COMDAT

; 504  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 505  :    dprintf0(_T("Xmltv-TsOpen\n"));
; 506  :    xds.pi_start_time = 0;

  00003	c7 05 18 00 00
	00 00 00 00 00	 mov	 DWORD PTR _xds+24, 0
  0000d	c7 05 1c 00 00
	00 00 00 00 00	 mov	 DWORD PTR _xds+28, 0

; 507  :    xds.pi_stop_time = 0;

  00017	c7 05 20 00 00
	00 00 00 00 00	 mov	 DWORD PTR _xds+32, 0
  00021	c7 05 24 00 00
	00 00 00 00 00	 mov	 DWORD PTR _xds+36, 0

; 508  :    xds.pi_netwop_no = xds.chn_count;

  0002b	a1 00 00 00 00	 mov	 eax, DWORD PTR _xds
  00030	a3 28 00 00 00	 mov	 DWORD PTR _xds+40, eax
$LN16@Xmltv_TsOp:

; 509  : #ifdef ALL_CONTENT
; 510  :    xds.pi_pil = 0;
; 511  :    xds.pi_feature_flags = 0;
; 512  :    xds.audio_cnt = 0;
; 513  :    xds.pi_cat_count = 0;
; 514  : #endif
; 515  : 
; 516  :    XmlCdata_Reset(&xds.pi_title);

  00035	83 3d 2c 00 00
	00 00		 cmp	 DWORD PTR _xds+44, 0
  0003c	74 1f		 je	 SHORT $LN15@Xmltv_TsOp
  0003e	c7 05 3c 00 00
	00 00 00 00 00	 mov	 DWORD PTR _xds+60, 0
  00048	c7 05 38 00 00
	00 00 00 00 00	 mov	 DWORD PTR _xds+56, 0
  00052	33 c9		 xor	 ecx, ecx
  00054	8b 15 2c 00 00
	00		 mov	 edx, DWORD PTR _xds+44
  0005a	66 89 0a	 mov	 WORD PTR [edx], cx
$LN15@Xmltv_TsOp:
  0005d	33 c0		 xor	 eax, eax
  0005f	75 d4		 jne	 SHORT $LN16@Xmltv_TsOp
$LN12@Xmltv_TsOp:

; 517  :    XmlCdata_Reset(&xds.pi_subtitle);

  00061	83 3d 44 00 00
	00 00		 cmp	 DWORD PTR _xds+68, 0
  00068	74 1f		 je	 SHORT $LN11@Xmltv_TsOp
  0006a	c7 05 54 00 00
	00 00 00 00 00	 mov	 DWORD PTR _xds+84, 0
  00074	c7 05 50 00 00
	00 00 00 00 00	 mov	 DWORD PTR _xds+80, 0
  0007e	33 c9		 xor	 ecx, ecx
  00080	8b 15 44 00 00
	00		 mov	 edx, DWORD PTR _xds+68
  00086	66 89 0a	 mov	 WORD PTR [edx], cx
$LN11@Xmltv_TsOp:
  00089	33 c0		 xor	 eax, eax
  0008b	75 d4		 jne	 SHORT $LN12@Xmltv_TsOp
$LN8@Xmltv_TsOp:

; 518  :    XmlCdata_Reset(&xds.pi_category);

  0008d	83 3d 5c 00 00
	00 00		 cmp	 DWORD PTR _xds+92, 0
  00094	74 1f		 je	 SHORT $LN7@Xmltv_TsOp
  00096	c7 05 6c 00 00
	00 00 00 00 00	 mov	 DWORD PTR _xds+108, 0
  000a0	c7 05 68 00 00
	00 00 00 00 00	 mov	 DWORD PTR _xds+104, 0
  000aa	33 c9		 xor	 ecx, ecx
  000ac	8b 15 5c 00 00
	00		 mov	 edx, DWORD PTR _xds+92
  000b2	66 89 0a	 mov	 WORD PTR [edx], cx
$LN7@Xmltv_TsOp:
  000b5	33 c0		 xor	 eax, eax
  000b7	75 d4		 jne	 SHORT $LN8@Xmltv_TsOp
$LN4@Xmltv_TsOp:

; 519  :    XmlCdata_Reset(&xds.pi_desc);

  000b9	83 3d 74 00 00
	00 00		 cmp	 DWORD PTR _xds+116, 0
  000c0	74 1f		 je	 SHORT $LN3@Xmltv_TsOp
  000c2	c7 05 84 00 00
	00 00 00 00 00	 mov	 DWORD PTR _xds+132, 0
  000cc	c7 05 80 00 00
	00 00 00 00 00	 mov	 DWORD PTR _xds+128, 0
  000d6	33 c9		 xor	 ecx, ecx
  000d8	8b 15 74 00 00
	00		 mov	 edx, DWORD PTR _xds+116
  000de	66 89 0a	 mov	 WORD PTR [edx], cx
$LN3@Xmltv_TsOp:
  000e1	33 c0		 xor	 eax, eax
  000e3	75 d4		 jne	 SHORT $LN4@Xmltv_TsOp

; 520  : #ifdef ALL_CONTENT
; 521  :    XmlCdata_Reset(&xds.pi_credits);
; 522  :    XmlCdata_Reset(&xds.pi_actors);
; 523  : 
; 524  :    XmlCdata_Reset(&xds.pi_code_sv);
; 525  :    XmlCdata_Reset(&xds.pi_code_vp);
; 526  : 
; 527  :    if (xds.isPeek)
; 528  :    {
; 529  :       XmlTags_ScanStop();
; 530  :    }
; 531  : #endif
; 532  : }

  000e5	5d		 pop	 ebp
  000e6	c3		 ret	 0
?Xmltv_TsOpen@@YAXXZ ENDP				; Xmltv_TsOpen
_TEXT	ENDS
PUBLIC	?Xmltv_ChannelAddUrl@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_ChannelAddUrl
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_ChannelAddUrl@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_ChannelAddUrl@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_ChannelAddUrl, COMDAT

; 498  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 499  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_ChannelAddUrl@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_ChannelAddUrl
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_ChannelAddName@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
tv76 = -4						; size = 4
_pBuf$ = 8						; size = 4
?Xmltv_ChannelAddName@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_ChannelAddName, COMDAT

; 483  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx

; 484  :    assert(xds.chn_open);
; 485  : 
; 486  :    if (xds.chn_open)

  00004	0f b6 05 08 00
	00 00		 movzx	 eax, BYTE PTR _xds+8
  0000b	85 c0		 test	 eax, eax
  0000d	74 55		 je	 SHORT $LN4@Xmltv_Chan

; 487  :    {
; 488  :       if (xds.p_chn_table[xds.chn_count].p_disp_name == NULL)

  0000f	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR _xds
  00015	6b c9 18	 imul	 ecx, 24			; 00000018H
  00018	8b 15 10 00 00
	00		 mov	 edx, DWORD PTR _xds+16
  0001e	83 3c 0a 00	 cmp	 DWORD PTR [edx+ecx], 0
  00022	75 40		 jne	 SHORT $LN4@Xmltv_Chan

; 489  :       {
; 490  :          xds.p_chn_table[xds.chn_count].p_disp_name = xstrdup(XML_STR_BUF_GET_STR(*pBuf));

  00024	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00027	83 38 00	 cmp	 DWORD PTR [eax], 0
  0002a	74 13		 je	 SHORT $LN6@Xmltv_Chan
  0002c	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  0002f	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  00032	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00035	8b 08		 mov	 ecx, DWORD PTR [eax]
  00037	8d 14 51	 lea	 edx, DWORD PTR [ecx+edx*2]
  0003a	89 55 fc	 mov	 DWORD PTR tv76[ebp], edx
  0003d	eb 07		 jmp	 SHORT $LN7@Xmltv_Chan
$LN6@Xmltv_Chan:
  0003f	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR tv76[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN7@Xmltv_Chan:
  00046	8b 45 fc	 mov	 eax, DWORD PTR tv76[ebp]
  00049	50		 push	 eax
  0004a	e8 00 00 00 00	 call	 __wcsdup
  0004f	83 c4 04	 add	 esp, 4
  00052	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR _xds
  00058	6b c9 18	 imul	 ecx, 24			; 00000018H
  0005b	8b 15 10 00 00
	00		 mov	 edx, DWORD PTR _xds+16
  00061	89 04 0a	 mov	 DWORD PTR [edx+ecx], eax
$LN4@Xmltv_Chan:

; 491  :       }
; 492  :       else
; 493  :          debug2(_T("Xmltv-ChannelAddName: 2 channel IDs: %s and %s"), xds.p_chn_table[xds.chn_count].p_disp_name, XML_STR_BUF_GET_STR(*pBuf));
; 494  :    }
; 495  : }

  00064	8b e5		 mov	 esp, ebp
  00066	5d		 pop	 ebp
  00067	c3		 ret	 0
?Xmltv_ChannelAddName@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_ChannelAddName
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_ChannelSetId@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
tv68 = -8						; size = 4
_pStr$ = -4						; size = 4
_pBuf$ = 8						; size = 4
?Xmltv_ChannelSetId@@YAXPAUXML_STR_BUF@@@Z PROC		; Xmltv_ChannelSetId, COMDAT

; 466  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 08	 sub	 esp, 8

; 467  :    TCHAR*  pStr = XML_STR_BUF_GET_STR(*pBuf);

  00006	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00009	83 38 00	 cmp	 DWORD PTR [eax], 0
  0000c	74 13		 je	 SHORT $LN6@Xmltv_Chan@2
  0000e	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  00011	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  00014	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00017	8b 08		 mov	 ecx, DWORD PTR [eax]
  00019	8d 14 51	 lea	 edx, DWORD PTR [ecx+edx*2]
  0001c	89 55 f8	 mov	 DWORD PTR tv68[ebp], edx
  0001f	eb 07		 jmp	 SHORT $LN7@Xmltv_Chan@2
$LN6@Xmltv_Chan@2:
  00021	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR tv68[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN7@Xmltv_Chan@2:
  00028	8b 45 f8	 mov	 eax, DWORD PTR tv68[ebp]
  0002b	89 45 fc	 mov	 DWORD PTR _pStr$[ebp], eax

; 468  : 
; 469  :    assert(xds.chn_open);
; 470  : 
; 471  :    if (xds.chn_open)

  0002e	0f b6 0d 08 00
	00 00		 movzx	 ecx, BYTE PTR _xds+8
  00035	85 c9		 test	 ecx, ecx
  00037	74 1a		 je	 SHORT $LN4@Xmltv_Chan@2

; 472  :    {
; 473  :       if (xds.p_chn_id_tmp == NULL)

  00039	83 3d 0c 00 00
	00 00		 cmp	 DWORD PTR _xds+12, 0
  00040	75 11		 jne	 SHORT $LN4@Xmltv_Chan@2

; 474  :       {
; 475  :          xds.p_chn_id_tmp = xstrdup(pStr);

  00042	8b 55 fc	 mov	 edx, DWORD PTR _pStr$[ebp]
  00045	52		 push	 edx
  00046	e8 00 00 00 00	 call	 __wcsdup
  0004b	83 c4 04	 add	 esp, 4
  0004e	a3 0c 00 00 00	 mov	 DWORD PTR _xds+12, eax
$LN4@Xmltv_Chan@2:

; 476  :       }
; 477  :       else
; 478  :          debug2(_T("Xmltv-ChannelSetId: 2 channel IDs: %s and %s"), xds.p_chn_id_tmp, pStr);
; 479  :    }
; 480  : }

  00053	8b e5		 mov	 esp, ebp
  00055	5d		 pop	 ebp
  00056	c3		 ret	 0
?Xmltv_ChannelSetId@@YAXPAUXML_STR_BUF@@@Z ENDP		; Xmltv_ChannelSetId
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_ChannelCreate@@YAXXZ
_TEXT	SEGMENT
_size$ = -8						; size = 4
_pTmp$ = -4						; size = 4
?Xmltv_ChannelCreate@@YAXXZ PROC			; Xmltv_ChannelCreate, COMDAT

; 390  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 08	 sub	 esp, 8

; 391  :    void * pTmp;
; 392  :    uint size;
; 393  : 
; 394  :    assert(xds.chn_open == FALSE);
; 395  : 
; 396  :    if ((xds.p_chn_table == NULL) || (xds.chn_tab_size < xds.chn_count + 1))

  00006	83 3d 10 00 00
	00 00		 cmp	 DWORD PTR _xds+16, 0
  0000d	74 10		 je	 SHORT $LN2@Xmltv_Chan@3
  0000f	a1 00 00 00 00	 mov	 eax, DWORD PTR _xds
  00014	83 c0 01	 add	 eax, 1
  00017	39 05 04 00 00
	00		 cmp	 DWORD PTR _xds+4, eax
  0001d	73 7b		 jae	 SHORT $LN3@Xmltv_Chan@3
$LN2@Xmltv_Chan@3:

; 397  :    {
; 398  :       size = (xds.chn_tab_size + 100) * sizeof(*xds.p_chn_table);

  0001f	8b 0d 04 00 00
	00		 mov	 ecx, DWORD PTR _xds+4
  00025	83 c1 64	 add	 ecx, 100		; 00000064H
  00028	6b c9 18	 imul	 ecx, 24			; 00000018H
  0002b	89 4d f8	 mov	 DWORD PTR _size$[ebp], ecx

; 399  :       pTmp = xmalloc(size);

  0002e	8b 55 f8	 mov	 edx, DWORD PTR _size$[ebp]
  00031	52		 push	 edx
  00032	e8 00 00 00 00	 call	 _malloc
  00037	83 c4 04	 add	 esp, 4
  0003a	89 45 fc	 mov	 DWORD PTR _pTmp$[ebp], eax

; 400  :       memset(pTmp, 0, size);

  0003d	8b 45 f8	 mov	 eax, DWORD PTR _size$[ebp]
  00040	50		 push	 eax
  00041	6a 00		 push	 0
  00043	8b 4d fc	 mov	 ecx, DWORD PTR _pTmp$[ebp]
  00046	51		 push	 ecx
  00047	e8 00 00 00 00	 call	 _memset
  0004c	83 c4 0c	 add	 esp, 12			; 0000000cH

; 401  :       if (xds.p_chn_table != NULL)

  0004f	83 3d 10 00 00
	00 00		 cmp	 DWORD PTR _xds+16, 0
  00056	74 2b		 je	 SHORT $LN1@Xmltv_Chan@3

; 402  :       {
; 403  :          memcpy(pTmp, xds.p_chn_table, xds.chn_tab_size * sizeof(*xds.p_chn_table));

  00058	8b 15 04 00 00
	00		 mov	 edx, DWORD PTR _xds+4
  0005e	6b d2 18	 imul	 edx, 24			; 00000018H
  00061	52		 push	 edx
  00062	a1 10 00 00 00	 mov	 eax, DWORD PTR _xds+16
  00067	50		 push	 eax
  00068	8b 4d fc	 mov	 ecx, DWORD PTR _pTmp$[ebp]
  0006b	51		 push	 ecx
  0006c	e8 00 00 00 00	 call	 _memcpy
  00071	83 c4 0c	 add	 esp, 12			; 0000000cH

; 404  :          xfree(xds.p_chn_table);

  00074	8b 15 10 00 00
	00		 mov	 edx, DWORD PTR _xds+16
  0007a	52		 push	 edx
  0007b	e8 00 00 00 00	 call	 _free
  00080	83 c4 04	 add	 esp, 4
$LN1@Xmltv_Chan@3:

; 405  :       }
; 406  :       xds.p_chn_table = (XMLTV_CHN*)pTmp;

  00083	8b 45 fc	 mov	 eax, DWORD PTR _pTmp$[ebp]
  00086	a3 10 00 00 00	 mov	 DWORD PTR _xds+16, eax

; 407  :       // grow table in steps of 64 (64 should be enough for everyone)
; 408  :       xds.chn_tab_size += 64;

  0008b	8b 0d 04 00 00
	00		 mov	 ecx, DWORD PTR _xds+4
  00091	83 c1 40	 add	 ecx, 64			; 00000040H
  00094	89 0d 04 00 00
	00		 mov	 DWORD PTR _xds+4, ecx
$LN3@Xmltv_Chan@3:

; 409  :    }
; 410  :    xds.chn_open = TRUE;

  0009a	c6 05 08 00 00
	00 01		 mov	 BYTE PTR _xds+8, 1

; 411  : }

  000a1	8b e5		 mov	 esp, ebp
  000a3	5d		 pop	 ebp
  000a4	c3		 ret	 0
?Xmltv_ChannelCreate@@YAXXZ ENDP			; Xmltv_ChannelCreate
_TEXT	ENDS
PUBLIC	?Xmltv_LinkBlurbAddText@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_LinkBlurbAddText
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_LinkBlurbAddText@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_LinkBlurbAddText@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_LinkBlurbAddText, COMDAT

; 376  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 377  : #ifdef ALL_CONTENT
; 378  :    if (xds.link_text_dest != NULL)
; 379  :    {
; 380  :       XmlCdata_AppendParagraph(xds.link_text_dest, TRUE);
; 381  :       XmlCdata_AssignOrAppend(xds.link_text_dest, pBuf);
; 382  :    }
; 383  : #endif
; 384  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_LinkBlurbAddText@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_LinkBlurbAddText
_TEXT	ENDS
PUBLIC	?Xmltv_LinkHrefSet@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_LinkHrefSet
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_LinkHrefSet@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_LinkHrefSet@@YAXPAUXML_STR_BUF@@@Z PROC		; Xmltv_LinkHrefSet, COMDAT

; 366  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 367  : #ifdef ALL_CONTENT
; 368  :    if (xds.link_href_dest != NULL)
; 369  :    {
; 370  :       XmlCdata_AssignOrAppend(xds.link_href_dest, pBuf);
; 371  :    }
; 372  : #endif
; 373  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_LinkHrefSet@@YAXPAUXML_STR_BUF@@@Z ENDP		; Xmltv_LinkHrefSet
_TEXT	ENDS
PUBLIC	?Xmltv_LinkAddText@@YAXPAUXML_STR_BUF@@@Z	; Xmltv_LinkAddText
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_LinkAddText@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_LinkAddText@@YAXPAUXML_STR_BUF@@@Z PROC		; Xmltv_LinkAddText, COMDAT

; 356  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 357  : #ifdef ALL_CONTENT
; 358  :    if (xds.link_text_dest != NULL)
; 359  :    {
; 360  :       XmlCdata_AssignOrAppend(xds.link_text_dest, pBuf);
; 361  :    }
; 362  : #endif
; 363  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_LinkAddText@@YAXPAUXML_STR_BUF@@@Z ENDP		; Xmltv_LinkAddText
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_AboutSetGenInfoUrl@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_AboutSetGenInfoUrl@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_AboutSetGenInfoUrl, COMDAT

; 349  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 350  : #ifdef ALL_CONTENT
; 351  :    XmlCdata_AssignOrAppend(&xds.gen_info_url, pBuf);
; 352  : #endif
; 353  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_AboutSetGenInfoUrl@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_AboutSetGenInfoUrl
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_AboutSetGenInfoName@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_AboutSetGenInfoName@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_AboutSetGenInfoName, COMDAT

; 342  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 343  : #ifdef ALL_CONTENT
; 344  :    XmlCdata_AssignOrAppend(&xds.gen_info_name, pBuf);
; 345  : #endif
; 346  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_AboutSetGenInfoName@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_AboutSetGenInfoName
_TEXT	ENDS
PUBLIC	?Xmltv_GenInfoClose@@YAXXZ			; Xmltv_GenInfoClose
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_GenInfoClose@@YAXXZ
_TEXT	SEGMENT
?Xmltv_GenInfoClose@@YAXXZ PROC				; Xmltv_GenInfoClose, COMDAT

; 334  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 335  : #ifdef ALL_CONTENT
; 336  :    xds.link_text_dest = NULL;
; 337  :    xds.link_href_dest = NULL;
; 338  : #endif
; 339  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_GenInfoClose@@YAXXZ ENDP				; Xmltv_GenInfoClose
_TEXT	ENDS
PUBLIC	?Xmltv_GenInfoOpen@@YAXXZ			; Xmltv_GenInfoOpen
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_GenInfoOpen@@YAXXZ
_TEXT	SEGMENT
?Xmltv_GenInfoOpen@@YAXXZ PROC				; Xmltv_GenInfoOpen, COMDAT

; 326  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 327  : #ifdef ALL_CONTENT
; 328  :    xds.link_text_dest = &xds.gen_info_name;
; 329  :    xds.link_href_dest = &xds.gen_info_url;
; 330  : #endif
; 331  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_GenInfoOpen@@YAXXZ ENDP				; Xmltv_GenInfoOpen
_TEXT	ENDS
PUBLIC	?Xmltv_SourceInfoClose@@YAXXZ			; Xmltv_SourceInfoClose
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_SourceInfoClose@@YAXXZ
_TEXT	SEGMENT
?Xmltv_SourceInfoClose@@YAXXZ PROC			; Xmltv_SourceInfoClose, COMDAT

; 318  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 319  : #ifdef ALL_CONTENT
; 320  :    xds.link_text_dest = NULL;
; 321  :    xds.link_href_dest = NULL;
; 322  : #endif
; 323  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_SourceInfoClose@@YAXXZ ENDP			; Xmltv_SourceInfoClose
_TEXT	ENDS
PUBLIC	?Xmltv_SourceInfoOpen@@YAXXZ			; Xmltv_SourceInfoOpen
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_SourceInfoOpen@@YAXXZ
_TEXT	SEGMENT
?Xmltv_SourceInfoOpen@@YAXXZ PROC			; Xmltv_SourceInfoOpen, COMDAT

; 310  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 311  : #ifdef ALL_CONTENT
; 312  :    xds.link_text_dest = &xds.source_info_name;
; 313  :    xds.link_href_dest = &xds.source_info_url;
; 314  : #endif
; 315  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_SourceInfoOpen@@YAXXZ ENDP			; Xmltv_SourceInfoOpen
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_AboutSetSourceDataUrl@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_AboutSetSourceDataUrl@@YAXPAUXML_STR_BUF@@@Z PROC ; Xmltv_AboutSetSourceDataUrl, COMDAT

; 303  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 304  : #ifdef ALL_CONTENT
; 305  :    XmlCdata_AssignOrAppend(&xds.source_data_url, pBuf);
; 306  : #endif
; 307  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_AboutSetSourceDataUrl@@YAXPAUXML_STR_BUF@@@Z ENDP ; Xmltv_AboutSetSourceDataUrl
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_AboutSetSourceInfoName@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_AboutSetSourceInfoName@@YAXPAUXML_STR_BUF@@@Z PROC ; Xmltv_AboutSetSourceInfoName, COMDAT

; 296  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 297  : #ifdef ALL_CONTENT
; 298  :    XmlCdata_AssignOrAppend(&xds.source_info_url, pBuf);
; 299  : #endif
; 300  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_AboutSetSourceInfoName@@YAXPAUXML_STR_BUF@@@Z ENDP ; Xmltv_AboutSetSourceInfoName
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_AboutSetSourceInfoUrl@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_AboutSetSourceInfoUrl@@YAXPAUXML_STR_BUF@@@Z PROC ; Xmltv_AboutSetSourceInfoUrl, COMDAT

; 288  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 289  : #ifdef ALL_CONTENT
; 290  :    XmlCdata_AssignOrAppend(&xds.source_info_name, pBuf);
; 291  : #endif
; 292  : }

  00003	5d		 pop	 ebp
  00004	c3		 ret	 0
?Xmltv_AboutSetSourceInfoUrl@@YAXPAUXML_STR_BUF@@@Z ENDP ; Xmltv_AboutSetSourceInfoUrl
; Function compile flags: /Odtp
;	COMDAT ?XmltvDb_Init@@YAXXZ
_TEXT	SEGMENT
?XmltvDb_Init@@YAXXZ PROC				; XmltvDb_Init, COMDAT

; 1246 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 1247 :    memset(&xds, 0, sizeof(xds));

  00003	68 90 00 00 00	 push	 144			; 00000090H
  00008	6a 00		 push	 0
  0000a	68 00 00 00 00	 push	 OFFSET _xds
  0000f	e8 00 00 00 00	 call	 _memset
  00014	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1248 :    xds.pChannelHash = XmlHash_Init();

  00017	e8 00 00 00 00	 call	 ?XmlHash_Init@@YAPAXXZ	; XmlHash_Init
  0001c	a3 14 00 00 00	 mov	 DWORD PTR _xds+20, eax

; 1249 : 
; 1250 :    // set tstring buffer size hints
; 1251 :    XmlCdata_Init(&xds.pi_title, 256);

  00021	68 00 01 00 00	 push	 256			; 00000100H
  00026	68 2c 00 00 00	 push	 OFFSET _xds+44
  0002b	e8 00 00 00 00	 call	 ?XmlCdata_Init@@YAXPAUXML_STR_BUF@@I@Z ; XmlCdata_Init
  00030	83 c4 08	 add	 esp, 8

; 1252 :    XmlCdata_Init(&xds.pi_subtitle, 256);

  00033	68 00 01 00 00	 push	 256			; 00000100H
  00038	68 44 00 00 00	 push	 OFFSET _xds+68
  0003d	e8 00 00 00 00	 call	 ?XmlCdata_Init@@YAXPAUXML_STR_BUF@@I@Z ; XmlCdata_Init
  00042	83 c4 08	 add	 esp, 8

; 1253 :    XmlCdata_Init(&xds.pi_category, 256);

  00045	68 00 01 00 00	 push	 256			; 00000100H
  0004a	68 5c 00 00 00	 push	 OFFSET _xds+92
  0004f	e8 00 00 00 00	 call	 ?XmlCdata_Init@@YAXPAUXML_STR_BUF@@I@Z ; XmlCdata_Init
  00054	83 c4 08	 add	 esp, 8

; 1254 : #ifdef ALL_CONTENT
; 1255 :    XmlCdata_Init(&xds.pi_code_time_str, 256);
; 1256 :    XmlCdata_Init(&xds.pi_code_sv, 256);
; 1257 :    XmlCdata_Init(&xds.pi_code_vp, 256);
; 1258 : #endif
; 1259 :    XmlCdata_Init(&xds.pi_desc, 4096);

  00057	68 00 10 00 00	 push	 4096			; 00001000H
  0005c	68 74 00 00 00	 push	 OFFSET _xds+116
  00061	e8 00 00 00 00	 call	 ?XmlCdata_Init@@YAXPAUXML_STR_BUF@@I@Z ; XmlCdata_Init
  00066	83 c4 08	 add	 esp, 8

; 1260 : }

  00069	5d		 pop	 ebp
  0006a	c3		 ret	 0
?XmltvDb_Init@@YAXXZ ENDP				; XmltvDb_Init
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?XmltvDb_Destroy@@YAXXZ
_TEXT	SEGMENT
_idx$ = -4						; size = 4
?XmltvDb_Destroy@@YAXXZ PROC				; XmltvDb_Destroy, COMDAT

; 1200 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx

; 1201 :    uint  idx;
; 1202 : 
; 1203 :    if (xds.p_chn_table != NULL)

  00004	83 3d 10 00 00
	00 00		 cmp	 DWORD PTR _xds+16, 0
  0000b	74 65		 je	 SHORT $LN6@XmltvDb_De

; 1204 :    {
; 1205 :       // channel table list & dup'ed channel ID and display name strings
; 1206 :       // note: check one more than count in case there's an unclosed channel tag
; 1207 :       for (idx = 0; (idx < xds.chn_count + 1) && (idx < xds.chn_tab_size); idx++)

  0000d	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _idx$[ebp], 0
  00014	eb 09		 jmp	 SHORT $LN5@XmltvDb_De
$LN4@XmltvDb_De:
  00016	8b 45 fc	 mov	 eax, DWORD PTR _idx$[ebp]
  00019	83 c0 01	 add	 eax, 1
  0001c	89 45 fc	 mov	 DWORD PTR _idx$[ebp], eax
$LN5@XmltvDb_De:
  0001f	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR _xds
  00025	83 c1 01	 add	 ecx, 1
  00028	39 4d fc	 cmp	 DWORD PTR _idx$[ebp], ecx
  0002b	73 36		 jae	 SHORT $LN3@XmltvDb_De
  0002d	8b 55 fc	 mov	 edx, DWORD PTR _idx$[ebp]
  00030	3b 15 04 00 00
	00		 cmp	 edx, DWORD PTR _xds+4
  00036	73 2b		 jae	 SHORT $LN3@XmltvDb_De

; 1208 :       {
; 1209 :          if (xds.p_chn_table[idx].p_disp_name != NULL)

  00038	8b 45 fc	 mov	 eax, DWORD PTR _idx$[ebp]
  0003b	6b c0 18	 imul	 eax, 24			; 00000018H
  0003e	8b 0d 10 00 00
	00		 mov	 ecx, DWORD PTR _xds+16
  00044	83 3c 01 00	 cmp	 DWORD PTR [ecx+eax], 0
  00048	74 17		 je	 SHORT $LN2@XmltvDb_De

; 1210 :             xfree(xds.p_chn_table[idx].p_disp_name);

  0004a	8b 55 fc	 mov	 edx, DWORD PTR _idx$[ebp]
  0004d	6b d2 18	 imul	 edx, 24			; 00000018H
  00050	a1 10 00 00 00	 mov	 eax, DWORD PTR _xds+16
  00055	8b 0c 10	 mov	 ecx, DWORD PTR [eax+edx]
  00058	51		 push	 ecx
  00059	e8 00 00 00 00	 call	 _free
  0005e	83 c4 04	 add	 esp, 4
$LN2@XmltvDb_De:

; 1211 :       }

  00061	eb b3		 jmp	 SHORT $LN4@XmltvDb_De
$LN3@XmltvDb_De:

; 1212 :       xfree(xds.p_chn_table);

  00063	8b 15 10 00 00
	00		 mov	 edx, DWORD PTR _xds+16
  00069	52		 push	 edx
  0006a	e8 00 00 00 00	 call	 _free
  0006f	83 c4 04	 add	 esp, 4
$LN6@XmltvDb_De:

; 1213 :    }
; 1214 :    if (xds.p_chn_id_tmp != NULL)

  00072	83 3d 0c 00 00
	00 00		 cmp	 DWORD PTR _xds+12, 0
  00079	74 18		 je	 SHORT $LN1@XmltvDb_De

; 1215 :    {
; 1216 :       xfree(xds.p_chn_id_tmp);

  0007b	a1 0c 00 00 00	 mov	 eax, DWORD PTR _xds+12
  00080	50		 push	 eax
  00081	e8 00 00 00 00	 call	 _free
  00086	83 c4 04	 add	 esp, 4

; 1217 :       xds.p_chn_id_tmp = NULL;

  00089	c7 05 0c 00 00
	00 00 00 00 00	 mov	 DWORD PTR _xds+12, 0
$LN1@XmltvDb_De:

; 1218 :    }
; 1219 :    XmlHash_Destroy(xds.pChannelHash, NULL);

  00093	6a 00		 push	 0
  00095	8b 0d 14 00 00
	00		 mov	 ecx, DWORD PTR _xds+20
  0009b	51		 push	 ecx
  0009c	e8 00 00 00 00	 call	 ?XmlHash_Destroy@@YAXPAXP6AX0PA_W@Z@Z ; XmlHash_Destroy
  000a1	83 c4 08	 add	 esp, 8

; 1220 : 
; 1221 :    // pi title and desc cache
; 1222 :    XmlCdata_Free(&xds.pi_title);

  000a4	68 2c 00 00 00	 push	 OFFSET _xds+44
  000a9	e8 00 00 00 00	 call	 ?XmlCdata_Free@@YAXPAUXML_STR_BUF@@@Z ; XmlCdata_Free
  000ae	83 c4 04	 add	 esp, 4

; 1223 :    XmlCdata_Free(&xds.pi_subtitle);

  000b1	68 44 00 00 00	 push	 OFFSET _xds+68
  000b6	e8 00 00 00 00	 call	 ?XmlCdata_Free@@YAXPAUXML_STR_BUF@@@Z ; XmlCdata_Free
  000bb	83 c4 04	 add	 esp, 4

; 1224 :    XmlCdata_Free(&xds.pi_category);

  000be	68 5c 00 00 00	 push	 OFFSET _xds+92
  000c3	e8 00 00 00 00	 call	 ?XmlCdata_Free@@YAXPAUXML_STR_BUF@@@Z ; XmlCdata_Free
  000c8	83 c4 04	 add	 esp, 4

; 1225 :    XmlCdata_Free(&xds.pi_desc);

  000cb	68 74 00 00 00	 push	 OFFSET _xds+116
  000d0	e8 00 00 00 00	 call	 ?XmlCdata_Free@@YAXPAUXML_STR_BUF@@@Z ; XmlCdata_Free
  000d5	83 c4 04	 add	 esp, 4

; 1226 : #ifdef ALL_CONTENT
; 1227 :    XmlCdata_Free(&xds.pi_credits);
; 1228 :    XmlCdata_Free(&xds.pi_actors);
; 1229 : 
; 1230 :    XmlCdata_Free(&xds.pi_code_time_str);
; 1231 :    XmlCdata_Free(&xds.pi_code_sv);
; 1232 :    XmlCdata_Free(&xds.pi_code_vp);
; 1233 : 
; 1234 :    XmlCdata_Free(&xds.source_info_name);
; 1235 :    XmlCdata_Free(&xds.source_info_url);
; 1236 :    XmlCdata_Free(&xds.source_data_url);
; 1237 :    XmlCdata_Free(&xds.gen_info_name);
; 1238 :    XmlCdata_Free(&xds.gen_info_url);
; 1239 : #endif
; 1240 : }

  000d8	8b e5		 mov	 esp, ebp
  000da	5d		 pop	 ebp
  000db	c3		 ret	 0
?XmltvDb_Destroy@@YAXXZ ENDP				; XmltvDb_Destroy
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_PiCatAddText@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiCatAddText@@YAXPAUXML_STR_BUF@@@Z PROC		; Xmltv_PiCatAddText, COMDAT

; 817  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 818  :    XmlCdata_Assign(&xds.pi_category, pBuf);

  00003	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00006	50		 push	 eax
  00007	68 5c 00 00 00	 push	 OFFSET _xds+92
  0000c	e8 00 00 00 00	 call	 ?XmlCdata_Assign@@YAXPAUXML_STR_BUF@@0@Z ; XmlCdata_Assign
  00011	83 c4 08	 add	 esp, 8

; 819  : }

  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?Xmltv_PiCatAddText@@YAXPAUXML_STR_BUF@@@Z ENDP		; Xmltv_PiCatAddText
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_PiEpisodeTitleAdd@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
tv188 = -12						; size = 4
tv68 = -8						; size = 4
_pStr$ = -4						; size = 4
_pBuf$ = 8						; size = 4
?Xmltv_PiEpisodeTitleAdd@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_PiEpisodeTitleAdd, COMDAT

; 776  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 0c	 sub	 esp, 12			; 0000000cH

; 777  :    TCHAR*  pStr = XML_STR_BUF_GET_STR(*pBuf);

  00006	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00009	83 38 00	 cmp	 DWORD PTR [eax], 0
  0000c	74 13		 je	 SHORT $LN30@Xmltv_PiEp
  0000e	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  00011	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  00014	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00017	8b 08		 mov	 ecx, DWORD PTR [eax]
  00019	8d 14 51	 lea	 edx, DWORD PTR [ecx+edx*2]
  0001c	89 55 f8	 mov	 DWORD PTR tv68[ebp], edx
  0001f	eb 07		 jmp	 SHORT $LN31@Xmltv_PiEp
$LN30@Xmltv_PiEp:
  00021	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR tv68[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN31@Xmltv_PiEp:
  00028	8b 45 f8	 mov	 eax, DWORD PTR tv68[ebp]
  0002b	89 45 fc	 mov	 DWORD PTR _pStr$[ebp], eax

; 778  : 
; 779  :    if ( isalnum(*pStr) )

  0002e	8b 4d fc	 mov	 ecx, DWORD PTR _pStr$[ebp]
  00031	0f b7 11	 movzx	 edx, WORD PTR [ecx]
  00034	52		 push	 edx
  00035	e8 00 00 00 00	 call	 _isalnum
  0003a	83 c4 04	 add	 esp, 4
  0003d	85 c0		 test	 eax, eax
  0003f	0f 84 76 01 00
	00		 je	 $LN10@Xmltv_PiEp
$LN26@Xmltv_PiEp:

; 780  :    {
; 781  :       XmlCdata_AppendRaw(&xds.pi_desc, _T("\""), 1);

  00045	83 3d 74 00 00
	00 00		 cmp	 DWORD PTR _xds+116, 0
  0004c	74 10		 je	 SHORT $LN22@Xmltv_PiEp
  0004e	a1 84 00 00 00	 mov	 eax, DWORD PTR _xds+132
  00053	83 c0 02	 add	 eax, 2
  00056	3b 05 7c 00 00
	00		 cmp	 eax, DWORD PTR _xds+124
  0005c	76 0f		 jbe	 SHORT $LN23@Xmltv_PiEp
$LN22@Xmltv_PiEp:
  0005e	6a 01		 push	 1
  00060	68 74 00 00 00	 push	 OFFSET _xds+116
  00065	e8 00 00 00 00	 call	 ?XmlCdata_Grow@@YAXPAUXML_STR_BUF@@I@Z ; XmlCdata_Grow
  0006a	83 c4 08	 add	 esp, 8
$LN23@Xmltv_PiEp:
  0006d	6a 01		 push	 1
  0006f	68 00 00 00 00	 push	 OFFSET ??_C@_13NEIAEHFG@?$AA?$CC?$AA?$AA@
  00074	8b 0d 84 00 00
	00		 mov	 ecx, DWORD PTR _xds+132
  0007a	8b 15 74 00 00
	00		 mov	 edx, DWORD PTR _xds+116
  00080	8d 04 4a	 lea	 eax, DWORD PTR [edx+ecx*2]
  00083	50		 push	 eax
  00084	e8 00 00 00 00	 call	 _memcpy
  00089	83 c4 0c	 add	 esp, 12			; 0000000cH
  0008c	8b 0d 84 00 00
	00		 mov	 ecx, DWORD PTR _xds+132
  00092	83 c1 01	 add	 ecx, 1
  00095	89 0d 84 00 00
	00		 mov	 DWORD PTR _xds+132, ecx
  0009b	33 d2		 xor	 edx, edx
  0009d	a1 84 00 00 00	 mov	 eax, DWORD PTR _xds+132
  000a2	8b 0d 74 00 00
	00		 mov	 ecx, DWORD PTR _xds+116
  000a8	66 89 14 41	 mov	 WORD PTR [ecx+eax*2], dx
  000ac	33 d2		 xor	 edx, edx
  000ae	75 95		 jne	 SHORT $LN26@Xmltv_PiEp
$LN21@Xmltv_PiEp:

; 782  :       XmlCdata_AppendRaw(&xds.pi_desc, pStr, XML_STR_BUF_GET_STR_LEN(*pBuf));

  000b0	83 3d 74 00 00
	00 00		 cmp	 DWORD PTR _xds+116, 0
  000b7	74 1d		 je	 SHORT $LN17@Xmltv_PiEp
  000b9	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  000bc	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  000bf	8b 50 10	 mov	 edx, DWORD PTR [eax+16]
  000c2	2b 51 0c	 sub	 edx, DWORD PTR [ecx+12]
  000c5	a1 84 00 00 00	 mov	 eax, DWORD PTR _xds+132
  000ca	8d 4c 10 01	 lea	 ecx, DWORD PTR [eax+edx+1]
  000ce	3b 0d 7c 00 00
	00		 cmp	 ecx, DWORD PTR _xds+124
  000d4	76 1a		 jbe	 SHORT $LN18@Xmltv_PiEp
$LN17@Xmltv_PiEp:
  000d6	8b 55 08	 mov	 edx, DWORD PTR _pBuf$[ebp]
  000d9	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  000dc	8b 4a 10	 mov	 ecx, DWORD PTR [edx+16]
  000df	2b 48 0c	 sub	 ecx, DWORD PTR [eax+12]
  000e2	51		 push	 ecx
  000e3	68 74 00 00 00	 push	 OFFSET _xds+116
  000e8	e8 00 00 00 00	 call	 ?XmlCdata_Grow@@YAXPAUXML_STR_BUF@@I@Z ; XmlCdata_Grow
  000ed	83 c4 08	 add	 esp, 8
$LN18@Xmltv_PiEp:
  000f0	8b 55 08	 mov	 edx, DWORD PTR _pBuf$[ebp]
  000f3	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  000f6	8b 4a 10	 mov	 ecx, DWORD PTR [edx+16]
  000f9	2b 48 0c	 sub	 ecx, DWORD PTR [eax+12]
  000fc	51		 push	 ecx
  000fd	8b 55 fc	 mov	 edx, DWORD PTR _pStr$[ebp]
  00100	52		 push	 edx
  00101	a1 84 00 00 00	 mov	 eax, DWORD PTR _xds+132
  00106	8b 0d 74 00 00
	00		 mov	 ecx, DWORD PTR _xds+116
  0010c	8d 14 41	 lea	 edx, DWORD PTR [ecx+eax*2]
  0010f	52		 push	 edx
  00110	e8 00 00 00 00	 call	 _memcpy
  00115	83 c4 0c	 add	 esp, 12			; 0000000cH
  00118	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  0011b	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  0011e	8b 50 10	 mov	 edx, DWORD PTR [eax+16]
  00121	2b 51 0c	 sub	 edx, DWORD PTR [ecx+12]
  00124	03 15 84 00 00
	00		 add	 edx, DWORD PTR _xds+132
  0012a	89 15 84 00 00
	00		 mov	 DWORD PTR _xds+132, edx
  00130	33 c0		 xor	 eax, eax
  00132	8b 0d 84 00 00
	00		 mov	 ecx, DWORD PTR _xds+132
  00138	8b 15 74 00 00
	00		 mov	 edx, DWORD PTR _xds+116
  0013e	66 89 04 4a	 mov	 WORD PTR [edx+ecx*2], ax
  00142	33 c0		 xor	 eax, eax
  00144	0f 85 66 ff ff
	ff		 jne	 $LN21@Xmltv_PiEp
$LN16@Xmltv_PiEp:

; 783  :       XmlCdata_AppendRaw(&xds.pi_desc, _T("\""), 1);

  0014a	83 3d 74 00 00
	00 00		 cmp	 DWORD PTR _xds+116, 0
  00151	74 11		 je	 SHORT $LN12@Xmltv_PiEp
  00153	8b 0d 84 00 00
	00		 mov	 ecx, DWORD PTR _xds+132
  00159	83 c1 02	 add	 ecx, 2
  0015c	3b 0d 7c 00 00
	00		 cmp	 ecx, DWORD PTR _xds+124
  00162	76 0f		 jbe	 SHORT $LN13@Xmltv_PiEp
$LN12@Xmltv_PiEp:
  00164	6a 01		 push	 1
  00166	68 74 00 00 00	 push	 OFFSET _xds+116
  0016b	e8 00 00 00 00	 call	 ?XmlCdata_Grow@@YAXPAUXML_STR_BUF@@I@Z ; XmlCdata_Grow
  00170	83 c4 08	 add	 esp, 8
$LN13@Xmltv_PiEp:
  00173	6a 01		 push	 1
  00175	68 00 00 00 00	 push	 OFFSET ??_C@_13NEIAEHFG@?$AA?$CC?$AA?$AA@
  0017a	8b 15 84 00 00
	00		 mov	 edx, DWORD PTR _xds+132
  00180	a1 74 00 00 00	 mov	 eax, DWORD PTR _xds+116
  00185	8d 0c 50	 lea	 ecx, DWORD PTR [eax+edx*2]
  00188	51		 push	 ecx
  00189	e8 00 00 00 00	 call	 _memcpy
  0018e	83 c4 0c	 add	 esp, 12			; 0000000cH
  00191	8b 15 84 00 00
	00		 mov	 edx, DWORD PTR _xds+132
  00197	83 c2 01	 add	 edx, 1
  0019a	89 15 84 00 00
	00		 mov	 DWORD PTR _xds+132, edx
  001a0	33 c0		 xor	 eax, eax
  001a2	8b 0d 84 00 00
	00		 mov	 ecx, DWORD PTR _xds+132
  001a8	8b 15 74 00 00
	00		 mov	 edx, DWORD PTR _xds+116
  001ae	66 89 04 4a	 mov	 WORD PTR [edx+ecx*2], ax
  001b2	33 c0		 xor	 eax, eax
  001b4	75 94		 jne	 SHORT $LN16@Xmltv_PiEp

; 784  :    }
; 785  :    else

  001b6	e9 fb 00 00 00	 jmp	 $LN11@Xmltv_PiEp
$LN10@Xmltv_PiEp:

; 786  :       XmlCdata_AssignOrAppend(&xds.pi_desc, pBuf);

  001bb	83 3d 84 00 00
	00 00		 cmp	 DWORD PTR _xds+132, 0
  001c2	75 22		 jne	 SHORT $LN5@Xmltv_PiEp
  001c4	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  001c7	81 79 10 80 00
	00 00		 cmp	 DWORD PTR [ecx+16], 128	; 00000080H
  001ce	76 16		 jbe	 SHORT $LN5@Xmltv_PiEp
  001d0	8b 55 08	 mov	 edx, DWORD PTR _pBuf$[ebp]
  001d3	52		 push	 edx
  001d4	68 74 00 00 00	 push	 OFFSET _xds+116
  001d9	e8 00 00 00 00	 call	 ?XmlCdata_Assign@@YAXPAUXML_STR_BUF@@0@Z ; XmlCdata_Assign
  001de	83 c4 08	 add	 esp, 8
  001e1	e9 c8 00 00 00	 jmp	 $LN9@Xmltv_PiEp
$LN5@Xmltv_PiEp:
  001e6	83 3d 74 00 00
	00 00		 cmp	 DWORD PTR _xds+116, 0
  001ed	74 1d		 je	 SHORT $LN1@Xmltv_PiEp
  001ef	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  001f2	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  001f5	8b 50 10	 mov	 edx, DWORD PTR [eax+16]
  001f8	2b 51 0c	 sub	 edx, DWORD PTR [ecx+12]
  001fb	a1 84 00 00 00	 mov	 eax, DWORD PTR _xds+132
  00200	8d 4c 10 01	 lea	 ecx, DWORD PTR [eax+edx+1]
  00204	3b 0d 7c 00 00
	00		 cmp	 ecx, DWORD PTR _xds+124
  0020a	76 1a		 jbe	 SHORT $LN2@Xmltv_PiEp
$LN1@Xmltv_PiEp:
  0020c	8b 55 08	 mov	 edx, DWORD PTR _pBuf$[ebp]
  0020f	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00212	8b 4a 10	 mov	 ecx, DWORD PTR [edx+16]
  00215	2b 48 0c	 sub	 ecx, DWORD PTR [eax+12]
  00218	51		 push	 ecx
  00219	68 74 00 00 00	 push	 OFFSET _xds+116
  0021e	e8 00 00 00 00	 call	 ?XmlCdata_Grow@@YAXPAUXML_STR_BUF@@I@Z ; XmlCdata_Grow
  00223	83 c4 08	 add	 esp, 8
$LN2@Xmltv_PiEp:
  00226	8b 55 08	 mov	 edx, DWORD PTR _pBuf$[ebp]
  00229	83 3a 00	 cmp	 DWORD PTR [edx], 0
  0022c	74 13		 je	 SHORT $LN32@Xmltv_PiEp
  0022e	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00231	8b 48 0c	 mov	 ecx, DWORD PTR [eax+12]
  00234	8b 55 08	 mov	 edx, DWORD PTR _pBuf$[ebp]
  00237	8b 02		 mov	 eax, DWORD PTR [edx]
  00239	8d 0c 48	 lea	 ecx, DWORD PTR [eax+ecx*2]
  0023c	89 4d f4	 mov	 DWORD PTR tv188[ebp], ecx
  0023f	eb 07		 jmp	 SHORT $LN33@Xmltv_PiEp
$LN32@Xmltv_PiEp:
  00241	c7 45 f4 00 00
	00 00		 mov	 DWORD PTR tv188[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN33@Xmltv_PiEp:
  00248	8b 55 08	 mov	 edx, DWORD PTR _pBuf$[ebp]
  0024b	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  0024e	8b 4a 10	 mov	 ecx, DWORD PTR [edx+16]
  00251	2b 48 0c	 sub	 ecx, DWORD PTR [eax+12]
  00254	51		 push	 ecx
  00255	8b 55 f4	 mov	 edx, DWORD PTR tv188[ebp]
  00258	52		 push	 edx
  00259	a1 84 00 00 00	 mov	 eax, DWORD PTR _xds+132
  0025e	8b 0d 74 00 00
	00		 mov	 ecx, DWORD PTR _xds+116
  00264	8d 14 41	 lea	 edx, DWORD PTR [ecx+eax*2]
  00267	52		 push	 edx
  00268	e8 00 00 00 00	 call	 _memcpy
  0026d	83 c4 0c	 add	 esp, 12			; 0000000cH
  00270	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00273	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  00276	8b 50 10	 mov	 edx, DWORD PTR [eax+16]
  00279	2b 51 0c	 sub	 edx, DWORD PTR [ecx+12]
  0027c	03 15 84 00 00
	00		 add	 edx, DWORD PTR _xds+132
  00282	89 15 84 00 00
	00		 mov	 DWORD PTR _xds+132, edx
  00288	33 c0		 xor	 eax, eax
  0028a	8b 0d 84 00 00
	00		 mov	 ecx, DWORD PTR _xds+132
  00290	8b 15 74 00 00
	00		 mov	 edx, DWORD PTR _xds+116
  00296	66 89 04 4a	 mov	 WORD PTR [edx+ecx*2], ax
  0029a	33 c0		 xor	 eax, eax
  0029c	0f 85 44 ff ff
	ff		 jne	 $LN5@Xmltv_PiEp
  002a2	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  002a5	8b 51 14	 mov	 edx, DWORD PTR [ecx+20]
  002a8	89 15 88 00 00
	00		 mov	 DWORD PTR _xds+136, edx
$LN9@Xmltv_PiEp:
  002ae	33 c0		 xor	 eax, eax
  002b0	0f 85 05 ff ff
	ff		 jne	 $LN10@Xmltv_PiEp
$LN11@Xmltv_PiEp:

; 787  : 
; 788  :    XmlCdata_Assign(&xds.pi_subtitle, pBuf);

  002b6	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  002b9	51		 push	 ecx
  002ba	68 44 00 00 00	 push	 OFFSET _xds+68
  002bf	e8 00 00 00 00	 call	 ?XmlCdata_Assign@@YAXPAUXML_STR_BUF@@0@Z ; XmlCdata_Assign
  002c4	83 c4 08	 add	 esp, 8

; 789  : }

  002c7	8b e5		 mov	 esp, ebp
  002c9	5d		 pop	 ebp
  002ca	c3		 ret	 0
?Xmltv_PiEpisodeTitleAdd@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_PiEpisodeTitleAdd
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_PiTitleAdd@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
_pBuf$ = 8						; size = 4
?Xmltv_PiTitleAdd@@YAXPAUXML_STR_BUF@@@Z PROC		; Xmltv_PiTitleAdd, COMDAT

; 771  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 772  :    XmlCdata_Assign(&xds.pi_title, pBuf);

  00003	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00006	50		 push	 eax
  00007	68 2c 00 00 00	 push	 OFFSET _xds+44
  0000c	e8 00 00 00 00	 call	 ?XmlCdata_Assign@@YAXPAUXML_STR_BUF@@0@Z ; XmlCdata_Assign
  00011	83 c4 08	 add	 esp, 8

; 773  : }

  00014	5d		 pop	 ebp
  00015	c3		 ret	 0
?Xmltv_PiTitleAdd@@YAXPAUXML_STR_BUF@@@Z ENDP		; Xmltv_PiTitleAdd
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_ParagraphAdd@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
tv95 = -4						; size = 4
_pBuf$ = 8						; size = 4
?Xmltv_ParagraphAdd@@YAXPAUXML_STR_BUF@@@Z PROC		; Xmltv_ParagraphAdd, COMDAT

; 1075 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx

; 1076 :    if (xds.dtd == XMLTV_DTD_6)

  00004	83 3d 8c 00 00
	00 02		 cmp	 DWORD PTR _xds+140, 2
  0000b	75 11		 jne	 SHORT $LN12@Xmltv_Para

; 1077 :    {
; 1078 :       XmlCdata_AppendParagraph(&xds.pi_desc, TRUE);

  0000d	6a 01		 push	 1
  0000f	68 74 00 00 00	 push	 OFFSET _xds+116
  00014	e8 00 00 00 00	 call	 ?XmlCdata_AppendParagraph@@YAXPAUXML_STR_BUF@@E@Z ; XmlCdata_AppendParagraph
  00019	83 c4 08	 add	 esp, 8

; 1079 :    }
; 1080 :    else

  0001c	eb 0f		 jmp	 SHORT $LN10@Xmltv_Para
$LN12@Xmltv_Para:

; 1081 :    {
; 1082 :       XmlCdata_AppendParagraph(&xds.pi_desc, FALSE);

  0001e	6a 00		 push	 0
  00020	68 74 00 00 00	 push	 OFFSET _xds+116
  00025	e8 00 00 00 00	 call	 ?XmlCdata_AppendParagraph@@YAXPAUXML_STR_BUF@@E@Z ; XmlCdata_AppendParagraph
  0002a	83 c4 08	 add	 esp, 8
$LN10@Xmltv_Para:

; 1083 :    }
; 1084 :    XmlCdata_AssignOrAppend(&xds.pi_desc, pBuf);

  0002d	83 3d 84 00 00
	00 00		 cmp	 DWORD PTR _xds+132, 0
  00034	75 22		 jne	 SHORT $LN5@Xmltv_Para
  00036	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00039	81 78 10 80 00
	00 00		 cmp	 DWORD PTR [eax+16], 128	; 00000080H
  00040	76 16		 jbe	 SHORT $LN5@Xmltv_Para
  00042	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  00045	51		 push	 ecx
  00046	68 74 00 00 00	 push	 OFFSET _xds+116
  0004b	e8 00 00 00 00	 call	 ?XmlCdata_Assign@@YAXPAUXML_STR_BUF@@0@Z ; XmlCdata_Assign
  00050	83 c4 08	 add	 esp, 8
  00053	e9 c8 00 00 00	 jmp	 $LN9@Xmltv_Para
$LN5@Xmltv_Para:
  00058	83 3d 74 00 00
	00 00		 cmp	 DWORD PTR _xds+116, 0
  0005f	74 1e		 je	 SHORT $LN1@Xmltv_Para
  00061	8b 55 08	 mov	 edx, DWORD PTR _pBuf$[ebp]
  00064	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00067	8b 4a 10	 mov	 ecx, DWORD PTR [edx+16]
  0006a	2b 48 0c	 sub	 ecx, DWORD PTR [eax+12]
  0006d	8b 15 84 00 00
	00		 mov	 edx, DWORD PTR _xds+132
  00073	8d 44 0a 01	 lea	 eax, DWORD PTR [edx+ecx+1]
  00077	3b 05 7c 00 00
	00		 cmp	 eax, DWORD PTR _xds+124
  0007d	76 1a		 jbe	 SHORT $LN2@Xmltv_Para
$LN1@Xmltv_Para:
  0007f	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  00082	8b 55 08	 mov	 edx, DWORD PTR _pBuf$[ebp]
  00085	8b 41 10	 mov	 eax, DWORD PTR [ecx+16]
  00088	2b 42 0c	 sub	 eax, DWORD PTR [edx+12]
  0008b	50		 push	 eax
  0008c	68 74 00 00 00	 push	 OFFSET _xds+116
  00091	e8 00 00 00 00	 call	 ?XmlCdata_Grow@@YAXPAUXML_STR_BUF@@I@Z ; XmlCdata_Grow
  00096	83 c4 08	 add	 esp, 8
$LN2@Xmltv_Para:
  00099	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  0009c	83 39 00	 cmp	 DWORD PTR [ecx], 0
  0009f	74 13		 je	 SHORT $LN15@Xmltv_Para
  000a1	8b 55 08	 mov	 edx, DWORD PTR _pBuf$[ebp]
  000a4	8b 42 0c	 mov	 eax, DWORD PTR [edx+12]
  000a7	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  000aa	8b 11		 mov	 edx, DWORD PTR [ecx]
  000ac	8d 04 42	 lea	 eax, DWORD PTR [edx+eax*2]
  000af	89 45 fc	 mov	 DWORD PTR tv95[ebp], eax
  000b2	eb 07		 jmp	 SHORT $LN16@Xmltv_Para
$LN15@Xmltv_Para:
  000b4	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR tv95[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN16@Xmltv_Para:
  000bb	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  000be	8b 55 08	 mov	 edx, DWORD PTR _pBuf$[ebp]
  000c1	8b 41 10	 mov	 eax, DWORD PTR [ecx+16]
  000c4	2b 42 0c	 sub	 eax, DWORD PTR [edx+12]
  000c7	50		 push	 eax
  000c8	8b 4d fc	 mov	 ecx, DWORD PTR tv95[ebp]
  000cb	51		 push	 ecx
  000cc	8b 15 84 00 00
	00		 mov	 edx, DWORD PTR _xds+132
  000d2	a1 74 00 00 00	 mov	 eax, DWORD PTR _xds+116
  000d7	8d 0c 50	 lea	 ecx, DWORD PTR [eax+edx*2]
  000da	51		 push	 ecx
  000db	e8 00 00 00 00	 call	 _memcpy
  000e0	83 c4 0c	 add	 esp, 12			; 0000000cH
  000e3	8b 55 08	 mov	 edx, DWORD PTR _pBuf$[ebp]
  000e6	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  000e9	8b 4a 10	 mov	 ecx, DWORD PTR [edx+16]
  000ec	2b 48 0c	 sub	 ecx, DWORD PTR [eax+12]
  000ef	03 0d 84 00 00
	00		 add	 ecx, DWORD PTR _xds+132
  000f5	89 0d 84 00 00
	00		 mov	 DWORD PTR _xds+132, ecx
  000fb	33 d2		 xor	 edx, edx
  000fd	a1 84 00 00 00	 mov	 eax, DWORD PTR _xds+132
  00102	8b 0d 74 00 00
	00		 mov	 ecx, DWORD PTR _xds+116
  00108	66 89 14 41	 mov	 WORD PTR [ecx+eax*2], dx
  0010c	33 d2		 xor	 edx, edx
  0010e	0f 85 44 ff ff
	ff		 jne	 $LN5@Xmltv_Para
  00114	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00117	8b 48 14	 mov	 ecx, DWORD PTR [eax+20]
  0011a	89 0d 88 00 00
	00		 mov	 DWORD PTR _xds+136, ecx
$LN9@Xmltv_Para:
  00120	33 d2		 xor	 edx, edx
  00122	0f 85 05 ff ff
	ff		 jne	 $LN10@Xmltv_Para

; 1085 : }

  00128	8b e5		 mov	 esp, ebp
  0012a	5d		 pop	 ebp
  0012b	c3		 ret	 0
?Xmltv_ParagraphAdd@@YAXPAUXML_STR_BUF@@@Z ENDP		; Xmltv_ParagraphAdd
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_TsSetChannel@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
tv68 = -12						; size = 4
_pStr$ = -8						; size = 4
_pChnIdx$ = -4						; size = 4
_pBuf$ = 8						; size = 4
?Xmltv_TsSetChannel@@YAXPAUXML_STR_BUF@@@Z PROC		; Xmltv_TsSetChannel, COMDAT

; 603  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 0c	 sub	 esp, 12			; 0000000cH

; 604  :    TCHAR*  pStr = XML_STR_BUF_GET_STR(*pBuf);

  00006	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00009	83 38 00	 cmp	 DWORD PTR [eax], 0
  0000c	74 13		 je	 SHORT $LN5@Xmltv_TsSe
  0000e	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  00011	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  00014	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00017	8b 08		 mov	 ecx, DWORD PTR [eax]
  00019	8d 14 51	 lea	 edx, DWORD PTR [ecx+edx*2]
  0001c	89 55 f4	 mov	 DWORD PTR tv68[ebp], edx
  0001f	eb 07		 jmp	 SHORT $LN6@Xmltv_TsSe
$LN5@Xmltv_TsSe:
  00021	c7 45 f4 00 00
	00 00		 mov	 DWORD PTR tv68[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN6@Xmltv_TsSe:
  00028	8b 45 f4	 mov	 eax, DWORD PTR tv68[ebp]
  0002b	89 45 f8	 mov	 DWORD PTR _pStr$[ebp], eax

; 605  :    uint * pChnIdx;
; 606  : 
; 607  :    pChnIdx = (uint*)XmlHash_SearchEntry(xds.pChannelHash, pStr);

  0002e	8b 4d f8	 mov	 ecx, DWORD PTR _pStr$[ebp]
  00031	51		 push	 ecx
  00032	8b 15 14 00 00
	00		 mov	 edx, DWORD PTR _xds+20
  00038	52		 push	 edx
  00039	e8 00 00 00 00	 call	 ?XmlHash_SearchEntry@@YAPAXPAXPB_W@Z ; XmlHash_SearchEntry
  0003e	83 c4 08	 add	 esp, 8
  00041	89 45 fc	 mov	 DWORD PTR _pChnIdx$[ebp], eax

; 608  :    if (pChnIdx != NULL)

  00044	83 7d fc 00	 cmp	 DWORD PTR _pChnIdx$[ebp], 0
  00048	74 0b		 je	 SHORT $LN3@Xmltv_TsSe

; 609  :    {
; 610  :       xds.pi_netwop_no = *pChnIdx;

  0004a	8b 45 fc	 mov	 eax, DWORD PTR _pChnIdx$[ebp]
  0004d	8b 08		 mov	 ecx, DWORD PTR [eax]
  0004f	89 0d 28 00 00
	00		 mov	 DWORD PTR _xds+40, ecx
$LN3@Xmltv_TsSe:

; 611  :    }
; 612  :    else
; 613  :    {
; 614  :       // note: the PI will be dropped if the channel isn't defined BEFORE it's referenced
; 615  :       debug1(_T("Xmltv-TsSetChannel: unknown channel ID '%s'"), pStr);
; 616  :    }
; 617  : }

  00055	8b e5		 mov	 esp, ebp
  00057	5d		 pop	 ebp
  00058	c3		 ret	 0
?Xmltv_TsSetChannel@@YAXPAUXML_STR_BUF@@@Z ENDP		; Xmltv_TsSetChannel
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_ChannelClose@@YAXXZ
_TEXT	SEGMENT
_result$ = -6						; size = 1
_isNew$ = -5						; size = 1
_pChnIdx$ = -4						; size = 4
?Xmltv_ChannelClose@@YAXXZ PROC				; Xmltv_ChannelClose, COMDAT

; 414  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 08	 sub	 esp, 8

; 415  :    Bool   isNew;
; 416  :    Bool   result;
; 417  :    uint * pChnIdx;
; 418  : 
; 419  :    assert(xds.chn_open);
; 420  : 
; 421  :    if (xds.chn_open)

  00006	0f b6 05 08 00
	00 00		 movzx	 eax, BYTE PTR _xds+8
  0000d	85 c0		 test	 eax, eax
  0000f	0f 84 f1 00 00
	00		 je	 $LN10@Xmltv_Chan@4

; 422  :    {
; 423  :       result = FALSE;

  00015	c6 45 fa 00	 mov	 BYTE PTR _result$[ebp], 0

; 424  : 
; 425  :       if ( (xds.p_chn_id_tmp != NULL) &&
; 426  :            (xds.p_chn_table[xds.chn_count].p_disp_name != NULL) )

  00019	83 3d 0c 00 00
	00 00		 cmp	 DWORD PTR _xds+12, 0
  00020	74 70		 je	 SHORT $LN5@Xmltv_Chan@4
  00022	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR _xds
  00028	6b c9 18	 imul	 ecx, 24			; 00000018H
  0002b	8b 15 10 00 00
	00		 mov	 edx, DWORD PTR _xds+16
  00031	83 3c 0a 00	 cmp	 DWORD PTR [edx+ecx], 0
  00035	74 5b		 je	 SHORT $LN5@Xmltv_Chan@4

; 427  :       {
; 428  :          pChnIdx = (uint*)XmlHash_CreateEntry(xds.pChannelHash, xds.p_chn_id_tmp, &isNew);

  00037	8d 45 fb	 lea	 eax, DWORD PTR _isNew$[ebp]
  0003a	50		 push	 eax
  0003b	8b 0d 0c 00 00
	00		 mov	 ecx, DWORD PTR _xds+12
  00041	51		 push	 ecx
  00042	8b 15 14 00 00
	00		 mov	 edx, DWORD PTR _xds+20
  00048	52		 push	 edx
  00049	e8 00 00 00 00	 call	 ?XmlHash_CreateEntry@@YAPAXPAXPB_WPAE@Z ; XmlHash_CreateEntry
  0004e	83 c4 0c	 add	 esp, 12			; 0000000cH
  00051	89 45 fc	 mov	 DWORD PTR _pChnIdx$[ebp], eax

; 429  :          if (isNew)

  00054	0f b6 45 fb	 movzx	 eax, BYTE PTR _isNew$[ebp]
  00058	85 c0		 test	 eax, eax
  0005a	74 36		 je	 SHORT $LN5@Xmltv_Chan@4

; 430  :          {
; 431  :             dprintf3(_T("Xmltv-ChannelClose: add channel #%d '%s' (ID '%s')\n"), xds.chn_count, xds.p_chn_table[xds.chn_count].p_disp_name, p_chn_id_tmp);
; 432  : 
; 433  :             xfree(xds.p_chn_id_tmp);

  0005c	8b 0d 0c 00 00
	00		 mov	 ecx, DWORD PTR _xds+12
  00062	51		 push	 ecx
  00063	e8 00 00 00 00	 call	 _free
  00068	83 c4 04	 add	 esp, 4

; 434  :             xds.p_chn_id_tmp = NULL;

  0006b	c7 05 0c 00 00
	00 00 00 00 00	 mov	 DWORD PTR _xds+12, 0

; 435  : 
; 436  :             *pChnIdx = xds.chn_count;

  00075	8b 55 fc	 mov	 edx, DWORD PTR _pChnIdx$[ebp]
  00078	a1 00 00 00 00	 mov	 eax, DWORD PTR _xds
  0007d	89 02		 mov	 DWORD PTR [edx], eax

; 437  :             xds.chn_count += 1;

  0007f	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR _xds
  00085	83 c1 01	 add	 ecx, 1
  00088	89 0d 00 00 00
	00		 mov	 DWORD PTR _xds, ecx

; 438  :             result = TRUE;

  0008e	c6 45 fa 01	 mov	 BYTE PTR _result$[ebp], 1
$LN5@Xmltv_Chan@4:

; 439  :          }
; 440  :          else
; 441  :             debug2(_T("Xmltv-ChannelClose: ID is not unique: '%s', display name '%s'"), xds.p_chn_id_tmp, xds.p_chn_table[xds.chn_count].p_disp_name);
; 442  :       }
; 443  :       else
; 444  :          debug2(_T("Xmltv-ChannelClose: no ID or no display name (%lx,%lx)"), (long)xds.p_chn_id_tmp, (long)xds.p_chn_table[xds.chn_count].p_disp_name);
; 445  : 
; 446  :       if (result == FALSE)

  00092	0f b6 55 fa	 movzx	 edx, BYTE PTR _result$[ebp]
  00096	85 d2		 test	 edx, edx
  00098	75 43		 jne	 SHORT $LN4@Xmltv_Chan@4

; 447  :       {
; 448  :          if (xds.p_chn_table[xds.chn_count].p_disp_name != NULL)

  0009a	a1 00 00 00 00	 mov	 eax, DWORD PTR _xds
  0009f	6b c0 18	 imul	 eax, 24			; 00000018H
  000a2	8b 0d 10 00 00
	00		 mov	 ecx, DWORD PTR _xds+16
  000a8	83 3c 01 00	 cmp	 DWORD PTR [ecx+eax], 0
  000ac	74 2f		 je	 SHORT $LN4@Xmltv_Chan@4

; 449  :          {
; 450  :             xfree(xds.p_chn_table[xds.chn_count].p_disp_name);

  000ae	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR _xds
  000b4	6b d2 18	 imul	 edx, 24			; 00000018H
  000b7	a1 10 00 00 00	 mov	 eax, DWORD PTR _xds+16
  000bc	8b 0c 10	 mov	 ecx, DWORD PTR [eax+edx]
  000bf	51		 push	 ecx
  000c0	e8 00 00 00 00	 call	 _free
  000c5	83 c4 04	 add	 esp, 4

; 451  :             xds.p_chn_table[xds.chn_count].p_disp_name = NULL;

  000c8	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR _xds
  000ce	6b d2 18	 imul	 edx, 24			; 00000018H
  000d1	a1 10 00 00 00	 mov	 eax, DWORD PTR _xds+16
  000d6	c7 04 10 00 00
	00 00		 mov	 DWORD PTR [eax+edx], 0
$LN4@Xmltv_Chan@4:

; 452  :          }
; 453  :       }
; 454  :       if (xds.p_chn_id_tmp != NULL)

  000dd	83 3d 0c 00 00
	00 00		 cmp	 DWORD PTR _xds+12, 0
  000e4	74 19		 je	 SHORT $LN2@Xmltv_Chan@4

; 455  :       {
; 456  :          xfree(xds.p_chn_id_tmp);

  000e6	8b 0d 0c 00 00
	00		 mov	 ecx, DWORD PTR _xds+12
  000ec	51		 push	 ecx
  000ed	e8 00 00 00 00	 call	 _free
  000f2	83 c4 04	 add	 esp, 4

; 457  :          xds.p_chn_id_tmp = NULL;

  000f5	c7 05 0c 00 00
	00 00 00 00 00	 mov	 DWORD PTR _xds+12, 0
$LN2@Xmltv_Chan@4:

; 458  :       }
; 459  :       xds.chn_open = FALSE;

  000ff	c6 05 08 00 00
	00 00		 mov	 BYTE PTR _xds+8, 0
$LN10@Xmltv_Chan@4:

; 460  :    }
; 461  :    else
; 462  :       fatal0(_T("Xmltv-ChannelClose: not inside channel definition"));
; 463  : }

  00106	8b e5		 mov	 esp, ebp
  00108	5d		 pop	 ebp
  00109	c3		 ret	 0
?Xmltv_ChannelClose@@YAXXZ ENDP				; Xmltv_ChannelClose
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_ParseTimestamp@@YA_JPA_WI@Z
_TEXT	SEGMENT
_tval$ = -8						; size = 8
_pStr$ = 8						; size = 4
_len$ = 12						; size = 4
?Xmltv_ParseTimestamp@@YA_JPA_WI@Z PROC			; Xmltv_ParseTimestamp, COMDAT

; 225  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 08	 sub	 esp, 8

; 226  :    time_t  tval;
; 227  : 
; 228  :    if (xds.dtd == XMLTV_DTD_6)

  00006	83 3d 8c 00 00
	00 02		 cmp	 DWORD PTR _xds+140, 2
  0000d	75 18		 jne	 SHORT $LN2@Xmltv_Pars

; 229  :    {
; 230  :       tval = parse_xmltv_date_v6(pStr, len);

  0000f	8b 45 0c	 mov	 eax, DWORD PTR _len$[ebp]
  00012	50		 push	 eax
  00013	8b 4d 08	 mov	 ecx, DWORD PTR _pStr$[ebp]
  00016	51		 push	 ecx
  00017	e8 00 00 00 00	 call	 ?parse_xmltv_date_v6@@YA_JPB_WI@Z ; parse_xmltv_date_v6
  0001c	83 c4 08	 add	 esp, 8
  0001f	89 45 f8	 mov	 DWORD PTR _tval$[ebp], eax
  00022	89 55 fc	 mov	 DWORD PTR _tval$[ebp+4], edx

; 231  :    }
; 232  :    else

  00025	eb 16		 jmp	 SHORT $LN1@Xmltv_Pars
$LN2@Xmltv_Pars:

; 233  :    {
; 234  :       tval = parse_xmltv_date_v5(pStr, len);

  00027	8b 55 0c	 mov	 edx, DWORD PTR _len$[ebp]
  0002a	52		 push	 edx
  0002b	8b 45 08	 mov	 eax, DWORD PTR _pStr$[ebp]
  0002e	50		 push	 eax
  0002f	e8 00 00 00 00	 call	 ?parse_xmltv_date_v5@@YA_JPB_WI@Z ; parse_xmltv_date_v5
  00034	83 c4 08	 add	 esp, 8
  00037	89 45 f8	 mov	 DWORD PTR _tval$[ebp], eax
  0003a	89 55 fc	 mov	 DWORD PTR _tval$[ebp+4], edx
$LN1@Xmltv_Pars:

; 235  :    }
; 236  : 
; 237  :    ifdebug1(tval == 0, _T("Xmltv-ParseTimestamp: parse error '%s'"), pStr);
; 238  : 
; 239  :    return tval;

  0003d	8b 45 f8	 mov	 eax, DWORD PTR _tval$[ebp]
  00040	8b 55 fc	 mov	 edx, DWORD PTR _tval$[ebp+4]

; 240  : }

  00043	8b e5		 mov	 esp, ebp
  00045	5d		 pop	 ebp
  00046	c3		 ret	 0
?Xmltv_ParseTimestamp@@YA_JPA_WI@Z ENDP			; Xmltv_ParseTimestamp
PUBLIC	?XmltvParser_Start@@YAXPB_W@Z			; XmltvParser_Start
; Function compile flags: /Odtp
;	COMDAT ?XmltvParser_Start@@YAXPB_W@Z
_TEXT	SEGMENT
_detection$ = -12					; size = 4
_dtd$ = -8						; size = 4
_fp$ = -4						; size = 4
_pFilename$ = 8						; size = 4
?XmltvParser_Start@@YAXPB_W@Z PROC			; XmltvParser_Start, COMDAT

; 1266 : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 0c	 sub	 esp, 12			; 0000000cH

; 1267 :    FILE * fp = 0;

  00006	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _fp$[ebp], 0

; 1268 :    XMLTV_DETECTION detection;
; 1269 :    XMLTV_DTD_VERSION dtd;
; 1270 : 
; 1271 :    // initialize internal state
; 1272 :    memset(&xds, 0, sizeof(xds));

  0000d	68 90 00 00 00	 push	 144			; 00000090H
  00012	6a 00		 push	 0
  00014	68 00 00 00 00	 push	 OFFSET _xds
  00019	e8 00 00 00 00	 call	 _memset
  0001e	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1273 : 
; 1274 :    fp =_tfopen(pFilename, _T("r"));

  00021	68 00 00 00 00	 push	 OFFSET ??_C@_13BPINEIPE@?$AAr?$AA?$AA@
  00026	8b 45 08	 mov	 eax, DWORD PTR _pFilename$[ebp]
  00029	50		 push	 eax
  0002a	e8 00 00 00 00	 call	 __wfopen
  0002f	83 c4 08	 add	 esp, 8
  00032	89 45 fc	 mov	 DWORD PTR _fp$[ebp], eax

; 1275 :    if (fp != 0)

  00035	83 7d fc 00	 cmp	 DWORD PTR _fp$[ebp], 0
  00039	74 62		 je	 SHORT $LN3@XmltvParse

; 1276 :    {
; 1277 :      // start scanner in DTD version detection mode
; 1278 :      XmltvTags_StartScan(fp, XMLTV_DTD_UNKNOWN);

  0003b	6a 00		 push	 0
  0003d	8b 4d fc	 mov	 ecx, DWORD PTR _fp$[ebp]
  00040	51		 push	 ecx
  00041	e8 00 00 00 00	 call	 ?XmltvTags_StartScan@@YAXPAU_iobuf@@W4XMLTV_DTD_VERSION@@@Z ; XmltvTags_StartScan
  00046	83 c4 08	 add	 esp, 8

; 1279 : 
; 1280 :      dtd = XmltvTags_QueryVersion(&detection);

  00049	8d 55 f4	 lea	 edx, DWORD PTR _detection$[ebp]
  0004c	52		 push	 edx
  0004d	e8 00 00 00 00	 call	 ?XmltvTags_QueryVersion@@YA?AW4XMLTV_DTD_VERSION@@PAK@Z ; XmltvTags_QueryVersion
  00052	83 c4 04	 add	 esp, 4
  00055	89 45 f8	 mov	 DWORD PTR _dtd$[ebp], eax

; 1281 :      if (dtd != XMLTV_DTD_UNKNOWN)

  00058	83 7d f8 00	 cmp	 DWORD PTR _dtd$[ebp], 0
  0005c	74 33		 je	 SHORT $LN1@XmltvParse

; 1282 :      {
; 1283 :         // rewind to the beginning after reading the header for the version check
; 1284 :         fseek(fp, 0, SEEK_SET);

  0005e	6a 00		 push	 0
  00060	6a 00		 push	 0
  00062	8b 45 fc	 mov	 eax, DWORD PTR _fp$[ebp]
  00065	50		 push	 eax
  00066	e8 00 00 00 00	 call	 _fseek
  0006b	83 c4 0c	 add	 esp, 12			; 0000000cH

; 1285 : 
; 1286 :         // initialize internal state
; 1287 :         XmltvDb_Init();

  0006e	e8 00 00 00 00	 call	 ?XmltvDb_Init@@YAXXZ	; XmltvDb_Init

; 1288 :         xds.dtd = dtd;

  00073	8b 4d f8	 mov	 ecx, DWORD PTR _dtd$[ebp]
  00076	89 0d 8c 00 00
	00		 mov	 DWORD PTR _xds+140, ecx

; 1289 : 
; 1290 :         // parse the XMLTV file (will invoke the callbacks above to add programme data)
; 1291 :         XmltvTags_StartScan(fp, dtd);

  0007c	8b 55 f8	 mov	 edx, DWORD PTR _dtd$[ebp]
  0007f	52		 push	 edx
  00080	8b 45 fc	 mov	 eax, DWORD PTR _fp$[ebp]
  00083	50		 push	 eax
  00084	e8 00 00 00 00	 call	 ?XmltvTags_StartScan@@YAXPAU_iobuf@@W4XMLTV_DTD_VERSION@@@Z ; XmltvTags_StartScan
  00089	83 c4 08	 add	 esp, 8

; 1292 : 
; 1293 :         XmltvDb_Destroy();

  0008c	e8 00 00 00 00	 call	 ?XmltvDb_Destroy@@YAXXZ	; XmltvDb_Destroy
$LN1@XmltvParse:

; 1294 :      }
; 1295 : 
; 1296 :       fclose(fp);

  00091	8b 4d fc	 mov	 ecx, DWORD PTR _fp$[ebp]
  00094	51		 push	 ecx
  00095	e8 00 00 00 00	 call	 _fclose
  0009a	83 c4 04	 add	 esp, 4
$LN3@XmltvParse:

; 1297 :    }
; 1298 : }

  0009d	8b e5		 mov	 esp, ebp
  0009f	5d		 pop	 ebp
  000a0	c3		 ret	 0
?XmltvParser_Start@@YAXPB_W@Z ENDP			; XmltvParser_Start
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_TsSetStopTime@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
tv68 = -12						; size = 4
_len$ = -8						; size = 4
_pStr$ = -4						; size = 4
_pBuf$ = 8						; size = 4
?Xmltv_TsSetStopTime@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_TsSetStopTime, COMDAT

; 630  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 0c	 sub	 esp, 12			; 0000000cH

; 631  :    TCHAR*  pStr = XML_STR_BUF_GET_STR(*pBuf);

  00006	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00009	83 38 00	 cmp	 DWORD PTR [eax], 0
  0000c	74 13		 je	 SHORT $LN3@Xmltv_TsSe@2
  0000e	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  00011	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  00014	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00017	8b 08		 mov	 ecx, DWORD PTR [eax]
  00019	8d 14 51	 lea	 edx, DWORD PTR [ecx+edx*2]
  0001c	89 55 f4	 mov	 DWORD PTR tv68[ebp], edx
  0001f	eb 07		 jmp	 SHORT $LN4@Xmltv_TsSe@2
$LN3@Xmltv_TsSe@2:
  00021	c7 45 f4 00 00
	00 00		 mov	 DWORD PTR tv68[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN4@Xmltv_TsSe@2:
  00028	8b 45 f4	 mov	 eax, DWORD PTR tv68[ebp]
  0002b	89 45 fc	 mov	 DWORD PTR _pStr$[ebp], eax

; 632  :    uint len = XML_STR_BUF_GET_STR_LEN(*pBuf);

  0002e	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  00031	8b 55 08	 mov	 edx, DWORD PTR _pBuf$[ebp]
  00034	8b 41 10	 mov	 eax, DWORD PTR [ecx+16]
  00037	2b 42 0c	 sub	 eax, DWORD PTR [edx+12]
  0003a	89 45 f8	 mov	 DWORD PTR _len$[ebp], eax

; 633  : 
; 634  :    xds.pi_stop_time = Xmltv_ParseTimestamp(pStr, len);

  0003d	8b 4d f8	 mov	 ecx, DWORD PTR _len$[ebp]
  00040	51		 push	 ecx
  00041	8b 55 fc	 mov	 edx, DWORD PTR _pStr$[ebp]
  00044	52		 push	 edx
  00045	e8 00 00 00 00	 call	 ?Xmltv_ParseTimestamp@@YA_JPA_WI@Z ; Xmltv_ParseTimestamp
  0004a	83 c4 08	 add	 esp, 8
  0004d	a3 20 00 00 00	 mov	 DWORD PTR _xds+32, eax
  00052	89 15 24 00 00
	00		 mov	 DWORD PTR _xds+36, edx

; 635  : 
; 636  :    dprintf2(_T("Xmltv-TsSetStopTime: stop time %s: %d\n"), pStr, (int)xds.pi.stop_time);
; 637  : }

  00058	8b e5		 mov	 esp, ebp
  0005a	5d		 pop	 ebp
  0005b	c3		 ret	 0
?Xmltv_TsSetStopTime@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_TsSetStopTime
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Xmltv_TsSetStartTime@@YAXPAUXML_STR_BUF@@@Z
_TEXT	SEGMENT
tv68 = -12						; size = 4
_len$ = -8						; size = 4
_pStr$ = -4						; size = 4
_pBuf$ = 8						; size = 4
?Xmltv_TsSetStartTime@@YAXPAUXML_STR_BUF@@@Z PROC	; Xmltv_TsSetStartTime, COMDAT

; 620  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 0c	 sub	 esp, 12			; 0000000cH

; 621  :    TCHAR*  pStr = XML_STR_BUF_GET_STR(*pBuf);

  00006	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00009	83 38 00	 cmp	 DWORD PTR [eax], 0
  0000c	74 13		 je	 SHORT $LN3@Xmltv_TsSe@3
  0000e	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  00011	8b 51 0c	 mov	 edx, DWORD PTR [ecx+12]
  00014	8b 45 08	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00017	8b 08		 mov	 ecx, DWORD PTR [eax]
  00019	8d 14 51	 lea	 edx, DWORD PTR [ecx+edx*2]
  0001c	89 55 f4	 mov	 DWORD PTR tv68[ebp], edx
  0001f	eb 07		 jmp	 SHORT $LN4@Xmltv_TsSe@3
$LN3@Xmltv_TsSe@3:
  00021	c7 45 f4 00 00
	00 00		 mov	 DWORD PTR tv68[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN4@Xmltv_TsSe@3:
  00028	8b 45 f4	 mov	 eax, DWORD PTR tv68[ebp]
  0002b	89 45 fc	 mov	 DWORD PTR _pStr$[ebp], eax

; 622  :    uint len = XML_STR_BUF_GET_STR_LEN(*pBuf);

  0002e	8b 4d 08	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  00031	8b 55 08	 mov	 edx, DWORD PTR _pBuf$[ebp]
  00034	8b 41 10	 mov	 eax, DWORD PTR [ecx+16]
  00037	2b 42 0c	 sub	 eax, DWORD PTR [edx+12]
  0003a	89 45 f8	 mov	 DWORD PTR _len$[ebp], eax

; 623  : 
; 624  :    xds.pi_start_time = Xmltv_ParseTimestamp(pStr, len);

  0003d	8b 4d f8	 mov	 ecx, DWORD PTR _len$[ebp]
  00040	51		 push	 ecx
  00041	8b 55 fc	 mov	 edx, DWORD PTR _pStr$[ebp]
  00044	52		 push	 edx
  00045	e8 00 00 00 00	 call	 ?Xmltv_ParseTimestamp@@YA_JPA_WI@Z ; Xmltv_ParseTimestamp
  0004a	83 c4 08	 add	 esp, 8
  0004d	a3 18 00 00 00	 mov	 DWORD PTR _xds+24, eax
  00052	89 15 1c 00 00
	00		 mov	 DWORD PTR _xds+28, edx

; 625  : 
; 626  :    dprintf2(_T("Xmltv-TsSetStartTime: start time %s: %d\n"), pStr, (int)xds.pi.start_time);
; 627  : }

  00058	8b e5		 mov	 esp, ebp
  0005a	5d		 pop	 ebp
  0005b	c3		 ret	 0
?Xmltv_TsSetStartTime@@YAXPAUXML_STR_BUF@@@Z ENDP	; Xmltv_TsSetStartTime
PUBLIC	?Xmltv_TsFilter@@YAEXZ				; Xmltv_TsFilter
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_TsFilter@@YAEXZ
_TEXT	SEGMENT
?Xmltv_TsFilter@@YAEXZ PROC				; Xmltv_TsFilter, COMDAT

; 535  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp

; 536  :     if (   (xds.pi_start_time == 0)
; 537  :         || (xds.pi_stop_time == 0)
; 538  :         || (xds.pi_netwop_no >= xds.chn_count)
; 539  :         || !CheckProgrammeValidity(xds.pi_start_time, xds.pi_stop_time, xds.p_chn_table[xds.pi_netwop_no].p_disp_name) )

  00003	a1 18 00 00 00	 mov	 eax, DWORD PTR _xds+24
  00008	0b 05 1c 00 00
	00		 or	 eax, DWORD PTR _xds+28
  0000e	74 54		 je	 SHORT $LN1@Xmltv_TsFi
  00010	8b 0d 20 00 00
	00		 mov	 ecx, DWORD PTR _xds+32
  00016	0b 0d 24 00 00
	00		 or	 ecx, DWORD PTR _xds+36
  0001c	74 46		 je	 SHORT $LN1@Xmltv_TsFi
  0001e	8b 15 28 00 00
	00		 mov	 edx, DWORD PTR _xds+40
  00024	3b 15 00 00 00
	00		 cmp	 edx, DWORD PTR _xds
  0002a	73 38		 jae	 SHORT $LN1@Xmltv_TsFi
  0002c	a1 28 00 00 00	 mov	 eax, DWORD PTR _xds+40
  00031	6b c0 18	 imul	 eax, 24			; 00000018H
  00034	8b 0d 10 00 00
	00		 mov	 ecx, DWORD PTR _xds+16
  0003a	8b 14 01	 mov	 edx, DWORD PTR [ecx+eax]
  0003d	52		 push	 edx
  0003e	a1 24 00 00 00	 mov	 eax, DWORD PTR _xds+36
  00043	50		 push	 eax
  00044	8b 0d 20 00 00
	00		 mov	 ecx, DWORD PTR _xds+32
  0004a	51		 push	 ecx
  0004b	8b 15 1c 00 00
	00		 mov	 edx, DWORD PTR _xds+28
  00051	52		 push	 edx
  00052	a1 18 00 00 00	 mov	 eax, DWORD PTR _xds+24
  00057	50		 push	 eax
  00058	e8 00 00 00 00	 call	 ?CheckProgrammeValidity@@YAH_J0PA_W@Z ; CheckProgrammeValidity
  0005d	83 c4 14	 add	 esp, 20			; 00000014H
  00060	85 c0		 test	 eax, eax
  00062	75 04		 jne	 SHORT $LN2@Xmltv_TsFi
$LN1@Xmltv_TsFi:

; 540  :     {
; 541  :         return FALSE;

  00064	32 c0		 xor	 al, al
  00066	eb 02		 jmp	 SHORT $LN3@Xmltv_TsFi
$LN2@Xmltv_TsFi:

; 542  :     }
; 543  : 
; 544  :     return TRUE;

  00068	b0 01		 mov	 al, 1
$LN3@Xmltv_TsFi:

; 545  : }

  0006a	5d		 pop	 ebp
  0006b	c3		 ret	 0
?Xmltv_TsFilter@@YAEXZ ENDP				; Xmltv_TsFilter
; Function compile flags: /Odtp
;	COMDAT ?Xmltv_TsClose@@YAXXZ
_TEXT	SEGMENT
tv85 = -16						; size = 4
tv77 = -12						; size = 4
tv72 = -8						; size = 4
tv67 = -4						; size = 4
?Xmltv_TsClose@@YAXXZ PROC				; Xmltv_TsClose, COMDAT

; 548  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 10	 sub	 esp, 16			; 00000010H

; 549  :    dprintf0(_T("Xmltv_TsClose\n"));
; 550  : 
; 551  : #ifdef ALL_CONTENT
; 552  :    if (xds.pi_netwop_no < xds.chn_count)
; 553  :    {
; 554  :       if ((xds.pi_start_time < xds.p_chn_table[xds.pi_netwop_no].pi_min_time) ||
; 555  :           (xds.p_chn_table[xds.pi_netwop_no].pi_min_time == 0))
; 556  :          xds.p_chn_table[xds.pi_netwop_no].pi_min_time = xds.pi_start_time;
; 557  :       if (xds.pi_start_time > xds.p_chn_table[xds.pi_netwop_no].pi_max_time)
; 558  :          xds.p_chn_table[xds.pi_netwop_no].pi_max_time = xds.pi_start_time;
; 559  :    }
; 560  : 
; 561  :    // append credits section (director, actors, crew)
; 562  :    if ( (XML_STR_BUF_GET_STR_LEN(xds.pi_actors) > 0) ||
; 563  :         (XML_STR_BUF_GET_STR_LEN(xds.pi_credits) > 0) )
; 564  :    {
; 565  :       XmlCdata_AppendParagraph(&xds.pi_desc, FALSE);
; 566  :       XmlCdata_AppendString(&xds.pi_desc, _T("Credits: "));
; 567  : 
; 568  :       if (XML_STR_BUF_GET_STR_LEN(xds.pi_credits) > 0)
; 569  :       {
; 570  :          XmlCdata_AppendRaw(&xds.pi_desc, XML_STR_BUF_GET_STR(xds.pi_credits), XML_STR_BUF_GET_STR_LEN(xds.pi_credits));
; 571  :          if (XML_STR_BUF_GET_STR_LEN(xds.pi_actors) > 0)
; 572  :             XmlCdata_AppendRaw(&xds.pi_desc, _T("; "), 2);
; 573  :       }
; 574  :       if (XML_STR_BUF_GET_STR_LEN(xds.pi_actors) > 0)
; 575  :          XmlCdata_AppendRaw(&xds.pi_desc, XML_STR_BUF_GET_STR(xds.pi_actors), XML_STR_BUF_GET_STR_LEN(xds.pi_actors));
; 576  :    }
; 577  : 
; 578  :    // append ShowV*ew and Video+ codes (for programming VCR)
; 579  :    if ( (XML_STR_BUF_GET_STR_LEN(xds.pi_code_sv) > 0) ||
; 580  :         (XML_STR_BUF_GET_STR_LEN(xds.pi_code_vp) > 0) )
; 581  :    {
; 582  :       XmlCdata_AppendParagraph(&xds.pi_desc, FALSE);
; 583  :       if (XML_STR_BUF_GET_STR_LEN(xds.pi_code_sv) > 0)
; 584  :       {
; 585  :          XmlCdata_AppendString(&xds.pi_desc, _T("SV-Code: "));
; 586  :          XmlCdata_AppendRaw(&xds.pi_desc, XML_STR_BUF_GET_STR(xds.pi_code_sv), XML_STR_BUF_GET_STR_LEN(xds.pi_code_sv));
; 587  : 
; 588  :          if (XML_STR_BUF_GET_STR_LEN(xds.pi_code_vp) > 0)
; 589  :             XmlCdata_AppendRaw(&xds.pi_desc, _T("; "), 2);
; 590  :       }
; 591  :       if (XML_STR_BUF_GET_STR_LEN(xds.pi_code_vp) > 0)
; 592  :       {
; 593  :          XmlCdata_AppendString(&xds.pi_desc, _T("V+ Code: "));
; 594  :          XmlCdata_AppendRaw(&xds.pi_desc, XML_STR_BUF_GET_STR(xds.pi_code_vp), XML_STR_BUF_GET_STR_LEN(xds.pi_code_vp));
; 595  :       }
; 596  :    }
; 597  : #endif
; 598  : 
; 599  :     AddProgramme(xds.pi_start_time, xds.pi_stop_time, XML_STR_BUF_GET_STR(xds.pi_title), xds.p_chn_table[xds.pi_netwop_no].p_disp_name, XML_STR_BUF_GET_STR(xds.pi_subtitle), XML_STR_BUF_GET_STR(xds.pi_category), XML_STR_BUF_GET_STR(xds.pi_desc));

  00006	83 3d 74 00 00
	00 00		 cmp	 DWORD PTR _xds+116, 0
  0000d	74 13		 je	 SHORT $LN3@Xmltv_TsCl
  0000f	a1 80 00 00 00	 mov	 eax, DWORD PTR _xds+128
  00014	8b 0d 74 00 00
	00		 mov	 ecx, DWORD PTR _xds+116
  0001a	8d 14 41	 lea	 edx, DWORD PTR [ecx+eax*2]
  0001d	89 55 fc	 mov	 DWORD PTR tv67[ebp], edx
  00020	eb 07		 jmp	 SHORT $LN4@Xmltv_TsCl
$LN3@Xmltv_TsCl:
  00022	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR tv67[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN4@Xmltv_TsCl:
  00029	83 3d 5c 00 00
	00 00		 cmp	 DWORD PTR _xds+92, 0
  00030	74 13		 je	 SHORT $LN5@Xmltv_TsCl
  00032	a1 68 00 00 00	 mov	 eax, DWORD PTR _xds+104
  00037	8b 0d 5c 00 00
	00		 mov	 ecx, DWORD PTR _xds+92
  0003d	8d 14 41	 lea	 edx, DWORD PTR [ecx+eax*2]
  00040	89 55 f8	 mov	 DWORD PTR tv72[ebp], edx
  00043	eb 07		 jmp	 SHORT $LN6@Xmltv_TsCl
$LN5@Xmltv_TsCl:
  00045	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR tv72[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN6@Xmltv_TsCl:
  0004c	83 3d 44 00 00
	00 00		 cmp	 DWORD PTR _xds+68, 0
  00053	74 13		 je	 SHORT $LN7@Xmltv_TsCl
  00055	a1 50 00 00 00	 mov	 eax, DWORD PTR _xds+80
  0005a	8b 0d 44 00 00
	00		 mov	 ecx, DWORD PTR _xds+68
  00060	8d 14 41	 lea	 edx, DWORD PTR [ecx+eax*2]
  00063	89 55 f4	 mov	 DWORD PTR tv77[ebp], edx
  00066	eb 07		 jmp	 SHORT $LN8@Xmltv_TsCl
$LN7@Xmltv_TsCl:
  00068	c7 45 f4 00 00
	00 00		 mov	 DWORD PTR tv77[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN8@Xmltv_TsCl:
  0006f	83 3d 2c 00 00
	00 00		 cmp	 DWORD PTR _xds+44, 0
  00076	74 13		 je	 SHORT $LN9@Xmltv_TsCl
  00078	a1 38 00 00 00	 mov	 eax, DWORD PTR _xds+56
  0007d	8b 0d 2c 00 00
	00		 mov	 ecx, DWORD PTR _xds+44
  00083	8d 14 41	 lea	 edx, DWORD PTR [ecx+eax*2]
  00086	89 55 f0	 mov	 DWORD PTR tv85[ebp], edx
  00089	eb 07		 jmp	 SHORT $LN10@Xmltv_TsCl
$LN9@Xmltv_TsCl:
  0008b	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR tv85[ebp], OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
$LN10@Xmltv_TsCl:
  00092	8b 45 fc	 mov	 eax, DWORD PTR tv67[ebp]
  00095	50		 push	 eax
  00096	8b 4d f8	 mov	 ecx, DWORD PTR tv72[ebp]
  00099	51		 push	 ecx
  0009a	8b 55 f4	 mov	 edx, DWORD PTR tv77[ebp]
  0009d	52		 push	 edx
  0009e	a1 28 00 00 00	 mov	 eax, DWORD PTR _xds+40
  000a3	6b c0 18	 imul	 eax, 24			; 00000018H
  000a6	8b 0d 10 00 00
	00		 mov	 ecx, DWORD PTR _xds+16
  000ac	8b 14 01	 mov	 edx, DWORD PTR [ecx+eax]
  000af	52		 push	 edx
  000b0	8b 45 f0	 mov	 eax, DWORD PTR tv85[ebp]
  000b3	50		 push	 eax
  000b4	8b 0d 24 00 00
	00		 mov	 ecx, DWORD PTR _xds+36
  000ba	51		 push	 ecx
  000bb	8b 15 20 00 00
	00		 mov	 edx, DWORD PTR _xds+32
  000c1	52		 push	 edx
  000c2	a1 1c 00 00 00	 mov	 eax, DWORD PTR _xds+28
  000c7	50		 push	 eax
  000c8	8b 0d 18 00 00
	00		 mov	 ecx, DWORD PTR _xds+24
  000ce	51		 push	 ecx
  000cf	e8 00 00 00 00	 call	 ?AddProgramme@@YAX_J0PA_W1111@Z ; AddProgramme
  000d4	83 c4 24	 add	 esp, 36			; 00000024H

; 600  : }

  000d7	8b e5		 mov	 esp, ebp
  000d9	5d		 pop	 ebp
  000da	c3		 ret	 0
?Xmltv_TsClose@@YAXXZ ENDP				; Xmltv_TsClose
END
