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

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

INCLUDELIB OLDNAMES

PUBLIC	?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z ; CTiffHelper::SaveSnapshot
PUBLIC	?OpenMediaFile@CTiffHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ; CTiffHelper::OpenMediaFile
PUBLIC	??_R4CTiffHelper@@6B@				; CTiffHelper::`RTTI Complete Object Locator'
PUBLIC	??_R3CTiffHelper@@8				; CTiffHelper::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2CTiffHelper@@8				; CTiffHelper::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@CTiffHelper@@8			; CTiffHelper::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??_R0?AVCTiffHelper@@@8				; CTiffHelper `RTTI Type Descriptor'
PUBLIC	??_C@_01KDCPPGHE@r?$AA@				; `string'
PUBLIC	??_C@_1MO@JPOCGPGP@?$AAA?$AAt?$AA?5?$AAl?$AAe?$AAa?$AAs?$AAt?$AA?5?$AAo?$AAn?$AAe?$AA?5?$AAo?$AAf?$AA?5?$AAt?$AAh?$AAe?$AA?5?$AAt?$AAa?$AAg?$AAs?$AA?5?$AAI?$AAM?$AAA?$AAG?$AAE?$AAW?$AAI@ ; `string'
PUBLIC	??_C@_1FI@PLLPIMDD@?$AAF?$AAi?$AAl?$AAe?$AA?5?$AA?$CF?$AAs?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AA?$CI?$AAc?$AAl?$AAa?$AAs?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AAc?$AAo?$AAm?$AAp@ ; `string'
PUBLIC	??_C@_1GA@KBHJHNIH@?$AAF?$AAi?$AAl?$AAe?$AA?5?$AA?$CF?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AA?$CI?$AAc?$AAl?$AAa?$AAs?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5@ ; `string'
PUBLIC	??_C@_08HMMOLKLO@?$CIsquare?$CJ?$AA@		; `string'
PUBLIC	??_C@_01NOFIACDB@w?$AA@				; `string'
PUBLIC	??_7CTiffHelper@@6B@				; CTiffHelper::`vftable'
EXTRN	_asctime:PROC
;	COMDAT ??_7CTiffHelper@@6B@
CONST	SEGMENT
??_7CTiffHelper@@6B@ DD FLAT:??_R4CTiffHelper@@6B@	; CTiffHelper::`vftable'
	DD	FLAT:?OpenMediaFile@CTiffHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z
	DD	FLAT:?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z
CONST	ENDS
;	COMDAT ??_R4CTiffHelper@@6B@
rdata$r	SEGMENT
??_R4CTiffHelper@@6B@ DD 00H				; CTiffHelper::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVCTiffHelper@@@8
	DD	FLAT:??_R3CTiffHelper@@8
rdata$r	ENDS
;	COMDAT ??_R3CTiffHelper@@8
rdata$r	SEGMENT
??_R3CTiffHelper@@8 DD 00H				; CTiffHelper::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2CTiffHelper@@8
rdata$r	ENDS
;	COMDAT ??_R2CTiffHelper@@8
rdata$r	SEGMENT
??_R2CTiffHelper@@8 DD FLAT:??_R1A@?0A@EA@CTiffHelper@@8 ; CTiffHelper::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@CStillSourceHelper@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@CTiffHelper@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@CTiffHelper@@8 DD FLAT:??_R0?AVCTiffHelper@@@8 ; CTiffHelper::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3CTiffHelper@@8
rdata$r	ENDS
;	COMDAT ??_R0?AVCTiffHelper@@@8
_DATA	SEGMENT
??_R0?AVCTiffHelper@@@8 DD FLAT:??_7type_info@@6B@	; CTiffHelper `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVCTiffHelper@@', 00H
_DATA	ENDS
;	COMDAT ??_C@_01NOFIACDB@w?$AA@
CONST	SEGMENT
??_C@_01NOFIACDB@w?$AA@ DB 'w', 00H			; `string'
CONST	ENDS
;	COMDAT ??_C@_08HMMOLKLO@?$CIsquare?$CJ?$AA@
CONST	SEGMENT
??_C@_08HMMOLKLO@?$CIsquare?$CJ?$AA@ DB '(square)', 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1GA@KBHJHNIH@?$AAF?$AAi?$AAl?$AAe?$AA?5?$AA?$CF?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AA?$CI?$AAc?$AAl?$AAa?$AAs?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5@
CONST	SEGMENT
??_C@_1GA@KBHJHNIH@?$AAF?$AAi?$AAl?$AAe?$AA?5?$AA?$CF?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AA?$CI?$AAc?$AAl?$AAa?$AAs?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5@ DB 'F'
	DB	00H, 'i', 00H, 'l', 00H, 'e', 00H, ' ', 00H, '%', 00H, 's', 00H
	DB	' ', 00H, 'n', 00H, 'o', 00H, 't', 00H, ' ', 00H, 's', 00H, 'u'
	DB	00H, 'p', 00H, 'p', 00H, 'o', 00H, 'r', 00H, 't', 00H, 'e', 00H
	DB	'd', 00H, ' ', 00H, '(', 00H, 'c', 00H, 'l', 00H, 'a', 00H, 's'
	DB	00H, 's', 00H, ' ', 00H, '%', 00H, 'd', 00H, ' ', 00H, 'c', 00H
	DB	'o', 00H, 'm', 00H, 'p', 00H, 'r', 00H, 'e', 00H, 's', 00H, 's'
	DB	00H, 'i', 00H, 'o', 00H, 'n', 00H, ' ', 00H, '%', 00H, 'd', 00H
	DB	')', 00H, 00H, 00H				; `string'
CONST	ENDS
;	COMDAT ??_C@_1FI@PLLPIMDD@?$AAF?$AAi?$AAl?$AAe?$AA?5?$AA?$CF?$AAs?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AA?$CI?$AAc?$AAl?$AAa?$AAs?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AAc?$AAo?$AAm?$AAp@
CONST	SEGMENT
??_C@_1FI@PLLPIMDD@?$AAF?$AAi?$AAl?$AAe?$AA?5?$AA?$CF?$AAs?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AA?$CI?$AAc?$AAl?$AAa?$AAs?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AAc?$AAo?$AAm?$AAp@ DB 'F'
	DB	00H, 'i', 00H, 'l', 00H, 'e', 00H, ' ', 00H, '%', 00H, 's', 00H
	DB	' ', 00H, 's', 00H, 'u', 00H, 'p', 00H, 'p', 00H, 'o', 00H, 'r'
	DB	00H, 't', 00H, 'e', 00H, 'd', 00H, ' ', 00H, '(', 00H, 'c', 00H
	DB	'l', 00H, 'a', 00H, 's', 00H, 's', 00H, ' ', 00H, '%', 00H, 'd'
	DB	00H, ' ', 00H, 'c', 00H, 'o', 00H, 'm', 00H, 'p', 00H, 'r', 00H
	DB	'e', 00H, 's', 00H, 's', 00H, 'i', 00H, 'o', 00H, 'n', 00H, ' '
	DB	00H, '%', 00H, 'd', 00H, ')', 00H, 00H, 00H	; `string'
CONST	ENDS
;	COMDAT ??_C@_1MO@JPOCGPGP@?$AAA?$AAt?$AA?5?$AAl?$AAe?$AAa?$AAs?$AAt?$AA?5?$AAo?$AAn?$AAe?$AA?5?$AAo?$AAf?$AA?5?$AAt?$AAh?$AAe?$AA?5?$AAt?$AAa?$AAg?$AAs?$AA?5?$AAI?$AAM?$AAA?$AAG?$AAE?$AAW?$AAI@
CONST	SEGMENT
??_C@_1MO@JPOCGPGP@?$AAA?$AAt?$AA?5?$AAl?$AAe?$AAa?$AAs?$AAt?$AA?5?$AAo?$AAn?$AAe?$AA?5?$AAo?$AAf?$AA?5?$AAt?$AAh?$AAe?$AA?5?$AAt?$AAa?$AAg?$AAs?$AA?5?$AAI?$AAM?$AAA?$AAG?$AAE?$AAW?$AAI@ DB 'A'
	DB	00H, 't', 00H, ' ', 00H, 'l', 00H, 'e', 00H, 'a', 00H, 's', 00H
	DB	't', 00H, ' ', 00H, 'o', 00H, 'n', 00H, 'e', 00H, ' ', 00H, 'o'
	DB	00H, 'f', 00H, ' ', 00H, 't', 00H, 'h', 00H, 'e', 00H, ' ', 00H
	DB	't', 00H, 'a', 00H, 'g', 00H, 's', 00H, ' ', 00H, 'I', 00H, 'M'
	DB	00H, 'A', 00H, 'G', 00H, 'E', 00H, 'W', 00H, 'I', 00H, 'D', 00H
	DB	'T', 00H, 'H', 00H, ',', 00H, ' ', 00H, 'I', 00H, 'M', 00H, 'A'
	DB	00H, 'G', 00H, 'E', 00H, 'L', 00H, 'E', 00H, 'N', 00H, 'G', 00H
	DB	'T', 00H, 'H', 00H, ',', 00H, ' ', 00H, 'C', 00H, 'O', 00H, 'M'
	DB	00H, 'P', 00H, 'R', 00H, 'E', 00H, 'S', 00H, 'S', 00H, 'I', 00H
	DB	'O', 00H, 'N', 00H, ' ', 00H, 'o', 00H, 'r', 00H, ' ', 00H, 'P'
	DB	00H, 'H', 00H, 'O', 00H, 'T', 00H, 'O', 00H, 'M', 00H, 'E', 00H
	DB	'T', 00H, 'R', 00H, 'I', 00H, 'C', 00H, ' ', 00H, 'i', 00H, 's'
	DB	00H, ' ', 00H, 'm', 00H, 'i', 00H, 's', 00H, 's', 00H, 'i', 00H
	DB	'n', 00H, 'g', 00H, ' ', 00H, 'i', 00H, 'n', 00H, ' ', 00H, 't'
	DB	00H, 'h', 00H, 'e', 00H, ' ', 00H, 'f', 00H, 'i', 00H, 'l', 00H
	DB	'e', 00H, ' ', 00H, '%', 00H, 's', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_01KDCPPGHE@r?$AA@
CONST	SEGMENT
??_C@_01KDCPPGHE@r?$AA@ DB 'r', 00H			; `string'
_tTiffTagClassCompress DW 00H
	DW	01H
	DW	00H
	DW	02H
	DW	00H
	DW	03H
	DW	00H
	DW	04H
	DW	00H
	DW	08005H
	DW	00H
	DW	05H
	DW	00H
	DW	07H
	DW	00H
	DW	080b2H
	DW	01H
	DW	01H
	DW	01H
	DW	02H
	DW	01H
	DW	03H
	DW	01H
	DW	04H
	DW	01H
	DW	08005H
	DW	01H
	DW	05H
	DW	01H
	DW	07H
	DW	01H
	DW	080b2H
	DW	03H
	DW	01H
	DW	03H
	DW	05H
	DW	02H
	DW	01H
	DW	02H
	DW	05H
	DW	02H
	DW	08005H
	DW	02H
	DW	07H
	DW	02H
	DW	080b2H
	DW	05H
	DW	01H
	DW	05H
	DW	05H
	DW	05H
	DW	08005H
	DW	05H
	DW	07H
	DW	06H
	DW	01H
	DW	06H
	DW	05H
	DW	06H
	DW	08005H
	DW	06H
	DW	07H
; Function compile flags: /Odtp
; File c:\program files (x86)\microsoft visual studio 9.0\vc\include\time.inl
;	COMDAT _time
_TEXT	SEGMENT
__Time$ = 8						; size = 4
_time	PROC						; COMDAT

; 134  : {

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

; 135  :     return _time64(_Time);

  00003	8b 45 08	 mov	 eax, DWORD PTR __Time$[ebp]
  00006	50		 push	 eax
  00007	e8 00 00 00 00	 call	 __time64
  0000c	83 c4 04	 add	 esp, 4

; 136  : }

  0000f	5d		 pop	 ebp
  00010	c3		 ret	 0
_time	ENDP
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT _localtime
_TEXT	SEGMENT
__Time$ = 8						; size = 4
_localtime PROC						; COMDAT

; 115  : {

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

; 116  : #pragma warning( push )
; 117  : #pragma warning( disable : 4996 )
; 118  :     return _localtime64(_Time);

  00003	8b 45 08	 mov	 eax, DWORD PTR __Time$[ebp]
  00006	50		 push	 eax
  00007	e8 00 00 00 00	 call	 __localtime64
  0000c	83 c4 04	 add	 esp, 4

; 119  : #pragma warning( pop )
; 120  : }

  0000f	5d		 pop	 ebp
  00010	c3		 ret	 0
_localtime ENDP
PUBLIC	??0CTiffHelper@@QAE@PAVCStillSource@@W4eTIFFClass@@@Z ; CTiffHelper::CTiffHelper
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\tiffhelper.cpp
;	COMDAT ??0CTiffHelper@@QAE@PAVCStillSource@@W4eTIFFClass@@@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_pParent$ = 8						; size = 4
_FormatSaving$ = 12					; size = 4
??0CTiffHelper@@QAE@PAVCStillSource@@W4eTIFFClass@@@Z PROC ; CTiffHelper::CTiffHelper, COMDAT
; _this$ = ecx

; 82   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx
  00007	8b 45 08	 mov	 eax, DWORD PTR _pParent$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000e	e8 00 00 00 00	 call	 ??0CStillSourceHelper@@QAE@PAVCStillSource@@@Z ; CStillSourceHelper::CStillSourceHelper
  00013	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00016	c7 01 00 00 00
	00		 mov	 DWORD PTR [ecx], OFFSET ??_7CTiffHelper@@6B@

; 83   :     m_FormatSaving = FormatSaving;

  0001c	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  0001f	8b 45 0c	 mov	 eax, DWORD PTR _FormatSaving$[ebp]
  00022	89 42 08	 mov	 DWORD PTR [edx+8], eax

; 84   : }

  00025	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00028	8b e5		 mov	 esp, ebp
  0002a	5d		 pop	 ebp
  0002b	c2 08 00	 ret	 8
??0CTiffHelper@@QAE@PAVCStillSource@@W4eTIFFClass@@@Z ENDP ; CTiffHelper::CTiffHelper
PUBLIC	__real@43700000
PUBLIC	__real@43000000
PUBLIC	__real@436b0000
PUBLIC	__real@41700000
PUBLIC	__real@3de978d5
PUBLIC	__real@3f1645a2
PUBLIC	__real@3e991687
;	COMDAT __real@43700000
CONST	SEGMENT
__real@43700000 DD 043700000r			; 240
CONST	ENDS
;	COMDAT __real@43000000
CONST	SEGMENT
__real@43000000 DD 043000000r			; 128
CONST	ENDS
;	COMDAT __real@436b0000
CONST	SEGMENT
__real@436b0000 DD 0436b0000r			; 235
CONST	ENDS
;	COMDAT __real@41700000
CONST	SEGMENT
__real@41700000 DD 041700000r			; 15
CONST	ENDS
;	COMDAT __real@3de978d5
CONST	SEGMENT
__real@3de978d5 DD 03de978d5r			; 0.114
CONST	ENDS
;	COMDAT __real@3f1645a2
CONST	SEGMENT
__real@3f1645a2 DD 03f1645a2r			; 0.587
CONST	ENDS
;	COMDAT __real@3e991687
CONST	SEGMENT
__real@3e991687 DD 03e991687r			; 0.299
CONST	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z$2
	DD	02H
	DD	FLAT:__unwindfunclet$?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z$3
__ehfuncinfo$?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z DD 019930522H
	DD	04H
	DD	FLAT:__unwindtable$?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z
_TEXT	SEGMENT
tv470 = -416						; size = 4
tv416 = -412						; size = 4
tv502 = -408						; size = 4
tv514 = -404						; size = 4
tv497 = -400						; size = 4
tv512 = -396						; size = 4
tv492 = -392						; size = 4
tv510 = -388						; size = 4
tv487 = -384						; size = 4
tv509 = -380						; size = 4
tv333 = -376						; size = 4
tv334 = -372						; size = 4
tv327 = -368						; size = 4
tv328 = -364						; size = 4
tv321 = -360						; size = 4
tv322 = -356						; size = 4
tv298 = -352						; size = 4
tv299 = -348						; size = 4
tv287 = -344						; size = 4
tv288 = -340						; size = 4
tv276 = -336						; size = 4
tv277 = -332						; size = 4
tv264 = -328						; size = 4
tv265 = -324						; size = 4
tv258 = -320						; size = 4
tv259 = -316						; size = 4
tv252 = -312						; size = 4
tv253 = -308						; size = 4
tv229 = -304						; size = 4
tv230 = -300						; size = 4
tv218 = -296						; size = 4
tv219 = -292						; size = 4
tv212 = -288						; size = 4
tv213 = -284						; size = 4
tv206 = -280						; size = 4
tv207 = -276						; size = 4
tv183 = -272						; size = 4
tv184 = -268						; size = 4
tv172 = -264						; size = 4
tv173 = -260						; size = 4
tv161 = -256						; size = 4
tv162 = -252						; size = 4
tv67 = -248						; size = 4
_this$ = -244						; size = 4
$T343375 = -240						; size = 4
$T343372 = -236						; size = 28
$T343371 = -208						; size = 28
$T343370 = -180						; size = 28
$T343368 = -149						; size = 1
$T343367 = -148						; size = 28
_j$142675 = -120					; size = 4
_i$142671 = -116					; size = 4
_cb$ = -112						; size = 4
_long_time$ = -108					; size = 8
_buffer$ = -100						; size = 4
_pBuf$ = -96						; size = 4
_r$ = -92						; size = 4
_pBufOverlay$ = -88					; size = 4
_refBlackWhite$ = -84					; size = 24
_g$ = -60						; size = 4
_b$ = -56						; size = 4
_size$ = -52						; size = 4
_ycbcrCoeffs$ = -48					; size = 12
_tm_time$ = -36						; size = 4
_tif$ = -32						; size = 4
_cr$ = -28						; size = 4
_y$ = -24						; size = 4
_w$ = -20						; size = 4
_Compression$ = -16					; size = 2
__$EHRec$ = -12						; size = 12
_FilePath$ = 8						; size = 4
_Height$ = 12						; size = 4
_Width$ = 16						; size = 4
_pOverlay$ = 20						; size = 4
_OverlayPitch$ = 24					; size = 4
_Context$ = 28						; size = 4
?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z PROC ; CTiffHelper::SaveSnapshot, COMDAT
; _this$ = ecx

; 312  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec 94 01 00
	00		 sub	 esp, 404		; 00000194H
  00017	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001c	33 c5		 xor	 eax, ebp
  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	89 8d 0c ff ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx
  0002e	c7 85 10 ff ff
	ff 00 00 00 00	 mov	 DWORD PTR $T343375[ebp], 0

; 313  :     int y, cr, cb, r, g, b;
; 314  :     TIFF* tif;
; 315  :     BYTE *pBufOverlay;
; 316  :     uint8* buffer;
; 317  :     uint8* pBuf;
; 318  :     tsize_t size;
; 319  :     int w;
; 320  :     float ycbcrCoeffs[3] = { 0.299f, 0.587f, 0.114f };

  00038	d9 05 00 00 00
	00		 fld	 DWORD PTR __real@3e991687
  0003e	d9 5d d0	 fstp	 DWORD PTR _ycbcrCoeffs$[ebp]
  00041	d9 05 00 00 00
	00		 fld	 DWORD PTR __real@3f1645a2
  00047	d9 5d d4	 fstp	 DWORD PTR _ycbcrCoeffs$[ebp+4]
  0004a	d9 05 00 00 00
	00		 fld	 DWORD PTR __real@3de978d5
  00050	d9 5d d8	 fstp	 DWORD PTR _ycbcrCoeffs$[ebp+8]

; 321  :     float refBlackWhite[6] = { 15., 235., 128., 240., 128., 240. };

  00053	d9 05 00 00 00
	00		 fld	 DWORD PTR __real@41700000
  00059	d9 5d ac	 fstp	 DWORD PTR _refBlackWhite$[ebp]
  0005c	d9 05 00 00 00
	00		 fld	 DWORD PTR __real@436b0000
  00062	d9 5d b0	 fstp	 DWORD PTR _refBlackWhite$[ebp+4]
  00065	d9 05 00 00 00
	00		 fld	 DWORD PTR __real@43000000
  0006b	d9 5d b4	 fstp	 DWORD PTR _refBlackWhite$[ebp+8]
  0006e	d9 05 00 00 00
	00		 fld	 DWORD PTR __real@43700000
  00074	d9 5d b8	 fstp	 DWORD PTR _refBlackWhite$[ebp+12]
  00077	d9 05 00 00 00
	00		 fld	 DWORD PTR __real@43000000
  0007d	d9 5d bc	 fstp	 DWORD PTR _refBlackWhite$[ebp+16]
  00080	d9 05 00 00 00
	00		 fld	 DWORD PTR __real@43700000
  00086	d9 5d c0	 fstp	 DWORD PTR _refBlackWhite$[ebp+20]

; 322  :     uint16 Compression;
; 323  :     struct tm *tm_time;
; 324  :     time_t long_time;
; 325  : 
; 326  :     w = (Width % 2) ? Width-1 : Width;

  00089	8b 45 10	 mov	 eax, DWORD PTR _Width$[ebp]
  0008c	25 01 00 00 80	 and	 eax, -2147483647	; 80000001H
  00091	79 05		 jns	 SHORT $LN107@SaveSnapsh@2
  00093	48		 dec	 eax
  00094	83 c8 fe	 or	 eax, -2			; fffffffeH
  00097	40		 inc	 eax
$LN107@SaveSnapsh@2:
  00098	85 c0		 test	 eax, eax
  0009a	74 0e		 je	 SHORT $LN28@SaveSnapsh@2
  0009c	8b 4d 10	 mov	 ecx, DWORD PTR _Width$[ebp]
  0009f	83 e9 01	 sub	 ecx, 1
  000a2	89 8d 08 ff ff
	ff		 mov	 DWORD PTR tv67[ebp], ecx
  000a8	eb 09		 jmp	 SHORT $LN29@SaveSnapsh@2
$LN28@SaveSnapsh@2:
  000aa	8b 55 10	 mov	 edx, DWORD PTR _Width$[ebp]
  000ad	89 95 08 ff ff
	ff		 mov	 DWORD PTR tv67[ebp], edx
$LN29@SaveSnapsh@2:
  000b3	8b 85 08 ff ff
	ff		 mov	 eax, DWORD PTR tv67[ebp]
  000b9	89 45 ec	 mov	 DWORD PTR _w$[ebp], eax

; 327  :     if (m_FormatSaving == TIFF_CLASS_Y)

  000bc	8b 8d 0c ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  000c2	83 79 08 02	 cmp	 DWORD PTR [ecx+8], 2
  000c6	75 0e		 jne	 SHORT $LN25@SaveSnapsh@2

; 328  :     {
; 329  :         size = Height * w * 2;

  000c8	8b 55 0c	 mov	 edx, DWORD PTR _Height$[ebp]
  000cb	0f af 55 ec	 imul	 edx, DWORD PTR _w$[ebp]
  000cf	d1 e2		 shl	 edx, 1
  000d1	89 55 cc	 mov	 DWORD PTR _size$[ebp], edx

; 330  :     }
; 331  :     else

  000d4	eb 0d		 jmp	 SHORT $LN24@SaveSnapsh@2
$LN25@SaveSnapsh@2:

; 332  :     {
; 333  :         size = Height * Width * 3;

  000d6	8b 45 0c	 mov	 eax, DWORD PTR _Height$[ebp]
  000d9	0f af 45 10	 imul	 eax, DWORD PTR _Width$[ebp]
  000dd	6b c0 03	 imul	 eax, 3
  000e0	89 45 cc	 mov	 DWORD PTR _size$[ebp], eax
$LN24@SaveSnapsh@2:

; 334  :     }
; 335  :     buffer = (uint8*) _TIFFmalloc(size * sizeof (uint8));

  000e3	8b 4d cc	 mov	 ecx, DWORD PTR _size$[ebp]
  000e6	51		 push	 ecx
  000e7	e8 00 00 00 00	 call	 __TIFFmalloc
  000ec	83 c4 04	 add	 esp, 4
  000ef	89 45 9c	 mov	 DWORD PTR _buffer$[ebp], eax

; 336  :     if (buffer == NULL)

  000f2	83 7d 9c 00	 cmp	 DWORD PTR _buffer$[ebp], 0
  000f6	75 05		 jne	 SHORT $LN23@SaveSnapsh@2

; 337  :     {
; 338  :         return;

  000f8	e9 ef 0b 00 00	 jmp	 $LN26@SaveSnapsh@2
$LN23@SaveSnapsh@2:

; 339  :     }
; 340  : 
; 341  :     pBuf = buffer;

  000fd	8b 55 9c	 mov	 edx, DWORD PTR _buffer$[ebp]
  00100	89 55 a0	 mov	 DWORD PTR _pBuf$[ebp], edx

; 342  :     for (int i = 0; i < Height; i++)

  00103	c7 45 8c 00 00
	00 00		 mov	 DWORD PTR _i$142671[ebp], 0
  0010a	eb 09		 jmp	 SHORT $LN22@SaveSnapsh@2
$LN21@SaveSnapsh@2:
  0010c	8b 45 8c	 mov	 eax, DWORD PTR _i$142671[ebp]
  0010f	83 c0 01	 add	 eax, 1
  00112	89 45 8c	 mov	 DWORD PTR _i$142671[ebp], eax
$LN22@SaveSnapsh@2:
  00115	8b 4d 8c	 mov	 ecx, DWORD PTR _i$142671[ebp]
  00118	3b 4d 0c	 cmp	 ecx, DWORD PTR _Height$[ebp]
  0011b	0f 8d 2d 07 00
	00		 jge	 $LN20@SaveSnapsh@2

; 343  :     {
; 344  :         pBufOverlay = pOverlay + i * OverlayPitch;

  00121	8b 55 8c	 mov	 edx, DWORD PTR _i$142671[ebp]
  00124	0f af 55 18	 imul	 edx, DWORD PTR _OverlayPitch$[ebp]
  00128	03 55 14	 add	 edx, DWORD PTR _pOverlay$[ebp]
  0012b	89 55 a8	 mov	 DWORD PTR _pBufOverlay$[ebp], edx

; 345  :         for (int j = 0; j < w ; j+=2)

  0012e	c7 45 88 00 00
	00 00		 mov	 DWORD PTR _j$142675[ebp], 0
  00135	eb 09		 jmp	 SHORT $LN19@SaveSnapsh@2
$LN18@SaveSnapsh@2:
  00137	8b 45 88	 mov	 eax, DWORD PTR _j$142675[ebp]
  0013a	83 c0 02	 add	 eax, 2
  0013d	89 45 88	 mov	 DWORD PTR _j$142675[ebp], eax
$LN19@SaveSnapsh@2:
  00140	8b 4d 88	 mov	 ecx, DWORD PTR _j$142675[ebp]
  00143	3b 4d ec	 cmp	 ecx, DWORD PTR _w$[ebp]
  00146	0f 8d 80 04 00
	00		 jge	 $LN17@SaveSnapsh@2

; 346  :         {
; 347  :             if (m_FormatSaving == TIFF_CLASS_Y)

  0014c	8b 95 0c ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  00152	83 7a 08 02	 cmp	 DWORD PTR [edx+8], 2
  00156	75 54		 jne	 SHORT $LN16@SaveSnapsh@2

; 348  :             {
; 349  :                 *pBuf++ = pBufOverlay[0];

  00158	8b 45 a0	 mov	 eax, DWORD PTR _pBuf$[ebp]
  0015b	8b 4d a8	 mov	 ecx, DWORD PTR _pBufOverlay$[ebp]
  0015e	8a 11		 mov	 dl, BYTE PTR [ecx]
  00160	88 10		 mov	 BYTE PTR [eax], dl
  00162	8b 45 a0	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00165	83 c0 01	 add	 eax, 1
  00168	89 45 a0	 mov	 DWORD PTR _pBuf$[ebp], eax

; 350  :                 *pBuf++ = pBufOverlay[2];

  0016b	8b 4d a0	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  0016e	8b 55 a8	 mov	 edx, DWORD PTR _pBufOverlay$[ebp]
  00171	8a 42 02	 mov	 al, BYTE PTR [edx+2]
  00174	88 01		 mov	 BYTE PTR [ecx], al
  00176	8b 4d a0	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  00179	83 c1 01	 add	 ecx, 1
  0017c	89 4d a0	 mov	 DWORD PTR _pBuf$[ebp], ecx

; 351  :                 *pBuf++ = pBufOverlay[1];

  0017f	8b 55 a0	 mov	 edx, DWORD PTR _pBuf$[ebp]
  00182	8b 45 a8	 mov	 eax, DWORD PTR _pBufOverlay$[ebp]
  00185	8a 48 01	 mov	 cl, BYTE PTR [eax+1]
  00188	88 0a		 mov	 BYTE PTR [edx], cl
  0018a	8b 55 a0	 mov	 edx, DWORD PTR _pBuf$[ebp]
  0018d	83 c2 01	 add	 edx, 1
  00190	89 55 a0	 mov	 DWORD PTR _pBuf$[ebp], edx

; 352  :                 *pBuf++ = pBufOverlay[3];

  00193	8b 45 a0	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00196	8b 4d a8	 mov	 ecx, DWORD PTR _pBufOverlay$[ebp]
  00199	8a 51 03	 mov	 dl, BYTE PTR [ecx+3]
  0019c	88 10		 mov	 BYTE PTR [eax], dl
  0019e	8b 45 a0	 mov	 eax, DWORD PTR _pBuf$[ebp]
  001a1	83 c0 01	 add	 eax, 1
  001a4	89 45 a0	 mov	 DWORD PTR _pBuf$[ebp], eax

; 353  :             }
; 354  :             else

  001a7	e9 12 04 00 00	 jmp	 $LN15@SaveSnapsh@2
$LN16@SaveSnapsh@2:

; 355  :             {
; 356  :                 // YUYV is first normalized : Y in range [16,235] and Cb/Cr in range [16,240]
; 357  :                 // and then converted in RGB
; 358  :                 y = LIMIT_Y(pBufOverlay[0]) - 16;

  001ac	8b 4d a8	 mov	 ecx, DWORD PTR _pBufOverlay$[ebp]
  001af	0f b6 11	 movzx	 edx, BYTE PTR [ecx]
  001b2	83 fa 10	 cmp	 edx, 16			; 00000010H
  001b5	7d 0c		 jge	 SHORT $LN32@SaveSnapsh@2
  001b7	c7 85 04 ff ff
	ff 10 00 00 00	 mov	 DWORD PTR tv162[ebp], 16 ; 00000010H
  001c1	eb 32		 jmp	 SHORT $LN33@SaveSnapsh@2
$LN32@SaveSnapsh@2:
  001c3	8b 45 a8	 mov	 eax, DWORD PTR _pBufOverlay$[ebp]
  001c6	0f b6 08	 movzx	 ecx, BYTE PTR [eax]
  001c9	81 f9 eb 00 00
	00		 cmp	 ecx, 235		; 000000ebH
  001cf	7e 0c		 jle	 SHORT $LN30@SaveSnapsh@2
  001d1	c7 85 00 ff ff
	ff eb 00 00 00	 mov	 DWORD PTR tv161[ebp], 235 ; 000000ebH
  001db	eb 0c		 jmp	 SHORT $LN31@SaveSnapsh@2
$LN30@SaveSnapsh@2:
  001dd	8b 55 a8	 mov	 edx, DWORD PTR _pBufOverlay$[ebp]
  001e0	0f b6 02	 movzx	 eax, BYTE PTR [edx]
  001e3	89 85 00 ff ff
	ff		 mov	 DWORD PTR tv161[ebp], eax
$LN31@SaveSnapsh@2:
  001e9	8b 8d 00 ff ff
	ff		 mov	 ecx, DWORD PTR tv161[ebp]
  001ef	89 8d 04 ff ff
	ff		 mov	 DWORD PTR tv162[ebp], ecx
$LN33@SaveSnapsh@2:
  001f5	8b 95 04 ff ff
	ff		 mov	 edx, DWORD PTR tv162[ebp]
  001fb	83 ea 10	 sub	 edx, 16			; 00000010H
  001fe	89 55 e8	 mov	 DWORD PTR _y$[ebp], edx

; 359  :                 cb = LIMIT_CbCr(pBufOverlay[1]) - 128;

  00201	8b 45 a8	 mov	 eax, DWORD PTR _pBufOverlay$[ebp]
  00204	0f b6 48 01	 movzx	 ecx, BYTE PTR [eax+1]
  00208	83 f9 10	 cmp	 ecx, 16			; 00000010H
  0020b	7d 0c		 jge	 SHORT $LN36@SaveSnapsh@2
  0020d	c7 85 fc fe ff
	ff 10 00 00 00	 mov	 DWORD PTR tv173[ebp], 16 ; 00000010H
  00217	eb 33		 jmp	 SHORT $LN37@SaveSnapsh@2
$LN36@SaveSnapsh@2:
  00219	8b 55 a8	 mov	 edx, DWORD PTR _pBufOverlay$[ebp]
  0021c	0f b6 42 01	 movzx	 eax, BYTE PTR [edx+1]
  00220	3d f0 00 00 00	 cmp	 eax, 240		; 000000f0H
  00225	7e 0c		 jle	 SHORT $LN34@SaveSnapsh@2
  00227	c7 85 f8 fe ff
	ff f0 00 00 00	 mov	 DWORD PTR tv172[ebp], 240 ; 000000f0H
  00231	eb 0d		 jmp	 SHORT $LN35@SaveSnapsh@2
$LN34@SaveSnapsh@2:
  00233	8b 4d a8	 mov	 ecx, DWORD PTR _pBufOverlay$[ebp]
  00236	0f b6 51 01	 movzx	 edx, BYTE PTR [ecx+1]
  0023a	89 95 f8 fe ff
	ff		 mov	 DWORD PTR tv172[ebp], edx
$LN35@SaveSnapsh@2:
  00240	8b 85 f8 fe ff
	ff		 mov	 eax, DWORD PTR tv172[ebp]
  00246	89 85 fc fe ff
	ff		 mov	 DWORD PTR tv173[ebp], eax
$LN37@SaveSnapsh@2:
  0024c	8b 8d fc fe ff
	ff		 mov	 ecx, DWORD PTR tv173[ebp]
  00252	81 e9 80 00 00
	00		 sub	 ecx, 128		; 00000080H
  00258	89 4d 90	 mov	 DWORD PTR _cb$[ebp], ecx

; 360  :                 cr = LIMIT_CbCr(pBufOverlay[3]) - 128;

  0025b	8b 55 a8	 mov	 edx, DWORD PTR _pBufOverlay$[ebp]
  0025e	0f b6 42 03	 movzx	 eax, BYTE PTR [edx+3]
  00262	83 f8 10	 cmp	 eax, 16			; 00000010H
  00265	7d 0c		 jge	 SHORT $LN40@SaveSnapsh@2
  00267	c7 85 f4 fe ff
	ff 10 00 00 00	 mov	 DWORD PTR tv184[ebp], 16 ; 00000010H
  00271	eb 34		 jmp	 SHORT $LN41@SaveSnapsh@2
$LN40@SaveSnapsh@2:
  00273	8b 4d a8	 mov	 ecx, DWORD PTR _pBufOverlay$[ebp]
  00276	0f b6 51 03	 movzx	 edx, BYTE PTR [ecx+3]
  0027a	81 fa f0 00 00
	00		 cmp	 edx, 240		; 000000f0H
  00280	7e 0c		 jle	 SHORT $LN38@SaveSnapsh@2
  00282	c7 85 f0 fe ff
	ff f0 00 00 00	 mov	 DWORD PTR tv183[ebp], 240 ; 000000f0H
  0028c	eb 0d		 jmp	 SHORT $LN39@SaveSnapsh@2
$LN38@SaveSnapsh@2:
  0028e	8b 45 a8	 mov	 eax, DWORD PTR _pBufOverlay$[ebp]
  00291	0f b6 48 03	 movzx	 ecx, BYTE PTR [eax+3]
  00295	89 8d f0 fe ff
	ff		 mov	 DWORD PTR tv183[ebp], ecx
$LN39@SaveSnapsh@2:
  0029b	8b 95 f0 fe ff
	ff		 mov	 edx, DWORD PTR tv183[ebp]
  002a1	89 95 f4 fe ff
	ff		 mov	 DWORD PTR tv184[ebp], edx
$LN41@SaveSnapsh@2:
  002a7	8b 85 f4 fe ff
	ff		 mov	 eax, DWORD PTR tv184[ebp]
  002ad	2d 80 00 00 00	 sub	 eax, 128		; 00000080H
  002b2	89 45 e4	 mov	 DWORD PTR _cr$[ebp], eax

; 361  :                 r = ( 76309*y             + 104597*cr + 32768 ) >> 16;

  002b5	8b 4d e8	 mov	 ecx, DWORD PTR _y$[ebp]
  002b8	69 c9 15 2a 01
	00		 imul	 ecx, 76309		; 00012a15H
  002be	8b 55 e4	 mov	 edx, DWORD PTR _cr$[ebp]
  002c1	69 d2 95 98 01
	00		 imul	 edx, 104597		; 00019895H
  002c7	8d 84 11 00 80
	00 00		 lea	 eax, DWORD PTR [ecx+edx+32768]
  002ce	c1 f8 10	 sar	 eax, 16			; 00000010H
  002d1	89 45 a4	 mov	 DWORD PTR _r$[ebp], eax

; 362  :                 g = ( 76309*y -  25675*cb -  53279*cr + 32768 ) >> 16;

  002d4	8b 4d e8	 mov	 ecx, DWORD PTR _y$[ebp]
  002d7	69 c9 15 2a 01
	00		 imul	 ecx, 76309		; 00012a15H
  002dd	8b 55 90	 mov	 edx, DWORD PTR _cb$[ebp]
  002e0	69 d2 4b 64 00
	00		 imul	 edx, 25675		; 0000644bH
  002e6	2b ca		 sub	 ecx, edx
  002e8	8b 45 e4	 mov	 eax, DWORD PTR _cr$[ebp]
  002eb	69 c0 1f d0 00
	00		 imul	 eax, 53279		; 0000d01fH
  002f1	2b c8		 sub	 ecx, eax
  002f3	81 c1 00 80 00
	00		 add	 ecx, 32768		; 00008000H
  002f9	c1 f9 10	 sar	 ecx, 16			; 00000010H
  002fc	89 4d c4	 mov	 DWORD PTR _g$[ebp], ecx

; 363  :                 b = ( 76309*y + 132201*cb             + 32768 ) >> 16;

  002ff	8b 4d e8	 mov	 ecx, DWORD PTR _y$[ebp]
  00302	69 c9 15 2a 01
	00		 imul	 ecx, 76309		; 00012a15H
  00308	8b 55 90	 mov	 edx, DWORD PTR _cb$[ebp]
  0030b	69 d2 69 04 02
	00		 imul	 edx, 132201		; 00020469H
  00311	8d 84 11 00 80
	00 00		 lea	 eax, DWORD PTR [ecx+edx+32768]
  00318	c1 f8 10	 sar	 eax, 16			; 00000010H
  0031b	89 45 c8	 mov	 DWORD PTR _b$[ebp], eax

; 364  :                 *pBuf++ = LIMIT_RGB(r);

  0031e	83 7d a4 00	 cmp	 DWORD PTR _r$[ebp], 0
  00322	7d 0c		 jge	 SHORT $LN44@SaveSnapsh@2
  00324	c7 85 ec fe ff
	ff 00 00 00 00	 mov	 DWORD PTR tv207[ebp], 0
  0032e	eb 2a		 jmp	 SHORT $LN45@SaveSnapsh@2
$LN44@SaveSnapsh@2:
  00330	81 7d a4 ff 00
	00 00		 cmp	 DWORD PTR _r$[ebp], 255	; 000000ffH
  00337	7e 0c		 jle	 SHORT $LN42@SaveSnapsh@2
  00339	c7 85 e8 fe ff
	ff ff 00 00 00	 mov	 DWORD PTR tv206[ebp], 255 ; 000000ffH
  00343	eb 09		 jmp	 SHORT $LN43@SaveSnapsh@2
$LN42@SaveSnapsh@2:
  00345	8b 4d a4	 mov	 ecx, DWORD PTR _r$[ebp]
  00348	89 8d e8 fe ff
	ff		 mov	 DWORD PTR tv206[ebp], ecx
$LN43@SaveSnapsh@2:
  0034e	8b 95 e8 fe ff
	ff		 mov	 edx, DWORD PTR tv206[ebp]
  00354	89 95 ec fe ff
	ff		 mov	 DWORD PTR tv207[ebp], edx
$LN45@SaveSnapsh@2:
  0035a	8b 45 a0	 mov	 eax, DWORD PTR _pBuf$[ebp]
  0035d	8a 8d ec fe ff
	ff		 mov	 cl, BYTE PTR tv207[ebp]
  00363	88 08		 mov	 BYTE PTR [eax], cl
  00365	8b 55 a0	 mov	 edx, DWORD PTR _pBuf$[ebp]
  00368	83 c2 01	 add	 edx, 1
  0036b	89 55 a0	 mov	 DWORD PTR _pBuf$[ebp], edx

; 365  :                 *pBuf++ = LIMIT_RGB(g);

  0036e	83 7d c4 00	 cmp	 DWORD PTR _g$[ebp], 0
  00372	7d 0c		 jge	 SHORT $LN48@SaveSnapsh@2
  00374	c7 85 e4 fe ff
	ff 00 00 00 00	 mov	 DWORD PTR tv213[ebp], 0
  0037e	eb 2a		 jmp	 SHORT $LN49@SaveSnapsh@2
$LN48@SaveSnapsh@2:
  00380	81 7d c4 ff 00
	00 00		 cmp	 DWORD PTR _g$[ebp], 255	; 000000ffH
  00387	7e 0c		 jle	 SHORT $LN46@SaveSnapsh@2
  00389	c7 85 e0 fe ff
	ff ff 00 00 00	 mov	 DWORD PTR tv212[ebp], 255 ; 000000ffH
  00393	eb 09		 jmp	 SHORT $LN47@SaveSnapsh@2
$LN46@SaveSnapsh@2:
  00395	8b 45 c4	 mov	 eax, DWORD PTR _g$[ebp]
  00398	89 85 e0 fe ff
	ff		 mov	 DWORD PTR tv212[ebp], eax
$LN47@SaveSnapsh@2:
  0039e	8b 8d e0 fe ff
	ff		 mov	 ecx, DWORD PTR tv212[ebp]
  003a4	89 8d e4 fe ff
	ff		 mov	 DWORD PTR tv213[ebp], ecx
$LN49@SaveSnapsh@2:
  003aa	8b 55 a0	 mov	 edx, DWORD PTR _pBuf$[ebp]
  003ad	8a 85 e4 fe ff
	ff		 mov	 al, BYTE PTR tv213[ebp]
  003b3	88 02		 mov	 BYTE PTR [edx], al
  003b5	8b 4d a0	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  003b8	83 c1 01	 add	 ecx, 1
  003bb	89 4d a0	 mov	 DWORD PTR _pBuf$[ebp], ecx

; 366  :                 *pBuf++ = LIMIT_RGB(b);

  003be	83 7d c8 00	 cmp	 DWORD PTR _b$[ebp], 0
  003c2	7d 0c		 jge	 SHORT $LN52@SaveSnapsh@2
  003c4	c7 85 dc fe ff
	ff 00 00 00 00	 mov	 DWORD PTR tv219[ebp], 0
  003ce	eb 2a		 jmp	 SHORT $LN53@SaveSnapsh@2
$LN52@SaveSnapsh@2:
  003d0	81 7d c8 ff 00
	00 00		 cmp	 DWORD PTR _b$[ebp], 255	; 000000ffH
  003d7	7e 0c		 jle	 SHORT $LN50@SaveSnapsh@2
  003d9	c7 85 d8 fe ff
	ff ff 00 00 00	 mov	 DWORD PTR tv218[ebp], 255 ; 000000ffH
  003e3	eb 09		 jmp	 SHORT $LN51@SaveSnapsh@2
$LN50@SaveSnapsh@2:
  003e5	8b 55 c8	 mov	 edx, DWORD PTR _b$[ebp]
  003e8	89 95 d8 fe ff
	ff		 mov	 DWORD PTR tv218[ebp], edx
$LN51@SaveSnapsh@2:
  003ee	8b 85 d8 fe ff
	ff		 mov	 eax, DWORD PTR tv218[ebp]
  003f4	89 85 dc fe ff
	ff		 mov	 DWORD PTR tv219[ebp], eax
$LN53@SaveSnapsh@2:
  003fa	8b 4d a0	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  003fd	8a 95 dc fe ff
	ff		 mov	 dl, BYTE PTR tv219[ebp]
  00403	88 11		 mov	 BYTE PTR [ecx], dl
  00405	8b 45 a0	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00408	83 c0 01	 add	 eax, 1
  0040b	89 45 a0	 mov	 DWORD PTR _pBuf$[ebp], eax

; 367  : 
; 368  :                 y = LIMIT_Y(pBufOverlay[2]) - 16;

  0040e	8b 4d a8	 mov	 ecx, DWORD PTR _pBufOverlay$[ebp]
  00411	0f b6 51 02	 movzx	 edx, BYTE PTR [ecx+2]
  00415	83 fa 10	 cmp	 edx, 16			; 00000010H
  00418	7d 0c		 jge	 SHORT $LN56@SaveSnapsh@2
  0041a	c7 85 d4 fe ff
	ff 10 00 00 00	 mov	 DWORD PTR tv230[ebp], 16 ; 00000010H
  00424	eb 34		 jmp	 SHORT $LN57@SaveSnapsh@2
$LN56@SaveSnapsh@2:
  00426	8b 45 a8	 mov	 eax, DWORD PTR _pBufOverlay$[ebp]
  00429	0f b6 48 02	 movzx	 ecx, BYTE PTR [eax+2]
  0042d	81 f9 eb 00 00
	00		 cmp	 ecx, 235		; 000000ebH
  00433	7e 0c		 jle	 SHORT $LN54@SaveSnapsh@2
  00435	c7 85 d0 fe ff
	ff eb 00 00 00	 mov	 DWORD PTR tv229[ebp], 235 ; 000000ebH
  0043f	eb 0d		 jmp	 SHORT $LN55@SaveSnapsh@2
$LN54@SaveSnapsh@2:
  00441	8b 55 a8	 mov	 edx, DWORD PTR _pBufOverlay$[ebp]
  00444	0f b6 42 02	 movzx	 eax, BYTE PTR [edx+2]
  00448	89 85 d0 fe ff
	ff		 mov	 DWORD PTR tv229[ebp], eax
$LN55@SaveSnapsh@2:
  0044e	8b 8d d0 fe ff
	ff		 mov	 ecx, DWORD PTR tv229[ebp]
  00454	89 8d d4 fe ff
	ff		 mov	 DWORD PTR tv230[ebp], ecx
$LN57@SaveSnapsh@2:
  0045a	8b 95 d4 fe ff
	ff		 mov	 edx, DWORD PTR tv230[ebp]
  00460	83 ea 10	 sub	 edx, 16			; 00000010H
  00463	89 55 e8	 mov	 DWORD PTR _y$[ebp], edx

; 369  :                 r = ( 76309*y             + 104597*cr + 32768 ) >> 16;

  00466	8b 45 e8	 mov	 eax, DWORD PTR _y$[ebp]
  00469	69 c0 15 2a 01
	00		 imul	 eax, 76309		; 00012a15H
  0046f	8b 4d e4	 mov	 ecx, DWORD PTR _cr$[ebp]
  00472	69 c9 95 98 01
	00		 imul	 ecx, 104597		; 00019895H
  00478	8d 94 08 00 80
	00 00		 lea	 edx, DWORD PTR [eax+ecx+32768]
  0047f	c1 fa 10	 sar	 edx, 16			; 00000010H
  00482	89 55 a4	 mov	 DWORD PTR _r$[ebp], edx

; 370  :                 g = ( 76309*y -  25675*cb -  53279*cr + 32768 ) >> 16;

  00485	8b 45 e8	 mov	 eax, DWORD PTR _y$[ebp]
  00488	69 c0 15 2a 01
	00		 imul	 eax, 76309		; 00012a15H
  0048e	8b 4d 90	 mov	 ecx, DWORD PTR _cb$[ebp]
  00491	69 c9 4b 64 00
	00		 imul	 ecx, 25675		; 0000644bH
  00497	2b c1		 sub	 eax, ecx
  00499	8b 55 e4	 mov	 edx, DWORD PTR _cr$[ebp]
  0049c	69 d2 1f d0 00
	00		 imul	 edx, 53279		; 0000d01fH
  004a2	2b c2		 sub	 eax, edx
  004a4	05 00 80 00 00	 add	 eax, 32768		; 00008000H
  004a9	c1 f8 10	 sar	 eax, 16			; 00000010H
  004ac	89 45 c4	 mov	 DWORD PTR _g$[ebp], eax

; 371  :                 b = ( 76309*y + 132201*cb             + 32768 ) >> 16;

  004af	8b 45 e8	 mov	 eax, DWORD PTR _y$[ebp]
  004b2	69 c0 15 2a 01
	00		 imul	 eax, 76309		; 00012a15H
  004b8	8b 4d 90	 mov	 ecx, DWORD PTR _cb$[ebp]
  004bb	69 c9 69 04 02
	00		 imul	 ecx, 132201		; 00020469H
  004c1	8d 94 08 00 80
	00 00		 lea	 edx, DWORD PTR [eax+ecx+32768]
  004c8	c1 fa 10	 sar	 edx, 16			; 00000010H
  004cb	89 55 c8	 mov	 DWORD PTR _b$[ebp], edx

; 372  :                 *pBuf++ = LIMIT_RGB(r);

  004ce	83 7d a4 00	 cmp	 DWORD PTR _r$[ebp], 0
  004d2	7d 0c		 jge	 SHORT $LN60@SaveSnapsh@2
  004d4	c7 85 cc fe ff
	ff 00 00 00 00	 mov	 DWORD PTR tv253[ebp], 0
  004de	eb 2a		 jmp	 SHORT $LN61@SaveSnapsh@2
$LN60@SaveSnapsh@2:
  004e0	81 7d a4 ff 00
	00 00		 cmp	 DWORD PTR _r$[ebp], 255	; 000000ffH
  004e7	7e 0c		 jle	 SHORT $LN58@SaveSnapsh@2
  004e9	c7 85 c8 fe ff
	ff ff 00 00 00	 mov	 DWORD PTR tv252[ebp], 255 ; 000000ffH
  004f3	eb 09		 jmp	 SHORT $LN59@SaveSnapsh@2
$LN58@SaveSnapsh@2:
  004f5	8b 45 a4	 mov	 eax, DWORD PTR _r$[ebp]
  004f8	89 85 c8 fe ff
	ff		 mov	 DWORD PTR tv252[ebp], eax
$LN59@SaveSnapsh@2:
  004fe	8b 8d c8 fe ff
	ff		 mov	 ecx, DWORD PTR tv252[ebp]
  00504	89 8d cc fe ff
	ff		 mov	 DWORD PTR tv253[ebp], ecx
$LN61@SaveSnapsh@2:
  0050a	8b 55 a0	 mov	 edx, DWORD PTR _pBuf$[ebp]
  0050d	8a 85 cc fe ff
	ff		 mov	 al, BYTE PTR tv253[ebp]
  00513	88 02		 mov	 BYTE PTR [edx], al
  00515	8b 4d a0	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  00518	83 c1 01	 add	 ecx, 1
  0051b	89 4d a0	 mov	 DWORD PTR _pBuf$[ebp], ecx

; 373  :                 *pBuf++ = LIMIT_RGB(g);

  0051e	83 7d c4 00	 cmp	 DWORD PTR _g$[ebp], 0
  00522	7d 0c		 jge	 SHORT $LN64@SaveSnapsh@2
  00524	c7 85 c4 fe ff
	ff 00 00 00 00	 mov	 DWORD PTR tv259[ebp], 0
  0052e	eb 2a		 jmp	 SHORT $LN65@SaveSnapsh@2
$LN64@SaveSnapsh@2:
  00530	81 7d c4 ff 00
	00 00		 cmp	 DWORD PTR _g$[ebp], 255	; 000000ffH
  00537	7e 0c		 jle	 SHORT $LN62@SaveSnapsh@2
  00539	c7 85 c0 fe ff
	ff ff 00 00 00	 mov	 DWORD PTR tv258[ebp], 255 ; 000000ffH
  00543	eb 09		 jmp	 SHORT $LN63@SaveSnapsh@2
$LN62@SaveSnapsh@2:
  00545	8b 55 c4	 mov	 edx, DWORD PTR _g$[ebp]
  00548	89 95 c0 fe ff
	ff		 mov	 DWORD PTR tv258[ebp], edx
$LN63@SaveSnapsh@2:
  0054e	8b 85 c0 fe ff
	ff		 mov	 eax, DWORD PTR tv258[ebp]
  00554	89 85 c4 fe ff
	ff		 mov	 DWORD PTR tv259[ebp], eax
$LN65@SaveSnapsh@2:
  0055a	8b 4d a0	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  0055d	8a 95 c4 fe ff
	ff		 mov	 dl, BYTE PTR tv259[ebp]
  00563	88 11		 mov	 BYTE PTR [ecx], dl
  00565	8b 45 a0	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00568	83 c0 01	 add	 eax, 1
  0056b	89 45 a0	 mov	 DWORD PTR _pBuf$[ebp], eax

; 374  :                 *pBuf++ = LIMIT_RGB(b);

  0056e	83 7d c8 00	 cmp	 DWORD PTR _b$[ebp], 0
  00572	7d 0c		 jge	 SHORT $LN68@SaveSnapsh@2
  00574	c7 85 bc fe ff
	ff 00 00 00 00	 mov	 DWORD PTR tv265[ebp], 0
  0057e	eb 2a		 jmp	 SHORT $LN69@SaveSnapsh@2
$LN68@SaveSnapsh@2:
  00580	81 7d c8 ff 00
	00 00		 cmp	 DWORD PTR _b$[ebp], 255	; 000000ffH
  00587	7e 0c		 jle	 SHORT $LN66@SaveSnapsh@2
  00589	c7 85 b8 fe ff
	ff ff 00 00 00	 mov	 DWORD PTR tv264[ebp], 255 ; 000000ffH
  00593	eb 09		 jmp	 SHORT $LN67@SaveSnapsh@2
$LN66@SaveSnapsh@2:
  00595	8b 4d c8	 mov	 ecx, DWORD PTR _b$[ebp]
  00598	89 8d b8 fe ff
	ff		 mov	 DWORD PTR tv264[ebp], ecx
$LN67@SaveSnapsh@2:
  0059e	8b 95 b8 fe ff
	ff		 mov	 edx, DWORD PTR tv264[ebp]
  005a4	89 95 bc fe ff
	ff		 mov	 DWORD PTR tv265[ebp], edx
$LN69@SaveSnapsh@2:
  005aa	8b 45 a0	 mov	 eax, DWORD PTR _pBuf$[ebp]
  005ad	8a 8d bc fe ff
	ff		 mov	 cl, BYTE PTR tv265[ebp]
  005b3	88 08		 mov	 BYTE PTR [eax], cl
  005b5	8b 55 a0	 mov	 edx, DWORD PTR _pBuf$[ebp]
  005b8	83 c2 01	 add	 edx, 1
  005bb	89 55 a0	 mov	 DWORD PTR _pBuf$[ebp], edx
$LN15@SaveSnapsh@2:

; 375  :             }
; 376  : 
; 377  :             pBufOverlay += 4;

  005be	8b 45 a8	 mov	 eax, DWORD PTR _pBufOverlay$[ebp]
  005c1	83 c0 04	 add	 eax, 4
  005c4	89 45 a8	 mov	 DWORD PTR _pBufOverlay$[ebp], eax

; 378  :         }

  005c7	e9 6b fb ff ff	 jmp	 $LN18@SaveSnapsh@2
$LN17@SaveSnapsh@2:

; 379  :         if ((w != Width) && (m_FormatSaving != TIFF_CLASS_Y))

  005cc	8b 4d ec	 mov	 ecx, DWORD PTR _w$[ebp]
  005cf	3b 4d 10	 cmp	 ecx, DWORD PTR _Width$[ebp]
  005d2	0f 84 71 02 00
	00		 je	 $LN14@SaveSnapsh@2
  005d8	8b 95 0c ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  005de	83 7a 08 02	 cmp	 DWORD PTR [edx+8], 2
  005e2	0f 84 61 02 00
	00		 je	 $LN14@SaveSnapsh@2

; 380  :         {
; 381  :             y = LIMIT_Y(pBufOverlay[0]) - 16;

  005e8	8b 45 a8	 mov	 eax, DWORD PTR _pBufOverlay$[ebp]
  005eb	0f b6 08	 movzx	 ecx, BYTE PTR [eax]
  005ee	83 f9 10	 cmp	 ecx, 16			; 00000010H
  005f1	7d 0c		 jge	 SHORT $LN72@SaveSnapsh@2
  005f3	c7 85 b4 fe ff
	ff 10 00 00 00	 mov	 DWORD PTR tv277[ebp], 16 ; 00000010H
  005fd	eb 31		 jmp	 SHORT $LN73@SaveSnapsh@2
$LN72@SaveSnapsh@2:
  005ff	8b 55 a8	 mov	 edx, DWORD PTR _pBufOverlay$[ebp]
  00602	0f b6 02	 movzx	 eax, BYTE PTR [edx]
  00605	3d eb 00 00 00	 cmp	 eax, 235		; 000000ebH
  0060a	7e 0c		 jle	 SHORT $LN70@SaveSnapsh@2
  0060c	c7 85 b0 fe ff
	ff eb 00 00 00	 mov	 DWORD PTR tv276[ebp], 235 ; 000000ebH
  00616	eb 0c		 jmp	 SHORT $LN71@SaveSnapsh@2
$LN70@SaveSnapsh@2:
  00618	8b 4d a8	 mov	 ecx, DWORD PTR _pBufOverlay$[ebp]
  0061b	0f b6 11	 movzx	 edx, BYTE PTR [ecx]
  0061e	89 95 b0 fe ff
	ff		 mov	 DWORD PTR tv276[ebp], edx
$LN71@SaveSnapsh@2:
  00624	8b 85 b0 fe ff
	ff		 mov	 eax, DWORD PTR tv276[ebp]
  0062a	89 85 b4 fe ff
	ff		 mov	 DWORD PTR tv277[ebp], eax
$LN73@SaveSnapsh@2:
  00630	8b 8d b4 fe ff
	ff		 mov	 ecx, DWORD PTR tv277[ebp]
  00636	83 e9 10	 sub	 ecx, 16			; 00000010H
  00639	89 4d e8	 mov	 DWORD PTR _y$[ebp], ecx

; 382  :             cb = LIMIT_CbCr(pBufOverlay[1]) - 128;

  0063c	8b 55 a8	 mov	 edx, DWORD PTR _pBufOverlay$[ebp]
  0063f	0f b6 42 01	 movzx	 eax, BYTE PTR [edx+1]
  00643	83 f8 10	 cmp	 eax, 16			; 00000010H
  00646	7d 0c		 jge	 SHORT $LN76@SaveSnapsh@2
  00648	c7 85 ac fe ff
	ff 10 00 00 00	 mov	 DWORD PTR tv288[ebp], 16 ; 00000010H
  00652	eb 34		 jmp	 SHORT $LN77@SaveSnapsh@2
$LN76@SaveSnapsh@2:
  00654	8b 4d a8	 mov	 ecx, DWORD PTR _pBufOverlay$[ebp]
  00657	0f b6 51 01	 movzx	 edx, BYTE PTR [ecx+1]
  0065b	81 fa f0 00 00
	00		 cmp	 edx, 240		; 000000f0H
  00661	7e 0c		 jle	 SHORT $LN74@SaveSnapsh@2
  00663	c7 85 a8 fe ff
	ff f0 00 00 00	 mov	 DWORD PTR tv287[ebp], 240 ; 000000f0H
  0066d	eb 0d		 jmp	 SHORT $LN75@SaveSnapsh@2
$LN74@SaveSnapsh@2:
  0066f	8b 45 a8	 mov	 eax, DWORD PTR _pBufOverlay$[ebp]
  00672	0f b6 48 01	 movzx	 ecx, BYTE PTR [eax+1]
  00676	89 8d a8 fe ff
	ff		 mov	 DWORD PTR tv287[ebp], ecx
$LN75@SaveSnapsh@2:
  0067c	8b 95 a8 fe ff
	ff		 mov	 edx, DWORD PTR tv287[ebp]
  00682	89 95 ac fe ff
	ff		 mov	 DWORD PTR tv288[ebp], edx
$LN77@SaveSnapsh@2:
  00688	8b 85 ac fe ff
	ff		 mov	 eax, DWORD PTR tv288[ebp]
  0068e	2d 80 00 00 00	 sub	 eax, 128		; 00000080H
  00693	89 45 90	 mov	 DWORD PTR _cb$[ebp], eax

; 383  :             cr = LIMIT_CbCr(pBufOverlay[-1]) - 128;

  00696	8b 4d a8	 mov	 ecx, DWORD PTR _pBufOverlay$[ebp]
  00699	0f b6 51 ff	 movzx	 edx, BYTE PTR [ecx-1]
  0069d	83 fa 10	 cmp	 edx, 16			; 00000010H
  006a0	7d 0c		 jge	 SHORT $LN80@SaveSnapsh@2
  006a2	c7 85 a4 fe ff
	ff 10 00 00 00	 mov	 DWORD PTR tv299[ebp], 16 ; 00000010H
  006ac	eb 34		 jmp	 SHORT $LN81@SaveSnapsh@2
$LN80@SaveSnapsh@2:
  006ae	8b 45 a8	 mov	 eax, DWORD PTR _pBufOverlay$[ebp]
  006b1	0f b6 48 ff	 movzx	 ecx, BYTE PTR [eax-1]
  006b5	81 f9 f0 00 00
	00		 cmp	 ecx, 240		; 000000f0H
  006bb	7e 0c		 jle	 SHORT $LN78@SaveSnapsh@2
  006bd	c7 85 a0 fe ff
	ff f0 00 00 00	 mov	 DWORD PTR tv298[ebp], 240 ; 000000f0H
  006c7	eb 0d		 jmp	 SHORT $LN79@SaveSnapsh@2
$LN78@SaveSnapsh@2:
  006c9	8b 55 a8	 mov	 edx, DWORD PTR _pBufOverlay$[ebp]
  006cc	0f b6 42 ff	 movzx	 eax, BYTE PTR [edx-1]
  006d0	89 85 a0 fe ff
	ff		 mov	 DWORD PTR tv298[ebp], eax
$LN79@SaveSnapsh@2:
  006d6	8b 8d a0 fe ff
	ff		 mov	 ecx, DWORD PTR tv298[ebp]
  006dc	89 8d a4 fe ff
	ff		 mov	 DWORD PTR tv299[ebp], ecx
$LN81@SaveSnapsh@2:
  006e2	8b 95 a4 fe ff
	ff		 mov	 edx, DWORD PTR tv299[ebp]
  006e8	81 ea 80 00 00
	00		 sub	 edx, 128		; 00000080H
  006ee	89 55 e4	 mov	 DWORD PTR _cr$[ebp], edx

; 384  :             r = ( 76309*y             + 104597*cr + 32768 ) >> 16;

  006f1	8b 45 e8	 mov	 eax, DWORD PTR _y$[ebp]
  006f4	69 c0 15 2a 01
	00		 imul	 eax, 76309		; 00012a15H
  006fa	8b 4d e4	 mov	 ecx, DWORD PTR _cr$[ebp]
  006fd	69 c9 95 98 01
	00		 imul	 ecx, 104597		; 00019895H
  00703	8d 94 08 00 80
	00 00		 lea	 edx, DWORD PTR [eax+ecx+32768]
  0070a	c1 fa 10	 sar	 edx, 16			; 00000010H
  0070d	89 55 a4	 mov	 DWORD PTR _r$[ebp], edx

; 385  :             g = ( 76309*y -  25675*cb -  53279*cr + 32768 ) >> 16;

  00710	8b 45 e8	 mov	 eax, DWORD PTR _y$[ebp]
  00713	69 c0 15 2a 01
	00		 imul	 eax, 76309		; 00012a15H
  00719	8b 4d 90	 mov	 ecx, DWORD PTR _cb$[ebp]
  0071c	69 c9 4b 64 00
	00		 imul	 ecx, 25675		; 0000644bH
  00722	2b c1		 sub	 eax, ecx
  00724	8b 55 e4	 mov	 edx, DWORD PTR _cr$[ebp]
  00727	69 d2 1f d0 00
	00		 imul	 edx, 53279		; 0000d01fH
  0072d	2b c2		 sub	 eax, edx
  0072f	05 00 80 00 00	 add	 eax, 32768		; 00008000H
  00734	c1 f8 10	 sar	 eax, 16			; 00000010H
  00737	89 45 c4	 mov	 DWORD PTR _g$[ebp], eax

; 386  :             b = ( 76309*y + 132201*cb             + 32768 ) >> 16;

  0073a	8b 45 e8	 mov	 eax, DWORD PTR _y$[ebp]
  0073d	69 c0 15 2a 01
	00		 imul	 eax, 76309		; 00012a15H
  00743	8b 4d 90	 mov	 ecx, DWORD PTR _cb$[ebp]
  00746	69 c9 69 04 02
	00		 imul	 ecx, 132201		; 00020469H
  0074c	8d 94 08 00 80
	00 00		 lea	 edx, DWORD PTR [eax+ecx+32768]
  00753	c1 fa 10	 sar	 edx, 16			; 00000010H
  00756	89 55 c8	 mov	 DWORD PTR _b$[ebp], edx

; 387  :             *pBuf++ = LIMIT_RGB(r);

  00759	83 7d a4 00	 cmp	 DWORD PTR _r$[ebp], 0
  0075d	7d 0c		 jge	 SHORT $LN84@SaveSnapsh@2
  0075f	c7 85 9c fe ff
	ff 00 00 00 00	 mov	 DWORD PTR tv322[ebp], 0
  00769	eb 2a		 jmp	 SHORT $LN85@SaveSnapsh@2
$LN84@SaveSnapsh@2:
  0076b	81 7d a4 ff 00
	00 00		 cmp	 DWORD PTR _r$[ebp], 255	; 000000ffH
  00772	7e 0c		 jle	 SHORT $LN82@SaveSnapsh@2
  00774	c7 85 98 fe ff
	ff ff 00 00 00	 mov	 DWORD PTR tv321[ebp], 255 ; 000000ffH
  0077e	eb 09		 jmp	 SHORT $LN83@SaveSnapsh@2
$LN82@SaveSnapsh@2:
  00780	8b 45 a4	 mov	 eax, DWORD PTR _r$[ebp]
  00783	89 85 98 fe ff
	ff		 mov	 DWORD PTR tv321[ebp], eax
$LN83@SaveSnapsh@2:
  00789	8b 8d 98 fe ff
	ff		 mov	 ecx, DWORD PTR tv321[ebp]
  0078f	89 8d 9c fe ff
	ff		 mov	 DWORD PTR tv322[ebp], ecx
$LN85@SaveSnapsh@2:
  00795	8b 55 a0	 mov	 edx, DWORD PTR _pBuf$[ebp]
  00798	8a 85 9c fe ff
	ff		 mov	 al, BYTE PTR tv322[ebp]
  0079e	88 02		 mov	 BYTE PTR [edx], al
  007a0	8b 4d a0	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  007a3	83 c1 01	 add	 ecx, 1
  007a6	89 4d a0	 mov	 DWORD PTR _pBuf$[ebp], ecx

; 388  :             *pBuf++ = LIMIT_RGB(g);

  007a9	83 7d c4 00	 cmp	 DWORD PTR _g$[ebp], 0
  007ad	7d 0c		 jge	 SHORT $LN88@SaveSnapsh@2
  007af	c7 85 94 fe ff
	ff 00 00 00 00	 mov	 DWORD PTR tv328[ebp], 0
  007b9	eb 2a		 jmp	 SHORT $LN89@SaveSnapsh@2
$LN88@SaveSnapsh@2:
  007bb	81 7d c4 ff 00
	00 00		 cmp	 DWORD PTR _g$[ebp], 255	; 000000ffH
  007c2	7e 0c		 jle	 SHORT $LN86@SaveSnapsh@2
  007c4	c7 85 90 fe ff
	ff ff 00 00 00	 mov	 DWORD PTR tv327[ebp], 255 ; 000000ffH
  007ce	eb 09		 jmp	 SHORT $LN87@SaveSnapsh@2
$LN86@SaveSnapsh@2:
  007d0	8b 55 c4	 mov	 edx, DWORD PTR _g$[ebp]
  007d3	89 95 90 fe ff
	ff		 mov	 DWORD PTR tv327[ebp], edx
$LN87@SaveSnapsh@2:
  007d9	8b 85 90 fe ff
	ff		 mov	 eax, DWORD PTR tv327[ebp]
  007df	89 85 94 fe ff
	ff		 mov	 DWORD PTR tv328[ebp], eax
$LN89@SaveSnapsh@2:
  007e5	8b 4d a0	 mov	 ecx, DWORD PTR _pBuf$[ebp]
  007e8	8a 95 94 fe ff
	ff		 mov	 dl, BYTE PTR tv328[ebp]
  007ee	88 11		 mov	 BYTE PTR [ecx], dl
  007f0	8b 45 a0	 mov	 eax, DWORD PTR _pBuf$[ebp]
  007f3	83 c0 01	 add	 eax, 1
  007f6	89 45 a0	 mov	 DWORD PTR _pBuf$[ebp], eax

; 389  :             *pBuf++ = LIMIT_RGB(b);

  007f9	83 7d c8 00	 cmp	 DWORD PTR _b$[ebp], 0
  007fd	7d 0c		 jge	 SHORT $LN92@SaveSnapsh@2
  007ff	c7 85 8c fe ff
	ff 00 00 00 00	 mov	 DWORD PTR tv334[ebp], 0
  00809	eb 2a		 jmp	 SHORT $LN93@SaveSnapsh@2
$LN92@SaveSnapsh@2:
  0080b	81 7d c8 ff 00
	00 00		 cmp	 DWORD PTR _b$[ebp], 255	; 000000ffH
  00812	7e 0c		 jle	 SHORT $LN90@SaveSnapsh@2
  00814	c7 85 88 fe ff
	ff ff 00 00 00	 mov	 DWORD PTR tv333[ebp], 255 ; 000000ffH
  0081e	eb 09		 jmp	 SHORT $LN91@SaveSnapsh@2
$LN90@SaveSnapsh@2:
  00820	8b 4d c8	 mov	 ecx, DWORD PTR _b$[ebp]
  00823	89 8d 88 fe ff
	ff		 mov	 DWORD PTR tv333[ebp], ecx
$LN91@SaveSnapsh@2:
  00829	8b 95 88 fe ff
	ff		 mov	 edx, DWORD PTR tv333[ebp]
  0082f	89 95 8c fe ff
	ff		 mov	 DWORD PTR tv334[ebp], edx
$LN93@SaveSnapsh@2:
  00835	8b 45 a0	 mov	 eax, DWORD PTR _pBuf$[ebp]
  00838	8a 8d 8c fe ff
	ff		 mov	 cl, BYTE PTR tv334[ebp]
  0083e	88 08		 mov	 BYTE PTR [eax], cl
  00840	8b 55 a0	 mov	 edx, DWORD PTR _pBuf$[ebp]
  00843	83 c2 01	 add	 edx, 1
  00846	89 55 a0	 mov	 DWORD PTR _pBuf$[ebp], edx
$LN14@SaveSnapsh@2:

; 390  :         }
; 391  :     }

  00849	e9 be f8 ff ff	 jmp	 $LN21@SaveSnapsh@2
$LN20@SaveSnapsh@2:

; 392  : 
; 393  :     // Open the file
; 394  :     tif = TIFFOpen(TStringToMBCS(FilePath).c_str(), "w");

  0084e	8b 45 08	 mov	 eax, DWORD PTR _FilePath$[ebp]
  00851	50		 push	 eax
  00852	8d 8d 6c ff ff
	ff		 lea	 ecx, DWORD PTR $T343367[ebp]
  00858	51		 push	 ecx
  00859	e8 00 00 00 00	 call	 ?UnicodeToMBCS@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ; UnicodeToMBCS
  0085e	83 c4 08	 add	 esp, 8
  00861	89 85 84 fe ff
	ff		 mov	 DWORD PTR tv509[ebp], eax
  00867	8b 95 84 fe ff
	ff		 mov	 edx, DWORD PTR tv509[ebp]
  0086d	89 95 80 fe ff
	ff		 mov	 DWORD PTR tv487[ebp], edx
  00873	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0087a	68 00 00 00 00	 push	 OFFSET ??_C@_01NOFIACDB@w?$AA@
  0087f	8b 8d 80 fe ff
	ff		 mov	 ecx, DWORD PTR tv487[ebp]
  00885	e8 00 00 00 00	 call	 ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str
  0088a	50		 push	 eax
  0088b	e8 00 00 00 00	 call	 _TIFFOpen
  00890	83 c4 08	 add	 esp, 8
  00893	89 45 e0	 mov	 DWORD PTR _tif$[ebp], eax
  00896	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0089d	8d 8d 6c ff ff
	ff		 lea	 ecx, DWORD PTR $T343367[ebp]
  008a3	e8 00 00 00 00	 call	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >

; 395  :     if (!tif)

  008a8	83 7d e0 00	 cmp	 DWORD PTR _tif$[ebp], 0
  008ac	75 11		 jne	 SHORT $LN13@SaveSnapsh@2

; 396  :     {
; 397  :         _TIFFfree(buffer);

  008ae	8b 45 9c	 mov	 eax, DWORD PTR _buffer$[ebp]
  008b1	50		 push	 eax
  008b2	e8 00 00 00 00	 call	 __TIFFfree
  008b7	83 c4 04	 add	 esp, 4

; 398  :         return;

  008ba	e9 2d 04 00 00	 jmp	 $LN26@SaveSnapsh@2
$LN13@SaveSnapsh@2:

; 399  :     }
; 400  : 
; 401  :     //
; 402  :     // Fields of the directory
; 403  :     //
; 404  :     time(&long_time);

  008bf	8d 4d 94	 lea	 ecx, DWORD PTR _long_time$[ebp]
  008c2	51		 push	 ecx
  008c3	e8 00 00 00 00	 call	 _time
  008c8	83 c4 04	 add	 esp, 4

; 405  :     tm_time = localtime(&long_time);

  008cb	8d 55 94	 lea	 edx, DWORD PTR _long_time$[ebp]
  008ce	52		 push	 edx
  008cf	e8 00 00 00 00	 call	 _localtime
  008d4	83 c4 04	 add	 esp, 4
  008d7	89 45 dc	 mov	 DWORD PTR _tm_time$[ebp], eax

; 406  : 
; 407  :     if (!TIFFSetField(tif, TIFFTAG_SUBFILETYPE, 0) ||
; 408  :         !TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, 8) ||                 // 8 bits for each channel
; 409  :         !TIFFSetField(tif, TIFFTAG_IMAGEDESCRIPTION, TStringToMBCS(Context).c_str()) ||
; 410  :         !TIFFSetField(tif, TIFFTAG_IMAGELENGTH, Height) ||
; 411  :         !TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG) ||         // RGB bytes are interleaved
; 412  :         !TIFFSetField(tif, TIFFTAG_ROWSPERSTRIP, Height) ||             // Whole image is one strip
; 413  :         !TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, 3) ||               // RGB = 3 channels/pixel
; 414  :         !TIFFSetField(tif, TIFFTAG_SOFTWARE, TStringToMBCS(GetProductNameAndVersion()).c_str()) ||
; 415  :         !TIFFSetField(tif, TIFFTAG_DATETIME, asctime(tm_time)))

  008da	6a 00		 push	 0
  008dc	68 fe 00 00 00	 push	 254			; 000000feH
  008e1	8b 45 e0	 mov	 eax, DWORD PTR _tif$[ebp]
  008e4	50		 push	 eax
  008e5	e8 00 00 00 00	 call	 _TIFFSetField
  008ea	83 c4 0c	 add	 esp, 12			; 0000000cH
  008ed	85 c0		 test	 eax, eax
  008ef	0f 84 af 01 00
	00		 je	 $LN94@SaveSnapsh@2
  008f5	6a 08		 push	 8
  008f7	68 02 01 00 00	 push	 258			; 00000102H
  008fc	8b 4d e0	 mov	 ecx, DWORD PTR _tif$[ebp]
  008ff	51		 push	 ecx
  00900	e8 00 00 00 00	 call	 _TIFFSetField
  00905	83 c4 0c	 add	 esp, 12			; 0000000cH
  00908	85 c0		 test	 eax, eax
  0090a	0f 84 94 01 00
	00		 je	 $LN94@SaveSnapsh@2
  00910	8b 55 1c	 mov	 edx, DWORD PTR _Context$[ebp]
  00913	52		 push	 edx
  00914	8d 85 4c ff ff
	ff		 lea	 eax, DWORD PTR $T343370[ebp]
  0091a	50		 push	 eax
  0091b	e8 00 00 00 00	 call	 ?UnicodeToMBCS@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ; UnicodeToMBCS
  00920	83 c4 08	 add	 esp, 8
  00923	89 85 7c fe ff
	ff		 mov	 DWORD PTR tv510[ebp], eax
  00929	8b 8d 7c fe ff
	ff		 mov	 ecx, DWORD PTR tv510[ebp]
  0092f	89 8d 78 fe ff
	ff		 mov	 DWORD PTR tv492[ebp], ecx
  00935	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1
  0093c	8b 95 10 ff ff
	ff		 mov	 edx, DWORD PTR $T343375[ebp]
  00942	83 ca 01	 or	 edx, 1
  00945	89 95 10 ff ff
	ff		 mov	 DWORD PTR $T343375[ebp], edx
  0094b	8b 8d 78 fe ff
	ff		 mov	 ecx, DWORD PTR tv492[ebp]
  00951	e8 00 00 00 00	 call	 ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str
  00956	50		 push	 eax
  00957	68 0e 01 00 00	 push	 270			; 0000010eH
  0095c	8b 45 e0	 mov	 eax, DWORD PTR _tif$[ebp]
  0095f	50		 push	 eax
  00960	e8 00 00 00 00	 call	 _TIFFSetField
  00965	83 c4 0c	 add	 esp, 12			; 0000000cH
  00968	85 c0		 test	 eax, eax
  0096a	0f 84 34 01 00
	00		 je	 $LN94@SaveSnapsh@2
  00970	8b 4d 0c	 mov	 ecx, DWORD PTR _Height$[ebp]
  00973	51		 push	 ecx
  00974	68 01 01 00 00	 push	 257			; 00000101H
  00979	8b 55 e0	 mov	 edx, DWORD PTR _tif$[ebp]
  0097c	52		 push	 edx
  0097d	e8 00 00 00 00	 call	 _TIFFSetField
  00982	83 c4 0c	 add	 esp, 12			; 0000000cH
  00985	85 c0		 test	 eax, eax
  00987	0f 84 17 01 00
	00		 je	 $LN94@SaveSnapsh@2
  0098d	6a 01		 push	 1
  0098f	68 1c 01 00 00	 push	 284			; 0000011cH
  00994	8b 45 e0	 mov	 eax, DWORD PTR _tif$[ebp]
  00997	50		 push	 eax
  00998	e8 00 00 00 00	 call	 _TIFFSetField
  0099d	83 c4 0c	 add	 esp, 12			; 0000000cH
  009a0	85 c0		 test	 eax, eax
  009a2	0f 84 fc 00 00
	00		 je	 $LN94@SaveSnapsh@2
  009a8	8b 4d 0c	 mov	 ecx, DWORD PTR _Height$[ebp]
  009ab	51		 push	 ecx
  009ac	68 16 01 00 00	 push	 278			; 00000116H
  009b1	8b 55 e0	 mov	 edx, DWORD PTR _tif$[ebp]
  009b4	52		 push	 edx
  009b5	e8 00 00 00 00	 call	 _TIFFSetField
  009ba	83 c4 0c	 add	 esp, 12			; 0000000cH
  009bd	85 c0		 test	 eax, eax
  009bf	0f 84 df 00 00
	00		 je	 $LN94@SaveSnapsh@2
  009c5	6a 03		 push	 3
  009c7	68 15 01 00 00	 push	 277			; 00000115H
  009cc	8b 45 e0	 mov	 eax, DWORD PTR _tif$[ebp]
  009cf	50		 push	 eax
  009d0	e8 00 00 00 00	 call	 _TIFFSetField
  009d5	83 c4 0c	 add	 esp, 12			; 0000000cH
  009d8	85 c0		 test	 eax, eax
  009da	0f 84 c4 00 00
	00		 je	 $LN94@SaveSnapsh@2
  009e0	8d 8d 30 ff ff
	ff		 lea	 ecx, DWORD PTR $T343371[ebp]
  009e6	51		 push	 ecx
  009e7	e8 00 00 00 00	 call	 ?GetProductNameAndVersion@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ; GetProductNameAndVersion
  009ec	83 c4 04	 add	 esp, 4
  009ef	89 85 74 fe ff
	ff		 mov	 DWORD PTR tv512[ebp], eax
  009f5	8b 95 74 fe ff
	ff		 mov	 edx, DWORD PTR tv512[ebp]
  009fb	89 95 70 fe ff
	ff		 mov	 DWORD PTR tv497[ebp], edx
  00a01	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 2
  00a08	8b 85 10 ff ff
	ff		 mov	 eax, DWORD PTR $T343375[ebp]
  00a0e	83 c8 02	 or	 eax, 2
  00a11	89 85 10 ff ff
	ff		 mov	 DWORD PTR $T343375[ebp], eax
  00a17	8b 8d 70 fe ff
	ff		 mov	 ecx, DWORD PTR tv497[ebp]
  00a1d	51		 push	 ecx
  00a1e	8d 95 14 ff ff
	ff		 lea	 edx, DWORD PTR $T343372[ebp]
  00a24	52		 push	 edx
  00a25	e8 00 00 00 00	 call	 ?UnicodeToMBCS@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ; UnicodeToMBCS
  00a2a	83 c4 08	 add	 esp, 8
  00a2d	89 85 6c fe ff
	ff		 mov	 DWORD PTR tv514[ebp], eax
  00a33	8b 85 6c fe ff
	ff		 mov	 eax, DWORD PTR tv514[ebp]
  00a39	89 85 68 fe ff
	ff		 mov	 DWORD PTR tv502[ebp], eax
  00a3f	c7 45 fc 03 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 3
  00a46	8b 8d 10 ff ff
	ff		 mov	 ecx, DWORD PTR $T343375[ebp]
  00a4c	83 c9 04	 or	 ecx, 4
  00a4f	89 8d 10 ff ff
	ff		 mov	 DWORD PTR $T343375[ebp], ecx
  00a55	8b 8d 68 fe ff
	ff		 mov	 ecx, DWORD PTR tv502[ebp]
  00a5b	e8 00 00 00 00	 call	 ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str
  00a60	50		 push	 eax
  00a61	68 31 01 00 00	 push	 305			; 00000131H
  00a66	8b 55 e0	 mov	 edx, DWORD PTR _tif$[ebp]
  00a69	52		 push	 edx
  00a6a	e8 00 00 00 00	 call	 _TIFFSetField
  00a6f	83 c4 0c	 add	 esp, 12			; 0000000cH
  00a72	85 c0		 test	 eax, eax
  00a74	74 2e		 je	 SHORT $LN94@SaveSnapsh@2
  00a76	8b 45 dc	 mov	 eax, DWORD PTR _tm_time$[ebp]
  00a79	50		 push	 eax
  00a7a	e8 00 00 00 00	 call	 _asctime
  00a7f	83 c4 04	 add	 esp, 4
  00a82	50		 push	 eax
  00a83	68 32 01 00 00	 push	 306			; 00000132H
  00a88	8b 4d e0	 mov	 ecx, DWORD PTR _tif$[ebp]
  00a8b	51		 push	 ecx
  00a8c	e8 00 00 00 00	 call	 _TIFFSetField
  00a91	83 c4 0c	 add	 esp, 12			; 0000000cH
  00a94	85 c0		 test	 eax, eax
  00a96	74 0c		 je	 SHORT $LN94@SaveSnapsh@2
  00a98	c7 85 64 fe ff
	ff 00 00 00 00	 mov	 DWORD PTR tv416[ebp], 0
  00aa2	eb 0a		 jmp	 SHORT $LN95@SaveSnapsh@2
$LN94@SaveSnapsh@2:
  00aa4	c7 85 64 fe ff
	ff 01 00 00 00	 mov	 DWORD PTR tv416[ebp], 1
$LN95@SaveSnapsh@2:
  00aae	8a 95 64 fe ff
	ff		 mov	 dl, BYTE PTR tv416[ebp]
  00ab4	88 95 6b ff ff
	ff		 mov	 BYTE PTR $T343368[ebp], dl
  00aba	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 2
  00ac1	8b 85 10 ff ff
	ff		 mov	 eax, DWORD PTR $T343375[ebp]
  00ac7	83 e0 04	 and	 eax, 4
  00aca	74 12		 je	 SHORT $LN103@SaveSnapsh@2
  00acc	83 a5 10 ff ff
	ff fb		 and	 DWORD PTR $T343375[ebp], -5 ; fffffffbH
  00ad3	8d 8d 14 ff ff
	ff		 lea	 ecx, DWORD PTR $T343372[ebp]
  00ad9	e8 00 00 00 00	 call	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
$LN103@SaveSnapsh@2:
  00ade	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1
  00ae5	8b 8d 10 ff ff
	ff		 mov	 ecx, DWORD PTR $T343375[ebp]
  00aeb	83 e1 02	 and	 ecx, 2
  00aee	74 12		 je	 SHORT $LN104@SaveSnapsh@2
  00af0	83 a5 10 ff ff
	ff fd		 and	 DWORD PTR $T343375[ebp], -3 ; fffffffdH
  00af7	8d 8d 30 ff ff
	ff		 lea	 ecx, DWORD PTR $T343371[ebp]
  00afd	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> >
$LN104@SaveSnapsh@2:
  00b02	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00b09	8b 95 10 ff ff
	ff		 mov	 edx, DWORD PTR $T343375[ebp]
  00b0f	83 e2 01	 and	 edx, 1
  00b12	74 12		 je	 SHORT $LN105@SaveSnapsh@2
  00b14	83 a5 10 ff ff
	ff fe		 and	 DWORD PTR $T343375[ebp], -2 ; fffffffeH
  00b1b	8d 8d 4c ff ff
	ff		 lea	 ecx, DWORD PTR $T343370[ebp]
  00b21	e8 00 00 00 00	 call	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
$LN105@SaveSnapsh@2:
  00b26	0f b6 85 6b ff
	ff ff		 movzx	 eax, BYTE PTR $T343368[ebp]
  00b2d	85 c0		 test	 eax, eax
  00b2f	74 1d		 je	 SHORT $LN12@SaveSnapsh@2

; 416  :     {
; 417  :         _TIFFfree(buffer);

  00b31	8b 4d 9c	 mov	 ecx, DWORD PTR _buffer$[ebp]
  00b34	51		 push	 ecx
  00b35	e8 00 00 00 00	 call	 __TIFFfree
  00b3a	83 c4 04	 add	 esp, 4

; 418  :         TIFFClose(tif);

  00b3d	8b 55 e0	 mov	 edx, DWORD PTR _tif$[ebp]
  00b40	52		 push	 edx
  00b41	e8 00 00 00 00	 call	 _TIFFClose
  00b46	83 c4 04	 add	 esp, 4

; 419  :         return;

  00b49	e9 9e 01 00 00	 jmp	 $LN26@SaveSnapsh@2
$LN12@SaveSnapsh@2:

; 420  :     }
; 421  :     if (m_FormatSaving == TIFF_CLASS_Y)

  00b4e	8b 85 0c ff ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  00b54	83 78 08 02	 cmp	 DWORD PTR [eax+8], 2
  00b58	0f 85 b1 00 00
	00		 jne	 $LN11@SaveSnapsh@2

; 422  :     {
; 423  :         if (!TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, w) ||
; 424  :             !TIFFSetField(tif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_YCBCR) ||
; 425  :             !TIFFSetField(tif, TIFFTAG_YCBCRCOEFFICIENTS, ycbcrCoeffs) ||
; 426  :             !TIFFSetField(tif, TIFFTAG_YCBCRPOSITIONING, YCBCRPOSITION_COSITED) ||
; 427  :             !TIFFSetField(tif, TIFFTAG_YCBCRSUBSAMPLING, 2, 1) ||
; 428  :             !TIFFSetField(tif, TIFFTAG_REFERENCEBLACKWHITE, refBlackWhite))

  00b5e	8b 4d ec	 mov	 ecx, DWORD PTR _w$[ebp]
  00b61	51		 push	 ecx
  00b62	68 00 01 00 00	 push	 256			; 00000100H
  00b67	8b 55 e0	 mov	 edx, DWORD PTR _tif$[ebp]
  00b6a	52		 push	 edx
  00b6b	e8 00 00 00 00	 call	 _TIFFSetField
  00b70	83 c4 0c	 add	 esp, 12			; 0000000cH
  00b73	85 c0		 test	 eax, eax
  00b75	74 79		 je	 SHORT $LN9@SaveSnapsh@2
  00b77	6a 06		 push	 6
  00b79	68 06 01 00 00	 push	 262			; 00000106H
  00b7e	8b 45 e0	 mov	 eax, DWORD PTR _tif$[ebp]
  00b81	50		 push	 eax
  00b82	e8 00 00 00 00	 call	 _TIFFSetField
  00b87	83 c4 0c	 add	 esp, 12			; 0000000cH
  00b8a	85 c0		 test	 eax, eax
  00b8c	74 62		 je	 SHORT $LN9@SaveSnapsh@2
  00b8e	8d 4d d0	 lea	 ecx, DWORD PTR _ycbcrCoeffs$[ebp]
  00b91	51		 push	 ecx
  00b92	68 11 02 00 00	 push	 529			; 00000211H
  00b97	8b 55 e0	 mov	 edx, DWORD PTR _tif$[ebp]
  00b9a	52		 push	 edx
  00b9b	e8 00 00 00 00	 call	 _TIFFSetField
  00ba0	83 c4 0c	 add	 esp, 12			; 0000000cH
  00ba3	85 c0		 test	 eax, eax
  00ba5	74 49		 je	 SHORT $LN9@SaveSnapsh@2
  00ba7	6a 02		 push	 2
  00ba9	68 13 02 00 00	 push	 531			; 00000213H
  00bae	8b 45 e0	 mov	 eax, DWORD PTR _tif$[ebp]
  00bb1	50		 push	 eax
  00bb2	e8 00 00 00 00	 call	 _TIFFSetField
  00bb7	83 c4 0c	 add	 esp, 12			; 0000000cH
  00bba	85 c0		 test	 eax, eax
  00bbc	74 32		 je	 SHORT $LN9@SaveSnapsh@2
  00bbe	6a 01		 push	 1
  00bc0	6a 02		 push	 2
  00bc2	68 12 02 00 00	 push	 530			; 00000212H
  00bc7	8b 4d e0	 mov	 ecx, DWORD PTR _tif$[ebp]
  00bca	51		 push	 ecx
  00bcb	e8 00 00 00 00	 call	 _TIFFSetField
  00bd0	83 c4 10	 add	 esp, 16			; 00000010H
  00bd3	85 c0		 test	 eax, eax
  00bd5	74 19		 je	 SHORT $LN9@SaveSnapsh@2
  00bd7	8d 55 ac	 lea	 edx, DWORD PTR _refBlackWhite$[ebp]
  00bda	52		 push	 edx
  00bdb	68 14 02 00 00	 push	 532			; 00000214H
  00be0	8b 45 e0	 mov	 eax, DWORD PTR _tif$[ebp]
  00be3	50		 push	 eax
  00be4	e8 00 00 00 00	 call	 _TIFFSetField
  00be9	83 c4 0c	 add	 esp, 12			; 0000000cH
  00bec	85 c0		 test	 eax, eax
  00bee	75 1d		 jne	 SHORT $LN10@SaveSnapsh@2
$LN9@SaveSnapsh@2:

; 429  :         {
; 430  :             _TIFFfree(buffer);

  00bf0	8b 4d 9c	 mov	 ecx, DWORD PTR _buffer$[ebp]
  00bf3	51		 push	 ecx
  00bf4	e8 00 00 00 00	 call	 __TIFFfree
  00bf9	83 c4 04	 add	 esp, 4

; 431  :             TIFFClose(tif);

  00bfc	8b 55 e0	 mov	 edx, DWORD PTR _tif$[ebp]
  00bff	52		 push	 edx
  00c00	e8 00 00 00 00	 call	 _TIFFClose
  00c05	83 c4 04	 add	 esp, 4

; 432  :             return;

  00c08	e9 df 00 00 00	 jmp	 $LN26@SaveSnapsh@2
$LN10@SaveSnapsh@2:

; 433  :         }
; 434  :     }
; 435  :     else

  00c0d	eb 4d		 jmp	 SHORT $LN7@SaveSnapsh@2
$LN11@SaveSnapsh@2:

; 436  :     {
; 437  :         if (!TIFFSetField(tif, TIFFTAG_IMAGEWIDTH, Width) ||
; 438  :             !TIFFSetField(tif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_RGB))

  00c0f	8b 45 10	 mov	 eax, DWORD PTR _Width$[ebp]
  00c12	50		 push	 eax
  00c13	68 00 01 00 00	 push	 256			; 00000100H
  00c18	8b 4d e0	 mov	 ecx, DWORD PTR _tif$[ebp]
  00c1b	51		 push	 ecx
  00c1c	e8 00 00 00 00	 call	 _TIFFSetField
  00c21	83 c4 0c	 add	 esp, 12			; 0000000cH
  00c24	85 c0		 test	 eax, eax
  00c26	74 17		 je	 SHORT $LN6@SaveSnapsh@2
  00c28	6a 02		 push	 2
  00c2a	68 06 01 00 00	 push	 262			; 00000106H
  00c2f	8b 55 e0	 mov	 edx, DWORD PTR _tif$[ebp]
  00c32	52		 push	 edx
  00c33	e8 00 00 00 00	 call	 _TIFFSetField
  00c38	83 c4 0c	 add	 esp, 12			; 0000000cH
  00c3b	85 c0		 test	 eax, eax
  00c3d	75 1d		 jne	 SHORT $LN7@SaveSnapsh@2
$LN6@SaveSnapsh@2:

; 439  :         {
; 440  :             _TIFFfree(buffer);

  00c3f	8b 45 9c	 mov	 eax, DWORD PTR _buffer$[ebp]
  00c42	50		 push	 eax
  00c43	e8 00 00 00 00	 call	 __TIFFfree
  00c48	83 c4 04	 add	 esp, 4

; 441  :             TIFFClose(tif);

  00c4b	8b 4d e0	 mov	 ecx, DWORD PTR _tif$[ebp]
  00c4e	51		 push	 ecx
  00c4f	e8 00 00 00 00	 call	 _TIFFClose
  00c54	83 c4 04	 add	 esp, 4

; 442  :             return;

  00c57	e9 90 00 00 00	 jmp	 $LN26@SaveSnapsh@2
$LN7@SaveSnapsh@2:

; 443  :         }
; 444  :     }
; 445  :     switch (m_FormatSaving)

  00c5c	8b 95 0c ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  00c62	8b 42 08	 mov	 eax, DWORD PTR [edx+8]
  00c65	89 85 60 fe ff
	ff		 mov	 DWORD PTR tv470[ebp], eax
  00c6b	83 bd 60 fe ff
	ff 01		 cmp	 DWORD PTR tv470[ebp], 1
  00c72	74 02		 je	 SHORT $LN3@SaveSnapsh@2
  00c74	eb 0b		 jmp	 SHORT $LN2@SaveSnapsh@2
$LN3@SaveSnapsh@2:

; 446  :     {
; 447  :     case TIFF_CLASS_R_JPEG:
; 448  :         Compression = COMPRESSION_JPEG;

  00c76	b9 07 00 00 00	 mov	 ecx, 7
  00c7b	66 89 4d f0	 mov	 WORD PTR _Compression$[ebp], cx

; 449  :         break;

  00c7f	eb 09		 jmp	 SHORT $LN4@SaveSnapsh@2
$LN2@SaveSnapsh@2:

; 450  :     case TIFF_CLASS_R:
; 451  :     case TIFF_CLASS_Y:
; 452  :     default:
; 453  :         Compression = COMPRESSION_NONE;

  00c81	ba 01 00 00 00	 mov	 edx, 1
  00c86	66 89 55 f0	 mov	 WORD PTR _Compression$[ebp], dx
$LN4@SaveSnapsh@2:

; 454  :         break;
; 455  :     }
; 456  :     if (!TIFFSetField(tif, TIFFTAG_COMPRESSION, Compression))

  00c8a	0f b7 45 f0	 movzx	 eax, WORD PTR _Compression$[ebp]
  00c8e	50		 push	 eax
  00c8f	68 03 01 00 00	 push	 259			; 00000103H
  00c94	8b 4d e0	 mov	 ecx, DWORD PTR _tif$[ebp]
  00c97	51		 push	 ecx
  00c98	e8 00 00 00 00	 call	 _TIFFSetField
  00c9d	83 c4 0c	 add	 esp, 12			; 0000000cH
  00ca0	85 c0		 test	 eax, eax
  00ca2	75 1a		 jne	 SHORT $LN1@SaveSnapsh@2

; 457  :     {
; 458  :         _TIFFfree(buffer);

  00ca4	8b 55 9c	 mov	 edx, DWORD PTR _buffer$[ebp]
  00ca7	52		 push	 edx
  00ca8	e8 00 00 00 00	 call	 __TIFFfree
  00cad	83 c4 04	 add	 esp, 4

; 459  :         TIFFClose(tif);

  00cb0	8b 45 e0	 mov	 eax, DWORD PTR _tif$[ebp]
  00cb3	50		 push	 eax
  00cb4	e8 00 00 00 00	 call	 _TIFFClose
  00cb9	83 c4 04	 add	 esp, 4

; 460  :         return;

  00cbc	eb 2e		 jmp	 SHORT $LN26@SaveSnapsh@2
$LN1@SaveSnapsh@2:

; 461  :     }
; 462  : 
; 463  :     // Write the strip (data) in the file
; 464  :     TIFFWriteEncodedStrip(tif, 0, buffer, size);

  00cbe	8b 4d cc	 mov	 ecx, DWORD PTR _size$[ebp]
  00cc1	51		 push	 ecx
  00cc2	8b 55 9c	 mov	 edx, DWORD PTR _buffer$[ebp]
  00cc5	52		 push	 edx
  00cc6	6a 00		 push	 0
  00cc8	8b 45 e0	 mov	 eax, DWORD PTR _tif$[ebp]
  00ccb	50		 push	 eax
  00ccc	e8 00 00 00 00	 call	 _TIFFWriteEncodedStrip
  00cd1	83 c4 10	 add	 esp, 16			; 00000010H

; 465  : 
; 466  :     _TIFFfree(buffer);

  00cd4	8b 4d 9c	 mov	 ecx, DWORD PTR _buffer$[ebp]
  00cd7	51		 push	 ecx
  00cd8	e8 00 00 00 00	 call	 __TIFFfree
  00cdd	83 c4 04	 add	 esp, 4

; 467  : 
; 468  :     // Close the file
; 469  :     TIFFClose(tif);

  00ce0	8b 55 e0	 mov	 edx, DWORD PTR _tif$[ebp]
  00ce3	52		 push	 edx
  00ce4	e8 00 00 00 00	 call	 _TIFFClose
  00ce9	83 c4 04	 add	 esp, 4
$LN26@SaveSnapsh@2:

; 470  : 
; 471  :     return;
; 472  : }

  00cec	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00cef	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00cf6	59		 pop	 ecx
  00cf7	8b e5		 mov	 esp, ebp
  00cf9	5d		 pop	 ebp
  00cfa	c2 18 00	 ret	 24			; 00000018H
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z$0:
  00000	8d 8d 6c ff ff
	ff		 lea	 ecx, DWORD PTR $T343367[ebp]
  00006	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z$1:
  0000b	8b 85 10 ff ff
	ff		 mov	 eax, DWORD PTR $T343375[ebp]
  00011	83 e0 01	 and	 eax, 1
  00014	0f 84 12 00 00
	00		 je	 $LN98@SaveSnapsh@2
  0001a	83 a5 10 ff ff
	ff fe		 and	 DWORD PTR $T343375[ebp], -2 ; fffffffeH
  00021	8d 8d 4c ff ff
	ff		 lea	 ecx, DWORD PTR $T343370[ebp]
  00027	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
$LN98@SaveSnapsh@2:
  0002c	c3		 ret	 0
__unwindfunclet$?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z$2:
  0002d	8b 85 10 ff ff
	ff		 mov	 eax, DWORD PTR $T343375[ebp]
  00033	83 e0 02	 and	 eax, 2
  00036	0f 84 12 00 00
	00		 je	 $LN100@SaveSnapsh@2
  0003c	83 a5 10 ff ff
	ff fd		 and	 DWORD PTR $T343375[ebp], -3 ; fffffffdH
  00043	8d 8d 30 ff ff
	ff		 lea	 ecx, DWORD PTR $T343371[ebp]
  00049	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> >
$LN100@SaveSnapsh@2:
  0004e	c3		 ret	 0
__unwindfunclet$?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z$3:
  0004f	8b 85 10 ff ff
	ff		 mov	 eax, DWORD PTR $T343375[ebp]
  00055	83 e0 04	 and	 eax, 4
  00058	0f 84 12 00 00
	00		 je	 $LN102@SaveSnapsh@2
  0005e	83 a5 10 ff ff
	ff fb		 and	 DWORD PTR $T343375[ebp], -5 ; fffffffbH
  00065	8d 8d 14 ff ff
	ff		 lea	 ecx, DWORD PTR $T343372[ebp]
  0006b	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
$LN102@SaveSnapsh@2:
  00070	c3		 ret	 0
__ehhandler$?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z:
  00071	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00075	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00078	8b 8a 68 fe ff
	ff		 mov	 ecx, DWORD PTR [edx-408]
  0007e	33 c8		 xor	 ecx, eax
  00080	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00085	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z
  0008a	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SaveSnapshot@CTiffHelper@@UAEXABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@HHPAEJ0@Z ENDP ; CTiffHelper::SaveSnapshot
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$?OpenMediaFile@CTiffHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?OpenMediaFile@CTiffHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$0
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?OpenMediaFile@CTiffHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$1
	DD	01H
	DD	FLAT:__unwindfunclet$?OpenMediaFile@CTiffHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$2
__ehfuncinfo$?OpenMediaFile@CTiffHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?OpenMediaFile@CTiffHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?OpenMediaFile@CTiffHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z
_TEXT	SEGMENT
tv526 = -272						; size = 4
tv446 = -268						; size = 4
tv335 = -264						; size = 4
tv336 = -260						; size = 4
tv329 = -256						; size = 4
tv330 = -252						; size = 4
tv323 = -248						; size = 4
tv324 = -244						; size = 4
tv317 = -240						; size = 4
tv318 = -236						; size = 4
tv523 = -232						; size = 4
tv527 = -228						; size = 4
_this$ = -224						; size = 4
$T347457 = -220						; size = 28
$T347456 = -192						; size = 28
$T347439 = -164						; size = 28
_cb$ = -136						; size = 4
_j$ = -132						; size = 4
_Software$ = -128					; size = 4
_square_mark$ = -124					; size = 4
_w2$ = -120						; size = 4
_r$ = -116						; size = 4
_npixels$ = -112					; size = 4
_Description$ = -108					; size = 4
_pDestBuf$ = -104					; size = 4
_StripSize$ = -100					; size = 4
_g$ = -96						; size = 4
_b$ = -92						; size = 4
_PackedABGRValue$ = -88					; size = 4
_Found$ = -84						; size = 4
_pFrameBuf$ = -80					; size = 4
_bufPackedRGB$ = -76					; size = 4
_Strip$ = -72						; size = 4
_y1$ = -68						; size = 4
_tif$ = -64						; size = 4
_bufYCbCr$ = -60					; size = 4
_cr$ = -56						; size = 4
_i$ = -52						; size = 4
_y2$ = -48						; size = 4
_pSrcBuf$ = -44						; size = 4
_bc$ = -40						; size = 4
_h$ = -36						; size = 4
_Class$ = -32						; size = 2
_pStartFrame$ = -28					; size = 4
_w$ = -24						; size = 4
_Compression$ = -20					; size = 2
_LinePitch$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
_FileName$ = 8						; size = 4
?OpenMediaFile@CTiffHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z PROC ; CTiffHelper::OpenMediaFile, COMDAT
; _this$ = ecx

; 87   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?OpenMediaFile@CTiffHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	81 ec 04 01 00
	00		 sub	 esp, 260		; 00000104H
  00017	56		 push	 esi
  00018	57		 push	 edi
  00019	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  0001e	33 c5		 xor	 eax, ebp
  00020	50		 push	 eax
  00021	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00024	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  0002a	89 8d 20 ff ff
	ff		 mov	 DWORD PTR _this$[ebp], ecx

; 88   :     int y1, y2, cr, cb, r, g, b, i, j;
; 89   :     BYTE* pFrameBuf;
; 90   :     BYTE* pStartFrame;
; 91   :     BYTE* pDestBuf;
; 92   :     TIFF* tif;
; 93   :     uint32 w, h, w2;
; 94   :     uint16 Class;
; 95   :     size_t npixels;
; 96   :     uint32* bufPackedRGB;
; 97   :     int PackedABGRValue;
; 98   :     uint8* bufYCbCr;
; 99   :     uint8* pSrcBuf;;
; 100  :     tstrip_t Strip;
; 101  :     uint32* bc;
; 102  :     uint32 StripSize;
; 103  :     uint16 Compression;
; 104  :     char* Software;
; 105  :     char* Description;
; 106  :     char* square_mark;
; 107  :     int LinePitch;
; 108  : 
; 109  :     // Open the file
; 110  :     tif = TIFFOpen(TStringToMBCS(FileName).c_str(), "r");

  00030	8b 45 08	 mov	 eax, DWORD PTR _FileName$[ebp]
  00033	50		 push	 eax
  00034	8d 8d 5c ff ff
	ff		 lea	 ecx, DWORD PTR $T347439[ebp]
  0003a	51		 push	 ecx
  0003b	e8 00 00 00 00	 call	 ?UnicodeToMBCS@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@2@@Z ; UnicodeToMBCS
  00040	83 c4 08	 add	 esp, 8
  00043	89 85 1c ff ff
	ff		 mov	 DWORD PTR tv527[ebp], eax
  00049	8b 95 1c ff ff
	ff		 mov	 edx, DWORD PTR tv527[ebp]
  0004f	89 95 18 ff ff
	ff		 mov	 DWORD PTR tv523[ebp], edx
  00055	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0005c	68 00 00 00 00	 push	 OFFSET ??_C@_01KDCPPGHE@r?$AA@
  00061	8b 8d 18 ff ff
	ff		 mov	 ecx, DWORD PTR tv523[ebp]
  00067	e8 00 00 00 00	 call	 ?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEPBDXZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::c_str
  0006c	50		 push	 eax
  0006d	e8 00 00 00 00	 call	 _TIFFOpen
  00072	83 c4 08	 add	 esp, 8
  00075	89 45 c0	 mov	 DWORD PTR _tif$[ebp], eax
  00078	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  0007f	8d 8d 5c ff ff
	ff		 lea	 ecx, DWORD PTR $T347439[ebp]
  00085	e8 00 00 00 00	 call	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >

; 111  :     if (!tif) {

  0008a	83 7d c0 00	 cmp	 DWORD PTR _tif$[ebp], 0
  0008e	75 07		 jne	 SHORT $LN40@OpenMediaF@3

; 112  :         return FALSE;

  00090	33 c0		 xor	 eax, eax
  00092	e9 5b 09 00 00	 jmp	 $LN41@OpenMediaF@3
$LN40@OpenMediaF@3:

; 113  :     }
; 114  : 
; 115  :     if (!TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &w) ||
; 116  :         !TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &h) ||
; 117  :         !TIFFGetField(tif, TIFFTAG_COMPRESSION, &Compression) ||
; 118  :         !TIFFGetField(tif, TIFFTAG_PHOTOMETRIC, &Class) )

  00097	8d 45 e8	 lea	 eax, DWORD PTR _w$[ebp]
  0009a	50		 push	 eax
  0009b	68 00 01 00 00	 push	 256			; 00000100H
  000a0	8b 4d c0	 mov	 ecx, DWORD PTR _tif$[ebp]
  000a3	51		 push	 ecx
  000a4	e8 00 00 00 00	 call	 _TIFFGetField
  000a9	83 c4 0c	 add	 esp, 12			; 0000000cH
  000ac	85 c0		 test	 eax, eax
  000ae	74 4b		 je	 SHORT $LN38@OpenMediaF@3
  000b0	8d 55 dc	 lea	 edx, DWORD PTR _h$[ebp]
  000b3	52		 push	 edx
  000b4	68 01 01 00 00	 push	 257			; 00000101H
  000b9	8b 45 c0	 mov	 eax, DWORD PTR _tif$[ebp]
  000bc	50		 push	 eax
  000bd	e8 00 00 00 00	 call	 _TIFFGetField
  000c2	83 c4 0c	 add	 esp, 12			; 0000000cH
  000c5	85 c0		 test	 eax, eax
  000c7	74 32		 je	 SHORT $LN38@OpenMediaF@3
  000c9	8d 4d ec	 lea	 ecx, DWORD PTR _Compression$[ebp]
  000cc	51		 push	 ecx
  000cd	68 03 01 00 00	 push	 259			; 00000103H
  000d2	8b 55 c0	 mov	 edx, DWORD PTR _tif$[ebp]
  000d5	52		 push	 edx
  000d6	e8 00 00 00 00	 call	 _TIFFGetField
  000db	83 c4 0c	 add	 esp, 12			; 0000000cH
  000de	85 c0		 test	 eax, eax
  000e0	74 19		 je	 SHORT $LN38@OpenMediaF@3
  000e2	8d 45 e0	 lea	 eax, DWORD PTR _Class$[ebp]
  000e5	50		 push	 eax
  000e6	68 06 01 00 00	 push	 262			; 00000106H
  000eb	8b 4d c0	 mov	 ecx, DWORD PTR _tif$[ebp]
  000ee	51		 push	 ecx
  000ef	e8 00 00 00 00	 call	 _TIFFGetField
  000f4	83 c4 0c	 add	 esp, 12			; 0000000cH
  000f7	85 c0		 test	 eax, eax
  000f9	75 31		 jne	 SHORT $LN39@OpenMediaF@3
$LN38@OpenMediaF@3:

; 119  :     {
; 120  :         LOG(1, _T("At least one of the tags IMAGEWIDTH, IMAGELENGTH, COMPRESSION or PHOTOMETRIC is missing in the file %s"), FileName);

  000fb	8b 75 08	 mov	 esi, DWORD PTR _FileName$[ebp]
  000fe	83 ec 1c	 sub	 esp, 28			; 0000001cH
  00101	b9 07 00 00 00	 mov	 ecx, 7
  00106	8b fc		 mov	 edi, esp
  00108	f3 a5		 rep movsd
  0010a	68 00 00 00 00	 push	 OFFSET ??_C@_1MO@JPOCGPGP@?$AAA?$AAt?$AA?5?$AAl?$AAe?$AAa?$AAs?$AAt?$AA?5?$AAo?$AAn?$AAe?$AA?5?$AAo?$AAf?$AA?5?$AAt?$AAh?$AAe?$AA?5?$AAt?$AAa?$AAg?$AAs?$AA?5?$AAI?$AAM?$AAA?$AAG?$AAE?$AAW?$AAI@
  0010f	6a 01		 push	 1
  00111	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  00116	83 c4 24	 add	 esp, 36			; 00000024H

; 121  :         TIFFClose(tif);

  00119	8b 55 c0	 mov	 edx, DWORD PTR _tif$[ebp]
  0011c	52		 push	 edx
  0011d	e8 00 00 00 00	 call	 _TIFFClose
  00122	83 c4 04	 add	 esp, 4

; 122  :         return FALSE;

  00125	33 c0		 xor	 eax, eax
  00127	e9 c6 08 00 00	 jmp	 $LN41@OpenMediaF@3
$LN39@OpenMediaF@3:

; 123  :     }
; 124  : 
; 125  : #ifndef NO_CHECK_TIFF_COMPRESS
; 126  :     BOOL Found;
; 127  :     for (Found = FALSE, i = 0 ; i < (sizeof(tTiffTagClassCompress) / sizeof(tTiffTagClassCompress[0])) ; i++)

  0012c	c7 45 ac 00 00
	00 00		 mov	 DWORD PTR _Found$[ebp], 0
  00133	c7 45 cc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  0013a	eb 09		 jmp	 SHORT $LN37@OpenMediaF@3
$LN36@OpenMediaF@3:
  0013c	8b 45 cc	 mov	 eax, DWORD PTR _i$[ebp]
  0013f	83 c0 01	 add	 eax, 1
  00142	89 45 cc	 mov	 DWORD PTR _i$[ebp], eax
$LN37@OpenMediaF@3:
  00145	83 7d cc 1f	 cmp	 DWORD PTR _i$[ebp], 31	; 0000001fH
  00149	73 59		 jae	 SHORT $LN35@OpenMediaF@3

; 128  :     {
; 129  :         if ( (tTiffTagClassCompress[i].tag_class == Class)
; 130  :           && (tTiffTagClassCompress[i].tag_compression == Compression) )

  0014b	8b 4d cc	 mov	 ecx, DWORD PTR _i$[ebp]
  0014e	0f b7 14 8d 00
	00 00 00	 movzx	 edx, WORD PTR _tTiffTagClassCompress[ecx*4]
  00156	0f b7 45 e0	 movzx	 eax, WORD PTR _Class$[ebp]
  0015a	3b d0		 cmp	 edx, eax
  0015c	75 44		 jne	 SHORT $LN34@OpenMediaF@3
  0015e	8b 4d cc	 mov	 ecx, DWORD PTR _i$[ebp]
  00161	0f b7 14 8d 02
	00 00 00	 movzx	 edx, WORD PTR _tTiffTagClassCompress[ecx*4+2]
  00169	0f b7 45 ec	 movzx	 eax, WORD PTR _Compression$[ebp]
  0016d	3b d0		 cmp	 edx, eax
  0016f	75 31		 jne	 SHORT $LN34@OpenMediaF@3

; 131  :         {
; 132  :             Found = TRUE;

  00171	c7 45 ac 01 00
	00 00		 mov	 DWORD PTR _Found$[ebp], 1

; 133  :             LOG(3, _T("File %s supported (class %d compression %d)"), FileName, Class, Compression);

  00178	0f b7 4d ec	 movzx	 ecx, WORD PTR _Compression$[ebp]
  0017c	51		 push	 ecx
  0017d	0f b7 55 e0	 movzx	 edx, WORD PTR _Class$[ebp]
  00181	52		 push	 edx
  00182	8b 75 08	 mov	 esi, DWORD PTR _FileName$[ebp]
  00185	83 ec 1c	 sub	 esp, 28			; 0000001cH
  00188	b9 07 00 00 00	 mov	 ecx, 7
  0018d	8b fc		 mov	 edi, esp
  0018f	f3 a5		 rep movsd
  00191	68 00 00 00 00	 push	 OFFSET ??_C@_1FI@PLLPIMDD@?$AAF?$AAi?$AAl?$AAe?$AA?5?$AA?$CF?$AAs?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AA?$CI?$AAc?$AAl?$AAa?$AAs?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5?$AAc?$AAo?$AAm?$AAp@
  00196	6a 03		 push	 3
  00198	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  0019d	83 c4 2c	 add	 esp, 44			; 0000002cH

; 134  :             break;

  001a0	eb 02		 jmp	 SHORT $LN35@OpenMediaF@3
$LN34@OpenMediaF@3:

; 135  :         }
; 136  :     }

  001a2	eb 98		 jmp	 SHORT $LN36@OpenMediaF@3
$LN35@OpenMediaF@3:

; 137  :     if (!Found)

  001a4	83 7d ac 00	 cmp	 DWORD PTR _Found$[ebp], 0
  001a8	75 3b		 jne	 SHORT $LN33@OpenMediaF@3

; 138  :     {
; 139  :         LOG(1, _T("File %s not supported (class %d compression %d)"), FileName, Class, Compression);

  001aa	0f b7 45 ec	 movzx	 eax, WORD PTR _Compression$[ebp]
  001ae	50		 push	 eax
  001af	0f b7 4d e0	 movzx	 ecx, WORD PTR _Class$[ebp]
  001b3	51		 push	 ecx
  001b4	8b 75 08	 mov	 esi, DWORD PTR _FileName$[ebp]
  001b7	83 ec 1c	 sub	 esp, 28			; 0000001cH
  001ba	b9 07 00 00 00	 mov	 ecx, 7
  001bf	8b fc		 mov	 edi, esp
  001c1	f3 a5		 rep movsd
  001c3	68 00 00 00 00	 push	 OFFSET ??_C@_1GA@KBHJHNIH@?$AAF?$AAi?$AAl?$AAe?$AA?5?$AA?$CF?$AAs?$AA?5?$AAn?$AAo?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AA?$CI?$AAc?$AAl?$AAa?$AAs?$AAs?$AA?5?$AA?$CF?$AAd?$AA?5@
  001c8	6a 01		 push	 1
  001ca	e8 00 00 00 00	 call	 ?LOG@@YAXHPB_WZZ	; LOG
  001cf	83 c4 2c	 add	 esp, 44			; 0000002cH

; 140  :         TIFFClose(tif);

  001d2	8b 55 c0	 mov	 edx, DWORD PTR _tif$[ebp]
  001d5	52		 push	 edx
  001d6	e8 00 00 00 00	 call	 _TIFFClose
  001db	83 c4 04	 add	 esp, 4

; 141  :         return FALSE;

  001de	33 c0		 xor	 eax, eax
  001e0	e9 0d 08 00 00	 jmp	 $LN41@OpenMediaF@3
$LN33@OpenMediaF@3:

; 142  :     }
; 143  : #endif
; 144  : 
; 145  :     // The width must be even
; 146  :     if (w%2)

  001e5	8b 45 e8	 mov	 eax, DWORD PTR _w$[ebp]
  001e8	33 d2		 xor	 edx, edx
  001ea	b9 02 00 00 00	 mov	 ecx, 2
  001ef	f7 f1		 div	 ecx
  001f1	85 d2		 test	 edx, edx
  001f3	74 0b		 je	 SHORT $LN32@OpenMediaF@3

; 147  :     {
; 148  :         w2 = w - 1;

  001f5	8b 55 e8	 mov	 edx, DWORD PTR _w$[ebp]
  001f8	83 ea 01	 sub	 edx, 1
  001fb	89 55 88	 mov	 DWORD PTR _w2$[ebp], edx

; 149  :     }
; 150  :     else

  001fe	eb 06		 jmp	 SHORT $LN31@OpenMediaF@3
$LN32@OpenMediaF@3:

; 151  :     {
; 152  :         w2 = w;

  00200	8b 45 e8	 mov	 eax, DWORD PTR _w$[ebp]
  00203	89 45 88	 mov	 DWORD PTR _w2$[ebp], eax
$LN31@OpenMediaF@3:

; 153  :     }
; 154  : 
; 155  :     // Allocate memory buffer to store the YUYV values
; 156  :     LinePitch = (w2 * 2 * sizeof(BYTE) + 15) & 0xfffffff0;

  00206	8b 4d 88	 mov	 ecx, DWORD PTR _w2$[ebp]
  00209	8d 54 09 0f	 lea	 edx, DWORD PTR [ecx+ecx+15]
  0020d	83 e2 f0	 and	 edx, -16		; fffffff0H
  00210	89 55 f0	 mov	 DWORD PTR _LinePitch$[ebp], edx

; 157  :     pFrameBuf = (BYTE*)malloc(LinePitch * h + 16);

  00213	8b 45 f0	 mov	 eax, DWORD PTR _LinePitch$[ebp]
  00216	0f af 45 dc	 imul	 eax, DWORD PTR _h$[ebp]
  0021a	83 c0 10	 add	 eax, 16			; 00000010H
  0021d	50		 push	 eax
  0021e	e8 00 00 00 00	 call	 _malloc
  00223	83 c4 04	 add	 esp, 4
  00226	89 45 b0	 mov	 DWORD PTR _pFrameBuf$[ebp], eax

; 158  :     if (pFrameBuf == NULL)

  00229	83 7d b0 00	 cmp	 DWORD PTR _pFrameBuf$[ebp], 0
  0022d	75 13		 jne	 SHORT $LN30@OpenMediaF@3

; 159  :     {
; 160  :         TIFFClose(tif);

  0022f	8b 4d c0	 mov	 ecx, DWORD PTR _tif$[ebp]
  00232	51		 push	 ecx
  00233	e8 00 00 00 00	 call	 _TIFFClose
  00238	83 c4 04	 add	 esp, 4

; 161  :         return FALSE;

  0023b	33 c0		 xor	 eax, eax
  0023d	e9 b0 07 00 00	 jmp	 $LN41@OpenMediaF@3
$LN30@OpenMediaF@3:

; 162  :     }
; 163  :     pStartFrame = START_ALIGNED16(pFrameBuf);

  00242	8b 4d b0	 mov	 ecx, DWORD PTR _pFrameBuf$[ebp]
  00245	83 c1 10	 add	 ecx, 16			; 00000010H
  00248	8b 45 b0	 mov	 eax, DWORD PTR _pFrameBuf$[ebp]
  0024b	33 d2		 xor	 edx, edx
  0024d	be 10 00 00 00	 mov	 esi, 16			; 00000010H
  00252	f7 f6		 div	 esi
  00254	2b ca		 sub	 ecx, edx
  00256	89 4d e4	 mov	 DWORD PTR _pStartFrame$[ebp], ecx

; 164  : 
; 165  :     if ((Class == PHOTOMETRIC_YCBCR) && (Compression == COMPRESSION_NONE))

  00259	0f b7 55 e0	 movzx	 edx, WORD PTR _Class$[ebp]
  0025d	83 fa 06	 cmp	 edx, 6
  00260	0f 85 f6 01 00
	00		 jne	 $LN29@OpenMediaF@3
  00266	0f b7 45 ec	 movzx	 eax, WORD PTR _Compression$[ebp]
  0026a	83 f8 01	 cmp	 eax, 1
  0026d	0f 85 e9 01 00
	00		 jne	 $LN29@OpenMediaF@3

; 166  :     {
; 167  :         if (!TIFFGetField(tif, TIFFTAG_STRIPBYTECOUNTS, &bc))

  00273	8d 4d d8	 lea	 ecx, DWORD PTR _bc$[ebp]
  00276	51		 push	 ecx
  00277	68 17 01 00 00	 push	 279			; 00000117H
  0027c	8b 55 c0	 mov	 edx, DWORD PTR _tif$[ebp]
  0027f	52		 push	 edx
  00280	e8 00 00 00 00	 call	 _TIFFGetField
  00285	83 c4 0c	 add	 esp, 12			; 0000000cH
  00288	85 c0		 test	 eax, eax
  0028a	75 1f		 jne	 SHORT $LN28@OpenMediaF@3

; 168  :         {
; 169  :             free(pFrameBuf);

  0028c	8b 45 b0	 mov	 eax, DWORD PTR _pFrameBuf$[ebp]
  0028f	50		 push	 eax
  00290	e8 00 00 00 00	 call	 _free
  00295	83 c4 04	 add	 esp, 4

; 170  :             TIFFClose(tif);

  00298	8b 4d c0	 mov	 ecx, DWORD PTR _tif$[ebp]
  0029b	51		 push	 ecx
  0029c	e8 00 00 00 00	 call	 _TIFFClose
  002a1	83 c4 04	 add	 esp, 4

; 171  :             return FALSE;

  002a4	33 c0		 xor	 eax, eax
  002a6	e9 47 07 00 00	 jmp	 $LN41@OpenMediaF@3
$LN28@OpenMediaF@3:

; 172  :         }
; 173  : 
; 174  :         npixels = w * h;

  002ab	8b 55 e8	 mov	 edx, DWORD PTR _w$[ebp]
  002ae	0f af 55 dc	 imul	 edx, DWORD PTR _h$[ebp]
  002b2	89 55 90	 mov	 DWORD PTR _npixels$[ebp], edx

; 175  :         bufYCbCr = (uint8*) _TIFFmalloc(npixels * 2 * sizeof (uint8));

  002b5	8b 45 90	 mov	 eax, DWORD PTR _npixels$[ebp]
  002b8	d1 e0		 shl	 eax, 1
  002ba	50		 push	 eax
  002bb	e8 00 00 00 00	 call	 __TIFFmalloc
  002c0	83 c4 04	 add	 esp, 4
  002c3	89 45 c4	 mov	 DWORD PTR _bufYCbCr$[ebp], eax

; 176  :         if (bufYCbCr == NULL)

  002c6	83 7d c4 00	 cmp	 DWORD PTR _bufYCbCr$[ebp], 0
  002ca	75 1f		 jne	 SHORT $LN27@OpenMediaF@3

; 177  :         {
; 178  :             free(pFrameBuf);

  002cc	8b 4d b0	 mov	 ecx, DWORD PTR _pFrameBuf$[ebp]
  002cf	51		 push	 ecx
  002d0	e8 00 00 00 00	 call	 _free
  002d5	83 c4 04	 add	 esp, 4

; 179  :             TIFFClose(tif);

  002d8	8b 55 c0	 mov	 edx, DWORD PTR _tif$[ebp]
  002db	52		 push	 edx
  002dc	e8 00 00 00 00	 call	 _TIFFClose
  002e1	83 c4 04	 add	 esp, 4

; 180  :             return FALSE;

  002e4	33 c0		 xor	 eax, eax
  002e6	e9 07 07 00 00	 jmp	 $LN41@OpenMediaF@3
$LN27@OpenMediaF@3:

; 181  :         }
; 182  : 
; 183  :         pSrcBuf = bufYCbCr;

  002eb	8b 45 c4	 mov	 eax, DWORD PTR _bufYCbCr$[ebp]
  002ee	89 45 d4	 mov	 DWORD PTR _pSrcBuf$[ebp], eax

; 184  :         for (Strip = 0 ; Strip < TIFFNumberOfStrips(tif) ; Strip++)

  002f1	c7 45 b8 00 00
	00 00		 mov	 DWORD PTR _Strip$[ebp], 0
  002f8	eb 09		 jmp	 SHORT $LN26@OpenMediaF@3
$LN25@OpenMediaF@3:
  002fa	8b 4d b8	 mov	 ecx, DWORD PTR _Strip$[ebp]
  002fd	83 c1 01	 add	 ecx, 1
  00300	89 4d b8	 mov	 DWORD PTR _Strip$[ebp], ecx
$LN26@OpenMediaF@3:
  00303	8b 55 c0	 mov	 edx, DWORD PTR _tif$[ebp]
  00306	52		 push	 edx
  00307	e8 00 00 00 00	 call	 _TIFFNumberOfStrips
  0030c	83 c4 04	 add	 esp, 4
  0030f	39 45 b8	 cmp	 DWORD PTR _Strip$[ebp], eax
  00312	73 5f		 jae	 SHORT $LN24@OpenMediaF@3

; 185  :         {
; 186  :             StripSize = bc[Strip];

  00314	8b 45 b8	 mov	 eax, DWORD PTR _Strip$[ebp]
  00317	8b 4d d8	 mov	 ecx, DWORD PTR _bc$[ebp]
  0031a	8b 14 81	 mov	 edx, DWORD PTR [ecx+eax*4]
  0031d	89 55 9c	 mov	 DWORD PTR _StripSize$[ebp], edx

; 187  :             if (TIFFReadRawStrip(tif, Strip, pSrcBuf, StripSize) != StripSize)

  00320	8b 45 9c	 mov	 eax, DWORD PTR _StripSize$[ebp]
  00323	50		 push	 eax
  00324	8b 4d d4	 mov	 ecx, DWORD PTR _pSrcBuf$[ebp]
  00327	51		 push	 ecx
  00328	8b 55 b8	 mov	 edx, DWORD PTR _Strip$[ebp]
  0032b	52		 push	 edx
  0032c	8b 45 c0	 mov	 eax, DWORD PTR _tif$[ebp]
  0032f	50		 push	 eax
  00330	e8 00 00 00 00	 call	 _TIFFReadRawStrip
  00335	83 c4 10	 add	 esp, 16			; 00000010H
  00338	3b 45 9c	 cmp	 eax, DWORD PTR _StripSize$[ebp]
  0033b	74 2b		 je	 SHORT $LN23@OpenMediaF@3

; 188  :             {
; 189  :                 free(pFrameBuf);

  0033d	8b 4d b0	 mov	 ecx, DWORD PTR _pFrameBuf$[ebp]
  00340	51		 push	 ecx
  00341	e8 00 00 00 00	 call	 _free
  00346	83 c4 04	 add	 esp, 4

; 190  :                 _TIFFfree(bufYCbCr);

  00349	8b 55 c4	 mov	 edx, DWORD PTR _bufYCbCr$[ebp]
  0034c	52		 push	 edx
  0034d	e8 00 00 00 00	 call	 __TIFFfree
  00352	83 c4 04	 add	 esp, 4

; 191  :                 TIFFClose(tif);

  00355	8b 45 c0	 mov	 eax, DWORD PTR _tif$[ebp]
  00358	50		 push	 eax
  00359	e8 00 00 00 00	 call	 _TIFFClose
  0035e	83 c4 04	 add	 esp, 4

; 192  :                 return FALSE;

  00361	33 c0		 xor	 eax, eax
  00363	e9 8a 06 00 00	 jmp	 $LN41@OpenMediaF@3
$LN23@OpenMediaF@3:

; 193  :             }
; 194  :             pSrcBuf += StripSize;

  00368	8b 4d d4	 mov	 ecx, DWORD PTR _pSrcBuf$[ebp]
  0036b	03 4d 9c	 add	 ecx, DWORD PTR _StripSize$[ebp]
  0036e	89 4d d4	 mov	 DWORD PTR _pSrcBuf$[ebp], ecx

; 195  :         }

  00371	eb 87		 jmp	 SHORT $LN25@OpenMediaF@3
$LN24@OpenMediaF@3:

; 196  : 
; 197  :         // YYUV => YUYV
; 198  :         for (i = 0 ; i < h ; i++)

  00373	c7 45 cc 00 00
	00 00		 mov	 DWORD PTR _i$[ebp], 0
  0037a	eb 09		 jmp	 SHORT $LN22@OpenMediaF@3
$LN21@OpenMediaF@3:
  0037c	8b 55 cc	 mov	 edx, DWORD PTR _i$[ebp]
  0037f	83 c2 01	 add	 edx, 1
  00382	89 55 cc	 mov	 DWORD PTR _i$[ebp], edx
$LN22@OpenMediaF@3:
  00385	8b 45 cc	 mov	 eax, DWORD PTR _i$[ebp]
  00388	3b 45 dc	 cmp	 eax, DWORD PTR _h$[ebp]
  0038b	0f 83 ba 00 00
	00		 jae	 $LN20@OpenMediaF@3

; 199  :         {
; 200  :             pDestBuf = pStartFrame + i * LinePitch;

  00391	8b 4d cc	 mov	 ecx, DWORD PTR _i$[ebp]
  00394	0f af 4d f0	 imul	 ecx, DWORD PTR _LinePitch$[ebp]
  00398	03 4d e4	 add	 ecx, DWORD PTR _pStartFrame$[ebp]
  0039b	89 4d 98	 mov	 DWORD PTR _pDestBuf$[ebp], ecx

; 201  :             pSrcBuf = bufYCbCr + i * w * 2;

  0039e	8b 55 cc	 mov	 edx, DWORD PTR _i$[ebp]
  003a1	0f af 55 e8	 imul	 edx, DWORD PTR _w$[ebp]
  003a5	8b 45 c4	 mov	 eax, DWORD PTR _bufYCbCr$[ebp]
  003a8	8d 0c 50	 lea	 ecx, DWORD PTR [eax+edx*2]
  003ab	89 4d d4	 mov	 DWORD PTR _pSrcBuf$[ebp], ecx

; 202  :             for (j = 0 ; j < (w2/2) ; j++)

  003ae	c7 85 7c ff ff
	ff 00 00 00 00	 mov	 DWORD PTR _j$[ebp], 0
  003b8	eb 0f		 jmp	 SHORT $LN19@OpenMediaF@3
$LN18@OpenMediaF@3:
  003ba	8b 95 7c ff ff
	ff		 mov	 edx, DWORD PTR _j$[ebp]
  003c0	83 c2 01	 add	 edx, 1
  003c3	89 95 7c ff ff
	ff		 mov	 DWORD PTR _j$[ebp], edx
$LN19@OpenMediaF@3:
  003c9	8b 45 88	 mov	 eax, DWORD PTR _w2$[ebp]
  003cc	d1 e8		 shr	 eax, 1
  003ce	39 85 7c ff ff
	ff		 cmp	 DWORD PTR _j$[ebp], eax
  003d4	73 70		 jae	 SHORT $LN17@OpenMediaF@3

; 203  :             {
; 204  :                 *pDestBuf = pSrcBuf[j * 4];

  003d6	8b 4d 98	 mov	 ecx, DWORD PTR _pDestBuf$[ebp]
  003d9	8b 95 7c ff ff
	ff		 mov	 edx, DWORD PTR _j$[ebp]
  003df	8b 45 d4	 mov	 eax, DWORD PTR _pSrcBuf$[ebp]
  003e2	8a 14 90	 mov	 dl, BYTE PTR [eax+edx*4]
  003e5	88 11		 mov	 BYTE PTR [ecx], dl

; 205  :                 ++pDestBuf;

  003e7	8b 45 98	 mov	 eax, DWORD PTR _pDestBuf$[ebp]
  003ea	83 c0 01	 add	 eax, 1
  003ed	89 45 98	 mov	 DWORD PTR _pDestBuf$[ebp], eax

; 206  :                 *pDestBuf = pSrcBuf[j * 4 + 2];

  003f0	8b 4d 98	 mov	 ecx, DWORD PTR _pDestBuf$[ebp]
  003f3	8b 95 7c ff ff
	ff		 mov	 edx, DWORD PTR _j$[ebp]
  003f9	8b 45 d4	 mov	 eax, DWORD PTR _pSrcBuf$[ebp]
  003fc	8a 54 90 02	 mov	 dl, BYTE PTR [eax+edx*4+2]
  00400	88 11		 mov	 BYTE PTR [ecx], dl

; 207  :                 ++pDestBuf;

  00402	8b 45 98	 mov	 eax, DWORD PTR _pDestBuf$[ebp]
  00405	83 c0 01	 add	 eax, 1
  00408	89 45 98	 mov	 DWORD PTR _pDestBuf$[ebp], eax

; 208  :                 *pDestBuf = pSrcBuf[j * 4 + 1];

  0040b	8b 4d 98	 mov	 ecx, DWORD PTR _pDestBuf$[ebp]
  0040e	8b 95 7c ff ff
	ff		 mov	 edx, DWORD PTR _j$[ebp]
  00414	8b 45 d4	 mov	 eax, DWORD PTR _pSrcBuf$[ebp]
  00417	8a 54 90 01	 mov	 dl, BYTE PTR [eax+edx*4+1]
  0041b	88 11		 mov	 BYTE PTR [ecx], dl

; 209  :                 ++pDestBuf;

  0041d	8b 45 98	 mov	 eax, DWORD PTR _pDestBuf$[ebp]
  00420	83 c0 01	 add	 eax, 1
  00423	89 45 98	 mov	 DWORD PTR _pDestBuf$[ebp], eax

; 210  :                 *pDestBuf = pSrcBuf[j * 4 + 3];

  00426	8b 4d 98	 mov	 ecx, DWORD PTR _pDestBuf$[ebp]
  00429	8b 95 7c ff ff
	ff		 mov	 edx, DWORD PTR _j$[ebp]
  0042f	8b 45 d4	 mov	 eax, DWORD PTR _pSrcBuf$[ebp]
  00432	8a 54 90 03	 mov	 dl, BYTE PTR [eax+edx*4+3]
  00436	88 11		 mov	 BYTE PTR [ecx], dl

; 211  :                 ++pDestBuf;

  00438	8b 45 98	 mov	 eax, DWORD PTR _pDestBuf$[ebp]
  0043b	83 c0 01	 add	 eax, 1
  0043e	89 45 98	 mov	 DWORD PTR _pDestBuf$[ebp], eax

; 212  :             }

  00441	e9 74 ff ff ff	 jmp	 $LN18@OpenMediaF@3
$LN17@OpenMediaF@3:

; 213  :         }

  00446	e9 31 ff ff ff	 jmp	 $LN21@OpenMediaF@3
$LN20@OpenMediaF@3:

; 214  : 
; 215  :         _TIFFfree(bufYCbCr);

  0044b	8b 4d c4	 mov	 ecx, DWORD PTR _bufYCbCr$[ebp]
  0044e	51		 push	 ecx
  0044f	e8 00 00 00 00	 call	 __TIFFfree
  00454	83 c4 04	 add	 esp, 4

; 216  :     }
; 217  :     else

  00457	e9 88 03 00 00	 jmp	 $LN16@OpenMediaF@3
$LN29@OpenMediaF@3:

; 218  :     {
; 219  :         npixels = w * h;

  0045c	8b 55 e8	 mov	 edx, DWORD PTR _w$[ebp]
  0045f	0f af 55 dc	 imul	 edx, DWORD PTR _h$[ebp]
  00463	89 55 90	 mov	 DWORD PTR _npixels$[ebp], edx

; 220  :         bufPackedRGB = (uint32*) _TIFFmalloc(npixels * sizeof (uint32));

  00466	8b 45 90	 mov	 eax, DWORD PTR _npixels$[ebp]
  00469	c1 e0 02	 shl	 eax, 2
  0046c	50		 push	 eax
  0046d	e8 00 00 00 00	 call	 __TIFFmalloc
  00472	83 c4 04	 add	 esp, 4
  00475	89 45 b4	 mov	 DWORD PTR _bufPackedRGB$[ebp], eax

; 221  :         if (bufPackedRGB == NULL)

  00478	83 7d b4 00	 cmp	 DWORD PTR _bufPackedRGB$[ebp], 0
  0047c	75 1f		 jne	 SHORT $LN15@OpenMediaF@3

; 222  :         {
; 223  :             free(pFrameBuf);

  0047e	8b 4d b0	 mov	 ecx, DWORD PTR _pFrameBuf$[ebp]
  00481	51		 push	 ecx
  00482	e8 00 00 00 00	 call	 _free
  00487	83 c4 04	 add	 esp, 4

; 224  :             TIFFClose(tif);

  0048a	8b 55 c0	 mov	 edx, DWORD PTR _tif$[ebp]
  0048d	52		 push	 edx
  0048e	e8 00 00 00 00	 call	 _TIFFClose
  00493	83 c4 04	 add	 esp, 4

; 225  :             return FALSE;

  00496	33 c0		 xor	 eax, eax
  00498	e9 55 05 00 00	 jmp	 $LN41@OpenMediaF@3
$LN15@OpenMediaF@3:

; 226  :         }
; 227  : 
; 228  :         // RGBA buffer filled in with data from file
; 229  :         if (!TIFFReadRGBAImage(tif, w, h, bufPackedRGB, 0))

  0049d	6a 00		 push	 0
  0049f	8b 45 b4	 mov	 eax, DWORD PTR _bufPackedRGB$[ebp]
  004a2	50		 push	 eax
  004a3	8b 4d dc	 mov	 ecx, DWORD PTR _h$[ebp]
  004a6	51		 push	 ecx
  004a7	8b 55 e8	 mov	 edx, DWORD PTR _w$[ebp]
  004aa	52		 push	 edx
  004ab	8b 45 c0	 mov	 eax, DWORD PTR _tif$[ebp]
  004ae	50		 push	 eax
  004af	e8 00 00 00 00	 call	 _TIFFReadRGBAImage
  004b4	83 c4 14	 add	 esp, 20			; 00000014H
  004b7	85 c0		 test	 eax, eax
  004b9	75 2b		 jne	 SHORT $LN14@OpenMediaF@3

; 230  :         {
; 231  :             free(pFrameBuf);

  004bb	8b 4d b0	 mov	 ecx, DWORD PTR _pFrameBuf$[ebp]
  004be	51		 push	 ecx
  004bf	e8 00 00 00 00	 call	 _free
  004c4	83 c4 04	 add	 esp, 4

; 232  :             _TIFFfree(bufPackedRGB);

  004c7	8b 55 b4	 mov	 edx, DWORD PTR _bufPackedRGB$[ebp]
  004ca	52		 push	 edx
  004cb	e8 00 00 00 00	 call	 __TIFFfree
  004d0	83 c4 04	 add	 esp, 4

; 233  :             TIFFClose(tif);

  004d3	8b 45 c0	 mov	 eax, DWORD PTR _tif$[ebp]
  004d6	50		 push	 eax
  004d7	e8 00 00 00 00	 call	 _TIFFClose
  004dc	83 c4 04	 add	 esp, 4

; 234  :             return FALSE;

  004df	33 c0		 xor	 eax, eax
  004e1	e9 0c 05 00 00	 jmp	 $LN41@OpenMediaF@3
$LN14@OpenMediaF@3:

; 235  :         }
; 236  : 
; 237  :         // RGBRGB => YUYV normalized
; 238  :         for (i = (h - 1) ; i >= 0 ; i--)

  004e6	8b 4d dc	 mov	 ecx, DWORD PTR _h$[ebp]
  004e9	83 e9 01	 sub	 ecx, 1
  004ec	89 4d cc	 mov	 DWORD PTR _i$[ebp], ecx
  004ef	eb 09		 jmp	 SHORT $LN13@OpenMediaF@3
$LN12@OpenMediaF@3:
  004f1	8b 55 cc	 mov	 edx, DWORD PTR _i$[ebp]
  004f4	83 ea 01	 sub	 edx, 1
  004f7	89 55 cc	 mov	 DWORD PTR _i$[ebp], edx
$LN13@OpenMediaF@3:
  004fa	83 7d cc 00	 cmp	 DWORD PTR _i$[ebp], 0
  004fe	0f 8c d4 02 00
	00		 jl	 $LN11@OpenMediaF@3

; 239  :         {
; 240  :             pDestBuf = pStartFrame + (h - 1 - i) * LinePitch;

  00504	8b 45 dc	 mov	 eax, DWORD PTR _h$[ebp]
  00507	83 e8 01	 sub	 eax, 1
  0050a	2b 45 cc	 sub	 eax, DWORD PTR _i$[ebp]
  0050d	0f af 45 f0	 imul	 eax, DWORD PTR _LinePitch$[ebp]
  00511	03 45 e4	 add	 eax, DWORD PTR _pStartFrame$[ebp]
  00514	89 45 98	 mov	 DWORD PTR _pDestBuf$[ebp], eax

; 241  :             for (j = 0 ; j < (w2/2) ; j++)

  00517	c7 85 7c ff ff
	ff 00 00 00 00	 mov	 DWORD PTR _j$[ebp], 0
  00521	eb 0f		 jmp	 SHORT $LN10@OpenMediaF@3
$LN9@OpenMediaF@3:
  00523	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR _j$[ebp]
  00529	83 c1 01	 add	 ecx, 1
  0052c	89 8d 7c ff ff
	ff		 mov	 DWORD PTR _j$[ebp], ecx
$LN10@OpenMediaF@3:
  00532	8b 55 88	 mov	 edx, DWORD PTR _w2$[ebp]
  00535	d1 ea		 shr	 edx, 1
  00537	39 95 7c ff ff
	ff		 cmp	 DWORD PTR _j$[ebp], edx
  0053d	0f 83 90 02 00
	00		 jae	 $LN8@OpenMediaF@3

; 242  :             {
; 243  :                 PackedABGRValue = bufPackedRGB[i * w + j * 2];

  00543	8b 45 cc	 mov	 eax, DWORD PTR _i$[ebp]
  00546	0f af 45 e8	 imul	 eax, DWORD PTR _w$[ebp]
  0054a	8b 8d 7c ff ff
	ff		 mov	 ecx, DWORD PTR _j$[ebp]
  00550	8d 14 48	 lea	 edx, DWORD PTR [eax+ecx*2]
  00553	8b 45 b4	 mov	 eax, DWORD PTR _bufPackedRGB$[ebp]
  00556	8b 0c 90	 mov	 ecx, DWORD PTR [eax+edx*4]
  00559	89 4d a8	 mov	 DWORD PTR _PackedABGRValue$[ebp], ecx

; 244  :                 r = TIFFGetR(PackedABGRValue);

  0055c	8b 55 a8	 mov	 edx, DWORD PTR _PackedABGRValue$[ebp]
  0055f	81 e2 ff 00 00
	00		 and	 edx, 255		; 000000ffH
  00565	89 55 8c	 mov	 DWORD PTR _r$[ebp], edx

; 245  :                 g = TIFFGetG(PackedABGRValue);

  00568	8b 45 a8	 mov	 eax, DWORD PTR _PackedABGRValue$[ebp]
  0056b	c1 f8 08	 sar	 eax, 8
  0056e	25 ff 00 00 00	 and	 eax, 255		; 000000ffH
  00573	89 45 a0	 mov	 DWORD PTR _g$[ebp], eax

; 246  :                 b = TIFFGetB(PackedABGRValue);

  00576	8b 4d a8	 mov	 ecx, DWORD PTR _PackedABGRValue$[ebp]
  00579	c1 f9 10	 sar	 ecx, 16			; 00000010H
  0057c	81 e1 ff 00 00
	00		 and	 ecx, 255		; 000000ffH
  00582	89 4d a4	 mov	 DWORD PTR _b$[ebp], ecx

; 247  : 
; 248  :                 y1 = ( ( 16829*r + 33039*g +  6416*b + 32768 ) >> 16 ) + 16;

  00585	8b 55 8c	 mov	 edx, DWORD PTR _r$[ebp]
  00588	69 d2 bd 41 00
	00		 imul	 edx, 16829		; 000041bdH
  0058e	8b 45 a0	 mov	 eax, DWORD PTR _g$[ebp]
  00591	69 c0 0f 81 00
	00		 imul	 eax, 33039		; 0000810fH
  00597	03 d0		 add	 edx, eax
  00599	8b 4d a4	 mov	 ecx, DWORD PTR _b$[ebp]
  0059c	69 c9 10 19 00
	00		 imul	 ecx, 6416		; 00001910H
  005a2	8d 94 0a 00 80
	00 00		 lea	 edx, DWORD PTR [edx+ecx+32768]
  005a9	c1 fa 10	 sar	 edx, 16			; 00000010H
  005ac	83 c2 10	 add	 edx, 16			; 00000010H
  005af	89 55 bc	 mov	 DWORD PTR _y1$[ebp], edx

; 249  :                 cb = ( ( -9714*r - 19071*g + 28784*b + 32768 ) >> 16 ) + 128;

  005b2	8b 45 8c	 mov	 eax, DWORD PTR _r$[ebp]
  005b5	69 c0 0e da ff
	ff		 imul	 eax, -9714		; ffffda0eH
  005bb	8b 4d a0	 mov	 ecx, DWORD PTR _g$[ebp]
  005be	69 c9 7f 4a 00
	00		 imul	 ecx, 19071		; 00004a7fH
  005c4	2b c1		 sub	 eax, ecx
  005c6	8b 55 a4	 mov	 edx, DWORD PTR _b$[ebp]
  005c9	69 d2 70 70 00
	00		 imul	 edx, 28784		; 00007070H
  005cf	8d 84 10 00 80
	00 00		 lea	 eax, DWORD PTR [eax+edx+32768]
  005d6	c1 f8 10	 sar	 eax, 16			; 00000010H
  005d9	05 80 00 00 00	 add	 eax, 128		; 00000080H
  005de	89 85 78 ff ff
	ff		 mov	 DWORD PTR _cb$[ebp], eax

; 250  : 
; 251  :                 PackedABGRValue = bufPackedRGB[i * w + j * 2 + 1];

  005e4	8b 4d cc	 mov	 ecx, DWORD PTR _i$[ebp]
  005e7	0f af 4d e8	 imul	 ecx, DWORD PTR _w$[ebp]
  005eb	8b 95 7c ff ff
	ff		 mov	 edx, DWORD PTR _j$[ebp]
  005f1	8d 04 51	 lea	 eax, DWORD PTR [ecx+edx*2]
  005f4	8b 4d b4	 mov	 ecx, DWORD PTR _bufPackedRGB$[ebp]
  005f7	8b 54 81 04	 mov	 edx, DWORD PTR [ecx+eax*4+4]
  005fb	89 55 a8	 mov	 DWORD PTR _PackedABGRValue$[ebp], edx

; 252  :                 r = TIFFGetR(PackedABGRValue);

  005fe	8b 45 a8	 mov	 eax, DWORD PTR _PackedABGRValue$[ebp]
  00601	25 ff 00 00 00	 and	 eax, 255		; 000000ffH
  00606	89 45 8c	 mov	 DWORD PTR _r$[ebp], eax

; 253  :                 g = TIFFGetG(PackedABGRValue);

  00609	8b 4d a8	 mov	 ecx, DWORD PTR _PackedABGRValue$[ebp]
  0060c	c1 f9 08	 sar	 ecx, 8
  0060f	81 e1 ff 00 00
	00		 and	 ecx, 255		; 000000ffH
  00615	89 4d a0	 mov	 DWORD PTR _g$[ebp], ecx

; 254  :                 b = TIFFGetB(PackedABGRValue);

  00618	8b 55 a8	 mov	 edx, DWORD PTR _PackedABGRValue$[ebp]
  0061b	c1 fa 10	 sar	 edx, 16			; 00000010H
  0061e	81 e2 ff 00 00
	00		 and	 edx, 255		; 000000ffH
  00624	89 55 a4	 mov	 DWORD PTR _b$[ebp], edx

; 255  : 
; 256  :                 y2 = ( ( 16829*r + 33039*g +  6416*b + 32768 ) >> 16 ) + 16;

  00627	8b 45 8c	 mov	 eax, DWORD PTR _r$[ebp]
  0062a	69 c0 bd 41 00
	00		 imul	 eax, 16829		; 000041bdH
  00630	8b 4d a0	 mov	 ecx, DWORD PTR _g$[ebp]
  00633	69 c9 0f 81 00
	00		 imul	 ecx, 33039		; 0000810fH
  00639	03 c1		 add	 eax, ecx
  0063b	8b 55 a4	 mov	 edx, DWORD PTR _b$[ebp]
  0063e	69 d2 10 19 00
	00		 imul	 edx, 6416		; 00001910H
  00644	8d 84 10 00 80
	00 00		 lea	 eax, DWORD PTR [eax+edx+32768]
  0064b	c1 f8 10	 sar	 eax, 16			; 00000010H
  0064e	83 c0 10	 add	 eax, 16			; 00000010H
  00651	89 45 d0	 mov	 DWORD PTR _y2$[ebp], eax

; 257  :                 cr = ( ( 28784*r - 24103*g -  4681*b + 32768 ) >> 16 ) + 128;

  00654	8b 4d 8c	 mov	 ecx, DWORD PTR _r$[ebp]
  00657	69 c9 70 70 00
	00		 imul	 ecx, 28784		; 00007070H
  0065d	8b 55 a0	 mov	 edx, DWORD PTR _g$[ebp]
  00660	69 d2 27 5e 00
	00		 imul	 edx, 24103		; 00005e27H
  00666	2b ca		 sub	 ecx, edx
  00668	8b 45 a4	 mov	 eax, DWORD PTR _b$[ebp]
  0066b	69 c0 49 12 00
	00		 imul	 eax, 4681		; 00001249H
  00671	2b c8		 sub	 ecx, eax
  00673	81 c1 00 80 00
	00		 add	 ecx, 32768		; 00008000H
  00679	c1 f9 10	 sar	 ecx, 16			; 00000010H
  0067c	81 c1 80 00 00
	00		 add	 ecx, 128		; 00000080H
  00682	89 4d c8	 mov	 DWORD PTR _cr$[ebp], ecx

; 258  : 
; 259  :                 *pDestBuf = LIMIT_Y(y1);

  00685	83 7d bc 10	 cmp	 DWORD PTR _y1$[ebp], 16	; 00000010H
  00689	7d 0c		 jge	 SHORT $LN45@OpenMediaF@3
  0068b	c7 85 14 ff ff
	ff 10 00 00 00	 mov	 DWORD PTR tv318[ebp], 16 ; 00000010H
  00695	eb 2a		 jmp	 SHORT $LN46@OpenMediaF@3
$LN45@OpenMediaF@3:
  00697	81 7d bc eb 00
	00 00		 cmp	 DWORD PTR _y1$[ebp], 235 ; 000000ebH
  0069e	7e 0c		 jle	 SHORT $LN43@OpenMediaF@3
  006a0	c7 85 10 ff ff
	ff eb 00 00 00	 mov	 DWORD PTR tv317[ebp], 235 ; 000000ebH
  006aa	eb 09		 jmp	 SHORT $LN44@OpenMediaF@3
$LN43@OpenMediaF@3:
  006ac	8b 4d bc	 mov	 ecx, DWORD PTR _y1$[ebp]
  006af	89 8d 10 ff ff
	ff		 mov	 DWORD PTR tv317[ebp], ecx
$LN44@OpenMediaF@3:
  006b5	8b 95 10 ff ff
	ff		 mov	 edx, DWORD PTR tv317[ebp]
  006bb	89 95 14 ff ff
	ff		 mov	 DWORD PTR tv318[ebp], edx
$LN46@OpenMediaF@3:
  006c1	8b 45 98	 mov	 eax, DWORD PTR _pDestBuf$[ebp]
  006c4	8a 8d 14 ff ff
	ff		 mov	 cl, BYTE PTR tv318[ebp]
  006ca	88 08		 mov	 BYTE PTR [eax], cl

; 260  :                 ++pDestBuf;

  006cc	8b 55 98	 mov	 edx, DWORD PTR _pDestBuf$[ebp]
  006cf	83 c2 01	 add	 edx, 1
  006d2	89 55 98	 mov	 DWORD PTR _pDestBuf$[ebp], edx

; 261  :                 *pDestBuf = LIMIT_CbCr(cb);

  006d5	83 bd 78 ff ff
	ff 10		 cmp	 DWORD PTR _cb$[ebp], 16	; 00000010H
  006dc	7d 0c		 jge	 SHORT $LN49@OpenMediaF@3
  006de	c7 85 0c ff ff
	ff 10 00 00 00	 mov	 DWORD PTR tv324[ebp], 16 ; 00000010H
  006e8	eb 30		 jmp	 SHORT $LN50@OpenMediaF@3
$LN49@OpenMediaF@3:
  006ea	81 bd 78 ff ff
	ff f0 00 00 00	 cmp	 DWORD PTR _cb$[ebp], 240 ; 000000f0H
  006f4	7e 0c		 jle	 SHORT $LN47@OpenMediaF@3
  006f6	c7 85 08 ff ff
	ff f0 00 00 00	 mov	 DWORD PTR tv323[ebp], 240 ; 000000f0H
  00700	eb 0c		 jmp	 SHORT $LN48@OpenMediaF@3
$LN47@OpenMediaF@3:
  00702	8b 85 78 ff ff
	ff		 mov	 eax, DWORD PTR _cb$[ebp]
  00708	89 85 08 ff ff
	ff		 mov	 DWORD PTR tv323[ebp], eax
$LN48@OpenMediaF@3:
  0070e	8b 8d 08 ff ff
	ff		 mov	 ecx, DWORD PTR tv323[ebp]
  00714	89 8d 0c ff ff
	ff		 mov	 DWORD PTR tv324[ebp], ecx
$LN50@OpenMediaF@3:
  0071a	8b 55 98	 mov	 edx, DWORD PTR _pDestBuf$[ebp]
  0071d	8a 85 0c ff ff
	ff		 mov	 al, BYTE PTR tv324[ebp]
  00723	88 02		 mov	 BYTE PTR [edx], al

; 262  :                 ++pDestBuf;

  00725	8b 4d 98	 mov	 ecx, DWORD PTR _pDestBuf$[ebp]
  00728	83 c1 01	 add	 ecx, 1
  0072b	89 4d 98	 mov	 DWORD PTR _pDestBuf$[ebp], ecx

; 263  :                 *pDestBuf = LIMIT_Y(y2);

  0072e	83 7d d0 10	 cmp	 DWORD PTR _y2$[ebp], 16	; 00000010H
  00732	7d 0c		 jge	 SHORT $LN53@OpenMediaF@3
  00734	c7 85 04 ff ff
	ff 10 00 00 00	 mov	 DWORD PTR tv330[ebp], 16 ; 00000010H
  0073e	eb 2a		 jmp	 SHORT $LN54@OpenMediaF@3
$LN53@OpenMediaF@3:
  00740	81 7d d0 eb 00
	00 00		 cmp	 DWORD PTR _y2$[ebp], 235 ; 000000ebH
  00747	7e 0c		 jle	 SHORT $LN51@OpenMediaF@3
  00749	c7 85 00 ff ff
	ff eb 00 00 00	 mov	 DWORD PTR tv329[ebp], 235 ; 000000ebH
  00753	eb 09		 jmp	 SHORT $LN52@OpenMediaF@3
$LN51@OpenMediaF@3:
  00755	8b 55 d0	 mov	 edx, DWORD PTR _y2$[ebp]
  00758	89 95 00 ff ff
	ff		 mov	 DWORD PTR tv329[ebp], edx
$LN52@OpenMediaF@3:
  0075e	8b 85 00 ff ff
	ff		 mov	 eax, DWORD PTR tv329[ebp]
  00764	89 85 04 ff ff
	ff		 mov	 DWORD PTR tv330[ebp], eax
$LN54@OpenMediaF@3:
  0076a	8b 4d 98	 mov	 ecx, DWORD PTR _pDestBuf$[ebp]
  0076d	8a 95 04 ff ff
	ff		 mov	 dl, BYTE PTR tv330[ebp]
  00773	88 11		 mov	 BYTE PTR [ecx], dl

; 264  :                 ++pDestBuf;

  00775	8b 45 98	 mov	 eax, DWORD PTR _pDestBuf$[ebp]
  00778	83 c0 01	 add	 eax, 1
  0077b	89 45 98	 mov	 DWORD PTR _pDestBuf$[ebp], eax

; 265  :                 *pDestBuf = LIMIT_CbCr(cr);

  0077e	83 7d c8 10	 cmp	 DWORD PTR _cr$[ebp], 16	; 00000010H
  00782	7d 0c		 jge	 SHORT $LN57@OpenMediaF@3
  00784	c7 85 fc fe ff
	ff 10 00 00 00	 mov	 DWORD PTR tv336[ebp], 16 ; 00000010H
  0078e	eb 2a		 jmp	 SHORT $LN58@OpenMediaF@3
$LN57@OpenMediaF@3:
  00790	81 7d c8 f0 00
	00 00		 cmp	 DWORD PTR _cr$[ebp], 240 ; 000000f0H
  00797	7e 0c		 jle	 SHORT $LN55@OpenMediaF@3
  00799	c7 85 f8 fe ff
	ff f0 00 00 00	 mov	 DWORD PTR tv335[ebp], 240 ; 000000f0H
  007a3	eb 09		 jmp	 SHORT $LN56@OpenMediaF@3
$LN55@OpenMediaF@3:
  007a5	8b 4d c8	 mov	 ecx, DWORD PTR _cr$[ebp]
  007a8	89 8d f8 fe ff
	ff		 mov	 DWORD PTR tv335[ebp], ecx
$LN56@OpenMediaF@3:
  007ae	8b 95 f8 fe ff
	ff		 mov	 edx, DWORD PTR tv335[ebp]
  007b4	89 95 fc fe ff
	ff		 mov	 DWORD PTR tv336[ebp], edx
$LN58@OpenMediaF@3:
  007ba	8b 45 98	 mov	 eax, DWORD PTR _pDestBuf$[ebp]
  007bd	8a 8d fc fe ff
	ff		 mov	 cl, BYTE PTR tv336[ebp]
  007c3	88 08		 mov	 BYTE PTR [eax], cl

; 266  :                 ++pDestBuf;

  007c5	8b 55 98	 mov	 edx, DWORD PTR _pDestBuf$[ebp]
  007c8	83 c2 01	 add	 edx, 1
  007cb	89 55 98	 mov	 DWORD PTR _pDestBuf$[ebp], edx

; 267  :             }

  007ce	e9 50 fd ff ff	 jmp	 $LN9@OpenMediaF@3
$LN8@OpenMediaF@3:

; 268  :         }

  007d3	e9 19 fd ff ff	 jmp	 $LN12@OpenMediaF@3
$LN11@OpenMediaF@3:

; 269  : 
; 270  :         _TIFFfree(bufPackedRGB);

  007d8	8b 45 b4	 mov	 eax, DWORD PTR _bufPackedRGB$[ebp]
  007db	50		 push	 eax
  007dc	e8 00 00 00 00	 call	 __TIFFfree
  007e1	83 c4 04	 add	 esp, 4
$LN16@OpenMediaF@3:

; 271  :     }
; 272  : 
; 273  :     if ( !TIFFGetField(tif, TIFFTAG_SOFTWARE, &Software)
; 274  :       || !strstr(Software, "DScaler") )

  007e4	8d 4d 80	 lea	 ecx, DWORD PTR _Software$[ebp]
  007e7	51		 push	 ecx
  007e8	68 31 01 00 00	 push	 305			; 00000131H
  007ed	8b 55 c0	 mov	 edx, DWORD PTR _tif$[ebp]
  007f0	52		 push	 edx
  007f1	e8 00 00 00 00	 call	 _TIFFGetField
  007f6	83 c4 0c	 add	 esp, 12			; 0000000cH
  007f9	85 c0		 test	 eax, eax
  007fb	74 15		 je	 SHORT $LN6@OpenMediaF@3
  007fd	68 00 00 00 00	 push	 OFFSET ??_C@_07CNOAGGKG@DScaler?$AA@
  00802	8b 45 80	 mov	 eax, DWORD PTR _Software$[ebp]
  00805	50		 push	 eax
  00806	e8 00 00 00 00	 call	 ?strstr@@YAPADPADPBD@Z	; strstr
  0080b	83 c4 08	 add	 esp, 8
  0080e	85 c0		 test	 eax, eax
  00810	75 2e		 jne	 SHORT $LN7@OpenMediaF@3
$LN6@OpenMediaF@3:

; 275  :     {
; 276  :         m_pParent->m_SquarePixels = TRUE;

  00812	8b 8d 20 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00818	8b 51 04	 mov	 edx, DWORD PTR [ecx+4]
  0081b	c7 82 c0 00 00
	00 01 00 00 00	 mov	 DWORD PTR [edx+192], 1

; 277  :         m_pParent->m_Comments = _T("");

  00825	68 00 00 00 00	 push	 OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  0082a	8b 85 20 ff ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  00830	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  00833	83 c1 54	 add	 ecx, 84			; 00000054H
  00836	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=
  0083b	e9 21 01 00 00	 jmp	 $LN5@OpenMediaF@3
$LN7@OpenMediaF@3:

; 278  :     }
; 279  :     else if (!TIFFGetField(tif, TIFFTAG_IMAGEDESCRIPTION, &Description))

  00840	8d 4d 94	 lea	 ecx, DWORD PTR _Description$[ebp]
  00843	51		 push	 ecx
  00844	68 0e 01 00 00	 push	 270			; 0000010eH
  00849	8b 55 c0	 mov	 edx, DWORD PTR _tif$[ebp]
  0084c	52		 push	 edx
  0084d	e8 00 00 00 00	 call	 _TIFFGetField
  00852	83 c4 0c	 add	 esp, 12			; 0000000cH
  00855	85 c0		 test	 eax, eax
  00857	75 2e		 jne	 SHORT $LN4@OpenMediaF@3

; 280  :     {
; 281  :         m_pParent->m_SquarePixels = FALSE;

  00859	8b 85 20 ff ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  0085f	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  00862	c7 81 c0 00 00
	00 00 00 00 00	 mov	 DWORD PTR [ecx+192], 0

; 282  :         m_pParent->m_Comments = _T("");

  0086c	68 00 00 00 00	 push	 OFFSET ??_C@_11LOCGONAA@?$AA?$AA@
  00871	8b 95 20 ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  00877	8b 4a 04	 mov	 ecx, DWORD PTR [edx+4]
  0087a	83 c1 54	 add	 ecx, 84			; 00000054H
  0087d	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=
  00882	e9 da 00 00 00	 jmp	 $LN5@OpenMediaF@3
$LN4@OpenMediaF@3:

; 283  :     }
; 284  :     else if (!(square_mark = strstr(Description, SQUARE_MARK)))

  00887	68 00 00 00 00	 push	 OFFSET ??_C@_08HMMOLKLO@?$CIsquare?$CJ?$AA@
  0088c	8b 45 94	 mov	 eax, DWORD PTR _Description$[ebp]
  0088f	50		 push	 eax
  00890	e8 00 00 00 00	 call	 ?strstr@@YAPADPADPBD@Z	; strstr
  00895	83 c4 08	 add	 esp, 8
  00898	89 45 84	 mov	 DWORD PTR _square_mark$[ebp], eax
  0089b	83 7d 84 00	 cmp	 DWORD PTR _square_mark$[ebp], 0
  0089f	0f 85 90 00 00
	00		 jne	 $LN2@OpenMediaF@3

; 285  :     {
; 286  :         m_pParent->m_SquarePixels = FALSE;

  008a5	8b 8d 20 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  008ab	8b 51 04	 mov	 edx, DWORD PTR [ecx+4]
  008ae	c7 82 c0 00 00
	00 00 00 00 00	 mov	 DWORD PTR [edx+192], 0

; 287  :         m_pParent->m_Comments = MBCSToTString(Description);

  008b8	8b 45 94	 mov	 eax, DWORD PTR _Description$[ebp]
  008bb	50		 push	 eax
  008bc	8d 8d 40 ff ff
	ff		 lea	 ecx, DWORD PTR $T347456[ebp]
  008c2	e8 00 00 00 00	 call	 ??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
  008c7	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 1
  008ce	8d 8d 40 ff ff
	ff		 lea	 ecx, DWORD PTR $T347456[ebp]
  008d4	51		 push	 ecx
  008d5	8d 95 24 ff ff
	ff		 lea	 edx, DWORD PTR $T347457[ebp]
  008db	52		 push	 edx
  008dc	e8 00 00 00 00	 call	 ?MBCSToUnicode@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@@Z ; MBCSToUnicode
  008e1	83 c4 08	 add	 esp, 8
  008e4	89 85 f4 fe ff
	ff		 mov	 DWORD PTR tv446[ebp], eax
  008ea	8b 85 f4 fe ff
	ff		 mov	 eax, DWORD PTR tv446[ebp]
  008f0	89 85 f0 fe ff
	ff		 mov	 DWORD PTR tv526[ebp], eax
  008f6	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  008fa	8b 8d f0 fe ff
	ff		 mov	 ecx, DWORD PTR tv526[ebp]
  00900	51		 push	 ecx
  00901	8b 95 20 ff ff
	ff		 mov	 edx, DWORD PTR _this$[ebp]
  00907	8b 4a 04	 mov	 ecx, DWORD PTR [edx+4]
  0090a	83 c1 54	 add	 ecx, 84			; 00000054H
  0090d	e8 00 00 00 00	 call	 ??4?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@ABV01@@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::operator=
  00912	c6 45 fc 01	 mov	 BYTE PTR __$EHRec$[ebp+8], 1
  00916	8d 8d 24 ff ff
	ff		 lea	 ecx, DWORD PTR $T347457[ebp]
  0091c	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> >
  00921	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00928	8d 8d 40 ff ff
	ff		 lea	 ecx, DWORD PTR $T347456[ebp]
  0092e	e8 00 00 00 00	 call	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >

; 288  :     }
; 289  :     else

  00933	eb 2c		 jmp	 SHORT $LN5@OpenMediaF@3
$LN2@OpenMediaF@3:

; 290  :     {
; 291  :         m_pParent->m_SquarePixels = TRUE;

  00935	8b 85 20 ff ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  0093b	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  0093e	c7 81 c0 00 00
	00 01 00 00 00	 mov	 DWORD PTR [ecx+192], 1

; 292  :         m_pParent->m_Comments.assign(Description, square_mark);

  00948	8b 55 84	 mov	 edx, DWORD PTR _square_mark$[ebp]
  0094b	52		 push	 edx
  0094c	8b 45 94	 mov	 eax, DWORD PTR _Description$[ebp]
  0094f	50		 push	 eax
  00950	8b 8d 20 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00956	8b 49 04	 mov	 ecx, DWORD PTR [ecx+4]
  00959	83 c1 54	 add	 ecx, 84			; 00000054H
  0095c	e8 00 00 00 00	 call	 ??$assign@PAD@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAEAAV01@PAD0@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::assign<char *>
$LN5@OpenMediaF@3:

; 293  :     }
; 294  : 
; 295  :     // Close the file
; 296  :     TIFFClose(tif);

  00961	8b 55 c0	 mov	 edx, DWORD PTR _tif$[ebp]
  00964	52		 push	 edx
  00965	e8 00 00 00 00	 call	 _TIFFClose
  0096a	83 c4 04	 add	 esp, 4

; 297  : 
; 298  :     m_pParent->FreeOriginalFrameBuffer();

  0096d	8b 85 20 ff ff
	ff		 mov	 eax, DWORD PTR _this$[ebp]
  00973	8b 48 04	 mov	 ecx, DWORD PTR [eax+4]
  00976	e8 00 00 00 00	 call	 ?FreeOriginalFrameBuffer@CStillSource@@AAEXXZ ; CStillSource::FreeOriginalFrameBuffer

; 299  :     m_pParent->m_OriginalFrameBuffer = pFrameBuf;

  0097b	8b 8d 20 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00981	8b 51 04	 mov	 edx, DWORD PTR [ecx+4]
  00984	8b 45 b0	 mov	 eax, DWORD PTR _pFrameBuf$[ebp]
  00987	89 82 90 00 00
	00		 mov	 DWORD PTR [edx+144], eax

; 300  :     m_pParent->m_OriginalFrame.pData = pStartFrame;

  0098d	8b 8d 20 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  00993	8b 51 04	 mov	 edx, DWORD PTR [ecx+4]
  00996	8b 45 e4	 mov	 eax, DWORD PTR _pStartFrame$[ebp]
  00999	89 82 94 00 00
	00		 mov	 DWORD PTR [edx+148], eax

; 301  :     m_pParent->m_LinePitch = LinePitch;

  0099f	8b 8d 20 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  009a5	8b 51 04	 mov	 edx, DWORD PTR [ecx+4]
  009a8	8b 45 f0	 mov	 eax, DWORD PTR _LinePitch$[ebp]
  009ab	89 82 c8 00 00
	00		 mov	 DWORD PTR [edx+200], eax

; 302  :     m_pParent->m_InitialHeight = h;

  009b1	8b 8d 20 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  009b7	8b 51 04	 mov	 edx, DWORD PTR [ecx+4]
  009ba	8b 45 dc	 mov	 eax, DWORD PTR _h$[ebp]
  009bd	89 42 74	 mov	 DWORD PTR [edx+116], eax

; 303  :     m_pParent->m_InitialWidth = w2;

  009c0	8b 8d 20 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  009c6	8b 51 04	 mov	 edx, DWORD PTR [ecx+4]
  009c9	8b 45 88	 mov	 eax, DWORD PTR _w2$[ebp]
  009cc	89 42 70	 mov	 DWORD PTR [edx+112], eax

; 304  :     m_pParent->m_Height = h;

  009cf	8b 8d 20 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  009d5	8b 51 04	 mov	 edx, DWORD PTR [ecx+4]
  009d8	8b 45 dc	 mov	 eax, DWORD PTR _h$[ebp]
  009db	89 42 7c	 mov	 DWORD PTR [edx+124], eax

; 305  :     m_pParent->m_Width = w2;

  009de	8b 8d 20 ff ff
	ff		 mov	 ecx, DWORD PTR _this$[ebp]
  009e4	8b 51 04	 mov	 edx, DWORD PTR [ecx+4]
  009e7	8b 45 88	 mov	 eax, DWORD PTR _w2$[ebp]
  009ea	89 42 78	 mov	 DWORD PTR [edx+120], eax

; 306  : 
; 307  :     return TRUE;

  009ed	b8 01 00 00 00	 mov	 eax, 1
$LN41@OpenMediaF@3:

; 308  : }

  009f2	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  009f5	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  009fc	59		 pop	 ecx
  009fd	5f		 pop	 edi
  009fe	5e		 pop	 esi
  009ff	8b e5		 mov	 esp, ebp
  00a01	5d		 pop	 ebp
  00a02	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?OpenMediaFile@CTiffHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$0:
  00000	8d 8d 5c ff ff
	ff		 lea	 ecx, DWORD PTR $T347439[ebp]
  00006	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?OpenMediaFile@CTiffHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$1:
  0000b	8d 8d 40 ff ff
	ff		 lea	 ecx, DWORD PTR $T347456[ebp]
  00011	e9 00 00 00 00	 jmp	 ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ ; std::basic_string<char,std::char_traits<char>,std::allocator<char> >::~basic_string<char,std::char_traits<char>,std::allocator<char> >
__unwindfunclet$?OpenMediaFile@CTiffHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z$2:
  00016	8d 8d 24 ff ff
	ff		 lea	 ecx, DWORD PTR $T347457[ebp]
  0001c	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$?OpenMediaFile@CTiffHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z:
  00021	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00025	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00028	8b 8a f0 fe ff
	ff		 mov	 ecx, DWORD PTR [edx-272]
  0002e	33 c8		 xor	 ecx, eax
  00030	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00035	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?OpenMediaFile@CTiffHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z
  0003a	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?OpenMediaFile@CTiffHelper@@UAEHABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z ENDP ; CTiffHelper::OpenMediaFile
END
