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

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

INCLUDELIB OLDNAMES

PUBLIC	?VPSStep@@3HA					; VPSStep
PUBLIC	?hVPSInfoWnd@@3PAUHWND__@@A			; hVPSInfoWnd
PUBLIC	?VPS_Data@@3UTVPSDataStruct@@A			; VPS_Data
PUBLIC	??_C@_1M@GOPKCJBE@?$AA0?$AAx?$AA?$CF?$AA0?$AAx?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BM@MAGMCGPI@?$AAT?$AAi?$AAm?$AAe?$AAr?$AA?5?$AAC?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BE@PBKDACKD@?$AAI?$AAn?$AAt?$AAe?$AAr?$AAr?$AAu?$AAp?$AAt?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BC@KAMKBBFP@?$AAC?$AAo?$AAn?$AAt?$AAi?$AAn?$AAu?$AAe?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BE@HBDPDFAB@?$AA?$CF?$AA0?$AA2?$AAd?$AA?4?$AA?$CF?$AA0?$AA2?$AAd?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BE@HOCBODIC@?$AA?$CF?$AA0?$AA2?$AAd?$AA?3?$AA?$CF?$AA0?$AA2?$AAd?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BG@IOFMKIDH@?$AAD?$AAo?$AAn?$AA?8?$AAt?$AA?5?$AAk?$AAn?$AAo?$AAw?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BG@HHOMGLFC@?$AAD?$AAu?$AAa?$AAl?$AA?5?$AAS?$AAo?$AAu?$AAn?$AAd?$AA?$AA@ ; `string'
PUBLIC	??_C@_1O@GMFEIALK@?$AA0?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@ ; `string'
?VPSStep@@3HA DD 01H DUP (?)				; VPSStep
?hVPSInfoWnd@@3PAUHWND__@@A DD 01H DUP (?)		; hVPSInfoWnd
?VPS_Data@@3UTVPSDataStruct@@A DB 058H DUP (?)		; VPS_Data
;	COMDAT ??_C@_1O@GMFEIALK@?$AA0?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@
CONST	SEGMENT
??_C@_1O@GMFEIALK@?$AA0?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@ DB '0', 00H, 'x'
	DB	00H, '%', 00H, '0', 00H, '2', 00H, 'x', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_1BG@HHOMGLFC@?$AAD?$AAu?$AAa?$AAl?$AA?5?$AAS?$AAo?$AAu?$AAn?$AAd?$AA?$AA@
CONST	SEGMENT
??_C@_1BG@HHOMGLFC@?$AAD?$AAu?$AAa?$AAl?$AA?5?$AAS?$AAo?$AAu?$AAn?$AAd?$AA?$AA@ DB 'D'
	DB	00H, 'u', 00H, 'a', 00H, 'l', 00H, ' ', 00H, 'S', 00H, 'o', 00H
	DB	'u', 00H, 'n', 00H, 'd', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1BG@IOFMKIDH@?$AAD?$AAo?$AAn?$AA?8?$AAt?$AA?5?$AAk?$AAn?$AAo?$AAw?$AA?$AA@
CONST	SEGMENT
??_C@_1BG@IOFMKIDH@?$AAD?$AAo?$AAn?$AA?8?$AAt?$AA?5?$AAk?$AAn?$AAo?$AAw?$AA?$AA@ DB 'D'
	DB	00H, 'o', 00H, 'n', 00H, '''', 00H, 't', 00H, ' ', 00H, 'k', 00H
	DB	'n', 00H, 'o', 00H, 'w', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1BE@HOCBODIC@?$AA?$CF?$AA0?$AA2?$AAd?$AA?3?$AA?$CF?$AA0?$AA2?$AAd?$AA?$AA@
CONST	SEGMENT
??_C@_1BE@HOCBODIC@?$AA?$CF?$AA0?$AA2?$AAd?$AA?3?$AA?$CF?$AA0?$AA2?$AAd?$AA?$AA@ DB '%'
	DB	00H, '0', 00H, '2', 00H, 'd', 00H, ':', 00H, '%', 00H, '0', 00H
	DB	'2', 00H, 'd', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1BE@HBDPDFAB@?$AA?$CF?$AA0?$AA2?$AAd?$AA?4?$AA?$CF?$AA0?$AA2?$AAd?$AA?$AA@
CONST	SEGMENT
??_C@_1BE@HBDPDFAB@?$AA?$CF?$AA0?$AA2?$AAd?$AA?4?$AA?$CF?$AA0?$AA2?$AAd?$AA?$AA@ DB '%'
	DB	00H, '0', 00H, '2', 00H, 'd', 00H, '.', 00H, '%', 00H, '0', 00H
	DB	'2', 00H, 'd', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1BC@KAMKBBFP@?$AAC?$AAo?$AAn?$AAt?$AAi?$AAn?$AAu?$AAe?$AA?$AA@
CONST	SEGMENT
??_C@_1BC@KAMKBBFP@?$AAC?$AAo?$AAn?$AAt?$AAi?$AAn?$AAu?$AAe?$AA?$AA@ DB 'C'
	DB	00H, 'o', 00H, 'n', 00H, 't', 00H, 'i', 00H, 'n', 00H, 'u', 00H
	DB	'e', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1BE@PBKDACKD@?$AAI?$AAn?$AAt?$AAe?$AAr?$AAr?$AAu?$AAp?$AAt?$AA?$AA@
CONST	SEGMENT
??_C@_1BE@PBKDACKD@?$AAI?$AAn?$AAt?$AAe?$AAr?$AAr?$AAu?$AAp?$AAt?$AA?$AA@ DB 'I'
	DB	00H, 'n', 00H, 't', 00H, 'e', 00H, 'r', 00H, 'r', 00H, 'u', 00H
	DB	'p', 00H, 't', 00H, 00H, 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_1BM@MAGMCGPI@?$AAT?$AAi?$AAm?$AAe?$AAr?$AA?5?$AAC?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AA?$AA@
CONST	SEGMENT
??_C@_1BM@MAGMCGPI@?$AAT?$AAi?$AAm?$AAe?$AAr?$AA?5?$AAC?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AA?$AA@ DB 'T'
	DB	00H, 'i', 00H, 'm', 00H, 'e', 00H, 'r', 00H, ' ', 00H, 'C', 00H
	DB	'o', 00H, 'n', 00H, 't', 00H, 'r', 00H, 'o', 00H, 'l', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1M@GOPKCJBE@?$AA0?$AAx?$AA?$CF?$AA0?$AAx?$AA?$AA@
CONST	SEGMENT
??_C@_1M@GOPKCJBE@?$AA0?$AAx?$AA?$CF?$AA0?$AAx?$AA?$AA@ DB '0', 00H, 'x', 00H
	DB	'%', 00H, '0', 00H, 'x', 00H, 00H, 00H	; `string'
PUBLIC	?VPS_Scan@@YAEPBEIPAIPAH@Z			; VPS_Scan
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\vbi_vpsdecode.cpp
;	COMDAT ?VPS_Scan@@YAEPBEIPAIPAH@Z
_TEXT	SEGMENT
_j$ = -8						; size = 4
_bit$ = -2						; size = 1
_dat$ = -1						; size = 1
_VBI_Buffer$ = 8					; size = 4
_step$ = 12						; size = 4
_scanPos$ = 16						; size = 4
_pError$ = 20						; size = 4
?VPS_Scan@@YAEPBEIPAIPAH@Z PROC				; VPS_Scan, COMDAT

; 181  : {

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

; 182  :     int j;
; 183  :     BYTE bit;
; 184  :     BYTE dat;
; 185  : 
; 186  :     for(j = 0, dat = 0; j < 8; j++, *scanPos += step * 2)

  00006	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR _j$[ebp], 0
  0000d	c6 45 ff 00	 mov	 BYTE PTR _dat$[ebp], 0
  00011	eb 19		 jmp	 SHORT $LN4@VPS_Scan
$LN3@VPS_Scan:
  00013	8b 45 f8	 mov	 eax, DWORD PTR _j$[ebp]
  00016	83 c0 01	 add	 eax, 1
  00019	89 45 f8	 mov	 DWORD PTR _j$[ebp], eax
  0001c	8b 4d 10	 mov	 ecx, DWORD PTR _scanPos$[ebp]
  0001f	8b 11		 mov	 edx, DWORD PTR [ecx]
  00021	8b 45 0c	 mov	 eax, DWORD PTR _step$[ebp]
  00024	8d 0c 42	 lea	 ecx, DWORD PTR [edx+eax*2]
  00027	8b 55 10	 mov	 edx, DWORD PTR _scanPos$[ebp]
  0002a	89 0a		 mov	 DWORD PTR [edx], ecx
$LN4@VPS_Scan:
  0002c	83 7d f8 08	 cmp	 DWORD PTR _j$[ebp], 8
  00030	7d 6b		 jge	 SHORT $LN2@VPS_Scan

; 187  :     {
; 188  :         bit = ((VBI_Buffer[*scanPos >> FPSHIFT] + VBIOffset) & 0x80);

  00032	8b 45 10	 mov	 eax, DWORD PTR _scanPos$[ebp]
  00035	8b 08		 mov	 ecx, DWORD PTR [eax]
  00037	c1 e9 10	 shr	 ecx, 16			; 00000010H
  0003a	8b 55 08	 mov	 edx, DWORD PTR _VBI_Buffer$[ebp]
  0003d	0f b6 04 0a	 movzx	 eax, BYTE PTR [edx+ecx]
  00041	0f b6 0d 00 00
	00 00		 movzx	 ecx, BYTE PTR ?VBIOffset@@3EA ; VBIOffset
  00048	03 c1		 add	 eax, ecx
  0004a	25 80 00 00 00	 and	 eax, 128		; 00000080H
  0004f	88 45 fe	 mov	 BYTE PTR _bit$[ebp], al

; 189  : 
; 190  :         if (bit == ((VBI_Buffer[(*scanPos + step) >> FPSHIFT] + VBIOffset) & 0x80))

  00052	0f b6 55 fe	 movzx	 edx, BYTE PTR _bit$[ebp]
  00056	8b 45 10	 mov	 eax, DWORD PTR _scanPos$[ebp]
  00059	8b 08		 mov	 ecx, DWORD PTR [eax]
  0005b	03 4d 0c	 add	 ecx, DWORD PTR _step$[ebp]
  0005e	c1 e9 10	 shr	 ecx, 16			; 00000010H
  00061	8b 45 08	 mov	 eax, DWORD PTR _VBI_Buffer$[ebp]
  00064	0f b6 0c 08	 movzx	 ecx, BYTE PTR [eax+ecx]
  00068	0f b6 05 00 00
	00 00		 movzx	 eax, BYTE PTR ?VBIOffset@@3EA ; VBIOffset
  0006f	03 c8		 add	 ecx, eax
  00071	81 e1 80 00 00
	00		 and	 ecx, 128		; 00000080H
  00077	3b d1		 cmp	 edx, ecx
  00079	75 0b		 jne	 SHORT $LN1@VPS_Scan

; 191  :         {
; 192  :             // bi-phase encoding error, i.e. bit is not followed by it's inverse
; 193  :             *pError = TRUE;

  0007b	8b 4d 14	 mov	 ecx, DWORD PTR _pError$[ebp]
  0007e	c7 01 01 00 00
	00		 mov	 DWORD PTR [ecx], 1

; 194  :             break;

  00084	eb 17		 jmp	 SHORT $LN2@VPS_Scan
$LN1@VPS_Scan:

; 195  :         }
; 196  : 
; 197  :         dat |= bit >> j;

  00086	0f b6 55 fe	 movzx	 edx, BYTE PTR _bit$[ebp]
  0008a	8b 4d f8	 mov	 ecx, DWORD PTR _j$[ebp]
  0008d	d3 fa		 sar	 edx, cl
  0008f	0f b6 45 ff	 movzx	 eax, BYTE PTR _dat$[ebp]
  00093	0b c2		 or	 eax, edx
  00095	88 45 ff	 mov	 BYTE PTR _dat$[ebp], al

; 198  :     }

  00098	e9 76 ff ff ff	 jmp	 $LN3@VPS_Scan
$LN2@VPS_Scan:

; 199  : 
; 200  :     return dat;

  0009d	8a 45 ff	 mov	 al, BYTE PTR _dat$[ebp]

; 201  : }

  000a0	8b e5		 mov	 esp, ebp
  000a2	5d		 pop	 ebp
  000a3	c3		 ret	 0
?VPS_Scan@@YAEPBEIPAIPAH@Z ENDP				; VPS_Scan
_TEXT	ENDS
PUBLIC	?VBI_Scan@@YAEPAEIPAI@Z				; VBI_Scan
; Function compile flags: /Odtp
;	COMDAT ?VBI_Scan@@YAEPAEIPAI@Z
_TEXT	SEGMENT
_j$ = -8						; size = 4
_dat$ = -1						; size = 1
_VBI_Buffer$ = 8					; size = 4
_step$ = 12						; size = 4
_scanPos$ = 16						; size = 4
?VBI_Scan@@YAEPAEIPAI@Z PROC				; VBI_Scan, COMDAT

; 167  : {

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

; 168  :     int j;
; 169  :     BYTE dat;
; 170  : 
; 171  :     for(j = 7, dat = 0; j >= 0; j--, *scanPos += step)

  00006	c7 45 f8 07 00
	00 00		 mov	 DWORD PTR _j$[ebp], 7
  0000d	c6 45 ff 00	 mov	 BYTE PTR _dat$[ebp], 0
  00011	eb 16		 jmp	 SHORT $LN3@VBI_Scan
$LN2@VBI_Scan:
  00013	8b 45 f8	 mov	 eax, DWORD PTR _j$[ebp]
  00016	83 e8 01	 sub	 eax, 1
  00019	89 45 f8	 mov	 DWORD PTR _j$[ebp], eax
  0001c	8b 4d 10	 mov	 ecx, DWORD PTR _scanPos$[ebp]
  0001f	8b 11		 mov	 edx, DWORD PTR [ecx]
  00021	03 55 0c	 add	 edx, DWORD PTR _step$[ebp]
  00024	8b 45 10	 mov	 eax, DWORD PTR _scanPos$[ebp]
  00027	89 10		 mov	 DWORD PTR [eax], edx
$LN3@VBI_Scan:
  00029	83 7d f8 00	 cmp	 DWORD PTR _j$[ebp], 0
  0002d	7c 2e		 jl	 SHORT $LN1@VBI_Scan

; 172  :     {
; 173  :         dat |= ((VBI_Buffer[*scanPos >> FPSHIFT] + VBIOffset) & 0x80) >> j;

  0002f	8b 4d 10	 mov	 ecx, DWORD PTR _scanPos$[ebp]
  00032	8b 11		 mov	 edx, DWORD PTR [ecx]
  00034	c1 ea 10	 shr	 edx, 16			; 00000010H
  00037	8b 45 08	 mov	 eax, DWORD PTR _VBI_Buffer$[ebp]
  0003a	0f b6 14 10	 movzx	 edx, BYTE PTR [eax+edx]
  0003e	0f b6 05 00 00
	00 00		 movzx	 eax, BYTE PTR ?VBIOffset@@3EA ; VBIOffset
  00045	03 d0		 add	 edx, eax
  00047	81 e2 80 00 00
	00		 and	 edx, 128		; 00000080H
  0004d	8b 4d f8	 mov	 ecx, DWORD PTR _j$[ebp]
  00050	d3 fa		 sar	 edx, cl
  00052	0f b6 4d ff	 movzx	 ecx, BYTE PTR _dat$[ebp]
  00056	0b ca		 or	 ecx, edx
  00058	88 4d ff	 mov	 BYTE PTR _dat$[ebp], cl

; 174  :     }

  0005b	eb b6		 jmp	 SHORT $LN2@VBI_Scan
$LN1@VBI_Scan:

; 175  : 
; 176  :     return dat;

  0005d	8a 45 ff	 mov	 al, BYTE PTR _dat$[ebp]

; 177  : }

  00060	8b e5		 mov	 esp, ebp
  00062	5d		 pop	 ebp
  00063	c3		 ret	 0
?VBI_Scan@@YAEPAEIPAI@Z ENDP				; VBI_Scan
_TEXT	ENDS
PUBLIC	?VPS_DecodeLabel@@YAXE@Z			; VPS_DecodeLabel
; Function compile flags: /Odtp
;	COMDAT ?VPS_DecodeLabel@@YAXE@Z
_TEXT	SEGMENT
_b$ = 8							; size = 1
?VPS_DecodeLabel@@YAXE@Z PROC				; VPS_DecodeLabel, COMDAT

; 124  : {

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

; 125  :     if(b & 0x80)

  00003	0f b6 45 08	 movzx	 eax, BYTE PTR _b$[ebp]
  00007	25 80 00 00 00	 and	 eax, 128		; 00000080H
  0000c	74 5f		 je	 SHORT $LN4@VPS_Decode

; 126  :     {
; 127  :         VPS_Data.LabelCurr[VPS_Data.LabelIndex] = 0;

  0000e	33 c9		 xor	 ecx, ecx
  00010	8b 15 3c 00 00
	00		 mov	 edx, DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+60
  00016	66 89 0c 55 2a
	00 00 00	 mov	 WORD PTR ?VPS_Data@@3UTVPSDataStruct@@A[edx*2+42], cx

; 128  : 
; 129  :         if(VPS_Data.LabelIndex == 8)

  0001e	83 3d 3c 00 00
	00 08		 cmp	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+60, 8
  00025	75 3c		 jne	 SHORT $LN3@VPS_Decode

; 130  :         {
; 131  :             if(_tcscmp(VPS_Data.LabelCurr, VPS_Data.LabelTemp) == 0)

  00027	68 06 00 00 00	 push	 OFFSET ?VPS_Data@@3UTVPSDataStruct@@A+6
  0002c	68 2a 00 00 00	 push	 OFFSET ?VPS_Data@@3UTVPSDataStruct@@A+42
  00031	e8 00 00 00 00	 call	 _wcscmp
  00036	83 c4 08	 add	 esp, 8
  00039	85 c0		 test	 eax, eax
  0003b	75 14		 jne	 SHORT $LN2@VPS_Decode

; 132  :             {
; 133  :                 _tcsncpy(VPS_Data.LabelLast, VPS_Data.LabelCurr, 9);

  0003d	6a 09		 push	 9
  0003f	68 2a 00 00 00	 push	 OFFSET ?VPS_Data@@3UTVPSDataStruct@@A+42
  00044	68 18 00 00 00	 push	 OFFSET ?VPS_Data@@3UTVPSDataStruct@@A+24
  00049	e8 00 00 00 00	 call	 _wcsncpy
  0004e	83 c4 0c	 add	 esp, 12			; 0000000cH
$LN2@VPS_Decode:

; 134  :             }
; 135  : 
; 136  :             _tcscpy(VPS_Data.LabelTemp, VPS_Data.LabelCurr);

  00051	68 2a 00 00 00	 push	 OFFSET ?VPS_Data@@3UTVPSDataStruct@@A+42
  00056	68 06 00 00 00	 push	 OFFSET ?VPS_Data@@3UTVPSDataStruct@@A+6
  0005b	e8 00 00 00 00	 call	 _wcscpy
  00060	83 c4 08	 add	 esp, 8
$LN3@VPS_Decode:

; 137  :         }
; 138  : 
; 139  :         VPS_Data.LabelIndex = 0;

  00063	c7 05 3c 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+60, 0
$LN4@VPS_Decode:

; 140  :     }
; 141  : 
; 142  :     VPS_Data.LabelCurr[VPS_Data.LabelIndex++] = b & 0x7f;

  0006d	0f b6 45 08	 movzx	 eax, BYTE PTR _b$[ebp]
  00071	83 e0 7f	 and	 eax, 127		; 0000007fH
  00074	8b 0d 3c 00 00
	00		 mov	 ecx, DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+60
  0007a	66 89 04 4d 2a
	00 00 00	 mov	 WORD PTR ?VPS_Data@@3UTVPSDataStruct@@A[ecx*2+42], ax
  00082	8b 15 3c 00 00
	00		 mov	 edx, DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+60
  00088	83 c2 01	 add	 edx, 1
  0008b	89 15 3c 00 00
	00		 mov	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+60, edx

; 143  : 
; 144  :     if(VPS_Data.LabelIndex >= 9)

  00091	83 3d 3c 00 00
	00 09		 cmp	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+60, 9
  00098	7c 0a		 jl	 SHORT $LN5@VPS_Decode

; 145  :     {
; 146  :         VPS_Data.LabelIndex = 0;

  0009a	c7 05 3c 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+60, 0
$LN5@VPS_Decode:

; 147  :     }
; 148  : }

  000a4	5d		 pop	 ebp
  000a5	c3		 ret	 0
?VPS_DecodeLabel@@YAXE@Z ENDP				; VPS_DecodeLabel
_TEXT	ENDS
PUBLIC	?ReverseBitOrder@@YAEE@Z			; ReverseBitOrder
; Function compile flags: /Odtp
;	COMDAT ?ReverseBitOrder@@YAEE@Z
_TEXT	SEGMENT
_i$141234 = -8						; size = 4
_result$ = -1						; size = 1
_b$ = 8							; size = 1
?ReverseBitOrder@@YAEE@Z PROC				; ReverseBitOrder, COMDAT

; 106  : {

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

; 107  :     BYTE result = b & 0x1;

  00006	0f b6 45 08	 movzx	 eax, BYTE PTR _b$[ebp]
  0000a	83 e0 01	 and	 eax, 1
  0000d	88 45 ff	 mov	 BYTE PTR _result$[ebp], al

; 108  : 
; 109  :     for (int i=0; i < 7; i++)

  00010	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR _i$141234[ebp], 0
  00017	eb 09		 jmp	 SHORT $LN3@ReverseBit
$LN2@ReverseBit:
  00019	8b 4d f8	 mov	 ecx, DWORD PTR _i$141234[ebp]
  0001c	83 c1 01	 add	 ecx, 1
  0001f	89 4d f8	 mov	 DWORD PTR _i$141234[ebp], ecx
$LN3@ReverseBit:
  00022	83 7d f8 07	 cmp	 DWORD PTR _i$141234[ebp], 7
  00026	7d 22		 jge	 SHORT $LN1@ReverseBit

; 110  :     {
; 111  :         b >>= 1;

  00028	8a 55 08	 mov	 dl, BYTE PTR _b$[ebp]
  0002b	d0 ea		 shr	 dl, 1
  0002d	88 55 08	 mov	 BYTE PTR _b$[ebp], dl

; 112  :         result <<= 1;

  00030	8a 45 ff	 mov	 al, BYTE PTR _result$[ebp]
  00033	d0 e0		 shl	 al, 1
  00035	88 45 ff	 mov	 BYTE PTR _result$[ebp], al

; 113  :         result |= b & 0x1;

  00038	0f b6 4d 08	 movzx	 ecx, BYTE PTR _b$[ebp]
  0003c	83 e1 01	 and	 ecx, 1
  0003f	0f b6 55 ff	 movzx	 edx, BYTE PTR _result$[ebp]
  00043	0b d1		 or	 edx, ecx
  00045	88 55 ff	 mov	 BYTE PTR _result$[ebp], dl

; 114  :     }

  00048	eb cf		 jmp	 SHORT $LN2@ReverseBit
$LN1@ReverseBit:

; 115  : 
; 116  :     return result;

  0004a	8a 45 ff	 mov	 al, BYTE PTR _result$[ebp]

; 117  : }

  0004d	8b e5		 mov	 esp, ebp
  0004f	5d		 pop	 ebp
  00050	c3		 ret	 0
?ReverseBitOrder@@YAEE@Z ENDP				; ReverseBitOrder
_TEXT	ENDS
PUBLIC	?VPS_Clear_Data@@YAXXZ				; VPS_Clear_Data
; Function compile flags: /Odtp
;	COMDAT ?VPS_Clear_Data@@YAXXZ
_TEXT	SEGMENT
?VPS_Clear_Data@@YAXXZ PROC				; VPS_Clear_Data, COMDAT

; 71   : {

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

; 72   :     VPS_Data.Valid      = FALSE;

  00003	c7 05 00 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A, 0

; 73   :     VPS_Data.CNI        = 0;

  0000d	33 c0		 xor	 eax, eax
  0000f	66 a3 04 00 00
	00		 mov	 WORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+4, ax

; 74   :     VPS_Data.LabelIndex = 0;

  00015	c7 05 3c 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+60, 0

; 75   :     VPS_Data.Month      = 0;

  0001f	c7 05 40 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+64, 0

; 76   :     VPS_Data.Day        = 0;

  00029	c7 05 44 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+68, 0

; 77   :     VPS_Data.Hour       = 0;

  00033	c7 05 48 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+72, 0

; 78   :     VPS_Data.Minute     = 0;

  0003d	c7 05 4c 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+76, 0

; 79   :     VPS_Data.Audio      = VPSAUDIO_UNKNOWN;

  00047	c7 05 50 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+80, 0

; 80   :     VPS_Data.PTY        = 0;

  00051	c6 05 54 00 00
	00 00		 mov	 BYTE PTR ?VPS_Data@@3UTVPSDataStruct@@A+84, 0

; 81   :     ZeroMemory(VPS_Data.LabelTemp, 9);

  00058	6a 09		 push	 9
  0005a	6a 00		 push	 0
  0005c	68 06 00 00 00	 push	 OFFSET ?VPS_Data@@3UTVPSDataStruct@@A+6
  00061	e8 00 00 00 00	 call	 _memset
  00066	83 c4 0c	 add	 esp, 12			; 0000000cH

; 82   :     ZeroMemory(VPS_Data.LabelLast, 9);

  00069	6a 09		 push	 9
  0006b	6a 00		 push	 0
  0006d	68 18 00 00 00	 push	 OFFSET ?VPS_Data@@3UTVPSDataStruct@@A+24
  00072	e8 00 00 00 00	 call	 _memset
  00077	83 c4 0c	 add	 esp, 12			; 0000000cH

; 83   :     ZeroMemory(VPS_Data.LabelCurr, 9);

  0007a	6a 09		 push	 9
  0007c	6a 00		 push	 0
  0007e	68 2a 00 00 00	 push	 OFFSET ?VPS_Data@@3UTVPSDataStruct@@A+42
  00083	e8 00 00 00 00	 call	 _memset
  00088	83 c4 0c	 add	 esp, 12			; 0000000cH

; 84   : }

  0008b	5d		 pop	 ebp
  0008c	c3		 ret	 0
?VPS_Clear_Data@@YAXXZ ENDP				; VPS_Clear_Data
_TEXT	ENDS
PUBLIC	__real@40f0000000000000
PUBLIC	__real@4013fb85a4f00ef1
PUBLIC	?VPS_Init_Data@@YAXN@Z				; VPS_Init_Data
;	COMDAT __real@40f0000000000000
CONST	SEGMENT
__real@40f0000000000000 DQ 040f0000000000000r	; 65536
CONST	ENDS
;	COMDAT __real@4013fb85a4f00ef1
CONST	SEGMENT
__real@4013fb85a4f00ef1 DQ 04013fb85a4f00ef1r	; 4.99563
; Function compile flags: /Odtp
CONST	ENDS
;	COMDAT ?VPS_Init_Data@@YAXN@Z
_TEXT	SEGMENT
_VBI_Frequency$ = 8					; size = 8
?VPS_Init_Data@@YAXN@Z PROC				; VPS_Init_Data, COMDAT

; 66   : {

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

; 67   :     VPSStep = (int) ((VBI_Frequency / 4.995627) * FPFAC + 0.5);

  00003	dd 45 08	 fld	 QWORD PTR _VBI_Frequency$[ebp]
  00006	dc 35 00 00 00
	00		 fdiv	 QWORD PTR __real@4013fb85a4f00ef1
  0000c	dc 0d 00 00 00
	00		 fmul	 QWORD PTR __real@40f0000000000000
  00012	dc 05 00 00 00
	00		 fadd	 QWORD PTR __real@3fe0000000000000
  00018	e8 00 00 00 00	 call	 __ftol2_sse
  0001d	a3 00 00 00 00	 mov	 DWORD PTR ?VPSStep@@3HA, eax ; VPSStep

; 68   : }

  00022	5d		 pop	 ebp
  00023	c3		 ret	 0
?VPS_Init_Data@@YAXN@Z ENDP				; VPS_Init_Data
_TEXT	ENDS
PUBLIC	?VPS_ChannelChange@@YAXXZ			; VPS_ChannelChange
; Function compile flags: /Odtp
;	COMDAT ?VPS_ChannelChange@@YAXXZ
_TEXT	SEGMENT
?VPS_ChannelChange@@YAXXZ PROC				; VPS_ChannelChange, COMDAT

; 60   : {

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

; 61   :     VPS_Clear_Data();

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

; 62   : }

  00008	5d		 pop	 ebp
  00009	c3		 ret	 0
?VPS_ChannelChange@@YAXXZ ENDP				; VPS_ChannelChange
_TEXT	ENDS
PUBLIC	?VBI_VPS_Exit@@YAXXZ				; VBI_VPS_Exit
; Function compile flags: /Odtp
;	COMDAT ?VBI_VPS_Exit@@YAXXZ
_TEXT	SEGMENT
?VBI_VPS_Exit@@YAXXZ PROC				; VBI_VPS_Exit, COMDAT

; 55   : {

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

; 56   : }

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

; 49   : {

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

; 50   :     VPS_Clear_Data();

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

; 51   : }

  00008	5d		 pop	 ebp
  00009	c3		 ret	 0
?VBI_VPS_Init@@YAXXZ ENDP				; VBI_VPS_Init
PUBLIC	?VPS_DecodeLine@@YAXPAE@Z			; VPS_DecodeLine
; Function compile flags: /Odtp
;	COMDAT ?VPS_DecodeLine@@YAXPAE@Z
_TEXT	SEGMENT
_data$ = 8						; size = 4
?VPS_DecodeLine@@YAXPAE@Z PROC				; VPS_DecodeLine, COMDAT

; 152  : {

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

; 153  :     VPS_DecodeLabel(ReverseBitOrder(data[3]));

  00003	8b 45 08	 mov	 eax, DWORD PTR _data$[ebp]
  00006	0f b6 48 03	 movzx	 ecx, BYTE PTR [eax+3]
  0000a	51		 push	 ecx
  0000b	e8 00 00 00 00	 call	 ?ReverseBitOrder@@YAEE@Z ; ReverseBitOrder
  00010	83 c4 04	 add	 esp, 4
  00013	0f b6 d0	 movzx	 edx, al
  00016	52		 push	 edx
  00017	e8 00 00 00 00	 call	 ?VPS_DecodeLabel@@YAXE@Z ; VPS_DecodeLabel
  0001c	83 c4 04	 add	 esp, 4

; 154  : 
; 155  :     VPS_Data.CNI    = ((data[12] & 0x3) << 10) | ((data[13] & 0xc0) << 2) |
; 156  :                       ((data[10] & 0xc0)) | (data[13] & 0x3f);

  0001f	8b 45 08	 mov	 eax, DWORD PTR _data$[ebp]
  00022	0f b6 48 0c	 movzx	 ecx, BYTE PTR [eax+12]
  00026	83 e1 03	 and	 ecx, 3
  00029	c1 e1 0a	 shl	 ecx, 10			; 0000000aH
  0002c	8b 55 08	 mov	 edx, DWORD PTR _data$[ebp]
  0002f	0f b6 42 0d	 movzx	 eax, BYTE PTR [edx+13]
  00033	25 c0 00 00 00	 and	 eax, 192		; 000000c0H
  00038	c1 e0 02	 shl	 eax, 2
  0003b	0b c8		 or	 ecx, eax
  0003d	8b 55 08	 mov	 edx, DWORD PTR _data$[ebp]
  00040	0f b6 42 0a	 movzx	 eax, BYTE PTR [edx+10]
  00044	25 c0 00 00 00	 and	 eax, 192		; 000000c0H
  00049	0b c8		 or	 ecx, eax
  0004b	8b 55 08	 mov	 edx, DWORD PTR _data$[ebp]
  0004e	0f b6 42 0d	 movzx	 eax, BYTE PTR [edx+13]
  00052	83 e0 3f	 and	 eax, 63			; 0000003fH
  00055	0b c8		 or	 ecx, eax
  00057	66 89 0d 04 00
	00 00		 mov	 WORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+4, cx

; 157  :     VPS_Data.Month  = ((data[11] & 0xe0) >> 5) | ((data[10] & 1) << 3);

  0005e	8b 4d 08	 mov	 ecx, DWORD PTR _data$[ebp]
  00061	0f b6 51 0b	 movzx	 edx, BYTE PTR [ecx+11]
  00065	81 e2 e0 00 00
	00		 and	 edx, 224		; 000000e0H
  0006b	c1 fa 05	 sar	 edx, 5
  0006e	8b 45 08	 mov	 eax, DWORD PTR _data$[ebp]
  00071	0f b6 48 0a	 movzx	 ecx, BYTE PTR [eax+10]
  00075	83 e1 01	 and	 ecx, 1
  00078	c1 e1 03	 shl	 ecx, 3
  0007b	0b d1		 or	 edx, ecx
  0007d	89 15 40 00 00
	00		 mov	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+64, edx

; 158  :     VPS_Data.Day    = (data[10] & 0x3e) >> 1;

  00083	8b 55 08	 mov	 edx, DWORD PTR _data$[ebp]
  00086	0f b6 42 0a	 movzx	 eax, BYTE PTR [edx+10]
  0008a	83 e0 3e	 and	 eax, 62			; 0000003eH
  0008d	d1 f8		 sar	 eax, 1
  0008f	a3 44 00 00 00	 mov	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+68, eax

; 159  :     VPS_Data.Hour   = (data[11] & 0x1f);

  00094	8b 4d 08	 mov	 ecx, DWORD PTR _data$[ebp]
  00097	0f b6 51 0b	 movzx	 edx, BYTE PTR [ecx+11]
  0009b	83 e2 1f	 and	 edx, 31			; 0000001fH
  0009e	89 15 48 00 00
	00		 mov	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+72, edx

; 160  :     VPS_Data.Minute = (data[12] >> 2);

  000a4	8b 45 08	 mov	 eax, DWORD PTR _data$[ebp]
  000a7	0f b6 48 0c	 movzx	 ecx, BYTE PTR [eax+12]
  000ab	c1 f9 02	 sar	 ecx, 2
  000ae	89 0d 4c 00 00
	00		 mov	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+76, ecx

; 161  :     VPS_Data.Audio  = (eVPSAudio) ((data[4] & 0xc0) >> 6);

  000b4	8b 55 08	 mov	 edx, DWORD PTR _data$[ebp]
  000b7	0f b6 42 04	 movzx	 eax, BYTE PTR [edx+4]
  000bb	25 c0 00 00 00	 and	 eax, 192		; 000000c0H
  000c0	c1 f8 06	 sar	 eax, 6
  000c3	a3 50 00 00 00	 mov	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+80, eax

; 162  :     VPS_Data.PTY    = data[14];

  000c8	8b 4d 08	 mov	 ecx, DWORD PTR _data$[ebp]
  000cb	8a 51 0e	 mov	 dl, BYTE PTR [ecx+14]
  000ce	88 15 54 00 00
	00		 mov	 BYTE PTR ?VPS_Data@@3UTVPSDataStruct@@A+84, dl

; 163  : }

  000d4	5d		 pop	 ebp
  000d5	c3		 ret	 0
?VPS_DecodeLine@@YAXPAE@Z ENDP				; VPS_DecodeLine
PUBLIC	__$ArrayPad$
PUBLIC	?VBI_DecodeLine_VPS@@YAXPAE@Z			; VBI_DecodeLine_VPS
; Function compile flags: /Odtp
;	COMDAT ?VBI_DecodeLine_VPS@@YAXPAE@Z
_TEXT	SEGMENT
_i$141283 = -36						; size = 4
_data$141282 = -32					; size = 15
__$ArrayPad$ = -16					; size = 4
_bError$ = -12						; size = 4
_scanPos$ = -8						; size = 4
_p$ = -4						; size = 4
_VBI_Buffer$ = 8					; size = 4
?VBI_DecodeLine_VPS@@YAXPAE@Z PROC			; VBI_DecodeLine_VPS, COMDAT

; 205  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 24	 sub	 esp, 36			; 00000024H
  00006	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0000b	33 c5		 xor	 eax, ebp
  0000d	89 45 f0	 mov	 DWORD PTR __$ArrayPad$[ebp], eax

; 206  :     BOOL bError = TRUE;

  00010	c7 45 f4 01 00
	00 00		 mov	 DWORD PTR _bError$[ebp], 1

; 207  : 
; 208  :     int p = VPSStep * 12 / FPFAC;

  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ?VPSStep@@3HA ; VPSStep
  0001c	6b c0 0c	 imul	 eax, 12			; 0000000cH
  0001f	99		 cdq
  00020	81 e2 ff ff 00
	00		 and	 edx, 65535		; 0000ffffH
  00026	03 c2		 add	 eax, edx
  00028	c1 f8 10	 sar	 eax, 16			; 00000010H
  0002b	89 45 fc	 mov	 DWORD PTR _p$[ebp], eax
$LN7@VBI_Decode:

; 209  : 
; 210  :     while((VBI_Buffer[p] < VBI_thresh) && (VPSStep * 37 / FPFAC))

  0002e	8b 45 08	 mov	 eax, DWORD PTR _VBI_Buffer$[ebp]
  00031	03 45 fc	 add	 eax, DWORD PTR _p$[ebp]
  00034	0f b6 08	 movzx	 ecx, BYTE PTR [eax]
  00037	0f b6 15 00 00
	00 00		 movzx	 edx, BYTE PTR ?VBI_thresh@@3EA ; VBI_thresh
  0003e	3b ca		 cmp	 ecx, edx
  00040	7d 23		 jge	 SHORT $LN6@VBI_Decode
  00042	a1 00 00 00 00	 mov	 eax, DWORD PTR ?VPSStep@@3HA ; VPSStep
  00047	6b c0 25	 imul	 eax, 37			; 00000025H
  0004a	99		 cdq
  0004b	81 e2 ff ff 00
	00		 and	 edx, 65535		; 0000ffffH
  00051	03 c2		 add	 eax, edx
  00053	c1 f8 10	 sar	 eax, 16			; 00000010H
  00056	85 c0		 test	 eax, eax
  00058	74 0b		 je	 SHORT $LN6@VBI_Decode

; 211  :     {
; 212  :         p++;

  0005a	8b 45 fc	 mov	 eax, DWORD PTR _p$[ebp]
  0005d	83 c0 01	 add	 eax, 1
  00060	89 45 fc	 mov	 DWORD PTR _p$[ebp], eax

; 213  :     }

  00063	eb c9		 jmp	 SHORT $LN7@VBI_Decode
$LN6@VBI_Decode:

; 214  : 
; 215  :     UINT scanPos = (p + 2) << FPSHIFT;

  00065	8b 4d fc	 mov	 ecx, DWORD PTR _p$[ebp]
  00068	83 c1 02	 add	 ecx, 2
  0006b	c1 e1 10	 shl	 ecx, 16			; 00000010H
  0006e	89 4d f8	 mov	 DWORD PTR _scanPos$[ebp], ecx

; 216  : 
; 217  :     if( (VBI_Scan(VBI_Buffer, VPSStep, &scanPos) == 0x55) &&    // VPS run in
; 218  :         (VBI_Scan(VBI_Buffer, VPSStep, &scanPos) == 0x55) &&
; 219  :         (VBI_Scan(VBI_Buffer, VPSStep, &scanPos) == 0x51) &&    // VPS start code
; 220  :         (VBI_Scan(VBI_Buffer, VPSStep, &scanPos) == 0x99) )

  00071	8d 55 f8	 lea	 edx, DWORD PTR _scanPos$[ebp]
  00074	52		 push	 edx
  00075	a1 00 00 00 00	 mov	 eax, DWORD PTR ?VPSStep@@3HA ; VPSStep
  0007a	50		 push	 eax
  0007b	8b 4d 08	 mov	 ecx, DWORD PTR _VBI_Buffer$[ebp]
  0007e	51		 push	 ecx
  0007f	e8 00 00 00 00	 call	 ?VBI_Scan@@YAEPAEIPAI@Z	; VBI_Scan
  00084	83 c4 0c	 add	 esp, 12			; 0000000cH
  00087	0f b6 d0	 movzx	 edx, al
  0008a	83 fa 55	 cmp	 edx, 85			; 00000055H
  0008d	0f 85 d2 00 00
	00		 jne	 $LN5@VBI_Decode
  00093	8d 45 f8	 lea	 eax, DWORD PTR _scanPos$[ebp]
  00096	50		 push	 eax
  00097	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?VPSStep@@3HA ; VPSStep
  0009d	51		 push	 ecx
  0009e	8b 55 08	 mov	 edx, DWORD PTR _VBI_Buffer$[ebp]
  000a1	52		 push	 edx
  000a2	e8 00 00 00 00	 call	 ?VBI_Scan@@YAEPAEIPAI@Z	; VBI_Scan
  000a7	83 c4 0c	 add	 esp, 12			; 0000000cH
  000aa	0f b6 c0	 movzx	 eax, al
  000ad	83 f8 55	 cmp	 eax, 85			; 00000055H
  000b0	0f 85 af 00 00
	00		 jne	 $LN5@VBI_Decode
  000b6	8d 4d f8	 lea	 ecx, DWORD PTR _scanPos$[ebp]
  000b9	51		 push	 ecx
  000ba	8b 15 00 00 00
	00		 mov	 edx, DWORD PTR ?VPSStep@@3HA ; VPSStep
  000c0	52		 push	 edx
  000c1	8b 45 08	 mov	 eax, DWORD PTR _VBI_Buffer$[ebp]
  000c4	50		 push	 eax
  000c5	e8 00 00 00 00	 call	 ?VBI_Scan@@YAEPAEIPAI@Z	; VBI_Scan
  000ca	83 c4 0c	 add	 esp, 12			; 0000000cH
  000cd	0f b6 c8	 movzx	 ecx, al
  000d0	83 f9 51	 cmp	 ecx, 81			; 00000051H
  000d3	0f 85 8c 00 00
	00		 jne	 $LN5@VBI_Decode
  000d9	8d 55 f8	 lea	 edx, DWORD PTR _scanPos$[ebp]
  000dc	52		 push	 edx
  000dd	a1 00 00 00 00	 mov	 eax, DWORD PTR ?VPSStep@@3HA ; VPSStep
  000e2	50		 push	 eax
  000e3	8b 4d 08	 mov	 ecx, DWORD PTR _VBI_Buffer$[ebp]
  000e6	51		 push	 ecx
  000e7	e8 00 00 00 00	 call	 ?VBI_Scan@@YAEPAEIPAI@Z	; VBI_Scan
  000ec	83 c4 0c	 add	 esp, 12			; 0000000cH
  000ef	0f b6 d0	 movzx	 edx, al
  000f2	81 fa 99 00 00
	00		 cmp	 edx, 153		; 00000099H
  000f8	75 6b		 jne	 SHORT $LN5@VBI_Decode

; 221  :     {
; 222  :         bError = FALSE;

  000fa	c7 45 f4 00 00
	00 00		 mov	 DWORD PTR _bError$[ebp], 0

; 223  :         BYTE data[15] = {0xff, 0x5d};

  00101	c6 45 e0 ff	 mov	 BYTE PTR _data$141282[ebp], 255 ; 000000ffH
  00105	c6 45 e1 5d	 mov	 BYTE PTR _data$141282[ebp+1], 93 ; 0000005dH
  00109	33 c0		 xor	 eax, eax
  0010b	89 45 e2	 mov	 DWORD PTR _data$141282[ebp+2], eax
  0010e	89 45 e6	 mov	 DWORD PTR _data$141282[ebp+6], eax
  00111	89 45 ea	 mov	 DWORD PTR _data$141282[ebp+10], eax
  00114	88 45 ee	 mov	 BYTE PTR _data$141282[ebp+14], al

; 224  : 
; 225  :         for(int i = 2; i <= 14; i++)

  00117	c7 45 dc 02 00
	00 00		 mov	 DWORD PTR _i$141283[ebp], 2
  0011e	eb 09		 jmp	 SHORT $LN4@VBI_Decode
$LN3@VBI_Decode:
  00120	8b 4d dc	 mov	 ecx, DWORD PTR _i$141283[ebp]
  00123	83 c1 01	 add	 ecx, 1
  00126	89 4d dc	 mov	 DWORD PTR _i$141283[ebp], ecx
$LN4@VBI_Decode:
  00129	83 7d dc 0e	 cmp	 DWORD PTR _i$141283[ebp], 14 ; 0000000eH
  0012d	7f 24		 jg	 SHORT $LN2@VBI_Decode

; 226  :         {
; 227  :             data[i] = VPS_Scan(VBI_Buffer, VPSStep, &scanPos, &bError);

  0012f	8d 55 f4	 lea	 edx, DWORD PTR _bError$[ebp]
  00132	52		 push	 edx
  00133	8d 45 f8	 lea	 eax, DWORD PTR _scanPos$[ebp]
  00136	50		 push	 eax
  00137	8b 0d 00 00 00
	00		 mov	 ecx, DWORD PTR ?VPSStep@@3HA ; VPSStep
  0013d	51		 push	 ecx
  0013e	8b 55 08	 mov	 edx, DWORD PTR _VBI_Buffer$[ebp]
  00141	52		 push	 edx
  00142	e8 00 00 00 00	 call	 ?VPS_Scan@@YAEPBEIPAIPAH@Z ; VPS_Scan
  00147	83 c4 10	 add	 esp, 16			; 00000010H
  0014a	8b 4d dc	 mov	 ecx, DWORD PTR _i$141283[ebp]
  0014d	88 44 0d e0	 mov	 BYTE PTR _data$141282[ebp+ecx], al

; 228  :         }

  00151	eb cd		 jmp	 SHORT $LN3@VBI_Decode
$LN2@VBI_Decode:

; 229  : 
; 230  :         if(!bError)

  00153	83 7d f4 00	 cmp	 DWORD PTR _bError$[ebp], 0
  00157	75 0c		 jne	 SHORT $LN5@VBI_Decode

; 231  :         {
; 232  :             VPS_DecodeLine(data);

  00159	8d 55 e0	 lea	 edx, DWORD PTR _data$141282[ebp]
  0015c	52		 push	 edx
  0015d	e8 00 00 00 00	 call	 ?VPS_DecodeLine@@YAXPAE@Z ; VPS_DecodeLine
  00162	83 c4 04	 add	 esp, 4
$LN5@VBI_Decode:

; 233  :         }
; 234  :     }
; 235  : 
; 236  :     VPS_Data.Valid = !bError;

  00165	33 c0		 xor	 eax, eax
  00167	83 7d f4 00	 cmp	 DWORD PTR _bError$[ebp], 0
  0016b	0f 94 c0	 sete	 al
  0016e	a3 00 00 00 00	 mov	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A, eax

; 237  : }

  00173	8b 4d f0	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  00176	33 cd		 xor	 ecx, ebp
  00178	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0017d	8b e5		 mov	 esp, ebp
  0017f	5d		 pop	 ebp
  00180	c3		 ret	 0
?VBI_DecodeLine_VPS@@YAXPAE@Z ENDP			; VBI_DecodeLine_VPS
PUBLIC	__$ArrayPad$
PUBLIC	?VPS_GetChannelNameFromCNI@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ; VPS_GetChannelNameFromCNI
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?VPS_GetChannelNameFromCNI@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?VPS_GetChannelNameFromCNI@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ$1
	DD	00H
	DD	FLAT:__unwindfunclet$?VPS_GetChannelNameFromCNI@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ$0
__ehfuncinfo$?VPS_GetChannelNameFromCNI@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ DD 019930522H
	DD	02H
	DD	FLAT:__unwindtable$?VPS_GetChannelNameFromCNI@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?VPS_GetChannelNameFromCNI@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
_TEXT	SEGMENT
$T331731 = -52						; size = 4
_i$141225 = -48						; size = 4
_RetVal$ = -44						; size = 28
__$ArrayPad$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
___$ReturnUdt$ = 8					; size = 4
?VPS_GetChannelNameFromCNI@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ PROC ; VPS_GetChannelNameFromCNI, COMDAT

; 87   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?VPS_GetChannelNameFromCNI@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 28	 sub	 esp, 40			; 00000028H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	89 45 f0	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00028	c7 45 cc 00 00
	00 00		 mov	 DWORD PTR $T331731[ebp], 0

; 88   :     tstring RetVal;

  0002f	8d 4d d4	 lea	 ecx, DWORD PTR _RetVal$[ebp]
  00032	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  00037	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1

; 89   :     if (VPS_Data.CNI != 0)

  0003e	0f b7 05 04 00
	00 00		 movzx	 eax, WORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+4
  00045	85 c0		 test	 eax, eax
  00047	74 4e		 je	 SHORT $LN5@VPS_GetCha

; 90   :     {
; 91   :         //LOG(1, _T("VPS CNI Code %x"), VPS_Data.CNI);
; 92   :         for (int i(0); i < iNbRegisteredCNICodes; i++)

  00049	c7 45 d0 00 00
	00 00		 mov	 DWORD PTR _i$141225[ebp], 0
  00050	eb 09		 jmp	 SHORT $LN4@VPS_GetCha
$LN3@VPS_GetCha:
  00052	8b 4d d0	 mov	 ecx, DWORD PTR _i$141225[ebp]
  00055	83 c1 01	 add	 ecx, 1
  00058	89 4d d0	 mov	 DWORD PTR _i$141225[ebp], ecx
$LN4@VPS_GetCha:
  0005b	8b 55 d0	 mov	 edx, DWORD PTR _i$141225[ebp]
  0005e	3b 15 00 00 00
	00		 cmp	 edx, DWORD PTR ?iNbRegisteredCNICodes@@3HA ; iNbRegisteredCNICodes
  00064	7d 31		 jge	 SHORT $LN5@VPS_GetCha

; 93   :         {
; 94   :             if (RegisteredCNICodes[i].wCNI_VPS == VPS_Data.CNI)

  00066	8b 45 d0	 mov	 eax, DWORD PTR _i$141225[ebp]
  00069	c1 e0 04	 shl	 eax, 4
  0006c	0f b7 88 0e 00
	00 00		 movzx	 ecx, WORD PTR ?RegisteredCNICodes@@3PAUTChannelIdentif@@A[eax+14]
  00073	0f b7 15 04 00
	00 00		 movzx	 edx, WORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+4
  0007a	3b ca		 cmp	 ecx, edx
  0007c	75 17		 jne	 SHORT $LN1@VPS_GetCha

; 95   :             {
; 96   :                 RetVal = RegisteredCNICodes[i].sNetwork;

  0007e	8b 45 d0	 mov	 eax, DWORD PTR _i$141225[ebp]
  00081	c1 e0 04	 shl	 eax, 4
  00084	8b 88 04 00 00
	00		 mov	 ecx, DWORD PTR ?RegisteredCNICodes@@3PAUTChannelIdentif@@A[eax+4]
  0008a	51		 push	 ecx
  0008b	8d 4d d4	 lea	 ecx, DWORD PTR _RetVal$[ebp]
  0008e	e8 00 00 00 00	 call	 ??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@PB_W@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::operator=

; 97   :                 break;

  00093	eb 02		 jmp	 SHORT $LN5@VPS_GetCha
$LN1@VPS_GetCha:

; 98   :             }
; 99   :         }

  00095	eb bb		 jmp	 SHORT $LN3@VPS_GetCha
$LN5@VPS_GetCha:

; 100  :     }
; 101  :     return RetVal;

  00097	8d 55 d4	 lea	 edx, DWORD PTR _RetVal$[ebp]
  0009a	52		 push	 edx
  0009b	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  0009e	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@ABV01@@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  000a3	8b 45 cc	 mov	 eax, DWORD PTR $T331731[ebp]
  000a6	83 c8 01	 or	 eax, 1
  000a9	89 45 cc	 mov	 DWORD PTR $T331731[ebp], eax
  000ac	c6 45 fc 00	 mov	 BYTE PTR __$EHRec$[ebp+8], 0
  000b0	8d 4d d4	 lea	 ecx, DWORD PTR _RetVal$[ebp]
  000b3	e8 00 00 00 00	 call	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  000b8	8b 45 08	 mov	 eax, DWORD PTR ___$ReturnUdt$[ebp]

; 102  : }

  000bb	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  000be	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  000c5	59		 pop	 ecx
  000c6	8b 4d f0	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  000c9	33 cd		 xor	 ecx, ebp
  000cb	e8 00 00 00 00	 call	 @__security_check_cookie@4
  000d0	8b e5		 mov	 esp, ebp
  000d2	5d		 pop	 ebp
  000d3	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?VPS_GetChannelNameFromCNI@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ$0:
  00000	8d 4d d4	 lea	 ecx, DWORD PTR _RetVal$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__unwindfunclet$?VPS_GetChannelNameFromCNI@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ$1:
  00008	8b 45 cc	 mov	 eax, DWORD PTR $T331731[ebp]
  0000b	83 e0 01	 and	 eax, 1
  0000e	0f 84 0c 00 00
	00		 je	 $LN10@VPS_GetCha
  00014	83 65 cc fe	 and	 DWORD PTR $T331731[ebp], -2 ; fffffffeH
  00018	8b 4d 08	 mov	 ecx, DWORD PTR ___$ReturnUdt$[ebp]
  0001b	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
$LN10@VPS_GetCha:
  00020	c3		 ret	 0
__ehhandler$?VPS_GetChannelNameFromCNI@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ:
  00021	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00025	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00028	8b 4a d4	 mov	 ecx, DWORD PTR [edx-44]
  0002b	33 c8		 xor	 ecx, eax
  0002d	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00032	8b 4a fc	 mov	 ecx, DWORD PTR [edx-4]
  00035	33 c8		 xor	 ecx, eax
  00037	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0003c	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?VPS_GetChannelNameFromCNI@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ
  00041	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?VPS_GetChannelNameFromCNI@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ENDP ; VPS_GetChannelNameFromCNI
PUBLIC	__$ArrayPad$
PUBLIC	?VPSInfoProc@@YGHPAUHWND__@@IIJ@Z		; VPSInfoProc
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?VPSInfoProc@@YGHPAUHWND__@@IIJ@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?VPSInfoProc@@YGHPAUHWND__@@IIJ@Z$0
__ehfuncinfo$?VPSInfoProc@@YGHPAUHWND__@@IIJ@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$?VPSInfoProc@@YGHPAUHWND__@@IIJ@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?VPSInfoProc@@YGHPAUHWND__@@IIJ@Z
_TEXT	SEGMENT
tv131 = -164						; size = 4
tv86 = -160						; size = 4
tv64 = -156						; size = 4
_ChannelName$141303 = -152				; size = 28
_buffer$ = -124						; size = 100
__$ArrayPad$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
_hDlg$ = 8						; size = 4
_message$ = 12						; size = 4
_wParam$ = 16						; size = 4
_lParam$ = 20						; size = 4
?VPSInfoProc@@YGHPAUHWND__@@IIJ@Z PROC			; VPSInfoProc, COMDAT

; 241  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?VPSInfoProc@@YGHPAUHWND__@@IIJ@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec 98 00 00
	00		 sub	 esp, 152		; 00000098H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  0001e	89 45 f0	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  00021	50		 push	 eax
  00022	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00025	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 242  :     TCHAR buffer[50];
; 243  : 
; 244  :     switch (message)

  0002b	8b 45 0c	 mov	 eax, DWORD PTR _message$[ebp]
  0002e	89 85 64 ff ff
	ff		 mov	 DWORD PTR tv64[ebp], eax
  00034	81 bd 64 ff ff
	ff 10 01 00 00	 cmp	 DWORD PTR tv64[ebp], 272 ; 00000110H
  0003e	74 21		 je	 SHORT $LN23@VPSInfoPro
  00040	81 bd 64 ff ff
	ff 11 01 00 00	 cmp	 DWORD PTR tv64[ebp], 273 ; 00000111H
  0004a	0f 84 70 03 00
	00		 je	 $LN3@VPSInfoPro
  00050	81 bd 64 ff ff
	ff 13 01 00 00	 cmp	 DWORD PTR tv64[ebp], 275 ; 00000113H
  0005a	74 21		 je	 SHORT $LN22@VPSInfoPro
  0005c	e9 a2 03 00 00	 jmp	 $LN24@VPSInfoPro
$LN23@VPSInfoPro:

; 245  :     {
; 246  :     case WM_INITDIALOG:
; 247  :         hVPSInfoWnd = hDlg;

  00061	8b 4d 08	 mov	 ecx, DWORD PTR _hDlg$[ebp]
  00064	89 0d 00 00 00
	00		 mov	 DWORD PTR ?hVPSInfoWnd@@3PAUHWND__@@A, ecx ; hVPSInfoWnd

; 248  :         SetTimer(hDlg, 100, 500, NULL);

  0006a	6a 00		 push	 0
  0006c	68 f4 01 00 00	 push	 500			; 000001f4H
  00071	6a 64		 push	 100			; 00000064H
  00073	8b 55 08	 mov	 edx, DWORD PTR _hDlg$[ebp]
  00076	52		 push	 edx
  00077	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetTimer@16
$LN22@VPSInfoPro:

; 249  :         // no break
; 250  : 
; 251  :     case WM_TIMER:
; 252  :         if(VPS_Data.Valid)

  0007d	83 3d 00 00 00
	00 00		 cmp	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A, 0
  00084	0f 84 94 02 00
	00		 je	 $LN21@VPSInfoPro

; 253  :         {
; 254  :             tstring ChannelName(VPS_GetChannelNameFromCNI());

  0008a	8d 85 68 ff ff
	ff		 lea	 eax, DWORD PTR _ChannelName$141303[ebp]
  00090	50		 push	 eax
  00091	e8 00 00 00 00	 call	 ?VPS_GetChannelNameFromCNI@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ; VPS_GetChannelNameFromCNI
  00096	83 c4 04	 add	 esp, 4
  00099	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 255  :             SetDlgItemText(hDlg, IDC_VPS_NAME, ChannelName.c_str());

  000a0	8d 8d 68 ff ff
	ff		 lea	 ecx, DWORD PTR _ChannelName$141303[ebp]
  000a6	e8 00 00 00 00	 call	 ?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::c_str
  000ab	50		 push	 eax
  000ac	68 f3 05 00 00	 push	 1523			; 000005f3H
  000b1	8b 4d 08	 mov	 ecx, DWORD PTR _hDlg$[ebp]
  000b4	51		 push	 ecx
  000b5	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 256  : 
; 257  :             _stprintf(buffer, _T("0x%0x"), VPS_Data.CNI);

  000bb	0f b7 15 04 00
	00 00		 movzx	 edx, WORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+4
  000c2	52		 push	 edx
  000c3	68 00 00 00 00	 push	 OFFSET ??_C@_1M@GOPKCJBE@?$AA0?$AAx?$AA?$CF?$AA0?$AAx?$AA?$AA@
  000c8	8d 45 84	 lea	 eax, DWORD PTR _buffer$[ebp]
  000cb	50		 push	 eax
  000cc	e8 00 00 00 00	 call	 __swprintf
  000d1	83 c4 0c	 add	 esp, 12			; 0000000cH

; 258  :             SetDlgItemText(hDlg, IDC_VPS_CNI, buffer);

  000d4	8d 4d 84	 lea	 ecx, DWORD PTR _buffer$[ebp]
  000d7	51		 push	 ecx
  000d8	68 f4 05 00 00	 push	 1524			; 000005f4H
  000dd	8b 55 08	 mov	 edx, DWORD PTR _hDlg$[ebp]
  000e0	52		 push	 edx
  000e1	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 259  : 
; 260  :             if(VPS_Data.Day == 0)

  000e7	83 3d 44 00 00
	00 00		 cmp	 DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+68, 0
  000ee	0f 85 ca 00 00
	00		 jne	 $LN20@VPSInfoPro

; 261  :             {
; 262  : 
; 263  :                 switch(VPS_Data.Hour)

  000f4	a1 48 00 00 00	 mov	 eax, DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+72
  000f9	89 85 60 ff ff
	ff		 mov	 DWORD PTR tv86[ebp], eax
  000ff	8b 8d 60 ff ff
	ff		 mov	 ecx, DWORD PTR tv86[ebp]
  00105	83 e9 1c	 sub	 ecx, 28			; 0000001cH
  00108	89 8d 60 ff ff
	ff		 mov	 DWORD PTR tv86[ebp], ecx
  0010e	83 bd 60 ff ff
	ff 03		 cmp	 DWORD PTR tv86[ebp], 3
  00115	77 59		 ja	 SHORT $LN13@VPSInfoPro
  00117	8b 95 60 ff ff
	ff		 mov	 edx, DWORD PTR tv86[ebp]
  0011d	ff 24 95 00 00
	00 00		 jmp	 DWORD PTR $LN30@VPSInfoPro[edx*4]
$LN17@VPSInfoPro:

; 264  :                 {
; 265  :                 case 31:
; 266  :                     _tcscpy(buffer, _T("Timer Control"));

  00124	68 00 00 00 00	 push	 OFFSET ??_C@_1BM@MAGMCGPI@?$AAT?$AAi?$AAm?$AAe?$AAr?$AA?5?$AAC?$AAo?$AAn?$AAt?$AAr?$AAo?$AAl?$AA?$AA@
  00129	8d 45 84	 lea	 eax, DWORD PTR _buffer$[ebp]
  0012c	50		 push	 eax
  0012d	e8 00 00 00 00	 call	 _wcscpy
  00132	83 c4 08	 add	 esp, 8

; 267  :                     break;

  00135	eb 4a		 jmp	 SHORT $LN18@VPSInfoPro
$LN16@VPSInfoPro:

; 268  :                 case 30:
; 269  :                     _tcscpy(buffer, _T("Pause"));

  00137	68 00 00 00 00	 push	 OFFSET ??_C@_1M@ODIKOLHI@?$AAP?$AAa?$AAu?$AAs?$AAe?$AA?$AA@
  0013c	8d 4d 84	 lea	 ecx, DWORD PTR _buffer$[ebp]
  0013f	51		 push	 ecx
  00140	e8 00 00 00 00	 call	 _wcscpy
  00145	83 c4 08	 add	 esp, 8

; 270  :                     break;

  00148	eb 37		 jmp	 SHORT $LN18@VPSInfoPro
$LN15@VPSInfoPro:

; 271  :                 case 29:
; 272  :                     _tcscpy(buffer, _T("Interrupt"));

  0014a	68 00 00 00 00	 push	 OFFSET ??_C@_1BE@PBKDACKD@?$AAI?$AAn?$AAt?$AAe?$AAr?$AAr?$AAu?$AAp?$AAt?$AA?$AA@
  0014f	8d 55 84	 lea	 edx, DWORD PTR _buffer$[ebp]
  00152	52		 push	 edx
  00153	e8 00 00 00 00	 call	 _wcscpy
  00158	83 c4 08	 add	 esp, 8

; 273  :                     break;

  0015b	eb 24		 jmp	 SHORT $LN18@VPSInfoPro
$LN14@VPSInfoPro:

; 274  :                 case 28:
; 275  :                     _tcscpy(buffer, _T("Continue"));

  0015d	68 00 00 00 00	 push	 OFFSET ??_C@_1BC@KAMKBBFP@?$AAC?$AAo?$AAn?$AAt?$AAi?$AAn?$AAu?$AAe?$AA?$AA@
  00162	8d 45 84	 lea	 eax, DWORD PTR _buffer$[ebp]
  00165	50		 push	 eax
  00166	e8 00 00 00 00	 call	 _wcscpy
  0016b	83 c4 08	 add	 esp, 8

; 276  :                     break;

  0016e	eb 11		 jmp	 SHORT $LN18@VPSInfoPro
$LN13@VPSInfoPro:

; 277  :                 default:
; 278  :                     _tcscpy(buffer, _T("Unknown"));

  00170	68 00 00 00 00	 push	 OFFSET ??_C@_1BA@LEPJIIOK@?$AAU?$AAn?$AAk?$AAn?$AAo?$AAw?$AAn?$AA?$AA@
  00175	8d 4d 84	 lea	 ecx, DWORD PTR _buffer$[ebp]
  00178	51		 push	 ecx
  00179	e8 00 00 00 00	 call	 _wcscpy
  0017e	83 c4 08	 add	 esp, 8
$LN18@VPSInfoPro:

; 279  :                     break;
; 280  :                 }
; 281  : 
; 282  :                 SetDlgItemText(hDlg, IDC_VPS_SERVICE, buffer);

  00181	8d 55 84	 lea	 edx, DWORD PTR _buffer$[ebp]
  00184	52		 push	 edx
  00185	68 fa 05 00 00	 push	 1530			; 000005faH
  0018a	8b 45 08	 mov	 eax, DWORD PTR _hDlg$[ebp]
  0018d	50		 push	 eax
  0018e	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 283  :                 SetDlgItemText(hDlg, IDC_VPS_MONTH, _T(""));

  00194	68 00 00 00 00	 push	 OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  00199	68 f6 05 00 00	 push	 1526			; 000005f6H
  0019e	8b 4d 08	 mov	 ecx, DWORD PTR _hDlg$[ebp]
  001a1	51		 push	 ecx
  001a2	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 284  :                 SetDlgItemText(hDlg, IDC_VPS_TIME,  _T(""));

  001a8	68 00 00 00 00	 push	 OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  001ad	68 f7 05 00 00	 push	 1527			; 000005f7H
  001b2	8b 55 08	 mov	 edx, DWORD PTR _hDlg$[ebp]
  001b5	52		 push	 edx
  001b6	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 285  :             }
; 286  : 
; 287  :             else

  001bc	eb 77		 jmp	 SHORT $LN12@VPSInfoPro
$LN20@VPSInfoPro:

; 288  :             {
; 289  :                 SetDlgItemText(hDlg, IDC_VPS_SERVICE, _T(""));

  001be	68 00 00 00 00	 push	 OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  001c3	68 fa 05 00 00	 push	 1530			; 000005faH
  001c8	8b 45 08	 mov	 eax, DWORD PTR _hDlg$[ebp]
  001cb	50		 push	 eax
  001cc	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 290  : 
; 291  :                 _stprintf(buffer, _T("%02d.%02d"), VPS_Data.Day, VPS_Data.Month);

  001d2	8b 0d 40 00 00
	00		 mov	 ecx, DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+64
  001d8	51		 push	 ecx
  001d9	8b 15 44 00 00
	00		 mov	 edx, DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+68
  001df	52		 push	 edx
  001e0	68 00 00 00 00	 push	 OFFSET ??_C@_1BE@HBDPDFAB@?$AA?$CF?$AA0?$AA2?$AAd?$AA?4?$AA?$CF?$AA0?$AA2?$AAd?$AA?$AA@
  001e5	8d 45 84	 lea	 eax, DWORD PTR _buffer$[ebp]
  001e8	50		 push	 eax
  001e9	e8 00 00 00 00	 call	 __swprintf
  001ee	83 c4 10	 add	 esp, 16			; 00000010H

; 292  :                 SetDlgItemText(hDlg, IDC_VPS_MONTH, buffer);

  001f1	8d 4d 84	 lea	 ecx, DWORD PTR _buffer$[ebp]
  001f4	51		 push	 ecx
  001f5	68 f6 05 00 00	 push	 1526			; 000005f6H
  001fa	8b 55 08	 mov	 edx, DWORD PTR _hDlg$[ebp]
  001fd	52		 push	 edx
  001fe	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 293  : 
; 294  :                 _stprintf(buffer, _T("%02d:%02d"), VPS_Data.Hour, VPS_Data.Minute);

  00204	a1 4c 00 00 00	 mov	 eax, DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+76
  00209	50		 push	 eax
  0020a	8b 0d 48 00 00
	00		 mov	 ecx, DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+72
  00210	51		 push	 ecx
  00211	68 00 00 00 00	 push	 OFFSET ??_C@_1BE@HOCBODIC@?$AA?$CF?$AA0?$AA2?$AAd?$AA?3?$AA?$CF?$AA0?$AA2?$AAd?$AA?$AA@
  00216	8d 55 84	 lea	 edx, DWORD PTR _buffer$[ebp]
  00219	52		 push	 edx
  0021a	e8 00 00 00 00	 call	 __swprintf
  0021f	83 c4 10	 add	 esp, 16			; 00000010H

; 295  :                 SetDlgItemText(hDlg, IDC_VPS_TIME, buffer);

  00222	8d 45 84	 lea	 eax, DWORD PTR _buffer$[ebp]
  00225	50		 push	 eax
  00226	68 f7 05 00 00	 push	 1527			; 000005f7H
  0022b	8b 4d 08	 mov	 ecx, DWORD PTR _hDlg$[ebp]
  0022e	51		 push	 ecx
  0022f	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12
$LN12@VPSInfoPro:

; 296  :             }
; 297  : 
; 298  :             switch(VPS_Data.Audio)

  00235	8b 15 50 00 00
	00		 mov	 edx, DWORD PTR ?VPS_Data@@3UTVPSDataStruct@@A+80
  0023b	89 95 5c ff ff
	ff		 mov	 DWORD PTR tv131[ebp], edx
  00241	83 bd 5c ff ff
	ff 03		 cmp	 DWORD PTR tv131[ebp], 3
  00248	77 59		 ja	 SHORT $LN5@VPSInfoPro
  0024a	8b 85 5c ff ff
	ff		 mov	 eax, DWORD PTR tv131[ebp]
  00250	ff 24 85 00 00
	00 00		 jmp	 DWORD PTR $LN31@VPSInfoPro[eax*4]
$LN9@VPSInfoPro:

; 299  :             {
; 300  :             case VPSAUDIO_UNKNOWN:
; 301  :                 _tcscpy(buffer, _T("Don't know"));

  00257	68 00 00 00 00	 push	 OFFSET ??_C@_1BG@IOFMKIDH@?$AAD?$AAo?$AAn?$AA?8?$AAt?$AA?5?$AAk?$AAn?$AAo?$AAw?$AA?$AA@
  0025c	8d 4d 84	 lea	 ecx, DWORD PTR _buffer$[ebp]
  0025f	51		 push	 ecx
  00260	e8 00 00 00 00	 call	 _wcscpy
  00265	83 c4 08	 add	 esp, 8

; 302  :                 break;

  00268	eb 4a		 jmp	 SHORT $LN10@VPSInfoPro
$LN8@VPSInfoPro:

; 303  :             case VPSAUDIO_MONO:
; 304  :                 _tcscpy(buffer, _T("Mono"));

  0026a	68 00 00 00 00	 push	 OFFSET ??_C@_19CPEBCAPB@?$AAM?$AAo?$AAn?$AAo?$AA?$AA@
  0026f	8d 55 84	 lea	 edx, DWORD PTR _buffer$[ebp]
  00272	52		 push	 edx
  00273	e8 00 00 00 00	 call	 _wcscpy
  00278	83 c4 08	 add	 esp, 8

; 305  :                 break;

  0027b	eb 37		 jmp	 SHORT $LN10@VPSInfoPro
$LN7@VPSInfoPro:

; 306  :             case VPSAUDIO_STEREO:
; 307  :                 _tcscpy(buffer, _T("Stereo"));

  0027d	68 00 00 00 00	 push	 OFFSET ??_C@_1O@LAKFPCJA@?$AAS?$AAt?$AAe?$AAr?$AAe?$AAo?$AA?$AA@
  00282	8d 45 84	 lea	 eax, DWORD PTR _buffer$[ebp]
  00285	50		 push	 eax
  00286	e8 00 00 00 00	 call	 _wcscpy
  0028b	83 c4 08	 add	 esp, 8

; 308  :                 break;

  0028e	eb 24		 jmp	 SHORT $LN10@VPSInfoPro
$LN6@VPSInfoPro:

; 309  :             case VPSAUDIO_DUAL:
; 310  :                 _tcscpy(buffer, _T("Dual Sound"));

  00290	68 00 00 00 00	 push	 OFFSET ??_C@_1BG@HHOMGLFC@?$AAD?$AAu?$AAa?$AAl?$AA?5?$AAS?$AAo?$AAu?$AAn?$AAd?$AA?$AA@
  00295	8d 4d 84	 lea	 ecx, DWORD PTR _buffer$[ebp]
  00298	51		 push	 ecx
  00299	e8 00 00 00 00	 call	 _wcscpy
  0029e	83 c4 08	 add	 esp, 8

; 311  :                 break;

  002a1	eb 11		 jmp	 SHORT $LN10@VPSInfoPro
$LN5@VPSInfoPro:

; 312  :             default:
; 313  :                 _tcscpy(buffer, _T("Error"));

  002a3	68 00 00 00 00	 push	 OFFSET ??_C@_1M@ILHOPKA@?$AAE?$AAr?$AAr?$AAo?$AAr?$AA?$AA@
  002a8	8d 55 84	 lea	 edx, DWORD PTR _buffer$[ebp]
  002ab	52		 push	 edx
  002ac	e8 00 00 00 00	 call	 _wcscpy
  002b1	83 c4 08	 add	 esp, 8
$LN10@VPSInfoPro:

; 314  :                 break;
; 315  :             }
; 316  : 
; 317  :             SetDlgItemText(hDlg, IDC_VPS_AUDIO, buffer);

  002b4	8d 45 84	 lea	 eax, DWORD PTR _buffer$[ebp]
  002b7	50		 push	 eax
  002b8	68 f9 05 00 00	 push	 1529			; 000005f9H
  002bd	8b 4d 08	 mov	 ecx, DWORD PTR _hDlg$[ebp]
  002c0	51		 push	 ecx
  002c1	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 318  :             SetDlgItemText(hDlg, IDC_VPS_LABEL, VPS_Data.LabelTemp);

  002c7	68 06 00 00 00	 push	 OFFSET ?VPS_Data@@3UTVPSDataStruct@@A+6
  002cc	68 f5 05 00 00	 push	 1525			; 000005f5H
  002d1	8b 55 08	 mov	 edx, DWORD PTR _hDlg$[ebp]
  002d4	52		 push	 edx
  002d5	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 319  : 
; 320  :             _stprintf(buffer, _T("0x%02x"), VPS_Data.PTY);

  002db	0f b6 05 54 00
	00 00		 movzx	 eax, BYTE PTR ?VPS_Data@@3UTVPSDataStruct@@A+84
  002e2	50		 push	 eax
  002e3	68 00 00 00 00	 push	 OFFSET ??_C@_1O@GMFEIALK@?$AA0?$AAx?$AA?$CF?$AA0?$AA2?$AAx?$AA?$AA@
  002e8	8d 4d 84	 lea	 ecx, DWORD PTR _buffer$[ebp]
  002eb	51		 push	 ecx
  002ec	e8 00 00 00 00	 call	 __swprintf
  002f1	83 c4 0c	 add	 esp, 12			; 0000000cH

; 321  :             SetDlgItemText(hDlg, IDC_VPS_PTY, buffer);

  002f4	8d 55 84	 lea	 edx, DWORD PTR _buffer$[ebp]
  002f7	52		 push	 edx
  002f8	68 fb 05 00 00	 push	 1531			; 000005fbH
  002fd	8b 45 08	 mov	 eax, DWORD PTR _hDlg$[ebp]
  00300	50		 push	 eax
  00301	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 322  :         }

  00307	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0030e	8d 8d 68 ff ff
	ff		 lea	 ecx, DWORD PTR _ChannelName$141303[ebp]
  00314	e8 00 00 00 00	 call	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >

; 323  : 
; 324  :         else

  00319	e9 a0 00 00 00	 jmp	 $LN4@VPSInfoPro
$LN21@VPSInfoPro:

; 325  :         {
; 326  :             SetDlgItemText(hDlg, IDC_VPS_NAME,    _T(""));

  0031e	68 00 00 00 00	 push	 OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  00323	68 f3 05 00 00	 push	 1523			; 000005f3H
  00328	8b 4d 08	 mov	 ecx, DWORD PTR _hDlg$[ebp]
  0032b	51		 push	 ecx
  0032c	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 327  :             SetDlgItemText(hDlg, IDC_VPS_CNI,     _T(""));

  00332	68 00 00 00 00	 push	 OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  00337	68 f4 05 00 00	 push	 1524			; 000005f4H
  0033c	8b 55 08	 mov	 edx, DWORD PTR _hDlg$[ebp]
  0033f	52		 push	 edx
  00340	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 328  :             SetDlgItemText(hDlg, IDC_VPS_MONTH,   _T(""));

  00346	68 00 00 00 00	 push	 OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  0034b	68 f6 05 00 00	 push	 1526			; 000005f6H
  00350	8b 45 08	 mov	 eax, DWORD PTR _hDlg$[ebp]
  00353	50		 push	 eax
  00354	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 329  :             SetDlgItemText(hDlg, IDC_VPS_TIME,    _T(""));

  0035a	68 00 00 00 00	 push	 OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  0035f	68 f7 05 00 00	 push	 1527			; 000005f7H
  00364	8b 4d 08	 mov	 ecx, DWORD PTR _hDlg$[ebp]
  00367	51		 push	 ecx
  00368	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 330  :             SetDlgItemText(hDlg, IDC_VPS_AUDIO,   _T(""));

  0036e	68 00 00 00 00	 push	 OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  00373	68 f9 05 00 00	 push	 1529			; 000005f9H
  00378	8b 55 08	 mov	 edx, DWORD PTR _hDlg$[ebp]
  0037b	52		 push	 edx
  0037c	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 331  :             SetDlgItemText(hDlg, IDC_VPS_SERVICE, _T(""));

  00382	68 00 00 00 00	 push	 OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  00387	68 fa 05 00 00	 push	 1530			; 000005faH
  0038c	8b 45 08	 mov	 eax, DWORD PTR _hDlg$[ebp]
  0038f	50		 push	 eax
  00390	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 332  :             SetDlgItemText(hDlg, IDC_VPS_LABEL,   _T(""));

  00396	68 00 00 00 00	 push	 OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  0039b	68 f5 05 00 00	 push	 1525			; 000005f5H
  003a0	8b 4d 08	 mov	 ecx, DWORD PTR _hDlg$[ebp]
  003a3	51		 push	 ecx
  003a4	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12

; 333  :             SetDlgItemText(hDlg, IDC_VPS_PTY,     _T(""));

  003aa	68 00 00 00 00	 push	 OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  003af	68 fb 05 00 00	 push	 1531			; 000005fbH
  003b4	8b 55 08	 mov	 edx, DWORD PTR _hDlg$[ebp]
  003b7	52		 push	 edx
  003b8	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__SetDlgItemTextW@12
$LN4@VPSInfoPro:

; 334  :         }
; 335  : 
; 336  :         break;

  003be	eb 43		 jmp	 SHORT $LN24@VPSInfoPro
$LN3@VPSInfoPro:

; 337  : 
; 338  :     case WM_COMMAND:
; 339  :         if ((LOWORD(wParam) == IDOK) || (LOWORD(wParam) == IDCANCEL))

  003c0	8b 45 10	 mov	 eax, DWORD PTR _wParam$[ebp]
  003c3	25 ff ff 00 00	 and	 eax, 65535		; 0000ffffH
  003c8	0f b7 c8	 movzx	 ecx, ax
  003cb	83 f9 01	 cmp	 ecx, 1
  003ce	74 11		 je	 SHORT $LN1@VPSInfoPro
  003d0	8b 55 10	 mov	 edx, DWORD PTR _wParam$[ebp]
  003d3	81 e2 ff ff 00
	00		 and	 edx, 65535		; 0000ffffH
  003d9	0f b7 c2	 movzx	 eax, dx
  003dc	83 f8 02	 cmp	 eax, 2
  003df	75 22		 jne	 SHORT $LN24@VPSInfoPro
$LN1@VPSInfoPro:

; 340  :         {
; 341  :             hVPSInfoWnd = NULL;

  003e1	c7 05 00 00 00
	00 00 00 00 00	 mov	 DWORD PTR ?hVPSInfoWnd@@3PAUHWND__@@A, 0 ; hVPSInfoWnd

; 342  :             KillTimer(hDlg, 100);

  003eb	6a 64		 push	 100			; 00000064H
  003ed	8b 4d 08	 mov	 ecx, DWORD PTR _hDlg$[ebp]
  003f0	51		 push	 ecx
  003f1	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__KillTimer@8

; 343  :             EndDialog(hDlg, TRUE);

  003f7	6a 01		 push	 1
  003f9	8b 55 08	 mov	 edx, DWORD PTR _hDlg$[ebp]
  003fc	52		 push	 edx
  003fd	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__EndDialog@8
$LN24@VPSInfoPro:

; 344  :         }
; 345  :         break;
; 346  :     }
; 347  : 
; 348  :     return (FALSE);

  00403	33 c0		 xor	 eax, eax

; 349  : }

  00405	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00408	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  0040f	59		 pop	 ecx
  00410	8b 4d f0	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  00413	33 cd		 xor	 ecx, ebp
  00415	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0041a	8b e5		 mov	 esp, ebp
  0041c	5d		 pop	 ebp
  0041d	c2 10 00	 ret	 16			; 00000010H
$LN30@VPSInfoPro:
  00420	00 00 00 00	 DD	 $LN14@VPSInfoPro
  00424	00 00 00 00	 DD	 $LN15@VPSInfoPro
  00428	00 00 00 00	 DD	 $LN16@VPSInfoPro
  0042c	00 00 00 00	 DD	 $LN17@VPSInfoPro
$LN31@VPSInfoPro:
  00430	00 00 00 00	 DD	 $LN9@VPSInfoPro
  00434	00 00 00 00	 DD	 $LN8@VPSInfoPro
  00438	00 00 00 00	 DD	 $LN7@VPSInfoPro
  0043c	00 00 00 00	 DD	 $LN6@VPSInfoPro
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?VPSInfoProc@@YGHPAUHWND__@@IIJ@Z$0:
  00000	8d 8d 68 ff ff
	ff		 lea	 ecx, DWORD PTR _ChannelName$141303[ebp]
  00006	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__ehhandler$?VPSInfoProc@@YGHPAUHWND__@@IIJ@Z:
  0000b	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000f	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00012	8b 8a 64 ff ff
	ff		 mov	 ecx, DWORD PTR [edx-156]
  00018	33 c8		 xor	 ecx, eax
  0001a	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0001f	8b 4a fc	 mov	 ecx, DWORD PTR [edx-4]
  00022	33 c8		 xor	 ecx, eax
  00024	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00029	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?VPSInfoProc@@YGHPAUHWND__@@IIJ@Z
  0002e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?VPSInfoProc@@YGHPAUHWND__@@IIJ@Z ENDP			; VPSInfoProc
END
