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

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

INCLUDELIB OLDNAMES

PUBLIC	??_C@_0BE@FHNPIPCP@UseOriginalCCMethod?$AA@	; `string'
PUBLIC	??_C@_0BH@INNADABE@Use?5Original?5CC?5Method?$AA@ ; `string'
PUBLIC	??_C@_0BA@KFMJLADB@SearchHighLight?$AA@		; `string'
PUBLIC	??_C@_0BB@NIBCNLMK@Search?5Highlight?$AA@	; `string'
PUBLIC	?DoWSS_OnChange@@YAHJ@Z				; DoWSS_OnChange
PUBLIC	??_C@_05GICAFPNP@DoWSS?$AA@			; `string'
PUBLIC	??_C@_03HHANIJIG@WSS?$AA@			; `string'
PUBLIC	??_C@_05NCNKIGOD@DoVPS?$AA@			; `string'
PUBLIC	??_C@_03MNPHFALK@VPS?$AA@			; `string'
PUBLIC	??_C@_0L@GAIELJHK@DoTeletext?$AA@		; `string'
PUBLIC	??_C@_08KLHHCJKI@Teletext?$AA@			; `string'
PUBLIC	??_C@_06KMOLABE@CCMode?$AA@			; `string'
PUBLIC	??_C@_03GCHINNHP@VBI?$AA@			; `string'
PUBLIC	??_C@_07NLPCAIPJ@CC?5Mode?$AA@			; `string'
PUBLIC	?Capture_VBI_OnChange@@YAHJ@Z			; Capture_VBI_OnChange
PUBLIC	??_C@_0L@CIOFFEOL@CaptureVBI?$AA@		; `string'
PUBLIC	??_C@_0M@LDPHBAKO@Capture?5VBI?$AA@		; `string'
PUBLIC	?bStopVBI@@3HA					; bStopVBI
PUBLIC	?VBIThread@@3PAXA				; VBIThread
PUBLIC	?VBI_thresh@@3EA				; VBI_thresh
PUBLIC	?VBIOffset@@3EA					; VBIOffset
PUBLIC	?bCaptureVBI@@3HA				; bCaptureVBI
PUBLIC	?DoTeletext@@3HA				; DoTeletext
PUBLIC	?DoVPS@@3HA					; DoVPS
PUBLIC	?DoWSS@@3HA					; DoWSS
PUBLIC	?bSearchHighlight@@3HA				; bSearchHighlight
PUBLIC	?bOldCCMethod@@3HA				; bOldCCMethod
PUBLIC	?CCMode@@3W4eCCMode@@A				; CCMode
PUBLIC	?VBISettings@@3PAUSETTING@@A			; VBISettings
PUBLIC	??_C@_1BM@LCCNFPLD@?$AAV?$AAB?$AAI?$AA?5?$AA?9?$AA?5?$AAC?$AAa?$AAp?$AAt?$AAu?$AAr?$AAe?$AA?$AA@ ; `string'
?bStopVBI@@3HA DD 01H DUP (?)				; bStopVBI
?VBIThread@@3PAXA DD 01H DUP (?)			; VBIThread
?VBI_thresh@@3EA DB 01H DUP (?)				; VBI_thresh
	ALIGN	4

?VBIOffset@@3EA DB 01H DUP (?)				; VBIOffset
	ALIGN	4

?bCaptureVBI@@3HA DD 01H DUP (?)			; bCaptureVBI
?DoTeletext@@3HA DD 01H DUP (?)				; DoTeletext
?DoVPS@@3HA DD	01H DUP (?)				; DoVPS
?DoWSS@@3HA DD	01H DUP (?)				; DoWSS
?bOldCCMethod@@3HA DD 01H DUP (?)			; bOldCCMethod
?CCMode@@3W4eCCMode@@A DD 01H DUP (?)			; CCMode
;	COMDAT ?PrevCCMode@?1??VBI_DecodeLine@@YAXPAEHH@Z@4W4eCCMode@@A
_BSS	SEGMENT
?PrevCCMode@?1??VBI_DecodeLine@@YAXPAEHH@Z@4W4eCCMode@@A DD 01H DUP (?) ; `VBI_DecodeLine'::`2'::PrevCCMode
;	COMDAT ??_C@_1BM@LCCNFPLD@?$AAV?$AAB?$AAI?$AA?5?$AA?9?$AA?5?$AAC?$AAa?$AAp?$AAt?$AAu?$AAr?$AAe?$AA?$AA@
CONST	SEGMENT
??_C@_1BM@LCCNFPLD@?$AAV?$AAB?$AAI?$AA?5?$AA?9?$AA?5?$AAC?$AAa?$AAp?$AAt?$AAu?$AAr?$AAe?$AA?$AA@ DB 'V'
	DB	00H, 'B', 00H, 'I', 00H, ' ', 00H, '-', 00H, ' ', 00H, 'C', 00H
	DB	'a', 00H, 'p', 00H, 't', 00H, 'u', 00H, 'r', 00H, 'e', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_0BE@FHNPIPCP@UseOriginalCCMethod?$AA@
CONST	SEGMENT
??_C@_0BE@FHNPIPCP@UseOriginalCCMethod?$AA@ DB 'UseOriginalCCMethod', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BH@INNADABE@Use?5Original?5CC?5Method?$AA@
CONST	SEGMENT
??_C@_0BH@INNADABE@Use?5Original?5CC?5Method?$AA@ DB 'Use Original CC Met'
	DB	'hod', 00H					; `string'
CONST	ENDS
;	COMDAT ??_C@_0BA@KFMJLADB@SearchHighLight?$AA@
CONST	SEGMENT
??_C@_0BA@KFMJLADB@SearchHighLight?$AA@ DB 'SearchHighLight', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BB@NIBCNLMK@Search?5Highlight?$AA@
CONST	SEGMENT
??_C@_0BB@NIBCNLMK@Search?5Highlight?$AA@ DB 'Search Highlight', 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_05GICAFPNP@DoWSS?$AA@
CONST	SEGMENT
??_C@_05GICAFPNP@DoWSS?$AA@ DB 'DoWSS', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03HHANIJIG@WSS?$AA@
CONST	SEGMENT
??_C@_03HHANIJIG@WSS?$AA@ DB 'WSS', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_05NCNKIGOD@DoVPS?$AA@
CONST	SEGMENT
??_C@_05NCNKIGOD@DoVPS?$AA@ DB 'DoVPS', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03MNPHFALK@VPS?$AA@
CONST	SEGMENT
??_C@_03MNPHFALK@VPS?$AA@ DB 'VPS', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@GAIELJHK@DoTeletext?$AA@
CONST	SEGMENT
??_C@_0L@GAIELJHK@DoTeletext?$AA@ DB 'DoTeletext', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_08KLHHCJKI@Teletext?$AA@
CONST	SEGMENT
??_C@_08KLHHCJKI@Teletext?$AA@ DB 'Teletext', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_06KMOLABE@CCMode?$AA@
CONST	SEGMENT
??_C@_06KMOLABE@CCMode?$AA@ DB 'CCMode', 00H		; `string'
CONST	ENDS
;	COMDAT ??_C@_03GCHINNHP@VBI?$AA@
CONST	SEGMENT
??_C@_03GCHINNHP@VBI?$AA@ DB 'VBI', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_07NLPCAIPJ@CC?5Mode?$AA@
CONST	SEGMENT
??_C@_07NLPCAIPJ@CC?5Mode?$AA@ DB 'CC Mode', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0L@CIOFFEOL@CaptureVBI?$AA@
CONST	SEGMENT
??_C@_0L@CIOFFEOL@CaptureVBI?$AA@ DB 'CaptureVBI', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_0M@LDPHBAKO@Capture?5VBI?$AA@
CONST	SEGMENT
??_C@_0M@LDPHBAKO@Capture?5VBI?$AA@ DB 'Capture VBI', 00H ; `string'
?bSearchHighlight@@3HA DD 01H				; bSearchHighlight
?VBISettings@@3PAUSETTING@@A DD FLAT:??_C@_0M@LDPHBAKO@Capture?5VBI?$AA@ ; VBISettings
	DD	01H
	DD	00H
	DD	FLAT:?bCaptureVBI@@3HA
	DD	00H
	DD	00H
	DD	01H
	DD	01H
	DD	01H
	DD	00H
	DD	FLAT:??_C@_04JLAJABDJ@Show?$AA@
	DD	FLAT:??_C@_0L@CIOFFEOL@CaptureVBI?$AA@
	DD	FLAT:?Capture_VBI_OnChange@@YAHJ@Z
	DD	FLAT:??_C@_07NLPCAIPJ@CC?5Mode?$AA@
	DD	04H
	DD	00H
	DD	FLAT:?CCMode@@3W4eCCMode@@A
	DD	00H
	DD	00H
	DD	08H
	DD	01H
	DD	01H
	DD	00H
	DD	FLAT:??_C@_03GCHINNHP@VBI?$AA@
	DD	FLAT:??_C@_06KMOLABE@CCMode?$AA@
	DD	00H
	DD	FLAT:??_C@_08KLHHCJKI@Teletext?$AA@
	DD	01H
	DD	00H
	DD	FLAT:?DoTeletext@@3HA
	DD	00H
	DD	00H
	DD	01H
	DD	01H
	DD	01H
	DD	00H
	DD	FLAT:??_C@_03GCHINNHP@VBI?$AA@
	DD	FLAT:??_C@_0L@GAIELJHK@DoTeletext?$AA@
	DD	00H
	DD	FLAT:??_C@_03MNPHFALK@VPS?$AA@
	DD	01H
	DD	00H
	DD	FLAT:?DoVPS@@3HA
	DD	00H
	DD	00H
	DD	01H
	DD	01H
	DD	01H
	DD	00H
	DD	FLAT:??_C@_03GCHINNHP@VBI?$AA@
	DD	FLAT:??_C@_05NCNKIGOD@DoVPS?$AA@
	DD	00H
	DD	FLAT:??_C@_03HHANIJIG@WSS?$AA@
	DD	01H
	DD	00H
	DD	FLAT:?DoWSS@@3HA
	DD	00H
	DD	00H
	DD	01H
	DD	01H
	DD	01H
	DD	00H
	DD	FLAT:??_C@_03GCHINNHP@VBI?$AA@
	DD	FLAT:??_C@_05GICAFPNP@DoWSS?$AA@
	DD	FLAT:?DoWSS_OnChange@@YAHJ@Z
	DD	FLAT:??_C@_0BB@NIBCNLMK@Search?5Highlight?$AA@
	DD	01H
	DD	00H
	DD	FLAT:?bSearchHighlight@@3HA
	DD	01H
	DD	00H
	DD	01H
	DD	01H
	DD	01H
	DD	00H
	DD	FLAT:??_C@_03GCHINNHP@VBI?$AA@
	DD	FLAT:??_C@_0BA@KFMJLADB@SearchHighLight?$AA@
	DD	FLAT:?VT_HilightSearchOnChange@@YAHJ@Z
	DD	FLAT:??_C@_0BH@INNADABE@Use?5Original?5CC?5Method?$AA@
	DD	01H
	DD	00H
	DD	FLAT:?bOldCCMethod@@3HA
	DD	01H
	DD	00H
	DD	01H
	DD	01H
	DD	01H
	DD	00H
	DD	FLAT:??_C@_03GCHINNHP@VBI?$AA@
	DD	FLAT:??_C@_0BE@FHNPIPCP@UseOriginalCCMethod?$AA@
	DD	00H
PUBLIC	?VBI_GetSetting@@YAPAUSETTING@@W4VBI_SETTING@@@Z ; VBI_GetSetting
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\vbi.cpp
;	COMDAT ?VBI_GetSetting@@YAPAUSETTING@@W4VBI_SETTING@@@Z
_TEXT	SEGMENT
_Setting$ = 8						; size = 4
?VBI_GetSetting@@YAPAUSETTING@@W4VBI_SETTING@@@Z PROC	; VBI_GetSetting, COMDAT

; 216  : {

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

; 217  :     if(Setting > -1 && Setting < VBI_SETTING_LASTONE)

  00003	83 7d 08 ff	 cmp	 DWORD PTR _Setting$[ebp], -1
  00007	7e 15		 jle	 SHORT $LN2@VBI_GetSet
  00009	83 7d 08 07	 cmp	 DWORD PTR _Setting$[ebp], 7
  0000d	7d 0f		 jge	 SHORT $LN2@VBI_GetSet

; 218  :     {
; 219  :         return &(VBISettings[Setting]);

  0000f	8b 45 08	 mov	 eax, DWORD PTR _Setting$[ebp]
  00012	6b c0 34	 imul	 eax, 52			; 00000034H
  00015	05 00 00 00 00	 add	 eax, OFFSET ?VBISettings@@3PAUSETTING@@A ; VBISettings
  0001a	eb 04		 jmp	 SHORT $LN3@VBI_GetSet

; 220  :     }
; 221  :     else

  0001c	eb 02		 jmp	 SHORT $LN3@VBI_GetSet
$LN2@VBI_GetSet:

; 222  :     {
; 223  :         return NULL;

  0001e	33 c0		 xor	 eax, eax
$LN3@VBI_GetSet:

; 224  :     }
; 225  : }

  00020	5d		 pop	 ebp
  00021	c3		 ret	 0
?VBI_GetSetting@@YAPAUSETTING@@W4VBI_SETTING@@@Z ENDP	; VBI_GetSetting
_TEXT	ENDS
PUBLIC	?VBI_AGC@@YAXPAEHHH@Z				; VBI_AGC
; Function compile flags: /Odtp
;	COMDAT ?VBI_AGC@@YAXPAEHHH@Z
_TEXT	SEGMENT
_max$ = -12						; size = 4
_min$ = -8						; size = 4
_i$ = -4						; size = 4
_Buffer$ = 8						; size = 4
_start$ = 12						; size = 4
_stop$ = 16						; size = 4
_step$ = 20						; size = 4
?VBI_AGC@@YAXPAEHHH@Z PROC				; VBI_AGC, COMDAT

; 132  : {

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

; 133  :     int i, min = 255, max = 0;

  00006	c7 45 f8 ff 00
	00 00		 mov	 DWORD PTR _min$[ebp], 255 ; 000000ffH
  0000d	c7 45 f4 00 00
	00 00		 mov	 DWORD PTR _max$[ebp], 0

; 134  : 
; 135  :     for (i = start; i < stop; i += step)

  00014	8b 45 0c	 mov	 eax, DWORD PTR _start$[ebp]
  00017	89 45 fc	 mov	 DWORD PTR _i$[ebp], eax
  0001a	eb 09		 jmp	 SHORT $LN6@VBI_AGC
$LN5@VBI_AGC:
  0001c	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  0001f	03 4d 14	 add	 ecx, DWORD PTR _step$[ebp]
  00022	89 4d fc	 mov	 DWORD PTR _i$[ebp], ecx
$LN6@VBI_AGC:
  00025	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00028	3b 55 10	 cmp	 edx, DWORD PTR _stop$[ebp]
  0002b	7d 38		 jge	 SHORT $LN4@VBI_AGC

; 136  :     {
; 137  :         if (Buffer[i] < min)

  0002d	8b 45 08	 mov	 eax, DWORD PTR _Buffer$[ebp]
  00030	03 45 fc	 add	 eax, DWORD PTR _i$[ebp]
  00033	0f b6 08	 movzx	 ecx, BYTE PTR [eax]
  00036	3b 4d f8	 cmp	 ecx, DWORD PTR _min$[ebp]
  00039	7d 0e		 jge	 SHORT $LN3@VBI_AGC

; 138  :         {
; 139  :             min = Buffer[i];

  0003b	8b 55 08	 mov	 edx, DWORD PTR _Buffer$[ebp]
  0003e	03 55 fc	 add	 edx, DWORD PTR _i$[ebp]
  00041	0f b6 02	 movzx	 eax, BYTE PTR [edx]
  00044	89 45 f8	 mov	 DWORD PTR _min$[ebp], eax
  00047	eb 1a		 jmp	 SHORT $LN2@VBI_AGC
$LN3@VBI_AGC:

; 140  :         }
; 141  :         else if (Buffer[i] > max)

  00049	8b 4d 08	 mov	 ecx, DWORD PTR _Buffer$[ebp]
  0004c	03 4d fc	 add	 ecx, DWORD PTR _i$[ebp]
  0004f	0f b6 11	 movzx	 edx, BYTE PTR [ecx]
  00052	3b 55 f4	 cmp	 edx, DWORD PTR _max$[ebp]
  00055	7e 0c		 jle	 SHORT $LN2@VBI_AGC

; 142  :         {
; 143  :             max = Buffer[i];

  00057	8b 45 08	 mov	 eax, DWORD PTR _Buffer$[ebp]
  0005a	03 45 fc	 add	 eax, DWORD PTR _i$[ebp]
  0005d	0f b6 08	 movzx	 ecx, BYTE PTR [eax]
  00060	89 4d f4	 mov	 DWORD PTR _max$[ebp], ecx
$LN2@VBI_AGC:

; 144  :         }
; 145  :     }

  00063	eb b7		 jmp	 SHORT $LN5@VBI_AGC
$LN4@VBI_AGC:

; 146  :     VBI_thresh = (max + min) / 2;

  00065	8b 45 f4	 mov	 eax, DWORD PTR _max$[ebp]
  00068	03 45 f8	 add	 eax, DWORD PTR _min$[ebp]
  0006b	99		 cdq
  0006c	2b c2		 sub	 eax, edx
  0006e	d1 f8		 sar	 eax, 1
  00070	a2 00 00 00 00	 mov	 BYTE PTR ?VBI_thresh@@3EA, al ; VBI_thresh

; 147  :     VBIOffset = 128 - VBI_thresh;

  00075	0f b6 15 00 00
	00 00		 movzx	 edx, BYTE PTR ?VBI_thresh@@3EA ; VBI_thresh
  0007c	b8 80 00 00 00	 mov	 eax, 128		; 00000080H
  00081	2b c2		 sub	 eax, edx
  00083	a2 00 00 00 00	 mov	 BYTE PTR ?VBIOffset@@3EA, al ; VBIOffset

; 148  : }

  00088	8b e5		 mov	 esp, ebp
  0008a	5d		 pop	 ebp
  0008b	c3		 ret	 0
?VBI_AGC@@YAXPAEHHH@Z ENDP				; VBI_AGC
_TEXT	ENDS
PUBLIC	?VBI_Exit@@YAXXZ				; VBI_Exit
; Function compile flags: /Odtp
;	COMDAT ?VBI_Exit@@YAXXZ
_TEXT	SEGMENT
?VBI_Exit@@YAXXZ PROC					; VBI_Exit, COMDAT

; 66   : {

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

; 67   :     VBI_VPS_Exit();

  00003	e8 00 00 00 00	 call	 ?VBI_VPS_Exit@@YAXXZ	; VBI_VPS_Exit

; 68   :     VBI_VT_Exit();

  00008	e8 00 00 00 00	 call	 ?VBI_VT_Exit@@YAXXZ	; VBI_VT_Exit

; 69   : }

  0000d	5d		 pop	 ebp
  0000e	c3		 ret	 0
?VBI_Exit@@YAXXZ ENDP					; VBI_Exit
; Function compile flags: /Odtp
;	COMDAT ?DoWSS_OnChange@@YAHJ@Z
_TEXT	SEGMENT
_NewValue$ = 8						; size = 4
?DoWSS_OnChange@@YAHJ@Z PROC				; DoWSS_OnChange, COMDAT

; 162  : {

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

; 163  :     DoWSS = (BOOL)NewValue;

  00003	8b 45 08	 mov	 eax, DWORD PTR _NewValue$[ebp]
  00006	a3 00 00 00 00	 mov	 DWORD PTR ?DoWSS@@3HA, eax ; DoWSS

; 164  :     WSS_init();

  0000b	e8 00 00 00 00	 call	 ?WSS_init@@YAXXZ	; WSS_init

; 165  :     return FALSE;

  00010	33 c0		 xor	 eax, eax

; 166  : }

  00012	5d		 pop	 ebp
  00013	c3		 ret	 0
?DoWSS_OnChange@@YAHJ@Z ENDP				; DoWSS_OnChange
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ?Capture_VBI_OnChange@@YAHJ@Z
_TEXT	SEGMENT
_NewValue$ = 8						; size = 4
?Capture_VBI_OnChange@@YAHJ@Z PROC			; Capture_VBI_OnChange, COMDAT

; 155  : {

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

; 156  :     bCaptureVBI = (BOOL)NewValue;

  00003	8b 45 08	 mov	 eax, DWORD PTR _NewValue$[ebp]
  00006	a3 00 00 00 00	 mov	 DWORD PTR ?bCaptureVBI@@3HA, eax ; bCaptureVBI

; 157  :     WSS_init();

  0000b	e8 00 00 00 00	 call	 ?WSS_init@@YAXXZ	; WSS_init

; 158  :     return FALSE;

  00010	33 c0		 xor	 eax, eax

; 159  : }

  00012	5d		 pop	 ebp
  00013	c3		 ret	 0
?Capture_VBI_OnChange@@YAHJ@Z ENDP			; Capture_VBI_OnChange
PUBLIC	?VBI_Init_data@@YAXN@Z				; VBI_Init_data
; Function compile flags: /Odtp
;	COMDAT ?VBI_Init_data@@YAXN@Z
_TEXT	SEGMENT
_Frequency$ = 8						; size = 8
?VBI_Init_data@@YAXN@Z PROC				; VBI_Init_data, COMDAT

; 72   : {

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

; 73   :     VT_Init_Data(Frequency);

  00003	83 ec 08	 sub	 esp, 8
  00006	dd 45 08	 fld	 QWORD PTR _Frequency$[ebp]
  00009	dd 1c 24	 fstp	 QWORD PTR [esp]
  0000c	e8 00 00 00 00	 call	 ?VT_Init_Data@@YAXN@Z	; VT_Init_Data

; 74   :     CC_Init_Data(Frequency);

  00011	dd 45 08	 fld	 QWORD PTR _Frequency$[ebp]
  00014	dd 1c 24	 fstp	 QWORD PTR [esp]
  00017	e8 00 00 00 00	 call	 ?CC_Init_Data@@YAXN@Z	; CC_Init_Data

; 75   :     VPS_Init_Data(Frequency);

  0001c	dd 45 08	 fld	 QWORD PTR _Frequency$[ebp]
  0001f	dd 1c 24	 fstp	 QWORD PTR [esp]
  00022	e8 00 00 00 00	 call	 ?VPS_Init_Data@@YAXN@Z	; VPS_Init_Data

; 76   :     WSS_Init_Data(Frequency);

  00027	dd 45 08	 fld	 QWORD PTR _Frequency$[ebp]
  0002a	dd 1c 24	 fstp	 QWORD PTR [esp]
  0002d	e8 00 00 00 00	 call	 ?WSS_Init_Data@@YAXN@Z	; WSS_Init_Data
  00032	83 c4 08	 add	 esp, 8

; 77   : }

  00035	5d		 pop	 ebp
  00036	c3		 ret	 0
?VBI_Init_data@@YAXN@Z ENDP				; VBI_Init_data
_TEXT	ENDS
PUBLIC	?VBI_Init@@YAXXZ				; VBI_Init
; Function compile flags: /Odtp
;	COMDAT ?VBI_Init@@YAXXZ
_TEXT	SEGMENT
?VBI_Init@@YAXXZ PROC					; VBI_Init, COMDAT

; 60   : {

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

; 61   :     VBI_VT_Init();

  00003	e8 00 00 00 00	 call	 ?VBI_VT_Init@@YAXXZ	; VBI_VT_Init

; 62   :     VBI_VPS_Init();

  00008	e8 00 00 00 00	 call	 ?VBI_VPS_Init@@YAXXZ	; VBI_VPS_Init

; 63   : }

  0000d	5d		 pop	 ebp
  0000e	c3		 ret	 0
?VBI_Init@@YAXXZ ENDP					; VBI_Init
PUBLIC	?VBI_DecodeLine@@YAXPAEHH@Z			; VBI_DecodeLine
; Function compile flags: /Odtp
;	COMDAT ?VBI_DecodeLine@@YAXPAEHH@Z
_TEXT	SEGMENT
tv67 = -8						; size = 4
_TVFormat$ = -4						; size = 4
_VBI_Buffer$ = 8					; size = 4
_line$ = 12						; size = 4
_IsOdd$ = 16						; size = 4
?VBI_DecodeLine@@YAXPAEHH@Z PROC			; VBI_DecodeLine, COMDAT

; 86   : {

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

; 87   :     static eCCMode PrevCCMode = CCMODE_OFF;
; 88   : 
; 89   :     TTVFormat* TVFormat = GetTVFormat(Providers_GetCurrentSource()->GetFormat());

  00006	e8 00 00 00 00	 call	 ?Providers_GetCurrentSource@@YAPAVCSource@@XZ ; Providers_GetCurrentSource
  0000b	89 45 f8	 mov	 DWORD PTR tv67[ebp], eax
  0000e	8b 45 f8	 mov	 eax, DWORD PTR tv67[ebp]
  00011	8b 10		 mov	 edx, DWORD PTR [eax]
  00013	8b 4d f8	 mov	 ecx, DWORD PTR tv67[ebp]
  00016	8b 42 64	 mov	 eax, DWORD PTR [edx+100]
  00019	ff d0		 call	 eax
  0001b	50		 push	 eax
  0001c	e8 00 00 00 00	 call	 ?GetTVFormat@@YAPAUTTVFormat@@W4eVideoFormat@@@Z ; GetTVFormat
  00021	83 c4 04	 add	 esp, 4
  00024	89 45 fc	 mov	 DWORD PTR _TVFormat$[ebp], eax

; 90   : 
; 91   :     // set up threshold and offset data
; 92   :     VBI_AGC(VBI_Buffer, 120, 450, 1);

  00027	6a 01		 push	 1
  00029	68 c2 01 00 00	 push	 450			; 000001c2H
  0002e	6a 78		 push	 120			; 00000078H
  00030	8b 4d 08	 mov	 ecx, DWORD PTR _VBI_Buffer$[ebp]
  00033	51		 push	 ecx
  00034	e8 00 00 00 00	 call	 ?VBI_AGC@@YAXPAEHHH@Z	; VBI_AGC
  00039	83 c4 10	 add	 esp, 16			; 00000010H

; 93   : 
; 94   :     // all kinds of data with videotext data format: videotext, intercast, ...
; 95   :     if (DoTeletext)

  0003c	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?DoTeletext@@3HA, 0 ; DoTeletext
  00043	74 0c		 je	 SHORT $LN5@VBI_Decode@5

; 96   :     {
; 97   :         VBI_DecodeLine_VT(VBI_Buffer);

  00045	8b 55 08	 mov	 edx, DWORD PTR _VBI_Buffer$[ebp]
  00048	52		 push	 edx
  00049	e8 00 00 00 00	 call	 ?VBI_DecodeLine_VT@@YAXPAE@Z ; VBI_DecodeLine_VT
  0004e	83 c4 04	 add	 esp, 4
$LN5@VBI_Decode@5:

; 98   :     }
; 99   : 
; 100  :     // If the user has just changed CC selection, then we erase the CC display
; 101  :      if (PrevCCMode != CCMode)

  00051	a1 00 00 00 00	 mov	 eax, DWORD PTR ?PrevCCMode@?1??VBI_DecodeLine@@YAXPAEHH@Z@4W4eCCMode@@A
  00056	3b 05 00 00 00
	00		 cmp	 eax, DWORD PTR ?CCMode@@3W4eCCMode@@A ; CCMode
  0005c	74 12		 je	 SHORT $LN4@VBI_Decode@5

; 102  :     {
; 103  :         VBI_DecodeLine_CC(VBI_Buffer, CCMODE_OFF, IsOdd);

  0005e	8b 4d 10	 mov	 ecx, DWORD PTR _IsOdd$[ebp]
  00061	51		 push	 ecx
  00062	6a 00		 push	 0
  00064	8b 55 08	 mov	 edx, DWORD PTR _VBI_Buffer$[ebp]
  00067	52		 push	 edx
  00068	e8 00 00 00 00	 call	 ?VBI_DecodeLine_CC@@YAHPAEW4eCCMode@@H@Z ; VBI_DecodeLine_CC
  0006d	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN4@VBI_Decode@5:

; 104  :     }
; 105  : 
; 106  :    // Closed caption information appears on line 21 (line == 11) for NTSC
; 107  :     // it also appears on PAL videos at line 22
; 108  :     // see http://www.wgbh.org/wgbh/pages/captioncenter/cctechfacts4.html
; 109  :     // for more infomation
; 110  :     if ((CCMode != CCMODE_OFF) && line == TVFormat->CC_Line)

  00070	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?CCMode@@3W4eCCMode@@A, 0 ; CCMode
  00077	74 22		 je	 SHORT $LN3@VBI_Decode@5
  00079	8b 45 fc	 mov	 eax, DWORD PTR _TVFormat$[ebp]
  0007c	0f b7 48 2c	 movzx	 ecx, WORD PTR [eax+44]
  00080	39 4d 0c	 cmp	 DWORD PTR _line$[ebp], ecx
  00083	75 16		 jne	 SHORT $LN3@VBI_Decode@5

; 111  :     {
; 112  :         VBI_DecodeLine_CC(VBI_Buffer, CCMode, IsOdd);

  00085	8b 55 10	 mov	 edx, DWORD PTR _IsOdd$[ebp]
  00088	52		 push	 edx
  00089	a1 00 00 00 00	 mov	 eax, DWORD PTR ?CCMode@@3W4eCCMode@@A ; CCMode
  0008e	50		 push	 eax
  0008f	8b 4d 08	 mov	 ecx, DWORD PTR _VBI_Buffer$[ebp]
  00092	51		 push	 ecx
  00093	e8 00 00 00 00	 call	 ?VBI_DecodeLine_CC@@YAHPAEW4eCCMode@@H@Z ; VBI_DecodeLine_CC
  00098	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN3@VBI_Decode@5:

; 113  :     }
; 114  : 
; 115  :     // VPS information with channel name, time, VCR programming Info, etc.
; 116  :     if (DoVPS && !IsOdd && (line == 9))

  0009b	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?DoVPS@@3HA, 0 ; DoVPS
  000a2	74 18		 je	 SHORT $LN2@VBI_Decode@5
  000a4	83 7d 10 00	 cmp	 DWORD PTR _IsOdd$[ebp], 0
  000a8	75 12		 jne	 SHORT $LN2@VBI_Decode@5
  000aa	83 7d 0c 09	 cmp	 DWORD PTR _line$[ebp], 9
  000ae	75 0c		 jne	 SHORT $LN2@VBI_Decode@5

; 117  :     {
; 118  :         VBI_DecodeLine_VPS(VBI_Buffer);

  000b0	8b 55 08	 mov	 edx, DWORD PTR _VBI_Buffer$[ebp]
  000b3	52		 push	 edx
  000b4	e8 00 00 00 00	 call	 ?VBI_DecodeLine_VPS@@YAXPAE@Z ; VBI_DecodeLine_VPS
  000b9	83 c4 04	 add	 esp, 4
$LN2@VBI_Decode@5:

; 119  :     }
; 120  : 
; 121  :     // WSS information with source aspect ratio.
; 122  :     if (DoWSS && !IsOdd && (line == TVFormat->WSS_Line))

  000bc	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?DoWSS@@3HA, 0 ; DoWSS
  000c3	74 1e		 je	 SHORT $LN1@VBI_Decode@5
  000c5	83 7d 10 00	 cmp	 DWORD PTR _IsOdd$[ebp], 0
  000c9	75 18		 jne	 SHORT $LN1@VBI_Decode@5
  000cb	8b 45 fc	 mov	 eax, DWORD PTR _TVFormat$[ebp]
  000ce	0f b7 48 2e	 movzx	 ecx, WORD PTR [eax+46]
  000d2	39 4d 0c	 cmp	 DWORD PTR _line$[ebp], ecx
  000d5	75 0c		 jne	 SHORT $LN1@VBI_Decode@5

; 123  :     {
; 124  : //        LOG(1, _T("WSS VBI_thresh %d VBIOffset %d"), VBI_thresh, VBIOffset);
; 125  :         VBI_DecodeLine_WSS(VBI_Buffer);

  000d7	8b 55 08	 mov	 edx, DWORD PTR _VBI_Buffer$[ebp]
  000da	52		 push	 edx
  000db	e8 00 00 00 00	 call	 ?VBI_DecodeLine_WSS@@YAHPAE@Z ; VBI_DecodeLine_WSS
  000e0	83 c4 04	 add	 esp, 4
$LN1@VBI_Decode@5:

; 126  :     }
; 127  : 
; 128  :     PrevCCMode = CCMode;

  000e3	a1 00 00 00 00	 mov	 eax, DWORD PTR ?CCMode@@3W4eCCMode@@A ; CCMode
  000e8	a3 00 00 00 00	 mov	 DWORD PTR ?PrevCCMode@?1??VBI_DecodeLine@@YAXPAEHH@Z@4W4eCCMode@@A, eax

; 129  : }

  000ed	8b e5		 mov	 esp, ebp
  000ef	5d		 pop	 ebp
  000f0	c3		 ret	 0
?VBI_DecodeLine@@YAXPAEHH@Z ENDP			; VBI_DecodeLine
PUBLIC	?VBI_SetMenu@@YAXPAUHMENU__@@@Z			; VBI_SetMenu
; Function compile flags: /Odtp
;	COMDAT ?VBI_SetMenu@@YAXPAUHMENU__@@@Z
_TEXT	SEGMENT
tv164 = -24						; size = 4
tv157 = -20						; size = 4
tv150 = -16						; size = 4
tv73 = -12						; size = 4
_LockWSS$ = -8						; size = 4
_i$ = -4						; size = 4
_hMenu$ = 8						; size = 4
?VBI_SetMenu@@YAXPAUHMENU__@@@Z PROC			; VBI_SetMenu, COMDAT

; 262  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 18	 sub	 esp, 24			; 00000018H

; 263  :     int i = Setting_GetValue(WM_ASPECT_GETVALUE, AUTODETECTASPECT);

  00006	6a 07		 push	 7
  00008	68 01 80 00 00	 push	 32769			; 00008001H
  0000d	e8 00 00 00 00	 call	 ?Setting_GetValue@@YAJJJ@Z ; Setting_GetValue
  00012	83 c4 08	 add	 esp, 8
  00015	89 45 fc	 mov	 DWORD PTR _i$[ebp], eax

; 264  :     BOOL LockWSS = (i == 2) || ( (i == 1) && Setting_GetValue(WM_ASPECT_GETVALUE, USEWSS)) ;

  00018	83 7d fc 02	 cmp	 DWORD PTR _i$[ebp], 2
  0001c	74 22		 je	 SHORT $LN12@VBI_SetMen
  0001e	83 7d fc 01	 cmp	 DWORD PTR _i$[ebp], 1
  00022	75 13		 jne	 SHORT $LN11@VBI_SetMen
  00024	6a 23		 push	 35			; 00000023H
  00026	68 01 80 00 00	 push	 32769			; 00008001H
  0002b	e8 00 00 00 00	 call	 ?Setting_GetValue@@YAJJJ@Z ; Setting_GetValue
  00030	83 c4 08	 add	 esp, 8
  00033	85 c0		 test	 eax, eax
  00035	75 09		 jne	 SHORT $LN12@VBI_SetMen
$LN11@VBI_SetMen:
  00037	c7 45 f4 00 00
	00 00		 mov	 DWORD PTR tv73[ebp], 0
  0003e	eb 07		 jmp	 SHORT $LN13@VBI_SetMen
$LN12@VBI_SetMen:
  00040	c7 45 f4 01 00
	00 00		 mov	 DWORD PTR tv73[ebp], 1
$LN13@VBI_SetMen:
  00047	8b 45 f4	 mov	 eax, DWORD PTR tv73[ebp]
  0004a	89 45 f8	 mov	 DWORD PTR _LockWSS$[ebp], eax

; 265  : 
; 266  :     EnableMenuItem(hMenu, IDM_PDC_OUT, MF_GRAYED);

  0004d	6a 01		 push	 1
  0004f	68 81 01 00 00	 push	 385			; 00000181H
  00054	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  00057	51		 push	 ecx
  00058	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 267  :     EnableMenuItem(hMenu, IDM_VT_OUT, MF_GRAYED);

  0005e	6a 01		 push	 1
  00060	68 83 01 00 00	 push	 387			; 00000183H
  00065	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  00068	52		 push	 edx
  00069	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 268  :     EnableMenuItem(hMenu, IDM_VPS_OUT, MF_GRAYED);

  0006f	6a 01		 push	 1
  00071	68 85 01 00 00	 push	 389			; 00000185H
  00076	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  00079	50		 push	 eax
  0007a	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 269  : 
; 270  :     EnableMenuItem(hMenu, IDM_VBI, LockWSS ? MF_GRAYED : MF_ENABLED);

  00080	33 c9		 xor	 ecx, ecx
  00082	83 7d f8 00	 cmp	 DWORD PTR _LockWSS$[ebp], 0
  00086	0f 95 c1	 setne	 cl
  00089	51		 push	 ecx
  0008a	68 e7 00 00 00	 push	 231			; 000000e7H
  0008f	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  00092	52		 push	 edx
  00093	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 271  :     CheckMenuItemBool(hMenu, IDM_VBI, bCaptureVBI);

  00099	a1 00 00 00 00	 mov	 eax, DWORD PTR ?bCaptureVBI@@3HA ; bCaptureVBI
  0009e	f7 d8		 neg	 eax
  000a0	1b c0		 sbb	 eax, eax
  000a2	83 e0 08	 and	 eax, 8
  000a5	50		 push	 eax
  000a6	68 e7 00 00 00	 push	 231			; 000000e7H
  000ab	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  000ae	51		 push	 ecx
  000af	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 272  :     if (bCaptureVBI == TRUE)

  000b5	83 3d 00 00 00
	00 01		 cmp	 DWORD PTR ?bCaptureVBI@@3HA, 1 ; bCaptureVBI
  000bc	0f 85 6e 02 00
	00		 jne	 $LN8@VBI_SetMen

; 273  :     {
; 274  :         // set vt dialog menu items up
; 275  :         EnableMenuItem(hMenu, IDM_CALL_VIDEOTEXT, (DoTeletext) ? MF_ENABLED : MF_GRAYED);

  000c2	33 d2		 xor	 edx, edx
  000c4	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?DoTeletext@@3HA, 0 ; DoTeletext
  000cb	0f 94 c2	 sete	 dl
  000ce	52		 push	 edx
  000cf	68 f5 00 00 00	 push	 245			; 000000f5H
  000d4	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  000d7	50		 push	 eax
  000d8	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 276  :         EnableMenuItem(hMenu, IDM_VT_MIXEDMODE, (DoTeletext) ? MF_ENABLED : MF_GRAYED);

  000de	33 c9		 xor	 ecx, ecx
  000e0	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?DoTeletext@@3HA, 0 ; DoTeletext
  000e7	0f 94 c1	 sete	 cl
  000ea	51		 push	 ecx
  000eb	68 f6 00 00 00	 push	 246			; 000000f6H
  000f0	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  000f3	52		 push	 edx
  000f4	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 277  :         EnableMenuItem(hMenu, IDM_VT_RESET, (DoTeletext) ? MF_ENABLED : MF_GRAYED);

  000fa	33 c0		 xor	 eax, eax
  000fc	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?DoTeletext@@3HA, 0 ; DoTeletext
  00103	0f 94 c0	 sete	 al
  00106	50		 push	 eax
  00107	68 05 01 00 00	 push	 261			; 00000105H
  0010c	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  0010f	51		 push	 ecx
  00110	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 278  :         EnableMenuItem(hMenu, IDM_VT_OUT, (DoTeletext) ? MF_ENABLED : MF_GRAYED);

  00116	33 d2		 xor	 edx, edx
  00118	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?DoTeletext@@3HA, 0 ; DoTeletext
  0011f	0f 94 c2	 sete	 dl
  00122	52		 push	 edx
  00123	68 83 01 00 00	 push	 387			; 00000183H
  00128	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  0012b	50		 push	 eax
  0012c	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 279  :         EnableMenuItem(hMenu, IDM_VT_SEARCH, (DoTeletext && VT_GetState() != VT_OFF) ? MF_ENABLED : MF_GRAYED);

  00132	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?DoTeletext@@3HA, 0 ; DoTeletext
  00139	74 12		 je	 SHORT $LN14@VBI_SetMen
  0013b	e8 00 00 00 00	 call	 ?VT_GetState@@YA?AW4eVTState@@XZ ; VT_GetState
  00140	85 c0		 test	 eax, eax
  00142	74 09		 je	 SHORT $LN14@VBI_SetMen
  00144	c7 45 f0 00 00
	00 00		 mov	 DWORD PTR tv150[ebp], 0
  0014b	eb 07		 jmp	 SHORT $LN15@VBI_SetMen
$LN14@VBI_SetMen:
  0014d	c7 45 f0 01 00
	00 00		 mov	 DWORD PTR tv150[ebp], 1
$LN15@VBI_SetMen:
  00154	8b 4d f0	 mov	 ecx, DWORD PTR tv150[ebp]
  00157	51		 push	 ecx
  00158	68 08 80 00 00	 push	 32776			; 00008008H
  0015d	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  00160	52		 push	 edx
  00161	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 280  :         EnableMenuItem(hMenu, IDM_VT_SEARCHNEXT, (DoTeletext && VT_GetState() != VT_OFF) ? MF_ENABLED : MF_GRAYED);

  00167	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?DoTeletext@@3HA, 0 ; DoTeletext
  0016e	74 12		 je	 SHORT $LN16@VBI_SetMen
  00170	e8 00 00 00 00	 call	 ?VT_GetState@@YA?AW4eVTState@@XZ ; VT_GetState
  00175	85 c0		 test	 eax, eax
  00177	74 09		 je	 SHORT $LN16@VBI_SetMen
  00179	c7 45 ec 00 00
	00 00		 mov	 DWORD PTR tv157[ebp], 0
  00180	eb 07		 jmp	 SHORT $LN17@VBI_SetMen
$LN16@VBI_SetMen:
  00182	c7 45 ec 01 00
	00 00		 mov	 DWORD PTR tv157[ebp], 1
$LN17@VBI_SetMen:
  00189	8b 45 ec	 mov	 eax, DWORD PTR tv157[ebp]
  0018c	50		 push	 eax
  0018d	68 09 80 00 00	 push	 32777			; 00008009H
  00192	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  00195	51		 push	 ecx
  00196	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 281  :         EnableMenuItem(hMenu, IDM_VT_SEARCHHIGHLIGHT, (DoTeletext && VT_GetState() != VT_OFF) ? MF_ENABLED : MF_GRAYED);

  0019c	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?DoTeletext@@3HA, 0 ; DoTeletext
  001a3	74 12		 je	 SHORT $LN18@VBI_SetMen
  001a5	e8 00 00 00 00	 call	 ?VT_GetState@@YA?AW4eVTState@@XZ ; VT_GetState
  001aa	85 c0		 test	 eax, eax
  001ac	74 09		 je	 SHORT $LN18@VBI_SetMen
  001ae	c7 45 e8 00 00
	00 00		 mov	 DWORD PTR tv164[ebp], 0
  001b5	eb 07		 jmp	 SHORT $LN19@VBI_SetMen
$LN18@VBI_SetMen:
  001b7	c7 45 e8 01 00
	00 00		 mov	 DWORD PTR tv164[ebp], 1
$LN19@VBI_SetMen:
  001be	8b 55 e8	 mov	 edx, DWORD PTR tv164[ebp]
  001c1	52		 push	 edx
  001c2	68 13 80 00 00	 push	 32787			; 00008013H
  001c7	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  001ca	50		 push	 eax
  001cb	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 282  :         EnableMenuItem(hMenu, IDM_VT_ANTIALIAS, DoTeletext ? MF_ENABLED : MF_GRAYED);

  001d1	33 c9		 xor	 ecx, ecx
  001d3	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?DoTeletext@@3HA, 0 ; DoTeletext
  001da	0f 94 c1	 sete	 cl
  001dd	51		 push	 ecx
  001de	68 10 80 00 00	 push	 32784			; 00008010H
  001e3	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  001e6	52		 push	 edx
  001e7	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 283  :         EnableMenuItem(hMenu, IDM_VT_GOTO, (DoTeletext) ? MF_ENABLED : MF_GRAYED);

  001ed	33 c0		 xor	 eax, eax
  001ef	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?DoTeletext@@3HA, 0 ; DoTeletext
  001f6	0f 94 c0	 sete	 al
  001f9	50		 push	 eax
  001fa	68 51 80 00 00	 push	 32849			; 00008051H
  001ff	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  00202	51		 push	 ecx
  00203	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 284  :         EnableMenuItem(hMenu, IDM_VPS_OUT, (DoVPS) ? MF_ENABLED : MF_GRAYED);

  00209	33 d2		 xor	 edx, edx
  0020b	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?DoVPS@@3HA, 0 ; DoVPS
  00212	0f 94 c2	 sete	 dl
  00215	52		 push	 edx
  00216	68 85 01 00 00	 push	 389			; 00000185H
  0021b	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  0021e	50		 push	 eax
  0021f	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 285  :         EnableMenuItem(hMenu, IDM_VBI_VT, MF_ENABLED);

  00225	6a 00		 push	 0
  00227	68 7d 01 00 00	 push	 381			; 0000017dH
  0022c	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  0022f	51		 push	 ecx
  00230	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 286  :         EnableMenuItem(hMenu, IDM_VBI_VPS, MF_ENABLED);

  00236	6a 00		 push	 0
  00238	68 7b 01 00 00	 push	 379			; 0000017bH
  0023d	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  00240	52		 push	 edx
  00241	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 287  :         EnableMenuItem(hMenu, IDM_VBI_WSS, LockWSS ? MF_GRAYED : MF_ENABLED);

  00247	33 c0		 xor	 eax, eax
  00249	83 7d f8 00	 cmp	 DWORD PTR _LockWSS$[ebp], 0
  0024d	0f 95 c0	 setne	 al
  00250	50		 push	 eax
  00251	68 2e 03 00 00	 push	 814			; 0000032eH
  00256	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  00259	51		 push	 ecx
  0025a	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 288  :         CheckMenuItemBool(hMenu, IDM_VBI_VT, DoTeletext);

  00260	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?DoTeletext@@3HA ; DoTeletext
  00266	f7 da		 neg	 edx
  00268	1b d2		 sbb	 edx, edx
  0026a	83 e2 08	 and	 edx, 8
  0026d	52		 push	 edx
  0026e	68 7d 01 00 00	 push	 381			; 0000017dH
  00273	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  00276	50		 push	 eax
  00277	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 289  :         CheckMenuItemBool(hMenu, IDM_VBI_VPS, DoVPS);

  0027d	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?DoVPS@@3HA ; DoVPS
  00283	f7 d9		 neg	 ecx
  00285	1b c9		 sbb	 ecx, ecx
  00287	83 e1 08	 and	 ecx, 8
  0028a	51		 push	 ecx
  0028b	68 7b 01 00 00	 push	 379			; 0000017bH
  00290	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  00293	52		 push	 edx
  00294	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 290  :         CheckMenuItemBool(hMenu, IDM_VBI_WSS, DoWSS);

  0029a	a1 00 00 00 00	 mov	 eax, DWORD PTR ?DoWSS@@3HA ; DoWSS
  0029f	f7 d8		 neg	 eax
  002a1	1b c0		 sbb	 eax, eax
  002a3	83 e0 08	 and	 eax, 8
  002a6	50		 push	 eax
  002a7	68 2e 03 00 00	 push	 814			; 0000032eH
  002ac	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  002af	51		 push	 ecx
  002b0	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 291  :         CheckMenuItemBool(hMenu, IDM_VT_SEARCHHIGHLIGHT, bSearchHighlight);

  002b6	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?bSearchHighlight@@3HA ; bSearchHighlight
  002bc	f7 da		 neg	 edx
  002be	1b d2		 sbb	 edx, edx
  002c0	83 e2 08	 and	 edx, 8
  002c3	52		 push	 edx
  002c4	68 13 80 00 00	 push	 32787			; 00008013H
  002c9	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  002cc	50		 push	 eax
  002cd	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 292  :         for(i = CCMODE_OFF; i <= CCMODE_TEXT4; i++)

  002d3	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  002da	eb 09		 jmp	 SHORT $LN7@VBI_SetMen
$LN6@VBI_SetMen:
  002dc	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  002df	83 c1 01	 add	 ecx, 1
  002e2	89 4d fc	 mov	 DWORD PTR _i$[ebp], ecx
$LN7@VBI_SetMen:
  002e5	83 7d fc 08	 cmp	 DWORD PTR _i$[ebp], 8
  002e9	7f 40		 jg	 SHORT $LN5@VBI_SetMen

; 293  :         {
; 294  :             EnableMenuItem(hMenu, IDM_CCOFF + i, MF_ENABLED);

  002eb	6a 00		 push	 0
  002ed	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  002f0	81 c2 1b 03 00
	00		 add	 edx, 795		; 0000031bH
  002f6	52		 push	 edx
  002f7	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  002fa	50		 push	 eax
  002fb	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 295  :             CheckMenuItemBool(hMenu, IDM_CCOFF + i, (CCMode == i));

  00301	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?CCMode@@3W4eCCMode@@A ; CCMode
  00307	2b 4d fc	 sub	 ecx, DWORD PTR _i$[ebp]
  0030a	f7 d9		 neg	 ecx
  0030c	1b c9		 sbb	 ecx, ecx
  0030e	83 e1 f8	 and	 ecx, -8			; fffffff8H
  00311	83 c1 08	 add	 ecx, 8
  00314	51		 push	 ecx
  00315	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00318	81 c2 1b 03 00
	00		 add	 edx, 795		; 0000031bH
  0031e	52		 push	 edx
  0031f	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  00322	50		 push	 eax
  00323	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CheckMenuItem@12

; 296  :         }

  00329	eb b1		 jmp	 SHORT $LN6@VBI_SetMen
$LN5@VBI_SetMen:

; 297  :     }
; 298  :     else

  0032b	e9 0c 01 00 00	 jmp	 $LN9@VBI_SetMen
$LN8@VBI_SetMen:

; 299  :     {
; 300  :         EnableMenuItem(hMenu, IDM_VBI_VT, MF_GRAYED);

  00330	6a 01		 push	 1
  00332	68 7d 01 00 00	 push	 381			; 0000017dH
  00337	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  0033a	51		 push	 ecx
  0033b	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 301  :         EnableMenuItem(hMenu, IDM_VBI_VPS, MF_GRAYED);

  00341	6a 01		 push	 1
  00343	68 7b 01 00 00	 push	 379			; 0000017bH
  00348	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  0034b	52		 push	 edx
  0034c	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 302  :         EnableMenuItem(hMenu, IDM_VBI_WSS, MF_GRAYED);

  00352	6a 01		 push	 1
  00354	68 2e 03 00 00	 push	 814			; 0000032eH
  00359	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  0035c	50		 push	 eax
  0035d	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 303  :         EnableMenuItem(hMenu, IDM_CALL_VIDEOTEXT, MF_GRAYED);

  00363	6a 01		 push	 1
  00365	68 f5 00 00 00	 push	 245			; 000000f5H
  0036a	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  0036d	51		 push	 ecx
  0036e	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 304  :         EnableMenuItem(hMenu, IDM_VT_MIXEDMODE, MF_GRAYED);

  00374	6a 01		 push	 1
  00376	68 f6 00 00 00	 push	 246			; 000000f6H
  0037b	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  0037e	52		 push	 edx
  0037f	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 305  :         EnableMenuItem(hMenu, IDM_VT_RESET, MF_GRAYED);

  00385	6a 01		 push	 1
  00387	68 05 01 00 00	 push	 261			; 00000105H
  0038c	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  0038f	50		 push	 eax
  00390	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 306  :         EnableMenuItem(hMenu, IDM_VT_OUT, MF_GRAYED);

  00396	6a 01		 push	 1
  00398	68 83 01 00 00	 push	 387			; 00000183H
  0039d	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  003a0	51		 push	 ecx
  003a1	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 307  :         EnableMenuItem(hMenu, IDM_VT_SEARCH, MF_GRAYED);

  003a7	6a 01		 push	 1
  003a9	68 08 80 00 00	 push	 32776			; 00008008H
  003ae	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  003b1	52		 push	 edx
  003b2	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 308  :         EnableMenuItem(hMenu, IDM_VT_SEARCHNEXT, MF_GRAYED);

  003b8	6a 01		 push	 1
  003ba	68 09 80 00 00	 push	 32777			; 00008009H
  003bf	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  003c2	50		 push	 eax
  003c3	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 309  :         EnableMenuItem(hMenu, IDM_VT_SEARCHHIGHLIGHT, MF_GRAYED);

  003c9	6a 01		 push	 1
  003cb	68 13 80 00 00	 push	 32787			; 00008013H
  003d0	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  003d3	51		 push	 ecx
  003d4	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 310  :         EnableMenuItem(hMenu, IDM_VT_ANTIALIAS, MF_GRAYED);

  003da	6a 01		 push	 1
  003dc	68 10 80 00 00	 push	 32784			; 00008010H
  003e1	8b 55 08	 mov	 edx, DWORD PTR _hMenu$[ebp]
  003e4	52		 push	 edx
  003e5	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 311  :         EnableMenuItem(hMenu, IDM_VT_GOTO, MF_GRAYED);

  003eb	6a 01		 push	 1
  003ed	68 51 80 00 00	 push	 32849			; 00008051H
  003f2	8b 45 08	 mov	 eax, DWORD PTR _hMenu$[ebp]
  003f5	50		 push	 eax
  003f6	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 312  :         EnableMenuItem(hMenu, IDM_VPS_OUT, MF_GRAYED);

  003fc	6a 01		 push	 1
  003fe	68 85 01 00 00	 push	 389			; 00000185H
  00403	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  00406	51		 push	 ecx
  00407	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 313  :         for(i = CCMODE_OFF; i <= CCMODE_TEXT4; i++)

  0040d	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  00414	eb 09		 jmp	 SHORT $LN3@VBI_SetMen
$LN2@VBI_SetMen:
  00416	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00419	83 c2 01	 add	 edx, 1
  0041c	89 55 fc	 mov	 DWORD PTR _i$[ebp], edx
$LN3@VBI_SetMen:
  0041f	83 7d fc 08	 cmp	 DWORD PTR _i$[ebp], 8
  00423	7f 17		 jg	 SHORT $LN9@VBI_SetMen

; 314  :         {
; 315  :             EnableMenuItem(hMenu, IDM_CCOFF + i, MF_GRAYED);

  00425	6a 01		 push	 1
  00427	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  0042a	05 1b 03 00 00	 add	 eax, 795		; 0000031bH
  0042f	50		 push	 eax
  00430	8b 4d 08	 mov	 ecx, DWORD PTR _hMenu$[ebp]
  00433	51		 push	 ecx
  00434	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EnableMenuItem@12

; 316  :         }

  0043a	eb da		 jmp	 SHORT $LN2@VBI_SetMen
$LN9@VBI_SetMen:

; 317  :     }
; 318  : }

  0043c	8b e5		 mov	 esp, ebp
  0043e	5d		 pop	 ebp
  0043f	c3		 ret	 0
?VBI_SetMenu@@YAXPAUHMENU__@@@Z ENDP			; VBI_SetMenu
PUBLIC	?VBI_ChannelChange@@YAXXZ			; VBI_ChannelChange
; Function compile flags: /Odtp
;	COMDAT ?VBI_ChannelChange@@YAXXZ
_TEXT	SEGMENT
?VBI_ChannelChange@@YAXXZ PROC				; VBI_ChannelChange, COMDAT

; 80   : {

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

; 81   :     VT_ChannelChange();

  00003	e8 00 00 00 00	 call	 ?VT_ChannelChange@@YAXXZ ; VT_ChannelChange

; 82   :     VPS_ChannelChange();

  00008	e8 00 00 00 00	 call	 ?VPS_ChannelChange@@YAXXZ ; VPS_ChannelChange

; 83   : }

  0000d	5d		 pop	 ebp
  0000e	c3		 ret	 0
?VBI_ChannelChange@@YAXXZ ENDP				; VBI_ChannelChange
PUBLIC	?VBI_WriteSettingsToIni@@YAXH@Z			; VBI_WriteSettingsToIni
; Function compile flags: /Odtp
;	COMDAT ?VBI_WriteSettingsToIni@@YAXH@Z
_TEXT	SEGMENT
_bOptimizeFileAccess$ = 8				; size = 4
?VBI_WriteSettingsToIni@@YAXH@Z PROC			; VBI_WriteSettingsToIni, COMDAT

; 257  : {

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

; 258  :     VBISettingsHolder.WriteToIni(bOptimizeFileAccess);

  00003	8b 45 08	 mov	 eax, DWORD PTR _bOptimizeFileAccess$[ebp]
  00006	50		 push	 eax
  00007	b9 00 00 00 00	 mov	 ecx, OFFSET ?VBISettingsHolder@@3VCSettingsHolder@@A ; VBISettingsHolder
  0000c	e8 00 00 00 00	 call	 ?WriteToIni@CSettingsHolder@@QAEXH@Z ; CSettingsHolder::WriteToIni

; 259  : }

  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
?VBI_WriteSettingsToIni@@YAXH@Z ENDP			; VBI_WriteSettingsToIni
PUBLIC	?VBI_ReadSettingsFromIni@@YAXXZ			; VBI_ReadSettingsFromIni
; Function compile flags: /Odtp
;	COMDAT ?VBI_ReadSettingsFromIni@@YAXXZ
_TEXT	SEGMENT
_pCaptureGroup$141994 = -4				; size = 4
?VBI_ReadSettingsFromIni@@YAXXZ PROC			; VBI_ReadSettingsFromIni, COMDAT

; 230  : {

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

; 231  :     if(VBISettingsHolder.GetNumSettings() == 0)

  00004	b9 00 00 00 00	 mov	 ecx, OFFSET ?VBISettingsHolder@@3VCSettingsHolder@@A ; VBISettingsHolder
  00009	e8 00 00 00 00	 call	 ?GetNumSettings@CSettingsHolder@@QAEJXZ ; CSettingsHolder::GetNumSettings
  0000e	85 c0		 test	 eax, eax
  00010	75 32		 jne	 SHORT $LN1@VBI_ReadSe

; 232  :     {
; 233  :         CSettingGroup *pCaptureGroup = SettingsMaster->GetGroup(_T("VBI - Capture"), SETTING_BY_CHANNEL | SETTING_BY_FORMAT | SETTING_BY_INPUT, FALSE);

  00012	6a 00		 push	 0
  00014	6a 07		 push	 7
  00016	68 00 00 00 00	 push	 OFFSET ??_C@_1BM@LCCNFPLD@?$AAV?$AAB?$AAI?$AA?5?$AA?9?$AA?5?$AAC?$AAa?$AAp?$AAt?$AAu?$AAr?$AAe?$AA?$AA@
  0001b	b9 00 00 00 00	 mov	 ecx, OFFSET ?SettingsMaster@@3V?$SmartPtr@VCSettingsMaster@@@@A ; SettingsMaster
  00020	e8 00 00 00 00	 call	 ??C?$SmartPtr@VCSettingsMaster@@@@QBEPAVCSettingsMaster@@XZ ; SmartPtr<CSettingsMaster>::operator->
  00025	8b c8		 mov	 ecx, eax
  00027	e8 00 00 00 00	 call	 ?GetGroup@CSettingsMaster@@QAEPAVCSettingGroup@@PB_WKH@Z ; CSettingsMaster::GetGroup
  0002c	89 45 fc	 mov	 DWORD PTR _pCaptureGroup$141994[ebp], eax

; 234  : 
; 235  :         VBISettingsHolder.AddSettings(VBISettings, VBI_SETTING_LASTONE, pCaptureGroup);

  0002f	8b 45 fc	 mov	 eax, DWORD PTR _pCaptureGroup$141994[ebp]
  00032	50		 push	 eax
  00033	6a 07		 push	 7
  00035	68 00 00 00 00	 push	 OFFSET ?VBISettings@@3PAUSETTING@@A ; VBISettings
  0003a	b9 00 00 00 00	 mov	 ecx, OFFSET ?VBISettingsHolder@@3VCSettingsHolder@@A ; VBISettingsHolder
  0003f	e8 00 00 00 00	 call	 ?AddSettings@CSettingsHolder@@QAEXPAUSETTING@@HPAVCSettingGroup@@@Z ; CSettingsHolder::AddSettings
$LN1@VBI_ReadSe:

; 236  : 
; 237  : #ifdef _DEBUG
; 238  :         if (VBI_SETTING_LASTONE != VBISettingsHolder.GetNumSettings())
; 239  :         {
; 240  :             LOGD(_T("Number of settings in VBI source is not equal to the number of settings in DS_Control.h"));
; 241  :             LOGD(_T("DS_Control.h or VBI.cpp are probably not in sync with each other."));
; 242  :         }
; 243  : #endif
; 244  : 
; 245  :     }
; 246  : 
; 247  :     VBISettingsHolder.DisableOnChange();

  00044	b9 00 00 00 00	 mov	 ecx, OFFSET ?VBISettingsHolder@@3VCSettingsHolder@@A ; VBISettingsHolder
  00049	e8 00 00 00 00	 call	 ?DisableOnChange@CSettingsHolder@@QAEXXZ ; CSettingsHolder::DisableOnChange

; 248  :     VBISettingsHolder.ReadFromIni();

  0004e	b9 00 00 00 00	 mov	 ecx, OFFSET ?VBISettingsHolder@@3VCSettingsHolder@@A ; VBISettingsHolder
  00053	e8 00 00 00 00	 call	 ?ReadFromIni@CSettingsHolder@@QAEXXZ ; CSettingsHolder::ReadFromIni

; 249  :     VBISettingsHolder.EnableOnChange();

  00058	b9 00 00 00 00	 mov	 ecx, OFFSET ?VBISettingsHolder@@3VCSettingsHolder@@A ; VBISettingsHolder
  0005d	e8 00 00 00 00	 call	 ?EnableOnChange@CSettingsHolder@@QAEXXZ ; CSettingsHolder::EnableOnChange

; 250  : 
; 251  :     // don't know why this is needed but it might be
; 252  :     // \todo remove
; 253  :     VT_HilightSearchOnChange(bSearchHighlight);

  00062	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?bSearchHighlight@@3HA ; bSearchHighlight
  00068	51		 push	 ecx
  00069	e8 00 00 00 00	 call	 ?VT_HilightSearchOnChange@@YAHJ@Z ; VT_HilightSearchOnChange
  0006e	83 c4 04	 add	 esp, 4

; 254  : }

  00071	8b e5		 mov	 esp, ebp
  00073	5d		 pop	 ebp
  00074	c3		 ret	 0
?VBI_ReadSettingsFromIni@@YAXXZ ENDP			; VBI_ReadSettingsFromIni
; Function compile flags: /Odtp
;	COMDAT ??__EVBISettingsHolder@@YAXXZ
text$yc	SEGMENT
??__EVBISettingsHolder@@YAXXZ PROC			; `dynamic initializer for 'VBISettingsHolder'', COMDAT

; 227  : CSettingsHolder VBISettingsHolder;

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a 00		 push	 0
  00005	6a 00		 push	 0
  00007	b9 00 00 00 00	 mov	 ecx, OFFSET ?VBISettingsHolder@@3VCSettingsHolder@@A ; VBISettingsHolder
  0000c	e8 00 00 00 00	 call	 ??0CSettingsHolder@@QAE@JI@Z ; CSettingsHolder::CSettingsHolder
  00011	68 00 00 00 00	 push	 OFFSET ??__FVBISettingsHolder@@YAXXZ ; `dynamic atexit destructor for 'VBISettingsHolder''
  00016	e8 00 00 00 00	 call	 _atexit
  0001b	83 c4 04	 add	 esp, 4
  0001e	5d		 pop	 ebp
  0001f	c3		 ret	 0
??__EVBISettingsHolder@@YAXXZ ENDP			; `dynamic initializer for 'VBISettingsHolder''
; Function compile flags: /Odtp
;	COMDAT ??__FVBISettingsHolder@@YAXXZ
text$yd	SEGMENT
??__FVBISettingsHolder@@YAXXZ PROC			; `dynamic atexit destructor for 'VBISettingsHolder'', COMDAT
  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	b9 00 00 00 00	 mov	 ecx, OFFSET ?VBISettingsHolder@@3VCSettingsHolder@@A ; VBISettingsHolder
  00008	e8 00 00 00 00	 call	 ??1CSettingsHolder@@UAE@XZ ; CSettingsHolder::~CSettingsHolder
  0000d	5d		 pop	 ebp
  0000e	c3		 ret	 0
??__FVBISettingsHolder@@YAXXZ ENDP			; `dynamic atexit destructor for 'VBISettingsHolder''
PUBLIC	?VBISettingsHolder@@3VCSettingsHolder@@A	; VBISettingsHolder
?VBISettingsHolder@@3VCSettingsHolder@@A DB 040H DUP (?) ; VBISettingsHolder
_VBISettingsHolder$initializer$ DD FLAT:??__EVBISettingsHolder@@YAXXZ
END
