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

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

INCLUDELIB OLDNAMES

PUBLIC	??_R4SEHException@@6B@				; SEHException::`RTTI Complete Object Locator'
PUBLIC	??_R3SEHException@@8				; SEHException::`RTTI Class Hierarchy Descriptor'
PUBLIC	??_R2SEHException@@8				; SEHException::`RTTI Base Class Array'
PUBLIC	??_R1A@?0A@EA@SEHException@@8			; SEHException::`RTTI Base Class Descriptor at (0,-1,0,64)'
PUBLIC	??B?$DynamicFunctionParent@P6GHPAXK0W4_MINIDUMP_TYPE@@PAU_MINIDUMP_EXCEPTION_INFORMATION@@PAU_MINIDUMP_USER_STREAM_INFORMATION@@PAU_MINIDUMP_CALLBACK_INFORMATION@@@Z@@QBEHXZ ; DynamicFunctionParent<int (__stdcall*)(void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION *,_MINIDUMP_USER_STREAM_INFORMATION *,_MINIDUMP_CALLBACK_INFORMATION *)>::operator int
PUBLIC	??0?$DynamicFunctionParent@P6GHPAXK0W4_MINIDUMP_TYPE@@PAU_MINIDUMP_EXCEPTION_INFORMATION@@PAU_MINIDUMP_USER_STREAM_INFORMATION@@PAU_MINIDUMP_CALLBACK_INFORMATION@@@Z@@QAE@PB_WPBD@Z ; DynamicFunctionParent<int (__stdcall*)(void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION *,_MINIDUMP_USER_STREAM_INFORMATION *,_MINIDUMP_CALLBACK_INFORMATION *)>::DynamicFunctionParent<int (__stdcall*)(void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION *,_MINIDUMP_USER_STREAM_INFORMATION *,_MINIDUMP_CALLBACK_INFORMATION *)>
PUBLIC	??0?$DynamicFunctionS7@HPAXKPAXW4_MINIDUMP_TYPE@@QAU_MINIDUMP_EXCEPTION_INFORMATION@@QAU_MINIDUMP_USER_STREAM_INFORMATION@@QAU_MINIDUMP_CALLBACK_INFORMATION@@@@QAE@PB_WPBD@Z ; DynamicFunctionS7<int,void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION * const,_MINIDUMP_USER_STREAM_INFORMATION * const,_MINIDUMP_CALLBACK_INFORMATION * const>::DynamicFunctionS7<int,void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION * const,_MINIDUMP_USER_STREAM_INFORMATION * const,_MINIDUMP_CALLBACK_INFORMATION * const>
PUBLIC	??R?$DynamicFunctionS7@HPAXKPAXW4_MINIDUMP_TYPE@@QAU_MINIDUMP_EXCEPTION_INFORMATION@@QAU_MINIDUMP_USER_STREAM_INFORMATION@@QAU_MINIDUMP_CALLBACK_INFORMATION@@@@QBEHPAXK0W4_MINIDUMP_TYPE@@QAU_MINIDUMP_EXCEPTION_INFORMATION@@QAU_MINIDUMP_USER_STREAM_INFORMATION@@QAU_MINIDUMP_CALLBACK_INFORMATION@@@Z ; DynamicFunctionS7<int,void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION * const,_MINIDUMP_USER_STREAM_INFORMATION * const,_MINIDUMP_CALLBACK_INFORMATION * const>::operator()
PUBLIC	??1SEHException@@UAE@XZ				; SEHException::~SEHException
PUBLIC	??_GSEHException@@UAEPAXI@Z			; SEHException::`scalar deleting destructor'
PUBLIC	??0SEHException@@QAE@ABV0@@Z			; SEHException::SEHException
PUBLIC	?gBuildNum@@3KA					; gBuildNum
PUBLIC	??_C@_0BC@MNIKNFKD@MiniDumpWriteDump?$AA@	; `string'
PUBLIC	??_C@_1BI@NGHAHEIK@?$AAD?$AAb?$AAg?$AAH?$AAe?$AAl?$AAp?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@ ; `string'
PUBLIC	??_C@_1BM@IINAGLKD@?$AA?2?$AAm?$AAi?$AAn?$AAi?$AAd?$AAu?$AAm?$AAp?$AA?4?$AAd?$AAm?$AAp?$AA?$AA@ ; `string'
PUBLIC	??_C@_0BG@JHLBGOJH@SEH?5Exception?5Occured?$AA@	; `string'
PUBLIC	??_R0?AVSEHException@@@8			; SEHException `RTTI Type Descriptor'
PUBLIC	__CT??_R0?AVSEHException@@@8??0SEHException@@QAE@ABV0@@Z12
PUBLIC	__CTA2?AVSEHException@@
PUBLIC	__TI2?AVSEHException@@
PUBLIC	??_7SEHException@@6B@				; SEHException::`vftable'
EXTRN	__imp__GetCurrentProcess@0:PROC
EXTRN	__imp__GetCurrentProcessId@0:PROC
EXTRN	??_ESEHException@@UAEPAXI@Z:PROC		; SEHException::`vector deleting destructor'
EXTRN	?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z:PROC ; _set_se_translator
?gBuildNum@@3KA DD 01H DUP (?)				; gBuildNum
;	COMDAT ??_7SEHException@@6B@
CONST	SEGMENT
??_7SEHException@@6B@ DD FLAT:??_R4SEHException@@6B@	; SEHException::`vftable'
	DD	FLAT:??_ESEHException@@UAEPAXI@Z
	DD	FLAT:?what@exception@std@@UBEPBDXZ
CONST	ENDS
;	COMDAT ??_R4SEHException@@6B@
rdata$r	SEGMENT
??_R4SEHException@@6B@ DD 00H				; SEHException::`RTTI Complete Object Locator'
	DD	00H
	DD	00H
	DD	FLAT:??_R0?AVSEHException@@@8
	DD	FLAT:??_R3SEHException@@8
rdata$r	ENDS
;	COMDAT ??_R3SEHException@@8
rdata$r	SEGMENT
??_R3SEHException@@8 DD 00H				; SEHException::`RTTI Class Hierarchy Descriptor'
	DD	00H
	DD	02H
	DD	FLAT:??_R2SEHException@@8
rdata$r	ENDS
;	COMDAT ??_R2SEHException@@8
rdata$r	SEGMENT
??_R2SEHException@@8 DD FLAT:??_R1A@?0A@EA@SEHException@@8 ; SEHException::`RTTI Base Class Array'
	DD	FLAT:??_R1A@?0A@EA@exception@std@@8
rdata$r	ENDS
;	COMDAT ??_R1A@?0A@EA@SEHException@@8
rdata$r	SEGMENT
??_R1A@?0A@EA@SEHException@@8 DD FLAT:??_R0?AVSEHException@@@8 ; SEHException::`RTTI Base Class Descriptor at (0,-1,0,64)'
	DD	01H
	DD	00H
	DD	0ffffffffH
	DD	00H
	DD	040H
	DD	FLAT:??_R3SEHException@@8
rdata$r	ENDS
;	COMDAT __TI2?AVSEHException@@
xdata$x	SEGMENT
__TI2?AVSEHException@@ DD 00H
	DD	FLAT:??1SEHException@@UAE@XZ
	DD	00H
	DD	FLAT:__CTA2?AVSEHException@@
xdata$x	ENDS
;	COMDAT __CTA2?AVSEHException@@
xdata$x	SEGMENT
__CTA2?AVSEHException@@ DD 02H
	DD	FLAT:__CT??_R0?AVSEHException@@@8??0SEHException@@QAE@ABV0@@Z12
	DD	FLAT:__CT??_R0?AVexception@std@@@8??0exception@std@@QAE@ABV01@@Z12
xdata$x	ENDS
;	COMDAT __CT??_R0?AVSEHException@@@8??0SEHException@@QAE@ABV0@@Z12
xdata$x	SEGMENT
__CT??_R0?AVSEHException@@@8??0SEHException@@QAE@ABV0@@Z12 DD 00H
	DD	FLAT:??_R0?AVSEHException@@@8
	DD	00H
	DD	0ffffffffH
	ORG $+4
	DD	0cH
	DD	FLAT:??0SEHException@@QAE@ABV0@@Z
xdata$x	ENDS
;	COMDAT ??_R0?AVSEHException@@@8
_DATA	SEGMENT
??_R0?AVSEHException@@@8 DD FLAT:??_7type_info@@6B@	; SEHException `RTTI Type Descriptor'
	DD	00H
	DB	'.?AVSEHException@@', 00H
_DATA	ENDS
;	COMDAT ??_C@_0BG@JHLBGOJH@SEH?5Exception?5Occured?$AA@
CONST	SEGMENT
??_C@_0BG@JHLBGOJH@SEH?5Exception?5Occured?$AA@ DB 'SEH Exception Occured'
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1BM@IINAGLKD@?$AA?2?$AAm?$AAi?$AAn?$AAi?$AAd?$AAu?$AAm?$AAp?$AA?4?$AAd?$AAm?$AAp?$AA?$AA@
CONST	SEGMENT
??_C@_1BM@IINAGLKD@?$AA?2?$AAm?$AAi?$AAn?$AAi?$AAd?$AAu?$AAm?$AAp?$AA?4?$AAd?$AAm?$AAp?$AA?$AA@ DB '\'
	DB	00H, 'm', 00H, 'i', 00H, 'n', 00H, 'i', 00H, 'd', 00H, 'u', 00H
	DB	'm', 00H, 'p', 00H, '.', 00H, 'd', 00H, 'm', 00H, 'p', 00H, 00H
	DB	00H						; `string'
CONST	ENDS
;	COMDAT ??_C@_1BI@NGHAHEIK@?$AAD?$AAb?$AAg?$AAH?$AAe?$AAl?$AAp?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@
CONST	SEGMENT
??_C@_1BI@NGHAHEIK@?$AAD?$AAb?$AAg?$AAH?$AAe?$AAl?$AAp?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@ DB 'D'
	DB	00H, 'b', 00H, 'g', 00H, 'H', 00H, 'e', 00H, 'l', 00H, 'p', 00H
	DB	'.', 00H, 'd', 00H, 'l', 00H, 'l', 00H, 00H, 00H ; `string'
CONST	ENDS
;	COMDAT ??_C@_0BC@MNIKNFKD@MiniDumpWriteDump?$AA@
CONST	SEGMENT
??_C@_0BC@MNIKNFKD@MiniDumpWriteDump?$AA@ DB 'MiniDumpWriteDump', 00H ; `string'
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\dynamicfunction.h
;	COMDAT ??B?$DynamicFunctionParent@P6GHPAXK0W4_MINIDUMP_TYPE@@PAU_MINIDUMP_EXCEPTION_INFORMATION@@PAU_MINIDUMP_USER_STREAM_INFORMATION@@PAU_MINIDUMP_CALLBACK_INFORMATION@@@Z@@QBEHXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
??B?$DynamicFunctionParent@P6GHPAXK0W4_MINIDUMP_TYPE@@PAU_MINIDUMP_EXCEPTION_INFORMATION@@PAU_MINIDUMP_USER_STREAM_INFORMATION@@PAU_MINIDUMP_CALLBACK_INFORMATION@@@Z@@QBEHXZ PROC ; DynamicFunctionParent<int (__stdcall*)(void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION *,_MINIDUMP_USER_STREAM_INFORMATION *,_MINIDUMP_CALLBACK_INFORMATION *)>::operator int, COMDAT
; _this$ = ecx

; 39   :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 40   :         return m_pFunc != 0;

  00007	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000a	33 c9		 xor	 ecx, ecx
  0000c	83 38 00	 cmp	 DWORD PTR [eax], 0
  0000f	0f 95 c1	 setne	 cl
  00012	8b c1		 mov	 eax, ecx

; 41   :     }

  00014	8b e5		 mov	 esp, ebp
  00016	5d		 pop	 ebp
  00017	c3		 ret	 0
??B?$DynamicFunctionParent@P6GHPAXK0W4_MINIDUMP_TYPE@@PAU_MINIDUMP_EXCEPTION_INFORMATION@@PAU_MINIDUMP_USER_STREAM_INFORMATION@@PAU_MINIDUMP_CALLBACK_INFORMATION@@@Z@@QBEHXZ ENDP ; DynamicFunctionParent<int (__stdcall*)(void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION *,_MINIDUMP_USER_STREAM_INFORMATION *,_MINIDUMP_CALLBACK_INFORMATION *)>::operator int
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??R?$DynamicFunctionS7@HPAXKPAXW4_MINIDUMP_TYPE@@QAU_MINIDUMP_EXCEPTION_INFORMATION@@QAU_MINIDUMP_USER_STREAM_INFORMATION@@QAU_MINIDUMP_CALLBACK_INFORMATION@@@@QBEHPAXK0W4_MINIDUMP_TYPE@@QAU_MINIDUMP_EXCEPTION_INFORMATION@@QAU_MINIDUMP_USER_STREAM_INFORMATION@@QAU_MINIDUMP_CALLBACK_INFORMATION@@@Z
_TEXT	SEGMENT
tv83 = -8						; size = 4
_this$ = -4						; size = 4
_Param1$ = 8						; size = 4
_Param2$ = 12						; size = 4
_Param3$ = 16						; size = 4
_Param4$ = 20						; size = 4
_Param5$ = 24						; size = 4
_Param6$ = 28						; size = 4
_Param7$ = 32						; size = 4
??R?$DynamicFunctionS7@HPAXKPAXW4_MINIDUMP_TYPE@@QAU_MINIDUMP_EXCEPTION_INFORMATION@@QAU_MINIDUMP_USER_STREAM_INFORMATION@@QAU_MINIDUMP_CALLBACK_INFORMATION@@@@QBEHPAXK0W4_MINIDUMP_TYPE@@QAU_MINIDUMP_EXCEPTION_INFORMATION@@QAU_MINIDUMP_USER_STREAM_INFORMATION@@QAU_MINIDUMP_CALLBACK_INFORMATION@@@Z PROC ; DynamicFunctionS7<int,void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION * const,_MINIDUMP_USER_STREAM_INFORMATION * const,_MINIDUMP_CALLBACK_INFORMATION * const>::operator(), COMDAT
; _this$ = ecx

; 186  :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 08	 sub	 esp, 8
  00006	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 187  :         return m_pFunc?m_pFunc(Param1, Param2, Param3, Param4, Param5, Param6, Param7):0;

  00009	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	83 38 00	 cmp	 DWORD PTR [eax], 0
  0000f	74 28		 je	 SHORT $LN3@operator@14
  00011	8b 4d 20	 mov	 ecx, DWORD PTR _Param7$[ebp]
  00014	51		 push	 ecx
  00015	8b 55 1c	 mov	 edx, DWORD PTR _Param6$[ebp]
  00018	52		 push	 edx
  00019	8b 45 18	 mov	 eax, DWORD PTR _Param5$[ebp]
  0001c	50		 push	 eax
  0001d	8b 4d 14	 mov	 ecx, DWORD PTR _Param4$[ebp]
  00020	51		 push	 ecx
  00021	8b 55 10	 mov	 edx, DWORD PTR _Param3$[ebp]
  00024	52		 push	 edx
  00025	8b 45 0c	 mov	 eax, DWORD PTR _Param2$[ebp]
  00028	50		 push	 eax
  00029	8b 4d 08	 mov	 ecx, DWORD PTR _Param1$[ebp]
  0002c	51		 push	 ecx
  0002d	8b 55 fc	 mov	 edx, DWORD PTR _this$[ebp]
  00030	8b 02		 mov	 eax, DWORD PTR [edx]
  00032	ff d0		 call	 eax
  00034	89 45 f8	 mov	 DWORD PTR tv83[ebp], eax
  00037	eb 07		 jmp	 SHORT $LN4@operator@14
$LN3@operator@14:
  00039	c7 45 f8 00 00
	00 00		 mov	 DWORD PTR tv83[ebp], 0
$LN4@operator@14:
  00040	8b 45 f8	 mov	 eax, DWORD PTR tv83[ebp]

; 188  :     }

  00043	8b e5		 mov	 esp, ebp
  00045	5d		 pop	 ebp
  00046	c2 1c 00	 ret	 28			; 0000001cH
??R?$DynamicFunctionS7@HPAXKPAXW4_MINIDUMP_TYPE@@QAU_MINIDUMP_EXCEPTION_INFORMATION@@QAU_MINIDUMP_USER_STREAM_INFORMATION@@QAU_MINIDUMP_CALLBACK_INFORMATION@@@@QBEHPAXK0W4_MINIDUMP_TYPE@@QAU_MINIDUMP_EXCEPTION_INFORMATION@@QAU_MINIDUMP_USER_STREAM_INFORMATION@@QAU_MINIDUMP_CALLBACK_INFORMATION@@@Z ENDP ; DynamicFunctionS7<int,void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION * const,_MINIDUMP_USER_STREAM_INFORMATION * const,_MINIDUMP_CALLBACK_INFORMATION * const>::operator()
_TEXT	ENDS
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0SEHException@@QAE@ABV0@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0SEHException@@QAE@ABV0@@Z$0
__ehfuncinfo$??0SEHException@@QAE@ABV0@@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0SEHException@@QAE@ABV0@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0SEHException@@QAE@ABV0@@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
___that$ = 8						; size = 4
??0SEHException@@QAE@ABV0@@Z PROC			; SEHException::SEHException, COMDAT
; _this$ = ecx
  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0SEHException@@QAE@ABV0@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	8b 45 08	 mov	 eax, DWORD PTR ___that$[ebp]
  00029	50		 push	 eax
  0002a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0002d	e8 00 00 00 00	 call	 ??0exception@std@@QAE@ABV01@@Z ; std::exception::exception
  00032	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00039	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	c7 01 00 00 00
	00		 mov	 DWORD PTR [ecx], OFFSET ??_7SEHException@@6B@
  00042	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00049	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0004c	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0004f	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00056	59		 pop	 ecx
  00057	8b e5		 mov	 esp, ebp
  00059	5d		 pop	 ebp
  0005a	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0SEHException@@QAE@ABV0@@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1exception@std@@UAE@XZ ; std::exception::~exception
__ehhandler$??0SEHException@@QAE@ABV0@@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0SEHException@@QAE@ABV0@@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0SEHException@@QAE@ABV0@@Z ENDP			; SEHException::SEHException
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1SEHException@@UAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1SEHException@@UAE@XZ$0
__ehfuncinfo$??1SEHException@@UAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1SEHException@@UAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1SEHException@@UAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1SEHException@@UAE@XZ PROC				; SEHException::~SEHException, COMDAT
; _this$ = ecx
  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1SEHException@@UAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  0002d	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00034	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00037	e8 00 00 00 00	 call	 ??1exception@std@@UAE@XZ ; std::exception::~exception
  0003c	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0003f	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00046	59		 pop	 ecx
  00047	8b e5		 mov	 esp, ebp
  00049	5d		 pop	 ebp
  0004a	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1SEHException@@UAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1exception@std@@UAE@XZ ; std::exception::~exception
__ehhandler$??1SEHException@@UAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1SEHException@@UAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1SEHException@@UAE@XZ ENDP				; SEHException::~SEHException
; Function compile flags: /Odtp
;	COMDAT ??_GSEHException@@UAEPAXI@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
___flags$ = 8						; size = 4
??_GSEHException@@UAEPAXI@Z PROC			; SEHException::`scalar deleting destructor', COMDAT
; _this$ = ecx
  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 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ??1SEHException@@UAE@XZ
  0000f	8b 45 08	 mov	 eax, DWORD PTR ___flags$[ebp]
  00012	83 e0 01	 and	 eax, 1
  00015	74 0c		 je	 SHORT $LN1@scalar@9
  00017	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0001a	51		 push	 ecx
  0001b	e8 00 00 00 00	 call	 ??3@YAXPAX@Z		; operator delete
  00020	83 c4 04	 add	 esp, 4
$LN1@scalar@9:
  00023	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  00026	8b e5		 mov	 esp, ebp
  00028	5d		 pop	 ebp
  00029	c2 04 00	 ret	 4
??_GSEHException@@UAEPAXI@Z ENDP			; SEHException::`scalar deleting destructor'
_TEXT	ENDS
PUBLIC	??0SEHException@@QAE@PBD@Z			; SEHException::SEHException
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\crash.cpp
xdata$x	SEGMENT
__unwindtable$??0SEHException@@QAE@PBD@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0SEHException@@QAE@PBD@Z$0
__ehfuncinfo$??0SEHException@@QAE@PBD@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0SEHException@@QAE@PBD@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0SEHException@@QAE@PBD@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_what$ = 8						; size = 4
??0SEHException@@QAE@PBD@Z PROC				; SEHException::SEHException, COMDAT
; _this$ = ecx

; 82   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0SEHException@@QAE@PBD@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	8d 45 08	 lea	 eax, DWORD PTR _what$[ebp]
  00029	50		 push	 eax
  0002a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0002d	e8 00 00 00 00	 call	 ??0exception@std@@QAE@ABQBD@Z ; std::exception::exception
  00032	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00039	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0003c	c7 01 00 00 00
	00		 mov	 DWORD PTR [ecx], OFFSET ??_7SEHException@@6B@

; 83   : }

  00042	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00049	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  0004c	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0004f	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00056	59		 pop	 ecx
  00057	8b e5		 mov	 esp, ebp
  00059	5d		 pop	 ebp
  0005a	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0SEHException@@QAE@PBD@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1exception@std@@UAE@XZ ; std::exception::~exception
__ehhandler$??0SEHException@@QAE@PBD@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0SEHException@@QAE@PBD@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0SEHException@@QAE@PBD@Z ENDP				; SEHException::SEHException
PUBLIC	?GetName@DScalerThread@@QBEPB_WXZ		; DScalerThread::GetName
; Function compile flags: /Odtp
;	COMDAT ?GetName@DScalerThread@@QBEPB_WXZ
_TEXT	SEGMENT
_this$ = -4						; size = 4
?GetName@DScalerThread@@QBEPB_WXZ PROC			; DScalerThread::GetName, COMDAT
; _this$ = ecx

; 116  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	51		 push	 ecx
  00004	89 4d fc	 mov	 DWORD PTR _this$[ebp], ecx

; 117  :     return m_Name.c_str();

  00007	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  0000a	e8 00 00 00 00	 call	 ?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::c_str

; 118  : }

  0000f	8b e5		 mov	 esp, ebp
  00011	5d		 pop	 ebp
  00012	c3		 ret	 0
?GetName@DScalerThread@@QBEPB_WXZ ENDP			; DScalerThread::GetName
PUBLIC	??1DScalerThread@@QAE@XZ			; DScalerThread::~DScalerThread
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??1DScalerThread@@QAE@XZ DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??1DScalerThread@@QAE@XZ$0
__ehfuncinfo$??1DScalerThread@@QAE@XZ DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??1DScalerThread@@QAE@XZ
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??1DScalerThread@@QAE@XZ
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
??1DScalerThread@@QAE@XZ PROC				; DScalerThread::~DScalerThread, COMDAT
; _this$ = ecx

; 122  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??1DScalerThread@@QAE@XZ
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 123  :     _set_se_translator(m_OldTranslator);

  0002d	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00030	8b 48 1c	 mov	 ecx, DWORD PTR [eax+28]
  00033	51		 push	 ecx
  00034	e8 00 00 00 00	 call	 ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z ; _set_se_translator
  00039	83 c4 04	 add	 esp, 4

; 124  : }

  0003c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00043	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00046	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> >
  0004b	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  0004e	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00055	59		 pop	 ecx
  00056	8b e5		 mov	 esp, ebp
  00058	5d		 pop	 ebp
  00059	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??1DScalerThread@@QAE@XZ$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__ehhandler$??1DScalerThread@@QAE@XZ:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??1DScalerThread@@QAE@XZ
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??1DScalerThread@@QAE@XZ ENDP				; DScalerThread::~DScalerThread
; Function compile flags: /Odtp
; File c:\develop\dscaler423a\dscaler\dynamicfunction.h
;	COMDAT ??0?$DynamicFunctionParent@P6GHPAXK0W4_MINIDUMP_TYPE@@PAU_MINIDUMP_EXCEPTION_INFORMATION@@PAU_MINIDUMP_USER_STREAM_INFORMATION@@PAU_MINIDUMP_CALLBACK_INFORMATION@@@Z@@QAE@PB_WPBD@Z
_TEXT	SEGMENT
_this$ = -8						; size = 4
_LibraryModule$ = -4					; size = 4
_LibraryName$ = 8					; size = 4
_FunctionName$ = 12					; size = 4
??0?$DynamicFunctionParent@P6GHPAXK0W4_MINIDUMP_TYPE@@PAU_MINIDUMP_EXCEPTION_INFORMATION@@PAU_MINIDUMP_USER_STREAM_INFORMATION@@PAU_MINIDUMP_CALLBACK_INFORMATION@@@Z@@QAE@PB_WPBD@Z PROC ; DynamicFunctionParent<int (__stdcall*)(void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION *,_MINIDUMP_USER_STREAM_INFORMATION *,_MINIDUMP_CALLBACK_INFORMATION *)>::DynamicFunctionParent<int (__stdcall*)(void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION *,_MINIDUMP_USER_STREAM_INFORMATION *,_MINIDUMP_CALLBACK_INFORMATION *)>, COMDAT
; _this$ = ecx

; 30   :     {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 08	 sub	 esp, 8
  00006	89 4d f8	 mov	 DWORD PTR _this$[ebp], ecx
  00009	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0000c	c7 00 00 00 00
	00		 mov	 DWORD PTR [eax], 0

; 31   :         HMODULE LibraryModule = LibraryCache::GetLibraryHandle(LibraryName);

  00012	8b 4d 08	 mov	 ecx, DWORD PTR _LibraryName$[ebp]
  00015	51		 push	 ecx
  00016	e8 00 00 00 00	 call	 ?GetLibraryHandle@LibraryCache@@SAPAUHINSTANCE__@@PB_W@Z ; LibraryCache::GetLibraryHandle
  0001b	83 c4 04	 add	 esp, 4
  0001e	89 45 fc	 mov	 DWORD PTR _LibraryModule$[ebp], eax

; 32   :         if(LibraryModule)

  00021	83 7d fc 00	 cmp	 DWORD PTR _LibraryModule$[ebp], 0
  00025	74 13		 je	 SHORT $LN2@DynamicFun@5

; 33   :         {
; 34   :             m_pFunc = (FUNCTYPE)GetProcAddress(LibraryModule,FunctionName);

  00027	8b 55 0c	 mov	 edx, DWORD PTR _FunctionName$[ebp]
  0002a	52		 push	 edx
  0002b	8b 45 fc	 mov	 eax, DWORD PTR _LibraryModule$[ebp]
  0002e	50		 push	 eax
  0002f	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetProcAddress@8
  00035	8b 4d f8	 mov	 ecx, DWORD PTR _this$[ebp]
  00038	89 01		 mov	 DWORD PTR [ecx], eax
$LN2@DynamicFun@5:

; 35   :         }
; 36   :     }

  0003a	8b 45 f8	 mov	 eax, DWORD PTR _this$[ebp]
  0003d	8b e5		 mov	 esp, ebp
  0003f	5d		 pop	 ebp
  00040	c2 08 00	 ret	 8
??0?$DynamicFunctionParent@P6GHPAXK0W4_MINIDUMP_TYPE@@PAU_MINIDUMP_EXCEPTION_INFORMATION@@PAU_MINIDUMP_USER_STREAM_INFORMATION@@PAU_MINIDUMP_CALLBACK_INFORMATION@@@Z@@QAE@PB_WPBD@Z ENDP ; DynamicFunctionParent<int (__stdcall*)(void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION *,_MINIDUMP_USER_STREAM_INFORMATION *,_MINIDUMP_CALLBACK_INFORMATION *)>::DynamicFunctionParent<int (__stdcall*)(void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION *,_MINIDUMP_USER_STREAM_INFORMATION *,_MINIDUMP_CALLBACK_INFORMATION *)>
; Function compile flags: /Odtp
_TEXT	ENDS
;	COMDAT ??0?$DynamicFunctionS7@HPAXKPAXW4_MINIDUMP_TYPE@@QAU_MINIDUMP_EXCEPTION_INFORMATION@@QAU_MINIDUMP_USER_STREAM_INFORMATION@@QAU_MINIDUMP_CALLBACK_INFORMATION@@@@QAE@PB_WPBD@Z
_TEXT	SEGMENT
_this$ = -4						; size = 4
_LibraryName$ = 8					; size = 4
_FunctionName$ = 12					; size = 4
??0?$DynamicFunctionS7@HPAXKPAXW4_MINIDUMP_TYPE@@QAU_MINIDUMP_EXCEPTION_INFORMATION@@QAU_MINIDUMP_USER_STREAM_INFORMATION@@QAU_MINIDUMP_CALLBACK_INFORMATION@@@@QAE@PB_WPBD@Z PROC ; DynamicFunctionS7<int,void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION * const,_MINIDUMP_USER_STREAM_INFORMATION * const,_MINIDUMP_CALLBACK_INFORMATION * const>::DynamicFunctionS7<int,void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION * const,_MINIDUMP_USER_STREAM_INFORMATION * const,_MINIDUMP_CALLBACK_INFORMATION * const>, COMDAT
; _this$ = ecx

; 182  :     {

  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 0c	 mov	 eax, DWORD PTR _FunctionName$[ebp]
  0000a	50		 push	 eax
  0000b	8b 4d 08	 mov	 ecx, DWORD PTR _LibraryName$[ebp]
  0000e	51		 push	 ecx
  0000f	8b 4d fc	 mov	 ecx, DWORD PTR _this$[ebp]
  00012	e8 00 00 00 00	 call	 ??0?$DynamicFunctionParent@P6GHPAXK0W4_MINIDUMP_TYPE@@PAU_MINIDUMP_EXCEPTION_INFORMATION@@PAU_MINIDUMP_USER_STREAM_INFORMATION@@PAU_MINIDUMP_CALLBACK_INFORMATION@@@Z@@QAE@PB_WPBD@Z ; DynamicFunctionParent<int (__stdcall*)(void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION *,_MINIDUMP_USER_STREAM_INFORMATION *,_MINIDUMP_CALLBACK_INFORMATION *)>::DynamicFunctionParent<int (__stdcall*)(void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION *,_MINIDUMP_USER_STREAM_INFORMATION *,_MINIDUMP_CALLBACK_INFORMATION *)>

; 183  :     }

  00017	8b 45 fc	 mov	 eax, DWORD PTR _this$[ebp]
  0001a	8b e5		 mov	 esp, ebp
  0001c	5d		 pop	 ebp
  0001d	c2 08 00	 ret	 8
??0?$DynamicFunctionS7@HPAXKPAXW4_MINIDUMP_TYPE@@QAU_MINIDUMP_EXCEPTION_INFORMATION@@QAU_MINIDUMP_USER_STREAM_INFORMATION@@QAU_MINIDUMP_CALLBACK_INFORMATION@@@@QAE@PB_WPBD@Z ENDP ; DynamicFunctionS7<int,void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION * const,_MINIDUMP_USER_STREAM_INFORMATION * const,_MINIDUMP_CALLBACK_INFORMATION * const>::DynamicFunctionS7<int,void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION * const,_MINIDUMP_USER_STREAM_INFORMATION * const,_MINIDUMP_CALLBACK_INFORMATION * const>
PUBLIC	__$ArrayPad$
PUBLIC	?SETranslate@@YAXIPAU_EXCEPTION_POINTERS@@@Z	; SETranslate
;	COMDAT xdata$x
; File c:\develop\dscaler423a\dscaler\crash.cpp
xdata$x	SEGMENT
__unwindtable$?SETranslate@@YAXIPAU_EXCEPTION_POINTERS@@@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$?SETranslate@@YAXIPAU_EXCEPTION_POINTERS@@@Z$0
	DD	00H
	DD	FLAT:__unwindfunclet$?SETranslate@@YAXIPAU_EXCEPTION_POINTERS@@@Z$1
	DD	0ffffffffH
	DD	FLAT:__unwindfunclet$?SETranslate@@YAXIPAU_EXCEPTION_POINTERS@@@Z$1
__ehfuncinfo$?SETranslate@@YAXIPAU_EXCEPTION_POINTERS@@@Z DD 019930522H
	DD	03H
	DD	FLAT:__unwindtable$?SETranslate@@YAXIPAU_EXCEPTION_POINTERS@@@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ?SETranslate@@YAXIPAU_EXCEPTION_POINTERS@@@Z
_TEXT	SEGMENT
tv142 = -116						; size = 4
tv144 = -112						; size = 4
$T344967 = -108						; size = 12
$T344966 = -96						; size = 28
_bMiniDumpSuccessful$145355 = -68			; size = 4
_hDumpFile$145356 = -64					; size = 4
_ExpParam$145357 = -60					; size = 12
_FileName$145373 = -48					; size = 28
__$ArrayPad$ = -20					; size = 4
_WriteDump$ = -16					; size = 4
__$EHRec$ = -12						; size = 12
_u$ = 8							; size = 4
_pExp$ = 12						; size = 4
?SETranslate@@YAXIPAU_EXCEPTION_POINTERS@@@Z PROC	; SETranslate, COMDAT

; 86   : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$?SETranslate@@YAXIPAU_EXCEPTION_POINTERS@@@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	83 ec 68	 sub	 esp, 104		; 00000068H
  00014	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00019	33 c5		 xor	 eax, ebp
  0001b	89 45 ec	 mov	 DWORD PTR __$ArrayPad$[ebp], eax
  0001e	50		 push	 eax
  0001f	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  00022	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax

; 87   :     DynamicFunctionS7<BOOL, HANDLE, DWORD, HANDLE, MINIDUMP_TYPE, CONST PMINIDUMP_EXCEPTION_INFORMATION, CONST PMINIDUMP_USER_STREAM_INFORMATION, CONST PMINIDUMP_CALLBACK_INFORMATION> WriteDump(_T("DbgHelp.dll"), "MiniDumpWriteDump");

  00028	68 00 00 00 00	 push	 OFFSET ??_C@_0BC@MNIKNFKD@MiniDumpWriteDump?$AA@
  0002d	68 00 00 00 00	 push	 OFFSET ??_C@_1BI@NGHAHEIK@?$AAD?$AAb?$AAg?$AAH?$AAe?$AAl?$AAp?$AA?4?$AAd?$AAl?$AAl?$AA?$AA@
  00032	8d 4d f0	 lea	 ecx, DWORD PTR _WriteDump$[ebp]
  00035	e8 00 00 00 00	 call	 ??0?$DynamicFunctionS7@HPAXKPAXW4_MINIDUMP_TYPE@@QAU_MINIDUMP_EXCEPTION_INFORMATION@@QAU_MINIDUMP_USER_STREAM_INFORMATION@@QAU_MINIDUMP_CALLBACK_INFORMATION@@@@QAE@PB_WPBD@Z ; DynamicFunctionS7<int,void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION * const,_MINIDUMP_USER_STREAM_INFORMATION * const,_MINIDUMP_CALLBACK_INFORMATION * const>::DynamicFunctionS7<int,void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION * const,_MINIDUMP_USER_STREAM_INFORMATION * const,_MINIDUMP_CALLBACK_INFORMATION * const>

; 88   :     if(WriteDump)

  0003a	8d 4d f0	 lea	 ecx, DWORD PTR _WriteDump$[ebp]
  0003d	e8 00 00 00 00	 call	 ??B?$DynamicFunctionParent@P6GHPAXK0W4_MINIDUMP_TYPE@@PAU_MINIDUMP_EXCEPTION_INFORMATION@@PAU_MINIDUMP_USER_STREAM_INFORMATION@@PAU_MINIDUMP_CALLBACK_INFORMATION@@@Z@@QBEHXZ ; DynamicFunctionParent<int (__stdcall*)(void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION *,_MINIDUMP_USER_STREAM_INFORMATION *,_MINIDUMP_CALLBACK_INFORMATION *)>::operator int
  00042	85 c0		 test	 eax, eax
  00044	0f 84 aa 00 00
	00		 je	 $LN1@SETranslat

; 89   :     {
; 90   :         BOOL bMiniDumpSuccessful;
; 91   :         HANDLE hDumpFile;
; 92   :         MINIDUMP_EXCEPTION_INFORMATION ExpParam;
; 93   : 
; 94   :         tstring FileName(GetUserFilePath() + _T("\\minidump.dmp"));

  0004a	8d 45 a0	 lea	 eax, DWORD PTR $T344966[ebp]
  0004d	50		 push	 eax
  0004e	e8 00 00 00 00	 call	 ?GetUserFilePath@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ ; GetUserFilePath
  00053	83 c4 04	 add	 esp, 4
  00056	89 45 90	 mov	 DWORD PTR tv144[ebp], eax
  00059	8b 4d 90	 mov	 ecx, DWORD PTR tv144[ebp]
  0005c	89 4d 8c	 mov	 DWORD PTR tv142[ebp], ecx
  0005f	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0
  00066	68 00 00 00 00	 push	 OFFSET ??_C@_1BM@IINAGLKD@?$AA?2?$AAm?$AAi?$AAn?$AAi?$AAd?$AAu?$AAm?$AAp?$AA?4?$AAd?$AAm?$AAp?$AA?$AA@
  0006b	8b 55 8c	 mov	 edx, DWORD PTR tv142[ebp]
  0006e	52		 push	 edx
  0006f	8d 45 d0	 lea	 eax, DWORD PTR _FileName$145373[ebp]
  00072	50		 push	 eax
  00073	e8 00 00 00 00	 call	 ??$?H_WU?$char_traits@_W@std@@V?$allocator@_W@1@@std@@YA?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@0@ABV10@PB_W@Z ; std::operator+<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  00078	83 c4 0c	 add	 esp, 12			; 0000000cH
  0007b	c6 45 fc 02	 mov	 BYTE PTR __$EHRec$[ebp+8], 2
  0007f	8d 4d a0	 lea	 ecx, DWORD PTR $T344966[ebp]
  00082	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> >

; 95   : 
; 96   :         hDumpFile = CreateFile(FileName.c_str(), GENERIC_READ|GENERIC_WRITE, 
; 97   :                     FILE_SHARE_WRITE|FILE_SHARE_READ, 0, CREATE_ALWAYS, 0, 0);

  00087	6a 00		 push	 0
  00089	6a 00		 push	 0
  0008b	6a 02		 push	 2
  0008d	6a 00		 push	 0
  0008f	6a 03		 push	 3
  00091	68 00 00 00 c0	 push	 -1073741824		; c0000000H
  00096	8d 4d d0	 lea	 ecx, DWORD PTR _FileName$145373[ebp]
  00099	e8 00 00 00 00	 call	 ?c_str@?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QBEPB_WXZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::c_str
  0009e	50		 push	 eax
  0009f	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__CreateFileW@28
  000a5	89 45 c0	 mov	 DWORD PTR _hDumpFile$145356[ebp], eax

; 98   : 
; 99   :         ExpParam.ThreadId = GetCurrentThreadId();

  000a8	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetCurrentThreadId@0
  000ae	89 45 c4	 mov	 DWORD PTR _ExpParam$145357[ebp], eax

; 100  :         ExpParam.ExceptionPointers = pExp;

  000b1	8b 4d 0c	 mov	 ecx, DWORD PTR _pExp$[ebp]
  000b4	89 4d c8	 mov	 DWORD PTR _ExpParam$145357[ebp+4], ecx

; 101  :         ExpParam.ClientPointers = TRUE;

  000b7	c7 45 cc 01 00
	00 00		 mov	 DWORD PTR _ExpParam$145357[ebp+8], 1

; 102  : 
; 103  :         bMiniDumpSuccessful = WriteDump(GetCurrentProcess(), GetCurrentProcessId(), hDumpFile, MiniDumpWithDataSegs, &ExpParam, NULL, NULL);

  000be	6a 00		 push	 0
  000c0	6a 00		 push	 0
  000c2	8d 55 c4	 lea	 edx, DWORD PTR _ExpParam$145357[ebp]
  000c5	52		 push	 edx
  000c6	6a 01		 push	 1
  000c8	8b 45 c0	 mov	 eax, DWORD PTR _hDumpFile$145356[ebp]
  000cb	50		 push	 eax
  000cc	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetCurrentProcessId@0
  000d2	50		 push	 eax
  000d3	ff 15 00 00 00
	00		 call	 DWORD PTR __imp__GetCurrentProcess@0
  000d9	50		 push	 eax
  000da	8d 4d f0	 lea	 ecx, DWORD PTR _WriteDump$[ebp]
  000dd	e8 00 00 00 00	 call	 ??R?$DynamicFunctionS7@HPAXKPAXW4_MINIDUMP_TYPE@@QAU_MINIDUMP_EXCEPTION_INFORMATION@@QAU_MINIDUMP_USER_STREAM_INFORMATION@@QAU_MINIDUMP_CALLBACK_INFORMATION@@@@QBEHPAXK0W4_MINIDUMP_TYPE@@QAU_MINIDUMP_EXCEPTION_INFORMATION@@QAU_MINIDUMP_USER_STREAM_INFORMATION@@QAU_MINIDUMP_CALLBACK_INFORMATION@@@Z ; DynamicFunctionS7<int,void *,unsigned long,void *,enum _MINIDUMP_TYPE,_MINIDUMP_EXCEPTION_INFORMATION * const,_MINIDUMP_USER_STREAM_INFORMATION * const,_MINIDUMP_CALLBACK_INFORMATION * const>::operator()
  000e2	89 45 bc	 mov	 DWORD PTR _bMiniDumpSuccessful$145355[ebp], eax

; 104  :     }

  000e5	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  000ec	8d 4d d0	 lea	 ecx, DWORD PTR _FileName$145373[ebp]
  000ef	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> >
$LN1@SETranslat:

; 105  : 
; 106  :     throw SEHException("SEH Exception Occured");

  000f4	68 00 00 00 00	 push	 OFFSET ??_C@_0BG@JHLBGOJH@SEH?5Exception?5Occured?$AA@
  000f9	8d 4d 94	 lea	 ecx, DWORD PTR $T344967[ebp]
  000fc	e8 00 00 00 00	 call	 ??0SEHException@@QAE@PBD@Z ; SEHException::SEHException
  00101	68 00 00 00 00	 push	 OFFSET __TI2?AVSEHException@@
  00106	8d 4d 94	 lea	 ecx, DWORD PTR $T344967[ebp]
  00109	51		 push	 ecx
  0010a	e8 00 00 00 00	 call	 __CxxThrowException@8
$LN3@SETranslat:

; 107  : }

  0010f	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00112	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00119	59		 pop	 ecx
  0011a	8b 4d ec	 mov	 ecx, DWORD PTR __$ArrayPad$[ebp]
  0011d	33 cd		 xor	 ecx, ebp
  0011f	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00124	8b e5		 mov	 esp, ebp
  00126	5d		 pop	 ebp
  00127	c3		 ret	 0
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$?SETranslate@@YAXIPAU_EXCEPTION_POINTERS@@@Z$0:
  00000	8d 4d a0	 lea	 ecx, DWORD PTR $T344966[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__unwindfunclet$?SETranslate@@YAXIPAU_EXCEPTION_POINTERS@@@Z$1:
  00008	8d 4d d0	 lea	 ecx, DWORD PTR _FileName$145373[ebp]
  0000b	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$?SETranslate@@YAXIPAU_EXCEPTION_POINTERS@@@Z:
  00010	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  00014	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  00017	8b 4a 94	 mov	 ecx, DWORD PTR [edx-108]
  0001a	33 c8		 xor	 ecx, eax
  0001c	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00021	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00024	33 c8		 xor	 ecx, eax
  00026	e8 00 00 00 00	 call	 @__security_check_cookie@4
  0002b	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$?SETranslate@@YAXIPAU_EXCEPTION_POINTERS@@@Z
  00030	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
?SETranslate@@YAXIPAU_EXCEPTION_POINTERS@@@Z ENDP	; SETranslate
PUBLIC	??0DScalerThread@@QAE@PB_W@Z			; DScalerThread::DScalerThread
;	COMDAT xdata$x
xdata$x	SEGMENT
__unwindtable$??0DScalerThread@@QAE@PB_W@Z DD 0ffffffffH
	DD	FLAT:__unwindfunclet$??0DScalerThread@@QAE@PB_W@Z$0
__ehfuncinfo$??0DScalerThread@@QAE@PB_W@Z DD 019930522H
	DD	01H
	DD	FLAT:__unwindtable$??0DScalerThread@@QAE@PB_W@Z
	DD	2 DUP(00H)
	DD	2 DUP(00H)
	DD	00H
	DD	00H
; Function compile flags: /Odtp
xdata$x	ENDS
;	COMDAT ??0DScalerThread@@QAE@PB_W@Z
_TEXT	SEGMENT
_this$ = -16						; size = 4
__$EHRec$ = -12						; size = 12
_ThreadName$ = 8					; size = 4
??0DScalerThread@@QAE@PB_W@Z PROC			; DScalerThread::DScalerThread, COMDAT
; _this$ = ecx

; 111  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	6a ff		 push	 -1
  00005	68 00 00 00 00	 push	 __ehhandler$??0DScalerThread@@QAE@PB_W@Z
  0000a	64 a1 00 00 00
	00		 mov	 eax, DWORD PTR fs:0
  00010	50		 push	 eax
  00011	51		 push	 ecx
  00012	a1 00 00 00 00	 mov	 eax, DWORD PTR ___security_cookie
  00017	33 c5		 xor	 eax, ebp
  00019	50		 push	 eax
  0001a	8d 45 f4	 lea	 eax, DWORD PTR __$EHRec$[ebp]
  0001d	64 a3 00 00 00
	00		 mov	 DWORD PTR fs:0, eax
  00023	89 4d f0	 mov	 DWORD PTR _this$[ebp], ecx
  00026	8b 45 08	 mov	 eax, DWORD PTR _ThreadName$[ebp]
  00029	50		 push	 eax
  0002a	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  0002d	e8 00 00 00 00	 call	 ??0?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@PB_W@Z ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
  00032	c7 45 fc 00 00
	00 00		 mov	 DWORD PTR __$EHRec$[ebp+8], 0

; 112  :     m_OldTranslator = _set_se_translator(SETranslate);

  00039	68 00 00 00 00	 push	 OFFSET ?SETranslate@@YAXIPAU_EXCEPTION_POINTERS@@@Z ; SETranslate
  0003e	e8 00 00 00 00	 call	 ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z ; _set_se_translator
  00043	83 c4 04	 add	 esp, 4
  00046	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00049	89 41 1c	 mov	 DWORD PTR [ecx+28], eax

; 113  : }

  0004c	c7 45 fc ff ff
	ff ff		 mov	 DWORD PTR __$EHRec$[ebp+8], -1
  00053	8b 45 f0	 mov	 eax, DWORD PTR _this$[ebp]
  00056	8b 4d f4	 mov	 ecx, DWORD PTR __$EHRec$[ebp]
  00059	64 89 0d 00 00
	00 00		 mov	 DWORD PTR fs:0, ecx
  00060	59		 pop	 ecx
  00061	8b e5		 mov	 esp, ebp
  00063	5d		 pop	 ebp
  00064	c2 04 00	 ret	 4
_TEXT	ENDS
;	COMDAT text$x
text$x	SEGMENT
__unwindfunclet$??0DScalerThread@@QAE@PB_W@Z$0:
  00000	8b 4d f0	 mov	 ecx, DWORD PTR _this$[ebp]
  00003	e9 00 00 00 00	 jmp	 ??1?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@QAE@XZ ; std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >::~basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >
__ehhandler$??0DScalerThread@@QAE@PB_W@Z:
  00008	8b 54 24 08	 mov	 edx, DWORD PTR [esp+8]
  0000c	8d 42 0c	 lea	 eax, DWORD PTR [edx+12]
  0000f	8b 4a f8	 mov	 ecx, DWORD PTR [edx-8]
  00012	33 c8		 xor	 ecx, eax
  00014	e8 00 00 00 00	 call	 @__security_check_cookie@4
  00019	b8 00 00 00 00	 mov	 eax, OFFSET __ehfuncinfo$??0DScalerThread@@QAE@PB_W@Z
  0001e	e9 00 00 00 00	 jmp	 ___CxxFrameHandler3
text$x	ENDS
??0DScalerThread@@QAE@PB_W@Z ENDP			; DScalerThread::DScalerThread
END
