mspaint.asm
lawlrenz_crumble/crumble/examples/mspaint.asm

GUID struc ; (sizeof=0x10)
Data1 dd ?
Data2 dw ?
Data3 dw ?
Data4 db 8 dup(?)
GUID ends


tagSIZE	struc ;	(sizeof=0x8, standard type) ; XREF: ...
_cx dd ?
cy dd ?
tagSIZE	ends


tagRECT	struc ;	(sizeof=0x10, standard type) ; XREF: ...
left dd	?		; XREF:	...
top dd ?		; XREF:	...
right dd ?		; XREF:	...
bottom dd ?		; XREF:	...
tagRECT	ends


PALETTEENTRY struc ; (sizeof=0x4, standard type) ; XREF: ...
peRed db ?
peGreen	db ?
peBlue db ?
peFlags	db ?
PALETTEENTRY ends


POINT struc ; (sizeof=0x8, standard type) ; XREF: ...
x dd ?
y dd ?
POINT ends


RGBQUAD	struc ;	(sizeof=0x4, standard type) ; XREF: ...
rgbBlue	db ?
rgbGreen db ?
rgbRed db ?
rgbReserved db ?
RGBQUAD	ends


RECT struc ; (sizeof=0x10, standard type) ; XREF: ...
left dd	?		; XREF:	...
top dd ?		; XREF:	...
right dd ?
bottom dd ?
RECT ends


tagPALETTEENTRY	struc ;	(sizeof=0x4, standard type) ; XREF: ...
peRed db ?
peGreen	db ?
peBlue db ?
peFlags	db ?
tagPALETTEENTRY	ends


tagPOINT struc ; (sizeof=0x8, standard type) ; XREF: ...
x dd ?
y dd ?
tagPOINT ends


tagCOMPOSITIONFORM struc ; (sizeof=0x1C, standard type)	; XREF:	...
dwStyle	dd ?
ptCurrentPos POINT ?
rcArea RECT ?
tagCOMPOSITIONFORM ends


tagTEXTMETRICW struc ; (sizeof=0x3C, standard type) ; XREF: ...
tmHeight dd ?
tmAscent dd ?
tmDescent dd ?
tmInternalLeading dd ?
tmExternalLeading dd ?
tmAveCharWidth dd ?
tmMaxCharWidth dd ?
tmWeight dd ?
tmOverhang dd ?
tmDigitizedAspectX dd ?
tmDigitizedAspectY dd ?
tmFirstChar dw ?
tmLastChar dw ?
tmDefaultChar dw ?
tmBreakChar dw ?
tmItalic db ?
tmUnderlined db	?
tmStruckOut db ?
tmPitchAndFamily db ?
tmCharSet db ?
_padding db 3 dup(?)
tagTEXTMETRICW ends


tagLOGFONTW struc ; (sizeof=0x5C, standard type) ; XREF: ...
lfHeight dd ?
lfWidth	dd ?
lfEscapement dd	?
lfOrientation dd ?
lfWeight dd ?
lfItalic db ?
lfUnderline db ?
lfStrikeOut db ?
lfCharSet db ?
lfOutPrecision db ?
lfClipPrecision	db ?
lfQuality db ?
lfPitchAndFamily db ?
lfFaceName dw 32 dup(?)
tagLOGFONTW ends


IID struc ; (sizeof=0x10, standard type) ; XREF: ...
Data1 dd ?
Data2 dw ?
Data3 dw ?
Data4 db 8 dup(?)
IID ends


_SCOPETABLE_ENTRY struc	; (sizeof=0xC) ; XREF: ...
EnclosingLevel dd ?
FilterFunc dd ?		; offset
HandlerFunc dd ?	; offset
_SCOPETABLE_ENTRY ends


CPPEH_RECORD struc ; (sizeof=0x18) ; XREF: ...
old_esp	dd ?		; XREF:	...
exc_ptr	dd ?		; XREF:	... ; offset
registration _EH3_EXCEPTION_REGISTRATION ? ; XREF: ...
CPPEH_RECORD ends


_EH3_EXCEPTION_REGISTRATION struc ; (sizeof=0x10, standard type) ; XREF: ...
Next dd	?		; offset
ExceptionHandler dd ?	; offset
ScopeTable dd ?		; offset
TryLevel dd ?		; XREF:	...
_EH3_EXCEPTION_REGISTRATION ends


_STARTUPINFOW struc ; (sizeof=0x44, standard type) ; XREF: ...
cb dd ?
lpReserved dd ?		; offset
lpDesktop dd ?		; offset
lpTitle	dd ?		; offset
dwX dd ?
dwY dd ?
dwXSize	dd ?
dwYSize	dd ?
dwXCountChars dd ?
dwYCountChars dd ?
dwFillAttribute	dd ?
dwFlags	dd ?
wShowWindow dw ?
cbReserved2 dw ?
lpReserved2 dd ?	; offset
hStdInput dd ?		; offset
hStdOutput dd ?		; offset
hStdError dd ?		; offset
_STARTUPINFOW ends


tagWNDCLASSW struc ; (sizeof=0x28, standard type) ; XREF: ...
style dd ?
lpfnWndProc dd ?	; offset
cbClsExtra dd ?
cbWndExtra dd ?
hInstance dd ?		; offset
hIcon dd ?		; offset
hCursor	dd ?		; offset
hbrBackground dd ?	; offset
lpszMenuName dd	?	; offset
lpszClassName dd ?	; offset
tagWNDCLASSW ends


HBRUSH__ struc ; (sizeof=0x4, standard type) ; XREF: ...
unused dd ?
HBRUSH__ ends


HRGN__ struc ; (sizeof=0x4, standard type) ; XREF: ...
unused dd ?
HRGN__ ends


HPALETTE__ struc ; (sizeof=0x4,	standard type) ; XREF: ...
unused dd ?
HPALETTE__ ends


HBITMAP__ struc	; (sizeof=0x4, standard	type) ;	XREF: ...
unused dd ?
HBITMAP__ ends


LOGPALETTE struc ; (sizeof=0x8,	standard type) ; XREF: ...
palVersion dw ?
palNumEntries dw ?
palPalEntry PALETTEENTRY ?
LOGPALETTE ends


LOGFONTW struc ; (sizeof=0x5C, standard	type) ;	XREF: ...
lfHeight dd ?
lfWidth	dd ?
lfEscapement dd	?
lfOrientation dd ?
lfWeight dd ?
lfItalic db ?
lfUnderline db ?
lfStrikeOut db ?
lfCharSet db ?
lfOutPrecision db ?
lfClipPrecision	db ?
lfQuality db ?
lfPitchAndFamily db ?
lfFaceName dw 32 dup(?)
LOGFONTW ends


_msExcept7 struc ; (sizeof=0x1C) ; XREF: ...
Magic dd ?		; base 16
Count dd ?		; base 10
InfoPtr	dd ?		; offset
CountDtr dd ?		; base 10
DtrPtr dd ?		; offset
_unk dd	2 dup(?)
_msExcept7 ends


_msExcInfo struc ; (sizeof=0x8)	; XREF:	...
Id dd ?			; base 10
Proc dd	?		; offset
_msExcInfo ends


;
; +-------------------------------------------------------------------------+
; |   This file	has been generated by The Interactive Disassembler (IDA)    |
; |	      Copyright	(c) 2013 Hex-Rays, <support@hex-rays.com>	    |
; |			 License info: 48-3215-7394-8A			    |
; |  Universitaet Bonn/	Institut fuer Informatik Abteilung fuer	Informati   |
; +-------------------------------------------------------------------------+
;
; Input	MD5   :	57ADB09ED3617B042D155449490A9F76
; Input	CRC32 :	E9608AE7


include	uni.inc	; see unicode subdir of	ida for	info on	unicode

.686p
.mmx
.model flat


; [00001000 BYTES: COLLAPSED SEGMENT HEADER. PRESS KEYPAD CTRL-"+" TO EXPAND]
; File Name   :	Y:\binaries\mspaint.exe
; Format      :	Portable executable for	80386 (PE)
; Imagebase   :	1000000
; Section 1. (virtual address 00001000)
; Virtual size			: 0003BC64 ( 244836.)
; Section size in file		: 0003BE00 ( 245248.)
; Offset to raw	data for section: 00000400
; Flags	60000020: Text Executable Readable
; Alignment	: default
;
; Imports from ADVAPI32.dll
;

; Segment type:	Externs
; _idata
; LSTATUS __stdcall RegOpenKeyExA(HKEY hKey, LPCSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY	phkResult)
extrn RegOpenKeyExA:dword
; LSTATUS __stdcall RegCloseKey(HKEY hKey)
extrn RegCloseKey:dword
; LSTATUS __stdcall RegQueryValueExW(HKEY hKey,	LPCWSTR	lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE	lpData,	LPDWORD	lpcbData)
extrn RegQueryValueExW:dword
; LSTATUS __stdcall RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions,	REGSAM samDesired, PHKEY phkResult)
extrn RegOpenKeyExW:dword
; LSTATUS __stdcall RegSetValueExW(HKEY	hKey, LPCWSTR lpValueName, DWORD Reserved, DWORD dwType, const BYTE *lpData, DWORD cbData)
extrn RegSetValueExW:dword
; LSTATUS __stdcall RegCreateKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD Reserved, LPWSTR	lpClass, DWORD dwOptions, REGSAM samDesired, const LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult,	LPDWORD	lpdwDisposition)
extrn RegCreateKeyExW:dword
; LSTATUS __stdcall RegOpenKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
extrn RegOpenKeyW:dword
; LSTATUS __stdcall RegEnumKeyW(HKEY hKey, DWORD dwIndex, LPWSTR lpName, DWORD cchName)
extrn RegEnumKeyW:dword
; LSTATUS __stdcall RegQueryValueExA(HKEY hKey,	LPCSTR lpValueName, LPDWORD lpReserved,	LPDWORD	lpType,	LPBYTE lpData, LPDWORD lpcbData)
extrn RegQueryValueExA:dword

;
; Imports from GDI32.dll
;
; int __stdcall	SetDIBitsToDevice(HDC hdc, int xDest, int yDest, DWORD w, DWORD	h, int xSrc, int ySrc, UINT StartScan, UINT cLines, const void *lpvBits, const BITMAPINFO *lpbmi, UINT ColorUse)
extrn SetDIBitsToDevice:dword
; COLORREF __stdcall GetNearestColor(HDC hdc, COLORREF color)
extrn GetNearestColor:dword
; HPALETTE __stdcall CreatePalette(const LOGPALETTE *plpal)
extrn CreatePalette:dword
; BOOL __stdcall SetViewportExtEx(HDC hdc, int x, int y, LPSIZE	lpsz)
extrn SetViewportExtEx:dword
; BOOL __stdcall PlayMetaFile(HDC hdc, HMETAFILE hmf)
extrn PlayMetaFile:dword
; int __stdcall	SaveDC(HDC hdc)
extrn SaveDC:dword
; int __stdcall	SetMapMode(HDC hdc, int	iMode)
extrn SetMapMode:dword
; BOOL __stdcall LPtoDP(HDC hdc, LPPOINT lppt, int c)
extrn LPtoDP:dword
; BOOL __stdcall RestoreDC(HDC hdc, int	nSavedDC)
extrn RestoreDC:dword
; BOOL __stdcall Rectangle(HDC hdc, int	left, int top, int right, int bottom)
extrn Rectangle:dword
; UINT __stdcall SetDIBColorTable(HDC hdc, UINT	iStart,	UINT cEntries, const RGBQUAD *prgbq)
extrn SetDIBColorTable:dword
; HGDIOBJ __stdcall GetStockObject(int i)
extrn GetStockObject:dword
; BOOL __stdcall FillRgn(HDC hdc, HRGN hrgn, HBRUSH hbr)
extrn FillRgn:dword
; UINT __stdcall GetDIBColorTable(HDC hdc, UINT	iStart,	UINT cEntries, RGBQUAD *prgbq)
extrn GetDIBColorTable:dword
; HGDIOBJ __stdcall GetCurrentObject(HDC hdc, UINT type)
extrn GetCurrentObject:dword
; HBRUSH __stdcall CreatePatternBrush(HBITMAP hbm)
extrn CreatePatternBrush:dword
; HBRUSH __stdcall CreateSolidBrush(COLORREF color)
extrn CreateSolidBrush:dword
; BOOL __stdcall ResizePalette(HPALETTE	hpal, UINT n)
extrn ResizePalette:dword
; UINT __stdcall GetNearestPaletteIndex(HPALETTE h, COLORREF color)
extrn GetNearestPaletteIndex:dword
; UINT __stdcall SetPaletteEntries(HPALETTE hpal, UINT iStart, UINT cEntries, const PALETTEENTRY *pPalEntries)
extrn SetPaletteEntries:dword
; UINT __stdcall GetPaletteEntries(HPALETTE hpal, UINT iStart, UINT cEntries, LPPALETTEENTRY pPalEntries)
extrn GetPaletteEntries:dword
; int __stdcall	GetDeviceCaps(HDC hdc, int index)
extrn GetDeviceCaps:dword
; int __stdcall	SetDIBits(HDC hdc, HBITMAP hbm,	UINT start, UINT cLines, const void *lpBits, const BITMAPINFO *lpbmi, UINT ColorUse)
extrn SetDIBits:dword
; BOOL __stdcall DeleteObject(HGDIOBJ ho)
extrn DeleteObject:dword
; BOOL __stdcall DeleteDC(HDC hdc)
extrn DeleteDC:dword
; HBITMAP __stdcall CreateCompatibleBitmap(HDC hdc, int	cx, int	cy)
extrn CreateCompatibleBitmap:dword
; HBITMAP __stdcall CreateBitmap(int nWidth, int nHeight, UINT nPlanes,	UINT nBitCount,	const void *lpBits)
extrn CreateBitmap:dword
; HPALETTE __stdcall SelectPalette(HDC hdc, HPALETTE hPal, BOOL	bForceBkgd)
extrn SelectPalette:dword
; UINT __stdcall RealizePalette(HDC hdc)
extrn RealizePalette:dword
; int __stdcall	SetBkMode(HDC hdc, int mode)
extrn SetBkMode:dword
; COLORREF __stdcall SetTextColor(HDC hdc, COLORREF color)
extrn SetTextColor:dword
; COLORREF __stdcall SetBkColor(HDC hdc, COLORREF color)
extrn SetBkColor:dword
; BOOL __stdcall PatBlt(HDC hdc, int x,	int y, int w, int h, DWORD rop)
extrn PatBlt:dword
; HBITMAP __stdcall CreateDIBSection(HDC hdc, const BITMAPINFO *lpbmi, UINT usage, void	**ppvBits, HANDLE hSection, DWORD offset)
extrn CreateDIBSection:dword
; UINT __stdcall SetTextAlign(HDC hdc, UINT align)
extrn SetTextAlign:dword
; BOOL __stdcall ExtTextOutW(HDC hdc, int x, int y, UINT options, const	RECT *lprect, LPCWSTR lpString,	UINT c,	const INT *lpDx)
extrn ExtTextOutW:dword
; BOOL __stdcall GetTextMetricsW(HDC hdc, LPTEXTMETRICW	lptm)
extrn GetTextMetricsW:dword
; BOOL __stdcall GetTextExtentPoint32W(HDC hdc,	LPCWSTR	lpString, int c, LPSIZE	psizl)
extrn GetTextExtentPoint32W:dword
; BOOL __stdcall BitBlt(HDC hdc, int x,	int y, int cx, int cy, HDC hdcSrc, int x1, int y1, DWORD rop)
extrn BitBlt:dword
; HDC __stdcall	CreateCompatibleDC(HDC hdc)
extrn CreateCompatibleDC:dword
; HDC __stdcall	CreateICW(LPCWSTR pszDriver, LPCWSTR pszDevice,	LPCWSTR	pszPort, const DEVMODEW	*pdm)
extrn CreateICW:dword
; HRGN __stdcall CreateRectRgnIndirect(const RECT *lprect)
extrn CreateRectRgnIndirect:dword
; int __stdcall	GetObjectW(HANDLE h, int c, LPVOID pv)
extrn GetObjectW:dword
; HBITMAP __stdcall CreateDIBitmap(HDC hdc, const BITMAPINFOHEADER *pbmih, DWORD flInit, const void *pjBits, const BITMAPINFO *pbmi, UINT iUsage)
extrn CreateDIBitmap:dword
; BOOL __stdcall StretchBlt(HDC	hdcDest, int xDest, int	yDest, int wDest, int hDest, HDC hdcSrc, int xSrc, int ySrc, int wSrc, int hSrc, DWORD rop)
extrn StretchBlt:dword
; int __stdcall	OffsetRgn(HRGN hrgn, int x, int	y)
extrn OffsetRgn:dword
; BOOL __stdcall Polygon(HDC hdc, const	POINT *apt, int	cpt)
extrn Polygon:dword
; COLORREF __stdcall GetPixel(HDC hdc, int x, int y)
extrn GetPixel:dword
; HPALETTE __stdcall CreateHalftonePalette(HDC hdc)
extrn CreateHalftonePalette:dword
; int __stdcall	GetDIBits(HDC hdc, HBITMAP hbm,	UINT start, UINT cLines, LPVOID	lpvBits, LPBITMAPINFO lpbmi, UINT usage)
extrn GetDIBits:dword
; HPEN __stdcall CreatePen(int iStyle, int cWidth, COLORREF color)
extrn CreatePen:dword
; COLORREF __stdcall SetPixel(HDC hdc, int x, int y, COLORREF color)
extrn SetPixel:dword
; BOOL __stdcall LineTo(HDC hdc, int x,	int y)
extrn LineTo:dword
; BOOL __stdcall MoveToEx(HDC hdc, int x, int y, LPPOINT lppt)
extrn MoveToEx:dword
; BOOL __stdcall UnrealizeObject(HGDIOBJ h)
extrn UnrealizeObject:dword
; BOOL __stdcall SetBrushOrgEx(HDC hdc,	int x, int y, LPPOINT lppt)
extrn SetBrushOrgEx:dword
; BOOL __stdcall ExtFloodFill(HDC hdc, int x, int y, COLORREF color, UINT type)
extrn ExtFloodFill:dword
; BOOL __stdcall RoundRect(HDC hdc, int	left, int top, int right, int bottom, int width, int height)
extrn RoundRect:dword
; HRGN __stdcall CreatePolygonRgn(const	POINT *pptl, int cPoint, int iMode)
extrn CreatePolygonRgn:dword
; HFONT	__stdcall CreateFontIndirectW(const LOGFONTW *lplf)
extrn CreateFontIndirectW:dword
; HDC __stdcall	CreateDCW(LPCWSTR pwszDriver, LPCWSTR pwszDevice, LPCWSTR pszPort, const DEVMODEW *pdm)
extrn CreateDCW:dword
; BOOL __stdcall PtVisible(HDC hdc, int	x, int y)
extrn PtVisible:dword
; BOOL __stdcall RectVisible(HDC hdc, const RECT *lprect)
extrn RectVisible:dword
; BOOL __stdcall TextOutW(HDC hdc, int x, int y, LPCWSTR lpString, int c)
extrn TextOutW:dword
; int __stdcall	Escape(HDC hdc,	int iEscape, int cjIn, LPCSTR pvIn, LPVOID pvOut)
extrn Escape:dword
; int __stdcall	StretchDIBits(HDC hdc, int xDest, int yDest, int DestWidth, int	DestHeight, int	xSrc, int ySrc,	int SrcWidth, int SrcHeight, const void	*lpBits, const BITMAPINFO *lpbmi, UINT iUsage, DWORD rop)
extrn StretchDIBits:dword
; BOOL __stdcall TranslateCharsetInfo(DWORD *lpSrc, LPCHARSETINFO lpCs,	DWORD dwFlags)
extrn TranslateCharsetInfo:dword
; int __stdcall	GetBkMode(HDC hdc)
extrn GetBkMode:dword
; COLORREF __stdcall GetTextColor(HDC hdc)
extrn GetTextColor:dword
; int __stdcall	EnumFontFamiliesW(HDC hdc, LPCWSTR lpLogfont, FONTENUMPROCW lpProc, LPARAM lParam)
extrn EnumFontFamiliesW:dword
; int __stdcall	EnumFontFamiliesExW(HDC	hdc, LPLOGFONTW	lpLogfont, FONTENUMPROCW lpProc, LPARAM	lParam,	DWORD dwFlags)
extrn EnumFontFamiliesExW:dword
; BOOL __stdcall PolyBezier(HDC	hdc, const POINT *apt, DWORD cpt)
extrn PolyBezier:dword
; int __stdcall	SetROP2(HDC hdc, int rop2)
extrn SetROP2:dword
; BOOL __stdcall Polyline(HDC hdc, const POINT *apt, int cpt)
extrn Polyline:dword
; HGDIOBJ __stdcall SelectObject(HDC hdc, HGDIOBJ h)
extrn SelectObject:dword
; BOOL __stdcall Ellipse(HDC hdc, int left, int	top, int right,	int bottom)
extrn Ellipse:dword
; int __stdcall	SetStretchBltMode(HDC hdc, int mode)
extrn SetStretchBltMode:dword

;
; Imports from IMM32.dll
;
; LONG __stdcall ImmGetCompositionStringW(HIMC,	DWORD, LPVOID lpBuf, DWORD dwBufLen)
extrn __imp_ImmGetCompositionStringW:dword
; BOOL __stdcall ImmGetCompositionWindow(HIMC, LPCOMPOSITIONFORM lpCompForm)
extrn __imp_ImmGetCompositionWindow:dword
; HIMC __stdcall ImmGetContext(HWND)
extrn __imp_ImmGetContext:dword
; BOOL __stdcall ImmSetCompositionWindow(HIMC, LPCOMPOSITIONFORM lpCompForm)
extrn __imp_ImmSetCompositionWindow:dword
; BOOL __stdcall ImmReleaseContext(HWND, HIMC)
extrn __imp_ImmReleaseContext:dword
; HIMC __stdcall ImmAssociateContext(HWND, HIMC)
extrn __imp_ImmAssociateContext:dword
; BOOL __stdcall ImmNotifyIME(HIMC, DWORD dwAction, DWORD dwIndex, DWORD dwValue)
extrn __imp_ImmNotifyIME:dword

;
; Imports from KERNEL32.dll
;
; BOOL __stdcall QueryPerformanceCounter(LARGE_INTEGER *lpPerformanceCount)
extrn QueryPerformanceCounter:dword
; BOOL __stdcall GetExitCodeThread(HANDLE hThread, LPDWORD lpExitCode)
extrn GetExitCodeThread:dword
; BOOL __stdcall TerminateThread(HANDLE	hThread, DWORD dwExitCode)
extrn TerminateThread:dword
; LONG __stdcall InterlockedDecrement(volatile LONG *lpAddend)
extrn InterlockedDecrement:dword
; LONG __stdcall InterlockedIncrement(volatile LONG *lpAddend)
extrn InterlockedIncrement:dword
; HGLOBAL __stdcall GlobalReAlloc(HGLOBAL hMem,	SIZE_T dwBytes,	UINT uFlags)
extrn GlobalReAlloc:dword
; int __stdcall	lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
extrn lstrcmpW:dword
; BOOL __stdcall IsDBCSLeadByte(BYTE TestChar)
extrn IsDBCSLeadByte:dword
; LPWSTR __stdcall lstrcpyW(LPWSTR lpString1, LPCWSTR lpString2)
extrn lstrcpyW:dword
; HMODULE __stdcall LoadLibraryW(LPCWSTR lpLibFileName)
extrn LoadLibraryW:dword
; UINT __stdcall GetACP()
extrn GetACP:dword
; LCID __stdcall GetThreadLocale()
extrn GetThreadLocale:dword
; HMODULE __stdcall GetModuleHandleA(LPCSTR lpModuleName)
extrn GetModuleHandleA:dword
; DWORD	__stdcall GetTickCount()
extrn GetTickCount:dword
; HMODULE __stdcall GetModuleHandleW(LPCWSTR lpModuleName)
extrn GetModuleHandleW:dword
; LPWSTR __stdcall lstrcpynW(LPWSTR lpString1, LPCWSTR lpString2, int iMaxLength)
extrn lstrcpynW:dword
; DWORD	__stdcall GetLastError()
extrn GetLastError:dword
; LPWSTR __stdcall GetCommandLineW()
extrn GetCommandLineW:dword
; int __stdcall	lstrcmpiW(LPCWSTR lpString1, LPCWSTR lpString2)
extrn lstrcmpiW:dword
; FARPROC __stdcall GetProcAddress(HMODULE hModule, LPCSTR lpProcName)
extrn GetProcAddress:dword
; BOOL __stdcall SetEndOfFile(HANDLE hFile)
extrn SetEndOfFile:dword
; HANDLE __stdcall FindFirstFileW(LPCWSTR lpFileName, LPWIN32_FIND_DATAW lpFindFileData)
extrn FindFirstFileW:dword
; BOOL __stdcall FindClose(HANDLE hFindFile)
extrn FindClose:dword
; DWORD	__stdcall GetCurrentThreadId()
extrn GetCurrentThreadId:dword
; HLOCAL __stdcall LocalAlloc(UINT uFlags, SIZE_T uBytes)
extrn LocalAlloc:dword
; HLOCAL __stdcall LocalFree(HLOCAL hMem)
extrn LocalFree:dword
; int __stdcall	lstrlenA(LPCSTR	lpString)
extrn lstrlenA:dword
; int __stdcall	MultiByteToWideChar(UINT CodePage, DWORD dwFlags, LPCSTR lpMultiByteStr, int cbMultiByte, LPWSTR lpWideCharStr,	int cchWideChar)
extrn MultiByteToWideChar:dword
; DWORD	__stdcall GetTempPathW(DWORD nBufferLength, LPWSTR lpBuffer)
extrn GetTempPathW:dword
; UINT __stdcall GetTempFileNameW(LPCWSTR lpPathName, LPCWSTR lpPrefixString, UINT uUnique, LPWSTR lpTempFileName)
extrn GetTempFileNameW:dword
; DWORD	__stdcall GetFileAttributesW(LPCWSTR lpFileName)
extrn GetFileAttributesW:dword
; BOOL __stdcall CreateDirectoryW(LPCWSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes)
extrn CreateDirectoryW:dword
; HANDLE __stdcall CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD	dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile)
extrn CreateFileW:dword
; DWORD	__stdcall GetFileSize(HANDLE hFile, LPDWORD lpFileSizeHigh)
extrn GetFileSize:dword
; BOOL __stdcall GetFileTime(HANDLE hFile, LPFILETIME lpCreationTime, LPFILETIME lpLastAccessTime, LPFILETIME lpLastWriteTime)
extrn GetFileTime:dword
; BOOL __stdcall FileTimeToLocalFileTime(const FILETIME	*lpFileTime, LPFILETIME	lpLocalFileTime)
extrn FileTimeToLocalFileTime:dword
; BOOL __stdcall FileTimeToSystemTime(const FILETIME *lpFileTime, LPSYSTEMTIME lpSystemTime)
extrn FileTimeToSystemTime:dword
; int __stdcall	GetDateFormatW(LCID Locale, DWORD dwFlags, const SYSTEMTIME *lpDate, LPCWSTR lpFormat, LPWSTR lpDateStr, int cchDate)
extrn GetDateFormatW:dword
; int __stdcall	GetTimeFormatW(LCID Locale, DWORD dwFlags, const SYSTEMTIME *lpTime, LPCWSTR lpFormat, LPWSTR lpTimeStr, int cchTime)
extrn GetTimeFormatW:dword
; BOOL __stdcall CloseHandle(HANDLE hObject)
extrn CloseHandle:dword
; int __stdcall	GetNumberFormatW(LCID Locale, DWORD dwFlags, LPCWSTR lpValue, const NUMBERFMTW *lpFormat, LPWSTR lpNumberStr, int cchNumber)
extrn GetNumberFormatW:dword
; int __stdcall	MulDiv(int nNumber, int	nNumerator, int	nDenominator)
extrn MulDiv:dword
; int __stdcall	GetLocaleInfoW(LCID Locale, LCTYPE LCType, LPWSTR lpLCData, int	cchData)
extrn GetLocaleInfoW:dword
; LPWSTR __stdcall lstrcatW(LPWSTR lpString1, LPCWSTR lpString2)
extrn lstrcatW:dword
; LPVOID __stdcall GlobalLock(HGLOBAL hMem)
extrn GlobalLock:dword
; BOOL __stdcall GlobalUnlock(HGLOBAL hMem)
extrn GlobalUnlock:dword
; HGLOBAL __stdcall GlobalFree(HGLOBAL hMem)
extrn GlobalFree:dword
; HGLOBAL __stdcall GlobalAlloc(UINT uFlags, SIZE_T dwBytes)
extrn GlobalAlloc:dword
; int __stdcall	lstrlenW(LPCWSTR lpString)
extrn lstrlenW:dword
; DWORD	__stdcall GetCurrentProcessId()
extrn GetCurrentProcessId:dword
; void __stdcall GetSystemTimeAsFileTime(LPFILETIME lpSystemTimeAsFileTime)
extrn GetSystemTimeAsFileTime:dword
; BOOL __stdcall TerminateProcess(HANDLE hProcess, UINT	uExitCode)
extrn TerminateProcess:dword
; HANDLE __stdcall GetCurrentProcess()
extrn GetCurrentProcess:dword
; LONG __stdcall UnhandledExceptionFilter(struct _EXCEPTION_POINTERS *ExceptionInfo)
extrn UnhandledExceptionFilter:dword
; LPTOP_LEVEL_EXCEPTION_FILTER __stdcall SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter)
extrn SetUnhandledExceptionFilter:dword
; UINT __stdcall SetErrorMode(UINT uMode)
extrn SetErrorMode:dword
; HMODULE __stdcall LoadLibraryA(LPCSTR	lpLibFileName)
extrn LoadLibraryA:dword
; BOOL __stdcall FreeLibrary(HMODULE hLibModule)
extrn FreeLibrary:dword
; LONG __stdcall InterlockedExchange(volatile LONG *Target, LONG Value)
extrn InterlockedExchange:dword
; void __stdcall RaiseException(DWORD dwExceptionCode, DWORD dwExceptionFlags, DWORD nNumberOfArguments, const ULONG_PTR *lpArguments)
extrn RaiseException:dword
; void __stdcall GetStartupInfoW(LPSTARTUPINFOW	lpStartupInfo)
extrn GetStartupInfoW:dword

;
; Imports from MFC42u.DLL
;
; __declspec(dllimport)	public:	int __thiscall CWnd::GetCheckedRadioButton(int,	int)
extrn __imp_?GetCheckedRadioButton@CWnd@@QAEHHH@Z:dword
; __declspec(dllimport)	public:	int __thiscall CWnd::EnableWindow(int)
extrn __imp_?EnableWindow@CWnd@@QAEHH@Z:dword
; __declspec(dllimport)	public:	class CWnd * __thiscall	CWnd::GetDlgItem(int)const
extrn __imp_?GetDlgItem@CWnd@@QBEPAV1@H@Z:dword
; __declspec(dllimport)	public:	unsigned int __thiscall	CWnd::IsDlgButtonChecked(int)const
extrn __imp_?IsDlgButtonChecked@CWnd@@QBEIH@Z:dword
; __declspec(dllimport)	public:	int __thiscall CString::Find(unsigned short)const
extrn __imp_?Find@CString@@QBEHG@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CWnd::SetWindowTextW(unsigned short const *)
extrn __imp_?SetWindowTextW@CWnd@@QAEXPBG@Z:dword
; __declspec(dllimport)	public:	void __cdecl CString::Format(unsigned short const *, ...)
extrn __imp_?Format@CString@@QAAXPBGZZ:dword
; __declspec(dllimport)	public:	void __thiscall	CWnd::CheckDlgButton(int, unsigned int)
extrn __imp_?CheckDlgButton@CWnd@@QAEXHI@Z:dword
; __declspec(dllimport)	public:	class CString const & __thiscall CString::operator+=(class CString const &)
extrn __imp_??YCString@@QAEABV0@ABV0@@Z:dword
; __declspec(dllimport)	public:	class CString const & __thiscall CString::operator+=(unsigned short const *)
extrn __imp_??YCString@@QAEABV0@PBG@Z:dword
; __declspec(dllimport)	void __stdcall DDV_MinMaxInt(class CDataExchange *, int, int, int)
extrn __imp_?DDV_MinMaxInt@@YGXPAVCDataExchange@@HHH@Z:dword
; __declspec(dllimport)	void __stdcall DDX_Text(class CDataExchange *, int, int	&)
extrn __imp_?DDX_Text@@YGXPAVCDataExchange@@HAAH@Z:dword
; __declspec(dllimport)	public:	virtual	__thiscall CPaintDC::~CPaintDC(void)
extrn __imp_??1CPaintDC@@UAE@XZ:dword
; __declspec(dllimport)	public:	__thiscall CPaintDC::CPaintDC(class CWnd *)
extrn __imp_??0CPaintDC@@QAE@PAVCWnd@@@Z:dword
; __declspec(dllimport)	void __stdcall DDV_MaxChars(class CDataExchange	*, class CString const &, int)
extrn __imp_?DDV_MaxChars@@YGXPAVCDataExchange@@ABVCString@@H@Z:dword
; __declspec(dllimport)	void __stdcall DDX_Text(class CDataExchange *, int, class CString &)
extrn __imp_?DDX_Text@@YGXPAVCDataExchange@@HAAVCString@@@Z:dword
; __declspec(dllimport)	public:	int __thiscall CDC::SetStretchBltMode(int)
extrn __imp_?SetStretchBltMode@CDC@@QAEHH@Z:dword
; public: void __thiscall CControlBar::OnWindowPosChanging(struct tagWINDOWPOS *)
extrn ?OnWindowPosChanging@CControlBar@@QAEXPAUtagWINDOWPOS@@@Z:dword
; protected: static struct AFX_MSGMAP const CControlBar::messageMap
extrn ?messageMap@CControlBar@@1UAFX_MSGMAP@@B:dword
; __declspec(dllimport)	protected: long	__thiscall CWnd::Default(void)
extrn __imp_?Default@CWnd@@IAEJXZ:dword
; __declspec(dllimport)	public:	class CPen * __thiscall	CDC::SelectObject(class	CPen *)
extrn __imp_?SelectObject@CDC@@QAEPAVCPen@@PAV2@@Z:dword
; __declspec(dllimport)	public:	virtual	class CGdiObject * __thiscall CDC::SelectStockObject(int)
extrn __imp_?SelectStockObject@CDC@@UAEPAVCGdiObject@@H@Z:dword
; __declspec(dllimport)	public:	class CBrush * __thiscall CDC::SelectObject(class CBrush *)
extrn __imp_?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CControlBar::OnBarStyleChange(unsigned long, unsigned long)
extrn __imp_?OnBarStyleChange@CControlBar@@UAEXKK@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CControlBar::PreCreateWindow(struct tagCREATESTRUCTW &)
extrn __imp_?PreCreateWindow@CControlBar@@UAEHAAUtagCREATESTRUCTW@@@Z:dword
; public: virtual struct CRuntimeClass * __thiscall CControlBar::GetRuntimeClass(void)const
extrn ?GetRuntimeClass@CControlBar@@UBEPAUCRuntimeClass@@XZ:dword
; __declspec(dllimport)	protected: __thiscall CControlBar::CControlBar(void)
extrn __imp_??0CControlBar@@IAE@XZ:dword
; __declspec(dllimport)	public:	virtual	__thiscall CControlBar::~CControlBar(void)
extrn __imp_??1CControlBar@@UAE@XZ:dword
; __declspec(dllimport)	public:	void __thiscall	CControlBar::OnLButtonDown(unsigned int, class CPoint)
extrn __imp_?OnLButtonDown@CControlBar@@QAEXIVCPoint@@@Z:dword
; public: virtual struct CRuntimeClass * __thiscall CPalette::GetRuntimeClass(void)const
extrn ?GetRuntimeClass@CPalette@@UBEPAUCRuntimeClass@@XZ:dword
; __declspec(dllimport)	public:	int __thiscall CWnd::GetWindowTextLengthW(void)const
extrn __imp_?GetWindowTextLengthW@CWnd@@QBEHXZ:dword
; __declspec(dllimport)	public:	void __thiscall	COleServerItem::CopyToClipboard(int)
extrn __imp_?CopyToClipboard@COleServerItem@@QAEXH@Z:dword
; __declspec(dllimport)	void __stdcall AfxThrowLastCleanup(void)
extrn __imp_?AfxThrowLastCleanup@@YGXXZ:dword
; __declspec(dllimport)	int __stdcall AfxMessageBox(unsigned int, unsigned int,	unsigned int)
extrn __imp_?AfxMessageBox@@YGHIII@Z:dword
; protected: struct HBRUSH__ * __thiscall CDialog::OnCtlColor(class CDC	*, class CWnd *, unsigned int)
extrn ?OnCtlColor@CDialog@@IAEPAUHBRUSH__@@PAVCDC@@PAVCWnd@@I@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CWnd::SetDlgItemInt(int, unsigned int, int)
extrn __imp_?SetDlgItemInt@CWnd@@QAEXHIH@Z:dword
; __declspec(dllimport)	public:	class CWnd * __thiscall	CWnd::SetFocus(void)
extrn __imp_?SetFocus@CWnd@@QAEPAV1@XZ:dword
; __declspec(dllimport)	public:	unsigned int __thiscall	CWnd::GetDlgItemInt(int, int *,	int)const
extrn __imp_?GetDlgItemInt@CWnd@@QBEIHPAHH@Z:dword
; __declspec(dllimport)	protected: void	__thiscall CWnd::OnMeasureItem(int, struct tagMEASUREITEMSTRUCT	*)
extrn __imp_?OnMeasureItem@CWnd@@IAEXHPAUtagMEASUREITEMSTRUCT@@@Z:dword
; __declspec(dllimport)	protected: void	__thiscall CWnd::OnDrawItem(int, struct	tagDRAWITEMSTRUCT *)
extrn __imp_?OnDrawItem@CWnd@@IAEXHPAUtagDRAWITEMSTRUCT@@@Z:dword
; __declspec(dllimport)	public:	class CString const & __thiscall CString::operator=(class CString const	&)
extrn __imp_??4CString@@QAEABV0@ABV0@@Z:dword
; __declspec(dllimport)	class CString __stdcall	operator+(class	CString	const &, class CString const &)
extrn __imp_??H@YG?AVCString@@ABV0@0@Z:dword
; __declspec(dllimport)	public:	static void __stdcall CFile::Remove(unsigned short const *)
extrn __imp_?Remove@CFile@@SGXPBG@Z:dword
; __declspec(dllimport)	public:	class CString __thiscall CString::Left(int)const
extrn __imp_?Left@CString@@QBE?AV1@H@Z:dword
; __declspec(dllimport)	public:	int __thiscall CString::ReverseFind(unsigned short)const
extrn __imp_?ReverseFind@CString@@QBEHG@Z:dword
; __declspec(dllimport)	public:	class CString __thiscall CString::Right(int)const
extrn __imp_?Right@CString@@QBE?AV1@H@Z:dword
; __declspec(dllimport)	public:	__thiscall CString::CString(unsigned short, int)
extrn __imp_??0CString@@QAE@GH@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CString::MakeUpper(void)
extrn __imp_?MakeUpper@CString@@QAEXXZ:dword
; __declspec(dllimport)	public:	static void __stdcall CFile::Rename(unsigned short const *, unsigned short const *)
extrn __imp_?Rename@CFile@@SGXPBG0@Z:dword
; __declspec(dllimport)	protected: void	__thiscall COleServerDoc::NotifyAllItems(enum  OLE_NOTIFICATION, unsigned long)
extrn __imp_?NotifyAllItems@COleServerDoc@@IAEXW4OLE_NOTIFICATION@@K@Z:dword
; __declspec(dllimport)	public:	virtual	__thiscall CWindowDC::~CWindowDC(void)
extrn __imp_??1CWindowDC@@UAE@XZ:dword
; __declspec(dllimport)	public:	__thiscall CWindowDC::CWindowDC(class CWnd *)
extrn __imp_??0CWindowDC@@QAE@PAVCWnd@@@Z:dword
; __declspec(dllimport)	public:	int __thiscall CDC::IntersectClipRect(struct tagRECT const *)
extrn __imp_?IntersectClipRect@CDC@@QAEHPBUtagRECT@@@Z:dword
; __declspec(dllimport)	public:	int __thiscall CDC::SetROP2(int)
extrn __imp_?SetROP2@CDC@@QAEHH@Z:dword
; __declspec(dllimport)	public:	class CPoint __thiscall	CDC::SetWindowOrg(int, int)
extrn __imp_?SetWindowOrg@CDC@@QAE?AVCPoint@@HH@Z:dword
; public: static struct	CRuntimeClass const CWnd::classCWnd
extrn ?classCWnd@CWnd@@2UCRuntimeClass@@B:dword
; protected: static struct AFX_MSGMAP const CWnd::messageMap
extrn ?messageMap@CWnd@@1UAFX_MSGMAP@@B:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWnd::PreTranslateMessage(struct	tagMSG *)
extrn __imp_?PreTranslateMessage@CWnd@@UAEHPAUtagMSG@@@Z:dword
; __declspec(dllimport)	public:	virtual	__thiscall CWnd::~CWnd(void)
extrn __imp_??1CWnd@@UAE@XZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CMenu::MeasureItem(struct tagMEASUREITEMSTRUCT *)
extrn __imp_?MeasureItem@CMenu@@UAEXPAUtagMEASUREITEMSTRUCT@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CMenu::DrawItem(struct tagDRAWITEMSTRUCT *)
extrn __imp_?DrawItem@CMenu@@UAEXPAUtagDRAWITEMSTRUCT@@@Z:dword
; public: virtual struct CRuntimeClass * __thiscall CMenu::GetRuntimeClass(void)const
extrn ?GetRuntimeClass@CMenu@@UBEPAUCRuntimeClass@@XZ:dword
; __declspec(dllimport)	public:	int __thiscall CMenu::DestroyMenu(void)
extrn __imp_?DestroyMenu@CMenu@@QAEHXZ:dword
; __declspec(dllimport)	public:	static class CMenu * __stdcall CMenu::FromHandle(struct	HMENU__	*)
extrn __imp_?FromHandle@CMenu@@SGPAV1@PAUHMENU__@@@Z:dword
; __declspec(dllimport)	public:	int __thiscall CMenu::Attach(struct HMENU__ *)
extrn __imp_?Attach@CMenu@@QAEHPAUHMENU__@@@Z:dword
; __declspec(dllimport)	public:	unsigned long __thiscall CWnd::GetExStyle(void)const
extrn __imp_?GetExStyle@CWnd@@QBEKXZ:dword
; __declspec(dllimport)	public:	__thiscall CWnd::CWnd(void)
extrn __imp_??0CWnd@@QAE@XZ:dword
; __declspec(dllimport)	unsigned short const * __stdcall AfxRegisterWndClass(unsigned int, struct HICON__ *, struct HBRUSH__ *,	struct HICON__ *)
extrn __imp_?AfxRegisterWndClass@@YGPBGIPAUHICON__@@PAUHBRUSH__@@0@Z:dword
; __declspec(dllimport)	public:	int __thiscall CWnd::GetScrollInfo(int,	struct tagSCROLLINFO *,	unsigned int)
extrn __imp_?GetScrollInfo@CWnd@@QAEHHPAUtagSCROLLINFO@@I@Z:dword
; __declspec(dllimport)	public:	int __thiscall CWnd::SetScrollInfo(int,	struct tagSCROLLINFO *,	int)
extrn __imp_?SetScrollInfo@CWnd@@QAEHHPAUtagSCROLLINFO@@H@Z:dword
; __declspec(dllimport)	public:	int __thiscall CMenu::TrackPopupMenu(unsigned int, int,	int, class CWnd	*, struct tagRECT const	*)
extrn __imp_?TrackPopupMenu@CMenu@@QAEHIHHPAVCWnd@@PBUtagRECT@@@Z:dword
; __declspec(dllimport)	public:	class CFrameWnd	* __thiscall CWnd::GetParentFrame(void)const
extrn __imp_?GetParentFrame@CWnd@@QBEPAVCFrameWnd@@XZ:dword
; __declspec(dllimport)	protected: static struct tagMSG	const *	__stdcall CWnd::GetCurrentMessage(void)
extrn __imp_?GetCurrentMessage@CWnd@@KGPBUtagMSG@@XZ:dword
; protected: int __thiscall COleIPFrameWnd::OnBarCheck(unsigned	int)
extrn ?OnBarCheck@COleIPFrameWnd@@IAEHI@Z:dword
; protected: void __thiscall COleIPFrameWnd::OnUpdateControlBarMenu(class CCmdUI *)
extrn ?OnUpdateControlBarMenu@COleIPFrameWnd@@IAEXPAVCCmdUI@@@Z:dword
; protected: void __thiscall COleIPFrameWnd::OnContextHelp(void)
extrn ?OnContextHelp@COleIPFrameWnd@@IAEXXZ:dword
; protected: void __thiscall CFrameWnd::OnHelp(void)
extrn ?OnHelp@CFrameWnd@@IAEXXZ:dword
; public: void __thiscall CWnd::OnHelpUsing(void)
extrn ?OnHelpUsing@CWnd@@QAEXXZ:dword
; public: static struct	CRuntimeClass const COleIPFrameWnd::classCOleIPFrameWnd
extrn ?classCOleIPFrameWnd@COleIPFrameWnd@@2UCRuntimeClass@@B:dword
; protected: static struct AFX_MSGMAP const COleIPFrameWnd::messageMap
extrn ?messageMap@COleIPFrameWnd@@1UAFX_MSGMAP@@B:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleIPFrameWnd::OnRequestPositionChange(struct tagRECT const	*)
extrn __imp_?OnRequestPositionChange@COleIPFrameWnd@@MAEXPBUtagRECT@@@Z:dword
; __declspec(dllimport)	protected: virtual struct HMENU__ * __thiscall COleIPFrameWnd::GetInPlaceMenu(void)
extrn __imp_?GetInPlaceMenu@COleIPFrameWnd@@MAEPAUHMENU__@@XZ:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleIPFrameWnd::DestroySharedMenu(void)
extrn __imp_?DestroySharedMenu@COleIPFrameWnd@@MAEXXZ:dword
; __declspec(dllimport)	protected: virtual int __thiscall COleIPFrameWnd::BuildSharedMenu(void)
extrn __imp_?BuildSharedMenu@COleIPFrameWnd@@MAEHXZ:dword
; __declspec(dllimport)	public:	virtual	long __thiscall	COleIPFrameWnd::OnSetMessageString(unsigned int, long)
extrn __imp_?OnSetMessageString@COleIPFrameWnd@@UAEJIJ@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleIPFrameWnd::OnCreateControlBars(class CWnd *, class CWnd *)
extrn __imp_?OnCreateControlBars@COleIPFrameWnd@@UAEHPAVCWnd@@0@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CFrameWnd::ExitHelpMode(void)
extrn __imp_?ExitHelpMode@CFrameWnd@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CFrameWnd::DelayUpdateFrameMenu(struct HMENU__ *)
extrn __imp_?DelayUpdateFrameMenu@CFrameWnd@@UAEXPAUHMENU__@@@Z:dword
; __declspec(dllimport)	public:	virtual	struct HACCEL__	* __thiscall CFrameWnd::GetDefaultAccelerator(void)
extrn __imp_?GetDefaultAccelerator@CFrameWnd@@UAEPAUHACCEL__@@XZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CFrameWnd::OnUpdateFrameMenu(struct HMENU__ *)
extrn __imp_?OnUpdateFrameMenu@CFrameWnd@@UAEXPAUHMENU__@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CFrameWnd::OnUpdateFrameTitle(int)
extrn __imp_?OnUpdateFrameTitle@CFrameWnd@@UAEXH@Z:dword
; __declspec(dllimport)	protected: virtual int __thiscall CFrameWnd::OnCreateClient(struct tagCREATESTRUCTW *, struct CCreateContext *)
extrn __imp_?OnCreateClient@CFrameWnd@@MAEHPAUtagCREATESTRUCTW@@PAUCCreateContext@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CFrameWnd::NegotiateBorderSpace(unsigned	int, struct tagRECT *)
extrn __imp_?NegotiateBorderSpace@CFrameWnd@@UAEHIPAUtagRECT@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CFrameWnd::OnSetPreviewMode(int, struct	CPrintPreviewState *)
extrn __imp_?OnSetPreviewMode@CFrameWnd@@UAEXHPAUCPrintPreviewState@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CFrameWnd::ActivateFrame(int)
extrn __imp_?ActivateFrame@CFrameWnd@@UAEXH@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleIPFrameWnd::RecalcLayout(int)
extrn __imp_?RecalcLayout@COleIPFrameWnd@@UAEXH@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CFrameWnd::GetMessageString(unsigned int, class	CString	&)const
extrn __imp_?GetMessageString@CFrameWnd@@UBEXIAAVCString@@@Z:dword
; __declspec(dllimport)	public:	virtual	class CFrameWnd	* __thiscall CFrameWnd::GetActiveFrame(void)
extrn __imp_?GetActiveFrame@CFrameWnd@@UAEPAV1@XZ:dword
; __declspec(dllimport)	public:	virtual	class CDocument	* __thiscall CFrameWnd::GetActiveDocument(void)
extrn __imp_?GetActiveDocument@CFrameWnd@@UAEPAVCDocument@@XZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleIPFrameWnd::LoadFrame(unsigned int, unsigned	long, class CWnd *, struct CCreateContext *)
extrn __imp_?LoadFrame@COleIPFrameWnd@@UAEHIKPAVCWnd@@PAUCCreateContext@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CFrameWnd::IsFrameWnd(void)const
extrn __imp_?IsFrameWnd@CFrameWnd@@UBEHXZ:dword
; __declspec(dllimport)	protected: virtual void	__thiscall CFrameWnd::PostNcDestroy(void)
extrn __imp_?PostNcDestroy@CFrameWnd@@MAEXXZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleIPFrameWnd::PreTranslateMessage(struct tagMSG *)
extrn __imp_?PreTranslateMessage@COleIPFrameWnd@@UAEHPAUtagMSG@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CFrameWnd::EndModalState(void)
extrn __imp_?EndModalState@CFrameWnd@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CFrameWnd::BeginModalState(void)
extrn __imp_?BeginModalState@CFrameWnd@@UAEXXZ:dword
; __declspec(dllimport)	protected: virtual int __thiscall CFrameWnd::OnCommand(unsigned	int, long)
extrn __imp_?OnCommand@CFrameWnd@@MAEHIJ@Z:dword
; __declspec(dllimport)	protected: virtual int __thiscall CFrameWnd::PreCreateWindow(struct tagCREATESTRUCTW &)
extrn __imp_?PreCreateWindow@CFrameWnd@@MAEHAAUtagCREATESTRUCTW@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CFrameWnd::OnCmdMsg(unsigned int, int, void *, struct AFX_CMDHANDLERINFO	*)
extrn __imp_?OnCmdMsg@CFrameWnd@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z:dword
; __declspec(dllimport)	public:	virtual	__thiscall COleIPFrameWnd::~COleIPFrameWnd(void)
extrn __imp_??1COleIPFrameWnd@@UAE@XZ:dword
; __declspec(dllimport)	public:	virtual	__thiscall COleResizeBar::~COleResizeBar(void)
extrn __imp_??1COleResizeBar@@UAE@XZ:dword
; __declspec(dllimport)	public:	virtual	__thiscall COleDropTarget::~COleDropTarget(void)
extrn __imp_??1COleDropTarget@@UAE@XZ:dword
; protected: void __thiscall CFrameWnd::OnClose(void)
extrn ?OnClose@CFrameWnd@@IAEXXZ:dword
; __declspec(dllimport)	public:	void __thiscall	CFrameWnd::SaveBarState(unsigned short const *)const
extrn __imp_?SaveBarState@CFrameWnd@@QBEXPBG@Z:dword
; __declspec(dllimport)	public:	int __thiscall COleDropTarget::Register(class CWnd *)
extrn __imp_?Register@COleDropTarget@@QAEHPAVCWnd@@@Z:dword
; __declspec(dllimport)	public:	int __thiscall COleResizeBar::Create(class CWnd	*, unsigned long, unsigned int)
extrn __imp_?Create@COleResizeBar@@QAEHPAVCWnd@@KI@Z:dword
; __declspec(dllimport)	protected: int __thiscall COleIPFrameWnd::OnCreate(struct tagCREATESTRUCTW *)
extrn __imp_?OnCreate@COleIPFrameWnd@@IAEHPAUtagCREATESTRUCTW@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleIPFrameWnd::RepositionFrame(struct tagRECT const *,	struct tagRECT const *)
extrn __imp_?RepositionFrame@COleIPFrameWnd@@UAEXPBUtagRECT@@0@Z:dword
; protected: void __thiscall COleIPFrameWnd::OnSize(unsigned int, int, int)
extrn ?OnSize@COleIPFrameWnd@@IAEXIHH@Z:dword
; __declspec(dllimport)	public:	__thiscall COleDropTarget::COleDropTarget(void)
extrn __imp_??0COleDropTarget@@QAE@XZ:dword
; __declspec(dllimport)	public:	__thiscall COleResizeBar::COleResizeBar(void)
extrn __imp_??0COleResizeBar@@QAE@XZ:dword
; __declspec(dllimport)	public:	__thiscall COleIPFrameWnd::COleIPFrameWnd(void)
extrn __imp_??0COleIPFrameWnd@@QAE@XZ:dword
; protected: static struct AFX_MSGMAP const CFrameWnd::messageMap
extrn ?messageMap@CFrameWnd@@1UAFX_MSGMAP@@B:dword
; protected: int __thiscall CFrameWnd::OnNcActivate(int)
extrn ?OnNcActivate@CFrameWnd@@IAEHH@Z:dword
; __declspec(dllimport)	public:	virtual	class CWnd * __thiscall	CFrameWnd::GetMessageBar(void)
extrn __imp_?GetMessageBar@CFrameWnd@@UAEPAVCWnd@@XZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CFrameWnd::RecalcLayout(int)
extrn __imp_?RecalcLayout@CFrameWnd@@UAEXH@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CFrameWnd::LoadFrame(unsigned int, unsigned long, class CWnd *, struct CCreateContext *)
extrn __imp_?LoadFrame@CFrameWnd@@UAEHIKPAVCWnd@@PAUCCreateContext@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CFrameWnd::PreTranslateMessage(struct tagMSG *)
extrn __imp_?PreTranslateMessage@CFrameWnd@@UAEHPAUtagMSG@@@Z:dword
; __declspec(dllimport)	public:	virtual	__thiscall CFrameWnd::~CFrameWnd(void)
extrn __imp_??1CFrameWnd@@UAE@XZ:dword
; __declspec(dllimport)	public:	__thiscall CFrameWnd::CFrameWnd(void)
extrn __imp_??0CFrameWnd@@QAE@XZ:dword
; __declspec(dllimport)	public:	int __thiscall CFrameWnd::Create(unsigned short	const *, unsigned short	const *, unsigned long,	struct tagRECT const &,	class CWnd *, unsigned short const *, unsigned long, struct CCreateContext *)
extrn __imp_?Create@CFrameWnd@@QAEHPBG0KABUtagRECT@@PAVCWnd@@0KPAUCCreateContext@@@Z:dword
; __declspec(dllimport)	protected: int __thiscall CFrameWnd::OnCreate(struct tagCREATESTRUCTW *)
extrn __imp_?OnCreate@CFrameWnd@@IAEHPAUtagCREATESTRUCTW@@@Z:dword
; __declspec(dllimport)	protected: void	__thiscall CFrameWnd::OnSysCommand(unsigned int, long)
extrn __imp_?OnSysCommand@CFrameWnd@@IAEXIJ@Z:dword
; protected: void __thiscall CDocument::OnUpdateFileSendMail(class CCmdUI *)
extrn ?OnUpdateFileSendMail@CDocument@@IAEXPAVCCmdUI@@@Z:dword
; protected: void __thiscall COleDocument::OnFileSendMail(void)
extrn ?OnFileSendMail@COleDocument@@IAEXXZ:dword
; protected: void __thiscall COleServerDoc::OnFileSaveCopyAs(void)
extrn ?OnFileSaveCopyAs@COleServerDoc@@IAEXXZ:dword
; public: static struct	CRuntimeClass const COleServerDoc::classCOleServerDoc
extrn ?classCOleServerDoc@COleServerDoc@@2UCRuntimeClass@@B:dword
; protected: static struct AFX_MSGMAP const COleServerDoc::messageMap
extrn ?messageMap@COleServerDoc@@1UAFX_MSGMAP@@B:dword
; protected: static struct AFX_INTERFACEMAP const COleServerDoc::interfaceMap
extrn ?interfaceMap@COleServerDoc@@1UAFX_INTERFACEMAP@@B:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleServerDoc::OnSaveEmbedding(struct IStorage *)
extrn __imp_?OnSaveEmbedding@COleServerDoc@@MAEXPAUIStorage@@@Z:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleServerDoc::OnOpenEmbedding(struct IStorage *)
extrn __imp_?OnOpenEmbedding@COleServerDoc@@MAEXPAUIStorage@@@Z:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleServerDoc::OnNewEmbedding(struct	IStorage *)
extrn __imp_?OnNewEmbedding@COleServerDoc@@MAEXPAUIStorage@@@Z:dword
; __declspec(dllimport)	protected: virtual int __thiscall COleServerDoc::GetFileTypeString(class CString &)
extrn __imp_?GetFileTypeString@COleServerDoc@@MAEHAAVCString@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleServerDoc::OnResizeBorder(struct tagRECT const *, struct IOleInPlaceUIWindow *, int)
extrn __imp_?OnResizeBorder@COleServerDoc@@UAEXPBUtagRECT@@PAUIOleInPlaceUIWindow@@H@Z:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleServerDoc::DestroyInPlaceFrame(class COleIPFrameWnd *)
extrn __imp_?DestroyInPlaceFrame@COleServerDoc@@MAEXPAVCOleIPFrameWnd@@@Z:dword
; __declspec(dllimport)	protected: virtual class COleIPFrameWnd	* __thiscall COleServerDoc::CreateInPlaceFrame(class CWnd *)
extrn __imp_?CreateInPlaceFrame@COleServerDoc@@MAEPAVCOleIPFrameWnd@@PAVCWnd@@@Z:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleServerDoc::OnDocWindowActivate(int)
extrn __imp_?OnDocWindowActivate@COleServerDoc@@MAEXH@Z:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleServerDoc::OnFrameWindowActivate(int)
extrn __imp_?OnFrameWindowActivate@COleServerDoc@@MAEXH@Z:dword
; __declspec(dllimport)	protected: virtual int __thiscall COleServerDoc::OnReactivateAndUndo(void)
extrn __imp_?OnReactivateAndUndo@COleServerDoc@@MAEHXZ:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleServerDoc::OnSetItemRects(struct	tagRECT	const *, struct	tagRECT	const *)
extrn __imp_?OnSetItemRects@COleServerDoc@@MAEXPBUtagRECT@@0@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleServerDoc::OnDeactivate(void)
extrn __imp_?OnDeactivate@COleServerDoc@@UAEXXZ:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleServerDoc::OnShowDocument(int)
extrn __imp_?OnShowDocument@COleServerDoc@@MAEXH@Z:dword
; __declspec(dllimport)	protected: virtual class CDocObjectServer * __thiscall COleServerDoc::GetDocObjectServer(struct	IOleDocumentSite *)
extrn __imp_?GetDocObjectServer@COleServerDoc@@MAEPAVCDocObjectServer@@PAUIOleDocumentSite@@@Z:dword
; __declspec(dllimport)	protected: virtual long	__thiscall COleServerDoc::OnExecOleCmd(struct _GUID const *, unsigned long, unsigned long, struct tagVARIANT *,	struct tagVARIANT *)
extrn __imp_?OnExecOleCmd@COleServerDoc@@MAEJPBU_GUID@@KKPAUtagVARIANT@@1@Z:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleServerDoc::OnSetHostNames(unsigned short	const *, unsigned short	const *)
extrn __imp_?OnSetHostNames@COleServerDoc@@MAEXPBG0@Z:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleServerDoc::OnClose(enum	tagOLECLOSE)
extrn __imp_?OnClose@COleServerDoc@@MAEXW4tagOLECLOSE@@@Z:dword
; __declspec(dllimport)	protected: virtual int __thiscall COleLinkingDoc::RegisterIfServerAttached(unsigned short const	*, int)
extrn __imp_?RegisterIfServerAttached@COleLinkingDoc@@MAEHPBGH@Z:dword
; __declspec(dllimport)	protected: virtual class COleClientItem	* __thiscall COleLinkingDoc::OnFindEmbeddedItem(unsigned short const *)
extrn __imp_?OnFindEmbeddedItem@COleLinkingDoc@@MAEPAVCOleClientItem@@PBG@Z:dword
; __declspec(dllimport)	public:	virtual	struct IOleItemContainer * __thiscall COleLinkingDoc::GetContainer(void)
extrn __imp_?GetContainer@COleLinkingDoc@@UAEPAUIOleItemContainer@@XZ:dword
; __declspec(dllimport)	public:	virtual	struct IMoniker	* __thiscall COleServerDoc::GetMoniker(enum  tagOLEGETMONIKER)
extrn __imp_?GetMoniker@COleServerDoc@@UAEPAUIMoniker@@W4tagOLEGETMONIKER@@@Z:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleLinkingDoc::OnShowViews(int)
extrn __imp_?OnShowViews@COleLinkingDoc@@MAEXH@Z:dword
; __declspec(dllimport)	public:	virtual	class COleClientItem * __thiscall COleDocument::GetPrimarySelectedItem(class CView *)
extrn __imp_?GetPrimarySelectedItem@COleDocument@@UAEPAVCOleClientItem@@PAVCView@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleDocument::UpdateModifiedFlag(void)
extrn __imp_?UpdateModifiedFlag@COleDocument@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleDocument::RemoveItem(class CDocItem	*)
extrn __imp_?RemoveItem@COleDocument@@UAEXPAVCDocItem@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleDocument::AddItem(class CDocItem *)
extrn __imp_?AddItem@COleDocument@@UAEXPAVCDocItem@@@Z:dword
; __declspec(dllimport)	public:	virtual	class CDocItem * __thiscall COleDocument::GetNextItem(struct __POSITION	* &)const
extrn __imp_?GetNextItem@COleDocument@@UBEPAVCDocItem@@AAPAU__POSITION@@@Z:dword
; __declspec(dllimport)	public:	virtual	struct __POSITION * __thiscall COleDocument::GetStartPosition(void)const
extrn __imp_?GetStartPosition@COleDocument@@UBEPAU__POSITION@@XZ:dword
; __declspec(dllimport)	public:	virtual	class COleClientItem * __thiscall COleDocument::GetInPlaceActiveItem(class CWnd	*)
extrn __imp_?GetInPlaceActiveItem@COleDocument@@UAEPAVCOleClientItem@@PAVCWnd@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleDocument::OnIdle(void)
extrn __imp_?OnIdle@COleDocument@@UAEXXZ:dword
; __declspec(dllimport)	protected: virtual struct HACCEL__ * __thiscall	COleServerDoc::GetDefaultAccelerator(void)
extrn __imp_?GetDefaultAccelerator@COleServerDoc@@MAEPAUHACCEL__@@XZ:dword
; __declspec(dllimport)	protected: virtual struct HMENU__ * __thiscall COleServerDoc::GetDefaultMenu(void)
extrn __imp_?GetDefaultMenu@COleServerDoc@@MAEPAUHMENU__@@XZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CDocument::UpdateFrameCounts(void)
extrn __imp_?UpdateFrameCounts@CDocument@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CDocument::DoFileSave(void)
extrn __imp_?DoFileSave@CDocument@@UAEHXZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleDocument::PreCloseFrame(class CFrameWnd *)
extrn __imp_?PreCloseFrame@COleDocument@@UAEXPAVCFrameWnd@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleServerDoc::OnCloseDocument(void)
extrn __imp_?OnCloseDocument@COleServerDoc@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleServerDoc::DeleteContents(void)
extrn __imp_?DeleteContents@COleServerDoc@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CDocument::OnChangedViewList(void)
extrn __imp_?OnChangedViewList@CDocument@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	class CView * __thiscall CDocument::GetNextView(struct __POSITION * &)const
extrn __imp_?GetNextView@CDocument@@UBEPAVCView@@AAPAU__POSITION@@@Z:dword
; __declspec(dllimport)	public:	virtual	struct __POSITION * __thiscall CDocument::GetFirstViewPosition(void)const
extrn __imp_?GetFirstViewPosition@CDocument@@UBEPAU__POSITION@@XZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleDocument::SetPathName(unsigned short const *, int)
extrn __imp_?SetPathName@COleDocument@@UAEXPBGH@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CDocument::SetTitle(unsigned short const *)
extrn __imp_?SetTitle@CDocument@@UAEXPBG@Z:dword
; __declspec(dllimport)	protected: virtual struct IUnknown * __thiscall	COleServerDoc::GetInterfaceHook(void const *)
extrn __imp_?GetInterfaceHook@COleServerDoc@@MAEPAUIUnknown@@PBX@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CDocument::OnFinalRelease(void)
extrn __imp_?OnFinalRelease@CDocument@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleDocument::OnCmdMsg(unsigned int, int, void *, struct	AFX_CMDHANDLERINFO *)
extrn __imp_?OnCmdMsg@COleDocument@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z:dword
; __declspec(dllimport)	public:	virtual	__thiscall COleServerDoc::~COleServerDoc(void)
extrn __imp_??1COleServerDoc@@UAE@XZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleLinkingDoc::ReportSaveLoadException(unsigned short const *,	class CException *, int, unsigned int)
extrn __imp_?ReportSaveLoadException@COleLinkingDoc@@UAEXPBGPAVCException@@HI@Z:dword
; __declspec(dllimport)	protected: virtual int __thiscall COleServerDoc::SaveModified(void)
extrn __imp_?SaveModified@COleServerDoc@@MAEHXZ:dword
; __declspec(dllimport)	protected: void	__thiscall CDocument::OnFileSave(void)
extrn __imp_?OnFileSave@CDocument@@IAEXXZ:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleServerDoc::OnShowControlBars(class CFrameWnd *, int)
extrn __imp_?OnShowControlBars@COleServerDoc@@MAEXPAVCFrameWnd@@H@Z:dword
; __declspec(dllimport)	public:	int __thiscall CWnd::SetWindowPos(class	CWnd const *, int, int,	int, int, unsigned int)
extrn __imp_?SetWindowPos@CWnd@@QAEHPBV1@HHHHI@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleServerDoc::OnDeactivateUI(int)
extrn __imp_?OnDeactivateUI@COleServerDoc@@UAEXH@Z:dword
; __declspec(dllimport)	public:	void __thiscall	COleServerDoc::SaveEmbedding(void)
extrn __imp_?SaveEmbedding@COleServerDoc@@QAEXXZ:dword
; protected: void __thiscall COleServerDoc::OnFileUpdate(void)
extrn ?OnFileUpdate@COleServerDoc@@IAEXXZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CDocument::ReleaseFile(class CFile *, int)
extrn __imp_?ReleaseFile@CDocument@@UAEXPAVCFile@@H@Z:dword
; __declspec(dllimport)	public:	int __thiscall CString::FindOneOf(unsigned short const *)const
extrn __imp_?FindOneOf@CString@@QBEHPBG@Z:dword
; __declspec(dllimport)	public:	virtual	class COleServerItem * __thiscall COleServerDoc::OnGetLinkedItem(unsigned short	const *)
extrn __imp_?OnGetLinkedItem@COleServerDoc@@UAEPAVCOleServerItem@@PBG@Z:dword
; __declspec(dllimport)	void __stdcall AfxThrowFileException(int, long,	unsigned short const *)
extrn __imp_?AfxThrowFileException@@YGXHJPBG@Z:dword
; __declspec(dllimport)	public:	unsigned long __thiscall CCmdTarget::ExternalQueryInterface(void const *, void * *)
extrn __imp_?ExternalQueryInterface@CCmdTarget@@QAEKPBXPAPAX@Z:dword
; __declspec(dllimport)	public:	__thiscall AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(class AFX_MODULE_STATE *)
extrn __imp_??0AFX_MAINTAIN_STATE2@@QAE@PAVAFX_MODULE_STATE@@@Z:dword
; __declspec(dllimport)	public:	unsigned long __thiscall CCmdTarget::ExternalAddRef(void)
extrn __imp_?ExternalAddRef@CCmdTarget@@QAEKXZ:dword
; __declspec(dllimport)	public:	unsigned long __thiscall CCmdTarget::ExternalRelease(void)
extrn __imp_?ExternalRelease@CCmdTarget@@QAEKXZ:dword
; __declspec(dllimport)	public:	void __thiscall	CArchive::Abort(void)
extrn __imp_?Abort@CArchive@@QAEXXZ:dword
; __declspec(dllimport)	public:	void __thiscall	COleDocument::CommitItems(int)
extrn __imp_?CommitItems@COleDocument@@QAEXH@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleStreamFile::Abort(void)
extrn __imp_?Abort@COleStreamFile@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	__thiscall COleStreamFile::~COleStreamFile(void)
extrn __imp_??1COleStreamFile@@UAE@XZ:dword
; __declspec(dllimport)	public:	__thiscall CArchive::~CArchive(void)
extrn __imp_??1CArchive@@QAE@XZ:dword
; __declspec(dllimport)	void __stdcall AfxThrowOleException(long)
extrn __imp_?AfxThrowOleException@@YGXJ@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleStreamFile::Write(void const *, unsigned int)
extrn __imp_?Write@COleStreamFile@@UAEXPBXI@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleStreamFile::Close(void)
extrn __imp_?Close@COleStreamFile@@UAEXXZ:dword
; __declspec(dllimport)	public:	void __thiscall	CArchive::Close(void)
extrn __imp_?Close@CArchive@@QAEXXZ:dword
; __declspec(dllimport)	public:	__thiscall CArchive::CArchive(class CFile *, unsigned int, int,	void *)
extrn __imp_??0CArchive@@QAE@PAVCFile@@IHPAX@Z:dword
; __declspec(dllimport)	public:	int __thiscall COleStreamFile::CreateStream(struct IStorage *, unsigned	short const *, unsigned	long, class CFileException *)
extrn __imp_?CreateStream@COleStreamFile@@QAEHPAUIStorage@@PBGKPAVCFileException@@@Z:dword
; __declspec(dllimport)	public:	__thiscall COleStreamFile::COleStreamFile(struct IStream *)
extrn __imp_??0COleStreamFile@@QAE@PAUIStream@@@Z:dword
; __declspec(dllimport)	public:	int __thiscall COleStreamFile::OpenStream(struct IStorage *, unsigned short const *, unsigned long, class CFileException *)
extrn __imp_?OpenStream@COleStreamFile@@QAEHPAUIStorage@@PBGKPAVCFileException@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleLinkingDoc::OnNewDocument(void)
extrn __imp_?OnNewDocument@COleLinkingDoc@@UAEHXZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleLinkingDoc::OnOpenDocument(unsigned short const *)
extrn __imp_?OnOpenDocument@COleLinkingDoc@@UAEHPBG@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleServerDoc::OnSaveDocument(unsigned short const *)
extrn __imp_?OnSaveDocument@COleServerDoc@@UAEHPBG@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleServerDoc::CanCloseFrame(class CFrameWnd *)
extrn __imp_?CanCloseFrame@COleServerDoc@@UAEHPAVCFrameWnd@@@Z:dword
; __declspec(dllimport)	public:	__thiscall COleServerDoc::COleServerDoc(void)
extrn __imp_??0COleServerDoc@@QAE@XZ:dword
; public: int __thiscall CFrameWnd::OnBarCheck(unsigned	int)
extrn ?OnBarCheck@CFrameWnd@@QAEHI@Z:dword
; public: void __thiscall CFrameWnd::OnUpdateControlBarMenu(class CCmdUI *)
extrn ?OnUpdateControlBarMenu@CFrameWnd@@QAEXPAVCCmdUI@@@Z:dword
; public: void __thiscall CFrameWnd::OnContextHelp(void)
extrn ?OnContextHelp@CFrameWnd@@QAEXXZ:dword
; public: void __thiscall CWnd::OnHelpIndex(void)
extrn ?OnHelpIndex@CWnd@@QAEXXZ:dword
; __declspec(dllimport)	void __stdcall AfxThrowResourceException(void)
extrn __imp_?AfxThrowResourceException@@YGXXZ:dword
; __declspec(dllimport)	int __stdcall AfxRegisterClass(struct tagWNDCLASSW *)
extrn __imp_?AfxRegisterClass@@YGHPAUtagWNDCLASSW@@@Z:dword
; __declspec(dllimport)	public:	int __thiscall CWnd::GetWindowPlacement(struct tagWINDOWPLACEMENT *)const
extrn __imp_?GetWindowPlacement@CWnd@@QBEHPAUtagWINDOWPLACEMENT@@@Z:dword
; __declspec(dllimport)	protected: void	__thiscall CFrameWnd::OnDestroy(void)
extrn __imp_?OnDestroy@CFrameWnd@@IAEXXZ:dword
; __declspec(dllimport)	public:	void __thiscall	CStatusBar::GetPaneText(int, class CString &)const
extrn __imp_?GetPaneText@CStatusBar@@QBEXHAAVCString@@@Z:dword
; protected: int __thiscall CFrameWnd::OnQueryNewPalette(void)
extrn ?OnQueryNewPalette@CFrameWnd@@IAEHXZ:dword
; __declspec(dllimport)	protected: void	__thiscall CWnd::OnDevModeChange(unsigned short	*)
extrn __imp_?OnDevModeChange@CWnd@@IAEXPAG@Z:dword
; __declspec(dllimport)	protected: int __thiscall CFrameWnd::OnEraseBkgnd(class	CDC *)
extrn __imp_?OnEraseBkgnd@CFrameWnd@@IAEHPAVCDC@@@Z:dword
; __declspec(dllimport)	protected: void	__thiscall CFrameWnd::OnSize(unsigned int, int,	int)
extrn __imp_?OnSize@CFrameWnd@@IAEXIHH@Z:dword
; __declspec(dllimport)	protected: void	__thiscall CFrameWnd::OnSetFocus(class CWnd *)
extrn __imp_?OnSetFocus@CFrameWnd@@IAEXPAVCWnd@@@Z:dword
; __declspec(dllimport)	protected: void	__thiscall CWnd::OnWinIniChange(unsigned short const *)
extrn __imp_?OnWinIniChange@CWnd@@IAEXPBG@Z:dword
; __declspec(dllimport)	public:	int __thiscall CWnd::SetWindowPlacement(struct tagWINDOWPLACEMENT const	*)
extrn __imp_?SetWindowPlacement@CWnd@@QAEHPBUtagWINDOWPLACEMENT@@@Z:dword
; protected: void __thiscall CWinApp::OnFilePrintSetup(void)
extrn ?OnFilePrintSetup@CWinApp@@IAEXXZ:dword
; public: virtual struct CRuntimeClass * __thiscall CFont::GetRuntimeClass(void)const
extrn ?GetRuntimeClass@CFont@@UBEPAUCRuntimeClass@@XZ:dword
; protected: static struct AFX_MSGMAP const CWinApp::messageMap
extrn ?messageMap@CWinApp@@1UAFX_MSGMAP@@B:dword
; __declspec(dllimport)	public:	virtual	__thiscall COleObjectFactory::~COleObjectFactory(void)
extrn __imp_??1COleObjectFactory@@UAE@XZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWinApp::OnDDECommand(unsigned short *)
extrn __imp_?OnDDECommand@CWinApp@@UAEHPAG@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CWinApp::DoWaitCursor(int)
extrn __imp_?DoWaitCursor@CWinApp@@UAEXH@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWinApp::DoMessageBox(unsigned short const *, unsigned int, unsigned int)
extrn __imp_?DoMessageBox@CWinApp@@UAEHPBGII@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWinApp::SaveAllModified(void)
extrn __imp_?SaveAllModified@CWinApp@@UAEHXZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWinApp::InitApplication(void)
extrn __imp_?InitApplication@CWinApp@@UAEHXZ:dword
; protected: virtual void __thiscall CDialog::OnOK(void)
extrn ?OnOK@CDialog@@MAEXXZ:dword
; public: virtual void __thiscall CWinThread::Delete(void)
extrn ?Delete@CWinThread@@UAEXXZ:dword
; public: virtual class	CWnd * __thiscall CWinThread::GetMainWnd(void)
extrn ?GetMainWnd@CWinThread@@UAEPAVCWnd@@XZ:dword
; public: virtual int __thiscall CWinThread::ProcessMessageFilter(int, struct tagMSG *)
extrn ?ProcessMessageFilter@CWinThread@@UAEHHPAUtagMSG@@@Z:dword
; public: virtual long __thiscall CWinApp::ProcessWndProcException(class CException *, struct tagMSG const *)
extrn ?ProcessWndProcException@CWinApp@@UAEJPAVCException@@PBUtagMSG@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWinThread::IsIdleMessage(struct	tagMSG *)
extrn __imp_?IsIdleMessage@CWinThread@@UAEHPAUtagMSG@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWinThread::PumpMessage(void)
extrn __imp_?PumpMessage@CWinThread@@UAEHXZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWinThread::PreTranslateMessage(struct tagMSG *)
extrn __imp_?PreTranslateMessage@CWinThread@@UAEHPAUtagMSG@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWinApp::Run(void)
extrn __imp_?Run@CWinApp@@UAEHXZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CCmdTarget::OnFinalRelease(void)
extrn __imp_?OnFinalRelease@CCmdTarget@@UAEXXZ:dword
; public: virtual struct CRuntimeClass * __thiscall CWinApp::GetRuntimeClass(void)const
extrn ?GetRuntimeClass@CWinApp@@UBEPAUCRuntimeClass@@XZ:dword
; __declspec(dllimport)	public:	virtual	__thiscall CWinApp::~CWinApp(void)
extrn __imp_??1CWinApp@@UAE@XZ:dword
; public: virtual int __thiscall CWinApp::ExitInstance(void)
extrn ?ExitInstance@CWinApp@@UAEHXZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CWinApp::WinHelpW(unsigned long, unsigned int)
extrn __imp_?WinHelpW@CWinApp@@UAEXKI@Z:dword
; __declspec(dllimport)	int __stdcall AfxMessageBox(unsigned short const *, unsigned int, unsigned int)
extrn __imp_?AfxMessageBox@@YGHPBGII@Z:dword
; __declspec(dllimport)	protected: void	__thiscall CWinApp::OnFileNew(void)
extrn __imp_?OnFileNew@CWinApp@@IAEXXZ:dword
; __declspec(dllimport)	public:	__thiscall COleTemplateServer::COleTemplateServer(void)
extrn __imp_??0COleTemplateServer@@QAE@XZ:dword
; __declspec(dllimport)	public:	__thiscall CWinApp::CWinApp(unsigned short const *)
extrn __imp_??0CWinApp@@QAE@PBG@Z:dword
; __declspec(dllimport)	public:	static int __stdcall COleObjectFactory::RegisterAll(void)
extrn __imp_?RegisterAll@COleObjectFactory@@SGHXZ:dword
; __declspec(dllimport)	public:	void __thiscall	CWnd::DragAcceptFiles(int)
extrn __imp_?DragAcceptFiles@CWnd@@QAEXH@Z:dword
; __declspec(dllimport)	public:	int __thiscall CWinApp::RunAutomated(void)
extrn __imp_?RunAutomated@CWinApp@@QAEHXZ:dword
; __declspec(dllimport)	public:	int __thiscall CWinApp::RunEmbedded(void)
extrn __imp_?RunEmbedded@CWinApp@@QAEHXZ:dword
; __declspec(dllimport)	public:	void __thiscall	COleTemplateServer::ConnectTemplate(struct _GUID const &, class	CDocTemplate *,	int)
extrn __imp_?ConnectTemplate@COleTemplateServer@@QAEXABU_GUID@@PAVCDocTemplate@@H@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CWinApp::AddDocTemplate(class CDocTemplate *)
extrn __imp_?AddDocTemplate@CWinApp@@QAEXPAVCDocTemplate@@@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CDocTemplate::SetServerInfo(unsigned int, unsigned int,	struct CRuntimeClass *,	struct CRuntimeClass *)
extrn __imp_?SetServerInfo@CDocTemplate@@QAEXIIPAUCRuntimeClass@@0@Z:dword
; __declspec(dllimport)	public:	__thiscall CSingleDocTemplate::CSingleDocTemplate(unsigned int,	struct CRuntimeClass *,	struct CRuntimeClass *,	struct CRuntimeClass *)
extrn __imp_??0CSingleDocTemplate@@QAE@IPAUCRuntimeClass@@00@Z:dword
; __declspec(dllimport)	int __stdcall AfxOleInit(void)
extrn __imp_?AfxOleInit@@YGHXZ:dword
; __declspec(dllimport)	protected: void	__thiscall CWinApp::SetRegistryKey(unsigned int)
extrn __imp_?SetRegistryKey@CWinApp@@IAEXI@Z:dword
; __declspec(dllimport)	int __stdcall AfxFullPath(unsigned short *, unsigned short const *)
extrn __imp_?AfxFullPath@@YGHPAGPBG@Z:dword
; __declspec(dllimport)	class CString __stdcall	operator+(class	CString	const &, unsigned short	const *)
extrn __imp_??H@YG?AVCString@@ABV0@PBG@Z:dword
; __declspec(dllimport)	class CString __stdcall	operator+(unsigned short const *, class	CString	const &)
extrn __imp_??H@YG?AVCString@@PBGABV0@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWinApp::OnIdle(long)
extrn __imp_?OnIdle@CWinApp@@UAEHJ@Z:dword
; __declspec(dllimport)	public:	class CDocTemplate * __thiscall	CWinApp::GetNextDocTemplate(struct __POSITION *	&)const
extrn __imp_?GetNextDocTemplate@CWinApp@@QBEPAVCDocTemplate@@AAPAU__POSITION@@@Z:dword
; __declspec(dllimport)	public:	struct __POSITION * __thiscall CWinApp::GetFirstDocTemplatePosition(void)const
extrn __imp_?GetFirstDocTemplatePosition@CWinApp@@QBEPAU__POSITION@@XZ:dword
; protected: static struct AFX_INTERFACEMAP const CCmdTarget::interfaceMap
extrn ?interfaceMap@CCmdTarget@@1UAFX_INTERFACEMAP@@B:dword
; __declspec(dllimport)	protected: void	__thiscall CDialog::PostModal(void)
extrn __imp_?PostModal@CDialog@@IAEXXZ:dword
; __declspec(dllimport)	class _AFX_THREAD_STATE	* __stdcall AfxGetThreadState(void)
extrn __imp_?AfxGetThreadState@@YGPAV_AFX_THREAD_STATE@@XZ:dword
; __declspec(dllimport)	int __stdcall AfxUnhookWindowCreate(void)
extrn __imp_?AfxUnhookWindowCreate@@YGHXZ:dword
; __declspec(dllimport)	protected: struct HWND__ * __thiscall CDialog::PreModal(void)
extrn __imp_?PreModal@CDialog@@IAEPAUHWND__@@XZ:dword
; __declspec(dllimport)	public:	int __thiscall CWnd::SubclassWindow(struct HWND__ *)
extrn __imp_?SubclassWindow@CWnd@@QAEHPAUHWND__@@@Z:dword
; public: static struct	CRuntimeClass const CPrintDialog::classCPrintDialog
extrn ?classCPrintDialog@CPrintDialog@@2UCRuntimeClass@@B:dword
; public: static struct	CRuntimeClass const CView::classCView
extrn ?classCView@CView@@2UCRuntimeClass@@B:dword
; protected: static struct AFX_MSGMAP const CView::messageMap
extrn ?messageMap@CView@@1UAFX_MSGMAP@@B:dword
; __declspec(dllimport)	protected: virtual void	__thiscall CView::OnEndPrintPreview(class CDC *, struct	CPrintInfo *, struct tagPOINT, class CPreviewView *)
extrn __imp_?OnEndPrintPreview@CView@@MAEXPAVCDC@@PAUCPrintInfo@@UtagPOINT@@PAVCPreviewView@@@Z:dword
; __declspec(dllimport)	protected: virtual void	__thiscall CView::OnUpdate(class CView *, long,	class CObject *)
extrn __imp_?OnUpdate@CView@@MAEXPAV1@JPAVCObject@@@Z:dword
; __declspec(dllimport)	protected: virtual void	__thiscall CView::OnActivateFrame(unsigned int,	class CFrameWnd	*)
extrn __imp_?OnActivateFrame@CView@@MAEXIPAVCFrameWnd@@@Z:dword
; __declspec(dllimport)	public:	virtual	unsigned long __thiscall CView::OnDragScroll(unsigned long, class CPoint)
extrn __imp_?OnDragScroll@CView@@UAEKKVCPoint@@@Z:dword
; __declspec(dllimport)	public:	virtual	unsigned long __thiscall CView::OnDropEx(class COleDataObject *, unsigned long,	unsigned long, class CPoint)
extrn __imp_?OnDropEx@CView@@UAEKPAVCOleDataObject@@KKVCPoint@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CView::OnDrop(class COleDataObject *, unsigned long, class CPoint)
extrn __imp_?OnDrop@CView@@UAEHPAVCOleDataObject@@KVCPoint@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CView::OnDragLeave(void)
extrn __imp_?OnDragLeave@CView@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	unsigned long __thiscall CView::OnDragOver(class COleDataObject	*, unsigned long, class	CPoint)
extrn __imp_?OnDragOver@CView@@UAEKPAVCOleDataObject@@KVCPoint@@@Z:dword
; __declspec(dllimport)	public:	virtual	unsigned long __thiscall CView::OnDragEnter(class COleDataObject *, unsigned long, class CPoint)
extrn __imp_?OnDragEnter@CView@@UAEKPAVCOleDataObject@@KVCPoint@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CView::OnScrollBy(class CSize, int)
extrn __imp_?OnScrollBy@CView@@UAEHVCSize@@H@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CView::OnScroll(unsigned	int, unsigned int, int)
extrn __imp_?OnScroll@CView@@UAEHIIH@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CView::IsSelected(class CObject const *)const
extrn __imp_?IsSelected@CView@@UBEHPBVCObject@@@Z:dword
; __declspec(dllimport)	protected: virtual void	__thiscall CView::PostNcDestroy(void)
extrn __imp_?PostNcDestroy@CView@@MAEXXZ:dword
; __declspec(dllimport)	public:	virtual	class CScrollBar * __thiscall CView::GetScrollBarCtrl(int)const
extrn __imp_?GetScrollBarCtrl@CView@@UBEPAVCScrollBar@@H@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CView::CalcWindowRect(struct tagRECT *,	unsigned int)
extrn __imp_?CalcWindowRect@CView@@UAEXPAUtagRECT@@I@Z:dword
; __declspec(dllimport)	protected: __thiscall CView::CView(void)
extrn __imp_??0CView@@IAE@XZ:dword
; __declspec(dllimport)	protected: virtual int __thiscall CView::PreCreateWindow(struct	tagCREATESTRUCTW &)
extrn __imp_?PreCreateWindow@CView@@MAEHAAUtagCREATESTRUCTW@@@Z:dword
; __declspec(dllimport)	protected: virtual void	__thiscall CView::OnBeginPrinting(class	CDC *, struct CPrintInfo *)
extrn __imp_?OnBeginPrinting@CView@@MAEXPAVCDC@@PAUCPrintInfo@@@Z:dword
; __declspec(dllimport)	protected: virtual void	__thiscall CView::OnPrint(class	CDC *, struct CPrintInfo *)
extrn __imp_?OnPrint@CView@@MAEXPAVCDC@@PAUCPrintInfo@@@Z:dword
; __declspec(dllimport)	protected: virtual void	__thiscall CView::OnActivateView(int, class CView *, class CView *)
extrn __imp_?OnActivateView@CView@@MAEXHPAV1@0@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CView::OnCmdMsg(unsigned	int, int, void *, struct AFX_CMDHANDLERINFO *)
extrn __imp_?OnCmdMsg@CView@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z:dword
; __declspec(dllimport)	protected: void	__thiscall CView::OnFilePrint(void)
extrn __imp_?OnFilePrint@CView@@IAEXXZ:dword
; protected: void __thiscall CView::OnFilePrintPreview(void)
extrn ?OnFilePrintPreview@CView@@IAEXXZ:dword
; __declspec(dllimport)	public:	virtual	__thiscall CView::~CView(void)
extrn __imp_??1CView@@UAE@XZ:dword
; public: static struct	CRuntimeClass const CPaintDC::classCPaintDC
extrn ?classCPaintDC@CPaintDC@@2UCRuntimeClass@@B:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CView::OnPrepareDC(class CDC *,	struct CPrintInfo *)
extrn __imp_?OnPrepareDC@CView@@UAEXPAVCDC@@PAUCPrintInfo@@@Z:dword
; __declspec(dllimport)	protected: int __thiscall CView::OnCreate(struct tagCREATESTRUCTW *)
extrn __imp_?OnCreate@CView@@IAEHPAUtagCREATESTRUCTW@@@Z:dword
; protected: void __thiscall CView::OnDestroy(void)
extrn ?OnDestroy@CView@@IAEXXZ:dword
; __declspec(dllimport)	public:	void __thiscall	CWnd::MoveWindow(int, int, int,	int, int)
extrn __imp_?MoveWindow@CWnd@@QAEXHHHHH@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CFrameWnd::LoadBarState(unsigned short const *)
extrn __imp_?LoadBarState@CFrameWnd@@QAEXPBG@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CFrameWnd::DockControlBar(class	CControlBar *, unsigned	int, struct tagRECT const *)
extrn __imp_?DockControlBar@CFrameWnd@@QAEXPAVCControlBar@@IPBUtagRECT@@@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CControlBar::EnableDocking(unsigned long)
extrn __imp_?EnableDocking@CControlBar@@QAEXK@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CFrameWnd::EnableDocking(unsigned long)
extrn __imp_?EnableDocking@CFrameWnd@@QAEXK@Z:dword
; __declspec(dllimport)	protected: virtual class CPrintDialog *	__thiscall CPrintDialog::AttachOnSetup(void)
extrn __imp_?AttachOnSetup@CPrintDialog@@MAEPAV1@XZ:dword
; __declspec(dllimport)	protected: virtual void	__thiscall CCommonDialog::OnCancel(void)
extrn __imp_?OnCancel@CCommonDialog@@MAEXXZ:dword
; __declspec(dllimport)	protected: virtual void	__thiscall CCommonDialog::OnOK(void)
extrn __imp_?OnOK@CCommonDialog@@MAEXXZ:dword
; __declspec(dllimport)	protected: virtual struct AFX_MSGMAP const * __thiscall	CPrintDialog::GetMessageMap(void)const
extrn __imp_?GetMessageMap@CPrintDialog@@MBEPBUAFX_MSGMAP@@XZ:dword
; __declspec(dllimport)	public:	__thiscall CPrintDialog::CPrintDialog(int, unsigned long, class	CWnd *)
extrn __imp_??0CPrintDialog@@QAE@HKPAVCWnd@@@Z:dword
; __declspec(dllimport)	public:	int __thiscall CView::DoPreparePrinting(struct CPrintInfo *)
extrn __imp_?DoPreparePrinting@CView@@QAEHPAUCPrintInfo@@@Z:dword
; __declspec(dllimport)	public:	struct HDC__ * __thiscall CPrintDialog::CreatePrinterDC(void)
extrn __imp_?CreatePrinterDC@CPrintDialog@@QAEPAUHDC__@@XZ:dword
; __declspec(dllimport)	public:	int __thiscall CWinApp::DoPrintDialog(class CPrintDialog *)
extrn __imp_?DoPrintDialog@CWinApp@@QAEHPAVCPrintDialog@@@Z:dword
; __declspec(dllimport)	public:	int __thiscall CWinApp::GetPrinterDeviceDefaults(struct	tagPDW *)
extrn __imp_?GetPrinterDeviceDefaults@CWinApp@@QAEHPAUtagPDW@@@Z:dword
; public: static struct	CRuntimeClass const CDC::classCDC
extrn ?classCDC@CDC@@2UCRuntimeClass@@B:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CDC::GetClipBox(struct tagRECT *)const
extrn __imp_?GetClipBox@CDC@@UBEHPAUtagRECT@@@Z:dword
; __declspec(dllimport)	public:	virtual	class CSize __thiscall CDC::ScaleWindowExt(int,	int, int, int)
extrn __imp_?ScaleWindowExt@CDC@@UAE?AVCSize@@HHHH@Z:dword
; __declspec(dllimport)	public:	virtual	class CSize __thiscall CDC::SetWindowExt(int, int)
extrn __imp_?SetWindowExt@CDC@@UAE?AVCSize@@HH@Z:dword
; __declspec(dllimport)	public:	virtual	class CSize __thiscall CDC::ScaleViewportExt(int, int, int, int)
extrn __imp_?ScaleViewportExt@CDC@@UAE?AVCSize@@HHHH@Z:dword
; __declspec(dllimport)	public:	virtual	class CSize __thiscall CDC::SetViewportExt(int,	int)
extrn __imp_?SetViewportExt@CDC@@UAE?AVCSize@@HH@Z:dword
; __declspec(dllimport)	public:	virtual	class CPoint __thiscall	CDC::OffsetViewportOrg(int, int)
extrn __imp_?OffsetViewportOrg@CDC@@UAE?AVCPoint@@HH@Z:dword
; __declspec(dllimport)	public:	virtual	class CPoint __thiscall	CDC::SetViewportOrg(int, int)
extrn __imp_?SetViewportOrg@CDC@@UAE?AVCPoint@@HH@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CDC::SetMapMode(int)
extrn __imp_?SetMapMode@CDC@@UAEHH@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CDC::RestoreDC(int)
extrn __imp_?RestoreDC@CDC@@UAEHH@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CDC::SaveDC(void)
extrn __imp_?SaveDC@CDC@@UAEHXZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CDC::ReleaseOutputDC(void)
extrn __imp_?ReleaseOutputDC@CDC@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CDC::ReleaseAttribDC(void)
extrn __imp_?ReleaseAttribDC@CDC@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CDC::SetOutputDC(struct	HDC__ *)
extrn __imp_?SetOutputDC@CDC@@UAEXPAUHDC__@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CDC::SetAttribDC(struct	HDC__ *)
extrn __imp_?SetAttribDC@CDC@@UAEXPAUHDC__@@@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CWinApp::SelectPrinter(void *, void *, int)
extrn __imp_?SelectPrinter@CWinApp@@QAEXPAX0H@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CPageSetupDialog::DoModal(void)
extrn __imp_?DoModal@CPageSetupDialog@@UAEHXZ:dword
; __declspec(dllimport)	public:	__thiscall CPageSetupDialog::CPageSetupDialog(unsigned long, class CWnd	*)
extrn __imp_??0CPageSetupDialog@@QAE@KPAVCWnd@@@Z:dword
; __declspec(dllimport)	public:	class CString __thiscall CWinApp::GetProfileStringW(unsigned short const *, unsigned short const *, unsigned short const *)
extrn __imp_?GetProfileStringW@CWinApp@@QAE?AVCString@@PBG00@Z:dword
; __declspec(dllimport)	public:	unsigned int __thiscall	CWinApp::GetProfileIntW(unsigned short const *,	unsigned short const *,	int)
extrn __imp_?GetProfileIntW@CWinApp@@QAEIPBG0H@Z:dword
; __declspec(dllimport)	protected: void	__thiscall CWinApp::LoadStdProfileSettings(unsigned int)
extrn __imp_?LoadStdProfileSettings@CWinApp@@IAEXI@Z:dword
; __declspec(dllimport)	public:	int __thiscall CWinApp::WriteProfileStringW(unsigned short const *, unsigned short const *, unsigned short const *)
extrn __imp_?WriteProfileStringW@CWinApp@@QAEHPBG00@Z:dword
; __declspec(dllimport)	public:	int __thiscall CWinApp::WriteProfileInt(unsigned short const *,	unsigned short const *,	int)
extrn __imp_?WriteProfileInt@CWinApp@@QAEHPBG0H@Z:dword
; public: static struct	CRuntimeClass const COleServerItem::classCOleServerItem
extrn ?classCOleServerItem@COleServerItem@@2UCRuntimeClass@@B:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleServerItem::OnSaveEmbedding(struct IStorage *)
extrn __imp_?OnSaveEmbedding@COleServerItem@@MAEXPAUIStorage@@@Z:dword
; __declspec(dllimport)	protected: virtual int __thiscall COleServerItem::GetMetafileData(struct tagFORMATETC *, struct	tagSTGMEDIUM *)
extrn __imp_?GetMetafileData@COleServerItem@@MAEHPAUtagFORMATETC@@PAUtagSTGMEDIUM@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleServerItem::OnSetData(struct	tagFORMATETC *,	struct tagSTGMEDIUM *, int)
extrn __imp_?OnSetData@COleServerItem@@UAEHPAUtagFORMATETC@@PAUtagSTGMEDIUM@@H@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleServerItem::OnRenderData(struct tagFORMATETC	*, struct tagSTGMEDIUM *)
extrn __imp_?OnRenderData@COleServerItem@@UAEHPAUtagFORMATETC@@PAUtagSTGMEDIUM@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleServerItem::OnInitFromData(class COleDataObject *, int)
extrn __imp_?OnInitFromData@COleServerItem@@UAEHPAVCOleDataObject@@H@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleServerItem::OnUpdateItems(void)
extrn __imp_?OnUpdateItems@COleServerItem@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleServerItem::OnQueryUpdateItems(void)
extrn __imp_?OnQueryUpdateItems@COleServerItem@@UAEHXZ:dword
; __declspec(dllimport)	public:	virtual	class COleDataSource * __thiscall COleServerItem::OnGetClipboardData(int, struct tagPOINT *, struct tagSIZE *)
extrn __imp_?OnGetClipboardData@COleServerItem@@UAEPAVCOleDataSource@@HPAUtagPOINT@@PAUtagSIZE@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleServerItem::OnSetColorScheme(struct tagLOGPALETTE const *)
extrn __imp_?OnSetColorScheme@COleServerItem@@UAEHPBUtagLOGPALETTE@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleServerItem::OnDoVerb(long)
extrn __imp_?OnDoVerb@COleServerItem@@UAEXJ@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleServerItem::OnDrawEx(class CDC *, enum  tagDVASPECT,	class CSize &)
extrn __imp_?OnDrawEx@COleServerItem@@UAEHPAVCDC@@W4tagDVASPECT@@AAVCSize@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleServerItem::OnUpdate(class COleServerItem *, long, class CObject *,	enum  tagDVASPECT)
extrn __imp_?OnUpdate@COleServerItem@@UAEXPAV1@JPAVCObject@@W4tagDVASPECT@@@Z:dword
; __declspec(dllimport)	protected: virtual int __thiscall COleServerItem::IsBlank(void)const
extrn __imp_?IsBlank@COleServerItem@@MBEHXZ:dword
; __declspec(dllimport)	protected: virtual struct AFX_INTERFACEMAP const * __thiscall COleServerItem::GetInterfaceMap(void)const
extrn __imp_?GetInterfaceMap@COleServerItem@@MBEPBUAFX_INTERFACEMAP@@XZ:dword
; __declspec(dllimport)	protected: virtual struct AFX_MSGMAP const * __thiscall	CCmdTarget::GetMessageMap(void)const
extrn __imp_?GetMessageMap@CCmdTarget@@MBEPBUAFX_MSGMAP@@XZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	COleServerItem::OnFinalRelease(void)
extrn __imp_?OnFinalRelease@COleServerItem@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	__thiscall COleServerItem::~COleServerItem(void)
extrn __imp_??1COleServerItem@@UAE@XZ:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleServerItem::OnShow(void)
extrn __imp_?OnShow@COleServerItem@@MAEXXZ:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleServerItem::OnHide(void)
extrn __imp_?OnHide@COleServerItem@@MAEXXZ:dword
; __declspec(dllimport)	public:	void __thiscall	COleDataSource::DelayRenderData(unsigned short,	struct tagFORMATETC *)
extrn __imp_?DelayRenderData@COleDataSource@@QAEXGPAUtagFORMATETC@@@Z:dword
; __declspec(dllimport)	public:	void __thiscall	COleDataSource::DelayRenderFileData(unsigned short, struct tagFORMATETC	*)
extrn __imp_?DelayRenderFileData@COleDataSource@@QAEXGPAUtagFORMATETC@@@Z:dword
; __declspec(dllimport)	protected: __thiscall COleServerItem::COleServerItem(class COleServerDoc *, int)
extrn __imp_??0COleServerItem@@IAE@PAVCOleServerDoc@@H@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CDC::DPtoHIMETRIC(struct tagSIZE *)const
extrn __imp_?DPtoHIMETRIC@CDC@@QBEXPAUtagSIZE@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleServerItem::OnGetExtent(enum	 tagDVASPECT, class CSize &)
extrn __imp_?OnGetExtent@COleServerItem@@UAEHW4tagDVASPECT@@AAVCSize@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleServerItem::OnSetExtent(enum	 tagDVASPECT, class CSize const	&)
extrn __imp_?OnSetExtent@COleServerItem@@UAEHW4tagDVASPECT@@ABVCSize@@@Z:dword
; __declspec(dllimport)	protected: virtual void	__thiscall COleServerItem::OnOpen(void)
extrn __imp_?OnOpen@COleServerItem@@MAEXXZ:dword
; __declspec(dllimport)	public:	void __thiscall	COleServerItem::GetClipboardData(class COleDataSource *, int, struct tagPOINT *, struct	tagSIZE	*)
extrn __imp_?GetClipboardData@COleServerItem@@QAEXPAVCOleDataSource@@HPAUtagPOINT@@PAUtagSIZE@@@Z:dword
; __declspec(dllimport)	public:	__thiscall COleDataSource::COleDataSource(void)
extrn __imp_??0COleDataSource@@QAE@XZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleServerItem::OnRenderGlobalData(struct tagFORMATETC *, void *	*)
extrn __imp_?OnRenderGlobalData@COleServerItem@@UAEHPAUtagFORMATETC@@PAPAX@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall COleServerItem::OnRenderFileData(struct tagFORMATETC *, class CFile *)
extrn __imp_?OnRenderFileData@COleServerItem@@UAEHPAUtagFORMATETC@@PAVCFile@@@Z:dword
; public: static struct	CRuntimeClass const CEdit::classCEdit
extrn ?classCEdit@CEdit@@2UCRuntimeClass@@B:dword
; __declspec(dllimport)	public:	virtual	__thiscall CEdit::~CEdit(void)
extrn __imp_??1CEdit@@UAE@XZ:dword
; __declspec(dllimport)	public:	int __thiscall CDC::SetBkMode(int)
extrn __imp_?SetBkMode@CDC@@QAEHH@Z:dword
; __declspec(dllimport)	protected: virtual struct AFX_MSGMAP const * __thiscall	CWnd::GetMessageMap(void)const
extrn __imp_?GetMessageMap@CWnd@@MBEPBUAFX_MSGMAP@@XZ:dword
; public: virtual struct CRuntimeClass * __thiscall CEdit::GetRuntimeClass(void)const
extrn ?GetRuntimeClass@CEdit@@UBEPAUCRuntimeClass@@XZ:dword
; public: static class CWnd const CWnd::wndTopMost
extrn ?wndTopMost@CWnd@@2V1@B:dword
; __declspec(dllimport)	public:	void __thiscall	CWnd::GetWindowTextW(class CString &)const
extrn __imp_?GetWindowTextW@CWnd@@QBEXAAVCString@@@Z:dword
; public: static class CWnd const CWnd::wndTop
extrn ?wndTop@CWnd@@2V1@B:dword
; __declspec(dllimport)	public:	int __thiscall CEdit::Create(unsigned long, struct tagRECT const &, class CWnd *, unsigned int)
extrn __imp_?Create@CEdit@@QAEHKABUtagRECT@@PAVCWnd@@I@Z:dword
; public: static struct	CRuntimeClass const CToolBar::classCToolBar
extrn ?classCToolBar@CToolBar@@2UCRuntimeClass@@B:dword
; public: static struct	CRuntimeClass const CDialogBar::classCDialogBar
extrn ?classCDialogBar@CDialogBar@@2UCRuntimeClass@@B:dword
; __declspec(dllimport)	public:	void __thiscall	CToolBar::SetButtonInfo(int, unsigned int, unsigned int, int)
extrn __imp_?SetButtonInfo@CToolBar@@QAEXHIIH@Z:dword
; protected: static struct AFX_MSGMAP const CToolBar::messageMap
extrn ?messageMap@CToolBar@@1UAFX_MSGMAP@@B:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CToolBar::GetItemRect(int, struct tagRECT *)const
extrn __imp_?GetItemRect@CToolBar@@UBEXHPAUtagRECT@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CToolBar::OnBarStyleChange(unsigned long, unsigned long)
extrn __imp_?OnBarStyleChange@CToolBar@@UAEXKK@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CToolBar::OnUpdateCmdUI(class CFrameWnd	*, int)
extrn __imp_?OnUpdateCmdUI@CToolBar@@UAEXPAVCFrameWnd@@H@Z:dword
; __declspec(dllimport)	public:	virtual	class CSize __thiscall CToolBar::CalcDynamicLayout(int,	unsigned long)
extrn __imp_?CalcDynamicLayout@CToolBar@@UAE?AVCSize@@HK@Z:dword
; __declspec(dllimport)	public:	virtual	class CSize __thiscall CToolBar::CalcFixedLayout(int, int)
extrn __imp_?CalcFixedLayout@CToolBar@@UAE?AVCSize@@HH@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CToolBar::OnToolHitTest(class CPoint, struct tagTOOLINFOW *)const
extrn __imp_?OnToolHitTest@CToolBar@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z:dword
; __declspec(dllimport)	public:	__thiscall CToolBar::CToolBar(void)
extrn __imp_??0CToolBar@@QAE@XZ:dword
; __declspec(dllimport)	public:	virtual	__thiscall CToolBar::~CToolBar(void)
extrn __imp_??1CToolBar@@UAE@XZ:dword
; protected: static struct AFX_MSGMAP const CDialogBar::messageMap
extrn ?messageMap@CDialogBar@@1UAFX_MSGMAP@@B:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CDialogBar::OnUpdateCmdUI(class	CFrameWnd *, int)
extrn __imp_?OnUpdateCmdUI@CDialogBar@@UAEXPAVCFrameWnd@@H@Z:dword
; __declspec(dllimport)	public:	virtual	class CSize __thiscall CDialogBar::CalcFixedLayout(int,	int)
extrn __imp_?CalcFixedLayout@CDialogBar@@UAE?AVCSize@@HH@Z:dword
; __declspec(dllimport)	protected: virtual int __thiscall CDialogBar::SetOccDialogInfo(struct _AFX_OCC_DIALOG_INFO *)
extrn __imp_?SetOccDialogInfo@CDialogBar@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z:dword
; __declspec(dllimport)	public:	virtual	__thiscall CDialogBar::~CDialogBar(void)
extrn __imp_??1CDialogBar@@UAE@XZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CComboBox::DeleteItem(struct tagDELETEITEMSTRUCT *)
extrn __imp_?DeleteItem@CComboBox@@UAEXPAUtagDELETEITEMSTRUCT@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CComboBox::CompareItem(struct tagCOMPAREITEMSTRUCT *)
extrn __imp_?CompareItem@CComboBox@@UAEHPAUtagCOMPAREITEMSTRUCT@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CComboBox::MeasureItem(struct tagMEASUREITEMSTRUCT *)
extrn __imp_?MeasureItem@CComboBox@@UAEXPAUtagMEASUREITEMSTRUCT@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CComboBox::DrawItem(struct tagDRAWITEMSTRUCT *)
extrn __imp_?DrawItem@CComboBox@@UAEXPAUtagDRAWITEMSTRUCT@@@Z:dword
; __declspec(dllimport)	protected: virtual int __thiscall CComboBox::OnChildNotify(unsigned int, unsigned int, long, long *)
extrn __imp_?OnChildNotify@CComboBox@@MAEHIIJPAJ@Z:dword
; public: virtual struct CRuntimeClass * __thiscall CComboBox::GetRuntimeClass(void)const
extrn ?GetRuntimeClass@CComboBox@@UBEPAUCRuntimeClass@@XZ:dword
; __declspec(dllimport)	public:	virtual	__thiscall CComboBox::~CComboBox(void)
extrn __imp_??1CComboBox@@UAE@XZ:dword
; __declspec(dllimport)	public:	int __thiscall CToolBar::LoadBitmapW(unsigned short const *)
extrn __imp_?LoadBitmapW@CToolBar@@QAEHPBG@Z:dword
; __declspec(dllimport)	public:	int __thiscall CDialogBar::Create(class	CWnd *,	unsigned short const *,	unsigned int, unsigned int)
extrn __imp_?Create@CDialogBar@@QAEHPAVCWnd@@PBGII@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CComboBox::GetLBText(int, class	CString	&)const
extrn __imp_?GetLBText@CComboBox@@QBEXHAAVCString@@@Z:dword
; __declspec(dllimport)	public:	int __thiscall CToolBar::SetButtons(unsigned int const *, int)
extrn __imp_?SetButtons@CToolBar@@QAEHPBIH@Z:dword
; __declspec(dllimport)	public:	int __thiscall CToolBar::Create(class CWnd *, unsigned long, unsigned int)
extrn __imp_?Create@CToolBar@@QAEHPAVCWnd@@KI@Z:dword
; __declspec(dllimport)	public:	__thiscall CDialogBar::CDialogBar(void)
extrn __imp_??0CDialogBar@@QAE@XZ:dword
; __declspec(dllimport)	void __stdcall AfxThrowNotSupportedException(void)
extrn __imp_?AfxThrowNotSupportedException@@YGXXZ:dword
; __declspec(dllimport)	public:	struct HWND__ *	__thiscall CWnd::Detach(void)
extrn __imp_?Detach@CWnd@@QAEPAUHWND__@@XZ:dword
; __declspec(dllimport)	public:	int __thiscall CWnd::Attach(struct HWND__ *)
extrn __imp_?Attach@CWnd@@QAEHPAUHWND__@@@Z:dword
; public: static struct	CRuntimeClass const CControlBar::classCControlBar
extrn ?classCControlBar@CControlBar@@2UCRuntimeClass@@B:dword
; __declspec(dllimport)	public:	void __thiscall	CObArray::SetAtGrow(int, class CObject *)
extrn __imp_?SetAtGrow@CObArray@@QAEXHPAVCObject@@@Z:dword
; public: void __thiscall CControlBar::OnDestroy(void)
extrn ?OnDestroy@CControlBar@@QAEXXZ:dword
; __declspec(dllimport)	public:	virtual	class CSize __thiscall CControlBar::CalcFixedLayout(int, int)
extrn __imp_?CalcFixedLayout@CControlBar@@UAE?AVCSize@@HH@Z:dword
; __declspec(dllimport)	public:	__thiscall CObArray::CObArray(void)
extrn __imp_??0CObArray@@QAE@XZ:dword
; __declspec(dllimport)	public:	int __thiscall CDC::LineTo(int,	int)
extrn __imp_?LineTo@CDC@@QAEHHH@Z:dword
; __declspec(dllimport)	public:	class CPoint __thiscall	CDC::MoveTo(int, int)
extrn __imp_?MoveTo@CDC@@QAE?AVCPoint@@HH@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CObArray::SetSize(int, int)
extrn __imp_?SetSize@CObArray@@QAEXHH@Z:dword
; __declspec(dllimport)	void __stdcall AfxThrowMemoryException(void)
extrn __imp_?AfxThrowMemoryException@@YGXXZ:dword
; __declspec(dllimport)	public:	virtual	__thiscall CObArray::~CObArray(void)
extrn __imp_??1CObArray@@UAE@XZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CByteArray::Serialize(class CArchive &)
extrn __imp_?Serialize@CByteArray@@UAEXAAVCArchive@@@Z:dword
; public: virtual struct CRuntimeClass * __thiscall CByteArray::GetRuntimeClass(void)const
extrn ?GetRuntimeClass@CByteArray@@UBEPAUCRuntimeClass@@XZ:dword
; __declspec(dllimport)	public:	virtual	__thiscall CByteArray::~CByteArray(void)
extrn __imp_??1CByteArray@@UAE@XZ:dword
; __declspec(dllimport)	public:	void __thiscall	CByteArray::SetSize(int, int)
extrn __imp_?SetSize@CByteArray@@QAEXHH@Z:dword
; __declspec(dllimport)	public:	__thiscall CByteArray::CByteArray(void)
extrn __imp_??0CByteArray@@QAE@XZ:dword
; __declspec(dllimport)	public:	void __thiscall	CByteArray::InsertAt(int, unsigned char, int)
extrn __imp_?InsertAt@CByteArray@@QAEXHEH@Z:dword
; __declspec(dllimport)	public:	struct __POSITION * __thiscall CObList::FindIndex(int)const
extrn __imp_?FindIndex@CObList@@QBEPAU__POSITION@@H@Z:dword
; __declspec(dllimport)	public:	struct __POSITION * __thiscall CObList::AddHead(class CObject *)
extrn __imp_?AddHead@CObList@@QAEPAU__POSITION@@PAVCObject@@@Z:dword
; __declspec(dllimport)	public:	struct __POSITION * __thiscall CObList::InsertAfter(struct __POSITION *, class CObject *)
extrn __imp_?InsertAfter@CObList@@QAEPAU__POSITION@@PAU2@PAVCObject@@@Z:dword
; __declspec(dllimport)	public:	virtual	unsigned int __thiscall	CFile::Read(void *, unsigned int)
extrn __imp_?Read@CFile@@UAEIPAXI@Z:dword
; __declspec(dllimport)	public:	virtual	unsigned long __thiscall CFile::GetLength(void)const
extrn __imp_?GetLength@CFile@@UBEKXZ:dword
; __declspec(dllimport)	char * __stdcall AfxW2AHelper(char *, unsigned short const *, int)
extrn __imp_?AfxW2AHelper@@YGPADPADPBGH@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CFile::Write(void const	*, unsigned int)
extrn __imp_?Write@CFile@@UAEXPBXI@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CFile::SetLength(unsigned long)
extrn __imp_?SetLength@CFile@@UAEXK@Z:dword
; __declspec(dllimport)	public:	virtual	__thiscall CProgressCtrl::~CProgressCtrl(void)
extrn __imp_??1CProgressCtrl@@UAE@XZ:dword
; public: virtual struct CRuntimeClass * __thiscall CProgressCtrl::GetRuntimeClass(void)const
extrn ?GetRuntimeClass@CProgressCtrl@@UBEPAUCRuntimeClass@@XZ:dword
; __declspec(dllimport)	public:	void __thiscall	CCmdTarget::RestoreWaitCursor(void)
extrn __imp_?RestoreWaitCursor@CCmdTarget@@QAEXXZ:dword
; __declspec(dllimport)	public:	int __thiscall CProgressCtrl::Create(unsigned long, struct tagRECT const &, class CWnd *, unsigned int)
extrn __imp_?Create@CProgressCtrl@@QAEHKABUtagRECT@@PAVCWnd@@I@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CDialog::OnInitDialog(void)
extrn __imp_?OnInitDialog@CDialog@@UAEHXZ:dword
; __declspec(dllimport)	public:	void __thiscall	CWnd::SetDlgItemTextW(int, unsigned short const	*)
extrn __imp_?SetDlgItemTextW@CWnd@@QAEXHPBG@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CWnd::CheckRadioButton(int, int, int)
extrn __imp_?CheckRadioButton@CWnd@@QAEXHHH@Z:dword
; __declspec(dllimport)	public:	int __thiscall CWnd::UpdateData(int)
extrn __imp_?UpdateData@CWnd@@QAEHH@Z:dword
; __declspec(dllimport)	public:	int __thiscall CDC::SelectClipRgn(class	CRgn *)
extrn __imp_?SelectClipRgn@CDC@@QAEHPAVCRgn@@@Z:dword
; __declspec(dllimport)	public:	int __thiscall CStatusBar::Create(class	CWnd *,	unsigned long, unsigned	int)
extrn __imp_?Create@CStatusBar@@QAEHPAVCWnd@@KI@Z:dword
; __declspec(dllimport)	int __stdcall AfxWinMain(struct	HINSTANCE__ *, struct HINSTANCE__ *, unsigned short *, int)
extrn __imp_?AfxWinMain@@YGHPAUHINSTANCE__@@0PAGH@Z:dword
; protected: static struct AFX_MSGMAP const CDialog::messageMap
extrn ?messageMap@CDialog@@1UAFX_MSGMAP@@B:dword
; __declspec(dllimport)	public:	unsigned short * __thiscall CString::GetBufferSetLength(int)
extrn __imp_?GetBufferSetLength@CString@@QAEPAGH@Z:dword
; __declspec(dllimport)	public:	__thiscall CDialog::CDialog(unsigned int, class	CWnd *)
extrn __imp_??0CDialog@@QAE@IPAVCWnd@@@Z:dword
; public: virtual struct CRuntimeClass * __thiscall CDialog::GetRuntimeClass(void)const
extrn ?GetRuntimeClass@CDialog@@UBEPAUCRuntimeClass@@XZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CDialog::OnCmdMsg(unsigned int, int, void *, struct AFX_CMDHANDLERINFO *)
extrn __imp_?OnCmdMsg@CDialog@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWnd::DestroyWindow(void)
extrn __imp_?DestroyWindow@CWnd@@UAEHXZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWnd::PreCreateWindow(struct tagCREATESTRUCTW &)
extrn __imp_?PreCreateWindow@CWnd@@UAEHAAUtagCREATESTRUCTW@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CDialog::PreTranslateMessage(struct tagMSG *)
extrn __imp_?PreTranslateMessage@CDialog@@UAEHPAUtagMSG@@@Z:dword
; __declspec(dllimport)	public:	int __thiscall CStatusBar::SetIndicators(unsigned int const *, int)
extrn __imp_?SetIndicators@CStatusBar@@QAEHPBIH@Z:dword
; __declspec(dllimport)	public:	__thiscall AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
extrn __imp_??0AFX_EXCEPTION_LINK@@QAE@XZ:dword
; __declspec(dllimport)	public:	__thiscall CClientDC::CClientDC(class CWnd *)
extrn __imp_??0CClientDC@@QAE@PAVCWnd@@@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CStatusBar::GetPaneInfo(int, unsigned int &, unsigned int &, int &)const
extrn __imp_?GetPaneInfo@CStatusBar@@QBEXHAAI0AAH@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CStatusBar::SetPaneInfo(int, unsigned int, unsigned int, int)
extrn __imp_?SetPaneInfo@CStatusBar@@QAEXHIIH@Z:dword
; __declspec(dllimport)	public:	virtual	__thiscall CClientDC::~CClientDC(void)
extrn __imp_??1CClientDC@@UAE@XZ:dword
; __declspec(dllimport)	void __cdecl operator delete(void *)
extrn __imp_??3@YAXPAX@Z:dword
; __declspec(dllimport)	public:	int __thiscall CString::LoadStringW(unsigned int)
extrn __imp_?LoadStringW@CString@@QAEHI@Z:dword
; __declspec(dllimport)	protected: void	__thiscall CWnd::OnSysColorChange(void)
extrn __imp_?OnSysColorChange@CWnd@@IAEXXZ:dword
; __declspec(dllimport)	public:	void __thiscall	CStatusBar::CalcInsideRect(class CRect &, int)const
extrn __imp_?CalcInsideRect@CStatusBar@@QBEXAAVCRect@@H@Z:dword
; __declspec(dllimport)	public:	__thiscall CDC::CDC(void)
extrn __imp_??0CDC@@QAE@XZ:dword
; __declspec(dllimport)	public:	virtual	class CFont * __thiscall CDC::SelectObject(class CFont *)
extrn __imp_?SelectObject@CDC@@UAEPAVCFont@@PAV2@@Z:dword
; __declspec(dllimport)	public:	int __thiscall CDC::DeleteDC(void)
extrn __imp_?DeleteDC@CDC@@QAEHXZ:dword
; __declspec(dllimport)	public:	virtual	__thiscall CDC::~CDC(void)
extrn __imp_??1CDC@@UAE@XZ:dword
; __declspec(dllimport)	public:	__thiscall CStatusBar::CStatusBar(void)
extrn __imp_??0CStatusBar@@QAE@XZ:dword
; __declspec(dllimport)	public:	__thiscall CString::CString(void)
extrn __imp_??0CString@@QAE@XZ:dword
; __declspec(dllimport)	public:	virtual	__thiscall CStatusBar::~CStatusBar(void)
extrn __imp_??1CStatusBar@@UAE@XZ:dword
; __declspec(dllimport)	public:	__thiscall CString::~CString(void)
extrn __imp_??1CString@@QAE@XZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CCmdTarget::OnCmdMsg(unsigned int, int, void *, struct AFX_CMDHANDLERINFO *)
extrn __imp_?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CWnd::OnFinalRelease(void)
extrn __imp_?OnFinalRelease@CWnd@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CCmdTarget::IsInvokeAllowed(long)
extrn __imp_?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CCmdTarget::GetDispatchIID(struct _GUID *)
extrn __imp_?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z:dword
; __declspec(dllimport)	public:	virtual	unsigned int __thiscall	CCmdTarget::GetTypeInfoCount(void)
extrn __imp_?GetTypeInfoCount@CCmdTarget@@UAEIXZ:dword
; __declspec(dllimport)	public:	virtual	class CTypeLibCache * __thiscall CCmdTarget::GetTypeLibCache(void)
extrn __imp_?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ:dword
; __declspec(dllimport)	public:	virtual	long __thiscall	CCmdTarget::GetTypeLib(unsigned	long, struct ITypeLib *	*)
extrn __imp_?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z:dword
; __declspec(dllimport)	protected: virtual struct AFX_OLECMDMAP	const *	__thiscall CCmdTarget::GetCommandMap(void)const
extrn __imp_?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ:dword
; __declspec(dllimport)	protected: virtual struct AFX_DISPMAP const * __thiscall CCmdTarget::GetDispatchMap(void)const
extrn __imp_?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ:dword
; __declspec(dllimport)	protected: virtual struct AFX_CONNECTIONMAP const * __thiscall CCmdTarget::GetConnectionMap(void)const
extrn __imp_?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ:dword
; __declspec(dllimport)	protected: virtual struct AFX_INTERFACEMAP const * __thiscall CCmdTarget::GetInterfaceMap(void)const
extrn __imp_?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ:dword
; __declspec(dllimport)	protected: virtual struct AFX_EVENTSINKMAP const * __thiscall CCmdTarget::GetEventSinkMap(void)const
extrn __imp_?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CCmdTarget::OnCreateAggregates(void)
extrn __imp_?OnCreateAggregates@CCmdTarget@@UAEHXZ:dword
; __declspec(dllimport)	public:	virtual	struct IUnknown	* __thiscall CCmdTarget::GetInterfaceHook(void const *)
extrn __imp_?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z:dword
; __declspec(dllimport)	protected: virtual int __thiscall CCmdTarget::GetExtraConnectionPoints(class CPtrArray *)
extrn __imp_?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z:dword
; __declspec(dllimport)	protected: virtual long	__thiscall CWnd::WindowProc(unsigned int, unsigned int,	long)
extrn __imp_?WindowProc@CWnd@@MAEJIIJ@Z:dword
; __declspec(dllimport)	protected: virtual void	__thiscall CWnd::PostNcDestroy(void)
extrn __imp_?PostNcDestroy@CWnd@@MAEXXZ:dword
; __declspec(dllimport)	protected: virtual int __thiscall CWnd::OnChildNotify(unsigned int, unsigned int, long,	long *)
extrn __imp_?OnChildNotify@CWnd@@MAEHIIJPAJ@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CDialog::CheckAutoCenter(void)
extrn __imp_?CheckAutoCenter@CDialog@@UAEHXZ:dword
; __declspec(dllimport)	protected: virtual int __thiscall CDialog::SetOccDialogInfo(struct _AFX_OCC_DIALOG_INFO	*)
extrn __imp_?SetOccDialogInfo@CDialog@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CDialog::DoModal(void)
extrn __imp_?DoModal@CDialog@@UAEHXZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CDialog::OnSetFont(class CFont *)
extrn __imp_?OnSetFont@CDialog@@UAEXPAVCFont@@@Z:dword
; protected: virtual void __thiscall CDialog::OnCancel(void)
extrn ?OnCancel@CDialog@@MAEXXZ:dword
; __declspec(dllimport)	protected: virtual void	__thiscall CDialog::PreInitDialog(void)
extrn __imp_?PreInitDialog@CDialog@@MAEXXZ:dword
; __declspec(dllimport)	public:	unsigned short * __thiscall CString::GetBuffer(int)
extrn __imp_?GetBuffer@CString@@QAEPAGH@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CString::ReleaseBuffer(int)
extrn __imp_?ReleaseBuffer@CString@@QAEXH@Z:dword
; __declspec(dllimport)	public:	class CString const & __thiscall CString::operator+=(unsigned short)
extrn __imp_??YCString@@QAEABV0@G@Z:dword
; __declspec(dllimport)	public:	class CObject *	__thiscall CObList::RemoveHead(void)
extrn __imp_?RemoveHead@CObList@@QAEPAVCObject@@XZ:dword
; __declspec(dllimport)	public:	__thiscall CColorDialog::CColorDialog(unsigned long, unsigned long, class CWnd *)
extrn __imp_??0CColorDialog@@QAE@KKPAVCWnd@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CColorDialog::DoModal(void)
extrn __imp_?DoModal@CColorDialog@@UAEHXZ:dword
; public: static struct	CRuntimeClass const CFrameWnd::classCFrameWnd
extrn ?classCFrameWnd@CFrameWnd@@2UCRuntimeClass@@B:dword
; __declspec(dllimport)	class CObject *	__cdecl	AfxDynamicDownCast(struct CRuntimeClass	*, class CObject *)
extrn __imp_?AfxDynamicDownCast@@YAPAVCObject@@PAUCRuntimeClass@@PAV1@@Z:dword
; __declspec(dllimport)	public:	class CView * __thiscall CFrameWnd::GetActiveView(void)const
extrn __imp_?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ:dword
; __declspec(dllimport)	public:	virtual	__thiscall CDialog::~CDialog(void)
extrn __imp_??1CDialog@@UAE@XZ:dword
; __declspec(dllimport)	int __stdcall AfxDlgProc(struct	HWND__ *, unsigned int,	unsigned int, long)
extrn __imp_?AfxDlgProc@@YGHPAUHWND__@@IIJ@Z:dword
; __declspec(dllimport)	public:	int __thiscall CWnd::MessageBoxW(unsigned short	const *, unsigned short	const *, unsigned int)
extrn __imp_?MessageBoxW@CWnd@@QAEHPBG0I@Z:dword
; __declspec(dllimport)	public:	int __thiscall CObject::IsKindOf(struct	CRuntimeClass const *)const
extrn __imp_?IsKindOf@CObject@@QBEHPBUCRuntimeClass@@@Z:dword
; __declspec(dllimport)	public:	static class CWnd * __stdcall CWnd::FromHandle(struct HWND__ *)
extrn __imp_?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z:dword
; __declspec(dllimport)	class CWinThread * __stdcall AfxGetThread(void)
extrn __imp_?AfxGetThread@@YGPAVCWinThread@@XZ:dword
; __declspec(dllimport)	public:	__thiscall CString::CString(unsigned short const *)
extrn __imp_??0CString@@QAE@PBG@Z:dword
; __declspec(dllimport)	public:	static int __stdcall CFile::GetStatus(unsigned short const *, struct CFileStatus &)
extrn __imp_?GetStatus@CFile@@SGHPBGAAUCFileStatus@@@Z:dword
; __declspec(dllimport)	public:	virtual	__thiscall CObList::~CObList(void)
extrn __imp_??1CObList@@UAE@XZ:dword
; __declspec(dllimport)	public:	static class CDC * __stdcall CDC::FromHandle(struct HDC__ *)
extrn __imp_?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z:dword
; __declspec(dllimport)	public:	__thiscall CBrush::CBrush(unsigned long)
extrn __imp_??0CBrush@@QAE@K@Z:dword
; __declspec(dllimport)	public:	virtual	unsigned long __thiscall CDC::SetBkColor(unsigned long)
extrn __imp_?SetBkColor@CDC@@UAEKK@Z:dword
; __declspec(dllimport)	public:	virtual	unsigned long __thiscall CDC::SetTextColor(unsigned long)
extrn __imp_?SetTextColor@CDC@@UAEKK@Z:dword
; __declspec(dllimport)	public:	void * __thiscall CGdiObject::Detach(void)
extrn __imp_?Detach@CGdiObject@@QAEPAXXZ:dword
; __declspec(dllimport)	public:	struct HDC__ * __thiscall CDC::Detach(void)
extrn __imp_?Detach@CDC@@QAEPAUHDC__@@XZ:dword
; __declspec(dllimport)	public:	class CPalette * __thiscall CDC::SelectPalette(class CPalette *, int)
extrn __imp_?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z:dword
; __declspec(dllimport)	public:	__thiscall CFile::CFile(void)
extrn __imp_??0CFile@@QAE@XZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CFile::Open(unsigned short const	*, unsigned int, class CFileException *)
extrn __imp_?Open@CFile@@UAEHPBGIPAVCFileException@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CFile::Close(void)
extrn __imp_?Close@CFile@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CFile::Abort(void)
extrn __imp_?Abort@CFile@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	__thiscall CFile::~CFile(void)
extrn __imp_??1CFile@@UAE@XZ:dword
; __declspec(dllimport)	public:	__thiscall CObList::CObList(int)
extrn __imp_??0CObList@@QAE@H@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CCmdTarget::EndWaitCursor(void)
extrn __imp_?EndWaitCursor@CCmdTarget@@QAEXXZ:dword
; __declspec(dllimport)	public:	void __thiscall	CCmdTarget::BeginWaitCursor(void)
extrn __imp_?BeginWaitCursor@CCmdTarget@@QAEXXZ:dword
; public: virtual struct CRuntimeClass * __thiscall CBrush::GetRuntimeClass(void)const
extrn ?GetRuntimeClass@CBrush@@UBEPAUCRuntimeClass@@XZ:dword
; __declspec(dllimport)	class AFX_MODULE_STATE * __stdcall AfxGetModuleState(void)
extrn __imp_?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ:dword
; __declspec(dllimport)	public:	__thiscall CException::CException(void)
extrn __imp_??0CException@@QAE@XZ:dword
; __declspec(dllimport)	public:	class CString const & __thiscall CString::operator=(unsigned short const *)
extrn __imp_??4CString@@QAEABV0@PBG@Z:dword
; public: virtual struct CRuntimeClass * __thiscall CFileException::GetRuntimeClass(void)const
extrn ?GetRuntimeClass@CFileException@@UBEPAUCRuntimeClass@@XZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CFileException::GetErrorMessage(unsigned	short *, unsigned int, unsigned	int *)
extrn __imp_?GetErrorMessage@CFileException@@UAEHPAGIPAI@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CException::ReportError(unsigned	int, unsigned int)
extrn __imp_?ReportError@CException@@UAEHII@Z:dword
; __declspec(dllimport)	void * __cdecl operator	new(unsigned int)
extrn __imp_??2@YAPAXI@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CDocument::UpdateAllViews(class	CView *, long, class CObject *)
extrn __imp_?UpdateAllViews@CDocument@@QAEXPAVCView@@JPAVCObject@@@Z:dword
; __declspec(dllimport)	public:	__thiscall CString::CString(class CString const	&)
extrn __imp_??0CString@@QAE@ABV0@@Z:dword
; __declspec(dllimport)	public:	void __thiscall	CObList::RemoveAt(struct __POSITION *)
extrn __imp_?RemoveAt@CObList@@QAEXPAU__POSITION@@@Z:dword
; __declspec(dllimport)	public:	struct __POSITION * __thiscall CObList::Find(class CObject *, struct __POSITION	*)const
extrn __imp_?Find@CObList@@QBEPAU__POSITION@@PAVCObject@@PAU2@@Z:dword
; __declspec(dllimport)	public:	struct __POSITION * __thiscall CObList::AddTail(class CObject *)
extrn __imp_?AddTail@CObList@@QAEPAU__POSITION@@PAVCObject@@@Z:dword
; public: static struct	CRuntimeClass const CObject::classCObject
extrn ?classCObject@CObject@@2UCRuntimeClass@@B:dword
; __declspec(dllimport)	public:	void __thiscall	CStatusBar::GetItemRect(int, struct tagRECT *)const
extrn __imp_?GetItemRect@CStatusBar@@QBEXHPAUtagRECT@@@Z:dword
; __declspec(dllimport)	public:	int __thiscall CDC::ExcludeClipRect(struct tagRECT const *)
extrn __imp_?ExcludeClipRect@CDC@@QAEHPBUtagRECT@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CWinApp::AddToRecentFileList(unsigned short const *)
extrn __imp_?AddToRecentFileList@CWinApp@@UAEXPBG@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CControlBar::DoPaint(class CDC *)
extrn __imp_?DoPaint@CControlBar@@UAEXPAVCDC@@@Z:dword
; __declspec(dllimport)	protected: virtual struct IConnectionPoint * __thiscall	CCmdTarget::GetConnectionHook(struct _GUID const &)
extrn __imp_?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CWnd::PreSubclassWindow(void)
extrn __imp_?PreSubclassWindow@CWnd@@UAEXXZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWnd::Create(unsigned short const *, unsigned short const *, unsigned long, struct tagRECT const	&, class CWnd *, unsigned int, struct CCreateContext *)
extrn __imp_?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CControlBar::DestroyWindow(void)
extrn __imp_?DestroyWindow@CControlBar@@UAEHXZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CStatusBar::PreCreateWindow(struct tagCREATESTRUCTW &)
extrn __imp_?PreCreateWindow@CStatusBar@@UAEHAAUtagCREATESTRUCTW@@@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CWnd::CalcWindowRect(struct tagRECT *, unsigned	int)
extrn __imp_?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWnd::OnToolHitTest(class CPoint, struct	tagTOOLINFOW *)const
extrn __imp_?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z:dword
; __declspec(dllimport)	public:	virtual	class CScrollBar * __thiscall CWnd::GetScrollBarCtrl(int)const
extrn __imp_?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CWnd::WinHelpW(unsigned	long, unsigned int)
extrn __imp_?WinHelpW@CWnd@@UAEXKI@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWnd::ContinueModal(void)
extrn __imp_?ContinueModal@CWnd@@UAEHXZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CWnd::EndModalLoop(int)
extrn __imp_?EndModalLoop@CWnd@@UAEXH@Z:dword
; __declspec(dllimport)	protected: virtual int __thiscall CWnd::OnCommand(unsigned int,	long)
extrn __imp_?OnCommand@CWnd@@MAEHIJ@Z:dword
; __declspec(dllimport)	protected: virtual int __thiscall CWnd::OnNotify(unsigned int, long, long *)
extrn __imp_?OnNotify@CWnd@@MAEHIJPAJ@Z:dword
; __declspec(dllimport)	protected: virtual long	(__stdcall ** __thiscall CWnd::GetSuperWndProcAddr(void))(struct HWND__	*, unsigned int, unsigned int, long)
extrn __imp_?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CControlBar::PreTranslateMessage(struct tagMSG *)
extrn __imp_?PreTranslateMessage@CControlBar@@UAEHPAUtagMSG@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWnd::OnAmbientProperty(class COleControlSite *,	long, struct tagVARIANT	*)
extrn __imp_?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z:dword
; __declspec(dllimport)	public:	virtual	long __thiscall	CControlBar::WindowProc(unsigned int, unsigned int, long)
extrn __imp_?WindowProc@CControlBar@@UAEJIIJ@Z:dword
; __declspec(dllimport)	protected: virtual int __thiscall CWnd::OnWndMsg(unsigned int, unsigned	int, long, long	*)
extrn __imp_?OnWndMsg@CWnd@@MAEHIIJPAJ@Z:dword
; __declspec(dllimport)	protected: virtual long	__thiscall CWnd::DefWindowProcW(unsigned int, unsigned int, long)
extrn __imp_?DefWindowProcW@CWnd@@MAEJIIJ@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CControlBar::PostNcDestroy(void)
extrn __imp_?PostNcDestroy@CControlBar@@UAEXXZ:dword
; __declspec(dllimport)	protected: virtual int __thiscall CStatusBar::OnChildNotify(unsigned int, unsigned int,	long, long *)
extrn __imp_?OnChildNotify@CStatusBar@@MAEHIIJPAJ@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWnd::CheckAutoCenter(void)
extrn __imp_?CheckAutoCenter@CWnd@@UAEHXZ:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CWnd::IsFrameWnd(void)const
extrn __imp_?IsFrameWnd@CWnd@@UBEHXZ:dword
; __declspec(dllimport)	protected: virtual int __thiscall CWnd::SetOccDialogInfo(struct	_AFX_OCC_DIALOG_INFO *)
extrn __imp_?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z:dword
; __declspec(dllimport)	public:	virtual	class CSize __thiscall CControlBar::CalcDynamicLayout(int, unsigned long)
extrn __imp_?CalcDynamicLayout@CControlBar@@UAE?AVCSize@@HK@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CStatusBar::OnUpdateCmdUI(class	CFrameWnd *, int)
extrn __imp_?OnUpdateCmdUI@CStatusBar@@UAEXPAVCFrameWnd@@H@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CControlBar::DelayShow(int)
extrn __imp_?DelayShow@CControlBar@@UAEXH@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CControlBar::IsVisible(void)const
extrn __imp_?IsVisible@CControlBar@@UBEHXZ:dword
; __declspec(dllimport)	public:	virtual	unsigned long __thiscall CControlBar::RecalcDelayShow(struct AFX_SIZEPARENTPARAMS *)
extrn __imp_?RecalcDelayShow@CControlBar@@UAEKPAUAFX_SIZEPARENTPARAMS@@@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CControlBar::IsDockBar(void)const
extrn __imp_?IsDockBar@CControlBar@@UBEHXZ:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CStatusBar::OnBarStyleChange(unsigned long, unsigned long)
extrn __imp_?OnBarStyleChange@CStatusBar@@UAEXKK@Z:dword
; __declspec(dllimport)	public:	virtual	int __thiscall CControlBar::SetStatusText(int)
extrn __imp_?SetStatusText@CControlBar@@UAEHH@Z:dword
; __declspec(dllimport)	public:	virtual	void __thiscall	CStatusBar::DrawItem(struct tagDRAWITEMSTRUCT *)
extrn __imp_?DrawItem@CStatusBar@@UAEXPAUtagDRAWITEMSTRUCT@@@Z:dword
; __declspec(dllimport)	protected: static class	CGdiObject * __stdcall CDC::SelectGdiObject(struct HDC__ *, void *)
extrn __imp_?SelectGdiObject@CDC@@KGPAVCGdiObject@@PAUHDC__@@PAX@Z:dword
; __declspec(dllimport)	public:	int __thiscall CDC::Attach(struct HDC__	*)
extrn __imp_?Attach@CDC@@QAEHPAUHDC__@@@Z:dword
; public: virtual struct CRuntimeClass * __thiscall CRgn::GetRuntimeClass(void)const
extrn ?GetRuntimeClass@CRgn@@UBEPAUCRuntimeClass@@XZ:dword
; __declspec(dllimport)	struct HINSTANCE__ * __stdcall AfxFindResourceHandle(unsigned short const *, unsigned short const *)
extrn __imp_?AfxFindResourceHandle@@YGPAUHINSTANCE__@@PBG0@Z:dword
; __declspec(dllimport)	public:	int __thiscall CGdiObject::Attach(void *)
extrn __imp_?Attach@CGdiObject@@QAEHPAX@Z:dword
; public: virtual struct CRuntimeClass * __thiscall CBitmap::GetRuntimeClass(void)const
extrn ?GetRuntimeClass@CBitmap@@UBEPAUCRuntimeClass@@XZ:dword
; __declspec(dllimport)	public:	static class CGdiObject	* __stdcall CGdiObject::FromHandle(void	*)
extrn __imp_?FromHandle@CGdiObject@@SGPAV1@PAX@Z:dword
; public: virtual struct CRuntimeClass * __thiscall CGdiObject::GetRuntimeClass(void)const
extrn ?GetRuntimeClass@CGdiObject@@UBEPAUCRuntimeClass@@XZ:dword
; public: virtual struct CRuntimeClass * __thiscall CObject::GetRuntimeClass(void)const
extrn ?GetRuntimeClass@CObject@@UBEPAUCRuntimeClass@@XZ:dword
; public: long __thiscall CControlBar::OnSizeParent(unsigned int, long)
extrn ?OnSizeParent@CControlBar@@QAEJIJ@Z:dword
; __declspec(dllimport)	public:	unsigned long __thiscall CWnd::GetStyle(void)const
extrn __imp_?GetStyle@CWnd@@QBEKXZ:dword
; __declspec(dllimport)	public:	int __thiscall CWnd::ShowWindow(int)
extrn __imp_?ShowWindow@CWnd@@QAEHH@Z:dword
; __declspec(dllimport)	public:	int __thiscall CStatusBar::SetPaneText(int, unsigned short const *, int)
extrn __imp_?SetPaneText@CStatusBar@@QAEHHPBGH@Z:dword
; __declspec(dllimport)	void __stdcall AfxTryCleanup(void)
extrn __imp_?AfxTryCleanup@@YGXXZ:dword
; __declspec(dllimport)	public:	virtual	class CSize __thiscall CStatusBar::CalcFixedLayout(int,	int)
extrn __imp_?CalcFixedLayout@CStatusBar@@UAE?AVCSize@@HH@Z:dword
; __declspec(dllimport)	public:	int __thiscall CGdiObject::DeleteObject(void)
extrn __imp_?DeleteObject@CGdiObject@@QAEHXZ:dword
; __declspec(dllimport)	public:	void __thiscall	CString::Empty(void)
extrn __imp_?Empty@CString@@QAEXXZ:dword
; protected: void __thiscall CWnd::OnNcDestroy(void)
extrn ?OnNcDestroy@CWnd@@IAEXXZ:dword
; protected: static struct AFX_MSGMAP const CStatusBar::messageMap
extrn ?messageMap@CStatusBar@@1UAFX_MSGMAP@@B:dword
; __declspec(dllimport)	protected: void	__thiscall CFrameWnd::OnPaletteChanged(class CWnd *)
extrn __imp_?OnPaletteChanged@CFrameWnd@@IAEXPAVCWnd@@@Z:dword
; public: static struct	CRuntimeClass const CStatusBar::classCStatusBar
extrn ?classCStatusBar@CStatusBar@@2UCRuntimeClass@@B:dword

;
; Imports from OLEAUT32.dll
;
; void __stdcall SysFreeString(BSTR bstrString)
extrn SysFreeString:dword
; BSTR __stdcall SysAllocString(const OLECHAR *psz)
extrn SysAllocString:dword

;
; Imports from SHELL32.dll
;
; INT __stdcall	ShellAboutW(HWND hWnd, LPCWSTR szApp, LPCWSTR szOtherStuff, HICON hIcon)
extrn ShellAboutW:dword
; LPWSTR *__stdcall CommandLineToArgvW(LPCWSTR lpCmdLine, int *pNumArgs)
extrn CommandLineToArgvW:dword
; void __stdcall SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2)
extrn SHChangeNotify:dword

;
; Imports from USER32.dll
;
; DWORD	__stdcall SetClassLongW(HWND hWnd, int nIndex, LONG dwNewLong)
extrn SetClassLongW:dword
; HICON	__stdcall LoadIconW(HINSTANCE hInstance, LPCWSTR lpIconName)
extrn LoadIconW:dword
; BOOL __stdcall DestroyCaret()
extrn DestroyCaret:dword
; BOOL __stdcall CreateCaret(HWND hWnd,	HBITMAP	hBitmap, int nWidth, int nHeight)
extrn CreateCaret:dword
; BOOL __stdcall ShowCaret(HWND	hWnd)
extrn ShowCaret:dword
; LRESULT __stdcall SendDlgItemMessageW(HWND hDlg, int nIDDlgItem, UINT	Msg, WPARAM wParam, LPARAM lParam)
extrn SendDlgItemMessageW:dword
; UINT __stdcall GetDlgItemInt(HWND hDlg, int nIDDlgItem, BOOL *lpTranslated, BOOL bSigned)
extrn GetDlgItemInt:dword
; BOOL __stdcall CheckDlgButton(HWND hDlg, int nIDButton, UINT uCheck)
extrn CheckDlgButton:dword
; BOOL __stdcall SetDlgItemInt(HWND hDlg, int nIDDlgItem, UINT uValue, BOOL bSigned)
extrn SetDlgItemInt:dword
; HWND __stdcall GetDlgItem(HWND hDlg, int nIDDlgItem)
extrn GetDlgItem:dword
; DWORD	__stdcall MsgWaitForMultipleObjects(DWORD nCount, const	HANDLE *pHandles, BOOL fWaitAll, DWORD dwMilliseconds, DWORD dwWakeMask)
extrn MsgWaitForMultipleObjects:dword
; BOOL __stdcall TranslateMessage(const	MSG *lpMsg)
extrn TranslateMessage:dword
; LRESULT __stdcall DispatchMessageW(const MSG *lpMsg)
extrn DispatchMessageW:dword
; BOOL __stdcall PeekMessageW(LPMSG lpMsg, HWND	hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg)
extrn PeekMessageW:dword
; BOOL __stdcall EnableScrollBar(HWND hWnd, UINT wSBflags, UINT	wArrows)
extrn EnableScrollBar:dword
; BOOL __stdcall DestroyWindow(HWND hWnd)
extrn DestroyWindow:dword
; HKL __stdcall	GetKeyboardLayout(DWORD	idThread)
extrn GetKeyboardLayout:dword
; BOOL __stdcall SetRectEmpty(LPRECT lprc)
extrn SetRectEmpty:dword
; BOOL __stdcall InflateRect(LPRECT lprc, int dx, int dy)
extrn InflateRect:dword
; HBITMAP __stdcall LoadBitmapW(HINSTANCE hInstance, LPCWSTR lpBitmapName)
extrn LoadBitmapW:dword
; LRESULT __stdcall SendMessageW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
extrn SendMessageW:dword
; BOOL __stdcall GetWindowRect(HWND hWnd, LPRECT lpRect)
extrn GetWindowRect:dword
; BOOL __stdcall UpdateWindow(HWND hWnd)
extrn UpdateWindow:dword
; BOOL __stdcall InvalidateRect(HWND hWnd, const RECT *lpRect, BOOL bErase)
extrn InvalidateRect:dword
; BOOL __stdcall EnableWindow(HWND hWnd, BOOL bEnable)
extrn EnableWindow:dword
; DWORD	__stdcall GetSysColor(int nIndex)
extrn GetSysColor:dword
; int wsprintfW(LPWSTR,	LPCWSTR, ...)
extrn wsprintfW:dword
; BOOL __stdcall IsWindow(HWND hWnd)
extrn IsWindow:dword
; int __stdcall	GetSystemMetrics(int nIndex)
extrn GetSystemMetrics:dword
; BOOL __stdcall SetRect(LPRECT	lprc, int xLeft, int yTop, int xRight, int yBottom)
extrn SetRect:dword
; int __stdcall	FillRect(HDC hDC, const	RECT *lprc, HBRUSH hbr)
extrn FillRect:dword
; BOOL __stdcall MessageBeep(UINT uType)
extrn MessageBeep:dword
; HWND __stdcall GetParent(HWND	hWnd)
extrn GetParent:dword
; int __stdcall	MessageBoxW(HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType)
extrn MessageBoxW:dword
; int __stdcall	wvsprintfW(LPWSTR, LPCWSTR, va_list arglist)
extrn wvsprintfW:dword
; BOOL __stdcall SetWindowTextW(HWND hWnd, LPCWSTR lpString)
extrn SetWindowTextW:dword
; int __stdcall	ReleaseDC(HWND hWnd, HDC hDC)
extrn ReleaseDC:dword
; BOOL __stdcall DrawFocusRect(HDC hDC,	const RECT *lprc)
extrn DrawFocusRect:dword
; HDC __stdcall	GetDC(HWND hWnd)
extrn GetDC:dword
; BOOL __stdcall PtInRect(const	RECT *lprc, POINT pt)
extrn PtInRect:dword
; BOOL __stdcall OffsetRect(LPRECT lprc, int dx, int dy)
extrn OffsetRect:dword
; BOOL __stdcall WinHelpW(HWND hWndMain, LPCWSTR lpszHelp, UINT	uCommand, ULONG_PTR dwData)
extrn WinHelpW:dword
; BOOL __stdcall GetClientRect(HWND hWnd, LPRECT lpRect)
extrn GetClientRect:dword
; int __stdcall	FrameRect(HDC hDC, const RECT *lprc, HBRUSH hbr)
extrn FrameRect:dword
; HWND __stdcall GetCapture()
extrn GetCapture:dword
; BOOL __stdcall IsClipboardFormatAvailable(UINT format)
extrn IsClipboardFormatAvailable:dword
; UINT __stdcall RegisterClipboardFormatW(LPCWSTR lpszFormat)
extrn RegisterClipboardFormatW:dword
; BOOL __stdcall CopyRect(LPRECT lprcDst, const	RECT *lprcSrc)
extrn CopyRect:dword
; LPWSTR __stdcall CharNextW(LPCWSTR lpsz)
extrn CharNextW:dword
; BOOL __stdcall IntersectRect(LPRECT lprcDst, const RECT *lprcSrc1, const RECT	*lprcSrc2)
extrn IntersectRect:dword
; BOOL __stdcall UnionRect(LPRECT lprcDst, const RECT *lprcSrc1, const RECT *lprcSrc2)
extrn UnionRect:dword
; BOOL __stdcall ScreenToClient(HWND hWnd, LPPOINT lpPoint)
extrn ScreenToClient:dword
; HWND __stdcall WindowFromPoint(POINT Point)
extrn WindowFromPoint:dword
; BOOL __stdcall GetCursorPos(LPPOINT lpPoint)
extrn GetCursorPos:dword
; SHORT	__stdcall GetKeyState(int nVirtKey)
extrn GetKeyState:dword
; BOOL __stdcall IsRectEmpty(const RECT	*lprc)
extrn IsRectEmpty:dword
; BOOL __stdcall EqualRect(const RECT *lprc1, const RECT *lprc2)
extrn EqualRect:dword
; UINT_PTR __stdcall SetTimer(HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc)
extrn SetTimer:dword
; BOOL __stdcall KillTimer(HWND	hWnd, UINT_PTR uIDEvent)
extrn KillTimer:dword
; BOOL __stdcall ReleaseCapture()
extrn ReleaseCapture:dword
; HMENU	__stdcall GetSubMenu(HMENU hMenu, int nPos)
extrn GetSubMenu:dword
; HMENU	__stdcall LoadMenuW(HINSTANCE hInstance, LPCWSTR lpMenuName)
extrn LoadMenuW:dword
; BOOL __stdcall BringWindowToTop(HWND hWnd)
extrn BringWindowToTop:dword
; BOOL __stdcall ClientToScreen(HWND hWnd, LPPOINT lpPoint)
extrn ClientToScreen:dword
; HWND __stdcall SetActiveWindow(HWND hWnd)
extrn SetActiveWindow:dword
; HWND __stdcall SetCapture(HWND hWnd)
extrn SetCapture:dword
; HWND __stdcall GetFocus()
extrn GetFocus:dword
; HCURSOR __stdcall LoadCursorW(HINSTANCE hInstance, LPCWSTR lpCursorName)
extrn LoadCursorW:dword
; LONG __stdcall GetWindowLongW(HWND hWnd, int nIndex)
extrn GetWindowLongW:dword
; HCURSOR __stdcall SetCursor(HCURSOR hCursor)
extrn SetCursor:dword
; HWND __stdcall GetDesktopWindow()
extrn GetDesktopWindow:dword
; BOOL __stdcall RemoveMenu(HMENU hMenu, UINT uPosition, UINT uFlags)
extrn RemoveMenu:dword
; BOOL __stdcall PostMessageW(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
extrn PostMessageW:dword
; HMENU	__stdcall GetSystemMenu(HWND hWnd, BOOL	bRevert)
extrn GetSystemMenu:dword
; BOOL __stdcall HideCaret(HWND	hWnd)
extrn HideCaret:dword
; BOOL __stdcall GetClassInfoW(HINSTANCE hInstance, LPCWSTR lpClassName, LPWNDCLASSW lpWndClass)
extrn GetClassInfoW:dword
; BOOL __stdcall IsWindowVisible(HWND hWnd)
extrn IsWindowVisible:dword
; BOOL __stdcall SystemParametersInfoW(UINT uiAction, UINT uiParam, PVOID pvParam, UINT	fWinIni)
extrn SystemParametersInfoW:dword
; BOOL __stdcall DestroyIcon(HICON hIcon)
extrn DestroyIcon:dword
; int __stdcall	LoadStringW(HINSTANCE hInstance, UINT uID, LPWSTR lpBuffer, int	cchBufferMax)
extrn LoadStringW:dword
; BOOL __stdcall EnableMenuItem(HMENU hMenu, UINT uIDEnableItem, UINT uEnable)
extrn EnableMenuItem:dword
; HMENU	__stdcall GetMenu(HWND hWnd)
extrn GetMenu:dword
; BOOL __stdcall IsMenu(HMENU hMenu)
extrn IsMenu:dword
; LONG __stdcall SetWindowLongW(HWND hWnd, int nIndex, LONG dwNewLong)
extrn SetWindowLongW:dword
; LONG __stdcall TabbedTextOutW(HDC hdc, int x,	int y, LPCWSTR lpString, int chCount, int nTabPositions, const INT *lpnTabStopPositions, int nTabOrigin)
extrn TabbedTextOutW:dword
; int __stdcall	DrawTextW(HDC hdc, LPCWSTR lpchText, int cchText, LPRECT lprc, UINT format)
extrn DrawTextW:dword
; BOOL __stdcall GrayStringW(HDC hDC, HBRUSH hBrush, GRAYSTRINGPROC lpOutputFunc, LPARAM lpData, int nCount, int X, int	Y, int nWidth, int nHeight)
extrn GrayStringW:dword
; HDC __stdcall	GetWindowDC(HWND hWnd)
extrn GetWindowDC:dword
; DWORD	__stdcall CheckMenuItem(HMENU hMenu, UINT uIDCheckItem,	UINT uCheck)
extrn CheckMenuItem:dword
; HDC __stdcall	BeginPaint(HWND	hWnd, LPPAINTSTRUCT lpPaint)
extrn BeginPaint:dword
; BOOL __stdcall EndPaint(HWND hWnd, const PAINTSTRUCT *lpPaint)
extrn EndPaint:dword
; BOOL __stdcall GetUpdateRect(HWND hWnd, LPRECT lpRect, BOOL bErase)
extrn GetUpdateRect:dword
; BOOL __stdcall ValidateRect(HWND hWnd, const RECT *lpRect)
extrn ValidateRect:dword
; BOOL __stdcall RedrawWindow(HWND hWnd, const RECT *lprcUpdate, HRGN hrgnUpdate, UINT flags)
extrn RedrawWindow:dword
; HWND __stdcall GetWindow(HWND	hWnd, UINT uCmd)
extrn GetWindow:dword
; BOOL __stdcall GetCaretPos(LPPOINT lpPoint)
extrn GetCaretPos:dword
; BOOL __stdcall SetCaretPos(int X, int	Y)
extrn SetCaretPos:dword
; int __stdcall	ShowCursor(BOOL	bShow)
extrn ShowCursor:dword

;
; Imports from comdlg32.dll
;
; DWORD	__stdcall CommDlgExtendedError()
extrn CommDlgExtendedError:dword
; BOOL __stdcall GetSaveFileNameW(LPOPENFILENAMEW)
extrn GetSaveFileNameW:dword
; __int16 __stdcall GetFileTitleW(LPCWSTR, LPWSTR Buf, WORD cchSize)
extrn GetFileTitleW:dword
; BOOL __stdcall GetOpenFileNameW(LPOPENFILENAMEW)
extrn GetOpenFileNameW:dword

;
; Imports from msvcrt.dll
;
; wchar_t *__cdecl wcschr(const	wchar_t	*Str, wchar_t Ch)
extrn wcschr:dword
extrn __imp__ftol:dword
; wchar_t *__cdecl itow(int Value, wchar_t *Dest, int Radix)
extrn _itow:dword
extrn _except_handler3:dword
; wchar_t *__cdecl wcstok(wchar_t *Str,	const wchar_t *Delim)
extrn wcstok:dword
extrn _beginthreadex:dword
; void __cdecl c_exit()
extrn _c_exit:dword
; void __cdecl exit(int	Code)
extrn _exit:dword
extrn __imp__XcptFilter:dword
; void __cdecl cexit()
extrn _cexit:dword
; void __cdecl exit(int	Code)
extrn exit:dword
extrn _wcmdln:dword
extrn __wgetmainargs:dword
extrn __imp__initterm:dword
extrn __setusermatherr:dword
; unsigned int __cdecl _controlfp(unsigned int NewValue, unsigned int Mask)
extrn __imp__controlfp:dword
; __declspec(dllimport)	void __cdecl terminate(void)
extrn __imp_?terminate@@YAXXZ:dword
extrn __CxxFrameHandler:dword
; void __cdecl wsplitpath(const	wchar_t	*FullPath, wchar_t *Drive, wchar_t *Dir, wchar_t *Filename, wchar_t *Ext)
extrn _wsplitpath:dword
; int __cdecl wtoi(const wchar_t *Str)
extrn _wtoi:dword
; wchar_t *__cdecl ltow(__int32	Value, wchar_t *Dest, int Radix)
extrn _ltow:dword
; __int32 __cdecl wtol(const wchar_t *Str)
extrn _wtol:dword
extrn __imp__CxxThrowException:dword
; int __cdecl wcscmp(const wchar_t *Str1, const	wchar_t	*Str2)
extrn wcscmp:dword
; void __cdecl free(void *Memory)
extrn free:dword
; char *__cdecl	getdcwd(int, char *, int)
extrn _getdcwd:dword
extrn _adjust_fdiv:dword
extrn __p__commode:dword
extrn __p__fmode:dword
extrn __set_app_type:dword
; __declspec(dllimport)	public:	virtual	__thiscall type_info::~type_info(void)
extrn __imp_??1type_info@@UAE@XZ:dword
extrn __imp___dllonexit:dword
; _onexit_t __cdecl onexit(_onexit_t Func)
extrn _onexit:dword
; wchar_t *__cdecl wcscat(wchar_t *Dest, const wchar_t *Source)
extrn wcscat:dword
; wchar_t *__cdecl wcsdup(const	wchar_t	*Str)
extrn _wcsdup:dword
; int __cdecl wcsicmp(const wchar_t *Str1, const wchar_t *Str2)
extrn _wcsicmp:dword
extrn __imp__purecall:dword
; int __cdecl rand()
extrn rand:dword

;
; Imports from ole32.dll
;
; void __stdcall CoUninitialize()
extrn CoUninitialize:dword
; HRESULT __stdcall CoGetInterfaceAndReleaseStream(LPSTREAM pStm, const	IID *const iid,	LPVOID *ppv)
extrn CoGetInterfaceAndReleaseStream:dword
; HRESULT __stdcall CoMarshalInterThreadInterfaceInStream(const	IID *const riid, LPUNKNOWN pUnk, LPSTREAM *ppStm)
extrn CoMarshalInterThreadInterfaceInStream:dword
; HRESULT __stdcall PropVariantClear(PROPVARIANT *pvar)
extrn PropVariantClear:dword
; void __stdcall CoTaskMemFree(LPVOID pv)
extrn CoTaskMemFree:dword
; HRESULT __stdcall CoCreateInstance(const IID *const rclsid, LPUNKNOWN	pUnkOuter, DWORD dwClsContext, const IID *const	riid, LPVOID *ppv)
extrn CoCreateInstance:dword
; HRESULT __stdcall CLSIDFromString(LPCOLESTR lpsz, LPCLSID pclsid)
extrn CLSIDFromString:dword
; HRESULT __stdcall WriteClassStg(LPSTORAGE pStg, const	IID *const rclsid)
extrn WriteClassStg:dword
; HRESULT __stdcall WriteFmtUserTypeStg(LPSTORAGE pstg,	CLIPFORMAT cf, LPOLESTR	lpszUserType)
extrn WriteFmtUserTypeStg:dword
; HRESULT __stdcall OleGetClipboard(LPDATAOBJECT *ppDataObj)
extrn OleGetClipboard:dword
; void __stdcall ReleaseStgMedium(LPSTGMEDIUM)
extrn ReleaseStgMedium:dword
; HRESULT __stdcall CoInitialize(LPVOID	pvReserved)
extrn CoInitialize:dword



; Segment type:	Pure code
; Segment permissions: Read/Execute
_text segment para public 'CODE' use32
assume cs:_text
;org 1001EA0h
assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing
dword_1001EA0 dd 0	; Characteristics
dd 41107CD3h		; TimeDateStamp
dw 0			; MajorVersion
dw 0			; MinorVersion
dd 2			; Type:	The Visual C++ debug information
dd 24h			; SizeOfData
dd rva asc_1007648	; AddressOfRawData
dd rva dword_1006A48	; PointerToRawData
align 10h
off_1001EC0 dd offset aCstatbar	; "CStatBar"
dd 0A4h, 0FFFFh, 0
dd offset loc_100957E
align 8
dword_1001ED8 dd 15h, 3	dup(0)
dd 0Ch,	1009D51h, 30h, 3 dup(0)
dd 0Ah,	100996Dh, 361h,	3 dup(0)
dd 0Ah,	10096A0h, 82h, 3 dup(0)
dd 0Ch,	10095AAh, 6 dup(0)
off_1001F50 dd offset loc_1009594
dd offset dword_1001ED8
aCstatbar db 'CStatBar',0
align 4
; const	WCHAR Text
Text dw	0
align 4
dd offset dword_100769C
off_1001F6C dd offset loc_10330D8
dd offset sub_1009DC7
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset dword_10076E4
off_1001F84 dd offset loc_10330E4
dd offset sub_1009DEE
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset dword_1007730
off_1001F9C dd offset loc_10330FC
dd offset sub_1009E14
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset dword_100777C
off_1001FB4 dd offset loc_1033120
dd offset sub_1009E3A
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset dword_1007834
off_1001FCC dd offset loc_1009589
dd offset sub_1009E60
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CCmdTarget::OnCmdMsg(uint,int,void	*,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_100959F
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CControlBar@@UAEHXZ ; CControlBar::DestroyWindow(void)
dd offset ?PreCreateWindow@CStatusBar@@UAEHAAUtagCREATESTRUCTW@@@Z ; CStatusBar::PreCreateWindow(tagCREATESTRUCTW &)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CWnd@@MAEHIJ@Z ; CWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset sub_10098C9
dd offset sub_10098DA
dd offset ?PreTranslateMessage@CControlBar@@UAEHPAUtagMSG@@@Z ;	CControlBar::PreTranslateMessage(tagMSG	*)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CControlBar@@UAEJIIJ@Z ; CControlBar::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CControlBar@@UAEXXZ ; CControlBar::PostNcDestroy(void)
dd offset ?OnChildNotify@CStatusBar@@MAEHIIJPAJ@Z ; CStatusBar::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
dd offset sub_10095F6
dd offset ?CalcDynamicLayout@CControlBar@@UAE?AVCSize@@HK@Z ; CControlBar::CalcDynamicLayout(int,ulong)
dd offset ?OnUpdateCmdUI@CStatusBar@@UAEXPAVCFrameWnd@@H@Z ; CStatusBar::OnUpdateCmdUI(CFrameWnd *,int)
dd offset ?DelayShow@CControlBar@@UAEXH@Z ; CControlBar::DelayShow(int)
dd offset ?IsVisible@CControlBar@@UBEHXZ ; CControlBar::IsVisible(void)
dd offset ?RecalcDelayShow@CControlBar@@UAEKPAUAFX_SIZEPARENTPARAMS@@@Z	; CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)
dd offset ?IsDockBar@CControlBar@@UBEHXZ ; CControlBar::IsDockBar(void)
dd offset ?OnBarStyleChange@CStatusBar@@UAEXKK@Z ; CStatusBar::OnBarStyleChange(ulong,ulong)
dd offset sub_100A0A0
dd offset ?SetStatusText@CControlBar@@UAEHH@Z ;	CControlBar::SetStatusText(int)
dd offset ?DrawItem@CStatusBar@@UAEXPAUtagDRAWITEMSTRUCT@@@Z ; CStatusBar::DrawItem(tagDRAWITEMSTRUCT *)
; const	WCHAR pszDriver
pszDriver:
unicode	0, <DISPLAY>,0
; const	WCHAR aDD
aDD:
unicode	0, <%d~%d>,0
; const	WCHAR String
String:
unicode	0, <0>,0
off_10020D8 dd offset aCbitmapobj ; "CBitmapObj"
dd 5Ch,	0FFFFh,	100B930h, 100A36Fh, 0
aCbitmapobj db 'CBitmapObj',0
align 4
dd offset dword_1007898
off_1002100 dd offset loc_1033504
dd offset sub_100B740
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?GetErrorMessage@CFileException@@UAEHPAGIPAI@Z ; CFileException::GetErrorMessage(ushort *,uint,uint *)
dd offset ?ReportError@CException@@UAEHII@Z ; CException::ReportError(uint,uint)
dd offset dword_10078E4
off_1002120 dd offset loc_1033534
dd offset sub_100B90A
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset dword_100792C
off_1002138 dd offset loc_100A37A
dd offset sub_100BFDE
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
off_100214C dd offset aCcolors ; "CColors"
dd 14h,	0FFFFh,	100CAE4h, 100A36Fh, 0
aCcolors db 'CColors',0
dd offset dword_1007974
off_1002170 dd offset loc_100C1C9
dd offset sub_100C848
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
off_1002184 dd offset aCdocking	; "CDocking"
dd 5Ch,	0FFFFh,	0
dd offset loc_100A36F
dd 0
aCdocking db 'CDocking',0
align 4
mov	esp, 1B010079h
retf
dw 100h
dd offset sub_10186A7
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dword_10021C0 dd 53h, 3	dup(0)
dd 0Ah,	100D9E5h, 7Bh, 3 dup(0)
dd 0Ah,	100D9D8h, 111h,	0
dd 2 dup(404h),	0Ch, 100E341h, 111h, 0
dd 2 dup(405h),	0Ch, 100E34Eh, 111h, 0
dd 2 dup(406h),	0Ch, 100E35Bh, 111h, 300h
dd 2 dup(10Ah),	0Ch, 100D5A9h, 111h, 300h
dd 2 dup(108h),	0Ch, 100D5A9h, 111h, 0
dd 2 dup(118h),	0Ch, 100E5DAh, 111h, 0
dd 2 dup(42Ch),	0Ch, 100D9AAh, 111h, 0
dd 2 dup(42Dh),	0Ch, 100E60Ah, 0Fh, 3 dup(0)
dd 0Ch,	100E4EBh, 6 dup(0)
off_10022E0 dd offset loc_101164F
dd offset dword_10021C0
dword_10022E8 dd 53h, 3	dup(0)
dd 0Ah,	100D9E5h, 7Bh, 3 dup(0)
dd 0Ah,	100D9D8h, 6 dup(0)
off_1002330 dd offset loc_101164F
dd offset dword_10022E8
dword_1002338 dd 53h, 3	dup(0)
dd 0Ah,	100D9E5h, 7Bh, 3 dup(0)
dd 0Ah,	100D9D8h, 111h,	0
dd 2 dup(441h),	0Ch, 100D791h, 111h, 0
dd 2 dup(43Fh),	0Ch, 100D7DAh, 111h, 0
dd 2 dup(440h),	0Ch, 100D7DAh, 6 dup(0)
off_10023C8 dd offset loc_101164F
dd offset dword_1002338
dword_10023D0 dd 53h, 3	dup(0)
dd 0Ah,	100D9E5h, 7Bh, 3 dup(0)
dd 0Ah,	100D9D8h, 6 dup(0)
off_1002418 dd offset loc_101164F
dd offset dword_10023D0
dd offset dword_1007A28
off_1002424 dd offset loc_103375C
dd offset sub_100DA29
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CDialog@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z	; CDialog::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_100D3DB
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset ?PreCreateWindow@CWnd@@UAEHAAUtagCREATESTRUCTW@@@Z ; CWnd::PreCreateWindow(tagCREATESTRUCTW &)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CWnd@@MAEHIJ@Z ; CWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset sub_100E54B
dd offset sub_10098C9
dd offset sub_10098DA
dd offset ?PreTranslateMessage@CDialog@@UAEHPAUtagMSG@@@Z ; CDialog::PreTranslateMessage(tagMSG	*)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CWnd@@MAEXXZ ;	CWnd::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CDialog@@UAEHXZ ; CDialog::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CDialog@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)
dd offset ?DoModal@CDialog@@UAEHXZ ; CDialog::DoModal(void)
dd offset sub_100DE01
dd offset ?OnSetFont@CDialog@@UAEXPAVCFont@@@Z ; CDialog::OnSetFont(CFont *)
dd offset byte_100E214
dd offset loc_10336CC
dd offset ?PreInitDialog@CDialog@@MAEXXZ ; CDialog::PreInitDialog(void)
dd offset sub_100D3E6
dd offset sub_100D40E
; const	WCHAR aU
aU:
unicode	0, <%u>,0
align 4
; const	WCHAR aUS02u
aUS02u:
unicode	0, <%u%s%02u>,0
align 10h
; const	WCHAR szHelp
szHelp:
unicode	0, <mspaint.hlp>,0
dd offset dword_1007A7C
off_100253C dd offset loc_103375C
dd offset sub_100E368
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CDialog@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z	; CDialog::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_100D5DE
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset ?PreCreateWindow@CWnd@@UAEHAAUtagCREATESTRUCTW@@@Z ; CWnd::PreCreateWindow(tagCREATESTRUCTW &)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CWnd@@MAEHIJ@Z ; CWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset sub_10098C9
dd offset sub_10098DA
dd offset ?PreTranslateMessage@CDialog@@UAEHPAUtagMSG@@@Z ; CDialog::PreTranslateMessage(tagMSG	*)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CWnd@@MAEXXZ ;	CWnd::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CDialog@@UAEHXZ ; CDialog::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CDialog@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)
dd offset ?DoModal@CDialog@@UAEHXZ ; CDialog::DoModal(void)
dd offset sub_100D636
dd offset ?OnSetFont@CDialog@@UAEXPAVCFont@@@Z ; CDialog::OnSetFont(CFont *)
dd offset byte_100D6C9
dd offset loc_10336CC
dd offset ?PreInitDialog@CDialog@@MAEXXZ ; CDialog::PreInitDialog(void)
dd offset sub_100D5E9
dd offset sub_100D611
a800:
unicode	0, <800%>,0
align 4
a600:
unicode	0, <600%>,0
align 4
a400:
unicode	0, <400%>,0
align 10h
a200:
unicode	0, <200%>,0
align 4
a100:
unicode	0, <100%>,0
align 4
dd offset dword_1007AD0
off_100265C dd offset loc_103375C
dd offset sub_100E368
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CDialog@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z	; CDialog::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_100D739
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset ?PreCreateWindow@CWnd@@UAEHAAUtagCREATESTRUCTW@@@Z ; CWnd::PreCreateWindow(tagCREATESTRUCTW &)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CWnd@@MAEHIJ@Z ; CWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset sub_10098C9
dd offset sub_10098DA
dd offset ?PreTranslateMessage@CDialog@@UAEHPAUtagMSG@@@Z ; CDialog::PreTranslateMessage(tagMSG	*)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CWnd@@MAEXXZ ;	CWnd::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CDialog@@UAEHXZ ; CDialog::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CDialog@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)
dd offset ?DoModal@CDialog@@UAEHXZ ; CDialog::DoModal(void)
dd offset byte_100E398
dd offset ?OnSetFont@CDialog@@UAEXPAVCFont@@@Z ; CDialog::OnSetFont(CFont *)
dd offset byte_100D823
dd offset loc_10336CC
dd offset ?PreInitDialog@CDialog@@MAEXXZ ; CDialog::PreInitDialog(void)
dd offset sub_100D744
dd offset sub_100D76C
align 10h
dd offset dword_1007B24
off_1002744 dd offset loc_103375C
dd offset sub_100E368
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CDialog@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z	; CDialog::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_100D8C6
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset ?PreCreateWindow@CWnd@@UAEHAAUtagCREATESTRUCTW@@@Z ; CWnd::PreCreateWindow(tagCREATESTRUCTW &)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CWnd@@MAEHIJ@Z ; CWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset sub_100E3F8
dd offset sub_10098C9
dd offset sub_10098DA
dd offset ?PreTranslateMessage@CDialog@@UAEHPAUtagMSG@@@Z ; CDialog::PreTranslateMessage(tagMSG	*)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CWnd@@MAEXXZ ;	CWnd::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CDialog@@UAEHXZ ; CDialog::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CDialog@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)
dd offset ?DoModal@CDialog@@UAEHXZ ; CDialog::DoModal(void)
dd offset byte_100D91E
dd offset ?OnSetFont@CDialog@@UAEXPAVCFont@@@Z ; CDialog::OnSetFont(CFont *)
dd offset byte_100D958
dd offset loc_10336CC
dd offset ?PreInitDialog@CDialog@@MAEXXZ ; CDialog::PreInitDialog(void)
dd offset sub_100D8D1
dd offset sub_100D8F9
; wchar_t Delim
Delim dd 20h, 1007B74h
off_100282C dd offset loc_10330FC
dd offset sub_100E86C
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset dword_1007BBC
off_1002844 dd offset loc_10330D8
dd offset sub_100F04A
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dword_1002858 dd 14h, 3	dup(0)
dd 1, 100F886h,	0Fh, 3 dup(0)
dd 0Ch,	1010021h, 203h,	3 dup(0)
dd 31h,	100FDDFh, 201h,	3 dup(0)
dd 31h,	100FD4Ch, 206h,	3 dup(0)
dd 31h,	100FE17h, 204h,	3 dup(0)
dd 31h,	100FD96h, 24h, 3 dup(0)
dd 1Fh,	100F946h, 200h,	3 dup(0)
dd 31h,	101CAB3h, 100h,	3 dup(0)
dd 10h,	101CAB3h, 202h,	3 dup(0)
dd 31h,	101CAB3h, 10h, 3 dup(0)
dd 0Ch,	100F7D9h, 46h, 3 dup(0)
dd 24h,	1033888h, 6 dup(0)
off_1002990 dd offset loc_102BD42
dd offset dword_1002858
dd offset dword_1007C10
off_100299C dd offset loc_10338DC
dd offset sub_100F71E
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CCmdTarget::OnCmdMsg(uint,int,void	*,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_100F4ED
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CControlBar@@UAEHXZ ; CControlBar::DestroyWindow(void)
dd offset ?PreCreateWindow@CControlBar@@UAEHAAUtagCREATESTRUCTW@@@Z ; CControlBar::PreCreateWindow(tagCREATESTRUCTW &)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CWnd@@MAEHIJ@Z ; CWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset sub_10098C9
dd offset sub_10098DA
dd offset ?PreTranslateMessage@CControlBar@@UAEHPAUtagMSG@@@Z ;	CControlBar::PreTranslateMessage(tagMSG	*)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CControlBar@@UAEJIIJ@Z ; CControlBar::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CControlBar@@UAEXXZ ; CControlBar::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
dd offset sub_100F91F
dd offset ?CalcDynamicLayout@CControlBar@@UAE?AVCSize@@HK@Z ; CControlBar::CalcDynamicLayout(int,ulong)
dd offset nullsub_1
dd offset ?DelayShow@CControlBar@@UAEXH@Z ; CControlBar::DelayShow(int)
dd offset ?IsVisible@CControlBar@@UBEHXZ ; CControlBar::IsVisible(void)
dd offset ?RecalcDelayShow@CControlBar@@UAEKPAUAFX_SIZEPARENTPARAMS@@@Z	; CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)
dd offset ?IsDockBar@CControlBar@@UBEHXZ ; CControlBar::IsDockBar(void)
dd offset ?OnBarStyleChange@CControlBar@@UAEXKK@Z ; CControlBar::OnBarStyleChange(ulong,ulong)
dd offset ?DoPaint@CControlBar@@UAEXPAVCDC@@@Z ; CControlBar::DoPaint(CDC *)
dd offset ?SetStatusText@CControlBar@@UAEHH@Z ;	CControlBar::SetStatusText(int)
dd offset dword_1007C5C
off_1002A88 dd offset loc_103390C
dd offset sub_101117C
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
aResizeBitmap:
unicode	0, <Resize Bitmap>,0
; const	WCHAR aMspaintfreehan
aMspaintfreehan:
unicode	0, <MSPaintFreehand>,0
dword_1002AD8 dd 111h, 0
dd 2 dup(1), 0Ch, 1011575h, 19h, 3 dup(0)
dd 4, 1011582h,	6 dup(0)
off_1002B20 dd offset loc_101164F
dd offset dword_1002AD8
dword_1002B28 dd 111h, 0
dd 2 dup(2D8h),	0Ch, 101159Dh, 111h, 0
dd 2 dup(2D7h),	0Ch, 1011601h, 6 dup(0)
dd offset loc_1011592
dd offset dword_1002B28
dword_1002B78 dd 2Bh, 3	dup(0)
dd 20h,	101169Bh, 2Ch, 3 dup(0)
dd 20h,	101165Ah, 111h,	2, 2 dup(44Bh),	0Ch
dd 10096B8h, 6 dup(0)
dd offset loc_101164F
dd offset dword_1002B78
; const	WCHAR PrefixString
PrefixString:
unicode	0, <TMP>,0
; const	WCHAR sz
sz:
unicode	0, <\/>,0
align 10h
off_1002BF0 dd offset aCimgtool	; "CImgTool"
dd 38h,	0FFFFh,	0
dd offset loc_100A36F
align 8
off_1002C08 dd offset aCrubbertool ; "CRubberTool"
dd 38h,	0FFFFh,	0
dd offset loc_1015067
align 10h
off_1002C20 dd offset aCclosedformtoo ;	"CClosedFormTool"
dd 38h,	0FFFFh,	0
dd offset loc_102DE37
align 8
off_1002C38 dd offset aCfreehandtool ; "CFreehandTool"
dd 38h,	0FFFFh,	0
dd offset loc_1015067
align 10h
off_1002C50 dd offset aCsketchtool ; "CSketchTool"
dd 38h,	0FFFFh,	0
dd offset loc_1014FE3
align 8
off_1002C68 dd offset aCbrushtool ; "CBrushTool"
dd 38h,	0FFFFh,	0
dd offset loc_1014FE3
align 10h
off_1002C80 dd offset aCpenciltool ; "CPencilTool"
dd 38h,	0FFFFh,	0
dd offset loc_1014FE3
align 8
off_1002C98 dd offset aCerasertool ; "CEraserTool"
dd 38h,	0FFFFh,	0
dd offset loc_1014FE3
align 10h
off_1002CB0 dd offset aCairbrushtool ; "CAirBrushTool"
dd 3Ch,	0FFFFh,	0
dd offset loc_1014FE3
align 8
off_1002CC8 dd offset aClinetool ; "CLineTool"
dd 38h,	0FFFFh,	0
dd offset loc_102DE37
align 10h
off_1002CE0 dd offset aCrecttool ; "CRectTool"
dd 38h,	0FFFFh,	0
dd offset loc_102EA28
dd 0
off_1002CF8 dd offset aCroundrecttool ;	"CRoundRectTool"
dd 38h,	0FFFFh,	0
dd offset loc_102EA28
align 10h
off_1002D10 dd offset aCellipsetool ; "CEllipseTool"
dd 38h,	0FFFFh,	0
dd offset loc_102EA28
align 8
off_1002D28 dd offset aCpickcolortool ;	"CPickColorTool"
dd 3Ch,	0FFFFh,	0
dd offset loc_1015067
align 10h
off_1002D40 dd offset aCfloodtool ; "CFloodTool"
dd 38h,	0FFFFh,	0
dd offset loc_1015067
align 8
off_1002D58 dd offset aCselecttool ; "CSelectTool"
dd 38h,	0FFFFh,	0
dd offset loc_1015067
align 10h
off_1002D70 dd offset aCzoomtool ; "CZoomTool"
dd 38h,	0FFFFh,	0
dd offset loc_1015067
align 8
aCzoomtool db 'CZoomTool',0
align 4
aCselecttool db	'CSelectTool',0
aCfloodtool db 'CFloodTool',0
align 4
aCpickcolortool	db 'CPickColorTool',0
align 4
aCellipsetool db 'CEllipseTool',0
align 4
aCroundrecttool	db 'CRoundRectTool',0
align 4
aCrecttool db 'CRectTool',0
align 4
aClinetool db 'CLineTool',0
align 4
aCairbrushtool db 'CAirBrushTool',0
align 4
aCerasertool db	'CEraserTool',0
aCpenciltool db	'CPencilTool',0
aCbrushtool db 'CBrushTool',0
align 4
aCsketchtool db	'CSketchTool',0
aCfreehandtool db 'CFreehandTool',0
align 4
aCclosedformtoo	db 'CClosedFormTool',0
aCrubbertool db	'CRubberTool',0
aCimgtool db 'CImgTool',0
align 10h
dd offset dword_1007CA4
off_1002E74 dd offset loc_1015067
dd offset sub_10186A7
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset nullsub_2
dd offset sub_10150F8
dd offset nullsub_1
dd offset nullsub_1
dd offset sub_10152DE
dd offset sub_10152F0
dd offset nullsub_1
dd offset sub_1015316
dd offset nullsub_1
dd offset sub_1015350
dd offset sub_10152BD
dd offset nullsub_1
dd offset nullsub_4
dd offset sub_101535F
dd offset nullsub_2
dd offset sub_101536F
dd offset sub_101537F
dd offset sub_101538B
dd offset sub_101547B
dd offset sub_10153A8
dd offset sub_10153BA
align 10h
dd offset dword_1007CF0

loc_1002EE4:
aaa
fiadd	word ptr [edx]
add	[edi-4FFEFE7Ah], esp
xchg	eax, esi
add	[ecx], al
mov	eax, 0B0010096h
xchg	eax, esi
add	[ecx], al
not	dword ptr [ebx+1]
add	eax, edi
push	eax
add	[ecx], eax
mov	ebp, 0BD01020Ch
or	al, 2
add	ebx, eax
push	ebx
add	[ecx], eax
retn
db 65h,	2 dup(1)
dd offset sub_1016655
dd offset sub_1015316
dd offset nullsub_1
dd offset sub_1015350
dd offset sub_1015453
dd offset nullsub_1
dd offset sub_101623B
dd offset sub_101635C
dd offset nullsub_2
dd offset sub_101536F
dd offset sub_101537F
dd offset sub_101538B
dd offset sub_101547B
dd offset sub_10153A8
dd offset sub_10153BA
dd offset sub_101679A
dd offset dword_1007D3C
off_1002F54 dd offset loc_1014FE3
dd offset sub_10186A7
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset nullsub_2
dd offset sub_10150F8
dd offset nullsub_1
dd offset nullsub_1
dd offset sub_10168B9
dd offset sub_10155D3
dd offset nullsub_1
dd offset sub_1015316
dd offset nullsub_1
dd offset sub_1015350
dd offset sub_10152BD
dd offset nullsub_1
dd offset nullsub_4
dd offset sub_101535F
dd offset nullsub_2
dd offset sub_101536F
dd offset sub_101537F
dd offset sub_101538B
dd offset sub_101547B
dd offset sub_10153A8
dd offset sub_10153BA
align 10h
dd offset dword_1007D8C
off_1002FC4 dd offset loc_1014FEE
dd offset sub_10186A7
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset nullsub_2
dd offset sub_10150F8
dd offset nullsub_1
dd offset nullsub_1
dd offset sub_10168B9
dd offset sub_10155D3
dd offset sub_1015696
dd offset sub_1015316
dd offset nullsub_1
dd offset sub_1016926
dd offset sub_10152BD
dd offset nullsub_1
dd offset nullsub_4
dd offset sub_101535F
dd offset nullsub_2
dd offset sub_101536F
dd offset sub_101537F
dd offset sub_101538B
dd offset sub_101547B
dd offset sub_10153A8
dd offset sub_10153BA
align 10h
dd offset dword_1007DDC
off_1003034 dd offset loc_1014FF9
dd offset sub_10186A7
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset nullsub_2
dd offset sub_10150F8
dd offset nullsub_1
dd offset nullsub_1
dd offset sub_10168B9
dd offset sub_10155D3
dd offset sub_101699A
dd offset sub_101570B
dd offset nullsub_1
dd offset sub_1015350
dd offset sub_10152BD
dd offset nullsub_1
dd offset sub_101697A
dd offset sub_101698A
dd offset nullsub_2
dd offset sub_101536F
dd offset sub_101537F
dd offset sub_101538B
dd offset sub_101547B
dd offset sub_10153A8
dd offset sub_10153BA
align 10h
dd offset dword_1007E2C
off_10030A4 dd offset loc_1015004
dd offset sub_10186A7
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset sub_101580E
dd offset sub_10150F8
dd offset nullsub_1
dd offset nullsub_1
dd offset sub_1016A76
dd offset sub_10157D6
dd offset sub_1015722
dd offset sub_1015316
dd offset nullsub_1
dd offset sub_1015350
dd offset sub_10152BD
dd offset nullsub_1
dd offset nullsub_4
dd offset sub_101535F
dd offset nullsub_2
dd offset sub_101536F
dd offset sub_101537F
dd offset sub_101538B
dd offset sub_101547B
dd offset sub_10153A8
dd offset sub_10153BA
align 10h
dd offset dword_1007E7C
off_1003114 dd offset loc_101500F
cmpsd
xchg	al, [ecx]
add	[eax-47FEFF6Ah], esi
xchg	eax, esi
add	[ecx], al
mov	al, 96h
add	[ecx], al
mov	al, 96h
add	[ecx], al
clc
push	eax
add	[ecx], eax
mov	ebp, 0BD01020Ch
or	al, 2
add	[ecx+4010168h],	edi
pop	ecx
add	[ecx], eax
enter	181h, 1
retn	158h
db 1
dd offset nullsub_1
dd offset sub_1015350
dd offset sub_10152BD
dd offset sub_1016C01
dd offset sub_1016AC9
dd offset sub_1016BBD
dd offset nullsub_2
dd offset sub_101536F
dd offset sub_101537F
dd offset sub_101538B
dd offset sub_101547B
dd offset sub_10153A8
dd offset sub_1016D0C
dd 0
dd offset dword_1007ECC
off_1003184 dd offset loc_101501A
dd offset sub_10186A7
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset nullsub_2
dd offset sub_10150F8
dd offset nullsub_1
dd offset nullsub_1
dd offset sub_1016FC0
dd offset sub_1017164
dd offset sub_1016FF1
dd offset sub_1015316
dd offset sub_101595E
dd offset sub_101719A
dd offset sub_10152BD
dd offset nullsub_1
dd offset sub_1016DC9
dd offset sub_1016F6E
dd offset nullsub_2
dd offset sub_101536F
dd offset sub_101537F
dd offset sub_101538B
dd offset sub_101547B
dd offset sub_10153A8
dd offset sub_10153BA
align 10h
dd offset dword_1007F18
off_10031F4 dd offset loc_1015051
dd offset sub_10186A7
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset nullsub_2
dd offset sub_10150F8
dd offset nullsub_1
dd offset nullsub_1
dd offset sub_1015A60
dd offset sub_10172B2
dd offset sub_1015A7A
dd offset sub_1015316
dd offset nullsub_1
dd offset sub_1017334
dd offset sub_1015A30
dd offset nullsub_1
dd offset sub_101734E
dd offset sub_101535F
dd offset nullsub_2
dd offset sub_101536F
dd offset sub_101537F
dd offset sub_101538B
dd offset sub_101547B
dd offset sub_10153A8
dd offset sub_10153BA
align 10h
dd offset dword_1007F64
off_1003264 dd offset loc_101505C
dd offset sub_10186A7
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset nullsub_2
dd offset sub_10150F8
dd offset nullsub_1
dd offset nullsub_1
dd offset sub_101741D
dd offset sub_1015B38
dd offset nullsub_1
dd offset sub_1015316
dd offset nullsub_1
dd offset sub_1015350
dd offset sub_10152BD
dd offset nullsub_1
dd offset nullsub_4
dd offset sub_101535F
dd offset nullsub_2
dd offset sub_101536F
dd offset sub_101537F
dd offset sub_101538B
dd offset sub_101547B
dd offset sub_10153A8
dd offset sub_10153BA
align 10h
dd offset dword_1007FB0
off_10032D4 dd offset loc_102F2B7
dd offset sub_10186A7
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset nullsub_2
dd offset sub_10150F8
dd offset nullsub_1
dd offset nullsub_1
dd offset sub_1015C35
dd offset sub_1017919
dd offset sub_101784E
dd offset sub_1015316
dd offset nullsub_1
dd offset sub_1017A42
dd offset sub_1015BE7
dd offset sub_1017820
dd offset sub_10175A1
dd offset sub_1015B7F
dd offset nullsub_2
dd offset sub_101536F
dd offset sub_101537F
dd offset sub_1015C62
dd offset sub_101547B
dd offset sub_10153A8
dd offset sub_1017B71
align 10h
dd offset dword_1007FFC
off_1003344 dd offset loc_1015072
dd offset sub_10186A7
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset nullsub_2
dd offset sub_10150F8
dd offset nullsub_1
dd offset sub_101861C
dd offset sub_10180F0
dd offset sub_101816B
dd offset nullsub_1
dd offset sub_1017FD8
dd offset nullsub_1
dd offset byte_1018195
dd offset sub_10152BD
dd offset sub_101863A
dd offset sub_1017C2B
dd offset sub_1017EE0
dd offset nullsub_2
dd offset sub_101536F
dd offset sub_101537F
dd offset sub_101538B
dd offset sub_101547B
dd offset sub_10153A8
dd offset sub_10153BA
align 10h
dd offset dword_100804C
off_10033B4 dd offset loc_1015025
dd offset sub_10186A7
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset sub_101597E
clc
push	eax
add	[ecx], eax
mov	ebp, 0BD01020Ch
or	al, 2
add	ebx, eax
push	ebx
add	[ecx], eax
retn
db 65h,	2 dup(1)
dd offset sub_1016655
dd offset sub_1015316
dd offset nullsub_1
dd offset sub_1015350
dd offset sub_1015453
dd offset nullsub_1
dd offset sub_101623B
dd offset sub_101635C
dd offset nullsub_2
dd offset sub_101536F
dd offset sub_101537F
dd offset sub_101538B
dd offset sub_101547B
dd offset sub_10153A8
dd offset sub_10153BA
retn	171h
add	[eax+eax*4-15D7FF00h], ebx
add	al, [ecx]
cmpsd
xchg	al, [ecx]
add	[eax-47FEFF6Ah], esi
xchg	eax, esi
add	[ecx], al
mov	al, 96h
add	[ecx], al
not	dword ptr [ebx+1]
add	eax, edi
push	eax
add	[ecx], eax
mov	ebp, 0BD01020Ch
or	al, 2
add	ebx, eax
push	ebx
add	[ecx], eax
retn
db 65h,	2 dup(1)
dd offset sub_1016655
dd offset sub_1015316
dd offset nullsub_1
dd offset sub_1015350
dd offset sub_1015453
dd offset nullsub_1
dd offset sub_10163B3
dd offset sub_1016553
dd offset nullsub_2
dd offset sub_101536F
dd offset sub_101537F
mov	edx, [ebx+1]
add	[ebx+54h], edi
add	[ecx], eax
test	al, 53h
add	[ecx], eax
mov	edx, 9A010153h
add	[bx+di], eax
lock add byte ptr [eax], 1

loc_1003494:
xor	[eax+1], dl
add	[edi-4FFEFE7Ah], esp
xchg	eax, esi
add	[ecx], al
mov	eax, 0B0010096h
xchg	eax, esi
add	[ecx], al
not	dword ptr [ebx+1]
add	eax, edi
push	eax
add	[ecx], eax
mov	ebp, 0BD01020Ch
or	al, 2
add	ebx, eax
push	ebx
add	[ecx], eax
retn
db 65h,	2 dup(1)
dd offset sub_1016655
dd offset sub_1015316
dd offset nullsub_1
dd offset sub_1015350
dd offset sub_1015453
dd offset nullsub_1
dd offset sub_10163B3
dd offset sub_1016553
dd offset nullsub_2
dd offset sub_101536F
dd offset sub_101537F
mov	edx, [ebx+1]
add	[ebx+54h], edi
add	[ecx], eax
test	al, 53h
add	[ecx], eax
mov	edx, 9A010153h
add	[bx+di], eax
inc	esp
add	dword ptr [eax], 1503B01h
add	[edi-4FFEFE7Ah], esp
xchg	eax, esi
add	[ecx], al
mov	eax, 0B0010096h
xchg	eax, esi
add	[ecx], al
not	dword ptr [ebx+1]
add	eax, edi
push	eax
add	[ecx], eax
mov	ebp, 0BD01020Ch
or	al, 2
add	ebx, eax
push	ebx
add	[ecx], eax
retn
db 65h,	2 dup(1)
dd offset sub_1016655
dd offset sub_1015316
dd offset nullsub_1
dd offset sub_1015350
dd offset sub_1015453
dd offset nullsub_1
dd offset sub_10163B3
dd offset sub_1016553
dd offset nullsub_2
dd offset sub_101536F
dd offset sub_101537F
mov	edx, [ebx+1]
add	[ebx+54h], edi
add	[ecx], eax
test	al, 53h
add	[ecx], eax
mov	edx, 9A010153h
add	[bx+di], eax
cwde
add	dword ptr [eax], 1504601h
add	[edi-4FFEFE7Ah], esp
xchg	eax, esi
add	[ecx], al
mov	eax, 0B0010096h
xchg	eax, esi
add	[ecx], al
not	dword ptr [ebx+1]
add	eax, edi
push	eax
add	[ecx], eax
mov	ebp, 0BD01020Ch
or	al, 2
add	ebx, eax
push	ebx
add	[ecx], eax
retn
db 65h,	2 dup(1)
dd offset sub_1016655
dd offset sub_1015316
dd offset nullsub_1
dd offset sub_1015350
dd offset sub_1015453
dd offset nullsub_1
dd offset sub_10163B3
dd offset sub_1016553
dd offset nullsub_2
dd offset sub_101536F
dd offset sub_101537F
dd offset sub_101538B
dd offset sub_101547B
dd offset sub_10153A8
dd offset sub_10153BA
dd offset sub_101679A
off_10035E0 dd offset aCimgwnd ; "CImgWnd"
dd 78h,	0FFFFh,	0
dd offset loc_102B0BB
align 8
dword_10035F8 dd 1, 3 dup(0)
dd 9, 1018FD5h,	7, 3 dup(0)
dd 17h,	101B447h, 8, 3 dup(0)
dd 17h,	101AB07h, 0Fh, 3 dup(0)
dd 0Ch,	101B1D8h, 5, 3 dup(0)
dd 11h,	10195A8h, 114h,	3 dup(0)
dd 1Dh,	101A92Bh, 115h,	3 dup(0)
dd 1Dh,	101A946h, 201h,	3 dup(0)
dd 31h,	101C3D9h, 203h,	3 dup(0)
dd 31h,	101C408h, 202h,	3 dup(0)
dd 31h,	101C436h, 204h,	3 dup(0)
dd 31h,	101C3D9h, 206h,	3 dup(0)
dd 31h,	101C457h, 205h,	3 dup(0)
dd 31h,	101C436h, 200h,	3 dup(0)
dd 31h,	101C473h, 100h,	3 dup(0)
dd 10h,	101CAB3h, 101h,	3 dup(0)
dd 10h,	101CAB3h, 113h,	3 dup(0)
dd 0Dh,	101C50Fh, 1Fh, 3 dup(0)
dd 0Ch,	101B43Dh, 46h, 3 dup(0)
dd 24h,	101900Dh, 307h,	3 dup(0)
dd 0Ch,	101012Dh, 311h,	3 dup(0)
dd 17h,	1018FF8h, 20h, 3 dup(0)
dd 3, 1018C0Ch,	20Ah, 3	dup(0)
dd 2Eh,	101939Bh, 6 dup(0)
off_1003838 dd offset loc_102B0E7
dd offset dword_10035F8
aCimgwnd db 'CImgWnd',0
dd offset dword_10081E8
off_100384C dd offset loc_1018B15
dd offset sub_1018F1D
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset sub_101901A
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_1018B7A
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset ?PreCreateWindow@CWnd@@UAEHAAUtagCREATESTRUCTW@@@Z ; CWnd::PreCreateWindow(tagCREATESTRUCTW &)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CWnd@@MAEHIJ@Z ; CWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset sub_10098C9
dd offset sub_10098DA
dd offset ?PreTranslateMessage@CWnd@@UAEHPAUtagMSG@@@Z ; CWnd::PreTranslateMessage(tagMSG *)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CWnd@@MAEXXZ ;	CWnd::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
dd offset dword_1008230
off_1003910 dd offset loc_1033A74
dd offset sub_101A4FA
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?DrawItem@CMenu@@UAEXPAUtagDRAWITEMSTRUCT@@@Z	; CMenu::DrawItem(tagDRAWITEMSTRUCT *)
dd offset ?MeasureItem@CMenu@@UAEXPAUtagMEASUREITEMSTRUCT@@@Z ;	CMenu::MeasureItem(tagMEASUREITEMSTRUCT	*)
aPropertyEdit:
unicode	0, <Property Edit>,0
off_1003948 dd offset aCinplaceframe ; "CInPlaceFrame"
dd 4A8h, 0FFFFh, 101C85Fh, 101C51Eh, 0
dword_1003960 dd 1, 3 dup(0)
dd 9, 101C6CFh,	5, 3 dup(0)
dd 11h,	101C7CEh, 15h, 3 dup(0)
dd 0Ch,	101E62Eh, 10h, 3 dup(0)
dd 0Ch,	101C617h, 7Bh, 3 dup(0)
dd 0Ah,	101C655h, 111h,	0
dd 2 dup(0E142h), 0Ch, 101C63Ah, 111h, 0
dd 2 dup(0E144h), 0Ch, 1033B34h, 111h, 0
dd 2 dup(0E146h), 0Ch, 1033B28h, 111h, 0
dd 2 dup(0E147h), 0Ch, 101C63Ah, 111h, 0
dd 2 dup(0E145h), 0Ch, 1033B1Ch, 111h, 0FFFFFFFFh
dd 2 dup(0E817h), 2Ch, 1033B10h, 111h, 0
dd 2 dup(0E817h), 2, 1033B04h, 111h, 0FFFFFFFFh
dd 2 dup(0E818h), 2Ch, 1033B10h, 111h, 0
dd 2 dup(0E818h), 2, 1033B04h, 6 dup(0)
off_1003AC8 dd offset loc_101C534
dd offset dword_1003960
aCinplaceframe db 'CInPlaceFrame',0
align 10h
dd offset dword_10082B8
off_1003AE4 dd offset loc_101C529
dd offset sub_101C660
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CFrameWnd@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CFrameWnd::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_101C53F
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset ?PreCreateWindow@CFrameWnd@@MAEHAAUtagCREATESTRUCTW@@@Z ; CFrameWnd::PreCreateWindow(tagCREATESTRUCTW	&)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CFrameWnd@@MAEHIJ@Z ; CFrameWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset ?BeginModalState@CFrameWnd@@UAEXXZ ; CFrameWnd::BeginModalState(void)
dd offset ?EndModalState@CFrameWnd@@UAEXXZ ; CFrameWnd::EndModalState(void)
dd offset ?PreTranslateMessage@COleIPFrameWnd@@UAEHPAUtagMSG@@@Z ; COleIPFrameWnd::PreTranslateMessage(tagMSG *)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CFrameWnd@@MAEXXZ ; CFrameWnd::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CFrameWnd@@UBEHXZ	; CFrameWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
dd offset ?LoadFrame@COleIPFrameWnd@@UAEHIKPAVCWnd@@PAUCCreateContext@@@Z ; COleIPFrameWnd::LoadFrame(uint,ulong,CWnd *,CCreateContext *)
dd offset ?GetActiveDocument@CFrameWnd@@UAEPAVCDocument@@XZ ; CFrameWnd::GetActiveDocument(void)
dd offset ?GetActiveFrame@CFrameWnd@@UAEPAV1@XZ	; CFrameWnd::GetActiveFrame(void)
dd offset ?GetMessageString@CFrameWnd@@UBEXIAAVCString@@@Z ; CFrameWnd::GetMessageString(uint,CString &)
dd offset ?RecalcLayout@COleIPFrameWnd@@UAEXH@Z	; COleIPFrameWnd::RecalcLayout(int)
dd offset ?ActivateFrame@CFrameWnd@@UAEXH@Z ; CFrameWnd::ActivateFrame(int)
dd offset ?OnSetPreviewMode@CFrameWnd@@UAEXHPAUCPrintPreviewState@@@Z ;	CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)
dd offset sub_101C5F7
dd offset ?NegotiateBorderSpace@CFrameWnd@@UAEHIPAUtagRECT@@@Z ; CFrameWnd::NegotiateBorderSpace(uint,tagRECT *)
dd offset ?OnCreateClient@CFrameWnd@@MAEHPAUtagCREATESTRUCTW@@PAUCCreateContext@@@Z ; CFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)
dd offset ?OnUpdateFrameTitle@CFrameWnd@@UAEXH@Z ; CFrameWnd::OnUpdateFrameTitle(int)
dd offset ?OnUpdateFrameMenu@CFrameWnd@@UAEXPAUHMENU__@@@Z ; CFrameWnd::OnUpdateFrameMenu(HMENU__ *)
dd offset ?GetDefaultAccelerator@CFrameWnd@@UAEPAUHACCEL__@@XZ ; CFrameWnd::GetDefaultAccelerator(void)
dd offset ?DelayUpdateFrameMenu@CFrameWnd@@UAEXPAUHMENU__@@@Z ;	CFrameWnd::DelayUpdateFrameMenu(HMENU__	*)
dd offset ?ExitHelpMode@CFrameWnd@@UAEXXZ ; CFrameWnd::ExitHelpMode(void)
dd offset sub_101C71B
dd offset ?OnCreateControlBars@COleIPFrameWnd@@UAEHPAVCWnd@@0@Z	; COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *)
dd offset sub_101C793
dd offset ?OnSetMessageString@COleIPFrameWnd@@UAEJIJ@Z ; COleIPFrameWnd::OnSetMessageString(uint,long)
dd offset ?BuildSharedMenu@COleIPFrameWnd@@MAEHXZ ; COleIPFrameWnd::BuildSharedMenu(void)
dd offset ?DestroySharedMenu@COleIPFrameWnd@@MAEXXZ ; COleIPFrameWnd::DestroySharedMenu(void)
dd offset ?GetInPlaceMenu@COleIPFrameWnd@@MAEPAUHMENU__@@XZ ; COleIPFrameWnd::GetInPlaceMenu(void)
dd offset ?OnRequestPositionChange@COleIPFrameWnd@@MAEXPBUtagRECT@@@Z ;	COleIPFrameWnd::OnRequestPositionChange(tagRECT	const *)
aGeneral:
unicode	0, <General>,0
aMspaint_chm db	'mspaint.chm',0
align 10h
dd offset dword_1008328
off_1003C24 dd offset loc_102BC89
dd offset sub_101C6A9
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CCmdTarget::OnCmdMsg(uint,int,void	*,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_102BC94
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
fdiv	qword ptr [edx]
add	eax, [ecx]
sal	byte ptr [edx],	1
add	eax, [ecx]
les	esi, [edx]
add	eax, [ecx]
mov	eax, 0AC010332h
xor	al, [ebx]
add	[eax-2FFEFCCEh], esp
cmp	[ebx], al
add	[eax+8010332h],	ecx
mov	edi, 32700102h
add	eax, [ecx]
xor	al, fs:[ebx]
add	[eax+32h], ebx
add	eax, [ecx]
dec	esp
xor	al, [ebx]
add	[ecx-33h], ebx
add	al, [ecx]
xor	al, 32h
add	eax, [ecx]
sub	[edx], dh
add	eax, [ecx]
mov	al, 96h
add	[ecx], al
leave
cwde
add	[ecx], al
ficomp	dword ptr [eax-4308FF00h]
add	al, [ecx]
adc	[edx], dh
add	eax, [ecx]
add	al, 32h
add	eax, [ecx]
clc
xor	[ebx], eax
add	esp, ebp
xor	[ebx], eax
add	eax, esp
xor	[ebx], eax
add	[eax], ecx
aaa
add	eax, [ecx]
enter	331h, 1
mov	esp, 0B0010331h
xor	[ebx], eax
add	ebx, ebx
mov	esp, 31A40102h
add	eax, [ecx]
mov	ebp, 8C01020Ch
xor	[ebx], eax
add	[eax+74010331h], eax
xor	[ebx], eax
add	[eax+31h], ebp
add	eax, [ecx]
les	edi, [eax]
add	eax, [ecx]
xor	byte ptr [ebx+eax], 1
aaa
retf	102h
dd offset sub_102D64F
dd offset sub_102C9E5
dd offset sub_102BF62
dd offset sub_101C69F
align 10h
off_1003D20 dd offset aCminifrmwnd ; "CMiniFrmWnd"
dd 0C8h, 0FFFFh, 0
dd offset loc_101C899
align 8
dword_1003D38 dd 0A1h, 3 dup(0)
dd 31h,	101CA07h, 202h,	3 dup(0)
dd 31h,	101CAB3h, 204h,	3 dup(0)
dd 31h,	101CC26h, 100h,	3 dup(0)
dd 10h,	101CC56h, 1, 3 dup(0)
dd 9, 101CAC0h,	112h, 3	dup(0)
dd 12h,	101CB74h, 3, 3 dup(0)
dd 0Fh,	101CCD7h, 86h, 3 dup(0)
dd 2, 101C8F8h,	366h, 3	dup(0)
dd 0Ah,	101C8AFh, 216h,	3 dup(0)
dd 0Ah,	101CC83h, 6 dup(0)
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_5. PRESS KEYPAD CTRL-"+" TO EXPAND]
db 1
dd offset dword_1003D38
aCminifrmwnd db	'CMiniFrmWnd',0
align 8
dd offset dword_100837C
off_1003E5C dd offset loc_101C8A4
dd offset sub_101C9A3
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CFrameWnd@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CFrameWnd::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_1028B7F
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset ?PreCreateWindow@CFrameWnd@@MAEHAAUtagCREATESTRUCTW@@@Z ; CFrameWnd::PreCreateWindow(tagCREATESTRUCTW	&)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
xor	al, fs:[ebx]
add	[eax+32h], ebx
add	eax, [ecx]
dec	esp
xor	al, [ebx]
add	[ecx], edi
retf
dw 101h
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset ?BeginModalState@CFrameWnd@@UAEXXZ ; CFrameWnd::BeginModalState(void)
dd offset ?EndModalState@CFrameWnd@@UAEXXZ ; CFrameWnd::EndModalState(void)
dd offset ?PreTranslateMessage@CFrameWnd@@UAEHPAUtagMSG@@@Z ; CFrameWnd::PreTranslateMessage(tagMSG *)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CFrameWnd@@MAEXXZ ; CFrameWnd::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CFrameWnd@@UBEHXZ	; CFrameWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
dd offset ?LoadFrame@CFrameWnd@@UAEHIKPAVCWnd@@PAUCCreateContext@@@Z ; CFrameWnd::LoadFrame(uint,ulong,CWnd *,CCreateContext *)
dd offset ?GetActiveDocument@CFrameWnd@@UAEPAVCDocument@@XZ ; CFrameWnd::GetActiveDocument(void)
dd offset ?GetActiveFrame@CFrameWnd@@UAEPAV1@XZ	; CFrameWnd::GetActiveFrame(void)
dd offset ?GetMessageString@CFrameWnd@@UBEXIAAVCString@@@Z ; CFrameWnd::GetMessageString(uint,CString &)
dd offset ?RecalcLayout@CFrameWnd@@UAEXH@Z ; CFrameWnd::RecalcLayout(int)
dd offset ?ActivateFrame@CFrameWnd@@UAEXH@Z ; CFrameWnd::ActivateFrame(int)
dd offset ?OnSetPreviewMode@CFrameWnd@@UAEXHPAUCPrintPreviewState@@@Z ;	CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)
dd offset ?GetMessageBar@CFrameWnd@@UAEPAVCWnd@@XZ ; CFrameWnd::GetMessageBar(void)
dd offset ?NegotiateBorderSpace@CFrameWnd@@UAEHIPAUtagRECT@@@Z ; CFrameWnd::NegotiateBorderSpace(uint,tagRECT *)
dd offset ?OnCreateClient@CFrameWnd@@MAEHPAUtagCREATESTRUCTW@@PAUCCreateContext@@@Z ; CFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)
dd offset ?OnUpdateFrameTitle@CFrameWnd@@UAEXH@Z ; CFrameWnd::OnUpdateFrameTitle(int)
dd offset ?OnUpdateFrameMenu@CFrameWnd@@UAEXPAUHMENU__@@@Z ; CFrameWnd::OnUpdateFrameMenu(HMENU__ *)
dd offset ?GetDefaultAccelerator@CFrameWnd@@UAEPAUHACCEL__@@XZ ; CFrameWnd::GetDefaultAccelerator(void)
dd offset ?DelayUpdateFrameMenu@CFrameWnd@@UAEXPAUHMENU__@@@Z ;	CFrameWnd::DelayUpdateFrameMenu(HMENU__	*)
dd offset ?ExitHelpMode@CFrameWnd@@UAEXXZ ; CFrameWnd::ExitHelpMode(void)
dd offset _purecall
align 10h
off_1003F60 dd offset aCpbdoc ;	"CPBDoc"
dd 11Ch, 0FFFFh, 101E285h, 101CD7Eh, 0
dword_1003F78 dd 111h, 0
dd 2 dup(0E10Bh), 0Ch, 1033DBCh, 111h, 0
dd 2 dup(931Eh), 0Ch, 1033DB0h,	111h, 0
dd 2 dup(0E10Ah), 0Ch, 101D05Fh, 111h, 0FFFFFFFFh
dd 2 dup(931Eh), 2Ch, 1033DA4h,	6 dup(0)
off_1003FF0 dd offset loc_101CD94
dd offset dword_1003F78
dd offset dword_100743C
dd 118h, 0
dd 0FFFFFFFFh, 101CDAAh, 1003FF8h, 4F0001h
dd 65006Ch, 300031h, 61004Eh, 690074h, 650076h
dd 0
dword_100402C dd 4F0001h, 65006Ch, 300031h, 740049h, 6D0065h
dd 61004Eh, 65006Dh, 0
aContents:
unicode	0, <Contents>,0
align 10h
aCpbdoc	db 'CPBDoc',0
align 4
dd offset dword_1008438
off_100406C dd offset loc_101CD89
retn	1D0h
db 1
dd offset sub_101D868
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@COleDocument@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; COleDocument::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CDocument@@UAEXXZ ; CDocument::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_101CD9F
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset sub_101CDB5
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@COleServerDoc@@MAEPAUIUnknown@@PBX@Z ; COleServerDoc::GetInterfaceHook(void	const *)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?SetTitle@CDocument@@UAEXPBG@Z ; CDocument::SetTitle(ushort const *)
dd offset ?SetPathName@COleDocument@@UAEXPBGH@Z	; COleDocument::SetPathName(ushort const *,int)
dd offset sub_101D0A5
dd offset sub_101D0AE
dd offset ?GetFirstViewPosition@CDocument@@UBEPAU__POSITION@@XZ	; CDocument::GetFirstViewPosition(void)
dd offset ?GetNextView@CDocument@@UBEPAVCView@@AAPAU__POSITION@@@Z ; CDocument::GetNextView(__POSITION * &)
dd offset ?OnChangedViewList@CDocument@@UAEXXZ ; CDocument::OnChangedViewList(void)
dd offset ?DeleteContents@COleServerDoc@@UAEXXZ	; COleServerDoc::DeleteContents(void)
dd offset byte_101E030
dd offset sub_101E0BE
dd offset sub_101E169
dd offset ?OnCloseDocument@COleServerDoc@@UAEXXZ ; COleServerDoc::OnCloseDocument(void)
dd offset sub_101CE19
dd offset sub_101D19D
dd offset sub_101D28C
dd offset sub_101E1C5
dd offset j_?SaveModified@COleServerDoc@@MAEHXZ	; COleServerDoc::SaveModified(void)
dd offset ?PreCloseFrame@COleDocument@@UAEXPAVCFrameWnd@@@Z ; COleDocument::PreCloseFrame(CFrameWnd *)
dd offset sub_101D302
dd offset ?DoFileSave@CDocument@@UAEHXZ	; CDocument::DoFileSave(void)
dd offset ?UpdateFrameCounts@CDocument@@UAEXXZ ; CDocument::UpdateFrameCounts(void)
dd offset ?GetDefaultMenu@COleServerDoc@@MAEPAUHMENU__@@XZ ; COleServerDoc::GetDefaultMenu(void)
dd offset ?GetDefaultAccelerator@COleServerDoc@@MAEPAUHACCEL__@@XZ ; COleServerDoc::GetDefaultAccelerator(void)
dd offset ?OnIdle@COleDocument@@UAEXXZ ; COleDocument::OnIdle(void)
dd offset ?GetInPlaceActiveItem@COleDocument@@UAEPAVCOleClientItem@@PAVCWnd@@@Z	; COleDocument::GetInPlaceActiveItem(CWnd *)
dd offset ?GetStartPosition@COleDocument@@UBEPAU__POSITION@@XZ ; COleDocument::GetStartPosition(void)
dd offset ?GetNextItem@COleDocument@@UBEPAVCDocItem@@AAPAU__POSITION@@@Z ; COleDocument::GetNextItem(__POSITION	* &)
dd offset ?AddItem@COleDocument@@UAEXPAVCDocItem@@@Z ; COleDocument::AddItem(CDocItem *)
dd offset ?RemoveItem@COleDocument@@UAEXPAVCDocItem@@@Z	; COleDocument::RemoveItem(CDocItem *)
dd offset ?UpdateModifiedFlag@COleDocument@@UAEXXZ ; COleDocument::UpdateModifiedFlag(void)
dd offset ?GetPrimarySelectedItem@COleDocument@@UAEPAVCOleClientItem@@PAVCView@@@Z ; COleDocument::GetPrimarySelectedItem(CView	*)
dd offset ?OnShowViews@COleLinkingDoc@@MAEXH@Z ; COleLinkingDoc::OnShowViews(int)
dd offset ?GetMoniker@COleServerDoc@@UAEPAUIMoniker@@W4tagOLEGETMONIKER@@@Z ; COleServerDoc::GetMoniker(tagOLEGETMONIKER)
dd offset ?GetContainer@COleLinkingDoc@@UAEPAUIOleItemContainer@@XZ ; COleLinkingDoc::GetContainer(void)
dd offset sub_101DDBB
dd offset sub_101DB9E
dd offset sub_101D649
dd offset ?OnFindEmbeddedItem@COleLinkingDoc@@MAEPAVCOleClientItem@@PBG@Z ; COleLinkingDoc::OnFindEmbeddedItem(ushort const *)
dd offset ?RegisterIfServerAttached@COleLinkingDoc@@MAEHPBGH@Z ; COleLinkingDoc::RegisterIfServerAttached(ushort const *,int)
dd offset sub_101CFF3
dd offset sub_101D609
dd offset ?OnClose@COleServerDoc@@MAEXW4tagOLECLOSE@@@Z	; COleServerDoc::OnClose(tagOLECLOSE)
dd offset ?OnSetHostNames@COleServerDoc@@MAEXPBG0@Z ; COleServerDoc::OnSetHostNames(ushort const *,ushort const	*)
dd offset ?OnExecOleCmd@COleServerDoc@@MAEJPBU_GUID@@KKPAUtagVARIANT@@1@Z ; COleServerDoc::OnExecOleCmd(_GUID const *,ulong,ulong,tagVARIANT *,tagVARIANT *)
dd offset ?GetDocObjectServer@COleServerDoc@@MAEPAVCDocObjectServer@@PAUIOleDocumentSite@@@Z ; COleServerDoc::GetDocObjectServer(IOleDocumentSite *)
dd offset ?OnShowDocument@COleServerDoc@@MAEXH@Z ; COleServerDoc::OnShowDocument(int)
dd offset ?OnDeactivate@COleServerDoc@@UAEXXZ ;	COleServerDoc::OnDeactivate(void)
dd offset sub_101CFA3
dd offset ?OnSetItemRects@COleServerDoc@@MAEXPBUtagRECT@@0@Z ; COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *)
dd offset ?OnReactivateAndUndo@COleServerDoc@@MAEHXZ ; COleServerDoc::OnReactivateAndUndo(void)
dd offset ?OnFrameWindowActivate@COleServerDoc@@MAEXH@Z	; COleServerDoc::OnFrameWindowActivate(int)
dd offset ?OnDocWindowActivate@COleServerDoc@@MAEXH@Z ;	COleServerDoc::OnDocWindowActivate(int)
dd offset sub_101CE8C
dd offset ?CreateInPlaceFrame@COleServerDoc@@MAEPAVCOleIPFrameWnd@@PAVCWnd@@@Z ; COleServerDoc::CreateInPlaceFrame(CWnd	*)
dd offset ?DestroyInPlaceFrame@COleServerDoc@@MAEXPAVCOleIPFrameWnd@@@Z	; COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd *)
dd offset ?OnResizeBorder@COleServerDoc@@UAEXPBUtagRECT@@PAUIOleInPlaceUIWindow@@H@Z ; COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow *,int)
dd offset ?GetFileTypeString@COleServerDoc@@MAEHAAVCString@@@Z ; COleServerDoc::GetFileTypeString(CString &)
dd offset ?OnNewEmbedding@COleServerDoc@@MAEXPAUIStorage@@@Z ; COleServerDoc::OnNewEmbedding(IStorage *)
dd offset ?OnOpenEmbedding@COleServerDoc@@MAEXPAUIStorage@@@Z ;	COleServerDoc::OnOpenEmbedding(IStorage	*)
dd offset ?OnSaveEmbedding@COleServerDoc@@MAEXPAUIStorage@@@Z ;	COleServerDoc::OnSaveEmbedding(IStorage	*)
asc_10041B4:
unicode	0, <#%;/\>,0
; const	WCHAR szFormat
szFormat:
unicode	0, <PBrush>,0
align 10h
dd offset dword_10084D0
off_10041D4 dd offset loc_101D8F5
dd offset loc_101D947
dd offset loc_101D993
dd offset sub_101CE45
dd offset sub_101D9DF
dd offset sub_101DA27
dd offset sub_101DA72
dd offset sub_101DABD
dd offset sub_101DB0B
dd offset sub_101DB56
align 10h
dd offset aS		; "S"
dd offset aD		; "D"
dd offset aB		; "B"
dd offset aVal		; "Val"
dd offset aForceremove	; "ForceRemove"
dd offset aNoremove	; "NoRemove"
dd offset aDelete	; "Delete"
off_100421C dd offset aCpbframe	; "CPBFrame"
dd 358h, 0FFFFh, 101EB60h, 101C899h, 2 dup(0)
dword_1004238 dd 1Ch, 3	dup(0)
dd 0Eh,	101E78Bh, 1, 3 dup(0)
dd 9, 101E4C4h,	2, 3 dup(0)
dd 0Ch,	101E50Bh, 7, 3 dup(0)
dd 17h,	101E829h, 311h,	3 dup(0)
dd 17h,	101E53Bh, 30Fh,	3 dup(0)
dd 23h,	101E57Ch, 24h, 3 dup(0)
dd 1Fh,	101E885h, 3, 3 dup(0)
dd 0Fh,	101E7A6h, 5, 3 dup(0)
dd 11h,	101E7E1h, 14h, 3 dup(0)
dd 1, 101E742h,	1Bh, 3 dup(0)
dd 1Fh,	101E5BFh, 1Ah, 3 dup(0)
dd 1Fh,	101E8ADh, 111h,	0
dd 2 dup(0E146h), 0Ch, 101E49Fh, 15h, 3	dup(0)
dd 0Ch,	101E62Eh, 10h, 3 dup(0)
dd 0Ch,	101E63Dh, 111h,	0FFFFFFFFh, 2 dup(9322h)
dd 2Ch,	101EB27h, 111h,	0
dd 2 dup(9322h), 0Ch, 101EA58h,	111h, 0FFFFFFFFh
dd 2 dup(9321h), 2Ch, 101EB27h,	111h, 0
dd 2 dup(9321h), 0Ch, 101E9EDh,	7E9h, 3	dup(0)
dd 0Ah,	101E61Ah, 111h,	0
dd 2 dup(0E142h), 0Ch, 10341ACh, 111h, 0
dd 2 dup(0E144h), 0Ch, 1033B34h, 111h, 0
dd 2 dup(0E145h), 0Ch, 10341A0h, 111h, 0
dd 2 dup(0E147h), 0Ch, 10341ACh, 111h, 0FFFFFFFFh
dd 2 dup(0E817h), 2Ch, 1034194h, 111h, 0
dd 2 dup(0E817h), 2, 1034188h, 111h, 0FFFFFFFFh
dd 2 dup(0E818h), 2Ch, 1034194h, 111h, 0
dd 2 dup(0E818h), 2, 1034188h, 6 dup(0)
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_6. PRESS KEYPAD CTRL-"+" TO EXPAND]
db 1
dd offset dword_1004238
aCpbframe db 'CPBFrame',0
align 4
aDelete:
unicode	0, <Delete>,0
align 4
aNoremove:
unicode	0, <NoRemove>,0
align 4
aForceremove:
unicode	0, <ForceRemove>,0
aVal:
unicode	0, <Val>,0
aB:
unicode	0, <B>,0
aD:
unicode	0, <D>,0
aS:
unicode	0, <S>,0
align 8
dd offset dword_1008524
off_100455C dd offset loc_101E2BF
dd offset sub_101E71C
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CFrameWnd@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CFrameWnd::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_101E2D5
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset sub_101E358
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CFrameWnd@@MAEHIJ@Z ; CFrameWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset ?BeginModalState@CFrameWnd@@UAEXXZ ; CFrameWnd::BeginModalState(void)
dd offset ?EndModalState@CFrameWnd@@UAEXXZ ; CFrameWnd::EndModalState(void)
dd offset ?PreTranslateMessage@CFrameWnd@@UAEHPAUtagMSG@@@Z ; CFrameWnd::PreTranslateMessage(tagMSG *)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CFrameWnd@@MAEXXZ ; CFrameWnd::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CFrameWnd@@UBEHXZ	; CFrameWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
dd offset ?LoadFrame@CFrameWnd@@UAEHIKPAVCWnd@@PAUCCreateContext@@@Z ; CFrameWnd::LoadFrame(uint,ulong,CWnd *,CCreateContext *)
dd offset ?GetActiveDocument@CFrameWnd@@UAEPAVCDocument@@XZ ; CFrameWnd::GetActiveDocument(void)
dd offset ?GetActiveFrame@CFrameWnd@@UAEPAV1@XZ	; CFrameWnd::GetActiveFrame(void)
dd offset ?GetMessageString@CFrameWnd@@UBEXIAAVCString@@@Z ; CFrameWnd::GetMessageString(uint,CString &)
dd offset ?RecalcLayout@CFrameWnd@@UAEXH@Z ; CFrameWnd::RecalcLayout(int)
dd offset sub_101E953
dd offset ?OnSetPreviewMode@CFrameWnd@@UAEXHPAUCPrintPreviewState@@@Z ;	CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)
dd offset sub_101E487
dd offset ?NegotiateBorderSpace@CFrameWnd@@UAEHIPAUtagRECT@@@Z ; CFrameWnd::NegotiateBorderSpace(uint,tagRECT *)
dd offset ?OnCreateClient@CFrameWnd@@MAEHPAUtagCREATESTRUCTW@@PAUCCreateContext@@@Z ; CFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)
dd offset ?OnUpdateFrameTitle@CFrameWnd@@UAEXH@Z ; CFrameWnd::OnUpdateFrameTitle(int)
dd offset ?OnUpdateFrameMenu@CFrameWnd@@UAEXPAUHMENU__@@@Z ; CFrameWnd::OnUpdateFrameMenu(HMENU__ *)
dd offset ?GetDefaultAccelerator@CFrameWnd@@UAEPAUHACCEL__@@XZ ; CFrameWnd::GetDefaultAccelerator(void)
dd offset ?DelayUpdateFrameMenu@CFrameWnd@@UAEXPAUHMENU__@@@Z ;	CFrameWnd::DelayUpdateFrameMenu(HMENU__	*)
dd offset ?ExitHelpMode@CFrameWnd@@UAEXXZ ; CFrameWnd::ExitHelpMode(void)
dd offset aS		; "S"
dd offset aD		; "D"
dd offset aB		; "B"
dd offset aVal		; "Val"
dd offset aForceremove	; "ForceRemove"
dd offset aNoremove	; "NoRemove"
dd offset aDelete	; "Delete"
align 8
dword_1004678 dd 111h, 0
dd 2 dup(0E140h), 0Ch, 101FB65h, 111h, 0
dd 2 dup(0E100h), 0Ch, 101F477h, 111h, 0
dd 2 dup(0E101h), 0Ch, 1020772h, 111h, 0
dd 2 dup(0E106h), 0Ch, 1034248h, 6 dup(0)
off_10046F0 dd offset loc_101EC39
dd offset dword_1004678
dword_10046F8 dd 0D3E34B21h, 101A9D75h,	0AA003D8Ch, 52161A00h
; IID stru_1004708
stru_1004708 dd	3000Ah		     ; Data1
dw 0			; Data2
dw 0			; Data3
db 0C0h, 6 dup(0), 46h	; Data4
dd offset dword_1008570
off_100471C dd offset loc_1034254
dd offset sub_101F4FC
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
; char ProcName[]
ProcName db 'GetLayout',0
align 4
; char aSetlayout[]
aSetlayout db 'SetLayout',0
align 4
dd offset dword_10085F4
off_100474C dd offset loc_1034320
dd offset sub_101F756
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CCmdTarget::OnCmdMsg(uint,int,void	*,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CCmdTarget@@UAEXXZ ; CCmdTarget::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_101EC44
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset sub_101F77C
dd offset ?Run@CWinApp@@UAEHXZ ; CWinApp::Run(void)
dd offset ?PreTranslateMessage@CWinThread@@UAEHPAUtagMSG@@@Z ; CWinThread::PreTranslateMessage(tagMSG *)
dd offset ?PumpMessage@CWinThread@@UAEHXZ ; CWinThread::PumpMessage(void)
dd offset sub_10206F0
dd offset ?IsIdleMessage@CWinThread@@UAEHPAUtagMSG@@@Z ; CWinThread::IsIdleMessage(tagMSG *)
retf
db 0EEh, 2 dup(1)
dd offset loc_10342D8
dd offset loc_10342CC
dd offset loc_10342C0
dd offset loc_10342B4
dd offset sub_101FC00
dd offset ?AddToRecentFileList@CWinApp@@UAEXPBG@Z ; CWinApp::AddToRecentFileList(ushort	const *)
dd offset ?InitApplication@CWinApp@@UAEHXZ ; CWinApp::InitApplication(void)
dd offset ?SaveAllModified@CWinApp@@UAEHXZ ; CWinApp::SaveAllModified(void)
dd offset ?DoMessageBox@CWinApp@@UAEHPBGII@Z ; CWinApp::DoMessageBox(ushort const *,uint,uint)
dd offset ?DoWaitCursor@CWinApp@@UAEXH@Z ; CWinApp::DoWaitCursor(int)
dd offset ?OnDDECommand@CWinApp@@UAEHPAG@Z ; CWinApp::OnDDECommand(ushort *)
dd offset sub_101F1EC
; const	WCHAR aWia
aWia:
unicode	0, <wia>,0
; const	WCHAR aP
aP:
unicode	0, <p>,0
; const	WCHAR aPt
aPt:
unicode	0, <pt>,0
align 4
; const	WCHAR aGdi32_dll_1
aGdi32_dll_1:
unicode	0, <gdi32.dll>,0
; wchar_t Str
Str:
unicode	0, <Paint>,0
; const	WCHAR ModuleName
ModuleName:
unicode	0, <shell32.dll>,0
; char aShgetspecialfo[]
aShgetspecialfo	db 'SHGetSpecialFolderPathW',0
a__2:
unicode	0, <;*.>,0
a__1:
unicode	0, <*.>,0
align 4
asc_1004864:
unicode	0, < )>,0
align 4
a__0:
unicode	0, < ( *.>,0
; wchar_t Source
Source:
unicode	0, <;*.jpeg>,0
; const	WCHAR aJpg
aJpg:
unicode	0, <jpg>,0
; const	WCHAR aGif
aGif:
unicode	0, <gif>,0
; const	WCHAR aRle
aRle:
unicode	0, <rle>,0
; const	WCHAR aDib
aDib:
unicode	0, <dib>,0
; const	WCHAR aBmp
aBmp:
unicode	0, <bmp>,0
a_:
unicode	0, <*.*>,0
asc_10048B8:
unicode	0, < (>,0
align 10h
asc_10048C0:
unicode	0, <;*>,0
align 4
asc_10048C8:
unicode	0, <*>,0
align 10h
dd offset nullsub_7
dd 0A8h, 0
dd 0FFFFFFFFh, 102086Fh, 10048D0h, 1004EC8h
dd 100h, 0FFFFh, 0
dd offset loc_1020ACC
align 10h
off_1004900 dd offset aCpbview ; "CPBView"
dd 58h,	0FFFFh,	10212F9h, 1020AE2h, 0
dword_1004918 dd 1, 3 dup(0)
dd 9, 10215ECh,	5, 3 dup(0)
dd 11h,	10216C7h, 111h,	0
dd 2 dup(0E12Bh), 0Ch, 1020CFCh, 111h, 0
dd 2 dup(0E12Ch), 0Ch, 1020D38h, 111h, 0
dd 2 dup(0E123h), 0Ch, 1020D60h, 111h, 0
dd 2 dup(0E120h), 0Ch, 1020D6Dh, 111h, 0
dd 2 dup(0E122h), 0Ch, 1020D7Ah, 111h, 0
dd 2 dup(0E125h), 0Ch, 1020D87h, 111h, 0FFFFFFFFh
dd 2 dup(0E12Bh), 2Ch, 1021B5Fh, 111h, 0FFFFFFFFh
dd 2 dup(0E12Ch), 2Ch, 1020D94h, 111h, 0FFFFFFFFh
dd 2 dup(0E125h), 2Ch, 1020DE4h, 111h, 0
dd 2 dup(932Dh), 0Ch, 1020E08h,	111h, 0
dd 2 dup(9326h), 0Ch, 1020E15h,	111h, 0
dd 2 dup(9327h), 0Ch, 1020E3Ah,	111h, 0FFFFFFFFh
dd 2 dup(9326h), 2Ch, 1020E5Fh,	111h, 0FFFFFFFFh
dd 2 dup(9327h), 2Ch, 1020E85h,	111h, 0FFFFFFFFh
dd 2 dup(932Dh), 2Ch, 1020EABh,	111h, 0
dd 2 dup(9332h), 0Ch, 1020EF1h,	111h, 0FFFFFFFFh
dd 2 dup(9332h), 2Ch, 1020F0Bh,	111h, 0
dd 2 dup(1AD4h), 0Ch, 1020F35h,	111h, 0FFFFFFFFh
dd 2 dup(1AD4h), 2Ch, 1020F42h,	111h, 0
dd 2 dup(9333h), 0Ch, 1021BF7h,	111h, 0
dd 2 dup(1ACDh), 0Ch, 1020FF8h,	111h, 0
dd 2 dup(1A9Bh), 0Ch, 1021005h,	111h, 0
dd 2 dup(1A9Ah), 0Ch, 1021012h,	111h, 0
dd 2 dup(9328h), 0Ch, 1021B92h,	111h, 0
dd 2 dup(9330h), 0Ch, 1021D3Dh,	111h, 0FFFFFFFFh
dd 2 dup(9330h), 2Ch, 102101Fh,	111h, 0
dd 2 dup(1AD5h), 0Ch, 1021041h,	111h, 0FFFFFFFFh
dd 2 dup(1AD5h), 2Ch, 1021051h,	111h, 0
dd 2 dup(0E12Ah), 0Ch, 1021E0Dh, 111h, 0
dd 2 dup(9320h), 0Ch, 1021072h,	111h, 0
dd 2 dup(931Fh), 0Ch, 1021F64h,	111h, 0FFFFFFFFh
dd 2 dup(931Fh), 2Ch, 1021144h,	111h, 0
dd 2 dup(9331h), 0Ch, 102202Ch,	111h, 0FFFFFFFFh
dd 2 dup(9331h), 2Ch, 102101Fh,	111h, 0
dd 2 dup(9329h), 0Ch, 1022362h,	111h, 0FFFFFFFFh
dd 2 dup(9329h), 2Ch, 102101Fh,	111h, 0
dd 2 dup(932Eh), 0Ch, 102118Bh,	111h, 0FFFFFFFFh
dd 2 dup(932Eh), 2Ch, 102119Bh,	111h, 0
dd 2 dup(0E14Dh), 0Ch, 1022922h, 111h, 0FFFFFFFFh
dd 2 dup(0E14Dh), 2Ch, 102293Ch, 111h, 0
dd 2 dup(0E14Bh), 0Ch, 102292Fh, 111h, 0FFFFFFFFh
dd 2 dup(0E14Bh), 2Ch, 102293Ch, 111h, 0
dd 2 dup(932Ch), 0Ch, 1022B98h,	111h, 0FFFFFFFFh
dd 2 dup(932Ch), 2Ch, 1020CC5h,	111h, 0FFFFFFFFh
dd 2 dup(9333h), 2Ch, 102101Fh,	111h, 0
dd 2 dup(0E15Ch), 0Ch, 102267Ch, 111h, 0
dd 2 dup(0E15Dh), 0Ch, 102269Ah, 18h, 3	dup(0)
dd 0Eh,	1021634h, 111h,	0FFFFFFFFh, 2 dup(0E122h)
dd 2Ch,	1020DC0h, 111h,	0FFFFFFFFh, 2 dup(0E120h)
dd 2Ch,	1020DC0h, 111h,	0
dd 2 dup(0E105h), 0Ch, 10236F1h, 111h, 0
dd 2 dup(9334h), 0Ch, 1020F71h,	111h, 0FFFFFFFFh
dd 2 dup(0E123h), 2Ch, 1020DC0h, 111h, 0FFFFFFFFh
dd 2 dup(9334h), 2Ch, 1020FBDh,	2, 3 dup(0)
dd 0Ch,	102164Ah, 111h,	0
dd 2 dup(0E107h), 0Ch, 1020F8Bh, 111h, 0
dd 2 dup(0E109h), 0Ch, 1020FA4h, 6 dup(0)
off_1004EB8 dd offset loc_1020AF8
dd offset dword_1004918
aCpbview db 'CPBView',0
aC_printdialoge	db 'C_PrintDialogEx',0
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_7. PRESS KEYPAD CTRL-"+" TO EXPAND]
db 0A2h, 52h, 58h
dd 11D16530h, 0A3B6h, 0F97B75F8h
; char aPrintdlgexw[]
aPrintdlgexw db	'PrintDlgExW',0
; char aComdlg32_dll_1[]
aComdlg32_dll_1	db 'COMDLG32.DLL',0
align 8
dd offset dword_1008660
off_1004F0C dd offset loc_1020AED
retf	226h
db 1
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset sub_1020C0F
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_1020B03
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset sub_1020B32
dd offset ?CalcWindowRect@CView@@UAEXPAUtagRECT@@I@Z ; CView::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CView@@UBEPAVCScrollBar@@H@Z ; CView::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CWnd@@MAEHIJ@Z ; CWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset sub_10098C9
dd offset sub_10098DA
dd offset sub_10213B9
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CView@@MAEXXZ ; CView::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
dd offset ?IsSelected@CView@@UBEHPBVCObject@@@Z	; CView::IsSelected(CObject const *)
dd offset ?OnScroll@CView@@UAEHIIH@Z ; CView::OnScroll(uint,uint,int)
dd offset ?OnScrollBy@CView@@UAEHVCSize@@H@Z ; CView::OnScrollBy(CSize,int)
dd offset ?OnDragEnter@CView@@UAEKPAVCOleDataObject@@KVCPoint@@@Z ; CView::OnDragEnter(COleDataObject *,ulong,CPoint)
dd offset ?OnDragOver@CView@@UAEKPAVCOleDataObject@@KVCPoint@@@Z ; CView::OnDragOver(COleDataObject *,ulong,CPoint)
dd offset ?OnDragLeave@CView@@UAEXXZ ; CView::OnDragLeave(void)
dd offset ?OnDrop@CView@@UAEHPAVCOleDataObject@@KVCPoint@@@Z ; CView::OnDrop(COleDataObject *,ulong,CPoint)
dd offset ?OnDropEx@CView@@UAEKPAVCOleDataObject@@KKVCPoint@@@Z	; CView::OnDropEx(COleDataObject *,ulong,ulong,CPoint)
dd offset ?OnDragScroll@CView@@UAEKKVCPoint@@@Z	; CView::OnDragScroll(ulong,CPoint)
dd offset sub_102158B
dd offset byte_1022AE8
dd offset sub_1020BFF
dd offset ?OnActivateFrame@CView@@MAEXIPAVCFrameWnd@@@Z	; CView::OnActivateFrame(uint,CFrameWnd	*)
dd offset ?OnUpdate@CView@@MAEXPAV1@JPAVCObject@@@Z ; CView::OnUpdate(CView *,long,CObject *)
dd offset sub_1021493
dd offset sub_10229AF
dd offset sub_1020B51
dd offset sub_1020B83
dd offset sub_1020BBD
dd offset ?OnEndPrintPreview@CView@@MAEXPAVCDC@@PAUCPrintInfo@@UtagPOINT@@PAVCPreviewView@@@Z ;	CView::OnEndPrintPreview(CDC *,CPrintInfo *,tagPOINT,CPreviewView *)
aRotate180:
unicode	0, <Rotate 180>,0
align 4
aRotate270:
unicode	0, <Rotate 270>,0
align 4
; const	WCHAR ValueName
ValueName:
unicode	0, <NoChangingWallpaper>,0
align 8
; const	WCHAR SubKey
SubKey:
unicode	0, <Software\Microsoft\Windows\>
unicode	0, <CurrentVersion\Policies\Act>
unicode	0, <iveDesktop>,0
align 4
; const	WCHAR aTilewallpaper
aTilewallpaper:
unicode	0, <TileWallpaper>,0
; BYTE Data
Data:
unicode	0, <1>,0
; const	WCHAR aControlPanelDe
aControlPanelDe:
unicode	0, <Control Panel\Desktop>,0
dd offset dword_10086C4
off_100514C dd offset sub_1020A56
dd offset sub_1020A1E
dd offset sub_1020A3A
dd offset sub_10211FD
dd offset sub_102124C
dd offset sub_102129B
align 8
dd offset dword_1008750
off_100516C dd offset loc_1020AD7
dd offset sub_100E368
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CDialog@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z	; CDialog::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset ?GetMessageMap@CPrintDialog@@MBEPBUAFX_MSGMAP@@XZ ; CPrintDialog::GetMessageMap(void)
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset sub_102087A
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset ?PreCreateWindow@CWnd@@UAEHAAUtagCREATESTRUCTW@@@Z ; CWnd::PreCreateWindow(tagCREATESTRUCTW &)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CWnd@@MAEHIJ@Z ; CWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset sub_10098C9
dd offset sub_10098DA
dd offset ?PreTranslateMessage@CDialog@@UAEHPAUtagMSG@@@Z ; CDialog::PreTranslateMessage(tagMSG	*)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CWnd@@MAEXXZ ;	CWnd::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CDialog@@UAEHXZ ; CDialog::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CDialog@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)
dd offset sub_1020885
dd offset ?OnInitDialog@CDialog@@UAEHXZ	; CDialog::OnInitDialog(void)
dd offset ?OnSetFont@CDialog@@UAEXPAVCFont@@@Z ; CDialog::OnSetFont(CFont *)
dd offset ?OnOK@CCommonDialog@@MAEXXZ ;	CCommonDialog::OnOK(void)
dd offset ?OnCancel@CCommonDialog@@MAEXXZ ; CCommonDialog::OnCancel(void)
dd offset ?PreInitDialog@CDialog@@MAEXXZ ; CDialog::PreInitDialog(void)
dd offset ?AttachOnSetup@CPrintDialog@@MAEPAV1@XZ ; CPrintDialog::AttachOnSetup(void)
dd offset sub_1020A78
dd offset sub_1020A78
dd offset sub_1020A81
off_1005254 dd offset aCpic ; "CPic"
dd 34h,	0FFFFh,	0
dd offset loc_1022BA2
dd 0
aCpic db 'CPic',0
align 8
dd offset dword_10087B4
off_100527C dd offset loc_1022BAD
dd offset sub_1022FDB
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?SetAttribDC@CDC@@UAEXPAUHDC__@@@Z ; CDC::SetAttribDC(HDC__ *)
dd offset ?SetOutputDC@CDC@@UAEXPAUHDC__@@@Z ; CDC::SetOutputDC(HDC__ *)
dd offset ?ReleaseAttribDC@CDC@@UAEXXZ ; CDC::ReleaseAttribDC(void)
dd offset ?ReleaseOutputDC@CDC@@UAEXXZ ; CDC::ReleaseOutputDC(void)
dd offset ?SaveDC@CDC@@UAEHXZ ;	CDC::SaveDC(void)
dd offset ?RestoreDC@CDC@@UAEHH@Z ; CDC::RestoreDC(int)
dd offset ?SelectStockObject@CDC@@UAEPAVCGdiObject@@H@Z	; CDC::SelectStockObject(int)
dd offset ?SelectObject@CDC@@UAEPAVCFont@@PAV2@@Z ; CDC::SelectObject(CFont *)
dd offset ?SetBkColor@CDC@@UAEKK@Z ; CDC::SetBkColor(ulong)
dd offset ?SetTextColor@CDC@@UAEKK@Z ; CDC::SetTextColor(ulong)
dd offset ?SetMapMode@CDC@@UAEHH@Z ; CDC::SetMapMode(int)
dd offset ?SetViewportOrg@CDC@@UAE?AVCPoint@@HH@Z ; CDC::SetViewportOrg(int,int)
dd offset ?OffsetViewportOrg@CDC@@UAE?AVCPoint@@HH@Z ; CDC::OffsetViewportOrg(int,int)
dd offset ?SetViewportExt@CDC@@UAE?AVCSize@@HH@Z ; CDC::SetViewportExt(int,int)
dd offset ?ScaleViewportExt@CDC@@UAE?AVCSize@@HHHH@Z ; CDC::ScaleViewportExt(int,int,int,int)
dd offset ?SetWindowExt@CDC@@UAE?AVCSize@@HH@Z ; CDC::SetWindowExt(int,int)
dd offset ?ScaleWindowExt@CDC@@UAE?AVCSize@@HHHH@Z ; CDC::ScaleWindowExt(int,int,int,int)
dd offset ?GetClipBox@CDC@@UBEHPAUtagRECT@@@Z ;	CDC::GetClipBox(tagRECT	*)
dd offset sub_1022C10
dd offset sub_1022C2D
dd offset sub_1022C47
dd offset sub_1022C6A
dd offset sub_1022C96
dd offset sub_1022CD5
dd offset sub_1022CF8
dd offset sub_1022D2F
off_10052F8 dd offset aCprintresobj ; "CPrintResObj"
dd 54h,	0FFFFh,	0
dd offset loc_100A36F
align 10h
aCprintresobj db 'CPrintResObj',0
align 10h
dd offset dword_10087FC
off_1005324 dd offset loc_1023042
retf
db 36h,	2, 1
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dbl_1005338 dq -0.00001
dbl_1005340 dq 1000.0
dword_1005348 dd 0C993264Ch, 3FD93264h,	0
dd 40F86A00h, 1004550h,	100454Ch, 1004548h
dd 1004540h, 1004528h, 1004514h, 1004504h
dd 6B0053h, 770065h, 420020h, 740069h, 61006Dh
dd 70h,	1008844h
off_1005390 dd offset loc_10330D8
dd offset sub_1025128
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset sub_1024DF8
dd offset sub_1024E0D
dd offset sub_1024E25
dd offset sub_1024F85
dd offset sub_1024DEE
dd offset sub_10250E2
dd offset sub_1025085
dd offset sub_10350B0
dd offset sub_1024E62
off_10053C8 dd offset aCpbsrvritem ; "CPBSrvrItem"
dd 80h,	0FFFFh,	0
dd offset loc_102514E
align 10h
aCpbsrvritem db	'CPBSrvrItem',0
align 10h
dd offset dword_10088C8
off_10053F4 dd offset loc_1025159
dd offset sub_1025294
dd offset sub_10252BA
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CCmdTarget::OnCmdMsg(uint,int,void	*,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@COleServerItem@@UAEXXZ ; COleServerItem::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset ?GetMessageMap@CCmdTarget@@MBEPBUAFX_MSGMAP@@XZ ; CCmdTarget::GetMessageMap(void)
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@COleServerItem@@MBEPBUAFX_INTERFACEMAP@@XZ ;	COleServerItem::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?IsBlank@COleServerItem@@MBEHXZ ; COleServerItem::IsBlank(void)
dd offset sub_1025409
dd offset ?OnUpdate@COleServerItem@@UAEXPAV1@JPAVCObject@@W4tagDVASPECT@@@Z ; COleServerItem::OnUpdate(COleServerItem *,long,CObject *,tagDVASPECT)
dd offset ?OnDrawEx@COleServerItem@@UAEHPAVCDC@@W4tagDVASPECT@@AAVCSize@@@Z ; COleServerItem::OnDrawEx(CDC *,tagDVASPECT,CSize &)
dd offset sub_102538B
dd offset sub_10252EE
dd offset ?OnDoVerb@COleServerItem@@UAEXJ@Z ; COleServerItem::OnDoVerb(long)
dd offset ?OnSetColorScheme@COleServerItem@@UAEHPBUtagLOGPALETTE@@@Z ; COleServerItem::OnSetColorScheme(tagLOGPALETTE const *)
dd offset ?OnGetClipboardData@COleServerItem@@UAEPAVCOleDataSource@@HPAUtagPOINT@@PAUtagSIZE@@@Z ; COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE *)
dd offset ?OnQueryUpdateItems@COleServerItem@@UAEHXZ ; COleServerItem::OnQueryUpdateItems(void)
dd offset ?OnUpdateItems@COleServerItem@@UAEXXZ	; COleServerItem::OnUpdateItems(void)
dd offset sub_10251AA
dd offset sub_102539B
dd offset sub_10251BB
dd offset ?OnInitFromData@COleServerItem@@UAEHPAVCOleDataObject@@H@Z ; COleServerItem::OnInitFromData(COleDataObject *,int)
dd offset sub_102558B
dd offset sub_10255CE
dd offset ?OnRenderData@COleServerItem@@UAEHPAUtagFORMATETC@@PAUtagSTGMEDIUM@@@Z ; COleServerItem::OnRenderData(tagFORMATETC *,tagSTGMEDIUM *)
dd offset ?OnSetData@COleServerItem@@UAEHPAUtagFORMATETC@@PAUtagSTGMEDIUM@@H@Z ; COleServerItem::OnSetData(tagFORMATETC	*,tagSTGMEDIUM *,int)
dd offset ?GetMetafileData@COleServerItem@@MAEHPAUtagFORMATETC@@PAUtagSTGMEDIUM@@@Z ; COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *)
dd offset ?OnSaveEmbedding@COleServerItem@@MAEXPAUIStorage@@@Z ; COleServerItem::OnSaveEmbedding(IStorage *)
dd offset sub_10254E4
align 8
off_10054A8 dd offset aCattredit ; "CAttrEdit"
dd 94h,	0FFFFh,	102795Fh, 1025683h, 0
off_10054C0 dd offset aCtedit ;	"CTedit"
dd 158h, 0FFFFh, 1027999h, 102B0BBh, 0
dword_10054D8 dd 0Fh, 3	dup(0)
dd 0Ch,	10279D3h, 14h, 3 dup(0)
dd 1, 1025D13h,	204h, 3	dup(0)
dd 31h,	1025DEDh, 102h,	3 dup(0)
dd 10h,	1027F85h, 286h,	3 dup(0)
dd 0Ah,	102805Ah, 10Fh,	3 dup(0)
dd 0Ah,	1028096h, 51h, 3 dup(0)
dd 0Ah,	1028028h, 8, 3 dup(0)
dd 17h,	1028198h, 84h, 3 dup(0)
dd 22h,	10281E8h, 7, 3 dup(0)
dd 17h,	1028233h, 5, 3 dup(0)
dd 11h,	102826Dh, 203h,	3 dup(0)
dd 31h,	10282A5h, 201h,	3 dup(0)
dd 31h,	1028340h, 200h,	3 dup(0)
dd 31h,	10284C5h, 202h,	3 dup(0)
dd 31h,	1028422h, 100h,	3 dup(0)
dd 10h,	1028570h, 118h,	3 dup(0)
dd 0Ah,	10256E9h, 6 dup(0)
off_1005688 dd offset loc_102B0E7
dd offset dword_10054D8
unk_1005690 db	  5
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
dd 11h,	1026F2Dh, 3, 3 dup(0)
dd 0Fh,	1027022h, 19h, 3 dup(0)
dd 4, 10257C8h,	83h, 3 dup(0)
dd 25h,	102581Eh, 85h, 3 dup(0)
dd 0Ch,	1027229h, 84h, 3 dup(0)
dd 22h,	10272CFh, 204h,	3 dup(0)
dd 31h,	1028A03h, 111h,	0
dd 2 dup(8008h), 0Ch, 10273D5h,	111h, 0
dd 2 dup(8009h), 0Ch, 102744Ah,	111h, 0
dd 2 dup(800Ah), 0Ch, 102747Bh,	111h, 0
dd 2 dup(8015h), 0Ch, 10274ACh,	111h, 0
dd 2 dup(800Ch), 0Ch, 10274DDh,	111h, 0
dd 2 dup(800Dh), 0Ch, 1027510h,	111h, 0
dd 2 dup(0E123h), 0Ch, 102755Bh, 111h, 0
dd 2 dup(0E122h), 0Ch, 10275A9h, 111h, 0
dd 2 dup(0E125h), 0Ch, 10275B6h, 111h, 0
dd 2 dup(0E120h), 0Ch, 10275E6h, 111h, 0
dd 2 dup(0E12Ah), 0Ch, 1027702h, 111h, 0
dd 2 dup(0E12Bh), 0Ch, 102772Bh, 111h, 0
dd 2 dup(6Eh), 0Ch, 1027747h, 111h, 0
dd 2 dup(932Eh), 0Ch, 102778Bh,	201h, 3	dup(0)
dd 31h,	101CAB3h, 24h, 3 dup(0)
dd 1Fh,	1027171h, 216h,	3 dup(0)
dd 0Ah,	10270D6h, 111h,	300h, 2	dup(72h)
dd 0Ch,	1026A3Ah, 111h,	501h, 2	dup(72h)
dd 0Ch,	1026AF2h, 111h,	400h, 2	dup(72h)
dd 0Ch,	1026A7Fh, 2, 3 dup(0)
dd 0Ch,	10278D3h, 6 dup(0)
off_1005948 dd offset loc_102B0E7
dd offset unk_1005690
aCtedit	db 'CTedit',0
align 4
aCattredit db 'CAttrEdit',0
align 4
; char aCtfimmiscicero[]
aCtfimmiscicero	db 'CtfImmIsCiceroEnabled',0
align 4
; const	WCHAR LibFileName
LibFileName:
unicode	0, <imm32.dll>,0
dd offset dword_1008918
off_1005994 dd offset loc_10348FC
dd offset sub_1025A26
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CCmdTarget::OnCmdMsg(uint,int,void	*,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset ?GetMessageMap@CWnd@@MBEPBUAFX_MSGMAP@@XZ ; CWnd::GetMessageMap(void)
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset ?PreCreateWindow@CWnd@@UAEHAAUtagCREATESTRUCTW@@@Z ; CWnd::PreCreateWindow(tagCREATESTRUCTW &)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CWnd@@MAEHIJ@Z ; CWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset sub_10098C9
dd offset sub_10098DA
dd offset ?PreTranslateMessage@CWnd@@UAEHPAUtagMSG@@@Z ; CWnd::PreTranslateMessage(tagMSG *)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CWnd@@MAEXXZ ;	CWnd::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
align 8
dd offset dword_100896C
off_1005A5C dd offset loc_102568E
dd offset sub_1025CED
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CCmdTarget::OnCmdMsg(uint,int,void	*,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_10256A4
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset ?PreCreateWindow@CWnd@@UAEHAAUtagCREATESTRUCTW@@@Z ; CWnd::PreCreateWindow(tagCREATESTRUCTW &)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CWnd@@MAEHIJ@Z ; CWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset sub_10098C9
dd offset sub_10098DA
dd offset ?PreTranslateMessage@CWnd@@UAEHPAUtagMSG@@@Z ; CWnd::PreTranslateMessage(tagMSG *)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CWnd@@MAEXXZ ;	CWnd::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
align 10h
; const	WCHAR aAbcdefghijklmn
aAbcdefghijklmn:
unicode	0, <ABCDEFGHIJKLMNOPQRSTUVWXYZa>
unicode	0, <bcdefghijklmnopqrstuvwxyz>,0
align 4
; const	WCHAR aAa
aAa:
unicode	0, <aa>,0
align 4
; const	WCHAR aA
aA:
unicode	0, <a>,0
dd offset dword_10089BC
off_1005B9C dd offset loc_1025699
dd offset sub_102867F
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CCmdTarget::OnCmdMsg(uint,int,void	*,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_1025705
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset sub_1025710
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CWnd@@MAEHIJ@Z ; CWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset sub_10098C9
dd offset sub_10098DA
dd offset ?PreTranslateMessage@CWnd@@UAEHPAUtagMSG@@@Z ; CWnd::PreTranslateMessage(tagMSG *)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset byte_102579D
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
; const	WCHAR String2
String2:
dw 0Dh,	0Ah, 0
align 8
off_1005C68 dd offset aCtfont ;	"CTfont"
dd 2C0h, 0FFFFh, 102AA8Fh, 101C8A4h, 0
off_1005C80 dd offset aCtfonttbar ; "CTfontTbar"
dd 0A0h, 0FFFFh, 102905Fh, 1028ADFh, 0
off_1005C98 dd offset aCtfontdlg ; "CTfontDlg"
dd 194h, 0FFFFh, 102A035h, 1028AF5h, 0
dword_1005CB0 dd 111h, 1, 2 dup(68h), 0Ch, 102A8A7h, 111h
dd 1, 2	dup(67h), 0Ch, 10297CAh, 111h, 4
dd 2 dup(67h), 0Ch, 10297CAh, 111h, 0
dd 2 dup(1), 0Ch, 10297CAh, 111h, 1, 2 dup(8Ch)
dd 0Ch,	102A8A7h, 14h, 3 dup(0)
dd 1, 1029818h,	7, 3 dup(0)
dd 17h,	1028D87h, 2, 3 dup(0)
dd 0Ch,	1029858h, 3, 3 dup(0)
dd 0Fh,	10297EDh, 10h, 3 dup(0)
dd 0Ch,	1028D73h, 204h,	3 dup(0)
dd 31h,	1028D6Bh, 201h,	3 dup(0)
dd 31h,	101CAB3h, 202h,	3 dup(0)
dd 31h,	1028E19h, 111h,	0
dd 2 dup(6Ah), 0Ch, 102987Eh, 111h, 0
dd 2 dup(6Dh), 0Ch, 10298B5h, 111h, 0
dd 2 dup(70h), 0Ch, 10298E1h, 111h, 0
dd 2 dup(88h), 0Ch, 102990Dh, 111h, 0FFFFFFFFh
dd 2 dup(88h), 2Ch, 1028DB9h, 111h, 0
dd 2 dup(71h), 0Ch, 102994Eh, 111h, 0
dd 2 dup(78h), 0Ch, 102997Ah, 111h, 0
dd 2 dup(79h), 0Ch, 1028DDFh, 111h, 0
dd 2 dup(7Ah), 0Ch, 1028E09h, 111h, 0
dd 2 dup(7Bh), 0Ch, 1029992h, 111h, 0
dd 2 dup(7Ch), 0Ch, 10299D3h, 111h, 0
dd 2 dup(7Dh), 0Ch, 1029A14h, 784h, 3 dup(0)
dd 0Ah,	102A8CAh, 6 dup(0)
off_1005F38 dd offset sub_1028B7F
dd offset dword_1005CB0
dword_1005F40 dd 6 dup(0)
off_1005F58 dd offset loc_1028E35
dd offset dword_1005F40
dword_1005F60 dd 204h, 3 dup(0)
dd 31h,	1029D34h, 2Ch, 3 dup(0)
dd 20h,	1029D66h, 2Bh, 3 dup(0)
dd 20h,	102A975h, 6 dup(0)
off_1005FC0 dd offset loc_1028E74
dd offset dword_1005F60
aCtfontdlg db 'CTfontDlg',0
align 4
aCtfonttbar db 'CTfontTbar',0
align 10h
aCtfont	db 'CTfont',0
align 4
dd offset dword_1008A2C
off_1005FEC dd offset loc_1028AEA
dd offset sub_1029A7B
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CCmdTarget::OnCmdMsg(uint,int,void	*,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_1028E40
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CControlBar@@UAEHXZ ; CControlBar::DestroyWindow(void)
dd offset ?PreCreateWindow@CControlBar@@UAEHAAUtagCREATESTRUCTW@@@Z ; CControlBar::PreCreateWindow(tagCREATESTRUCTW &)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CToolBar@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z ; CToolBar::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CWnd@@MAEHIJ@Z ; CWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset sub_10098C9
dd offset sub_10098DA
dd offset ?PreTranslateMessage@CControlBar@@UAEHPAUtagMSG@@@Z ;	CControlBar::PreTranslateMessage(tagMSG	*)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CControlBar@@UAEJIIJ@Z ; CControlBar::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CControlBar@@UAEXXZ ; CControlBar::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
dd offset ?CalcFixedLayout@CToolBar@@UAE?AVCSize@@HH@Z ; CToolBar::CalcFixedLayout(int,int)
dd offset ?CalcDynamicLayout@CToolBar@@UAE?AVCSize@@HK@Z ; CToolBar::CalcDynamicLayout(int,ulong)
dd offset ?OnUpdateCmdUI@CToolBar@@UAEXPAVCFrameWnd@@H@Z ; CToolBar::OnUpdateCmdUI(CFrameWnd *,int)
dd offset ?DelayShow@CControlBar@@UAEXH@Z ; CControlBar::DelayShow(int)
dd offset ?IsVisible@CControlBar@@UBEHXZ ; CControlBar::IsVisible(void)
dd offset ?RecalcDelayShow@CControlBar@@UAEKPAUAFX_SIZEPARENTPARAMS@@@Z	; CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)
dd offset ?IsDockBar@CControlBar@@UBEHXZ ; CControlBar::IsDockBar(void)
dd offset ?OnBarStyleChange@CToolBar@@UAEXKK@Z ; CToolBar::OnBarStyleChange(ulong,ulong)
dd offset ?DoPaint@CControlBar@@UAEXPAVCDC@@@Z ; CControlBar::DoPaint(CDC *)
dd offset ?SetStatusText@CControlBar@@UAEHH@Z ;	CControlBar::SetStatusText(int)
dd offset ?GetItemRect@CToolBar@@UBEXHPAUtagRECT@@@Z ; CToolBar::GetItemRect(int,tagRECT *)
dd offset dword_1008A9C
off_10060DC dd offset loc_1028B00
dd offset sub_1029CC8
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CCmdTarget::OnCmdMsg(uint,int,void	*,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_1028E7F
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CControlBar@@UAEHXZ ; CControlBar::DestroyWindow(void)
dd offset ?PreCreateWindow@CControlBar@@UAEHAAUtagCREATESTRUCTW@@@Z ; CControlBar::PreCreateWindow(tagCREATESTRUCTW &)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CWnd@@MAEHIJ@Z ; CWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset sub_10098C9
dd offset sub_10098DA
dd offset ?PreTranslateMessage@CControlBar@@UAEHPAUtagMSG@@@Z ;	CControlBar::PreTranslateMessage(tagMSG	*)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CControlBar@@UAEJIIJ@Z ; CControlBar::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CControlBar@@UAEXXZ ; CControlBar::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CDialogBar@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z	; CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *)
dd offset ?CalcFixedLayout@CDialogBar@@UAE?AVCSize@@HH@Z ; CDialogBar::CalcFixedLayout(int,int)
dd offset ?CalcDynamicLayout@CControlBar@@UAE?AVCSize@@HK@Z ; CControlBar::CalcDynamicLayout(int,ulong)
dd offset ?OnUpdateCmdUI@CDialogBar@@UAEXPAVCFrameWnd@@H@Z ; CDialogBar::OnUpdateCmdUI(CFrameWnd *,int)
dd offset ?DelayShow@CControlBar@@UAEXH@Z ; CControlBar::DelayShow(int)
dd offset ?IsVisible@CControlBar@@UBEHXZ ; CControlBar::IsVisible(void)
dd offset ?RecalcDelayShow@CControlBar@@UAEKPAUAFX_SIZEPARENTPARAMS@@@Z	; CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS *)
dd offset ?IsDockBar@CControlBar@@UBEHXZ ; CControlBar::IsDockBar(void)
dd offset ?OnBarStyleChange@CControlBar@@UAEXKK@Z ; CControlBar::OnBarStyleChange(ulong,ulong)
dd offset ?DoPaint@CControlBar@@UAEXPAVCDC@@@Z ; CControlBar::DoPaint(CDC *)
dd offset ?SetStatusText@CControlBar@@UAEHH@Z ;	CControlBar::SetStatusText(int)
align 8
dd offset dword_1008AEC
off_10061CC dd offset loc_10349F8
dd offset sub_1028F28
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CCmdTarget::OnCmdMsg(uint,int,void	*,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset ?GetMessageMap@CWnd@@MBEPBUAFX_MSGMAP@@XZ ; CWnd::GetMessageMap(void)
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset ?PreCreateWindow@CWnd@@UAEHAAUtagCREATESTRUCTW@@@Z ; CWnd::PreCreateWindow(tagCREATESTRUCTW &)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CWnd@@MAEHIJ@Z ; CWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset sub_10098C9
dd offset sub_10098DA
dd offset ?PreTranslateMessage@CWnd@@UAEHPAUtagMSG@@@Z ; CWnd::PreTranslateMessage(tagMSG *)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CWnd@@MAEXXZ ;	CWnd::PostNcDestroy(void)
dd offset ?OnChildNotify@CComboBox@@MAEHIIJPAJ@Z ; CComboBox::OnChildNotify(uint,uint,long,long	*)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
dd offset ?DrawItem@CComboBox@@UAEXPAUtagDRAWITEMSTRUCT@@@Z ; CComboBox::DrawItem(tagDRAWITEMSTRUCT *)
dd offset ?MeasureItem@CComboBox@@UAEXPAUtagMEASUREITEMSTRUCT@@@Z ; CComboBox::MeasureItem(tagMEASUREITEMSTRUCT	*)
dd offset ?CompareItem@CComboBox@@UAEHPAUtagCOMPAREITEMSTRUCT@@@Z ; CComboBox::CompareItem(tagCOMPAREITEMSTRUCT	*)
dd offset ?DeleteItem@CComboBox@@UAEXPAUtagDELETEITEMSTRUCT@@@Z	; CComboBox::DeleteItem(tagDELETEITEMSTRUCT *)
align 10h
dd offset dword_1008B44
off_10062A4 dd offset loc_1028AD4
dd offset sub_102A1A4
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CFrameWnd@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CFrameWnd::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_1028B8A
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
fdiv	qword ptr [edx]
add	eax, [ecx]
sal	byte ptr [edx],	1
add	eax, [ecx]
les	esi, [edx]
add	eax, [ecx]
mov	eax, 0AC010332h
xor	al, [ebx]
add	[edi+esi+3], eax
add	[ebp-77FEFD75h], edx
xor	al, [ebx]
add	[edx+esi+3], edi
add	[eax+32h], esi
add	eax, [ecx]
xor	al, fs:[ebx]
add	[eax+32h], ebx
add	eax, [ecx]
dec	esp
xor	al, [ebx]
add	[ecx], edi
retf
dw 101h
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset ?BeginModalState@CFrameWnd@@UAEXXZ ; CFrameWnd::BeginModalState(void)
dd offset ?EndModalState@CFrameWnd@@UAEXXZ ; CFrameWnd::EndModalState(void)
dd offset ?PreTranslateMessage@CFrameWnd@@UAEHPAUtagMSG@@@Z ; CFrameWnd::PreTranslateMessage(tagMSG *)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CFrameWnd@@MAEXXZ ; CFrameWnd::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CFrameWnd@@UBEHXZ	; CFrameWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
dd offset ?LoadFrame@CFrameWnd@@UAEHIKPAVCWnd@@PAUCCreateContext@@@Z ; CFrameWnd::LoadFrame(uint,ulong,CWnd *,CCreateContext *)
dd offset ?GetActiveDocument@CFrameWnd@@UAEPAVCDocument@@XZ ; CFrameWnd::GetActiveDocument(void)
dd offset ?GetActiveFrame@CFrameWnd@@UAEPAV1@XZ	; CFrameWnd::GetActiveFrame(void)
dd offset ?GetMessageString@CFrameWnd@@UBEXIAAVCString@@@Z ; CFrameWnd::GetMessageString(uint,CString &)
dd offset sub_1029A55
dd offset ?ActivateFrame@CFrameWnd@@UAEXH@Z ; CFrameWnd::ActivateFrame(int)
dd offset ?OnSetPreviewMode@CFrameWnd@@UAEXHPAUCPrintPreviewState@@@Z ;	CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)
dd offset ?GetMessageBar@CFrameWnd@@UAEPAVCWnd@@XZ ; CFrameWnd::GetMessageBar(void)
dd offset ?NegotiateBorderSpace@CFrameWnd@@UAEHIPAUtagRECT@@@Z ; CFrameWnd::NegotiateBorderSpace(uint,tagRECT *)
dd offset ?OnCreateClient@CFrameWnd@@MAEHPAUtagCREATESTRUCTW@@PAUCCreateContext@@@Z ; CFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)
dd offset ?OnUpdateFrameTitle@CFrameWnd@@UAEXH@Z ; CFrameWnd::OnUpdateFrameTitle(int)
dd offset ?OnUpdateFrameMenu@CFrameWnd@@UAEXPAUHMENU__@@@Z ; CFrameWnd::OnUpdateFrameMenu(HMENU__ *)
dd offset ?GetDefaultAccelerator@CFrameWnd@@UAEPAUHACCEL__@@XZ ; CFrameWnd::GetDefaultAccelerator(void)
dd offset ?DelayUpdateFrameMenu@CFrameWnd@@UAEXPAUHMENU__@@@Z ;	CFrameWnd::DelayUpdateFrameMenu(HMENU__	*)
dd offset ?ExitHelpMode@CFrameWnd@@UAEXXZ ; CFrameWnd::ExitHelpMode(void)
dd offset sub_1029206
; const	WCHAR a2d
a2d:
unicode	0, <%2d>,0
; const	WCHAR a_
a@:
unicode	0, <@>,0
a72:
unicode	0, <72>,0
align 4
a48:
unicode	0, <48>,0
align 10h
a36:
unicode	0, <36>,0
align 4
a28:
unicode	0, <28>,0
align 10h
a26:
unicode	0, <26>,0
align 4
a24:
unicode	0, <24>,0
align 10h
a22:
unicode	0, <22>,0
align 4
a20:
unicode	0, <20>,0
align 10h
a18:
unicode	0, <18>,0
align 4
a16:
unicode	0, <16>,0
align 10h
a14:
unicode	0, <14>,0
align 4
a12:
unicode	0, <12>,0
align 10h
a11:
unicode	0, <11>,0
align 4
a10:
unicode	0, <10>,0
align 10h
a9:
unicode	0, < 9>,0
align 4
a8:
unicode	0, < 8>,0
align 10h
off_1006430 dd offset aCthumbnailview ;	"CThumbNailView"
dd 44h,	0FFFFh,	0
dd offset loc_102B0BB
align 8
off_1006448 dd offset aCfloatthumbnai ;	"CFloatThumbNailView"
dd 0DCh, 0FFFFh, 0
dd offset loc_101C8A4
align 10h
off_1006460 dd offset aCfullscreenthu ;	"CFullScreenThumbNailView"
align 8
dd 0FFFFh, 0
dd offset loc_101C899
align 8
dword_1006478 dd 0Fh, 3	dup(0)
dd 0Ch,	102BC10h, 100h,	3 dup(0)
dd 10h,	102B328h, 201h,	3 dup(0)
dd 31h,	102B328h, 204h,	3 dup(0)
dd 31h,	102B35Eh, 111h,	0
dd 2 dup(0E159h), 0Ch, 102B447h, 111h, 0FFFFFFFFh
dd 2 dup(0E159h), 2Ch, 102B166h, 10h, 3	dup(0)
dd 0Ch,	102B159h, 6 dup(0)
off_1006538 dd offset loc_102B0E7
dd offset dword_1006478
dword_1006540 dd 10h, 3	dup(0)
dd 0Ch,	102B199h, 5, 3 dup(0)
dd 11h,	102B61Eh, 24h, 3 dup(0)
dd 1Fh,	102B67Fh, 6 dup(0)
off_10065A0 dd offset sub_1028B7F
dd offset dword_1006540
dword_10065A8 dd 201h, 3 dup(0)
dd 31h,	102B9B1h, 100h,	3 dup(0)
dd 10h,	102B9B1h, 204h,	3 dup(0)
dd 31h,	101CAB3h, 14h, 3 dup(0)
dd 1, 102B964h,	10h, 3 dup(0)
dd 0Ch,	102B9C8h, 6 dup(0)
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_8. PRESS KEYPAD CTRL-"+" TO EXPAND]
db 1
dd offset dword_10065A8
aCfullscreenthu	db 'CFullScreenThumbNailView',0
align 4
aCfloatthumbnai	db 'CFloatThumbNailView',0
aCthumbnailview	db 'CThumbNailView',0
align 10h
dd offset dword_1008B94
off_1006684 dd offset loc_102B0C6
dd offset sub_102B1E2
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CCmdTarget::OnCmdMsg(uint,int,void	*,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_102B0F2
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset ?PreCreateWindow@CWnd@@UAEHAAUtagCREATESTRUCTW@@@Z ; CWnd::PreCreateWindow(tagCREATESTRUCTW &)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CWnd@@MAEHIJ@Z ; CWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset sub_10098C9
dd offset sub_10098DA
dd offset ?PreTranslateMessage@CWnd@@UAEHPAUtagMSG@@@Z ; CWnd::PreTranslateMessage(tagMSG *)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CWnd@@MAEXXZ ;	CWnd::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
align 8
dd offset dword_1008BEC
off_100674C dd offset loc_102B0D1
dd offset sub_102B4ED
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CFrameWnd@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CFrameWnd::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_102B17E
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset ?PreCreateWindow@CFrameWnd@@MAEHAAUtagCREATESTRUCTW@@@Z ; CFrameWnd::PreCreateWindow(tagCREATESTRUCTW	&)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
xor	al, fs:[ebx]
add	[eax+32h], ebx
add	eax, [ecx]
dec	esp
xor	al, [ebx]
add	[ecx], edi
retf
dw 101h
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset ?BeginModalState@CFrameWnd@@UAEXXZ ; CFrameWnd::BeginModalState(void)
dd offset ?EndModalState@CFrameWnd@@UAEXXZ ; CFrameWnd::EndModalState(void)
dd offset ?PreTranslateMessage@CFrameWnd@@UAEHPAUtagMSG@@@Z ; CFrameWnd::PreTranslateMessage(tagMSG *)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset byte_102B1AD
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CFrameWnd@@UBEHXZ	; CFrameWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
dd offset ?LoadFrame@CFrameWnd@@UAEHIKPAVCWnd@@PAUCCreateContext@@@Z ; CFrameWnd::LoadFrame(uint,ulong,CWnd *,CCreateContext *)
dd offset ?GetActiveDocument@CFrameWnd@@UAEPAVCDocument@@XZ ; CFrameWnd::GetActiveDocument(void)
dd offset ?GetActiveFrame@CFrameWnd@@UAEPAV1@XZ	; CFrameWnd::GetActiveFrame(void)
dd offset ?GetMessageString@CFrameWnd@@UBEXIAAVCString@@@Z ; CFrameWnd::GetMessageString(uint,CString &)
dd offset ?RecalcLayout@CFrameWnd@@UAEXH@Z ; CFrameWnd::RecalcLayout(int)
dd offset ?ActivateFrame@CFrameWnd@@UAEXH@Z ; CFrameWnd::ActivateFrame(int)
dd offset ?OnSetPreviewMode@CFrameWnd@@UAEXHPAUCPrintPreviewState@@@Z ;	CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)
dd offset ?GetMessageBar@CFrameWnd@@UAEPAVCWnd@@XZ ; CFrameWnd::GetMessageBar(void)
dd offset ?NegotiateBorderSpace@CFrameWnd@@UAEHIPAUtagRECT@@@Z ; CFrameWnd::NegotiateBorderSpace(uint,tagRECT *)
dd offset ?OnCreateClient@CFrameWnd@@MAEHPAUtagCREATESTRUCTW@@PAUCCreateContext@@@Z ; CFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)
dd offset ?OnUpdateFrameTitle@CFrameWnd@@UAEXH@Z ; CFrameWnd::OnUpdateFrameTitle(int)
dd offset ?OnUpdateFrameMenu@CFrameWnd@@UAEXPAUHMENU__@@@Z ; CFrameWnd::OnUpdateFrameMenu(HMENU__ *)
dd offset ?GetDefaultAccelerator@CFrameWnd@@UAEPAUHACCEL__@@XZ ; CFrameWnd::GetDefaultAccelerator(void)
dd offset ?DelayUpdateFrameMenu@CFrameWnd@@UAEXPAUHMENU__@@@Z ;	CFrameWnd::DelayUpdateFrameMenu(HMENU__	*)
dd offset ?ExitHelpMode@CFrameWnd@@UAEXXZ ; CFrameWnd::ExitHelpMode(void)
dd offset sub_101C69F
dd offset sub_102B513
dd offset dword_1008C40
off_1006854 dd offset loc_102B0DC
dd offset sub_102BBEA
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CFrameWnd@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CFrameWnd::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_102B1D7
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset ?PreCreateWindow@CFrameWnd@@MAEHAAUtagCREATESTRUCTW@@@Z ; CFrameWnd::PreCreateWindow(tagCREATESTRUCTW	&)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CFrameWnd@@MAEHIJ@Z ; CFrameWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset ?BeginModalState@CFrameWnd@@UAEXXZ ; CFrameWnd::BeginModalState(void)
dd offset ?EndModalState@CFrameWnd@@UAEXXZ ; CFrameWnd::EndModalState(void)
dd offset ?PreTranslateMessage@CFrameWnd@@UAEHPAUtagMSG@@@Z ; CFrameWnd::PreTranslateMessage(tagMSG *)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CFrameWnd@@MAEXXZ ; CFrameWnd::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CFrameWnd@@UBEHXZ	; CFrameWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
dd offset ?LoadFrame@CFrameWnd@@UAEHIKPAVCWnd@@PAUCCreateContext@@@Z ; CFrameWnd::LoadFrame(uint,ulong,CWnd *,CCreateContext *)
dd offset ?GetActiveDocument@CFrameWnd@@UAEPAVCDocument@@XZ ; CFrameWnd::GetActiveDocument(void)
dd offset ?GetActiveFrame@CFrameWnd@@UAEPAV1@XZ	; CFrameWnd::GetActiveFrame(void)
dd offset ?GetMessageString@CFrameWnd@@UBEXIAAVCString@@@Z ; CFrameWnd::GetMessageString(uint,CString &)
dd offset ?RecalcLayout@CFrameWnd@@UAEXH@Z ; CFrameWnd::RecalcLayout(int)
dd offset ?ActivateFrame@CFrameWnd@@UAEXH@Z ; CFrameWnd::ActivateFrame(int)
dd offset ?OnSetPreviewMode@CFrameWnd@@UAEXHPAUCPrintPreviewState@@@Z ;	CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *)
dd offset ?GetMessageBar@CFrameWnd@@UAEPAVCWnd@@XZ ; CFrameWnd::GetMessageBar(void)
dd offset ?NegotiateBorderSpace@CFrameWnd@@UAEHIPAUtagRECT@@@Z ; CFrameWnd::NegotiateBorderSpace(uint,tagRECT *)
dd offset ?OnCreateClient@CFrameWnd@@MAEHPAUtagCREATESTRUCTW@@PAUCCreateContext@@@Z ; CFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *)
dd offset ?OnUpdateFrameTitle@CFrameWnd@@UAEXH@Z ; CFrameWnd::OnUpdateFrameTitle(int)
dd offset ?OnUpdateFrameMenu@CFrameWnd@@UAEXPAUHMENU__@@@Z ; CFrameWnd::OnUpdateFrameMenu(HMENU__ *)
dd offset ?GetDefaultAccelerator@CFrameWnd@@UAEPAUHACCEL__@@XZ ; CFrameWnd::GetDefaultAccelerator(void)
dd offset ?DelayUpdateFrameMenu@CFrameWnd@@UAEXPAUHMENU__@@@Z ;	CFrameWnd::DelayUpdateFrameMenu(HMENU__	*)
dd offset ?ExitHelpMode@CFrameWnd@@UAEXXZ ; CFrameWnd::ExitHelpMode(void)
dd offset sub_102B7A9
align 8
off_1006958 dd offset aCtoolboxwnd ; "CToolboxWnd"
dd 128h, 0FFFFh, 0
dd offset loc_102BC7E
align 10h
dword_1006970 dd 15h, 3	dup(0)
dd 0Ch,	102D168h, 14h, 3 dup(0)
dd 1, 102C0AEh,	201h, 3	dup(0)
dd 31h,	102D733h, 203h,	3 dup(0)
dd 31h,	102D7AAh, 204h,	3 dup(0)
dd 31h,	102D186h, 0Fh, 3 dup(0)
dd 0Ch,	102D1A2h, 100h,	3 dup(0)
dd 10h,	102C861h, 101h,	3 dup(0)
dd 10h,	101CAB3h, 102h,	3 dup(0)
dd 10h,	101CAB3h
dword_1006A48 dd 84h, 3	dup(0)
dd 22h,	102BF55h, 6 dup(0)
off_1006A78 dd offset sub_102BD4D
dd offset dword_1006970
dword_1006A80 dd 2 dup(1Ah), 15h, 3 dup(0)
dd 0Ch,	102C758h, 0Fh, 3 dup(0)
dd 0Ch,	102CFFEh, 201h,	3 dup(0)
dd 31h,	102D50Ah, 204h,	3 dup(0)
dd 31h,	102CA12h, 203h,	3 dup(0)
dd 31h,	102D633h, 200h,	3 dup(0)
dd 31h,	102CA80h, 202h,	3 dup(0)
dd 31h,	102CC60h, 10h, 3 dup(0)
dd 0Ch,	100F7D9h, 2, 3 dup(0)
dd 0Ch,	102BEA4h, 1Ah, 3 dup(0)
dd 1Fh,	102C833h, 100h,	3 dup(0)
dd 10h,	102C861h, 410h,	3 dup(0)
dd 0Ah,	102D0AFh, 411h,	3 dup(0)
dd 0Ah,	102D0FBh, 31Ah,	3 dup(0)
dd 0Ah,	102D06Ch, 6 dup(0)
off_1006BF0 dd offset loc_102BD42
dd offset dword_1006A80+8
aCtoolboxwnd db	'CToolboxWnd',0
align 8
stru_1006C08 _SCOPETABLE_ENTRY <0FFFFFFFFh, \ ;	SEH scope table	for function 102BC9F
		   offset loc_102BCC1, \
		   offset loc_102BCC5>
dd offset dword_1008C88
off_1006C18 dd offset loc_10330D8
dd offset sub_10186A7
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
align 10h
dd offset dword_1008CC4
off_1006C34 dd offset loc_102BC89
dd offset sub_102D3EF
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CCmdTarget::OnCmdMsg(uint,int,void	*,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset sub_102BD4D
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CControlBar@@UAEHXZ ; CControlBar::DestroyWindow(void)
dd offset ?PreCreateWindow@CControlBar@@UAEHAAUtagCREATESTRUCTW@@@Z ; CControlBar::PreCreateWindow(tagCREATESTRUCTW &)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset sub_102CD59
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset sub_10098C9
dd offset sub_10098DA
dd offset ?PreTranslateMessage@CControlBar@@UAEHPAUtagMSG@@@Z ;	CControlBar::PreTranslateMessage(tagMSG	*)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CControlBar@@UAEJIIJ@Z ; CControlBar::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CControlBar@@UAEXXZ ; CControlBar::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
dd offset ?CalcFixedLayout@CControlBar@@UAE?AVCSize@@HH@Z ; CControlBar::CalcFixedLayout(int,int)
dd offset ?CalcDynamicLayout@CControlBar@@UAE?AVCSize@@HK@Z ; CControlBar::CalcDynamicLayout(int,ulong)
dd offset _purecall
dd offset ?DelayShow@CControlBar@@UAEXH@Z ; CControlBar::DelayShow(int)
xor	byte ptr [ecx],	3
add	[ecx+esi+3], esi
add	[eax+31h], ebp
add	eax, [ecx]
les	edi, [eax]
add	eax, [ecx]
xor	byte ptr [ebx+eax], 1
aaa
retf	102h
dd offset sub_102D415
dd offset sub_102C9E5
; const	WCHAR pszClassList
pszClassList:
unicode	0, <toolbar>,0
off_1006D34 dd offset aCcurvetool ; "CCurveTool"
dd 6Ch,	0FFFFh,	0
dd offset loc_102DE37
dd 0
aCcurvetool db 'CCurveTool',0
align 4
dd offset dword_1008D14
off_1006D5C dd offset loc_102DE42
dd offset sub_102E34A
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset sub_102DEBC
dd offset sub_102E0D7
dd offset nullsub_1
dd offset nullsub_1
dd offset sub_102E185
dd offset sub_102E1E8
dd offset sub_102E296
dd offset sub_1015316
dd offset nullsub_1
dd offset sub_102DF52
dd offset sub_102E0F9
dd offset nullsub_1
dd offset sub_101623B
dd offset sub_101635C
dd offset nullsub_2
dd offset sub_102DF75
retf
db 0E2h, 2, 1
dd offset sub_101538B
dd offset sub_101547B
dd offset sub_10153A8
dd offset sub_10153BA
dd offset sub_102DEDB
off_1006DC8 dd offset aCfreehandselec ;	"CFreehandSelectTool"
align 10h
dd 0FFFFh, 0
dd offset loc_102E370
align 10h
aCfreehandselec	db 'CFreehandSelectTool',0
align 8
dd offset dword_1008D84
off_1006DFC dd offset loc_102E37B
dd offset sub_102E682
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset sub_102E453
dd offset sub_102E463
dd offset sub_102EB21
dd offset sub_102EB2D
dd offset sub_102E49D
dd offset sub_102E967
dd offset sub_102E4E4
dd offset sub_1015316
dd offset nullsub_1
dd offset sub_102E5A3
dd offset sub_102E630
dd offset nullsub_1
dd offset sub_102E473
dd offset sub_102E488
dd offset sub_102EB75
dd offset sub_102E645
dd offset sub_102F1C0
dd offset sub_1015C62
dd offset sub_102E3DF
dd offset sub_10153A8
dd offset sub_10153BA
retf
db 0EAh, 2, 1
dd offset sub_102EE07
dd offset sub_102EE49
off_1006E70 dd offset aCpolygontool ; "CPolygonTool"
dd 84h,	0FFFFh,	0
dd offset loc_102EA28
align 8
aCpolygontool db 'CPolygonTool',0
align 4
dd offset dword_1008DC0
off_1006E9C dd offset loc_102E370
dd offset sub_102F291
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset sub_102EAB6
dd offset sub_102EE91
dd offset sub_102EB21
dd offset sub_102EB2D
dd offset sub_102EF69
dd offset sub_102F055
dd offset sub_102F113
dd offset sub_1015316
dd offset nullsub_1
dd offset sub_102EB41
dd offset sub_102EEC7
dd offset nullsub_1
dd offset sub_10163B3
dd offset sub_1016553
dd offset sub_102EB75
dd offset sub_102F16F
dd offset sub_102F1C0
dd offset sub_101538B
dd offset sub_102EA33
dd offset sub_10153A8
dd offset sub_10153BA
retf
db 0EAh, 2, 1
dd offset sub_102EE07
dd offset sub_102EE49
off_1006F10 dd offset aCtexttool ; "CTextTool"
dd 3Ch,	0FFFFh,	0
dd offset loc_102F2B7
align 8
aCtexttool db 'CTextTool',0
align 8
dd offset dword_1008E10
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_9. PRESS KEYPAD CTRL-"+" TO EXPAND]
db 1
dd offset sub_10186A7
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset nullsub_2
dd offset sub_10150F8
dd offset nullsub_1
dd offset nullsub_1
dd offset sub_102F2FB
dd offset sub_102F6FC
dd offset sub_102F76E
dd offset sub_1015316
dd offset nullsub_1
dd offset sub_102F6B6
dd offset sub_102F5E8
dd offset sub_1017820
dd offset sub_10175A1
dd offset sub_102F325
dd offset byte_102F2CD
dd offset sub_101536F
dd offset sub_101537F
dd offset sub_1015C62
dd offset sub_101547B
dd offset sub_10153A8
dd offset sub_1017B71
dd offset sub_102F388
off_1006FA8 dd offset aCundobmobj ; "CUndoBmObj"
dd 9Ch,	0FFFFh,	0
dd offset loc_100A37A
align 10h
aCundobmobj db 'CUndoBmObj',0
align 4
dd offset dword_1008E74
off_1006FD0 dd offset loc_1034AF4
dd offset sub_1030056
dd offset ?Serialize@CByteArray@@UAEXAAVCArchive@@@Z ; CByteArray::Serialize(CArchive &)
dd offset nullsub_3
dd offset nullsub_2
dd offset dword_1008EC0
off_1006FE8 dd offset loc_102F880
dd offset sub_102FE46
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
align 10h
dword_1007000 dd 0D8FFh
dword_1007004 dd 0DAFFh
dword_1007008 dd 0EDFFh, 1004550h, 100454Ch, 1004548h
dd 1004540h, 1004528h, 1004514h, 1004504h
; const	WCHAR aSoftwareMicr_0
aSoftwareMicr_0:
unicode	0, <SOFTWARE\Microsoft\Shared T>
unicode	0, <ools\Graphics Filters\Impor>
unicode	0, <t>,0
aSoftwareMicr_1:
unicode	0, <SOFTWARE\Microsoft\Shared T>
unicode	0, <ools\Graphics Filters\Expor>
unicode	0, <t>,0
; const	WCHAR aName
aName:
unicode	0, <Name>,0
align 4
; const	WCHAR aPath
aPath:
unicode	0, <Path>,0
align 10h
; const	WCHAR aExtensions
aExtensions:
unicode	0, <Extensions>,0
align 4
; const	WCHAR aImageApiEnable
aImageApiEnable:
unicode	0, <Image API Enabled Filters>,0
align 10h
stru_1007170 _SCOPETABLE_ENTRY <0FFFFFFFFh, \ ;	SEH scope table	for function 1030248
		   offset loc_103026C, \
		   offset loc_1030270>
dd offset dword_1008F20
off_1007180 dd offset sub_10308BC
dd offset sub_103090F
dd offset dword_1008F6C
off_100718C dd offset sub_10308EA
dd offset sub_103090F
align 8
stru_1007198 _SCOPETABLE_ENTRY <0FFFFFFFFh, \ ;	SEH scope table	for function 1030511
		   offset loc_103057F, \
		   offset loc_1030583>
align 8
stru_10071A8 _SCOPETABLE_ENTRY <0FFFFFFFFh, \ ;	SEH scope table	for function 10305AD
		   offset loc_103061B, \
		   offset loc_103061F>
align 8
stru_10071B8 _SCOPETABLE_ENTRY <0FFFFFFFFh, \ ;	SEH scope table	for function 10307FD
		   offset loc_1030845, \
		   offset loc_1030849>
dword_10071C4 dd 0D8FFh

loc_10071C8:
jmp	eax
align 4
dd offset aS		; "S"
dd offset aD		; "D"
dd offset aB		; "B"
dd offset aVal		; "Val"
dd offset aForceremove	; "ForceRemove"
dd offset aNoremove	; "NoRemove"
dd offset aDelete	; "Delete"
stru_10071E8 _SCOPETABLE_ENTRY <0FFFFFFFFh, \ ;	SEH scope table	for function 1030C7C
		   offset loc_1030CB1, \
		   offset loc_1030CB5>
dd offset aS		; "S"
dd offset aD		; "D"
dd offset aB		; "B"
dd offset aVal		; "Val"
dd offset aForceremove	; "ForceRemove"
dd offset aNoremove	; "NoRemove"
dd offset aDelete	; "Delete"
dd offset dword_1008FEC
off_1007214 dd offset sub_1030DFB
dd offset sub_103163D
dd offset sub_1031109
dd offset sub_1030E7D
dd offset sub_1030F6D
dd offset sub_1031062
dd offset sub_10310BC
dd offset sub_10310D5
dd offset sub_10310FC
dd offset sub_10310E2
dd offset sub_10310D5
dd offset sub_10310D5
dd offset sub_10310EF
dd offset sub_10310FC
dd offset aS		; "S"
dd offset aD		; "D"
dd offset aB		; "B"
dd offset aVal		; "Val"
dd offset aForceremove	; "ForceRemove"
dd offset aNoremove	; "NoRemove"
dd offset aDelete	; "Delete"
dd offset dword_1009030
off_100726C dd offset _purecall
dd offset _purecall
dd offset _purecall
dd offset _purecall
dd offset _purecall
dd offset _purecall
dd offset dword_1009094
off_1007288 dd offset sub_10312F0
dd offset sub_103163D
dd offset sub_1031D9F
dd offset sub_10320B4
dd offset dword_10090F8
off_100729C dd offset sub_10315E2
dd offset sub_103163D
dd offset sub_1031658
dd offset sub_1031EC8
dd offset sub_1031F1B
dd offset sub_10316A2
dd offset sub_103168C
dd offset sub_101EBFE
dd offset sub_1031F37
dd offset sub_1031F5D
dd offset sub_10316A2
dd offset sub_1031EA2
; IID stru_10072CC
stru_10072CC dd	5EB2502Ah	     ; Data1
dw 8CF1h		; Data2
dw 11D1h		; Data3
db 0BFh, 92h, 0, 60h, 8, 1Eh, 0D8h, 11h; Data4
dword_10072DC dd 98B5E8A0h, 491A29CCh, 0DBE6C0AAh, 0B6CEDC4Fh
dd 0
dd offset dword_1009148
off_10072F4 dd offset loc_1034B9C
dd offset sub_1031786
dd offset nullsub_2
dd offset nullsub_3
dd offset nullsub_2
dd offset ?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CCmdTarget::OnCmdMsg(uint,int,void	*,AFX_CMDHANDLERINFO *)
dd offset ?OnFinalRelease@CWnd@@UAEXXZ ; CWnd::OnFinalRelease(void)
dd offset ?IsInvokeAllowed@CCmdTarget@@UAEHJ@Z ; CCmdTarget::IsInvokeAllowed(long)
dd offset ?GetDispatchIID@CCmdTarget@@UAEHPAU_GUID@@@Z ; CCmdTarget::GetDispatchIID(_GUID *)
dd offset ?GetTypeInfoCount@CCmdTarget@@UAEIXZ ; CCmdTarget::GetTypeInfoCount(void)
dd offset ?GetTypeLibCache@CCmdTarget@@UAEPAVCTypeLibCache@@XZ ; CCmdTarget::GetTypeLibCache(void)
dd offset ?GetTypeLib@CCmdTarget@@UAEJKPAPAUITypeLib@@@Z ; CCmdTarget::GetTypeLib(ulong,ITypeLib * *)
dd offset ?GetMessageMap@CWnd@@MBEPBUAFX_MSGMAP@@XZ ; CWnd::GetMessageMap(void)
dd offset ?GetCommandMap@CCmdTarget@@MBEPBUAFX_OLECMDMAP@@XZ ; CCmdTarget::GetCommandMap(void)
dd offset ?GetDispatchMap@CCmdTarget@@MBEPBUAFX_DISPMAP@@XZ ; CCmdTarget::GetDispatchMap(void)
dd offset ?GetConnectionMap@CCmdTarget@@MBEPBUAFX_CONNECTIONMAP@@XZ ; CCmdTarget::GetConnectionMap(void)
dd offset ?GetInterfaceMap@CCmdTarget@@MBEPBUAFX_INTERFACEMAP@@XZ ; CCmdTarget::GetInterfaceMap(void)
dd offset ?GetEventSinkMap@CCmdTarget@@MBEPBUAFX_EVENTSINKMAP@@XZ ; CCmdTarget::GetEventSinkMap(void)
dd offset ?OnCreateAggregates@CCmdTarget@@UAEHXZ ; CCmdTarget::OnCreateAggregates(void)
dd offset ?GetInterfaceHook@CCmdTarget@@UAEPAUIUnknown@@PBX@Z ;	CCmdTarget::GetInterfaceHook(void const	*)
dd offset ?GetExtraConnectionPoints@CCmdTarget@@MAEHPAVCPtrArray@@@Z ; CCmdTarget::GetExtraConnectionPoints(CPtrArray *)
dd offset ?GetConnectionHook@CCmdTarget@@MAEPAUIConnectionPoint@@ABU_GUID@@@Z ;	CCmdTarget::GetConnectionHook(_GUID const &)
dd offset ?PreSubclassWindow@CWnd@@UAEXXZ ; CWnd::PreSubclassWindow(void)
dd offset ?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *)
dd offset ?DestroyWindow@CWnd@@UAEHXZ ;	CWnd::DestroyWindow(void)
dd offset ?PreCreateWindow@CWnd@@UAEHAAUtagCREATESTRUCTW@@@Z ; CWnd::PreCreateWindow(tagCREATESTRUCTW &)
dd offset ?CalcWindowRect@CWnd@@UAEXPAUtagRECT@@I@Z ; CWnd::CalcWindowRect(tagRECT *,uint)
dd offset ?OnToolHitTest@CWnd@@UBEHVCPoint@@PAUtagTOOLINFOW@@@Z	; CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *)
dd offset ?GetScrollBarCtrl@CWnd@@UBEPAVCScrollBar@@H@Z	; CWnd::GetScrollBarCtrl(int)
dd offset ?WinHelpW@CWnd@@UAEXKI@Z ; CWnd::WinHelpW(ulong,uint)
dd offset ?ContinueModal@CWnd@@UAEHXZ ;	CWnd::ContinueModal(void)
dd offset ?EndModalLoop@CWnd@@UAEXH@Z ;	CWnd::EndModalLoop(int)
dd offset ?OnCommand@CWnd@@MAEHIJ@Z ; CWnd::OnCommand(uint,long)
dd offset ?OnNotify@CWnd@@MAEHIJPAJ@Z ;	CWnd::OnNotify(uint,long,long *)
dd offset ?GetSuperWndProcAddr@CWnd@@MAEPAP6GJPAUHWND__@@IIJ@ZXZ ; CWnd::GetSuperWndProcAddr(void)
dd offset nullsub_2
dd offset sub_10098C9
dd offset sub_10098DA
dd offset ?PreTranslateMessage@CWnd@@UAEHPAUtagMSG@@@Z ; CWnd::PreTranslateMessage(tagMSG *)
dd offset ?OnAmbientProperty@CWnd@@UAEHPAVCOleControlSite@@JPAUtagVARIANT@@@Z ;	CWnd::OnAmbientProperty(COleControlSite	*,long,tagVARIANT *)
dd offset ?WindowProc@CWnd@@MAEJIIJ@Z ;	CWnd::WindowProc(uint,uint,long)
dd offset ?OnWndMsg@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnWndMsg(uint,uint,long,long *)
dd offset ?DefWindowProcW@CWnd@@MAEJIIJ@Z ; CWnd::DefWindowProcW(uint,uint,long)
dd offset ?PostNcDestroy@CWnd@@MAEXXZ ;	CWnd::PostNcDestroy(void)
dd offset ?OnChildNotify@CWnd@@MAEHIIJPAJ@Z ; CWnd::OnChildNotify(uint,uint,long,long *)
dd offset ?CheckAutoCenter@CWnd@@UAEHXZ	; CWnd::CheckAutoCenter(void)
dd offset ?IsFrameWnd@CWnd@@UBEHXZ ; CWnd::IsFrameWnd(void)
dd offset ?SetOccDialogInfo@CWnd@@MAEHPAU_AFX_OCC_DIALOG_INFO@@@Z ; CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*)
dd 2 dup(0)
dd 3FE00000h, 10091ACh,	103127Bh, 103163Dh
dd 1032916h, 1031D59h, 10091F4h, 1032261h
dd 1031862h, 10322CAh, 1031260h, 1031B4Dh
dd 1032253h
dbl_10073F0 dq 0.01
dbl_10073F8 dq 4.294967296e9
stru_1007400 _SCOPETABLE_ENTRY <0FFFFFFFFh, \ ;	SEH scope table	for function 1034BBF
		   offset loc_1034D70, \
		   offset loc_1034D84>
off_100740C dd offset sub_1034DAE
stru_1007410 _SCOPETABLE_ENTRY <0FFFFFFFFh, 0, \ ; SEH scope table for function	1034E95
		   offset loc_1034EDF>
align 10h
stru_1007420 _SCOPETABLE_ENTRY <0FFFFFFFFh, \ ;	SEH scope table	for function 1034EFC
		   offset loc_1034F2B, \
		   offset loc_1034F4F>
align 10h
stru_1007430 _SCOPETABLE_ENTRY <0FFFFFFFFh, 0, \ ; SEH scope table for function	1034F5F
		   offset loc_1034FA7>
dword_100743C dd 10Ah, 0
dd 0C0h, 46000000h
dword_100744C dd 0Ch, 0
dd 0C0h, 46000000h
dword_100745C dd 2 dup(0)
dd 0C0h, 46000000h
; char dword_100746C[]
dword_100746C dd 74636868h, 6F2E6C72h, 7863h
; char aClsidAdb880a6D[]
aClsidAdb880a6D	db 'CLSID\{ADB880A6-D8FF-11CF-9377-00AA'
db '003B7A11}\InprocServer32',0
; char byte_10074B4[4]
byte_10074B4 db	4 dup(0)
dword_10074B8 dd 0F740718Ah, 4B05E460h,	0D2C5E883h, 0E572C721h
dd 0D1621129h, 41AD45C4h, 7EAFD1A1h, 0DCEEABAFh
dword_10074D8 dd 0A28BBADEh, 11D264B6h,	0C00031A2h, 918A34Fh
dd 143E4E83h, 11D26497h, 0C00031A2h, 918A34Fh
dd 0B96B3CB3h, 11D30728h, 7B9Dh, 2EF31EF8h
dword_1007508 dd 0B96B3CB1h, 11D30728h,	7B9Dh, 2EF31EF8h
dword_1007518 dd 0B96B3CB0h, 11D30728h,	7B9Dh, 2EF31EF8h
dd 0B96B3CAFh, 11D30728h, 7B9Dh, 2EF31EF8h
dd 0B96B3CAEh, 11D30728h, 7B9Dh, 2EF31EF8h
dd 0B96B3CADh, 11D30728h, 7B9Dh, 2EF31EF8h
dd 0B96B3CACh, 11D30728h, 7B9Dh, 2EF31EF8h
dd 0B96B3CABh, 11D30728h, 7B9Dh, 2EF31EF8h
dd 0B96B3CAAh, 11D30728h, 7B9Dh, 2EF31EF8h
dword_1007588 dd 0B96B3CA9h, 11D30728h,	7B9Dh, 2EF31EF8h
; IID rclsid
rclsid dd 0A1F4E726h	       ; Data1
dw 8CF1h		; Data2
dw 11D1h		; Data3
db 0BFh, 92h, 0, 60h, 8, 1Eh, 0D8h, 11h; Data4
; IID riid
riid dd	0A6CEF998h	     ; Data1
dw 0A5B0h		; Data2
dw 11D2h		; Data3
db 0A0h, 8Fh, 0, 0C0h, 4Fh, 72h, 0DCh, 3Ch; Data4
; IID stru_10075B8
stru_10075B8 dd	0A558A866h	     ; Data1
dw 0A5B0h		; Data2
dw 11D2h		; Data3
db 0A0h, 8Fh, 0, 0C0h, 4Fh, 72h, 0DCh, 3Ch; Data4
dword_10075C8 dd 0AE6287B0h, 11D20084h,	0A0003B97h, 2E8F06C9h
dd 2 dup(0)
aGdiplus_dll db	'gdiplus.dll',0
align 10h
aUxtheme_dll db	'UxTheme.dll',0
align 10h
__load_config_used dd 48h ; Size
dd 0			; Time stamp
dw 2 dup(0)		; Version: 0.0
dd 0			; GlobalFlagsClear
dd 0			; GlobalFlagsSet
dd 0			; CriticalSectionDefaultTimeout
dd 0			; DeCommitFreeBlockThreshold
dd 0			; DeCommitTotalFreeThreshold
dd 0			; LockPrefixTable
dd 0			; MaximumAllocationSize
dd 0			; VirtualMemoryThreshold
dd 0			; ProcessAffinityMask
dd 0			; ProcessHeapFlags
dw 0			; CSDVersion
dw 0			; Reserved1
dd 0			; EditList
dd offset ___security_cookie ; SecurityCookie
dd offset ___safe_se_handler_table ; SEHandlerTable
dd 0CEh			; SEHandlerCount
; Debug	information
asc_1007648 db 'RSDS'   ; CV signature
dd 0A2B17248h, 41E0F92Ah, 0A911EDA9h, 0A0ED24F1h
dd 1			; Age
db 'mspaint.pdb',0      ; PdbFileName
off_100766C dd offset off_103D0BC
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_100766C
dword_1007688 dd 3 dup(0)
dd 1, 1007684h
dword_100769C dd 3 dup(0)
dd offset off_103D0BC
dd offset dword_1007688+4
off_10076B0 dd offset off_103D0D4
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10076B0
dd offset off_100766C
dword_10076D0 dd 3 dup(0)
dd 2, 10076C8h
dword_10076E4 dd 3 dup(0)
dd offset off_103D0D4
dd offset dword_10076D0+4
off_10076F8 dd offset off_103D0F0
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10076F8
dd offset off_10076B0
dd offset off_100766C
dword_100771C dd 3 dup(0)
dd 3, 1007710h
dword_1007730 dd 3 dup(0)
dd offset off_103D0F0
dd offset dword_100771C+4
off_1007744 dd offset off_103D108
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007744
dd offset off_10076B0
dd offset off_100766C
dword_1007768 dd 3 dup(0)
dd 3, 100775Ch
dword_100777C dd 3 dup(0)
dd offset off_103D108
dd offset dword_1007768+4
off_1007790 dd offset off_103D11C
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
off_10077A8 dd offset off_103D138
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
off_10077C0 dd offset off_103D14C
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
off_10077D8 dd offset off_103D168
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
off_10077F0 dd offset off_103D184
db 5, 4	dup(0)
align 4
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10077F0
dd offset off_10077D8
dd offset off_10077C0
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_1007820 dd 3 dup(0)
dd 6, 1007808h
dword_1007834 dd 3 dup(0)
dd offset off_103D184
dd offset dword_1007820+4
off_1007848 dd offset off_103D1CC
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
off_1007860 dd offset off_103D1E8
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007860
dd offset off_1007848
dd offset off_100766C
dd 0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
dd 3, 1007878h
dword_1007898 dd 3 dup(0)
dd offset off_103D1E8
dd offset unk_1007888
off_10078AC dd offset off_103D208
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10078AC
dd offset off_10076B0
dd offset off_100766C
dword_10078D0 dd 3 dup(0)
dd 3, 10078C4h
dword_10078E4 dd 3 dup(0)
dd offset off_103D208
dd offset dword_10078D0+4
off_10078F8 dd offset off_103D220
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10078F8
dd offset off_100766C
dword_1007918 dd 3 dup(0)
dd 2, 1007910h
dword_100792C dd 3 dup(0)
dd offset off_103D220
dd offset dword_1007918+4
off_1007940 dd offset off_103D380
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007940
dd offset off_100766C
dword_1007960 dd 3 dup(0)
dd 2, 1007958h
dword_1007974 dd 3 dup(0)
dd offset off_103D380
dd offset dword_1007960+4
off_1007988 dd offset off_103D398
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007988
dd offset off_100766C
dword_10079A8 dd 3 dup(0)
dd 2, 10079A0h,	3 dup(0)
dd offset off_103D398
dd offset dword_10079A8+4
off_10079D0 dd offset off_103D580
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
off_10079E8 dd offset off_103D598
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10079E8
dd offset off_10079D0
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_1007A14 dd 3 dup(0)
db 5, 4	dup(0)
db 7Ah,	0, 1
dword_1007A28 dd 3 dup(0)
dd offset off_103D598
dd offset dword_1007A14+4
off_1007A3C dd offset off_103D5B4
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007A3C
dd offset off_10079D0
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_1007A68 dd 3 dup(0)
dd 5, 1007A54h
dword_1007A7C dd 3 dup(0)
dd offset off_103D5B4
dd offset dword_1007A68+4
off_1007A90 dd offset off_103D5D0
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007A90
dd offset off_10079D0
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_1007ABC dd 3 dup(0)
dd 5, 1007AA8h
dword_1007AD0 dd 3 dup(0)
dd offset off_103D5D0
dd offset dword_1007ABC+4
off_1007AE4 dd offset off_103D5F0
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007AE4
dd offset off_10079D0
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_1007B10 dd 3 dup(0)
dd 5, 1007AFCh
dword_1007B24 dd 3 dup(0)
dd offset off_103D5F0
dd offset dword_1007B10+4
off_1007B38 dd offset off_103D610
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007B38
dd offset off_10076F8
dd offset off_10076B0
dd offset off_100766C
dword_1007B60 dd 3 dup(0)
dd 4, 1007B50h,	3 dup(0)
dd offset off_103D610
dd offset dword_1007B60+4
off_1007B88 dd offset off_103D62C
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007B88
dd offset off_100766C
dword_1007BA8 dd 3 dup(0)
dd 2, 1007BA0h
dword_1007BBC dd 3 dup(0)
dd offset off_103D62C
dd offset dword_1007BA8+4
off_1007BD0 dd offset off_103D644
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007BD0
dd offset off_10077C0
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_1007BFC dd 3 dup(0)
dd 5, 1007BE8h
dword_1007C10 dd 3 dup(0)
dd offset off_103D644
dd offset dword_1007BFC+4
off_1007C24 dd offset off_103D660
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007C24
dd offset off_10076B0
dd offset off_100766C
dword_1007C48 dd 3 dup(0)
dd 3, 1007C3Ch
dword_1007C5C dd 3 dup(0)
dd offset off_103D660
dd offset dword_1007C48+4
off_1007C70 dd offset off_103D754
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007C70
dd offset off_100766C
dword_1007C90 dd 3 dup(0)
dd 2, 1007C88h
dword_1007CA4 dd 3 dup(0)
dd offset off_103D754
dd offset dword_1007C90+4
off_1007CB8 dd offset off_103D76C
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007CB8
dd offset off_1007C70
dd offset off_100766C
dword_1007CDC dd 3 dup(0)
dd 3, 1007CD0h
dword_1007CF0 dd 3 dup(0)
dd offset off_103D76C
dd offset dword_1007CDC+4
off_1007D04 dd offset off_103D788
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007D04
dd offset off_1007C70
dd offset off_100766C
dword_1007D28 dd 3 dup(0)
dd 3, 1007D1Ch
dword_1007D3C dd 3 dup(0)
dd offset off_103D788
dd offset dword_1007D28+4
off_1007D50 dd offset off_103D7A4
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007D50
dd offset off_1007D04
dd offset off_1007C70
dd offset off_100766C
dword_1007D78 dd 3 dup(0)
dd 4, 1007D68h
dword_1007D8C dd 3 dup(0)
dd offset off_103D7A4
dd offset dword_1007D78+4
off_1007DA0 dd offset off_103D7C0
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007DA0
dd offset off_1007D04
dd offset off_1007C70
dd offset off_100766C
dword_1007DC8 dd 3 dup(0)
dd 4, 1007DB8h
dword_1007DDC dd 3 dup(0)
dd offset off_103D7C0
dd offset dword_1007DC8+4
off_1007DF0 dd offset off_103D7DC
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007DF0
dd offset off_1007D04
dd offset off_1007C70
dd offset off_100766C
dword_1007E18 dd 3 dup(0)
dd 4, 1007E08h
dword_1007E2C dd 3 dup(0)
dd offset off_103D7DC
dd offset dword_1007E18+4
off_1007E40 dd offset off_103D7F8
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007E40
dd offset off_1007D04
dd offset off_1007C70
dd offset off_100766C
dword_1007E68 dd 3 dup(0)
dd 4, 1007E58h
dword_1007E7C dd 3 dup(0)
dd offset off_103D7F8
dd offset dword_1007E68+4
off_1007E90 dd offset off_103D814
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007E90
dd offset off_1007D04
dd offset off_1007C70
dd offset off_100766C
dword_1007EB8 dd 3 dup(0)
dd 4, 1007EA8h
dword_1007ECC dd 3 dup(0)
dd offset off_103D814
dd offset dword_1007EB8+4
off_1007EE0 dd offset off_103D830
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007EE0
dd offset off_1007C70
dd offset off_100766C
dd 0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
dd 3, 1007EF8h
dword_1007F18 dd 3 dup(0)
dd offset off_103D830
dd offset unk_1007F08
off_1007F2C dd offset off_103D850
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007F2C
dd offset off_1007C70
dd offset off_100766C
dword_1007F50 dd 3 dup(0)
dd 3, 1007F44h
dword_1007F64 dd 3 dup(0)
dd offset off_103D850
dd offset dword_1007F50+4
off_1007F78 dd offset off_103D86C
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007F78
dd offset off_1007C70
dd offset off_100766C
dword_1007F9C dd 3 dup(0)
dd 3, 1007F90h
dword_1007FB0 dd 3 dup(0)
dd offset off_103D86C
dd offset dword_1007F9C+4
off_1007FC4 dd offset off_103D888
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1007FC4
dd offset off_1007C70
dd offset off_100766C
dword_1007FE8 dd 3 dup(0)
dd 3, 1007FDCh
dword_1007FFC dd 3 dup(0)
dd offset off_103D888
dd offset dword_1007FE8+4
off_1008010 dd offset off_103D8A0
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008010
dd offset off_1007CB8
dd offset off_1007C70
dd offset off_100766C
dword_1008038 dd 3 dup(0)
dd 4, 1008028h
dword_100804C dd 3 dup(0)
dd offset off_103D8A0
dd offset dword_1008038+4
off_1008060 dd offset off_103D8B8
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008060
dd offset off_1007CB8
dd offset off_1007C70
dd offset off_100766C
dword_1008088 dd 3 dup(0)
dd 4, 1008078h,	3 dup(0)
dd offset off_103D8B8
dd offset dword_1008088+4
off_10080B0 dd offset off_103D8D8
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10080B0
dd offset off_1008060
dd offset off_1007CB8
dd offset off_1007C70
dd offset off_100766C
dword_10080DC dd 3 dup(0)
dd 5, 10080C8h,	3 dup(0)
dd offset off_103D8D8
dd offset dword_10080DC+4
off_1008104 dd offset off_103D8F0
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008104
dd offset off_1008060
dd offset off_1007CB8
dd offset off_1007C70
dd offset off_100766C
dword_1008130 dd 3 dup(0)
dd 5, 100811Ch,	3 dup(0)
dd offset off_103D8F0
dd offset dword_1008130+4
off_1008158 dd offset off_103D910
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008158
dd offset off_1008060
dd offset off_1007CB8
dd offset off_1007C70
dd offset off_100766C
dd 0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
dd 5, 1008170h,	3 dup(0)
dd offset off_103D910
dd offset unk_1008188
off_10081AC dd offset off_103D92C
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10081AC
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dd 0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
dd 4, 10081C4h
dword_10081E8 dd 3 dup(0)
dd offset off_103D92C
dd offset unk_10081D8
off_10081FC dd offset off_103D944
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10081FC
dd offset off_100766C
dword_100821C dd 3 dup(0)
dd 2, 1008214h
dword_1008230 dd 3 dup(0)
dd offset off_103D944
dd offset dword_100821C+4
off_1008244 dd offset off_103D958
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
off_100825C dd offset off_103D970
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
off_1008274 dd offset off_103D990
align 10h
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008274
dd offset off_100825C
dd offset off_1008244
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dd 0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
dd 6, 100828Ch
dword_10082B8 dd 3 dup(0)
dd offset off_103D990
dd offset unk_10082A8
off_10082CC dd offset off_103D9AC
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
off_10082E4 dd offset off_103D9C8
align 10h
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10082E4
dd offset off_10082CC
dd offset off_10077C0
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dd 0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
dd 6, 10082FCh
dword_1008328 dd 3 dup(0)
dd offset off_103D9C8
dd offset unk_1008318
off_100833C dd offset off_103D9E4
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_100833C
dd offset off_1008244
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_1008368 dd 3 dup(0)
dd 5, 1008354h
dword_100837C dd 3 dup(0)
dd offset off_103D9E4
dd offset dword_1008368+4
off_1008390 dd offset off_103DA00
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
off_10083A8 dd offset off_103DA18
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
off_10083C0 dd offset off_103DA34
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
off_10083D8 dd offset off_103DA54
db 5, 4	dup(0)
align 4
dd 0FFFFFFFFh, 2 dup(0)
off_10083F0 dd offset off_103DA70
dd 6, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10083F0
dd offset off_10083D8
dd offset off_10083C0
dd offset off_10083A8
dd offset off_1008390
dd offset off_1007790
dd offset off_100766C
dd 0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
dd 7, 1008408h
dword_1008438 dd 3 dup(0)
dd offset off_103DA70
dd offset unk_1008428
off_100844C dd offset off_103DA88
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
off_1008464 dd offset off_103DAA0
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
off_100847C dd offset off_103DAB8
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
off_1008494 dd offset off_103DAD8
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008494
dd offset off_100847C
dd offset off_1008464
dd offset off_100844C
dword_10084BC dd 3 dup(0)
dd 4, 10084ACh
dword_10084D0 dd 3 dup(0)
dd offset off_103DAD8
dd offset dword_10084BC+4
off_10084E4 dd offset off_103DB14
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10084E4
dd offset off_1008244
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_1008510 dd 3 dup(0)
dd 5, 10084FCh
dword_1008524 dd 3 dup(0)
dd offset off_103DB14
dd offset dword_1008510+4
off_1008538 dd offset off_103DC38
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008538
dd offset off_10076B0
dd offset off_100766C
dword_100855C dd 3 dup(0)
dd 3, 1008550h
dword_1008570 dd 3 dup(0)
dd offset off_103DC38
dd offset dword_100855C+4
off_1008584 dd offset off_103DC4C
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
off_100859C dd offset off_103DC68
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
off_10085B4 dd offset off_103DC80
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10085B4
dd offset off_100859C
dd offset off_1008584
dd offset off_1007790
dd offset off_100766C
dword_10085E0 dd 3 dup(0)
dd 5, 10085CCh
dword_10085F4 dd 3 dup(0)
dd offset off_103DC80
dd offset dword_10085E0+4
off_1008608 dd offset off_103DC98
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
off_1008620 dd offset off_103DCAC
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008620
dd offset off_1008608
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_100864C dd 3 dup(0)
dd 5, 1008638h
dword_1008660 dd 3 dup(0)
dd offset off_103DCAC
dd offset dword_100864C+4
off_1008674 dd offset off_103DCC4
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
off_100868C dd offset off_103DCE8
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_100868C
dd offset off_1008674
dd offset off_100844C
dword_10086B0 dd 3 dup(0)
dd 3, 10086A4h
dword_10086C4 dd 3 dup(0)
dd offset off_103DCE8
dd offset dword_10086B0+4
off_10086D8 dd offset off_103DD1C
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
off_10086F0 dd offset off_103DD38
db 5, 4	dup(0)
align 4
dd 0FFFFFFFFh, 2 dup(0)
off_1008708 dd offset off_103DD54
dd 6, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008708
dd offset off_10086F0
dd offset off_10086D8
dd offset off_10079D0
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
align 10h
dd 2 dup(0)
dd 7, 1008720h
dword_1008750 dd 3 dup(0)
dd offset off_103DD54
dd offset dword_1008740
off_1008764 dd offset off_103DD74
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
off_100877C dd offset off_103DD88
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_100877C
dd offset off_1008764
dd offset off_100766C
dword_10087A0 dd 3 dup(0)
dd 3, 1008794h
dword_10087B4 dd 3 dup(0)
dd offset off_103DD88
dd offset dword_10087A0+4
off_10087C8 dd offset off_103DD9C
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10087C8
dd offset off_100766C
dword_10087E8 dd 3 dup(0)
dd 2, 10087E0h
dword_10087FC dd 3 dup(0)
dd offset off_103DD9C
dd offset dword_10087E8+4
off_1008810 dd offset off_103E198
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008810
dd offset off_100766C
dword_1008830 dd 3 dup(0)
dd 2, 1008828h,	3 dup(0)
dd offset off_103E198
dd offset dword_1008830+4
off_1008858 dd offset off_103E1B0
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
off_1008870 dd offset off_103E1C8
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
off_1008888 dd offset off_103E1E8
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008888
dd offset off_1008870
dd offset off_1008858
dd offset off_1007790
dd offset off_100766C
dd 0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
dd 5, 10088A0h
dword_10088C8 dd 3 dup(0)
dd offset off_103E1E8
dd offset unk_10088B8
off_10088DC dd offset off_103E204
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10088DC
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dd 0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
dd 4, 10088F4h
dword_1008918 dd 3 dup(0)
dd offset off_103E204
dd offset unk_1008908
off_100892C dd offset off_103E218
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_100892C
dd offset off_10088DC
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_1008958 dd 3 dup(0)
dd 5, 1008944h
dword_100896C dd 3 dup(0)
dd offset off_103E218
dd offset dword_1008958+4
off_1008980 dd offset off_103E230
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008980
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_10089A8 dd 3 dup(0)
dd 4, 1008998h
dword_10089BC dd 3 dup(0)
dd offset off_103E230
dd offset dword_10089A8+4
off_10089D0 dd offset off_103E25C
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
off_10089E8 dd offset off_103E274
db 5, 4	dup(0)
align 4
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10089E8
dd offset off_10089D0
dd offset off_10077C0
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_1008A18 dd 3 dup(0)
dd 6, 1008A00h
dword_1008A2C dd 3 dup(0)
dd offset off_103E274
dd offset dword_1008A18+4
off_1008A40 dd offset off_103E290
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
off_1008A58 dd offset off_103E2AC
db 5, 4	dup(0)
align 4
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008A58
dd offset off_1008A40
dd offset off_10077C0
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_1008A88 dd 3 dup(0)
dd 6, 1008A70h
dword_1008A9C dd 3 dup(0)
dd offset off_103E2AC
dd offset dword_1008A88+4
off_1008AB0 dd offset off_103E2C4
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008AB0
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_1008AD8 dd 3 dup(0)
dd 4, 1008AC8h
dword_1008AEC dd 3 dup(0)
dd offset off_103E2C4
dd offset dword_1008AD8+4
off_1008B00 dd offset off_103E2DC
db 5, 4	dup(0)
align 4
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008B00
dd offset off_100833C
dd offset off_1008244
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_1008B30 dd 3 dup(0)
dd 6, 1008B18h
dword_1008B44 dd 3 dup(0)
dd offset off_103E2DC
dd offset dword_1008B30+4
off_1008B58 dd offset off_103E31C
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008B58
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_1008B80 dd 3 dup(0)
dd 4, 1008B70h
dword_1008B94 dd 3 dup(0)
dd offset off_103E31C
dd offset dword_1008B80+4
off_1008BA8 dd offset off_103E33C
db 5, 4	dup(0)
align 4
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008BA8
dd offset off_100833C
dd offset off_1008244
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_1008BD8 dd 3 dup(0)
dd 6, 1008BC0h
dword_1008BEC dd 3 dup(0)
dd offset off_103E33C
dd offset dword_1008BD8+4
off_1008C00 dd offset off_103E360
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008C00
dd offset off_1008244
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_1008C2C dd 3 dup(0)
dd 5, 1008C18h
dword_1008C40 dd 3 dup(0)
dd offset off_103E360
dd offset dword_1008C2C+4
off_1008C54 dd offset off_103E3C8
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008C54
dd offset off_100766C
dd 0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
dd 2, 1008C6Ch
dword_1008C88 dd 3 dup(0)
dd offset off_103E3C8
dd offset unk_1008C78
dd offset off_10082CC
dd offset off_10077C0
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dword_1008CB0 dd 3 dup(0)
dd 5, 1008C9Ch
dword_1008CC4 dd 3 dup(0)
dd offset off_103D9AC
dd offset dword_1008CB0+4
off_1008CD8 dd offset off_103E428
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008CD8
dd offset off_1007CB8
dd offset off_1007C70
dd offset off_100766C
dword_1008D00 dd 3 dup(0)
dd 4, 1008CF0h
dword_1008D14 dd 3 dup(0)
dd offset off_103E428
dd offset dword_1008D00+4
off_1008D28 dd offset off_103E444
dd 4, 0
dd 0FFFFFFFFh, 2 dup(0)
off_1008D40 dd offset off_103E460
db 5, 4	dup(0)
align 4
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008D40
dd offset off_1008D28
dd offset off_1008060
dd offset off_1007CB8
dd offset off_1007C70
dd offset off_100766C
dword_1008D70 dd 3 dup(0)
dd 6, 1008D58h
dword_1008D84 dd 3 dup(0)
dd offset off_103E460
dd offset dword_1008D70+4
dd offset off_1008D28
dd offset off_1008060
dd offset off_1007CB8
dd offset off_1007C70
dd offset off_100766C
dword_1008DAC dd 3 dup(0)
dd 5, 1008D98h
dword_1008DC0 dd 3 dup(0)
dd offset off_103E444
dd offset dword_1008DAC+4
off_1008DD4 dd offset off_103E484
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008DD4
dd offset off_1007F78
dd offset off_1007C70
dd offset off_100766C
dword_1008DFC dd 3 dup(0)
dd 4, 1008DECh
dword_1008E10 dd 3 dup(0)
dd offset off_103E484
dd offset dword_1008DFC+4
off_1008E24 dd offset off_103E49C
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
off_1008E3C dd offset off_103E4B8
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008E3C
dd offset off_1008E24
dd offset off_100766C
dword_1008E60 dd 3 dup(0)
dd 3, 1008E54h
dword_1008E74 dd 3 dup(0)
dd offset off_103E4B8
dd offset dword_1008E60+4
off_1008E88 dd offset off_103E4D8
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008E88
dd offset off_10078F8
dd offset off_100766C
dword_1008EAC dd 3 dup(0)
dd 3, 1008EA0h
dword_1008EC0 dd 3 dup(0)
dd offset off_103E4D8
dd offset dword_1008EAC+4
off_1008ED4 dd offset off_103E4F4
dd 0
dd 4, 0FFFFFFFFh, 2 dup(0)
off_1008EEC dd offset off_103E518
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008EEC
dd offset off_1008ED4
dword_1008F0C dd 3 dup(0)
dd 2, 1008F04h
dword_1008F20 dd 3 dup(0)
dd offset off_103E518
dd offset dword_1008F0C+4
off_1008F34 dd offset off_103E534
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008F34
dd offset off_1008EEC
dd offset off_1008ED4
dword_1008F58 dd 3 dup(0)
dd 3, 1008F4Ch
dword_1008F6C dd 3 dup(0)
dd offset off_103E534
dd offset dword_1008F58+4
off_1008F80 dd offset off_103E554
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
off_1008F98 dd offset off_103E574
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
off_1008FB0 dd offset off_103E58C
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1008FB0
dd offset off_1008F98
dd offset off_1008F80
dd offset off_100844C
dword_1008FD8 dd 3 dup(0)
dd 4, 1008FC8h
dword_1008FEC dd 3 dup(0)
dd offset off_103E58C
dd offset dword_1008FD8+4
off_1009000 dd offset off_103E5A8
dd 2 dup(0)
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1009000
dword_100901C dd 3 dup(0)
dd 1, 1009018h
dword_1009030 dd 3 dup(0)
dd offset off_103E5A8
dd offset dword_100901C+4
off_1009044 dd offset off_103E5C4
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
off_100905C dd offset off_103E5E4
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_100905C
dd offset off_1009044
dd offset off_100844C
dword_1009080 dd 3 dup(0)
dd 3, 1009074h
dword_1009094 dd 3 dup(0)
dd offset off_103E5E4
dd offset dword_1009080+4
off_10090A8 dd offset off_103E600
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
off_10090C0 dd offset off_103E624
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10090C0
dd offset off_10090A8
dd offset off_100844C
dd 0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
dd 3, 10090D8h
dword_10090F8 dd 3 dup(0)
dd offset off_103E624
dd offset unk_10090E8
off_100910C dd offset off_103E644
dd 3, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_100910C
dd offset off_10077A8
dd offset off_1007790
dd offset off_100766C
dd 0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
dd 4, 1009124h
dword_1009148 dd 3 dup(0)
dd offset off_103E644
dd offset unk_1009138
off_100915C dd offset off_103E660
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
off_1009174 dd offset off_103E680
dd 2, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_1009174
dd offset off_100915C
dd offset off_100844C
dword_1009198 dd 3 dup(0)
dd 3, 100918Ch,	3 dup(0)
dd offset off_103E680
dd offset dword_1009198+4
off_10091C0 dd offset off_103E6A0
dd 1, 0
dd 0FFFFFFFFh, 2 dup(0)
dd offset off_10091C0
dd offset off_1009000
dword_10091E0 dd 3 dup(0)
dd 2, 10091D8h,	3 dup(0)
dd offset off_103E6A0
dd offset dword_10091E0+4
align 10h
___safe_se_handler_table dd rva	loc_103502E
dd rva loc_103574D
dd rva loc_103578E
dd rva loc_10357A5
dd rva loc_10357C4
dd rva loc_10357FB
dd rva loc_103581D
dd rva loc_1035834
dd rva loc_103585B
dd rva loc_103588A
dd rva loc_10358A1
dd rva loc_10358B9
dd rva loc_10358DB
dd rva loc_103592C
dd rva loc_103594B
dd rva loc_1035962
dd rva loc_1035979
dd rva loc_1035993
dd rva loc_10359AB
dd rva loc_10359C2
dd rva loc_10359EF
dd rva loc_1035A11
dd rva loc_1035A49
dd rva loc_1035A68
dd rva loc_1035AAE
dd rva loc_1035AC5
dd rva loc_1035ADC
dd rva loc_1035AF6
dd rva loc_1035B0D
dd rva loc_1035B50
dd rva loc_1035BA9
dd rva loc_1035BD8
dd rva loc_1035BF7
dd rva loc_1035C1E
dd rva loc_1035C4D
dd rva loc_1035C7C
dd rva loc_1035CAB
dd rva loc_1035CC2
dd rva loc_1035CE1
dd rva loc_1035D42
dd rva loc_1035D61
dd rva loc_1035D82
dd rva loc_1035D99
dd rva loc_1035DB8
dd rva loc_1035E15
dd rva loc_1035E34
dd rva loc_1035E53
dd rva loc_1035E6A
dd rva loc_1035E97
dd rva loc_1035EAE
dd rva loc_1035EC5
dd rva loc_1035EE4
dd rva loc_1035EFC
dd rva loc_1035F13
dd rva loc_1035F42
dd rva loc_1035F5F
dd rva loc_1035F86
dd rva loc_1035FAD
dd rva loc_1035FC4
dd rva loc_1035FDB
dd rva loc_1035FF2
dd rva loc_1036009
dd rva loc_1036020
dd rva loc_103604F
dd rva loc_103607F
dd rva loc_10360BA
dd rva loc_10360D1
dd rva loc_10360E8
dd rva loc_1036105
dd rva loc_103611C
dd rva loc_1036133
dd rva loc_1036152
dd rva loc_1036169
dd rva loc_1036180
dd rva loc_10361A1
dd rva loc_10361F0
dd rva loc_1036208
dd rva loc_103621F
dd rva loc_1036237
dd rva loc_103625C
dd rva loc_1036273
dd rva loc_103628A
dd rva loc_10362A5
dd rva loc_10362BC
dd rva loc_10362F3
dd rva loc_103630B
dd rva loc_1036323
dd rva loc_1036342
dd rva loc_1036359
dd rva loc_1036393
dd rva loc_10363C5
dd rva loc_10363DC
dd rva loc_103641D
dd rva loc_1036468
dd rva loc_103647F
dd rva loc_1036496
dd rva loc_10364AD
dd rva loc_10364C5
dd rva loc_10365A0
dd rva loc_10365CF
dd rva loc_103669C
dd rva loc_10366CE
dd rva loc_10366ED
dd rva loc_10367B8
dd rva loc_10367CF
dd rva loc_10367EF
dd rva loc_1036806
dd rva loc_103681D
dd rva loc_1036835
dd rva loc_1036854
dd rva loc_103686C
dd rva loc_1036883
dd rva loc_103689D
dd rva loc_10368B4
dd rva loc_10368D3
dd rva loc_10368FD
dd rva loc_103691D
dd rva loc_1036934
dd rva loc_103695B
dd rva loc_103697C
dd rva loc_10369A9
dd rva loc_10369C0
dd rva loc_10369D7
dd rva loc_10369F1
dd rva loc_1036A18
dd rva loc_1036A47
dd rva loc_1036A5E
dd rva loc_1036A8D
dd rva loc_1036AA4
dd rva loc_1036ABB
dd rva loc_1036ADB
dd rva loc_1036AF2
dd rva loc_1036B09
dd rva loc_1036B2B
dd rva loc_1036B42
dd rva loc_1036B59
dd rva loc_1036B89
dd rva loc_1036BA0
dd rva loc_1036BBA
dd rva loc_1036BD1
dd rva loc_1036BE8
dd rva loc_1036C00
dd rva loc_1036C17
dd rva loc_1036C2F
dd rva loc_1036C46
dd rva loc_1036C5D
dd rva loc_1036C74
dd rva loc_1036C96
dd rva loc_1036CF3
dd rva loc_1036D12
dd rva loc_1036D41
dd rva loc_1036D58
dd rva loc_1036D77
dd rva loc_1036D8F
dd rva loc_1036DF5
dd rva loc_1036E5B
dd rva loc_1036E7E
dd rva loc_1036E9D
dd rva loc_1036EC4
dd rva loc_1036EF3
dd rva loc_1036F12
dd rva loc_1036F31
dd rva loc_1036F48
dd rva loc_1036F68
dd rva loc_1036F7F
dd rva loc_1036F9F
dd rva loc_1036FB6
dd rva loc_1036FCD
dd rva loc_1036FEC
dd rva loc_1037003
dd rva loc_1037031
dd rva loc_1037056
dd rva loc_1037075
dd rva loc_103708C
dd rva loc_10370A3
dd rva loc_10370CD
dd rva loc_10370E4
dd rva loc_10370FB
dd rva loc_1037112
dd rva loc_1037129
dd rva loc_103714A
dd rva loc_1037161
dd rva loc_1037183
dd rva loc_103719A
dd rva loc_10371B2
dd rva loc_10371C9
dd rva loc_10371EB
dd rva loc_1037203
dd rva loc_103721A
dd rva loc_1037231
dd rva loc_1037248
dd rva loc_103726A
dd rva loc_1037281
dd rva loc_10372A0
dd rva loc_10372BF
dd rva loc_10372D6
dd rva loc_10372F0
dd rva loc_103731D
dd rva loc_1037334
dd rva loc_1037353
dd rva loc_103736A
dd rva loc_1037384
dd rva loc_10373A3
dd rva loc_10373D0
dd rva loc_10373E7
dd rva loc_103744B
dd 3 dup(0)
db 0


; Attributes: bp-based frame

sub_1009555 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_8]
dec	eax
js	short loc_1009575
push	esi
mov	esi, [ebp+arg_0]
push	edi
lea	edi, [eax+1]

loc_1009568:
mov	ecx, esi
call	[ebp+arg_C]
add	esi, [ebp+arg_4]
dec	edi
jnz	short loc_1009568
pop	edi
pop	esi

loc_1009575:
pop	ebp
retn	10h
sub_1009555 endp

db 5 dup(0CCh)

loc_100957E:		; CRuntimeClass	const CStatusBar::classCStatusBar
mov	eax, ds:?classCStatusBar@CStatusBar@@2UCRuntimeClass@@B
retn
db 5 dup(0CCh)

loc_1009589:
mov	eax, offset off_1001EC0
retn
db 5 dup(0CCh)

loc_1009594:		; AFX_MSGMAP const CStatusBar::messageMap
mov	eax, ds:?messageMap@CStatusBar@@1UAFX_MSGMAP@@B
retn
db 5 dup(0CCh)



sub_100959F proc near
mov	eax, offset off_1001F50
retn
sub_100959F endp

db 5 dup(0CCh)
align 4
push	esi
mov	esi, ecx
lea	ecx, [esi+80h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
lea	ecx, [esi+88h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
and	dword ptr [esi+84h], 0
and	dword ptr [esi+8Ch], 0
lea	ecx, [esi+90h]
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
lea	ecx, [esi+94h]
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
mov	ecx, esi
pop	esi
jmp	loc_103306C
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10095F6 proc near

var_8= dword ptr -8
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
push	esi
push	[ebp+arg_8]
lea	eax, [ebp+var_8]
push	[ebp+arg_4]
mov	esi, ecx
push	eax
call	?CalcFixedLayout@CStatusBar@@UAE?AVCSize@@HH@Z ; CStatusBar::CalcFixedLayout(int,int)
mov	ecx, [esi+0A0h]
mov	eax, [ebp+arg_0]
mov	edx, [ebp+var_8]
mov	[eax], edx
mov	[eax+4], ecx
pop	esi
leave
retn	0Ch
sub_10095F6 endp

db 5 dup(0CCh)

loc_100962A:		; AfxTryCleanup(void)
jmp	?AfxTryCleanup@@YGXXZ
db 5 dup(0CCh)



sub_1009634 proc near
push	1
push	offset Text
push	1
call	?SetPaneText@CStatusBar@@QAEHHPBGH@Z ; CStatusBar::SetPaneText(int,ushort const	*,int)
retn
sub_1009634 endp

align 8
; START	OF FUNCTION CHUNK FOR sub_100965C

loc_1009648:
push	1
push	offset Text
push	2
call	?SetPaneText@CStatusBar@@QAEHHPBGH@Z ; CStatusBar::SetPaneText(int,ushort const	*,int)
retn
; END OF FUNCTION CHUNK	FOR sub_100965C
db 5 dup(0CCh)



sub_100965C proc near

; FUNCTION CHUNK AT 01009648 SIZE 0000000F BYTES

mov	ecx, dword_103E764
jmp	loc_1009648
sub_100965C endp

db 5 dup(0CCh)



sub_100966C proc near
mov	ecx, dword_103E764
jmp	sub_1009634
sub_100966C endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100967C proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	ecx, dword_103E764
neg	eax
sbb	eax, eax
and	eax, 4
push	eax
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)
pop	ebp
retn	4
sub_100967C endp

align 10h
mov	edi, edi
push	ebp
mov	ebp, esp
pop	ebp
jmp	loc_10330CC
align 10h
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_2. PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000001 BYTES: COLLAPSED FUNCTION nullsub_3. PRESS KEYPAD CTRL-"+" TO EXPAND]
db 5 dup(0CCh)



sub_10096BE proc near
mov	eax, offset loc_103574D
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_1001F84
and	dword ptr [ebp-4], 0
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
mov	ecx, [ebp-0Ch]
mov	dword ptr [esi], offset	off_1001F6C
pop	esi
mov	large fs:0, ecx
leave
retn
sub_10096BE endp

db 5 dup(0CCh)



sub_10096F6 proc near
mov	eax, ecx
and	dword ptr [eax+4], 0
mov	dword ptr [eax], offset	off_1001F9C
retn
sub_10096F6 endp

align 8



sub_1009708 proc near
mov	dword ptr [ecx], offset	off_1001F9C
jmp	sub_10096BE
sub_1009708 endp

align 8


; Attributes: bp-based frame

sub_1009718 proc near

arg_0= word ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
movzx	eax, [ebp+arg_0]
push	esi
push	eax		; lpBitmapName
push	2		; unsigned __int16 *
push	eax		; unsigned __int16 *
mov	esi, ecx
call	?AfxFindResourceHandle@@YGPAUHINSTANCE__@@PBG0@Z ; AfxFindResourceHandle(ushort	const *,ushort const *)
push	eax		; hInstance
call	ds:LoadBitmapW
push	eax
mov	ecx, esi
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
pop	esi
pop	ebp
retn	4
sub_1009718 endp

db 5 dup(0CCh)



sub_1009746 proc near
mov	dword ptr [ecx], offset	off_1001FB4
jmp	sub_10096BE
sub_1009746 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1009756(RECT *lprect)
sub_1009756 proc near

lprect=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+lprect]	; lprect
mov	esi, ecx
call	ds:CreateRectRgnIndirect
push	eax
mov	ecx, esi
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
pop	esi
pop	ebp
retn	4
sub_1009756 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1009779(HDC	hdc)
sub_1009779 proc near

hdc= dword ptr	8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+hdc]
test	eax, eax
push	esi
mov	esi, ecx
jz	short loc_100978B
mov	eax, [eax+4]

loc_100978B:		; hdc
push	eax
call	ds:CreateCompatibleDC
push	eax
mov	ecx, esi
call	?Attach@CDC@@QAEHPAUHDC__@@@Z ;	CDC::Attach(HDC__ *)
pop	esi
pop	ebp
retn	4
sub_1009779 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10097A4(int	x, int y, int, int cy, HDC hdcSrc, int x1, int y1, DWORD rop)
sub_10097A4 proc near

x= dword ptr  8
y= dword ptr  0Ch
arg_8= dword ptr  10h
cy= dword ptr  14h
hdcSrc=	dword ptr  18h
x1= dword ptr  1Ch
y1= dword ptr  20h
rop= dword ptr	24h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+hdcSrc]
test	eax, eax
jz	short loc_10097B3
mov	eax, [eax+4]

loc_10097B3:		; rop
push	[ebp+rop]
push	[ebp+y1]	; y1
push	[ebp+x1]	; x1
push	eax		; hdcSrc
push	[ebp+cy]	; cy
push	[ebp+arg_8]	; cx
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [ecx+4] ; hdc
call	ds:BitBlt
pop	ebp
retn	20h
sub_10097A4 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10097DB(int, LPCWSTR lpString, int c)
sub_10097DB proc near

psizl= tagSIZE ptr -8
arg_0= dword ptr  8
lpString= dword	ptr  0Ch
c= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
lea	eax, [ebp+psizl]
push	eax		; psizl
push	[ebp+c]		; c
push	[ebp+lpString]	; lpString
push	dword ptr [ecx+8] ; hdc
call	ds:GetTextExtentPoint32W
mov	ecx, [ebp+psizl._cx]
mov	eax, [ebp+arg_0]
mov	[eax], ecx
mov	ecx, [ebp+psizl.cy]
mov	[eax+4], ecx
leave
retn	0Ch
sub_10097DB endp

db 5 dup(0CCh)



sub_100980C proc near
push	0		; lParam
push	0		; wParam
push	31h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
push	eax
call	?FromHandle@CGdiObject@@SGPAV1@PAX@Z ; CGdiObject::FromHandle(void *)
retn
sub_100980C endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1009827(LPRECT lpRect)
sub_1009827 proc near

lpRect=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+lpRect]	; lpRect
push	dword ptr [ecx+20h] ; hWnd
call	ds:GetWindowRect
pop	ebp
retn	4
sub_1009827 endp

db 5 dup(0CCh)



sub_1009841 proc near
mov	eax, offset loc_103578E
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
call	??0CStatusBar@@QAE@XZ ;	CStatusBar::CStatusBar(void)
xor	edi, edi
lea	eax, [esi+80h]
mov	dword ptr [esi], offset	off_1001FCC
mov	ecx, offset off_1001F9C
mov	[ebp-4], edi
mov	[eax+4], edi
mov	[eax], ecx
lea	eax, [esi+88h]
mov	[eax+4], edi
mov	[eax], ecx
lea	ecx, [esi+90h]
mov	byte ptr [ebp-4], 2
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [esi+94h]
mov	byte ptr [ebp-4], 3
call	??0CString@@QAE@XZ ; CString::CString(void)
mov	ecx, [ebp-0Ch]
mov	[esi+98h], edi
mov	[esi+9Ch], edi
mov	[esi+0A0h], edi
mov	dword_103E760, edi
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_1009841 endp

db 5 dup(0CCh)



sub_10098C9 proc near
push	0		; bEnable
push	dword ptr [ecx+20h] ; hWnd
call	ds:EnableWindow
retn
sub_10098C9 endp

db 5 dup(0CCh)



sub_10098DA proc near
push	1		; bEnable
push	dword ptr [ecx+20h] ; hWnd
call	ds:EnableWindow
retn
sub_10098DA endp

db 5 dup(0CCh)



sub_10098EB proc near
mov	eax, offset loc_103578E
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_1001FCC
and	dword ptr [esi+70h], 0
lea	ecx, [esi+94h]
mov	dword ptr [ebp-4], 3
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [esi+90h]
mov	byte ptr [ebp-4], 2
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [esi+88h]
mov	edi, offset off_1001F9C
mov	byte ptr [ebp-4], 1
mov	[ecx], edi
call	sub_10096BE
lea	ecx, [esi+80h]
mov	byte ptr [ebp-4], 0
mov	[ecx], edi
call	sub_10096BE
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	??1CStatusBar@@UAE@XZ ;	CStatusBar::~CStatusBar(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_10098EB endp

db 5 dup(0CCh)



sub_100996D proc near
mov	eax, offset loc_10357A5
call	sub_1034E18
sub	esp, 68h
and	dword_103E760, 0
push	ebx
push	esi
mov	esi, ecx
mov	eax, [esi+4Ch]
push	edi
mov	[ebp-14h], eax
mov	eax, [esi+50h]
push	2
mov	[ebp-18h], eax
pop	eax
mov	[esi+50h], eax
mov	[esi+4Ch], eax
lea	eax, [ebp-38h]
push	eax		; lprc
call	ds:SetRectEmpty
push	1
lea	eax, [ebp-38h]
push	eax
mov	ecx, esi
call	?CalcInsideRect@CStatusBar@@QBEXAAVCRect@@H@Z ;	CStatusBar::CalcInsideRect(CRect &,int)
mov	edi, [ebp-34h]
sub	edi, [ebp-2Ch]
mov	ebx, [esi+0A0h]
mov	eax, [esi+9Ch]
add	edi, 4
lea	ecx, [ebp-28h]
sub	ebx, edi
mov	[ebp-10h], eax
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
xor	eax, eax
push	eax		; pdm
push	eax		; pszPort
push	eax		; pszDevice
push	offset pszDriver ; "DISPLAY"
mov	[ebp-4], eax
call	ds:CreateICW
push	eax
lea	ecx, [ebp-28h]
call	?Attach@CDC@@QAEHPAUHDC__@@@Z ;	CDC::Attach(HDC__ *)
test	eax, eax
jz	short loc_1009A45
push	dword ptr [ebp+8]
and	dword ptr [ebp-74h], 0
call	?FromHandle@CGdiObject@@SGPAV1@PAX@Z ; CGdiObject::FromHandle(void *)
test	eax, eax
jz	short loc_1009A3D
push	eax
lea	ecx, [ebp-28h]
call	?SelectObject@CDC@@UAEPAVCFont@@PAV2@@Z	; CDC::SelectObject(CFont *)
mov	[ebp+8], eax
lea	eax, [ebp-74h]
push	eax		; lptm
push	dword ptr [ebp-20h] ; hdc
call	ds:GetTextMetricsW
test	eax, eax
jz	short loc_1009A2C
mov	eax, [ebp-74h]
cmp	eax, [ebp-10h]
jle	short loc_1009A2C
mov	[ebp-10h], eax

loc_1009A2C:
cmp	dword ptr [ebp+8], 0
jz	short loc_1009A3D
push	dword ptr [ebp+8]
lea	ecx, [ebp-28h]
call	?SelectObject@CDC@@UAEPAVCFont@@PAV2@@Z	; CDC::SelectObject(CFont *)

loc_1009A3D:
lea	ecx, [ebp-28h]
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)

loc_1009A45:
mov	eax, [ebp-10h]
cmp	eax, ebx
jle	short loc_1009A54
add	eax, edi
mov	[esi+0A0h], eax

loc_1009A54:
mov	eax, [esi+9Ch]
cmp	eax, ebx
jle	short loc_1009A65
sub	eax, ebx
mov	dword_103E760, eax

loc_1009A65:
mov	eax, [ebp-14h]
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	[esi+4Ch], eax
mov	eax, [ebp-18h]
lea	ecx, [ebp-28h]
mov	[esi+50h], eax
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	ecx, [ebp-0Ch]
pop	edi
xor	eax, eax
pop	esi
inc	eax
pop	ebx
mov	large fs:0, ecx
leave
retn	8
sub_100996D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1009A96(HDC	hdc, int, LPCWSTR lpString, char, int)
sub_1009A96 proc near

rc= tagRECT ptr	-20h
var_10=	dword ptr -10h
color= dword ptr -0Ch
var_8= dword ptr -8
h= dword ptr -4
hdc= dword ptr	8
arg_4= dword ptr  0Ch
lpString= dword	ptr  10h
arg_D= byte ptr	 15h
arg_F= byte ptr	 17h
arg_10=	dword ptr  18h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 20h
push	esi
push	edi
xor	edi, edi
test	[ebp+arg_D], 1
mov	[ebp+h], edi
mov	[ebp+var_8], edi
jnz	short loc_1009AED
test	[ebp+arg_D], 2
jz	short loc_1009ABF
push	10h		; nIndex
call	sub_100D149
push	14h
jmp	short loc_1009AC8

loc_1009ABF:		; nIndex
push	14h
call	sub_100D149
push	10h		; nIndex

loc_1009AC8:
mov	esi, eax
call	sub_100D149
cmp	esi, edi
jnz	short loc_1009AD8
mov	[ebp+h], edi
jmp	short loc_1009ADE

loc_1009AD8:
mov	ecx, [esi+4]
mov	[ebp+h], ecx

loc_1009ADE:
cmp	eax, edi
jnz	short loc_1009AE7
mov	[ebp+var_8], edi
jmp	short loc_1009AED

loc_1009AE7:
mov	eax, [eax+4]
mov	[ebp+var_8], eax

loc_1009AED:
push	ebx
push	2		; mode
push	[ebp+hdc]	; hdc
call	ds:SetBkMode
mov	esi, ds:GetSysColor
push	12h		; nIndex
call	esi ; GetSysColor
push	eax		; color
push	[ebp+hdc]	; hdc
call	ds:SetTextColor
push	0Fh		; nIndex
mov	[ebp+color], eax
call	esi ; GetSysColor
push	eax		; color
push	[ebp+hdc]	; hdc
call	ds:SetBkColor
cmp	[ebp+h], edi
mov	esi, [ebp+arg_4]
mov	edi, ds:PatBlt
mov	[ebp+var_10], eax
mov	ebx, 0F00021h
jz	short loc_1009B7E
push	[ebp+h]		; h
push	[ebp+hdc]	; hdc
call	ds:SelectObject
test	eax, eax
mov	[ebp+arg_4], eax
jz	short loc_1009B7E
mov	eax, [esi+8]
mov	ecx, [esi]
push	ebx		; rop
push	0FFFFFFFFh	; h
sub	ecx, eax
inc	ecx
push	ecx		; w
push	dword ptr [esi+0Ch] ; y
push	eax		; x
push	[ebp+hdc]	; hdc
call	edi ; PatBlt
mov	eax, [esi+0Ch]
mov	ecx, [esi+4]
push	ebx		; rop
sub	ecx, eax
inc	ecx
push	ecx		; h
push	0FFFFFFFFh	; w
push	eax		; y
push	dword ptr [esi+8] ; x
push	[ebp+hdc]	; hdc
call	edi ; PatBlt
push	[ebp+arg_4]	; h
push	[ebp+hdc]	; hdc
call	ds:SelectObject

loc_1009B7E:
cmp	[ebp+var_8], 0
jz	short loc_1009BCB
push	[ebp+var_8]	; h
push	[ebp+hdc]	; hdc
call	ds:SelectObject
test	eax, eax
mov	[ebp+arg_4], eax
jz	short loc_1009BCB
mov	eax, [esi]
mov	ecx, [esi+8]
push	ebx		; rop
push	1		; h
sub	ecx, eax
push	ecx		; w
push	dword ptr [esi+4] ; y
push	eax		; x
push	[ebp+hdc]	; hdc
call	edi ; PatBlt
mov	eax, [esi+4]
mov	ecx, [esi+0Ch]
push	ebx		; rop
sub	ecx, eax
push	ecx		; h
push	1		; w
push	eax		; y
push	dword ptr [esi]	; x
push	[ebp+hdc]	; hdc
call	edi ; PatBlt
push	[ebp+arg_4]	; h
push	[ebp+hdc]	; hdc
call	ds:SelectObject

loc_1009BCB:
cmp	[ebp+lpString],	0
pop	ebx
jz	short loc_1009C3C
test	[ebp+arg_F], 4
jnz	short loc_1009C3C
lea	edi, [ebp+rc]
movsd
movsd
movsd
push	0FFFFFFFFh	; dy
push	0FFFFFFFEh	; dx
lea	eax, [ebp+rc]
movsd
mov	esi, ds:InflateRect
push	eax		; lprc
call	esi ; InflateRect
mov	eax, [ebp+arg_10]
add	[ebp+rc.left], eax
push	8		; align
push	[ebp+hdc]	; hdc
call	ds:SetTextAlign
mov	eax, dword_103E760
test	eax, eax
jle	short loc_1009C18
push	0FFFFFFFEh
pop	ecx
cdq
idiv	ecx
push	eax		; dy
push	0		; dx
lea	eax, [ebp+rc]
push	eax		; lprc
call	esi ; InflateRect

loc_1009C18:		; lpDx
push	0
push	[ebp+lpString]	; lpString
call	ds:lstrlenW
push	eax		; c
push	[ebp+lpString]	; lpString
lea	eax, [ebp+rc]
push	eax		; lprect
push	4		; options
push	[ebp+rc.bottom]	; y
push	[ebp+rc.left]	; x
push	[ebp+hdc]	; hdc
call	ds:ExtTextOutW

loc_1009C3C:		; color
push	[ebp+color]
push	[ebp+hdc]	; hdc
call	ds:SetTextColor
push	[ebp+var_10]	; color
push	[ebp+hdc]	; hdc
call	ds:SetBkColor
pop	edi
pop	esi
leave
retn	14h
sub_1009A96 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1009C5F proc near

var_2C=	word ptr -2Ch
var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 2Ch
mov	eax, ___security_cookie
push	esi
mov	[ebp+var_4], eax
mov	eax, [ebp+arg_0]
push	dword ptr [eax+4]
mov	esi, ecx
push	dword ptr [eax]
lea	eax, [ebp+var_2C]
push	offset aDD	; "%d~%d"
push	eax		; LPWSTR
call	ds:wsprintfW
add	esp, 10h
xor	ecx, ecx
test	eax, eax
jle	short loc_1009CB1

loc_1009C92:
cmp	[ebp+ecx*2+var_2C], 7Eh
jz	short loc_1009CA1
inc	ecx
cmp	ecx, eax
jl	short loc_1009C92
jmp	short loc_1009CAF

loc_1009CA1:
mov	edx, [esi+94h]
mov	dx, [edx]
mov	[ebp+ecx*2+var_2C], dx

loc_1009CAF:
test	eax, eax

loc_1009CB1:
jz	short loc_1009CC4
push	1
lea	eax, [ebp+var_2C]
push	eax
push	1
mov	ecx, esi
call	?SetPaneText@CStatusBar@@QAEHHPBGH@Z ; CStatusBar::SetPaneText(int,ushort const	*,int)
jmp	short loc_1009CC6

loc_1009CC4:
xor	eax, eax

loc_1009CC6:
mov	ecx, [ebp+var_4]
pop	esi
call	sub_1032F53
leave
retn	4
sub_1009C5F endp

align 8


; Attributes: bp-based frame

sub_1009CD8 proc near

var_2C=	word ptr -2Ch
var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 2Ch
mov	eax, ___security_cookie
push	esi
mov	[ebp+var_4], eax
mov	eax, [ebp+arg_0]
push	dword ptr [eax+4]
mov	esi, ecx
push	dword ptr [eax]
lea	eax, [ebp+var_2C]
push	offset aDD	; "%d~%d"
push	eax		; LPWSTR
call	ds:wsprintfW
add	esp, 10h
xor	ecx, ecx
test	eax, eax
jle	short loc_1009D2A

loc_1009D0B:
cmp	[ebp+ecx*2+var_2C], 7Eh
jz	short loc_1009D1A
inc	ecx
cmp	ecx, eax
jl	short loc_1009D0B
jmp	short loc_1009D28

loc_1009D1A:
mov	edx, [esi+90h]
mov	dx, [edx]
mov	[ebp+ecx*2+var_2C], dx

loc_1009D28:
test	eax, eax

loc_1009D2A:
jz	short loc_1009D3D
push	1
lea	eax, [ebp+var_2C]
push	eax
push	2
mov	ecx, esi
call	?SetPaneText@CStatusBar@@QAEHHPBGH@Z ; CStatusBar::SetPaneText(int,ushort const	*,int)
jmp	short loc_1009D3F

loc_1009D3D:
xor	eax, eax

loc_1009D3F:
mov	ecx, [ebp+var_4]
pop	esi
call	sub_1032F53
leave
retn	4
sub_1009CD8 endp

db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
call	?OnSysColorChange@CWnd@@IAEXXZ ; CWnd::OnSysColorChange(void)
push	0
push	0
push	dword ptr [esi+20h]
call	ds:InvalidateRect
pop	esi
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1009D6F proc near
mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, dword_103E764
push	dword ptr [eax+20h] ; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_1009D92
mov	ecx, dword_103E764
pop	ebp
jmp	sub_1009C5F

loc_1009D92:
pop	ebp
retn	4
sub_1009D6F endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1009D9B proc near
mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, dword_103E764
push	dword ptr [eax+20h] ; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_1009DBE
mov	ecx, dword_103E764
pop	ebp
jmp	sub_1009CD8

loc_1009DBE:
pop	ebp
retn	4
sub_1009D9B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1009DC7(void *, char)
sub_1009DC7 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
test	[ebp+arg_0], 1
push	esi
mov	esi, ecx
mov	dword ptr [esi], offset	off_1001F6C
jz	short loc_1009DE2
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1009DE2:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1009DC7 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1009DEE(void *, char)
sub_1009DEE proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_10096BE
test	[ebp+arg_0], 1
jz	short loc_1009E08
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1009E08:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1009DEE endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1009E14(void *, char)
sub_1009E14 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_1009708
test	[ebp+arg_0], 1
jz	short loc_1009E2E
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1009E2E:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1009E14 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1009E3A(void *, char)
sub_1009E3A proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_1009746
test	[ebp+arg_0], 1
jz	short loc_1009E54
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1009E54:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1009E3A endp

align 10h


; Attributes: bp-based frame

; int __thiscall sub_1009E60(void *, char)
sub_1009E60 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_10098EB
test	[ebp+arg_0], 1
jz	short loc_1009E7A
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1009E7A:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1009E60 endp

db 5 dup(0CCh)



sub_1009E86 proc near
mov	eax, offset loc_10357C4
call	sub_1034E18
sub	esp, 50h
push	ebx
push	esi
push	edi
mov	[ebp-10h], esp
push	0E801h
push	50008200h
push	dword ptr [ebp+8]
mov	esi, ecx
mov	[ebp-20h], esi
call	?Create@CStatusBar@@QAEHPAVCWnd@@KI@Z ;	CStatusBar::Create(CWnd	*,ulong,uint)
test	eax, eax
mov	[ebp-1Ch], eax
jz	loc_100A087
push	3
push	offset unk_103D0B0
mov	ecx, esi
call	?SetIndicators@CStatusBar@@QAEHPBIH@Z ;	CStatusBar::SetIndicators(uint const *,int)
test	eax, eax
mov	[ebp-1Ch], eax
jz	loc_100A087
lea	ecx, [ebp-28h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
and	dword ptr [ebp-4], 0
push	0AE9Ch
lea	ecx, [esi+90h]
mov	byte ptr [ebp-4], 1
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
push	0AE9Dh
lea	ecx, [esi+94h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
jmp	short loc_1009F2E
mov	eax, [ebp+8]
mov	esi, [ebp-20h]
lea	ecx, [esi+90h]
mov	[ebp-24h], eax
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
lea	ecx, [esi+94h]
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
mov	eax, offset loc_1009F2B
retn

loc_1009F2B:
mov	esi, [ebp-20h]

loc_1009F2E:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
lea	edi, [esi+80h]
push	0DDFh
mov	ecx, edi
call	sub_1009718
lea	ebx, [esi+88h]
push	0DDEh
mov	ecx, ebx
call	sub_1009718
xor	eax, eax
cmp	edi, eax
jz	loc_100A084
cmp	[edi+4], eax
jz	loc_100A084
cmp	ebx, eax
jz	loc_100A084
cmp	[ebx+4], eax
jz	loc_100A084
push	esi
lea	ecx, [ebp-44h]
call	??0CClientDC@@QAE@PAVCWnd@@@Z ;	CClientDC::CClientDC(CWnd *)
push	1		; c
push	offset String	; "0"
lea	eax, [ebp-30h]
push	eax		; int
lea	ecx, [ebp-44h]
mov	dword ptr [ebp-4], 3
call	sub_10097DB
mov	edi, [eax]
lea	eax, [ebp-5Ch]
push	eax		; pv
push	18h		; c
push	dword ptr [esi+84h] ; h
call	ds:GetObjectW
mov	eax, [ebp-58h]
mov	[esi+98h], eax
mov	eax, [ebp-54h]
mov	[esi+9Ch], eax
lea	eax, [ebp+8]
push	eax
lea	eax, [ebp-18h]
push	eax
lea	eax, [ebp-14h]
push	eax
xor	ebx, ebx
push	ebx
mov	ecx, esi
call	?GetPaneInfo@CStatusBar@@QBEXHAAI0AAH@Z	; CStatusBar::GetPaneInfo(int,uint &,uint &,int	&)
push	dword ptr [ebp+8]
mov	ecx, esi
push	8000000h
push	dword ptr [ebp-14h]
push	ebx
call	?SetPaneInfo@CStatusBar@@QAEXHIIH@Z ; CStatusBar::SetPaneInfo(int,uint,uint,int)
lea	eax, [ebp+8]
push	eax
lea	eax, [ebp-18h]
push	eax
lea	eax, [ebp-14h]
push	eax
push	1
mov	ecx, esi
call	?GetPaneInfo@CStatusBar@@QBEXHAAI0AAH@Z	; CStatusBar::GetPaneInfo(int,uint &,uint &,int	&)
mov	eax, [ebp-58h]
lea	edi, [edi+edi*2]
shl	edi, 2
add	eax, edi
cmp	[ebp+8], eax
jge	short loc_100A029
push	eax
push	dword ptr [ebp-18h]
mov	ecx, esi
push	dword ptr [ebp-14h]
mov	[ebp+8], eax
push	1
call	?SetPaneInfo@CStatusBar@@QAEXHIIH@Z ; CStatusBar::SetPaneInfo(int,uint,uint,int)

loc_100A029:
lea	eax, [ebp+8]
push	eax
lea	eax, [ebp-18h]
push	eax
lea	eax, [ebp-14h]
push	eax
push	2
mov	ecx, esi
call	?GetPaneInfo@CStatusBar@@QBEXHAAI0AAH@Z	; CStatusBar::GetPaneInfo(int,uint &,uint &,int	&)
mov	eax, [ebp-58h]
add	eax, edi
cmp	[ebp+8], eax
jge	short loc_100A05B
push	eax
push	dword ptr [ebp-18h]
mov	ecx, esi
push	dword ptr [ebp-14h]
mov	[ebp+8], eax
push	2
call	?SetPaneInfo@CStatusBar@@QAEXHIIH@Z ; CStatusBar::SetPaneInfo(int,uint,uint,int)

loc_100A05B:
mov	ecx, esi
call	sub_100980C
cmp	eax, ebx
jnz	short loc_100A06A
xor	eax, eax
jmp	short loc_100A06D

loc_100A06A:
mov	eax, [eax+4]

loc_100A06D:
push	ebx
push	eax
mov	ecx, esi
call	sub_100996D
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-44h]
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)
jmp	short loc_100A087

loc_100A084:
mov	[ebp-1Ch], eax

loc_100A087:
mov	ecx, [ebp-0Ch]
mov	eax, [ebp-1Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	4
sub_1009E86 endp

align 10h



sub_100A0A0 proc near
mov	eax, offset loc_10357FB
call	sub_1034E18
sub	esp, 6Ch
push	ebx
push	esi
push	edi
mov	edi, ecx
lea	ecx, [ebp-18h]
call	??0CString@@QAE@XZ ; CString::CString(void)
xor	ebx, ebx
lea	ecx, [ebp-14h]
mov	[ebp-4], ebx
call	??0CString@@QAE@XZ ; CString::CString(void)
mov	eax, offset off_1001FB4
mov	[ebp-44h], ebx
mov	[ebp-48h], eax
mov	[ebp-3Ch], ebx
mov	[ebp-40h], eax
mov	esi, [ebp+8]
cmp	esi, ebx
mov	byte ptr [ebp-4], 3
jnz	short loc_100A0E8
mov	[ebp-10h], ebx
jmp	short loc_100A0EE

loc_100A0E8:
mov	eax, [esi+4]
mov	[ebp-10h], eax

loc_100A0EE:
lea	eax, [ebp-58h]
push	eax
push	1
mov	ecx, edi
call	?GetItemRect@CStatusBar@@QBEXHPAUtagRECT@@@Z ; CStatusBar::GetItemRect(int,tagRECT *)
lea	eax, [ebp-68h]
push	eax
push	2
mov	ecx, edi
call	?GetItemRect@CStatusBar@@QBEXHPAUtagRECT@@@Z ; CStatusBar::GetItemRect(int,tagRECT *)
lea	eax, [ebp-58h]
push	eax
mov	ecx, esi
call	?ExcludeClipRect@CDC@@QAEHPBUtagRECT@@@Z ; CDC::ExcludeClipRect(tagRECT	const *)
lea	eax, [ebp-68h]
push	eax
mov	ecx, esi
call	?ExcludeClipRect@CDC@@QAEHPBUtagRECT@@@Z ; CDC::ExcludeClipRect(tagRECT	const *)
push	esi
mov	ecx, edi
call	?DoPaint@CControlBar@@UAEXPAVCDC@@@Z ; CControlBar::DoPaint(CDC	*)
mov	ebx, [esi]
mov	ecx, edi
call	sub_100980C
push	eax
mov	ecx, esi
call	dword ptr [ebx+30h]
mov	[ebp-24h], eax
lea	eax, [ebp-18h]
push	eax
push	1
mov	ecx, edi
call	?GetPaneText@CStatusBar@@QBEXHAAVCString@@@Z ; CStatusBar::GetPaneText(int,CString &)
lea	eax, [ebp-14h]
push	eax
push	2
mov	ecx, edi
call	?GetPaneText@CStatusBar@@QBEXHAAVCString@@@Z ; CStatusBar::GetPaneText(int,CString &)
lea	eax, [ebp-28h]
push	eax
lea	eax, [ebp-1Ch]
push	eax
lea	eax, [ebp-2Ch]
push	eax
push	1
mov	ecx, edi
call	?GetPaneInfo@CStatusBar@@QBEXHAAI0AAH@Z	; CStatusBar::GetPaneInfo(int,uint &,uint &,int	&)
lea	eax, [ebp-28h]
push	eax
lea	eax, [ebp-20h]
push	eax
lea	eax, [ebp-2Ch]
push	eax
push	2
mov	ecx, edi
call	?GetPaneInfo@CStatusBar@@QBEXHAAI0AAH@Z	; CStatusBar::GetPaneInfo(int,uint &,uint &,int	&)
and	dword ptr [ebp-1Ch], 0
and	dword ptr [ebp-20h], 0
lea	ecx, [ebp-78h]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
push	esi		; hdc
lea	ecx, [ebp-78h]
mov	byte ptr [ebp-4], 4
call	sub_1009779
test	eax, eax
jz	loc_100A302
mov	ebx, [esi]
push	12h		; nIndex
call	ds:GetSysColor
push	eax
mov	ecx, esi
call	dword ptr [ebx+38h]
mov	ebx, [esi]
push	0Fh		; nIndex
mov	[ebp-34h], eax
call	ds:GetSysColor
push	eax
mov	ecx, esi
call	dword ptr [ebx+34h]
mov	[ebp-38h], eax
lea	eax, [ebp-58h]
push	eax		; lprect
lea	ecx, [ebp-48h]
call	sub_1009756
test	eax, eax
mov	ebx, ds:InflateRect
mov	[ebp-30h], eax
jz	short loc_100A25E
lea	eax, [ebp-48h]
push	eax
mov	ecx, esi
call	?SelectClipRgn@CDC@@QAEHPAVCRgn@@@Z ; CDC::SelectClipRgn(CRgn *)
lea	eax, [edi+80h]
push	eax
lea	ecx, [ebp-78h]
call	sub_1032D5B
push	0FFFFFFFFh	; dy
mov	[ebp+8], eax
push	0FFFFFFFFh	; dx
lea	eax, [ebp-58h]
push	eax		; lprc
call	ebx ; InflateRect
push	0CC0020h	; rop
push	0		; y1
push	0		; x1
lea	eax, [ebp-78h]
push	eax		; hdcSrc
mov	eax, [ebp-4Ch]
sub	eax, [ebp-54h]
mov	ecx, esi
push	eax		; cy
mov	eax, [ebp-50h]
sub	eax, [ebp-58h]
push	eax		; int
push	dword ptr [ebp-54h] ; y
push	dword ptr [ebp-58h] ; x
call	sub_10097A4
push	dword ptr [ebp+8]
lea	ecx, [ebp-78h]
call	sub_1032D5B
push	1		; dy
push	1		; dx
lea	eax, [ebp-58h]
push	eax		; lprc
call	ebx ; InflateRect
mov	eax, [edi+98h]
inc	eax
push	eax		; int
push	dword ptr [ebp-1Ch] ; char
lea	eax, [ebp-58h]
push	dword ptr [ebp-18h] ; lpString
push	eax		; int
push	dword ptr [ebp-10h] ; hdc
call	sub_1009A96

loc_100A25E:
lea	eax, [ebp-68h]
push	eax		; lprect
lea	ecx, [ebp-40h]
call	sub_1009756
cmp	dword ptr [ebp-30h], 0
jz	short loc_100A2EE
lea	eax, [ebp-40h]
push	eax
mov	ecx, esi
call	?SelectClipRgn@CDC@@QAEHPAVCRgn@@@Z ; CDC::SelectClipRgn(CRgn *)
lea	eax, [edi+88h]
push	eax
lea	ecx, [ebp-78h]
call	sub_1032D5B
push	0FFFFFFFFh	; dy
mov	[ebp+8], eax
push	0FFFFFFFFh	; dx
lea	eax, [ebp-68h]
push	eax		; lprc
call	ebx ; InflateRect
push	0CC0020h	; rop
push	0		; y1
push	0		; x1
lea	eax, [ebp-78h]
push	eax		; hdcSrc
mov	eax, [ebp-5Ch]
sub	eax, [ebp-64h]
mov	ecx, esi
push	eax		; cy
mov	eax, [ebp-60h]
sub	eax, [ebp-68h]
push	eax		; int
push	dword ptr [ebp-64h] ; y
push	dword ptr [ebp-68h] ; x
call	sub_10097A4
push	dword ptr [ebp+8]
lea	ecx, [ebp-78h]
call	sub_1032D5B
push	1		; dy
push	1		; dx
lea	eax, [ebp-68h]
push	eax		; lprc
call	ebx ; InflateRect
mov	eax, [edi+98h]
inc	eax
push	eax		; int
push	dword ptr [ebp-20h] ; char
lea	eax, [ebp-68h]
push	dword ptr [ebp-14h] ; lpString
push	eax		; int
push	dword ptr [ebp-10h] ; hdc
call	sub_1009A96

loc_100A2EE:
push	dword ptr [ebp-34h]
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+38h]
push	dword ptr [ebp-38h]
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+34h]

loc_100A302:
cmp	dword ptr [ebp-24h], 0
jz	short loc_100A312
push	dword ptr [ebp-24h]
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+30h]

loc_100A312:
lea	ecx, [ebp-78h]
mov	byte ptr [ebp-4], 3
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	esi, offset off_1001FB4
lea	ecx, [ebp-40h]
mov	byte ptr [ebp-4], 2
mov	[ebp-40h], esi
call	sub_10096BE
lea	ecx, [ebp-48h]
mov	byte ptr [ebp-4], 1
mov	[ebp-48h], esi
call	sub_10096BE
lea	ecx, [ebp-14h]
mov	byte ptr [ebp-4], 0
call	??1CString@@QAE@XZ ; CString::~CString(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-18h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	4
sub_100A0A0 endp

db 5 dup(0CCh)

loc_100A36F:		; CRuntimeClass	const CObject::classCObject
mov	eax, ds:?classCObject@CObject@@2UCRuntimeClass@@B
retn
db 5 dup(0CCh)

loc_100A37A:
mov	eax, offset off_10020D8
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100A385 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	0
push	[ebp+arg_0]
lea	esi, [ecx+40h]
mov	ecx, esi
call	?Find@CObList@@QBEPAU__POSITION@@PAVCObject@@PAU2@@Z ; CObList::Find(CObject *,__POSITION *)
test	eax, eax
jnz	short loc_100A3A8
push	[ebp+arg_0]
mov	ecx, esi
call	?AddTail@CObList@@QAEPAU__POSITION@@PAVCObject@@@Z ; CObList::AddTail(CObject *)

loc_100A3A8:
pop	esi
pop	ebp
retn	4
sub_100A385 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100A3B2 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	[ebp+arg_4], 0
jnz	short loc_100A3DA
push	esi
push	0
push	[ebp+arg_0]
lea	esi, [ecx+40h]
mov	ecx, esi
call	?Find@CObList@@QBEPAU__POSITION@@PAVCObject@@PAU2@@Z ; CObList::Find(CObject *,__POSITION *)
test	eax, eax
jz	short loc_100A3D9
push	eax
mov	ecx, esi
call	?RemoveAt@CObList@@QAEXPAU__POSITION@@@Z ; CObList::RemoveAt(__POSITION	*)

loc_100A3D9:
pop	esi

loc_100A3DA:
pop	ebp
retn	8
sub_100A3B2 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100A3E3 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	[ecx+24h], eax
pop	ebp
retn	4
sub_100A3E3 endp

db 5 dup(0CCh)



sub_100A3F7 proc near
mov	edi, edi
push	esi
mov	esi, ecx
mov	eax, [esi+30h]
test	eax, eax
jz	short loc_100A41F
push	eax		; dwBytes
push	40h		; uFlags
call	ds:GlobalAlloc
test	eax, eax
mov	[esi+28h], eax
jnz	short loc_100A423
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4

loc_100A41F:
xor	eax, eax
pop	esi
retn

loc_100A423:
xor	eax, eax
inc	eax
pop	esi
retn
sub_100A3F7 endp

db 5 dup(0CCh)



sub_100A42D proc near
mov	edi, edi
push	esi
mov	esi, ecx
mov	eax, [esi+28h]
test	eax, eax
jz	short loc_100A448
push	eax		; hMem
call	ds:GlobalFree
and	dword ptr [esi+28h], 0
and	dword ptr [esi+30h], 0

loc_100A448:
pop	esi
retn
sub_100A42D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100A44F proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
mov	esi, ds:GetSystemMetrics
push	edi
push	0		; nIndex
call	esi ; GetSystemMetrics
mov	edi, [ebp+arg_0]
cdq
sub	eax, edx
sar	eax, 1
push	1		; nIndex
mov	[edi], eax
call	esi ; GetSystemMetrics
mov	ebx, [ebp+arg_4]
cdq
sub	eax, edx
sar	eax, 1
push	49h		; nIndex
mov	[ebx], eax
call	esi ; GetSystemMetrics
test	al, 2
jz	short loc_100A48D
mov	dword ptr [edi], 140h
mov	dword ptr [ebx], 0F0h

loc_100A48D:
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	8
sub_100A44F endp

db 5 dup(0CCh)



sub_100A499 proc near
mov	edi, edi
push	ebx
push	esi
push	edi
mov	esi, ecx
lea	edi, [esi+0Ch]
push	edi
lea	ebx, [esi+8]
push	ebx
call	sub_100A44F
mov	eax, dword_103F004
test	eax, eax
jz	short loc_100A4C8
cmp	dword_103F008, 0
jz	short loc_100A4C8
mov	[ebx], eax
mov	eax, dword_103F008
mov	[edi], eax

loc_100A4C8:
cmp	dword_103EF40, 0
jz	short loc_100A4E9
mov	eax, dword_103F054
cdq
sub	eax, edx
sar	eax, 1
mov	[ebx], eax
mov	eax, dword_103F058
cdq
sub	eax, edx
sar	eax, 1
mov	[edi], eax

loc_100A4E9:
mov	eax, dword_103EF54
neg	eax
sbb	eax, eax
and	eax, 0FFFFFFFEh
inc	eax
inc	eax
mov	[esi+10h], eax
xor	eax, eax
inc	eax
pop	edi
mov	[esi+24h], eax
pop	esi
pop	ebx
retn
sub_100A499 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100A509 proc near

var_8= dword ptr -8
var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
push	ebx
push	esi
push	edi
mov	esi, ecx
push	dword ptr [esi+28h] ; hMem
xor	ebx, ebx
mov	[ebp+var_8], ebx
mov	[ebp+var_4], ebx
call	ds:GlobalLock
mov	edi, eax
cmp	edi, ebx
jz	short loc_100A591
cmp	dword ptr [edi], 28h
jb	short loc_100A548
xor	eax, eax
cmp	[edi+10h], ebx
setnz	al
mov	[esi+18h], eax
mov	eax, [edi+18h]
mov	[ebp+var_8], eax
mov	eax, [edi+1Ch]
mov	[ebp+var_4], eax

loc_100A548:
push	edi
call	sub_101218B
push	edi
mov	[esi+8], eax
call	sub_10121AF
push	ebx
push	edi
mov	[esi+0Ch], eax
call	sub_10120DA
movzx	eax, ax
cmp	eax, ebx
mov	[esi+10h], eax
jle	short loc_100A58A
cmp	eax, 100h
jg	short loc_100A58A
cmp	eax, 2
jg	short loc_100A57C
mov	[esi+10h], ebx
jmp	short loc_100A591

loc_100A57C:
xor	ecx, ecx
cmp	eax, 10h
setnle	cl
inc	ecx
mov	[esi+10h], ecx
jmp	short loc_100A591

loc_100A58A:
mov	dword ptr [esi+10h], 3

loc_100A591:
xor	edx, edx
cmp	[esi+10h], ebx
setz	dl
cmp	edi, ebx
jz	short loc_100A5A1
xor	ecx, ecx
jmp	short loc_100A5A4

loc_100A5A1:
mov	ecx, [esi+0Ch]

loc_100A5A4:
cmp	edi, ebx
jz	short loc_100A5AC
xor	eax, eax
jmp	short loc_100A5AF

loc_100A5AC:
mov	eax, [esi+8]

loc_100A5AF:
push	dword_103EF58
push	[ebp+var_4]
push	[ebp+var_8]
push	edx
push	edx
push	ecx
push	eax
call	sub_1013E4B
xor	ebx, ebx
cmp	eax, ebx
mov	[esi+4], eax
jnz	short loc_100A5E0

loc_100A5CD:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
xor	edi, edi
jmp	loc_100A716

loc_100A5E0:
mov	ecx, dword_103E768
cmp	ecx, ebx
jz	short loc_100A600
mov	eax, [esi+10h]
dec	eax
neg	eax
sbb	eax, eax
and	eax, 0F0h
add	eax, 10h
push	eax
call	sub_100C9A4

loc_100A600:
cmp	edi, ebx
mov	eax, [esi+4]
mov	ecx, [esi+8]
mov	[eax+2Ch], ecx
mov	eax, [esi+4]
mov	ecx, [esi+0Ch]
mov	[eax+30h], ecx
jnz	short loc_100A644
mov	ecx, [esi+4]
mov	eax, [ecx+38h]
imul	eax, [ecx+34h]
xor	ecx, ecx
inc	ecx
cmp	eax, ecx
ja	short loc_100A62C
mov	[esi+10h], ebx
jmp	short loc_100A644

loc_100A62C:
cmp	eax, 4
ja	short loc_100A636
mov	[esi+10h], ecx
jmp	short loc_100A644

loc_100A636:
push	8
pop	ecx
cmp	ecx, eax
sbb	eax, eax
neg	eax
inc	eax
inc	eax
mov	[esi+10h], eax

loc_100A644:
cmp	edi, ebx
mov	eax, [esi+4]
mov	[eax+4], esi
mov	eax, [esi+4]
mov	ecx, [esi+24h]
mov	[eax+8], ecx
jz	short loc_100A687
mov	eax, [esi+4]
push	dword ptr [eax+0Ch]
push	dword ptr [esi+2Ch]
push	edi
call	sub_101225E
cmp	eax, ebx
jz	loc_100A5CD
mov	ecx, [esi+4]
mov	[ecx+14h], eax
push	eax		; h
mov	eax, [esi+4]
push	dword ptr [eax+0Ch] ; hdc
call	ds:SelectObject
mov	ecx, [esi+4]
mov	[ecx+18h], eax

loc_100A687:
cmp	dword_103EF58, ebx
jz	short loc_100A6A0
mov	eax, [esi+4]
push	dword ptr [eax+0Ch] ; hdc
call	sub_1012C8A
mov	ecx, [esi+4]
mov	[ecx+24h], eax

loc_100A6A0:
mov	dword_103EF88, ebx
mov	eax, [esi+4]
mov	ecx, [eax+24h]
cmp	ecx, ebx
jz	short loc_100A6FB
cmp	dword_103EF58, ebx
jz	short loc_100A6E4
push	ebx		; bForceBkgd
push	dword ptr [ecx+4] ; hPal
push	dword ptr [eax+0Ch] ; hdc
call	ds:SelectPalette
mov	ecx, [esi+4]
mov	[ecx+28h], eax
mov	eax, [esi+4]
push	dword ptr [eax+0Ch] ; hdc
call	ds:RealizePalette
mov	eax, [esi+4]
mov	eax, [eax+24h]
mov	dword_103EF88, eax
jmp	short loc_100A6FB

loc_100A6E4:
cmp	ecx, ebx
jz	short loc_100A6FB
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]
mov	eax, [esi+4]
mov	[eax+24h], ebx
mov	eax, [esi+4]
mov	[eax+28h], ebx

loc_100A6FB:
mov	ecx, dword_103E768
cmp	ecx, ebx
jz	short loc_100A713
xor	eax, eax
cmp	[esi+10h], ebx
setz	al
push	eax
call	sub_100C693

loc_100A713:
xor	edi, edi
inc	edi

loc_100A716:		; hMem
push	dword ptr [esi+28h]
call	ds:GlobalUnlock
mov	eax, edi
pop	edi
pop	esi
pop	ebx
leave
retn
sub_100A509 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100A72B proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	1
push	[ebp+arg_0]
call	sub_10120DA
pop	ebp
retn	4
sub_100A72B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100A743 proc near

var_14=	word ptr -14h
var_A= dword ptr -0Ah
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 14h
xor	eax, eax
cmp	[ebp+arg_4], 3
push	ebx
setz	al
push	esi
push	edi
mov	esi, ecx
mov	[ebp+var_4], eax
xor	eax, eax
cmp	[ebp+arg_4], eax
jz	short loc_100A771
cmp	[ebp+arg_4], 2
jz	short loc_100A771
cmp	[ebp+var_4], eax
mov	[ebp+arg_4], eax
jz	short loc_100A778

loc_100A771:
mov	[ebp+arg_4], 1

loc_100A778:
mov	edi, [ebp+arg_0]
mov	eax, [edi]
mov	ecx, edi
call	dword ptr [eax+38h]
mov	ebx, eax
test	ebx, ebx
jnz	short loc_100A79F
cmp	[esi+28h], eax
jz	short loc_100A794
mov	ecx, esi
call	sub_100A42D

loc_100A794:
xor	eax, eax
inc	eax
mov	[esi+24h], eax
jmp	loc_100A887

loc_100A79F:
cmp	[ebp+var_4], 0
jz	short loc_100A7BE
mov	eax, [edi]
push	4
lea	ecx, [ebp+var_4]
push	ecx
mov	ecx, edi
call	dword ptr [eax+3Ch]
cmp	eax, 4
jnz	short loc_100A7F3
cmp	[ebp+var_4], ebx
ja	short loc_100A7F3
sub	ebx, eax

loc_100A7BE:
and	dword ptr [esi+2Ch], 0
cmp	[ebp+arg_4], 0
jz	short loc_100A80F
mov	eax, [edi]
push	0Eh
lea	ecx, [ebp+var_14]
push	ecx
mov	ecx, edi
call	dword ptr [eax+3Ch]
cmp	eax, 0Eh
jnz	short loc_100A7F3
cmp	[ebp+var_14], 4D42h
jnz	short loc_100A7F3
sub	ebx, eax
mov	eax, [ebp+var_A]
test	eax, eax
jz	short loc_100A80B
add	eax, 0FFFFFFF2h
mov	[esi+2Ch], eax
jmp	short loc_100A80F

loc_100A7F3:
push	0
push	3F4h
push	804h
mov	ecx, offset unk_103EE08
call	sub_101F370
jmp	short loc_100A82A

loc_100A80B:
and	dword ptr [esi+2Ch], 0

loc_100A80F:
cmp	dword ptr [esi+28h], 0
jz	short loc_100A81C
mov	ecx, esi
call	sub_100A42D

loc_100A81C:
mov	ecx, esi
mov	[esi+30h], ebx
call	sub_100A3F7
test	eax, eax
jnz	short loc_100A82E

loc_100A82A:
xor	eax, eax
jmp	short loc_100A887

loc_100A82E:		; hMem
push	dword ptr [esi+28h]
call	ds:GlobalLock
mov	[ebp+var_4], eax
mov	[ebp+arg_4], eax
jmp	short loc_100A85F

loc_100A83F:
mov	edi, 4000h
cmp	ebx, edi
jnb	short loc_100A84A
mov	edi, ebx

loc_100A84A:
mov	ecx, [ebp+arg_0]
mov	eax, [ecx]
push	edi
push	[ebp+arg_4]
call	dword ptr [eax+3Ch]
cmp	eax, edi
jnz	short loc_100A88E
sub	ebx, edi
add	[ebp+arg_4], edi

loc_100A85F:
test	ebx, ebx
ja	short loc_100A83F
cmp	dword ptr [esi+2Ch], 0
jnz	short loc_100A879
push	0
push	[ebp+var_4]
call	sub_1012163
sub	eax, [ebp+var_4]
mov	[esi+2Ch], eax

loc_100A879:
xor	edi, edi
inc	edi

loc_100A87C:		; hMem
push	dword ptr [esi+28h]
call	ds:GlobalUnlock
mov	eax, edi

loc_100A887:
pop	edi
pop	esi
pop	ebx
leave
retn	8

loc_100A88E:
xor	edi, edi
push	edi
push	3E9h
push	804h
mov	ecx, offset unk_103EE08
call	sub_101F370
jmp	short loc_100A87C
sub_100A743 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100A8AC(HGLOBAL hMem)
sub_100A8AC proc near

hMem= dword ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
push	[ebp+hMem]	; hMem
mov	edi, ecx
call	ds:GlobalLock
mov	esi, eax
test	esi, esi
jz	loc_100A952
cmp	dword ptr [esi], 28h
jnz	loc_100A952
mov	eax, [esi+20h]
lea	eax, ds:28h[eax*4]
mov	[edi+2Ch], eax
cmp	dword ptr [esi+20h], 0
jnz	short loc_100A8F9
mov	cx, [esi+0Eh]
cmp	cx, 8
ja	short loc_100A8F9
xor	edx, edx
inc	edx
shl	edx, cl
lea	eax, [eax+edx*4]
mov	[edi+2Ch], eax

loc_100A8F9:
mov	eax, [esi+14h]
test	eax, eax
jz	short loc_100A90A
cdq
xor	eax, edx
sub	eax, edx
mov	[esi+14h], eax
jmp	short loc_100A929

loc_100A90A:
movzx	ecx, word ptr [esi+0Eh]
imul	ecx, [esi+4]
mov	eax, [esi+8]
cdq
xor	eax, edx
add	ecx, 1Fh
sub	eax, edx
and	ecx, 0FFFFFFE0h
imul	eax, ecx
push	8
cdq
pop	ecx
idiv	ecx

loc_100A929:
cmp	dword ptr [edi+28h], 0
mov	esi, eax
jz	short loc_100A938
mov	ecx, edi
call	sub_100A42D

loc_100A938:
mov	eax, [edi+2Ch]
add	eax, esi
mov	[edi+30h], eax
mov	eax, [ebp+hMem]
push	eax		; hMem
mov	[edi+28h], eax
call	ds:GlobalUnlock
xor	eax, eax
inc	eax
jmp	short loc_100A96A

loc_100A952:
push	0
push	3F4h
push	804h
mov	ecx, offset unk_103EE08
call	sub_101F370
xor	eax, eax

loc_100A96A:
pop	edi
pop	esi
pop	ebp
retn	4
sub_100A8AC endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100A975 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
push	dword ptr [esi+4] ; void *
call	sub_1011F70
call	sub_1012498
call	sub_1012028
and	dword ptr [esi+4], 0
mov	ecx, esi
call	sub_100A509
test	eax, eax
jz	short loc_100A9E1
push	ebx
push	edi
mov	edi, [ebp+arg_0]
mov	eax, [edi]
mov	ecx, edi
call	dword ptr [eax+68h]
lea	ecx, [ebp+arg_0]
mov	[ebp+arg_0], eax
mov	eax, [edi]
push	ecx
mov	ecx, edi
call	dword ptr [eax+6Ch]
mov	ebx, eax
test	ebx, ebx
jz	short loc_100A9DF
push	dword ptr [esi+4]
mov	ecx, [ebx+44h]
call	sub_1018C32
push	0
push	0
push	ebx
mov	ecx, edi
call	?UpdateAllViews@CDocument@@QAEXPAVCView@@JPAVCObject@@@Z ; CDocument::UpdateAllViews(CView *,long,CObject *)
push	0		; lprcSrc2
push	dword ptr [esi+4] ; int
call	sub_101282E

loc_100A9DF:
pop	edi
pop	ebx

loc_100A9E1:
pop	esi
pop	ebp
retn	4
sub_100A975 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100A9EB(void *)
sub_100A9EB proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+arg_0]	; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx
pop	ebp
retn	4
sub_100A9EB endp

db 5 dup(0CCh)



sub_100AA02 proc near
mov	eax, offset loc_103581D
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
call	??0CException@@QAE@XZ ;	CException::CException(void)
and	dword ptr [ebp-4], 0
lea	edi, [esi+10h]
mov	ecx, edi
mov	dword ptr [esi], offset	off_1002100
call	??0CString@@QAE@XZ ; CString::CString(void)
mov	eax, [ebp+8]
push	dword ptr [ebp+10h]
mov	[esi+8], eax
mov	eax, [ebp+0Ch]
mov	ecx, edi
mov	byte ptr [ebp-4], 1
mov	[esi+0Ch], eax
call	??4CString@@QAEABV0@PBG@Z ; CString::operator=(ushort const *)
mov	ecx, [ebp-0Ch]
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn	0Ch
sub_100AA02 endp

db 5 dup(0CCh)



sub_100AA5E proc near
mov	eax, offset loc_1035834
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_1002100
and	dword ptr [ebp-4], 0
lea	ecx, [esi+10h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
mov	dword ptr [esi], offset	off_1001F6C
pop	esi
mov	large fs:0, ecx
leave
retn
sub_100AA5E endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100AA99 proc near

var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 0Ch
push	esi
mov	esi, ecx
mov	eax, [esi+4]
push	edi
xor	edi, edi
cmp	eax, edi
jz	short loc_100AAC2
cmp	[ebp+arg_0], edi
jz	short loc_100AAF4
cmp	[esi+28h], edi
jz	short loc_100AACA
cmp	[eax+8], edi
jnz	short loc_100AACA
cmp	[esi+24h], edi
jnz	short loc_100AACA

loc_100AAC2:
xor	eax, eax
inc	eax
jmp	loc_100ABD8

loc_100AACA:
mov	ecx, [eax+8]
or	[esi+24h], ecx
cmp	eax, dword_103E804
jnz	short loc_100AADE
mov	dword_103E804, edi

loc_100AADE:
mov	eax, [esi+4]
cmp	eax, dword_103E848
jnz	short loc_100AAEF
mov	dword_103E848, edi

loc_100AAEF:
call	sub_10129FB

loc_100AAF4:
mov	eax, [esi+14h]
cmp	eax, edi
mov	ecx, [esi+10h]
mov	[ebp+var_8], edi
jl	short loc_100AB07
or	dword ptr [esi+14h], 0FFFFFFFFh
mov	ecx, eax

loc_100AB07:
cmp	[esi+18h], edi
jz	short loc_100AB24
mov	eax, ecx
dec	eax
jz	short loc_100AB1D
dec	eax
jnz	short loc_100AB24
mov	[ebp+var_8], 1
jmp	short loc_100AB24

loc_100AB1D:
mov	[ebp+var_8], 2

loc_100AB24:
sub	ecx, edi
jz	short loc_100AB51
dec	ecx
jz	short loc_100AB48
dec	ecx
jz	short loc_100AB3F
dec	ecx
jz	short loc_100AB36
mov	[ebp+var_4], edi
jmp	short loc_100AB58

loc_100AB36:
mov	[ebp+var_4], 18h
jmp	short loc_100AB58

loc_100AB3F:
mov	[ebp+var_4], 8
jmp	short loc_100AB58

loc_100AB48:
mov	[ebp+var_4], 4
jmp	short loc_100AB58

loc_100AB51:
mov	[ebp+var_4], 1

loc_100AB58:
mov	eax, [esi+4]
mov	edi, ds:SelectObject
push	ebx
push	dword ptr [eax+18h] ; h
mov	ebx, [eax+14h]
push	dword ptr [eax+0Ch] ; hdc
call	edi ; SelectObject
mov	eax, [esi+4]
push	dword ptr [eax+40h] ; hdc
push	dword ptr [eax+3Ch] ; h
lea	eax, [ebp+var_C]
push	eax		; int
push	0		; int
push	dword_103EF88	; int
push	[ebp+var_4]	; int
push	[ebp+var_8]	; int
push	ebx		; hbm
call	sub_1012D33
mov	ebx, eax
mov	eax, [esi+4]
push	dword ptr [eax+14h] ; h
push	dword ptr [eax+0Ch] ; hdc
call	edi ; SelectObject
xor	edi, edi
cmp	ebx, edi
jnz	short loc_100ABB1
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
xor	eax, eax
jmp	short loc_100ABD7

loc_100ABB1:
cmp	[esi+28h], edi
jz	short loc_100ABBD
mov	ecx, esi
call	sub_100A42D

loc_100ABBD:
cmp	[ebp+arg_0], edi
mov	eax, [ebp+var_C]
mov	[esi+2Ch], edi
mov	[esi+28h], ebx
mov	[esi+30h], eax
jz	short loc_100ABD4
mov	eax, [esi+4]
mov	[eax+8], edi

loc_100ABD4:
xor	eax, eax
inc	eax

loc_100ABD7:
pop	ebx

loc_100ABD8:
pop	edi
pop	esi
leave
retn	4
sub_100AA99 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_100ABE3(LPRECT lprc, int xLeft, int yTop, int xRight, int yBottom)
sub_100ABE3 proc near

xLeft= dword ptr  8
yTop= dword ptr	 0Ch
xRight=	dword ptr  10h
yBottom= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+yBottom]	; yBottom
push	[ebp+xRight]	; xRight
push	[ebp+yTop]	; yTop
push	[ebp+xLeft]	; xLeft
push	ecx		; lprc
call	ds:SetRect
pop	ebp
retn	10h
sub_100ABE3 endp

db 5 dup(0CCh)



sub_100AC04 proc near
mov	dword ptr [ecx], offset	off_1002120
jmp	sub_10096BE
sub_100AC04 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100AC14(int	nWidth,	int nHeight, UINT nPlanes, UINT	nBitCount, void	*lpBits)
sub_100AC14 proc near

nWidth=	dword ptr  8
nHeight= dword ptr  0Ch
nPlanes= dword ptr  10h
nBitCount= dword ptr  14h
lpBits=	dword ptr  18h

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+lpBits]	; lpBits
mov	esi, ecx
push	[ebp+nBitCount]	; nBitCount
push	[ebp+nPlanes]	; nPlanes
push	[ebp+nHeight]	; nHeight
push	[ebp+nWidth]	; nWidth
call	ds:CreateBitmap
push	eax
mov	ecx, esi
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
pop	esi
pop	ebp
retn	14h
sub_100AC14 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100AC43(int, int, int cy)
sub_100AC43 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
cy= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
push	esi
push	[ebp+cy]	; cy
mov	esi, ecx
push	[ebp+arg_4]	; cx
push	dword ptr [eax+4] ; hdc
call	ds:CreateCompatibleBitmap
push	eax
mov	ecx, esi
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
pop	esi
pop	ebp
retn	0Ch
sub_100AC43 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100AC6F(RECT *lprc,	HBRUSH hbr)
sub_100AC6F proc near

lprc= dword ptr	 8
hbr= dword ptr	0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+hbr]
test	eax, eax
jz	short loc_100AC7E
mov	eax, [eax+4]

loc_100AC7E:		; hbr
push	eax
push	[ebp+lprc]	; lprc
push	dword ptr [ecx+4] ; hDC
call	ds:FillRect
pop	ebp
retn	8
sub_100AC6F endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100AC94(int	x, int y, int w, int h,	DWORD rop)
sub_100AC94 proc near

x= dword ptr  8
y= dword ptr  0Ch
w= dword ptr  10h
h= dword ptr  14h
rop= dword ptr	18h

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+rop]	; rop
push	[ebp+h]		; h
push	[ebp+w]		; w
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [ecx+4] ; hdc
call	ds:PatBlt
pop	ebp
retn	14h
sub_100AC94 endp

db 5 dup(0CCh)



sub_100ACBA proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	ecx, [eax+4]
call	?BeginWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::BeginWaitCursor(void)
mov	eax, esi
pop	esi
retn
sub_100ACBA endp

db 5 dup(0CCh)

loc_100ACD5:		; AfxGetModuleState(void)
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ
mov	ecx, [eax+4]
jmp	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100ACE7 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
mov	ecx, [ebp+arg_0]
test	ecx, ecx
jz	short loc_100ACFC
push	esi
call	sub_100A385

loc_100ACFC:
push	4
lea	eax, [ebp+arg_0]
push	eax
mov	ecx, esi
call	sub_102F961
pop	esi
pop	ebp
retn	4
sub_100ACE7 endp

db 5 dup(0CCh)



sub_100AD13 proc near
mov	eax, offset loc_1035834
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
xor	edi, edi
push	0Ah
lea	ecx, [esi+40h]
mov	[ebp-4], edi
mov	dword ptr [esi], offset	off_1002138
call	??0CObList@@QAE@H@Z ; CObList::CObList(int)
or	dword ptr [esi+14h], 0FFFFFFFFh
mov	ecx, [ebp-0Ch]
mov	[esi+24h], edi
mov	[esi+20h], edi
mov	[esi+28h], edi
mov	[esi+30h], edi
mov	[esi+4], edi
mov	[esi+8], edi
mov	[esi+0Ch], edi
mov	[esi+10h], edi
mov	[esi+18h], edi
mov	[esi+1Ch], edi
mov	[esi+2Ch], edi
mov	[esi+34h], edi
mov	[esi+38h], edi
mov	[esi+3Ch], edi
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_100AD13 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100AD7D proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, ecx
mov	esi, [edi+44h]
jmp	short loc_100AD9B

loc_100AD8B:
push	[ebp+arg_0]
mov	eax, esi
mov	ecx, [eax+8]
mov	esi, [esi]
push	edi
call	sub_100A3B2

loc_100AD9B:
test	esi, esi
jnz	short loc_100AD8B
pop	edi
pop	esi
pop	ebp
retn	4
sub_100AD7D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100ADAA proc near

var_474= dword ptr -474h
var_470= dword ptr -470h
var_46C= dword ptr -46Ch
var_468= word ptr -468h
var_466= word ptr -466h
var_464= dword ptr -464h
var_44C= byte ptr -44Ch
var_44B= byte ptr -44Bh
var_44A= byte ptr -44Ah
var_449= byte ptr -449h
var_4C=	dword ptr -4Ch
var_48=	dword ptr -48h
var_44=	dword ptr -44h
var_40=	dword ptr -40h
var_3C=	dword ptr -3Ch
var_38=	dword ptr -38h
var_34=	dword ptr -34h
var_30=	dword ptr -30h
var_2C=	word ptr -2Ch
var_2A=	dword ptr -2Ah
var_26=	word ptr -26h
var_24=	word ptr -24h
var_22=	dword ptr -22h
var_1C=	dword ptr -1Ch
var_18=	dword ptr -18h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 474h
xor	eax, eax
cmp	[ebp+arg_4], 3
push	ebx
setz	al
push	edi
xor	edi, edi
cmp	[ebp+arg_4], edi
mov	ebx, ecx
mov	[ebp+var_1C], ebx
mov	[ebp+var_14], eax
jz	short loc_100ADDC
cmp	[ebp+arg_4], 2
jz	short loc_100ADDC
cmp	eax, edi
mov	[ebp+var_10], edi
jz	short loc_100ADE3

loc_100ADDC:
mov	[ebp+var_10], 1

loc_100ADE3:
cmp	[ebx+4], edi
jz	short loc_100ADF5
cmp	[ebx+28h], edi
jnz	short loc_100ADF5
push	edi
mov	ecx, ebx
call	sub_100AA99

loc_100ADF5:
mov	eax, [ebx+28h]
cmp	eax, edi
jnz	short loc_100AE03
xor	eax, eax
jmp	loc_100AFF7

loc_100AE03:
push	esi
push	eax		; hMem
call	ds:GlobalLock
mov	ebx, [ebx+30h]
mov	esi, eax
mov	[ebp+arg_4], ebx
mov	[ebp+var_18], edi
mov	edi, [esi]
push	esi
mov	[ebp+var_4], ebx
mov	[ebp+var_8], esi
call	sub_1012128
movzx	ebx, ax
add	ebx, edi
cmp	[ebp+var_14], 0
mov	[ebp+var_C], ebx
jz	loc_100AF1B
push	28h
pop	edx
cmp	edi, edx
jnb	loc_100AEE5
xor	eax, eax
push	0Ah
pop	ecx
lea	edi, [ebp+var_474]
rep stosd
mov	[ebp+var_474], edx
movzx	eax, word ptr [esi+4]
mov	[ebp+var_470], eax
movzx	eax, word ptr [esi+6]
mov	[ebp+var_46C], eax
mov	ax, [esi+8]
mov	[ebp+var_468], ax
mov	ax, [esi+0Ah]
and	[ebp+var_464], 0
push	esi
mov	[ebp+var_466], ax
call	sub_100A72B
movzx	eax, ax
dec	eax
js	short loc_100AECA
lea	ecx, [esi+eax*2]
lea	ecx, [eax+ecx+0Dh]

loc_100AE98:
mov	dl, [ecx-1]
mov	edi, eax
shl	edi, 2
mov	[ebp+edi+var_44C], dl
mov	dl, [ecx]
mov	[ebp+edi+var_44B], dl
mov	dl, [ecx+1]
dec	eax
sub	ecx, 3
test	eax, eax
mov	[ebp+edi+var_44A], dl
mov	[ebp+edi+var_449], 0
jge	short loc_100AE98

loc_100AECA:
lea	eax, [ebp+var_474]
push	eax
mov	[ebp+var_8], eax
call	sub_1012128
movzx	eax, ax
add	eax, [ebp+var_474]
mov	[ebp+var_C], eax

loc_100AEE5:
mov	eax, [ebp+var_C]
sub	eax, ebx
add	[ebp+arg_4], eax
add	[ebp+var_4], eax
cmp	[ebp+var_10], 0
jz	short loc_100AF09
mov	eax, [ebp+arg_4]
add	eax, 2Dh
and	eax, 0FFFFFFE0h
mov	[ebp+var_18], 0Eh
mov	[ebp+arg_4], eax

loc_100AF09:
mov	edi, [ebp+arg_0]
mov	eax, [edi]
push	4
lea	ecx, [ebp+arg_4]
push	ecx
mov	ecx, edi
call	dword ptr [eax+40h]
jmp	short loc_100AF1E

loc_100AF1B:
mov	edi, [ebp+arg_0]

loc_100AF1E:
xor	eax, eax
cmp	[ebp+var_10], eax
jz	short loc_100AF60
mov	ecx, [ebp+var_4]
push	[ebp+var_8]
add	ecx, 0Eh
mov	[ebp+var_2C], 4D42h
mov	[ebp+var_2A], ecx
mov	[ebp+var_26], ax
mov	[ebp+var_24], ax
call	sub_1012128
mov	ecx, [ebp+var_8]
mov	ecx, [ecx]
movzx	eax, ax
lea	eax, [eax+ecx+0Eh]
push	0Eh
lea	ecx, [ebp+var_2C]
mov	[ebp+var_22], eax
mov	eax, [edi]
push	ecx
mov	ecx, edi
call	dword ptr [eax+40h]

loc_100AF60:
push	[ebp+var_C]
mov	eax, [edi]
push	[ebp+var_8]
mov	ecx, edi
call	dword ptr [eax+40h]
mov	eax, [edi]
add	ebx, esi
mov	esi, [ebp+var_4]
sub	esi, [ebp+var_C]
mov	ecx, edi
call	dword ptr [eax+14h]
xor	ecx, ecx
cmp	esi, ecx
jbe	short loc_100AFA6

loc_100AF82:
mov	eax, 4000h
cmp	esi, eax
mov	[ebp+arg_0], esi
jb	short loc_100AF91
mov	[ebp+arg_0], eax

loc_100AF91:
push	[ebp+arg_0]
mov	eax, [edi]
push	ebx
mov	ecx, edi
call	dword ptr [eax+40h]
add	ebx, [ebp+arg_0]
sub	esi, [ebp+arg_0]
jnz	short loc_100AF82
xor	ecx, ecx

loc_100AFA6:
mov	eax, [ebp+arg_4]
sub	eax, [ebp+var_18]
cmp	eax, [ebp+var_4]
mov	[ebp+arg_4], eax
jbe	short loc_100AFDD
sub	eax, [ebp+var_4]
mov	edx, [edi]
push	eax
lea	eax, [ebp+var_4C]
mov	[ebp+var_4C], ecx
mov	[ebp+var_48], ecx
mov	[ebp+var_44], ecx
mov	[ebp+var_40], ecx
mov	[ebp+var_3C], ecx
mov	[ebp+var_38], ecx
mov	[ebp+var_34], ecx
mov	[ebp+var_30], ecx
push	eax
mov	ecx, edi
call	dword ptr [edx+40h]
xor	ecx, ecx

loc_100AFDD:
mov	esi, [ebp+var_1C]
mov	[esi+24h], ecx
mov	eax, [edi]
mov	ecx, edi
call	dword ptr [eax+50h]
push	dword ptr [esi+28h] ; hMem
call	ds:GlobalUnlock
xor	eax, eax
inc	eax
pop	esi

loc_100AFF7:
pop	edi
pop	ebx
leave
retn	8
sub_100ADAA endp

db 5 dup(0CCh)



sub_100B002 proc near
mov	eax, offset loc_103585B
call	sub_1034E18
sub	esp, 3Ch
push	ebx
push	esi
push	edi
mov	edi, ecx
lea	ecx, [ebp-34h]
mov	[ebp-10h], esp
mov	[ebp-18h], edi
call	??0CFile@@QAE@XZ ; CFile::CFile(void)
xor	ebx, ebx
push	ebx
push	0FFFFFFFFh
push	ebx
lea	ecx, [ebp-48h]
mov	[ebp-4], ebx
call	sub_100AA02
push	dword ptr [ebp+8]
mov	esi, offset unk_103EE08
push	ebx
push	804h
mov	ecx, esi
mov	byte ptr [ebp-4], 1
call	sub_101F370
lea	eax, [ebp-48h]
push	eax
push	8020h
push	dword ptr [ebp+8]
lea	ecx, [ebp-34h]
call	?Open@CFile@@UAEHPBGIPAVCFileException@@@Z ; CFile::Open(ushort	const *,uint,CFileException *)
test	eax, eax
jnz	short loc_100B07B
push	ebx
push	dword ptr [ebp-40h]
mov	ecx, esi
push	804h
call	sub_101F370
xor	esi, esi
jmp	loc_100B118

loc_100B07B:
lea	ecx, [ebp-24h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
push	ebx
lea	eax, [ebp-34h]
push	eax
mov	ecx, edi
mov	byte ptr [ebp-4], 3
call	sub_100A743
lea	ecx, [ebp-34h]
mov	[ebp-14h], eax
call	?Close@CFile@@UAEXXZ ; CFile::Close(void)
jmp	short loc_100B0C2
mov	eax, [ebp-1Ch]
lea	ecx, [ebp-34h]
mov	[ebp-20h], eax
call	?Abort@CFile@@UAEXXZ ; CFile::Abort(void)
and	dword ptr [ebp-14h], 0
mov	eax, offset loc_100B0B8
retn

loc_100B0B8:
mov	edi, [ebp-18h]
xor	ebx, ebx
mov	esi, offset unk_103EE08

loc_100B0C2:
mov	dword ptr [ebp-4], 1
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
cmp	[ebp-14h], ebx
jnz	short loc_100B115
lea	eax, [edi+3Ch]
push	eax		; int
lea	eax, [edi+38h]
push	eax		; int
lea	eax, [edi+34h]
push	eax		; int
push	offset unk_103F108 ; int
push	dword ptr [ebp+8] ; lpString
call	sub_10307FD
cmp	eax, ebx
jz	short loc_100B115
push	eax		; hMem
mov	ecx, edi
call	sub_100A8AC
cmp	eax, ebx
mov	[ebp-14h], eax
mov	ecx, esi
push	ebx
jz	short loc_100B106
push	ebx
push	ebx
jmp	short loc_100B110

loc_100B106:
push	3F4h
push	804h

loc_100B110:
call	sub_101F370

loc_100B115:
mov	esi, [ebp-14h]

loc_100B118:
lea	ecx, [ebp-48h]
mov	[ebp-4], bl
call	sub_100AA5E
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-34h]
call	??1CFile@@UAE@XZ ; CFile::~CFile(void)
mov	ecx, [ebp-0Ch]
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	4
sub_100B002 endp

db 5 dup(0CCh)



sub_100B147 proc near
mov	eax, offset loc_103588A
call	sub_1034E18
sub	esp, 38h
push	ebx
push	esi
push	edi
lea	ecx, [ebp-34h]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
and	dword ptr [ebp-4], 0
lea	ecx, [ebp-24h]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
lea	ecx, [ebp-44h]
mov	byte ptr [ebp-4], 1
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
push	dword ptr [ebp+8]
lea	ecx, [ebp-24h]
mov	byte ptr [ebp-4], 2
call	?Attach@CDC@@QAEHPAUHDC__@@@Z ;	CDC::Attach(HDC__ *)
push	dword ptr [ebp+1Ch]
lea	ecx, [ebp-44h]
call	?Attach@CDC@@QAEHPAUHDC__@@@Z ;	CDC::Attach(HDC__ *)
lea	eax, [ebp-24h]
push	eax		; hdc
lea	ecx, [ebp-34h]
call	sub_1009779
mov	ecx, eax
mov	eax, 10000h
cdq
idiv	dword ptr [ebp+14h]
xor	edi, edi
inc	edi
mov	edx, eax
cmp	edx, edi
mov	[ebp+8], edx
mov	eax, edi
jl	short loc_100B1B8
mov	eax, edx

loc_100B1B8:
mov	ebx, [ebp+18h]
cmp	ebx, eax
jge	short loc_100B1C4
mov	[ebp+8], ebx
jmp	short loc_100B1CB

loc_100B1C4:
cmp	edx, edi
jge	short loc_100B1CB
mov	[ebp+8], edi

loc_100B1CB:
and	dword ptr [ebp-10h], 0
mov	esi, offset off_1001F9C
mov	[ebp-14h], esi
test	ecx, ecx
mov	byte ptr [ebp-4], 3
jz	short loc_100B205
push	dword ptr [ebp+8] ; cy
lea	eax, [ebp-24h]
push	dword ptr [ebp+14h] ; int
lea	ecx, [ebp-14h]
push	eax		; int
call	sub_100AC43
test	eax, eax
jz	short loc_100B205
lea	eax, [ebp-14h]
push	eax
lea	ecx, [ebp-34h]
call	sub_1032D5B
test	eax, eax
jnz	short loc_100B21A

loc_100B205:
lea	ecx, [ebp-24h]
call	?Detach@CDC@@QAEPAUHDC__@@XZ ; CDC::Detach(void)
lea	ecx, [ebp-44h]
call	?Detach@CDC@@QAEPAUHDC__@@XZ ; CDC::Detach(void)
jmp	loc_100B2D7

loc_100B21A:
cmp	dword ptr [ebp+28h], 0
jz	short loc_100B235
push	edi
push	dword ptr [ebp+28h]
lea	ecx, [ebp-34h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [ebp-30h] ; hdc
call	ds:RealizePalette

loc_100B235:
xor	edi, edi
test	ebx, ebx
jle	loc_100B2BF
mov	esi, 0CC0020h

loc_100B244:
mov	eax, [ebp+18h]
sub	eax, edi
cmp	[ebp+8], eax
jl	short loc_100B251
mov	[ebp+8], eax

loc_100B251:
mov	eax, [ebp+10h]
push	esi		; rop
lea	ebx, [edi+eax]
push	ebx		; y1
push	dword ptr [ebp+0Ch] ; x1
lea	eax, [ebp-24h]
push	eax		; hdcSrc
push	dword ptr [ebp+8] ; cy
lea	ecx, [ebp-34h]
push	dword ptr [ebp+14h] ; int
push	0		; y
push	0		; x
call	sub_10097A4
mov	eax, [ebp+24h]
push	esi		; rop
add	eax, edi
push	eax		; y1
push	dword ptr [ebp+20h] ; x1
mov	[ebp+28h], eax
lea	eax, [ebp-44h]
push	eax		; hdcSrc
push	dword ptr [ebp+8] ; cy
lea	ecx, [ebp-24h]
push	dword ptr [ebp+14h] ; int
push	ebx		; y
push	dword ptr [ebp+0Ch] ; x
call	sub_10097A4
push	esi		; rop
push	0		; y1
push	0		; x1
lea	eax, [ebp-34h]
push	eax		; hdcSrc
push	dword ptr [ebp+8] ; cy
lea	ecx, [ebp-44h]
push	dword ptr [ebp+14h] ; int
push	dword ptr [ebp+28h] ; y
push	dword ptr [ebp+20h] ; x
call	sub_10097A4
add	edi, [ebp+8]
cmp	edi, [ebp+18h]
jl	short loc_100B244
mov	esi, offset off_1001F9C

loc_100B2BF:
lea	ecx, [ebp-24h]
call	?Detach@CDC@@QAEPAUHDC__@@XZ ; CDC::Detach(void)
lea	ecx, [ebp-44h]
call	?Detach@CDC@@QAEPAUHDC__@@XZ ; CDC::Detach(void)
lea	ecx, [ebp-34h]
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)

loc_100B2D7:
lea	ecx, [ebp-14h]
mov	[ebp-14h], esi
mov	byte ptr [ebp-4], 2
call	sub_10096BE
lea	ecx, [ebp-44h]
mov	byte ptr [ebp-4], 1
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
lea	ecx, [ebp-24h]
mov	byte ptr [ebp-4], 0
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-34h]
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	24h
sub_100B147 endp

align 10h


; Attributes: bp-based frame

; int __stdcall	sub_100B320(int, HPALETTE hPal)
sub_100B320 proc near

rcSrc2=	RECT ptr -18h
var_8= byte ptr	-8
h= dword ptr -4
arg_0= dword ptr  8
hPal= dword ptr	 0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 18h
cmp	[ebp+hPal], 3E8h
push	ebx
mov	ebx, ecx
jnz	loc_100B4D6
mov	eax, off_103D74C
mov	eax, [eax+30h]
cmp	eax, 26Ch
push	esi
jz	short loc_100B34F
cmp	eax, 26Dh
jnz	short loc_100B370

loc_100B34F:
xor	esi, esi
cmp	dword_103E804, esi
jz	short loc_100B370
call	sub_10129FB
push	esi		; lprcSrc2
push	dword_103E804	; int
call	sub_101282E
mov	dword_103E804, esi

loc_100B370:
push	edi
mov	edi, [ebp+arg_0]
push	4
lea	eax, [ebp+var_8]
push	eax
mov	ecx, edi
call	sub_102F9E7
push	10h
lea	eax, [ebp+rcSrc2]
push	eax
mov	ecx, edi
call	sub_102F9E7
mov	esi, [edi+14h]
push	4
lea	eax, [ebp+h]
push	eax
mov	ecx, edi
call	sub_102F9E7
mov	edi, [edi+4]
xor	eax, eax
add	edi, esi
stosd
push	dword ptr [ebx+4] ; hPal
call	sub_1012A88
push	dword ptr [ebx+4] ; h
call	sub_101356F
call	sub_10129FB
mov	eax, [ebx+4]
push	dword ptr [eax+0Ch] ; hdc
call	ds:CreateCompatibleDC
mov	edi, eax
test	edi, edi
jnz	short loc_100B3DE
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	loc_100B4D4

loc_100B3DE:		; h
push	[ebp+h]
mov	esi, ds:SelectObject
and	[ebp+hPal], 0
push	edi		; hdc
call	esi ; SelectObject
mov	[ebp+arg_0], eax
mov	eax, [ebx+4]
mov	eax, [eax+24h]
test	eax, eax
jz	short loc_100B411
push	0		; bForceBkgd
push	dword ptr [eax+4] ; hPal
push	edi		; hdc
call	ds:SelectPalette
push	edi		; hdc
mov	[ebp+hPal], eax
call	ds:RealizePalette

loc_100B411:
mov	eax, [ebx+4]
push	dword ptr [eax+24h]
mov	ecx, [ebp+rcSrc2.bottom]
sub	ecx, [ebp+rcSrc2.top]
push	0
push	0
push	edi
push	ecx
mov	ecx, [ebp+rcSrc2.right]
sub	ecx, [ebp+rcSrc2.left]
push	ecx
push	[ebp+rcSrc2.top]
push	[ebp+rcSrc2.left]
push	dword ptr [eax+0Ch]
call	sub_100B147
cmp	[ebp+hPal], 0
jz	short loc_100B44A
push	0		; bForceBkgd
push	[ebp+hPal]	; hPal
push	edi		; hdc
call	ds:SelectPalette

loc_100B44A:		; h
push	[ebp+arg_0]
push	edi		; hdc
call	esi ; SelectObject
push	edi		; hdc
call	ds:DeleteDC
lea	eax, [ebp+rcSrc2]
push	eax		; lprcSrc2
push	dword ptr [ebx+4] ; int
call	sub_101282E
lea	eax, [ebp+rcSrc2]
push	eax		; hPal
push	dword ptr [ebx+4] ; int
call	sub_10128D0
push	4
lea	eax, [ebp+h]
mov	esi, offset unk_103F3A0
push	eax
mov	ecx, esi
call	sub_102F961
push	10h
lea	eax, [ebp+rcSrc2]
push	eax
mov	ecx, esi
call	sub_102F961
push	4
lea	eax, [ebp+hPal]
push	eax
mov	ecx, esi
mov	[ebp+hPal], 14h
call	sub_102F961
push	4
lea	eax, [ebp+hPal]
push	eax
mov	ecx, esi
mov	[ebp+hPal], 3E8h
call	sub_102F961
mov	eax, [ebx+4]
push	dword ptr [eax+4]
mov	ecx, esi
call	sub_100ACE7
push	1
lea	eax, [ebp+hPal+3]
push	eax
mov	ecx, esi
mov	byte ptr [ebp+hPal+3], 2
call	sub_102F961

loc_100B4D4:
pop	edi
pop	esi

loc_100B4D6:
pop	ebx
leave
retn	8
sub_100B320 endp

align 10h


; Attributes: bp-based frame

; int __stdcall	sub_100B4E0(int, HGDIOBJ ho)
sub_100B4E0 proc near

var_10=	byte ptr -10h
arg_0= dword ptr  8
ho= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
cmp	[ebp+ho], 3E8h
jnz	short locret_100B51C
mov	ecx, [ebp+arg_0]
push	10h
lea	eax, [ebp+var_10]
push	eax
call	sub_102F9E7
mov	ecx, [ebp+arg_0]
push	4
lea	eax, [ebp+ho]
push	eax
call	sub_102F9E7
cmp	[ebp+ho], 0
jz	short locret_100B51C
push	[ebp+ho]	; ho
call	ds:DeleteObject

locret_100B51C:
leave
retn	8
sub_100B4E0 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100B525(int	hdc)
sub_100B525 proc near

rc= tagRECT ptr	-28h
var_18=	dword ptr -18h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
hPal= dword ptr	-0Ch
h= dword ptr -8
var_4= dword ptr -4
hdc= dword ptr	8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 28h
push	ebx
push	esi
mov	esi, [ebp+hdc]
test	esi, esi
push	edi
mov	ebx, ecx
jnz	short loc_100B550
mov	eax, [ebx+4]
push	dword ptr [eax+30h] ; yBottom
push	dword ptr [eax+2Ch] ; xRight
lea	eax, [ebp+rc]
push	esi		; yTop
push	esi		; xLeft
push	eax		; lprc
call	ds:SetRect
jmp	short loc_100B557

loc_100B550:
lea	edi, [ebp+rc]
movsd
movsd
movsd
movsd

loc_100B557:
mov	eax, [ebp+rc.right]
xor	esi, esi
cmp	[ebp+rc.left], eax
mov	[ebp+hdc], esi
mov	[ebp+hPal], esi
mov	[ebp+var_10], esi
mov	[ebp+h], esi
jge	loc_100B731
mov	ecx, [ebp+rc.bottom]
cmp	[ebp+rc.top], ecx
jge	loc_100B731
sub	ecx, [ebp+rc.top]
sub	eax, [ebp+rc.left]
push	ecx		; cy
push	eax		; cx
mov	eax, [ebx+4]
push	dword ptr [eax+0Ch] ; hdc
call	ds:CreateCompatibleBitmap
cmp	eax, esi
mov	[ebp+h], eax
jz	short loc_100B5E5
mov	eax, [ebx+4]
push	dword ptr [eax+0Ch] ; hdc
mov	edi, ds:CreateCompatibleDC
call	edi ; CreateCompatibleDC
mov	esi, eax
test	esi, esi
mov	[ebp+var_4], esi
jz	short loc_100B5BE
mov	eax, [ebx+4]
push	dword ptr [eax+0Ch] ; hdc
call	edi ; CreateCompatibleDC
test	eax, eax
mov	[ebp+hdc], eax
jnz	short loc_100B5F9

loc_100B5BE:
cmp	[ebp+h], 0
jz	short loc_100B5CD
push	[ebp+h]		; ho
call	ds:DeleteObject

loc_100B5CD:
test	esi, esi
mov	edi, ds:DeleteDC
jz	short loc_100B5DA
push	esi		; hdc
call	edi ; DeleteDC

loc_100B5DA:
cmp	[ebp+hdc], 0
jz	short loc_100B5E5
push	[ebp+hdc]	; hdc
call	edi ; DeleteDC

loc_100B5E5:
call	sub_1012498
push	0		; uType
call	ds:MessageBeep
xor	eax, eax
jmp	loc_100B734

loc_100B5F9:
mov	eax, [ebx+4]
mov	eax, [eax+24h]
test	eax, eax
mov	edi, ds:SelectPalette
jz	short loc_100B638
push	0		; bForceBkgd
push	dword ptr [eax+4] ; hPal
push	esi		; hdc
call	edi ; SelectPalette
push	esi		; hdc
mov	esi, ds:RealizePalette
mov	[ebp+hPal], eax
call	esi ; RealizePalette
mov	eax, [ebx+4]
mov	eax, [eax+24h]
push	0		; bForceBkgd
push	dword ptr [eax+4] ; hPal
push	[ebp+hdc]	; hdc
call	edi ; SelectPalette
push	[ebp+hdc]	; hdc
mov	[ebp+var_10], eax
call	esi ; RealizePalette
mov	esi, [ebp+var_4]

loc_100B638:		; h
push	[ebp+h]
push	esi		; hdc
mov	esi, ds:SelectObject
call	esi ; SelectObject
push	h		; h
mov	[ebp+var_14], eax
push	[ebp+hdc]	; hdc
call	esi ; SelectObject
push	0CC0020h	; rop
push	[ebp+rc.top]	; y1
mov	[ebp+var_18], eax
push	[ebp+rc.left]	; x1
mov	eax, [ebp+rc.bottom]
push	[ebp+hdc]	; hdcSrc
sub	eax, [ebp+rc.top]
push	eax		; cy
mov	eax, [ebp+rc.right]
sub	eax, [ebp+rc.left]
push	eax		; cx
push	0		; y
push	0		; x
push	[ebp+var_4]	; hdc
call	ds:BitBlt
push	[ebp+var_14]	; h
push	[ebp+var_4]	; hdc
call	esi ; SelectObject
push	[ebp+var_18]	; h
push	[ebp+hdc]	; hdc
call	esi ; SelectObject
xor	esi, esi
cmp	[ebp+hPal], esi
jz	short loc_100B69E
push	esi		; bForceBkgd
push	[ebp+hPal]	; hPal
push	[ebp+var_4]	; hdc
call	edi ; SelectPalette

loc_100B69E:
cmp	[ebp+var_10], esi
jz	short loc_100B6AC
push	esi		; bForceBkgd
push	[ebp+var_10]	; hPal
push	[ebp+hdc]	; hdc
call	edi ; SelectPalette

loc_100B6AC:		; hdc
push	[ebp+var_4]
mov	esi, ds:DeleteDC
call	esi ; DeleteDC
push	[ebp+hdc]	; hdc
call	esi ; DeleteDC
push	1
mov	esi, offset unk_103F3A0
push	0A43Fh
mov	ecx, esi
call	sub_102FB04
push	4
lea	eax, [ebp+h]
push	eax
mov	ecx, esi
call	sub_102F961
push	10h
lea	eax, [ebp+rc]
push	eax
mov	ecx, esi
call	sub_102F961
push	4
lea	eax, [ebp+hdc]
push	eax
mov	ecx, esi
mov	[ebp+hdc], 14h
call	sub_102F961
push	4
lea	eax, [ebp+hdc]
push	eax
mov	ecx, esi
mov	[ebp+hdc], 3E8h
call	sub_102F961
push	ebx
mov	ecx, esi
call	sub_100ACE7
push	1
lea	eax, [ebp+hdc+3]
push	eax
mov	ecx, esi
mov	byte ptr [ebp+hdc+3], 2
call	sub_102F961
mov	ecx, esi
call	sub_102FE8A

loc_100B731:
xor	eax, eax
inc	eax

loc_100B734:
pop	edi
pop	esi
pop	ebx
leave
retn	4
sub_100B525 endp

align 10h


; Attributes: bp-based frame

; int __thiscall sub_100B740(void *, char)
sub_100B740 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_100AA5E
test	[ebp+arg_0], 1
jz	short loc_100B75A
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_100B75A:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_100B740 endp

db 5 dup(0CCh)



sub_100B766 proc near
mov	eax, offset loc_10358A1
call	sub_1034E18
sub	esp, 18h
mov	eax, off_103D74C
mov	eax, [eax+30h]
cmp	eax, 26Ch
push	ebx
push	esi
push	edi
mov	esi, ecx
jz	short loc_100B78E
cmp	eax, 26Dh
jnz	short loc_100B79C

loc_100B78E:
push	1
call	sub_1013960
and	dword_103E804, 0

loc_100B79C:
mov	edi, [ebp+0Ch]
mov	eax, [esi+4]
mov	ecx, [edi]
cmp	ecx, [eax+2Ch]
jnz	short loc_100B7B5
mov	edx, [edi+4]
cmp	edx, [eax+30h]
jz	loc_100B8DC

loc_100B7B5:
cmp	ecx, 1
jl	loc_100B8E1
cmp	dword ptr [edi+4], 1
jl	loc_100B8E1
lea	ecx, [ebp+0Ch]
call	sub_100ACBA
and	dword ptr [ebp-4], 0
lea	eax, [ebp-14h]
push	eax
push	dword ptr [esi+4]
call	sub_101253B
push	dword ptr [esi+4] ; h
mov	ebx, [esi+1Ch]
call	sub_101356F
mov	eax, [esi+4]
mov	ecx, [eax+30h]
mov	edx, [eax+2Ch]
and	dword ptr [ebp-24h], 0
and	dword ptr [ebp-20h], 0
push	ebx		; int
push	dword ptr [edi+4] ; hDest
mov	[ebp-1Ch], edx
push	dword ptr [edi]	; wDest
mov	[ebp-18h], ecx
push	eax		; hdcDest
call	sub_1013A7F
test	eax, eax
jnz	short loc_100B834
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	ecx, [eax+4]
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
jmp	loc_100B8F2

loc_100B834:
lea	eax, [ebp-24h]
push	eax		; hdc
mov	ecx, esi
call	sub_100B525
push	dword ptr [esi+4]
call	sub_10127C0
xor	ebx, ebx
mov	dword_103E848, ebx
push	dword ptr [esi+4] ; hPal
call	sub_1012A88
cmp	dword_103F3FC, ebx
jz	short loc_100B88C
cmp	dword_103F400, ebx
jnz	short loc_100B88C
push	dword ptr [esi+8]
mov	ebx, offset unk_103F3A0
push	15Ah
push	esi
mov	ecx, ebx
call	sub_102F9A7
push	dword ptr [esi+0Ch]
mov	ecx, ebx
push	15Bh
push	esi
call	sub_102F9A7

loc_100B88C:
mov	ecx, [edi]
mov	eax, [esi+8]
mov	ebx, [esi+0Ch]
mov	[esi+8], ecx
cmp	[esi+8], eax
mov	ecx, [edi+4]
mov	[esi+0Ch], ecx
jz	short loc_100B8AE
push	15Ah
mov	ecx, esi
call	sub_100AD7D

loc_100B8AE:
cmp	[esi+0Ch], ebx
jz	short loc_100B8BF
push	15Bh
mov	ecx, esi
call	sub_100AD7D

loc_100B8BF:
push	159h
mov	ecx, esi
call	sub_100AD7D
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	ecx, [eax+4]
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)

loc_100B8DC:
xor	eax, eax
inc	eax
jmp	short loc_100B8F4

loc_100B8E1:
push	30h
push	0E000h
push	8FBh
call	sub_100C01C

loc_100B8F2:
xor	eax, eax

loc_100B8F4:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	8
sub_100B766 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_100B90A(void *, char)
sub_100B90A proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_100AC04
test	[ebp+arg_0], 1
jz	short loc_100B924
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_100B924:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_100B90A endp

align 10h
mov	eax, offset loc_10358B9
call	sub_1034E18
push	ecx
push	5Ch
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-10h], ecx
xor	eax, eax
cmp	ecx, eax
mov	[ebp-4], eax
jz	short loc_100B956
call	sub_100AD13

loc_100B956:
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)



sub_100B967 proc near
mov	eax, offset loc_10358DB
call	sub_1034E18
push	ecx
push	ebx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_1002138
xor	ebx, ebx
push	ebx
mov	dword ptr [ebp-4], 1
call	sub_100AD7D
cmp	[esi+28h], ebx
jz	short loc_100B99B
mov	ecx, esi
call	sub_100A42D

loc_100B99B:
mov	eax, [esi+4]
cmp	eax, ebx
jz	short loc_100B9A8
push	eax		; void *
call	sub_1011F70

loc_100B9A8:
mov	eax, [esi+34h]
cmp	eax, ebx
mov	edi, ds:GlobalFree
jz	short loc_100B9BB
push	eax		; hMem
call	edi ; GlobalFree
mov	[esi+34h], ebx

loc_100B9BB:
mov	eax, [esi+3Ch]
cmp	eax, ebx
jz	short loc_100B9C8
push	eax		; hMem
call	edi ; GlobalFree
mov	[esi+3Ch], ebx

loc_100B9C8:
lea	ecx, [esi+40h]
mov	[ebp-4], bl
call	??1CObList@@UAE@XZ ; CObList::~CObList(void)
mov	ecx, [ebp-0Ch]
pop	edi
mov	dword ptr [esi], offset	off_1001F6C
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_100B967 endp

db 5 dup(0CCh)



sub_100B9ED proc near
mov	eax, offset loc_103592C
call	sub_1034E18
sub	esp, 268h
mov	eax, ___security_cookie
push	ebx
push	esi
mov	esi, [ebp+8]
push	edi
mov	edi, ecx
lea	ecx, [ebp-238h]
mov	[ebp-14h], eax
mov	[ebp-10h], esp
mov	[ebp-23Ch], edi
call	??0CString@@QAE@XZ ; CString::CString(void)
xor	ebx, ebx
push	esi
lea	ecx, [ebp-234h]
mov	[ebp-4], ebx
call	??0CString@@QAE@PBG@Z ;	CString::CString(ushort	const *)
push	ebx
lea	eax, [ebp-234h]
push	eax
lea	eax, [ebp-238h]
push	eax
mov	byte ptr [ebp-4], 1
call	sub_1011AD2
lea	ecx, [ebp-234h]
mov	[ebp-4], bl
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	eax, [ebp-230h]
push	eax
push	dword ptr [ebp-238h]
call	?GetStatus@CFile@@SGHPBGAAUCFileStatus@@@Z ; CFile::GetStatus(ushort const *,CFileStatus &)
test	eax, eax
jz	short loc_100BA7B
cmp	[edi+24h], ebx
jnz	short loc_100BA7B
xor	esi, esi
inc	esi
jmp	loc_100BBCA

loc_100BA7B:
lea	ecx, [ebp-258h]
call	??0CFile@@QAE@XZ ; CFile::CFile(void)
push	ebx
push	0FFFFFFFFh
push	ebx
lea	ecx, [ebp-274h]
mov	byte ptr [ebp-4], 2
call	sub_100AA02
push	esi
lea	ecx, [ebp-248h]
mov	byte ptr [ebp-4], 3
call	sub_10118F5
lea	ecx, [ebp-248h]
mov	byte ptr [ebp-4], 4
call	sub_1011A75
test	eax, eax
jz	loc_100BB9C
push	esi
push	ebx
mov	edi, 0A313h
mov	esi, offset unk_103EE08
push	edi
mov	ecx, esi
call	sub_101F370
lea	eax, [ebp-274h]
push	eax
push	9001h
lea	eax, [ebp-248h]
push	eax
lea	eax, [ebp-258h]
push	eax
call	sub_1011C17
test	eax, eax
jnz	short loc_100BB0B
push	ebx
push	dword ptr [ebp-26Ch]
mov	ecx, esi
push	edi
call	sub_101F370
jmp	loc_100BB9C

loc_100BB0B:
lea	ecx, [ebp-260h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
mov	ecx, [ebp-23Ch]
push	ebx
lea	eax, [ebp-258h]
push	eax
mov	byte ptr [ebp-4], 6
call	sub_100ADAA
lea	ecx, [ebp-258h]
mov	esi, eax
call	?Close@CFile@@UAEXXZ ; CFile::Close(void)
mov	dword ptr [ebp-4], 4
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
cmp	esi, ebx
lea	ecx, [ebp-248h]
jz	short loc_100BB59
call	sub_1011E51
mov	esi, eax
jmp	short loc_100BB9E

loc_100BB59:
call	sub_1011E51
jmp	short loc_100BB9E

loc_100BB60:
mov	esi, [ebp-234h]
lea	ecx, [ebp-258h]
mov	[ebp-25Ch], esi
call	?Abort@CFile@@UAEXXZ ; CFile::Abort(void)
push	0
push	dword ptr [esi+8]
mov	ecx, offset unk_103EE08
push	0A313h
call	sub_101F370
mov	eax, offset loc_100BB91
retn

loc_100BB91:
mov	byte ptr [ebp-4], 4
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
xor	ebx, ebx

loc_100BB9C:
xor	esi, esi

loc_100BB9E:
lea	ecx, [ebp-248h]
mov	byte ptr [ebp-4], 3
call	sub_1011DD8
lea	ecx, [ebp-274h]
mov	byte ptr [ebp-4], 2
call	sub_100AA5E
lea	ecx, [ebp-258h]
mov	[ebp-4], bl
call	??1CFile@@UAE@XZ ; CFile::~CFile(void)

loc_100BBCA:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-238h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
mov	ecx, [ebp-14h]
mov	eax, esi
call	sub_1032F53
pop	edi
pop	esi
pop	ebx
leave
retn	4
sub_100B9ED endp

db 5 dup(0CCh)



sub_100BBF9 proc near
mov	eax, offset loc_10358A1
call	sub_1034E18
sub	esp, 24h
push	ebx
push	esi
mov	esi, ecx
push	edi
lea	ecx, [ebp+0Ch]
call	sub_100ACBA
mov	eax, [ebp+8]
xor	ebx, ebx
sub	eax, 15Ah
mov	[ebp-4], ebx
jz	loc_100BF97
dec	eax
jz	loc_100BF8C
dec	eax
jnz	loc_100BF38
mov	eax, off_103D74C
mov	eax, [eax+30h]
cmp	eax, 26Ch
jz	short loc_100BC4A
cmp	eax, 26Dh
jnz	short loc_100BC57

loc_100BC4A:
push	1
call	sub_1013960
mov	dword_103E804, ebx

loc_100BC57:		; h
push	dword ptr [esi+4]
call	sub_101356F
push	ebx		; hdc
mov	ecx, esi
call	sub_100B525
mov	eax, [esi+4]
push	dword ptr [eax+18h] ; h
mov	edi, ds:SelectObject
push	dword ptr [eax+0Ch] ; hdc
call	edi ; SelectObject
mov	eax, [esi+4]
push	dword ptr [eax+40h] ; hdc
lea	ecx, [ebp-30h]
push	dword ptr [eax+3Ch] ; h
push	ecx		; int
xor	ecx, ecx
mov	cx, [eax+38h]
imul	cx, [eax+34h]
push	ebx		; int
push	dword ptr [eax+24h] ; int
push	ecx		; int
push	ebx		; int
push	dword ptr [eax+14h] ; hbm
call	sub_1012D33
mov	[ebp-20h], eax
mov	eax, [esi+4]
push	dword ptr [eax+14h] ; h
push	dword ptr [eax+0Ch] ; hdc
call	edi ; SelectObject
cmp	[ebp-20h], ebx
jz	loc_100BE4B
cmp	[ebp+0Ch], ebx
mov	[ebp+8], ebx
jz	short loc_100BCC6
mov	dword ptr [ebp-18h], 1
jmp	short loc_100BCD7

loc_100BCC6:
mov	eax, [esi+4]
push	0Eh		; index
push	dword ptr [eax+0Ch] ; hdc
call	ds:GetDeviceCaps
mov	[ebp-18h], eax

loc_100BCD7:
cmp	[ebp+0Ch], ebx
jz	short loc_100BCE5
mov	dword ptr [ebp-1Ch], 1
jmp	short loc_100BCF6

loc_100BCE5:
mov	eax, [esi+4]
push	0Ch		; index
push	dword ptr [eax+0Ch] ; hdc
call	ds:GetDeviceCaps
mov	[ebp-1Ch], eax

loc_100BCF6:
mov	eax, [ebp-1Ch]
imul	eax, [ebp-18h]
cmp	dword_103EF58, ebx
push	3
pop	ecx
mov	[ebp-24h], eax
mov	[ebp+0Ch], ecx
jz	short loc_100BD30
dec	eax
jz	short loc_100BD28
sub	eax, ecx
jz	short loc_100BD21
sub	eax, 4
jnz	short loc_100BD30
call	sub_1012C78
jmp	short loc_100BD2D

loc_100BD21:
call	sub_1012C54
jmp	short loc_100BD2D

loc_100BD28:
call	sub_1012C66

loc_100BD2D:
mov	[ebp+8], eax

loc_100BD30:
mov	eax, [ebp-24h]
dec	eax
jz	short loc_100BD52
sub	eax, 3
jz	short loc_100BD49
sub	eax, 4
jnz	short loc_100BD55
mov	dword ptr [ebp+0Ch], 2
jmp	short loc_100BD55

loc_100BD49:
mov	dword ptr [ebp+0Ch], 1
jmp	short loc_100BD55

loc_100BD52:
mov	[ebp+0Ch], ebx

loc_100BD55:		; lpBits
push	ebx
push	dword ptr [ebp-1Ch] ; nBitCount
push	dword ptr [ebp-18h] ; nPlanes
push	1		; nHeight
push	1		; nWidth
call	ds:CreateBitmap
push	ebx		; lpBits
push	dword ptr [ebp-1Ch] ; nBitCount
mov	[ebp-10h], eax
push	dword ptr [ebp-18h] ; nPlanes
mov	eax, [esi+4]
push	dword ptr [eax+30h] ; nHeight
push	dword ptr [eax+2Ch] ; nWidth
call	ds:CreateBitmap
cmp	[ebp-10h], ebx
mov	[ebp-14h], eax
jz	loc_100BF53
cmp	eax, ebx
jz	loc_100BF53
push	dword ptr [ebp-10h] ; h
mov	eax, [esi+4]
push	dword ptr [eax+0Ch] ; hdc
mov	[ebp-24h], ebx
call	edi ; SelectObject
mov	eax, [ebp+8]
cmp	eax, ebx
jz	short loc_100BDC7
push	ebx		; bForceBkgd
push	dword ptr [eax+4] ; hPal
mov	eax, [esi+4]
push	dword ptr [eax+0Ch] ; hdc
call	ds:SelectPalette
mov	[ebp-24h], eax
mov	eax, [esi+4]
push	dword ptr [eax+0Ch] ; hdc
call	ds:RealizePalette

loc_100BDC7:
mov	eax, [esi+4]
push	ebx		; ColorUse
push	dword ptr [ebp-20h] ; lpbmi
mov	[ebp-28h], eax
push	ebx
push	dword ptr [ebp-20h]
call	sub_1012163
push	eax		; lpBits
mov	eax, [ebp-28h]
push	dword ptr [eax+30h] ; cLines
push	ebx		; start
push	dword ptr [ebp-14h] ; hbm
push	dword ptr [eax+0Ch] ; hdc
call	ds:SetDIBits
push	dword ptr [ebp-20h]
mov	[ebp-28h], eax
call	sub_101209F
mov	eax, [esi+4]
mov	ecx, [ebp-28h]
cmp	ecx, [eax+30h]
jz	short loc_100BE6F
push	dword ptr [eax+14h] ; h
push	dword ptr [eax+0Ch] ; hdc
call	edi ; SelectObject
cmp	[ebp-24h], ebx
jz	short loc_100BE3B
mov	eax, [esi+4]
push	ebx		; bForceBkgd
push	dword ptr [ebp-24h] ; hPal
push	dword ptr [eax+0Ch] ; hdc
call	ds:SelectPalette
mov	eax, [esi+4]
push	dword ptr [eax+0Ch] ; hdc
call	ds:RealizePalette
mov	ecx, [ebp+8]
cmp	ecx, ebx
jz	short loc_100BE3B
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_100BE3B:		; ho
push	dword ptr [ebp-10h]
mov	esi, ds:DeleteObject
call	esi ; DeleteObject
push	dword ptr [ebp-14h] ; ho
call	esi ; DeleteObject

loc_100BE4B:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	ecx, [eax+4]
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
xor	eax, eax
jmp	loc_100BFC8

loc_100BE6F:
mov	ecx, [ebp-18h]
push	dword ptr [ebp-14h] ; h
mov	[eax+34h], ecx
mov	eax, [esi+4]
mov	ecx, [ebp-1Ch]
mov	[eax+38h], ecx
mov	eax, [ebp+0Ch]
mov	[esi+10h], eax
mov	eax, [esi+4]
push	dword ptr [eax+0Ch] ; hdc
call	edi ; SelectObject
mov	eax, [esi+4]
push	dword ptr [eax+14h] ; ho
mov	edi, ds:DeleteObject
call	edi ; DeleteObject
mov	eax, [esi+4]
mov	ecx, [ebp-14h]
mov	[eax+14h], ecx
mov	eax, [esi+4]
cmp	[eax+24h], ebx
jz	short loc_100BED7
cmp	[ebp+8], ebx
jnz	short loc_100BEC6
push	ebx		; bForceBkgd
push	dword ptr [eax+28h] ; hPal
push	dword ptr [eax+0Ch] ; hdc
call	ds:SelectPalette
mov	eax, [esi+4]
mov	[eax+28h], ebx

loc_100BEC6:
mov	eax, [esi+4]
mov	ecx, [eax+24h]
cmp	ecx, ebx
jz	short loc_100BED7
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_100BED7:
mov	ecx, [esi+4]
mov	eax, [ebp+8]
push	dword ptr [ebp-10h] ; ho
mov	[ecx+24h], eax
mov	dword_103EF88, eax
call	edi ; DeleteObject
push	dword ptr [esi+4]
call	sub_10127C0
push	ebx		; lprcSrc2
push	dword ptr [esi+4] ; int
call	sub_101282E
mov	eax, [esi+4]
cmp	eax, dword_103E848
jnz	short loc_100BF14
mov	dword_103E848, ebx
push	dword ptr [esi+4] ; hPal
call	sub_1012A88

loc_100BF14:
mov	ecx, dword_103E768
cmp	ecx, ebx
jz	short loc_100BF2C
xor	eax, eax
cmp	[esi+10h], ebx
setz	al
push	eax
call	sub_100C693

loc_100BF2C:
push	159h
mov	ecx, esi
call	sub_100AD7D

loc_100BF38:
or	dword ptr [ebp-4], 0FFFFFFFFh
xor	edi, edi
inc	edi
mov	[esi+24h], edi
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	ecx, [eax+4]
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
mov	eax, edi
jmp	short loc_100BFC8

loc_100BF53:
push	dword ptr [ebp-20h]
call	sub_101209F
cmp	[ebp-10h], ebx
mov	esi, ds:DeleteObject
jz	short loc_100BF6B
push	dword ptr [ebp-10h] ; ho
call	esi ; DeleteObject

loc_100BF6B:
cmp	[ebp-14h], ebx
jz	short loc_100BF75
push	dword ptr [ebp-14h] ; ho
call	esi ; DeleteObject

loc_100BF75:
mov	ecx, [ebp+8]
cmp	ecx, ebx
jz	loc_100BE4B
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]
jmp	loc_100BE4B

loc_100BF8C:
mov	eax, [esi+8]
mov	[ebp-2Ch], eax
mov	eax, [ebp+0Ch]
jmp	short loc_100BFA0

loc_100BF97:
mov	ecx, [ebp+0Ch]
mov	eax, [esi+0Ch]
mov	[ebp-2Ch], ecx

loc_100BFA0:
mov	[ebp-28h], eax
lea	eax, [ebp-2Ch]
push	eax
mov	ecx, esi
push	15Eh
call	sub_100B766
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	esi, eax
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	ecx, [eax+4]
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
mov	eax, esi

loc_100BFC8:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	8
sub_100BBF9 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_100BFDE(void *, char)
sub_100BFDE proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_100B967
test	[ebp+arg_0], 1
jz	short loc_100BFF8
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_100BFF8:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_100BFDE endp

db 5 dup(0CCh)



sub_100C004 proc near
call	?AfxGetThread@@YGPAVCWinThread@@XZ ; AfxGetThread(void)
test	eax, eax
jz	short loc_100C014
mov	edx, [eax]
mov	ecx, eax
jmp	dword ptr [edx+7Ch]

loc_100C014:
xor	eax, eax
retn
sub_100C004 endp

db 5 dup(0CCh)



sub_100C01C proc near
mov	eax, offset loc_103594B
call	sub_1034E18
push	ecx
push	ecx
push	esi
push	edi
lea	ecx, [ebp-14h]
call	??0CString@@QAE@XZ ; CString::CString(void)
and	dword ptr [ebp-4], 0
lea	ecx, [ebp-10h]
call	??0CString@@QAE@XZ ; CString::CString(void)
cmp	word ptr [ebp+0Ch], 0FFFFh
mov	byte ptr [ebp-4], 1
jnz	short loc_100C04E
xor	edi, edi
jmp	short loc_100C05E

loc_100C04E:
movzx	eax, word ptr [ebp+0Ch]
push	eax
lea	ecx, [ebp-10h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
mov	edi, [ebp-10h]

loc_100C05E:
cmp	word ptr [ebp+8], 0FFFFh
jnz	short loc_100C06D
mov	esi, offset Text
jmp	short loc_100C07D

loc_100C06D:
movzx	eax, word ptr [ebp+8]
push	eax
lea	ecx, [ebp-14h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
mov	esi, [ebp-14h]

loc_100C07D:
call	sub_100C004
test	eax, eax
jz	short loc_100C09B
mov	ecx, [ebp+10h]
or	ecx, 2000h
push	ecx
push	edi
push	esi
mov	ecx, eax
call	?MessageBoxW@CWnd@@QAEHPBG0I@Z ; CWnd::MessageBoxW(ushort const	*,ushort const *,uint)
jmp	short loc_100C0AE

loc_100C09B:
mov	eax, [ebp+10h]
or	eax, 2000h
push	eax		; uType
push	edi		; lpCaption
push	esi		; lpText
push	0		; hWnd
call	ds:MessageBoxW

loc_100C0AE:
lea	ecx, [ebp-10h]
mov	esi, eax
mov	byte ptr [ebp-4], 0
call	??1CString@@QAE@XZ ; CString::~CString(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-14h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn	0Ch
sub_100C01C endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __cdecl sub_100C0DF(__int16, __int16, int, char arglist)
sub_100C0DF proc near

var_40C= dword ptr -40Ch
var_408= dword ptr -408h
Text= word ptr -404h
var_4= dword ptr -4
arg_0= word ptr	 8
arg_4= word ptr	 0Ch
arg_8= dword ptr  10h
arglist= byte ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 40Ch
mov	eax, ___security_cookie
push	esi
lea	ecx, [ebp+var_408]
mov	[ebp+var_4], eax
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [ebp+var_40C]
call	??0CString@@QAE@XZ ; CString::CString(void)
cmp	[ebp+arg_4], 0FFFFh
jnz	short loc_100C115
xor	esi, esi
jmp	short loc_100C12B

loc_100C115:
movzx	eax, [ebp+arg_4]
push	eax
lea	ecx, [ebp+var_40C]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
mov	esi, [ebp+var_40C]

loc_100C12B:
cmp	[ebp+arg_0], 0FFFFh
jnz	short loc_100C13A
mov	eax, offset Text
jmp	short loc_100C150

loc_100C13A:
movzx	eax, [ebp+arg_0]
push	eax
lea	ecx, [ebp+var_408]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
mov	eax, [ebp+var_408]

loc_100C150:
lea	ecx, [ebp+arglist]
push	ecx		; arglist
push	eax		; LPCWSTR
lea	eax, [ebp+Text]
push	eax		; LPWSTR
call	ds:wvsprintfW
call	sub_100C004
test	eax, eax
jz	short loc_100C186
mov	ecx, [ebp+arg_8]
or	ecx, 2000h
push	ecx
push	esi
lea	ecx, [ebp+Text]
push	ecx
mov	ecx, eax
call	?MessageBoxW@CWnd@@QAEHPBG0I@Z ; CWnd::MessageBoxW(ushort const	*,ushort const *,uint)
jmp	short loc_100C19F

loc_100C186:
mov	eax, [ebp+arg_8]
or	eax, 2000h
push	eax		; uType
push	esi		; lpCaption
lea	eax, [ebp+Text]
push	eax		; lpText
push	0		; hWnd
call	ds:MessageBoxW

loc_100C19F:
lea	ecx, [ebp+var_40C]
mov	esi, eax
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [ebp+var_408]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp+var_4]
mov	eax, esi
pop	esi
call	sub_1032F53
leave
retn
sub_100C0DF endp

db 5 dup(0CCh)

loc_100C1C9:
mov	eax, offset off_100214C
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100C1D4 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	dword ptr [ecx+10h], 0
jz	short loc_100C1E4
mov	ecx, [ecx+8]
jmp	short loc_100C1E7

loc_100C1E4:
mov	ecx, [ecx+4]

loc_100C1E7:
mov	eax, [ebp+arg_0]
mov	eax, [ecx+eax*4]
pop	ebp
retn	4
sub_100C1D4 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100C1F6 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	[ebp+arg_0], 0
jz	short loc_100C210
cmp	[ebp+arg_4], 30h
jz	short loc_100C216
cmp	[ebp+arg_4], 110h
jz	short loc_100C216

loc_100C210:
xor	eax, eax
pop	ebp
retn	10h

loc_100C216:
pop	ebp
jmp	?AfxDlgProc@@YGHPAUHWND__@@IIJ@Z ; AfxDlgProc(HWND__ *,uint,uint,long)
sub_100C1F6 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100C221(COLORREF color)
sub_100C221 proc near

color= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+color]	; color
push	dword ptr [ecx+4] ; h
call	ds:GetNearestPaletteIndex
pop	ebp
retn	4
sub_100C221 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100C23B(UINT n)
sub_100C23B proc near

n= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+n]		; n
push	dword ptr [ecx+4] ; hpal
call	ds:ResizePalette
pop	ebp
retn	4
sub_100C23B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100C255 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	dword_103E87C, eax
mov	eax, dword_103E820
test	eax, eax
jz	short loc_100C288
mov	eax, [eax+20h]
test	eax, eax
jz	short loc_100C288
push	eax		; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_100C288
mov	ecx, dword_103E820
call	sub_100FB1B

loc_100C288:
cmp	dword_103E804, 0
jz	short loc_100C2C1
cmp	dword_103E7CC, 0
jz	short loc_100C2A8
mov	eax, off_103D74C
cmp	dword ptr [eax+30h], 26Eh
jnz	short loc_100C2C1

loc_100C2A8:
cmp	dword_103E870, 0
jnz	short loc_100C2C1
mov	ecx, dword_103ED04
push	offset stru_103E808
call	sub_101AC0B

loc_100C2C1:
push	esi
mov	esi, off_103D74C
test	esi, esi
jz	short loc_100C305
call	sub_100C004
push	eax
push	ds:?classCFrameWnd@CFrameWnd@@2UCRuntimeClass@@B ; CRuntimeClass const CFrameWnd::classCFrameWnd
call	?AfxDynamicDownCast@@YAPAVCObject@@PAUCRuntimeClass@@PAV1@@Z ; AfxDynamicDownCast(CRuntimeClass	*,CObject *)
test	eax, eax
pop	ecx
pop	ecx
jz	short loc_100C305
mov	ecx, eax
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
push	eax
push	offset off_1004900
call	?AfxDynamicDownCast@@YAPAVCObject@@PAUCRuntimeClass@@PAV1@@Z ; AfxDynamicDownCast(CRuntimeClass	*,CObject *)
test	eax, eax
pop	ecx
pop	ecx
jz	short loc_100C305
push	dword ptr [eax+44h]
mov	edx, [esi]
mov	ecx, esi
call	dword ptr [edx+4Ch]

loc_100C305:
pop	esi
pop	ebp
retn	4
sub_100C255 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100C30F proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	color, eax
mov	eax, dword_103E820
test	eax, eax
jz	short loc_100C342
mov	eax, [eax+20h]
test	eax, eax
jz	short loc_100C342
push	eax		; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_100C342
mov	ecx, dword_103E820
call	sub_100FB1B

loc_100C342:
cmp	dword_103E804, 0
jz	short loc_100C38B
cmp	dword_103E7CC, 0
jz	short loc_100C362
mov	eax, off_103D74C
cmp	dword ptr [eax+30h], 26Eh
jnz	short loc_100C38B

loc_100C362:
cmp	dword_103E870, 0
jnz	short loc_100C38B
push	color
mov	ecx, offset unk_103E778
call	sub_100F43E
mov	ecx, dword_103ED04
push	offset stru_103E808
call	sub_101AC0B

loc_100C38B:
push	esi
mov	esi, off_103D74C
test	esi, esi
jz	short loc_100C3CF
call	sub_100C004
push	eax
push	ds:?classCFrameWnd@CFrameWnd@@2UCRuntimeClass@@B ; CRuntimeClass const CFrameWnd::classCFrameWnd
call	?AfxDynamicDownCast@@YAPAVCObject@@PAUCRuntimeClass@@PAV1@@Z ; AfxDynamicDownCast(CRuntimeClass	*,CObject *)
test	eax, eax
pop	ecx
pop	ecx
jz	short loc_100C3CF
mov	ecx, eax
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
push	eax
push	offset off_1004900
call	?AfxDynamicDownCast@@YAPAVCObject@@PAUCRuntimeClass@@PAV1@@Z ; AfxDynamicDownCast(CRuntimeClass	*,CObject *)
test	eax, eax
pop	ecx
pop	ecx
jz	short loc_100C3CF
push	dword ptr [eax+44h]
mov	edx, [esi]
mov	ecx, esi
call	dword ptr [edx+4Ch]

loc_100C3CF:
pop	esi
pop	ebp
retn	4
sub_100C30F endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100C3D9 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	dword_103D6A4, eax
mov	eax, dword_103E820
test	eax, eax
jz	short loc_100C40C
mov	eax, [eax+20h]
test	eax, eax
jz	short loc_100C40C
push	eax		; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_100C40C
mov	ecx, dword_103E820
call	sub_100FB1B

loc_100C40C:
cmp	dword_103E804, 0
jz	short loc_100C445
cmp	dword_103E7CC, 0
jz	short loc_100C42C
mov	eax, off_103D74C
cmp	dword ptr [eax+30h], 26Eh
jnz	short loc_100C445

loc_100C42C:
cmp	dword_103E870, 0
jnz	short loc_100C445
mov	ecx, dword_103ED04
push	offset stru_103E808
call	sub_101AC0B

loc_100C445:
push	esi
mov	esi, off_103D74C
test	esi, esi
jz	short loc_100C489
call	sub_100C004
push	eax
push	ds:?classCFrameWnd@CFrameWnd@@2UCRuntimeClass@@B ; CRuntimeClass const CFrameWnd::classCFrameWnd
call	?AfxDynamicDownCast@@YAPAVCObject@@PAUCRuntimeClass@@PAV1@@Z ; AfxDynamicDownCast(CRuntimeClass	*,CObject *)
test	eax, eax
pop	ecx
pop	ecx
jz	short loc_100C489
mov	ecx, eax
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
push	eax
push	offset off_1004900
call	?AfxDynamicDownCast@@YAPAVCObject@@PAUCRuntimeClass@@PAV1@@Z ; AfxDynamicDownCast(CRuntimeClass	*,CObject *)
test	eax, eax
pop	ecx
pop	ecx
jz	short loc_100C489
push	dword ptr [eax+44h]
mov	edx, [esi]
mov	ecx, esi
call	dword ptr [edx+4Ch]

loc_100C489:
pop	esi
pop	ebp
retn	4
sub_100C3D9 endp

db 5 dup(0CCh)



sub_100C493 proc near
mov	eax, dword_103E820
test	eax, eax
push	esi
mov	esi, ds:IsWindow
jz	short loc_100C4C3
mov	eax, [eax+20h]
test	eax, eax
jz	short loc_100C4C3
push	eax		; hWnd
call	esi ; IsWindow
test	eax, eax
jz	short loc_100C4C3
mov	eax, dword_103E820
push	1		; bErase
push	0		; lpRect
push	dword ptr [eax+20h] ; hWnd
call	ds:InvalidateRect

loc_100C4C3:
mov	eax, dword_103F170
test	eax, eax
jz	short loc_100C4F2
mov	eax, [eax+20h]
test	eax, eax
jz	short loc_100C4F2
push	eax		; hWnd
call	esi ; IsWindow
test	eax, eax
jz	short loc_100C4F2
mov	eax, off_103D74C
cmp	dword ptr [eax+18h], 0
jz	short loc_100C4F2
mov	ecx, dword_103F170
push	0
call	sub_102C06B

loc_100C4F2:
pop	esi
retn
sub_100C493 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100C4F9(PALETTEENTRY pPalEntries, COLORREF color)
sub_100C4F9 proc near

var_4= dword ptr -4
pPalEntries= PALETTEENTRY ptr  8
color= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
or	[ebp+var_4], 0FFFFFFFFh
push	esi
mov	esi, dword ptr [ebp+pPalEntries.peRed]
cmp	dword ptr [esi+24h], 0
jnz	short loc_100C515
or	eax, 0FFFFFFFFh
jmp	loc_100C632

loc_100C515:
push	edi
push	404h		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
mov	edi, eax
test	edi, edi
pop	ecx
jnz	short loc_100C53B
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
or	eax, 0FFFFFFFFh
jmp	loc_100C631

loc_100C53B:
push	ebx
mov	ebx, ds:GetPaletteEntries
lea	ecx, [edi+4]
push	ecx		; pPalEntries
push	100h		; cEntries
mov	word ptr [edi],	300h
mov	eax, [esi+24h]
push	0		; iStart
push	dword ptr [eax+4] ; hpal
call	ebx ; GetPaletteEntries
mov	[edi+2], ax
movzx	eax, ax
lea	ecx, [edi+4]
push	ecx		; pPalEntries
push	eax		; cEntries
mov	eax, [esi+24h]
push	0		; iStart
push	dword ptr [eax+4] ; hpal
call	ebx ; GetPaletteEntries
mov	eax, [ebp+color]
mov	ecx, eax
shr	ecx, 10h
mov	[ebp+pPalEntries.peBlue], cl
mov	ecx, [esi+24h]
push	eax		; color
mov	[ebp+pPalEntries.peRed], al
mov	[ebp+pPalEntries.peGreen], ah
mov	[ebp+pPalEntries.peFlags], 0
call	sub_100C221
lea	eax, [edi+eax*4]
mov	cl, [eax+4]
cmp	cl, [ebp+pPalEntries.peRed]
jnz	short loc_100C5A9
mov	cl, [eax+5]
cmp	cl, [ebp+pPalEntries.peGreen]
jnz	short loc_100C5A9
mov	al, [eax+6]
cmp	al, [ebp+pPalEntries.peBlue]
jz	short loc_100C626

loc_100C5A9:
movzx	ebx, word ptr [edi+2]
push	0		; bForceBkgd
push	dword ptr [esi+28h] ; hPal
push	dword ptr [esi+0Ch] ; hdc
call	ds:SelectPalette
cmp	ebx, 100h
jl	short loc_100C5DD
mov	eax, [esi+48h]
lea	ebx, [eax+100h]
dec	eax
cmp	eax, 0FFFFFF00h
mov	[esi+48h], eax
jg	short loc_100C5ED
or	dword ptr [esi+48h], 0FFFFFFFFh
jmp	short loc_100C5ED

loc_100C5DD:
mov	ecx, [esi+24h]
lea	eax, [ebx+1]
push	eax		; n
call	sub_100C23B
test	eax, eax
jz	short loc_100C607

loc_100C5ED:
mov	eax, [esi+24h]
lea	ecx, [ebp+pPalEntries]
push	ecx		; pPalEntries
push	1		; cEntries
push	ebx		; iStart
push	dword ptr [eax+4] ; hpal
call	ds:SetPaletteEntries
test	eax, eax
jz	short loc_100C607
mov	[ebp+var_4], ebx

loc_100C607:
mov	eax, [esi+24h]
test	eax, eax
jz	short loc_100C611
mov	eax, [eax+4]

loc_100C611:		; bForceBkgd
push	0
push	eax		; hPal
push	dword ptr [esi+0Ch] ; hdc
call	ds:SelectPalette
push	dword ptr [esi+0Ch] ; hdc
call	ds:RealizePalette

loc_100C626:		; void *
push	edi
call	??3@YAXPAX@Z	; operator delete(void *)
mov	eax, [ebp+var_4]
pop	ecx
pop	ebx

loc_100C631:
pop	edi

loc_100C632:
pop	esi
leave
retn	8
sub_100C4F9 endp

db 5 dup(0CCh)



sub_100C63C proc near
mov	eax, offset loc_1035962
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_1002170
mov	eax, [esi+4]
and	dword ptr [ebp-4], 0
test	eax, eax
jz	short loc_100C665
push	eax		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_100C665:
mov	eax, [esi+8]
test	eax, eax
jz	short loc_100C673
push	eax		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_100C673:
and	dword ptr [esi+4], 0
and	dword ptr [esi+8], 0
mov	ecx, [ebp-0Ch]
mov	dword ptr [esi], offset	off_1001F6C
pop	esi
mov	large fs:0, ecx
leave
retn
sub_100C63C endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100C693 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ecx+10h]
test	eax, eax
mov	edx, [ebp+arg_0]
jz	short loc_100C6AA
test	edx, edx
jnz	short loc_100C6B6
test	eax, eax
jnz	short loc_100C6AE

loc_100C6AA:
test	edx, edx
jz	short loc_100C6B6

loc_100C6AE:
mov	[ecx+10h], edx
call	sub_100C493

loc_100C6B6:
pop	ebp
retn	4
sub_100C693 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100C6BF proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
mov	ebx, [ebp+arg_4]
push	edi
movzx	edx, bl
movzx	eax, bh
mov	edi, ecx
shr	ebx, 10h
cmp	dword ptr [edi+10h], 0
movzx	ebx, bl
jz	short loc_100C70A
imul	eax, 3Bh
imul	edx, 1Eh
imul	ebx, 0Bh
add	eax, ebx
add	eax, edx
cdq
push	64h
pop	ecx
idiv	ecx
mov	edx, [ebp+arg_0]
movzx	eax, al
mov	ecx, eax
shl	ecx, 8
or	ecx, eax
shl	ecx, 8
or	ecx, eax
mov	eax, [edi+8]
mov	[eax+edx*4], ecx
jmp	short loc_100C749

loc_100C70A:
cmp	dword_103EF58, 0
push	esi
jz	short loc_100C72F
movzx	esi, bl
or	esi, 200h
movzx	eax, al
shl	esi, 8
or	esi, eax
movzx	eax, dl
shl	esi, 8
or	esi, eax
jmp	short loc_100C73F

loc_100C72F:
xor	ecx, ecx
mov	ch, bl
mov	cl, al
movzx	eax, dl
shl	ecx, 8
or	ecx, eax
mov	esi, ecx

loc_100C73F:
mov	eax, [edi+4]
mov	ecx, [ebp+arg_0]
mov	[eax+ecx*4], esi
pop	esi

loc_100C749:
call	sub_100C493
pop	edi
pop	ebx
pop	ebp
retn	8
sub_100C6BF endp

db 5 dup(0CCh)

loc_100C759:
mov	eax, offset loc_1035979
call	sub_1034E18
push	ecx
cmp	dword ptr [ebp+0Ch], 110h
jnz	short loc_100C79E
lea	ecx, [ebp-10h]
call	??0CString@@QAE@XZ ; CString::CString(void)
and	dword ptr [ebp-4], 0
push	0A317h
lea	ecx, [ebp-10h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
push	dword ptr [ebp-10h]
push	dword ptr [ebp+8]
call	ds:SetWindowTextW
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-10h]
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_100C79E:
push	dword ptr [ebp+14h]
push	dword ptr [ebp+10h]
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
call	sub_100C1F6
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
leave
retn	10h
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100C7C2 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, dword_103E768
test	ecx, ecx
jz	short loc_100C7E6
mov	edx, [ebp+arg_0]
push	edx
call	sub_100C1D4
push	eax
mov	dword_103E868, edx
call	sub_100C255

loc_100C7E6:
pop	ebp
retn	4
sub_100C7C2 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100C7EF proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, dword_103E768
test	ecx, ecx
jz	short loc_100C813
mov	edx, [ebp+arg_0]
push	edx
call	sub_100C1D4
push	eax
mov	dword_103E864, edx
call	sub_100C30F

loc_100C813:
pop	ebp
retn	4
sub_100C7EF endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100C81C proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, dword_103E768
test	ecx, ecx
jz	short loc_100C83F
mov	eax, [ebp+arg_0]
push	eax
mov	dword_103E860, eax
call	sub_100C1D4
push	eax
call	sub_100C3D9

loc_100C83F:
pop	ebp
retn	4
sub_100C81C endp

align 8


; Attributes: bp-based frame

; int __thiscall sub_100C848(void *, char)
sub_100C848 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_100C63C
test	[ebp+arg_0], 1
jz	short loc_100C862
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_100C862:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_100C848 endp

db 5 dup(0CCh)



sub_100C86E proc near
mov	eax, offset loc_1035993
call	sub_1034E18
sub	esp, 88h
push	esi
push	edi
xor	edi, edi
cmp	[ebp+0Ch], edi
mov	[ebp-10h], ecx
jz	short loc_100C891
mov	esi, offset dword_103D6A4
jmp	short loc_100C8A0

loc_100C891:
cmp	[ebp+8], edi
mov	esi, offset dword_103E87C
jnz	short loc_100C8A0
mov	esi, offset color

loc_100C8A0:
mov	eax, [esi]
push	edi
push	edi
and	eax, 0FFFFFFh
push	eax
lea	ecx, [ebp-94h]
call	??0CColorDialog@@QAE@KKPAVCWnd@@@Z ; CColorDialog::CColorDialog(ulong,ulong,CWnd *)
and	dword ptr [ebp-20h], 0FFFFFFF7h
lea	ecx, [ebp-94h]
mov	[ebp-4], edi
mov	dword ptr [ebp-18h], offset loc_100C759
call	?DoModal@CColorDialog@@UAEHXZ ;	CColorDialog::DoModal(void)
cmp	eax, 1
jz	short loc_100C8E7
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-94h]
call	??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)
jmp	loc_100C98F

loc_100C8E7:
mov	ecx, [ebp-28h]
mov	eax, ecx
shr	eax, 10h
cmp	dword_103EF58, edi
push	ebx
mov	ebx, ecx
jz	short loc_100C916
movzx	eax, al
or	eax, 200h
movzx	edx, ch
shl	eax, 8
or	eax, edx
movzx	ecx, cl
shl	eax, 8
or	eax, ecx
mov	[esi], eax
jmp	short loc_100C926

loc_100C916:
xor	edx, edx
mov	dh, al
movzx	eax, cl
mov	dl, ch
shl	edx, 8
or	edx, eax
mov	[esi], edx

loc_100C926:
cmp	[ebp+0Ch], edi
jz	short loc_100C933
mov	esi, dword_103E860
jmp	short loc_100C944

loc_100C933:
cmp	[ebp+8], edi
mov	esi, dword_103E868
jnz	short loc_100C944
mov	esi, dword_103E864

loc_100C944:
cmp	esi, 0FFFFFFFFh
jz	short loc_100C97A
call	sub_100C004
mov	edx, [eax]
mov	ecx, eax
call	dword ptr [edx+0C4h]
cmp	eax, edi
jz	short loc_100C970
mov	eax, [eax+0ECh]
mov	eax, [eax+4]
cmp	eax, edi
jz	short loc_100C970
push	ebx		; color
push	eax		; pPalEntries
call	sub_100C4F9

loc_100C970:
mov	ecx, [ebp-10h]
push	ebx
push	esi
call	sub_100C6BF

loc_100C97A:
call	sub_100C493
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-94h]
call	??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)
pop	ebx

loc_100C98F:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn	8
sub_100C86E endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100C9A4 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
mov	ebx, ecx
mov	ecx, [ebp+arg_0]
cmp	ecx, 1Ch
jb	short loc_100C9B7
push	1Ch
pop	ecx

loc_100C9B7:
cmp	ecx, 10h
push	esi
push	edi
mov	[ebx+0Ch], ecx
mov	esi, offset unk_103D260
jz	short loc_100C9CB
mov	esi, offset unk_103D2A0

loc_100C9CB:
xor	eax, eax
cmp	dword_103EF58, eax
jz	short loc_100CA05
cmp	ecx, eax
jle	short loc_100CA0A

loc_100C9D9:
movzx	ecx, byte ptr [esi+eax*4+2]
movzx	edx, byte ptr [esi+eax*4+1]
or	ecx, 200h
shl	ecx, 8
or	ecx, edx
movzx	edx, byte ptr [esi+eax*4]
shl	ecx, 8
or	ecx, edx
mov	edx, [ebx+4]
mov	[edx+eax*4], ecx
inc	eax
cmp	eax, [ebx+0Ch]
jl	short loc_100C9D9
jmp	short loc_100CA0A

loc_100CA05:
mov	edi, [ebx+4]
rep movsd

loc_100CA0A:
mov	edi, [ebx+8]
push	1Ch
pop	ecx
mov	esi, offset unk_103D310
rep movsd
call	sub_100C493
mov	eax, dword_103E820
test	eax, eax
pop	edi
pop	esi
jz	short loc_100CA42
push	dword ptr [eax+20h] ; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_100CA42
mov	eax, dword_103E820
push	dword ptr [eax+20h] ; hWnd
call	ds:UpdateWindow

loc_100CA42:
push	0
call	sub_100C7C2
xor	eax, eax
cmp	dword ptr [ebx+0Ch], 10h
setnz	al
dec	eax
and	eax, 0FFFFFFFAh
add	eax, 0Eh
push	eax
call	sub_100C7EF
pop	ebx
pop	ebp
retn	4
sub_100C9A4 endp

db 5 dup(0CCh)



sub_100CA69 proc near
mov	eax, offset loc_1035962
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
and	dword ptr [esi+0Ch], 0
and	dword ptr [ebp-4], 0
mov	dword ptr [esi], offset	off_1002170
mov	eax, dword_103EF54
mov	edi, 400h
push	edi		; unsigned int
mov	[esi+10h], eax
call	??2@YAPAXI@Z	; operator new(uint)
push	edi		; unsigned int
mov	[esi+4], eax
call	??2@YAPAXI@Z	; operator new(uint)
cmp	dword ptr [esi+4], 0
pop	ecx
pop	ecx
mov	[esi+8], eax
jz	short loc_100CAC0
test	eax, eax
jz	short loc_100CAC0
push	100h
mov	ecx, esi
call	sub_100C9A4

loc_100CAC0:
mov	ecx, [ebp-0Ch]
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_100CA69 endp

db 5 dup(0CCh)

loc_100CAD5:
push	0
push	1
call	sub_100C86E
retn
db 5 dup(0CCh)
mov	eax, offset loc_10359AB
call	sub_1034E18
push	ecx
push	14h
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-10h], ecx
xor	eax, eax
cmp	ecx, eax
mov	[ebp-4], eax
jz	short loc_100CB0A
call	sub_100CA69

loc_100CB0A:
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)
mov	eax, offset off_1002184
retn
db 5 dup(0CCh)



sub_100CB26 proc near
mov	edi, edi
push	esi
push	edi
mov	esi, ecx
xor	edi, edi
cmp	[esi+14h], edi
jz	short loc_100CB38
xor	eax, eax
inc	eax
jmp	short loc_100CB67

loc_100CB38:
push	ebx
push	edi		; hWnd
call	ds:GetDC
mov	ebx, eax
cmp	ebx, edi
jz	short loc_100CB64
cmp	[esi+10h], edi
lea	eax, [esi+28h]
jnz	short loc_100CB51
lea	eax, [esi+38h]

loc_100CB51:		; lprc
push	eax
push	ebx		; hDC
call	ds:DrawFocusRect
push	ebx		; hDC
push	edi		; hWnd
call	ds:ReleaseDC
xor	edi, edi
inc	edi

loc_100CB64:
mov	eax, edi
pop	ebx

loc_100CB67:
pop	edi
pop	esi
retn
sub_100CB26 endp

db 5 dup(0CCh)

loc_100CB6F:
mov	eax, ecx
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_100CB77(RECT *lprc, POINT pt)
sub_100CB77 proc near

pt= POINT ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+pt.y]
push	[ebp+pt.x]	; pt
push	ecx		; lprc
call	ds:PtInRect
pop	ebp
retn	8
sub_100CB77 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_100CB92(LPRECT lprc, int, int dy)
sub_100CB92 proc near

arg_0= dword ptr  8
dy= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+dy]	; dy
push	[ebp+arg_0]	; dx
push	ecx		; lprc
call	ds:OffsetRect
pop	ebp
retn	8
sub_100CB92 endp

db 5 dup(0CCh)



sub_100CBAD proc near
mov	edi, edi
push	esi
push	edi
mov	edi, ds:GetSystemMetrics
mov	esi, ecx
and	dword ptr [esi+0Ch], 0
and	dword ptr [esi+14h], 0
push	0Bh		; nIndex
mov	dword ptr [esi], 10021ACh
call	edi ; GetSystemMetrics
push	0Ch		; nIndex
mov	[esi+4], eax
call	edi ; GetSystemMetrics
mov	ecx, [esi+4]
mov	edi, eax
mov	eax, ecx
cdq
sub	eax, edx
sar	eax, 1
add	eax, ecx
mov	[esi+4], eax
mov	eax, edi
cdq
sub	eax, edx
sar	eax, 1
add	eax, edi
mov	[esi+8], eax
pop	edi
mov	eax, esi
pop	esi
retn
sub_100CBAD endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100CBF9 proc near

Rect= tagRECT ptr -28h
rc= tagRECT ptr	-18h
var_8= byte ptr	-8
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h
arg_10=	dword ptr  18h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 28h
mov	eax, [ebp+arg_0]
mov	edx, [ebp+arg_10]
push	ebx
mov	ebx, ecx
mov	ecx, [ebp+arg_C]
mov	[ebx+48h], eax
mov	eax, [ebp+arg_4]
mov	[ebx+4Ch], eax
xor	eax, eax
test	ecx, ecx
setz	al
push	esi
mov	[ebx+58h], edx
mov	[ebx+10h], ecx
push	edi
lea	edi, [ebp+rc]
mov	[ebx+14h], eax
mov	eax, [ebp+arg_8]
mov	esi, eax
movsd
movsd
movsd
movsd
mov	esi, [eax+8]
sub	esi, [eax]
mov	[ebp+arg_0], esi
mov	esi, [eax+0Ch]
sub	esi, [eax+4]
test	ecx, ecx
mov	[ebp+arg_4], esi
jz	short loc_100CC82
test	edx, edx
jle	short loc_100CC6B
cmp	edx, 2
jg	short loc_100CC6B
push	dy		; dy
lea	eax, [ebp+rc]
push	dword_103F07C	; dx
push	eax		; lprc
call	ds:InflateRect
mov	eax, [ebp+arg_8]

loc_100CC6B:
mov	ecx, dword_103F084
add	[ebp+rc.bottom], ecx
lea	edi, [ebx+28h]
mov	esi, eax
movsd
movsd
movsd
movsd
lea	esi, [ebp+rc]
jmp	short loc_100CCCC

loc_100CC82:
dec	edx
jz	short loc_100CC93
dec	edx
jnz	short loc_100CCC0
lea	eax, [ebp+Rect]
push	eax
mov	eax, dword_103E820
jmp	short loc_100CC9C

loc_100CC93:
lea	eax, [ebp+Rect]
push	eax		; lpRect
mov	eax, dword_103F170

loc_100CC9C:		; hWnd
push	dword ptr [eax+20h]
call	ds:GetWindowRect
mov	eax, [ebp+Rect.right]
sub	eax, [ebp+Rect.left]
add	eax, [ebp+rc.left]
mov	[ebp+rc.right],	eax
mov	eax, [ebp+Rect.bottom]
sub	eax, [ebp+Rect.top]
add	eax, [ebp+rc.top]
mov	[ebp+rc.bottom], eax
mov	eax, [ebp+arg_8]

loc_100CCC0:
lea	edi, [ebx+28h]
lea	esi, [ebp+rc]
movsd
movsd
movsd
movsd
mov	esi, eax

loc_100CCCC:
lea	edi, [ebx+38h]
movsd
movsd
movsd
movsd
call	sub_100C004
mov	ecx, eax
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
mov	esi, eax
test	esi, esi
jz	short loc_100CD3E
push	offset off_1004900
mov	ecx, esi
call	?IsKindOf@CObject@@QBEHPBUCRuntimeClass@@@Z ; CObject::IsKindOf(CRuntimeClass const *)
test	eax, eax
jz	short loc_100CD3E
lea	eax, [ebp+arg_0]
push	eax
push	[ebp+arg_10]
lea	eax, [ebp+var_8]
push	eax
mov	ecx, esi
call	sub_1021B01
mov	ecx, [eax]
mov	[ebx+50h], ecx
mov	eax, [eax+4]
mov	ecx, ebx
mov	[ebx+54h], eax
call	sub_100CB26
mov	edx, [ebx+8]
mov	ecx, [ebx+50h]
mov	esi, [ebx+4]
mov	[ebx+0Ch], eax
mov	eax, [ebx+54h]
lea	edi, [edx+eax]
push	edi		; yBottom
lea	edi, [esi+ecx]
push	edi		; xRight
sub	eax, edx
sub	ecx, esi
push	eax		; yTop
push	ecx		; xLeft
lea	ecx, [ebx+18h]	; lprc
call	sub_100ABE3

loc_100CD3E:
mov	eax, [ebx+0Ch]
pop	edi
pop	esi
pop	ebx
leave
retn	14h
sub_100CBF9 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100CD4D proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_100CB26
test	eax, eax
jz	short loc_100CDB5
mov	ecx, [esi+4Ch]
mov	eax, [esi+48h]
push	ebx
mov	ebx, [ebp+arg_4]
push	edi
mov	edi, [ebp+arg_0]
sub	ebx, ecx
sub	edi, eax
push	ebx		; dy
lea	ecx, [esi+28h]	; lprc
push	edi		; int
call	sub_100CB92
push	ebx		; dy
lea	ecx, [esi+38h]	; lprc
push	edi		; int
call	sub_100CB92
cmp	dword ptr [esi+10h], 0
pop	edi
pop	ebx
lea	eax, [esi+28h]
jnz	short loc_100CD92
lea	eax, [esi+38h]

loc_100CD92:
push	dword ptr [eax+4]
lea	ecx, [esi+18h]	; lprc
push	dword ptr [eax]	; pt
call	sub_100CB77
mov	[esi+10h], eax
mov	eax, [ebp+arg_0]
mov	[esi+48h], eax
mov	eax, [ebp+arg_4]
mov	ecx, esi
mov	[esi+4Ch], eax
call	sub_100CB26

loc_100CDB5:
pop	esi
pop	ebp
retn	8
sub_100CD4D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100CDBF proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
push	edi
mov	ebx, ecx
call	sub_100CB26
mov	edi, [ebp+arg_0]
and	dword ptr [ebx+0Ch], 0
test	edi, edi
jz	short loc_100CDE9
cmp	dword ptr [ebx+10h], 0
lea	esi, [ebx+28h]
jnz	short loc_100CDE5
lea	esi, [ebx+38h]

loc_100CDE5:
movsd
movsd
movsd
movsd

loc_100CDE9:
cmp	dword ptr [ebx+10h], 0
jnz	short loc_100CE1F
call	sub_100C004
mov	ecx, eax
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
mov	esi, eax
test	esi, esi
jz	short loc_100CE1F
push	offset off_1004900
mov	ecx, esi
call	?IsKindOf@CObject@@QBEHPBUCRuntimeClass@@@Z ; CObject::IsKindOf(CRuntimeClass const *)
test	eax, eax
jz	short loc_100CE1F
lea	eax, [ebx+38h]
push	eax
push	dword ptr [ebx+58h]
mov	ecx, esi
call	nullsub_1

loc_100CE1F:
mov	eax, [ebx+10h]
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	4
sub_100CDBF endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100CE2E proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
push	edi
push	[ebp+arg_4]
mov	ebx, ecx
push	[ebp+arg_0]
call	sub_100CD4D
cmp	dword ptr [ebx+10h], 0
lea	esi, [ebx+28h]
jnz	short loc_100CE4F
lea	esi, [ebx+38h]

loc_100CE4F:
mov	edi, [ebp+arg_8]
movsd
movsd
movsd
movsd
mov	eax, [ebx+10h]
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	0Ch
sub_100CE2E endp

db 5 dup(0CCh)



sub_100CE65 proc near
mov	edi, edi
push	esi
push	edi
xor	edi, edi

loc_100CE6B:
lea	esi, unk_103F088[edi]
mov	ecx, [esi]
test	ecx, ecx
jz	short loc_100CE81
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]
and	dword ptr [esi], 0

loc_100CE81:
add	edi, 4
cmp	edi, 74h
jb	short loc_100CE6B
pop	edi
pop	esi
retn
sub_100CE65 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100CE91(int	nIndex)
sub_100CE91 proc near

nIndex=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+nIndex]
cmp	eax, 19h
jnb	short loc_100CEA7
push	eax		; nIndex
call	ds:GetSysColor
jmp	short loc_100CEAE

loc_100CEA7:
mov	eax, dword_103D34C[eax*4]

loc_100CEAE:
pop	ebp
retn	4
sub_100CE91 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100CEB7(wchar_t *FullPath, wchar_t *Drive, wchar_t *Dir, wchar_t *Filename,	wchar_t	*Ext)
sub_100CEB7 proc near

FullPath= dword	ptr  8
Drive= dword ptr  0Ch
Dir= dword ptr	10h
Filename= dword	ptr  14h
Ext= dword ptr	18h

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+Ext]	; Ext
push	[ebp+Filename]	; Filename
push	[ebp+Dir]	; Dir
push	[ebp+Drive]	; Drive
push	[ebp+FullPath]	; FullPath
call	ds:_wsplitpath
add	esp, 14h
pop	ebp
retn	14h
sub_100CEB7 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100CEDD(int, wchar_t *FullPath)
sub_100CEDD proc near

var_608= dword ptr -608h
Filename= word ptr -604h
Ext= word ptr -204h
var_4= dword ptr -4
arg_0= dword ptr  8
FullPath= dword	ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 608h
mov	eax, ___security_cookie
push	esi
mov	esi, [ebp+arg_0]
lea	edx, [ebp+Ext]
push	edx		; Ext
xor	ecx, ecx
lea	edx, [ebp+Filename]
push	edx		; Filename
push	ecx		; Dir
mov	[ebp+var_4], eax
mov	eax, [ebp+FullPath]
push	ecx		; Drive
push	eax		; FullPath
mov	[ebp+var_608], ecx
call	sub_100CEB7
lea	eax, [ebp+Ext]
push	eax		; lpString2
lea	eax, [ebp+Filename]
push	eax		; lpString1
call	ds:lstrcatW
lea	eax, [ebp+Filename]
push	eax
mov	ecx, esi
call	??0CString@@QAE@PBG@Z ;	CString::CString(ushort	const *)
mov	ecx, [ebp+var_4]
mov	eax, esi
pop	esi
call	sub_1032F53
leave
retn	8
sub_100CEDD endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100CF4B(int, wchar_t *FullPath)
sub_100CF4B proc near

var_410= dword ptr -410h
Dir= word ptr -40Ch
Drive= word ptr	-20Ch
var_4= dword ptr -4
arg_0= dword ptr  8
FullPath= dword	ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 410h
mov	eax, ___security_cookie
push	esi
mov	esi, [ebp+arg_0]
xor	ecx, ecx
push	ecx		; Ext
push	ecx		; Filename
mov	[ebp+var_410], ecx
lea	ecx, [ebp+Dir]
push	ecx		; Dir
mov	[ebp+var_4], eax
mov	eax, [ebp+FullPath]
lea	ecx, [ebp+Drive]
push	ecx		; Drive
push	eax		; FullPath
call	sub_100CEB7
lea	eax, [ebp+Dir]
push	eax		; lpString2
lea	eax, [ebp+Drive]
push	eax		; lpString1
call	ds:lstrcatW
lea	eax, [ebp+Drive]
push	eax
mov	ecx, esi
call	??0CString@@QAE@PBG@Z ;	CString::CString(ushort	const *)
mov	ecx, [ebp+var_4]
mov	eax, esi
pop	esi
call	sub_1032F53
leave
retn	8
sub_100CF4B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100CFB9(int, wchar_t *FullPath)
sub_100CFB9 proc near

var_810= dword ptr -810h
Drive= word ptr	-80Ch
Filename= word ptr -404h
Dir= word ptr -204h
var_4= dword ptr -4
arg_0= dword ptr  8
FullPath= dword	ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 810h
mov	eax, ___security_cookie
and	[ebp+var_810], 0
push	esi
push	edi
mov	edi, [ebp+arg_0]
push	0		; Ext
lea	ecx, [ebp+Filename]
push	ecx		; Filename
lea	ecx, [ebp+Dir]
push	ecx		; Dir
mov	[ebp+var_4], eax
mov	eax, [ebp+FullPath]
lea	ecx, [ebp+Drive]
push	ecx		; Drive
push	eax		; FullPath
call	sub_100CEB7
mov	esi, ds:lstrcatW
lea	eax, [ebp+Dir]
push	eax		; lpString2
lea	eax, [ebp+Drive]
push	eax		; lpString1
call	esi ; lstrcatW
lea	eax, [ebp+Filename]
push	eax		; lpString2
lea	eax, [ebp+Drive]
push	eax		; lpString1
call	esi ; lstrcatW
lea	eax, [ebp+Drive]
push	eax
mov	ecx, edi
call	??0CString@@QAE@PBG@Z ;	CString::CString(ushort	const *)
mov	ecx, [ebp+var_4]
mov	eax, edi
pop	edi
pop	esi
call	sub_1032F53
leave
retn	8
sub_100CFB9 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100D041(int, wchar_t *FullPath)
sub_100D041 proc near

var_208= dword ptr -208h
Ext= word ptr -204h
var_4= dword ptr -4
arg_0= dword ptr  8
FullPath= dword	ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 208h
mov	eax, ___security_cookie
push	esi
mov	esi, [ebp+arg_0]
xor	ecx, ecx
lea	edx, [ebp+Ext]
push	edx		; Ext
push	ecx		; Filename
push	ecx		; Dir
mov	[ebp+var_4], eax
mov	eax, [ebp+FullPath]
push	ecx		; Drive
push	eax		; FullPath
mov	[ebp+var_208], ecx
call	sub_100CEB7
lea	eax, [ebp+Ext]
push	eax
mov	ecx, esi
call	??0CString@@QAE@PBG@Z ;	CString::CString(ushort	const *)
mov	ecx, [ebp+var_4]
mov	eax, esi
pop	esi
call	sub_1032F53
leave
retn	8
sub_100D041 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100D095(int, wchar_t *FullPath)
sub_100D095 proc near

var_208= dword ptr -208h
Filename= word ptr -204h
var_4= dword ptr -4
arg_0= dword ptr  8
FullPath= dword	ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 208h
mov	eax, ___security_cookie
push	esi
mov	esi, [ebp+arg_0]
xor	ecx, ecx
push	ecx		; Ext
lea	edx, [ebp+Filename]
push	edx		; Filename
push	ecx		; Dir
mov	[ebp+var_4], eax
mov	eax, [ebp+FullPath]
push	ecx		; Drive
push	eax		; FullPath
mov	[ebp+var_208], ecx
call	sub_100CEB7
lea	eax, [ebp+Filename]
push	eax
mov	ecx, esi
call	??0CString@@QAE@PBG@Z ;	CString::CString(ushort	const *)
mov	ecx, [ebp+var_4]
mov	eax, esi
pop	esi
call	sub_1032F53
leave
retn	8
sub_100D095 endp

db 5 dup(0CCh)



sub_100D0E9 proc near
mov	eax, ecx
and	dword ptr [eax+4], 0
mov	dword ptr [eax], offset	off_1002120
retn
sub_100D0E9 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100D0FB(COLORREF color)
sub_100D0FB proc near

color= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+color]	; color
mov	esi, ecx
call	ds:CreateSolidBrush
push	eax
mov	ecx, esi
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
pop	esi
pop	ebp
retn	4
sub_100D0FB endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100D11E(HBITMAP hbm)
sub_100D11E proc near

hbm= dword ptr	8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+hbm]
test	eax, eax
push	esi
mov	esi, ecx
jz	short loc_100D130
mov	eax, [eax+4]

loc_100D130:		; hbm
push	eax
call	ds:CreatePatternBrush
push	eax
mov	ecx, esi
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
pop	esi
pop	ebp
retn	4
sub_100D11E endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100D149(int	nIndex)
sub_100D149 proc near

nIndex=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+nIndex]
push	esi
lea	esi, ds:103F088h[eax*4]
cmp	dword ptr [esi], 0
jnz	short loc_100D1BE
push	ebx
push	eax		; nIndex
call	sub_100CE91
push	8		; unsigned int
mov	ebx, eax
call	??2@YAPAXI@Z	; operator new(uint)
test	eax, eax
pop	ecx
jz	short loc_100D17F
and	dword ptr [eax+4], 0
mov	dword ptr [eax], offset	off_1002120
jmp	short loc_100D181

loc_100D17F:
xor	eax, eax

loc_100D181:
test	eax, eax
mov	[esi], eax
jz	short loc_100D1B1
push	ebx		; color
mov	ecx, eax
call	sub_100D0FB
test	eax, eax
jnz	short loc_100D1BD
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
mov	ecx, [esi]
test	ecx, ecx
jz	short loc_100D1AC
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_100D1AC:
and	dword ptr [esi], 0
jmp	short loc_100D1BD

loc_100D1B1:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4

loc_100D1BD:
pop	ebx

loc_100D1BE:
mov	eax, [esi]
pop	esi
pop	ebp
retn	4
sub_100D149 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100D1CA proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_0]
test	esi, esi
jz	short loc_100D1F3
jmp	short loc_100D1ED

loc_100D1D9:
mov	ecx, esi
call	?RemoveHead@CObList@@QAEPAVCObject@@XZ ; CObList::RemoveHead(void)
test	eax, eax
jz	short loc_100D1ED
mov	edx, [eax]
push	1
mov	ecx, eax
call	dword ptr [edx+4]

loc_100D1ED:
cmp	dword ptr [esi+0Ch], 0
jnz	short loc_100D1D9

loc_100D1F3:
pop	esi
pop	ebp
retn	4
sub_100D1CA endp

db 5 dup(0CCh)



sub_100D1FD proc near
mov	eax, offset loc_10359C2
call	sub_1034E18
push	ecx
push	ecx
test	byte ptr dword_103E774,	1
jnz	short loc_100D235
or	dword_103E774, 1
and	dword_103E770, 0
push	offset loc_1037879
mov	dword_103E76C, offset off_1002120
call	sub_1034E6D
pop	ecx

loc_100D235:
cmp	dword_103E770, 0
push	esi
jnz	short loc_100D2A5
and	dword ptr [ebp-10h], 0
mov	esi, offset off_1001F9C
mov	[ebp-14h], esi
and	dword ptr [ebp-4], 0
push	offset unk_103D3C0 ; lpBits
push	1		; nBitCount
push	1		; nPlanes
push	8		; nHeight
push	8		; nWidth
call	ds:CreateBitmap
push	eax
lea	ecx, [ebp-14h]
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
test	eax, eax
jnz	short loc_100D27B
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	[ebp-14h], esi
lea	ecx, [ebp-14h]
jmp	short loc_100D297

loc_100D27B:
lea	eax, [ebp-14h]
push	eax		; hbm
mov	ecx, offset dword_103E76C
call	sub_100D11E
or	dword ptr [ebp-4], 0FFFFFFFFh
test	eax, eax
lea	ecx, [ebp-14h]
mov	[ebp-14h], esi
jnz	short loc_100D2A0

loc_100D297:
call	sub_10096BE
xor	eax, eax
jmp	short loc_100D2AA

loc_100D2A0:
call	sub_10096BE

loc_100D2A5:
mov	eax, offset dword_103E76C

loc_100D2AA:
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_100D1FD endp

db 5 dup(0CCh)



sub_100D2BC proc near
mov	eax, offset loc_10359EF
call	sub_1034E18
push	ecx
push	ebx
push	esi
push	edi
push	dword ptr [ebp+8]
mov	esi, ecx
push	69h
mov	[ebp-10h], esi
call	??0CDialog@@QAE@IPAVCWnd@@@Z ; CDialog::CDialog(uint,CWnd *)
xor	edi, edi
lea	ecx, [esi+60h]
mov	[ebp-4], edi
mov	dword ptr [esi], offset	off_1002424
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [esi+64h]
mov	byte ptr [ebp-4], 1
call	??0CString@@QAE@XZ ; CString::CString(void)
mov	ebx, offset Text
push	ebx
lea	ecx, [esi+60h]
mov	byte ptr [ebp-4], 2
call	??4CString@@QAEABV0@PBG@Z ; CString::operator=(ushort const *)
push	ebx
lea	ecx, [esi+64h]
call	??4CString@@QAEABV0@PBG@Z ; CString::operator=(ushort const *)
mov	eax, dword_103EF7C
mov	ecx, [ebp-0Ch]
mov	[esi+70h], edi
mov	[esi+68h], edi
mov	[esi+74h], edi
mov	[esi+78h], edi
mov	[esi+7Ch], edi
mov	[esi+80h], edi
mov	[esi+84h], edi
mov	[esi+88h], edi
mov	[esi+6Ch], eax
pop	edi
mov	eax, esi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	4
sub_100D2BC endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100D354(int, WCHAR LCData)
sub_100D354 proc near

arg_0= dword ptr  8
LCData=	word ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, dword ptr [ebp+LCData]
add	eax, 5
xor	edx, edx
mov	ecx, 3E8h
div	ecx
push	esi
push	edi
push	0Ah
pop	ecx
push	2		; cchData
mov	dword ptr [ebp+LCData],	2Eh
mov	edi, eax
mov	eax, edx
xor	edx, edx
div	ecx
mov	esi, eax
lea	eax, [ebp+LCData]
push	eax		; lpLCData
push	0Eh		; LCType
push	400h		; Locale
call	ds:GetLocaleInfoW
mov	ecx, [ebp+arg_0]
push	18h
call	?GetBufferSetLength@CString@@QAEPAGH@Z ; CString::GetBufferSetLength(int)
test	esi, esi
jz	short loc_100D3B6
push	esi
lea	ecx, [ebp+LCData]
push	ecx
push	edi
push	offset aUS02u	; "%u%s%02u"
push	eax		; LPWSTR
call	ds:wsprintfW
add	esp, 14h
jmp	short loc_100D3C6

loc_100D3B6:
push	edi
push	offset aU	; "%u"
push	eax		; LPWSTR
call	ds:wsprintfW
add	esp, 0Ch

loc_100D3C6:
mov	ecx, [ebp+arg_0]
push	0FFFFFFFFh
call	?ReleaseBuffer@CString@@QAEXH@Z	; CString::ReleaseBuffer(int)
pop	edi
pop	esi
pop	ebp
retn	8
sub_100D354 endp

db 5 dup(0CCh)



sub_100D3DB proc near
mov	eax, offset off_10022E0
retn
sub_100D3DB endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100D3E6 proc near

arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_4]
push	offset unk_103D3D0 ; dwData
push	0Ch		; uCommand
push	offset szHelp	; "mspaint.hlp"
push	dword ptr [eax+0Ch] ; hWndMain
call	ds:WinHelpW
xor	eax, eax
pop	ebp
retn	8
sub_100D3E6 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100D40E(HWND hWndMain, int)
sub_100D40E proc near

hWndMain= dword	ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	offset unk_103D3D0 ; dwData
push	0Ah		; uCommand
push	offset szHelp	; "mspaint.hlp"
push	[ebp+hWndMain]	; hWndMain
call	ds:WinHelpW
xor	eax, eax
pop	ebp
retn	8
sub_100D40E endp

db 5 dup(0CCh)



sub_100D433 proc near
mov	edi, edi
push	esi
mov	esi, ecx
cmp	dword ptr [esi+70h], 0
jz	loc_100D4CA
push	edi
push	1
call	?UpdateData@CWnd@@QAEHH@Z ; CWnd::UpdateData(int)
mov	eax, [esi+6Ch]
dec	eax
jz	short loc_100D489
dec	eax
jz	short loc_100D461
mov	eax, [esi+80h]
mov	[esi+78h], eax
mov	eax, [esi+7Ch]
jmp	short loc_100D4C2

loc_100D461:
mov	edi, ds:MulDiv
push	64h		; nDenominator
push	dword ptr [esi+84h] ; nNumerator
push	dword ptr [esi+80h] ; nNumber
call	edi ; MulDiv
push	64h		; nDenominator
push	dword ptr [esi+88h] ; nNumerator
mov	[esi+78h], eax
push	dword ptr [esi+7Ch] ; nNumber
call	edi ; MulDiv
jmp	short loc_100D4C2

loc_100D489:
mov	eax, [esi+84h]
mov	edi, ds:MulDiv
imul	eax, 0FEh
push	ebx
mov	ebx, 2710h
push	ebx		; nDenominator
push	eax		; nNumerator
push	dword ptr [esi+80h] ; nNumber
call	edi ; MulDiv
mov	[esi+78h], eax
mov	eax, [esi+88h]
imul	eax, 0FEh
push	ebx		; nDenominator
push	eax		; nNumerator
push	dword ptr [esi+7Ch] ; nNumber
call	edi ; MulDiv
pop	ebx

loc_100D4C2:
and	dword ptr [esi+70h], 0
mov	[esi+74h], eax
pop	edi

loc_100D4CA:
pop	esi
retn
sub_100D433 endp

db 5 dup(0CCh)



sub_100D4D1 proc near
mov	edi, edi
push	esi
mov	esi, ecx
mov	eax, [esi+6Ch]
dec	eax
push	edi
jz	short loc_100D531
dec	eax
jz	short loc_100D509
mov	eax, [esi+78h]
xor	edx, edx
mov	ecx, 3E8h
mov	edi, ecx
div	edi
xor	edx, edx
imul	eax, 3E8h
mov	[esi+80h], eax
mov	eax, [esi+74h]
div	ecx
imul	eax, 3E8h
jmp	short loc_100D56A

loc_100D509:		; nDenominator
push	dword ptr [esi+84h]
mov	edi, ds:MulDiv
push	64h		; nNumerator
push	dword ptr [esi+78h] ; nNumber
call	edi ; MulDiv
push	dword ptr [esi+88h] ; nDenominator
mov	[esi+80h], eax
push	64h		; nNumerator
push	dword ptr [esi+74h] ; nNumber
call	edi ; MulDiv
jmp	short loc_100D56A

loc_100D531:
mov	eax, [esi+84h]
mov	edi, ds:MulDiv
imul	eax, 0FEh
push	ebx
push	eax		; nDenominator
mov	ebx, 2710h
push	ebx		; nNumerator
push	dword ptr [esi+78h] ; nNumber
call	edi ; MulDiv
mov	[esi+80h], eax
mov	eax, [esi+88h]
imul	eax, 0FEh
push	eax		; nDenominator
push	ebx		; nNumerator
push	dword ptr [esi+74h] ; nNumber
call	edi ; MulDiv
pop	ebx

loc_100D56A:
pop	edi
mov	[esi+7Ch], eax
pop	esi
retn
sub_100D4D1 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100D575 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, [ebp+arg_0]
mov	esi, ecx
cmp	edi, [esi+6Ch]
jz	short loc_100D59E
call	sub_100D433
mov	ecx, esi
mov	[esi+6Ch], edi
call	sub_100D4D1
push	0
mov	ecx, esi
call	?UpdateData@CWnd@@QAEHH@Z ; CWnd::UpdateData(int)

loc_100D59E:
pop	edi
pop	esi
pop	ebp
retn	4
sub_100D575 endp

db 5 dup(0CCh)
mov	dword ptr [ecx+70h], 1
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100D5B6 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+arg_0]
mov	esi, ecx
push	6Ch
call	??0CDialog@@QAE@IPAVCWnd@@@Z ; CDialog::CDialog(uint,CWnd *)
and	dword ptr [esi+60h], 0
mov	dword ptr [esi], offset	off_100253C
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_100D5B6 endp

db 5 dup(0CCh)



sub_100D5DE proc near
mov	eax, offset off_1002330
retn
sub_100D5DE endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100D5E9 proc near

arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_4]
push	offset unk_103D460 ; dwData
push	0Ch		; uCommand
push	offset szHelp	; "mspaint.hlp"
push	dword ptr [eax+0Ch] ; hWndMain
call	ds:WinHelpW
xor	eax, eax
pop	ebp
retn	8
sub_100D5E9 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100D611(HWND hWndMain, int)
sub_100D611 proc near

hWndMain= dword	ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	offset unk_103D460 ; dwData
push	0Ah		; uCommand
push	offset szHelp	; "mspaint.hlp"
push	[ebp+hWndMain]	; hWndMain
call	ds:WinHelpW
xor	eax, eax
pop	ebp
retn	8
sub_100D611 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100D636 proc near

var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	esi
mov	esi, ecx
call	?OnInitDialog@CDialog@@UAEHXZ ;	CDialog::OnInitDialog(void)
mov	eax, [esi+60h]
cmp	eax, 8
mov	ecx, offset a100 ; "100%"
mov	[ebp+var_4], 43Ah
jnb	short loc_100D691
cmp	eax, 6
jnb	short loc_100D683
cmp	eax, 4
jnb	short loc_100D675
cmp	eax, 2
jb	short loc_100D69D
mov	ecx, offset a200 ; "200%"
mov	[ebp+var_4], 43Bh
jmp	short loc_100D69D

loc_100D675:		; "400%"
mov	ecx, offset a400
mov	[ebp+var_4], 43Ch
jmp	short loc_100D69D

loc_100D683:		; "600%"
mov	ecx, offset a600
mov	[ebp+var_4], 43Dh
jmp	short loc_100D69D

loc_100D691:		; "800%"
mov	ecx, offset a800
mov	[ebp+var_4], 43Eh

loc_100D69D:
push	ecx
push	439h
mov	ecx, esi
call	?SetDlgItemTextW@CWnd@@QAEXHPBG@Z ; CWnd::SetDlgItemTextW(int,ushort const *)
push	[ebp+var_4]
mov	ecx, esi
push	43Eh
push	43Ah
call	?CheckRadioButton@CWnd@@QAEXHHH@Z ; CWnd::CheckRadioButton(int,int,int)
xor	eax, eax
inc	eax
pop	esi
leave
retn
sub_100D636 endp

db 5 dup(0CCh)
byte_100D6C9 db	8Bh, 0FFh
push	esi
push	43Eh
push	43Ah
mov	esi, ecx
call	?GetCheckedRadioButton@CWnd@@QAEHHH@Z ;	CWnd::GetCheckedRadioButton(int,int)
xor	ecx, ecx
add	eax, 0FFFFFBC6h
inc	ecx
cmp	eax, ecx
mov	[esi+60h], eax
jnb	short loc_100D6F1
mov	[esi+60h], ecx
jmp	short loc_100D6F6

loc_100D6F1:
add	eax, eax
mov	[esi+60h], eax

loc_100D6F6:
mov	ecx, esi
pop	esi
jmp	loc_10337B0
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100D703 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+arg_0]
mov	esi, ecx
push	70h
call	??0CDialog@@QAE@IPAVCWnd@@@Z ; CDialog::CDialog(uint,CWnd *)
and	dword ptr [esi+64h], 0
mov	dword ptr [esi], offset	off_100265C
mov	dword ptr [esi+60h], 1
mov	dword ptr [esi+68h], 5Ah
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_100D703 endp

db 5 dup(0CCh)



sub_100D739 proc near
mov	eax, offset off_10023C8
retn
sub_100D739 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100D744 proc near

arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_4]
push	offset unk_103D4A8 ; dwData
push	0Ch		; uCommand
push	offset szHelp	; "mspaint.hlp"
push	dword ptr [eax+0Ch] ; hWndMain
call	ds:WinHelpW
xor	eax, eax
pop	ebp
retn	8
sub_100D744 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100D76C(HWND hWndMain, int)
sub_100D76C proc near

hWndMain= dword	ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	offset unk_103D4A8 ; dwData
push	0Ah		; uCommand
push	offset szHelp	; "mspaint.hlp"
push	[ebp+hWndMain]	; hWndMain
call	ds:WinHelpW
xor	eax, eax
pop	ebp
retn	8
sub_100D76C endp

db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	1
push	442h
mov	esi, ecx
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	ecx, eax
call	?EnableWindow@CWnd@@QAEHH@Z ; CWnd::EnableWindow(int)
push	1
push	443h
mov	ecx, esi
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	ecx, eax
call	?EnableWindow@CWnd@@QAEHH@Z ; CWnd::EnableWindow(int)
push	1
push	444h
mov	ecx, esi
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	ecx, eax
call	?EnableWindow@CWnd@@QAEHH@Z ; CWnd::EnableWindow(int)
pop	esi
retn
db 5 dup(0CCh)
align 4
push	esi
push	0
push	442h
mov	esi, ecx
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	ecx, eax
call	?EnableWindow@CWnd@@QAEHH@Z ; CWnd::EnableWindow(int)
push	0
push	443h
mov	ecx, esi
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	ecx, eax
call	?EnableWindow@CWnd@@QAEHH@Z ; CWnd::EnableWindow(int)
push	0
push	444h
mov	ecx, esi
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	ecx, eax
call	?EnableWindow@CWnd@@QAEHH@Z ; CWnd::EnableWindow(int)
pop	esi
retn
db 5 dup(0CCh)
byte_100D823 db	8Bh, 0FFh
push	ebx
push	esi
push	edi
mov	ebx, 441h
push	ebx
mov	edi, 43Fh
push	edi
mov	esi, ecx
call	?GetCheckedRadioButton@CWnd@@QAEHHH@Z ;	CWnd::GetCheckedRadioButton(int,int)
xor	ecx, ecx
cmp	eax, edi
setz	cl
push	444h
mov	[esi+60h], ecx
xor	ecx, ecx
cmp	eax, ebx
setz	cl
add	edi, 3
push	edi
mov	[esi+64h], ecx
mov	ecx, esi
call	?GetCheckedRadioButton@CWnd@@QAEHHH@Z ;	CWnd::GetCheckedRadioButton(int,int)
sub	eax, edi
jz	short loc_100D87B
dec	eax
jz	short loc_100D872
dec	eax
jnz	short loc_100D882
mov	dword ptr [esi+68h], 10Eh
jmp	short loc_100D882

loc_100D872:
mov	dword ptr [esi+68h], 0B4h
jmp	short loc_100D882

loc_100D87B:
mov	dword ptr [esi+68h], 5Ah

loc_100D882:
pop	edi
mov	ecx, esi
pop	esi
pop	ebx
jmp	loc_10337B0
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100D891 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+arg_0]
mov	esi, ecx
push	71h
call	??0CDialog@@QAE@IPAVCWnd@@@Z ; CDialog::CDialog(uint,CWnd *)
and	dword ptr [esi+60h], 0
and	dword ptr [esi+64h], 0
push	64h
pop	eax
mov	[esi+68h], eax
mov	[esi+6Ch], eax
mov	dword ptr [esi], offset	off_1002744
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_100D891 endp

db 5 dup(0CCh)



sub_100D8C6 proc near
mov	eax, offset off_1002418
retn
sub_100D8C6 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100D8D1 proc near

arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_4]
push	offset unk_103D4E8 ; dwData
push	0Ch		; uCommand
push	offset szHelp	; "mspaint.hlp"
push	dword ptr [eax+0Ch] ; hWndMain
call	ds:WinHelpW
xor	eax, eax
pop	ebp
retn	8
sub_100D8D1 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100D8F9(HWND hWndMain, int)
sub_100D8F9 proc near

hWndMain= dword	ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	offset unk_103D4E8 ; dwData
push	0Ah		; uCommand
push	offset szHelp	; "mspaint.hlp"
push	[ebp+hWndMain]	; hWndMain
call	ds:WinHelpW
xor	eax, eax
pop	ebp
retn	8
sub_100D8F9 endp

db 5 dup(0CCh)
byte_100D91E db	8Bh, 0FFh
push	esi
mov	esi, ecx
call	?OnInitDialog@CDialog@@UAEHXZ ;	CDialog::OnInitDialog(void)
mov	eax, 445h
push	eax
push	446h
push	eax
mov	ecx, esi
call	?CheckRadioButton@CWnd@@QAEXHHH@Z ; CWnd::CheckRadioButton(int,int,int)
mov	eax, 447h
push	eax
push	448h
push	eax
mov	ecx, esi
call	?CheckRadioButton@CWnd@@QAEXHHH@Z ; CWnd::CheckRadioButton(int,int,int)
xor	eax, eax
inc	eax
pop	esi
retn
align 8
byte_100D958 db	8Bh, 0FFh
push	esi
push	edi
push	446h
mov	edi, 445h
push	edi
mov	esi, ecx
call	?GetCheckedRadioButton@CWnd@@QAEHHH@Z ;	CWnd::GetCheckedRadioButton(int,int)
cmp	eax, edi
jnz	short loc_100D978
and	dword ptr [esi+68h], 0
jmp	short loc_100D97C

loc_100D978:
and	dword ptr [esi+6Ch], 0

loc_100D97C:
push	448h
mov	edi, 447h
push	edi
mov	ecx, esi
call	?GetCheckedRadioButton@CWnd@@QAEHHH@Z ;	CWnd::GetCheckedRadioButton(int,int)
cmp	eax, edi
jnz	short loc_100D998
and	dword ptr [esi+64h], 0
jmp	short loc_100D99C

loc_100D998:
and	dword ptr [esi+60h], 0

loc_100D99C:
pop	edi
mov	ecx, esi
pop	esi
jmp	loc_10337B0
db 5 dup(0CCh)
align 4
push	esi
push	edi
push	42Dh
mov	esi, ecx
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
push	42Ch
mov	ecx, esi
mov	edi, eax
call	?IsDlgButtonChecked@CWnd@@QBEIH@Z ; CWnd::IsDlgButtonChecked(int)
push	eax
mov	ecx, edi
call	?EnableWindow@CWnd@@QAEHH@Z ; CWnd::EnableWindow(int)
pop	edi
pop	esi
retn
align 8
mov	eax, [ecx]
jmp	dword ptr [eax+0DCh]
db 5 dup(0CCh)
mov	eax, [ecx]
jmp	dword ptr [eax+0D8h]
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100D9F2(LPRECT lpRect)
sub_100D9F2 proc near

lpRect=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+lpRect]	; lpRect
push	dword ptr [ecx+20h] ; hWnd
call	ds:GetClientRect
pop	ebp
retn	4
sub_100D9F2 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100DA0C proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
push	dword ptr [eax+4] ; hDC
push	dword ptr [ecx+20h] ; hWnd
call	ds:ReleaseDC
pop	ebp
retn	4
sub_100DA0C endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_100DA29(void *, char)
sub_100DA29 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_100DA4F
test	[ebp+arg_0], 1
jz	short loc_100DA43
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_100DA43:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_100DA29 endp

db 5 dup(0CCh)



sub_100DA4F proc near
mov	eax, offset loc_1035A11
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
lea	ecx, [esi+64h]
mov	dword ptr [ebp-4], 1
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [esi+60h]
mov	byte ptr [ebp-4], 0
call	??1CString@@QAE@XZ ; CString::~CString(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_100DA4F endp

align 8


; Attributes: bp-based frame

; int __stdcall	sub_100DA98(LPCWSTR lpString)
sub_100DA98 proc near

var_8= dword ptr -8
LCData=	word ptr -4
lpString= dword	ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
push	ebx
push	esi
push	2		; cchData
lea	eax, [ebp+LCData]
push	eax		; lpLCData
push	0Eh		; LCType
xor	esi, esi
push	400h		; Locale
mov	[ebp+var_8], esi
mov	dword ptr [ebp+LCData],	2Eh
call	ds:GetLocaleInfoW
mov	ebx, [ebp+lpString]
mov	eax, [ebx]
cmp	[eax-8], esi
jz	short loc_100DB37
push	edi
push	dword ptr [ebp+LCData]
mov	ecx, ebx
call	?Find@CString@@QBEHG@Z ; CString::Find(ushort)
push	1
mov	ecx, ebx
mov	edi, eax
call	?GetBuffer@CString@@QAEPAGH@Z ;	CString::GetBuffer(int)
mov	ebx, ds:_wtoi
push	eax		; Str
mov	[ebp+lpString],	eax
call	ebx ; _wtoi
imul	eax, 3E8h
test	edi, edi
pop	ecx
mov	[ebp+var_8], eax
jl	short loc_100DB36
mov	eax, [ebp+lpString]
lea	esi, [eax+edi*2+2]
mov	edi, ds:lstrlenW
push	esi		; lpString
mov	[ebp+lpString],	esi
call	edi ; lstrlenW
cmp	eax, 2
jle	short loc_100DB17
and	word ptr [esi+4], 0

loc_100DB17:		; Str
push	esi
call	ebx ; _wtoi
pop	ecx
push	[ebp+lpString]	; lpString
lea	esi, [eax+eax*4]
shl	esi, 1
call	edi ; lstrlenW
push	2
pop	ecx
cmp	eax, ecx
jge	short loc_100DB36
sub	ecx, eax

loc_100DB2E:
lea	esi, [esi+esi*4]
shl	esi, 1
dec	ecx
jnz	short loc_100DB2E

loc_100DB36:
pop	edi

loc_100DB37:
mov	eax, [ebp+var_8]
add	eax, esi
pop	esi
pop	ebx
leave
retn	4
sub_100DA98 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100DB47 proc near

Rect= tagRECT ptr -18h
hbr= HBRUSH__ ptr -8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 18h
push	ebx
push	esi
push	edi
push	42Eh
mov	edi, ecx
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	esi, eax
push	dword ptr [esi+20h] ; hWnd
call	ds:GetDC
push	eax
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
mov	ebx, eax
lea	eax, [ebp+Rect]
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:GetClientRect
mov	eax, [edi+8Ch]
and	eax, 0FFFFFFh
push	eax
lea	ecx, [ebp+hbr]
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
lea	eax, [ebp+hbr]
push	eax		; hbr
lea	eax, [ebp+Rect]
push	eax		; lprc
mov	ecx, ebx
call	sub_100AC6F
push	ebx
mov	ecx, esi
call	sub_100DA0C
lea	ecx, [ebp+hbr]
mov	[ebp+hbr.unused], offset off_1002120
call	sub_10096BE
pop	edi
pop	esi
pop	ebx
leave
retn	4
sub_100DB47 endp

db 5 dup(0CCh)



sub_100DBC4 proc near
mov	eax, offset loc_1035A49
call	sub_1034E18
sub	esp, 64h
mov	eax, ___security_cookie
and	dword ptr [ebp-58h], 0
push	ebx
mov	[ebp-10h], eax
mov	eax, [ebp+8]
push	esi
push	edi
lea	ecx, [ebp-50h]
mov	[ebp-54h], eax
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [ebp-4Ch]
mov	dword ptr [ebp-4], 1
call	??0CString@@QAE@XZ ; CString::CString(void)
push	6
pop	ecx
xor	eax, eax
lea	edi, [ebp-70h]
rep stosd
mov	edi, ds:GetLocaleInfoW
push	10h		; cchData
lea	eax, [ebp-3Ch]
push	eax		; lpLCData
push	12h		; LCType
mov	esi, 400h
push	esi		; Locale
mov	byte ptr [ebp-4], 2
call	edi ; GetLocaleInfoW
mov	ebx, ds:_wtol
lea	eax, [ebp-3Ch]
push	eax		; Str
call	ebx ; _wtol
mov	[ebp-6Ch], eax
lea	eax, [ebp-1Ch]
pop	ecx
mov	[ebp-64h], eax
lea	eax, [ebp-48h]
push	6		; cchData
mov	[ebp-60h], eax
lea	eax, [ebp-1Ch]
push	eax		; lpLCData
push	0Eh		; LCType
push	esi		; Locale
mov	dword ptr [ebp-68h], 3
call	edi ; GetLocaleInfoW
push	6		; cchData
push	dword ptr [ebp-60h] ; lpLCData
push	0Fh		; LCType
push	esi		; Locale
call	edi ; GetLocaleInfoW
push	10h		; cchData
lea	eax, [ebp-3Ch]
push	eax		; lpLCData
push	1010h		; LCType
push	esi		; Locale
call	edi ; GetLocaleInfoW
lea	eax, [ebp-3Ch]
push	eax		; Str
call	ebx ; _wtol
pop	ecx
push	0Ah		; Radix
push	14h
lea	ecx, [ebp-4Ch]
mov	[ebp-5Ch], eax
call	?GetBuffer@CString@@QAEPAGH@Z ;	CString::GetBuffer(int)
push	eax		; Dest
push	dword ptr [ebp+0Ch] ; Value
call	ds:_ltow
add	esp, 0Ch
push	0FFFFFFFFh
lea	ecx, [ebp-4Ch]
call	?ReleaseBuffer@CString@@QAEXH@Z	; CString::ReleaseBuffer(int)
xor	ebx, ebx
push	ebx		; cchNumber
push	ebx		; lpNumberStr
lea	eax, [ebp-70h]
push	eax		; lpFormat
push	dword ptr [ebp-4Ch] ; lpValue
push	ebx		; dwFlags
push	esi		; Locale
mov	edi, ds:GetNumberFormatW
call	edi ; GetNumberFormatW
cmp	eax, ebx
jz	short loc_100DCDD
mov	ebx, [ebp-4Ch]
push	eax		; cchNumber
push	eax
lea	ecx, [ebp-50h]
call	?GetBuffer@CString@@QAEPAGH@Z ;	CString::GetBuffer(int)
push	eax		; lpNumberStr
lea	eax, [ebp-70h]
push	eax		; lpFormat
push	ebx		; lpValue
push	0		; dwFlags
push	esi		; Locale
call	edi ; GetNumberFormatW
push	0FFFFFFFFh
lea	ecx, [ebp-50h]
call	?ReleaseBuffer@CString@@QAEXH@Z	; CString::ReleaseBuffer(int)
mov	ecx, [ebp-54h]
lea	eax, [ebp-50h]
push	eax
call	??0CString@@QAE@ABV0@@Z	; CString::CString(CString const &)
jmp	short loc_100DCEA

loc_100DCDD:
mov	ecx, [ebp-54h]
push	offset String	; "0"
call	??0CString@@QAE@PBG@Z ;	CString::CString(ushort	const *)

loc_100DCEA:
lea	ecx, [ebp-4Ch]
mov	byte ptr [ebp-4], 1
mov	dword ptr [ebp-58h], 1
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [ebp-50h]
mov	byte ptr [ebp-4], 0
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
mov	eax, [ebp-54h]
pop	edi
pop	esi
mov	large fs:0, ecx
mov	ecx, [ebp-10h]
pop	ebx
call	sub_1032F53
leave
retn	8
sub_100DBC4 endp

db 5 dup(0CCh)



sub_100DD2A proc near
mov	eax, offset loc_1035A68
call	sub_1034E18
sub	esp, 0Ch
push	esi
mov	esi, ecx
lea	ecx, [ebp-10h]
call	??0CString@@QAE@XZ ; CString::CString(void)
xor	eax, eax
cmp	[esi+84h], eax
mov	[ebp-4], eax
jz	short loc_100DDC0
cmp	[esi+88h], eax
jz	short loc_100DDC0
push	ebx
push	edi
lea	ecx, [ebp-14h]
call	??0CString@@QAE@XZ ; CString::CString(void)
push	0A320h
lea	ecx, [ebp-14h]
mov	byte ptr [ebp-4], 1
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
mov	eax, [ebp-14h]
mov	edi, ds:MulDiv
push	2710h		; nDenominator
mov	ebx, 0FEh
push	ebx		; nNumerator
push	dword ptr [esi+88h] ; nNumber
mov	[ebp-18h], eax
call	edi ; MulDiv
push	eax
push	2710h		; nDenominator
push	ebx		; nNumerator
push	dword ptr [esi+84h] ; nNumber
call	edi ; MulDiv
push	eax
push	dword ptr [ebp-18h]
lea	eax, [ebp-10h]
push	eax
call	?Format@CString@@QAAXPBGZZ ; CString::Format(ushort const *,...)
add	esp, 10h
lea	ecx, [ebp-14h]
mov	byte ptr [ebp-4], 0
call	??1CString@@QAE@XZ ; CString::~CString(void)
pop	edi
pop	ebx
jmp	short loc_100DDCD

loc_100DDC0:
push	0A31Fh
lea	ecx, [ebp-10h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)

loc_100DDCD:
push	431h
mov	ecx, esi
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
push	dword ptr [ebp-10h]
mov	ecx, eax
call	?SetWindowTextW@CWnd@@QAEXPBG@Z	; CWnd::SetWindowTextW(ushort const *)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-10h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_100DD2A endp

db 5 dup(0CCh)



sub_100DE01 proc near
mov	eax, offset loc_1035AAE
call	sub_1034E18
sub	esp, 18Ch
mov	eax, ___security_cookie
push	ebx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], eax
mov	[ebp-170h], esi
call	?OnInitDialog@CDialog@@UAEHXZ ;	CDialog::OnInitDialog(void)
push	42Fh
mov	ecx, esi
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
push	430h
mov	ecx, esi
mov	[ebp-164h], eax
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
lea	ecx, [ebp-154h]
mov	[ebp-16Ch], eax
call	??0CString@@QAE@XZ ; CString::CString(void)
xor	ebx, ebx
lea	ecx, [ebp-158h]
mov	[ebp-4], ebx
call	??0CString@@QAE@XZ ; CString::CString(void)
mov	byte ptr [ebp-4], 1
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	eax, [eax+4]
mov	eax, [eax+2F4h]
cmp	[eax-8], ebx
jnz	short loc_100DEC6
push	0A31Bh
lea	ecx, [ebp-154h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
push	0A31Ch
lea	ecx, [ebp-158h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
push	dword ptr [ebp-154h]
mov	ecx, [ebp-164h]
call	?SetWindowTextW@CWnd@@QAEXPBG@Z	; CWnd::SetWindowTextW(ushort const *)
push	dword ptr [ebp-158h]
mov	ecx, [ebp-16Ch]
call	?SetWindowTextW@CWnd@@QAEXPBG@Z	; CWnd::SetWindowTextW(ushort const *)
jmp	loc_100E12D

loc_100DEC6:		; AfxGetModuleState(void)
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ
mov	eax, [eax+4]
add	eax, 2F4h
push	eax
lea	ecx, [ebp-174h]
call	??0CString@@QAE@ABV0@@Z	; CString::CString(CString const &)
lea	ecx, [ebp-15Ch]
mov	byte ptr [ebp-4], 2
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [ebp-160h]
mov	byte ptr [ebp-4], 3
call	??0CString@@QAE@XZ ; CString::CString(void)
push	ebx		; hTemplateFile
push	ebx		; dwFlagsAndAttributes
push	3		; dwCreationDisposition
push	ebx		; lpSecurityAttributes
push	3		; dwShareMode
push	80000000h	; dwDesiredAccess
push	dword ptr [ebp-174h] ; lpFileName
mov	byte ptr [ebp-4], 4
call	ds:CreateFileW
mov	edi, eax
cmp	edi, 0FFFFFFFFh
mov	[ebp-178h], edi
jz	loc_100E0BE
push	ebx		; lpFileSizeHigh
push	edi		; hFile
call	ds:GetFileSize
mov	[ebp-168h], eax
lea	eax, [ebp-198h]
push	eax		; lpLastWriteTime
push	ebx		; lpLastAccessTime
push	ebx		; lpCreationTime
push	edi		; hFile
call	ds:GetFileTime
lea	eax, [ebp-190h]
push	eax		; lpLocalFileTime
lea	eax, [ebp-198h]
push	eax		; lpFileTime
call	ds:FileTimeToLocalFileTime
lea	eax, [ebp-188h]
push	eax		; lpSystemTime
lea	eax, [ebp-190h]
push	eax		; lpFileTime
call	ds:FileTimeToSystemTime
mov	edi, ds:GetDateFormatW
push	ebx		; cchDate
push	ebx		; lpDateStr
push	ebx		; lpFormat
lea	eax, [ebp-188h]
push	eax		; lpDate
push	1		; dwFlags
mov	esi, 400h
push	esi		; Locale
call	edi ; GetDateFormatW
push	eax		; cchDate
push	eax
lea	ecx, [ebp-15Ch]
call	?GetBuffer@CString@@QAEPAGH@Z ;	CString::GetBuffer(int)
push	eax		; lpDateStr
push	ebx		; lpFormat
lea	eax, [ebp-188h]
push	eax		; lpDate
push	1		; dwFlags
push	esi		; Locale
call	edi ; GetDateFormatW
mov	edi, ds:GetTimeFormatW
push	ebx		; cchTime
push	ebx		; lpTimeStr
push	ebx		; lpFormat
lea	eax, [ebp-188h]
push	eax		; lpTime
push	2		; dwFlags
push	esi		; Locale
call	edi ; GetTimeFormatW
push	eax		; cchTime
push	eax
lea	ecx, [ebp-160h]
call	?GetBuffer@CString@@QAEPAGH@Z ;	CString::GetBuffer(int)
push	eax		; lpTimeStr
push	ebx		; lpFormat
lea	eax, [ebp-188h]
push	eax		; lpTime
push	2		; dwFlags
push	esi		; Locale
call	edi ; GetTimeFormatW
push	0FFFFFFFFh
lea	ecx, [ebp-15Ch]
call	?ReleaseBuffer@CString@@QAEXH@Z	; CString::ReleaseBuffer(int)
push	0FFFFFFFFh
lea	ecx, [ebp-160h]
call	?ReleaseBuffer@CString@@QAEXH@Z	; CString::ReleaseBuffer(int)
push	0A31Dh
lea	ecx, [ebp-154h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
push	0A31Eh
lea	ecx, [ebp-158h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
push	offset Delim
lea	ecx, [ebp-15Ch]
call	??YCString@@QAEABV0@PBG@Z ; CString::operator+=(ushort const *)
lea	eax, [ebp-160h]
push	eax
lea	ecx, [ebp-15Ch]
call	??YCString@@QAEABV0@ABV0@@Z ; CString::operator+=(CString const	&)
push	dword ptr [ebp-15Ch]
push	dword ptr [ebp-154h] ; LPCWSTR
mov	esi, ds:wsprintfW
lea	eax, [ebp-150h]
push	eax		; LPWSTR
call	esi ; wsprintfW
mov	ecx, [ebp-170h]
add	esp, 0Ch
push	dword ptr [ebp-168h]
lea	eax, [ebp-168h]
push	eax
call	sub_100DBC4
push	dword ptr [eax]
lea	eax, [ebp-90h]
push	dword ptr [ebp-158h] ; LPCWSTR
push	eax		; LPWSTR
call	esi ; wsprintfW
add	esp, 0Ch
lea	ecx, [ebp-168h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
push	dword ptr [ebp-178h] ; hObject
call	ds:CloseHandle
mov	ecx, [ebp-164h]
lea	eax, [ebp-150h]
push	eax
call	?SetWindowTextW@CWnd@@QAEXPBG@Z	; CWnd::SetWindowTextW(ushort const *)
mov	ecx, [ebp-16Ch]
lea	eax, [ebp-90h]
push	eax
call	?SetWindowTextW@CWnd@@QAEXPBG@Z	; CWnd::SetWindowTextW(ushort const *)
mov	esi, [ebp-170h]
jmp	short loc_100E100

loc_100E0BE:
push	0A31Bh
lea	ecx, [ebp-154h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
push	0A31Ch
lea	ecx, [ebp-158h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
push	dword ptr [ebp-154h]
mov	ecx, [ebp-164h]
call	?SetWindowTextW@CWnd@@QAEXPBG@Z	; CWnd::SetWindowTextW(ushort const *)
push	dword ptr [ebp-158h]
mov	ecx, [ebp-16Ch]
call	?SetWindowTextW@CWnd@@QAEXPBG@Z	; CWnd::SetWindowTextW(ushort const *)

loc_100E100:
lea	ecx, [ebp-160h]
mov	byte ptr [ebp-4], 3
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [ebp-15Ch]
mov	byte ptr [ebp-4], 2
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [ebp-174h]
mov	byte ptr [ebp-4], 1
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_100E12D:
mov	ecx, esi
call	sub_100DD2A
mov	ecx, [esi+6Ch]
cmp	ecx, ebx
mov	edi, 406h
mov	edx, edi
mov	eax, 404h
jz	short loc_100E151
xor	edx, edx
cmp	ecx, 1
setnz	dl
add	edx, eax

loc_100E151:
push	edx
push	edi
push	eax
mov	ecx, esi
call	?CheckRadioButton@CWnd@@QAEXHHH@Z ; CWnd::CheckRadioButton(int,int,int)
mov	ecx, [esi+68h]
neg	ecx
sbb	ecx, ecx
mov	eax, 438h
add	ecx, eax
push	ecx
push	eax
push	437h
mov	ecx, esi
call	?CheckRadioButton@CWnd@@QAEXHHH@Z ; CWnd::CheckRadioButton(int,int,int)
push	4
pop	ecx
xor	eax, eax
mov	edi, offset unk_103F108
mov	esi, offset dword_1007518
repe cmpsd
mov	edi, [ebp-170h]
setz	al
mov	esi, 42Ch
mov	ecx, edi
push	eax
push	esi
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	ecx, eax
call	?EnableWindow@CWnd@@QAEHH@Z ; CWnd::EnableWindow(int)
push	dword_103E86C
mov	ecx, edi
push	esi
call	?CheckDlgButton@CWnd@@QAEXHI@Z ; CWnd::CheckDlgButton(int,uint)
push	42Dh
mov	ecx, edi
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
push	dword_103E86C
mov	ecx, eax
call	?EnableWindow@CWnd@@QAEHH@Z ; CWnd::EnableWindow(int)
mov	eax, dword_103D6A4
lea	ecx, [ebp-158h]
mov	[edi+8Ch], eax
mov	[ebp-4], bl
call	??1CString@@QAE@XZ ; CString::~CString(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-154h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
pop	edi
xor	eax, eax
pop	esi
mov	large fs:0, ecx
mov	ecx, [ebp-10h]
inc	eax
pop	ebx
call	sub_1032F53
leave
retn
sub_100DE01 endp

db 5 dup(0CCh)
byte_100E214 db	8Bh, 0FFh
push	esi
push	edi
mov	esi, ecx
call	sub_100D433
mov	eax, [esi+6Ch]
push	438h
mov	edi, 437h
push	edi
mov	ecx, esi
mov	dword_103EF7C, eax
call	?GetCheckedRadioButton@CWnd@@QAEHHH@Z ;	CWnd::GetCheckedRadioButton(int,int)
sub	eax, edi
neg	eax
sbb	eax, eax
inc	eax
push	42Ch
mov	ecx, esi
mov	[esi+68h], eax
call	?IsDlgButtonChecked@CWnd@@QBEIH@Z ; CWnd::IsDlgButtonChecked(int)
test	eax, eax
mov	dword_103E86C, eax
jz	short loc_100E263
mov	eax, [esi+8Ch]
mov	dword_103D6A4, eax

loc_100E263:
call	sub_100C493
pop	edi
mov	ecx, esi
pop	esi
jmp	loc_10337B0
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100E276 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
imul	eax, 3E8h
push	esi
mov	esi, ecx
mov	ecx, [ebp+arg_C]
mov	[esi+78h], eax
mov	eax, [ebp+arg_4]
imul	eax, 3E8h
mov	[esi+74h], eax
mov	eax, [ebp+arg_8]
test	eax, eax
mov	[esi+84h], eax
mov	[esi+88h], ecx
jnz	short loc_100E2BC
mov	eax, dword_103F054
lea	eax, [eax+eax*4]
shl	eax, 1
mov	[esi+84h], eax

loc_100E2BC:
test	ecx, ecx
jnz	short loc_100E2D0
mov	eax, dword_103F058
lea	eax, [eax+eax*4]
shl	eax, 1
mov	[esi+88h], eax

loc_100E2D0:
mov	ecx, esi
call	sub_100D4D1
mov	eax, [esi+20h]
test	eax, eax
jz	short loc_100E2F9
push	eax		; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_100E2F9
push	0
mov	ecx, esi
call	?UpdateData@CWnd@@QAEHH@Z ; CWnd::UpdateData(int)
mov	ecx, esi
call	sub_100DD2A

loc_100E2F9:
pop	esi
pop	ebp
retn	10h
sub_100E276 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100E303 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ecx+74h]
push	ebx
push	esi
push	edi
mov	esi, 1F4h
add	eax, esi
mov	edi, 3E8h
xor	edx, edx
mov	ebx, edi
div	ebx
xor	edx, edx
mov	ebx, eax
mov	eax, [ecx+78h]
add	eax, esi
div	edi
mov	ecx, [ebp+arg_0]
pop	edi
pop	esi
mov	[ecx+4], ebx
pop	ebx
mov	[ecx], eax
mov	eax, ecx
pop	ebp
retn	4
sub_100E303 endp

db 5 dup(0CCh)
push	1
call	sub_100D575
retn
db 5 dup(0CCh)
push	2
call	sub_100D575
retn
db 5 dup(0CCh)
push	0
call	sub_100D575
retn
align 8


; Attributes: bp-based frame

; int __thiscall sub_100E368(void *, char)
sub_100E368 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	j_??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)
test	[ebp+arg_0], 1
jz	short loc_100E382
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_100E382:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_100E368 endp

db 5 dup(0CCh)
; [00000005 BYTES: COLLAPSED FUNCTION CDialog::~CDialog(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8
byte_100E398 db	8Bh, 0FFh
dw 5653h
dd 0E8D98B57h, 25400h, 442B8h, 44685000h
dd 50000004h, 0D5E8CB8Bh, 83000253h, 0BF00647Bh
dd 441h, 0F78B0474h, 738B0DEBh,	1BDEF760h
dd 40C681F6h, 56000004h, 43F6857h, 0CB8B0000h
dd 253ABE8h, 74F73B00h,	0E8CB8B07h, 0FFFFF3EEh
dd 5EC0335Fh, 0CCC35B40h, 0CCCCCCCCh


; Attributes: bp-based frame

sub_100E3F8 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
push	edi
mov	edi, [ebp+arg_0]
mov	esi, ecx
lea	eax, [esi+68h]
push	eax
push	3FCh
push	edi
call	?DDX_Text@@YGXPAVCDataExchange@@HAAH@Z ; DDX_Text(CDataExchange	*,int,int &)
mov	ebx, 1F4h
push	ebx
push	1
push	dword ptr [esi+68h]
push	edi
call	?DDV_MinMaxInt@@YGXPAVCDataExchange@@HHH@Z ; DDV_MinMaxInt(CDataExchange *,int,int,int)
lea	eax, [esi+6Ch]
push	eax
push	3FBh
push	edi
call	?DDX_Text@@YGXPAVCDataExchange@@HAAH@Z ; DDX_Text(CDataExchange	*,int,int &)
push	ebx
push	1
push	dword ptr [esi+6Ch]
push	edi
call	?DDV_MinMaxInt@@YGXPAVCDataExchange@@HHH@Z ; DDV_MinMaxInt(CDataExchange *,int,int,int)
lea	ebx, [esi+60h]
push	ebx
push	3FDh
push	edi
call	?DDX_Text@@YGXPAVCDataExchange@@HAAH@Z ; DDX_Text(CDataExchange	*,int,int &)
push	59h
push	0FFFFFFA7h
push	dword ptr [ebx]
push	edi
call	?DDV_MinMaxInt@@YGXPAVCDataExchange@@HHH@Z ; DDV_MinMaxInt(CDataExchange *,int,int,int)
add	esi, 64h
push	esi
push	3FEh
push	edi
call	?DDX_Text@@YGXPAVCDataExchange@@HAAH@Z ; DDX_Text(CDataExchange	*,int,int &)
push	59h
push	0FFFFFFA7h
push	dword ptr [esi]
push	edi
call	?DDV_MinMaxInt@@YGXPAVCDataExchange@@HHH@Z ; DDV_MinMaxInt(CDataExchange *,int,int,int)
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	4
sub_100E3F8 endp

db 5 dup(0CCh)

loc_100E482:
mov	eax, offset loc_1035AC5
call	sub_1034E18
push	ecx
cmp	dword ptr [ebp+0Ch], 110h
jnz	short loc_100E4C7
lea	ecx, [ebp-10h]
call	??0CString@@QAE@XZ ; CString::CString(void)
and	dword ptr [ebp-4], 0
push	0A31Ah
lea	ecx, [ebp-10h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
push	dword ptr [ebp-10h]
push	dword ptr [ebp+8]
call	ds:SetWindowTextW
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-10h]
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_100E4C7:
push	dword ptr [ebp+14h]
push	dword ptr [ebp+10h]
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
call	?AfxDlgProc@@YGHPAUHWND__@@IIJ@Z ; AfxDlgProc(HWND__ *,uint,uint,long)
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
leave
retn	10h
db 5 dup(0CCh)
mov	eax, offset loc_1035ADC
call	sub_1034E18
sub	esp, 58h
mov	eax, ___security_cookie
push	esi
mov	esi, ecx
push	esi
lea	ecx, [ebp-64h]
mov	[ebp-10h], eax
call	??0CPaintDC@@QAE@PAVCWnd@@@Z ; CPaintDC::CPaintDC(CWnd *)
mov	eax, [esi+8Ch]
and	dword ptr [ebp-4], 0
cmp	eax, 87654321h
jz	short loc_100E525
push	eax
mov	ecx, esi
call	sub_100DB47

loc_100E525:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-64h]
call	??1CPaintDC@@UAE@XZ ; CPaintDC::~CPaintDC(void)
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
mov	ecx, [ebp-10h]
pop	esi
call	sub_1032F53
leave
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100E54B proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
push	edi
mov	edi, [ebp+arg_0]
cmp	dword ptr [edi], 0
mov	esi, ecx
jnz	short loc_100E57A
push	dword ptr [esi+80h] ; LCData
lea	eax, [esi+60h]
push	eax		; int
call	sub_100D354
push	dword ptr [esi+7Ch] ; LCData
lea	eax, [esi+64h]
push	eax		; int
mov	ecx, esi
call	sub_100D354

loc_100E57A:
lea	ebx, [esi+60h]
push	ebx
push	108h
push	edi
call	?DDX_Text@@YGXPAVCDataExchange@@HAAVCString@@@Z	; DDX_Text(CDataExchange *,int,CString &)
push	5
push	ebx
push	edi
call	?DDV_MaxChars@@YGXPAVCDataExchange@@ABVCString@@H@Z ; DDV_MaxChars(CDataExchange *,CString const &,int)
lea	eax, [esi+64h]
push	eax
push	10Ah
push	edi
call	?DDX_Text@@YGXPAVCDataExchange@@HAAVCString@@@Z	; DDX_Text(CDataExchange *,int,CString &)
push	5
lea	eax, [esi+64h]
push	eax
push	edi
call	?DDV_MaxChars@@YGXPAVCDataExchange@@ABVCString@@H@Z ; DDV_MaxChars(CDataExchange *,CString const &,int)
cmp	dword ptr [edi], 0
jz	short loc_100E5CE
push	ebx		; lpString
mov	ecx, esi
call	sub_100DA98
mov	[esi+80h], eax
lea	eax, [esi+64h]
push	eax		; lpString
mov	ecx, esi
call	sub_100DA98
mov	[esi+7Ch], eax

loc_100E5CE:
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	4
sub_100E54B endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
push	esi
lea	eax, [ebp-4]
push	eax
lea	eax, [ebp-8]
push	eax
mov	esi, ecx
call	sub_100A44F
push	0
push	0
push	dword ptr [ebp-4]
mov	ecx, esi
push	dword ptr [ebp-8]
call	sub_100E276
pop	esi
leave
retn
db 5 dup(0CCh)
mov	eax, offset loc_1035AF6
call	sub_1034E18
sub	esp, 84h
push	esi
mov	esi, ecx
mov	eax, [esi+8Ch]
push	0
push	2
and	eax, 0FFFFFFh
push	eax
lea	ecx, [ebp-90h]
call	??0CColorDialog@@QAE@KKPAVCWnd@@@Z ; CColorDialog::CColorDialog(ulong,ulong,CWnd *)
and	dword ptr [ebp-4], 0
lea	ecx, [ebp-90h]
mov	dword ptr [ebp-14h], offset loc_100E482
call	?DoModal@CColorDialog@@UAEHXZ ;	CColorDialog::DoModal(void)
cmp	eax, 1
jnz	short loc_100E664
mov	eax, [ebp-24h]
push	eax
mov	ecx, esi
mov	[esi+8Ch], eax
call	sub_100DB47

loc_100E664:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-90h]
call	??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)



sub_100E685 proc near
mov	eax, [ecx+2Ch]
cdq
sub	eax, edx
sar	eax, 1
mov	[ecx+0A0h], eax
mov	eax, [ecx+30h]
cdq
sub	eax, edx
sar	eax, 1
mov	[ecx+0A4h], eax
retn
sub_100E685 endp

db 5 dup(0CCh)



sub_100E6A7 proc near
and	dword ptr [ecx+0A0h], 0
and	dword ptr [ecx+0A4h], 0
retn
sub_100E6A7 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100E6BB(HDC	hdc, HANDLE h, RGBQUAD prgbq, int)
sub_100E6BB proc near

pv= byte ptr -18h
var_6= byte ptr	-6
hdc= dword ptr	8
h= dword ptr  0Ch
prgbq= RGBQUAD ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 18h
push	ebx
mov	ebx, [ebp+arg_C]
push	edi
mov	edi, dword ptr [ebp+prgbq.rgbBlue]
lea	eax, [ebp+prgbq]
push	eax		; prgbq
push	1		; cEntries
push	0		; iStart
push	[ebp+hdc]	; hdc
mov	dword ptr [edi], 0FFFFFFh
and	dword ptr [ebx], 0
call	ds:GetDIBColorTable
cmp	eax, 1
jnz	short loc_100E72B
mov	eax, [ebp+h]
test	eax, eax
jnz	short loc_100E6FC
push	7		; type
push	[ebp+hdc]	; hdc
call	ds:GetCurrentObject

loc_100E6FC:
push	esi
lea	ecx, [ebp+pv]
push	ecx		; pv
push	18h		; c
push	eax		; h
mov	esi, 0FFh
call	ds:GetObjectW
test	eax, eax
jz	short loc_100E71C
mov	cl, [ebp+var_6]
xor	esi, esi
inc	esi
shl	esi, cl
dec	esi

loc_100E71C:
movzx	ecx, si
mov	eax, 10FF0000h
or	ecx, eax
mov	[edi], ecx
mov	[ebx], eax
pop	esi

loc_100E72B:
pop	edi
pop	ebx
leave
retn	10h
sub_100E6BB endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100E736(int, int x,	int y, COLORREF	color)
sub_100E736 proc near

var_4= dword ptr -4
arg_0= dword ptr  8
x= dword ptr  0Ch
y= dword ptr  10h
color= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ebx
mov	ebx, ds:SetBkColor
push	esi
push	edi
push	[ebp+color]	; color
mov	edi, [ebp+arg_0]
push	dword ptr [edi+0Ch] ; hdc
mov	esi, ecx
call	ebx ; SetBkColor
push	0		; color
push	dword ptr [edi+0Ch] ; hdc
mov	[ebp+var_4], eax
call	ds:SetTextColor
push	660046h		; rop
push	0		; y1
push	0		; x1
push	dword ptr [esi+38h] ; hdcSrc
mov	[ebp+arg_0], eax
push	dword ptr [esi+30h] ; cy
push	dword ptr [esi+2Ch] ; cx
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [edi+0Ch] ; hdc
call	ds:BitBlt
push	0FFFFFFh	; color
push	dword ptr [edi+0Ch] ; hdc
call	ebx ; SetBkColor
push	220326h		; rop
push	0		; y1
push	0		; x1
push	dword ptr [esi+38h] ; hdcSrc
push	dword ptr [esi+30h] ; cy
push	dword ptr [esi+2Ch] ; cx
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [edi+0Ch] ; hdc
call	ds:BitBlt
push	[ebp+color]	; color
push	dword ptr [edi+0Ch] ; hdc
call	ebx ; SetBkColor
push	660046h		; rop
push	0		; y1
push	0		; x1
push	dword ptr [esi+38h] ; hdcSrc
push	dword ptr [esi+30h] ; cy
push	dword ptr [esi+2Ch] ; cx
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [edi+0Ch] ; hdc
call	ds:BitBlt
push	[ebp+arg_0]	; color
push	dword ptr [edi+0Ch] ; hdc
call	ds:SetTextColor
push	[ebp+var_4]	; color
push	dword ptr [edi+0Ch] ; hdc
call	ebx ; SetBkColor
pop	edi
pop	esi
pop	ebx
leave
retn	10h
sub_100E736 endp

align 8


; Attributes: bp-based frame

; int __stdcall	sub_100E7F8(HRGN hrgn, int)
sub_100E7F8 proc near

hrgn= dword ptr	 8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_4]
test	eax, eax
jnz	short loc_100E808
xor	edx, edx
jmp	short loc_100E80B

loc_100E808:
mov	edx, [eax+4]

loc_100E80B:
mov	eax, [ebp+hrgn]
test	eax, eax
jz	short loc_100E815
mov	eax, [eax+4]

loc_100E815:		; hbr
push	edx
push	eax		; hrgn
push	dword ptr [ecx+4] ; hdc
call	ds:FillRgn
pop	ebp
retn	8
sub_100E7F8 endp

db 5 dup(0CCh)



sub_100E829 proc near
mov	eax, offset loc_1035B0D
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_100282C
and	dword ptr [ebp-4], 0
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
mov	dword ptr [esi], offset	off_1001F9C
call	sub_10096BE
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_100E829 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_100E86C(void *, char)
sub_100E86C proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_100E829
test	[ebp+arg_0], 1
jz	short loc_100E886
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_100E886:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_100E86C endp

db 5 dup(0CCh)



sub_100E892 proc near
mov	eax, offset loc_1035B50
call	sub_1034E18
push	ecx
push	ebx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
xor	ebx, ebx
mov	dword ptr [esi], offset	off_1002844
mov	eax, offset off_1001FB4
mov	[ebp-4], ebx
mov	[esi+8], ebx
mov	[esi+4], eax
mov	[esi+10h], ebx
mov	[esi+0Ch], eax
lea	ecx, [esi+14h]
mov	byte ptr [ebp-4], 2
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	edi, offset off_1001F9C
mov	[esi+28h], ebx
mov	[esi+24h], edi
lea	ecx, [esi+34h]
mov	byte ptr [ebp-4], 4
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	ecx, [ebp-0Ch]
mov	[esi+44h], edi
mov	[esi+48h], ebx
mov	[esi+60h], ebx
pop	edi
mov	dword ptr [esi+70h], 1
mov	eax, esi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_100E892 endp

db 5 dup(0CCh)



sub_100E90A proc near
mov	eax, offset loc_1035BA9
call	sub_1034E18
push	ecx
push	ebx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_1002844
lea	ecx, [esi+0Ch]
test	ecx, ecx
mov	dword ptr [ebp-4], 6
jz	short loc_100E93C
cmp	dword ptr [ecx+4], 0
jz	short loc_100E93C
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)

loc_100E93C:
lea	ecx, [esi+4]
test	ecx, ecx
jz	short loc_100E94E
cmp	dword ptr [ecx+4], 0
jz	short loc_100E94E
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)

loc_100E94E:
mov	eax, [esi+4Ch]
test	eax, eax
jz	short loc_100E964
push	eax
call	?FromHandle@CGdiObject@@SGPAV1@PAX@Z ; CGdiObject::FromHandle(void *)
push	eax
lea	ecx, [esi+14h]
call	sub_1032D5B

loc_100E964:
mov	eax, [esi+50h]
test	eax, eax
jz	short loc_100E97A
push	eax
call	?FromHandle@CGdiObject@@SGPAV1@PAX@Z ; CGdiObject::FromHandle(void *)
push	eax
lea	ecx, [esi+14h]
call	sub_1032D5B

loc_100E97A:
lea	ecx, [esi+14h]
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
lea	edi, [esi+24h]
mov	ecx, edi
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
lea	ecx, [esi+34h]
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
lea	ebx, [esi+44h]
mov	ecx, ebx
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
mov	ecx, ebx
mov	byte ptr [ebp-4], 5
mov	dword ptr [ebx], offset	off_1001F9C
call	sub_10096BE
lea	ecx, [esi+34h]
mov	byte ptr [ebp-4], 4
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	ecx, edi
mov	byte ptr [ebp-4], 3
mov	dword ptr [edi], offset	off_1001F9C
call	sub_10096BE
lea	ecx, [esi+14h]
mov	byte ptr [ebp-4], 2
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
lea	ecx, [esi+0Ch]
mov	edi, offset off_1001FB4
mov	byte ptr [ebp-4], 1
mov	[ecx], edi
call	sub_10096BE
lea	ecx, [esi+4]
mov	byte ptr [ebp-4], 0
mov	[ecx], edi
call	sub_10096BE
mov	ecx, [ebp-0Ch]
pop	edi
mov	dword ptr [esi], offset	off_1001F6C
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_100E90A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100EA13 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, dword_103EF88
push	edi
xor	edi, edi
cmp	eax, edi
jz	short loc_100EA48
cmp	[eax+4], edi
jz	short loc_100EA48
cmp	eax, edi
jz	short loc_100EA48
push	esi
push	[ebp+arg_4]
mov	esi, [ebp+arg_0]
push	eax
mov	ecx, esi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [esi+4] ; hdc
mov	edi, eax
call	ds:RealizePalette
pop	esi

loc_100EA48:
mov	eax, edi
pop	edi
pop	ebp
retn	8
sub_100EA13 endp

db 5 dup(0CCh)



sub_100EA54 proc near
mov	eax, offset loc_1035BD8
call	sub_1034E18
sub	esp, 40h
mov	eax, [ebp+8]
push	esi
mov	esi, ecx
cmp	eax, [esi+2Ch]
jnz	short loc_100EA7C
mov	eax, [ebp+0Ch]
cmp	eax, [esi+30h]
jnz	short loc_100EA7C
xor	eax, eax
inc	eax
jmp	loc_100EDB4

loc_100EA7C:
push	ebx
xor	ebx, ebx
xor	eax, eax
cmp	[ebp+8], eax
setl	bl
cmp	ebx, eax
jz	short loc_100EA8E
neg	dword ptr [ebp+8]

loc_100EA8E:
xor	ecx, ecx
cmp	[ebp+0Ch], eax
push	edi
setl	cl
mov	edi, ecx
cmp	edi, eax
jz	short loc_100EAA0
neg	dword ptr [ebp+0Ch]

loc_100EAA0:
cmp	[ebp+8], eax
jnz	short loc_100EAAC
mov	dword ptr [ebp+8], 1

loc_100EAAC:
cmp	[ebp+0Ch], eax
jnz	short loc_100EAB8
mov	dword ptr [ebp+0Ch], 1

loc_100EAB8:
mov	eax, off_103D74C
cmp	dword ptr [eax+30h], 26Eh
jz	loc_100EDA3
lea	ecx, [ebp-3Ch]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
and	dword ptr [ebp-4], 0
and	dword ptr [ebp-28h], 0
mov	dword ptr [ebp-2Ch], offset off_1001F9C
lea	ecx, [ebp-4Ch]
mov	byte ptr [ebp-4], 1
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
and	dword ptr [ebp-20h], 0
mov	dword ptr [ebp-24h], offset off_1001F9C
lea	eax, [esi+14h]
push	eax		; hdc
lea	ecx, [ebp-3Ch]
mov	byte ptr [ebp-4], 3
call	sub_1009779
test	eax, eax
jz	loc_100EDC3
push	dword ptr [ebp+0Ch] ; cy
lea	eax, [esi+14h]
push	dword ptr [ebp+8] ; int
lea	ecx, [ebp-2Ch]
push	eax		; int
call	sub_100AC43
test	eax, eax
jz	loc_100EDC3
lea	eax, [esi+14h]
push	eax		; hdc
lea	ecx, [ebp-4Ch]
call	sub_1009779
test	eax, eax
jz	loc_100EDC3
push	0		; lpBits
push	1		; nBitCount
push	1		; nPlanes
push	dword ptr [ebp+0Ch] ; nHeight
lea	ecx, [ebp-24h]
push	dword ptr [ebp+8] ; nWidth
call	sub_100AC14
test	eax, eax
jz	loc_100EDC3
lea	eax, [ebp-2Ch]
push	eax
lea	ecx, [ebp-3Ch]
call	sub_1032D5B
mov	[ebp-18h], eax
push	0
lea	eax, [esi+14h]
push	eax
mov	ecx, esi
call	sub_100EA13
mov	[ebp-10h], eax
push	0
lea	eax, [ebp-3Ch]
push	eax
mov	ecx, esi
call	sub_100EA13
push	3
lea	ecx, [ebp-3Ch]
mov	[ebp-14h], eax
call	?SetStretchBltMode@CDC@@QAEHH@Z	; CDC::SetStretchBltMode(int)
xor	edx, edx
cmp	[ebp+10h], edx
jz	short loc_100EBBB
cmp	edi, edx
mov	ecx, [ebp+0Ch]
jz	short loc_100EBA3
neg	ecx

loc_100EBA3:
cmp	ebx, edx
mov	eax, [ebp+8]
jz	short loc_100EBAC
neg	eax

loc_100EBAC:
push	dword ptr [esi+30h]
push	dword ptr [esi+2Ch]
push	edx
push	edx
push	dword ptr [esi+18h]
push	ecx
push	eax
jmp	short loc_100EBCA

loc_100EBBB:
mov	eax, [esi+30h]
mov	ecx, [esi+2Ch]
push	eax		; hSrc
push	ecx		; wSrc
push	edx		; ySrc
push	edx		; xSrc
push	dword ptr [esi+18h] ; hdcSrc
push	eax		; hDest
push	ecx		; wDest

loc_100EBCA:
neg	edi
sbb	edi, edi
and	edi, [ebp+0Ch]
neg	ebx
sbb	ebx, ebx
and	ebx, [ebp+8]
push	edi		; yDest
push	ebx		; xDest
push	dword ptr [ebp-38h] ; hdcDest
call	sub_101255A
push	color
lea	ecx, [ebp-3Ch]
call	?SetBkColor@CDC@@UAEKK@Z ; CDC::SetBkColor(ulong)
mov	[ebp+10h], eax
lea	eax, [ebp-24h]
push	eax
lea	ecx, [ebp-4Ch]
call	sub_1032D5B
mov	ecx, off_103D74C
cmp	dword ptr [ecx+30h], 26Dh
mov	[ebp-1Ch], eax
jnz	short loc_100EC5A
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
call	sub_102E8AF
xor	edi, edi
test	eax, eax
jz	short loc_100EC74
push	42h		; rop
push	dword ptr [ebp+0Ch] ; h
push	dword ptr [ebp+8] ; w
push	edi		; y
push	edi		; x
push	dword ptr [ebp-48h] ; hdc
call	ds:PatBlt
lea	ebx, [esi+0Ch]
cmp	ebx, edi
jz	short loc_100EC74
cmp	[ebx+4], edi
jz	short loc_100EC74
push	edi		; i
call	ds:GetStockObject
push	eax
call	?FromHandle@CGdiObject@@SGPAV1@PAX@Z ; CGdiObject::FromHandle(void *)
push	eax		; int
push	ebx		; hrgn
lea	ecx, [ebp-4Ch]
call	sub_100E7F8
jmp	short loc_100EC74

loc_100EC5A:		; rop
push	0FF0062h
push	dword ptr [ebp+0Ch] ; h
push	dword ptr [ebp+8] ; w
push	0		; y
push	0		; x
push	dword ptr [ebp-48h] ; hdc
call	ds:PatBlt
xor	edi, edi

loc_100EC74:		; rop
push	220326h
push	edi		; y1
push	edi		; x1
push	dword ptr [ebp-38h] ; hdcSrc
push	dword ptr [ebp+0Ch] ; cy
push	dword ptr [ebp+8] ; cx
push	edi		; y
push	edi		; x
push	dword ptr [ebp-48h] ; hdc
call	ds:BitBlt
push	dword ptr [ebp+10h]
lea	ecx, [ebp-3Ch]
call	?SetBkColor@CDC@@UAEKK@Z ; CDC::SetBkColor(ulong)
cmp	[ebp-10h], edi
jz	short loc_100ECAB
push	edi
push	dword ptr [ebp-10h]
lea	ecx, [esi+14h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_100ECAB:
cmp	[ebp-14h], edi
jz	short loc_100ECBC
push	edi
push	dword ptr [ebp-14h]
lea	ecx, [ebp-3Ch]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_100ECBC:
mov	eax, [esi+4Ch]
cmp	eax, edi
jz	short loc_100ECD2
push	eax
call	?FromHandle@CGdiObject@@SGPAV1@PAX@Z ; CGdiObject::FromHandle(void *)
push	eax
lea	ecx, [esi+14h]
call	sub_1032D5B

loc_100ECD2:
mov	eax, [esi+50h]
cmp	eax, edi
jz	short loc_100ECE8
push	eax
call	?FromHandle@CGdiObject@@SGPAV1@PAX@Z ; CGdiObject::FromHandle(void *)
push	eax
lea	ecx, [esi+34h]
call	sub_1032D5B

loc_100ECE8:
lea	ecx, [esi+14h]
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
lea	edi, [esi+34h]
mov	ecx, edi
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
lea	ebx, [esi+24h]
mov	ecx, ebx
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
lea	ecx, [esi+44h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
lea	ecx, [ebp-3Ch]
call	?Detach@CDC@@QAEPAUHDC__@@XZ ; CDC::Detach(void)
push	eax
lea	ecx, [esi+14h]
call	?Attach@CDC@@QAEHPAUHDC__@@@Z ;	CDC::Attach(HDC__ *)
lea	ecx, [ebp-2Ch]
call	?Detach@CGdiObject@@QAEPAXXZ ; CGdiObject::Detach(void)
push	eax
mov	ecx, ebx
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
lea	ecx, [ebp-4Ch]
call	?Detach@CDC@@QAEPAUHDC__@@XZ ; CDC::Detach(void)
push	eax
mov	ecx, edi
call	?Attach@CDC@@QAEHPAUHDC__@@@Z ;	CDC::Attach(HDC__ *)
lea	ecx, [ebp-24h]
call	?Detach@CGdiObject@@QAEPAXXZ ; CGdiObject::Detach(void)
push	eax
lea	ecx, [esi+44h]
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
mov	eax, [ebp-18h]
test	eax, eax
jz	short loc_100ED58
mov	eax, [eax+4]

loc_100ED58:
mov	[esi+4Ch], eax
mov	eax, [ebp-1Ch]
test	eax, eax
jz	short loc_100ED65
mov	eax, [eax+4]

loc_100ED65:
mov	edi, offset off_1001F9C
lea	ecx, [ebp-24h]
mov	[esi+50h], eax
mov	byte ptr [ebp-4], 2
mov	[ebp-24h], edi
call	sub_10096BE
lea	ecx, [ebp-4Ch]
mov	byte ptr [ebp-4], 1
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
lea	ecx, [ebp-2Ch]
mov	byte ptr [ebp-4], 0
mov	[ebp-2Ch], edi
call	sub_10096BE
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-3Ch]
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_100EDA3:
mov	eax, [ebp+8]
mov	[esi+2Ch], eax
mov	eax, [ebp+0Ch]
mov	[esi+30h], eax
xor	eax, eax
inc	eax

loc_100EDB2:
pop	edi
pop	ebx

loc_100EDB4:
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	0Ch

loc_100EDC3:
mov	esi, offset off_1001F9C
lea	ecx, [ebp-24h]
mov	byte ptr [ebp-4], 2
mov	[ebp-24h], esi
call	sub_10096BE
lea	ecx, [ebp-4Ch]
mov	byte ptr [ebp-4], 1
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
lea	ecx, [ebp-2Ch]
mov	byte ptr [ebp-4], 0
mov	[ebp-2Ch], esi
call	sub_10096BE
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-3Ch]
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
xor	eax, eax
jmp	short loc_100EDB2
sub_100EA54 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100EE07(int, int x,	int y, int, int	cy, HDC	hdcSrc,	int x1,	int y1,	DWORD rop, int)
sub_100EE07 proc near

prgbq= RGBQUAD ptr -80Ch
var_40C= byte ptr -40Ch
var_408= dword ptr -408h
cEntries= dword	ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
x= dword ptr  0Ch
y= dword ptr  10h
arg_C= dword ptr  14h
cy= dword ptr  18h
hdcSrc=	dword ptr  1Ch
x1= dword ptr  20h
y1= dword ptr  24h
rop= dword ptr	28h
arg_24=	dword ptr  2Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 80Ch
push	ebx
push	edi
mov	edi, [ebp+hdcSrc]
lea	eax, [ebp+prgbq]
push	eax		; prgbq
push	100h		; cEntries
xor	ebx, ebx
push	ebx		; iStart
push	dword ptr [edi+4] ; hdc
call	ds:GetDIBColorTable
mov	edx, eax
cmp	edx, ebx
mov	[ebp+cEntries],	edx
jz	short loc_100EE63
mov	eax, [ebp+arg_24]
mov	ecx, eax
shr	ecx, 18h
sub	ecx, ebx
mov	byte ptr [ebp+var_4+2],	0FFh
mov	byte ptr [ebp+var_4+1],	0FFh
mov	byte ptr [ebp+var_4], 0FFh
mov	byte ptr [ebp+var_4+3],	bl
mov	byte ptr [ebp+var_8+2],	bl
mov	byte ptr [ebp+var_8+1],	bl
mov	byte ptr [ebp+var_8], bl
mov	byte ptr [ebp+var_8+3],	bl
jz	short loc_100EE67
dec	ecx
dec	ecx
jz	short loc_100EE67

loc_100EE63:
xor	eax, eax
jmp	short loc_100EEE2

loc_100EE67:
mov	byte ptr [ebp+hdcSrc+2], al
mov	byte ptr [ebp+hdcSrc+1], ah
shr	eax, 10h
mov	byte ptr [ebp+hdcSrc], al
lea	eax, [edx-1]
cmp	eax, ebx
push	esi
mov	byte ptr [ebp+hdcSrc+3], bl
jl	short loc_100EE9C

loc_100EE7E:
mov	esi, dword ptr [ebp+eax*4+prgbq.rgbBlue]
lea	ecx, [ebp+hdcSrc]
cmp	esi, [ecx]
mov	ecx, [ebp+var_4]
jz	short loc_100EE92
mov	ecx, [ebp+var_8]

loc_100EE92:
dec	eax
mov	[ebp+eax*4+var_408], ecx
jns	short loc_100EE7E

loc_100EE9C:
mov	esi, ds:SetDIBColorTable
lea	eax, [ebp+var_40C]
push	eax		; prgbq
push	edx		; cEntries
push	ebx		; iStart
push	dword ptr [edi+4] ; hdc
call	esi ; SetDIBColorTable
push	[ebp+rop]	; rop
mov	ecx, [ebp+arg_0]
push	[ebp+y1]	; y1
push	[ebp+x1]	; x1
push	edi		; hdcSrc
push	[ebp+cy]	; cy
push	[ebp+arg_C]	; int
push	[ebp+y]		; y
push	[ebp+x]		; x
call	sub_10097A4
lea	eax, [ebp+prgbq]
push	eax		; prgbq
push	[ebp+cEntries]	; cEntries
push	ebx		; iStart
push	dword ptr [edi+4] ; hdc
call	esi ; SetDIBColorTable
xor	eax, eax
inc	eax
pop	esi

loc_100EEE2:
pop	edi
pop	ebx
leave
retn	28h
sub_100EE07 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100EEED(COLORREF prgbq, int	x, int y)
sub_100EEED proc near

var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
prgbq= dword ptr  8
x= dword ptr  0Ch
y= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 0Ch
push	ebx
push	esi
push	edi
mov	edi, [ebp+prgbq]
lea	eax, [ebp+var_4]
push	eax		; int
lea	eax, [ebp+prgbq]
push	eax		; prgbq
push	dword ptr [edi+14h] ; h
mov	esi, ecx
push	dword ptr [edi+0Ch] ; hdc
call	sub_100E6BB
push	[ebp+prgbq]	; color
push	dword ptr [edi+0Ch] ; hdc
call	ds:SetBkColor
push	[ebp+var_4]	; color
mov	[ebp+var_8], eax
push	dword ptr [edi+0Ch] ; hdc
call	ds:SetTextColor
mov	[ebp+var_C], eax
lea	eax, [esi+14h]
xor	ebx, ebx
push	ebx
push	eax
mov	ecx, esi
mov	[ebp+var_4], eax
call	sub_100EA13
push	660046h		; rop
push	ebx		; y1
push	ebx		; x1
push	dword ptr [esi+18h] ; hdcSrc
mov	ebx, ds:BitBlt
push	dword ptr [esi+30h] ; cy
mov	[ebp+prgbq], eax
push	dword ptr [esi+2Ch] ; cx
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [edi+0Ch] ; hdc
call	ebx ; BitBlt
push	220326h		; rop
push	0		; y1
push	0		; x1
push	dword ptr [esi+38h] ; hdcSrc
push	dword ptr [esi+30h] ; cy
push	dword ptr [esi+2Ch] ; cx
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [edi+0Ch] ; hdc
call	ebx ; BitBlt
push	660046h		; rop
push	0		; y1
push	0		; x1
push	dword ptr [esi+18h] ; hdcSrc
push	dword ptr [esi+30h] ; cy
push	dword ptr [esi+2Ch] ; cx
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [edi+0Ch] ; hdc
call	ebx ; BitBlt
cmp	[ebp+prgbq], 0
jz	short loc_100EFB0
mov	ecx, [ebp+var_4]
push	0
push	[ebp+prgbq]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_100EFB0:		; color
push	[ebp+var_8]
push	dword ptr [edi+0Ch] ; hdc
call	ds:SetBkColor
push	[ebp+var_C]	; color
push	dword ptr [edi+0Ch] ; hdc
call	ds:SetTextColor
pop	edi
pop	esi
pop	ebx
leave
retn	0Ch
sub_100EEED endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100EFD4(COLORREF prgbq, int	x, int y)
sub_100EFD4 proc near

var_4= dword ptr -4
prgbq= dword ptr  8
x= dword ptr  0Ch
y= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
mov	eax, off_103D74C
cmp	dword ptr [eax+30h], 26Dh
push	esi
mov	esi, ecx
jnz	short loc_100EFFB
push	[ebp+y]		; y
push	[ebp+x]		; x
push	[ebp+prgbq]	; prgbq
call	sub_100EEED
jmp	short loc_100F040

loc_100EFFB:
push	ebx
push	edi
xor	ebx, ebx
push	ebx
lea	edi, [esi+14h]
push	edi
call	sub_100EA13
push	0CC0020h	; rop
push	ebx		; y1
push	ebx		; x1
push	dword ptr [esi+18h] ; hdcSrc
mov	[ebp+var_4], eax
push	dword ptr [esi+30h] ; cy
mov	eax, [ebp+prgbq]
push	dword ptr [esi+2Ch] ; cx
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [eax+0Ch] ; hdc
call	ds:BitBlt
cmp	[ebp+var_4], ebx
jz	short loc_100F03E
push	ebx
push	[ebp+var_4]
mov	ecx, edi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_100F03E:
pop	edi
pop	ebx

loc_100F040:
pop	esi
leave
retn	0Ch
sub_100EFD4 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_100F04A(void *, char)
sub_100F04A proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_100E90A
test	[ebp+arg_0], 1
jz	short loc_100F064
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_100F064:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_100F04A endp

align 10h


; Attributes: bp-based frame

sub_100F070 proc near

var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
push	ebx
mov	ebx, [ebp+arg_0]
mov	eax, [ebx+4Ch]
push	esi
push	edi
xor	edi, edi
cmp	eax, edi
mov	esi, ecx
mov	[ebp+var_8], esi
jz	short loc_100F09A
push	eax
call	?FromHandle@CGdiObject@@SGPAV1@PAX@Z ; CGdiObject::FromHandle(void *)
push	eax
lea	ecx, [ebx+14h]
call	sub_1032D5B

loc_100F09A:
mov	eax, [ebx+50h]
cmp	eax, edi
jz	short loc_100F0B0
push	eax
call	?FromHandle@CGdiObject@@SGPAV1@PAX@Z ; CGdiObject::FromHandle(void *)
push	eax
lea	ecx, [ebx+34h]
call	sub_1032D5B

loc_100F0B0:
lea	ecx, [ebx+14h]
mov	[ebx+4Ch], edi
mov	[ebx+50h], edi
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
lea	ecx, [ebx+24h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
lea	ecx, [ebx+34h]
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
lea	ecx, [ebx+44h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
cmp	[esi+18h], edi
jz	loc_100F183
push	edi		; hdc
lea	ecx, [ebx+14h]
call	sub_1009779
test	eax, eax
jz	loc_100F269
push	dword ptr [esi+30h] ; cy
lea	eax, [esi+14h]
push	dword ptr [esi+2Ch] ; int
lea	ecx, [ebx+24h]
push	eax		; int
call	sub_100AC43
test	eax, eax
jz	loc_100F269
lea	eax, [ebx+24h]
push	eax
lea	ecx, [ebx+14h]
call	sub_1032D5B
cmp	eax, edi
jnz	short loc_100F11E
xor	eax, eax
jmp	short loc_100F121

loc_100F11E:
mov	eax, [eax+4]

loc_100F121:
mov	[ebx+4Ch], eax
push	1
lea	eax, [esi+14h]
push	eax
mov	ecx, esi
call	sub_100EA13
mov	[ebp+arg_0], eax
push	1
lea	eax, [ebx+14h]
push	eax
mov	ecx, esi
call	sub_100EA13
push	0CC0020h	; rop
push	edi		; y1
push	edi		; x1
mov	[ebp+var_4], eax
lea	eax, [esi+14h]
push	eax		; hdcSrc
push	dword ptr [esi+30h] ; cy
lea	ecx, [ebx+14h]
push	dword ptr [esi+2Ch] ; int
push	edi		; y
push	edi		; x
call	sub_10097A4
cmp	[ebp+arg_0], edi
jz	short loc_100F171
push	1
push	[ebp+arg_0]
lea	ecx, [esi+14h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_100F171:
cmp	[ebp+var_4], edi
jz	short loc_100F183
push	1
push	[ebp+var_4]
lea	ecx, [ebx+14h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_100F183:
cmp	[esi+38h], edi
jz	short loc_100F1E8
push	edi		; hdc
lea	ecx, [ebx+34h]
call	sub_1009779
test	eax, eax
jz	loc_100F269
push	dword ptr [esi+30h] ; cy
lea	eax, [esi+34h]
push	dword ptr [esi+2Ch] ; int
lea	ecx, [ebx+44h]
push	eax		; int
call	sub_100AC43
test	eax, eax
jz	loc_100F269
lea	eax, [ebx+44h]
push	eax
lea	ecx, [ebx+34h]
call	sub_1032D5B
cmp	eax, edi
jnz	short loc_100F1C7
xor	eax, eax
jmp	short loc_100F1CA

loc_100F1C7:
mov	eax, [eax+4]

loc_100F1CA:		; rop
push	0CC0020h
push	edi		; y1
push	edi		; x1
mov	[ebx+50h], eax
lea	eax, [esi+34h]
push	eax		; hdcSrc
push	dword ptr [esi+30h] ; cy
lea	ecx, [ebx+34h]
push	dword ptr [esi+2Ch] ; int
push	edi		; y
push	edi		; x
call	sub_10097A4

loc_100F1E8:
mov	eax, [esi+2Ch]
mov	[ebx+2Ch], eax
mov	eax, [esi+30h]
mov	[ebx+30h], eax
mov	eax, [esi+54h]
mov	[ebx+54h], eax
mov	eax, [esi+58h]
mov	[ebx+58h], eax
mov	eax, [esi+5Ch]
mov	[ebx+5Ch], eax
mov	eax, [esi+64h]
mov	[ebx+64h], eax
mov	eax, [esi+68h]
mov	[ebx+68h], eax
mov	eax, [esi+6Ch]
mov	[ebx+6Ch], eax
mov	eax, [esi+70h]
mov	[ebx+70h], eax
mov	eax, [ebp+var_8]
add	esi, 74h
lea	edi, [ebx+74h]
movsd
movsd
movsd
movsd
mov	ecx, [eax+8Ch]
mov	[ebx+8Ch], ecx
lea	esi, [eax+90h]
lea	edi, [ebx+90h]
movsd
movsd
movsd
movsd
mov	ecx, [eax+0A0h]
mov	[ebx+0A0h], ecx
mov	eax, [eax+0A4h]
mov	[ebx+0A4h], eax
xor	eax, eax
inc	eax

loc_100F262:
pop	edi
pop	esi
pop	ebx
leave
retn	4

loc_100F269:
push	edi
mov	ecx, offset unk_103EE08
call	sub_101F3CB
xor	eax, eax
jmp	short loc_100F262
sub_100F070 endp

db 5 dup(0CCh)



sub_100F27D proc near
mov	eax, offset loc_1035BF7
call	sub_1034E18
sub	esp, 24h
push	esi
push	dword ptr [ebp+2Ch] ; int
mov	esi, [ebp+18h]
push	dword ptr [ebp+28h] ; rop
mov	[ebp-14h], ecx
push	dword ptr [ebp+24h] ; y1
push	dword ptr [ebp+20h] ; x1
push	dword ptr [ebp+1Ch] ; hdcSrc
push	esi		; cy
push	dword ptr [ebp+14h] ; int
push	dword ptr [ebp+10h] ; y
push	dword ptr [ebp+0Ch] ; x
push	dword ptr [ebp+8] ; int
call	sub_100EE07
test	eax, eax
jnz	loc_100F42A
push	ebx
push	edi
lea	ecx, [ebp-30h]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
xor	ebx, ebx
mov	[ebp-4], ebx
mov	[ebp-1Ch], ebx
mov	dword ptr [ebp-20h], offset off_100282C
mov	eax, 0FFFFh
cdq
idiv	dword ptr [ebp+14h]
mov	byte ptr [ebp-4], 1
mov	[ebp-18h], ebx
mov	edi, eax
cmp	esi, edi
mov	eax, esi
jl	short loc_100F2ED
mov	eax, edi

loc_100F2ED:
cmp	eax, 1
jge	short loc_100F2F7
xor	edi, edi
inc	edi
jmp	short loc_100F2FD

loc_100F2F7:
cmp	esi, edi
jge	short loc_100F2FD
mov	edi, esi

loc_100F2FD:		; hWnd
push	ebx
call	ds:GetDC
push	ebx		; hdc
lea	ecx, [ebp-30h]
mov	[ebp-10h], eax
call	sub_1009779
test	eax, eax
jz	short loc_100F344
push	edi		; cy
push	dword ptr [ebp+14h] ; int
push	dword ptr [ebp-10h]
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
push	eax		; int
lea	ecx, [ebp-20h]
call	sub_100AC43
test	eax, eax
jz	short loc_100F344
lea	eax, [ebp-20h]
push	eax
lea	ecx, [ebp-30h]
call	sub_1032D5B
cmp	eax, ebx
mov	[ebp-18h], eax
jz	short loc_100F344
xor	esi, esi
jmp	short loc_100F347

loc_100F344:
xor	esi, esi
inc	esi

loc_100F347:		; hDC
push	dword ptr [ebp-10h]
push	ebx		; hWnd
call	ds:ReleaseDC
cmp	esi, ebx
push	ebx
jz	short loc_100F365
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	loc_100F411

loc_100F365:
push	dword ptr [ebp+1Ch]
mov	ecx, [ebp-14h]
call	sub_100EA13
mov	ecx, [ebp-14h]
mov	[ebp-10h], eax
push	ebx
lea	eax, [ebp-30h]
push	eax
call	sub_100EA13
push	dword ptr [ebp+2Ch]
lea	ecx, [ebp-30h]
mov	[ebp-14h], eax
call	?SetBkColor@CDC@@UAEKK@Z ; CDC::SetBkColor(ulong)
xor	esi, esi
cmp	[ebp+18h], ebx
jle	short loc_100F3E4

loc_100F395:
mov	eax, [ebp+18h]
sub	eax, esi
cmp	edi, eax
jle	short loc_100F3A0
mov	edi, eax

loc_100F3A0:
mov	eax, [ebp+24h]
push	0CC0020h	; rop
add	eax, esi
push	eax		; y1
push	dword ptr [ebp+20h] ; x1
lea	ecx, [ebp-30h]
push	dword ptr [ebp+1Ch] ; hdcSrc
push	edi		; cy
push	dword ptr [ebp+14h] ; int
push	ebx		; y
push	ebx		; x
call	sub_10097A4
push	dword ptr [ebp+28h] ; rop
mov	ecx, [ebp+8]
push	ebx		; y1
push	ebx		; x1
lea	eax, [ebp-30h]
push	eax		; hdcSrc
mov	eax, [ebp+10h]
push	edi		; cy
push	dword ptr [ebp+14h] ; int
add	eax, esi
push	eax		; y
push	dword ptr [ebp+0Ch] ; x
call	sub_10097A4
add	esi, edi
cmp	esi, [ebp+18h]
jl	short loc_100F395

loc_100F3E4:
cmp	[ebp-10h], ebx
jz	short loc_100F3F5
mov	ecx, [ebp+1Ch]
push	ebx
push	dword ptr [ebp-10h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_100F3F5:
push	dword ptr [ebp-18h]
lea	ecx, [ebp-30h]
call	sub_1032D5B
cmp	[ebp-14h], ebx
jz	short loc_100F411
push	ebx
push	dword ptr [ebp-14h]
lea	ecx, [ebp-30h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_100F411:
lea	ecx, [ebp-20h]
mov	[ebp-4], bl
call	sub_100E829
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-30h]
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
pop	edi
pop	ebx

loc_100F42A:
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	28h
sub_100F27D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100F43E proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
push	edi
lea	eax, [esi+14h]
xor	edi, edi
cmp	eax, edi
jz	loc_100F4E2
cmp	[eax+4], edi
jz	loc_100F4E2
mov	ecx, [esi+38h]
cmp	ecx, edi
jz	short loc_100F4E2
mov	edx, off_103D74C
cmp	dword ptr [edx+30h], 26Dh
jnz	short loc_100F4C4
push	ebx
push	42h		; rop
push	dword ptr [esi+30h] ; h
push	dword ptr [esi+2Ch] ; w
push	edi		; y
push	edi		; x
push	ecx		; hdc
call	ds:PatBlt
lea	ebx, [esi+0Ch]
cmp	ebx, edi
jz	short loc_100F4A8
cmp	[ebx+4], edi
jz	short loc_100F4A8
push	edi		; i
call	ds:GetStockObject
push	eax
call	?FromHandle@CGdiObject@@SGPAV1@PAX@Z ; CGdiObject::FromHandle(void *)
push	eax		; int
push	ebx		; hrgn
lea	ecx, [esi+34h]
call	sub_100E7F8

loc_100F4A8:
cmp	[esi+70h], edi
pop	ebx
jnz	short loc_100F4E2
push	[ebp+arg_0]
lea	eax, [esi+14h]
push	220326h
push	edi
push	edi
push	eax
push	dword ptr [esi+30h]
push	dword ptr [esi+2Ch]
jmp	short loc_100F4D5

loc_100F4C4:
push	[ebp+arg_0]
push	330008h
push	edi
push	edi
push	eax
push	dword ptr [esi+30h]
push	dword ptr [esi+2Ch]

loc_100F4D5:
push	edi
lea	eax, [esi+34h]
push	edi
mov	ecx, esi
push	eax
call	sub_100F27D

loc_100F4E2:
pop	edi
pop	esi
pop	ebp
retn	4
sub_100F43E endp

db 5 dup(0CCh)



sub_100F4ED proc near
mov	eax, offset off_1002990
retn
sub_100F4ED endp

align 8


; Attributes: bp-based frame

; int __stdcall	sub_100F4F8(RECT *lprc,	HBRUSH hbr)
sub_100F4F8 proc near

lprc= dword ptr	 8
hbr= dword ptr	0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+hbr]
test	eax, eax
jz	short loc_100F507
mov	eax, [eax+4]

loc_100F507:		; hbr
push	eax
push	[ebp+lprc]	; lprc
push	dword ptr [ecx+4] ; hDC
call	ds:FrameRect
pop	ebp
retn	8
sub_100F4F8 endp

db 5 dup(0CCh)



sub_100F51D proc near
mov	eax, offset loc_1035C1E
call	sub_1034E18
sub	esp, 24h
push	ebx
push	esi
push	edi
lea	ecx, [ebp-30h]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
xor	ebx, ebx
mov	[ebp-4], ebx
mov	[ebp-1Ch], ebx
mov	dword ptr [ebp-20h], offset off_1001F9C
mov	edi, offset off_1002120
mov	[ebp-14h], ebx
mov	[ebp-18h], edi
push	dword ptr [ebp+8] ; hdc
lea	ecx, [ebp-30h]
mov	byte ptr [ebp-4], 2
mov	[ebp-10h], ebx
call	sub_1009779
test	eax, eax
jz	loc_100F64A
mov	esi, [ebp+0Ch]
mov	eax, [esi+0Ch]
sub	eax, [esi+4]
push	ebx		; lpBits
push	1		; nBitCount
push	1		; nPlanes
push	eax		; nHeight
mov	eax, [esi+8]
sub	eax, [esi]
lea	ecx, [ebp-20h]
push	eax		; nWidth
call	sub_100AC14
test	eax, eax
jz	loc_100F64A
push	dword ptr [ebp+10h] ; color
lea	ecx, [ebp-18h]
call	sub_100D0FB
test	eax, eax
jz	loc_100F64A
lea	eax, [ebp-20h]
push	eax
lea	ecx, [ebp-30h]
call	sub_1032D5B
mov	[ebp+10h], eax
lea	eax, [ebp-18h]
push	eax
lea	ecx, [ebp-30h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
cmp	[ebp+14h], ebx
mov	[ebp+0Ch], eax
jnz	short loc_100F5D1
push	8
lea	ecx, [ebp-30h]
call	?SelectStockObject@CDC@@UAEPAVCGdiObject@@H@Z ;	CDC::SelectStockObject(int)
mov	[ebp-10h], eax

loc_100F5D1:
mov	eax, [esi+0Ch]
sub	eax, [esi+4]
mov	ecx, [esi+8]
sub	ecx, [esi]
push	eax		; bottom
push	ecx		; right
push	ebx		; top
push	ebx		; left
push	dword ptr [ebp-2Ch] ; hdc
call	ds:Rectangle
mov	eax, [esi+4]
mov	ecx, [esi]
push	0CC0020h	; rop
push	ebx		; y1
push	ebx		; x1
lea	edx, [ebp-30h]
push	edx		; hdcSrc
mov	edx, [esi+0Ch]
sub	edx, eax
push	edx		; cy
mov	edx, [esi+8]
sub	edx, ecx
push	edx		; int
push	eax		; y
push	ecx		; x
mov	ecx, [ebp+8]
call	sub_10097A4
push	dword ptr [ebp+0Ch]
lea	ecx, [ebp-30h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
push	dword ptr [ebp+10h]
lea	ecx, [ebp-30h]
call	sub_1032D5B
cmp	[ebp-10h], ebx
jz	short loc_100F635
push	dword ptr [ebp-10h]
lea	ecx, [ebp-30h]
call	?SelectObject@CDC@@QAEPAVCPen@@PAV2@@Z ; CDC::SelectObject(CPen	*)

loc_100F635:
lea	ecx, [ebp-20h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
lea	ecx, [ebp-18h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
xor	esi, esi
inc	esi
jmp	short loc_100F64C

loc_100F64A:
xor	esi, esi

loc_100F64C:
lea	ecx, [ebp-18h]
mov	byte ptr [ebp-4], 1
mov	[ebp-18h], edi
call	sub_10096BE
lea	ecx, [ebp-20h]
mov	[ebp-4], bl
mov	dword ptr [ebp-20h], offset off_1001F9C
call	sub_10096BE
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-30h]
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	ecx, [ebp-0Ch]
pop	edi
mov	eax, esi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	10h
sub_100F51D endp

db 5 dup(0CCh)



sub_100F691 proc near
mov	edi, edi
push	ebx
push	esi
push	edi
mov	esi, ecx
call	??0CControlBar@@IAE@XZ ; CControlBar::CControlBar(void)
push	1Ch
pop	ecx
mov	dword ptr [esi], offset	off_100299C
mov	dword ptr [esi+84h], 8
mov	[esi+7Ch], ecx
mov	eax, dword_103E768
mov	eax, [eax+0Ch]
cmp	eax, ecx
jl	short loc_100F6C1
mov	eax, ecx

loc_100F6C1:
lea	edi, [esi+90h]
lea	ebx, [esi+80h]
push	edi		; lprc
mov	[ebx], eax
call	ds:SetRectEmpty
mov	eax, [ebx]
cdq
sub	eax, edx
mov	ecx, eax
push	23h
pop	eax
mov	[esi+9Ch], eax
sar	ecx, 1
shl	ecx, 4
add	ecx, eax
mov	[esi+98h], ecx
mov	eax, [edi+8]
sub	eax, [edi]
push	10h
cdq
pop	ecx
idiv	ecx
mov	[esi+88h], eax
mov	eax, [edi+0Ch]
sub	eax, [edi+4]
pop	edi
cdq
idiv	ecx
mov	[esi+8Ch], eax
mov	eax, esi
pop	esi
pop	ebx
retn
sub_100F691 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_100F71E(void *, char)
sub_100F71E proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	j_??1CControlBar@@UAE@XZ ; CControlBar::~CControlBar(void)
test	[ebp+arg_0], 1
jz	short loc_100F738
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_100F738:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_100F71E endp

db 5 dup(0CCh)
; [00000005 BYTES: COLLAPSED FUNCTION CControlBar::~CControlBar(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100F74E proc near

var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
mov	esi, ecx
mov	edx, [esi+84h]
mov	ecx, [ebp+arg_4]
shl	edx, 1
lea	eax, [esi+9Ch]
add	[eax], edx
mov	eax, [eax]
mov	edx, [esi+98h]
push	edi
neg	eax
mov	[ebp+var_C], eax
xor	eax, eax
push	eax
push	0E818h
push	[ebp+arg_8]
neg	edx
mov	[ebp+var_10], edx
mov	[esi+68h], ecx
lea	edx, [ebp+var_10]
push	edx
and	ecx, 0EFFFFFFFh
push	ecx
push	[ebp+arg_0]
mov	ecx, esi
push	eax
mov	[ebp+var_8], eax
mov	[ebp+var_4], eax
call	?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const	&,CWnd *,uint,CCreateContext *)
test	byte ptr [esi+6Bh], 10h
mov	edi, eax
jz	short loc_100F7CC
mov	ecx, dword_103E820
push	5
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)
mov	eax, dword_103E820
push	dword ptr [eax+20h] ; hWnd
call	ds:UpdateWindow

loc_100F7CC:
mov	eax, edi
pop	edi
pop	esi
leave
retn	0Ch
sub_100F74E endp

db 5 dup(0CCh)
jmp	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_100F7E3(int, LPRECT	lprc)
sub_100F7E3 proc near

rc= tagRECT ptr	-10h
arg_0= dword ptr  8
lprc= dword ptr	 0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	ebx
push	esi
push	edi
mov	ebx, ecx
lea	esi, [ebx+90h]
lea	edi, [ebp+rc]
movsd
movsd
or	eax, 0FFFFFFFFh
sub	eax, [ebx+84h]
movsd
push	eax		; dy
push	0FFFFFFFFh	; dx
lea	eax, [ebp+rc]
push	eax		; lprc
movsd
call	ds:InflateRect
mov	eax, [ebp+arg_0]
cmp	eax, 0FFFFFFFEh
jz	short loc_100F878
cmp	eax, 0FFFFFFFFh
jz	short loc_100F85B
test	eax, eax
jl	short loc_100F878
cmp	eax, [ebx+80h]
jg	short loc_100F878
mov	ecx, [ebx+88h]
add	ecx, 0FFFFFFFEh
cdq
idiv	ecx
mov	ecx, [ebp+rc.top]
shl	eax, 4
add	eax, ecx
lea	ecx, [eax+10h]
push	ecx
lea	ecx, [edx+3]
shl	ecx, 4
add	ecx, [ebp+rc.left]
add	edx, 2
push	ecx
shl	edx, 4
add	edx, [ebp+rc.left]
push	eax
push	edx
jmp	short loc_100F86B

loc_100F85B:
mov	eax, [ebp+rc.top]
lea	ecx, [eax+21h]
push	ecx		; yBottom
mov	ecx, [ebp+rc.left]
lea	edx, [ecx+21h]
push	edx		; xRight
push	eax		; yTop
push	ecx		; xLeft

loc_100F86B:		; lprc
mov	ecx, [ebp+lprc]
call	sub_100ABE3
xor	eax, eax
inc	eax
jmp	short loc_100F87A

loc_100F878:
xor	eax, eax

loc_100F87A:
pop	edi
pop	esi
pop	ebx
leave
retn	8
sub_100F7E3 endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	ebx
push	esi
push	edi
lea	eax, [ebp-10h]
mov	ebx, ecx
push	eax
push	dword ptr [ebx+20h]
call	ds:GetClientRect
push	0Fh
call	sub_100D149
mov	ecx, [ebp+8]
push	eax
lea	eax, [ebp-10h]
push	eax
call	sub_100AC6F
lea	esi, [ebx+90h]
lea	edi, [ebp-10h]
movsd
movsd
or	eax, 0FFFFFFFFh
sub	eax, [ebx+84h]
movsd
push	eax
push	0FFFFFFFFh
lea	eax, [ebp-10h]
push	eax
movsd
call	ds:InflateRect
push	10h
call	sub_100D149
mov	ecx, [ebp+8]
push	eax
lea	eax, [ebp-10h]
push	eax
call	sub_100AC6F
lea	eax, [ebp-10h]
push	eax
push	0FFFFFFFFh
mov	ecx, ebx
call	sub_100F7E3
push	0Fh
call	sub_100D149
mov	ecx, [ebp+8]
push	eax
lea	eax, [ebp-10h]
push	eax
call	sub_100AC6F
mov	ecx, ebx
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
pop	edi
pop	esi
pop	ebx
leave
retn	4
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100F91F proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
lea	eax, [ecx+90h]
mov	ecx, [eax+0Ch]
mov	edx, [eax+8]
sub	ecx, [eax+4]
sub	edx, [eax]
mov	eax, [ebp+arg_0]
mov	[eax], edx
mov	[eax+4], ecx
pop	ebp
retn	0Ch
sub_100F91F endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
mov	eax, [ebp+8]
push	25h
pop	ecx
mov	[eax+18h], ecx
mov	[eax+1Ch], ecx
mov	ecx, 825h
mov	[eax+20h], ecx
mov	[eax+24h], ecx
pop	ebp
retn	4
align 10h



sub_100F970 proc near
mov	eax, offset loc_1035C4D
call	sub_1034E18
sub	esp, 44h
mov	eax, dword_103E768
mov	eax, [eax+10h]
push	ebx
push	esi
mov	esi, ds:GetSysColor
push	edi
xor	ebx, ebx
mov	edi, ecx
push	14h		; nIndex
mov	[ebp-14h], edi
mov	[ebp-18h], eax
mov	[ebp-50h], ebx
mov	[ebp-4Ch], ebx
mov	[ebp-48h], ebx
mov	[ebp-44h], ebx
call	esi ; GetSysColor
push	eax
lea	ecx, [ebp-40h]
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
push	12h		; nIndex
mov	[ebp-4], ebx
call	esi ; GetSysColor
push	eax
lea	ecx, [ebp-38h]
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
push	10h		; nIndex
mov	byte ptr [ebp-4], 1
call	esi ; GetSysColor
push	eax
lea	ecx, [ebp-30h]
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
push	0Fh		; nIndex
mov	byte ptr [ebp-4], 2
call	esi ; GetSysColor
push	eax
lea	ecx, [ebp-28h]
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
cmp	[edi+80h], ebx
mov	byte ptr [ebp-4], 3
mov	[ebp-10h], ebx
mov	esi, offset off_1002120
jle	loc_100FACA
mov	edi, [ebp+8]

loc_100F9FE:
mov	ecx, [ebp-14h]
lea	eax, [ebp-50h]
push	eax		; lprc
push	dword ptr [ebp-10h] ; int
call	sub_100F7E3
test	eax, eax
jz	loc_100FAB5
push	dword ptr [ebp-10h]
mov	ecx, dword_103E768
call	sub_100C1D4
mov	[ebp+8], eax
lea	eax, [ebp-40h]
push	eax		; hbr
lea	eax, [ebp-50h]
push	eax		; lprc
mov	ecx, edi
call	sub_100F4F8
dec	dword ptr [ebp-48h]
dec	dword ptr [ebp-44h]
lea	eax, [ebp-30h]
push	eax		; hbr
lea	eax, [ebp-50h]
push	eax		; lprc
mov	ecx, edi
call	sub_100F4F8
inc	dword ptr [ebp-50h]
inc	dword ptr [ebp-4Ch]
lea	eax, [ebp-28h]
push	eax		; hbr
lea	eax, [ebp-50h]
push	eax		; lprc
mov	ecx, edi
call	sub_100F4F8
dec	dword ptr [ebp-48h]
dec	dword ptr [ebp-44h]
lea	eax, [ebp-38h]
push	eax		; hbr
lea	eax, [ebp-50h]
push	eax		; lprc
mov	ecx, edi
call	sub_100F4F8
cmp	[ebp-18h], ebx
jz	short loc_100FA8A
push	1
push	dword ptr [ebp+8]
lea	eax, [ebp-50h]
push	eax
push	edi
call	sub_100F51D
jmp	short loc_100FAB5

loc_100FA8A:
inc	dword ptr [ebp-50h]
push	dword ptr [ebp+8]
inc	dword ptr [ebp-4Ch]
lea	ecx, [ebp-20h]
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
lea	eax, [ebp-20h]
push	eax		; hbr
lea	eax, [ebp-50h]
push	eax		; lprc
mov	ecx, edi
call	sub_100AC6F
lea	ecx, [ebp-20h]
mov	[ebp-20h], esi
call	sub_10096BE

loc_100FAB5:
inc	dword ptr [ebp-10h]
mov	eax, [ebp-14h]
mov	ecx, [ebp-10h]
cmp	ecx, [eax+80h]
jl	loc_100F9FE

loc_100FACA:
lea	ecx, [ebp-28h]
mov	byte ptr [ebp-4], 2
mov	[ebp-28h], esi
call	sub_10096BE
lea	ecx, [ebp-30h]
mov	byte ptr [ebp-4], 1
mov	[ebp-30h], esi
call	sub_10096BE
lea	ecx, [ebp-38h]
mov	[ebp-4], bl
mov	[ebp-38h], esi
call	sub_10096BE
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-40h]
mov	[ebp-40h], esi
call	sub_10096BE
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	8
sub_100F970 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100FB1B proc near

Rect= RECT ptr -10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
lea	eax, [ebp+Rect]
push	eax		; lprc
push	0FFFFFFFFh	; int
mov	esi, ecx
call	sub_100F7E3
push	0		; bErase
lea	eax, [ebp+Rect]
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:InvalidateRect
mov	eax, off_103D74C
cmp	dword ptr [eax+18h], 0
pop	esi
jz	short locret_100FB59
mov	ecx, dword_103F170
push	0
call	sub_102C06B

locret_100FB59:
leave
retn
sub_100FB1B endp

align 10h



sub_100FB60 proc near
mov	eax, offset loc_1035C7C
call	sub_1034E18
sub	esp, 50h
mov	eax, dword_103E768
mov	eax, [eax+10h]
push	ebx
push	esi
mov	esi, ds:GetSysColor
push	edi
push	14h		; nIndex
mov	[ebp-10h], ecx
mov	[ebp-14h], eax
call	esi ; GetSysColor
push	eax
lea	ecx, [ebp-3Ch]
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
xor	ebx, ebx
push	10h		; nIndex
mov	[ebp-4], ebx
call	esi ; GetSysColor
push	eax
lea	ecx, [ebp-34h]
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
push	0Fh
pop	edi
push	edi		; nIndex
mov	byte ptr [ebp-4], 1
call	esi ; GetSysColor
push	eax
lea	ecx, [ebp-2Ch]
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
mov	esi, offset off_1002120
mov	[ebp-4Ch], ebx
mov	[ebp-48h], ebx
mov	[ebp-44h], edi
mov	[ebp-40h], edi
mov	[ebp-20h], ebx
mov	[ebp-24h], esi
mov	ecx, [ebp-10h]
lea	eax, [ebp-5Ch]
push	eax		; lprc
push	0FFFFFFFFh	; int
mov	byte ptr [ebp-4], 3
call	sub_100F7E3
cmp	[ebp+0Ch], ebx
mov	ecx, [ebp-5Ch]
mov	eax, [ebp-58h]
jz	short loc_100FBF8
mov	ebx, color
add	eax, 0Ch
add	ecx, 0Ch
jmp	short loc_100FC04

loc_100FBF8:
mov	ebx, dword_103E87C
add	eax, 5
add	ecx, 5

loc_100FC04:		; dy
push	eax
lea	eax, [ebp-4Ch]
push	ecx		; dx
push	eax		; lprc
call	ds:OffsetRect
mov	edi, [ebp+8]
dec	dword ptr [ebp-44h]
dec	dword ptr [ebp-40h]
lea	eax, [ebp-3Ch]
push	eax		; hbr
lea	eax, [ebp-4Ch]
push	eax		; lprc
mov	ecx, edi
call	sub_100F4F8
push	1		; dy
push	1		; dx
lea	eax, [ebp-4Ch]
push	eax		; lprc
call	ds:OffsetRect
lea	eax, [ebp-34h]
push	eax		; hbr
lea	eax, [ebp-4Ch]
push	eax		; lprc
mov	ecx, edi
call	sub_100F4F8
dec	dword ptr [ebp-44h]
dec	dword ptr [ebp-40h]
lea	eax, [ebp-2Ch]
push	eax		; hbr
lea	eax, [ebp-4Ch]
push	eax		; lprc
mov	ecx, edi
call	sub_100F4F8
push	0FFFFFFFFh	; dy
push	0FFFFFFFFh	; dx
lea	eax, [ebp-4Ch]
push	eax		; lprc
call	ds:InflateRect
cmp	dword ptr [ebp-14h], 0
jz	short loc_100FC7D
push	1
push	ebx
lea	eax, [ebp-4Ch]
push	eax
push	edi
call	sub_100F51D
jmp	short loc_100FCA0

loc_100FC7D:
push	ebx
lea	ecx, [ebp-1Ch]
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
lea	eax, [ebp-1Ch]
push	eax		; hbr
lea	eax, [ebp-4Ch]
push	eax		; lprc
mov	ecx, edi
call	sub_100AC6F
lea	ecx, [ebp-1Ch]
mov	[ebp-1Ch], esi
call	sub_10096BE

loc_100FCA0:
lea	ecx, [ebp-24h]
mov	byte ptr [ebp-4], 2
mov	[ebp-24h], esi
call	sub_10096BE
lea	ecx, [ebp-2Ch]
mov	byte ptr [ebp-4], 1
mov	[ebp-2Ch], esi
call	sub_10096BE
lea	ecx, [ebp-34h]
mov	byte ptr [ebp-4], 0
mov	[ebp-34h], esi
call	sub_10096BE
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-3Ch]
mov	[ebp-3Ch], esi
call	sub_10096BE
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	8
sub_100FB60 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_100FCF2 proc near

rc= RECT ptr -10h
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	ebx
push	esi
push	edi
mov	esi, ecx
or	edi, 0FFFFFFFFh
cmp	[esi+80h], edi
jle	short loc_100FD39
mov	ebx, [ebp+arg_0]

loc_100FD0D:
lea	eax, [ebp+rc]
push	eax		; lprc
push	edi		; int
mov	ecx, esi
call	sub_100F7E3
test	eax, eax
jz	short loc_100FD30
push	dword ptr [ebx+4]
lea	eax, [ebp+rc]
push	dword ptr [ebx]	; pt
push	eax		; lprc
call	ds:PtInRect
test	eax, eax
jnz	short loc_100FD43

loc_100FD30:
inc	edi
cmp	edi, [esi+80h]
jl	short loc_100FD0D

loc_100FD39:
push	0FFFFFFFEh
pop	eax

loc_100FD3C:
pop	edi
pop	esi
pop	ebx
leave
retn	4

loc_100FD43:
mov	eax, edi
jmp	short loc_100FD3C
sub_100FCF2 endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
lea	eax, [ebp+0Ch]
push	eax
mov	esi, ecx
call	sub_100FCF2
cmp	eax, 0FFFFFFFEh
jz	short loc_100FD7C
cmp	eax, 0FFFFFFFFh
jz	short loc_100FD8C
test	byte ptr [ebp+8], 8
push	eax
jz	short loc_100FD75
call	sub_100C81C
jmp	short loc_100FD8C

loc_100FD75:
call	sub_100C7C2
jmp	short loc_100FD8C

loc_100FD7C:
push	dword ptr [ebp+10h]
mov	ecx, esi
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
call	?OnLButtonDown@CControlBar@@QAEXIVCPoint@@@Z ; CControlBar::OnLButtonDown(uint,CPoint)

loc_100FD8C:
pop	esi
pop	ebp
retn	0Ch
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	ds:GetCapture
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
cmp	eax, esi
jz	short loc_100FDD5
lea	eax, [ebp+0Ch]
push	eax
mov	ecx, esi
call	sub_100FCF2
cmp	eax, 0FFFFFFFEh
jl	short loc_100FDC2
test	eax, eax
jl	short loc_100FDD5

loc_100FDC2:
test	byte ptr [ebp+8], 8
push	eax
jz	short loc_100FDD0
call	sub_100C81C
jmp	short loc_100FDD5

loc_100FDD0:
call	sub_100C7EF

loc_100FDD5:
pop	esi
pop	ebp
retn	0Ch
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
lea	eax, [ebp+0Ch]
push	eax
call	sub_100FCF2
cmp	eax, 0FFFFFFFEh
jl	short loc_100FDF6
test	eax, eax
jl	short loc_100FE0E

loc_100FDF6:
mov	ecx, dword_103E768
test	ecx, ecx
jz	short loc_100FE0E
mov	eax, [ebp+8]
and	eax, 8
push	eax
push	1
call	sub_100C86E

loc_100FE0E:
pop	ebp
retn	0Ch
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
lea	eax, [ebp+0Ch]
push	eax
call	sub_100FCF2
cmp	eax, 0FFFFFFFEh
jl	short loc_100FE2E
test	eax, eax
jl	short loc_100FE46

loc_100FE2E:
mov	ecx, dword_103E768
test	ecx, ecx
jz	short loc_100FE46
mov	eax, [ebp+8]
and	eax, 8
push	eax
push	0
call	sub_100C86E

loc_100FE46:
pop	ebp
retn	0Ch
db 5 dup(0CCh)



sub_100FE4F proc near
mov	eax, offset loc_1035CAB
call	sub_1034E18
sub	esp, 3Ch
push	ebx
push	esi
mov	esi, ds:GetSysColor
push	edi
push	14h		; nIndex
mov	[ebp-10h], ecx
call	esi ; GetSysColor
push	eax
lea	ecx, [ebp-38h]
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
and	dword ptr [ebp-4], 0
push	12h		; nIndex
call	esi ; GetSysColor
push	eax
lea	ecx, [ebp-30h]
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
push	10h		; nIndex
mov	byte ptr [ebp-4], 1
call	esi ; GetSysColor
push	eax
lea	ecx, [ebp-28h]
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
push	0Fh		; nIndex
mov	byte ptr [ebp-4], 2
call	esi ; GetSysColor
push	eax
lea	ecx, [ebp-20h]
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
mov	ecx, [ebp-10h]
lea	eax, [ebp-48h]
push	eax		; lprc
push	0FFFFFFFFh	; int
mov	byte ptr [ebp-4], 3
call	sub_100F7E3
push	0FFFFFFFFh	; dy
push	0FFFFFFFFh	; dx
lea	eax, [ebp-48h]
push	eax		; lprc
call	ds:InflateRect
mov	edi, [ebp+8]
dec	dword ptr [ebp-44h]
lea	eax, [ebp-38h]
push	eax		; hbr
lea	eax, [ebp-48h]
push	eax		; lprc
mov	ecx, edi
call	sub_100F4F8
dec	dword ptr [ebp-40h]
dec	dword ptr [ebp-3Ch]
lea	eax, [ebp-28h]
push	eax		; hbr
lea	eax, [ebp-48h]
push	eax		; lprc
mov	ecx, edi
call	sub_100F4F8
inc	dword ptr [ebp-48h]
inc	dword ptr [ebp-44h]
lea	eax, [ebp-20h]
push	eax		; hbr
lea	eax, [ebp-48h]
push	eax		; lprc
mov	ecx, edi
call	sub_100F4F8
dec	dword ptr [ebp-40h]
dec	dword ptr [ebp-3Ch]
lea	eax, [ebp-30h]
push	eax		; hbr
lea	eax, [ebp-48h]
push	eax		; lprc
mov	ecx, edi
call	sub_100F4F8
inc	dword ptr [ebp-48h]
inc	dword ptr [ebp-44h]
mov	ebx, [edi]
push	0Fh		; nIndex
call	esi ; GetSysColor
push	eax
mov	ecx, edi
call	dword ptr [ebx+38h]
mov	ebx, eax
mov	eax, [edi]
push	14h		; nIndex
mov	[ebp+8], eax
call	esi ; GetSysColor
push	eax
mov	eax, [ebp+8]
mov	ecx, edi
call	dword ptr [eax+34h]
mov	[ebp+8], eax
mov	eax, dword_103D6A4
cmp	eax, 87654321h
mov	esi, offset off_1002120
jz	short loc_100FF96
mov	ecx, dword_103E768
cmp	dword ptr [ecx+10h], 0
jz	short loc_100FF71
push	1
push	eax
lea	eax, [ebp-48h]
push	eax
push	edi
call	sub_100F51D
jmp	short loc_100FFA7

loc_100FF71:
push	eax
lea	ecx, [ebp-18h]
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
lea	eax, [ebp-18h]
push	eax		; hbr
lea	eax, [ebp-48h]
push	eax		; lprc
mov	ecx, edi
call	sub_100AC6F
lea	ecx, [ebp-18h]
mov	[ebp-18h], esi
call	sub_10096BE
jmp	short loc_100FFA7

loc_100FF96:
call	sub_100D1FD
push	eax		; hbr
lea	eax, [ebp-48h]
push	eax		; lprc
mov	ecx, edi
call	sub_100AC6F

loc_100FFA7:
mov	eax, [edi]
push	ebx
mov	ecx, edi
call	dword ptr [eax+38h]
push	dword ptr [ebp+8]
mov	eax, [edi]
mov	ecx, edi
call	dword ptr [eax+34h]
mov	ecx, [ebp-10h]
push	1
push	edi
call	sub_100FB60
mov	ecx, [ebp-10h]
push	0
push	edi
call	sub_100FB60
lea	ecx, [ebp-20h]
mov	byte ptr [ebp-4], 2
mov	[ebp-20h], esi
call	sub_10096BE
lea	ecx, [ebp-28h]
mov	byte ptr [ebp-4], 1
mov	[ebp-28h], esi
call	sub_10096BE
lea	ecx, [ebp-30h]
mov	byte ptr [ebp-4], 0
mov	[ebp-30h], esi
call	sub_10096BE
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-38h]
mov	[ebp-38h], esi
call	sub_10096BE
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	8
sub_100FE4F endp

db 5 dup(0CCh)
mov	eax, offset loc_1035CC2
call	sub_1034E18
sub	esp, 58h
mov	eax, ___security_cookie
push	ebx
push	esi
mov	esi, ecx
push	esi
lea	ecx, [ebp-64h]
mov	[ebp-10h], eax
call	??0CPaintDC@@QAE@PAVCWnd@@@Z ; CPaintDC::CPaintDC(CWnd *)
mov	eax, dword_103E768
mov	eax, [eax+0Ch]
mov	ecx, [esi+7Ch]
and	dword ptr [ebp-4], 0
xor	ebx, ebx
cmp	eax, ecx
jl	short loc_101005A
mov	eax, ecx

loc_101005A:
mov	[esi+80h], eax
cdq
sub	eax, edx
sar	eax, 1
shl	eax, 4
add	eax, 23h
mov	[esi+98h], eax
lea	ecx, [esi+90h]
mov	eax, [ecx+8]
sub	eax, [ecx]
push	10h
cdq
pop	ecx
idiv	ecx
cmp	dword ptr [ebp-60h], 0
mov	[esi+88h], eax
jnz	short loc_101009C
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	short loc_1010106

loc_101009C:
mov	eax, dword_103EF88
test	eax, eax
jz	short loc_10100C5
xor	ecx, ecx
cmp	dword_103EF9C, ecx
jz	short loc_10100B0
inc	ecx

loc_10100B0:
push	ecx
push	eax
lea	ecx, [ebp-64h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [ebp-60h]
mov	ebx, eax
call	ds:RealizePalette

loc_10100C5:
push	0Fh
call	sub_100D149
push	eax
lea	eax, [ebp-48h]
push	eax
lea	ecx, [ebp-64h]
call	sub_100AC6F
lea	eax, [ebp-48h]
push	eax
lea	eax, [ebp-64h]
push	eax
mov	ecx, esi
call	sub_100FE4F
lea	eax, [ebp-48h]
push	eax
lea	eax, [ebp-64h]
push	eax
mov	ecx, esi
call	sub_100F970
test	ebx, ebx
jz	short loc_1010106
push	0
push	ebx
lea	ecx, [ebp-64h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1010106:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-64h]
call	??1CPaintDC@@UAE@XZ ; CPaintDC::~CPaintDC(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
mov	ecx, [ebp-10h]
pop	ebx
call	sub_1032F53
leave
retn
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
mov	eax, [esi+6Ch]
test	eax, eax
jz	short loc_1010144
push	eax
call	ds:GlobalFree
and	dword ptr [esi+6Ch], 0

loc_1010144:
pop	esi
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101014B proc near

var_8= dword ptr -8
var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
push	ebx
push	esi
mov	esi, ds:IsClipboardFormatAvailable
push	edi
push	2		; format
xor	edi, edi
call	esi ; IsClipboardFormatAvailable
push	8		; format
mov	ebx, eax
call	esi ; IsClipboardFormatAvailable
push	1		; format
mov	[ebp+var_8], eax
call	esi ; IsClipboardFormatAvailable
push	3		; format
mov	[ebp+var_4], eax
call	esi ; IsClipboardFormatAvailable
mov	ecx, off_103D74C
cmp	dword ptr [ecx+30h], 26Eh
jnz	short loc_1010192
test	ecx, ecx
jz	short loc_10101A4
cmp	[ecx+38h], edi
jz	short loc_10101A4
mov	edi, [ebp+var_4]
jmp	short loc_10101A4

loc_1010192:
xor	edi, edi
cmp	ebx, edi
jnz	short loc_10101A1
cmp	[ebp+var_8], edi
jnz	short loc_10101A1
cmp	eax, edi
jz	short loc_10101A4

loc_10101A1:
xor	edi, edi
inc	edi

loc_10101A4:
mov	eax, edi
pop	edi
pop	esi
pop	ebx
leave
retn
sub_101014B endp

db 5 dup(0CCh)

loc_10101B0:
mov	edi, edi
push	ecx
call	ds:ReleaseStgMedium
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10101BF(__int16, int, LPSTGMEDIUM)
sub_10101BF proc near

var_18=	word ptr -18h
var_14=	byte ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
ppDataObj= dword ptr -4
arg_0= word ptr	 8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 18h
push	ebx
lea	eax, [ebp+ppDataObj]
xor	ebx, ebx
push	eax		; ppDataObj
mov	[ebp+ppDataObj], ebx
call	ds:OleGetClipboard
test	eax, eax
jl	short loc_101022D
push	esi
mov	esi, [ebp+arg_8]
push	edi
xor	eax, eax
lea	edi, [ebp+var_14]
stosd
stosd
stosd
stosd
mov	ax, [ebp+arg_0]
or	[ebp+var_C], 0FFFFFFFFh
mov	[ebp+var_18], ax
mov	eax, [ebp+arg_4]
push	esi
mov	[ebp+var_8], eax
mov	[esi], eax
mov	eax, [ebp+ppDataObj]
lea	edx, [ebp+var_18]
push	edx
mov	[ebp+var_10], 1
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+0Ch]
test	eax, eax
jl	short loc_101021B
mov	ebx, [esi+4]
jmp	short loc_1010222

loc_101021B:		; LPSTGMEDIUM
push	esi
call	ds:ReleaseStgMedium

loc_1010222:
mov	eax, [ebp+ppDataObj]
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]
pop	edi
pop	esi

loc_101022D:
mov	eax, ebx
pop	ebx
leave
retn	0Ch
sub_10101BF endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1010239(HGLOBAL hMem, HDC hdc, int,	int, int, int, int)
sub_1010239 proc near

pt= tagPOINT ptr -28h
var_20=	dword ptr -20h
var_1C=	dword ptr -1Ch
iMode= dword ptr -18h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_8= dword ptr -8
var_4= dword ptr -4
hMem= dword ptr	 8
hdc= dword ptr	0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h
arg_10=	dword ptr  18h
arg_14=	dword ptr  1Ch
arg_18=	dword ptr  20h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 28h
and	[ebp+var_4], 0
cmp	[ebp+hMem], 0
jz	loc_10103E8
push	[ebp+hMem]	; hMem
call	ds:GlobalLock
test	eax, eax
jz	loc_10103E8
push	ebx
push	esi
push	edi
push	[ebp+hMem]	; hMem
mov	esi, eax
lea	edi, [ebp+iMode]
movsd
movsd
movsd
movsd
call	ds:GlobalUnlock
mov	ebx, [ebp+hdc]
push	ebx		; hdc
call	ds:SaveDC
push	[ebp+iMode]	; iMode
push	ebx		; hdc
call	ds:SetMapMode
cmp	[ebp+iMode], 7
mov	[ebp+var_8], eax
jz	short loc_10102DE
cmp	[ebp+iMode], 8
jz	short loc_10102DE
mov	eax, [ebp+var_14]
and	[ebp+pt.x], 0
and	[ebp+pt.y], 0
mov	[ebp+var_20], eax
mov	eax, [ebp+var_10]
mov	[ebp+var_1C], eax
push	2		; c
lea	eax, [ebp+pt]
push	eax		; lppt
push	ebx		; hdc
call	ds:LPtoDP
test	eax, eax
jz	loc_10103C7
mov	eax, [ebp+var_20]
sub	eax, [ebp+pt.x]
mov	ecx, [ebp+arg_8]
inc	eax
mov	[ecx], eax
mov	eax, [ebp+var_1C]
sub	eax, [ebp+pt.y]
mov	ecx, [ebp+arg_C]
inc	eax
mov	[ecx], eax
jmp	loc_10103C0

loc_10102DE:
mov	esi, ds:GetDeviceCaps
push	8		; index
push	ebx		; hdc
call	esi ; GetDeviceCaps
push	0Ah		; index
push	ebx		; hdc
mov	edi, eax
call	esi ; GetDeviceCaps
push	4		; index
push	[ebp+hdc]	; hdc
mov	ebx, eax
call	esi ; GetDeviceCaps
push	6		; index
push	[ebp+hdc]	; hdc
mov	[ebp+hMem], eax
call	esi ; GetDeviceCaps
mov	[ebp+var_4], eax
mov	eax, edi
imul	eax, 3E8h
cdq
idiv	[ebp+hMem]
mov	ecx, [ebp+arg_10]
mov	esi, [ebp+var_14]
mov	[ecx], eax
mov	eax, ebx
imul	eax, 3E8h
cdq
idiv	[ebp+var_4]
test	esi, esi
mov	ecx, [ebp+arg_14]
mov	[ecx], eax
jnz	short loc_101033F
mov	eax, [ebp+arg_18]
mov	ecx, [eax+2Ch]
mov	edx, [ebp+arg_8]
mov	[edx], ecx
mov	eax, [eax+30h]
jmp	short loc_10103B8

loc_101033F:
jle	short loc_101035B
mov	eax, edi
imul	eax, esi
cdq
idiv	[ebp+hMem]
push	64h
pop	ecx
push	64h
cdq
idiv	ecx
mov	ecx, [ebp+arg_8]
mov	[ecx], eax
mov	eax, ebx
jmp	short loc_10103AC

loc_101035B:
test	esi, esi
jge	short loc_10103BD
mov	ecx, [ebp+arg_18]
mov	eax, [ecx+2Ch]
imul	eax, [ebp+hMem]
imul	eax, -64h
cdq
idiv	edi
cdq
idiv	esi
mov	[ebp+arg_18], eax
mov	eax, [ecx+30h]
imul	eax, [ebp+var_4]
imul	eax, -64h
cdq
idiv	ebx
mov	ecx, [ebp+arg_18]
cdq
idiv	[ebp+var_10]
cmp	ecx, eax
jl	short loc_101038F
mov	ecx, eax

loc_101038F:
mov	eax, ecx
imul	eax, edi
imul	eax, esi
cdq
idiv	[ebp+hMem]
push	0FFFFFF9Ch
pop	esi
push	esi
cdq
idiv	esi
mov	edx, [ebp+arg_8]
mov	[edx], eax
mov	eax, ecx
imul	eax, ebx

loc_10103AC:
imul	eax, [ebp+var_10]
cdq
idiv	[ebp+var_4]
pop	ecx
cdq
idiv	ecx

loc_10103B8:
mov	ecx, [ebp+arg_C]
mov	[ecx], eax

loc_10103BD:
mov	ebx, [ebp+hdc]

loc_10103C0:
mov	[ebp+var_4], 1

loc_10103C7:
cmp	[ebp+var_8], 0
jz	short loc_10103D7
push	[ebp+var_8]	; iMode
push	ebx		; hdc
call	ds:SetMapMode

loc_10103D7:		; nSavedDC
push	0FFFFFFFFh
push	ebx		; hdc
call	ds:RestoreDC
mov	eax, [ebp+var_4]
pop	edi
pop	esi
pop	ebx
jmp	short locret_10103EA

loc_10103E8:
xor	eax, eax

locret_10103EA:
leave
retn	1Ch
sub_1010239 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10103F3(HGLOBAL hMem, RECT *lprc, HDC ho)
sub_10103F3 proc near

hMem= dword ptr	 8
lprc= dword ptr	 0Ch
ho= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	edi
push	[ebp+hMem]	; hMem
call	ds:GlobalLock
mov	edi, eax
test	edi, edi
jz	loc_101048C
push	ebx
mov	ebx, [ebp+ho]
push	esi
push	ebx		; hdc
call	ds:SaveDC
push	color		; color
call	ds:CreateSolidBrush
test	eax, eax
mov	esi, [ebp+lprc]
mov	[ebp+ho], eax
jz	short loc_1010440
push	eax		; hbr
push	esi		; lprc
push	ebx		; hDC
call	ds:FillRect
push	[ebp+ho]	; ho
call	ds:DeleteObject

loc_1010440:		; iMode
push	dword ptr [edi]
push	ebx		; hdc
call	ds:SetMapMode
mov	eax, [edi]
cmp	eax, 7
jz	short loc_1010455
cmp	eax, 8
jnz	short loc_101046B

loc_1010455:
mov	eax, [esi+0Ch]
sub	eax, [esi+4]
push	0		; lpsz
push	eax		; y
mov	eax, [esi+8]
sub	eax, [esi]
push	eax		; x
push	ebx		; hdc
call	ds:SetViewportExtEx

loc_101046B:		; hmf
push	dword ptr [edi+0Ch]
push	ebx		; hdc
call	ds:PlayMetaFile
push	[ebp+hMem]	; hMem
call	ds:GlobalUnlock
push	0FFFFFFFFh	; nSavedDC
push	ebx		; hdc
call	ds:RestoreDC
xor	eax, eax
pop	esi
inc	eax
pop	ebx

loc_101048C:
pop	edi
pop	ebp
retn	0Ch
sub_10103F3 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1010496 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	edx, [ebp+arg_8]
mov	eax, ecx
mov	ecx, [ebp+arg_0]
add	edx, ecx
mov	[eax+8], edx
mov	edx, [ebp+arg_C]
mov	[eax], ecx
mov	ecx, [ebp+arg_4]
add	edx, ecx
mov	[eax+4], ecx
mov	[eax+0Ch], edx
pop	ebp
retn	10h
sub_1010496 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10104C1(LOGPALETTE *plpal)
sub_10104C1 proc near

plpal= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+plpal]	; plpal
mov	esi, ecx
call	ds:CreatePalette
push	eax
mov	ecx, esi
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
pop	esi
pop	ebp
retn	4
sub_10104C1 endp

db 5 dup(0CCh)



sub_10104E4 proc near
push	0		; lParam
push	0		; wParam
push	0B0h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
retn
sub_10104E4 endp

db 5 dup(0CCh)



sub_10104FC proc near
mov	eax, offset loc_1035CE1
call	sub_1034E18
sub	esp, 20h
push	ebx
push	esi
mov	[ebp-10h], ecx
push	edi
lea	ecx, [ebp-2Ch]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
and	dword ptr [ebp-4], 0
and	dword ptr [ebp-18h], 0
mov	dword ptr [ebp-1Ch], offset off_1001F9C
mov	esi, [ebp+0Ch]
mov	edi, [esi+8]
mov	ebx, [esi+0Ch]
push	dword ptr [ebp+8] ; hdc
sub	edi, [esi]
sub	ebx, [esi+4]
lea	ecx, [ebp-2Ch]
mov	byte ptr [ebp-4], 1
call	sub_1009779
test	eax, eax
jz	short loc_10105BB
push	ebx		; cy
push	edi		; int
push	dword ptr [ebp+8] ; int
lea	ecx, [ebp-1Ch]
call	sub_100AC43
test	eax, eax
jz	short loc_10105BB
lea	eax, [ebp-1Ch]
push	eax
lea	ecx, [ebp-2Ch]
call	sub_1032D5B
mov	ecx, [ebp-10h]
mov	[ebp-14h], eax
push	0
lea	eax, [ebp-2Ch]
push	eax
call	sub_101909A
push	0CC0020h	; rop
push	dword ptr [esi+4] ; y1
lea	ecx, [ebp-2Ch]
push	dword ptr [esi]	; x1
xor	esi, esi
push	dword ptr [ebp+8] ; hdcSrc
mov	[ebp+0Ch], eax
push	ebx		; cy
push	edi		; int
push	esi		; y
push	esi		; x
call	sub_10097A4
push	dword ptr [ebp-14h]
lea	ecx, [ebp-2Ch]
call	sub_1032D5B
cmp	[ebp+0Ch], esi
jz	short loc_10105AF
push	esi
push	dword ptr [ebp+0Ch]
lea	ecx, [ebp-2Ch]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_10105AF:
lea	ecx, [ebp-1Ch]
call	?Detach@CGdiObject@@QAEPAXXZ ; CGdiObject::Detach(void)
mov	esi, eax
jmp	short loc_10105C9

loc_10105BB:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
xor	esi, esi

loc_10105C9:
lea	ecx, [ebp-1Ch]
mov	byte ptr [ebp-4], 0
mov	dword ptr [ebp-1Ch], offset off_1001F9C
call	sub_10096BE
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-2Ch]
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	ecx, [ebp-0Ch]
pop	edi
mov	eax, esi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	8
sub_10104FC endp

align 10h



sub_1010600 proc near
mov	eax, off_103D74C
cmp	dword ptr [eax+30h], 26Eh
push	esi
jnz	short loc_1010675
mov	esi, eax
test	esi, esi
jz	short loc_1010675
push	offset off_1006F10
mov	ecx, esi
call	?IsKindOf@CObject@@QBEHPBUCRuntimeClass@@@Z ; CObject::IsKindOf(CRuntimeClass const *)
test	eax, eax
jz	short loc_1010670
mov	esi, [esi+38h]
test	esi, esi
jz	short loc_1010670
push	offset off_10054C0
mov	ecx, esi
call	?IsKindOf@CObject@@QBEHPBUCRuntimeClass@@@Z ; CObject::IsKindOf(CRuntimeClass const *)
test	eax, eax
jz	short loc_1010670
add	esi, 40h
push	edi
mov	ecx, esi
call	sub_10104E4
mov	edi, eax
shr	eax, 10h
xor	ecx, ecx
cmp	ax, di
setnz	cl
mov	eax, ecx
test	eax, eax
jnz	short loc_101066D
mov	ecx, esi
call	?GetWindowTextLengthW@CWnd@@QBEHXZ ; CWnd::GetWindowTextLengthW(void)
movzx	ecx, di
xor	edx, edx
cmp	eax, ecx
setnz	dl
mov	eax, edx

loc_101066D:
pop	edi
pop	esi
retn

loc_1010670:
mov	eax, off_103D74C

loc_1010675:
mov	eax, [eax+30h]
cmp	eax, 26Ch
jz	short loc_1010686
cmp	eax, 26Dh
jnz	short loc_101069D

loc_1010686:
cmp	dword_103E804, 0
jz	short loc_101069D
cmp	dword_103E870, 0
jnz	short loc_101069D
xor	eax, eax
inc	eax
pop	esi
retn

loc_101069D:
xor	eax, eax
pop	esi
retn
sub_1010600 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10106A6 proc near

var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
mov	edx, [ebp+arg_4]
push	edi
mov	edi, [ebp+arg_8]
mov	eax, [edi+2Ch]
cmp	[ebp+arg_0], eax
jg	short loc_10106C1
cmp	edx, [edi+30h]
jle	short loc_1010705

loc_10106C1:
mov	ecx, [edi+30h]
cmp	edx, ecx
jle	short loc_10106CA
mov	ecx, edx

loc_10106CA:
cmp	[ebp+arg_0], eax
jle	short loc_10106D2
mov	eax, [ebp+arg_0]

loc_10106D2:
push	esi
push	1
mov	[ebp+var_4], ecx
mov	esi, offset unk_103F3A0
push	offset aResizeBitmap ; "Resize Bitmap"
mov	ecx, esi
mov	[ebp+var_8], eax
call	sub_102FA64
mov	ecx, [edi+4]
lea	eax, [ebp+var_8]
push	eax
push	15Eh
call	sub_100B766
mov	ecx, esi
call	sub_102FE8A
pop	esi

loc_1010705:
push	7
pop	eax
pop	edi
leave
retn	0Ch
sub_10106A6 endp

db 5 dup(0CCh)



sub_1010712 proc near
mov	eax, offset loc_1035D42
call	sub_1034E18
sub	esp, 0F8h
push	ebx
push	esi
push	edi
mov	edi, ecx
lea	ecx, [ebp-0A0h]
mov	[ebp-44h], edi
call	sub_100ACBA
xor	esi, esi
cmp	[edi+68h], si
mov	[ebp-4], esi
jnz	short loc_101074F
push	offset aMspaintfreehan ; "MSPaintFreehand"
call	ds:RegisterClipboardFormatW
mov	[edi+68h], ax

loc_101074F:
xor	eax, eax
lea	edi, [ebp-0ACh]
stosd
stosd
mov	[ebp-2Ch], esi
xor	ebx, ebx
mov	[ebp-58h], esi
mov	[ebp-38h], esi
mov	[ebp-28h], esi
mov	[ebp-30h], esi
mov	[ebp-9Ch], esi
mov	[ebp-18h], esi
mov	[ebp-3Ch], esi
mov	[ebp-10h], esi
mov	[ebp-34h], esi
stosd
lea	eax, [ebp-0ACh]
push	eax		; LPSTGMEDIUM
push	10h		; int
push	9		; __int16
mov	byte ptr [ebp-4], 1
call	sub_10101BF
cmp	eax, esi
jz	short loc_10107AC
push	eax
inc	ebx
call	?FromHandle@CGdiObject@@SGPAV1@PAX@Z ; CGdiObject::FromHandle(void *)
mov	[ebp-18h], eax
lea	eax, [ebp-0ACh]
push	eax		; LPSTGMEDIUM
call	ds:ReleaseStgMedium

loc_10107AC:
lea	eax, [ebp-0ACh]
push	eax		; LPSTGMEDIUM
xor	edi, edi
inc	edi
push	edi		; int
push	8		; __int16
call	sub_10101BF
cmp	eax, esi
mov	[ebp-0A0h], eax
jz	short loc_1010813
push	eax		; hMem
call	ds:GlobalLock
cmp	eax, esi
mov	[ebp-10h], eax
jz	short loc_1010813
push	eax
call	sub_101218B
push	dword ptr [ebp-10h]
mov	[ebp-80h], eax
call	sub_10121AF
cmp	[ebp-80h], esi
mov	[ebp-7Ch], eax
jz	short loc_1010813
cmp	eax, esi
jz	short loc_1010813
mov	eax, [ebp-10h]
cmp	dword ptr [eax], 28h
mov	[ebp-58h], edi
jb	loc_101091F
mov	ecx, [eax+18h]
mov	eax, [eax+1Ch]
mov	[ebp-28h], ecx
mov	[ebp-30h], eax
jmp	loc_101091F

loc_1010813:
lea	eax, [ebp-0ACh]
push	eax		; LPSTGMEDIUM
push	10h		; int
push	2		; __int16
call	sub_10101BF
cmp	eax, esi
jz	short loc_101088A
push	eax
call	?FromHandle@CGdiObject@@SGPAV1@PAX@Z ; CGdiObject::FromHandle(void *)
mov	edi, ds:GetObjectW
lea	ecx, [ebp-84h]
push	ecx		; pv
push	18h		; c
push	dword ptr [eax+4] ; h
mov	[ebp-3Ch], eax
call	edi ; GetObjectW
test	eax, eax
jz	short loc_101088A
lea	eax, [ebp-104h]
push	eax		; pv
mov	eax, [ebp-3Ch]
push	54h		; c
push	dword ptr [eax+4] ; h
mov	dword ptr [ebp-2Ch], 1
call	edi ; GetObjectW
test	eax, eax
jz	short loc_1010876
mov	eax, [ebp-0D4h]
mov	[ebp-28h], eax
mov	eax, [ebp-0D0h]
mov	[ebp-30h], eax

loc_1010876:
cmp	ebx, esi
jz	loc_101091C
cmp	[ebp-18h], esi
jnz	loc_101091C
mov	[ebp-2Ch], esi

loc_101088A:
lea	eax, [ebp-0ACh]
push	eax		; LPSTGMEDIUM
push	20h		; int
push	3		; __int16
call	sub_10101BF
cmp	eax, esi
mov	[ebp-34h], eax
jz	short loc_10108F7
lea	ecx, [ebp-6Ch]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
push	esi		; hdc
lea	ecx, [ebp-6Ch]
mov	byte ptr [ebp-4], 2
call	sub_1009779
test	eax, eax
jz	short loc_10108E6
mov	eax, [ebp-44h]
push	dword ptr [eax+40h] ; int
lea	eax, [ebp-30h]
push	eax		; int
lea	eax, [ebp-28h]
push	eax		; int
lea	eax, [ebp-7Ch]
push	eax		; int
lea	eax, [ebp-80h]
push	eax		; int
push	dword ptr [ebp-68h] ; hdc
push	dword ptr [ebp-34h] ; hMem
call	sub_1010239
test	eax, eax
jz	short loc_10108E6
mov	dword ptr [ebp-38h], 1

loc_10108E6:
lea	ecx, [ebp-6Ch]
mov	byte ptr [ebp-4], 1
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
cmp	[ebp-38h], esi
jnz	short loc_101091C

loc_10108F7:
lea	eax, [ebp-0ACh]
push	eax		; LPSTGMEDIUM
call	ds:ReleaseStgMedium
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	ecx, [eax+4]
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
xor	eax, eax
jmp	loc_1010EC6

loc_101091C:
xor	edi, edi
inc	edi

loc_101091F:
mov	eax, [ebp-44h]
push	dword ptr [eax+40h]
push	dword ptr [ebp-7Ch]
push	dword ptr [ebp-80h]
call	sub_10106A6
sub	eax, 6
jz	short loc_101095D
dec	eax
jz	short loc_1010963
lea	eax, [ebp-0ACh]
push	eax		; LPSTGMEDIUM
call	ds:ReleaseStgMedium
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	ecx, [eax+4]
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
mov	eax, edi
jmp	loc_1010EC6

loc_101095D:
mov	[ebp-9Ch], edi

loc_1010963:
lea	ecx, [ebp-54h]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
cmp	[ebp-2Ch], esi
mov	byte ptr [ebp-4], 3
mov	[ebp-98h], esi
mov	[ebp-1Ch], esi
mov	[ebp-14h], esi
mov	ebx, offset off_1001F9C
jz	loc_1010BB9
mov	[ebp-20h], esi
mov	[ebp-24h], ebx
push	esi		; hdc
lea	ecx, [ebp-54h]
mov	byte ptr [ebp-4], 4
mov	[ebp-2Ch], esi
call	sub_1009779
test	eax, eax
jnz	short loc_10109C3
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
lea	ecx, [ebp-24h]
mov	byte ptr [ebp-4], 3
mov	[ebp-24h], ebx
call	sub_10096BE
jmp	loc_1010E96

loc_10109C3:
push	dword ptr [ebp-3Ch]
lea	ecx, [ebp-54h]
call	sub_1032D5B
cmp	eax, esi
mov	[ebp-1Ch], eax
jnz	short loc_10109E3
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	short loc_1010A29

loc_10109E3:
cmp	[ebp-18h], esi
jz	short loc_1010A00
push	esi
push	dword ptr [ebp-18h]
lea	ecx, [ebp-54h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [ebp-50h] ; hdc
mov	[ebp-14h], eax
call	ds:RealizePalette

loc_1010A00:
movzx	eax, word ptr [ebp-72h]
push	esi		; lpBits
push	eax		; nBitCount
movzx	eax, word ptr [ebp-74h]
push	eax		; nPlanes
push	dword ptr [ebp-7Ch] ; nHeight
lea	ecx, [ebp-24h]
push	dword ptr [ebp-80h] ; nWidth
call	sub_100AC14
test	eax, eax
jnz	short loc_1010A3D
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4

loc_1010A29:
lea	ecx, [ebp-24h]
mov	byte ptr [ebp-4], 3
mov	[ebp-24h], ebx
call	sub_10096BE
jmp	loc_1010E75

loc_1010A3D:		; unsigned int
push	10h
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	[ebp-3Ch], eax
cmp	eax, esi
mov	byte ptr [ebp-4], 5
jz	short loc_1010A59
mov	ecx, eax
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	esi, eax

loc_1010A59:
xor	edi, edi
cmp	esi, edi
mov	byte ptr [ebp-4], 4
jnz	short loc_1010A71
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
jmp	short loc_1010A92

loc_1010A71:		; hdc
push	edi
mov	ecx, esi
call	sub_1009779
test	eax, eax
mov	ecx, esi
jnz	short loc_1010AA8
mov	eax, [esi]
push	1
call	dword ptr [eax+4]
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB

loc_1010A92:
lea	ecx, [ebp-24h]
mov	byte ptr [ebp-4], 3
mov	[ebp-24h], ebx
call	sub_10096BE
xor	esi, esi
jmp	loc_1010E75

loc_1010AA8:
lea	eax, [ebp-24h]
push	eax
call	sub_1032D5B
cmp	[ebp-18h], edi
mov	[ebp-3Ch], eax
jz	short loc_1010AD0
push	edi
push	dword ptr [ebp-18h]
mov	ecx, esi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [esi+4] ; hdc
mov	[ebp-2Ch], eax
call	ds:RealizePalette

loc_1010AD0:		; rop
push	0CC0020h
push	edi		; y1
push	edi		; x1
push	dword ptr [ebp-50h] ; hdcSrc
push	dword ptr [ebp-7Ch] ; cy
push	dword ptr [ebp-80h] ; cx
push	edi		; y
push	edi		; x
push	dword ptr [esi+4] ; hdc
call	ds:BitBlt
cmp	[ebp-2Ch], edi
jz	short loc_1010AFB
push	edi
push	dword ptr [ebp-2Ch]
mov	ecx, esi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1010AFB:
push	dword ptr [ebp-3Ch]
mov	ecx, esi
call	sub_1032D5B
mov	eax, [esi]
push	1
mov	ecx, esi
call	dword ptr [eax+4]
lea	eax, [ebp-24h]
push	eax
lea	ecx, [ebp-54h]
call	sub_1032D5B
push	dword ptr [ebp-1Ch]
lea	ecx, [ebp-54h]
call	sub_1032D5B
cmp	[ebp-14h], edi
mov	[ebp-1Ch], edi
jz	short loc_1010B3C
push	edi
push	dword ptr [ebp-14h]
lea	ecx, [ebp-54h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
mov	[ebp-14h], edi

loc_1010B3C:
cmp	[ebp-28h], edi
jnz	short loc_1010B82
cmp	[ebp-30h], edi
jnz	short loc_1010B82
mov	esi, ds:GetDeviceCaps
push	0FEh		; nDenominator
push	2710h		; nNumerator
push	58h		; index
push	dword ptr [ebp-50h] ; hdc
call	esi ; GetDeviceCaps
push	eax		; nNumber
call	ds:MulDiv
push	0FEh		; nDenominator
push	2710h		; nNumerator
push	5Ah		; index
push	dword ptr [ebp-50h] ; hdc
mov	[ebp-28h], eax
call	esi ; GetDeviceCaps
push	eax		; nNumber
call	ds:MulDiv
mov	[ebp-30h], eax

loc_1010B82:
lea	ecx, [ebp-54h]
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
push	dword ptr [ebp-30h] ; hdc
lea	eax, [ebp-0B0h]
push	dword ptr [ebp-28h] ; h
push	eax		; int
push	edi		; int
push	dword ptr [ebp-18h] ; int
push	edi		; int
push	edi		; int
push	dword ptr [ebp-20h] ; hbm
call	sub_1012D33
lea	ecx, [ebp-24h]
mov	[ebp-10h], eax
mov	byte ptr [ebp-4], 3
mov	[ebp-24h], ebx
call	sub_10096BE
xor	esi, esi

loc_1010BB9:
cmp	[ebp-38h], esi
jz	loc_1010CA8
lea	ecx, [ebp-94h]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	edi, [ebp-44h]
mov	eax, [edi+40h]
push	dword ptr [eax+0Ch]
mov	byte ptr [ebp-4], 6
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
push	eax		; hdc
lea	ecx, [ebp-94h]
call	sub_1009779
test	eax, eax
jz	loc_1010C97
mov	[ebp-3Ch], esi
mov	[ebp-40h], ebx
push	dword ptr [ebp-7Ch] ; cy
mov	eax, [edi+40h]
push	dword ptr [ebp-80h] ; int
mov	byte ptr [ebp-4], 7
push	dword ptr [eax+0Ch]
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
push	eax		; int
lea	ecx, [ebp-40h]
call	sub_100AC43
test	eax, eax
jz	short loc_1010C88
lea	eax, [ebp-40h]
push	eax
lea	ecx, [ebp-94h]
call	sub_1032D5B
cmp	[ebp-18h], esi
jz	short loc_1010C3E
push	esi
push	dword ptr [ebp-18h]
lea	ecx, [ebp-94h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1010C3E:
mov	eax, [ebp-80h]
push	dword ptr [ebp-90h] ; ho
mov	[ebp-64h], eax
mov	eax, [ebp-7Ch]
mov	[ebp-60h], eax
lea	eax, [ebp-6Ch]
push	eax		; lprc
push	dword ptr [ebp-34h] ; hMem
mov	[ebp-6Ch], esi
mov	[ebp-68h], esi
call	sub_10103F3
lea	ecx, [ebp-94h]
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
push	dword ptr [ebp-30h] ; hdc
lea	eax, [ebp-38h]
push	dword ptr [ebp-28h] ; h
push	eax		; int
push	esi		; int
push	dword ptr [ebp-18h] ; int
push	esi		; int
push	esi		; int
push	dword ptr [ebp-3Ch] ; hbm
call	sub_1012D33
mov	[ebp-10h], eax

loc_1010C88:
lea	ecx, [ebp-40h]
mov	byte ptr [ebp-4], 6
mov	[ebp-40h], ebx
call	sub_10096BE

loc_1010C97:
lea	ecx, [ebp-94h]
mov	byte ptr [ebp-4], 3
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
jmp	short loc_1010CAB

loc_1010CA8:
mov	edi, [ebp-44h]

loc_1010CAB:
cmp	[ebp-10h], esi
jz	loc_1010E85
push	dword ptr [ebp-10h]
call	sub_10131F8
push	eax		; hPal
push	dword ptr [ebp-10h] ; int
mov	ecx, edi
call	sub_1019F31
mov	[ebp-38h], eax
mov	eax, [edi+40h]
push	dword ptr [eax+0Ch]
push	dword_103EF88
push	dword ptr [ebp-10h]
call	sub_10130DD
cmp	[ebp-58h], esi
mov	[ebp-34h], eax
jz	short loc_1010CF4
push	dword ptr [ebp-0A0h] ; hMem
call	ds:GlobalUnlock
jmp	short loc_1010CFC

loc_1010CF4:
push	dword ptr [ebp-10h]
call	sub_101209F

loc_1010CFC:
cmp	[ebp-34h], esi
jz	loc_1010E67
mov	eax, [edi+40h]
push	dword ptr [eax+0Ch]
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
push	eax		; hdc
lea	ecx, [ebp-54h]
call	sub_1009779
test	eax, eax
jz	loc_1010E5E
mov	eax, [ebp-80h]
mov	[ebp-64h], eax
mov	eax, [ebp-7Ch]
mov	[ebp-6Ch], esi
mov	[ebp-68h], esi
mov	[ebp-60h], eax
mov	[ebp-58h], esi
mov	[ebp-5Ch], ebx
push	dword ptr [ebp-34h]
lea	ecx, [ebp-5Ch]
mov	byte ptr [ebp-4], 8
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
lea	eax, [ebp-5Ch]
push	eax
lea	ecx, [ebp-54h]
call	sub_1032D5B
mov	[ebp-1Ch], eax
mov	eax, [edi+40h]
mov	eax, [eax+24h]
cmp	eax, esi
jz	short loc_1010D77
push	esi
push	eax
lea	ecx, [ebp-54h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [ebp-50h] ; hdc
mov	[ebp-14h], eax
call	ds:RealizePalette

loc_1010D77:
mov	eax, off_103D74C
mov	ecx, [eax+30h]
mov	eax, 26Ch
cmp	ecx, eax
jz	short loc_1010D8E
push	eax
call	sub_1015D47

loc_1010D8E:
sub	esp, 10h
mov	edi, esp
push	dword ptr [ebp-50h]
lea	esi, [ebp-6Ch]
movsd
movsd
movsd
movsd
mov	esi, [ebp-44h]
mov	ecx, esi
call	sub_1019A43
xor	edi, edi
cmp	eax, edi
jz	short loc_1010E23
mov	eax, stru_103E808.bottom
mov	ecx, stru_103E808.right
sub	eax, stru_103E808.top
sub	ecx, stru_103E808.left
cmp	[ebp-9Ch], edi
mov	[ebp-94h], edi
mov	[ebp-90h], edi
mov	[ebp-8Ch], ecx
mov	[ebp-88h], eax
jnz	short loc_1010DFD
mov	eax, [esi+54h]
mov	ecx, [esi+50h]
neg	eax
push	eax		; dy
neg	ecx
push	ecx		; dx
lea	eax, [ebp-94h]
push	eax		; lprc
call	ds:OffsetRect

loc_1010DFD:
lea	eax, [ebp-94h]
push	eax
mov	ecx, esi
call	sub_101AC0B
push	dword ptr [esi+40h]
call	sub_10127C0
mov	dword_103E7CC, edi
mov	dword ptr [ebp-98h], 1

loc_1010E23:
cmp	[ebp-14h], edi
jz	short loc_1010E37
push	edi
push	dword ptr [ebp-14h]
lea	ecx, [ebp-54h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
mov	[ebp-14h], edi

loc_1010E37:
push	dword ptr [ebp-1Ch]
lea	ecx, [ebp-54h]
call	sub_1032D5B
lea	ecx, [ebp-5Ch]
mov	[ebp-1Ch], edi
call	?Detach@CGdiObject@@QAEPAXXZ ; CGdiObject::Detach(void)
lea	ecx, [ebp-5Ch]
mov	byte ptr [ebp-4], 3
mov	[ebp-5Ch], ebx
call	sub_10096BE
xor	esi, esi

loc_1010E5E:		; ho
push	dword ptr [ebp-34h]
call	ds:DeleteObject

loc_1010E67:
mov	ecx, [ebp-38h]
cmp	ecx, esi
jz	short loc_1010E85
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_1010E75:
cmp	[ebp-1Ch], esi
jz	short loc_1010E85
push	dword ptr [ebp-1Ch]
lea	ecx, [ebp-54h]
call	sub_1032D5B

loc_1010E85:
cmp	[ebp-14h], esi
jz	short loc_1010E96
push	esi
push	dword ptr [ebp-14h]
lea	ecx, [ebp-54h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1010E96:
lea	ecx, [ebp-54h]
mov	byte ptr [ebp-4], 1
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
lea	eax, [ebp-0ACh]
push	eax		; LPSTGMEDIUM
call	ds:ReleaseStgMedium
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	ecx, [eax+4]
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
mov	eax, [ebp-98h]

loc_1010EC6:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn
sub_1010712 endp

db 5 dup(0CCh)



sub_1010EDA proc near
mov	eax, offset loc_1035D61
call	sub_1034E18
sub	esp, 50h
push	ebx
push	esi
mov	ebx, ecx
push	edi
lea	ecx, [ebp-4Ch]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	esi, offset stru_103E808
lea	edi, [ebp-3Ch]
movsd
movsd
xor	eax, eax
cmp	[ebp+8], eax
movsd
mov	[ebp-4], eax
movsd
mov	[ebp-14h], eax
jnz	short loc_1010F14

loc_1010F0D:
xor	esi, esi
jmp	loc_1011158

loc_1010F14:
push	dword ptr [ebp+8]
call	sub_101218B
push	dword ptr [ebp+8]
mov	esi, eax
mov	[ebp-10h], esi
call	sub_10121AF
mov	ecx, off_103D74C
mov	ecx, [ecx+30h]
cmp	ecx, 26Ch
mov	[ebp-18h], eax
jnz	short loc_1010F8B
cmp	dword_103E7CC, 0
jz	short loc_1010F8B
cmp	esi, dword_103E7A4
jge	short loc_1010F58
mov	ecx, [ebp-3Ch]
lea	ecx, [ecx+esi-1]
mov	[ebp-34h], ecx

loc_1010F58:
mov	ecx, cy
cmp	eax, ecx
mov	edx, [ebp-38h]
jge	short loc_1010F6C
lea	edi, [edx+eax-1]
mov	[ebp-30h], edi

loc_1010F6C:
cmp	esi, dword_103E7A4
jg	short loc_1010F78
cmp	eax, ecx
jle	short loc_1010FDC

loc_1010F78:
mov	ecx, [ebp-3Ch]
lea	ecx, [ecx+esi-1]
lea	eax, [edx+eax-1]
mov	[ebp-34h], ecx
mov	[ebp-30h], eax
jmp	short loc_1010FDC

loc_1010F8B:
push	dword ptr [ebx+40h]
mov	edi, [ebx+50h]
mov	esi, [ebx+54h]
push	eax
push	dword ptr [ebp-10h]
neg	edi
neg	esi
call	sub_10106A6
sub	eax, 6
jz	short loc_1010FAE
dec	eax
jz	short loc_1010FB2
jmp	loc_1010F0D

loc_1010FAE:
xor	esi, esi
xor	edi, edi

loc_1010FB2:
push	26Ch
call	sub_1015D47
mov	eax, [ebp-10h]
mov	[ebp-2Ch], edi
add	edi, eax
mov	eax, [ebp-18h]
mov	[ebp-28h], esi
add	esi, eax
mov	[ebp-24h], edi
mov	[ebp-20h], esi
lea	esi, [ebp-2Ch]
lea	edi, [ebp-3Ch]
movsd
movsd
movsd
movsd

loc_1010FDC:
mov	eax, [ebx+40h]
sub	esp, 10h
mov	edi, esp
push	dword ptr [eax+0Ch]
lea	esi, [ebp-3Ch]
movsd
movsd
movsd
mov	ecx, ebx
movsd
call	sub_1019A43
xor	esi, esi
mov	dword_103E7CC, esi
mov	eax, [ebx+40h]
push	dword ptr [eax+0Ch]
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
push	eax		; hdc
lea	ecx, [ebp-4Ch]
call	sub_1009779
test	eax, eax
jnz	short loc_1011026
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	loc_1011158

loc_1011026:
push	dword ptr [ebp+8]
call	sub_10131F8
push	eax		; hPal
push	dword ptr [ebp+8] ; int
mov	ecx, ebx
call	sub_1019F31
mov	[ebp-1Ch], eax
mov	eax, [ebx+40h]
push	dword ptr [eax+0Ch]
push	dword_103EF88
push	dword ptr [ebp+8]
call	sub_10130DD
push	dword ptr [ebx+40h] ; h
mov	[ebp-10h], eax
call	sub_101356F
cmp	[ebp-10h], esi
jz	loc_1011147
mov	[ebp-20h], esi
mov	dword ptr [ebp-24h], offset off_1001F9C
push	dword ptr [ebp-10h]
lea	ecx, [ebp-24h]
mov	byte ptr [ebp-4], 1
mov	[ebp+8], esi
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
lea	eax, [ebp-24h]
push	eax
lea	ecx, [ebp-4Ch]
call	sub_1032D5B
mov	[ebp-18h], eax
mov	eax, [ebx+40h]
mov	eax, [eax+24h]
cmp	eax, esi
jz	short loc_10110AF
push	esi
push	eax
lea	ecx, [ebp-4Ch]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [ebp-48h] ; hdc
mov	[ebp+8], eax
call	ds:RealizePalette

loc_10110AF:
mov	eax, [ebp-30h]
sub	eax, [ebp-38h]
mov	ecx, [ebp-34h]
sub	ecx, [ebp-3Ch]
push	eax
push	ecx
xor	edx, edx
push	esi
push	edx
lea	ecx, [ebp-5Ch]
call	sub_1010496
sub	esp, 10h
mov	edi, esp
push	dword ptr [ebp-48h]
mov	esi, eax
movsd
movsd
movsd
mov	ecx, ebx
movsd
call	sub_1019A43
test	eax, eax
jz	short loc_1011103
and	dword_103E7CC, 0
lea	eax, [ebp-3Ch]
push	eax
mov	ecx, ebx
call	sub_101AC0B
push	dword ptr [ebx+40h]
call	sub_10127C0
mov	dword ptr [ebp-14h], 1

loc_1011103:
cmp	dword ptr [ebp+8], 0
jz	short loc_1011116
push	0
push	dword ptr [ebp+8]
lea	ecx, [ebp-4Ch]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1011116:
push	dword ptr [ebp-18h]
lea	ecx, [ebp-4Ch]
call	sub_1032D5B
lea	ecx, [ebp-24h]
call	?Detach@CGdiObject@@QAEPAXXZ ; CGdiObject::Detach(void)
push	dword ptr [ebp-10h] ; ho
call	ds:DeleteObject
lea	ecx, [ebp-24h]
mov	byte ptr [ebp-4], 0
mov	dword ptr [ebp-24h], offset off_1001F9C
call	sub_10096BE
xor	esi, esi

loc_1011147:
mov	ecx, [ebp-1Ch]
cmp	ecx, esi
jz	short loc_1011155
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_1011155:
mov	esi, [ebp-14h]

loc_1011158:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-4Ch]
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	ecx, [ebp-0Ch]
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	4
sub_1010EDA endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_101117C(void *, char)
sub_101117C proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_10111A2
test	[ebp+arg_0], 1
jz	short loc_1011196
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1011196:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_101117C endp

db 5 dup(0CCh)



sub_10111A2 proc near
mov	dword ptr [ecx], offset	off_1002A88
jmp	sub_10096BE
sub_10111A2 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10111B2 proc near

plpal= LOGPALETTE ptr -428h
var_24=	dword ptr -24h
var_20=	dword ptr -20h
var_1C=	dword ptr -1Ch
var_18=	dword ptr -18h
rc= tagRECT ptr	-14h
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 428h
push	ebx
push	esi
push	edi
mov	edi, ecx
mov	esi, [edi+40h]
xor	ebx, ebx
cmp	dword_103E804, ebx
mov	[ebp+var_4], edi
jnz	short loc_10111EB
call	sub_10129FB
push	dword ptr [esi+30h] ; yBottom
lea	eax, [ebp+rc]
push	dword ptr [esi+2Ch] ; xRight
push	ebx		; yTop
push	ebx		; xLeft
push	eax		; lprc
call	ds:SetRect
jmp	short loc_1011200

loc_10111EB:
mov	esi, offset stru_103ED10
lea	edi, [ebp+rc]
movsd
movsd
movsd
movsd
dec	[ebp+rc.right]
dec	[ebp+rc.bottom]
mov	edi, [ebp+var_4]

loc_1011200:
cmp	dword_103E804, ebx
jz	short loc_1011256
push	ebx
mov	esi, offset unk_103E78C
push	esi
mov	ecx, edi
call	sub_101909A
mov	[ebp+var_4], eax
mov	eax, dword_103E7A4
mov	[ebp+var_1C], eax
mov	eax, cy
mov	[ebp+var_18], eax
lea	eax, [ebp+var_24]
push	eax
push	esi
mov	ecx, edi
mov	[ebp+var_24], ebx
mov	[ebp+var_20], ebx
call	sub_10104FC
cmp	[ebp+var_4], ebx
mov	ecx, [ebp+arg_0]
mov	[ecx], eax
jz	short loc_1011272
push	1
push	[ebp+var_4]
mov	ecx, offset unk_103E78C
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
jmp	short loc_1011272

loc_1011256:
lea	eax, [ebp+rc]
push	eax
mov	eax, [edi+40h]
push	dword ptr [eax+0Ch]
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
push	eax
mov	ecx, edi
call	sub_10104FC
mov	ecx, [ebp+arg_0]
mov	[ecx], eax

loc_1011272:
cmp	dword_103EF88, ebx
jz	short loc_10112F2
push	8		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
cmp	eax, ebx
pop	ecx
jz	short loc_1011291
mov	[eax+4], ebx
mov	dword ptr [eax], offset	off_1002A88
jmp	short loc_1011293

loc_1011291:
xor	eax, eax

loc_1011293:
cmp	eax, ebx
mov	edi, [ebp+arg_4]
mov	[edi], eax
jz	short loc_10112F2
mov	esi, ds:GetPaletteEntries
lea	eax, [ebp+plpal.palPalEntry]
push	eax		; pPalEntries
mov	eax, dword_103EF88
push	100h		; cEntries
push	ebx		; iStart
mov	[ebp+plpal.palVersion],	300h
push	dword ptr [eax+4] ; hpal
call	esi ; GetPaletteEntries
cmp	ax, bx
mov	[ebp+plpal.palNumEntries], ax
jz	short loc_10112F2
movzx	eax, ax
lea	ecx, [ebp+plpal.palPalEntry]
push	ecx		; pPalEntries
push	eax		; cEntries
mov	eax, dword_103EF88
push	ebx		; iStart
push	dword ptr [eax+4] ; hpal
call	esi ; GetPaletteEntries
mov	ecx, [edi]
lea	eax, [ebp+plpal]
push	eax		; plpal
call	sub_10104C1

loc_10112F2:
pop	edi
pop	esi
pop	ebx
leave
retn	8
sub_10111B2 endp

db 5 dup(0CCh)



sub_10112FE proc near
mov	eax, offset loc_1035D82
call	sub_1034E18
sub	esp, 0Ch
push	0E122h		; wParam
mov	[ebp-14h], ecx
call	sub_1018E89
test	eax, eax
jnz	loc_101144D
push	ebx
push	5Ch		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	[ebp-18h], eax
xor	ebx, ebx
cmp	eax, ebx
mov	[ebp-4], ebx
jz	short loc_1011341
mov	ecx, eax
call	sub_100AD13
mov	[ebp-10h], eax
jmp	short loc_1011344

loc_1011341:
mov	[ebp-10h], ebx

loc_1011344:
or	dword ptr [ebp-4], 0FFFFFFFFh
push	edi
mov	edi, [ebp-10h]
cmp	edi, ebx
jz	loc_101144B
push	esi
push	58h		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
mov	esi, eax
cmp	esi, ebx
pop	ecx
jz	loc_1011440
push	0FFFFFFFFh
push	esi
push	edi
push	dword_103ED04
call	sub_1021E84
test	eax, eax
jz	loc_1011439
mov	eax, [esi+0Ch]
mov	ecx, [ebp-14h]
mov	[esi+4], edi
lea	edi, [esi+14h]
mov	[esi], ebx
mov	[esi+0Ch], ebx
mov	[esi+10h], ebx
mov	[esi+1Ch], ebx
mov	[esi+20h], ebx
mov	[edi], ebx
lea	ebx, [esi+24h]
and	dword ptr [ebx], 0
push	ebx
push	edi
mov	[ebp-18h], eax
call	sub_10111B2
cmp	dword ptr [edi], 0
jz	loc_1011440
push	dword ptr [ebp-18h] ; hdc
call	ds:CreateCompatibleDC
test	eax, eax
mov	[esi+0Ch], eax
jz	short loc_1011440
push	dword ptr [edi]	; h
push	eax		; hdc
call	ds:SelectObject
mov	ebx, [ebx]
mov	[esi+18h], eax
xor	eax, eax
cmp	ebx, eax
jz	short loc_10113E4
push	eax		; bForceBkgd
push	dword ptr [ebx+4] ; hPal
push	dword ptr [esi+0Ch] ; hdc
call	ds:SelectPalette

loc_10113E4:
mov	[esi+28h], eax
call	sub_100C004
mov	ecx, eax
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
push	80h		; unsigned int
mov	esi, eax
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	[ebp-18h], eax
xor	edi, edi
inc	edi
test	eax, eax
mov	[ebp-4], edi
jz	short loc_101141F
push	dword ptr [ebp-10h]
mov	esi, [esi+40h]
push	esi
mov	ecx, eax
call	sub_1025209
mov	esi, eax
jmp	short loc_1011421

loc_101141F:
xor	esi, esi

loc_1011421:
or	dword ptr [ebp-4], 0FFFFFFFFh
test	esi, esi
jz	short loc_1011440
push	0
mov	ecx, esi
call	?CopyToClipboard@COleServerItem@@QAEXH@Z ; COleServerItem::CopyToClipboard(int)
mov	eax, [esi]
push	edi
mov	ecx, esi
jmp	short loc_1011447

loc_1011439:		; void *
push	esi
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1011440:
mov	ecx, [ebp-10h]
mov	eax, [ecx]
push	1

loc_1011447:
call	dword ptr [eax+4]
pop	esi

loc_101144B:
pop	edi
pop	ebx

loc_101144D:
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
leave
retn
sub_10112FE endp

db 5 dup(0CCh)

loc_101145E:
mov	eax, offset loc_1035D99
call	sub_1034E18
sub	esp, 14h
push	ebx
push	esi
push	edi
mov	[ebp-10h], esp
push	0E123h
mov	ebx, ecx
call	sub_1018E89
test	eax, eax
jnz	short loc_10114D5
xor	edi, edi
cmp	dword_103E804, edi
jz	short loc_101149A
cmp	dword_103E7CC, edi
jz	short loc_101149A
mov	esi, offset dword_103E7D8
jmp	short loc_101149C

loc_101149A:
xor	esi, esi

loc_101149C:
mov	ecx, ebx
mov	[ebp-14h], esi
call	sub_10112FE
lea	ecx, [ebp-20h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
cmp	esi, edi
mov	[ebp-4], edi
mov	byte ptr [ebp-4], 1
jz	short loc_10114BF
mov	dword ptr [esi], 1

loc_10114BF:
mov	ecx, ebx
call	sub_1019D3F
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
cmp	esi, edi
jz	short loc_10114D5
mov	[esi], edi

loc_10114D5:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn
dd 89E8458Bh, 458BE445h, 3BFF33ECh, 890274C7h
dd 2436E838h, 57570002h, 23989E8h, 0CCCCCC00h
db 3 dup(0CCh)

loc_1011507:
mov	edi, edi
push	esi
push	0E125h
mov	esi, ecx
call	sub_1018E89
test	eax, eax
jnz	short loc_101156E
push	eax
call	sub_101F443
push	1
call	sub_1013960
call	sub_10129FB
push	dword ptr [esi+40h]
call	sub_1012A88
mov	ecx, esi
call	sub_101AF7B
and	dword_103E804, 0
push	0
push	0
mov	ecx, esi
call	sub_101A394
push	dword ptr [esi+40h]
call	sub_101356F
mov	ecx, esi
call	sub_1010712
test	eax, eax
jnz	short loc_101156E
push	0FFFFFFFFh
push	10h
push	98Dh
call	?AfxMessageBox@@YGHIII@Z ; AfxMessageBox(uint,uint,uint)

loc_101156E:
pop	esi
retn
db 5 dup(0CCh)
mov	eax, [ecx]
jmp	dword ptr [eax+0CCh]
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
pop	ebp
jmp	loc_1033948
db 5 dup(0CCh)

loc_1011592:
mov	eax, offset off_1002B20
retn
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
xor	eax, eax
mov	esi, ecx
cmp	[esi+60h], eax
setz	al
push	eax
push	2D8h
mov	[esi+60h], eax
call	?CheckDlgButton@CWnd@@QAEXHI@Z ; CWnd::CheckDlgButton(int,uint)
push	dword ptr [esi+60h]
mov	ecx, esi
push	2D7h
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	ecx, eax
call	?EnableWindow@CWnd@@QAEHH@Z ; CWnd::EnableWindow(int)
push	dword ptr [esi+60h]
mov	ecx, esi
push	108h
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	ecx, eax
call	?EnableWindow@CWnd@@QAEHH@Z ; CWnd::EnableWindow(int)
push	dword ptr [esi+60h]
mov	ecx, esi
push	10Ah
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	ecx, eax
call	?EnableWindow@CWnd@@QAEHH@Z ; CWnd::EnableWindow(int)
pop	esi
retn
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
xor	eax, eax
mov	esi, ecx
cmp	[esi+64h], eax
setz	al
push	eax
push	2D7h
mov	[esi+64h], eax
call	?CheckDlgButton@CWnd@@QAEXHI@Z ; CWnd::CheckDlgButton(int,uint)
push	dword ptr [esi+64h]
mov	ecx, esi
push	108h
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	ecx, eax
call	?EnableWindow@CWnd@@QAEHH@Z ; CWnd::EnableWindow(int)
push	dword ptr [esi+64h]
mov	ecx, esi
push	10Ah
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	ecx, eax
call	?EnableWindow@CWnd@@QAEHH@Z ; CWnd::EnableWindow(int)
pop	esi
retn
db 5 dup(0CCh)

loc_101164F:		; AFX_MSGMAP const CDialog::messageMap
mov	eax, ds:?messageMap@CDialog@@1UAFX_MSGMAP@@B
retn
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+0Ch]
mov	edx, dword_103F084
push	eax
push	dword ptr [ebp+8]
mov	[eax+10h], edx
call	?OnMeasureItem@CWnd@@IAEXHPAUtagMEASUREITEMSTRUCT@@@Z ;	CWnd::OnMeasureItem(int,tagMEASUREITEMSTRUCT *)
pop	ebp
retn	8
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_101167D(LPRECT lprcDst, RECT *lprcSrc)
sub_101167D proc near

lprcSrc= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+lprcSrc]	; lprcSrc
mov	esi, ecx
push	esi		; lprcDst
call	ds:CopyRect
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_101167D endp

db 5 dup(0CCh)
mov	eax, offset loc_1035DB8
call	sub_1034E18
sub	esp, 2Ch
push	esi
mov	esi, [ebp+0Ch]
push	edi
xor	edi, edi
cmp	[esi+8], edi
mov	[ebp-10h], ecx
jl	loc_101179D
push	ebx
lea	ecx, [ebp-28h]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	ebx, offset off_1002120
mov	[ebp-4], edi
mov	[ebp-14h], edi
mov	[ebp-18h], ebx
mov	[ebp+0Ch], edi
lea	edi, [esi+1Ch]
push	edi
lea	ecx, [ebp-38h]
mov	byte ptr [ebp-4], 1
call	sub_101167D
push	dword ptr [esi+18h]
lea	ecx, [ebp-28h]
call	?Attach@CDC@@QAEHPAUHDC__@@@Z ;	CDC::Attach(HDC__ *)
mov	eax, dword_103EF88
test	eax, eax
jz	short loc_1011710
push	0
push	eax
lea	ecx, [ebp-28h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [ebp-24h]
mov	[ebp+0Ch], eax
call	ds:RealizePalette

loc_1011710:
push	dword ptr [esi+2Ch]
lea	ecx, [ebp-18h]
call	sub_100D0FB
test	byte ptr [esi+10h], 1
jz	short loc_1011749
lea	eax, [ebp-18h]
push	eax
push	edi
lea	ecx, [ebp-28h]
call	sub_100AC6F
mov	eax, dword_103F078
mov	ecx, dword_103F074
neg	eax
push	eax
neg	ecx
push	ecx
lea	eax, [ebp-38h]
push	eax
call	ds:InflateRect

loc_1011749:
lea	eax, [ebp-18h]
push	eax
push	edi
lea	ecx, [ebp-28h]
call	sub_100AC6F
lea	ecx, [ebp-18h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
test	byte ptr [esi+10h], 10h
jz	short loc_101176E
push	edi
push	dword ptr [ebp-24h]
call	ds:DrawFocusRect

loc_101176E:
cmp	dword ptr [ebp+0Ch], 0
jz	short loc_1011781
push	0
push	dword ptr [ebp+0Ch]
lea	ecx, [ebp-28h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1011781:
lea	ecx, [ebp-18h]
mov	byte ptr [ebp-4], 0
mov	[ebp-18h], ebx
call	sub_10096BE
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-28h]
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
pop	ebx

loc_101179D:
mov	ecx, [ebp-10h]
push	esi
push	dword ptr [ebp+8]
call	?OnDrawItem@CWnd@@IAEXHPAUtagDRAWITEMSTRUCT@@@Z	; CWnd::OnDrawItem(int,tagDRAWITEMSTRUCT *)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn	8
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10117BE(int, LPCWSTR lpsz)
sub_10117BE proc near

var_4= dword ptr -4
arg_0= dword ptr  8
lpsz= dword ptr	 0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
and	[ebp+var_4], 0
push	ebx
push	esi
mov	esi, [ebp+arg_0]
test	esi, esi
jz	short loc_101181C
mov	ebx, [ebp+lpsz]
test	ebx, ebx
jz	short loc_101181C
cmp	word ptr [esi],	0
jz	short loc_1011817
push	edi
mov	edi, ds:CharNextW

loc_10117E5:
xor	ecx, ecx
mov	cx, [ebx]
mov	eax, ebx
jmp	short loc_1011806

loc_10117EE:
cmp	cx, [esi]
jnz	short loc_1011800
mov	cx, [eax+2]
cmp	cx, [esi+2]
jnz	short loc_1011800
mov	[ebp+var_4], esi

loc_1011800:		; lpsz
push	eax
call	edi ; CharNextW
mov	cx, [eax]

loc_1011806:
test	cx, cx
jnz	short loc_10117EE
push	esi		; lpsz
call	edi ; CharNextW
mov	esi, eax
cmp	word ptr [esi],	0
jnz	short loc_10117E5
pop	edi

loc_1011817:
mov	eax, [ebp+var_4]
jmp	short loc_101181E

loc_101181C:
xor	eax, eax

loc_101181E:
pop	esi
pop	ebx
leave
retn	8
sub_10117BE endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1011829(LPCWSTR lpPathName)
sub_1011829 proc near

lpPathName= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+lpPathName] ; lpFileName
call	ds:GetFileAttributesW
test	al, 10h
jz	short loc_101183F
xor	eax, eax
jmp	short loc_10118B0

loc_101183F:
cmp	eax, 0FFFFFFFFh
jz	short loc_1011849
or	eax, 0FFFFFFFFh
jmp	short loc_10118B0

loc_1011849:
push	ebx
mov	ebx, ds:CreateDirectoryW
push	0		; lpSecurityAttributes
push	[ebp+lpPathName] ; lpPathName
call	ebx ; CreateDirectoryW
test	eax, eax
jz	short loc_101185F
xor	eax, eax
jmp	short loc_10118AF

loc_101185F:
push	esi
push	offset sz	; "\\/"
push	[ebp+lpPathName] ; int
call	sub_10117BE
mov	esi, eax
test	esi, esi
jnz	short loc_1011878
or	eax, 0FFFFFFFFh
jmp	short loc_10118AE

loc_1011878:
push	edi
mov	di, [esi]
push	[ebp+lpPathName] ; lpPathName
and	word ptr [esi],	0
call	sub_1011829
test	eax, eax
mov	[esi], di
jz	short loc_1011894
or	eax, 0FFFFFFFFh
jmp	short loc_10118AD

loc_1011894:
cmp	word ptr [esi+2], 0
jz	short loc_10118AB
push	0		; lpSecurityAttributes
push	[ebp+lpPathName] ; lpPathName
call	ebx ; CreateDirectoryW
neg	eax
sbb	eax, eax
neg	eax
dec	eax
jmp	short loc_10118AD

loc_10118AB:
xor	eax, eax

loc_10118AD:
pop	edi

loc_10118AE:
pop	esi

loc_10118AF:
pop	ebx

loc_10118B0:
pop	ebp
retn	4
sub_1011829 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10118B9(wchar_t *Str2)
sub_10118B9 proc near

Str2= dword ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+Str2]	; Str2
push	dword ptr [ecx]	; Str1
call	ds:wcscmp
pop	ecx
pop	ecx
pop	ebp
retn	4
sub_10118B9 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10118D4 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_4]
push	dword ptr [eax]	; Str2
mov	ecx, [ebp+arg_0]
call	sub_10118B9
neg	eax
sbb	eax, eax
neg	eax
pop	ebp
retn	8
sub_10118D4 endp

db 5 dup(0CCh)



sub_10118F5 proc near
mov	eax, offset loc_1035E15
call	sub_1034E18
sub	esp, 10h
push	ebx
push	esi
mov	ebx, ecx
push	edi
mov	[ebp-18h], ebx
call	??0CString@@QAE@XZ ; CString::CString(void)
and	dword ptr [ebp-4], 0
lea	edi, [ebx+4]
mov	ecx, edi
call	??0CString@@QAE@XZ ; CString::CString(void)
add	ebx, 8
mov	ecx, ebx
mov	byte ptr [ebp-4], 1
call	??0CString@@QAE@XZ ; CString::CString(void)
push	dword ptr [ebp+8] ; FullPath
lea	eax, [ebp-14h]
push	eax		; int
mov	byte ptr [ebp-4], 2
call	sub_100CF4B
lea	ecx, [ebp-10h]
mov	byte ptr [ebp-4], 3
call	??0CString@@QAE@XZ ; CString::CString(void)
mov	esi, 104h
push	esi
lea	ecx, [ebp-10h]
mov	byte ptr [ebp-4], 4
call	?GetBuffer@CString@@QAEPAGH@Z ;	CString::GetBuffer(int)
push	eax		; lpBuffer
push	esi		; nBufferLength
call	ds:GetTempPathW
push	0FFFFFFFFh
lea	ecx, [ebp-10h]
call	?ReleaseBuffer@CString@@QAEXH@Z	; CString::ReleaseBuffer(int)
mov	eax, [ebp-10h]
push	esi
mov	ecx, ebx
mov	[ebp-1Ch], eax
call	?GetBuffer@CString@@QAEPAGH@Z ;	CString::GetBuffer(int)
push	eax		; lpTempFileName
push	0		; uUnique
push	offset PrefixString ; "TMP"
push	dword ptr [ebp-1Ch] ; lpPathName
call	ds:GetTempFileNameW
mov	eax, [ebp-10h]
push	esi
mov	ecx, edi
mov	[ebp-1Ch], eax
call	?GetBuffer@CString@@QAEPAGH@Z ;	CString::GetBuffer(int)
push	eax		; lpTempFileName
push	0		; uUnique
push	offset PrefixString ; "TMP"
push	dword ptr [ebp-1Ch] ; lpPathName
call	ds:GetTempFileNameW
push	dword ptr [ebx]
call	?Remove@CFile@@SGXPBG@Z	; CFile::Remove(ushort const *)
push	dword ptr [edi]
call	?Remove@CFile@@SGXPBG@Z	; CFile::Remove(ushort const *)
push	dword ptr [ebp+8]
mov	ecx, [ebp-18h]
call	??4CString@@QAEABV0@PBG@Z ; CString::operator=(ushort const *)
push	dword ptr [ebx]	; FullPath
lea	eax, [ebp-1Ch]
push	eax		; int
call	sub_100CEDD
push	eax
lea	eax, [ebp-14h]
push	eax
lea	eax, [ebp+8]
push	eax
mov	byte ptr [ebp-4], 5
call	??H@YG?AVCString@@ABV0@0@Z ; operator+(CString const &,CString const &)
mov	byte ptr [ebp-4], 6
push	eax
mov	ecx, ebx
call	??4CString@@QAEABV0@ABV0@@Z ; CString::operator=(CString const &)
lea	ecx, [ebp+8]
mov	byte ptr [ebp-4], 5
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [ebp-1Ch]
mov	byte ptr [ebp-4], 4
call	??1CString@@QAE@XZ ; CString::~CString(void)
push	dword ptr [edi]	; FullPath
lea	eax, [ebp-1Ch]
push	eax		; int
call	sub_100CEDD
push	eax
lea	eax, [ebp-14h]
push	eax
lea	eax, [ebp+8]
push	eax
mov	byte ptr [ebp-4], 7
call	??H@YG?AVCString@@ABV0@0@Z ; operator+(CString const &,CString const &)
push	eax
mov	ecx, edi
mov	byte ptr [ebp-4], 8
call	??4CString@@QAEABV0@ABV0@@Z ; CString::operator=(CString const &)
lea	ecx, [ebp+8]
mov	byte ptr [ebp-4], 7
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [ebp-1Ch]
mov	byte ptr [ebp-4], 4
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [ebp-10h]
mov	byte ptr [ebp-4], 3
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [ebp-14h]
mov	byte ptr [ebp-4], 2
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
mov	eax, [ebp-18h]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	4
sub_10118F5 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1011A75 proc near

var_220= byte ptr -220h
var_210= byte ptr -210h
var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 220h
mov	eax, ___security_cookie
mov	[ebp+var_4], eax
mov	eax, ecx
mov	eax, [eax]
lea	ecx, [ebp+var_220]
push	ecx
push	eax
call	?GetStatus@CFile@@SGHPBGAAUCFileStatus@@@Z ; CFile::GetStatus(ushort const *,CFileStatus &)
test	eax, eax
jz	short loc_1011AC0
test	[ebp+var_210], 1
jz	short loc_1011AC0
push	0
push	407h
push	83Eh
mov	ecx, offset unk_103EE08
call	sub_101F370
xor	eax, eax
jmp	short loc_1011AC3

loc_1011AC0:
xor	eax, eax
inc	eax

loc_1011AC3:
mov	ecx, [ebp+var_4]
call	sub_1032F53
leave
retn
sub_1011A75 endp

db 5 dup(0CCh)



sub_1011AD2 proc near
mov	eax, offset loc_1035E34
call	sub_1034E18
sub	esp, 0Ch
mov	ecx, [ebp+8]
push	ebx
push	esi
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
mov	eax, [ebp+0Ch]
mov	eax, [eax]
mov	cx, [eax]
xor	ebx, ebx
cmp	cx, 5Ch
jz	loc_1011BB2
cmp	dword ptr [eax-8], 1
jle	short loc_1011B0E
cmp	word ptr [eax+2], 3Ah
jz	loc_1011BB2

loc_1011B0E:
push	edi
push	1		; int
push	ebx		; char *
push	ebx		; int
call	ds:_getdcwd
mov	esi, ds:lstrlenA
add	esp, 0Ch
mov	edi, eax
push	edi		; lpString
call	esi ; lstrlenA
lea	eax, [eax+eax+2]
push	eax		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
push	edi		; lpString
mov	[ebp-14h], eax
call	esi ; lstrlenA
inc	eax
push	eax		; cchWideChar
push	dword ptr [ebp-14h] ; lpWideCharStr
push	0FFFFFFFFh	; cbMultiByte
push	edi		; lpMultiByteStr
push	ebx		; dwFlags
push	ebx		; CodePage
call	ds:MultiByteToWideChar
push	dword ptr [ebp-14h]
mov	ecx, [ebp+8]
call	??4CString@@QAEABV0@PBG@Z ; CString::operator=(ushort const *)
push	dword ptr [ebp-14h] ; void *
call	??3@YAXPAX@Z	; operator delete(void *)
push	edi		; Memory
call	ds:free
pop	ecx
pop	ecx
push	1
push	5Ch
lea	ecx, [ebp-14h]
call	??0CString@@QAE@GH@Z ; CString::CString(ushort,int)
mov	ecx, [ebp+8]
push	1
lea	eax, [ebp-18h]
push	eax
mov	[ebp-4], ebx
call	?Right@CString@@QBE?AV1@H@Z ; CString::Right(int)
lea	ecx, [ebp-14h]
push	ecx
push	eax
call	sub_10118D4
lea	ecx, [ebp-18h]
mov	[ebp-0Dh], al
call	??1CString@@QAE@XZ ; CString::~CString(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-14h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
cmp	[ebp-0Dh], bl
pop	edi
jz	short loc_1011BB2
mov	ecx, [ebp+8]
push	5Ch
call	??YCString@@QAEABV0@G@Z	; CString::operator+=(ushort)

loc_1011BB2:
cmp	[ebp+10h], ebx
jz	short loc_1011BF7
mov	esi, [ebp+0Ch]
push	5Ch
mov	ecx, esi
call	?ReverseFind@CString@@QBEHG@Z ;	CString::ReverseFind(ushort)
cmp	eax, 0FFFFFFFFh
jnz	short loc_1011BCD
mov	eax, [esi]
mov	eax, [eax-8]

loc_1011BCD:
push	eax
lea	eax, [ebp+0Ch]
push	eax
mov	ecx, esi
call	?Left@CString@@QBE?AV1@H@Z ; CString::Left(int)
mov	ecx, [ebp+8]
push	eax
mov	dword ptr [ebp-4], 1
call	??YCString@@QAEABV0@ABV0@@Z ; CString::operator+=(CString const	&)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp+0Ch]
call	??1CString@@QAE@XZ ; CString::~CString(void)
jmp	short loc_1011C02

loc_1011BF7:
push	dword ptr [ebp+0Ch]
mov	ecx, [ebp+8]
call	??YCString@@QAEABV0@ABV0@@Z ; CString::operator+=(CString const	&)

loc_1011C02:
mov	ecx, [ebp-0Ch]
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	0Ch
sub_1011AD2 endp

db 5 dup(0CCh)



sub_1011C17 proc near
mov	eax, offset loc_1035E53
call	sub_1034E18
push	ebx
mov	ebx, [ebp+8]
mov	edx, [ebx]
push	esi
mov	esi, [ebp+0Ch]
mov	eax, [esi+8]
push	edi
mov	edi, [ebp+14h]
push	edi
push	dword ptr [ebp+10h]
mov	ecx, ebx
push	eax
call	dword ptr [edx+28h]
test	eax, eax
mov	[ebp+14h], eax
jnz	loc_1011CFB
mov	eax, [edi+8]
cmp	eax, 3
jz	short loc_1011C58
cmp	eax, 5
jnz	loc_1011CFB

loc_1011C58:
push	dword ptr [esi]
lea	ecx, [ebp+8]
call	??0CString@@QAE@PBG@Z ;	CString::CString(ushort	const *)
and	dword ptr [ebp-4], 0
lea	ecx, [ebp+0Ch]
call	??0CString@@QAE@XZ ; CString::CString(void)
push	1
lea	eax, [ebp+8]
push	eax
lea	eax, [ebp+0Ch]
push	eax
mov	byte ptr [ebp-4], 1
call	sub_1011AD2
lea	ecx, [ebp+0Ch]
call	?MakeUpper@CString@@QAEXXZ ; CString::MakeUpper(void)
neg	dword ptr [edi+8]
lea	ecx, [ebp+8]
call	?MakeUpper@CString@@QAEXXZ ; CString::MakeUpper(void)
push	dword ptr [ebp+8]
push	dword ptr [ebp+0Ch] ; arglist
push	24h		; int
push	0E000h		; __int16
push	0A316h		; __int16
call	sub_100C0DF
add	esp, 14h
cmp	eax, 6
jnz	short loc_1011CE3
mov	eax, [ebp+0Ch]
push	dword ptr [eax-8]
lea	ecx, [ebp+0Ch]
call	?GetBuffer@CString@@QAEPAGH@Z ;	CString::GetBuffer(int)
push	eax		; lpPathName
call	sub_1011829
push	0FFFFFFFFh
lea	ecx, [ebp+0Ch]
call	?ReleaseBuffer@CString@@QAEXH@Z	; CString::ReleaseBuffer(int)
mov	esi, [esi+8]
mov	eax, [ebx]
push	edi
push	dword ptr [ebp+10h]
mov	ecx, ebx
push	esi
call	dword ptr [eax+28h]
mov	[ebp+14h], eax

loc_1011CE3:
lea	ecx, [ebp+0Ch]
mov	byte ptr [ebp-4], 0
call	??1CString@@QAE@XZ ; CString::~CString(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp+8]
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1011CFB:
mov	ecx, [ebp-0Ch]
mov	eax, [ebp+14h]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	10h
sub_1011C17 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1011D14 proc near

var_220= byte ptr -220h
var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 220h
mov	eax, ___security_cookie
mov	[ebp+var_4], eax
mov	eax, [ebp+arg_0]
lea	ecx, [ebp+var_220]
push	ecx
push	eax
call	?GetStatus@CFile@@SGHPBGAAUCFileStatus@@@Z ; CFile::GetStatus(ushort const *,CFileStatus &)
mov	ecx, [ebp+var_4]
neg	eax
sbb	eax, eax
neg	eax
call	sub_1032F53
leave
retn	4
sub_1011D14 endp

db 5 dup(0CCh)



sub_1011D4E proc near
mov	eax, offset loc_1035E6A
call	sub_1034E18
sub	esp, 10h
push	ebx
push	esi
push	edi
lea	ecx, [ebp-1Ch]
mov	[ebp-10h], esp
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
and	dword ptr [ebp-4], 0
push	dword ptr [ebp+0Ch]
mov	byte ptr [ebp-4], 1
call	sub_1011D14
test	eax, eax
jz	short loc_1011D85
push	dword ptr [ebp+0Ch]
call	?Remove@CFile@@SGXPBG@Z	; CFile::Remove(ushort const *)

loc_1011D85:
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
call	?Rename@CFile@@SGXPBG0@Z ; CFile::Rename(ushort	const *,ushort const *)
xor	esi, esi
inc	esi
jmp	short loc_1011DB7
mov	eax, [ebp-14h]
push	0
mov	[ebp-18h], eax
push	dword ptr [eax+8]
mov	ecx, offset unk_103EE08
push	0A313h
call	sub_101F370
mov	eax, offset loc_1011DB5
retn

loc_1011DB5:
xor	esi, esi

loc_1011DB7:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
mov	ecx, [ebp-0Ch]
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	8
sub_1011D4E endp

align 8



sub_1011DD8 proc near
mov	eax, offset loc_1035E97
call	sub_1034E18
push	ecx
push	ebx
push	esi
mov	ebx, ecx
push	edi
mov	[ebp-10h], ebx
lea	edi, [ebx+8]
push	dword ptr [edi]
mov	dword ptr [ebp-4], 2
call	sub_1011D14
test	eax, eax
jz	short loc_1011E07
push	dword ptr [edi]
call	?Remove@CFile@@SGXPBG@Z	; CFile::Remove(ushort const *)

loc_1011E07:
lea	esi, [ebx+4]
push	dword ptr [esi]
call	sub_1011D14
test	eax, eax
jz	short loc_1011E1C
push	dword ptr [esi]
call	?Remove@CFile@@SGXPBG@Z	; CFile::Remove(ushort const *)

loc_1011E1C:
mov	ecx, edi
mov	byte ptr [ebp-4], 1
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, esi
mov	byte ptr [ebp-4], 0
call	??1CString@@QAE@XZ ; CString::~CString(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, ebx
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_1011DD8 endp

db 5 dup(0CCh)



sub_1011E51 proc near
mov	edi, edi
push	esi
push	edi
mov	esi, ecx
push	dword ptr [esi]
call	sub_1011D14
test	eax, eax
lea	edi, [esi+4]
jz	short loc_1011E79
mov	eax, [edi]
mov	ecx, [esi]
push	eax
push	ecx
call	sub_1011D4E
test	eax, eax
jnz	short loc_1011E80
push	dword ptr [esi+8]
jmp	short loc_1011EA6

loc_1011E79:
mov	ecx, edi
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)

loc_1011E80:
mov	eax, [esi]
mov	ecx, [esi+8]
push	eax
push	ecx
call	sub_1011D4E
test	eax, eax
mov	edi, [edi]
jnz	short loc_1011EAF
cmp	[edi-8], eax
jz	short loc_1011EAB
push	dword ptr [esi]
push	edi
call	sub_1011D4E
test	eax, eax
jz	short loc_1011EAB
push	dword ptr [esi+8]

loc_1011EA6:		; CFile::Remove(ushort const *)
call	?Remove@CFile@@SGXPBG@Z

loc_1011EAB:
xor	eax, eax
jmp	short loc_1011EBE

loc_1011EAF:
cmp	dword ptr [edi-8], 0
jz	short loc_1011EBB
push	edi
call	?Remove@CFile@@SGXPBG@Z	; CFile::Remove(ushort const *)

loc_1011EBB:
xor	eax, eax
inc	eax

loc_1011EBE:
pop	edi
pop	esi
retn
sub_1011E51 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1011EC6 proc near

ho= dword ptr -8
hPal= dword ptr	-4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
and	[ebp+hPal], 0
push	esi
mov	esi, [ebp+arg_0]
or	dword ptr [esi+48h], 0FFFFFFFFh
push	color		; color
call	ds:CreateSolidBrush
test	eax, eax
mov	[ebp+ho], eax
jz	short loc_1011F66
mov	eax, [esi+24h]
test	eax, eax
push	ebx
mov	ebx, ds:SelectPalette
jz	short loc_1011F10
push	0		; bForceBkgd
push	dword ptr [eax+4] ; hPal
push	dword ptr [esi+0Ch] ; hdc
call	ebx ; SelectPalette
push	dword ptr [esi+0Ch] ; hdc
mov	[ebp+hPal], eax
call	ds:RealizePalette

loc_1011F10:
push	edi
push	[ebp+ho]	; h
mov	edi, ds:SelectObject
push	dword ptr [esi+0Ch] ; hdc
call	edi ; SelectObject
push	0F00021h	; rop
push	dword ptr [esi+30h] ; h
mov	[ebp+arg_0], eax
push	dword ptr [esi+2Ch] ; w
push	0		; y
push	0		; x
push	dword ptr [esi+0Ch] ; hdc
call	ds:PatBlt
cmp	[ebp+arg_0], 0
jz	short loc_1011F48
push	[ebp+arg_0]	; h
push	dword ptr [esi+0Ch] ; hdc
call	edi ; SelectObject

loc_1011F48:		; ho
push	[ebp+ho]
call	ds:DeleteObject
cmp	[ebp+hPal], 0
pop	edi
jz	short loc_1011F62
push	0		; bForceBkgd
push	[ebp+hPal]	; hPal
push	dword ptr [esi+0Ch] ; hdc
call	ebx ; SelectPalette

loc_1011F62:
xor	eax, eax
inc	eax
pop	ebx

loc_1011F66:
pop	esi
leave
retn	4
sub_1011EC6 endp

align 10h


; Attributes: bp-based frame

; int __stdcall	sub_1011F70(void *)
sub_1011F70 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_0]
push	edi
xor	edi, edi
cmp	esi, edi
jz	loc_101201D
cmp	esi, dword_103E804
jnz	short loc_1011F92
mov	dword_103E804, edi

loc_1011F92:
mov	ecx, [esi+0Ch]
cmp	ecx, edi
jz	short loc_1011FC3
mov	eax, [esi+18h]
cmp	eax, edi
jz	short loc_1011FA8
push	eax		; h
push	ecx		; hdc
call	ds:SelectObject

loc_1011FA8:
mov	eax, [esi+28h]
cmp	eax, edi
jz	short loc_1011FBA
push	edi		; bForceBkgd
push	eax		; hPal
push	dword ptr [esi+0Ch] ; hdc
call	ds:SelectPalette

loc_1011FBA:		; hdc
push	dword ptr [esi+0Ch]
call	ds:DeleteDC

loc_1011FC3:
mov	eax, [esi+14h]
cmp	eax, edi
jz	short loc_1011FD1
push	eax		; ho
call	ds:DeleteObject

loc_1011FD1:
mov	eax, dword_103EF88
cmp	eax, [esi+24h]
jnz	short loc_1011FE1
mov	dword_103EF88, edi

loc_1011FE1:
mov	ecx, [esi+24h]
cmp	ecx, edi
jz	short loc_1011FEF
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_1011FEF:
mov	eax, [esi+4]
cmp	[eax+4], esi
jnz	short loc_1011FFA
mov	[eax+4], edi

loc_1011FFA:
cmp	dword_103E878, esi
jnz	short loc_1012008
mov	dword_103E878, edi

loc_1012008:
cmp	dword_103E848, esi
jnz	short loc_1012016
mov	dword_103E848, edi

loc_1012016:		; void *
push	esi
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_101201D:
pop	edi
pop	esi
pop	ebp
retn	4
sub_1011F70 endp

align 8



sub_1012028 proc near
mov	eax, hdc
push	esi
xor	esi, esi
cmp	eax, esi
jz	short loc_1012041
push	eax		; hdc
call	ds:DeleteDC
mov	hdc, esi

loc_1012041:
mov	eax, ho
cmp	eax, esi
jz	short loc_1012057
push	eax		; ho
call	ds:DeleteObject
mov	ho, esi

loc_1012057:
mov	dword_103E848, esi
mov	dword_103E850, esi
mov	dword_103E84C, esi
pop	esi
retn
sub_1012028 endp

align 10h


; Attributes: bp-based frame

sub_1012070 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	ecx, [eax]
mov	edx, [eax+8]
cmp	ecx, edx
jle	short loc_1012086
mov	[eax], edx
mov	[eax+8], ecx

loc_1012086:
mov	ecx, [eax+4]
mov	edx, [eax+0Ch]
cmp	ecx, edx
jle	short loc_1012096
mov	[eax+4], edx
mov	[eax+0Ch], ecx

loc_1012096:
pop	ebp
retn	4
sub_1012070 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101209F proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	[ebp+arg_0], 0
jz	short loc_10120B1
pop	ebp
jmp	ds:GlobalFree

loc_10120B1:
pop	ebp
retn	4
sub_101209F endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10120BA proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
cmp	dword ptr [eax], 28h
jb	short loc_10120CD
movzx	eax, word ptr [eax+0Eh]
jmp	short loc_10120D1

loc_10120CD:
movzx	eax, word ptr [eax+0Ah]

loc_10120D1:
pop	ebp
retn	4
sub_10120BA endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10120DA proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ebp+arg_0]
cmp	dword ptr [ecx], 28h
jb	short loc_10120F4
cmp	[ebp+arg_4], 0
jz	short loc_10120F4
mov	eax, [ecx+20h]
test	eax, eax
jnz	short loc_101211F

loc_10120F4:
push	ecx
call	sub_10120BA
movzx	eax, ax
dec	eax
jz	short loc_101211B
sub	eax, 3
jz	short loc_1012115
sub	eax, 4
jz	short loc_101210F
xor	ax, ax
jmp	short loc_101211F

loc_101210F:
mov	ax, 100h
jmp	short loc_101211F

loc_1012115:
mov	ax, 10h
jmp	short loc_101211F

loc_101211B:
mov	ax, 2

loc_101211F:
pop	ebp
retn	8
sub_10120DA endp

align 8


; Attributes: bp-based frame

sub_1012128 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	edx, [eax]
cmp	edx, 28h
jb	short loc_1012147
cmp	dword ptr [eax+10h], 3
jnz	short loc_1012147
cmp	edx, 6Ch
sbb	eax, eax
and	eax, 0Ch
jmp	short loc_101215A

loc_1012147:
push	1
push	eax
call	sub_10120DA
cmp	edx, 28h
sbb	ecx, ecx
add	ecx, 4
imul	eax, ecx

loc_101215A:
pop	ebp
retn	4
sub_1012128 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1012163 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_0]
push	esi
call	sub_1012128
movzx	eax, ax
add	eax, [esi]
cmp	[ebp+arg_4], eax
jbe	short loc_101217F
mov	eax, [ebp+arg_4]

loc_101217F:
add	eax, esi
pop	esi
pop	ebp
retn	8
sub_1012163 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101218B proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
cmp	dword ptr [eax], 28h
jb	short loc_101219D
mov	eax, [eax+4]
jmp	short loc_10121A1

loc_101219D:
movzx	eax, word ptr [eax+4]

loc_10121A1:
cdq
xor	eax, edx
sub	eax, edx
pop	ebp
retn	4
sub_101218B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10121AF proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
cmp	dword ptr [eax], 28h
jb	short loc_10121C1
mov	eax, [eax+8]
jmp	short loc_10121C5

loc_10121C1:
movzx	eax, word ptr [eax+6]

loc_10121C5:
cdq
xor	eax, edx
sub	eax, edx
pop	ebp
retn	4
sub_10121AF endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10121D3(HDC	hdc, int)
sub_10121D3 proc near

hdc= dword ptr	8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	edi
mov	edi, [ebp+arg_4]
cmp	dword ptr [edi], 28h
jb	short loc_10121F1
movzx	eax, word ptr [edi+0Eh]
movzx	ecx, word ptr [edi+0Ch]
imul	eax, ecx
cmp	eax, 4
jz	short loc_10121F5

loc_10121F1:
xor	eax, eax
jmp	short loc_1012250

loc_10121F5:
push	ebx
push	esi
mov	esi, ds:GetDeviceCaps
push	0Eh		; index
push	[ebp+hdc]	; hdc
call	esi ; GetDeviceCaps
push	0Ch		; index
push	[ebp+hdc]	; hdc
mov	ebx, eax
call	esi ; GetDeviceCaps
imul	ebx, eax
cmp	ebx, 4
ja	short loc_1012255
push	1
push	edi
lea	esi, [edi+28h]
call	sub_10120DA
movzx	edi, ax
jmp	short loc_1012247

loc_1012225:
movzx	eax, byte ptr [esi+2]
xor	ebx, ebx
mov	bh, [esi]
mov	bl, [esi+1]
shl	ebx, 8
or	ebx, eax
push	ebx		; color
push	[ebp+hdc]	; hdc
call	ds:GetNearestColor
cmp	eax, ebx
jnz	short loc_1012255
dec	edi
add	esi, 4

loc_1012247:
test	edi, edi
jg	short loc_1012225
xor	eax, eax
inc	eax

loc_101224E:
pop	esi
pop	ebx

loc_1012250:
pop	edi
pop	ebp
retn	8

loc_1012255:
xor	eax, eax
jmp	short loc_101224E
sub_10121D3 endp

db 5 dup(0CCh)



sub_101225E proc near
mov	eax, offset loc_1035EAE
call	sub_1034E18
sub	esp, 24h
push	ebx
push	esi
push	edi
mov	edi, [ebp+8]
xor	esi, esi
cmp	edi, esi
jz	loc_1012374
cmp	[ebp+10h], esi
jz	loc_1012374
push	dword ptr [ebp+0Ch]
push	edi
call	sub_1012163
push	esi
lea	ecx, [ebp-30h]
mov	[ebp+8], eax
call	??0CClientDC@@QAE@PAVCWnd@@@Z ;	CClientDC::CClientDC(CWnd *)
push	edi		; int
push	dword ptr [ebp-2Ch] ; hdc
call	sub_10121D3
test	eax, eax
jz	short loc_10122CC
push	esi		; iUsage
push	edi		; pbmi
push	dword ptr [ebp+8] ; pjBits
push	4		; flInit
push	edi		; pbmih
push	dword ptr [ebp-2Ch] ; hdc
call	ds:CreateDIBitmap
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-30h]
mov	esi, eax
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)
mov	eax, esi
jmp	loc_1012376

loc_10122CC:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-30h]
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)
cmp	dword ptr [edi], 28h
mov	ebx, [edi+10h]
jb	short loc_10122E3
mov	[edi+10h], esi

loc_10122E3:		; offset
push	esi
push	esi		; hSection
lea	eax, [ebp-1Ch]
push	eax		; ppvBits
push	esi		; usage
push	edi		; lpbmi
push	dword ptr [ebp+10h] ; hdc
call	ds:CreateDIBSection
cmp	dword ptr [edi], 28h
mov	[ebp-14h], eax
jb	short loc_10122FF
mov	[edi+10h], ebx

loc_10122FF:
cmp	eax, esi
jz	short loc_1012374
mov	ebx, ds:SelectObject
push	eax		; h
push	dword ptr [ebp+10h] ; hdc
call	ebx ; SelectObject
cmp	eax, esi
mov	[ebp-18h], eax
jz	short loc_101236B
push	edi
call	sub_101218B
push	edi
mov	[ebp-10h], eax
call	sub_10121AF
push	0FF0062h	; rop
push	eax		; h
push	dword ptr [ebp-10h] ; w
mov	[ebp+0Ch], eax
push	esi		; y
push	esi		; x
push	dword ptr [ebp+10h] ; hdc
call	ds:PatBlt
mov	eax, [ebp+0Ch]
push	esi		; ColorUse
push	edi		; lpbmi
push	dword ptr [ebp+8] ; lpvBits
cdq
xor	eax, edx
sub	eax, edx
push	eax		; cLines
push	esi		; StartScan
push	esi		; ySrc
push	esi		; xSrc
push	dword ptr [ebp+0Ch] ; h
push	dword ptr [ebp-10h] ; w
push	esi		; yDest
push	esi		; xDest
push	dword ptr [ebp+10h] ; hdc
call	ds:SetDIBitsToDevice
push	dword ptr [ebp-18h] ; h
push	dword ptr [ebp+10h] ; hdc
call	ebx ; SelectObject
mov	eax, [ebp-14h]
jmp	short loc_1012376

loc_101236B:		; ho
push	dword ptr [ebp-14h]
call	ds:DeleteObject

loc_1012374:
xor	eax, eax

loc_1012376:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	0Ch
sub_101225E endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101238C proc near

var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	edi
mov	di, [eax]
cmp	di, 100h
jnb	short loc_10123FF
and	[ebp+var_4], 0
test	di, di
push	esi
jbe	short loc_10123D4

loc_10123A7:
movzx	edx, word ptr [ebp+var_4]
lea	esi, [ecx+edx*4]
movzx	edx, byte ptr [esi]
cmp	edx, [ebp+arg_0]
jnz	short loc_10123C8
movzx	edx, byte ptr [esi+1]
cmp	edx, [ebp+arg_4]
jnz	short loc_10123C8
movzx	edx, byte ptr [esi+2]
cmp	edx, [ebp+arg_8]
jz	short loc_10123FE

loc_10123C8:
inc	[ebp+var_4]
mov	dx, word ptr [ebp+var_4]
cmp	dx, [eax]
jb	short loc_10123A7

loc_10123D4:
push	ebx
mov	bl, byte ptr [ebp+arg_0]
movzx	edx, di
mov	[ecx+edx*4], bl
movzx	edx, word ptr [eax]
mov	bl, byte ptr [ebp+arg_4]
mov	[ecx+edx*4+1], bl
movzx	edx, word ptr [eax]
mov	bl, byte ptr [ebp+arg_8]
mov	[ecx+edx*4+2], bl
movzx	edx, word ptr [eax]
mov	byte ptr [ecx+edx*4+3],	0
inc	word ptr [eax]
pop	ebx

loc_10123FE:
pop	esi

loc_10123FF:
pop	edi
leave
retn	0Ch
sub_101238C endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1012409 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_0]
mov	eax, [esi+2Ch]
cmp	dword_103E844, eax
push	edi
jl	short loc_1012441
mov	ecx, dword_103E840
cmp	ecx, [esi+30h]
jl	short loc_1012441
movzx	ecx, byte_103E83D
cmp	ecx, [esi+34h]
jnz	short loc_1012441
movzx	ecx, byte_103E83C
cmp	ecx, [esi+38h]
jz	short loc_101248A

loc_1012441:		; cy
push	dword ptr [esi+30h]
push	eax		; cx
push	dword ptr [esi+0Ch] ; hdc
call	ds:CreateCompatibleBitmap
mov	edi, eax
test	edi, edi
jz	short loc_101248D
mov	eax, h
test	eax, eax
jz	short loc_1012464
push	eax		; ho
call	ds:DeleteObject

loc_1012464:
mov	h, edi
mov	eax, [esi+2Ch]
mov	dword_103E844, eax
mov	eax, [esi+30h]
mov	dword_103E840, eax
mov	al, [esi+34h]
mov	byte_103E83D, al
mov	al, [esi+38h]
mov	byte_103E83C, al

loc_101248A:
xor	eax, eax
inc	eax

loc_101248D:
pop	edi
pop	esi
pop	ebp
retn	4
sub_1012409 endp

align 8



sub_1012498 proc near
mov	eax, h
push	ebx
xor	ebx, ebx
cmp	eax, ebx
push	esi
mov	esi, ds:DeleteObject
jz	short loc_10124AE
push	eax		; ho
call	esi ; DeleteObject

loc_10124AE:
mov	eax, dword_103E884
cmp	eax, ebx
jz	short loc_10124BA
push	eax		; ho
call	esi ; DeleteObject

loc_10124BA:
pop	esi
mov	h, ebx
mov	dword_103E884, ebx
mov	dword_103E844, ebx
mov	dword_103E840, ebx
mov	byte_103E83D, bl
mov	byte_103E83C, bl
pop	ebx
retn
sub_1012498 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10124E6 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	dword_103E85C, eax
pop	ebp
retn	4
sub_10124E6 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10124FC proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ecx]
cmp	eax, [ebp+arg_0]
jnz	short loc_1012514
mov	eax, [ecx+4]
cmp	eax, [ebp+arg_4]
jnz	short loc_1012514
xor	eax, eax
jmp	short loc_1012517

loc_1012514:
xor	eax, eax
inc	eax

loc_1012517:
pop	ebp
retn	8
sub_10124FC endp

align 10h


; Attributes: bp-based frame

sub_1012520 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	edx, [eax]
mov	ecx, [ebp+arg_4]
mov	[ecx+44h], edx
mov	[eax], ecx
pop	ebp
retn	8
sub_1012520 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101253B proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	edx, [eax+2Ch]
mov	ecx, [ebp+arg_4]
mov	[ecx], edx
mov	eax, [eax+30h]
mov	[ecx+4], eax
pop	ebp
retn	8
sub_101253B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_101255A(HDC	hdcDest, int xDest, int	yDest, int wDest, int hDest, HDC hdcSrc, int xSrc, int ySrc, int wSrc, int hSrc)
sub_101255A proc near

hdcDest= dword ptr  8
xDest= dword ptr  0Ch
yDest= dword ptr  10h
wDest= dword ptr  14h
hDest= dword ptr  18h
hdcSrc=	dword ptr  1Ch
xSrc= dword ptr	 20h
ySrc= dword ptr	 24h
wSrc= dword ptr	 28h
hSrc= dword ptr	 2Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
mov	ebx, [ebp+wSrc]
push	esi
mov	esi, [ebp+wDest]
cmp	esi, ebx
push	edi
mov	edi, [ebp+hDest]
jnz	short loc_1012595
cmp	edi, [ebp+hSrc]
jnz	short loc_1012595
push	0CC0020h	; rop
push	[ebp+ySrc]	; y1
push	[ebp+xSrc]	; x1
push	[ebp+hdcSrc]	; hdcSrc
push	edi		; cy
push	esi		; cx
push	[ebp+yDest]	; y
push	[ebp+xDest]	; x
push	[ebp+hdcDest]	; hdc
call	ds:BitBlt
jmp	short loc_10125ED

loc_1012595:
cmp	dword_103D6F0, 0
jnz	short loc_10125CA
test	esi, esi
jl	short loc_10125CA
test	edi, edi
jl	short loc_10125CA
test	ebx, ebx
jl	short loc_10125CA
cmp	[ebp+hSrc], 0
jl	short loc_10125CA
push	42h		; rop
push	edi		; h
push	esi		; w
push	[ebp+yDest]	; y
push	[ebp+xDest]	; x
push	[ebp+hdcDest]	; hdc
call	ds:PatBlt
push	0EE0086h
jmp	short loc_10125CF

loc_10125CA:		; rop
push	0CC0020h

loc_10125CF:		; hSrc
push	[ebp+hSrc]
push	ebx		; wSrc
push	[ebp+ySrc]	; ySrc
push	[ebp+xSrc]	; xSrc
push	[ebp+hdcSrc]	; hdcSrc
push	edi		; hDest
push	esi		; wDest
push	[ebp+yDest]	; yDest
push	[ebp+xDest]	; xDest
push	[ebp+hdcDest]	; hdcDest
call	ds:StretchBlt

loc_10125ED:
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	28h
sub_101255A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10125F9 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	ecx, [ebp+arg_4]
mov	edx, [eax]
push	esi
mov	esi, [ecx]
cmp	edx, esi
jle	short loc_1012611
mov	[eax], esi
mov	[ecx], edx

loc_1012611:
mov	edx, [eax+4]
mov	esi, [ecx+4]
cmp	edx, esi
jle	short loc_1012621
mov	[eax+4], esi
mov	[ecx+4], edx

loc_1012621:
pop	esi
pop	ebp
retn	8
sub_10125F9 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101262B proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	dword_103F034, 0
jz	short loc_1012690
mov	ecx, dword_103F038
push	ebx
push	esi
mov	esi, [ebp+arg_0]
mov	ebx, [esi]
mov	eax, ebx
cdq
idiv	ecx
push	edi
mov	eax, ecx
mov	edi, edx
cdq
sub	eax, edx
sar	eax, 1
cmp	edi, eax
jg	short loc_101265D
neg	edi
jmp	short loc_1012661

loc_101265D:
sub	ecx, edi
mov	edi, ecx

loc_1012661:
add	ebx, edi
mov	edi, [esi+4]
mov	eax, edi
cdq
mov	[esi], ebx
mov	ecx, dword_103F038
idiv	ecx
mov	eax, ecx
mov	ebx, edx
cdq
sub	eax, edx
sar	eax, 1
cmp	ebx, eax
jg	short loc_1012684
neg	ebx
jmp	short loc_1012688

loc_1012684:
sub	ecx, ebx
mov	ebx, ecx

loc_1012688:
add	edi, ebx
mov	[esi+4], edi
pop	edi
pop	esi
pop	ebx

loc_1012690:
pop	ebp
retn	4
sub_101262B endp

db 5 dup(0CCh)



sub_1012699 proc near
cmp	dword_103E894, 0
jz	short loc_10126AC
mov	ecx, offset unk_103E890
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)

loc_10126AC:
cmp	dword_103E8A4, 0
jz	short loc_10126BF
mov	ecx, offset hbm
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)

loc_10126BF:
cmp	dword_103E89C, 0
jz	short loc_10126D2
mov	ecx, offset unk_103E898
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)

loc_10126D2:
cmp	dword_103E8AC, 0
jz	short locret_10126E5
mov	ecx, offset stru_103E8A8
jmp	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)

locret_10126E5:
retn
sub_1012699 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_10126EB(LPRECT lprc, int, int)
sub_10126EB proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_4]
neg	eax
push	eax		; dy
mov	eax, [ebp+arg_0]
neg	eax
push	eax		; dx
push	ecx		; lprc
call	ds:OffsetRect
pop	ebp
retn	8
sub_10126EB endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_101270C(int	x, int y)
sub_101270C proc near

x= dword ptr  8
y= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [ecx+4] ; hrgn
call	ds:OffsetRgn
pop	ebp
retn	8
sub_101270C endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1012729(POINT *apt,	int cpt)
sub_1012729 proc near

apt= dword ptr	8
cpt= dword ptr	0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+cpt]	; cpt
push	[ebp+apt]	; apt
push	dword ptr [ecx+4] ; hdc
call	ds:Polygon
pop	ebp
retn	8
sub_1012729 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1012746(int	xDest, int yDest, int wDest, int hDest,	HDC hdcSrc, int	xSrc, int ySrc,	int wSrc, int hSrc, DWORD rop)
sub_1012746 proc near

xDest= dword ptr  8
yDest= dword ptr  0Ch
wDest= dword ptr  10h
hDest= dword ptr  14h
hdcSrc=	dword ptr  18h
xSrc= dword ptr	 1Ch
ySrc= dword ptr	 20h
wSrc= dword ptr	 24h
hSrc= dword ptr	 28h
rop= dword ptr	2Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+hdcSrc]
test	eax, eax
jz	short loc_1012755
mov	eax, [eax+4]

loc_1012755:		; rop
push	[ebp+rop]
push	[ebp+hSrc]	; hSrc
push	[ebp+wSrc]	; wSrc
push	[ebp+ySrc]	; ySrc
push	[ebp+xSrc]	; xSrc
push	eax		; hdcSrc
push	[ebp+hDest]	; hDest
push	[ebp+wDest]	; wDest
push	[ebp+yDest]	; yDest
push	[ebp+xDest]	; xDest
push	dword ptr [ecx+4] ; hdcDest
call	ds:StretchBlt
pop	ebp
retn	28h
sub_1012746 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1012783(int	x, int y)
sub_1012783 proc near

x= dword ptr  8
y= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [ecx+4] ; hdc
call	ds:GetPixel
pop	ebp
retn	8
sub_1012783 endp

align 10h


; Attributes: bp-based frame

; int __stdcall	sub_10127A0(POINT Point)
sub_10127A0 proc near

Point= POINT ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+Point.y]
push	[ebp+Point.x]	; Point
call	ds:WindowFromPoint
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
pop	ebp
retn	8
sub_10127A0 endp

align 10h


; Attributes: bp-based frame

sub_10127C0 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
call	sub_100C004
mov	edx, [eax]
mov	ecx, eax
call	dword ptr [edx+0C4h]
xor	edi, edi
mov	esi, eax
inc	edi
test	esi, esi
jz	short loc_10127FA
mov	eax, [esi]
push	edi
mov	ecx, esi
call	dword ptr [eax+64h]
cmp	dword_103EF40, 0
jz	short loc_10127FA
push	edi
push	0
mov	ecx, esi
call	?NotifyAllItems@COleServerDoc@@IAEXW4OLE_NOTIFICATION@@K@Z ; COleServerDoc::NotifyAllItems(OLE_NOTIFICATION,ulong)

loc_10127FA:
mov	eax, [ebp+arg_0]
mov	ecx, [eax+4]
push	edi
mov	[eax+8], edi
call	sub_100A3E3
pop	edi
pop	esi
pop	ebp
retn	4
sub_10127C0 endp

db 5 dup(0CCh)



sub_1012814 proc near
push	dword_103E878	; void *
call	sub_1011F70
call	sub_1012498
jmp	sub_1012028
sub_1012814 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_101282E(int, RECT *lprcSrc2)
sub_101282E proc near

rc= tagRECT ptr	-24h
var_14=	byte ptr -14h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
lprcSrc2= dword	ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 24h
push	ebx
push	esi
mov	esi, [ebp+arg_0]
push	edi
push	dword ptr [esi+30h] ; yBottom
xor	edi, edi
push	dword ptr [esi+2Ch] ; xRight
lea	eax, [ebp+rc]
push	edi		; yTop
push	edi		; xLeft
push	eax		; lprc
call	ds:SetRect
cmp	[ebp+lprcSrc2],	edi
jz	short loc_1012863
push	[ebp+lprcSrc2]	; lprcSrc2
lea	eax, [ebp+rc]
push	eax		; lprcSrc1
push	eax		; lprcDst
call	ds:IntersectRect

loc_1012863:
mov	ebx, [esi]
cmp	ebx, edi
jz	short loc_10128C4
mov	esi, [ebp+lprcSrc2]
neg	esi
sbb	esi, esi
lea	eax, [ebp+var_14]
and	esi, eax
mov	[ebp+arg_0], esi

loc_1012878:
cmp	[ebp+lprcSrc2],	edi
mov	eax, [ebx+44h]
mov	[ebp+var_4], eax
jz	short loc_10128B0
lea	esi, [ebp+rc]
lea	edi, [ebp+var_14]
movsd
movsd
movsd
lea	eax, [ebp+var_14]
push	eax
mov	ecx, ebx
movsd
call	sub_10194E8
cmp	dword_103EF3C, 0
jz	short loc_10128AD
cmp	dword ptr [ebx+48h], 3
jle	short loc_10128AD
inc	[ebp+var_C]
inc	[ebp+var_8]

loc_10128AD:
mov	esi, [ebp+arg_0]

loc_10128B0:
xor	edi, edi
push	edi		; bErase
push	esi		; lpRect
push	dword ptr [ebx+20h] ; hWnd
call	ds:InvalidateRect
mov	ebx, [ebp+var_4]
cmp	ebx, edi
jnz	short loc_1012878

loc_10128C4:
pop	edi
pop	esi
pop	ebx
leave
retn	8
sub_101282E endp

align 10h


; Attributes: bp-based frame

; int __stdcall	sub_10128D0(int, HPALETTE hPal)
sub_10128D0 proc near

rc= tagRECT ptr	-10h
arg_0= dword ptr  8
hPal= dword ptr	 0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	ebx
xor	ebx, ebx
cmp	hdc, ebx
jz	loc_1012979
push	esi
mov	esi, [ebp+hPal]
cmp	esi, ebx
push	edi
mov	edi, [ebp+arg_0]
jnz	short loc_1012908
push	dword ptr [edi+30h] ; yBottom
lea	eax, [ebp+rc]
push	dword ptr [edi+2Ch] ; xRight
push	ebx		; yTop
push	ebx		; xLeft
push	eax		; lprc
call	ds:SetRect
lea	esi, [ebp+rc]

loc_1012908:
mov	eax, dword_103EF88
mov	[ebp+hPal], ebx
cmp	eax, ebx
mov	ebx, ds:SelectPalette
jz	short loc_101293B
mov	eax, [eax+4]
test	eax, eax
jz	short loc_101293B
push	0		; bForceBkgd
push	eax		; hPal
push	hdc		; hdc
call	ebx ; SelectPalette
push	hdc		; hdc
mov	[ebp+hPal], eax
call	ds:RealizePalette

loc_101293B:
mov	eax, [esi+4]
mov	ecx, [esi]
mov	edx, [esi+0Ch]
push	0CC0020h	; rop
push	eax		; y1
push	ecx		; x1
push	dword ptr [edi+0Ch] ; hdcSrc
sub	edx, eax
push	edx		; cy
mov	edx, [esi+8]
sub	edx, ecx
push	edx		; cx
push	eax		; y
push	ecx		; x
push	hdc		; hdc
call	ds:BitBlt
cmp	[ebp+hPal], 0
pop	edi
pop	esi
jz	short loc_1012979
push	0		; bForceBkgd
push	[ebp+hPal]	; hPal
push	hdc		; hdc
call	ebx ; SelectPalette

loc_1012979:
pop	ebx
leave
retn	8
sub_10128D0 endp

db 5 dup(0CCh)



sub_1012983 proc near
mov	eax, offset loc_1035EC5
call	sub_1034E18
sub	esp, 14h
push	0
lea	ecx, [ebp-20h]
call	??0CWindowDC@@QAE@PAVCWnd@@@Z ;	CWindowDC::CWindowDC(CWnd *)
and	dword ptr [ebp-4], 0
push	1
push	dword ptr [ebp+8]
lea	ecx, [ebp-20h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [ebp-1Ch] ; hdc
call	ds:RealizePalette
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-20h]
call	??1CWindowDC@@UAE@XZ ; CWindowDC::~CWindowDC(void)
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
leave
retn	4
sub_1012983 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10129D3(int, LOGPALETTE *plpal)
sub_10129D3 proc near

arg_0= dword ptr  8
plpal= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+plpal]	; plpal
mov	ecx, [ebp+arg_0]
call	sub_10104C1
test	eax, eax
jz	short loc_10129F2
push	[ebp+arg_0]
call	sub_1012983
xor	eax, eax
inc	eax

loc_10129F2:
pop	ebp
retn	8
sub_10129D3 endp

db 5 dup(0CCh)



sub_10129FB proc near
cmp	dword_103E8FC, 0
jz	short locret_1012A82
mov	ecx, dword_103ED00
and	dword_103E8FC, 0
test	ecx, ecx
jz	short locret_1012A82
push	esi
mov	esi, [ecx+40h]
test	esi, esi
jz	short loc_1012A81
push	edi
push	0		; bForceBkgd
push	hdc		; hdc
call	sub_1018C4D
mov	ecx, stru_103ED10.left
mov	edx, stru_103ED10.bottom
push	0CC0020h	; rop
mov	edi, eax
mov	eax, stru_103ED10.top
push	eax		; y1
push	ecx		; x1
push	hdc		; hdcSrc
sub	edx, eax
push	edx		; cy
mov	edx, stru_103ED10.right
sub	edx, ecx
push	edx		; cx
push	eax		; y
push	ecx		; x
push	dword ptr [esi+0Ch] ; hdc
call	ds:BitBlt
test	edi, edi
jz	short loc_1012A75
push	0		; bForceBkgd
push	edi		; hPal
push	hdc		; hdc
call	ds:SelectPalette

loc_1012A75:		; lprcSrc2
push	offset stru_103ED10
push	esi		; int
call	sub_101282E
pop	edi

loc_1012A81:
pop	esi

locret_1012A82:
retn
sub_10129FB endp

align 8


; Attributes: bp-based frame

; int __stdcall	sub_1012A88(HPALETTE hPal)
sub_1012A88 proc near

hPal= dword ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, dword_103E850
push	ebx
push	esi
mov	esi, [ebp+hPal]
xor	ebx, ebx
cmp	eax, [esi+2Ch]
jl	short loc_1012AA8
mov	eax, dword_103E84C
cmp	eax, [esi+30h]
jge	short loc_1012B0E

loc_1012AA8:
call	sub_10129FB
cmp	hdc, ebx
jnz	short loc_1012AC7
push	dword ptr [esi+0Ch] ; hdc
call	ds:CreateCompatibleDC
cmp	eax, ebx
mov	hdc, eax
jz	short loc_1012ADA

loc_1012AC7:		; cy
push	dword ptr [esi+30h]
push	dword ptr [esi+2Ch] ; cx
push	dword ptr [esi+0Ch] ; hdc
call	ds:CreateCompatibleBitmap
cmp	eax, ebx
jnz	short loc_1012AE1

loc_1012ADA:
xor	eax, eax
jmp	loc_1012B87

loc_1012AE1:		; h
push	eax
push	hdc		; hdc
mov	ho, eax
call	ds:SelectObject
cmp	eax, ebx
jz	short loc_1012AFE
push	eax		; ho
call	ds:DeleteObject

loc_1012AFE:
mov	eax, [esi+2Ch]
mov	dword_103E850, eax
mov	eax, [esi+30h]
mov	dword_103E84C, eax

loc_1012B0E:
cmp	dword_103E848, esi
jz	short loc_1012B7E
push	edi
call	sub_10129FB
mov	eax, dword_103EF88
cmp	eax, ebx
mov	edi, ds:SelectPalette
mov	[ebp+hPal], ebx
jz	short loc_1012B4E
mov	eax, [eax+4]
cmp	eax, ebx
jz	short loc_1012B4E
push	ebx		; bForceBkgd
push	eax		; hPal
push	hdc		; hdc
call	edi ; SelectPalette
push	hdc		; hdc
mov	[ebp+hPal], eax
call	ds:RealizePalette

loc_1012B4E:		; rop
push	0CC0020h
push	ebx		; y1
push	ebx		; x1
push	dword ptr [esi+0Ch] ; hdcSrc
push	dword ptr [esi+30h] ; cy
push	dword ptr [esi+2Ch] ; cx
push	ebx		; y
push	ebx		; x
push	hdc		; hdc
call	ds:BitBlt
cmp	[ebp+hPal], ebx
jz	short loc_1012B7D
push	ebx		; bForceBkgd
push	[ebp+hPal]	; hPal
push	hdc		; hdc
call	edi ; SelectPalette

loc_1012B7D:
pop	edi

loc_1012B7E:
xor	eax, eax
mov	dword_103E848, esi
inc	eax

loc_1012B87:
pop	esi
pop	ebx
pop	ebp
retn	4
sub_1012A88 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1012B92 proc near

var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	edi
push	8		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
test	eax, eax
pop	ecx
jz	short loc_1012BB3
and	dword ptr [eax+4], 0
mov	dword ptr [eax], offset	off_1002A88
mov	edi, eax
jmp	short loc_1012BB5

loc_1012BB3:
xor	edi, edi

loc_1012BB5:
test	edi, edi
mov	[ebp+var_4], edi
jz	loc_1012C47
push	ebx
mov	ebx, [ebp+arg_4]
push	esi
lea	eax, ds:8[ebx*4]
push	eax		; uBytes
push	0		; uFlags
call	ds:LocalAlloc
mov	esi, eax
test	esi, esi
jz	short loc_1012C2C
test	ebx, ebx
mov	word ptr [esi],	300h
mov	[esi+2], bx
jle	short loc_1012BFF
mov	ecx, [ebp+arg_0]
lea	eax, [esi+7]

loc_1012BEE:
mov	edx, [ecx]
mov	[eax-3], edx
mov	byte ptr [eax],	0
add	ecx, 4
add	eax, 4
dec	ebx
jnz	short loc_1012BEE

loc_1012BFF:		; plpal
push	esi
push	edi		; int
call	sub_10129D3
test	eax, eax
jnz	short loc_1012C23
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
mov	eax, [edi]
push	1
mov	ecx, edi
call	dword ptr [eax+4]
and	[ebp+var_4], 0

loc_1012C23:		; hMem
push	esi
call	ds:LocalFree
jmp	short loc_1012C45

loc_1012C2C:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
mov	eax, [edi]
push	1
mov	ecx, edi
call	dword ptr [eax+4]
and	[ebp+var_4], 0

loc_1012C45:
pop	esi
pop	ebx

loc_1012C47:
mov	eax, [ebp+var_4]
pop	edi
leave
retn	8
sub_1012B92 endp

db 5 dup(0CCh)



sub_1012C54 proc near
push	10h
push	offset unk_103D6B0
call	sub_1012B92
retn
sub_1012C54 endp

db 5 dup(0CCh)



sub_1012C66 proc near
push	2
push	offset unk_103D6A8
call	sub_1012B92
retn
sub_1012C66 endp

align 8



sub_1012C78 proc near
push	1Ch
push	offset unk_103D2A0
call	sub_1012B92
retn
sub_1012C78 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1012C8A(HDC	hdc)
sub_1012C8A proc near

plpal= LOGPALETTE ptr -404h
hdc= dword ptr	8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 404h
push	ebx
push	esi
push	edi
push	8		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
xor	edi, edi
cmp	eax, edi
pop	ecx
jz	short loc_1012CB3
mov	[eax+4], edi
mov	dword ptr [eax], offset	off_1002A88
mov	ebx, eax
jmp	short loc_1012CB5

loc_1012CB3:
xor	ebx, ebx

loc_1012CB5:
lea	eax, [ebp+plpal.palPalEntry]
push	eax		; prgbq
push	100h		; cEntries
push	edi		; iStart
push	[ebp+hdc]	; hdc
call	ds:GetDIBColorTable
mov	esi, eax
cmp	esi, edi
jz	short loc_1012D16
xor	edx, edx
inc	edx
cmp	esi, edx
jl	short loc_1012CF6

loc_1012CD8:
xor	eax, eax
lea	ecx, [ebp+edx*4+plpal]
mov	ah, [ecx]
movzx	edi, byte ptr [ecx+2]
mov	al, [ecx+1]
shl	eax, 8
or	eax, edi
inc	edx
cmp	edx, esi
mov	[ecx], eax
jle	short loc_1012CD8

loc_1012CF6:
movzx	eax, si
shl	eax, 10h
or	eax, 300h
mov	dword ptr [ebp+plpal.palVersion], eax
lea	eax, [ebp+plpal]
push	eax		; plpal
push	ebx		; int
call	sub_10129D3
jmp	short loc_1012D25

loc_1012D16:		; hdc
push	edi
call	ds:CreateHalftonePalette
push	eax
mov	ecx, ebx
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)

loc_1012D25:
pop	edi
pop	esi
mov	eax, ebx
pop	ebx
leave
retn	4
sub_1012C8A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1012D33(HANDLE hbm,	int, int, int, int, int, HGDIOBJ h, HDC	hdc)
sub_1012D33 proc near

var_4C=	dword ptr -4Ch
var_48=	dword ptr -48h
var_44=	dword ptr -44h
var_40=	word ptr -40h
var_3E=	word ptr -3Eh
var_3C=	dword ptr -3Ch
var_38=	dword ptr -38h
var_34=	dword ptr -34h
var_30=	dword ptr -30h
var_2C=	dword ptr -2Ch
var_28=	dword ptr -28h
pv= byte ptr -24h
var_20=	dword ptr -20h
var_1C=	dword ptr -1Ch
var_14=	word ptr -14h
var_12=	dword ptr -12h
var_C= dword ptr -0Ch
hMem= dword ptr	-8
hPal= dword ptr	-4
hbm= dword ptr	8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h
arg_10=	dword ptr  18h
arg_14=	dword ptr  1Ch
h= dword ptr  20h
hdc= dword ptr	24h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 4Ch
push	ebx
xor	ebx, ebx
cmp	[ebp+hbm], ebx
jnz	short loc_1012D4A
xor	eax, eax
jmp	loc_10130D3

loc_1012D4A:
mov	eax, [ebp+arg_C]
cmp	eax, ebx
jnz	short loc_1012D56
mov	[ebp+hPal], ebx
jmp	short loc_1012D5C

loc_1012D56:
mov	eax, [eax+4]
mov	[ebp+hPal], eax

loc_1012D5C:
cmp	dword_103EF58, ebx
jz	short loc_1012D74
cmp	[ebp+hPal], ebx
jnz	short loc_1012D74
push	0Fh		; i
call	ds:GetStockObject
mov	[ebp+hPal], eax

loc_1012D74:
lea	eax, [ebp+pv]
push	eax		; pv
push	18h		; c
push	[ebp+hbm]	; h
call	ds:GetObjectW
mov	eax, [ebp+arg_8]
cmp	ax, bx
jnz	short loc_1012D92
mov	eax, [ebp+var_12]
imul	eax, [ebp-14h]

loc_1012D92:
push	esi
xor	esi, esi
inc	esi
cmp	ax, si
ja	short loc_1012DA0
mov	[ebp+arg_8], esi
jmp	short loc_1012DBF

loc_1012DA0:
push	4
pop	ecx
cmp	ax, cx
ja	short loc_1012DAD
mov	[ebp+arg_8], ecx
jmp	short loc_1012DBF

loc_1012DAD:
mov	cx, 8
cmp	cx, ax
sbb	eax, eax
and	eax, 10h
add	eax, 8
mov	[ebp+arg_8], eax

loc_1012DBF:
mov	eax, [ebp+var_20]
mov	[ebp+var_48], eax
mov	eax, [ebp+var_1C]
mov	[ebp+var_44], eax
mov	ax, word ptr [ebp+arg_8]
mov	[ebp+var_3E], ax
mov	eax, [ebp+arg_4]
mov	[ebp+var_3C], eax
mov	eax, [ebp+h]
mov	[ebp+var_34], eax
mov	eax, [ebp+hdc]
mov	[ebp+var_30], eax
push	edi
lea	eax, [ebp+var_4C]
push	eax
mov	[ebp+var_4C], 28h
mov	[ebp+var_40], si
mov	[ebp+var_38], ebx
mov	[ebp+var_2C], ebx
mov	[ebp+var_28], ebx
call	sub_1012128
mov	ecx, [ebp+arg_14]
movzx	eax, ax
add	eax, 28h
push	eax		; dwBytes
push	40h		; uFlags
mov	[ebp+var_C], eax
mov	[ecx], eax
call	ds:GlobalAlloc
mov	edi, eax
cmp	edi, ebx
mov	[ebp+hMem], edi
jnz	short loc_1012E33
push	esi
mov	ecx, offset unk_103EE08
call	sub_101F3A4
jmp	loc_10130CF

loc_1012E33:
push	0Ah
pop	ecx
lea	esi, [ebp+var_4C]
rep movsd
movzx	eax, word ptr [ebp+var_12]
push	ebx		; lpBits
push	eax		; nBitCount
movzx	eax, [ebp+var_14]
push	eax		; nPlanes
push	2		; nHeight
push	2		; nWidth
call	ds:CreateBitmap
push	ebx		; hdc
mov	edi, eax
call	ds:CreateCompatibleDC
cmp	edi, ebx
mov	esi, eax
mov	[ebp+hdc], esi
jz	loc_10130C3
cmp	esi, ebx
push	edi		; h
jz	loc_10130BD
push	esi		; hdc
mov	[ebp+arg_C], ebx
call	ds:SelectObject
cmp	[ebp+hPal], ebx
mov	[ebp+h], eax
jz	short loc_1012E96
push	ebx		; bForceBkgd
push	[ebp+hPal]	; hPal
push	esi		; hdc
call	ds:SelectPalette
push	esi		; hdc
mov	[ebp+arg_C], eax
call	ds:RealizePalette

loc_1012E96:
movzx	eax, word ptr [ebp+var_44]
push	ebx		; usage
push	[ebp+hMem]	; lpbmi
push	ebx		; lpvBits
push	eax		; cLines
push	ebx		; start
push	[ebp+hbm]	; hbm
push	esi		; hdc
call	ds:GetDIBits
mov	esi, [ebp+hMem]
push	0Ah
pop	ecx
lea	edi, [ebp+var_4C]
rep movsd
mov	esi, [ebp+var_38]
cmp	esi, ebx
jnz	short loc_1012EE4
movzx	esi, word ptr [ebp+arg_8]
imul	esi, [ebp+var_48]
add	esi, 1Fh
shr	esi, 5
imul	esi, [ebp+var_44]
shl	esi, 2
cmp	[ebp+arg_4], ebx
mov	[ebp+var_38], esi
jz	short loc_1012EE4
lea	eax, [esi+esi*2]
mov	esi, eax
shr	esi, 1
mov	[ebp+var_38], esi

loc_1012EE4:
lea	eax, [ebp+var_4C]
push	eax
call	sub_1012128
mov	ecx, [ebp+var_4C]
movzx	eax, ax
add	eax, esi
mov	esi, [ebp+arg_14]
add	ecx, eax
cmp	[ebp+arg_10], ebx
mov	[esi], ecx
jz	short loc_1012F16
mov	eax, [ebp+var_48]
add	eax, 1Fh
cdq
push	20h
pop	edi
idiv	edi
imul	eax, [ebp+var_44]
lea	eax, [ecx+eax*4]
mov	[esi], eax

loc_1012F16:		; dwBytes
push	dword ptr [esi]
push	40h		; uFlags
call	ds:GlobalAlloc
mov	ebx, eax
xor	esi, esi
cmp	ebx, esi
jnz	short loc_1012F6E
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
push	[ebp+hMem]	; hMem
call	ds:GlobalFree
cmp	[ebp+h], esi
jz	short loc_1012F55
push	[ebp+h]		; h
push	[ebp+hdc]	; hdc
call	ds:SelectObject
push	eax		; ho
call	ds:DeleteObject

loc_1012F55:
cmp	[ebp+arg_C], esi
jz	short loc_1012F67
push	esi		; bForceBkgd
push	[ebp+arg_C]	; hPal
push	[ebp+hdc]	; hdc
call	ds:SelectPalette

loc_1012F67:
xor	ebx, ebx
jmp	loc_10130B0

loc_1012F6E:
mov	ecx, [ebp+var_C]
mov	esi, [ebp+hMem]
push	[ebp+hMem]	; hMem
mov	eax, ecx
shr	ecx, 2
mov	edi, ebx
rep movsd
mov	ecx, eax
and	ecx, 3
rep movsb
call	ds:GlobalFree
push	ebx
call	sub_1012128
movzx	edi, ax
add	edi, [ebx]
mov	eax, [ebx+14h]
xor	ecx, ecx
add	edi, ebx
cmp	[ebp+arg_10], ecx
mov	[ebp+arg_4], eax
jz	loc_1013039
movzx	eax, word ptr [ebp+arg_8]
imul	eax, [ebp+var_48]
push	20h
pop	esi
add	eax, 1Fh
cdq
idiv	esi
push	ecx		; usage
push	ebx		; lpbmi
mov	[ebx+14h], ecx
mov	esi, eax
imul	esi, [ebp+var_44]
mov	ax, [ebx+0Eh]
shl	esi, 2
mov	word ptr [ebp+arg_8], ax
movzx	eax, word ptr [ebp+var_44]
add	edi, esi
push	edi		; lpvBits
push	eax		; cLines
push	ecx		; start
push	[ebp+arg_10]	; hbm
mov	word ptr [ebx+0Eh], 1
push	[ebp+hdc]	; hdc
call	ds:GetDIBits
test	eax, eax
jnz	short loc_1013027
push	ebx		; hMem
call	ds:GlobalFree
xor	ebx, ebx
cmp	[ebp+h], ebx
jz	short loc_1013012
push	[ebp+h]		; h
push	[ebp+hdc]	; hdc
call	ds:SelectObject
push	eax		; ho
call	ds:DeleteObject

loc_1013012:
cmp	[ebp+arg_C], ebx
jz	loc_10130B0
push	ebx
push	[ebp+arg_C]
push	[ebp+hdc]
jmp	loc_10130AA

loc_1013027:
mov	eax, [ebx+14h]
add	[ebp+arg_4], eax
mov	ax, word ptr [ebp+arg_8]
sub	edi, esi
mov	[ebx+0Eh], ax
xor	ecx, ecx

loc_1013039:
movzx	eax, word ptr [ebp+var_44]
mov	esi, [ebp+hdc]
push	ecx		; usage
push	ebx		; lpbmi
push	edi		; lpvBits
push	eax		; cLines
push	ecx		; start
push	[ebp+hbm]	; hbm
push	esi		; hdc
call	ds:GetDIBits
test	eax, eax
jnz	short loc_101307A
push	ebx		; hMem
call	ds:GlobalFree
xor	ebx, ebx
cmp	[ebp+h], ebx
jz	short loc_1013072
push	[ebp+h]		; h
push	esi		; hdc
call	ds:SelectObject
push	eax		; ho
call	ds:DeleteObject

loc_1013072:
cmp	[ebp+arg_C], ebx
jz	short loc_10130B0
push	ebx
jmp	short loc_10130A6

loc_101307A:
mov	eax, [ebp+arg_4]
xor	edi, edi
cmp	[ebp+arg_10], edi
mov	[ebx+14h], eax
jz	short loc_101308A
shl	dword ptr [ebx+8], 1

loc_101308A:
cmp	[ebp+h], edi
jz	short loc_10130A0
push	[ebp+h]		; h
push	esi		; hdc
call	ds:SelectObject
push	eax		; ho
call	ds:DeleteObject

loc_10130A0:
cmp	[ebp+arg_C], edi
jz	short loc_10130B0
push	edi		; bForceBkgd

loc_10130A6:		; hPal
push	[ebp+arg_C]
push	esi		; hdc

loc_10130AA:
call	ds:SelectPalette

loc_10130B0:		; hdc
push	[ebp+hdc]
call	ds:DeleteDC
mov	eax, ebx
jmp	short loc_10130D1

loc_10130BD:
call	ds:DeleteObject

loc_10130C3:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB

loc_10130CF:
xor	eax, eax

loc_10130D1:
pop	edi
pop	esi

loc_10130D3:
pop	ebx
leave
retn	20h
sub_1012D33 endp

db 5 dup(0CCh)



sub_10130DD proc near
mov	eax, offset loc_1035EE4
call	sub_1034E18
sub	esp, 20h
push	ebx
xor	ebx, ebx
cmp	[ebp+8], ebx
jz	loc_10131E2
cmp	[ebp+10h], ebx
jz	loc_10131E2
push	esi
push	edi
push	ebx
push	dword ptr [ebp+8]
call	sub_1012163
mov	esi, offset off_1001F9C
mov	[ebp-14h], eax
xor	edi, edi
mov	[ebp-10h], ebx
mov	[ebp-18h], ebx
mov	[ebp-1Ch], esi
lea	ecx, [ebp-2Ch]
mov	[ebp-4], ebx
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
push	dword ptr [ebp+10h]
lea	ecx, [ebp-2Ch]
mov	byte ptr [ebp-4], 1
call	?Attach@CDC@@QAEHPAUHDC__@@@Z ;	CDC::Attach(HDC__ *)
push	2		; cy
push	2		; int
lea	eax, [ebp-2Ch]
push	eax		; int
lea	ecx, [ebp-1Ch]
call	sub_100AC43
test	eax, eax
jz	short loc_101315A
lea	eax, [ebp-1Ch]
push	eax
lea	ecx, [ebp-2Ch]
call	sub_1032D5B
mov	[ebp-10h], eax

loc_101315A:
cmp	[ebp+0Ch], ebx
jz	short loc_1013176
push	ebx
push	dword ptr [ebp+0Ch]
lea	ecx, [ebp-2Ch]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [ebp-28h] ; hdc
mov	edi, eax
call	ds:RealizePalette

loc_1013176:		; iUsage
push	ebx
push	dword ptr [ebp+8] ; pbmi
push	dword ptr [ebp-14h] ; pjBits
push	4		; flInit
push	dword ptr [ebp+8] ; pbmih
push	dword ptr [ebp-28h] ; hdc
call	ds:CreateDIBitmap
cmp	edi, ebx
mov	[ebp+8], eax
jz	short loc_101319C
push	ebx
push	edi
lea	ecx, [ebp-2Ch]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_101319C:
cmp	[ebp-10h], ebx
jz	short loc_10131AC
push	dword ptr [ebp-10h]
lea	ecx, [ebp-2Ch]
call	sub_1032D5B

loc_10131AC:
cmp	[ebp-18h], ebx
jz	short loc_10131B9
lea	ecx, [ebp-1Ch]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)

loc_10131B9:
lea	ecx, [ebp-2Ch]
call	?Detach@CDC@@QAEPAUHDC__@@XZ ; CDC::Detach(void)
lea	ecx, [ebp-2Ch]
mov	[ebp-4], bl
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-1Ch]
mov	[ebp-1Ch], esi
call	sub_10096BE
mov	eax, [ebp+8]
pop	edi
pop	esi
jmp	short loc_10131E4

loc_10131E2:
xor	eax, eax

loc_10131E4:
mov	ecx, [ebp-0Ch]
pop	ebx
mov	large fs:0, ecx
leave
retn	0Ch
sub_10130DD endp

align 8


; Attributes: bp-based frame

sub_10131F8 proc near

var_10=	dword ptr -10h
plpal= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
and	[ebp+var_8], 0
push	esi
mov	esi, [ebp+arg_0]
test	esi, esi
jnz	short loc_1013213
xor	eax, eax
jmp	loc_10133BA

loc_1013213:
push	ebx
xor	edx, edx
inc	edx
push	edx
push	esi
call	sub_10120DA
cmp	dword ptr [esi], 28h
movzx	ebx, ax
mov	[ebp+var_4], ebx
sbb	eax, eax
inc	eax
test	ebx, ebx
mov	[ebp+var_10], eax
jnz	short loc_101324D
cmp	dword_103EF58, ebx
jnz	short loc_1013240
xor	eax, eax
jmp	loc_10133B9

loc_1013240:
mov	[ebp+var_4], 100h
mov	ebx, [ebp+var_4]
mov	[ebp+var_8], edx

loc_101324D:
lea	eax, ds:4[ebx*4]
push	edi
push	eax		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
mov	edi, eax
test	edi, edi
pop	ecx
mov	[ebp+plpal], edi
jnz	short loc_1013278
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
xor	eax, eax
jmp	loc_10133B8

loc_1013278:
cmp	[ebp+var_8], 0
jz	loc_1013329
and	[ebp+arg_0], 0
lea	ecx, [edi+4]
xor	esi, esi

loc_101328B:
movzx	eax, byte_103D714[esi]
push	eax
push	eax
push	eax
lea	eax, [ebp+arg_0]
call	sub_101238C
inc	esi
cmp	esi, 10h
jb	short loc_101328B
xor	ebx, ebx

loc_10132A5:
xor	edi, edi

loc_10132A7:
xor	esi, esi

loc_10132A9:
movzx	eax, byte_103D714[esi]
push	eax
movzx	eax, byte_103D714[edi]
push	eax
movzx	eax, byte_103D714[ebx]
push	eax
lea	eax, [ebp+arg_0]
call	sub_101238C
add	esi, 3
cmp	esi, 10h
jb	short loc_10132A9
add	edi, 3
cmp	edi, 10h
jb	short loc_10132A7
add	ebx, 3
cmp	ebx, 10h
jb	short loc_10132A5
xor	edi, edi
xor	esi, esi

loc_10132E5:
movzx	eax, byte_103D714[esi]
push	edi
push	edi
push	eax
lea	eax, [ebp+arg_0]
call	sub_101238C
movzx	eax, byte_103D714[esi]
push	edi
push	eax
push	edi
lea	eax, [ebp+arg_0]
call	sub_101238C
movzx	eax, byte_103D714[esi]
push	eax
push	edi
push	edi
lea	eax, [ebp+arg_0]
call	sub_101238C
inc	esi
cmp	esi, 10h
jb	short loc_10132E5
mov	edi, [ebp+plpal]
mov	ebx, [ebp+var_4]
jmp	short loc_1013370

loc_1013329:
test	ebx, ebx
jle	short loc_1013370
lea	ecx, [esi+0Dh]
lea	eax, [edi+5]
add	esi, 29h
mov	[ebp+arg_0], ebx

loc_1013339:
cmp	[ebp+var_10], 0
jz	short loc_101334E
mov	dl, [esi+1]
mov	[eax-1], dl
mov	dl, [esi]
mov	[eax], dl
mov	dl, [esi-1]
jmp	short loc_101335B

loc_101334E:
mov	dl, [ecx+1]
mov	[eax-1], dl
mov	dl, [ecx]
mov	[eax], dl
mov	dl, [ecx-1]

loc_101335B:
mov	[eax+1], dl
mov	byte ptr [eax+2], 0
add	ecx, 3
add	esi, 4
add	eax, 4
dec	[ebp+arg_0]
jnz	short loc_1013339

loc_1013370:		; unsigned int
push	8
mov	word ptr [edi],	300h
mov	[edi+2], bx
call	??2@YAPAXI@Z	; operator new(uint)
test	eax, eax
pop	ecx
jz	short loc_1013393
and	dword ptr [eax+4], 0
mov	dword ptr [eax], offset	off_1002A88
mov	esi, eax
jmp	short loc_1013395

loc_1013393:
xor	esi, esi

loc_1013395:
test	esi, esi
jz	short loc_10133AD
push	edi		; plpal
push	esi		; int
call	sub_10129D3
test	eax, eax
jnz	short loc_10133AF
mov	eax, [esi]
push	1
mov	ecx, esi
call	dword ptr [eax+4]

loc_10133AD:
xor	esi, esi

loc_10133AF:		; void *
push	edi
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx
mov	eax, esi

loc_10133B8:
pop	edi

loc_10133B9:
pop	ebx

loc_10133BA:
pop	esi
leave
retn	4
sub_10131F8 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10133C4 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
push	edi
push	[ebp+arg_0]
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
push	10h		; nIndex
mov	edi, eax
call	sub_100D149
push	eax
mov	ecx, edi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	esi, [ebp+arg_4]
mov	ecx, [esi+8]
mov	ebx, ds:PatBlt
push	0F00021h	; rop
mov	[ebp+arg_0], eax
mov	eax, [esi]
push	1		; h
sub	ecx, eax
dec	ecx
push	ecx		; w
push	dword ptr [esi+4] ; y
push	eax		; x
push	dword ptr [edi+4] ; hdc
call	ebx ; PatBlt
mov	eax, [esi+4]
mov	ecx, [esi+0Ch]
sub	ecx, eax
push	0F00021h	; rop
dec	ecx
dec	ecx
push	ecx		; h
push	1		; w
inc	eax
push	eax		; y
push	dword ptr [esi]	; x
push	dword ptr [edi+4] ; hdc
call	ebx ; PatBlt
push	14h		; nIndex
call	sub_100D149
push	eax
mov	ecx, edi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	eax, [esi]
mov	ecx, [esi+8]
push	0F00021h	; rop
sub	ecx, eax
push	1		; h
dec	ecx
push	ecx		; w
mov	ecx, [esi+0Ch]
dec	ecx
push	ecx		; y
inc	eax
push	eax		; x
push	dword ptr [edi+4] ; hdc
call	ebx ; PatBlt
mov	eax, [esi+4]
mov	ecx, [esi+0Ch]
sub	ecx, eax
push	0F00021h	; rop
dec	ecx
push	ecx		; h
push	1		; w
inc	eax
push	eax		; y
mov	eax, [esi+8]
dec	eax
push	eax		; x
push	dword ptr [edi+4] ; hdc
call	ebx ; PatBlt
push	[ebp+arg_0]
mov	ecx, edi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	8
sub_10133C4 endp

db 5 dup(0CCh)



sub_1013483 proc near
mov	eax, offset loc_1035EFC
call	sub_1034E18
sub	esp, 1Ch
push	ebx
xor	ebx, ebx
cmp	[ebp+18h], ebx
push	esi
jz	short loc_101349E
mov	esi, [ebp+18h]
jmp	short loc_10134C1

loc_101349E:		; unsigned int
push	10h
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	[ebp-10h], eax
cmp	eax, ebx
mov	[ebp-4], ebx
jz	short loc_10134B9
mov	ecx, eax
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
jmp	short loc_10134BB

loc_10134B9:
xor	eax, eax

loc_10134BB:
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	esi, eax

loc_10134C1:
cmp	[ebp+18h], ebx
jnz	short loc_10134D0
push	dword ptr [ebp+8] ; hdc
mov	ecx, esi
call	sub_1009779

loc_10134D0:
push	edi
mov	edi, [ebp+0Ch]
push	edi
mov	ecx, esi
call	sub_1032D5B
mov	[ebp+0Ch], eax
lea	eax, [ebp-28h]
push	eax		; pv
push	18h		; c
push	dword ptr [edi+4] ; h
call	ds:GetObjectW
push	dword ptr [ebp+14h] ; rop
mov	eax, [ebp+10h]
cmp	eax, ebx
push	ebx		; y1
push	ebx		; x1
push	esi		; hdcSrc
push	dword ptr [ebp-20h] ; cy
push	dword ptr [ebp-24h] ; int
jz	short loc_101352C
mov	ecx, [eax+4]
mov	edi, [eax+0Ch]
mov	edx, [eax]
mov	eax, [eax+8]
sub	edi, ecx
sub	edi, [ebp-20h]
sub	eax, edx
sub	eax, [ebp-24h]
sar	edi, 1
add	edi, ecx
mov	ecx, [ebp+8]
sar	eax, 1
push	edi		; y
add	eax, edx
push	eax		; x
call	sub_10097A4
xor	ebx, ebx
jmp	short loc_1013536

loc_101352C:
mov	ecx, [ebp+8]
push	ebx		; y
push	ebx		; x
call	sub_10097A4

loc_1013536:
push	dword ptr [ebp+0Ch]
mov	ecx, esi
call	sub_1032D5B
cmp	[ebp+18h], ebx
pop	edi
jnz	short loc_101355A
mov	ecx, esi
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
cmp	esi, ebx
jz	short loc_101355A
mov	eax, [esi]
push	1
mov	ecx, esi
call	dword ptr [eax+4]

loc_101355A:
mov	ecx, [ebp-0Ch]
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	14h
sub_1013483 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_101356F(HGDIOBJ h)
sub_101356F proc near

rc= tagRECT ptr	-10h
h= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
push	edi
mov	edi, [ebp+h]
push	edi
xor	esi, esi
call	sub_1012409
test	eax, eax
jz	short loc_10135F4
push	ebx
push	dword ptr [edi+30h] ; yBottom
lea	eax, [ebp+rc]
push	dword ptr [edi+2Ch] ; xRight
push	esi		; yTop
push	esi		; xLeft
push	eax		; lprc
call	ds:SetRect
push	dword ptr [edi+0Ch] ; hdc
call	ds:CreateCompatibleDC
mov	ebx, eax
cmp	ebx, esi
jz	short loc_10135F3
push	h		; h
mov	esi, ds:SelectObject
push	ebx		; hdc
call	esi ; SelectObject
push	0CC0020h	; rop
push	[ebp+rc.top]	; y1
mov	[ebp+h], eax
push	[ebp+rc.left]	; x1
mov	eax, [ebp+rc.bottom]
push	dword ptr [edi+0Ch] ; hdcSrc
sub	eax, [ebp+rc.top]
push	eax		; cy
mov	eax, [ebp+rc.right]
sub	eax, [ebp+rc.left]
push	eax		; cx
push	0		; y
push	0		; x
push	ebx		; hdc
call	ds:BitBlt
push	[ebp+h]		; h
push	ebx		; hdc
call	esi ; SelectObject
push	ebx		; hdc
call	ds:DeleteDC
xor	esi, esi
inc	esi

loc_10135F3:
pop	ebx

loc_10135F4:
pop	edi
mov	eax, esi
pop	esi
leave
retn	4
sub_101356F endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1013601(HDC	hdc, HBRUSH h, COLORREF	color)
sub_1013601 proc near

var_28=	dword ptr -28h
var_24=	dword ptr -24h
var_20=	dword ptr -20h
var_1C=	dword ptr -1Ch
left= dword ptr	-18h
top= dword ptr -14h
right= dword ptr -10h
bottom=	dword ptr -0Ch
var_8= dword ptr -8
ho= dword ptr -4
hdc= dword ptr	8
h= dword ptr  0Ch
color= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 28h
push	ebx
push	esi
push	edi
mov	edi, [ebp+h]
push	edi
call	sub_1012070
mov	eax, [edi]
mov	[ebp+left], eax
mov	eax, [edi+4]
mov	[ebp+top], eax
mov	eax, [edi+8]
mov	[ebp+right], eax
mov	eax, [edi+0Ch]
mov	[ebp+bottom], eax
lea	eax, [ebp+right]
push	eax
lea	eax, [ebp+left]
push	eax
call	sub_10125F9
mov	eax, [ebp+right]
mov	ebx, [ebp+left]
mov	esi, [ebp+top]
push	[ebp+color]	; color
mov	[ebp+var_20], eax
mov	eax, [ebp+bottom]
mov	[ebp+var_28], ebx
mov	[ebp+var_24], esi
mov	[ebp+var_1C], eax
call	ds:CreateSolidBrush
test	eax, eax
mov	[ebp+h], eax
jnz	short loc_1013672
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	loc_1013725

loc_1013672:
mov	eax, off_103D74C
cmp	dword ptr [eax+30h], 26Dh
jnz	short loc_10136BC
mov	eax, hrgn
test	eax, eax
jz	loc_1013715
push	esi		; y
push	ebx		; x
push	eax		; hrgn
call	ds:OffsetRgn
push	[ebp+h]		; hbr
push	hrgn		; hrgn
push	[ebp+hdc]	; hdc
call	ds:FillRgn
neg	esi
push	esi		; y
neg	ebx
push	ebx		; x
push	hrgn		; hrgn
call	ds:OffsetRgn
jmp	short loc_1013715

loc_10136BC:		; color
push	0
push	0		; cWidth
push	5		; iStyle
call	ds:CreatePen
test	eax, eax
mov	[ebp+ho], eax
jz	short loc_1013715
mov	esi, ds:SelectObject
push	eax		; h
push	[ebp+hdc]	; hdc
call	esi ; SelectObject
push	[ebp+h]		; h
mov	[ebp+color], eax
push	[ebp+hdc]	; hdc
call	esi ; SelectObject
push	[ebp+bottom]	; bottom
mov	[ebp+var_8], eax
push	[ebp+right]	; right
push	[ebp+top]	; top
push	ebx		; left
push	[ebp+hdc]	; hdc
call	ds:Rectangle
push	[ebp+color]	; h
push	[ebp+hdc]	; hdc
call	esi ; SelectObject
push	[ebp+ho]	; ho
call	ds:DeleteObject
push	[ebp+var_8]	; h
push	[ebp+hdc]	; hdc
call	esi ; SelectObject

loc_1013715:		; ho
push	[ebp+h]
call	ds:DeleteObject
lea	esi, [ebp+var_28]
movsd
movsd
movsd
movsd

loc_1013725:
pop	edi
pop	esi
pop	ebx
leave
retn	0Ch
sub_1013601 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1013731 proc near

apt= POINT ptr -30h
var_28=	dword ptr -28h
var_24=	dword ptr -24h
var_20=	dword ptr -20h
var_1C=	dword ptr -1Ch
var_18=	dword ptr -18h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h
arg_10=	dword ptr  18h
arg_14=	dword ptr  1Ch
arg_18=	dword ptr  20h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 30h
mov	eax, [ebp+arg_C]
mov	ecx, [ebp+arg_4]
cmp	eax, ecx
mov	edx, [ebp+arg_14]
push	esi
jle	short loc_1013759
mov	[ebp+var_20], eax
add	eax, edx
add	edx, ecx
mov	[ebp+var_28], ecx
mov	[ebp+apt.x], ecx
mov	[ebp+var_8], edx
jmp	short loc_101376A

loc_1013759:
lea	esi, [edx+ecx]
add	edx, eax
mov	[ebp+var_28], esi
mov	[ebp+apt.x], esi
mov	[ebp+var_20], edx
mov	[ebp+var_8], ecx

loc_101376A:
mov	ecx, [ebp+arg_8]
mov	edx, [ebp+arg_18]
mov	[ebp+var_10], eax
mov	[ebp+var_18], eax
mov	eax, [ebp+arg_10]
cmp	eax, ecx
jle	short loc_1013796
mov	[ebp+var_4], ecx
mov	[ebp+apt.y], ecx
add	ecx, edx
mov	[ebp+var_24], ecx
lea	ecx, [edx+eax]
mov	[ebp+var_14], ecx
mov	[ebp+var_1C], ecx
mov	[ebp+var_C], eax
jmp	short loc_10137AD

loc_1013796:
lea	esi, [edx+ecx]
add	edx, eax
mov	[ebp+var_4], esi
mov	[ebp+apt.y], esi
mov	[ebp+var_24], ecx
mov	[ebp+var_14], eax
mov	[ebp+var_1C], eax
mov	[ebp+var_C], edx

loc_10137AD:
mov	eax, [ebp+arg_0]
test	eax, eax
pop	esi
jz	short locret_10137C4
push	6		; cpt
lea	ecx, [ebp+apt]
push	ecx		; apt
push	dword ptr [eax+4] ; hdc
call	ds:Polygon

locret_10137C4:
leave
retn	1Ch
sub_1013731 endp

db 5 dup(0CCh)



sub_10137CD proc near
mov	eax, offset loc_1035F13
call	sub_1034E18
sub	esp, 2Ch
push	ebx
push	esi
push	edi
xor	edi, edi
cmp	dword_103E804, edi
mov	[ebp-10h], esp
jz	loc_101394C
push	edi
push	offset unk_103E78C
mov	ecx, offset unk_103E778
call	sub_100EA13
mov	[ebp-14h], eax
mov	eax, dword_103E804
push	dword ptr [eax+0Ch]
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
mov	ebx, eax
mov	eax, off_103D74C
cmp	dword ptr [eax+30h], 26Dh
jnz	loc_1013900
lea	ecx, [ebp-28h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
push	color
mov	[ebp-4], edi
lea	ecx, [ebp-20h]
mov	byte ptr [ebp-4], 1
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
mov	eax, dword_103E7A4
mov	[ebp-30h], eax
mov	eax, cy
mov	[ebp-2Ch], eax
lea	eax, [ebp-20h]
push	eax		; hbr
lea	eax, [ebp-38h]
mov	esi, offset unk_103E78C
push	eax		; lprc
mov	ecx, esi
mov	[ebp-38h], edi
mov	[ebp-34h], edi
call	sub_100AC6F
lea	ecx, [ebp-20h]
mov	dword ptr [ebp-20h], offset off_1002120
call	sub_10096BE
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
cmp	hrgn, edi
jz	loc_101392C
push	offset stru_103E784
mov	ecx, esi
call	?SelectClipRgn@CDC@@QAEHPAVCRgn@@@Z ; CDC::SelectClipRgn(CRgn *)
mov	eax, stru_103E808.top
mov	ecx, stru_103E808.bottom
mov	edx, stru_103E808.right
push	0CC0020h	; rop
sub	ecx, eax
push	ecx		; hSrc
mov	ecx, stru_103E808.left
sub	edx, ecx
push	edx		; wSrc
push	eax		; ySrc
push	ecx		; xSrc
push	ebx		; hdcSrc
push	cy		; hDest
mov	ecx, esi
push	dword_103E7A4	; wDest
push	edi		; yDest
push	edi		; xDest
call	sub_1012746
push	edi
mov	ecx, esi
call	?SelectClipRgn@CDC@@QAEHPAVCRgn@@@Z ; CDC::SelectClipRgn(CRgn *)
jmp	short loc_101392C
mov	eax, [ebp-18h]
push	1
mov	ecx, offset unk_103EE08
mov	[ebp-24h], eax
call	sub_101F3CB
mov	eax, offset loc_10138F5
retn

loc_10138F5:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
jmp	short loc_101394C

loc_1013900:		; rop
push	0CC0020h
push	stru_103E808.top ; y1
mov	esi, offset unk_103E78C
push	stru_103E808.left ; x1
mov	ecx, esi
push	ebx		; hdcSrc
push	cy		; cy
push	dword_103E7A4	; int
push	edi		; y
push	edi		; x
call	sub_10097A4

loc_101392C:
cmp	[ebp-14h], edi
jz	short loc_101393C
push	edi
push	dword ptr [ebp-14h]
mov	ecx, esi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_101393C:
push	color
mov	ecx, offset unk_103E778
call	sub_100F43E

loc_101394C:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn
sub_10137CD endp

align 10h


; Attributes: bp-based frame

sub_1013960 proc near

rcDst= tagRECT ptr -10h
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	ebx
xor	ebx, ebx
cmp	dword_103E7DC, ebx
jnz	loc_1013A75
mov	eax, dword_103E7E4
cmp	eax, ebx
jnz	short loc_10139A4
cmp	dword_103E804, ebx
jz	loc_1013A75
cmp	dword_103E7CC, ebx
jnz	loc_1013A75
cmp	dword_103E7D0, ebx
jnz	loc_1013A75

loc_10139A4:
cmp	dword_103E7D4, ebx
jz	short loc_10139C0
cmp	dword_103E7E0, ebx
jnz	loc_1013A75
cmp	eax, ebx
jnz	loc_1013A75

loc_10139C0:
cmp	[ebp+arg_0], ebx
push	esi
jz	short loc_1013A13
push	edi
call	sub_10129FB
cmp	dword_103E7D4, ebx
mov	esi, offset stru_103E808
lea	edi, [ebp+rcDst]
movsd
movsd
movsd
movsd
pop	edi
jz	short loc_10139F9
push	offset rcSrc2	; lprcSrc2
lea	eax, [ebp+rcDst]
push	eax		; lprcSrc1
push	eax		; lprcDst
mov	dword_103E7D4, ebx
call	ds:UnionRect
jmp	short loc_1013A04

loc_10139F9:		; h
push	dword_103E804
call	sub_101356F

loc_1013A04:
mov	ecx, dword_103ED04
lea	eax, [ebp+rcDst]
push	eax		; hdc
call	sub_1018D27

loc_1013A13:
mov	eax, off_103D74C
cmp	dword ptr [eax+30h], 26Eh
jz	short loc_1013A4C
cmp	dword_103E7E8, ebx
push	stru_103E808.top ; y
mov	ecx, offset unk_103E778
push	stru_103E808.left ; x
push	dword_103E804	; prgbq
jz	short loc_1013A47
call	sub_100EFD4
jmp	short loc_1013A4C

loc_1013A47:
call	sub_100EEED

loc_1013A4C:
mov	esi, offset stru_103E808
push	esi		; lprcSrc2
push	dword_103E804	; int
call	sub_101282E
push	esi		; hPal
push	dword_103E804	; int
call	sub_10128D0
push	dword_103E804
call	sub_10127C0
pop	esi

loc_1013A75:
pop	ebx
leave
retn	4
sub_1013960 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1013A7F(HDC	hdcDest, int wDest, int	hDest, int)
sub_1013A7F proc near

h= dword ptr -10h
ho= dword ptr -0Ch
var_8= dword ptr -8
hPal= dword ptr	-4
hdcDest= dword ptr  8
wDest= dword ptr  0Ch
hDest= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
mov	eax, [ebp+wDest]
push	ebx
push	esi
mov	esi, [ebp+hdcDest]
cmp	eax, [esi+2Ch]
push	edi
jnz	short loc_1013AA1
mov	ecx, [ebp+hDest]
cmp	ecx, [esi+30h]
jz	loc_1013C37

loc_1013AA1:		; cy
push	[ebp+hDest]
push	eax		; cx
push	dword ptr [esi+0Ch] ; hdc
call	ds:CreateCompatibleBitmap
mov	edi, eax
xor	ebx, ebx
cmp	edi, ebx
mov	[ebp+var_8], edi
jz	short loc_1013AD0
push	dword ptr [esi+0Ch] ; hdc
call	ds:CreateCompatibleDC
cmp	eax, ebx
mov	[ebp+hdcDest], eax
push	edi		; ho
jnz	short loc_1013AD7
call	ds:DeleteObject

loc_1013AD0:
xor	eax, eax
jmp	loc_1013C3A

loc_1013AD7:
mov	edi, ds:SelectObject
push	eax		; hdc
call	edi ; SelectObject
mov	[ebp+h], eax
mov	eax, dword_103EF88
cmp	eax, ebx
mov	[ebp+hPal], ebx
jz	short loc_1013B0D
mov	eax, [eax+4]
cmp	eax, ebx
jz	short loc_1013B0D
push	ebx		; bForceBkgd
push	eax		; hPal
push	[ebp+hdcDest]	; hdc
call	ds:SelectPalette
push	[ebp+hdcDest]	; hdc
mov	[ebp+hPal], eax
call	ds:RealizePalette

loc_1013B0D:
cmp	[ebp+arg_C], ebx
jz	short loc_1013B63
mov	eax, [esi+38h]
imul	eax, [esi+34h]
cmp	eax, 1
push	4
pop	ecx
jnz	short loc_1013B3C
mov	eax, dword_103E87C
xor	ecx, ecx
inc	ecx
cmp	al, bl
jnz	short loc_1013B39
cmp	ah, bl
jnz	short loc_1013B39
cmp	byte ptr dword_103E87C+2, bl
jz	short loc_1013B3C

loc_1013B39:
push	2
pop	ecx

loc_1013B3C:		; mode
push	ecx
push	[ebp+hdcDest]	; hdc
call	ds:SetStretchBltMode
push	dword ptr [esi+30h] ; hSrc
push	dword ptr [esi+2Ch] ; wSrc
push	ebx		; ySrc
push	ebx		; xSrc
push	dword ptr [esi+0Ch] ; hdcSrc
push	[ebp+hDest]	; hDest
push	[ebp+wDest]	; wDest
push	ebx		; yDest
push	ebx		; xDest
push	[ebp+hdcDest]	; hdcDest
call	sub_101255A
jmp	short loc_1013BC1

loc_1013B63:		; color
push	color
call	ds:CreateSolidBrush
cmp	eax, ebx
mov	[ebp+ho], eax
jz	short loc_1013BA6
push	eax		; h
push	[ebp+hdcDest]	; hdc
call	edi ; SelectObject
push	0F00021h	; rop
push	[ebp+hDest]	; h
mov	[ebp+arg_C], eax
push	[ebp+wDest]	; w
push	ebx		; y
push	ebx		; x
push	[ebp+hdcDest]	; hdc
call	ds:PatBlt
push	[ebp+arg_C]	; h
push	[ebp+hdcDest]	; hdc
call	edi ; SelectObject
push	[ebp+ho]	; ho
call	ds:DeleteObject

loc_1013BA6:		; rop
push	0CC0020h
push	ebx		; y1
push	ebx		; x1
push	dword ptr [esi+0Ch] ; hdcSrc
push	[ebp+hDest]	; cy
push	[ebp+wDest]	; cx
push	ebx		; y
push	ebx		; x
push	[ebp+hdcDest]	; hdc
call	ds:BitBlt

loc_1013BC1:
cmp	[ebp+hPal], ebx
jz	short loc_1013BD3
push	ebx		; bForceBkgd
push	[ebp+hPal]	; hPal
push	[ebp+hdcDest]	; hdc
call	ds:SelectPalette

loc_1013BD3:		; h
push	[ebp+h]
push	[ebp+hdcDest]	; hdc
call	edi ; SelectObject
push	[ebp+var_8]	; h
push	dword ptr [esi+0Ch] ; hdc
call	edi ; SelectObject
push	dword ptr [esi+14h] ; ho
call	ds:DeleteObject
push	[ebp+hdcDest]	; hdc
call	ds:DeleteDC
mov	eax, [ebp+var_8]
mov	[esi+14h], eax
mov	eax, [ebp+wDest]
mov	[esi+2Ch], eax
mov	eax, [ebp+hDest]
mov	[esi+30h], eax
push	esi		; hPal
mov	dword_103E848, ebx
call	sub_1012A88
push	ebx		; lprcSrc2
push	esi		; int
call	sub_101282E
mov	esi, [esi]
jmp	short loc_1013C33

loc_1013C1E:		; bErase
push	ebx
push	ebx		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:InvalidateRect
mov	ecx, esi
call	sub_10190E6
mov	esi, [esi+44h]

loc_1013C33:
cmp	esi, ebx
jnz	short loc_1013C1E

loc_1013C37:
xor	eax, eax
inc	eax

loc_1013C3A:
pop	edi
pop	esi
pop	ebx
leave
retn	10h
sub_1013A7F endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1013C46 proc near

var_804= dword ptr -804h
plpal= LOGPALETTE ptr -404h
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 808h
mov	eax, [ebp+arg_8]
and	dword ptr [eax], 0
mov	eax, [ebp+arg_0]
test	eax, eax
push	edi
jz	loc_1013D81
mov	edi, [ebp+arg_4]
test	edi, edi
jz	loc_1013D81
push	ebx
push	esi
mov	esi, ds:GetPaletteEntries
lea	ecx, [ebp+plpal.palPalEntry]
push	ecx		; pPalEntries
mov	ebx, 100h
push	ebx		; cEntries
push	0		; iStart
push	dword ptr [eax+4] ; hpal
call	esi ; GetPaletteEntries
lea	ecx, [ebp+plpal.palPalEntry]
push	ecx		; pPalEntries
push	eax		; cEntries
mov	[ebp+arg_4], eax
mov	eax, [ebp+arg_0]
push	0		; iStart
push	dword ptr [eax+4] ; hpal
call	esi ; GetPaletteEntries
lea	eax, [ebp+var_804]
push	eax		; pPalEntries
push	ebx		; cEntries
push	0		; iStart
push	dword ptr [edi+4] ; hpal
call	esi ; GetPaletteEntries
lea	ecx, [ebp+var_804]
push	ecx		; pPalEntries
push	eax		; cEntries
push	0		; iStart
push	dword ptr [edi+4] ; hpal
mov	[ebp+arg_0], eax
call	esi ; GetPaletteEntries
xor	esi, esi
cmp	[ebp+arg_0], esi
jle	short loc_1013D2C

loc_1013CC7:
mov	eax, [ebp+arg_4]
cmp	eax, ebx
jge	short loc_1013D2F
xor	edi, edi
test	eax, eax
jle	short loc_1013D0D
mov	cl, byte ptr [ebp+esi*4+var_804]

loc_1013CDB:
cmp	[ebp+edi*4+plpal.palPalEntry.peRed], cl
jnz	short loc_1013D04
mov	dl, [ebp+edi*4+plpal.palPalEntry.peGreen]
cmp	dl, byte ptr [ebp+esi*4+var_804+1]
jnz	short loc_1013D04
mov	dl, [ebp+edi*4+plpal.palPalEntry.peBlue]
cmp	dl, byte ptr [ebp+esi*4+var_804+2]
jz	short loc_1013D09

loc_1013D04:
inc	edi
cmp	edi, eax
jl	short loc_1013CDB

loc_1013D09:
cmp	edi, eax
jl	short loc_1013D24

loc_1013D0D:
mov	ecx, [ebp+esi*4+var_804]
mov	dword ptr [ebp+eax*4+plpal.palPalEntry.peRed], ecx
mov	ecx, [ebp+arg_8]
inc	eax
inc	dword ptr [ecx]
mov	[ebp+arg_4], eax

loc_1013D24:
inc	esi
cmp	esi, [ebp+arg_0]
jl	short loc_1013CC7
jmp	short loc_1013D2F

loc_1013D2C:
mov	eax, [ebp+arg_4]

loc_1013D2F:		; unsigned int
push	8
mov	[ebp+plpal.palVersion],	300h
mov	[ebp+plpal.palNumEntries], ax
call	??2@YAPAXI@Z	; operator new(uint)
test	eax, eax
pop	ecx
jz	short loc_1013D59
and	dword ptr [eax+4], 0
mov	dword ptr [eax], offset	off_1002A88
mov	esi, eax
jmp	short loc_1013D5B

loc_1013D59:
xor	esi, esi

loc_1013D5B:
test	esi, esi
jz	short loc_1013D7B
lea	eax, [ebp+plpal]
push	eax		; plpal
push	esi		; int
call	sub_10129D3
test	eax, eax
jnz	short loc_1013D7B
mov	eax, [esi]
push	1
mov	ecx, esi
call	dword ptr [eax+4]
xor	esi, esi

loc_1013D7B:
mov	eax, esi
pop	esi
pop	ebx
jmp	short loc_1013D83

loc_1013D81:
xor	eax, eax

loc_1013D83:
pop	edi
leave
retn	0Ch
sub_1013C46 endp

db 5 dup(0CCh)



sub_1013D8D proc near
mov	edi, edi
push	esi
mov	esi, ds:CreateBitmap
push	offset unk_103D6F4 ; lpBits
push	1		; nBitCount
push	1		; nPlanes
push	8		; nHeight
push	8		; nWidth
call	esi ; CreateBitmap
push	eax
mov	ecx, offset hbm
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
test	eax, eax
jz	short loc_1013DC3
push	offset hbm	; hbm
mov	ecx, offset unk_103E890
call	sub_100D11E

loc_1013DC3:		; lpBits
push	offset unk_103D704
push	1		; nBitCount
push	1		; nPlanes
push	8		; nHeight
push	8		; nWidth
call	esi ; CreateBitmap
push	eax
mov	ecx, offset stru_103E8A8
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
test	eax, eax
pop	esi
jz	short loc_1013DF1
push	offset stru_103E8A8 ; hbm
mov	ecx, offset unk_103E898
call	sub_100D11E

loc_1013DF1:		; uMode
push	1
call	ds:SetErrorMode
retn
sub_1013D8D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1013DFF proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	[ebp+arg_4], 0
jnz	short loc_1013E0E
xor	eax, eax
jmp	short loc_1013E42

loc_1013E0E:
cmp	dword_103EF9C, 0
jz	short loc_1013E1E
mov	[ebp+arg_8], 1

loc_1013E1E:
push	esi
mov	esi, [ebp+arg_0]
push	edi
push	[ebp+arg_8]
mov	ecx, esi
push	dword_103EF88
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [esi+4] ; hdc
mov	edi, eax
call	ds:RealizePalette
mov	eax, edi
pop	edi
pop	esi

loc_1013E42:
pop	ebp
retn	0Ch
sub_1013DFF endp

db 5 dup(0CCh)



sub_1013E4B proc near
mov	eax, offset loc_1035F42
call	sub_1034E18
sub	esp, 464h
push	ebx
push	esi
push	edi
xor	ebx, ebx
mov	[ebp-10h], esp
mov	[ebp-18h], ebx
mov	dword ptr [ebp-1Ch], offset off_100282C
push	ebx
lea	ecx, [ebp-48h]
mov	[ebp-4], ebx
call	??0CClientDC@@QAE@PAVCWnd@@@Z ;	CClientDC::CClientDC(CWnd *)
cmp	[ebp+10h], ebx
mov	byte ptr [ebp-4], 1
jnz	short loc_1013E90
push	0Eh		; index
push	dword ptr [ebp-40h] ; hdc
call	ds:GetDeviceCaps
mov	[ebp+10h], eax

loc_1013E90:
cmp	[ebp+14h], ebx
jnz	short loc_1013EA3
push	0Ch		; index
push	dword ptr [ebp-40h] ; hdc
call	ds:GetDeviceCaps
mov	[ebp+14h], eax

loc_1013EA3:
lea	ecx, [ebp-34h]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
lea	eax, [ebp-48h]
push	eax		; hdc
lea	ecx, [ebp-34h]
mov	byte ptr [ebp-4], 2
call	sub_1009779
cmp	[ebp-30h], ebx
jz	loc_1014105
mov	esi, [ebp+10h]
imul	esi, [ebp+14h]
cmp	esi, 1
jle	short loc_1013EDA
push	4
lea	ecx, [ebp-34h]
call	?SetStretchBltMode@CDC@@QAEHH@Z	; CDC::SetStretchBltMode(int)

loc_1013EDA:
mov	edi, [ebp+8]
cmp	edi, ebx
jz	loc_1013FFF
mov	ecx, [ebp+0Ch]
cmp	ecx, ebx
jz	loc_1013FFF
xor	eax, eax
inc	eax
xor	edx, edx
cmp	esi, eax
mov	[ebp-14h], ebx
jg	short loc_1013F07
mov	dword ptr [ebp-14h], offset unk_103D6A8
push	2
jmp	short loc_1013F35

loc_1013F07:
push	4
pop	eax
cmp	esi, eax
jg	short loc_1013F21
push	ecx		; cy
push	edi		; cx
push	dword ptr [ebp-44h] ; hdc
mov	[ebp+14h], eax
call	ds:CreateCompatibleBitmap
jmp	loc_1013FEE

loc_1013F21:
push	8
pop	eax
cmp	esi, eax
jg	loc_10140B2
mov	dword ptr [ebp-14h], offset unk_103D2A0
push	1Ch

loc_1013F35:
mov	[ebp+14h], eax
pop	edx

loc_1013F39:
mov	esi, [ebp+14h]
mov	[ebp-46Ch], edi
mov	[ebp-468h], ecx
xor	eax, eax
cmp	esi, 8
mov	ecx, 101h
lea	edi, [ebp-44Ch]
mov	dword ptr [ebp-470h], 28h
mov	word ptr [ebp-464h], 1
mov	[ebp-462h], si
mov	[ebp-460h], ebx
mov	[ebp-45Ch], ebx
mov	[ebp-458h], ebx
mov	[ebp-454h], edx
mov	[ebp-450h], edx
rep stosd
jg	short loc_1013FD4
cmp	edx, ebx
jle	short loc_1013FD4
mov	eax, [ebp-14h]
lea	ecx, [ebp-445h]
lea	edi, [ebp-447h]
sub	ecx, eax
lea	esi, [ebp-448h]
sub	edi, eax
mov	[ebp-20h], ecx
sub	esi, eax

loc_1013FB6:
mov	cl, [eax]
mov	[edi+eax+1], cl
mov	cl, [eax+1]
mov	[edi+eax], cl
mov	cl, [eax+2]
mov	[esi+eax], cl
mov	ecx, [ebp-20h]
mov	[ecx+eax], bl
add	eax, 4
dec	edx
jnz	short loc_1013FB6

loc_1013FD4:		; offset
push	ebx
push	ebx		; hSection
lea	eax, [ebp-20h]
push	eax		; ppvBits
push	ebx		; usage
lea	eax, [ebp-470h]
push	eax		; lpbmi
push	dword ptr [ebp-30h] ; hdc
call	ds:CreateDIBSection
mov	edi, [ebp+8]

loc_1013FEE:
cmp	eax, ebx
jz	loc_1014105
push	eax
lea	ecx, [ebp-1Ch]
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)

loc_1013FFF:
lea	ecx, [ebp-24h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
push	58h		; unsigned int
mov	byte ptr [ebp-4], 4
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	esi, eax
mov	dword ptr [ebp-4], 2
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
mov	eax, [ebp+0Ch]
mov	[esi+30h], eax
mov	eax, [ebp+10h]
mov	[esi+34h], eax
mov	eax, [ebp+14h]
mov	[esi+38h], eax
mov	eax, [ebp+18h]
mov	[esi+3Ch], eax
mov	eax, [ebp+1Ch]
lea	ecx, [ebp-34h]
mov	[esi+2Ch], edi
mov	[esi+40h], eax
call	?Detach@CDC@@QAEPAUHDC__@@XZ ; CDC::Detach(void)
lea	ecx, [ebp-1Ch]
mov	[esi+0Ch], eax
call	?Detach@CGdiObject@@QAEPAXXZ ; CGdiObject::Detach(void)
mov	[esi+14h], eax
mov	[esi+18h], ebx
mov	[esi], ebx
mov	[esi+8], ebx
mov	[esi+28h], ebx
mov	[esi+24h], ebx
mov	eax, dword_103E824
mov	[esi+4Ch], eax
mov	eax, dword_103D694
mov	[esi+50h], eax
mov	eax, dword_103D698
mov	[esi+54h], eax
cmp	dword_103EF58, ebx
mov	eax, color
mov	cl, byte ptr color+2
jz	short loc_10140BE
movzx	ecx, cl
or	ecx, 200h
movzx	edx, ah
shl	ecx, 8
or	ecx, edx
movzx	eax, al
shl	ecx, 8
or	ecx, eax
mov	color, ecx
jmp	short loc_10140D2

loc_10140B2:
mov	dword ptr [ebp+14h], 18h
jmp	loc_1013F39

loc_10140BE:
xor	edx, edx
mov	dh, cl
mov	dl, ah
movzx	eax, al
shl	edx, 8
or	edx, eax
mov	color, edx

loc_10140D2:
mov	eax, [esi+14h]
cmp	eax, ebx
jz	short loc_1014107
push	eax		; h
push	dword ptr [esi+0Ch] ; hdc
call	ds:SelectObject
push	esi
mov	[esi+18h], eax
call	sub_1011EC6
jmp	short loc_1014107
mov	eax, [ebp+8]
mov	[ebp-20h], eax
mov	eax, offset loc_10140FA
retn

loc_10140FA:
mov	byte ptr [ebp-4], 2
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
xor	ebx, ebx

loc_1014105:
xor	esi, esi

loc_1014107:
lea	ecx, [ebp-34h]
mov	byte ptr [ebp-4], 1
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
lea	ecx, [ebp-48h]
mov	[ebp-4], bl
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-1Ch]
call	sub_100E829
mov	ecx, [ebp-0Ch]
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	1Ch
sub_1013E4B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1014142(HPALETTE hPal)
sub_1014142 proc near

hPal= dword ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+hPal]
cmp	esi, dword_103E878
jz	short loc_101416D
cmp	dword_103E804, 0
jz	short loc_1014161
call	sub_10129FB

loc_1014161:		; hPal
push	esi
mov	dword_103E878, esi
call	sub_1012A88

loc_101416D:
pop	esi
pop	ebp
retn	4
sub_1014142 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1014177 proc near

rcDst= tagRECT ptr -40h
Rect= tagRECT ptr -30h
rcSrc2=	RECT ptr -20h
pt= POINT ptr -10h
Point= tagPOINT	ptr -8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 40h
mov	ecx, dword_103ECFC
test	ecx, ecx
push	ebx
mov	ebx, ds:IntersectRect
push	esi
mov	esi, ds:GetCursorPos
push	edi
mov	edi, ds:GetClientRect
jz	loc_1014272
mov	eax, [ecx+40h]
mov	edx, [eax+30h]
mov	eax, [eax+2Ch]
and	[ebp+rcSrc2.left], 0
and	[ebp+rcSrc2.top], 0
mov	[ebp+rcSrc2.right], eax
lea	eax, [ebp+rcSrc2]
push	eax
mov	[ebp+rcSrc2.bottom], edx
call	sub_10194E8
lea	eax, [ebp+Rect]
push	eax		; lpRect
mov	eax, dword_103ECFC
push	dword ptr [eax+20h] ; hWnd
call	edi ; GetClientRect
lea	eax, [ebp+rcSrc2]
push	eax		; lprcSrc2
lea	eax, [ebp+Rect]
push	eax		; lprcSrc1
push	eax		; lprcDst
call	ebx ; IntersectRect
lea	eax, [ebp+Point]
push	eax		; lpPoint
call	esi ; GetCursorPos
mov	eax, [ebp+Point.x]
mov	[ebp+pt.x], eax
mov	eax, [ebp+Point.y]
mov	[ebp+pt.y], eax
lea	eax, [ebp+pt]
push	eax		; lpPoint
mov	eax, dword_103ECFC
push	dword ptr [eax+20h] ; hWnd
call	ds:ScreenToClient
push	[ebp+Point.y]
push	[ebp+Point.x]	; Point
call	sub_10127A0
cmp	eax, dword_103ECFC
jnz	short loc_1014226
push	[ebp+pt.y]
lea	eax, [ebp+Rect]
push	[ebp+pt.x]	; pt
push	eax		; lprc
call	ds:PtInRect
test	eax, eax
jnz	short loc_1014272

loc_1014226:
mov	ecx, off_103D74C
mov	eax, [ecx]
push	offset dword_103EDC8
push	dword_103ECFC
call	dword ptr [eax+20h]
and	dword_103ECFC, 0
cmp	dword_103E904, 0
jnz	short loc_1014272
mov	eax, dword_103EE28
push	dword ptr [eax+0F8h] ; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_1014272
mov	ecx, dword_103EE28
add	ecx, 0D8h
call	sub_1009634

loc_1014272:
cmp	dword_103E874, 0
jz	loc_1014374
lea	eax, [ebp+pt]
push	eax		; lpPoint
call	esi ; GetCursorPos
mov	esi, dword_103ED00
test	esi, esi
jz	loc_1014374
mov	eax, [esi+40h]
mov	ecx, [eax+30h]
mov	eax, [eax+2Ch]
and	[ebp+Rect.left], 0
and	[ebp+Rect.top],	0
mov	[ebp+Rect.right], eax
lea	eax, [ebp+Rect]
mov	[ebp+Rect.bottom], ecx
push	eax
mov	ecx, esi
call	sub_10194E8
lea	eax, [ebp+rcDst]
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	edi ; GetClientRect
lea	eax, [ebp+Rect]
push	eax		; lprcSrc2
lea	eax, [ebp+rcDst]
push	eax		; lprcSrc1
push	eax		; lprcDst
call	ebx ; IntersectRect
mov	eax, [ebp+pt.x]
mov	[ebp+Point.x], eax
mov	eax, [ebp+pt.y]
mov	[ebp+Point.y], eax
lea	eax, [ebp+Point]
push	eax		; lpPoint
push	dword ptr [esi+20h] ; hWnd
call	ds:ScreenToClient
push	[ebp+pt.y]
push	[ebp+pt.x]	; Point
call	sub_10127A0
cmp	eax, esi
jnz	short loc_1014352
push	[ebp+Point.y]
lea	eax, [ebp+rcDst]
push	[ebp+Point.x]	; pt
push	eax		; lprc
call	ds:PtInRect
test	eax, eax
jz	short loc_1014352
call	ds:GetCapture
test	eax, eax
jnz	short loc_1014374
mov	eax, [ebp+Point.x]
mov	[ebp+rcSrc2.right], eax
mov	eax, [ebp+Point.y]
mov	[ebp+rcSrc2.bottom], eax
lea	eax, [ebp+rcSrc2.right]
push	eax
mov	ecx, esi
call	sub_1018C98
xor	eax, eax
cmp	dword_103E8FC, eax
jnz	short loc_1014374
cmp	dword_103E874, eax
jz	short loc_1014374
mov	ecx, off_103D74C
cmp	[ecx+8], eax
jz	short loc_1014374
push	[ebp+rcSrc2.bottom] ; y
mov	ecx, esi
push	[ebp+rcSrc2.right] ; x
call	sub_101A1DD
jmp	short loc_1014374

loc_1014352:
cmp	dword_103E874, 0
jz	short loc_1014369
cmp	dword_103E804, 0
jnz	short loc_1014369
call	sub_10129FB

loc_1014369:
or	ecx, 0FFFFFFFFh
mov	eax, ecx
mov	[esi+60h], eax
mov	[esi+64h], ecx

loc_1014374:
pop	edi
pop	esi
pop	ebx
leave
retn
sub_1014177 endp

db 5 dup(0CCh)



sub_101437E proc near
mov	eax, offset loc_1035F5F
call	sub_1034E18
sub	esp, 10h
push	ebx
push	esi
push	edi
lea	eax, [ebp-18h]
push	eax		; int
lea	eax, [ebp-1Ch]
push	eax		; prgbq
push	0		; h
push	dword ptr [ebp+8] ; hdc
call	sub_100E6BB
push	dword ptr [ebp-18h] ; color
mov	ebx, ds:SetTextColor
push	dword ptr [ebp+8] ; hdc
call	ebx ; SetTextColor
push	dword ptr [ebp-1Ch] ; color
mov	[ebp-10h], eax
push	dword ptr [ebp+8] ; hdc
call	ds:SetBkColor
mov	esi, [ebp+14h]
mov	edi, [ebp+18h]
sub	esi, [ebp+0Ch]
sub	edi, [ebp+10h]
cmp	dword ptr [ebp+1Ch], 0
mov	[ebp-14h], eax
jnz	short loc_10143EC
push	dword ptr [ebp+18h] ; bottom
push	dword ptr [ebp+14h] ; right
push	dword ptr [ebp+10h] ; top
push	dword ptr [ebp+0Ch] ; left
push	dword ptr [ebp+8] ; hdc
call	ds:Ellipse
jmp	loc_1014613

loc_10143EC:
cmp	esi, edi
jnz	loc_10144C1
test	esi, esi
jle	loc_1014613
cmp	esi, 8
jg	loc_10144C1
test	byte ptr dword_103E8F0,	1
jnz	short loc_1014440
or	dword_103E8F0, 1
and	dword ptr [ebp-4], 0
push	offset sub_1009708
push	offset sub_10096F6
push	8
push	8
push	offset unk_103E8B0
call	sub_1034E95
push	offset loc_10378A6
call	sub_1034E6D
or	dword ptr [ebp-4], 0FFFFFFFFh
pop	ecx

loc_1014440:
cmp	dword_103E8AC[esi*8], 0
jnz	short loc_1014472
lea	eax, [esi+352h]
push	eax
lea	ecx, ds:103E8A8h[esi*8]
call	sub_1009718
test	eax, eax
jnz	short loc_1014472
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
jmp	loc_1014613

loc_1014472:		; hdc
push	dword ptr [ebp+8]
call	ds:CreateCompatibleDC
test	eax, eax
mov	[ebp+18h], eax
jz	short loc_10144E1
push	dword_103E8AC[esi*8] ; h
push	eax		; hdc
call	ds:SelectObject
push	0E20746h	; rop
push	0		; y1
push	0		; x1
push	dword ptr [ebp+18h] ; hdcSrc
mov	[ebp+14h], eax
push	edi		; cy
push	esi		; cx
push	dword ptr [ebp+10h] ; y
push	dword ptr [ebp+0Ch] ; x
push	dword ptr [ebp+8] ; hdc
call	ds:BitBlt
push	dword ptr [ebp+14h] ; h
push	dword ptr [ebp+18h] ; hdc
call	ds:SelectObject
jmp	loc_101454E

loc_10144C1:
test	esi, esi
jle	loc_1014613
test	edi, edi
jle	loc_1014613
push	dword ptr [ebp+8] ; hdc
call	ds:CreateCompatibleDC
test	eax, eax
mov	[ebp+18h], eax
jnz	short loc_10144F2

loc_10144E1:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	loc_1014613

loc_10144F2:
and	dword ptr [ebp+14h], 0
cmp	esi, dword_103E830
jg	short loc_1014506
cmp	edi, dword_103E82C
jle	short loc_1014539

loc_1014506:
mov	ecx, offset unk_103E888
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
push	0		; lpBits
push	1		; nBitCount
push	1		; nPlanes
push	edi		; nHeight
push	esi		; nWidth
mov	ecx, offset unk_103E888
call	sub_100AC14
test	eax, eax
jz	short loc_1014539
mov	dword_103E830, esi
mov	dword_103E82C, edi
mov	dword ptr [ebp+14h], 1

loc_1014539:
mov	eax, dword_103E88C
test	eax, eax
jnz	short loc_101455C
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4

loc_101454E:		; hdc
push	dword ptr [ebp+18h]
call	ds:DeleteDC
jmp	loc_1014613

loc_101455C:
cmp	esi, dword_103E838
jnz	short loc_1014575
cmp	edi, dword_103E834
jnz	short loc_1014575
cmp	dword_103E828, 0
jz	short loc_101458F

loc_1014575:
and	dword_103E828, 0
mov	dword_103E838, esi
mov	dword_103E834, edi
mov	dword ptr [ebp+14h], 1

loc_101458F:
mov	ebx, ds:SelectObject
push	eax		; h
push	dword ptr [ebp+18h] ; hdc
call	ebx ; SelectObject
mov	[ebp+1Ch], eax
xor	eax, eax
cmp	[ebp+14h], eax
jz	short loc_10145E1
push	42h		; rop
push	edi		; h
push	esi		; w
push	eax		; y
push	eax		; x
push	dword ptr [ebp+18h] ; hdc
call	ds:PatBlt
push	0		; i
call	ds:GetStockObject
push	eax		; h
push	dword ptr [ebp+18h] ; hdc
call	ebx ; SelectObject
push	6		; i
call	ds:GetStockObject
push	eax		; h
push	dword ptr [ebp+18h] ; hdc
call	ebx ; SelectObject
push	edi		; bottom
push	esi		; right
push	0		; top
push	0		; left
push	dword ptr [ebp+18h] ; hdc
call	ds:Ellipse
xor	eax, eax

loc_10145E1:		; rop
push	0E20746h
push	eax		; y1
push	eax		; x1
push	dword ptr [ebp+18h] ; hdcSrc
push	edi		; cy
push	esi		; cx
push	dword ptr [ebp+10h] ; y
push	dword ptr [ebp+0Ch] ; x
push	dword ptr [ebp+8] ; hdc
call	ds:BitBlt
push	dword ptr [ebp+1Ch] ; h
push	dword ptr [ebp+18h] ; hdc
call	ebx ; SelectObject
push	dword ptr [ebp+18h] ; hdc
call	ds:DeleteDC
mov	ebx, ds:SetTextColor

loc_1014613:		; color
push	dword ptr [ebp-10h]
push	dword ptr [ebp+8] ; hdc
call	ebx ; SetTextColor
push	dword ptr [ebp-14h] ; color
push	dword ptr [ebp+8] ; hdc
call	ds:SetBkColor
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	18h
sub_101437E endp

db 5 dup(0CCh)



sub_101463D proc near
mov	eax, offset loc_1035F86
call	sub_1034E18
sub	esp, 54h
push	ebx
push	esi
push	edi
lea	ecx, [ebp-50h]
mov	[ebp-10h], esp
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
xor	ebx, ebx
mov	[ebp-4], ebx
mov	[ebp-34h], ebx
mov	dword ptr [ebp-38h], offset off_1001F9C
mov	esi, [ebp+18h]
inc	dword ptr [ebp+8]
inc	dword ptr [ebp+0Ch]
push	ebx		; yBottom
push	ebx		; xRight
push	ebx		; yTop
push	ebx		; xLeft
push	esi		; lprc
mov	byte ptr [ebp-4], 1
call	ds:SetRect
push	ebx		; hdc
lea	ecx, [ebp-50h]
call	sub_1009779
test	eax, eax
jnz	short loc_101469F
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB

loc_1014698:
xor	esi, esi
jmp	loc_1014895

loc_101469F:		; cy
push	dword ptr [ebp+0Ch]
lea	eax, [ebp-50h]
push	dword ptr [ebp+8] ; int
lea	ecx, [ebp-38h]
push	eax		; int
call	sub_100AC43
test	eax, eax
jnz	short loc_10146C3
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
jmp	short loc_1014698

loc_10146C3:
lea	eax, [ebp-38h]
push	eax
lea	ecx, [ebp-50h]
call	sub_1032D5B
lea	ecx, [ebp-40h]
mov	[ebp-30h], eax
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
push	2FFFFFFh
lea	ecx, [ebp-28h]
mov	byte ptr [ebp-4], 3
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
mov	eax, [ebp+8]
mov	[ebp-58h], eax
mov	eax, [ebp+0Ch]
mov	[ebp-54h], eax
lea	eax, [ebp-28h]
push	eax		; hbr
lea	eax, [ebp-60h]
push	eax		; lprc
lea	ecx, [ebp-50h]
mov	[ebp-60h], ebx
mov	[ebp-5Ch], ebx
call	sub_100AC6F
lea	ecx, [ebp-28h]
mov	dword ptr [ebp-28h], offset off_1002120
call	sub_10096BE
jmp	short loc_101472F
mov	eax, [ebp-2Ch]
mov	[ebp-3Ch], eax
mov	eax, offset loc_101472A
retn

loc_101472A:
mov	esi, [ebp+18h]
xor	ebx, ebx

loc_101472F:
xor	edi, edi
inc	edi
mov	[ebp-4], edi
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
push	8
lea	ecx, [ebp-50h]
call	?SelectStockObject@CDC@@UAEPAVCGdiObject@@H@Z ;	CDC::SelectStockObject(int)
push	4
lea	ecx, [ebp-50h]
call	?SelectStockObject@CDC@@UAEPAVCGdiObject@@H@Z ;	CDC::SelectStockObject(int)
push	edi
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
push	ebx
push	ebx
push	dword ptr [ebp-4Ch]
call	sub_101437E
mov	eax, [ebp+8]
xor	edi, edi
dec	eax
cmp	eax, ebx
mov	[ebp-20h], ebx
mov	[ebp-1Ch], eax
jle	short loc_1014784

loc_101476F:		; y
push	ebx
push	edi		; x
push	dword ptr [ebp-4Ch] ; hdc
call	ds:GetPixel
test	eax, eax
jz	short loc_1014784
inc	edi
cmp	edi, [ebp-1Ch]
jl	short loc_101476F

loc_1014784:
lea	eax, [edi+edi*4]
shl	eax, 1
cmp	[ebp+14h], ebx
mov	[ebp-18h], eax
jnz	short loc_10147A5
mov	eax, [ebp+0Ch]
dec	eax
push	eax		; yBottom
push	edi		; xRight
push	ebx		; yTop
push	edi		; xLeft
push	esi		; lprc
call	ds:SetRect
jmp	loc_1014887

loc_10147A5:
cmp	[ebp+0Ch], ebx
mov	[ebp-14h], ebx
jle	short loc_101480F
mov	eax, [ebp+10h]
lea	eax, [eax+eax*4]
shl	eax, 1
mov	[ebp-24h], ebx
mov	[ebp-2Ch], eax

loc_10147BB:
xor	esi, esi
cmp	[ebp-1Ch], ebx
jle	short loc_10147D9

loc_10147C2:		; y
push	dword ptr [ebp-14h]
push	esi		; x
push	dword ptr [ebp-4Ch] ; hdc
call	ds:GetPixel
test	eax, eax
jz	short loc_10147D9
inc	esi
cmp	esi, [ebp-1Ch]
jl	short loc_10147C2

loc_10147D9:
mov	eax, [ebp-24h]
cdq
idiv	dword ptr [ebp+14h]
lea	ecx, [esi+esi*4]
shl	ecx, 1
sub	ecx, eax
cmp	[ebp-18h], ecx
jle	short loc_10147F9
mov	eax, [ebp-14h]
mov	edi, esi
mov	[ebp-20h], eax
mov	[ebp-18h], ecx
jmp	short loc_10147FB

loc_10147F9:
jl	short loc_101480C

loc_10147FB:
mov	eax, [ebp-2Ch]
inc	dword ptr [ebp-14h]
add	[ebp-24h], eax
mov	eax, [ebp-14h]
cmp	eax, [ebp+0Ch]
jl	short loc_10147BB

loc_101480C:
mov	esi, [ebp+18h]

loc_101480F:
cmp	[ebp+0Ch], ebx
mov	eax, [ebp-20h]
mov	[esi], edi
mov	[esi+4], eax
mov	[ebp-14h], ebx
jle	short loc_101487E
mov	eax, [ebp+10h]
lea	eax, [eax+eax*4]
shl	eax, 1
mov	[ebp-24h], ebx
mov	[ebp-2Ch], eax

loc_101482D:
mov	esi, [ebp-1Ch]
jmp	short loc_1014844

loc_1014832:		; y
push	dword ptr [ebp-14h]
push	esi		; x
push	dword ptr [ebp-4Ch] ; hdc
call	ds:GetPixel
test	eax, eax
jz	short loc_1014848
dec	esi

loc_1014844:
cmp	esi, ebx
jg	short loc_1014832

loc_1014848:
mov	eax, [ebp-24h]
cdq
idiv	dword ptr [ebp+14h]
lea	ecx, [esi+esi*4]
shl	ecx, 1
sub	ecx, eax
cmp	[ebp-18h], ecx
jge	short loc_1014868
mov	eax, [ebp-14h]
mov	edi, esi
mov	[ebp-20h], eax
mov	[ebp-18h], ecx
jmp	short loc_101486A

loc_1014868:
jg	short loc_101487B

loc_101486A:
mov	eax, [ebp-2Ch]
inc	dword ptr [ebp-14h]
add	[ebp-24h], eax
mov	eax, [ebp-14h]
cmp	eax, [ebp+0Ch]
jl	short loc_101482D

loc_101487B:
mov	esi, [ebp+18h]

loc_101487E:
mov	eax, [ebp-20h]
mov	[esi+8], edi
mov	[esi+0Ch], eax

loc_1014887:
push	dword ptr [ebp-30h]
lea	ecx, [ebp-50h]
call	sub_1032D5B
xor	esi, esi
inc	esi

loc_1014895:
lea	ecx, [ebp-38h]
mov	[ebp-4], bl
mov	dword ptr [ebp-38h], offset off_1001F9C
call	sub_10096BE
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-50h]
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	ecx, [ebp-0Ch]
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	14h
sub_101463D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10148CB proc near

apt= POINT ptr -44h
var_3C=	dword ptr -3Ch
var_38=	dword ptr -38h
var_34=	dword ptr -34h
var_30=	dword ptr -30h
var_2C=	dword ptr -2Ch
var_28=	dword ptr -28h
var_24=	dword ptr -24h
var_20=	dword ptr -20h
var_1C=	dword ptr -1Ch
var_18=	dword ptr -18h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h
arg_10=	dword ptr  18h
arg_14=	dword ptr  1Ch
arg_18=	dword ptr  20h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 44h
mov	ecx, [ebp+arg_0]
mov	eax, [ecx]
push	ebx
push	esi
push	edi
push	8
call	dword ptr [eax+2Ch]
cmp	[ebp+arg_18], 3
mov	esi, [ebp+arg_14]
mov	ebx, [ebp+arg_8]
mov	edi, [ebp+arg_4]
mov	[ebp+var_4], eax
jz	short loc_10148F8
cmp	[ebp+arg_18], 2
jnz	short loc_1014945

loc_10148F8:
mov	eax, [ebp+arg_C]
sub	eax, edi
cdq
mov	ecx, eax
mov	eax, [ebp+arg_10]
xor	ecx, edx
sub	eax, ebx
sub	ecx, edx
cdq
xor	eax, edx
sub	eax, edx
xor	edx, edx
cmp	[ebp+arg_C], edi
jle	short loc_101492B
cmp	[ebp+arg_10], ebx
jge	short loc_1014921
cmp	ecx, eax
setle	dl
jmp	short loc_1014941

loc_1014921:
cmp	ecx, eax
setnle	dl
add	edx, 6
jmp	short loc_1014941

loc_101492B:
cmp	[ebp+arg_10], ebx
jge	short loc_1014939
cmp	ecx, eax
setnle	dl
inc	edx
inc	edx
jmp	short loc_1014941

loc_1014939:
cmp	ecx, eax
setle	dl
add	edx, 4

loc_1014941:
mov	ecx, edx
jmp	short loc_1014948

loc_1014945:
mov	ecx, [ebp+arg_0]

loc_1014948:
mov	eax, [ebp+arg_18]
sub	eax, 0
jz	loc_1014C58
dec	eax
jz	loc_1014C41
dec	eax
jz	loc_1014ADD
dec	eax
jnz	loc_1014D11
test	ecx, ecx
jl	loc_1014A8B
cmp	ecx, 1
jle	loc_1014A57
cmp	ecx, 2
jz	loc_1014A1C
cmp	ecx, 3
jz	short loc_1014A00
jle	loc_1014A8B
cmp	ecx, 5
jle	short loc_10149DC
cmp	ecx, 6
jnz	loc_1014A8B
mov	ecx, [ebp+arg_C]
lea	eax, [edi+1]
mov	[ebp+var_3C], eax
lea	eax, [edi+esi+1]
mov	[ebp+var_34], eax
lea	eax, [ecx+esi]
lea	edx, [eax+1]
mov	[ebp+var_24], eax
mov	eax, [ebp+arg_10]
mov	[ebp+var_38], ebx
mov	[ebp+apt.y], ebx
add	ebx, esi
add	esi, eax
mov	[ebp+apt.x], edi
mov	[ebp+var_2C], edx
mov	[ebp+var_1C], ecx
mov	[ebp+var_20], esi
mov	[ebp+var_28], esi

loc_10149D1:
mov	[ebp+var_30], ebx
mov	[ebp+var_18], eax
jmp	loc_1014AC6

loc_10149DC:
lea	eax, [edi+1]
mov	[ebp+apt.x], eax
mov	eax, [ebp+arg_C]
mov	[ebp+var_34], eax
add	eax, esi
mov	[ebp+var_2C], eax
inc	eax
mov	[ebp+var_24], eax
lea	eax, [edi+esi+1]
mov	[ebp+var_3C], edi
mov	[ebp+var_1C], eax
jmp	loc_1014AAD

loc_1014A00:
lea	eax, [edi+esi]
lea	ecx, [eax+1]
mov	[ebp+var_3C], eax
mov	eax, [ebp+arg_C]
mov	[ebp+apt.x], ecx
lea	ecx, [eax+esi]
mov	[ebp+var_2C], eax
inc	eax
mov	[ebp+var_34], ecx
inc	edi
jmp	short loc_1014A71

loc_1014A1C:
lea	eax, [edi+esi]
lea	ecx, [eax+1]
mov	[ebp+var_3C], eax
mov	eax, [ebp+arg_C]
mov	[ebp+var_2C], eax
mov	[ebp+apt.x], ecx
lea	ecx, [eax+1]
lea	eax, [eax+esi+1]
mov	[ebp+var_1C], eax
lea	eax, [ebx+esi]
mov	[ebp+var_38], eax
mov	[ebp+apt.y], eax
mov	eax, [ebp+arg_10]
mov	[ebp+var_20], eax
mov	[ebp+var_28], eax
mov	[ebp+var_34], edi
mov	[ebp+var_24], ecx
add	eax, esi
jmp	loc_10149D1

loc_1014A57:
lea	eax, [edi+esi]
mov	[ebp+apt.x], eax
inc	eax
mov	[ebp+var_3C], eax
mov	eax, [ebp+arg_C]
lea	ecx, [eax+esi+1]
mov	[ebp+var_34], ecx
lea	ecx, [eax+1]
mov	[ebp+var_2C], ecx

loc_1014A71:
mov	[ebp+var_24], eax
lea	eax, [ebx+esi]
mov	[ebp+var_38], eax
mov	[ebp+apt.y], eax
mov	eax, [ebp+arg_10]
lea	ecx, [eax+esi]
mov	[ebp+var_1C], edi
mov	[ebp+var_30], ecx
jmp	short loc_1014ABD

loc_1014A8B:
lea	eax, [edi+1]
mov	[ebp+var_3C], eax
mov	eax, [ebp+arg_C]
lea	ecx, [eax+1]
add	eax, esi
mov	[ebp+apt.x], edi
mov	[ebp+var_34], ecx
lea	ecx, [eax+1]
add	edi, esi
mov	[ebp+var_2C], ecx
mov	[ebp+var_24], eax
mov	[ebp+var_1C], edi

loc_1014AAD:
mov	eax, [ebp+arg_10]
mov	[ebp+var_30], eax
mov	[ebp+apt.y], ebx
mov	[ebp+var_38], ebx
add	eax, esi
add	ebx, esi

loc_1014ABD:
mov	[ebp+var_20], eax
mov	[ebp+var_28], eax
mov	[ebp+var_18], ebx

loc_1014AC6:		; cpt
push	6
lea	eax, [ebp+apt]
push	eax		; apt
mov	eax, [ebp+arg_0]
push	dword ptr [eax+4] ; hdc

loc_1014AD2:
call	ds:Polygon
jmp	loc_1014D11

loc_1014ADD:
mov	eax, [ebp+arg_C]
dec	edi
dec	eax
test	ecx, ecx
jz	loc_1014BF6
cmp	ecx, 1
jz	loc_1014BC1
jle	loc_1014B95
cmp	ecx, 3
jle	short loc_1014B62
cmp	ecx, 4
jz	short loc_1014B49
cmp	ecx, 5
jnz	loc_1014B95
lea	ecx, [edi+esi]
lea	edx, [ecx+1]
mov	[ebp+var_3C], ecx
mov	[ebp+var_2C], eax
lea	ecx, [eax+1]
lea	eax, [eax+esi+1]
mov	[ebp+var_1C], eax
mov	eax, [ebp+arg_10]
mov	[ebp+var_38], ebx
mov	[ebp+apt.y], ebx
add	ebx, esi
add	esi, eax
mov	[ebp+apt.x], edx
mov	[ebp+var_34], edi
mov	[ebp+var_20], esi
mov	[ebp+var_28], esi

loc_1014B3B:
mov	[ebp+var_24], ecx
mov	[ebp+var_30], ebx
mov	[ebp+var_18], eax
jmp	loc_1014C30

loc_1014B49:
lea	ecx, [edi+esi]
lea	edx, [ecx+1]
mov	[ebp+var_3C], ecx
lea	ecx, [eax+esi]
mov	[ebp+var_2C], eax
inc	eax
mov	[ebp+apt.x], edx
mov	[ebp+var_34], ecx
inc	edi
jmp	short loc_1014BAC

loc_1014B62:
mov	[ebp+var_34], eax
add	eax, esi
mov	[ebp+var_2C], eax
inc	eax
mov	[ebp+var_24], eax
lea	eax, [edi+esi+1]
mov	[ebp+var_1C], eax
lea	eax, [ebx+esi]
lea	ecx, [edi+1]
mov	[ebp+var_38], eax
mov	[ebp+apt.y], eax
mov	eax, [ebp+arg_10]
mov	[ebp+apt.x], ecx
lea	ecx, [eax+esi]
mov	[ebp+var_3C], edi
mov	[ebp+var_30], ecx
jmp	loc_1014C27

loc_1014B95:
lea	ecx, [edi+esi]
mov	[ebp+apt.x], ecx
inc	ecx
mov	[ebp+var_3C], ecx
lea	ecx, [eax+esi+1]
mov	[ebp+var_34], ecx
lea	ecx, [eax+1]
mov	[ebp+var_2C], ecx

loc_1014BAC:
mov	[ebp+var_24], eax
mov	eax, [ebp+arg_10]
mov	[ebp+var_30], eax
mov	[ebp+var_38], ebx
mov	[ebp+apt.y], ebx
add	eax, esi
add	ebx, esi
jmp	short loc_1014C24

loc_1014BC1:
lea	ecx, [edi+1]
mov	[ebp+var_3C], ecx
lea	ecx, [edi+esi+1]
mov	[ebp+var_1C], eax
mov	[ebp+var_34], ecx
lea	ecx, [eax+esi]
lea	eax, [ebx+esi]
mov	[ebp+var_38], eax
mov	[ebp+apt.y], eax
mov	eax, [ebp+arg_10]
lea	edx, [ecx+1]
mov	[ebp+var_20], eax
mov	[ebp+var_28], eax
mov	[ebp+apt.x], edi
mov	[ebp+var_2C], edx
add	eax, esi
jmp	loc_1014B3B

loc_1014BF6:
lea	ecx, [edi+1]
mov	[ebp+var_3C], ecx
lea	ecx, [eax+1]
add	eax, esi
mov	[ebp+var_34], ecx
lea	ecx, [eax+1]
mov	[ebp+var_24], eax
lea	eax, [ebx+esi]
mov	[ebp+var_38], eax
mov	[ebp+apt.y], eax
mov	eax, [ebp+arg_10]
mov	[ebp+var_2C], ecx
lea	ecx, [eax+esi]
mov	[ebp+apt.x], edi
add	edi, esi
mov	[ebp+var_30], ecx

loc_1014C24:
mov	[ebp+var_1C], edi

loc_1014C27:
mov	[ebp+var_20], eax
mov	[ebp+var_28], eax
mov	[ebp+var_18], ebx

loc_1014C30:
push	6
lea	eax, [ebp+apt]
push	eax
mov	eax, [ebp+arg_0]
push	dword ptr [eax+4]
jmp	loc_1014AD2

loc_1014C41:
push	esi
push	esi
push	[ebp+arg_10]
push	[ebp+arg_C]
push	ebx
push	edi
push	[ebp+arg_0]
call	sub_1013731
jmp	loc_1014D11

loc_1014C58:
push	ebx
push	edi
lea	ecx, [ebp+arg_C]
call	sub_10124FC
test	eax, eax
jz	loc_1014CF4
mov	eax, [ebp+arg_C]
mov	ecx, edi
sub	eax, ecx
mov	ecx, [ebp+arg_10]
mov	edx, ebx
sub	ecx, edx
lea	edx, [ebp+var_14]
push	edx
push	ecx
push	eax
push	esi
push	esi
call	sub_101463D
test	eax, eax
jz	loc_1014D1C
mov	eax, [ebp+var_14]
lea	ecx, [eax+edi]
mov	[ebp+var_34], ecx
mov	ecx, [ebp+var_C]
lea	edx, [ecx+edi]
mov	[ebp+var_2C], edx
mov	edx, [ebp+arg_C]
add	eax, edx
add	ecx, edx
mov	[ebp+var_1C], eax
mov	eax, [ebp+var_10]
mov	[ebp+var_24], ecx
lea	ecx, [eax+ebx]
mov	[ebp+var_30], ecx
mov	ecx, [ebp+var_8]
lea	edx, [ecx+ebx]
mov	[ebp+var_28], edx
mov	edx, [ebp+arg_10]
add	eax, edx
mov	[ebp+var_18], eax
push	4		; cpt
lea	eax, [ebp+var_34]
push	eax		; apt
mov	eax, [ebp+arg_0]
push	dword ptr [eax+4] ; hdc
add	ecx, edx
mov	[ebp+var_20], ecx
call	ds:Polygon
push	1
lea	eax, [ebx+esi]
push	eax
lea	eax, [edi+esi]
push	eax
mov	eax, [ebp+arg_0]
push	ebx
push	edi
push	dword ptr [eax+4]
call	sub_101437E

loc_1014CF4:
mov	ecx, [ebp+arg_10]
push	1
lea	eax, [ecx+esi]
push	eax
mov	eax, [ebp+arg_C]
lea	edx, [eax+esi]
push	edx
push	ecx
push	eax
mov	eax, [ebp+arg_0]
push	dword ptr [eax+4]
call	sub_101437E

loc_1014D11:
push	[ebp+var_4]
mov	ecx, [ebp+arg_0]
call	?SelectObject@CDC@@QAEPAVCPen@@PAV2@@Z ; CDC::SelectObject(CPen	*)

loc_1014D1C:
pop	edi
pop	esi
pop	ebx
leave
retn	1Ch
sub_10148CB endp

align 8


; Attributes: bp-based frame

; int __stdcall	sub_1014D28(HDC	h, int x, int y, int, int, COLORREF color, int,	int, int)
sub_1014D28 proc near

ho= dword ptr -8
var_4= dword ptr -4
h= dword ptr  8
x= dword ptr  0Ch
y= dword ptr  10h
arg_C= dword ptr  14h
arg_10=	dword ptr  18h
color= dword ptr  1Ch
arg_18=	dword ptr  20h
arg_1C=	dword ptr  24h
arg_20=	dword ptr  28h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
mov	eax, [ebp+arg_18]
cdq
push	ebx
mov	ebx, [ebp+h]
sub	eax, edx
push	edi
mov	edi, eax
sar	edi, 1
test	ebx, ebx
jz	loc_1014DF8
push	esi
push	[ebp+color]	; color
call	ds:CreateSolidBrush
mov	esi, ds:SelectObject
push	eax		; h
push	ebx		; hdc
mov	[ebp+ho], eax
call	esi ; SelectObject
cmp	[ebp+arg_18], 1
mov	[ebp+var_4], eax
jnz	short loc_1014DBB
push	[ebp+color]	; color
push	1		; cWidth
push	0		; iStyle
call	ds:CreatePen
mov	edi, eax
test	edi, edi
jz	short loc_1014DE8
push	edi		; h
push	ebx		; hdc
call	esi ; SelectObject
push	0		; lppt
push	[ebp+y]		; y
mov	[ebp+h], eax
push	[ebp+x]		; x
push	ebx		; hdc
call	ds:MoveToEx
push	[ebp+arg_10]	; y
push	[ebp+arg_C]	; x
push	ebx		; hdc
call	ds:LineTo
push	[ebp+color]	; color
push	[ebp+arg_10]	; y
push	[ebp+arg_C]	; x
push	ebx		; hdc
call	ds:SetPixel
push	[ebp+h]		; h
push	ebx		; hdc
call	esi ; SelectObject
push	edi		; ho
call	ds:DeleteObject
jmp	short loc_1014DE8

loc_1014DBB:
push	[ebp+arg_1C]
mov	ecx, [ebp+arg_10]
push	[ebp+arg_18]
mov	eax, [ebp+arg_C]
mov	ebx, [ebp+y]
mov	edx, [ebp+x]
sub	ecx, edi
push	ecx
sub	eax, edi
push	eax
sub	ebx, edi
push	ebx
mov	ebx, [ebp+h]
sub	edx, edi
push	edx
push	ebx
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
push	eax
call	sub_10148CB

loc_1014DE8:		; h
push	[ebp+var_4]
push	ebx		; hdc
call	esi ; SelectObject
push	[ebp+ho]	; ho
call	ds:DeleteObject
pop	esi

loc_1014DF8:
mov	edx, [ebp+x]
mov	ecx, [ebp+arg_C]
cmp	edx, ecx
mov	eax, [ebp+arg_20]
pop	edi
pop	ebx
jge	short loc_1014E0F
inc	ecx
mov	[eax], edx
mov	[eax+8], ecx
jmp	short loc_1014E15

loc_1014E0F:
inc	edx
mov	[eax], ecx
mov	[eax+8], edx

loc_1014E15:
mov	edx, [ebp+y]
mov	ecx, [ebp+arg_10]
cmp	edx, ecx
jge	short loc_1014E28
inc	ecx
mov	[eax+4], edx
mov	[eax+0Ch], ecx
jmp	short loc_1014E2F

loc_1014E28:
inc	edx
mov	[eax+4], ecx
mov	[eax+0Ch], edx

loc_1014E2F:
mov	ecx, [ebp+arg_18]
add	ecx, ecx
sub	[eax], ecx
sub	[eax+4], ecx
add	[eax+8], ecx
add	[eax+0Ch], ecx
leave
retn	24h
sub_1014D28 endp

align 8


; Attributes: bp-based frame

; int __stdcall	sub_1014E48(int, int x,	int y, int, int, COLORREF color, int, int, int)
sub_1014E48 proc near

hPal= HPALETTE__ ptr -10h
arg_0= dword ptr  8
x= dword ptr  0Ch
y= dword ptr  10h
arg_C= dword ptr  14h
arg_10=	dword ptr  18h
color= dword ptr  1Ch
arg_18=	dword ptr  20h
arg_1C=	dword ptr  24h
arg_20=	dword ptr  28h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
mov	esi, [ebp+arg_0]
lea	eax, [ebp+hPal]
push	eax		; int
push	[ebp+arg_1C]	; int
push	[ebp+arg_18]	; int
push	[ebp+color]	; color
push	[ebp+arg_10]	; int
push	[ebp+arg_C]	; int
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [esi+0Ch] ; h
call	sub_1014D28
lea	eax, [ebp+hPal]
push	eax		; lprcSrc2
push	esi		; int
call	sub_101282E
cmp	[ebp+arg_20], 0
jz	short loc_1014E8F
lea	eax, [ebp+hPal]
push	eax		; hPal
push	esi		; int
call	sub_10128D0

loc_1014E8F:
pop	esi
leave
retn	24h
sub_1014E48 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1014E99(int	prgbq, int x, int, int)
sub_1014E99 proc near

rc= dword ptr -10h
y= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
prgbq= dword ptr  8
x= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
cmp	dword_103E870, 0
mov	eax, off_103D74C
push	ebx
mov	ebx, [eax+24h]
push	esi
push	edi
jz	loc_1014F83
mov	eax, [ebp+x]
mov	edx, dword_103E7A4
mov	ecx, [ebp+arg_8]
push	dword_103E81C	; int
add	edx, eax
push	dword_103E818	; int
mov	[ebp+rc], eax
mov	eax, cy
add	eax, ecx
mov	[ebp+y], ecx
lea	ecx, [ebp+rc]	; lprc
mov	[ebp+var_8], edx
mov	[ebp+var_4], eax
call	sub_10126EB
lea	esi, [ebp+rc]
mov	edi, offset stru_103E808
movsd
movsd
movsd
xor	edx, edx
xor	ecx, ecx
cmp	[ebp+arg_C], edx
movsd
jz	short loc_1014F14
cmp	dword_103E7E8, edx
mov	eax, dword_103E87C
setnz	cl
inc	ecx
jmp	short loc_1014F19

loc_1014F14:
mov	eax, color

loc_1014F19:
mov	esi, off_103D74C
cmp	dword ptr [esi+30h], 26Eh
mov	esi, [ebp+prgbq]
jz	short loc_1014F6D
sub	ecx, edx
jz	short loc_1014F5B
dec	ecx
jz	short loc_1014F48
dec	ecx
jnz	short loc_1014F6D
push	[ebp+y]		; y
mov	ecx, offset unk_103E778
push	[ebp+rc]	; x
push	esi		; prgbq
call	sub_100EFD4
jmp	short loc_1014F6D

loc_1014F48:		; y
push	[ebp+y]
mov	ecx, offset unk_103E778
push	[ebp+rc]	; x
push	esi		; prgbq
call	sub_100EEED
jmp	short loc_1014F6D

loc_1014F5B:		; color
push	eax
push	[ebp+y]		; y
mov	ecx, offset unk_103E778
push	[ebp+rc]	; x
push	esi		; int
call	sub_100E736

loc_1014F6D:
lea	eax, [ebp+rc]
push	eax		; lprcSrc2
push	esi		; int
call	sub_101282E
lea	eax, [ebp+rc]
push	eax		; hPal
push	esi		; int
call	sub_10128D0
jmp	short loc_1014FD7

loc_1014F83:
cmp	[ebp+arg_C], 0
mov	ecx, dword_103E87C
jnz	short loc_1014F95
mov	ecx, color

loc_1014F95:
mov	esi, [ebp+arg_8]
mov	edi, [ebp+x]
push	1		; int
push	dword ptr [eax+28h] ; int
push	ebx		; int
push	ecx		; color
push	esi		; int
push	edi		; int
push	esi		; y
push	edi		; x
push	[ebp+prgbq]	; int
call	sub_1014E48
mov	eax, ebx
cdq
sub	eax, edx
sar	eax, 1
sub	edi, eax
sub	esi, eax
mov	ecx, edi
mov	eax, esi
mov	stru_103ED10.left, ecx
add	ecx, ebx
mov	stru_103ED10.top, eax
add	eax, ebx
mov	stru_103ED10.right, ecx
mov	stru_103ED10.bottom, eax

loc_1014FD7:
pop	edi
pop	esi
pop	ebx
leave
retn	10h
sub_1014E99 endp

db 5 dup(0CCh)

loc_1014FE3:
mov	eax, offset off_1002C38
retn
db 5 dup(0CCh)

loc_1014FEE:
mov	eax, offset off_1002C50
retn
db 5 dup(0CCh)

loc_1014FF9:
mov	eax, offset off_1002C68
retn
db 5 dup(0CCh)

loc_1015004:
mov	eax, offset off_1002C80
retn
db 5 dup(0CCh)

loc_101500F:
mov	eax, offset off_1002C98
retn
db 5 dup(0CCh)

loc_101501A:
mov	eax, offset off_1002CB0
retn
db 5 dup(0CCh)

loc_1015025:
mov	eax, offset off_1002CC8
retn
align 10h
mov	eax, offset off_1002CE0
retn
db 5 dup(0CCh)
mov	eax, offset off_1002CF8
retn
db 5 dup(0CCh)
mov	eax, offset off_1002D10
retn
db 5 dup(0CCh)

loc_1015051:
mov	eax, offset off_1002D28
retn
db 5 dup(0CCh)

loc_101505C:
mov	eax, offset off_1002D40
retn
db 5 dup(0CCh)

loc_1015067:
mov	eax, offset off_1002BF0
retn
db 5 dup(0CCh)

loc_1015072:
mov	eax, offset off_1002D70
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101507D proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ebp+arg_0]
mov	eax, [ecx+10h]
mov	edx, [ecx+8]
cmp	eax, edx
push	esi
jle	short loc_10150AF
mov	esi, [ecx+14h]
cmp	esi, [ecx+0Ch]
jle	short loc_101509D
push	4

loc_101509A:
pop	eax
jmp	short loc_10150EE

loc_101509D:
cmp	eax, edx
jle	short loc_10150AF
mov	esi, [ecx+14h]
cmp	esi, [ecx+0Ch]
jge	short loc_10150AD
push	5
jmp	short loc_101509A

loc_10150AD:
cmp	eax, edx

loc_10150AF:
jge	short loc_10150BD
mov	esi, [ecx+14h]
cmp	esi, [ecx+0Ch]
jle	short loc_10150BD
push	6
jmp	short loc_101509A

loc_10150BD:
cmp	edx, eax
jle	short loc_10150CF
mov	esi, [ecx+14h]
cmp	esi, [ecx+0Ch]
jge	short loc_10150CD
push	3
jmp	short loc_101509A

loc_10150CD:
cmp	edx, eax

loc_10150CF:
jz	short loc_10150DC
mov	edx, [ecx+0Ch]
xor	eax, eax
inc	eax
mov	[ecx+14h], edx
jmp	short loc_10150EE

loc_10150DC:
mov	eax, [ecx+0Ch]
cmp	eax, [ecx+14h]
jz	short loc_10150EC
push	2
pop	eax
mov	[ecx+10h], edx
jmp	short loc_10150EE

loc_10150EC:
xor	eax, eax

loc_10150EE:
pop	esi
pop	ebp
retn	4
sub_101507D endp

align 8


; Attributes: bp-based frame

sub_10150F8 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, [ebp+arg_0]
test	edi, edi
mov	esi, ecx
jz	short loc_101513B
push	10h		; nVirtKey
call	ds:GetKeyState
test	ah, ah
jns	short loc_1015137
mov	eax, [esi+4]
test	eax, eax
jle	short loc_101512A
cmp	eax, 6
jg	short loc_101512A

loc_1015120:
mov	eax, [esi]
push	edi
mov	ecx, esi
call	dword ptr [eax+14h]
jmp	short loc_101513B

loc_101512A:
push	edi
mov	ecx, esi
call	sub_101507D
mov	[esi+4], eax
jmp	short loc_1015120

loc_1015137:
and	dword ptr [esi+4], 0

loc_101513B:
pop	edi
pop	esi
pop	ebp
retn	4
sub_10150F8 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1015146 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	dword_103E908, 0
jnz	short loc_1015164
mov	ecx, off_103D74C
mov	eax, [ecx]
push	0
push	[ebp+arg_0]
call	dword ptr [eax+40h]

loc_1015164:
inc	dword_103E908
pop	ebp
retn	4
sub_1015146 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1015173 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
dec	dword_103E908
jnz	short loc_1015190
mov	ecx, off_103D74C
mov	eax, [ecx]
push	1
push	[ebp+arg_0]
call	dword ptr [eax+40h]

loc_1015190:
pop	ebp
retn	4
sub_1015173 endp

db 5 dup(0CCh)



sub_1015199 proc near
mov	eax, off_103D74C
push	esi
push	edi
mov	esi, ecx
xor	edi, edi
jmp	short loc_10151B1

loc_10151A6:
cmp	[esi+14h], edi
jz	short loc_10151B5
mov	esi, off_103D750

loc_10151B1:
cmp	esi, eax
jz	short loc_10151A6

loc_10151B5:
cmp	dword_103E870, edi
jz	short loc_10151C9
push	edi
mov	dword_103E870, edi
call	sub_10124E6

loc_10151C9:
call	sub_10129FB
mov	ecx, off_103D74C
cmp	[ecx+10h], edi
jz	short loc_10151E3
cmp	ecx, esi
jz	short loc_10151E3
mov	off_103D750, ecx

loc_10151E3:
mov	eax, [ecx]
push	edi
call	dword ptr [eax+3Ch]
mov	off_103D74C, esi
mov	eax, [esi]
push	1
mov	ecx, esi
call	dword ptr [eax+3Ch]
cmp	off_103D74C, esi
jnz	short loc_1015235
push	edi
call	sub_10124E6
mov	ecx, dword_103F170
cmp	ecx, edi
jz	short loc_101522E
xor	eax, eax
mov	ax, [esi+30h]
push	eax
call	sub_102C98F
mov	ecx, dword_103F170
cmp	[ecx+20h], edi
jz	short loc_101522E
push	1
call	sub_102C06B

loc_101522E:
pop	edi
pop	esi
jmp	sub_10195C2

loc_1015235:
pop	edi
pop	esi
retn
sub_1015199 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101523D proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, dword_103E900
jmp	short loc_1015254

loc_1015249:
mov	ecx, [eax+30h]
cmp	ecx, [ebp+arg_0]
jz	short loc_1015258
mov	eax, [eax+34h]

loc_1015254:
test	eax, eax
jnz	short loc_1015249

loc_1015258:
pop	ebp
retn	4
sub_101523D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1015261 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, [ebp+arg_0]
mov	esi, ecx
cmp	edi, [esi+24h]
jz	short loc_10152B2
call	sub_10129FB
and	dword_103E870, 0
mov	[esi+24h], edi
mov	ecx, dword_103F170
push	1
call	sub_102C06B
cmp	dword_103EDE0, 0
jnz	short loc_10152A0
cmp	dword_103EDE4, 0
jz	short loc_10152B2

loc_10152A0:
mov	eax, [esi]
push	offset dword_103EDC8
push	dword_103ED04
mov	ecx, esi
call	dword ptr [eax+2Ch]

loc_10152B2:
pop	edi
pop	esi
pop	ebp
retn	4
sub_1015261 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10152BD proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	[ebp+arg_0], 0
jz	short loc_10152D5
mov	eax, [ecx]
push	1
push	dword_103ED04
call	dword ptr [eax+40h]

loc_10152D5:
pop	ebp
retn	4
sub_10152BD endp

db 5 dup(0CCh)



sub_10152DE proc near
mov	dword_103E904, 1
retn	8
sub_10152DE endp

align 10h


; Attributes: bp-based frame

sub_10152F0 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
and	dword_103E904, 0
cmp	dword ptr [ecx+0Ch], 0
jz	short loc_101530D
mov	eax, [ebp+arg_0]
push	dword ptr [eax+40h]
call	sub_10127C0

loc_101530D:
pop	ebp
retn	8
sub_10152F0 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1015316 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	dword ptr [ecx+8], 0
push	esi
mov	esi, [ebp+arg_4]
jz	short loc_101533D
mov	ecx, [ebp+arg_0]
mov	dword_103E874, 1
push	dword ptr [esi+14h] ; y
push	dword ptr [esi+10h] ; x
call	sub_101A1DD

loc_101533D:
add	esi, 10h
push	esi
call	sub_1009D6F
pop	esi
pop	ebp
retn	8
sub_1015316 endp

align 10h



sub_1015350 proc near
and	dword_103E904, 0
retn	4
sub_1015350 endp

db 5 dup(0CCh)



sub_101535F proc near
push	0		; uType
call	ds:MessageBeep
retn	0Ch
sub_101535F endp

db 5 dup(0CCh)



sub_101536F proc near
xor	eax, eax
cmp	[ecx+20h], eax
setz	al
retn	4
sub_101536F endp

db 5 dup(0CCh)



sub_101537F proc near
and	dword ptr [ecx+20h], 0
retn	4
sub_101537F endp

db 5 dup(0CCh)



sub_101538B proc near
xor	eax, eax
cmp	dword_103E904, eax
jnz	short loc_101539F
cmp	[ecx+20h], eax
jnz	short loc_101539F
cmp	[ecx+14h], eax
jz	short locret_10153A2

loc_101539F:
xor	eax, eax
inc	eax

locret_10153A2:
retn
sub_101538B endp

align 8



sub_10153A8 proc near
cmp	dword ptr [ecx+20h], 0
jz	short loc_10153B1
xor	eax, eax
retn

loc_10153B1:
mov	eax, [ecx+0Ch]
retn
sub_10153A8 endp

db 5 dup(0CCh)



sub_10153BA proc near
mov	eax, [ecx+2Ch]
retn
sub_10153BA endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10153C3 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, [ebp+arg_0]
mov	dword_103E904, 1
push	dword ptr [edi+40h] ; hPal
mov	esi, ecx
call	sub_1012A88
push	[ebp+arg_4]
mov	eax, [esi]
push	edi
mov	ecx, esi
call	dword ptr [eax+2Ch]
pop	edi
pop	esi
pop	ebp
retn	8
sub_10153C3 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10153F7 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ebp+arg_0]
test	ecx, ecx
jz	short loc_101544A
mov	edx, [ecx+14h]
push	ebx
mov	ebx, [ecx+4]
mov	eax, ebx
sub	eax, edx
cdq
push	esi
mov	esi, eax
xor	esi, edx
sub	esi, edx
mov	edx, [ecx+10h]
push	edi
mov	edi, [ecx]
mov	eax, edi
sub	eax, edx
cdq
xor	eax, edx
sub	eax, edx
cmp	eax, esi
jl	short loc_101542B
mov	eax, esi

loc_101542B:
cmp	[ecx+10h], edi
jge	short loc_1015434
sub	edi, eax
jmp	short loc_1015436

loc_1015434:
add	edi, eax

loc_1015436:
cmp	[ecx+14h], ebx
mov	[ecx+10h], edi
jge	short loc_1015442
sub	ebx, eax
jmp	short loc_1015444

loc_1015442:
add	ebx, eax

loc_1015444:
pop	edi
pop	esi
mov	[ecx+14h], ebx
pop	ebx

loc_101544A:
pop	ebp
retn	4
sub_10153F7 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1015453 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	[ebp+arg_0], 0
jz	short loc_1015468
mov	eax, dword_103D748
mov	[ecx+24h], eax
jmp	short loc_1015470

loc_1015468:
mov	eax, [ecx+24h]
mov	dword_103D748, eax

loc_1015470:
pop	ebp
jmp	sub_10152BD
sub_1015453 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_101547B(HDC	hdc, COLORREF color, int, int)
sub_101547B proc near

var_8= dword ptr -8
var_4= dword ptr -4
hdc= dword ptr	8
color= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
push	ebx
push	esi
push	edi
xor	edi, edi
cmp	[ebp+arg_C], edi
mov	[ebp+var_8], ecx
jz	short loc_10154B6
mov	eax, dword_103D6A4
cmp	eax, 87654321h
jz	short loc_10154B6
cmp	[ecx+1Ch], edi
mov	ecx, color
jz	short loc_10154D3
cmp	[ebp+color], edi
mov	[ebp+arg_C], eax
jnz	short loc_10154DE
mov	[ebp+arg_C], ecx

loc_10154B1:
mov	[ebp+color], eax
jmp	short loc_10154E1

loc_10154B6:
cmp	[ecx+1Ch], edi
jz	short loc_10154C8
mov	eax, color
mov	ecx, dword_103E87C
jmp	short loc_10154D3

loc_10154C8:
mov	eax, dword_103E87C
mov	ecx, color

loc_10154D3:
cmp	[ebp+color], edi
mov	[ebp+arg_C], ecx
jnz	short loc_10154B1
mov	[ebp+arg_C], eax

loc_10154DE:
mov	[ebp+color], ecx

loc_10154E1:
xor	eax, eax
inc	eax
cmp	[ebp+arg_8], edi
mov	[ebp+var_4], eax
jz	loc_1015577
cmp	dword_103ECF0, edi
jnz	loc_10155C1
mov	dword_103ECEC, edi
mov	dword_103ECE8, edi
mov	edi, ds:GetStockObject
push	8		; i
mov	dword_103ECF0, eax
call	edi ; GetStockObject
mov	ebx, [ebp+hdc]
mov	esi, ds:SelectObject
push	eax		; h
push	ebx		; hdc
call	esi ; SelectObject
push	5		; i
mov	dword_103ECE4, eax
call	edi ; GetStockObject
push	eax		; h
push	ebx		; hdc
call	esi ; SelectObject
mov	edi, [ebp+var_8]
cmp	dword ptr [edi+18h], 0
mov	dword_103ECE0, eax
jz	short loc_1015551
push	[ebp+color]	; color
call	ds:CreateSolidBrush
push	eax		; h
push	ebx		; hdc
mov	dword_103ECE8, eax
call	esi ; SelectObject

loc_1015551:
cmp	dword ptr [edi+1Ch], 0
jz	short loc_101555F
push	[ebp+arg_C]
push	dword ptr [edi+24h]
jmp	short loc_1015564

loc_101555F:		; color
push	[ebp+color]
push	2		; cWidth

loc_1015564:		; iStyle
push	6
call	ds:CreatePen
push	eax		; h
push	ebx		; hdc
mov	dword_103ECEC, eax
call	esi ; SelectObject
jmp	short loc_10155C4

loc_1015577:
cmp	dword_103ECF0, edi
jz	short loc_10155C1
push	dword_103ECE4	; h
mov	esi, ds:SelectObject
push	[ebp+hdc]	; hdc
mov	dword_103ECF0, edi
call	esi ; SelectObject
mov	eax, dword_103ECEC
cmp	eax, edi
mov	ebx, ds:DeleteObject
jz	short loc_10155A8
push	eax		; ho
call	ebx ; DeleteObject

loc_10155A8:		; h
push	dword_103ECE0
push	[ebp+hdc]	; hdc
call	esi ; SelectObject
mov	eax, dword_103ECE8
cmp	eax, edi
jz	short loc_10155C4
push	eax		; ho
call	ebx ; DeleteObject
jmp	short loc_10155C4

loc_10155C1:
mov	[ebp+var_4], edi

loc_10155C4:
mov	eax, [ebp+var_4]
pop	edi
pop	esi
pop	ebx
leave
retn	10h
sub_101547B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10155D3 proc near

var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
cmp	dword_103E870, 0
push	esi
mov	esi, ecx
mov	[ebp+var_4], esi
jz	short loc_1015628
mov	edx, dword_103E818
mov	eax, dword_103E7A4
mov	esi, dword_103E81C
lea	ecx, [edx+eax]
sub	rcDst.left, ecx
mov	ecx, cy
push	edi
lea	edi, [esi+ecx]
sub	rcDst.top, edi
sub	eax, edx
add	rcDst.right, eax
sub	ecx, esi
add	rcDst.bottom, ecx
mov	esi, [ebp+var_4]
pop	edi
jmp	short loc_1015672

loc_1015628:
mov	eax, [esi+24h]
shr	eax, 1
or	ecx, 0FFFFFFFFh
sub	ecx, eax
add	rcDst.left, ecx
mov	eax, [esi+24h]
shr	eax, 1
or	ecx, 0FFFFFFFFh
sub	ecx, eax
add	rcDst.top, ecx
mov	eax, [esi+24h]
mov	ecx, rcDst.right
inc	eax
shr	eax, 1
lea	eax, [ecx+eax+1]
mov	ecx, rcDst.bottom
mov	rcDst.right, eax
mov	eax, [esi+24h]
inc	eax
shr	eax, 1
lea	eax, [ecx+eax+1]
mov	rcDst.bottom, eax

loc_1015672:
mov	ecx, [ebp+arg_0]
push	offset rcDst	; hdc
call	sub_1018D27
push	[ebp+arg_4]
mov	ecx, esi
push	[ebp+arg_0]
call	sub_10152F0
pop	esi
leave
retn	8
sub_10155D3 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1015696 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
and	dword_103E874, 0
mov	eax, [ebp+arg_0]
push	esi
push	edi
mov	edi, [ebp+arg_4]
push	dword ptr [edi+18h] ; int
lea	esi, [edi+10h]
push	dword ptr [esi+4] ; int
push	dword ptr [esi]	; x
push	dword ptr [eax+40h] ; prgbq
call	sub_1014E99
mov	eax, [esi]
cmp	eax, rcDst.left
jge	short loc_10156CE
mov	rcDst.left, eax
jmp	short loc_10156DB

loc_10156CE:
cmp	eax, rcDst.right
jle	short loc_10156DB
mov	rcDst.right, eax

loc_10156DB:
mov	eax, [edi+14h]
cmp	eax, rcDst.top
jge	short loc_10156ED
mov	rcDst.top, eax
jmp	short loc_10156FA

loc_10156ED:
cmp	eax, rcDst.bottom
jle	short loc_10156FA
mov	rcDst.bottom, eax

loc_10156FA:
push	esi
call	sub_1009D6F
pop	edi
pop	esi
pop	ebp
retn	8
sub_1015696 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101570B proc near
mov	edi, edi
push	ebp
mov	ebp, esp
and	dword_103E870, 0
pop	ebp
jmp	sub_1015316
sub_101570B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1015722 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
mov	esi, [ebp+arg_4]
push	edi
xor	edi, edi
mov	ebx, ecx
mov	dword_103E870, edi
mov	dword_103E874, edi
mov	eax, [ebx]
push	esi
call	dword ptr [eax+18h]
cmp	[esi+20h], edi
jz	short loc_1015754
mov	eax, dword_103D6A4
cmp	eax, 87654321h
jnz	short loc_1015763

loc_1015754:
cmp	[esi+18h], edi
mov	eax, dword_103E87C
jnz	short loc_1015763
mov	eax, color

loc_1015763:		; int
push	1
push	dword ptr [ebx+28h] ; int
lea	edi, [esi+10h]
push	dword ptr [ebx+24h] ; int
push	eax		; color
push	dword ptr [edi+4] ; int
mov	eax, [ebp+arg_0]
push	dword ptr [edi]	; int
push	dword ptr [esi+0Ch] ; y
push	dword ptr [esi+8] ; x
push	dword ptr [eax+40h] ; int
call	sub_1014E48
mov	eax, [edi]
cmp	eax, rcDst.left
jge	short loc_1015796
mov	rcDst.left, eax
jmp	short loc_10157A3

loc_1015796:
cmp	eax, rcDst.right
jle	short loc_10157A3
mov	rcDst.right, eax

loc_10157A3:
mov	esi, [esi+14h]
cmp	esi, rcDst.top
jge	short loc_10157B6
mov	rcDst.top, esi
jmp	short loc_10157C4

loc_10157B6:
cmp	esi, rcDst.bottom
jle	short loc_10157C4
mov	rcDst.bottom, esi

loc_10157C4:
push	edi
call	sub_1009D6F
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	8
sub_1015722 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10157D6 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
inc	rcDst.right
inc	rcDst.bottom
push	esi
mov	esi, ecx
mov	ecx, [ebp+arg_0]
push	offset rcDst	; hdc
call	sub_1018D27
push	[ebp+arg_4]
mov	ecx, esi
push	[ebp+arg_0]
call	sub_10152F0
pop	esi
pop	ebp
retn	8
sub_10157D6 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101580E proc near

var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ebx
push	esi
mov	esi, [ebp+arg_0]
push	edi
push	esi
mov	[ebp+var_4], ecx
call	sub_101507D
mov	ecx, [esi+0Ch]
mov	edx, [esi+14h]
mov	edi, [esi+8]
mov	eax, ecx
sub	eax, edx
cdq
mov	ebx, eax
xor	ebx, edx
sub	ebx, edx
mov	edx, [esi+10h]
mov	eax, edi
sub	eax, edx
cdq
xor	eax, edx
sub	eax, edx
cmp	eax, ebx
jl	short loc_1015849
mov	eax, ebx

loc_1015849:
mov	edx, [ebp+var_4]
mov	edx, [edx+4]
cmp	edx, 1
jz	short loc_101589C
cmp	edx, 2
jz	short loc_10158B8
jle	short loc_101589F
cmp	edx, 4
jle	short loc_1015883
cmp	edx, 6
jg	short loc_101589F
mov	ebx, [esi+10h]
cmp	ebx, edi
jg	short loc_101587F
mov	edx, [esi+14h]
cmp	edx, ecx
jl	short loc_101587F
cmp	ebx, edi
jl	short loc_101587B
cmp	edx, ecx
jle	short loc_1015899

loc_101587B:
sub	edi, eax
jmp	short loc_10158B1

loc_101587F:
add	edi, eax
jmp	short loc_10158A8

loc_1015883:
mov	ebx, [esi+10h]
cmp	ebx, edi
jg	short loc_10158AF
mov	edx, [esi+14h]
cmp	edx, ecx
jg	short loc_10158AF
cmp	ebx, edi
jl	short loc_10158A6
cmp	edx, ecx
jl	short loc_10158A6

loc_1015899:
mov	[esi+10h], edi

loc_101589C:
mov	[esi+14h], ecx

loc_101589F:
pop	edi
pop	esi
pop	ebx
leave
retn	4

loc_10158A6:
sub	edi, eax

loc_10158A8:
mov	[esi+10h], edi
sub	ecx, eax
jmp	short loc_101589C

loc_10158AF:
add	edi, eax

loc_10158B1:
mov	[esi+10h], edi
add	ecx, eax
jmp	short loc_101589C

loc_10158B8:
mov	[esi+10h], edi
jmp	short loc_101589F
sub_101580E endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, color
and	dword_103E870, 0
push	esi
mov	esi, dword_103E87C
push	edi
push	dword ptr [ebp+0Ch]
mov	edi, eax
push	dword ptr [ebp+8]
mov	dword_103E87C, eax
call	sub_1015316
mov	color, edi
pop	edi
mov	dword_103E87C, esi
pop	esi
pop	ebp
retn	8
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
mov	eax, [esi+24h]
mov	ecx, [ebp+8]
shr	eax, 1
sub	rcDst.left, eax
mov	eax, [esi+24h]
shr	eax, 1
sub	rcDst.top, eax
mov	eax, [esi+24h]
inc	eax
shr	eax, 1
add	rcDst.right, eax
mov	eax, [esi+24h]
inc	eax
shr	eax, 1
add	rcDst.bottom, eax
push	offset rcDst
call	sub_1018D27
push	dword ptr [ebp+0Ch]
mov	ecx, esi
push	dword ptr [ebp+8]
call	sub_10152F0
pop	esi
pop	ebp
retn	8
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101595E proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_4]
mov	edx, [ecx+38h]
push	eax
push	[ebp+arg_0]
mov	[eax+20h], edx
mov	edx, [ecx]
call	dword ptr [edx+2Ch]
pop	ebp
retn	8
sub_101595E endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101597E proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ebp+arg_0]
test	ecx, ecx
jz	loc_1015A27
mov	edx, [ecx+10h]
push	ebx
push	esi
push	edi
mov	edi, [ecx]
mov	eax, edi
sub	eax, edx
cdq
mov	ebx, eax
xor	ebx, edx
sub	ebx, edx
mov	esi, 96Eh
jz	short loc_10159BE
mov	eax, [ecx+4]
sub	eax, [ecx+14h]
cdq
xor	eax, edx
sub	eax, edx
imul	eax, 3E8h
cdq
idiv	ebx
jmp	short loc_10159C0

loc_10159BE:
mov	eax, esi

loc_10159C0:
cmp	eax, esi
jl	short loc_10159CD
mov	[ebp+arg_0], 5Ah
jmp	short loc_10159E1

loc_10159CD:
cmp	eax, 19Eh
jl	short loc_10159DD
mov	[ebp+arg_0], 2Dh
jmp	short loc_10159E1

loc_10159DD:
and	[ebp+arg_0], 0

loc_10159E1:
mov	esi, [ecx+4]
mov	edx, [ecx+14h]
mov	eax, esi
sub	eax, edx
cdq
xor	eax, edx
sub	eax, edx
add	eax, ebx
cdq
sub	eax, edx
sar	eax, 1
cmp	[ebp+arg_0], 2Dh
jz	short loc_1015A08
cmp	[ebp+arg_0], 5Ah
jnz	short loc_1015A21
mov	[ecx+10h], edi
jmp	short loc_1015A24

loc_1015A08:
cmp	[ecx+10h], edi
jge	short loc_1015A11
sub	edi, eax
jmp	short loc_1015A13

loc_1015A11:
add	edi, eax

loc_1015A13:
cmp	[ecx+14h], esi
mov	[ecx+10h], edi
jge	short loc_1015A1F
sub	esi, eax
jmp	short loc_1015A21

loc_1015A1F:
add	esi, eax

loc_1015A21:
mov	[ecx+14h], esi

loc_1015A24:
pop	edi
pop	esi
pop	ebx

loc_1015A27:
pop	ebp
retn	4
sub_101597E endp

align 10h


; Attributes: bp-based frame

sub_1015A30 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, [ebp+arg_0]
push	0Fh		; nIndex
mov	esi, ecx
mov	dword_103E8F8, edi
call	ds:GetSysColor
push	edi
mov	ecx, esi
mov	[esi+38h], eax
call	sub_10152BD
pop	edi
pop	esi
pop	ebp
retn	4
sub_1015A30 endp

align 10h


; Attributes: bp-based frame

sub_1015A60 proc near
mov	edi, edi
push	ebp
mov	ebp, esp
mov	dword_103E904, 1
mov	eax, [ecx]
pop	ebp
jmp	dword ptr [eax+2Ch]
sub_1015A60 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1015A7A proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_4]
push	esi
push	dword ptr [eax+14h] ; y
mov	esi, ecx
push	dword ptr [eax+10h] ; x
mov	eax, [ebp+arg_0]
mov	eax, [eax+40h]
push	dword ptr [eax+0Ch] ; hdc
call	ds:GetPixel
mov	ecx, eax
shr	ecx, 10h
cmp	dword_103EF58, 0
jz	short loc_1015AC6
movzx	ecx, cl
or	ecx, 200h
movzx	edx, ah
shl	ecx, 8
or	ecx, edx
movzx	eax, al
shl	ecx, 8
or	ecx, eax
mov	[esi+38h], ecx
jmp	short loc_1015AD7

loc_1015AC6:
xor	edx, edx
mov	dh, cl
mov	dl, ah
movzx	eax, al
shl	edx, 8
or	edx, eax
mov	[esi+38h], edx

loc_1015AD7:
mov	eax, dword_103F170
test	eax, eax
pop	esi
jz	short loc_1015B00
mov	eax, [eax+20h]
test	eax, eax
jz	short loc_1015B00
push	eax		; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_1015B00
mov	ecx, dword_103F170
push	1
call	sub_102C06B

loc_1015B00:
pop	ebp
retn	8
sub_1015A7A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1015B09(RECT *lprcSrc1, int, RECT *lprcSrc2)
sub_1015B09 proc near

rcDst= tagRECT ptr -10h
arg_0= dword ptr  8
lprcSrc2= dword	ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
push	edi
push	[ebp+lprcSrc2]	; lprcSrc2
lea	eax, [ebp+rcDst]
push	ecx		; lprcSrc1
push	eax		; lprcDst
call	ds:IntersectRect
mov	eax, [ebp+arg_0]
lea	esi, [ebp+rcDst]
mov	edi, eax
movsd
movsd
movsd
movsd
pop	edi
pop	esi
leave
retn	8
sub_1015B09 endp

align 8


; Attributes: bp-based frame

sub_1015B38 proc near

hdc= dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
mov	esi, [ebp+arg_0]
mov	eax, [esi+40h]
push	edi
mov	edi, ecx
mov	ecx, [eax+30h]
mov	eax, [eax+2Ch]
and	[ebp+hdc], 0
and	[ebp+var_C], 0
mov	[ebp+var_8], eax
lea	eax, [ebp+hdc]
mov	[ebp+var_4], ecx
push	eax		; hdc
mov	ecx, esi
call	sub_1018D27
push	[ebp+arg_4]
mov	ecx, edi
push	esi
call	sub_10152F0
pop	edi
pop	esi
leave
retn	8
sub_1015B38 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1015B7F proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ebp+arg_4]
mov	eax, [ecx+0Ch]
sub	eax, [ecx+4]
xor	ecx, ecx
cdq
sub	eax, edx
mov	edx, [ebp+arg_8]
sar	eax, 1
cmp	[edx+4], eax
push	esi
setl	cl
mov	esi, ecx
cmp	esi, dword_103E7E8
jz	short loc_1015BDD
call	sub_10129FB
push	color
mov	ecx, offset unk_103E778
mov	dword_103E7E8, esi
call	sub_100F43E
mov	ecx, dword_103ED04
push	offset stru_103E808
call	sub_101AC0B
mov	ecx, [ebp+arg_0]
push	1
call	sub_102C06B

loc_1015BDD:
pop	esi
pop	ebp
retn	0Ch
sub_1015B7F endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1015BE7 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
xor	esi, esi
cmp	[ebp+arg_0], esi
push	edi
mov	edi, ecx
jnz	short loc_1015C20
cmp	dword_103E804, esi
jz	short loc_1015C20
cmp	dword_103E7CC, esi
jnz	short loc_1015C0E
push	1
call	sub_1013960

loc_1015C0E:		; lprcSrc2
push	esi
push	dword_103E804	; int
call	sub_101282E
mov	dword_103E804, esi

loc_1015C20:
push	[ebp+arg_0]
mov	ecx, edi
call	sub_10152BD
pop	edi
pop	esi
pop	ebp
retn	4
sub_1015BE7 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1015C35 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
xor	esi, esi
inc	esi
push	esi
mov	dword_103E904, esi
call	sub_1013960
mov	ecx, [ebp+arg_0]
call	sub_101AF7B
mov	dword_103E7DC, esi
pop	esi
pop	ebp
retn	8
sub_1015C35 endp

db 5 dup(0CCh)



sub_1015C62 proc near
cmp	dword_103E804, 0
jz	short loc_1015C6F
xor	eax, eax
inc	eax
retn

loc_1015C6F:
jmp	sub_101538B
sub_1015C62 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1015C79(int, int x,	int y)
sub_1015C79 proc near

pt= tagPOINT ptr -8
arg_0= dword ptr  8
x= dword ptr  0Ch
y= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
lea	eax, [ebp+pt]
push	eax		; lppt
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [ecx+4] ; hdc
call	ds:SetBrushOrgEx
mov	ecx, [ebp+pt.x]
mov	eax, [ebp+arg_0]
mov	[eax], ecx
mov	ecx, [ebp+pt.y]
mov	[eax+4], ecx
leave
retn	0Ch
sub_1015C79 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1015CAA proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
push	dword ptr [eax+0Ch] ; bottom
push	dword ptr [eax+8] ; right
push	dword ptr [eax+4] ; top
push	dword ptr [eax]	; left
push	dword ptr [ecx+4] ; hdc
call	ds:Rectangle
pop	ebp
retn	4
sub_1015CAA endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1015CCF(int	x, int y, COLORREF color, UINT type)
sub_1015CCF proc near

x= dword ptr  8
y= dword ptr  0Ch
color= dword ptr  10h
type= dword ptr	 14h

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+type]	; type
push	[ebp+color]	; color
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [ecx+4] ; hdc
call	ds:ExtFloodFill
pop	ebp
retn	10h
sub_1015CCF endp

db 5 dup(0CCh)



sub_1015CF2 proc near
mov	dword ptr [ecx], offset	off_1001F6C
retn
sub_1015CF2 endp

db 5 dup(0CCh)



sub_1015CFE proc near
mov	eax, ecx
xor	edx, edx
xor	ecx, ecx
inc	ecx
mov	dword ptr [eax], offset	off_1002E74
mov	[eax+8], edx
mov	[eax+0Ch], ecx
mov	[eax+10h], ecx
mov	[eax+14h], edx
mov	[eax+18h], edx
mov	[eax+1Ch], ecx
mov	[eax+20h], edx
mov	[eax+4], edx
mov	[eax+24h], edx
mov	[eax+28h], edx
mov	dword ptr [eax+2Ch], 4B3h
mov	[eax+30h], edx
mov	ecx, dword_103E900
mov	[eax+34h], ecx
mov	dword_103E900, eax
retn
sub_1015CFE endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1015D47 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+arg_0]
call	sub_101523D
test	eax, eax
jz	short loc_1015D5F
mov	ecx, eax
call	sub_1015199

loc_1015D5F:
pop	ebp
retn	4
sub_1015D47 endp

align 8



sub_1015D68 proc near
mov	eax, offset loc_1035FAD
call	sub_1034E18
sub	esp, 50h
push	ebx
push	esi
push	edi
xor	esi, esi
mov	edi, offset off_1002120
mov	[ebp-30h], esi
mov	[ebp-34h], edi
lea	ecx, [ebp-4Ch]
mov	[ebp-4], esi
mov	[ebp-1Ch], esi
mov	[ebp-20h], esi
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	ebx, [ebp+8]
push	ebx		; hdc
lea	ecx, [ebp-4Ch]
mov	byte ptr [ebp-4], 1
call	sub_1009779
test	eax, eax
jnz	short loc_1015DBD
lea	ecx, [ebp-4Ch]
mov	[ebp-4], al
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	[ebp-34h], edi
jmp	loc_1015FF4

loc_1015DBD:
mov	edi, offset off_1001F9C
mov	[ebp-38h], esi
mov	[ebp-3Ch], edi
push	8		; cy
push	8		; int
push	ebx		; int
lea	ecx, [ebp-3Ch]
mov	byte ptr [ebp-4], 2
call	sub_100AC43
test	eax, eax
jnz	short loc_1015DE5
mov	[ebp-3Ch], edi
jmp	loc_1015FD5

loc_1015DE5:
lea	eax, [ebp-3Ch]
push	eax
lea	ecx, [ebp-4Ch]
call	sub_1032D5B
mov	[ebp-2Ch], eax
mov	eax, dword_103EF88
cmp	eax, esi
jz	short loc_1015E2B
push	esi
push	eax
mov	ecx, ebx
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [ebx+4] ; hdc
mov	edi, ds:RealizePalette
mov	[ebp-1Ch], eax
call	edi ; RealizePalette
push	esi
push	dword_103EF88
lea	ecx, [ebp-4Ch]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [ebp-48h] ; hdc
mov	[ebp-20h], eax
call	edi ; RealizePalette

loc_1015E2B:
mov	ecx, dword_103E878
mov	ecx, [ecx+4]
cmp	[ecx+10h], esi
mov	eax, dword_103E87C
mov	edi, ds:PatBlt
mov	[ebp+8], esi
jnz	short loc_1015E67
push	9
pop	ecx
push	esi
push	eax
lea	eax, [ebp-5Ch]
push	eax
lea	eax, [ebp-4Ch]
push	eax
mov	[ebp-5Ch], esi
mov	[ebp-58h], esi
mov	[ebp-54h], ecx
mov	[ebp-50h], ecx
call	sub_100F51D
jmp	short loc_1015EA2

loc_1015E67:		; color
push	eax
lea	ecx, [ebp-34h]
call	sub_100D0FB
lea	eax, [ebp-34h]
push	eax
lea	ecx, [ebp-4Ch]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
push	0F00021h	; rop
push	8		; h
push	8		; w
push	esi		; y
push	esi		; x
push	dword ptr [ebp-48h] ; hdc
mov	[ebp+8], eax
call	edi ; PatBlt
push	dword ptr [ebp+8]
lea	ecx, [ebp-4Ch]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
lea	ecx, [ebp-34h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)

loc_1015EA2:
mov	esi, [ebp+10h]
and	dword ptr [ebp+10h], 0

loc_1015EA9:
mov	eax, [esi+4]
mov	ecx, [esi]
mov	edx, [ebp+10h]
push	42h		; rop
push	39h		; h
push	1		; w
add	eax, 3
push	eax		; y
lea	ecx, [edx+ecx+2]
push	ecx		; x
push	dword ptr [ebx+4] ; hdc
call	edi ; PatBlt
mov	eax, [esi+4]
mov	ecx, [ebp+10h]
push	42h		; rop
lea	ecx, [eax+ecx+3]
mov	eax, [esi]
push	1		; h
push	39h		; w
inc	eax
push	ecx		; y
inc	eax
push	eax		; x
push	dword ptr [ebx+4] ; hdc
call	edi ; PatBlt
add	dword ptr [ebp+10h], 7
cmp	dword ptr [ebp+10h], 3Fh
jl	short loc_1015EA9
or	dword ptr [ebp-28h], 0FFFFFFFFh
and	dword ptr [ebp-18h], 0
and	dword ptr [ebp-10h], 0

loc_1015EF6:
and	dword ptr [ebp-14h], 0
and	dword ptr [ebp+10h], 0

loc_1015EFE:		; y
push	dword ptr [ebp-18h]
push	dword ptr [ebp-14h] ; x
push	dword ptr [ebp-48h] ; hdc
call	ds:GetPixel
or	eax, 2000000h
cmp	eax, [ebp-28h]
mov	[ebp-24h], eax
jz	short loc_1015F51
cmp	dword ptr [ebp+8], 0
jz	short loc_1015F2A
push	dword ptr [ebp+8]
mov	ecx, ebx
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)

loc_1015F2A:
lea	ecx, [ebp-34h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
push	dword ptr [ebp-24h] ; color
lea	ecx, [ebp-34h]
call	sub_100D0FB
lea	eax, [ebp-34h]
push	eax
mov	ecx, ebx
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	[ebp+8], eax
mov	eax, [ebp-24h]
mov	[ebp-28h], eax

loc_1015F51:
mov	eax, [esi+4]
mov	ecx, [ebp-10h]
mov	edx, [ebp+10h]
push	0F00021h	; rop
push	6		; h
lea	eax, [eax+ecx+4]
mov	ecx, [esi]
push	6		; w
push	eax		; y
lea	ecx, [edx+ecx+3]
push	ecx		; x
push	dword ptr [ebx+4] ; hdc
call	edi ; PatBlt
add	dword ptr [ebp+10h], 7
inc	dword ptr [ebp-14h]
cmp	dword ptr [ebp+10h], 38h
jl	loc_1015EFE
add	dword ptr [ebp-10h], 7
inc	dword ptr [ebp-18h]
cmp	dword ptr [ebp-10h], 38h
jl	loc_1015EF6
push	dword ptr [ebp+8]
mov	ecx, ebx
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
push	dword ptr [ebp-2Ch]
lea	ecx, [ebp-4Ch]
call	sub_1032D5B
xor	esi, esi
cmp	[ebp-1Ch], esi
jz	short loc_1015FBD
push	esi
push	dword ptr [ebp-1Ch]
mov	ecx, ebx
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1015FBD:
cmp	[ebp-20h], esi
jz	short loc_1015FCE
push	esi
push	dword ptr [ebp-20h]
lea	ecx, [ebp-4Ch]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1015FCE:
mov	dword ptr [ebp-3Ch], offset off_1001F9C

loc_1015FD5:
lea	ecx, [ebp-3Ch]
mov	byte ptr [ebp-4], 1
call	sub_10096BE
lea	ecx, [ebp-4Ch]
mov	byte ptr [ebp-4], 0
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	dword ptr [ebp-34h], offset off_1002120

loc_1015FF4:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-34h]
call	sub_10096BE
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	0Ch
sub_1015D68 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1016016(int, RECT *lprcSrc1, int)
sub_1016016 proc near

var_3C=	dword ptr -3Ch
rc= tagRECT ptr	-2Ch
var_1C=	dword ptr -1Ch
var_18=	dword ptr -18h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
lprcSrc1= dword	ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 3Ch
push	ebx
push	esi
push	edi
mov	edi, [ebp+arg_8]
mov	eax, [edi+8]
sub	eax, [edi]
push	3
cdq
mov	esi, ecx
pop	ecx
idiv	ecx
push	4
pop	ecx
and	[ebp+arg_8], 0
mov	[ebp+var_1C], esi
mov	[ebp+var_14], eax
mov	eax, [edi+0Ch]
sub	eax, [edi+4]
cdq
idiv	ecx
and	[ebp+var_C], 0
mov	[ebp+var_18], eax

loc_101604E:
and	[ebp+var_8], 0
xor	eax, eax
cmp	[ebp+arg_8], eax
push	8
setz	al
pop	ebx
sub	ebx, eax
jmp	loc_101618B

loc_1016064:
mov	eax, [edi]
add	eax, [ebp+var_8]
mov	edx, [ebp+var_14]
mov	ecx, [edi+4]
add	ecx, [ebp+var_C]
mov	[ebp+rc.left], eax
add	eax, edx
mov	[ebp+rc.right],	eax
mov	eax, [ebp+var_18]
push	0FFFFFFFDh	; dy
mov	[ebp+rc.top], ecx
add	ecx, eax
push	0FFFFFFFDh	; dx
lea	eax, [ebp+rc]
push	eax		; lprc
mov	[ebp+rc.bottom], ecx
call	ds:InflateRect
mov	ecx, [ebp+lprcSrc1] ; lprcSrc1
lea	eax, [ebp+rc]
push	eax		; lprcSrc2
lea	eax, [ebp+var_3C]
push	eax		; int
call	sub_1015B09
push	eax		; lprc
call	ds:IsRectEmpty
test	eax, eax
jnz	loc_1016182
cmp	ebx, [esi+24h]
jnz	short loc_10160C8
mov	eax, [ebp+arg_8]
cmp	eax, [esi+28h]
jnz	short loc_10160C8
mov	[ebp+var_10], 1
jmp	short loc_10160CC

loc_10160C8:
and	[ebp+var_10], 0

loc_10160CC:
xor	eax, eax
cmp	[ebp+var_10], eax
setz	al
lea	eax, [eax+eax+0Dh]
push	eax		; nIndex
call	sub_100D149
mov	ecx, [ebp+arg_0]
push	eax
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
test	bl, 1
mov	esi, eax
jz	short loc_10160F4
dec	[ebp+rc.right]
dec	[ebp+rc.bottom]

loc_10160F4:
mov	eax, [ebp+rc.top]
mov	ecx, [ebp+rc.bottom]
mov	edx, [ebp+rc.right]
sub	ecx, eax
inc	ecx
inc	ecx
push	0F00021h	; rop
push	ecx		; h
mov	ecx, [ebp+rc.left]
sub	edx, ecx
dec	edx
dec	edx
push	edx		; w
dec	eax
inc	ecx
push	eax		; y
push	ecx		; x
mov	ecx, [ebp+arg_0]
call	sub_100AC94
mov	ecx, [ebp+arg_0]
push	esi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	esi, [ebp+var_14]
sub	esi, ebx
mov	ebx, [ebp+var_18]
sub	ebx, [ebp+var_4]
shr	esi, 1
add	esi, [edi]
shr	ebx, 1
add	ebx, [ebp+var_C]
add	esi, [ebp+var_8]
add	ebx, [edi+4]
xor	eax, eax
cmp	[ebp+var_10], eax
setz	al
lea	eax, ds:0Eh[eax*4]
push	eax		; nIndex
call	sub_100D149
mov	ecx, [ebp+arg_0]
push	eax
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
push	[ebp+arg_8]
mov	[ebp+var_10], eax
push	[ebp+var_4]
push	ebx
push	esi
push	ebx
push	esi
push	[ebp+arg_0]
call	sub_10148CB
push	[ebp+var_10]
mov	ecx, [ebp+arg_0]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	esi, [ebp+var_1C]
mov	ebx, [ebp+var_4]

loc_1016182:
mov	eax, [ebp+var_14]
sub	ebx, 3
add	[ebp+var_8], eax

loc_101618B:
test	ebx, ebx
mov	[ebp+var_4], ebx
jg	loc_1016064
mov	eax, [ebp+var_18]
inc	[ebp+arg_8]
add	[ebp+var_C], eax
cmp	[ebp+arg_8], 4
jb	loc_101604E
pop	edi
pop	esi
pop	ebx
leave
retn	0Ch
sub_1016016 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10161B5 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
push	edi
mov	esi, ecx
call	sub_10129FB
and	dword_103E870, 0
mov	ecx, [ebp+arg_4]
mov	eax, [ecx+8]
sub	eax, [ecx]
push	3
cdq
pop	edi
idiv	edi
mov	edi, [ebp+arg_8]
push	8
mov	ebx, eax
mov	eax, [edi]
cdq
idiv	ebx
pop	edx
push	4
lea	eax, [eax+eax*2]
sub	edx, eax
mov	[esi+24h], edx
mov	eax, [ecx+0Ch]
sub	eax, [ecx+4]
pop	ecx
cdq
idiv	ecx
mov	ecx, eax
mov	eax, [edi+4]
cdq
idiv	ecx
test	eax, eax
mov	[esi+28h], eax
jnz	short loc_101620C
dec	dword ptr [esi+24h]

loc_101620C:
mov	ecx, [ebp+arg_0]
push	0
call	sub_102C06B
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	0Ch
sub_10161B5 endp

db 5 dup(0CCh)



sub_1016222 proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1015CFE
mov	dword ptr [esi], offset	loc_1002EE4
mov	eax, esi
pop	esi
retn
sub_1016222 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101623B proc near

var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
cmp	dword ptr [ecx+18h], 0
mov	[ebp+var_10], ecx
jz	short loc_101625F
push	[ebp+arg_8]
push	[ebp+arg_4]
push	[ebp+arg_0]
call	sub_1015D68
jmp	locret_1016353

loc_101625F:
push	ebx
push	esi
mov	esi, [ebp+arg_8]
mov	eax, [esi+0Ch]
sub	eax, [esi+4]
push	edi
sub	eax, 4
push	5
pop	ecx
cdq
mov	edi, ecx
idiv	edi
and	[ebp+arg_8], 0
xor	ebx, ebx
inc	ebx
mov	[ebp+var_C], ecx
mov	edi, 0F00021h
mov	[ebp+var_4], eax

loc_1016288:
mov	ecx, [ebp+var_10]
xor	eax, eax
cmp	ebx, [ecx+24h]
setz	al
mov	[ebp+var_8], eax
xor	eax, eax
cmp	[ebp+var_8], eax
setz	al
lea	eax, [eax+eax+0Dh]
push	eax		; nIndex
call	sub_100D149
mov	ecx, [ebp+arg_0]
push	eax
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	ecx, [ebp+var_4]
mov	edx, [ebp+arg_8]
add	ecx, 0FFFFFFFEh
push	edi		; rop
push	ecx		; h
mov	ecx, [esi+8]
mov	[ebp+arg_4], eax
mov	eax, [esi]
sub	ecx, eax
sub	ecx, 4
push	ecx		; w
mov	ecx, [esi+4]
lea	ecx, [edx+ecx+3]
push	ecx		; y
mov	ecx, [ebp+arg_0]
add	eax, 2
push	eax		; x
call	sub_100AC94
push	[ebp+arg_4]
mov	ecx, [ebp+arg_0]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
xor	eax, eax
cmp	[ebp+var_8], eax
setz	al
lea	eax, ds:0Eh[eax*4]
push	eax		; nIndex
call	sub_100D149
mov	ecx, [ebp+arg_0]
push	eax
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	ecx, [esi+8]
mov	edx, [esi+4]
mov	[ebp+arg_4], eax
mov	eax, [esi]
sub	ecx, eax
sub	ecx, 0Ch
push	edi		; rop
push	ebx		; h
push	ecx		; w
mov	ecx, [ebp+var_4]
sub	ecx, ebx
shr	ecx, 1
add	ecx, [ebp+arg_8]
add	eax, 6
lea	ecx, [ecx+edx+2]
push	ecx		; y
mov	ecx, [ebp+arg_0]
push	eax		; x
call	sub_100AC94
push	[ebp+arg_4]
mov	ecx, [ebp+arg_0]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	eax, [ebp+var_4]
add	[ebp+arg_8], eax
inc	ebx
dec	[ebp+var_C]
jnz	loc_1016288
pop	edi
pop	esi
pop	ebx

locret_1016353:
leave
retn	0Ch
sub_101623B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101635C proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	dword ptr [ecx+18h], 0
jz	short loc_1016371
push	0		; uType
call	ds:MessageBeep
jmp	short loc_10163AA

loc_1016371:
mov	edx, [ebp+arg_4]
mov	eax, [edx+0Ch]
sub	eax, [edx+4]
push	ebx
sub	eax, 4
cdq
push	5
pop	ebx
idiv	ebx
mov	ebx, eax
mov	eax, [ebp+arg_8]
mov	eax, [eax+4]
cdq
idiv	ebx
pop	ebx
inc	eax
cmp	eax, 5
mov	[ecx+24h], eax
jbe	short loc_10163A0
mov	dword ptr [ecx+24h], 5

loc_10163A0:
mov	ecx, [ebp+arg_0]
push	0
call	sub_102C06B

loc_10163AA:
pop	ebp
retn	0Ch
sub_101635C endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10163B3(int, int, HBRUSH hbr)
sub_10163B3 proc near

var_40=	byte ptr -40h
rc= tagRECT ptr	-30h
var_20=	dword ptr -20h
var_1C=	dword ptr -1Ch
var_18=	dword ptr -18h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
hbr= dword ptr	10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 40h
push	ebx
push	esi
mov	esi, [ebp+hbr]
mov	eax, [esi+0Ch]
sub	eax, [esi+4]
push	edi
sub	eax, 4
cdq
push	3
pop	ecx
idiv	ecx
and	[ebp+var_4], 0
mov	ebx, ds:SetRect
mov	edi, eax
cdq
sub	eax, edx
sar	eax, 1
mov	ecx, edi
sub	ecx, eax
mov	eax, off_103D74C
mov	edx, [eax+18h]
mov	eax, [eax+1Ch]
mov	[ebp+var_10], eax
mov	eax, edi
sub	eax, ecx
mov	[ebp+var_C], edx
cdq
sub	eax, edx
mov	[ebp+var_8], eax
sar	[ebp+var_8], 1
mov	[ebp+var_14], edi
mov	[ebp+var_18], ecx

loc_1016409:
mov	edi, [ebp+var_4]
mov	eax, [esi+4]
lea	ecx, [edi+1]
imul	edi, [ebp+var_14]
mov	[ebp+var_20], ecx
imul	ecx, [ebp+var_14]
lea	ecx, [ecx+eax+1]
push	ecx		; yBottom
mov	ecx, [esi+8]
dec	ecx
lea	eax, [edi+eax+3]
dec	ecx
push	ecx		; xRight
push	eax		; yTop
mov	eax, [esi]
inc	eax
inc	eax
push	eax		; xLeft
lea	eax, [ebp+rc]
push	eax		; lprc
call	ebx ; SetRect
mov	eax, [ebp+var_8]
mov	ecx, [esi+4]
add	eax, edi
add	eax, ecx
mov	ecx, [ebp+var_18]
lea	ecx, [eax+ecx+2]
push	ecx		; yBottom
mov	ecx, [esi+8]
add	eax, 2
sub	ecx, 6
push	ecx		; xRight
push	eax		; yTop
mov	eax, [esi]
add	eax, 6
push	eax		; xLeft
lea	eax, [ebp+var_40]
push	eax		; lprc
call	ebx ; SetRect
mov	eax, [ebp+var_4]
xor	ecx, ecx
sub	eax, ecx
mov	[ebp+hbr], ecx
jz	short loc_101648B
dec	eax
jz	short loc_1016484
dec	eax
jz	short loc_1016478
mov	[ebp+hbr], ecx
jmp	short loc_101649C

loc_1016478:
cmp	[ebp+var_C], ecx
jz	short loc_101649C
cmp	[ebp+var_10], ecx
jnz	short loc_101649C
jmp	short loc_1016495

loc_1016484:
cmp	[ebp+var_C], ecx
jz	short loc_101649C
jmp	short loc_1016490

loc_101648B:
cmp	[ebp+var_C], ecx
jnz	short loc_101649C

loc_1016490:
cmp	[ebp+var_10], ecx
jz	short loc_101649C

loc_1016495:
mov	[ebp+hbr], 1

loc_101649C:
xor	eax, eax
cmp	[ebp+hbr], ecx
setz	al
lea	eax, [eax+eax+0Dh]
push	eax		; nIndex
call	sub_100D149
mov	edi, [ebp+arg_0]
push	eax
mov	ecx, edi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	[ebp+var_1C], eax
mov	eax, [ebp+rc.bottom]
sub	eax, [ebp+rc.top]
push	0F00021h	; rop
push	eax		; h
mov	eax, [ebp+rc.right]
sub	eax, [ebp+rc.left]
mov	ecx, edi
push	eax		; w
push	[ebp+rc.top]	; y
push	[ebp+rc.left]	; x
call	sub_100AC94
push	[ebp+var_1C]
mov	ecx, edi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
xor	eax, eax
cmp	[ebp+hbr], eax
setnz	al
lea	eax, [eax+eax+12h]
push	eax		; nIndex
call	sub_100D149
push	10h		; nIndex
mov	[ebp+hbr], eax
call	sub_100D149
mov	ecx, [ebp+var_4]
sub	ecx, 0
jz	short loc_101652A
dec	ecx
jz	short loc_101651E
dec	ecx
jnz	short loc_1016538
push	eax		; hbr
lea	eax, [ebp+var_40]
push	eax		; lprc
mov	ecx, edi
call	sub_100AC6F
jmp	short loc_1016538

loc_101651E:		; hbr
push	eax
lea	eax, [ebp+var_40]
push	eax		; lprc
mov	ecx, edi
call	sub_100AC6F

loc_101652A:		; hbr
push	[ebp+hbr]
lea	eax, [ebp+var_40]
mov	ecx, edi
push	eax		; lprc
call	sub_100F4F8

loc_1016538:
mov	eax, [ebp+var_20]
cmp	eax, 3
mov	[ebp+var_4], eax
jl	loc_1016409
pop	edi
pop	esi
pop	ebx
leave
retn	0Ch
sub_10163B3 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1016553 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	edx, [ebp+arg_4]
mov	eax, [edx+0Ch]
sub	eax, [edx+4]
push	esi
push	edi
sub	eax, 4
push	3
cdq
pop	esi
idiv	esi
mov	edx, [ebp+arg_8]
mov	esi, [edx+4]
xor	edi, edi
lea	edx, [eax+3]

loc_1016577:
cmp	esi, edx
jl	short loc_1016585
inc	edi
add	edx, eax
cmp	edi, 3
jl	short loc_1016577
jmp	short loc_10165AE

loc_1016585:
dec	edi
jz	short loc_10165A5
dec	edi
jz	short loc_1016598
and	dword ptr [ecx+18h], 0
mov	dword ptr [ecx+1Ch], 1
jmp	short loc_10165AE

loc_1016598:
and	dword ptr [ecx+1Ch], 0
mov	dword ptr [ecx+18h], 1
jmp	short loc_10165AE

loc_10165A5:
xor	eax, eax
inc	eax
mov	[ecx+18h], eax
mov	[ecx+1Ch], eax

loc_10165AE:
mov	ecx, [ebp+arg_0]
push	0
call	sub_102C06B
pop	edi
pop	esi
pop	ebp
retn	0Ch
sub_1016553 endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 14h
push	ebx
push	esi
mov	esi, [ebp+0Ch]
push	edi
mov	edi, [ebp+8]
mov	ebx, ecx
mov	eax, [ebx]
push	esi
push	edi
mov	[ebp-4], ebx
call	dword ptr [eax+2Ch]
mov	eax, [esi]
push	dword ptr [esi+20h]
mov	ebx, [ebx]
mov	[ebp-14h], eax
mov	eax, [esi+4]
mov	[ebp-10h], eax
mov	eax, [esi+10h]
mov	[ebp-0Ch], eax
mov	eax, [esi+14h]
push	1
push	dword ptr [esi+18h]
mov	[ebp-8], eax
lea	eax, [ebp-14h]
push	eax
mov	eax, [edi+40h]
push	dword ptr [eax+0Ch]
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
mov	ecx, [ebp-4]
push	eax
call	dword ptr [ebx+68h]
lea	eax, [ebp-14h]
push	eax
push	dword ptr [edi+40h]
call	sub_101282E
lea	eax, [ebp-14h]
push	eax
push	dword ptr [edi+40h]
call	sub_10128D0
lea	eax, [ebp-14h]
push	eax
mov	ecx, edi
call	sub_1018D27
call	sub_100965C
mov	ecx, [ebp-4]
push	esi
push	edi
call	sub_10152F0
pop	edi
pop	esi
pop	ebx
leave
retn	8
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1016655 proc near

rcSrc2=	RECT ptr -1Ch
var_C= dword ptr -0Ch
var_8= dword ptr -8
hPal= dword ptr	-4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 1Ch
mov	eax, dword_103EF88
and	[ebp+hPal], 0
test	eax, eax
push	ebx
mov	ebx, ds:SelectPalette
push	edi
mov	edi, ecx
mov	[ebp+var_8], edi
jz	short loc_1016698
mov	eax, [eax+4]
test	eax, eax
jz	short loc_1016698
push	0		; bForceBkgd
push	eax		; hPal
push	hdc		; hdc
call	ebx ; SelectPalette
push	hdc		; hdc
mov	[ebp+hPal], eax
call	ds:RealizePalette

loc_1016698:
mov	eax, stru_103EBEC.top
mov	ecx, stru_103EBEC.left
mov	edx, stru_103EBEC.bottom
push	esi
mov	esi, [ebp+arg_0]
push	0CC0020h	; rop
push	eax		; y1
push	ecx		; x1
push	hdc		; hdcSrc
sub	edx, eax
push	edx		; cy
mov	edx, stru_103EBEC.right
sub	edx, ecx
push	edx		; cx
push	eax		; y
mov	eax, [esi+40h]
push	ecx		; x
push	dword ptr [eax+0Ch] ; hdc
call	ds:BitBlt
cmp	[ebp+hPal], 0
jz	short loc_10166E7
push	0		; bForceBkgd
push	[ebp+hPal]	; hPal
push	hdc		; hdc
call	ebx ; SelectPalette

loc_10166E7:		; lprcSrc2
push	offset stru_103EBEC
push	dword ptr [esi+40h] ; int
call	sub_101282E
mov	ebx, [ebp+arg_4]
mov	eax, [edi]
push	ebx
mov	ecx, edi
call	dword ptr [eax+18h]
mov	eax, [ebx]
push	dword ptr [ebx+20h]
mov	edi, [edi]
mov	[ebp+rcSrc2.left], eax
mov	eax, [ebx+4]
mov	[ebp+rcSrc2.top], eax
mov	eax, [ebx+10h]
mov	[ebp+rcSrc2.right], eax
mov	eax, [ebx+14h]
push	0
push	dword ptr [ebx+18h]
mov	[ebp+rcSrc2.bottom], eax
lea	eax, [ebp+rcSrc2]
push	eax
mov	eax, [esi+40h]
push	dword ptr [eax+0Ch]
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
mov	ecx, [ebp+var_8]
push	eax
call	dword ptr [edi+68h]
lea	eax, [ebp+rcSrc2]
push	eax		; lprcSrc2
push	dword ptr [esi+40h] ; int
call	sub_101282E
mov	eax, [ebp+var_8]
lea	esi, [ebp+rcSrc2]
mov	edi, offset stru_103EBEC
movsd
movsd
movsd
movsd
cmp	dword ptr [eax+30h], 278h
pop	esi
jz	short loc_101678F
mov	ecx, [ebx]
mov	eax, [ebx+10h]
mov	edx, [ebx+4]
sub	eax, ecx
mov	ecx, [ebx+14h]
sub	ecx, edx
test	eax, eax
jge	short loc_1016771
dec	eax
jmp	short loc_1016772

loc_1016771:
inc	eax

loc_1016772:
test	ecx, ecx
mov	[ebp+var_C], eax
jge	short loc_101677C
dec	ecx
jmp	short loc_101677D

loc_101677C:
inc	ecx

loc_101677D:
push	ebx
mov	[ebp+var_8], ecx
call	sub_1009D6F
lea	eax, [ebp+var_C]
push	eax
call	sub_1009D9B

loc_101678F:
pop	edi
pop	ebx
leave
retn	8
sub_1016655 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_101679A(int, int bottom, int, int, int)
sub_101679A proc near

var_18=	dword ptr -18h
var_14=	dword ptr -14h
left= dword ptr	-10h
top= dword ptr -0Ch
right= dword ptr -8
hdc= dword ptr -4
arg_0= dword ptr  8
bottom=	dword ptr  0Ch
arg_8= dword ptr  10h
arg_10=	dword ptr  18h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 18h
mov	eax, [ebp+arg_0]
mov	eax, [eax+4]
push	ebx
push	esi
push	edi
mov	edi, ecx
mov	[ebp+hdc], eax
mov	eax, [edi+30h]
sub	eax, 27Ah
jz	short loc_10167DA
dec	eax
jz	short loc_10167DA
sub	eax, 6
jz	short loc_10167D4
dec	eax
jz	short loc_10167D4
dec	eax
jz	short loc_10167CB
dec	eax
jnz	short loc_10167D4

loc_10167CB:
mov	[ebp+arg_0], 2
jmp	short loc_10167E1

loc_10167D4:
and	[ebp+arg_0], 0
jmp	short loc_10167E1

loc_10167DA:
mov	[ebp+arg_0], 1

loc_10167E1:
mov	esi, [ebp+bottom]
push	esi
call	sub_1012070
mov	eax, [esi]
mov	[ebp+left], eax
mov	eax, [esi+4]
mov	[ebp+top], eax
mov	eax, [esi+8]
mov	[ebp+var_18], eax
mov	eax, [esi+0Ch]
mov	[ebp+var_14], eax
lea	eax, [ebp+var_18]
push	eax
lea	eax, [ebp+left]
push	eax
call	sub_10125F9
push	[ebp+arg_10]
mov	eax, [ebp+var_18]
mov	esi, [ebp+left]
mov	ebx, [ebp+top]
push	1
push	[ebp+arg_8]
mov	[ebp+right], eax
mov	eax, [ebp+var_14]
push	[ebp+hdc]
mov	[ebp+bottom], eax
mov	eax, [edi]
mov	ecx, edi
call	dword ptr [eax+5Ch]
mov	eax, [ebp+arg_0]
sub	eax, 0
jz	short loc_101686A
dec	eax
jz	short loc_1016853
dec	eax
jnz	short loc_101687B
push	[ebp+bottom]	; bottom
push	[ebp+right]	; right
push	ebx		; top
push	esi		; left
push	[ebp+hdc]	; hdc
call	ds:Ellipse
jmp	short loc_101687B

loc_1016853:		; height
push	10h
push	10h		; width
push	[ebp+bottom]	; bottom
push	[ebp+right]	; right
push	ebx		; top
push	esi		; left
push	[ebp+hdc]	; hdc
call	ds:RoundRect
jmp	short loc_101687B

loc_101686A:		; bottom
push	[ebp+bottom]
push	[ebp+right]	; right
push	ebx		; top
push	esi		; left
push	[ebp+hdc]	; hdc
call	ds:Rectangle

loc_101687B:
push	[ebp+arg_10]
mov	eax, [edi]
push	0
push	[ebp+arg_8]
mov	ecx, edi
push	[ebp+hdc]
call	dword ptr [eax+5Ch]
pop	edi
pop	esi
pop	ebx
leave
retn	14h
sub_101679A endp

db 5 dup(0CCh)



sub_1016899 proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1015CFE
mov	dword ptr [esi], offset	off_1002F54
mov	dword ptr [esi+8], 1
mov	eax, esi
pop	esi
retn
sub_1016899 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10168B9 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_4]
mov	dword_103E904, 1
mov	eax, [esi+10h]
mov	rcDst.right, eax
mov	edx, [esi+14h]
push	esi
push	[ebp+arg_0]
mov	rcDst.bottom, edx
mov	rcDst.left, eax
mov	rcDst.top, edx
mov	eax, [ecx]
call	dword ptr [eax+2Ch]
pop	esi
pop	ebp
retn	8
sub_10168B9 endp

db 5 dup(0CCh)



sub_10168FB proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1016899
and	dword ptr [esi+10h], 0
mov	dword ptr [esi], offset	off_1002FC4
mov	dword ptr [esi+2Ch], 4B1h
mov	dword ptr [esi+30h], 1AA0h
mov	eax, esi
pop	esi
retn
sub_10168FB endp

db 5 dup(0CCh)



sub_1016926 proc near
call	sub_10129FB
mov	ecx, off_103D750
and	dword_103E870, 0
call	sub_1015199
and	dword_103E904, 0
retn	4
sub_1016926 endp

db 5 dup(0CCh)



sub_101694C proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1016899
mov	dword ptr [esi], offset	off_1003034
mov	dword ptr [esi+2Ch], 4B1h
mov	dword ptr [esi+30h], 280h
mov	dword ptr [esi+24h], 4
mov	eax, esi
pop	esi
retn
sub_101694C endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101697A proc near
mov	edi, edi
push	ebp
mov	ebp, esp
pop	ebp
jmp	sub_1016016
sub_101697A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101698A proc near
mov	edi, edi
push	ebp
mov	ebp, esp
pop	ebp
jmp	sub_10161B5
sub_101698A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101699A proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
xor	edx, edx
push	esi
mov	esi, [ebp+arg_4]
mov	dword_103E870, edx
mov	dword_103E874, edx
cmp	[esi+20h], edx
push	edi
lea	edi, [esi+10h]
jz	short loc_10169C6
mov	eax, dword_103D6A4
cmp	eax, 87654321h
jnz	short loc_10169D5

loc_10169C6:
cmp	[esi+18h], edx
mov	eax, dword_103E87C
jnz	short loc_10169D5
mov	eax, color

loc_10169D5:		; int
push	1
push	dword ptr [ecx+28h] ; int
push	dword ptr [ecx+24h] ; int
push	eax		; color
push	dword ptr [edi+4] ; int
mov	eax, [ebp+arg_0]
push	dword ptr [edi]	; int
push	dword ptr [esi+0Ch] ; y
push	dword ptr [esi+8] ; x
push	dword ptr [eax+40h] ; int
call	sub_1014E48
mov	eax, [edi]
cmp	eax, rcDst.left
jge	short loc_1016A05
mov	rcDst.left, eax
jmp	short loc_1016A12

loc_1016A05:
cmp	eax, rcDst.right
jle	short loc_1016A12
mov	rcDst.right, eax

loc_1016A12:
mov	esi, [esi+14h]
cmp	esi, rcDst.top
jge	short loc_1016A25
mov	rcDst.top, esi
jmp	short loc_1016A33

loc_1016A25:
cmp	esi, rcDst.bottom
jle	short loc_1016A33
mov	rcDst.bottom, esi

loc_1016A33:
push	edi
call	sub_1009D6F
pop	edi
pop	esi
pop	ebp
retn	8
sub_101699A endp

db 5 dup(0CCh)



sub_1016A44 proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1016899
and	dword ptr [esi+8], 0
mov	dword ptr [esi], offset	off_10030A4
mov	dword ptr [esi+2Ch], 4B6h
mov	dword ptr [esi+30h], 27Ch
mov	dword ptr [esi+24h], 1
mov	eax, esi
pop	esi
retn
sub_1016A44 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1016A76 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+arg_4]
mov	esi, ecx
push	[ebp+arg_0]
call	sub_10168B9
and	dword ptr [esi+4], 0
pop	esi
pop	ebp
retn	8
sub_1016A76 endp

db 5 dup(0CCh)



sub_1016A97 proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1016899
and	dword ptr [esi+2Ch], 0
mov	dword ptr [esi], offset	off_1003114
mov	dword ptr [esi+30h], 27Dh
mov	dword ptr [esi+24h], 8
mov	dword ptr [esi+28h], 1
mov	eax, esi
pop	esi
retn
sub_1016A97 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1016AC9 proc near

var_18=	dword ptr -18h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 1Ch
mov	eax, [ebp+arg_8]
push	ebx
push	esi
mov	esi, [eax+8]
mov	[ebp+var_8], ecx
mov	ecx, [eax]
sub	esi, ecx
mov	[ebp+var_C], ecx
mov	ecx, [eax+4]
mov	eax, [eax+0Ch]
push	edi
sub	eax, ecx
inc	esi
inc	eax
push	4
pop	edi
cdq
mov	ebx, edi
idiv	ebx
mov	ebx, [ebp+arg_0]
mov	[ebp+var_18], ecx
mov	[ebp+var_4], eax

loc_1016AFF:
mov	eax, [ebp+var_8]
cmp	edi, [eax+24h]
jnz	short loc_1016B50
push	0Dh		; nIndex
call	sub_100D149
push	eax
mov	ecx, ebx
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	[ebp+arg_8], eax
mov	eax, [ebp+var_4]
add	eax, 0FFFFFFF2h
cdq
sub	eax, edx
push	0F00021h	; rop
sar	eax, 1
add	eax, [ebp+var_18]
push	0Eh		; h
push	0Eh		; w
push	eax		; y
lea	eax, [esi-0Eh]
cdq
sub	eax, edx
sar	eax, 1
add	eax, [ebp+var_C]
push	eax		; x
push	dword ptr [ebx+4] ; hdc
call	ds:PatBlt
push	[ebp+arg_8]
mov	ecx, ebx
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)

loc_1016B50:
mov	ecx, [ebp+var_8]
xor	eax, eax
cmp	edi, [ecx+24h]
setnz	al
lea	eax, ds:0Eh[eax*4]
push	eax		; nIndex
call	sub_100D149
push	eax
mov	ecx, ebx
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	[ebp+arg_8], eax
mov	eax, [ebp+var_4]
sub	eax, edi
push	0F00021h	; rop
shr	eax, 1
add	eax, [ebp+var_18]
push	edi		; h
push	edi		; w
push	eax		; y
mov	eax, esi
sub	eax, edi
shr	eax, 1
add	eax, [ebp+var_C]
mov	ecx, ebx
push	eax		; x
call	sub_100AC94
push	[ebp+arg_8]
mov	ecx, ebx
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	eax, [ebp+var_4]
add	[ebp+var_18], eax
inc	edi
inc	edi
cmp	edi, 0Ah
jbe	loc_1016AFF
pop	edi
pop	esi
pop	ebx
leave
retn	0Ch
sub_1016AC9 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1016BBD proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	edx, [ebp+arg_4]
mov	eax, [edx+0Ch]
sub	eax, [edx+4]
push	esi
inc	eax
cdq
push	4
pop	esi
idiv	esi
mov	esi, eax
mov	eax, [ebp+arg_8]
mov	eax, [eax+4]
cdq
idiv	esi
pop	esi
cmp	eax, 3
jle	short loc_1016BE7
push	3
pop	eax

loc_1016BE7:
lea	eax, [eax+eax+4]
mov	[ecx+24h], eax
mov	ecx, [ebp+arg_0]
push	1
call	sub_102C06B
pop	ebp
retn	0Ch
sub_1016BBD endp

db 5 dup(0CCh)



sub_1016C01 proc near
mov	eax, offset loc_1035FC4
call	sub_1034E18
sub	esp, 34h
push	ebx
xor	ebx, ebx
cmp	[ebp+0Ch], ebx
jz	loc_1016CF8
cmp	dword_103E8FC, ebx
jz	loc_1016CF8
push	esi
mov	esi, [ebp+8]
push	edi
push	esi
lea	ecx, [ebp-40h]
call	??0CClientDC@@QAE@PAVCWnd@@@Z ;	CClientDC::CClientDC(CWnd *)
lea	eax, [ebp-2Ch]
push	eax		; lprc
mov	ecx, esi
mov	[ebp-4], ebx
call	sub_101950A
lea	eax, [ebp-2Ch]
push	eax
lea	ecx, [ebp-40h]
call	?IntersectClipRect@CDC@@QAEHPBUtagRECT@@@Z ; CDC::IntersectClipRect(tagRECT const *)
cmp	dword_103EF3C, ebx
jz	short loc_1016C5D
cmp	dword ptr [esi+48h], 3
jle	short loc_1016C5D
inc	ebx

loc_1016C5D:
mov	ecx, [ebp+8]
mov	esi, offset stru_103ED10
lea	edi, [ebp-1Ch]
movsd
movsd
movsd
lea	eax, [ebp-1Ch]
push	eax
movsd
call	sub_10194E8
mov	eax, [ebp-14h]
sub	eax, [ebp-1Ch]
mov	esi, ds:PatBlt
push	42h
pop	edi
push	edi		; rop
push	1		; h
add	eax, ebx
push	eax		; w
push	dword ptr [ebp-18h] ; y
push	dword ptr [ebp-1Ch] ; x
push	dword ptr [ebp-3Ch] ; hdc
call	esi ; PatBlt
mov	eax, [ebp-18h]
mov	ecx, [ebp-10h]
push	edi		; rop
sub	ecx, eax
lea	ecx, [ecx+ebx-2]
push	ecx		; h
push	1		; w
inc	eax
push	eax		; y
push	dword ptr [ebp-1Ch] ; x
push	dword ptr [ebp-3Ch] ; hdc
call	esi ; PatBlt
mov	eax, [ebp-18h]
mov	ecx, [ebp-10h]
mov	edx, [ebp-14h]
push	edi		; rop
sub	ecx, eax
lea	ecx, [ecx+ebx-2]
push	ecx		; h
push	1		; w
inc	eax
push	eax		; y
lea	edx, [edx+ebx-1]
push	edx		; x
push	dword ptr [ebp-3Ch] ; hdc
call	esi ; PatBlt
mov	eax, [ebp-14h]
sub	eax, [ebp-1Ch]
mov	ecx, [ebp-10h]
push	edi		; rop
push	1		; h
add	eax, ebx
push	eax		; w
lea	ebx, [ecx+ebx-1]
push	ebx		; y
push	dword ptr [ebp-1Ch] ; x
push	dword ptr [ebp-3Ch] ; hdc
call	esi ; PatBlt
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-40h]
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)
pop	edi
pop	esi

loc_1016CF8:
mov	ecx, [ebp-0Ch]
pop	ebx
mov	large fs:0, ecx
leave
retn	8
sub_1016C01 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1016D0C proc near

Rect= tagRECT ptr -18h
Point= tagPOINT	ptr -8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 18h
push	esi
push	edi
lea	eax, [ebp+Point]
push	eax		; lpPoint
mov	edi, ecx
call	ds:GetCursorPos
call	sub_100C004
mov	ecx, eax
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
mov	esi, [eax+44h]
lea	eax, [ebp+Point]
push	eax		; lpPoint
push	dword ptr [esi+20h] ; hWnd
call	ds:ScreenToClient
lea	eax, [ebp+Rect]
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:GetClientRect
push	[ebp+Point.y]
lea	eax, [ebp+Rect]
push	[ebp+Point.x]	; pt
push	eax		; lprc
call	ds:PtInRect
test	eax, eax
jz	short loc_1016D82
lea	eax, [ebp+Point]
push	eax
mov	ecx, esi
call	sub_1018C98
mov	esi, [esi+40h]
mov	eax, [ebp+Point.x]
cmp	eax, [esi+2Ch]
jg	short loc_1016D82
mov	eax, [ebp+Point.y]
cmp	eax, [esi+30h]
jg	short loc_1016D82
mov	eax, [edi+2Ch]
jmp	short loc_1016D87

loc_1016D82:
mov	eax, 4B3h

loc_1016D87:
pop	edi
pop	esi
leave
retn
sub_1016D0C endp

db 5 dup(0CCh)



sub_1016D90 proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1016899
and	dword ptr [esi+8], 0
mov	dword ptr [esi], offset	off_1003184
mov	dword ptr [esi+30h], 273h
mov	dword ptr [esi+24h], 8
mov	dword ptr [esi+2Ch], 1F5Dh
mov	dword ptr [esi+18h], 1
mov	eax, esi
pop	esi
retn
sub_1016D90 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1016DC9 proc near

x= dword ptr -0Ch
y= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 0Ch
push	ebx
push	esi
push	edi
mov	ebx, ecx
mov	[ebp+var_4], ebx
mov	esi, [ebp+arg_8]
mov	eax, [esi+8]
mov	ecx, [esi]
sub	eax, ecx
cdq
sub	eax, edx
sar	eax, 1
sub	eax, 18h
cdq
sub	eax, edx
sar	eax, 1
add	eax, ecx
mov	ecx, [esi+4]
mov	[ebp+x], eax
mov	eax, [esi+0Ch]
sub	eax, ecx
cdq
sub	eax, edx
sar	eax, 1
sub	eax, 18h
cdq
sub	eax, edx
sar	eax, 1
add	eax, ecx
mov	ecx, offset unk_103EC0C
mov	[ebp+y], eax
call	sub_1018963
mov	edi, [ebp+arg_0]
mov	eax, [edi]
xor	ecx, ecx
cmp	dword ptr [ebx+24h], 8
mov	[ebp+arg_8], eax
setnz	cl
lea	ecx, ds:0Eh[ecx*4]
push	ecx		; nIndex
call	ds:GetSysColor
push	eax
mov	eax, [ebp+arg_8]
mov	ecx, edi
call	dword ptr [eax+38h]
mov	ecx, [ebp+var_4]
mov	ebx, [edi]
xor	eax, eax
cmp	dword ptr [ecx+24h], 8
setnz	al
lea	eax, [eax+eax+0Dh]
push	eax		; nIndex
call	ds:GetSysColor
push	eax
mov	ecx, edi
call	dword ptr [ebx+34h]
push	0CC0020h	; rop
push	0		; int
push	[ebp+y]		; y
mov	ecx, offset unk_103EC0C
push	[ebp+x]		; x
push	edi		; int
call	sub_10189B7
mov	eax, [esi+8]
sub	eax, [esi]
mov	ecx, [ebp+var_4]
mov	ebx, [edi]
cdq
sub	eax, edx
sar	eax, 1
add	[ebp+x], eax
xor	eax, eax
cmp	dword ptr [ecx+24h], 10h
setnz	al
lea	eax, ds:0Eh[eax*4]
push	eax		; nIndex
call	ds:GetSysColor
push	eax
mov	ecx, edi
call	dword ptr [ebx+38h]
mov	ebx, [edi]
mov	ecx, [ebp+var_4]
xor	eax, eax
cmp	dword ptr [ecx+24h], 10h
setnz	al
lea	eax, [eax+eax+0Dh]
push	eax		; nIndex
call	ds:GetSysColor
push	eax
mov	ecx, edi
call	dword ptr [ebx+34h]
push	0CC0020h	; rop
push	1		; int
push	[ebp+y]		; y
mov	ecx, offset unk_103EC0C
push	[ebp+x]		; x
push	edi		; int
call	sub_10189B7
mov	ecx, [esi]
mov	eax, [esi+8]
sub	eax, ecx
sub	eax, 18h
mov	ebx, [edi]
cdq
sub	eax, edx
sar	eax, 1
add	eax, ecx
mov	ecx, [ebp+var_4]
mov	[ebp+x], eax
xor	eax, eax
cmp	dword ptr [ecx+24h], 18h
setnz	al
lea	eax, ds:0Eh[eax*4]
push	eax		; nIndex
call	ds:GetSysColor
push	eax
mov	ecx, edi
call	dword ptr [ebx+38h]
mov	ecx, [ebp+var_4]
mov	ebx, [edi]
xor	eax, eax
cmp	dword ptr [ecx+24h], 18h
setnz	al
lea	eax, [eax+eax+0Dh]
push	eax		; nIndex
call	ds:GetSysColor
push	eax
mov	ecx, edi
call	dword ptr [ebx+34h]
mov	eax, [esi+0Ch]
sub	eax, [esi+4]
push	0CC0020h	; rop
cdq
sub	eax, edx
push	2		; int
sar	eax, 1
add	[ebp+y], eax
push	[ebp+y]		; y
mov	esi, offset unk_103EC0C
push	[ebp+x]		; x
mov	ecx, esi
push	edi		; int
call	sub_10189B7
mov	ecx, esi
call	sub_10186CD
pop	edi
pop	esi
pop	ebx
leave
retn	0Ch
sub_1016DC9 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1016F6E proc near

arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_4]
mov	eax, [esi+0Ch]
sub	eax, [esi+4]
push	edi
mov	edi, [ebp+arg_8]
cdq
sub	eax, edx
sar	eax, 1
cmp	[edi+4], eax
jle	short loc_1016F90
push	18h
pop	eax
jmp	short loc_1016FAA

loc_1016F90:
mov	eax, [esi+8]
sub	eax, [esi]
cdq
sub	eax, edx
sar	eax, 1
xor	edx, edx
cmp	[edi], eax
setnle	dl
lea	edx, ds:8[edx*8]
mov	eax, edx

loc_1016FAA:
cmp	eax, [ecx+24h]
pop	edi
pop	esi
jz	short loc_1016FB7
push	eax
call	sub_1015261

loc_1016FB7:
pop	ebp
retn	0Ch
sub_1016F6E endp

align 10h


; Attributes: bp-based frame

sub_1016FC0 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_0]
push	edi
push	0		; lpTimerFunc
push	0		; uElapse
push	1		; nIDEvent
push	dword ptr [esi+20h] ; hWnd
mov	edi, ecx
call	ds:SetTimer
push	[ebp+arg_4]
mov	ecx, edi
push	esi
call	sub_10168B9
pop	edi
pop	esi
pop	ebp
retn	8
sub_1016FC0 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1016FF1 proc near

rcSrc2=	RECT ptr -24h
x= dword ptr -14h
y= dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 24h
and	dword_103E874, 0
push	ebx
push	esi
mov	ebx, ecx
mov	eax, [ebx+24h]
push	edi
inc	eax
push	4
and	eax, 0FFFFFFFEh
pop	ecx
cmp	eax, ecx
mov	[ebp+var_4], eax
jge	short loc_101701B
mov	[ebp+var_4], ecx
mov	eax, ecx

loc_101701B:
mov	esi, [ebp+arg_4]
cdq
sub	eax, edx
sar	eax, 1
mov	[ebp+var_8], eax
imul	eax, eax
mov	[ebp+var_C], eax
mov	edx, [ebx]
lea	edi, [esi+10h]
mov	eax, [edi]
mov	[ebp+rcSrc2.right], eax
mov	[ebp+rcSrc2.left], eax
mov	eax, [esi+14h]
mov	[ebp+rcSrc2.bottom], eax
mov	[ebp+rcSrc2.top], eax
mov	eax, [esi+20h]
push	eax
mov	[ebx+38h], eax
xor	eax, eax
cmp	[esi+18h], eax
push	1
setz	al
mov	ecx, ebx
push	eax
mov	eax, [ebp+arg_0]
mov	eax, [eax+40h]
push	dword ptr [eax+0Ch]
call	dword ptr [edx+5Ch]
mov	eax, [ebp+var_4]
and	[ebp+arg_4], 0
inc	eax
mov	[ebp+var_4], eax

loc_101706D:
mov	eax, [edi]
mov	[ebp+x], eax
mov	eax, [edi+4]
mov	[ebp+y], eax
call	ds:rand
cdq
idiv	[ebp+var_4]
sub	edx, [ebp+var_8]
add	[ebp+x], edx
call	ds:rand
cdq
idiv	[ebp+var_4]
mov	ecx, [ebp+x]
sub	ecx, [edi]
sub	edx, [ebp+var_8]
add	[ebp+y], edx
mov	eax, [ebp+y]
sub	eax, [esi+14h]
mov	edx, ecx
imul	edx, ecx
mov	ecx, eax
imul	ecx, eax
add	edx, ecx
cmp	edx, [ebp+var_C]
jg	short loc_101706D
mov	eax, [ebp+arg_0]
mov	eax, [eax+40h]
push	0F00021h	; rop
push	1		; h
push	1		; w
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [eax+0Ch] ; hdc
call	ds:PatBlt
mov	eax, [ebp+x]
cmp	eax, [ebp+rcSrc2.left]
jge	short loc_10170DF
mov	[ebp+rcSrc2.left], eax
jmp	short loc_10170E8

loc_10170DF:
inc	eax
cmp	eax, [ebp+rcSrc2.right]
jle	short loc_10170E8
mov	[ebp+rcSrc2.right], eax

loc_10170E8:
mov	eax, [ebp+y]
cmp	eax, [ebp+rcSrc2.top]
jge	short loc_10170F5
mov	[ebp+rcSrc2.top], eax
jmp	short loc_10170FE

loc_10170F5:
inc	eax
cmp	eax, [ebp+rcSrc2.bottom]
jle	short loc_10170FE
mov	[ebp+rcSrc2.bottom], eax

loc_10170FE:
inc	[ebp+arg_4]
cmp	[ebp+arg_4], 0Ah
jl	loc_101706D
push	dword ptr [ebx+38h]
mov	eax, [ebx]
xor	ecx, ecx
cmp	[esi+18h], ecx
mov	esi, [ebp+arg_0]
setz	cl
push	0
push	ecx
mov	ecx, [esi+40h]
push	dword ptr [ecx+0Ch]
mov	ecx, ebx
call	dword ptr [eax+5Ch]
lea	eax, [ebp+rcSrc2]
push	eax		; lprcSrc2
mov	eax, offset rcDst
push	eax		; lprcSrc1
push	eax		; lprcDst
call	ds:UnionRect
lea	eax, [ebp+rcSrc2]
push	eax		; lprcSrc2
push	dword ptr [esi+40h] ; int
call	sub_101282E
lea	eax, [ebp+rcSrc2]
push	eax		; hPal
push	dword ptr [esi+40h] ; int
call	sub_10128D0
push	edi
call	sub_1009D6F
pop	edi
pop	esi
pop	ebx
leave
retn	8
sub_1016FF1 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1017164 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_0]
test	esi, esi
push	edi
mov	edi, ecx
jnz	short loc_1017178
xor	eax, eax
jmp	short loc_101717B

loc_1017178:
mov	eax, [esi+20h]

loc_101717B:		; uIDEvent
push	1
push	eax		; hWnd
call	ds:KillTimer
push	[ebp+arg_4]
mov	ecx, edi
push	esi
call	sub_10155D3
pop	edi
pop	esi
pop	ebp
retn	8
sub_1017164 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_101719A(HWND hWnd)
sub_101719A proc near

hWnd= dword ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+hWnd]
test	eax, eax
jz	short loc_10171A9
mov	eax, [eax+20h]

loc_10171A9:		; uIDEvent
push	1
push	eax		; hWnd
call	ds:KillTimer
and	dword_103E904, 0
pop	ebp
retn	4
sub_101719A endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 14h
cmp	dword ptr [ebp+18h], 0
mov	[ebp-4], ecx
jz	short loc_10171DF
mov	eax, dword_103D6A4
cmp	eax, 87654321h
jnz	short loc_10171EF

loc_10171DF:
cmp	dword ptr [ebp+10h], 0
mov	eax, dword_103E87C
jnz	short loc_10171EF
mov	eax, color

loc_10171EF:
push	ebx
push	esi
push	edi
mov	edi, [ebp+0Ch]
mov	edx, [edi+4]
mov	ebx, [edi+8]
mov	esi, [edi]
push	0
push	dword ptr [ecx+28h]
mov	[ebp+18h], edx
push	dword ptr [ecx+24h]
mov	edx, [edi+0Ch]
push	eax
push	edx
push	ebx
push	dword ptr [edi+4]
mov	[ebp+10h], edx
push	esi
push	dword_103E878
call	sub_1014E48
cmp	esi, ebx
jge	short loc_101722C
mov	[ebp-14h], esi
lea	edx, [ebx+1]
jmp	short loc_1017232

loc_101722C:
mov	[ebp-14h], ebx
lea	edx, [esi+1]

loc_1017232:
mov	eax, [ebp+18h]
mov	ecx, [ebp+10h]
cmp	eax, ecx
jge	short loc_1017242
mov	[ebp-10h], eax
inc	ecx
jmp	short loc_1017248

loc_1017242:
mov	[ebp-10h], ecx
lea	ecx, [eax+1]

loc_1017248:
mov	eax, [ebp-4]
mov	eax, [eax+24h]
sub	[ebp-14h], eax
sub	[ebp-10h], eax
add	edx, eax
mov	[ebp-0Ch], edx
add	ecx, eax
mov	[ebp-8], ecx
lea	esi, [ebp-14h]
movsd
movsd
movsd
movsd
pop	edi
pop	esi
pop	ebx
leave
retn	14h
db 5 dup(0CCh)



sub_1017271 proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1015CFE
and	dword ptr [esi+0Ch], 0
and	dword ptr [esi+10h], 0
push	0Fh		; nIndex
mov	dword ptr [esi], offset	off_10031F4
mov	dword ptr [esi+14h], 1
call	ds:GetSysColor
mov	[esi+38h], eax
mov	dword ptr [esi+2Ch], 4B4h
mov	dword ptr [esi+30h], 27Fh
mov	eax, esi
pop	esi
retn
sub_1017271 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10172B2 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, [ebp+arg_4]
cmp	dword ptr [edi+20h], 0
mov	esi, ecx
push	dword ptr [esi+38h]
jz	short loc_10172CE
call	sub_100C3D9
jmp	short loc_10172E0

loc_10172CE:
cmp	dword ptr [edi+18h], 0
jz	short loc_10172DB
call	sub_100C255
jmp	short loc_10172E0

loc_10172DB:
call	sub_100C30F

loc_10172E0:		; nIndex
push	0Fh
call	ds:GetSysColor
mov	[esi+38h], eax
mov	eax, dword_103F170
test	eax, eax
jz	short loc_1017313
mov	eax, [eax+20h]
test	eax, eax
jz	short loc_1017313
push	eax		; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_1017313
mov	ecx, dword_103F170
push	1
call	sub_102C06B

loc_1017313:
mov	ecx, off_103D750
call	sub_1015199
push	edi
push	[ebp+arg_0]
mov	ecx, esi
call	sub_10152F0
pop	edi
pop	esi
pop	ebp
retn	8
sub_10172B2 endp

db 5 dup(0CCh)



sub_1017334 proc near
mov	ecx, off_103D750
call	sub_1015199
and	dword_103E904, 0
retn	4
sub_1017334 endp

db 5 dup(0CCh)



sub_101734E proc near
mov	eax, offset loc_1035FDB
call	sub_1034E18
sub	esp, 0Ch
mov	eax, dword_103EF88
push	ebx
xor	ebx, ebx
test	eax, eax
push	esi
mov	esi, [ebp+8]
mov	[ebp-10h], ecx
jz	short loc_1017382
push	ebx
push	eax
mov	ecx, esi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [esi+4] ; hdc
mov	ebx, eax
call	ds:RealizePalette

loc_1017382:
and	dword ptr [ebp-14h], 0
mov	dword ptr [ebp-18h], offset off_1002120
mov	eax, [ebp-10h]
push	dword ptr [eax+38h] ; color
and	dword ptr [ebp-4], 0
lea	ecx, [ebp-18h]
call	sub_100D0FB
test	eax, eax
jz	short loc_10173B9
lea	eax, [ebp-18h]
push	eax		; hbr
push	dword ptr [ebp+0Ch] ; lprc
mov	ecx, esi
call	sub_100AC6F
lea	ecx, [ebp-18h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)

loc_10173B9:
test	ebx, ebx
jz	short loc_10173C7
push	0
push	ebx
mov	ecx, esi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_10173C7:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-18h]
mov	dword ptr [ebp-18h], offset off_1002120
call	sub_10096BE
mov	ecx, [ebp-0Ch]
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	0Ch
sub_101734E endp

db 5 dup(0CCh)



sub_10173EF proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1015CFE
mov	dword ptr [esi], offset	off_1003264
mov	dword ptr [esi+2Ch], 4B5h
mov	dword ptr [esi+30h], 26Fh
mov	dword ptr [esi+18h], 1
mov	eax, esi
pop	esi
retn
sub_10173EF endp

db 5 dup(0CCh)



sub_101741D proc near
mov	eax, offset loc_1035FF2
call	sub_1034E18
sub	esp, 10h
mov	eax, [ebp+8]
push	ebx
push	esi
mov	dword_103E904, 1
mov	eax, [eax+40h]
push	edi
push	dword ptr [eax+0Ch]
xor	edi, edi
mov	[ebp-10h], edi
mov	[ebp-14h], eax
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
mov	ebx, eax
mov	[ebp-18h], edi
mov	dword ptr [ebp-1Ch], offset off_1002120
mov	esi, [ebp+0Ch]
cmp	[esi+20h], edi
mov	[ebp-4], edi
jz	short loc_1017470
mov	eax, dword_103D6A4
cmp	eax, 87654321h
jnz	short loc_101747F

loc_1017470:
cmp	[esi+18h], edi
mov	eax, dword_103E87C
jnz	short loc_101747F
mov	eax, color

loc_101747F:
mov	[ebp+8], eax
mov	eax, dword_103EF88
cmp	eax, edi
jz	short loc_10174A0
push	edi
push	eax
mov	ecx, ebx
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [ebx+4] ; hdc
mov	[ebp-10h], eax
call	ds:RealizePalette

loc_10174A0:		; color
push	dword ptr [ebp+8]
lea	ecx, [ebp-1Ch]
call	sub_100D0FB
test	eax, eax
jz	loc_1017534
lea	eax, [ebp-1Ch]
push	eax
mov	ecx, ebx
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
push	dword ptr [esi+14h] ; y
mov	ecx, ebx
push	dword ptr [esi+10h] ; x
mov	[ebp+8], eax
call	sub_1012783
mov	ecx, eax
shr	ecx, 10h
cmp	dword_103EF58, edi
jz	short loc_10174F6
movzx	ecx, cl
or	ecx, 200h
movzx	edx, ah
shl	ecx, 8
or	ecx, edx
movzx	eax, al
shl	ecx, 8
or	ecx, eax
jmp	short loc_1017506

loc_10174F6:
xor	edx, edx
mov	dh, cl
mov	dl, ah
movzx	eax, al
shl	edx, 8
or	edx, eax
mov	ecx, edx

loc_1017506:		; type
push	1
push	ecx		; color
push	dword ptr [esi+14h] ; y
mov	ecx, ebx
push	dword ptr [esi+10h] ; x
call	sub_1015CCF
push	dword ptr [ebp+8]
mov	ecx, ebx
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
push	edi		; lprcSrc2
push	dword ptr [ebp-14h] ; int
call	sub_101282E
push	edi		; hPal
push	dword ptr [ebp-14h] ; int
call	sub_10128D0
jmp	short loc_1017540

loc_1017534:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB

loc_1017540:
cmp	[ebp-10h], edi
jz	short loc_1017550
push	edi
push	dword ptr [ebp-10h]
mov	ecx, ebx
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1017550:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-1Ch]
mov	dword ptr [ebp-1Ch], offset off_1002120
call	sub_10096BE
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	8
sub_101741D endp

db 5 dup(0CCh)



sub_1017579 proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1015CFE
and	dword ptr [esi+0Ch], 0
and	dword ptr [esi+10h], 0
mov	dword ptr [esi], offset	off_10032D4
mov	dword ptr [esi+30h], 26Ch
mov	eax, esi
pop	esi
retn
sub_1017579 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10175A1 proc near

rc= tagRECT ptr	-10h
arg_0= dword ptr  8
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	ebx
push	esi
mov	esi, [ebp+arg_8]
mov	ecx, [esi]
mov	eax, [esi+8]
sub	eax, ecx
sub	eax, 25h
cdq
sub	eax, edx
mov	ebx, eax
mov	eax, [esi+0Ch]
sar	ebx, 1
add	ebx, ecx
mov	ecx, [esi+4]
sub	eax, ecx
cdq
sub	eax, edx
sar	eax, 1
sub	eax, 17h
cdq
sub	eax, edx
push	edi
mov	edi, eax
sar	edi, 1
add	edi, ecx
lea	eax, [ebx-3]
mov	[ebp+rc.left], eax
lea	eax, [edi-3]
mov	[ebp+rc.top], eax
lea	eax, [ebx+28h]
mov	[ebp+rc.right],	eax
lea	eax, [edi+1Ah]
mov	[ebp+rc.bottom], eax
xor	eax, eax
cmp	dword_103E7E8, eax
setz	al
lea	eax, [eax+eax+0Dh]
push	eax		; nIndex
call	sub_100D149
mov	ecx, [ebp+arg_0]
push	eax
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	ecx, [ebp+arg_0]
mov	[ebp+arg_8], eax
mov	eax, [ebp+rc.bottom]
sub	eax, [ebp+rc.top]
push	0F00021h	; rop
push	eax		; h
mov	eax, [ebp+rc.right]
sub	eax, [ebp+rc.left]
push	eax		; w
push	[ebp+rc.top]	; y
push	[ebp+rc.left]	; x
call	sub_100AC94
push	[ebp+arg_8]
mov	ecx, [ebp+arg_0]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	eax, [esi+0Ch]
sub	eax, [esi+4]
cdq
sub	eax, edx
sar	eax, 1
push	eax		; dy
push	0		; dx
lea	eax, [ebp+rc]
push	eax		; lprc
call	ds:OffsetRect
xor	eax, eax
cmp	dword_103E7E8, eax
setnz	al
lea	eax, [eax+eax+0Dh]
push	eax		; nIndex
call	sub_100D149
mov	ecx, [ebp+arg_0]
push	eax
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	[ebp+arg_8], eax
mov	eax, [ebp+rc.bottom]
sub	eax, [ebp+rc.top]
push	0F00021h	; rop
push	eax		; h
mov	eax, [ebp+rc.right]
sub	eax, [ebp+rc.left]
mov	ecx, [ebp+arg_0]
push	eax		; w
push	[ebp+rc.top]	; y
push	[ebp+rc.left]	; x
call	sub_100AC94
push	[ebp+arg_8]
mov	ecx, [ebp+arg_0]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	ecx, offset unk_103EC58
call	sub_1018963
push	0		; rop
push	0		; int
push	edi		; y
push	ebx		; x
push	[ebp+arg_0]	; int
mov	ecx, offset unk_103EC58
call	sub_10189B7
mov	eax, [esi+0Ch]
sub	eax, [esi+4]
push	0		; rop
cdq
sub	eax, edx
sar	eax, 1
push	1		; int
add	edi, eax
push	edi		; y
push	ebx		; x
push	[ebp+arg_0]	; int
mov	esi, offset unk_103EC58
mov	ecx, esi
call	sub_10189B7
mov	ecx, esi
call	sub_10186CD
pop	edi
pop	esi
pop	ebx
leave
retn	0Ch
sub_10175A1 endp

db 5 dup(0CCh)



sub_10176F7 proc near
mov	eax, offset loc_1036009
call	sub_1034E18
sub	esp, 2Ch
push	offset rc	; lprc
call	ds:IsRectEmpty
test	eax, eax
jnz	loc_101780D
push	ebx
push	esi
mov	esi, [ebp+8]
push	edi
push	esi
lea	ecx, [ebp-38h]
call	??0CClientDC@@QAE@PAVCWnd@@@Z ;	CClientDC::CClientDC(CWnd *)
and	dword ptr [ebp-4], 0
cmp	dword_103E894, 0
mov	ebx, [esi+48h]
lea	ecx, [ebp-38h]
jz	short loc_1017745
push	offset unk_103E890
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
jmp	short loc_101774C

loc_1017745:
push	4
call	?SelectStockObject@CDC@@UAEPAVCGdiObject@@H@Z ;	CDC::SelectStockObject(int)

loc_101774C:
mov	ecx, [ebp+8]
mov	esi, offset rc
lea	edi, [ebp-24h]
movsd
movsd
movsd
mov	[ebp-10h], eax
lea	eax, [ebp-24h]
push	eax
movsd
call	sub_10194E8
mov	eax, [ebp-1Ch]
sub	eax, [ebp-24h]
mov	ecx, [ebp-18h]
sub	ecx, [ebp-20h]
mov	esi, ds:PatBlt
mov	edi, 5A0049h
push	edi		; rop
push	ebx		; h
sub	eax, ebx
push	eax		; w
push	dword ptr [ebp-20h] ; y
mov	[ebp+8], ecx
push	dword ptr [ebp-24h] ; x
mov	[ebp-14h], eax
push	dword ptr [ebp-34h] ; hdc
call	esi ; PatBlt
mov	eax, [ebp-20h]
push	edi		; rop
push	ebx		; h
push	dword ptr [ebp-14h] ; w
sub	eax, ebx
add	eax, [ebp+8]
push	eax		; y
push	dword ptr [ebp-24h] ; x
push	dword ptr [ebp-34h] ; hdc
call	esi ; PatBlt
cmp	dword_103E89C, 0
jz	short loc_10177C0
push	offset unk_103E898
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)

loc_10177C0:
mov	edx, [ebp+8]
mov	eax, [ebp-20h]
push	edi		; rop
lea	ecx, [ebx+ebx*2]
sub	edx, ecx
push	edx		; h
push	ebx		; w
lea	eax, [eax+ebx*2]
push	eax		; y
push	dword ptr [ebp-24h] ; x
push	dword ptr [ebp-34h] ; hdc
call	esi ; PatBlt
mov	eax, [ebp-1Ch]
push	edi		; rop
push	dword ptr [ebp+8] ; h
sub	eax, ebx
push	ebx		; w
push	dword ptr [ebp-20h] ; y
push	eax		; x
push	dword ptr [ebp-34h] ; hdc
call	esi ; PatBlt
cmp	dword ptr [ebp-10h], 0
pop	edi
pop	esi
pop	ebx
jz	short loc_1017801
push	dword ptr [ebp-10h]
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)

loc_1017801:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-38h]
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_101780D:
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
leave
retn	4
sub_10176F7 endp

align 10h


; Attributes: bp-based frame

sub_1017820 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
xor	esi, esi
cmp	[ebp+arg_4], esi
jnz	short loc_1017844
push	[ebp+arg_0]
call	sub_10176F7
push	esi		; yBottom
push	esi		; xRight
push	esi		; yTop
push	esi		; xLeft
push	offset rc	; lprc
call	ds:SetRect

loc_1017844:
pop	esi
pop	ebp
retn	8
sub_1017820 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101784E proc near

rc1= RECT ptr -18h
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 18h
push	ebx
mov	ebx, [ebp+arg_4]
mov	eax, [ebx]
mov	[ebp+rc1.left],	eax
mov	eax, [ebx+4]
mov	[ebp+rc1.top], eax
mov	eax, [ebx+10h]
mov	[ebp+rc1.right], eax
mov	eax, [ebx+14h]
push	esi
mov	[ebp+rc1.bottom], eax
push	edi
lea	eax, [ebp+rc1]
push	eax
mov	[ebp+var_4], ecx
call	sub_1012070
inc	[ebp+rc1.right]
inc	[ebp+rc1.bottom]
xor	eax, eax
cmp	[ebp+rc1.left],	eax
jge	short loc_101788F
mov	[ebp+rc1.left],	eax

loc_101788F:
cmp	[ebp+rc1.top], eax
jge	short loc_1017897
mov	[ebp+rc1.top], eax

loc_1017897:
mov	esi, [ebp+arg_0]
mov	eax, [esi+40h]
mov	ecx, [eax+2Ch]
cmp	[ebp+rc1.right], ecx
jle	short loc_10178A8
mov	[ebp+rc1.right], ecx

loc_10178A8:
mov	eax, [eax+30h]
cmp	[ebp+rc1.bottom], eax
jle	short loc_10178B3
mov	[ebp+rc1.bottom], eax

loc_10178B3:
mov	edi, offset rc
push	edi		; lprc2
lea	eax, [ebp+rc1]
push	eax		; lprc1
call	ds:EqualRect
test	eax, eax
jnz	short loc_10178E2
mov	ecx, [ebp+var_4]
push	esi
call	sub_10176F7
push	[ebp+arg_0]
mov	ecx, [ebp+var_4]
lea	esi, [ebp+rc1]
movsd
movsd
movsd
movsd
call	sub_10176F7

loc_10178E2:
push	ebx
call	sub_1009D6F
mov	eax, rc.right
sub	eax, rc.left
mov	[ebp+var_8], eax
mov	eax, rc.bottom
sub	eax, rc.top
mov	[ebp+var_4], eax
lea	eax, [ebp+var_8]
push	eax
call	sub_1009D9B
pop	edi
pop	esi
pop	ebx
leave
retn	8
sub_101784E endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1017919 proc near

var_18=	dword ptr -18h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 18h
push	ebx
push	esi
push	edi
push	[ebp+arg_0]
mov	[ebp+var_4], ecx
call	sub_10176F7
xor	esi, esi
push	esi		; yBottom
push	esi		; xRight
push	esi		; yTop
push	esi		; xLeft
push	offset rc	; lprc
call	ds:SetRect
mov	ebx, [ebp+arg_4]
mov	dword_103E7DC, esi
mov	eax, [ebx]
mov	ecx, [ebx+10h]
cmp	eax, ecx
jle	short loc_1017959
mov	[ebp+var_18], ecx
mov	edi, eax
jmp	short loc_101795E

loc_1017959:
mov	[ebp+var_18], eax
mov	edi, ecx

loc_101795E:
mov	eax, [ebx+4]
mov	edx, [ebx+14h]
cmp	eax, edx
jle	short loc_101796F
mov	[ebp+var_14], edx
mov	ecx, eax
jmp	short loc_1017974

loc_101796F:
mov	[ebp+var_14], eax
mov	ecx, edx

loc_1017974:
cmp	[ebp+var_18], esi
jge	short loc_101797C
mov	[ebp+var_18], esi

loc_101797C:
cmp	[ebp+var_14], esi
jge	short loc_1017984
mov	[ebp+var_14], esi

loc_1017984:
mov	eax, [ebp+arg_0]
mov	eax, [eax+40h]
mov	edx, [eax+2Ch]
dec	edx
cmp	edi, edx
jle	short loc_1017994
mov	edi, edx

loc_1017994:
mov	edx, [eax+30h]
dec	edx
cmp	ecx, edx
jle	short loc_101799E
mov	ecx, edx

loc_101799E:
mov	edx, edi
sub	edx, [ebp+var_18]
jz	short loc_10179CF
mov	edx, ecx
sub	edx, [ebp+var_14]
jz	short loc_10179CF
inc	edi
mov	[ebp+var_10], edi
sub	esp, 10h
inc	ecx
mov	[ebp+var_C], ecx
mov	ecx, [ebp+arg_0]
mov	edi, esp
push	dword ptr [eax+0Ch]
lea	esi, [ebp+var_18]
movsd
movsd
movsd
movsd
call	sub_1019A43
xor	esi, esi
jmp	short loc_1017A03

loc_10179CF:
mov	ecx, offset unk_103E778
call	sub_100E6A7
push	esi
mov	dword_103E7E4, esi
mov	dword_103E7E0, esi
mov	dword_103E870, esi
call	sub_10124E6
mov	eax, [ebp+arg_0]
push	esi		; lprcSrc2
push	dword ptr [eax+40h] ; int
call	sub_101282E
mov	dword_103E804, esi

loc_1017A03:
call	sub_100965C
mov	ecx, [ebp+var_4]
push	ebx
push	[ebp+arg_0]
call	sub_10152F0
cmp	[ebx+1Ch], esi
jz	short loc_1017A36
cmp	[ebx+18h], esi
jnz	short loc_1017A36
mov	eax, [ebx+10h]
mov	ecx, [ebp+arg_0]
mov	[ebp+var_8], eax
mov	eax, [ebx+14h]
mov	[ebp+var_4], eax
lea	eax, [ebp+var_8]
push	eax
call	sub_1019667

loc_1017A36:
pop	edi
pop	esi
pop	ebx
leave
retn	8
sub_1017919 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1017A42 proc near

var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ebx
push	esi
xor	esi, esi
cmp	dword_103E7DC, esi
push	edi
mov	edi, [ebp+arg_0]
mov	[ebp+var_4], ecx
jnz	loc_1017B16
mov	ebx, ds:GetCapture
call	ebx ; GetCapture
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
cmp	eax, edi
jz	short loc_1017AB5
push	1
call	sub_1013960
mov	ecx, offset unk_103E778
call	sub_100E6A7
push	esi
mov	dword_103E7E4, esi
mov	dword_103E7E0, esi
mov	dword_103E870, esi
call	sub_10124E6
mov	eax, dword_103E804
cmp	eax, esi
jz	short loc_1017AAA
push	esi		; lprcSrc2
push	eax		; int
call	sub_101282E

loc_1017AAA:
mov	dword_103E804, esi
jmp	loc_1017B5F

loc_1017AB5:
cmp	dword_103E7DC, esi
jnz	short loc_1017B16
call	ebx ; GetCapture
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
cmp	eax, edi
jnz	short loc_1017B16
call	sub_10129FB
cmp	dword_103E7E0, esi
jnz	short loc_1017B16
cmp	dword_103E7E4, esi
jnz	short loc_1017B16
cmp	dword_103E870, esi
jz	short loc_1017AFE
mov	ecx, offset unk_103E778
call	sub_100E6A7
push	esi
mov	dword_103E870, esi
call	sub_10124E6
jmp	short loc_1017B16

loc_1017AFE:
cmp	dword_103E804, esi
jz	short loc_1017B0D
push	1
call	sub_1013960

loc_1017B0D:		; lprcSrc2
push	esi
push	dword ptr [edi+40h] ; int
call	sub_101282E

loc_1017B16:
mov	ecx, [ebp+var_4]
push	edi
call	sub_10176F7
push	esi		; yBottom
push	esi		; xRight
push	esi		; yTop
push	esi		; xLeft
push	offset rc	; lprc
call	ds:SetRect
mov	ecx, offset unk_103E778
call	sub_100E6A7
push	esi		; lprcSrc2
mov	dword_103E870, esi
mov	dword_103E804, esi
mov	dword_103E7E4, esi
mov	dword_103E7E0, esi
mov	dword_103E7DC, esi
push	dword ptr [edi+40h] ; int
call	sub_101282E

loc_1017B5F:
pop	edi
mov	dword_103E904, esi
pop	esi
pop	ebx
leave
retn	4
sub_1017A42 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1017B71 proc near

Point= tagPOINT	ptr -8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
push	esi
push	edi
lea	eax, [ebp+Point]
push	eax		; lpPoint
mov	edi, ecx
call	ds:GetCursorPos
push	[ebp+Point.y]
push	[ebp+Point.x]	; Point
call	sub_10127A0
mov	esi, eax
push	offset off_10035E0
mov	ecx, esi
call	?IsKindOf@CObject@@QBEHPBUCRuntimeClass@@@Z ; CObject::IsKindOf(CRuntimeClass const *)
test	eax, eax
jz	short loc_1017BE9
mov	eax, [esi+40h]
cmp	eax, dword_103E878
jnz	short loc_1017BE9
cmp	dword_103E804, 0
jz	short loc_1017BE9
lea	eax, [ebp+Point]
push	eax		; lpPoint
push	dword ptr [esi+20h] ; hWnd
call	ds:ScreenToClient
lea	eax, [ebp+Point]
push	eax
mov	ecx, esi
call	sub_1018C98
push	[ebp+Point.y]
push	[ebp+Point.x]	; pt
push	offset stru_103E808 ; lprc
call	ds:PtInRect
test	eax, eax
mov	eax, 1F4Ch
jnz	short loc_1017BEC

loc_1017BE9:
mov	eax, [edi+2Ch]

loc_1017BEC:
pop	edi
pop	esi
leave
retn
sub_1017B71 endp

db 5 dup(0CCh)



sub_1017BF5 proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1015CFE
and	dword ptr [esi+0Ch], 0
and	dword ptr [esi+10h], 0
mov	dword ptr [esi], offset	off_1003344
mov	dword ptr [esi+14h], 1
mov	dword ptr [esi+2Ch], 4B7h
mov	dword ptr [esi+30h], 27Eh
mov	eax, esi
pop	esi
retn
sub_1017BF5 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1017C2B proc near

x= dword ptr -0Ch
y= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 0Ch
mov	ecx, [ebp+arg_8]
mov	eax, dword_103ED04
mov	eax, [eax+48h]
push	ebx
mov	ebx, [ecx+0Ch]
mov	[ebp+var_4], eax
push	esi
mov	esi, [ecx+4]
push	edi
sub	ebx, esi
mov	eax, ebx
cdq
push	4
pop	edi
idiv	edi
mov	edx, [ecx]
mov	[ebp+y], edx
mov	[ebp+arg_8], eax
mov	eax, [ecx+8]
sub	eax, edx
sub	eax, 17h
cdq
sub	eax, edx
mov	edi, eax
mov	eax, ebx
cdq
idiv	[ebp+arg_8]
sar	edi, 1
add	edi, [ebp+y]
mov	ecx, offset unk_103ECA4
mov	[ebp+x], edi
mov	ebx, eax
add	ebx, esi
mov	[ebp+y], ebx
call	sub_1018963
cmp	[ebp+var_4], 1
mov	esi, [ebp+arg_0]
jnz	short loc_1017CC7
push	0Dh		; nIndex
call	sub_100D149
push	eax
mov	ecx, esi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
push	0F00021h	; rop
push	0Dh		; h
push	27h		; w
add	ebx, 0FFFFFFFEh
push	ebx		; y
add	edi, 0FFFFFFF8h
push	edi		; x
push	dword ptr [esi+4] ; hdc
mov	[ebp+arg_0], eax
call	ds:PatBlt
push	[ebp+arg_0]
mov	ecx, esi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)

loc_1017CC7:
mov	edi, ds:GetSysColor
mov	ebx, [esi]
xor	eax, eax
cmp	[ebp+var_4], 1
setnz	al
lea	eax, ds:0Eh[eax*4]
push	eax		; nIndex
call	edi ; GetSysColor
push	eax
mov	ecx, esi
call	dword ptr [ebx+38h]
mov	ebx, [esi]
xor	eax, eax
cmp	[ebp+var_4], 1
setnz	al
lea	eax, [eax+eax+0Dh]
push	eax		; nIndex
call	edi ; GetSysColor
push	eax
mov	ecx, esi
call	dword ptr [ebx+34h]
mov	ebx, [ebp+y]
push	0CC0020h	; rop
push	0		; int
push	ebx		; y
push	[ebp+x]		; x
mov	ecx, offset unk_103ECA4
push	esi		; int
call	sub_10189B7
add	ebx, [ebp+arg_8]
cmp	[ebp+var_4], 2
mov	[ebp+y], ebx
jnz	short loc_1017D5E
push	0Dh		; nIndex
call	sub_100D149
push	eax
mov	ecx, esi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
push	0F00021h	; rop
push	0Dh		; h
mov	[ebp+arg_0], eax
mov	eax, [ebp+x]
push	27h		; w
add	ebx, 0FFFFFFFEh
push	ebx		; y
add	eax, 0FFFFFFF8h
push	eax		; x
push	dword ptr [esi+4] ; hdc
call	ds:PatBlt
push	[ebp+arg_0]
mov	ecx, esi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)

loc_1017D5E:
mov	ebx, [esi]
xor	eax, eax
cmp	[ebp+var_4], 2
setnz	al
lea	eax, ds:0Eh[eax*4]
push	eax		; nIndex
call	edi ; GetSysColor
push	eax
mov	ecx, esi
call	dword ptr [ebx+38h]
mov	ebx, [esi]
xor	eax, eax
cmp	[ebp+var_4], 2
setnz	al
lea	eax, [eax+eax+0Dh]
push	eax		; nIndex
call	edi ; GetSysColor
push	eax
mov	ecx, esi
call	dword ptr [ebx+34h]
mov	ebx, [ebp+y]
push	0CC0020h	; rop
push	1		; int
push	ebx		; y
push	[ebp+x]		; x
mov	ecx, offset unk_103ECA4
push	esi		; int
call	sub_10189B7
add	ebx, [ebp+arg_8]
cmp	[ebp+var_4], 6
mov	[ebp+y], ebx
jnz	short loc_1017DEF
push	0Dh		; nIndex
call	sub_100D149
push	eax
mov	ecx, esi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
push	0F00021h	; rop
push	0Dh		; h
mov	[ebp+arg_0], eax
mov	eax, [ebp+x]
push	27h		; w
add	ebx, 0FFFFFFFEh
push	ebx		; y
add	eax, 0FFFFFFF8h
push	eax		; x
push	dword ptr [esi+4] ; hdc
call	ds:PatBlt
push	[ebp+arg_0]
mov	ecx, esi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)

loc_1017DEF:
mov	ebx, [esi]
xor	eax, eax
cmp	[ebp+var_4], 6
setnz	al
lea	eax, ds:0Eh[eax*4]
push	eax		; nIndex
call	edi ; GetSysColor
push	eax
mov	ecx, esi
call	dword ptr [ebx+38h]
mov	ebx, [esi]
xor	eax, eax
cmp	[ebp+var_4], 6
setnz	al
lea	eax, [eax+eax+0Dh]
push	eax		; nIndex
call	edi ; GetSysColor
push	eax
mov	ecx, esi
call	dword ptr [ebx+34h]
mov	ebx, [ebp+y]
push	0CC0020h	; rop
push	2		; int
push	ebx		; y
push	[ebp+x]		; x
mov	ecx, offset unk_103ECA4
push	esi		; int
call	sub_10189B7
add	ebx, [ebp+arg_8]
cmp	[ebp+var_4], 8
mov	[ebp+y], ebx
jnz	short loc_1017E80
push	0Dh		; nIndex
call	sub_100D149
push	eax
mov	ecx, esi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
push	0F00021h	; rop
push	0Dh		; h
mov	[ebp+arg_8], eax
mov	eax, [ebp+x]
push	27h		; w
add	ebx, 0FFFFFFFEh
push	ebx		; y
add	eax, 0FFFFFFF8h
push	eax		; x
push	dword ptr [esi+4] ; hdc
call	ds:PatBlt
push	[ebp+arg_8]
mov	ecx, esi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)

loc_1017E80:
mov	ebx, [esi]
xor	eax, eax
cmp	[ebp+var_4], 8
setnz	al
lea	eax, ds:0Eh[eax*4]
push	eax		; nIndex
call	edi ; GetSysColor
push	eax
mov	ecx, esi
call	dword ptr [ebx+38h]
mov	ebx, [esi]
xor	eax, eax
cmp	[ebp+var_4], 8
setnz	al
lea	eax, [eax+eax+0Dh]
push	eax		; nIndex
call	edi ; GetSysColor
push	eax
mov	ecx, esi
call	dword ptr [ebx+34h]
push	0CC0020h	; rop
push	3		; int
push	[ebp+y]		; y
push	[ebp+x]		; x
push	esi		; int
mov	esi, offset unk_103ECA4
mov	ecx, esi
call	sub_10189B7
mov	ecx, esi
call	sub_10186CD
pop	edi
pop	esi
pop	ebx
leave
retn	0Ch
sub_1017C2B endp

align 10h


; Attributes: bp-based frame

sub_1017EE0 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ebp+arg_4]
mov	eax, [ecx+0Ch]
sub	eax, [ecx+4]
push	4
cdq
pop	ecx
idiv	ecx
mov	ecx, eax
mov	eax, [ebp+arg_8]
mov	eax, [eax+4]
cdq
idiv	ecx
inc	eax
cmp	eax, 3
jl	short loc_1017F07
add	eax, eax

loc_1017F07:
mov	ecx, dword_103ED04
cmp	eax, [ecx+48h]
jz	short loc_1017F2D
push	eax
call	sub_101B2C5
mov	ecx, dword_103ED04
call	sub_10190E6
mov	ecx, [ebp+arg_0]
push	1
call	sub_102C06B

loc_1017F2D:
mov	ecx, off_103D750
call	sub_1015199
pop	ebp
retn	0Ch
sub_1017EE0 endp

db 5 dup(0CCh)



sub_1017F41 proc near
mov	eax, offset loc_1036020
call	sub_1034E18
sub	esp, 24h
push	offset stru_103EC94 ; lprc
call	ds:IsRectEmpty
test	eax, eax
jnz	short loc_1017FC7
push	ebx
push	esi
push	edi
push	dword_103E8F4
lea	ecx, [ebp-30h]
call	??0CClientDC@@QAE@PAVCWnd@@@Z ;	CClientDC::CClientDC(CWnd *)
and	dword ptr [ebp-4], 0
push	5
lea	ecx, [ebp-30h]
call	?SelectStockObject@CDC@@UAEPAVCGdiObject@@H@Z ;	CDC::SelectStockObject(int)
push	6
lea	ecx, [ebp-30h]
mov	ebx, eax
call	?SetROP2@CDC@@QAEHH@Z ;	CDC::SetROP2(int)
mov	ecx, dword_103E8F4
mov	esi, offset stru_103EC94
lea	edi, [ebp-1Ch]
movsd
movsd
movsd
lea	eax, [ebp-1Ch]
push	eax
movsd
call	sub_10194E8
lea	eax, [ebp-1Ch]
push	eax
lea	ecx, [ebp-30h]
call	sub_1015CAA
push	ebx
lea	ecx, [ebp-30h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-30h]
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)
pop	edi
pop	esi
pop	ebx

loc_1017FC7:
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
leave
retn
sub_1017F41 endp

align 8


; Attributes: bp-based frame

sub_1017FD8 proc near

Rect= tagRECT ptr -24h
rc= tagRECT ptr	-14h
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 24h
push	edi
mov	edi, [ebp+arg_0]
cmp	dword ptr [edi+48h], 1
mov	[ebp+var_4], ecx
jg	loc_10180E6
push	esi
lea	eax, [ebp+Rect]
push	eax		; lpRect
push	dword ptr [edi+20h] ; hWnd
call	ds:GetClientRect
mov	edx, [edi+4Ch]
mov	edi, [edi+40h]
mov	ecx, [edi+2Ch]
mov	eax, [ebp+Rect.right]
imul	ecx, edx
sub	eax, [ebp+Rect.left]
mov	esi, [ebp+Rect.bottom]
sub	esi, [ebp+Rect.top]
cmp	eax, ecx
jle	short loc_101801D
mov	eax, ecx

loc_101801D:
mov	edi, [edi+30h]
imul	edi, edx
cmp	esi, edi
jle	short loc_1018029
mov	esi, edi

loc_1018029:
mov	ecx, [ebp+arg_4]
mov	edi, [ecx+10h]
cdq
push	ebx
mov	ebx, [ecx+14h]
mov	ecx, [ebp+arg_0]
idiv	dword ptr [ecx+4Ch]
push	0FFFFFFFEh
mov	[ebp+rc.left], edi
mov	[ebp+rc.top], ebx
mov	ecx, eax
mov	eax, esi
mov	esi, [ebp+arg_0]
cdq
idiv	dword ptr [esi+4Ch]
pop	esi
add	ecx, edi
mov	[ebp+rc.right],	ecx
add	eax, ebx
mov	[ebp+rc.bottom], eax
sub	eax, ebx
cdq
idiv	esi
push	eax		; dy
mov	eax, ecx
sub	eax, edi
push	esi
cdq
pop	ecx
idiv	ecx
mov	esi, ds:OffsetRect
push	eax		; dx
lea	eax, [ebp+rc]
push	eax		; lprc
call	esi ; OffsetRect
mov	ecx, [ebp+rc.left]
test	ecx, ecx
mov	ebx, [ebp+arg_0]
jge	short loc_1018082
neg	ecx
jmp	short loc_1018091

loc_1018082:
mov	eax, [ebx+40h]
mov	ecx, [eax+2Ch]
sub	ecx, [ebp+rc.right]
test	ecx, ecx
jle	short loc_1018091
xor	ecx, ecx

loc_1018091:
mov	eax, [ebp+rc.top]
test	eax, eax
jge	short loc_101809C
neg	eax
jmp	short loc_10180AB

loc_101809C:
mov	eax, [ebx+40h]
mov	eax, [eax+30h]
sub	eax, [ebp+rc.bottom]
test	eax, eax
jle	short loc_10180AB
xor	eax, eax

loc_10180AB:		; dy
push	eax
push	ecx		; dx
lea	eax, [ebp+rc]
push	eax		; lprc
call	esi ; OffsetRect
mov	edi, offset stru_103EC94
push	edi		; lprc2
lea	eax, [ebp+rc]
push	eax		; lprc1
call	ds:EqualRect
test	eax, eax
jnz	short loc_10180E4
mov	ecx, [ebp+var_4]
call	sub_1017F41
mov	ecx, [ebp+var_4]
lea	esi, [ebp+rc]
movsd
movsd
movsd
mov	dword_103E8F4, ebx
movsd
call	sub_1017F41

loc_10180E4:
pop	ebx
pop	esi

loc_10180E6:
pop	edi
leave
retn	8
sub_1017FD8 endp

align 10h


; Attributes: bp-based frame

sub_10180F0 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_0]
mov	dword_103E904, 1
mov	dword_103E8F4, esi
call	sub_1017F41
cmp	dword ptr [esi+48h], 1
mov	ecx, esi
jnz	short loc_1018142
push	dword ptr [esi+4Ch]
call	sub_101B2C5
mov	ecx, esi
call	sub_10190E6
or	eax, 0FFFFFFFFh
sub	eax, stru_103EC94.top
mov	ecx, esi
push	eax
or	eax, 0FFFFFFFFh
sub	eax, stru_103EC94.left
push	eax
call	sub_101A8CD
jmp	short loc_1018150

loc_1018142:
push	1
call	sub_101B2C5
mov	ecx, esi
call	sub_10190E6

loc_1018150:
xor	eax, eax
push	eax		; yBottom
push	eax		; xRight
push	eax		; yTop
push	eax		; xLeft
push	offset stru_103EC94 ; lprc
call	ds:SetRect
pop	esi
pop	ebp
retn	8
sub_10180F0 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101816B proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
mov	ecx, off_103D750
call	sub_1015199
push	[ebp+arg_4]
mov	ecx, esi
push	[ebp+arg_0]
call	sub_10152F0
pop	esi
pop	ebp
retn	8
sub_101816B endp

db 5 dup(0CCh)
byte_1018195 db	8Bh, 0FFh
push	esi
call	sub_1017F41
xor	esi, esi
push	esi
push	esi
push	esi
push	esi
push	offset stru_103EC94
call	ds:SetRect
mov	ecx, off_103D750
call	sub_1015199
mov	dword_103E904, esi
pop	esi
retn	4
align 8
mov	eax, offset loc_103604F
call	sub_1034E18
sub	esp, 50h
push	ebx
mov	ebx, [ebp+0Ch]
xor	edx, edx
cmp	[ebx+18h], edx
push	esi
push	edi
mov	[ebp-10h], ecx
mov	dword_103E874, edx
mov	dword_103E870, edx
jz	short loc_1018238
mov	eax, color
mov	esi, dword_103E87C
push	1
push	1
mov	dword_103E87C, eax
push	dword ptr [ecx+24h]
lea	edi, [ebx+10h]
push	eax
push	dword ptr [edi+4]
mov	[ebp+0Ch], eax
push	dword ptr [edi]
mov	eax, [ebp+8]
push	dword ptr [ebx+0Ch]
push	dword ptr [ebx+8]
push	dword ptr [eax+40h]
call	sub_1014E48
mov	eax, [ebp+0Ch]
mov	dword_103E87C, esi
mov	color, eax
jmp	loc_1018540

loc_1018238:
call	sub_10129FB
mov	eax, [ebp+8]
mov	eax, [eax+40h]
push	dword ptr [eax+0Ch]
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
mov	esi, eax
lea	eax, [ebp-4Ch]
push	eax
mov	eax, [ebp-10h]
push	1
push	dword ptr [eax+24h]
lea	edi, [ebx+10h]
push	0FFFFFFh
push	dword ptr [edi+4]
push	dword ptr [edi]
push	dword ptr [ebx+0Ch]
push	dword ptr [ebx+8]
push	0
call	sub_1014D28
and	dword ptr [ebp-38h], 0
mov	dword ptr [ebp-3Ch], offset off_100282C
and	dword ptr [ebp-4], 0
lea	ecx, [ebp-5Ch]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
push	0
lea	ecx, [ebp-5Ch]
mov	byte ptr [ebp-4], 1
call	sub_1009779
test	eax, eax
jz	loc_101859E
mov	eax, [ebp-40h]
sub	eax, [ebp-48h]
push	0
push	1
push	1
push	eax
mov	eax, [ebp-44h]
sub	eax, [ebp-4Ch]
lea	ecx, [ebp-3Ch]
push	eax
call	sub_100AC14
test	eax, eax
jz	loc_101859E
lea	eax, [ebp-3Ch]
push	eax
lea	ecx, [ebp-5Ch]
call	sub_1032D5B
push	dword ptr [ebp-48h]
mov	[ebp-24h], eax
push	dword ptr [ebp-4Ch]
lea	eax, [ebp-2Ch]
push	eax
lea	ecx, [ebp-5Ch]
call	?SetWindowOrg@CDC@@QAE?AVCPoint@@HH@Z ;	CDC::SetWindowOrg(int,int)
mov	eax, [ebp-40h]
sub	eax, [ebp-48h]
mov	ecx, [ebp-44h]
sub	ecx, [ebp-4Ch]
push	42h
push	eax
push	ecx
push	dword ptr [ebp-48h]
push	dword ptr [ebp-4Ch]
push	dword ptr [ebp-58h]
call	ds:PatBlt
lea	eax, [ebp-4Ch]
push	eax
mov	eax, [ebp-10h]
push	1
push	dword ptr [eax+24h]
push	0FFFFFFh
push	dword ptr [edi+4]
push	dword ptr [edi]
push	dword ptr [ebx+0Ch]
push	dword ptr [ebx+8]
push	dword ptr [ebp-58h]
call	sub_1014D28
push	0
push	esi
mov	ecx, offset unk_103E778
call	sub_100EA13
push	0
mov	[ebp+0Ch], eax
push	0
lea	eax, [ebp-2Ch]
push	eax
mov	ecx, esi
call	sub_1015C79
and	dword ptr [ebp-30h], 0
mov	dword ptr [ebp-34h], offset off_1002120
push	color
lea	ecx, [ebp-34h]
mov	byte ptr [ebp-4], 2
call	sub_100D0FB
push	dword_103E87C
mov	eax, [ebp-40h]
sub	eax, [ebp-48h]
push	8800C6h
push	dword ptr [ebp-48h]
push	dword ptr [ebp-4Ch]
push	esi
push	eax
mov	eax, [ebp-44h]
sub	eax, [ebp-4Ch]
push	eax
push	dword ptr [ebp-48h]
lea	eax, [ebp-5Ch]
push	dword ptr [ebp-4Ch]
push	eax
call	sub_100EE07
test	eax, eax
jnz	loc_101845B
and	[ebp-28h], eax
mov	dword ptr [ebp-2Ch], offset off_1002120
push	dword_103E87C
lea	ecx, [ebp-2Ch]
mov	byte ptr [ebp-4], 3
call	sub_100D0FB
push	dword ptr [ebp-28h]
call	ds:UnrealizeObject
lea	eax, [ebp-2Ch]
push	eax
mov	ecx, esi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	[ebp-10h], eax
mov	eax, [ebp-40h]
sub	eax, [ebp-48h]
push	5A0049h
push	eax
mov	eax, [ebp-44h]
sub	eax, [ebp-4Ch]
mov	ecx, esi
push	eax
push	dword ptr [ebp-48h]
push	dword ptr [ebp-4Ch]
call	sub_100AC94
mov	eax, [ebp-40h]
sub	eax, [ebp-48h]
push	0
push	8800C6h
push	dword ptr [ebp-48h]
mov	ecx, offset unk_103E778
push	dword ptr [ebp-4Ch]
push	esi
push	eax
mov	eax, [ebp-44h]
sub	eax, [ebp-4Ch]
push	eax
push	dword ptr [ebp-48h]
lea	eax, [ebp-5Ch]
push	dword ptr [ebp-4Ch]
push	eax
call	sub_100F27D
mov	eax, [ebp-40h]
sub	eax, [ebp-48h]
push	5A0049h
push	eax
mov	eax, [ebp-44h]
sub	eax, [ebp-4Ch]
mov	ecx, esi
push	eax
push	dword ptr [ebp-48h]
push	dword ptr [ebp-4Ch]
call	sub_100AC94
push	dword ptr [ebp-10h]
mov	ecx, esi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
lea	ecx, [ebp-2Ch]
mov	byte ptr [ebp-4], 2
mov	dword ptr [ebp-2Ch], offset off_1002120
call	sub_10096BE

loc_101845B:
lea	eax, [ebp-34h]
push	eax
mov	ecx, esi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	[ebp-20h], eax
lea	eax, [ebp-18h]
push	eax
lea	eax, [ebp-14h]
push	eax
push	0
push	dword ptr [esi+4]
call	sub_100E6BB
push	dword ptr [ebp-14h]
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+34h]
push	dword ptr [ebp-18h]
mov	[ebp-10h], eax
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+38h]
push	0E20746h
push	dword ptr [ebp-48h]
mov	[ebp-1Ch], eax
push	dword ptr [ebp-4Ch]
lea	eax, [ebp-5Ch]
push	eax
mov	eax, [ebp-40h]
sub	eax, [ebp-48h]
mov	ecx, esi
push	eax
mov	eax, [ebp-44h]
sub	eax, [ebp-4Ch]
push	eax
push	dword ptr [ebp-48h]
push	dword ptr [ebp-4Ch]
call	sub_10097A4
push	dword ptr [ebp-10h]
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+34h]
push	dword ptr [ebp-1Ch]
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+38h]
push	dword ptr [ebp-20h]
mov	ecx, esi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
push	dword ptr [ebp-24h]
lea	ecx, [ebp-5Ch]
call	sub_1032D5B
cmp	dword ptr [ebp+0Ch], 0
jz	short loc_10184FA
push	0
push	dword ptr [ebp+0Ch]
mov	ecx, esi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_10184FA:
mov	esi, [ebp+8]
lea	eax, [ebp-4Ch]
push	eax
push	dword ptr [esi+40h]
call	sub_101282E
lea	eax, [ebp-4Ch]
push	eax
push	dword ptr [esi+40h]
call	sub_10128D0
lea	ecx, [ebp-34h]
mov	byte ptr [ebp-4], 1
mov	dword ptr [ebp-34h], offset off_1002120
call	sub_10096BE
lea	ecx, [ebp-5Ch]
mov	byte ptr [ebp-4], 0
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-3Ch]
call	sub_100E829

loc_1018540:
mov	eax, [edi]
cmp	eax, rcDst.left
jge	short loc_1018551
mov	rcDst.left, eax
jmp	short loc_101855E

loc_1018551:
cmp	eax, rcDst.right
jle	short loc_101855E
mov	rcDst.right, eax

loc_101855E:
mov	ebx, [ebx+14h]
cmp	ebx, rcDst.top
jge	short loc_1018571
mov	rcDst.top, ebx
jmp	short loc_101857F

loc_1018571:
cmp	ebx, rcDst.bottom
jle	short loc_101857F
mov	rcDst.bottom, ebx

loc_101857F:
push	edi
call	sub_1009D6F
mov	ecx, [ebp+8]
mov	dword_103E874, 1
push	dword ptr [edi+4]
push	dword ptr [edi]
call	sub_101A1DD
jmp	short loc_10185C2

loc_101859E:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
lea	ecx, [ebp-5Ch]
mov	byte ptr [ebp-4], 0
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-3Ch]
call	sub_100E829

loc_10185C2:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	8
db 5 dup(0CCh)



sub_10185D8 proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1016222
and	dword ptr [esi+8], 0
mov	dword ptr [esi], offset	off_10033B4
mov	dword ptr [esi+24h], 1
mov	dword ptr [esi+30h], 270h
mov	eax, esi
pop	esi
retn
sub_10185D8 endp

db 0CCh	; Ã
db 0CCh	; Ã
db 3 dup(0CCh)



sub_1018603 proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1016222
mov	dword ptr [esi], 1003424h
mov	eax, esi
pop	esi
retn
sub_1018603 endp

db 5 dup(0CCh)



sub_101861C proc near
call	sub_1017F41
xor	eax, eax
push	eax		; yBottom
push	eax		; xRight
push	eax		; yTop
push	eax		; xLeft
push	offset stru_103EC94 ; lprc
call	ds:SetRect
retn	8
sub_101861C endp

db 5 dup(0CCh)



sub_101863A proc near
call	sub_1017F41
retn	8
sub_101863A endp

db 5 dup(0CCh)



sub_1018647 proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1018603
mov	dword ptr [esi], offset	loc_1003494
mov	dword ptr [esi+30h], 281h
mov	eax, esi
pop	esi
retn
sub_1018647 endp

db 5 dup(0CCh)



sub_1018667 proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1018603
mov	dword ptr [esi], 1003504h
mov	dword ptr [esi+30h], 27Ah
mov	eax, esi
pop	esi
retn
sub_1018667 endp

db 5 dup(0CCh)



sub_1018687 proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1018603
mov	dword ptr [esi], 1003574h
mov	dword ptr [esi+30h], 283h
mov	eax, esi
pop	esi
retn
sub_1018687 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_10186A7(void *, char)
sub_10186A7 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_1015CF2
test	[ebp+arg_0], 1
jz	short loc_10186C1
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_10186C1:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_10186A7 endp

db 5 dup(0CCh)



sub_10186CD proc near
mov	edi, edi
push	esi
mov	esi, ecx
lea	ecx, [esi+14h]
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
lea	ecx, [esi+2Ch]
pop	esi
jmp	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
sub_10186CD endp

align 8



sub_10186E8 proc near
mov	eax, offset loc_103607F
call	sub_1034E18
push	ecx
push	ebx
push	esi
mov	esi, ecx
xor	ebx, ebx
push	edi
mov	[esi+4], ebx
mov	[esi+8], ebx
mov	edi, offset off_1001F9C
mov	[ebp-10h], esi
mov	[esi+10h], ebx
mov	[esi+0Ch], edi
lea	ecx, [esi+14h]
mov	[ebp-4], ebx
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	[esi+28h], ebx
mov	[esi+24h], edi
lea	ecx, [esi+2Ch]
mov	byte ptr [ebp-4], 2
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	ecx, [ebp-0Ch]
mov	[esi], ebx
pop	edi
mov	eax, esi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_10186E8 endp

db 5 dup(0CCh)



sub_1018743 proc near
mov	eax, offset loc_103607F
call	sub_1034E18
push	ecx
mov	eax, [ebp+0Ch]
push	esi
mov	esi, ecx
mov	[esi+4], eax
mov	eax, [ebp+10h]
push	edi
mov	[esi+8], eax
and	dword ptr [esi+10h], 0
mov	edi, offset off_1001F9C
mov	[ebp-10h], esi
mov	[esi+0Ch], edi
and	dword ptr [ebp-4], 0
lea	ecx, [esi+14h]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
and	dword ptr [esi+28h], 0
mov	[esi+24h], edi
lea	ecx, [esi+2Ch]
mov	byte ptr [ebp-4], 2
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	eax, [ebp+8]
mov	ecx, [ebp-0Ch]
mov	[esi], eax
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn	0Ch
sub_1018743 endp

align 8



sub_10187A8 proc near
mov	eax, offset loc_10360BA
call	sub_1034E18
push	ecx
push	ecx
push	ebx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-14h], esi
lea	ecx, [esi+14h]
mov	dword ptr [ebp-4], 3
mov	[ebp-10h], ecx
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
lea	edi, [esi+0Ch]
mov	ecx, edi
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
lea	ebx, [esi+2Ch]
mov	ecx, ebx
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
add	esi, 24h
mov	ecx, esi
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
mov	ecx, ebx
mov	byte ptr [ebp-4], 2
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	ebx, offset off_1001F9C
mov	ecx, esi
mov	byte ptr [ebp-4], 1
mov	[esi], ebx
call	sub_10096BE
mov	ecx, [ebp-10h]
mov	byte ptr [ebp-4], 0
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, edi
mov	[edi], ebx
call	sub_10096BE
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_10187A8 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1018836 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, [ebp+arg_0]
mov	esi, ecx
push	edi
lea	ecx, [esi+0Ch]
call	sub_1009718
test	eax, eax
jz	short loc_1018860
mov	eax, [ebp+arg_4]
mov	[esi+4], eax
mov	eax, [ebp+arg_8]
mov	[esi+8], eax
xor	eax, eax
mov	[esi], edi
inc	eax

loc_1018860:
pop	edi
pop	esi
pop	ebp
retn	0Ch
sub_1018836 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101886B proc near

pv= byte ptr -20h
nWidth=	dword ptr -1Ch
cy= dword ptr -18h
var_8= dword ptr -8
var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 20h
push	ebx
push	esi
push	edi
mov	edi, ecx
lea	esi, [edi+2Ch]
xor	ebx, ebx
push	ebx		; hdc
mov	ecx, esi
mov	[ebp+var_4], esi
call	sub_1009779
test	eax, eax
jnz	short loc_1018899
push	ebx
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	short loc_10188EC

loc_1018899:
cmp	[edi+28h], ebx
jz	short loc_10188AE
add	edi, 24h
push	edi
mov	ecx, esi
call	sub_1032D5B
jmp	loc_1018956

loc_10188AE:
lea	eax, [ebp+pv]
push	eax		; pv
push	18h		; c
push	dword ptr [edi+10h] ; h
call	ds:GetObjectW
mov	eax, [ebp+cy]
push	ebx		; lpBits
push	1		; nBitCount
push	1		; nPlanes
add	eax, eax
push	eax		; nHeight
push	[ebp+nWidth]	; nWidth
lea	esi, [edi+24h]
mov	ecx, esi
call	sub_100AC14
test	eax, eax
mov	ecx, [ebp+var_4]
jnz	short loc_10188F0
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
push	ebx
mov	ecx, offset unk_103EE08
call	sub_101F3A4

loc_10188EC:
xor	eax, eax
jmp	short loc_1018959

loc_10188F0:
push	esi
call	sub_1032D5B
push	ebx		; y
push	ebx		; x
push	dword ptr [edi+18h] ; hdc
lea	esi, [edi+14h]
mov	eax, [esi]
mov	[ebp+var_8], eax
call	ds:GetPixel
push	eax
mov	eax, [ebp+var_8]
mov	ecx, esi
call	dword ptr [eax+34h]
mov	ecx, [ebp+var_4]
push	330008h		; rop
push	ebx		; y1
push	ebx		; x1
push	esi		; hdcSrc
push	[ebp+cy]	; cy
mov	edi, eax
push	[ebp+nWidth]	; int
push	ebx		; y
push	ebx		; x
call	sub_10097A4
mov	eax, [esi]
push	ebx
mov	ecx, esi
call	dword ptr [eax+34h]
mov	ecx, [ebp+var_4]
push	0CC0020h	; rop
push	ebx		; y1
push	ebx		; x1
push	esi		; hdcSrc
push	[ebp+cy]	; cy
push	[ebp+nWidth]	; int
push	[ebp+cy]	; y
push	ebx		; x
call	sub_10097A4
mov	eax, [esi]
push	edi
mov	ecx, esi
call	dword ptr [eax+34h]

loc_1018956:
xor	eax, eax
inc	eax

loc_1018959:
pop	edi
pop	esi
pop	ebx
leave
retn
sub_101886B endp

db 5 dup(0CCh)



sub_1018963 proc near
mov	edi, edi
push	esi
mov	esi, ecx
cmp	dword ptr [esi+10h], 0
jnz	short loc_1018981
push	dword ptr [esi+8]
push	dword ptr [esi+4]
push	dword ptr [esi]
call	sub_1018836
test	eax, eax
jnz	short loc_1018981
pop	esi
retn

loc_1018981:
push	edi
lea	edi, [esi+14h]
push	0		; hdc
mov	ecx, edi
call	sub_1009779
test	eax, eax
jnz	short loc_10189A1
push	eax
mov	ecx, offset unk_103EE08
call	sub_101F3CB
xor	eax, eax
jmp	short loc_10189AF

loc_10189A1:
add	esi, 0Ch
push	esi
mov	ecx, edi
call	sub_1032D5B
xor	eax, eax
inc	eax

loc_10189AF:
pop	edi
pop	esi
retn
sub_1018963 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10189B7(int, int x,	int y, int, DWORD rop)
sub_10189B7 proc near

var_4= dword ptr -4
arg_0= dword ptr  8
x= dword ptr  0Ch
y= dword ptr  10h
arg_C= dword ptr  14h
rop= dword ptr	18h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ebx
push	esi
xor	ebx, ebx
mov	esi, ecx
cmp	[esi+18h], ebx
mov	[ebp+var_4], ebx
jnz	short loc_10189DB
call	sub_1018963
test	eax, eax
jz	short loc_10189F4
mov	[ebp+var_4], 1

loc_10189DB:
cmp	[ebp+rop], ebx
jnz	loc_1018AD7
cmp	[esi+30h], ebx
jnz	short loc_10189FB
mov	ecx, esi
call	sub_101886B
test	eax, eax
jnz	short loc_10189FB

loc_10189F4:
xor	eax, eax
jmp	loc_1018B0A

loc_10189FB:
push	edi
mov	edi, [ebp+arg_0]
mov	eax, [edi]
push	0FFFFFFh
mov	ecx, edi
call	dword ptr [eax+34h]
mov	[ebp+rop], eax
mov	eax, [edi]
push	ebx
mov	ecx, edi
call	dword ptr [eax+38h]
mov	[ebp+arg_0], eax
mov	eax, [esi+4]
mov	edx, eax
imul	edx, [ebp+arg_C]
mov	ebx, 660046h
push	ebx		; rop
push	0		; y1
push	edx		; x1
lea	ecx, [esi+14h]
push	ecx		; hdcSrc
push	dword ptr [esi+8] ; cy
mov	ecx, edi
push	eax		; int
push	[ebp+y]		; y
push	[ebp+x]		; x
call	sub_10097A4
mov	eax, [esi+4]
mov	edx, eax
imul	edx, [ebp+arg_C]
push	220326h		; rop
push	0		; y1
push	edx		; x1
lea	ecx, [esi+2Ch]
push	ecx		; hdcSrc
push	dword ptr [esi+8] ; cy
mov	ecx, edi
push	eax		; int
push	[ebp+y]		; y
push	[ebp+x]		; x
call	sub_10097A4
mov	eax, [esi+4]
mov	ecx, eax
imul	ecx, [ebp+arg_C]
push	ebx		; rop
push	0		; y1
push	ecx		; x1
lea	ecx, [esi+14h]
push	ecx		; hdcSrc
push	dword ptr [esi+8] ; cy
mov	ecx, edi
push	eax		; int
push	[ebp+y]		; y
push	[ebp+x]		; x
call	sub_10097A4
mov	ebx, [edi]
push	12h		; nIndex
call	ds:GetSysColor
push	eax
mov	ecx, edi
call	dword ptr [ebx+34h]
mov	ecx, [esi+4]
mov	eax, [esi+8]
mov	edx, ecx
imul	edx, [ebp+arg_C]
push	0EE0086h	; rop
push	eax		; y1
push	edx		; x1
lea	edx, [esi+2Ch]
push	edx		; hdcSrc
push	eax		; cy
push	ecx		; int
push	[ebp+y]		; y
mov	ecx, edi
push	[ebp+x]		; x
call	sub_10097A4
push	[ebp+rop]
mov	eax, [edi]
mov	ecx, edi
call	dword ptr [eax+34h]
mov	eax, [edi]
push	[ebp+arg_0]
mov	ecx, edi
call	dword ptr [eax+38h]
xor	ebx, ebx
pop	edi
jmp	short loc_1018AFB

loc_1018AD7:
mov	eax, [esi+4]
push	[ebp+rop]	; rop
mov	ecx, eax
imul	ecx, [ebp+arg_C]
push	ebx		; y1
push	ecx		; x1
lea	ecx, [esi+14h]
push	ecx		; hdcSrc
push	dword ptr [esi+8] ; cy
mov	ecx, [ebp+arg_0]
push	eax		; int
push	[ebp+y]		; y
push	[ebp+x]		; x
call	sub_10097A4

loc_1018AFB:
cmp	[ebp+var_4], ebx
jz	short loc_1018B07
mov	ecx, esi
call	sub_10186CD

loc_1018B07:
xor	eax, eax
inc	eax

loc_1018B0A:
pop	esi
pop	ebx
leave
retn	14h
sub_10189B7 endp

db 5 dup(0CCh)

loc_1018B15:
mov	eax, offset off_10035E0
retn
align 10h



sub_1018B20 proc near
mov	eax, off_103D74C
cmp	dword ptr [eax+30h], 26Eh
push	esi
jnz	short loc_1018B60
mov	esi, eax
test	esi, esi
jz	short loc_1018B60
push	offset off_1006F10
mov	ecx, esi
call	?IsKindOf@CObject@@QBEHPBUCRuntimeClass@@@Z ; CObject::IsKindOf(CRuntimeClass const *)
test	eax, eax
jz	short loc_1018B60
mov	esi, [esi+38h]
test	esi, esi
jz	short loc_1018B60
push	offset off_10054C0
mov	ecx, esi
call	?IsKindOf@CObject@@QBEHPBUCRuntimeClass@@@Z ; CObject::IsKindOf(CRuntimeClass const *)
test	eax, eax
jz	short loc_1018B60
mov	eax, esi
pop	esi
retn

loc_1018B60:
xor	eax, eax
pop	esi
retn
sub_1018B20 endp

db 5 dup(0CCh)



sub_1018B69 proc near
call	sub_1018B20
neg	eax
sbb	eax, eax
neg	eax
retn
sub_1018B69 endp

db 5 dup(0CCh)



sub_1018B7A proc near
mov	eax, offset off_1003838
retn
sub_1018B7A endp

db 5 dup(0CCh)



sub_1018B85 proc near
mov	eax, offset loc_10360D1
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_100384C
xor	edi, edi
cmp	dword_103ED04, esi
mov	[ebp-4], edi
jnz	short loc_1018BB0
mov	dword_103ED04, edi

loc_1018BB0:
cmp	dword_103ECFC, esi
jnz	short loc_1018BBE
mov	dword_103ECFC, edi

loc_1018BBE:
call	sub_10129FB
cmp	dword_103ED00, esi
mov	dword_103E874, edi
mov	dword_103E8FC, edi
jnz	short loc_1018BDD
mov	dword_103ED00, edi

loc_1018BDD:
mov	eax, [esi+6Ch]
cmp	eax, edi
jz	short loc_1018BEE
push	eax		; hMem
call	ds:GlobalFree
mov	[esi+6Ch], edi

loc_1018BEE:
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	??1CWnd@@UAE@XZ	; CWnd::~CWnd(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_1018B85 endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
xor	eax, eax
inc	eax
cmp	[ebp+0Ch], eax
jnz	short loc_1018C24
mov	edx, [ebp+8]
mov	edx, [edx+20h]
cmp	edx, [ecx+20h]
jz	short loc_1018C29

loc_1018C24:		; CWnd::Default(void)
call	?Default@CWnd@@IAEJXZ

loc_1018C29:
pop	ebp
retn	0Ch
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1018C32 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	edx, [eax]
mov	[ecx+44h], edx
mov	[eax], ecx
mov	[ecx+40h], eax
pop	ebp
retn	4
sub_1018C32 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1018C4D(HDC	hdc, BOOL bForceBkgd)
sub_1018C4D proc near

hdc= dword ptr	8
bForceBkgd= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
xor	esi, esi
cmp	dword_103EF9C, esi
jz	short loc_1018C64
mov	[ebp+bForceBkgd], 1

loc_1018C64:
mov	eax, dword_103EF88
cmp	eax, esi
jz	short loc_1018C8C
mov	eax, [eax+4]
cmp	eax, esi
jz	short loc_1018C8C
push	[ebp+bForceBkgd] ; bForceBkgd
push	eax		; hPal
push	[ebp+hdc]	; hdc
call	ds:SelectPalette
push	[ebp+hdc]	; hdc
mov	esi, eax
call	ds:RealizePalette

loc_1018C8C:
mov	eax, esi
pop	esi
pop	ebp
retn	8
sub_1018C4D endp

align 8


; Attributes: bp-based frame

sub_1018C98 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_0]
mov	eax, [esi]
sub	eax, 3
cdq
idiv	dword ptr [ecx+48h]
sub	eax, [ecx+50h]
mov	[esi], eax
mov	eax, [esi+4]
sub	eax, 3
cdq
idiv	dword ptr [ecx+48h]
sub	eax, [ecx+54h]
mov	[esi+4], eax
pop	esi
pop	ebp
retn	4
sub_1018C98 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1018CC9 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	edx, [ecx+50h]
add	edx, [eax]
imul	edx, [ecx+48h]
add	edx, 3
mov	[eax], edx
mov	edx, [ecx+54h]
add	edx, [eax+4]
imul	edx, [ecx+48h]
add	edx, 3
mov	[eax+4], edx
pop	ebp
retn	4
sub_1018CC9 endp

align 8



sub_1018CF8 proc near
call	ds:ReleaseCapture
mov	ecx, dword_103ED08
test	ecx, ecx
jz	short loc_1018D0F
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_1018D0F:
and	dword_103ED08, 0
and	dword_103ED0C, 0
jmp	sub_100965C
sub_1018CF8 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1018D27(int	hdc)
sub_1018D27 proc near

hdc= dword ptr	8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
push	dword ptr [esi+40h]
call	sub_1012409
test	eax, eax
jz	short loc_1018D4B
mov	eax, [esi+40h]
push	[ebp+hdc]	; hdc
mov	ecx, [eax+4]
call	sub_100B525
jmp	short loc_1018D53

loc_1018D4B:		; uType
push	0
call	ds:MessageBeep

loc_1018D53:
pop	esi
pop	ebp
retn	4
sub_1018D27 endp

db 5 dup(0CCh)



sub_1018D5D proc near
mov	eax, offset loc_10360E8
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_1003910
and	dword ptr [ebp-4], 0
call	?DestroyMenu@CMenu@@QAEHXZ ; CMenu::DestroyMenu(void)
mov	ecx, [ebp-0Ch]
mov	dword ptr [esi], offset	off_1001F6C
pop	esi
mov	large fs:0, ecx
leave
retn
sub_1018D5D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1018D95(int	nPos)
sub_1018D95 proc near

nPos= dword ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+nPos]	; nPos
push	dword ptr [ecx+4] ; hMenu
call	ds:GetSubMenu
push	eax
call	?FromHandle@CMenu@@SGPAV1@PAUHMENU__@@@Z ; CMenu::FromHandle(HMENU__ *)
pop	ebp
retn	4
sub_1018D95 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1018DB5 proc near

arg_0= word ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
movzx	eax, [ebp+arg_0]
push	esi
push	eax		; lpMenuName
push	4		; unsigned __int16 *
push	eax		; unsigned __int16 *
mov	esi, ecx
call	?AfxFindResourceHandle@@YGPAUHINSTANCE__@@PBG0@Z ; AfxFindResourceHandle(ushort	const *,ushort const *)
push	eax		; hInstance
call	ds:LoadMenuW
push	eax
mov	ecx, esi
call	?Attach@CMenu@@QAEHPAUHMENU__@@@Z ; CMenu::Attach(HMENU__ *)
pop	esi
pop	ebp
retn	4
sub_1018DB5 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1018DE3(UINT Msg, WPARAM wParam, LPARAM lParam)
sub_1018DE3 proc near

Msg= dword ptr	8
wParam=	dword ptr  0Ch
lParam=	dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+lParam]	; lParam
push	[ebp+wParam]	; wParam
push	[ebp+Msg]	; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	0Ch
sub_1018DE3 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1018E03(LPPOINT lpPoint)
sub_1018E03 proc near

lpPoint= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
mov	esi, [ebp+lpPoint]
push	edi
mov	ebx, ecx
push	esi		; lpPoint
push	dword ptr [ebx+20h] ; hWnd
call	ds:ClientToScreen
lea	edi, [esi+8]
push	edi		; lpPoint
push	dword ptr [ebx+20h] ; hWnd
call	ds:ClientToScreen
mov	ecx, ebx
call	?GetExStyle@CWnd@@QBEKXZ ; CWnd::GetExStyle(void)
test	eax, 400000h
jz	short loc_1018E3D
mov	eax, [esi]
mov	ecx, [edi]
mov	[esi], ecx
mov	[edi], eax

loc_1018E3D:
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	4
sub_1018E03 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1018E49(WPARAM wParam)
sub_1018E49 proc near

wParam=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	0		; lParam
push	[ebp+wParam]	; wParam
push	0Bh		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	4
sub_1018E49 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1018E67 proc near

arg_0= word ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
movzx	eax, [ebp+arg_0]
push	eax		; lpCursorName
push	0Ch		; unsigned __int16 *
push	eax		; unsigned __int16 *
call	?AfxFindResourceHandle@@YGPAUHINSTANCE__@@PBG0@Z ; AfxFindResourceHandle(ushort	const *,ushort const *)
push	eax		; hInstance
call	ds:LoadCursorW
pop	ebp
retn	4
sub_1018E67 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1018E89(WPARAM wParam)
sub_1018E89 proc near

wParam=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
call	sub_1018B20
test	eax, eax
jz	short loc_1018EAF
push	0		; lParam
push	[ebp+wParam]	; wParam
push	111h		; Msg
push	dword ptr [eax+20h] ; hWnd
call	ds:SendMessageW
xor	eax, eax
inc	eax
jmp	short loc_1018EB1

loc_1018EAF:
xor	eax, eax

loc_1018EB1:
pop	ebp
retn	4
sub_1018E89 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1018EBA proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	??0CWnd@@QAE@XZ	; CWnd::CWnd(void)
or	dword ptr [esi+60h], 0FFFFFFFFh
or	dword ptr [esi+64h], 0FFFFFFFFh
xor	ecx, ecx
xor	eax, eax
inc	eax
mov	[esi+48h], eax
mov	[esi+58h], eax
mov	[esi+5Ch], eax
mov	eax, [ebp+arg_0]
mov	dword ptr [esi], offset	off_100384C
mov	[esi+44h], ecx
mov	dword ptr [esi+4Ch], 4
mov	[esi+50h], ecx
mov	[esi+54h], ecx
mov	dword_103ED04, esi
mov	[esi+40h], eax
mov	[esi+70h], ecx
mov	[esi+68h], cx
mov	[esi+6Ch], ecx
mov	[esi+74h], cx
or	dword ptr [eax+48h], 0FFFFFFFFh
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1018EBA endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1018F1D(void *, char)
sub_1018F1D proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_1018B85
test	[ebp+arg_0], 1
jz	short loc_1018F37
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1018F37:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1018F1D endp

db 5 dup(0CCh)



sub_1018F43 proc near
mov	eax, offset loc_1036105
call	sub_1034E18
push	ebx
push	esi
push	edi
xor	edi, edi
test	byte ptr dword_103EDF0,	1
mov	ebx, ecx
mov	esi, offset dword_103EDEC
jnz	short loc_1018F82
or	dword_103EDF0, 1
mov	ecx, esi
mov	[ebp-4], edi
call	??0CString@@QAE@XZ ; CString::CString(void)
push	offset loc_10379FA
call	sub_1034E6D
or	dword ptr [ebp-4], 0FFFFFFFFh
pop	ecx

loc_1018F82:
mov	eax, dword_103EDEC
cmp	[eax-8], edi
jnz	short loc_1018F9E
push	edi		; HICON
push	edi		; HBRUSH
push	edi		; HICON
push	8		; unsigned int
call	?AfxRegisterWndClass@@YGPBGIPAUHICON__@@PAUHBRUSH__@@0@Z ; AfxRegisterWndClass(uint,HICON__ *,HBRUSH__ *,HICON__ *)
push	eax
mov	ecx, esi
call	??4CString@@QAEABV0@PBG@Z ; CString::operator=(ushort const *)

loc_1018F9E:
mov	eax, [ebp+8]
push	edi
push	dword ptr [ebp+14h]
or	eax, 4000000h
push	dword ptr [ebp+10h]
mov	ecx, ebx
push	dword ptr [ebp+0Ch]
push	eax
push	edi
push	dword_103EDEC
call	?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const	&,CWnd *,uint,CCreateContext *)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	10h
sub_1018F43 endp

db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
mov	eax, [esi+40h]
test	eax, eax
jz	short loc_1018FE8
push	esi
push	eax
call	sub_1012520

loc_1018FE8:
mov	ecx, esi
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
pop	esi
retn	4
align 8
push	1
push	0
push	dword ptr [ecx+20h]
call	ds:InvalidateRect
retn	4
db 5 dup(0CCh)
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
retn	4
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101901A proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
xor	edi, edi
cmp	[ebp+arg_4], edi
mov	esi, ecx
jnz	short loc_101907C
mov	eax, [ebp+arg_0]
sub	eax, 1F40h
jz	short loc_1019077
dec	eax
jz	short loc_101906D
dec	eax
jz	short loc_101905A
dec	eax
jz	short loc_1019055
push	[ebp+arg_0]
call	sub_101523D
cmp	eax, edi
jz	short loc_101907C
mov	ecx, eax
call	sub_1015199

loc_1019050:
xor	eax, eax
inc	eax
jmp	short loc_101908F

loc_1019055:
push	edi
push	2
jmp	short loc_1019070

loc_101905A:		; lParam
push	edi
push	2		; wParam

loc_101905D:		; Msg
push	115h

loc_1019062:		; hWnd
push	dword ptr [esi+20h]
call	ds:SendMessageW
jmp	short loc_1019050

loc_101906D:
push	edi
push	3

loc_1019070:
push	114h
jmp	short loc_1019062

loc_1019077:
push	edi
push	3
jmp	short loc_101905D

loc_101907C:
push	[ebp+arg_C]
mov	ecx, esi
push	[ebp+arg_8]
push	[ebp+arg_4]
push	[ebp+arg_0]
call	?OnCmdMsg@CCmdTarget@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CCmdTarget::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *)

loc_101908F:
pop	edi
pop	esi
pop	ebp
retn	10h
sub_101901A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101909A proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	edi
xor	edi, edi
cmp	dword_103EF9C, edi
jz	short loc_10190B1
mov	[ebp+arg_4], 1

loc_10190B1:
mov	eax, dword_103EF88
cmp	eax, edi
jz	short loc_10190DA
cmp	[eax+4], edi
jz	short loc_10190DA
push	esi
push	[ebp+arg_4]
mov	esi, [ebp+arg_0]
push	eax
mov	ecx, esi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [esi+4] ; hdc
mov	edi, eax
call	ds:RealizePalette
pop	esi

loc_10190DA:
mov	eax, edi
pop	edi
pop	ebp
retn	8
sub_101909A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10190E6 proc near

var_48=	dword ptr -48h
var_44=	dword ptr -44h
var_40=	dword ptr -40h
var_3C=	dword ptr -3Ch
var_38=	dword ptr -38h
var_34=	dword ptr -34h
Rect= tagRECT ptr -2Ch
var_1C=	dword ptr -1Ch
var_18=	dword ptr -18h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 48h
cmp	dword_103EDF4, 0
push	esi
mov	esi, ecx
jnz	loc_10192AE
push	ebx
push	edi
mov	edi, ds:GetSystemMetrics
push	2		; nIndex
mov	dword_103EDF4, 1
call	edi ; GetSystemMetrics
push	3		; nIndex
mov	[ebp+var_C], eax
call	edi ; GetSystemMetrics
mov	[ebp+var_14], eax
lea	eax, [ebp+Rect]
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:GetClientRect
mov	eax, [ebp+Rect.right]
sub	eax, [ebp+Rect.left]
mov	ebx, [ebp+Rect.bottom]
sub	ebx, [ebp+Rect.top]
mov	ecx, esi
mov	[ebp+var_4], eax
call	?GetStyle@CWnd@@QBEKXZ ; CWnd::GetStyle(void)
mov	edi, eax
shr	edi, 14h
mov	ecx, esi
and	edi, 1
call	?GetStyle@CWnd@@QBEKXZ ; CWnd::GetStyle(void)
shr	eax, 15h
and	eax, 1
test	edi, edi
jz	short loc_101915D
add	ebx, [ebp+var_14]

loc_101915D:
test	eax, eax
jz	short loc_1019167
mov	eax, [ebp+var_C]
add	[ebp+var_4], eax

loc_1019167:
lea	eax, [ebp+var_1C]
push	eax
push	dword ptr [esi+40h]
call	sub_101253B
mov	eax, [esi+48h]
mov	ecx, eax
imul	eax, [ebp+var_18]
imul	ecx, [ebp+var_1C]
add	eax, 6
mov	[ebp+var_18], eax
add	ecx, 6
lea	eax, [ecx+1Fh]
cdq
push	20h
pop	edi
idiv	edi
mov	[ebp+var_1C], ecx
mov	[esi+58h], eax
mov	eax, [ebp+var_18]
add	eax, 1Fh
cdq
idiv	edi
xor	edi, edi
mov	[ebp+var_10], edi
mov	[ebp+var_8], edi
mov	[esi+5Ch], eax

loc_10191AC:
xor	eax, eax
cmp	[ebp+var_8], edi
jnz	short loc_10191C6
cmp	[ebp+var_18], ebx
jle	short loc_10191C6
mov	edx, [ebp+var_C]
inc	eax
sub	[ebp+var_4], edx
mov	[ebp+var_8], 1

loc_10191C6:
cmp	[ebp+var_10], edi
jnz	short loc_10191D9
cmp	ecx, [ebp+var_4]
jle	short loc_10191D9
xor	eax, eax
inc	eax
sub	ebx, [ebp+var_14]
mov	[ebp+var_10], eax

loc_10191D9:
cmp	eax, edi
jnz	short loc_10191AC
push	edi		; wParam
mov	ecx, esi
call	sub_1018E49
mov	eax, [ebp+var_1C]
mov	ecx, [esi+48h]
dec	eax
cdq
idiv	ecx
push	edi
mov	[ebp+var_48], 1Ch
mov	[ebp+var_44], 7
mov	[ebp+var_40], edi
mov	[ebp+var_3C], eax
mov	eax, [ebp+var_4]
cdq
idiv	ecx
mov	ecx, esi
mov	[ebp+var_38], eax
mov	eax, [esi+50h]
neg	eax
mov	[ebp+var_34], eax
lea	eax, [ebp+var_48]
push	eax
push	edi
call	?SetScrollInfo@CWnd@@QAEHHPAUtagSCROLLINFO@@H@Z	; CWnd::SetScrollInfo(int,tagSCROLLINFO	*,int)
mov	eax, [ebp+var_18]
mov	ecx, [esi+48h]
dec	eax
cdq
idiv	ecx
push	edi
mov	[ebp+var_3C], eax
mov	eax, ebx
cdq
idiv	ecx
mov	ecx, esi
mov	[ebp+var_38], eax
mov	eax, [esi+54h]
neg	eax
mov	[ebp+var_34], eax
lea	eax, [ebp+var_48]
push	eax
push	1
call	?SetScrollInfo@CWnd@@QAEHHPAUtagSCROLLINFO@@H@Z	; CWnd::SetScrollInfo(int,tagSCROLLINFO	*,int)
push	17h
lea	eax, [ebp+var_48]
push	eax
push	edi
mov	ecx, esi
mov	[ebp+var_44], 4
call	?GetScrollInfo@CWnd@@QAEHHPAUtagSCROLLINFO@@I@Z	; CWnd::GetScrollInfo(int,tagSCROLLINFO	*,uint)
mov	ecx, [esi+50h]
mov	eax, [ebp+var_34]
neg	ecx
cmp	ecx, eax
jz	short loc_1019272
neg	eax
mov	[esi+50h], eax

loc_1019272:
push	17h
lea	eax, [ebp+var_48]
push	eax
push	1
mov	ecx, esi
call	?GetScrollInfo@CWnd@@QAEHHPAUtagSCROLLINFO@@I@Z	; CWnd::GetScrollInfo(int,tagSCROLLINFO	*,uint)
mov	ecx, [esi+54h]
mov	eax, [ebp+var_34]
neg	ecx
cmp	ecx, eax
jz	short loc_1019292
neg	eax
mov	[esi+54h], eax

loc_1019292:		; wParam
push	1
mov	ecx, esi
call	sub_1018E49
push	edi		; bErase
push	edi		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:InvalidateRect
mov	dword_103EDF4, edi
pop	edi
pop	ebx

loc_10192AE:
pop	esi
leave
retn
sub_10190E6 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10192B6 proc near

var_20=	dword ptr -20h
var_1C=	dword ptr -1Ch
var_18=	dword ptr -18h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 20h
push	ebx
xor	eax, eax
cmp	[ebp+arg_0], eax
push	esi
push	edi
setnz	al
push	7
pop	edi
push	17h
mov	ebx, ecx
mov	[ebp+var_20], 1Ch
mov	[ebp+var_1C], edi
mov	[ebp+var_4], eax
lea	eax, [ebp+var_20]
push	eax
push	[ebp+var_4]
call	?GetScrollInfo@CWnd@@QAEHHPAUtagSCROLLINFO@@I@Z	; CWnd::GetScrollInfo(int,tagSCROLLINFO	*,uint)
mov	eax, [ebp+var_10]
mov	ecx, [ebp+var_C]
mov	edx, [ebp+var_14]
shr	eax, 2
cmp	[ebp+arg_4], edi ; switch 8 cases
mov	esi, ecx
ja	short loc_1019324 ; jumptable 010192FF default case
mov	edi, [ebp+arg_4]
jmp	ds:off_1019376[edi*4] ;	switch jump

loc_1019306:		; jumptable 010192FF case 6
xor	esi, esi
jmp	short loc_1019324 ; jumptable 010192FF default case

loc_101930A:		; jumptable 010192FF case 7
mov	esi, edx
jmp	short loc_1019324 ; jumptable 010192FF default case

loc_101930E:		; jumptable 010192FF case 1
lea	esi, [ecx+eax]
jmp	short loc_1019324 ; jumptable 010192FF default case

loc_1019313:		; jumptable 010192FF case 3
lea	esi, [ecx+eax*4]
jmp	short loc_1019324 ; jumptable 010192FF default case

loc_1019318:		; jumptable 010192FF case 2
shl	eax, 2

loc_101931B:		; jumptable 010192FF case 0
sub	ecx, eax
mov	esi, ecx
jmp	short loc_1019324 ; jumptable 010192FF default case

loc_1019321:		; jumptable 010192FF cases 4,5
mov	esi, [ebp+arg_8]

loc_1019324:		; jumptable 010192FF default case
cmp	esi, [ebp+var_18]
jge	short loc_101932D
xor	esi, esi
jmp	short loc_1019337

loc_101932D:
sub	edx, [ebp+var_10]
inc	edx
cmp	esi, edx
jle	short loc_1019337
mov	esi, edx

loc_1019337:
xor	edi, edi
push	edi		; bErase
push	edi		; lpRect
push	dword ptr [ebx+20h] ; hWnd
call	ds:InvalidateRect
mov	eax, esi
neg	eax
cmp	[ebp+arg_0], edi
jz	short loc_1019352
mov	[ebx+54h], eax
jmp	short loc_1019355

loc_1019352:
mov	[ebx+50h], eax

loc_1019355:
push	1
lea	eax, [ebp+var_20]
push	eax
push	[ebp+var_4]
mov	ecx, ebx
mov	[ebp+var_1C], 4
mov	[ebp+var_C], esi
call	?SetScrollInfo@CWnd@@QAEHHPAUtagSCROLLINFO@@H@Z	; CWnd::SetScrollInfo(int,tagSCROLLINFO	*,int)
pop	edi
pop	esi
pop	ebx
leave
retn	0Ch
sub_10192B6 endp

off_1019376 dd offset loc_101931B ; jump table for switch statement
dd offset loc_101930E
dd offset loc_1019318
dd offset loc_1019313
dd offset loc_1019321
dd offset loc_1019321
dd offset loc_1019306
dd offset loc_101930A
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 1Ch
test	byte ptr [ebp+8], 0Ch
push	esi
mov	esi, ecx
jz	short loc_10193B3
xor	eax, eax
jmp	loc_10194BC

loc_10193B3:
test	esi, esi
jnz	short loc_10193BB
xor	eax, eax
jmp	short loc_10193BE

loc_10193BB:
mov	eax, [esi+20h]

loc_10193BE:
push	ebx
push	0FFFFFFF0h
push	eax
call	ds:GetWindowLongW
test	eax, 200000h
jz	short loc_10193DB
mov	dword ptr [ebp+8], 1
lea	ebx, [esi+54h]
jmp	short loc_10193E2

loc_10193DB:
and	dword ptr [ebp+8], 0
lea	ebx, [esi+50h]

loc_10193E2:
push	17h
lea	eax, [ebp-1Ch]
push	eax
push	dword ptr [ebp+8]
mov	ecx, esi
mov	dword ptr [ebp-1Ch], 1Ch
mov	dword ptr [ebp-18h], 7
call	?GetScrollInfo@CWnd@@QAEHHPAUtagSCROLLINFO@@I@Z	; CWnd::GetScrollInfo(int,tagSCROLLINFO	*,uint)
mov	ax, [ebp+0Ch]
sub	[esi+74h], ax
movsx	ecx, word ptr [esi+74h]
mov	eax, ecx
cdq
xor	eax, edx
sub	eax, edx
cmp	eax, 78h
jl	loc_10194B8
push	edi
mov	eax, ecx
push	78h
cdq
pop	ecx
idiv	ecx
mov	edi, [ebp-0Ch]
shr	edi, 2
imul	edi, eax
add	edi, [ebp-8]
cmp	edi, [ebp-14h]
jge	short loc_101943A
xor	edi, edi
jmp	short loc_1019447

loc_101943A:
mov	eax, [ebp-10h]
sub	eax, [ebp-0Ch]
inc	eax
cmp	edi, eax
jle	short loc_1019447
mov	edi, eax

loc_1019447:
push	0
push	0
push	dword ptr [esi+20h]
call	ds:InvalidateRect
mov	eax, edi
neg	eax
mov	[ebx], eax
push	1
lea	eax, [ebp-1Ch]
push	eax
push	dword ptr [ebp+8]
mov	ecx, esi
mov	dword ptr [ebp-18h], 4
mov	[ebp-8], edi
call	?SetScrollInfo@CWnd@@QAEHHPAUtagSCROLLINFO@@H@Z	; CWnd::SetScrollInfo(int,tagSCROLLINFO	*,int)
movsx	eax, word ptr [esi+74h]
cdq
push	78h
pop	ecx
idiv	ecx
push	offset dword_103EDC8
push	esi
mov	[esi+74h], dx
mov	eax, dword_103EDD8
mov	ecx, off_103D74C
mov	dword_103EDD0, eax
mov	eax, dword_103EDDC
mov	dword_103EDD4, eax
mov	eax, [ebp+10h]
mov	dword_103EDD8, eax
mov	eax, [ebp+14h]
mov	dword_103EDDC, eax
mov	eax, [ecx]
call	dword ptr [eax+30h]
pop	edi

loc_10194B8:
xor	eax, eax
inc	eax
pop	ebx

loc_10194BC:
pop	esi
leave
retn	10h
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10194C6 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_0]
push	esi
call	sub_1018C98
add	esi, 8
push	esi
call	sub_1018C98
pop	esi
pop	ebp
retn	4
sub_10194C6 endp

align 8


; Attributes: bp-based frame

sub_10194E8 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_0]
push	esi
call	sub_1018CC9
add	esi, 8
push	esi
call	sub_1018CC9
pop	esi
pop	ebp
retn	4
sub_10194E8 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_101950A(LPRECT lprc)
sub_101950A proc near

lprc= dword ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, [ebp+lprc]
mov	esi, ecx
mov	eax, [esi+40h]
push	dword ptr [eax+30h] ; yBottom
push	dword ptr [eax+2Ch] ; xRight
push	0		; yTop
push	0		; xLeft
push	edi		; lprc
call	ds:SetRect
push	edi
mov	ecx, esi
call	sub_10194E8
cmp	dword_103EF3C, 0
jz	short loc_1019547
cmp	dword ptr [esi+48h], 3
jle	short loc_1019547
inc	dword ptr [edi+8]
inc	dword ptr [edi+0Ch]

loc_1019547:
pop	edi
pop	esi
pop	ebp
retn	4
sub_101950A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1019552 proc near

Rect= tagRECT ptr -20h
rcDst= tagRECT ptr -10h
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 20h
push	esi
push	edi
lea	eax, [ebp+rcDst]
push	eax		; lprc
mov	esi, ecx
call	sub_101950A
lea	eax, [ebp+Rect]
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:GetClientRect
lea	eax, [ebp+Rect]
push	eax		; lprcSrc2
lea	eax, [ebp+rcDst]
push	eax		; lprcSrc1
push	eax		; lprcDst
call	ds:IntersectRect
push	3		; dy
push	3		; dx
lea	eax, [ebp+rcDst]
push	eax		; lprc
call	ds:InflateRect
mov	eax, [ebp+arg_0]
lea	esi, [ebp+rcDst]
mov	edi, eax
movsd
movsd
movsd
movsd
pop	edi
pop	esi
leave
retn	4
sub_1019552 endp

db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
call	sub_10190E6
mov	ecx, esi
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
pop	esi
retn	0Ch
db 5 dup(0CCh)



sub_10195C2 proc near
mov	ecx, off_103D74C
mov	eax, [ecx]
push	esi
call	dword ptr [eax+64h]
mov	esi, eax
xor	eax, eax
test	esi, esi
jz	short loc_10195F5
cmp	esi, 7F00h
jnb	short loc_10195E8
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	eax, [eax+0Ch]
jmp	short loc_10195EA

loc_10195E8:
xor	eax, eax

loc_10195EA:
movzx	ecx, si
push	ecx		; lpCursorName
push	eax		; hInstance
call	ds:LoadCursorW

loc_10195F5:		; hCursor
push	eax
call	ds:SetCursor
pop	esi
retn
sub_10195C2 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1019603(POINT pt)
sub_1019603 proc near

rc= tagRECT ptr	-10h
pt= POINT ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
mov	eax, [ecx+48h]
push	esi
push	edi
mov	esi, offset stru_103E808
lea	edi, [ebp+rc]
movsd
movsd
movsd
movsd
mov	ecx, eax
imul	ecx, [ebp+rc.left]
mov	[ebp+rc.left], ecx
mov	ecx, eax
imul	ecx, [ebp+rc.top]
mov	[ebp+rc.top], ecx
mov	ecx, eax
imul	eax, [ebp+rc.bottom]
imul	ecx, [ebp+rc.right]
push	3		; dy
mov	[ebp+rc.bottom], eax
push	3		; dx
lea	eax, [ebp+rc]
push	eax		; lprc
mov	[ebp+rc.right],	ecx
call	ds:InflateRect
push	[ebp+pt.y]
lea	eax, [ebp+rc]
push	[ebp+pt.x]	; pt
push	eax		; lprc
call	ds:PtInRect
pop	edi
pop	esi
leave
retn	8
sub_1019603 endp

db 5 dup(0CCh)



sub_1019667 proc near
mov	eax, offset loc_103611C
call	sub_1034E18
sub	esp, 20h
and	dword ptr [ebp-18h], 0
push	esi
mov	esi, ecx
mov	dword ptr [ebp-1Ch], offset off_1003910
and	dword ptr [ebp-4], 0
push	76h
lea	ecx, [ebp-1Ch]
call	sub_1018DB5
test	eax, eax
jz	short loc_1019712
push	ebx
push	0		; nPos
lea	ecx, [ebp-1Ch]
call	sub_1018D95
mov	ebx, eax
test	ebx, ebx
jz	short loc_1019711
mov	eax, [ebp+8]
mov	ecx, [eax]
mov	eax, [eax+4]
mov	[ebp-10h], eax
lea	eax, [ebp-14h]
mov	[ebp-14h], ecx
push	eax
mov	ecx, esi
call	sub_1018CC9
lea	eax, [ebp-14h]
push	eax		; lpPoint
push	dword ptr [esi+20h] ; hWnd
call	ds:ClientToScreen
lea	eax, [ebp-2Ch]
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:GetClientRect
lea	eax, [ebp-2Ch]
push	eax		; lpPoint
mov	ecx, esi
call	sub_1018E03
mov	ecx, esi
call	?GetParentFrame@CWnd@@QBEPAVCFrameWnd@@XZ ; CWnd::GetParentFrame(void)
test	eax, eax
jnz	short loc_10196FD
push	dword ptr [esi+20h] ; hWnd
call	ds:GetParent
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)

loc_10196FD:
lea	ecx, [ebp-2Ch]
push	ecx
push	eax
push	dword ptr [ebp-10h]
mov	ecx, ebx
push	dword ptr [ebp-14h]
push	2
call	?TrackPopupMenu@CMenu@@QAEHIHHPAVCWnd@@PBUtagRECT@@@Z ;	CMenu::TrackPopupMenu(uint,int,int,CWnd	*,tagRECT const	*)

loc_1019711:
pop	ebx

loc_1019712:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-1Ch]
call	sub_1018D5D
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	4
sub_1019667 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1019732 proc near

var_10=	dword ptr -10h
h= dword ptr -0Ch
hPal= dword ptr	-8
hdc= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	ebx
xor	ebx, ebx
cmp	h, ebx
mov	[ebp+var_10], ecx
jz	loc_1019859
push	esi
mov	esi, [ecx+40h]
push	dword ptr [esi+0Ch] ; hdc
mov	[ebp+hPal], ebx
call	ds:CreateCompatibleDC
cmp	eax, ebx
mov	[ebp+hdc], eax
jnz	short loc_101976F
push	ebx		; uType
call	ds:MessageBeep
jmp	loc_1019858

loc_101976F:
push	edi
call	sub_10129FB
cmp	dword_103E884, ebx
mov	edi, ds:SelectPalette
jz	short loc_10197D5
mov	eax, [esi+28h]
cmp	eax, ebx
jz	short loc_1019794
push	ebx		; bForceBkgd
push	eax		; hPal
push	dword ptr [esi+0Ch] ; hdc
call	edi ; SelectPalette
mov	[esi+28h], ebx

loc_1019794:
mov	ecx, [esi+24h]
cmp	ecx, ebx
jz	short loc_10197A0
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)

loc_10197A0:
push	dword_103E884
mov	ecx, [esi+24h]
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
mov	dword_103E884, ebx
mov	eax, [esi+24h]
cmp	eax, ebx
jnz	short loc_10197BF
xor	eax, eax
jmp	short loc_10197C2

loc_10197BF:
mov	eax, [eax+4]

loc_10197C2:		; bForceBkgd
push	ebx
push	eax		; hPal
push	dword ptr [esi+0Ch] ; hdc
call	edi ; SelectPalette
push	dword ptr [esi+0Ch] ; hdc
mov	[esi+28h], eax
call	ds:RealizePalette

loc_10197D5:		; h
push	h
push	[ebp+hdc]	; hdc
call	ds:SelectObject
mov	[ebp+h], eax
mov	eax, [esi+24h]
cmp	eax, ebx
jz	short loc_1019804
mov	eax, [eax+4]
push	ebx		; bForceBkgd
push	eax		; hPal
push	[ebp+hdc]	; hdc
call	edi ; SelectPalette
push	[ebp+hdc]	; hdc
mov	[ebp+hPal], eax
call	ds:RealizePalette

loc_1019804:		; rop
push	0CC0020h
push	ebx		; y1
push	ebx		; x1
push	[ebp+hdc]	; hdcSrc
push	dword ptr [esi+30h] ; cy
push	dword ptr [esi+2Ch] ; cx
push	ebx		; y
push	ebx		; x
push	dword ptr [esi+0Ch] ; hdc
call	ds:BitBlt
cmp	[ebp+hPal], ebx
jz	short loc_101982D
push	ebx		; bForceBkgd
push	[ebp+hPal]	; hPal
push	[ebp+hdc]	; hdc
call	edi ; SelectPalette

loc_101982D:		; h
push	[ebp+h]
push	[ebp+hdc]	; hdc
call	ds:SelectObject
push	[ebp+hdc]	; hdc
call	ds:DeleteDC
mov	esi, [ebp+var_10]
push	ebx		; lprcSrc2
push	dword ptr [esi+40h] ; int
call	sub_101282E
push	ebx		; hPal
push	dword ptr [esi+40h] ; int
call	sub_10128D0
pop	edi

loc_1019858:
pop	esi

loc_1019859:
pop	ebx
leave
retn
sub_1019732 endp

db 5 dup(0CCh)

loc_1019861:
xor	eax, eax
cmp	dword_103EF3C, eax
push	0
setz	al
mov	dword_103EF3C, eax
push	dword ptr [ecx+40h]
call	sub_101282E
mov	eax, dword_103ED04
test	eax, eax
jz	short locret_1019891
push	0
push	0
push	dword ptr [eax+20h]
call	ds:InvalidateRect

locret_1019891:
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1019897(int	y, int,	int)
sub_1019897 proc near

var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
h= dword ptr -4
y= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 20h
push	ebx
push	esi
push	edi
mov	edi, [ebp+y]
mov	eax, [edi]
mov	esi, ecx
push	0C0C0C0h
mov	ecx, edi
call	dword ptr [eax+38h]
mov	eax, [edi]
push	808080h
mov	ecx, edi
call	dword ptr [eax+34h]
call	sub_100D1FD
push	eax
mov	ecx, edi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	ecx, [esi+48h]
and	[ebp+y], 0
mov	[ebp+var_10], eax
mov	eax, [esi+40h]
mov	ebx, [eax+2Ch]
mov	eax, [eax+30h]
imul	ebx, ecx
imul	eax, ecx
inc	ebx
inc	eax
test	ebx, ebx
mov	[ebp+var_14], eax
jl	short loc_1019914

loc_10198EE:		; rop
push	0F00021h
push	eax		; h
push	1		; w
push	0		; y
push	[ebp+y]		; x
push	dword ptr [edi+4] ; hdc
call	ds:PatBlt
mov	eax, [ebp+y]
add	eax, [esi+48h]
mov	[ebp+y], eax
cmp	eax, ebx
mov	eax, [ebp+var_14]
jle	short loc_10198EE

loc_1019914:
and	[ebp+y], 0
test	eax, eax
jl	short loc_1019940

loc_101991C:		; rop
push	0F00021h
push	1		; h
push	ebx		; w
push	[ebp+y]		; y
push	0		; x
push	dword ptr [edi+4] ; hdc
call	ds:PatBlt
mov	eax, [ebp+y]
add	eax, [esi+48h]
cmp	eax, [ebp+var_14]
mov	[ebp+y], eax
jle	short loc_101991C

loc_1019940:
mov	eax, [esi+40h]
cmp	dword ptr [eax+4Ch], 0
jz	loc_1019A24
mov	eax, [edi]
push	0FF0000h
mov	ecx, edi
call	dword ptr [eax+38h]
mov	eax, [edi]
push	800000h
mov	ecx, edi
call	dword ptr [eax+34h]
mov	eax, [ebp+arg_8]
mov	ecx, [eax+8]
mov	edx, [eax+0Ch]
sub	ecx, [eax]
sub	edx, [eax+4]
mov	eax, [esi+40h]
cmp	dword ptr [eax+50h], 1
mov	[ebp+y], ecx
mov	[ebp+h], edx
jle	short loc_10199CB
mov	edx, [eax+50h]
cmp	edx, [eax+2Ch]
jg	short loc_10199CB
mov	ebx, [eax+50h]
mov	eax, [esi+48h]
imul	eax, ebx
mov	[ebp+var_8], eax
mov	eax, [ebp+arg_4]
mov	eax, [eax]
cdq
idiv	ebx
mov	ebx, edx
imul	ebx, [esi+48h]
neg	ebx
cmp	ebx, ecx
jg	short loc_10199CB

loc_10199AA:		; rop
push	0F00021h
push	[ebp+h]		; h
push	1		; w
push	0		; y
push	ebx		; x
push	dword ptr [edi+4] ; hdc
call	ds:PatBlt
add	ebx, [ebp+var_8]
cmp	ebx, [ebp+y]
jle	short loc_10199AA
mov	ecx, [ebp+y]

loc_10199CB:
mov	eax, [esi+40h]
cmp	dword ptr [eax+54h], 1
jle	short loc_1019A24
mov	edx, [eax+54h]
cmp	edx, [eax+30h]
jg	short loc_1019A24
mov	esi, [esi+48h]
mov	eax, [eax+54h]
mov	ebx, esi
imul	ebx, eax
mov	[ebp+var_8], eax
mov	eax, [ebp+arg_4]
mov	eax, [eax+4]
cdq
idiv	[ebp+var_8]
mov	[ebp+var_C], esi
mov	esi, edx
imul	esi, [ebp+var_C]
neg	esi
cmp	esi, [ebp+h]
jg	short loc_1019A24
jmp	short loc_1019A09

loc_1019A06:
mov	ecx, [ebp+y]

loc_1019A09:		; rop
push	0F00021h
push	1		; h
push	ecx		; w
push	esi		; y
push	0		; x
push	dword ptr [edi+4] ; hdc
call	ds:PatBlt
add	esi, ebx
cmp	esi, [ebp+h]
jle	short loc_1019A06

loc_1019A24:
push	[ebp+var_10]
mov	ecx, edi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	eax, [ebp+arg_8]
inc	dword ptr [eax+8]
inc	dword ptr [eax+0Ch]
pop	edi
pop	esi
pop	ebx
leave
retn	0Ch
sub_1019897 endp

db 5 dup(0CCh)



sub_1019A43 proc near
mov	eax, offset loc_1036133
call	sub_1034E18
sub	esp, 38h
mov	eax, off_103D74C
mov	eax, [eax+30h]
push	ebx
push	esi
push	edi
mov	[ebp-24h], eax
lea	eax, [ebp+0Ch]
mov	[ebp-10h], esp
push	eax		; lprc
mov	[ebp-1Ch], ecx
call	ds:IsRectEmpty
test	eax, eax
jnz	loc_1019D27
mov	eax, [ebp+18h]
sub	eax, [ebp+10h]
mov	ecx, [ebp+14h]
sub	ecx, [ebp+0Ch]
mov	cy, eax
mov	[ebp-14h], eax
mov	eax, dword_103E7C4
xor	ebx, ebx
cmp	eax, ebx
mov	dword_103E7A4, ecx
mov	[ebp-18h], ecx
jz	short loc_1019AAB
push	eax		; h
push	dword_103E790	; hdc
call	ds:SelectObject

loc_1019AAB:
mov	eax, dword_103E7C8
cmp	eax, ebx
jz	short loc_1019AC1
push	eax		; h
push	dword_103E790	; hdc
call	ds:SelectObject

loc_1019AC1:
mov	esi, offset unk_103E78C
mov	ecx, esi
mov	dword_103E7C4, ebx
mov	dword_103E7C8, ebx
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
mov	edi, offset unk_103E79C
mov	ecx, edi
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
mov	ecx, offset unk_103E7AC
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
mov	ecx, offset unk_103E7BC
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
push	dword ptr [ebp+8]
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
mov	[ebp-20h], eax
mov	eax, [ebp-1Ch]
mov	eax, [eax+40h]
push	dword ptr [eax+0Ch]
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
push	dword ptr [ebp-14h] ; cy
mov	ecx, edi
push	dword ptr [ebp-18h] ; int
mov	[ebp+8], eax
push	eax		; int
call	sub_100AC43
test	eax, eax
jz	loc_1019D1B
push	dword ptr [ebp+8] ; hdc
mov	ecx, esi
call	sub_1009779
test	eax, eax
jz	loc_1019D1B
push	ebx		; lpBits
push	1		; nBitCount
push	1		; nPlanes
push	dword ptr [ebp-14h] ; nHeight
mov	ecx, offset unk_103E7BC
push	dword ptr [ebp-18h] ; nWidth
call	sub_100AC14
test	eax, eax
jz	loc_1019D1B
push	dword ptr [ebp+8] ; hdc
mov	edi, offset unk_103E7AC
mov	ecx, edi
call	sub_1009779
test	eax, eax
jz	loc_1019D1B
mov	eax, [ebp-1Ch]
mov	eax, [eax+40h]
push	offset unk_103E79C
mov	ecx, esi
mov	dword_103E804, eax
call	sub_1032D5B
cmp	eax, ebx
jnz	short loc_1019B94
mov	dword_103E7C4, ebx
jmp	short loc_1019B9C

loc_1019B94:
mov	eax, [eax+4]
mov	dword_103E7C4, eax

loc_1019B9C:
push	offset unk_103E7BC
mov	ecx, edi
call	sub_1032D5B
cmp	eax, ebx
jnz	short loc_1019BB4
mov	dword_103E7C8, ebx
jmp	short loc_1019BBC

loc_1019BB4:
mov	eax, [eax+4]
mov	dword_103E7C8, eax

loc_1019BBC:
mov	ecx, [ebp-1Ch]
push	ebx
push	offset unk_103E78C
call	sub_101909A
cmp	dword ptr [ebp-24h], 26Dh
mov	[ebp+8], eax
jnz	loc_1019C90
lea	ecx, [ebp-34h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
mov	[ebp-4], ebx
push	2FFFFFFh
lea	ecx, [ebp-2Ch]
mov	byte ptr [ebp-4], 1
call	??0CBrush@@QAE@K@Z ; CBrush::CBrush(ulong)
mov	eax, [ebp-14h]
mov	edi, [ebp-18h]
mov	[ebp-38h], eax
lea	eax, [ebp-2Ch]
push	eax		; hbr
lea	eax, [ebp-44h]
push	eax		; lprc
mov	ecx, esi
mov	[ebp-44h], ebx
mov	[ebp-40h], ebx
mov	[ebp-3Ch], edi
call	sub_100AC6F
lea	ecx, [ebp-2Ch]
mov	dword ptr [ebp-2Ch], offset off_1002120
call	sub_10096BE
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
cmp	hrgn, ebx
jz	short loc_1019C52
push	4		; i
call	ds:GetStockObject
push	eax
call	?FromHandle@CGdiObject@@SGPAV1@PAX@Z ; CGdiObject::FromHandle(void *)
push	eax		; int
push	offset stru_103E784 ; hrgn
mov	ecx, esi
call	sub_100E7F8

loc_1019C52:
push	440328h
push	dword ptr [ebp-14h]
push	edi
push	dword ptr [ebp+10h]
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp-20h]
push	dword ptr [ebp-14h]
push	edi
jmp	short loc_1019CAA
mov	eax, [ebp-24h]
push	1
mov	ecx, offset unk_103EE08
mov	[ebp-30h], eax
call	sub_101F3CB
mov	eax, offset loc_1019C82
retn

loc_1019C82:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
jmp	loc_1019D27

loc_1019C90:		; rop
push	0CC0020h
push	dword ptr [ebp-14h] ; hSrc
push	dword ptr [ebp-18h] ; wSrc
push	dword ptr [ebp+10h] ; ySrc
push	dword ptr [ebp+0Ch] ; xSrc
push	dword ptr [ebp-20h] ; hdcSrc
push	dword ptr [ebp-14h] ; hDest
push	dword ptr [ebp-18h] ; wDest

loc_1019CAA:		; yDest
push	ebx
mov	ecx, esi
push	ebx		; xDest
call	sub_1012746
push	color
mov	ecx, offset unk_103E778
call	sub_100F43E
cmp	[ebp+8], ebx
jz	short loc_1019CD3
push	ebx
push	dword ptr [ebp+8]
mov	ecx, esi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1019CD3:
mov	eax, [ebp-1Ch]
lea	esi, [ebp+0Ch]
mov	edi, offset stru_103E808
movsd
movsd
movsd
movsd
inc	dword ptr [ebp+14h]
inc	dword ptr [ebp+18h]
push	ebx		; lprcSrc2
push	dword ptr [eax+40h] ; int
call	sub_101282E
mov	ecx, [ebp-1Ch]
lea	esi, [ebp+0Ch]
mov	edi, offset stru_103ED10
movsd
movsd
movsd
xor	eax, eax
inc	eax
movsd
mov	dword_103E8FC, eax
mov	dword_103ED00, ecx
mov	dword_103E7CC, eax
mov	dword_103E7D4, ebx
jmp	short loc_1019D29

loc_1019D1B:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB

loc_1019D27:
xor	eax, eax

loc_1019D29:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	14h
sub_1019A43 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1019D3F proc near

rc= tagRECT ptr	-20h
var_10=	dword ptr -10h
h= dword ptr -0Ch
cPoint=	dword ptr -8
ho= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 20h
push	edi
mov	edi, ecx
push	0E120h		; wParam
mov	[ebp+var_10], edi
call	sub_1018E89
test	eax, eax
jnz	loc_1019F29
push	ebx
mov	ebx, [edi+40h]
push	esi
push	color		; color
call	ds:CreateSolidBrush
xor	esi, esi
cmp	eax, esi
mov	[ebp+ho], eax
jnz	short loc_1019D8A
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	loc_1019F27

loc_1019D8A:
call	sub_10129FB
cmp	dword_103E804, esi
jnz	short loc_1019DAB
push	dword ptr [ebx+30h] ; yBottom
lea	eax, [ebp+rc]
push	dword ptr [ebx+2Ch] ; xRight
push	esi		; yTop
push	esi		; xLeft
push	eax		; lprc
call	ds:SetRect
jmp	short loc_1019DC2

loc_1019DAB:
mov	esi, offset stru_103ED10
lea	edi, [ebp+rc]
movsd
movsd
movsd
movsd
dec	[ebp+rc.right]
dec	[ebp+rc.bottom]
mov	edi, [ebp+var_10]
xor	esi, esi

loc_1019DC2:
cmp	dword_103E804, esi
mov	[ebp+var_10], esi
jz	short loc_1019DE1
cmp	dword_103E7CC, esi
jnz	short loc_1019DE1
cmp	dword_103E7D8, esi
jz	loc_1019E96

loc_1019DE1:		; h
push	dword ptr [edi+40h]
mov	[ebp+var_10], 1
call	sub_101356F
mov	ecx, off_103D74C
cmp	dword ptr [ecx+30h], 26Dh
jnz	short loc_1019E59
lea	eax, [ebp+cPoint]
push	eax
lea	eax, [ebp+h]
push	eax
call	sub_102ECB5
test	eax, eax
jz	short loc_1019E3F
cmp	[ebp+cPoint], esi
jz	short loc_1019E3F
push	1		; iMode
push	[ebp+cPoint]	; cPoint
push	[ebp+h]		; pptl
call	ds:CreatePolygonRgn
cmp	eax, esi
jz	short loc_1019E34
push	[ebp+ho]	; hbr
push	eax		; hrgn
push	dword ptr [ebx+0Ch] ; hdc
call	ds:FillRgn

loc_1019E34:		; void *
push	[ebp+h]
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx
jmp	short loc_1019E96

loc_1019E3F:		; ho
push	[ebp+ho]
call	ds:DeleteObject
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
jmp	loc_1019F27

loc_1019E59:		; h
push	[ebp+ho]
mov	esi, ds:SelectObject
push	dword ptr [ebx+0Ch] ; hdc
call	esi ; SelectObject
mov	[ebp+h], eax
mov	eax, [ebp+rc.bottom]
sub	eax, [ebp+rc.top]
push	0F00021h	; rop
push	eax		; h
mov	eax, [ebp+rc.right]
sub	eax, [ebp+rc.left]
push	eax		; w
push	[ebp+rc.top]	; y
push	[ebp+rc.left]	; x
push	dword ptr [ebx+0Ch] ; hdc
call	ds:PatBlt
push	[ebp+h]		; h
push	dword ptr [ebx+0Ch] ; hdc
call	esi ; SelectObject
xor	esi, esi

loc_1019E96:
lea	eax, [ebp+rc]
push	eax		; lprcSrc2
push	dword ptr [edi+40h] ; int
call	sub_101282E
lea	eax, [ebp+rc]
push	eax		; hPal
push	dword ptr [edi+40h] ; int
call	sub_10128D0
cmp	[ebp+var_10], esi
jz	short loc_1019EBE
lea	eax, [ebp+rc]
push	eax		; hdc
mov	ecx, edi
call	sub_1018D27

loc_1019EBE:
push	dword ptr [edi+40h]
call	sub_10127C0
push	[ebp+ho]	; ho
call	ds:DeleteObject
cmp	dword_103E804, esi
jz	short loc_1019F27
cmp	dword_103E7D4, esi
jz	short loc_1019EF1
push	offset rcSrc2	; hdc
mov	ecx, edi
mov	dword_103E7D4, esi
call	sub_1018D27

loc_1019EF1:
push	esi
mov	dword_103E818, esi
mov	dword_103E81C, esi
mov	dword_103E7E4, esi
mov	dword_103E7E0, esi
mov	dword_103E870, esi
call	sub_10124E6
push	esi		; lprcSrc2
push	dword_103E804	; int
call	sub_101282E
mov	dword_103E804, esi

loc_1019F27:
pop	esi
pop	ebx

loc_1019F29:
pop	edi
leave
retn
sub_1019D3F endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1019F31(int, HPALETTE hPal)
sub_1019F31 proc near

var_418= word ptr -418h
var_416= word ptr -416h
pPalEntries= tagPALETTEENTRY ptr -414h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
hPal= dword ptr	 0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 418h
push	esi
push	edi
push	dword ptr [ecx+20h] ; hWnd
call	ds:GetParent
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
mov	eax, [eax+40h]
test	eax, eax
jz	loc_101A1CF
cmp	[ebp+arg_0], 0
jz	loc_101A1CF
mov	edi, [ebp+hPal]
test	edi, edi
jz	loc_101A1CF
mov	eax, [eax+0ECh]
mov	esi, [eax+4]
test	esi, esi
jz	loc_101A1CF
mov	eax, [esi+38h]
imul	eax, [esi+34h]
cmp	eax, 8
mov	[ebp+var_10], 1
jz	short loc_1019F98
mov	eax, edi
jmp	loc_101A1D2

loc_1019F98:
and	[ebp+var_C], 0
push	ebx
mov	ebx, dword_103EF88
test	ebx, ebx
jz	loc_101A11C
lea	eax, [ebp+var_14]
push	eax
push	edi
push	ebx
call	sub_1013C46
mov	edi, eax
xor	eax, eax
cmp	edi, eax
jz	short loc_1019FDA
xor	ecx, ecx
inc	ecx
cmp	[ebp+var_14], eax
mov	[ebp+var_C], ecx
jnz	short loc_1019FDF
mov	[ebp+var_10], eax
mov	eax, [edi]
push	ecx
mov	ecx, edi
call	dword ptr [eax+4]
and	[ebp+var_C], 0
jmp	short loc_1019FDD

loc_1019FDA:
mov	[ebp+var_10], eax

loc_1019FDD:
mov	edi, ebx

loc_1019FDF:
mov	ebx, [ebp+arg_0]
push	1
push	ebx
call	sub_10120DA
cmp	dword ptr [ebx], 28h
movzx	eax, ax
mov	[ebp+var_4], eax
lea	eax, [ebp+pPalEntries]
push	eax		; pPalEntries
push	100h		; cEntries
push	0		; iStart
push	dword ptr [edi+4] ; hpal
sbb	ebx, ebx
inc	ebx
mov	[ebp+var_418], 300h
call	ds:GetPaletteEntries
mov	[ebp+var_416], ax
lea	ecx, [ebp+pPalEntries]
push	ecx		; pPalEntries
movzx	eax, ax
push	eax		; cEntries
push	0		; iStart
push	dword ptr [edi+4] ; hpal
call	ds:GetPaletteEntries
mov	eax, [ebp+var_4]
test	eax, eax
jle	loc_101A0FE
mov	ecx, [ebp+arg_0]
lea	edx, [ecx+0Dh]
add	ecx, 29h
mov	[ebp+var_8], edx
mov	[ebp+arg_0], ecx
mov	[ebp+var_4], eax
jmp	short loc_101A058

loc_101A052:
mov	edx, [ebp+var_8]
mov	ecx, [ebp+arg_0]

loc_101A058:
test	ebx, ebx
jz	short loc_101A073
movzx	eax, byte ptr [ecx-1]
movzx	edx, byte ptr [ecx]
movzx	ecx, byte ptr [ecx+1]
or	eax, 200h
shl	eax, 8
or	eax, edx
jmp	short loc_101A088

loc_101A073:
movzx	eax, byte ptr [edx-1]
movzx	ecx, byte ptr [edx]
or	eax, 200h
shl	eax, 8
or	eax, ecx
movzx	ecx, byte ptr [edx+1]

loc_101A088:
shl	eax, 8
or	eax, ecx
push	eax		; color
mov	ecx, edi
call	sub_100C221
test	ebx, ebx
jz	short loc_101A0C3
mov	ecx, eax
mov	eax, [ebp+arg_0]
shl	ecx, 2
mov	dl, [ebp+ecx+pPalEntries.peRed]
mov	[eax+1], dl
mov	dl, [ebp+ecx+pPalEntries.peGreen]
mov	cl, [ebp+ecx+pPalEntries.peBlue]
mov	[eax-1], cl
mov	ecx, [ebp+var_8]
mov	[eax], dl
jmp	short loc_101A0E9

loc_101A0C3:
mov	ecx, [ebp+var_8]
shl	eax, 2
mov	dl, [ebp+eax+pPalEntries.peRed]
mov	[ecx+1], dl
mov	dl, [ebp+eax+pPalEntries.peGreen]
mov	al, [ebp+eax+pPalEntries.peBlue]
mov	[ecx-1], al
mov	eax, [ebp+arg_0]
mov	[ecx], dl

loc_101A0E9:
add	eax, 4
add	ecx, 3
dec	[ebp+var_4]
mov	[ebp+arg_0], eax
mov	[ebp+var_8], ecx
jnz	loc_101A052

loc_101A0FE:
cmp	[ebp+var_10], 0
jnz	short loc_101A11C
cmp	[ebp+var_C], 0
jz	loc_101A1C0
mov	eax, [edi]
push	1
mov	ecx, edi
call	dword ptr [eax+4]
jmp	loc_101A1C0

loc_101A11C:
mov	eax, [esi+28h]
test	eax, eax
mov	ebx, ds:SelectPalette
jz	short loc_101A135
push	0		; bForceBkgd
push	eax		; hPal
push	dword ptr [esi+0Ch] ; hdc
call	ebx ; SelectPalette
and	dword ptr [esi+28h], 0

loc_101A135:
mov	ecx, [esi+24h]
test	ecx, ecx
jz	short loc_101A143
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_101A143:
test	edi, edi
mov	[esi+24h], edi
jz	short loc_101A14D
mov	edi, [edi+4]

loc_101A14D:		; bForceBkgd
push	0
push	edi		; hPal
push	dword ptr [esi+0Ch] ; hdc
call	ebx ; SelectPalette
push	dword ptr [esi+0Ch] ; hdc
mov	[esi+28h], eax
call	ds:RealizePalette
push	0		; lprcSrc2
push	esi		; int
call	sub_101282E
mov	eax, [esi+24h]
lea	ecx, [ebp+pPalEntries]
push	ecx		; pPalEntries
push	100h		; cEntries
push	0		; iStart
mov	dword_103EF88, eax
push	dword ptr [eax+4] ; hpal
call	ds:GetPaletteEntries
mov	edi, eax
xor	edx, edx
test	edi, edi
jle	short loc_101A1AD

loc_101A190:
lea	ecx, [ebp+edx*4+pPalEntries]
movzx	eax, byte ptr [ecx+1]
mov	ah, [ecx]
movzx	ebx, byte ptr [ecx+2]
shl	eax, 8
or	eax, ebx
inc	edx
cmp	edx, edi
mov	[ecx], eax
jl	short loc_101A190

loc_101A1AD:
lea	eax, [ebp+pPalEntries]
push	eax		; prgbq
push	edi		; cEntries
push	0		; iStart
push	dword ptr [esi+0Ch] ; hdc
call	ds:SetDIBColorTable

loc_101A1C0:
mov	ecx, [ebp+hPal]
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]
xor	eax, eax
pop	ebx
jmp	short loc_101A1D2

loc_101A1CF:
mov	eax, [ebp+hPal]

loc_101A1D2:
pop	edi
pop	esi
leave
retn	8
sub_1019F31 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_101A1DD(int	x, int y)
sub_101A1DD proc near

var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
prgbq= dword ptr -4
x= dword ptr  8
y= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 14h
push	ebx
push	esi
mov	esi, ecx
mov	eax, [esi+40h]
push	edi
mov	[ebp+var_8], esi
mov	[ebp+prgbq], eax
call	sub_10129FB
mov	eax, off_103D74C
cmp	dword ptr [eax+30h], 27Dh
mov	ebx, [eax+24h]
mov	ecx, [eax+28h]
jnz	short loc_101A222
mov	eax, color
mov	edx, dword_103E87C
mov	[ebp+var_14], eax
mov	[ebp+var_10], edx
mov	dword_103E87C, eax

loc_101A222:
xor	eax, eax
cmp	dword_103E870, eax
mov	dword_103ED00, esi
jz	loc_101A319
mov	edx, dword_103E7A4
xor	ecx, ecx
cmp	dword_103E7E8, eax
mov	eax, [ebp+y]
setnz	cl
mov	esi, offset stru_103ED10
inc	ecx
mov	[ebp+var_C], ecx
mov	ecx, cy
add	ecx, eax
push	ecx		; yBottom
mov	ecx, [ebp+x]
add	edx, ecx
push	edx		; xRight
push	eax		; yTop
push	ecx		; xLeft
push	esi		; lprc
call	ds:SetRect
push	dword_103E81C	; int
mov	ecx, esi	; lprc
push	dword_103E818	; int
call	sub_10126EB
mov	eax, off_103D74C
mov	ebx, offset stru_103ED10
mov	esi, ebx
mov	edi, offset stru_103E808
movsd
movsd
movsd
movsd
inc	stru_103ED10.right
inc	stru_103ED10.bottom
cmp	dword ptr [eax+30h], 26Eh
jz	short loc_101A30B
mov	eax, [ebp+var_C]
sub	eax, 0
jz	short loc_101A2EC
dec	eax
jz	short loc_101A2D1
dec	eax
jnz	short loc_101A30B
push	stru_103ED10.top ; y
mov	ecx, offset unk_103E778
push	stru_103ED10.left ; x
push	[ebp+prgbq]	; prgbq
call	sub_100EFD4
jmp	short loc_101A30B

loc_101A2D1:		; y
push	stru_103ED10.top
mov	ecx, offset unk_103E778
push	stru_103ED10.left ; x
push	[ebp+prgbq]	; prgbq
call	sub_100EEED
jmp	short loc_101A30B

loc_101A2EC:		; color
push	dword_103E87C
mov	ecx, offset unk_103E778
push	stru_103ED10.top ; y
push	stru_103ED10.left ; x
push	[ebp+prgbq]	; int
call	sub_100E736

loc_101A30B:
mov	eax, [ebp+var_8]
push	ebx		; lprcSrc2
push	dword ptr [eax+40h] ; int
call	sub_101282E
jmp	short loc_101A360

loc_101A319:
mov	esi, [ebp+y]
mov	edi, [ebp+x]
push	eax		; int
mov	eax, [ebp+var_8]
push	ecx		; int
push	ebx		; int
push	dword_103E87C	; color
push	esi		; int
push	edi		; int
push	esi		; y
push	edi		; x
push	dword ptr [eax+40h] ; int
call	sub_1014E48
mov	eax, ebx
cdq
sub	eax, edx
sar	eax, 1
sub	edi, eax
sub	esi, eax
mov	ecx, edi
mov	eax, esi
mov	stru_103ED10.left, ecx
add	ecx, ebx
mov	stru_103ED10.top, eax
add	eax, ebx
mov	stru_103ED10.right, ecx
mov	stru_103ED10.bottom, eax

loc_101A360:
mov	eax, off_103D74C
cmp	dword ptr [eax+30h], 27Dh
pop	edi
pop	esi
pop	ebx
jnz	short loc_101A381
mov	eax, [ebp+var_10]
mov	dword_103E87C, eax
mov	eax, [ebp+var_14]
mov	color, eax

loc_101A381:
mov	dword_103E8FC, 1
leave
retn	8
sub_101A1DD endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101A394 proc near

Rect= tagRECT ptr -24h
rc= tagRECT ptr	-14h
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= byte ptr	 0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 24h
push	ebx
mov	ebx, ecx
cmp	dword_103ED04, ebx
jnz	loc_101A4F0
push	esi
xor	esi, esi
cmp	dword_103E7E0, esi
jnz	loc_101A4EF
cmp	dword_103E7E4, esi
jnz	loc_101A4EF
cmp	dword_103E7DC, esi
jnz	loc_101A4EF
cmp	[ebp+arg_0], esi
mov	[ebp+var_4], esi
jnz	short loc_101A407
push	dword ptr [ebx+20h] ; hWnd
call	ds:GetDC
push	eax
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
cmp	eax, esi
mov	[ebp+arg_0], eax
jnz	short loc_101A400
push	esi
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	loc_101A4EF

loc_101A400:
mov	[ebp+var_4], 1

loc_101A407:
cmp	dword ptr [ebp+arg_4], esi
jnz	short loc_101A419
lea	eax, [ebp+Rect]
push	eax		; lpRect
push	dword ptr [ebx+20h] ; hWnd
call	ds:GetClientRect

loc_101A419:
lea	eax, [ebp+rc]
push	eax		; lprc
mov	ecx, ebx
call	sub_101950A
push	3		; dy
push	3		; dx
lea	eax, [ebp+rc]
push	eax		; lprc
call	ds:InflateRect
mov	eax, [ebx+40h]
cmp	eax, dword_103E804
mov	dword ptr [ebp+arg_4], 0Ch
jnz	short loc_101A4C2
mov	eax, [ebx+48h]
push	edi
mov	esi, offset stru_103E808
lea	edi, [ebp+rc]
movsd
movsd
movsd
movsd
mov	ecx, eax
imul	ecx, [ebp+rc.left]
mov	[ebp+rc.left], ecx
mov	ecx, eax
imul	ecx, [ebp+rc.top]
mov	[ebp+rc.top], ecx
mov	ecx, eax
imul	eax, [ebp+rc.bottom]
imul	ecx, [ebp+rc.right]
push	3
pop	esi
push	esi		; dy
mov	[ebp+rc.bottom], eax
push	esi		; dx
lea	eax, [ebp+rc]
push	eax		; lprc
mov	dword ptr [ebp+arg_4], 0Fh
mov	[ebp+rc.right],	ecx
call	ds:InflateRect
mov	eax, [ebx+48h]
mov	ecx, [ebx+54h]
imul	ecx, eax
add	ecx, esi
push	ecx		; dy
mov	ecx, [ebx+50h]
imul	ecx, eax
add	ecx, esi
push	ecx		; dx
lea	eax, [ebp+rc]
push	eax		; lprc
call	ds:OffsetRect
cmp	dword_103EF3C, 0
pop	edi
jz	short loc_101A4C0
cmp	[ebx+48h], esi
jle	short loc_101A4C0
inc	[ebp+rc.right]
inc	[ebp+rc.bottom]

loc_101A4C0:
xor	esi, esi

loc_101A4C2:		; char
push	dword ptr [ebp+arg_4]
lea	eax, [ebp+rc]
push	eax		; h
push	[ebp+arg_0]	; int
call	sub_102DA5B
push	dword ptr [ebp+arg_4]
lea	eax, [ebp+rc]
push	eax
push	[ebp+arg_0]
call	sub_102DBBC
cmp	[ebp+var_4], esi
jz	short loc_101A4EF
push	[ebp+arg_0]
mov	ecx, ebx
call	sub_100DA0C

loc_101A4EF:
pop	esi

loc_101A4F0:
pop	ebx
leave
retn	8
sub_101A394 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_101A4FA(void *, char)
sub_101A4FA proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_1018D5D
test	[ebp+arg_0], 1
jz	short loc_101A514
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_101A514:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_101A4FA endp

align 10h


; Attributes: bp-based frame

sub_101A520 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
mov	ebx, [ebp+arg_8]
push	esi
mov	esi, [ebp+arg_0]
push	edi
mov	edi, ebx
movsd
movsd
movsd
movsd
mov	eax, [ecx+48h]
dec	eax
add	[ebx+8], eax
mov	eax, [ecx+48h]
dec	eax
add	[ebx+0Ch], eax
push	ebx
call	sub_10194C6
mov	eax, [ebx]
test	eax, eax
jge	short loc_101A550
xor	eax, eax

loc_101A550:
mov	[ebx], eax
mov	eax, [ebx+4]
test	eax, eax
jge	short loc_101A55B
xor	eax, eax

loc_101A55B:
mov	edx, [ebx+8]
mov	[ebx+4], eax
mov	eax, [ecx+40h]
mov	eax, [eax+2Ch]
cmp	eax, edx
jl	short loc_101A56D
mov	eax, edx

loc_101A56D:
mov	edx, [ebx+0Ch]
mov	[ebx+8], eax
mov	eax, [ecx+40h]
mov	eax, [eax+30h]
cmp	eax, edx
jl	short loc_101A57F
mov	eax, edx

loc_101A57F:
mov	esi, [ebp+arg_4]
test	esi, esi
mov	edi, [ebp+arg_C]
mov	[ebx+0Ch], eax
jnz	short loc_101A59C
push	[ebp+arg_C]
mov	esi, ebx
movsd
movsd
movsd
movsd
call	sub_10194E8
jmp	short loc_101A5A0

loc_101A59C:
movsd
movsd
movsd
movsd

loc_101A5A0:
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	10h
sub_101A520 endp

db 5 dup(0CCh)



sub_101A5AC proc near
mov	eax, offset loc_1036152
call	sub_1034E18
sub	esp, 48h
push	ebx
push	esi
lea	eax, [ebp-34h]
push	eax
lea	eax, [ebp-54h]
push	eax
push	dword ptr [ebp+10h]
mov	esi, ecx
push	dword ptr [ebp+0Ch]
call	sub_101A520
mov	eax, [ebp-4Ch]
sub	eax, [ebp-54h]
xor	ebx, ebx
cmp	eax, ebx
mov	[ebp-10h], eax
jle	loc_101A7D3
mov	eax, [ebp-48h]
sub	eax, [ebp-50h]
cmp	eax, ebx
mov	[ebp+0Ch], eax
jle	loc_101A7D3
cmp	dword_103EF3C, ebx
push	edi
jz	short loc_101A603
cmp	dword ptr [esi+48h], 3
jg	short loc_101A66E

loc_101A603:
cmp	dword ptr [esi+48h], 1
jnz	short loc_101A66E
cmp	dword_103EF88, ebx
mov	edi, [ebp+8]
jz	short loc_101A63B
mov	eax, [esi+40h]
mov	ecx, [eax+38h]
imul	ecx, [eax+34h]
cmp	ecx, 1
jnz	short loc_101A63B
mov	eax, [edi]
push	offset __ImageBase
mov	ecx, edi
call	dword ptr [eax+38h]
mov	eax, [edi]
push	1000001h
mov	ecx, edi
call	dword ptr [eax+34h]

loc_101A63B:
mov	eax, [esi+40h]
push	0CC0020h	; rop
push	dword ptr [ebp-50h] ; y1
push	dword ptr [ebp-54h] ; x1
push	dword ptr [eax+0Ch] ; hdcSrc
mov	eax, [ebp-28h]
sub	eax, [ebp-30h]
push	eax		; cy
mov	eax, [ebp-2Ch]
sub	eax, [ebp-34h]
push	eax		; cx
push	dword ptr [ebp-30h] ; y
push	dword ptr [ebp-34h] ; x
push	dword ptr [edi+4] ; hdc
call	ds:BitBlt
jmp	loc_101A7D2

loc_101A66E:
lea	ecx, [ebp-44h]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	[ebp-4], ebx
mov	[ebp-20h], ebx
mov	dword ptr [ebp-24h], offset off_1001F9C
push	dword ptr [ebp+8] ; hdc
lea	ecx, [ebp-44h]
mov	byte ptr [ebp-4], 1
call	sub_1009779
test	eax, eax
jz	loc_101A7A9
mov	edi, [ebp-28h]
mov	eax, [ebp-2Ch]
sub	eax, [ebp-34h]
mov	ecx, edi
sub	ecx, [ebp-30h]
mov	[ebp-18h], eax
mov	[ebp-14h], ecx
inc	ecx
push	ecx		; cy
inc	eax
push	eax		; int
push	dword ptr [ebp+8] ; int
lea	ecx, [ebp-24h]
call	sub_100AC43
test	eax, eax
jz	loc_101A7A9
lea	eax, [ebp-24h]
push	eax
lea	ecx, [ebp-44h]
call	sub_1032D5B
mov	[ebp-1Ch], eax
push	ebx
lea	eax, [ebp-44h]
push	eax
mov	ecx, esi
call	sub_101909A
cmp	dword ptr [esi+48h], 2
mov	[ebp+10h], eax
lea	ecx, [ebp-44h]
jge	short loc_101A6F0
push	4
jmp	short loc_101A6F2

loc_101A6F0:
push	3

loc_101A6F2:		; CDC::SetStretchBltMode(int)
call	?SetStretchBltMode@CDC@@QAEHH@Z
mov	eax, [esi+40h]
mov	ecx, [eax+38h]
imul	ecx, [eax+34h]
cmp	ecx, 1
jnz	short loc_101A71C
push	ebx
lea	ecx, [ebp-44h]
call	?SetTextColor@CDC@@UAEKK@Z ; CDC::SetTextColor(ulong)
push	0FFFFFFh
lea	ecx, [ebp-44h]
call	?SetBkColor@CDC@@UAEKK@Z ; CDC::SetBkColor(ulong)

loc_101A71C:		; hSrc
push	dword ptr [ebp+0Ch]
mov	eax, [esi+40h]
push	dword ptr [ebp-10h] ; wSrc
push	dword ptr [ebp-50h] ; ySrc
push	dword ptr [ebp-54h] ; xSrc
push	dword ptr [eax+0Ch] ; hdcSrc
push	dword ptr [ebp-14h] ; hDest
push	dword ptr [ebp-18h] ; wDest
push	ebx		; yDest
push	ebx		; xDest
push	dword ptr [ebp-40h] ; hdcDest
call	sub_101255A
cmp	dword_103EF3C, ebx
jz	short loc_101A767
cmp	dword ptr [esi+48h], 3
jle	short loc_101A767
cmp	[ebp+14h], ebx
jz	short loc_101A767
lea	eax, [ebp-34h]
push	eax		; int
lea	eax, [ebp-54h]
push	eax		; int
lea	eax, [ebp-44h]
push	eax		; y
mov	ecx, esi
call	sub_1019897
mov	edi, [ebp-28h]

loc_101A767:
sub	edi, [ebp-30h]
mov	ecx, [ebp+8]
push	0CC0020h	; rop
push	ebx		; y1
push	ebx		; x1
lea	eax, [ebp-44h]
push	eax		; hdcSrc
mov	eax, [ebp-2Ch]
sub	eax, [ebp-34h]
push	edi		; cy
push	eax		; int
push	dword ptr [ebp-30h] ; y
push	dword ptr [ebp-34h] ; x
call	sub_10097A4
cmp	[ebp+10h], ebx
jz	short loc_101A79C
push	ebx
push	dword ptr [ebp+10h]
lea	ecx, [ebp-44h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_101A79C:
push	dword ptr [ebp-1Ch]
lea	ecx, [ebp-44h]
call	sub_1032D5B
jmp	short loc_101A7B4

loc_101A7A9:
push	ebx
mov	ecx, offset unk_103EE08
call	sub_101F3CB

loc_101A7B4:
lea	ecx, [ebp-24h]
mov	dword ptr [ebp-24h], offset off_1001F9C
mov	[ebp-4], bl
call	sub_10096BE
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-44h]
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_101A7D2:
pop	edi

loc_101A7D3:
mov	ecx, [ebp-0Ch]
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	10h
sub_101A5AC endp

align 8


; Attributes: bp-based frame

sub_101A7E8 proc near

var_30=	byte ptr -30h
Rect= tagRECT ptr -20h
var_10=	dword ptr -10h
y= dword ptr -0Ch
x= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 30h
push	esi
mov	esi, [ebp+arg_4]
test	esi, esi
push	edi
mov	edi, ecx
jnz	short loc_101A80B
lea	eax, [ebp+Rect]
push	eax		; lpRect
push	dword ptr [edi+20h] ; hWnd
call	ds:GetClientRect
lea	esi, [ebp+Rect]

loc_101A80B:
push	ebx
lea	eax, [ebp+var_10]
push	eax
lea	eax, [ebp+var_30]
push	eax
push	0
push	esi
mov	ecx, edi
call	sub_101A520
push	0Ch		; nIndex
call	sub_100D149
mov	ecx, [ebp+arg_0]
push	eax
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	ebx, [ebp+y]
cmp	ebx, [esi+4]
mov	[ebp+arg_4], eax
mov	edi, 0F00021h
jle	short loc_101A859
mov	eax, [esi+4]
mov	ecx, [esi]
push	edi		; rop
mov	edx, ebx
sub	edx, eax
push	edx		; h
mov	edx, [esi+8]
sub	edx, ecx
push	edx		; w
push	eax		; y
push	ecx		; x
mov	ecx, [ebp+arg_0]
call	sub_100AC94

loc_101A859:
mov	ecx, [esi]
mov	eax, [ebp+var_10]
cmp	eax, ecx
jle	short loc_101A876
mov	edx, [ebp+var_4]
push	edi		; rop
sub	edx, ebx
push	edx		; h
sub	eax, ecx
push	eax		; w
push	ebx		; y
push	ecx		; x
mov	ecx, [ebp+arg_0]
call	sub_100AC94

loc_101A876:
mov	eax, [esi+8]
cmp	[ebp+x], eax
jge	short loc_101A895
mov	ecx, [ebp+var_4]
sub	eax, [ebp+x]
push	edi		; rop
sub	ecx, ebx
push	ecx		; h
mov	ecx, [ebp+arg_0]
push	eax		; w
push	ebx		; y
push	[ebp+x]		; x
call	sub_100AC94

loc_101A895:
mov	eax, [esi+0Ch]
cmp	[ebp+var_4], eax
pop	ebx
jge	short loc_101A8B7
sub	eax, [ebp+var_4]
mov	ecx, [esi]
push	edi		; rop
push	eax		; h
mov	eax, [esi+8]
sub	eax, ecx
push	eax		; w
push	[ebp+var_4]	; y
push	ecx		; x
mov	ecx, [ebp+arg_0]
call	sub_100AC94

loc_101A8B7:
push	[ebp+arg_4]
mov	ecx, [ebp+arg_0]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
pop	edi
pop	esi
leave
retn	8
sub_101A7E8 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101A8CD proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	edx, [ebp+arg_0]
test	edx, edx
push	esi
mov	esi, ecx
jle	short loc_101A8E0
xor	edx, edx
jmp	short loc_101A8EE

loc_101A8E0:
mov	eax, [esi+40h]
mov	eax, [eax+2Ch]
neg	eax
cmp	edx, eax
jge	short loc_101A8EE
mov	edx, eax

loc_101A8EE:
mov	eax, [ebp+arg_4]
test	eax, eax
jle	short loc_101A8F9
xor	eax, eax
jmp	short loc_101A907

loc_101A8F9:
mov	ecx, [esi+40h]
mov	ecx, [ecx+30h]
neg	ecx
cmp	eax, ecx
jge	short loc_101A907
mov	eax, ecx

loc_101A907:		; bErase
push	0
push	0		; lpRect
push	dword ptr [esi+20h] ; hWnd
mov	[esi+50h], edx
mov	[esi+54h], eax
call	ds:InvalidateRect
mov	ecx, esi
call	sub_10190E6
pop	esi
pop	ebp
retn	8
sub_101A8CD endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
push	0
call	sub_10192B6
pop	ebp
retn	0Ch
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
push	1
call	sub_10192B6
pop	ebp
retn	0Ch
db 5 dup(0CCh)



sub_101A961 proc near
mov	edi, edi
push	ebx
push	edi
mov	ebx, ecx
call	sub_100965C
xor	edi, edi
cmp	dword_103ED08, edi
mov	dword_103EDE4, edi
mov	dword_103EDE0, edi
jz	short loc_101A996
mov	ecx, ebx
call	sub_1018CF8
pop	edi
mov	dword_103ECF8, 1
pop	ebx
retn

loc_101A996:
push	esi
mov	esi, off_103D74C
call	ds:GetCapture
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
cmp	eax, ebx
jz	short loc_101A9EC
cmp	[esi+20h], edi
jnz	short loc_101A9EC
cmp	[esi+14h], edi
jnz	short loc_101A9E2
mov	eax, off_103D74C
mov	eax, [eax+30h]
cmp	eax, 26Ch
jz	short loc_101A9E2
cmp	eax, 26Dh
jz	short loc_101A9E2
cmp	eax, 1AA0h
jz	short loc_101A9E2
cmp	eax, 278h
jz	short loc_101A9E2
cmp	eax, 26Eh
jnz	short loc_101AA2D

loc_101A9E2:
mov	eax, [esi]
push	ebx
mov	ecx, esi
call	dword ptr [eax+38h]
jmp	short loc_101AA2D

loc_101A9EC:
mov	esi, dword_103E7DC
xor	ecx, ecx
push	ecx
xor	eax, eax
push	eax
push	edi
push	400h
mov	ecx, ebx
call	sub_101BA61
push	7F16h		; lpCursorName
push	edi		; hInstance
call	ds:LoadCursorW
push	eax		; hCursor
call	ds:SetCursor
cmp	esi, edi
jnz	short loc_101AA23
mov	ecx, ebx
call	sub_1019732

loc_101AA23:
mov	dword_103ECF8, 1

loc_101AA2D:
mov	esi, ds:GetKeyState
xor	edi, edi
inc	edi
push	edi		; nVirtKey
call	esi ; GetKeyState
test	ax, ax
jl	short loc_101AA47
push	2		; nVirtKey
call	esi ; GetKeyState
test	ax, ax
jge	short loc_101AA4D

loc_101AA47:
mov	dword_103ECF8, edi

loc_101AA4D:
pop	esi
pop	edi
pop	ebx
jmp	sub_10195C2
sub_101A961 endp

db 5 dup(0CCh)

loc_101AA5A:
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	ebx
xor	ebx, ebx
cmp	dword_103E870, ebx
push	esi
push	edi
jnz	short loc_101AAE7
cmp	dword_103E804, ebx
jnz	short loc_101AAA3
mov	eax, [ecx+40h]
mov	edx, [eax+2Ch]
mov	eax, [eax+30h]
mov	[ebp-4], eax
mov	eax, [ecx+40h]
sub	esp, 10h
mov	[ebp-8], edx
mov	[ebp-10h], ebx
mov	[ebp-0Ch], ebx
mov	edi, esp
push	dword ptr [eax+0Ch]
lea	esi, [ebp-10h]
movsd
movsd
movsd
movsd
call	sub_1019A43

loc_101AAA3:
cmp	dword_103E7CC, ebx
jz	short loc_101AAB0
call	sub_10137CD

loc_101AAB0:
push	ebx
push	dword_103E804
call	sub_101282E
push	1AA0h
call	sub_1015D47
xor	esi, esi
inc	esi
push	esi
call	sub_10124E6
mov	ecx, offset unk_103E778
mov	dword_103E870, esi
mov	dword_103E804, ebx
call	sub_100E685
jmp	short loc_101AAFD

loc_101AAE7:
mov	eax, off_103D74C
cmp	dword ptr [eax+30h], 1AA0h
jnz	short loc_101AAFD
mov	edx, [eax]
push	ecx
mov	ecx, eax
call	dword ptr [edx+38h]

loc_101AAFD:
pop	edi
pop	esi
pop	ebx
leave
retn
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	1
mov	esi, ecx
push	0
push	dword ptr [esi+20h]
call	ds:InvalidateRect
cmp	dword_103E804, 0
jnz	short loc_101AB27
call	sub_10129FB

loc_101AB27:
call	ds:GetCapture
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
cmp	eax, esi
jnz	short loc_101AB3E
mov	ecx, esi
call	sub_101A961

loc_101AB3E:
mov	ecx, esi
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
pop	esi
retn	4
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101AB4E proc near

var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
cmp	dword_103E7E4, 0
mov	[ebp+var_4], ecx
jnz	short loc_101AB6D
cmp	dword_103E7E0, 0
jz	locret_101AC04

loc_101AB6D:
push	ebx
push	esi
push	edi
call	ds:ReleaseCapture
mov	ebx, offset stru_103E808
mov	esi, offset rcSrc2
mov	edi, ebx
movsd
movsd
movsd
xor	eax, eax
movsd
push	eax
mov	dword_103E7E4, eax
mov	dword_103E7E0, eax
mov	dword_103E870, eax
call	sub_10124E6
push	offset unk_103E778
mov	ecx, offset unk_103ED20
call	sub_100F070
mov	ecx, [ebp+var_4]
mov	esi, ebx
mov	edi, offset stru_103ED10
movsd
movsd
movsd
movsd
inc	stru_103ED10.right
inc	stru_103ED10.bottom
call	sub_1019732
xor	esi, esi
push	esi		; lprcSrc2
push	dword_103E804	; int
call	sub_101282E
mov	eax, off_103D74C
mov	eax, [eax+30h]
cmp	eax, 26Ch
jz	short loc_101ABEF
cmp	eax, 26Dh
jnz	short loc_101ABFB

loc_101ABEF:
mov	ecx, dword_103F170
push	esi
call	sub_102C06B

loc_101ABFB:
pop	edi
mov	dword_103E804, esi
pop	esi
pop	ebx

locret_101AC04:
leave
retn
sub_101AB4E endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101AC0B proc near

var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ebx
xor	ebx, ebx
cmp	dword_103E804, ebx
mov	[ebp+var_4], ecx
jz	short loc_101AC8F
push	esi
mov	esi, [ebp+arg_0]
push	edi
mov	edi, offset stru_103E808
movsd
movsd
movsd
push	ebx		; lprcSrc2
movsd
push	dword_103E804	; int
call	sub_101282E
mov	esi, dword_103E870
mov	edi, dword_103E85C
xor	eax, eax
cmp	dword_103E7E8, ebx
mov	dword_103E81C, ebx
setnz	al
mov	dword_103E818, ebx
mov	dword_103E870, 1
inc	eax
push	eax
call	sub_10124E6
push	stru_103E808.top ; y
mov	ecx, [ebp+var_4]
push	stru_103E808.left ; x
call	sub_101A1DD
push	edi
mov	dword_103E870, esi
call	sub_10124E6
pop	edi
pop	esi

loc_101AC8F:
pop	ebx
leave
retn	4
sub_101AC0B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101AC99 proc near

rc= tagRECT ptr	-14h
var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 14h
push	ebx
push	esi
mov	ebx, ecx
mov	esi, [ebx+40h]
push	edi
mov	[ebp+var_4], esi
call	sub_10129FB
xor	eax, eax
cmp	dword_103E804, eax
jnz	short loc_101ACD9
cmp	dword_103E870, eax
jnz	short loc_101ACD9
push	dword ptr [esi+30h] ; yBottom
push	dword ptr [esi+2Ch] ; xRight
push	eax		; yTop
push	eax		; xLeft
lea	eax, [ebp+rc]
push	eax		; lprc
call	ds:SetRect
xor	eax, eax
jmp	short loc_101ACEE

loc_101ACD9:
mov	esi, offset stru_103ED10
lea	edi, [ebp+rc]
movsd
movsd
movsd
movsd
dec	[ebp+rc.right]
dec	[ebp+rc.bottom]
mov	esi, [ebp+var_4]

loc_101ACEE:
cmp	dword_103E804, eax
jz	short loc_101ACFE
cmp	dword_103E7CC, eax
jz	short loc_101AD0A

loc_101ACFE:
cmp	dword_103E870, eax
jz	loc_101AD96

loc_101AD0A:
push	eax
push	offset unk_103E78C
mov	ecx, ebx
call	sub_101909A
mov	edi, offset unk_103E78C
push	3
mov	ecx, edi
mov	[ebp+var_4], eax
call	?SetStretchBltMode@CDC@@QAEHH@Z	; CDC::SetStretchBltMode(int)
mov	eax, dword_103E7A4
mov	ecx, cy
push	ecx		; hSrc
mov	edx, eax
neg	edx
push	edx		; wSrc
xor	esi, esi
push	esi		; ySrc
lea	edx, [eax-1]
push	edx		; xSrc
mov	edx, dword_103E790
push	edx		; hdcSrc
push	ecx		; hDest
push	eax		; wDest
push	esi		; yDest
push	esi		; xDest
push	edx		; hdcDest
call	sub_101255A
mov	eax, dword_103E7A4
mov	ecx, cy
push	ecx		; hSrc
mov	edx, eax
neg	edx
push	edx		; wSrc
push	esi		; ySrc
lea	edx, [eax-1]
push	edx		; xSrc
mov	edx, hdcDest
push	edx		; hdcSrc
push	ecx		; hDest
push	eax		; wDest
push	esi		; yDest
push	esi		; xDest
push	edx		; hdcDest
call	sub_101255A
cmp	[ebp+var_4], esi
jz	short loc_101AD88
push	esi
push	[ebp+var_4]
mov	ecx, edi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_101AD88:
push	offset stru_103E808
mov	ecx, ebx
call	sub_101AC0B
jmp	short loc_101AE00

loc_101AD96:		; h
push	dword ptr [ebx+40h]
call	sub_101356F
push	3		; mode
push	dword ptr [esi+0Ch] ; hdc
call	ds:SetStretchBltMode
mov	ecx, [ebp+rc.bottom]
sub	ecx, [ebp+rc.top]
mov	eax, [ebp+rc.right]
mov	edx, [ebp+rc.left]
mov	esi, [esi+0Ch]
push	ecx		; hSrc
sub	edx, eax
push	edx		; wSrc
push	[ebp+rc.top]	; ySrc
lea	edx, [eax-1]
sub	eax, [ebp+rc.left]
push	edx		; xSrc
push	esi		; hdcSrc
push	ecx		; hDest
push	eax		; wDest
push	[ebp+rc.top]	; yDest
push	[ebp+rc.left]	; xDest
push	esi		; hdcDest
call	sub_101255A
lea	eax, [ebp+rc]
push	eax		; lprcSrc2
push	dword ptr [ebx+40h] ; int
call	sub_101282E
lea	eax, [ebp+rc]
push	eax		; hPal
push	dword ptr [ebx+40h] ; int
call	sub_10128D0
lea	eax, [ebp+rc]
push	eax		; hdc
mov	ecx, ebx
call	sub_1018D27
push	dword ptr [ebx+40h]
call	sub_10127C0

loc_101AE00:
pop	edi
pop	esi
pop	ebx
leave
retn
sub_101AC99 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101AE0A proc near

rc= tagRECT ptr	-14h
var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 14h
push	ebx
push	esi
mov	ebx, ecx
mov	esi, [ebx+40h]
push	edi
mov	[ebp+var_4], esi
call	sub_10129FB
xor	eax, eax
cmp	dword_103E804, eax
jnz	short loc_101AE4A
cmp	dword_103E870, eax
jnz	short loc_101AE4A
push	dword ptr [esi+30h] ; yBottom
push	dword ptr [esi+2Ch] ; xRight
push	eax		; yTop
push	eax		; xLeft
lea	eax, [ebp+rc]
push	eax		; lprc
call	ds:SetRect
xor	eax, eax
jmp	short loc_101AE5F

loc_101AE4A:
mov	esi, offset stru_103ED10
lea	edi, [ebp+rc]
movsd
movsd
movsd
movsd
dec	[ebp+rc.right]
dec	[ebp+rc.bottom]
mov	esi, [ebp+var_4]

loc_101AE5F:
cmp	dword_103E804, eax
jz	short loc_101AE6F
cmp	dword_103E7CC, eax
jz	short loc_101AE7B

loc_101AE6F:
cmp	dword_103E870, eax
jz	loc_101AF07

loc_101AE7B:
push	eax
push	offset unk_103E78C
mov	ecx, ebx
call	sub_101909A
mov	edi, offset unk_103E78C
push	3
mov	ecx, edi
mov	[ebp+var_4], eax
call	?SetStretchBltMode@CDC@@QAEHH@Z	; CDC::SetStretchBltMode(int)
mov	eax, cy
mov	ecx, eax
neg	ecx
push	ecx		; hSrc
mov	ecx, dword_103E7A4
push	ecx		; wSrc
lea	edx, [eax-1]
push	edx		; ySrc
mov	edx, dword_103E790
xor	esi, esi
push	esi		; xSrc
push	edx		; hdcSrc
push	eax		; hDest
push	ecx		; wDest
push	esi		; yDest
push	esi		; xDest
push	edx		; hdcDest
call	sub_101255A
mov	eax, cy
mov	ecx, eax
neg	ecx
push	ecx		; hSrc
mov	ecx, dword_103E7A4
push	ecx		; wSrc
lea	edx, [eax-1]
push	edx		; ySrc
mov	edx, hdcDest
push	esi		; xSrc
push	edx		; hdcSrc
push	eax		; hDest
push	ecx		; wDest
push	esi		; yDest
push	esi		; xDest
push	edx		; hdcDest
call	sub_101255A
cmp	[ebp+var_4], esi
jz	short loc_101AEF9
push	esi
push	[ebp+var_4]
mov	ecx, edi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_101AEF9:
push	offset stru_103E808
mov	ecx, ebx
call	sub_101AC0B
jmp	short loc_101AF71

loc_101AF07:		; h
push	dword ptr [ebx+40h]
call	sub_101356F
push	3		; mode
push	dword ptr [esi+0Ch] ; hdc
call	ds:SetStretchBltMode
mov	eax, [ebp+rc.bottom]
mov	edx, [ebp+rc.top]
mov	ecx, [ebp+rc.right]
sub	ecx, [ebp+rc.left]
mov	esi, [esi+0Ch]
sub	edx, eax
push	edx		; hSrc
push	ecx		; wSrc
lea	edx, [eax-1]
sub	eax, [ebp+rc.top]
push	edx		; ySrc
push	[ebp+rc.left]	; xSrc
push	esi		; hdcSrc
push	eax		; hDest
push	ecx		; wDest
push	[ebp+rc.top]	; yDest
push	[ebp+rc.left]	; xDest
push	esi		; hdcDest
call	sub_101255A
lea	eax, [ebp+rc]
push	eax		; lprcSrc2
push	dword ptr [ebx+40h] ; int
call	sub_101282E
lea	eax, [ebp+rc]
push	eax		; hPal
push	dword ptr [ebx+40h] ; int
call	sub_10128D0
lea	eax, [ebp+rc]
push	eax		; hdc
mov	ecx, ebx
call	sub_1018D27
push	dword ptr [ebx+40h]
call	sub_10127C0

loc_101AF71:
pop	edi
pop	esi
pop	ebx
leave
retn
sub_101AE0A endp

db 5 dup(0CCh)



sub_101AF7B proc near
mov	eax, offset loc_1036169
call	sub_1034E18
sub	esp, 24h
push	ebx
push	esi
mov	ebx, ecx
xor	esi, esi
cmp	[ebx+40h], esi
jz	loc_101B03B
push	ebx
lea	ecx, [ebp-30h]
call	??0CClientDC@@QAE@PAVCWnd@@@Z ;	CClientDC::CClientDC(CWnd *)
cmp	[ebp-2Ch], esi
mov	[ebp-4], esi
jnz	short loc_101AFB5
push	esi
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	short loc_101B02F

loc_101AFB5:
mov	eax, [ebx+40h]
cmp	eax, dword_103E804
mov	ecx, ebx
lea	eax, [ebp-1Ch]
jnz	short loc_101B00C
push	edi
mov	edi, eax
mov	esi, offset stru_103E808
movsd
movsd
movsd
push	eax
movsd
call	sub_10194E8
push	3		; dy
push	3		; dx
lea	eax, [ebp-1Ch]
push	eax		; lprc
call	ds:InflateRect
cmp	dword_103EF3C, 0
pop	edi
jz	short loc_101AFFB
cmp	dword ptr [ebx+48h], 3
jle	short loc_101AFFB
inc	dword ptr [ebp-14h]
inc	dword ptr [ebp-10h]

loc_101AFFB:		; bErase
push	0
lea	eax, [ebp-1Ch]
push	eax		; lpRect
push	dword ptr [ebx+20h] ; hWnd
call	ds:InvalidateRect
jmp	short loc_101B02F

loc_101B00C:		; lprc
push	eax
call	sub_101950A
push	3		; dy
push	3		; dx
lea	eax, [ebp-1Ch]
push	eax		; lprc
call	ds:InflateRect
lea	eax, [ebp-1Ch]
push	eax
lea	eax, [ebp-30h]
push	eax
mov	ecx, ebx
call	sub_101A7E8

loc_101B02F:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-30h]
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_101B03B:
mov	ecx, [ebp-0Ch]
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_101AF7B endp

align 10h
push	esi
mov	esi, ecx
call	sub_10129FB
push	color
xor	eax, eax
cmp	dword_103E7E8, eax
mov	ecx, offset unk_103E778
setz	al
mov	dword_103E7E8, eax
call	sub_100F43E
push	offset stru_103E808
mov	ecx, esi
call	sub_101AC0B
mov	eax, off_103D74C
mov	eax, [eax+30h]
cmp	eax, 26Ch
pop	esi
jz	short loc_101B09B
cmp	eax, 26Dh
jnz	short locret_101B0A8

loc_101B09B:
mov	ecx, dword_103F170
push	0
call	sub_102C06B

locret_101B0A8:
retn
db 5 dup(0CCh)

loc_101B0AE:
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 14h
push	ebx
push	esi
mov	ebx, ecx
mov	esi, [ebx+40h]
push	edi
mov	[ebp-4], esi
call	sub_10129FB
xor	eax, eax
cmp	dword_103E804, eax
jnz	short loc_101B0EE
cmp	dword_103E870, eax
jnz	short loc_101B0EE
push	dword ptr [esi+30h]
push	dword ptr [esi+2Ch]
push	eax
push	eax
lea	eax, [ebp-14h]
push	eax
call	ds:SetRect
xor	eax, eax
jmp	short loc_101B103

loc_101B0EE:
mov	esi, offset stru_103ED10
lea	edi, [ebp-14h]
movsd
movsd
movsd
movsd
dec	dword ptr [ebp-0Ch]
dec	dword ptr [ebp-8]
mov	esi, [ebp-4]

loc_101B103:
cmp	dword_103E804, eax
jz	short loc_101B113
cmp	dword_103E7CC, eax
jz	short loc_101B11B

loc_101B113:
cmp	dword_103E870, eax
jz	short loc_101B179

loc_101B11B:
push	eax
push	offset unk_103E78C
mov	ecx, ebx
call	sub_101909A
push	550009h
push	cy
xor	esi, esi
push	dword_103E7A4
mov	edi, eax
push	esi
push	esi
push	dword_103E790
call	ds:PatBlt
cmp	edi, esi
jz	short loc_101B15B
push	esi
push	edi
mov	ecx, offset unk_103E78C
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_101B15B:
push	color
mov	ecx, offset unk_103E778
call	sub_100F43E
push	offset stru_103E808
mov	ecx, ebx
call	sub_101AC0B
jmp	short loc_101B1CE

loc_101B179:
push	dword ptr [ebx+40h]
call	sub_101356F
mov	eax, [ebp-8]
sub	eax, [ebp-10h]
push	550009h
push	eax
mov	eax, [ebp-0Ch]
sub	eax, [ebp-14h]
push	eax
push	dword ptr [ebp-10h]
push	dword ptr [ebp-14h]
push	dword ptr [esi+0Ch]
call	ds:PatBlt
lea	eax, [ebp-14h]
push	eax
push	dword ptr [ebx+40h]
call	sub_101282E
lea	eax, [ebp-14h]
push	eax
push	dword ptr [ebx+40h]
call	sub_10128D0
lea	eax, [ebp-14h]
push	eax
mov	ecx, ebx
call	sub_1018D27
push	dword ptr [ebx+40h]
call	sub_10127C0

loc_101B1CE:
pop	edi
pop	esi
pop	ebx
leave
retn
align 8
mov	eax, offset loc_1036180
call	sub_1034E18
sub	esp, 58h
mov	eax, ___security_cookie
push	esi
mov	esi, ecx
push	edi
push	esi
lea	ecx, [ebp-64h]
mov	[ebp-10h], eax
call	??0CPaintDC@@QAE@PAVCWnd@@@Z ; CPaintDC::CPaintDC(CWnd *)
xor	edi, edi
cmp	[ebp-60h], edi
mov	[ebp-4], edi
jnz	short loc_101B212
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	short loc_101B217

loc_101B212:
cmp	[esi+40h], edi
jnz	short loc_101B228

loc_101B217:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-64h]
call	??1CPaintDC@@UAE@XZ ; CPaintDC::~CPaintDC(void)
jmp	loc_101B2AA

loc_101B228:
cmp	dword_103ECFC, esi
jnz	short loc_101B236
push	esi
call	sub_1015146

loc_101B236:
push	ebx
push	edi
lea	eax, [ebp-64h]
push	eax
mov	ecx, esi
call	sub_101909A
mov	ebx, eax
lea	eax, [ebp-48h]
push	eax
lea	eax, [ebp-64h]
push	eax
mov	ecx, esi
call	sub_101A7E8
push	1
push	edi
lea	eax, [ebp-48h]
push	eax
lea	eax, [ebp-64h]
push	eax
mov	ecx, esi
call	sub_101A5AC
lea	eax, [ebp-48h]
push	eax
lea	eax, [ebp-64h]
push	eax
mov	ecx, esi
call	sub_101A394
cmp	dword_103ECFC, esi
jnz	short loc_101B283
push	esi
call	sub_1015173

loc_101B283:
mov	ecx, [esi+70h]
cmp	ecx, edi
jz	short loc_101B28F
call	sub_102BB6F

loc_101B28F:
cmp	ebx, edi
jz	short loc_101B29D
push	edi
push	ebx
lea	ecx, [ebp-64h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_101B29D:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-64h]
call	??1CPaintDC@@UAE@XZ ; CPaintDC::~CPaintDC(void)
pop	ebx

loc_101B2AA:
mov	ecx, [ebp-0Ch]
pop	edi
mov	large fs:0, ecx
mov	ecx, [ebp-10h]
pop	esi
call	sub_1032F53
leave
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101B2C5 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
mov	esi, ecx
mov	eax, [esi+48h]
cmp	eax, 1
push	edi
jle	short loc_101B2DA
mov	[esi+4Ch], eax

loc_101B2DA:
push	1
call	sub_1013960
xor	edi, edi
cmp	[ebp+arg_0], 1
jle	short loc_101B305
mov	eax, off_103D74C
cmp	eax, edi
jz	short loc_101B305
cmp	dword ptr [eax+30h], 26Eh
jnz	short loc_101B305
push	27Ch
call	sub_1015D47

loc_101B305:
call	sub_10129FB
push	dword ptr [esi+40h] ; hPal
call	sub_1012A88
mov	ecx, esi
call	sub_101AF7B
push	edi
push	edi
mov	ecx, esi
mov	dword_103E804, edi
call	sub_101A394
push	dword ptr [esi+20h] ; hWnd
call	ds:GetParent
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
mov	ebx, eax
cmp	ebx, edi
jz	short loc_101B361
push	offset off_1004900
mov	ecx, ebx
call	?IsKindOf@CObject@@QBEHPBUCRuntimeClass@@@Z ; CObject::IsKindOf(CRuntimeClass const *)
test	eax, eax
jz	short loc_101B361
cmp	[ebp+arg_0], 1
mov	ecx, ebx
jnz	short loc_101B35C
call	sub_10228C1
jmp	short loc_101B361

loc_101B35C:
call	sub_10228EB

loc_101B361:		; bErase
push	edi
push	edi		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:InvalidateRect
mov	eax, [ebp+arg_0]
pop	edi
mov	[esi+48h], eax
pop	esi
pop	ebx
pop	ebp
retn	4
sub_101B2C5 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101B37E proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
xor	esi, esi
cmp	dword_103E804, esi
mov	ebx, ecx
jz	loc_101B432
cmp	dword_103E7CC, esi
jz	loc_101B432
cmp	[ebp+arg_0], esi
jz	short loc_101B3AB
call	sub_10137CD

loc_101B3AB:
push	edi
push	dword ptr [ebx+40h] ; h
call	sub_101356F
mov	eax, off_103D74C
mov	dword_103E7CC, esi
mov	dword_103E7D4, 1
mov	esi, offset stru_103ED10
mov	edi, offset rcSrc2
movsd
movsd
movsd
movsd
cmp	dword ptr [eax+30h], 26Eh
pop	edi
jnz	short loc_101B3EA
call	sub_10129FB
and	[ebp+arg_4], 0

loc_101B3EA:
cmp	[ebp+arg_4], 0
jz	short loc_101B432
call	sub_10129FB
push	color		; color
mov	eax, [ebx+40h]
mov	esi, offset rcSrc2
push	esi		; h
push	dword ptr [eax+0Ch] ; hdc
call	sub_1013601
push	esi		; hPal
push	dword ptr [ebx+40h] ; int
call	sub_10128D0
push	esi		; lprcSrc2
push	dword ptr [ebx+40h] ; int
call	sub_101282E
push	esi		; hdc
mov	ecx, ebx
call	sub_1018D27
push	offset stru_103E808
mov	ecx, ebx
call	sub_101AC0B

loc_101B432:
pop	esi
pop	ebx
pop	ebp
retn	8
sub_101B37E endp

db 5 dup(0CCh)
jmp	sub_101A961
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
cmp	dword ptr [esi+40h], 0
jz	short loc_101B4A4
push	1
push	0
push	dword ptr [esi+20h]
call	ds:InvalidateRect
push	dword ptr [esi+20h]
call	ds:BringWindowToTop
mov	ecx, dword_103ED04
cmp	ecx, esi
jz	short loc_101B47B
test	ecx, ecx
jz	short loc_101B47B
call	sub_101AF7B

loc_101B47B:
mov	dword_103ED04, esi
push	dword ptr [esi+40h]
call	sub_1014142
push	dword ptr [esi+20h]
call	ds:UpdateWindow
mov	ecx, esi
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
push	0
push	0
mov	ecx, esi
call	sub_101A394

loc_101B4A4:
pop	esi
retn	4
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101B4AD proc near

var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	ebx
push	esi
mov	esi, dword_103ED08
push	edi
add	esi, 4
lea	edi, [ebp+var_10]
movsd
movsd
movsd
lea	eax, [ebp+var_10]
push	eax
mov	ebx, ecx
movsd
call	sub_10194C6
mov	eax, [ebp+arg_0]
sub	eax, 200h
jz	loc_101B5F2
dec	eax
dec	eax
jz	short loc_101B4FA
sub	eax, 1FEh
jnz	loc_101B74A
call	sub_1018CF8
jmp	loc_101B74A

loc_101B4FA:
mov	eax, [ebx+40h]
cmp	eax, dword_103E804
jz	short loc_101B519
mov	eax, [ebx+70h]
test	eax, eax
jz	short loc_101B519
push	1		; bErase
push	0		; lpRect
push	dword ptr [eax+20h] ; hWnd
call	ds:InvalidateRect

loc_101B519:
mov	ecx, ebx
call	sub_1018CF8
cmp	dword_103E804, 0
jnz	loc_101B5C3
call	sub_100C004
mov	ecx, eax
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
test	eax, eax
jnz	short loc_101B541
xor	esi, esi
jmp	short loc_101B544

loc_101B541:
mov	esi, [eax+40h]

loc_101B544:
test	esi, esi
jz	loc_101B74A
push	1
mov	ebx, offset unk_103F3A0
push	offset aPropertyEdit ; "Property Edit"
mov	ecx, ebx
call	sub_102FA64
push	10h		; nVirtKey
call	ds:GetKeyState
test	ax, ax
mov	edi, 20Dh
jge	short loc_101B57F
mov	ecx, [esi+0ECh]
push	1
push	edi
call	sub_100BBF9

loc_101B57F:
mov	eax, [ebp+var_8]
mov	ecx, [ebp+var_4]
sub	ecx, [ebp+var_C]
sub	eax, [ebp+var_10]
push	offset dword_103F004
mov	dword_103F004, eax
mov	dword_103F008, ecx
add	esi, 0ECh
mov	ecx, [esi]
push	15Eh
call	sub_100B766
mov	ecx, [esi]
push	0
push	edi
call	sub_100BBF9
mov	ecx, ebx
call	sub_102FE8A
jmp	loc_101B74A

loc_101B5C3:
call	sub_10129FB
mov	ecx, [ebp+var_4]
sub	ecx, [ebp+var_C]
mov	eax, [ebp+var_8]
sub	eax, [ebp+var_10]
push	1
push	ecx
push	eax
mov	ecx, offset unk_103E778
call	sub_100EA54
lea	eax, [ebp+var_10]
push	eax
mov	ecx, ebx
call	sub_101AC0B
jmp	loc_101B74A

loc_101B5F2:
mov	eax, dword_103ED0C
add	eax, 0FFFFFFFDh	; switch 8 cases
cmp	eax, 7
ja	loc_101B6A7	; jumptable 0101B603 default case
jmp	ds:off_101B751[eax*4] ;	switch jump

loc_101B60A:		; jumptable 0101B603 case 4
mov	ecx, [ebp+arg_4]
mov	[ebp+var_10], ecx
jmp	short loc_101B639

loc_101B612:		; jumptable 0101B603 case 5
mov	ecx, [ebp+arg_4]
mov	[ebp+var_8], ecx
jmp	short loc_101B65D

loc_101B61A:		; jumptable 0101B603 case 6
mov	ecx, [ebp+arg_8]
mov	[ebp+var_4], ecx
jmp	short loc_101B69A

loc_101B622:		; jumptable 0101B603 case 7
mov	edx, [ebp+arg_8]
mov	eax, [ebp+var_4]
cmp	edx, eax
mov	ecx, [ebp+arg_4]
mov	[ebp+var_10], ecx
mov	[ebp+var_C], edx
jl	short loc_101B639
dec	eax
mov	[ebp+var_C], eax

loc_101B639:
mov	eax, [ebp+var_8]
cmp	ecx, eax
jl	short loc_101B6B8
dec	eax
mov	[ebp+var_10], eax
jmp	short loc_101B6B8

loc_101B646:		; jumptable 0101B603 case 8
mov	edx, [ebp+arg_8]
mov	eax, [ebp+var_4]
cmp	edx, eax
mov	ecx, [ebp+arg_4]
mov	[ebp+var_C], edx
mov	[ebp+var_8], ecx
jl	short loc_101B65D
dec	eax
mov	[ebp+var_C], eax

loc_101B65D:
mov	eax, [ebp+var_10]
cmp	ecx, eax
jg	short loc_101B6B8
inc	eax
mov	[ebp+var_8], eax
jmp	short loc_101B6B8

loc_101B66A:		; jumptable 0101B603 case 9
mov	edx, [ebp+arg_4]
mov	eax, [ebp+var_8]
cmp	edx, eax
mov	ecx, [ebp+arg_8]
mov	[ebp+var_10], edx
mov	[ebp+var_4], ecx
jl	short loc_101B69A
dec	eax
mov	[ebp+var_10], eax
jmp	short loc_101B69A

loc_101B683:		; jumptable 0101B603 case 10
mov	edx, [ebp+arg_4]
mov	eax, [ebp+var_10]
cmp	edx, eax
mov	ecx, [ebp+arg_8]
mov	[ebp+var_8], edx
mov	[ebp+var_4], ecx
jg	short loc_101B69A
inc	eax
mov	[ebp+var_8], eax

loc_101B69A:
mov	eax, [ebp+var_C]
cmp	ecx, eax
jg	short loc_101B6B8
inc	eax
mov	[ebp+var_4], eax
jmp	short loc_101B6B8

loc_101B6A7:		; jumptable 0101B603 default case
mov	ecx, [ebp+arg_8]
mov	eax, [ebp+var_4]
cmp	ecx, eax
mov	[ebp+var_C], ecx
jl	short loc_101B6B8
dec	eax
mov	[ebp+var_C], eax

loc_101B6B8:
cmp	dword_103E804, 0
jnz	short loc_101B713
mov	ecx, [ebx+40h]
cmp	dword ptr [ecx+4Ch], 0
jz	short loc_101B713
mov	esi, [ecx+50h]
cmp	esi, 1
jz	short loc_101B6EE
cmp	esi, [ecx+2Ch]
jg	short loc_101B6EE
mov	eax, esi
cdq
sub	eax, edx
sar	eax, 1
add	eax, [ebp+var_8]
cdq
idiv	esi
imul	eax, esi
mov	edi, eax
mov	[ebp+var_8], edi
jmp	short loc_101B6F1

loc_101B6EE:
mov	edi, [ebp+var_8]

loc_101B6F1:
mov	esi, [ecx+54h]
cmp	esi, 1
jz	short loc_101B716
cmp	esi, [ecx+30h]
jg	short loc_101B716
mov	eax, esi
cdq
sub	eax, edx
sar	eax, 1
add	eax, [ebp+var_4]
cdq
idiv	esi
imul	eax, esi
mov	[ebp+var_4], eax
jmp	short loc_101B719

loc_101B713:
mov	edi, [ebp+var_8]

loc_101B716:
mov	eax, [ebp+var_4]

loc_101B719:
sub	eax, [ebp+var_C]
sub	edi, [ebp+var_10]
mov	[ebp+arg_8], eax
lea	eax, [ebp+arg_4]
push	eax
mov	[ebp+arg_4], edi
call	sub_1009D9B
lea	eax, [ebp+var_10]
push	eax
mov	ecx, ebx
call	sub_10194E8
mov	ecx, dword_103ED08
mov	eax, [ecx]
push	1
lea	edx, [ebp+var_10]
push	edx
call	dword ptr [eax+2Ch]

loc_101B74A:
pop	edi
pop	esi
pop	ebx
leave
retn	0Ch
sub_101B4AD endp

off_101B751 dd offset loc_101B6A7 ; jump table for switch statement
dd offset loc_101B60A
dd offset loc_101B612
dd offset loc_101B61A
dd offset loc_101B622
dd offset loc_101B646
dd offset loc_101B66A
dd offset loc_101B683
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101B776 proc near

arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
push	edi
mov	edi, ecx
mov	esi, offset unk_103E778
push	offset unk_103ED20
mov	ecx, esi
call	sub_100F070
mov	ebx, [edi+48h]
mov	eax, [ebp+arg_4]
cdq
idiv	ebx
mov	ecx, eax
mov	eax, [ebp+arg_8]
cdq
idiv	ebx
mov	dword_103EDD0, ecx
mov	dword_103EDC8, ecx
mov	dword_103EDD8, ecx
mov	dword_103EDD4, eax
mov	dword_103EDCC, eax
mov	dword_103EDDC, eax
push	dword ptr [edi+20h] ; hWnd
call	ds:SetCapture
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
xor	eax, eax
xor	ebx, ebx
cmp	dword_103E7E8, ebx
setnz	al
inc	eax
push	eax
call	sub_10124E6
cmp	dword_103E7CC, ebx
jz	short loc_101B7F5
call	sub_10137CD
jmp	short loc_101B80A

loc_101B7F5:
cmp	dword_103E7E8, ebx
jnz	short loc_101B80A
push	color
mov	ecx, esi
call	sub_100F43E

loc_101B80A:
mov	ecx, esi
call	sub_100E6A7
mov	ecx, stru_103E808.left
mov	eax, dword_103EDD8
mov	edx, stru_103E808.top
sub	eax, ecx
mov	ecx, dword_103EDDC
sub	ecx, edx
mov	dword_103E800, ecx
mov	ecx, edi
mov	dword_103E7FC, eax
call	sub_101AF7B
mov	esi, ds:GetKeyState
push	11h		; nVirtKey
call	esi ; GetKeyState
test	ax, ax
jge	short loc_101B86E
xor	esi, esi
inc	esi
cmp	dword_103E7CC, ebx
jz	short loc_101B866
mov	dword_103E7CC, ebx
mov	dword_103E7D4, esi
jmp	short loc_101B8AC

loc_101B866:
push	esi
call	sub_1013960
jmp	short loc_101B8AC

loc_101B86E:		; nVirtKey
push	10h
call	esi ; GetKeyState
test	ax, ax
jge	short loc_101B8A9
call	sub_10129FB
xor	esi, esi
inc	esi
cmp	dword_103E7D4, ebx
jz	short loc_101B88D
push	esi
call	sub_1013960

loc_101B88D:		; h
push	dword ptr [edi+40h]
call	sub_101356F
mov	dword_103E7E4, esi
mov	dword_103E7CC, ebx
mov	dword_103E7D4, esi
jmp	short loc_101B8B2

loc_101B8A9:
xor	esi, esi
inc	esi

loc_101B8AC:
mov	dword_103E7E0, esi

loc_101B8B2:
pop	edi
mov	dword_103E870, esi
pop	esi
pop	ebx
pop	ebp
retn	0Ch
sub_101B776 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101B8C4 proc near

hdc= dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 14h
mov	eax, [ebp+arg_0]
sub	eax, 200h
push	ebx
push	esi
push	edi
mov	edi, ecx
mov	[ebp+var_4], edi
jz	short loc_101B95C
dec	eax
dec	eax
jz	short loc_101B8F7
sub	eax, 1FEh
jnz	loc_101BA55
call	sub_101AB4E
jmp	loc_101BA55

loc_101B8F7:
mov	eax, dword_103E7E4
xor	ebx, ebx
cmp	eax, ebx
mov	dword_103E7D0, eax
jz	short loc_101B92D
mov	esi, [edi+40h]
push	ebx
call	sub_1013960
mov	eax, [esi+30h]
mov	esi, [esi+2Ch]
mov	[ebp+var_8], eax
lea	eax, [ebp+hdc]
push	eax		; hdc
mov	ecx, edi
mov	[ebp+hdc], ebx
mov	[ebp+var_10], ebx
mov	[ebp+var_C], esi
call	sub_1018D27

loc_101B92D:
call	ds:ReleaseCapture
push	ebx
mov	dword_103E7E4, ebx
mov	dword_103E7E0, ebx
mov	dword_103E870, ebx
call	sub_10124E6
push	ebx		; lprcSrc2
push	dword_103E804	; int
call	sub_101282E
jmp	loc_101BA55

loc_101B95C:
cmp	dword_103E7E0, 0
jz	short loc_101B970
push	1
push	0
mov	ecx, edi
call	sub_101B37E

loc_101B970:
mov	eax, dword_103EDD8
mov	ecx, [ebp+arg_8]
mov	esi, dword_103E800
mov	edx, dword_103E7FC
mov	dword_103EDD0, eax
mov	eax, dword_103EDDC
mov	dword_103EDD4, eax
mov	eax, [ebp+arg_4]
mov	dword_103EDDC, ecx
mov	ebx, ecx
mov	ecx, stru_103E808.top
mov	edi, eax
mov	dword_103EDD8, eax
mov	eax, stru_103E808.left
neg	ecx
neg	eax
add	ecx, ebx
add	eax, edi
sub	ecx, esi
mov	esi, ds:OffsetRect
push	ecx		; dy
sub	eax, edx
push	eax		; dx
mov	edi, offset stru_103E808
push	edi		; lprc
call	esi ; OffsetRect
mov	ebx, [ebp+var_4]
mov	eax, [ebx+40h]
mov	eax, [eax+2Ch]
mov	ecx, stru_103E808.left
cmp	ecx, eax
jle	short loc_101B9E7
push	0		; dy
sub	eax, ecx
push	eax		; dx
push	edi		; lprc
call	esi ; OffsetRect

loc_101B9E7:
mov	eax, [ebx+40h]
mov	eax, [eax+30h]
mov	ecx, stru_103E808.top
cmp	ecx, eax
jle	short loc_101B9FF
sub	eax, ecx
push	eax		; dy
push	0		; dx
push	edi		; lprc
call	esi ; OffsetRect

loc_101B9FF:
mov	eax, stru_103E808.right
test	eax, eax
jge	short loc_101BA10
push	0		; dy
neg	eax
push	eax		; dx
push	edi		; lprc
call	esi ; OffsetRect

loc_101BA10:
mov	eax, stru_103E808.bottom
test	eax, eax
jge	short loc_101BA21
neg	eax
push	eax		; dy
push	0		; dx
push	edi		; lprc
call	esi ; OffsetRect

loc_101BA21:
cmp	dword_103E7E4, 0
jz	short loc_101BA42
push	1		; int
push	stru_103E808.top ; int
push	stru_103E808.left ; x
push	dword ptr [ebx+40h] ; prgbq
call	sub_1014E99
jmp	short loc_101BA55

loc_101BA42:		; y
push	stru_103E808.top
mov	ecx, ebx
push	stru_103E808.left ; x
call	sub_101A1DD

loc_101BA55:
pop	edi
pop	esi
pop	ebx
leave
retn	0Ch
sub_101B8C4 endp

db 5 dup(0CCh)



sub_101BA61 proc near
mov	eax, offset loc_10361A1
call	sub_1034E18
sub	esp, 48h
mov	eax, [ebp+10h]
push	ebx
mov	ebx, ecx
mov	ecx, [ebp+14h]
mov	[ebp-14h], eax
mov	[ebp-1Ch], eax
push	esi
lea	eax, [ebp-1Ch]
mov	[ebp-18h], ecx
mov	[ebp-10h], ecx
push	eax
mov	ecx, ebx
call	sub_1018C98
xor	esi, esi
cmp	dword_103ED08, esi
jz	short loc_101BAAC
push	dword ptr [ebp-18h]
push	dword ptr [ebp-1Ch]
push	dword ptr [ebp+8]
call	sub_101B4AD
jmp	loc_101C0BA

loc_101BAAC:
mov	eax, [ebx+48h]
mov	ecx, [ebx+50h]
imul	ecx, eax
push	edi
push	0FFFFFFFDh
pop	edx
sub	edx, ecx
mov	ecx, [ebx+54h]
add	[ebp+10h], edx
imul	ecx, eax
push	0FFFFFFFDh
pop	eax
sub	eax, ecx
add	[ebp+14h], eax
lea	eax, [ebp-44h]
push	eax		; lprc
mov	ecx, ebx
call	sub_101950A
call	ds:GetCapture
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
cmp	eax, ebx
jz	loc_101BC7B
cmp	dword_103ED04, ebx
jnz	loc_101BC7B
mov	eax, dword_103E804
cmp	eax, [ebx+40h]
jnz	loc_101BC7B
mov	eax, [ebx+48h]
mov	esi, offset stru_103E808
lea	edi, [ebp-34h]
movsd
movsd
movsd
movsd
mov	ecx, eax
imul	ecx, [ebp-34h]
mov	[ebp-34h], ecx
mov	ecx, eax
imul	ecx, [ebp-30h]
mov	esi, ds:InflateRect
mov	[ebp-30h], ecx
mov	ecx, eax
imul	eax, [ebp-28h]
imul	ecx, [ebp-2Ch]
push	3		; dy
mov	[ebp-28h], eax
push	3		; dx
lea	eax, [ebp-34h]
push	eax		; lprc
mov	[ebp-2Ch], ecx
call	esi ; InflateRect
push	dword ptr [ebp+14h]
mov	ecx, ebx
push	dword ptr [ebp+10h] ; pt
call	sub_1019603
test	eax, eax
jz	loc_101BC79
mov	eax, [ebx+40h]
cmp	dword_103E848, eax
jz	short loc_101BB6C
push	eax		; hPal
call	sub_1012A88

loc_101BB6C:
call	sub_100966C
push	0FFFFFFFDh	; dy
push	0FFFFFFFDh	; dx
lea	eax, [ebp-34h]
push	eax		; lprc
call	esi ; InflateRect
push	0
push	dword ptr [ebp+14h]
lea	eax, [ebp-34h]
push	dword ptr [ebp+10h]
push	eax
call	sub_102D821
test	eax, eax
mov	[ebp-10h], eax
jnz	short loc_101BBEF
push	1F4Ch
mov	ecx, offset unk_103EE08
call	sub_1018E67
push	eax		; hCursor
call	ds:SetCursor
mov	eax, [ebp+8]
cmp	eax, 201h
jz	short loc_101BBDC
cmp	eax, 203h
jz	short loc_101BBDC
cmp	eax, 204h
jz	short loc_101BBCC
cmp	eax, 206h
jnz	loc_101C0B9

loc_101BBCC:
lea	eax, [ebp-1Ch]
push	eax
mov	ecx, ebx
call	sub_1019667
jmp	loc_101C0B9

loc_101BBDC:
push	dword ptr [ebp+14h]
mov	ecx, ebx
push	dword ptr [ebp+10h]
push	eax
call	sub_101B776
jmp	loc_101C0B9

loc_101BBEF:
push	eax
call	sub_102D7C6
push	eax		; hCursor
call	ds:SetCursor
cmp	dword ptr [ebp+8], 201h
jz	short loc_101BC12
cmp	dword ptr [ebp+8], 203h
jnz	loc_101C0B9

loc_101BC12:		; hWnd
push	dword ptr [ebx+20h]
call	ds:SetCapture
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
xor	eax, eax
inc	eax
push	eax
push	eax
mov	ecx, ebx
call	sub_101B37E
mov	esi, offset stru_103E808
lea	edi, [ebp-24h]
movsd
movsd
movsd
lea	eax, [ebp-24h]
push	eax
mov	ecx, ebx
movsd
call	sub_10194E8
push	1Ch		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	[ebp+8], eax
and	dword ptr [ebp-4], 0
test	eax, eax
jz	short loc_101BC65
lea	ecx, [ebp-24h]
push	ecx
push	ebx
mov	ecx, eax
call	sub_1024EFA
jmp	short loc_101BC67

loc_101BC65:
xor	eax, eax

loc_101BC67:
mov	dword_103ED08, eax
mov	eax, [ebp-10h]
mov	dword_103ED0C, eax
jmp	loc_101C0B9

loc_101BC79:
xor	esi, esi

loc_101BC7B:
push	dword ptr [ebp-10h]
lea	eax, [ebp-44h]
push	dword ptr [ebp-14h] ; pt
push	eax		; lprc
call	ds:PtInRect
test	eax, eax
jnz	loc_101BDE8
cmp	dword ptr [ebp+8], 400h
jz	loc_101BDE8
call	ds:GetCapture
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
test	eax, eax
jnz	loc_101BDE8
cmp	dword_103ED00, ebx
jnz	short loc_101BCC9
cmp	dword_103E804, esi
jnz	short loc_101BCC9
call	sub_10129FB

loc_101BCC9:
lea	esi, [ebp-44h]
lea	edi, [ebp-54h]
movsd
movsd
push	3		; dy
movsd
push	3		; dx
lea	eax, [ebp-54h]
push	eax		; lprc
movsd
call	ds:InflateRect
xor	edi, edi
cmp	dword_103E804, edi
jnz	loc_101BDA9
push	dword ptr [ebp-10h]
lea	eax, [ebp-54h]
push	dword ptr [ebp-14h] ; pt
push	eax		; lprc
call	ds:PtInRect
test	eax, eax
jz	loc_101BDA9
xor	esi, esi
cmp	dword_103ED04, ebx
jnz	short loc_101BD39
push	edi
push	dword ptr [ebp-10h]
lea	eax, [ebp-44h]
push	dword ptr [ebp-14h]
push	eax
call	sub_102D821
mov	esi, eax
cmp	esi, 3
jl	short loc_101BD39
cmp	esi, 4
jle	short loc_101BD37
cmp	esi, 6
jle	short loc_101BD39
cmp	esi, 9
jg	short loc_101BD39

loc_101BD37:
xor	esi, esi

loc_101BD39:
push	esi
call	sub_102D7C6
push	eax		; hCursor
call	ds:SetCursor
cmp	esi, edi
jz	loc_101C0B9
cmp	dword ptr [ebp+8], 201h
jz	short loc_101BD64
cmp	dword ptr [ebp+8], 203h
jnz	loc_101C0B9

loc_101BD64:		; hWnd
push	dword ptr [ebx+20h]
call	ds:SetCapture
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
push	1Ch		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	[ebp+8], eax
cmp	eax, edi
mov	dword ptr [ebp-4], 1
jz	short loc_101BD97
lea	ecx, [ebp-44h]
push	ecx
push	ebx
mov	ecx, eax
call	sub_1024EFA
jmp	short loc_101BD99

loc_101BD97:
xor	eax, eax

loc_101BD99:
mov	dword_103ED08, eax
mov	dword_103ED0C, esi
jmp	loc_101C0B9

loc_101BDA9:
cmp	dword ptr [ebp+8], 201h
jnz	short loc_101BDD0
mov	eax, off_103D74C
cmp	dword ptr [eax+30h], 26Eh
jz	loc_101C0B9
mov	ecx, ebx
call	sub_101A961
jmp	loc_101C0B9

loc_101BDD0:		; lpCursorName
push	7F00h
push	edi		; hInstance
call	ds:LoadCursorW
push	eax		; hCursor
call	ds:SetCursor
jmp	loc_101C0B9

loc_101BDE8:
mov	eax, [ebp+10h]
mov	ecx, [ebx+48h]
cdq
idiv	ecx
mov	[ebp+10h], eax
mov	eax, [ebp+14h]
cdq
idiv	ecx
cmp	dword_103E904, esi
mov	[ebp+14h], eax
jnz	short loc_101BE0E
lea	eax, [ebx+60h]
push	eax
call	sub_1009D6F

loc_101BE0E:
cmp	dword_103E7E0, esi
jnz	loc_101C0A9
cmp	dword_103E7E4, esi
jnz	loc_101C0A9
lea	eax, [ebp+10h]
push	eax
call	sub_101262B
mov	edx, [ebp+8]
mov	esi, off_103D74C
mov	edi, 204h
cmp	edx, edi
ja	loc_101BF59
cmp	edx, 203h
jnb	loc_101BF95
mov	eax, edx
sub	eax, 113h
jz	loc_101BF4A
sub	eax, 0EDh
jz	loc_101BEF6
dec	eax
jz	loc_101BF95
dec	eax
jnz	short loc_101BEE3

loc_101BE73:
mov	eax, dword_103EDD8
mov	dword_103EDD0, eax
mov	eax, dword_103EDDC
mov	dword_103EDD4, eax
mov	eax, [ebp+10h]
mov	dword_103EDD8, eax
mov	eax, [ebp+14h]
mov	dword_103EDDC, eax
call	ds:GetCapture
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
cmp	eax, ebx
jnz	short loc_101BEE3
call	ds:ReleaseCapture
mov	eax, [esi]
mov	edi, offset dword_103EDC8
push	edi
mov	ecx, esi
call	dword ptr [eax+50h]
mov	eax, [esi]
push	edi
push	ebx
mov	ecx, esi
call	dword ptr [eax+28h]
cmp	dword ptr [ebp+8], 202h
jnz	short loc_101BED3
and	dword_103EDE0, 0

loc_101BED3:
cmp	dword ptr [ebp+8], 205h
jnz	short loc_101BEE3

loc_101BEDC:
and	dword_103EDE4, 0

loc_101BEE3:		; hWnd
push	dword ptr [ebx+20h]
call	ds:UpdateWindow
call	sub_10195C2
jmp	loc_101C0B9

loc_101BEF6:
cmp	dword_103EDE0, 0
mov	eax, dword_103EDD8
mov	dword_103EDD0, eax
mov	eax, dword_103EDDC
mov	dword_103EDD4, eax
mov	eax, [ebp+10h]
mov	dword_103EDD8, eax
mov	eax, [ebp+14h]
mov	dword_103EDDC, eax
jnz	short loc_101BF3B
cmp	dword_103EDE4, 0
jnz	short loc_101BF3B
mov	eax, [esi]
push	offset dword_103EDC8
push	ebx
mov	ecx, esi
call	dword ptr [eax+30h]
jmp	short loc_101BEE3

loc_101BF3B:
mov	eax, [esi]
push	offset dword_103EDC8
push	ebx
mov	ecx, esi
call	dword ptr [eax+2Ch]
jmp	short loc_101BEE3

loc_101BF4A:
mov	eax, [esi]
push	offset dword_103EDC8
push	ebx
mov	ecx, esi
call	dword ptr [eax+34h]
jmp	short loc_101BEE3

loc_101BF59:
mov	eax, edx
sub	eax, 205h
jz	loc_101BE73
dec	eax
jz	short loc_101BF95
sub	eax, 1FAh
jnz	loc_101BEE3
call	ds:ReleaseCapture
mov	eax, [esi]
push	ebx
mov	ecx, esi
call	dword ptr [eax+38h]
and	dword_103EDE4, 0
and	dword_103EDE0, 0
jmp	loc_101BEE3

loc_101BF95:
mov	eax, [ebx+40h]
cmp	dword_103E848, eax
jz	short loc_101BFA9
push	eax		; hPal
call	sub_1012A88
mov	edx, [ebp+8]

loc_101BFA9:
xor	eax, eax
inc	eax
cmp	edx, 201h
jz	short loc_101BFC5
cmp	edx, 203h
jz	short loc_101BFC5
and	dword_103EDE0, 0
jmp	short loc_101BFCA

loc_101BFC5:
mov	dword_103EDE0, eax

loc_101BFCA:
cmp	edx, edi
jz	short loc_101BFDF
cmp	edx, 206h
jz	short loc_101BFDF
and	dword_103EDE4, 0
jmp	short loc_101BFE4

loc_101BFDF:
mov	dword_103EDE4, eax

loc_101BFE4:
mov	eax, [ebp+10h]
mov	ecx, [ebp+14h]
mov	edi, off_103D74C
mov	dword_103EDD0, eax
mov	dword_103EDD4, ecx
mov	dword_103EDC8, eax
mov	dword_103EDCC, ecx
mov	dword_103EDD8, eax
mov	dword_103EDDC, ecx
cmp	dword ptr [edi+30h], 278h
jnz	short loc_101C062
cmp	edx, 203h
jz	short loc_101C02A
cmp	edx, 206h
jnz	short loc_101C062

loc_101C02A:
mov	dword_103EDD4, ecx
mov	dword_103EDDC, ecx
mov	dword_103EDD0, eax
mov	dword_103EDD8, eax
mov	eax, [esi]
push	0
mov	ecx, esi
call	dword ptr [eax+54h]
mov	eax, [esi]
push	offset dword_103EDC8
push	ebx
mov	ecx, esi
call	dword ptr [eax+28h]
and	dword_103EDE0, 0
jmp	loc_101BEDC

loc_101C062:		; hWnd
push	dword ptr [ebx+20h]
call	ds:SetCapture
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
mov	eax, off_103D74C
cmp	dword ptr [eax+30h], 26Dh
jz	short loc_101C084
call	sub_10129FB

loc_101C084:
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+60h]
test	eax, eax
jz	short loc_101C097
push	dword ptr [ebx+40h] ; h
call	sub_101356F

loc_101C097:
mov	eax, [esi]
push	offset dword_103EDC8
push	ebx
mov	ecx, esi
call	dword ptr [eax+24h]
jmp	loc_101BEE3

loc_101C0A9:
push	dword ptr [ebp+14h]
mov	ecx, ebx
push	dword ptr [ebp+10h]
push	dword ptr [ebp+8]
call	sub_101B8C4

loc_101C0B9:
pop	edi

loc_101C0BA:
mov	ecx, [ebp-0Ch]
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	10h
sub_101BA61 endp

db 5 dup(0CCh)

loc_101C0CF:
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 14h
push	ebx
xor	ebx, ebx
cmp	dword_103E870, ebx
mov	[ebp-4], ecx
jnz	short loc_101C0F9
cmp	dword_103E804, ebx
jnz	short loc_101C0F9
push	ebx
call	ds:MessageBeep
jmp	loc_101C181

loc_101C0F9:
push	esi
push	edi
push	ebx
push	1
call	sub_101B37E
mov	ecx, dword_103E7A4
mov	esi, offset stru_103E808
lea	edi, [ebp-14h]
movsd
movsd
movsd
movsd
mov	eax, ecx
cdq
push	0FFFFFFFEh
pop	esi
idiv	esi
add	[ebp-14h], eax
mov	eax, [ebp-14h]
lea	eax, [eax+ecx*2]
mov	ecx, cy
mov	[ebp-0Ch], eax
mov	eax, ecx
cdq
idiv	esi
add	[ebp-10h], eax
mov	eax, [ebp-10h]
lea	eax, [eax+ecx*2]
mov	[ebp-8], eax
call	sub_10129FB
mov	ecx, cy
mov	eax, dword_103E7A4
add	ecx, ecx
push	1
push	ecx
add	eax, eax
mov	esi, offset unk_103E778
push	eax
mov	ecx, esi
call	sub_100EA54
mov	ecx, [ebp-4]
lea	eax, [ebp-14h]
push	eax
call	sub_101AC0B
cmp	dword_103E870, ebx
jz	short loc_101C17F
mov	ecx, esi
call	sub_100E685

loc_101C17F:
pop	edi
pop	esi

loc_101C181:
pop	ebx
leave
retn
db 5 dup(0CCh)

loc_101C189:
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 14h
push	ebx
xor	ebx, ebx
cmp	dword_103E870, ebx
mov	[ebp-4], ecx
jnz	short loc_101C1B3
cmp	dword_103E804, ebx
jnz	short loc_101C1B3
push	ebx
call	ds:MessageBeep
jmp	loc_101C24E

loc_101C1B3:
push	esi
push	edi
push	ebx
push	1
call	sub_101B37E
mov	ecx, dword_103E7A4
mov	esi, offset stru_103E808
lea	edi, [ebp-14h]
movsd
movsd
movsd
movsd
mov	eax, ecx
cdq
push	4
pop	esi
idiv	esi
add	[ebp-14h], eax
lea	eax, [ecx+1]
mov	ecx, cy
cdq
sub	eax, edx
sar	eax, 1
add	eax, [ebp-14h]
mov	[ebp-0Ch], eax
mov	eax, ecx
cdq
idiv	esi
add	[ebp-10h], eax
lea	eax, [ecx+1]
cdq
sub	eax, edx
sar	eax, 1
add	eax, [ebp-10h]
mov	[ebp-8], eax
call	sub_10129FB
mov	eax, dword_103E7A4
inc	eax
cdq
sub	eax, edx
mov	ecx, eax
mov	eax, cy
sar	ecx, 1
inc	eax
cdq
sub	eax, edx
push	1
sar	eax, 1
push	eax
push	ecx
mov	esi, offset unk_103E778
mov	ecx, esi
call	sub_100EA54
mov	ecx, [ebp-4]
lea	eax, [ebp-14h]
push	eax
call	sub_101AC0B
cmp	dword_103E870, ebx
jz	short loc_101C24C
mov	ecx, esi
call	sub_100E685

loc_101C24C:
pop	edi
pop	esi

loc_101C24E:
pop	ebx
leave
retn
db 5 dup(0CCh)

loc_101C256:
cmp	dword_103E804, 0
jnz	short loc_101C27E
cmp	dword_103E870, 0
jnz	short loc_101C27E
mov	ecx, off_103D74C
mov	eax, [ecx+24h]
cmp	eax, 1
jbe	short locret_101C27D
dec	eax
push	eax
call	sub_1015261

locret_101C27D:
retn

loc_101C27E:
jmp	loc_101C189
align 8

loc_101C288:
cmp	dword_103E804, 0
jnz	short loc_101C2AB
cmp	dword_103E870, 0
jnz	short loc_101C2AB
mov	ecx, off_103D74C
mov	eax, [ecx+24h]
inc	eax
push	eax
call	sub_1015261
retn

loc_101C2AB:
jmp	loc_101C0CF
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101C2B5 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	edi
mov	edi, ecx
call	ds:GetFocus
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
cmp	eax, edi
jz	short loc_101C2E3
mov	ecx, edi
call	?SetFocus@CWnd@@QAEPAV1@XZ ; CWnd::SetFocus(void)
push	dword ptr [edi+20h] ; hWnd
call	ds:SetActiveWindow
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)

loc_101C2E3:
mov	eax, [ebp+arg_0]
and	eax, 3
cmp	al, 3
jnz	short loc_101C33A
push	esi
call	sub_100965C
mov	esi, dword_103E7DC
xor	ecx, ecx
push	ecx
xor	eax, eax
push	eax
push	ecx
push	400h
mov	ecx, edi
call	sub_101BA61
push	7F16h		; lpCursorName
push	0		; hInstance
call	ds:LoadCursorW
push	eax		; hCursor
call	ds:SetCursor
test	esi, esi
pop	esi
jnz	short loc_101C32C
mov	ecx, edi
call	sub_1019732

loc_101C32C:
mov	dword_103ECF8, 1
xor	eax, eax
jmp	short loc_101C33D

loc_101C33A:
xor	eax, eax
inc	eax

loc_101C33D:
pop	edi
pop	ebp
retn	4
sub_101C2B5 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101C347 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
xor	eax, eax
cmp	dword_103ECF8, eax
push	esi
mov	esi, ecx
jz	short loc_101C382
test	byte ptr [ebp+arg_0], 3
jnz	short loc_101C36B
mov	dword_103ECF8, eax
call	sub_10195C2
jmp	short loc_101C37E

loc_101C36B:		; lpCursorName
push	7F00h
push	eax		; hInstance
call	ds:LoadCursorW
push	eax		; hCursor
call	ds:SetCursor

loc_101C37E:
xor	eax, eax
jmp	short loc_101C3CF

loc_101C382:
mov	eax, off_103D74C
mov	eax, [eax+30h]
cmp	eax, 26Ch
jz	short loc_101C3A0
cmp	eax, 26Dh
jz	short loc_101C3A0
push	dword ptr [esi+40h] ; hPal
call	sub_1012A88

loc_101C3A0:		; CWnd::GetCurrentMessage(void)
call	?GetCurrentMessage@CWnd@@KGPBUtagMSG@@XZ
mov	ecx, [ebp+arg_0]
and	ecx, 8
mov	dword_103EDE8, ecx
mov	ecx, [eax+0Ch]
movsx	edx, cx
shr	ecx, 10h
movsx	ecx, cx
push	ecx
push	edx
push	dword ptr [eax+8]
mov	ecx, esi
push	dword ptr [eax+4]
call	sub_101BA61
xor	eax, eax
inc	eax

loc_101C3CF:
pop	esi
pop	ebp
retn	4
sub_101C347 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101C3D9 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
push	[ebp+arg_0]
mov	ecx, esi
call	sub_101C2B5
test	eax, eax
jz	short loc_101C3FE
push	[ebp+arg_0]
mov	ecx, esi
call	sub_101C347

loc_101C3FE:
pop	esi
pop	ebp
retn	0Ch
sub_101C3D9 endp

align 8
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
lea	eax, [ebp-10h]
push	eax
mov	esi, ecx
call	sub_101950A
push	dword ptr [ebp+10h]
mov	ecx, esi
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
call	sub_101C3D9
pop	esi
leave
retn	0Ch
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
push	dword ptr [ebp+8]
mov	ecx, esi
call	sub_101C347
pop	esi
pop	ebp
retn	0Ch
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	dword ptr [ebp+10h]
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
call	sub_101C3D9
pop	ebp
retn	0Ch
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 24h
push	esi
push	edi
mov	esi, ecx
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
mov	eax, dword_103ECFC
xor	edi, edi
cmp	eax, esi
jz	short loc_101C4AA
cmp	eax, edi
jz	short loc_101C4AA
mov	ecx, off_103D74C
mov	edx, [ecx]
push	offset dword_103EDC8
push	eax
call	dword ptr [edx+20h]
mov	dword_103ECFC, edi

loc_101C4AA:
lea	eax, [ebp+0Ch]
push	eax
mov	ecx, esi
call	sub_1018C98
mov	eax, [ebp+0Ch]
mov	ecx, [ebp+10h]
mov	[esi+60h], eax
mov	[esi+64h], ecx
cmp	dword_103ECFC, edi
jnz	short loc_101C4FA
mov	[ebp-10h], ecx
mov	[ebp-20h], ecx
mov	[ebp-18h], ecx
mov	ecx, off_103D74C
lea	edx, [ebp-24h]
push	edx
mov	[ebp-14h], eax
mov	[ebp-24h], eax
mov	[ebp-1Ch], eax
mov	[ebp-0Ch], edi
mov	[ebp-8], edi
mov	[ebp-4], edi
mov	eax, [ecx]
push	edi
call	dword ptr [eax+1Ch]
mov	dword_103ECFC, esi

loc_101C4FA:
push	dword ptr [ebp+8]
mov	ecx, esi
call	sub_101C347
pop	edi
pop	esi
leave
retn	0Ch
db 5 dup(0CCh)
push	0
call	sub_101C347
retn	4
db 5 dup(0CCh)
mov	eax, ds:?classCOleIPFrameWnd@COleIPFrameWnd@@2UCRuntimeClass@@B	; CRuntimeClass	const COleIPFrameWnd::classCOleIPFrameWnd
retn
db 5 dup(0CCh)

loc_101C529:
mov	eax, offset off_1003948
retn
db 5 dup(0CCh)

loc_101C534:		; AFX_MSGMAP const COleIPFrameWnd::messageMap
mov	eax, ds:?messageMap@COleIPFrameWnd@@1UAFX_MSGMAP@@B
retn
db 5 dup(0CCh)



sub_101C53F proc near
mov	eax, offset off_1003AC8
retn
sub_101C53F endp

db 5 dup(0CCh)


; Attributes: thunk

sub_101C54A proc near
jmp	sub_102C189
sub_101C54A endp

db 5 dup(0CCh)



sub_101C554 proc near
mov	eax, offset loc_10361F0
call	sub_1034E18
push	ecx
push	ebx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_1003AE4
xor	ebx, ebx
lea	ecx, [esi+470h]
mov	dword ptr [ebp-4], 4
mov	dword_103EF9C, ebx
mov	dword_103EF98, ebx
mov	dword_103E764, ebx
mov	dword_103F170, ebx
mov	dword_103E820, ebx
call	??1COleDropTarget@@UAE@XZ ; COleDropTarget::~COleDropTarget(void)
lea	ecx, [esi+3ACh]
mov	byte ptr [ebp-4], 3
call	??1COleResizeBar@@UAE@XZ ; COleResizeBar::~COleResizeBar(void)
lea	ecx, [esi+30Ch]
mov	byte ptr [ebp-4], 2
call	??1CControlBar@@UAE@XZ ; CControlBar::~CControlBar(void)
lea	ecx, [esi+1D4h]
mov	byte ptr [ebp-4], 1
call	sub_102C189
lea	ecx, [esi+130h]
mov	[ebp-4], bl
call	sub_10098EB
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	??1COleIPFrameWnd@@UAE@XZ ; COleIPFrameWnd::~COleIPFrameWnd(void)
mov	ecx, [ebp-0Ch]
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_101C554 endp

db 5 dup(0CCh)



sub_101C5F7 proc near
mov	eax, dword_103EE28
test	eax, eax
jz	short loc_101C60F
cmp	dword ptr [eax+0F8h], 0
jz	short loc_101C60F
add	eax, 0D8h
retn

loc_101C60F:
xor	eax, eax
retn
sub_101C5F7 endp

db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	offset aGeneral	; "General"
mov	esi, ecx
call	?SaveBarState@CFrameWnd@@QBEXPBG@Z ; CFrameWnd::SaveBarState(ushort const *)
push	0
call	sub_101F443
mov	ecx, esi
pop	esi
jmp	loc_1033CB4
db 5 dup(0CCh)
push	0
push	0
push	offset aMspaint_chm ; "mspaint.chm"
call	ds:GetDesktopWindow
push	eax
call	sub_103514B
retn
db 5 dup(0CCh)
xor	eax, eax
inc	eax
retn	8
align 10h


; Attributes: bp-based frame

; int __thiscall sub_101C660(void *, char)
sub_101C660 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_101C554
test	[ebp+arg_0], 1
jz	short loc_101C67A
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_101C67A:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_101C660 endp

db 5 dup(0CCh)



sub_101C686 proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_102C0EB
mov	dword ptr [esi], offset	off_1003C24
mov	eax, esi
pop	esi
retn
sub_101C686 endp

db 5 dup(0CCh)



sub_101C69F proc near
mov	ax, 7F02h
retn
sub_101C69F endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_101C6A9(void *, char)
sub_101C6A9 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_101C54A
test	[ebp+arg_0], 1
jz	short loc_101C6C3
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_101C6C3:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_101C6A9 endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	dword ptr [ebp+8]
mov	esi, ecx
call	?OnCreate@COleIPFrameWnd@@IAEHPAUtagCREATESTRUCTW@@@Z ;	COleIPFrameWnd::OnCreate(tagCREATESTRUCTW *)
cmp	eax, 0FFFFFFFFh
jz	short loc_101C6FE
push	0E803h
push	50000000h
push	esi
lea	ecx, [esi+3ACh]
call	?Create@COleResizeBar@@QAEHPAVCWnd@@KI@Z ; COleResizeBar::Create(CWnd *,ulong,uint)
test	eax, eax
jnz	short loc_101C703

loc_101C6FE:
or	eax, 0FFFFFFFFh
jmp	short loc_101C711

loc_101C703:
push	esi
lea	ecx, [esi+470h]
call	?Register@COleDropTarget@@QAEHPAVCWnd@@@Z ; COleDropTarget::Register(CWnd *)
xor	eax, eax

loc_101C711:
pop	esi
pop	ebp
retn	4
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101C71B proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
test	eax, eax
push	esi
push	edi
mov	esi, ecx
jnz	short loc_101C733
and	dword_103EF98, eax
jmp	short loc_101C73B

loc_101C733:
mov	eax, [eax+20h]
mov	dword_103EF98, eax

loc_101C73B:
mov	ecx, esi
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
mov	edi, eax
test	edi, edi
jz	short loc_101C786
push	offset off_1004900
mov	ecx, edi
call	?IsKindOf@CObject@@QBEHPBUCRuntimeClass@@@Z ; CObject::IsKindOf(CRuntimeClass const *)
test	eax, eax
jz	short loc_101C786
lea	eax, [esi+130h]
mov	dword_103E764, eax
lea	eax, [esi+1D4h]
add	esi, 30Ch
mov	ecx, edi
mov	dword_103F170, eax
mov	dword_103E820, esi
call	sub_10217D1
xor	eax, eax
inc	eax
jmp	short loc_101C788

loc_101C786:
xor	eax, eax

loc_101C788:
pop	edi
pop	esi
pop	ebp
retn	8
sub_101C71B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101C793 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+arg_4]
mov	esi, ecx
push	[ebp+arg_0]
call	?RepositionFrame@COleIPFrameWnd@@UAEXPBUtagRECT@@0@Z ; COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *)
add	esi, 3CCh
push	dword ptr [esi]	; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_101C7C4
push	1		; bErase
push	0		; lpRect
push	dword ptr [esi]	; hWnd
call	ds:InvalidateRect

loc_101C7C4:
pop	esi
pop	ebp
retn	8
sub_101C793 endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
pop	ebp
jmp	loc_1033CFC
db 5 dup(0CCh)



sub_101C7DE proc near
mov	eax, offset loc_10361F0
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
call	??0COleIPFrameWnd@@QAE@XZ ; COleIPFrameWnd::COleIPFrameWnd(void)
and	dword ptr [ebp-4], 0
lea	ecx, [esi+130h]
mov	dword ptr [esi], offset	off_1003AE4
call	sub_1009841
lea	ecx, [esi+1D4h]
mov	byte ptr [ebp-4], 1
call	sub_101C686
lea	ecx, [esi+30Ch]
mov	byte ptr [ebp-4], 2
call	sub_100F691
lea	ecx, [esi+3ACh]
mov	byte ptr [ebp-4], 3
call	??0COleResizeBar@@QAE@XZ ; COleResizeBar::COleResizeBar(void)
lea	ecx, [esi+470h]
mov	byte ptr [ebp-4], 4
call	??0COleDropTarget@@QAE@XZ ; COleDropTarget::COleDropTarget(void)
mov	ecx, [ebp-0Ch]
mov	dword_103EF9C, esi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_101C7DE endp

db 5 dup(0CCh)
mov	eax, offset loc_1036208
call	sub_1034E18
push	ecx
push	4A8h
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-10h], ecx
xor	eax, eax
cmp	ecx, eax
mov	[ebp-4], eax
jz	short loc_101C888
call	sub_101C7DE

loc_101C888:
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)

loc_101C899:		; CRuntimeClass	const CFrameWnd::classCFrameWnd
mov	eax, ds:?classCFrameWnd@CFrameWnd@@2UCRuntimeClass@@B
retn
db 5 dup(0CCh)

loc_101C8A4:
mov	eax, offset off_1003D20
retn
db 5 dup(0CCh)
mov	eax, [ecx]
call	dword ptr [eax+0FCh]
movzx	eax, ax
add	eax, 20000h
retn	8
db 5 dup(0CCh)



sub_101C8C7 proc near
mov	edi, edi
push	esi
mov	esi, ecx
mov	ecx, [esi+0C0h]
push	0
call	sub_100CDBF
mov	ecx, [esi+0C0h]
test	ecx, ecx
jz	short loc_101C8EA
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_101C8EA:
and	dword ptr [esi+0C0h], 0
pop	esi
retn
sub_101C8C7 endp

align 8
mov	edi, edi
push	ebp
mov	ebp, esp
test	byte ptr [ecx+29h], 2
jz	short loc_101C909
xor	eax, eax
pop	ebp
retn	4

loc_101C909:
pop	ebp
jmp	loc_1033D2C
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_101C914(BOOL bRevert)
sub_101C914 proc near

bRevert= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+bRevert]	; bRevert
push	dword ptr [ecx+20h] ; hWnd
call	ds:GetSystemMenu
push	eax
call	?FromHandle@CMenu@@SGPAV1@PAUHMENU__@@@Z ; CMenu::FromHandle(HMENU__ *)
pop	ebp
retn	4
sub_101C914 endp

db 5 dup(0CCh)



sub_101C934 proc near
mov	eax, offset loc_103621F
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
call	??0CFrameWnd@@QAE@XZ ; CFrameWnd::CFrameWnd(void)
mov	dword ptr [esi], offset	off_1003E5C
mov	eax, dword_103EDF8
xor	edi, edi
cmp	[eax-8], edi
mov	[ebp-4], edi
jnz	short loc_101C982
push	edi		; HICON
push	10h		; HBRUSH
push	7F00h		; lpCursorName
push	edi		; hInstance
call	ds:LoadCursorW
push	eax		; HICON
push	8		; unsigned int
call	?AfxRegisterWndClass@@YGPBGIPAUHICON__@@PAUHBRUSH__@@0@Z ; AfxRegisterWndClass(uint,HICON__ *,HBRUSH__ *,HICON__ *)
push	eax
mov	ecx, offset dword_103EDF8
call	??4CString@@QAEABV0@PBG@Z ; CString::operator=(ushort const *)

loc_101C982:
mov	ecx, [ebp-0Ch]
mov	[esi+0C4h], edi
mov	[esi+0C0h], edi
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_101C934 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_101C9A3(void *, char)
sub_101C9A3 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	j_??1CFrameWnd@@UAE@XZ ; CFrameWnd::~CFrameWnd(void)
test	[ebp+arg_0], 1
jz	short loc_101C9BD
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_101C9BD:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_101C9A3 endp

db 5 dup(0CCh)
; [00000005 BYTES: COLLAPSED FUNCTION CFrameWnd::~CFrameWnd(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101C9D3 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_4]
push	0
push	180h
push	0
push	[ebp+arg_C]
or	eax, 80C80000h
push	[ebp+arg_8]
push	eax
push	[ebp+arg_0]
push	dword_103EDF8
call	?Create@CFrameWnd@@QAEHPBG0KABUtagRECT@@PAVCWnd@@0KPAUCCreateContext@@@Z ; CFrameWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,ushort const *,ulong,CCreateContext *)
pop	ebp
retn	10h
sub_101C9D3 endp

db 5 dup(0CCh)
mov	eax, offset loc_1036237
call	sub_1034E18
sub	esp, 10h
cmp	dword ptr [ebp+8], 2
push	esi
mov	esi, ecx
jnz	short loc_101CA98
cmp	dword ptr [esi+0C4h], 0
jz	short loc_101CA98
push	5Ch
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp+8], ecx
and	dword ptr [ebp-4], 0
test	ecx, ecx
jz	short loc_101CA42
call	sub_100CBAD
jmp	short loc_101CA44

loc_101CA42:
xor	eax, eax

loc_101CA44:
or	dword ptr [ebp-4], 0FFFFFFFFh
test	eax, eax
mov	[esi+0C0h], eax
jz	short loc_101CA98
lea	eax, [ebp-1Ch]
push	eax
push	dword ptr [esi+20h]
call	ds:GetWindowRect
push	dword ptr [esi+0C4h]
mov	ecx, [esi+0C0h]
push	0
lea	eax, [ebp-1Ch]
push	eax
push	dword ptr [ebp+10h]
push	dword ptr [ebp+0Ch]
call	sub_100CBF9
test	eax, eax
jnz	short loc_101CA98
mov	ecx, [esi+0C0h]
test	ecx, ecx
jz	short loc_101CA91
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_101CA91:
and	dword ptr [esi+0C0h], 0

loc_101CA98:
mov	ecx, esi
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	0Ch
db 5 dup(0CCh)



sub_101CAB3 proc near
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
retn	0Ch
sub_101CAB3 endp

align 10h
mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	edi
push	0
mov	[ebp-4], ecx
call	sub_101C914
mov	edi, eax
test	edi, edi
jz	short loc_101CB24
push	ebx
push	esi
mov	esi, ds:RemoveMenu
mov	ebx, 400h
push	ebx
push	7
push	dword ptr [edi+4]
call	esi ; RemoveMenu
push	ebx
push	5
push	dword ptr [edi+4]
call	esi ; RemoveMenu
xor	ebx, ebx
push	ebx
push	0F120h
push	dword ptr [edi+4]
call	esi ; RemoveMenu
push	ebx
push	0F020h
push	dword ptr [edi+4]
call	esi ; RemoveMenu
push	ebx
push	0F030h
push	dword ptr [edi+4]
call	esi ; RemoveMenu
push	ebx
push	0F130h
push	dword ptr [edi+4]
call	esi ; RemoveMenu
pop	esi
pop	ebx

loc_101CB24:
push	dword ptr [ebp+8]
mov	ecx, [ebp-4]
call	?OnCreate@CFrameWnd@@IAEHPAUtagCREATESTRUCTW@@@Z ; CFrameWnd::OnCreate(tagCREATESTRUCTW	*)
pop	edi
leave
retn	4
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
cmp	word ptr [ebp+0Ch], 0
jnz	short loc_101CB69
cmp	dword ptr [ebp+8], 0F000h
jb	short loc_101CB69
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
push	112h
push	dword ptr [ecx+20h]
call	ds:PostMessageW
xor	eax, eax
inc	eax
pop	ebp
retn	8

loc_101CB69:
pop	ebp
jmp	?OnCommand@CFrameWnd@@MAEHIJ@Z ; CFrameWnd::OnCommand(uint,long)
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+8]
and	eax, 0FFF0h
sub	eax, 0F040h
push	esi
mov	esi, ecx
jz	short loc_101CBF0
sub	eax, 10h
jz	short loc_101CBF0
sub	eax, 0B0h
jnz	short loc_101CC0F
cmp	word ptr [ebp+0Ch], 2Dh
jz	short loc_101CC1C
push	ebx
push	edi
push	dword ptr [esi+20h]
mov	edi, ds:GetParent
call	edi ; GetParent
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
push	dword ptr [eax+20h]
mov	ebx, ds:SetActiveWindow
call	ebx ; SetActiveWindow
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
push	dword ptr [esi+20h]
call	edi ; GetParent
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
push	112h
push	dword ptr [eax+20h]
call	ds:SendMessageW
push	dword ptr [esi+20h]
call	ebx ; SetActiveWindow
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
pop	edi
pop	ebx
jmp	short loc_101CC1C

loc_101CBF0:
cmp	word ptr [ebp+0Ch], 75h
jnz	short loc_101CC0F
push	dword ptr [esi+20h]
call	ds:GetParent
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
mov	ecx, eax
call	?SetFocus@CWnd@@QAEPAV1@XZ ; CWnd::SetFocus(void)
jmp	short loc_101CC1C

loc_101CC0F:
push	dword ptr [ebp+0Ch]
mov	ecx, esi
push	dword ptr [ebp+8]
call	?OnSysCommand@CFrameWnd@@IAEXIJ@Z ; CFrameWnd::OnSysCommand(uint,long)

loc_101CC1C:
pop	esi
pop	ebp
retn	8
align 8
push	esi
mov	esi, ecx
cmp	dword ptr [esi+0C0h], 0
jz	short loc_101CC46
push	0
push	1Bh
push	111h
push	dword ptr [esi+20h]
call	ds:PostMessageW

loc_101CC46:
mov	ecx, esi
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
pop	esi
retn	0Ch
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
cmp	dword ptr [ebp+8], 1Bh
push	esi
mov	esi, ecx
jnz	short loc_101CC72
cmp	dword ptr [esi+0C0h], 0
jz	short loc_101CC72
call	sub_101C8C7

loc_101CC72:
mov	ecx, esi
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
pop	esi
pop	ebp
retn	0Ch
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 18h
push	esi
mov	esi, ecx
cmp	dword ptr [esi+0C0h], 0
jz	short loc_101CCCB
push	edi
mov	edi, [ebp+0Ch]
push	edi
lea	ecx, [ebp-18h]
call	sub_101167D
lea	eax, [ebp-8]
push	eax
call	ds:GetCursorPos
mov	ecx, [esi+0C0h]
lea	eax, [ebp-18h]
push	eax
push	dword ptr [ebp-4]
push	dword ptr [ebp-8]
call	sub_100CE2E
lea	esi, [ebp-18h]
movsd
movsd
movsd
movsd
pop	edi

loc_101CCCB:
xor	eax, eax
pop	esi
leave
retn	8
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101CCD7 proc near

var_10=	byte ptr -10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
mov	esi, ecx
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
mov	ecx, [esi+0C0h]
test	ecx, ecx
jz	short loc_101CD4F
push	ebx
lea	eax, [ebp+var_10]
push	eax
call	sub_100CDBF
mov	ecx, [esi+0C0h]
test	ecx, ecx
mov	ebx, eax
jz	short loc_101CD0E
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_101CD0E:
and	dword ptr [esi+0C0h], 0
push	edi
call	sub_100C004
mov	ecx, eax
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
mov	edi, eax
test	edi, edi
jz	short loc_101CD4D
push	offset off_1004900
mov	ecx, edi
call	?IsKindOf@CObject@@QBEHPBUCRuntimeClass@@@Z ; CObject::IsKindOf(CRuntimeClass const *)
test	eax, eax
jz	short loc_101CD4D
test	ebx, ebx
jnz	short loc_101CD4D
lea	eax, [ebp+var_10]
push	eax
push	dword ptr [esi+0C4h]
mov	ecx, edi
call	nullsub_1

loc_101CD4D:
pop	edi
pop	ebx

loc_101CD4F:
pop	esi
leave
retn	8
sub_101CCD7 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101CD59 proc near

var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
and	[ebp+var_4], 0
add	ecx, 33Ch
push	ecx
mov	ecx, [ebp+arg_0]
call	??0CString@@QAE@ABV0@@Z	; CString::CString(CString const &)
mov	eax, [ebp+arg_0]
leave
retn	4
sub_101CD59 endp

db 5 dup(0CCh)
mov	eax, ds:?classCOleServerDoc@COleServerDoc@@2UCRuntimeClass@@B ;	CRuntimeClass const COleServerDoc::classCOleServerDoc
retn
db 5 dup(0CCh)

loc_101CD89:
mov	eax, offset off_1003F60
retn
db 5 dup(0CCh)

loc_101CD94:		; AFX_MSGMAP const COleServerDoc::messageMap
mov	eax, ds:?messageMap@COleServerDoc@@1UAFX_MSGMAP@@B
retn
db 5 dup(0CCh)



sub_101CD9F proc near
mov	eax, offset off_1003FF0
retn
sub_101CD9F endp

db 5 dup(0CCh)
mov	eax, ds:?interfaceMap@COleServerDoc@@1UAFX_INTERFACEMAP@@B ; AFX_INTERFACEMAP const COleServerDoc::interfaceMap
retn
db 5 dup(0CCh)



sub_101CDB5 proc near
mov	eax, 1004008h
retn
sub_101CDB5 endp

align 10h



sub_101CDC0 proc near
mov	eax, offset loc_103625C
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_100406C
mov	ecx, [esi+0ECh]
xor	eax, eax
inc	eax
test	ecx, ecx
mov	[ebp-4], eax
jz	short loc_101CDED
mov	edx, [ecx]
push	eax
call	dword ptr [edx+4]

loc_101CDED:
lea	ecx, [esi+0F4h]
mov	byte ptr [ebp-4], 0
call	??1CString@@QAE@XZ ; CString::~CString(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	??1COleServerDoc@@UAE@XZ ; COleServerDoc::~COleServerDoc(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_101CDC0 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101CE19 proc near
mov	edi, edi
push	ebp
mov	ebp, esp
lea	eax, [ecx+110h]
cmp	dword ptr [eax], 0
jz	short loc_101CE30
and	dword ptr [eax], 0
pop	ebp
retn	10h

loc_101CE30:
pop	ebp
jmp	?ReportSaveLoadException@COleLinkingDoc@@UAEXPBGPAVCException@@HI@Z ; COleLinkingDoc::ReportSaveLoadException(ushort const *,CException	*,int,uint)
sub_101CE19 endp

db 5 dup(0CCh)
; [00000005 BYTES: COLLAPSED FUNCTION COleServerDoc::SaveModified(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101CE45 proc near

arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, [ebp+arg_4]
mov	esi, offset stru_1004708
movsd
movsd
movsd
movsd
pop	edi
xor	eax, eax
pop	esi
pop	ebp
retn	8
sub_101CE45 endp

db 5 dup(0CCh)



sub_101CE65 proc near
mov	edi, edi
push	esi
mov	esi, ecx
mov	eax, [esi]
call	dword ptr [eax+60h]
test	eax, eax
jnz	short loc_101CE7B
cmp	[esi+104h], eax
jz	short loc_101CE82

loc_101CE7B:
mov	ecx, esi
call	?OnFileSave@CDocument@@IAEXXZ ;	CDocument::OnFileSave(void)

loc_101CE82:
xor	eax, eax
inc	eax
pop	esi
retn
sub_101CE65 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101CE8C proc near

var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	esi
mov	esi, ecx
mov	eax, [esi]
push	edi
call	dword ptr [eax+68h]
lea	ecx, [ebp+var_4]
mov	[ebp+var_4], eax
mov	eax, [esi]
push	ecx
mov	ecx, esi
call	dword ptr [eax+6Ch]
cmp	[ebp+arg_4], 0
mov	edi, eax
mov	ecx, edi
jz	short loc_101CECE
call	sub_10217D1
mov	eax, [edi+44h]
test	eax, eax
jz	short loc_101CED3
cmp	dword ptr [eax+48h], 1
jle	short loc_101CED3
mov	ecx, edi
call	sub_10228EB
jmp	short loc_101CED3

loc_101CECE:
call	sub_10228C1

loc_101CED3:
mov	ecx, off_103D74C
cmp	dword ptr [ecx+30h], 26Eh
jnz	short loc_101CEEA
push	[ebp+arg_4]
mov	eax, [ecx]
call	dword ptr [eax+68h]

loc_101CEEA:
push	[ebp+arg_4]
mov	ecx, esi
push	[ebp+arg_0]
call	?OnShowControlBars@COleServerDoc@@MAEXPAVCFrameWnd@@H@Z	; COleServerDoc::OnShowControlBars(CFrameWnd *,int)
pop	edi
pop	esi
leave
retn	8
sub_101CE8C endp

db 5 dup(0CCh)



sub_101CF02 proc near
mov	edi, edi
push	esi
push	edi
mov	esi, ecx
xor	edi, edi
cmp	esi, edi
jz	short loc_101CF53
call	?GetStyle@CWnd@@QBEKXZ ; CWnd::GetStyle(void)
mov	ecx, [esi+64h]
and	eax, 10000000h
xor	edx, edx
test	cl, 1
jz	short loc_101CF2D
cmp	eax, edi
jz	short loc_101CF2D
mov	edx, 80h
jmp	short loc_101CF39

loc_101CF2D:
test	cl, 2
jz	short loc_101CF39
cmp	eax, edi
jnz	short loc_101CF39
push	40h
pop	edx

loc_101CF39:
and	ecx, 0FFFFFFFCh
cmp	edx, edi
mov	[esi+64h], ecx
jz	short loc_101CF53
or	edx, 17h
push	edx
push	edi
push	edi
push	edi
push	edi
push	edi
mov	ecx, esi
call	?SetWindowPos@CWnd@@QAEHPBV1@HHHHI@Z ; CWnd::SetWindowPos(CWnd const *,int,int,int,int,uint)

loc_101CF53:
pop	edi
pop	esi
retn
sub_101CF02 endp

db 5 dup(0CCh)



sub_101CF5B proc near
test	ecx, ecx
jz	short locret_101CF76
push	esi
mov	esi, [ecx+74h]
jmp	short loc_101CF71

loc_101CF65:
mov	eax, esi
mov	ecx, [eax+8]
mov	esi, [esi]
call	sub_101CF02

loc_101CF71:
test	esi, esi
jnz	short loc_101CF65
pop	esi

locret_101CF76:
retn
sub_101CF5B endp

db 5 dup(0CCh)



sub_101CF7C proc near
mov	edi, edi
push	esi
mov	esi, ecx
test	esi, esi
jz	short loc_101CF9C
mov	ecx, [esi+0E0h]
call	sub_101CF5B
mov	ecx, [esi+0E4h]
pop	esi
jmp	sub_101CF5B

loc_101CF9C:
pop	esi
retn
sub_101CF7C endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101CFA3 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
push	[ebp+arg_0]
mov	esi, ecx
call	?OnDeactivateUI@COleServerDoc@@UAEXH@Z ; COleServerDoc::OnDeactivateUI(int)
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+68h]
lea	ecx, [ebp+arg_0]
mov	[ebp+arg_0], eax
mov	eax, [esi]
push	ecx
mov	ecx, esi
call	dword ptr [eax+6Ch]
push	0
mov	edi, eax
call	sub_101F443
test	edi, edi
jz	short loc_101CFE8
mov	ecx, edi
call	sub_10228C1
mov	ecx, [esi+0C4h]
call	sub_101CF7C

loc_101CFE8:
pop	edi
pop	esi
pop	ebp
retn	4
sub_101CFA3 endp

db 5 dup(0CCh)



sub_101CFF3 proc near
mov	eax, offset loc_1036273
call	sub_1034E18
sub	esp, 10h
push	ebx
push	esi
push	edi
mov	esi, ecx
lea	ecx, [ebp-1Ch]
mov	[ebp-10h], esp
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
and	dword ptr [ebp-4], 0
mov	ecx, esi
mov	byte ptr [ebp-4], 1
call	?SaveEmbedding@COleServerDoc@@QAEXXZ ; COleServerDoc::SaveEmbedding(void)
xor	esi, esi
inc	esi
jmp	short loc_101D040
mov	eax, [ebp-14h]
push	0FFFFFFFFh	; unsigned int
push	0		; unsigned int
push	0F188h		; unsigned int
mov	[ebp-18h], eax
call	?AfxMessageBox@@YGHIII@Z ; AfxMessageBox(uint,uint,uint)
mov	eax, offset loc_101D03E
retn

loc_101D03E:
xor	esi, esi

loc_101D040:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
mov	ecx, [ebp-0Ch]
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn
sub_101CFF3 endp

db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	0
mov	esi, ecx
call	sub_101F443
mov	ecx, esi
pop	esi
jmp	loc_1034044
align 8


; Attributes: bp-based frame

; int __stdcall	sub_101D078(int, wchar_t *Str2)
sub_101D078 proc near

arg_0= dword ptr  8
Str2= dword ptr	 0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+Str2]	; Str2
mov	ecx, [ebp+arg_0]
call	sub_10118B9
neg	eax
sbb	eax, eax
neg	eax
pop	ebp
retn	8
sub_101D078 endp

db 5 dup(0CCh)

loc_101D097:
mov	eax, [ecx+4]
mov	ecx, [ecx]
mov	[eax+4], ecx
retn
db 5 dup(0CCh)



sub_101D0A5 proc near
mov	eax, [ecx+48h]
retn
sub_101D0A5 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101D0AE proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	[ecx+48h], eax
pop	ebp
retn	4
sub_101D0AE endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_101CDC0
test	byte ptr [ebp+8], 1
jz	short loc_101D0DC
push	esi
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_101D0DC:
mov	eax, esi
pop	esi
pop	ebp
retn	4
align 8



sub_101D0E8 proc near
mov	eax, offset loc_103628A
call	sub_1034E18
push	esi
mov	esi, ecx
lea	ecx, [ebp+8]
call	sub_100ACBA
push	dword ptr [ebp+8] ; hMem
mov	ecx, [esi+0ECh]
and	dword ptr [ebp-4], 0
call	sub_100A8AC
test	eax, eax
jz	short loc_101D178
mov	ecx, [esi+0ECh]
push	esi
call	sub_100A975
push	dword ptr [ebp+8] ; hMem
call	ds:GlobalLock
test	eax, eax
jz	short loc_101D14E
cmp	word ptr [eax+0Eh], 1
jnz	short loc_101D145
mov	ecx, [esi+0ECh]
push	1
push	15Ch
call	sub_100BBF9

loc_101D145:		; hMem
push	dword ptr [ebp+8]
call	ds:GlobalUnlock

loc_101D14E:
mov	ecx, [esi+0ECh]
push	1
call	sub_100A3E3
mov	eax, [esi]
push	1
mov	ecx, esi
call	dword ptr [eax+64h]
cmp	dword_103EF40, 0
jz	short loc_101D178
push	1
push	0
mov	ecx, esi
call	?NotifyAllItems@COleServerDoc@@IAEXW4OLE_NOTIFICATION@@K@Z ; COleServerDoc::NotifyAllItems(OLE_NOTIFICATION,ulong)

loc_101D178:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	ecx, [eax+4]
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	4
sub_101D0E8 endp

db 5 dup(0CCh)



sub_101D19D proc near
mov	eax, offset loc_10362A5
call	sub_1034E18
sub	esp, 25Ch
test	byte ptr [ebp+0Dh], 10h
mov	eax, ___security_cookie
push	ebx
mov	ebx, [ebp+8]
push	esi
mov	[ebp-10h], eax
mov	eax, [ebp+10h]
push	edi
mov	esi, ecx
mov	[ebp-264h], eax
mov	edi, 2000h
jz	short loc_101D1DB
test	[ebp+0Ch], edi
jnz	short loc_101D1DB
xor	eax, eax
inc	eax
jmp	short loc_101D1DD

loc_101D1DB:
xor	eax, eax

loc_101D1DD:
test	eax, eax
mov	[esi+10Ch], eax
jz	short loc_101D1EA
or	[ebp+0Ch], edi

loc_101D1EA:
test	byte ptr [ebp+0Ch], 3
jz	short loc_101D21E
lea	eax, [ebp-260h]
push	eax		; lpFindFileData
push	ebx		; lpFileName
call	ds:FindFirstFileW
cmp	eax, 0FFFFFFFFh
jz	short loc_101D212
push	eax		; hFindFile
mov	[esi+114h], edi
call	ds:FindClose
jmp	short loc_101D225

loc_101D212:
mov	dword ptr [esi+114h], 2
jmp	short loc_101D225

loc_101D21E:
and	dword ptr [esi+114h], 0

loc_101D225:		; unsigned int
push	10h
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	[ebp-268h], eax
and	dword ptr [ebp-4], 0
test	eax, eax
jz	short loc_101D246
mov	ecx, eax
call	??0CFile@@QAE@XZ ; CFile::CFile(void)
mov	esi, eax
jmp	short loc_101D248

loc_101D246:
xor	esi, esi

loc_101D248:
push	dword ptr [ebp-264h]
mov	eax, [esi]
push	dword ptr [ebp+0Ch]
or	dword ptr [ebp-4], 0FFFFFFFFh
push	ebx
mov	ecx, esi
call	dword ptr [eax+28h]
test	eax, eax
jnz	short loc_101D26C
mov	eax, [esi]
push	1
mov	ecx, esi
call	dword ptr [eax+4]
xor	esi, esi

loc_101D26C:
mov	ecx, [ebp-0Ch]
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
mov	ecx, [ebp-10h]
pop	ebx
call	sub_1032F53
leave
retn	0Ch
sub_101D19D endp

db 5 dup(0CCh)



sub_101D28C proc near
mov	eax, offset loc_10362BC
call	sub_1034E18
push	esi
mov	esi, ecx
cmp	dword ptr [esi+10Ch], 0
push	edi
mov	edi, [ebp+8]
jz	short loc_101D2AF
push	dword ptr [edi+4] ; hFile
call	ds:SetEndOfFile

loc_101D2AF:
mov	eax, [edi]
lea	ecx, [ebp+8]
push	ecx
mov	ecx, edi
call	dword ptr [eax+20h]
push	dword ptr [ebp+0Ch]
and	dword ptr [ebp-4], 0
push	edi
mov	ecx, esi
call	?ReleaseFile@CDocument@@UAEXPAVCFile@@H@Z ; CDocument::ReleaseFile(CFile *,int)
mov	esi, [esi+114h]
test	esi, esi
jz	short loc_101D2E1
push	0		; dwItem2
push	dword ptr [ebp+8] ; dwItem1
push	5		; uFlags
push	esi		; wEventId
call	ds:SHChangeNotify

loc_101D2E1:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp+8]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn	8
sub_101D28C endp

db 5 dup(0CCh)



sub_101D302 proc near
mov	eax, offset loc_10362F3
call	sub_1034E18
sub	esp, 18h
push	ebx
push	esi
push	edi
mov	[ebp-10h], esp
xor	esi, esi
push	esi
mov	ebx, ecx
call	sub_101F443
cmp	[ebx+104h], esi
jz	short loc_101D337
push	esi
push	offset unk_103F108
call	sub_1030649
test	eax, eax
jnz	short loc_101D337
inc	esi

loc_101D337:
mov	eax, [ebx+0ECh]
mov	eax, [eax+10h]
push	dword ptr [ebp+8]
lea	ecx, [ebp-18h]
mov	[ebp-1Ch], eax
mov	edi, eax
call	??0CString@@QAE@PBG@Z ;	CString::CString(ushort	const *)
and	dword ptr [ebp-4], 0
test	esi, esi
jnz	short loc_101D364
mov	eax, [ebp-18h]
cmp	[eax-8], esi
jnz	loc_101D4FF

loc_101D364:
mov	esi, [ebx+28h]
lea	eax, [ebx+24h]
push	eax
lea	ecx, [ebp-18h]
call	??4CString@@QAEABV0@ABV0@@Z ; CString::operator=(CString const &)
cmp	dword ptr [ebp+0Ch], 0
jz	short loc_101D3E7
mov	eax, [ebp-18h]
cmp	dword ptr [eax-8], 0
jnz	short loc_101D3E7
lea	eax, [ebx+20h]
push	eax
lea	ecx, [ebp-18h]
call	??4CString@@QAEABV0@ABV0@@Z ; CString::operator=(CString const &)
push	offset asc_10041B4 ; "#%;/\\"
lea	ecx, [ebp-18h]
call	?FindOneOf@CString@@QBEHPBG@Z ;	CString::FindOneOf(ushort const	*)
cmp	eax, 0FFFFFFFFh
jz	short loc_101D3A9
push	eax
lea	ecx, [ebp-18h]
call	?ReleaseBuffer@CString@@QAEXH@Z	; CString::ReleaseBuffer(int)

loc_101D3A9:
lea	ecx, [ebp-20h]
call	??0CString@@QAE@XZ ; CString::CString(void)
mov	eax, [esi]
push	4
lea	ecx, [ebp-20h]
push	ecx
mov	ecx, esi
mov	byte ptr [ebp-4], 1
call	dword ptr [eax+6Ch]
test	eax, eax
jz	short loc_101D3DB
mov	eax, [ebp-20h]
cmp	dword ptr [eax-8], 0
jz	short loc_101D3DB
lea	eax, [ebp-20h]
push	eax
lea	ecx, [ebp-18h]
call	??YCString@@QAEABV0@ABV0@@Z ; CString::operator+=(CString const	&)

loc_101D3DB:
lea	ecx, [ebp-20h]
mov	byte ptr [ebp-4], 0
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_101D3E7:		; FullPath
push	dword ptr [ebp-18h]
lea	eax, [ebp-20h]
push	eax		; int
call	sub_100D095
push	offset Text	; Str2
push	eax		; int
call	sub_101D078
lea	ecx, [ebp-20h]
mov	[ebp-11h], al
call	??1CString@@QAE@XZ ; CString::~CString(void)
cmp	byte ptr [ebp-11h], 0
jz	short loc_101D434
push	dword ptr [ebp-18h] ; FullPath
lea	eax, [ebp-20h]
push	eax		; int
call	sub_100CFB9
push	eax
lea	ecx, [ebp-18h]
mov	byte ptr [ebp-4], 2
call	??4CString@@QAEABV0@ABV0@@Z ; CString::operator=(CString const &)
lea	ecx, [ebp-20h]
mov	byte ptr [ebp-4], 0
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_101D434:
xor	esi, esi
push	esi
lea	eax, [ebp-1Ch]
push	eax
mov	eax, [ebp+0Ch]
neg	eax
sbb	eax, eax
push	esi
and	eax, 0FFFFFFFDh
push	804h
add	eax, 0F004h
push	eax
lea	eax, [ebp-18h]
push	eax
mov	ecx, offset unk_103EE08
call	sub_101FC53
test	eax, eax
jz	loc_101D5E5
cmp	edi, 4
mov	eax, [ebp-1Ch]
jge	short loc_101D473
cmp	eax, edi
jl	short loc_101D497

loc_101D473:
cmp	edi, 3
jnz	short loc_101D4B4
cmp	eax, 4
jl	short loc_101D4B9
lea	edi, [eax-4]
shl	edi, 4
add	edi, dword_103F104
push	4
pop	ecx
mov	esi, offset dword_1007518
xor	edx, edx
repe cmpsd
jnz	short loc_101D4B4

loc_101D497:		; unsigned int
push	0FFFFFFFFh
push	34h		; unsigned int
push	8F9h		; unsigned int
call	?AfxMessageBox@@YGHIII@Z ; AfxMessageBox(uint,uint,uint)
cmp	eax, 7
jnz	short loc_101D4B1

loc_101D4AA:
xor	esi, esi
jmp	loc_101D5E5

loc_101D4B1:
mov	eax, [ebp-1Ch]

loc_101D4B4:
cmp	eax, 4
jge	short loc_101D4DB

loc_101D4B9:
test	eax, eax
jl	short loc_101D4DB
and	dword ptr [ebx+104h], 0
mov	ecx, [ebx+0ECh]
and	dword ptr [ebx+108h], 0
mov	[ecx+14h], eax
mov	esi, offset dword_1007588
jmp	short loc_101D4F6

loc_101D4DB:
xor	ecx, ecx
inc	ecx
lea	esi, [eax-4]
shl	esi, 4
mov	[ebx+104h], ecx
mov	[ebx+108h], ecx
add	esi, dword_103F104

loc_101D4F6:
mov	edi, offset unk_103F108
movsd
movsd
movsd
movsd

loc_101D4FF:
lea	ecx, [ebp+0Ch]
call	sub_100ACBA
mov	ecx, [ebx+0ECh]
mov	edx, [ebp-1Ch]
xor	eax, eax
cmp	edx, [ecx+10h]
mov	byte ptr [ebp-4], 3
setnz	al
xor	edi, edi
mov	esi, eax
cmp	esi, edi
jz	short loc_101D529
call	sub_100A42D

loc_101D529:
push	dword ptr [ebp-18h]
mov	eax, [ebx]
mov	ecx, ebx
call	dword ptr [eax+80h]
test	eax, eax
jnz	short loc_101D581
cmp	[ebp+8], edi
jnz	short loc_101D55F
lea	ecx, [ebp-24h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
push	dword ptr [ebp-18h]
mov	byte ptr [ebp-4], 5
call	?Remove@CFile@@SGXPBG@Z	; CFile::Remove(ushort const *)

loc_101D553:
mov	dword ptr [ebp-4], 3
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)

loc_101D55F:
mov	byte ptr [ebp-4], 0
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	ecx, [eax+4]
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
jmp	loc_101D4AA
mov	eax, [ebp+8]
mov	[ebp-20h], eax
mov	eax, offset loc_101D553
retn

loc_101D581:
cmp	esi, edi
jz	short loc_101D5AD
mov	ecx, [ebx+0ECh]
push	ebx
call	sub_100A975
mov	eax, [ebp-1Ch]
mov	ecx, dword_103E768
dec	eax
neg	eax
sbb	eax, eax
and	eax, 0F0h
add	eax, 10h
push	eax
call	sub_100C9A4

loc_101D5AD:
cmp	[ebp+0Ch], edi
jz	short loc_101D5BE
mov	eax, [ebx]
push	1
push	dword ptr [ebp-18h]
mov	ecx, ebx
call	dword ptr [eax+5Ch]

loc_101D5BE:
cmp	[ebp+8], edi
jnz	short loc_101D5D1
cmp	[ebp+0Ch], edi
jnz	short loc_101D5D1
mov	eax, [ebx]
push	1
mov	ecx, ebx
call	dword ptr [eax+64h]

loc_101D5D1:
mov	byte ptr [ebp-4], 0
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	ecx, [eax+4]
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
xor	esi, esi
inc	esi

loc_101D5E5:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-18h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	8
sub_101D302 endp

db 5 dup(0CCh)



sub_101D609 proc near
mov	eax, offset loc_103630B
call	sub_1034E18
push	ecx
push	esi
push	80h		; unsigned int
mov	esi, ecx
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-10h], ecx
xor	eax, eax
cmp	ecx, eax
mov	[ebp-4], eax
jz	short loc_101D637
push	eax
push	esi
call	sub_1025209

loc_101D637:
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_101D609 endp

db 5 dup(0CCh)



sub_101D649 proc near
mov	eax, offset loc_1036323
call	sub_1034E18
push	esi
push	dword ptr [ebp+8]
mov	esi, ecx
call	?OnGetLinkedItem@COleServerDoc@@UAEPAVCOleServerItem@@PBG@Z ; COleServerDoc::OnGetLinkedItem(ushort const *)
test	eax, eax
jnz	short loc_101D686
push	80h		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp+8], ecx
and	dword ptr [ebp-4], 0
test	ecx, ecx
jz	short loc_101D684
push	0
push	esi
call	sub_1025209
jmp	short loc_101D686

loc_101D684:
xor	eax, eax

loc_101D686:
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	4
sub_101D649 endp

db 5 dup(0CCh)



sub_101D69A proc near
mov	eax, offset loc_1036342
call	sub_1034E18
sub	esp, 18h
push	ebx
mov	ebx, [ebp+8]
mov	eax, [ebx+14h]
push	esi
push	edi
mov	edi, ecx
xor	ecx, ecx
not	eax
test	al, 1
mov	[ebp-10h], ecx
jz	loc_101D79A
mov	eax, [ebp+14h]
neg	eax
sbb	eax, eax
and	eax, 3
cmp	[edi+108h], ecx
jnz	short loc_101D6E8
mov	ebx, [ebx+20h]
mov	ecx, [ebp+0Ch]
push	eax
push	ebx
call	sub_100ADAA
mov	[ebp-10h], eax
jmp	loc_101D84F

loc_101D6E8:
cmp	[ebp+14h], ecx
jnz	loc_101D84F
push	4
pop	ecx
mov	edi, offset dword_1007588
mov	esi, offset unk_103F108
xor	eax, eax
repe cmpsd
jz	loc_101D84F
mov	ecx, [ebx+20h]
mov	eax, [ecx]
lea	edx, [ebp+14h]
push	edx
call	dword ptr [eax+20h]
mov	ecx, [ebx+20h]
mov	eax, [ecx]
xor	esi, esi
mov	[ebp-4], esi
call	dword ptr [eax+54h]
mov	eax, [ebp+0Ch]
lea	ecx, [eax+3Ch]
push	ecx		; int
lea	ecx, [eax+38h]
push	ecx		; int
lea	ecx, [eax+34h]
push	ecx		; int
push	eax		; int
push	offset unk_103F108 ; int
push	dword ptr [ebp+14h] ; lpString
call	sub_1030C7C
cmp	eax, esi
mov	[ebp-10h], eax
jnz	short loc_101D75A
push	esi
push	405h
push	83Eh
mov	ecx, offset unk_103EE08
call	sub_101F370

loc_101D75A:
push	esi
push	0FFFFFFFFh
push	esi
lea	ecx, [ebp-24h]
call	sub_100AA02
mov	ebx, [ebx+20h]
mov	eax, [ebx]
lea	ecx, [ebp-24h]
push	ecx
push	10h
push	dword ptr [ebp+14h]
mov	ecx, ebx
mov	byte ptr [ebp-4], 1
call	dword ptr [eax+28h]
lea	ecx, [ebp-24h]
mov	byte ptr [ebp-4], 0
call	sub_100AA5E
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp+14h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
jmp	loc_101D84F

loc_101D79A:
cmp	[ebp+14h], ecx
jnz	short loc_101D7A3
xor	eax, eax
jmp	short loc_101D7B0

loc_101D7A3:
mov	eax, [edi+100h]
neg	eax
sbb	eax, eax
add	eax, 3

loc_101D7B0:
mov	ebx, [ebx+20h]
mov	esi, [ebp+10h]
push	eax
push	ebx
mov	ecx, esi
call	sub_100A743
xor	ecx, ecx
cmp	eax, ecx
mov	[ebp-10h], eax
jz	short loc_101D7D6
mov	[edi+104h], ecx
mov	[edi+108h], ecx
jmp	short loc_101D84F

loc_101D7D6:
cmp	[ebp+14h], ecx
jnz	short loc_101D84F
lea	eax, [ebp+0Ch]
mov	ebx, offset unk_103EE08
push	eax
mov	ecx, ebx
call	sub_101CD59
mov	eax, [eax]
lea	ecx, [esi+3Ch]
push	ecx		; int
lea	ecx, [esi+38h]
push	ecx		; int
lea	ecx, [esi+34h]
push	ecx		; int
push	offset unk_103F108 ; int
push	eax		; lpString
call	sub_10307FD
lea	ecx, [ebp+0Ch]
mov	[ebp+14h], eax
call	??1CString@@QAE@XZ ; CString::~CString(void)
cmp	dword ptr [ebp+14h], 0
jz	short loc_101D83C
push	dword ptr [ebp+14h] ; hMem
mov	ecx, esi
call	sub_100A8AC
xor	ecx, ecx
cmp	eax, ecx
mov	[ebp-10h], eax
jz	short loc_101D84F
push	ecx
xor	eax, eax
inc	eax
push	ecx
mov	[edi+104h], eax
mov	[edi+108h], eax
push	ecx
jmp	short loc_101D848

loc_101D83C:
push	0
push	3F4h
push	804h

loc_101D848:
mov	ecx, ebx
call	sub_101F370

loc_101D84F:
mov	ecx, [ebp-0Ch]
mov	eax, [ebp-10h]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	10h
sub_101D69A endp

align 8


; Attributes: bp-based frame

sub_101D868 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	0
mov	esi, ecx
push	dword ptr [esi+0F0h]
push	dword ptr [esi+0ECh]
push	[ebp+arg_0]
call	sub_101D69A
test	eax, eax
mov	[esi+0FCh], eax
jnz	short loc_101D8AF
mov	ecx, offset unk_103EE08
call	sub_101F239
push	0		; unsigned __int16 *
push	0FFFFFFFFh	; __int32
push	6		; int
mov	dword ptr [esi+110h], 1
call	?AfxThrowFileException@@YGXHJPBG@Z ; AfxThrowFileException(int,long,ushort const *)

loc_101D8AF:
pop	esi
pop	ebp
retn	4
sub_101D868 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101D8B9 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	1
mov	esi, ecx
push	dword ptr [esi+0F0h]
push	dword ptr [esi+0ECh]
push	[ebp+arg_0]
call	sub_101D69A
test	eax, eax
mov	[esi+0FCh], eax
pop	esi
jnz	short loc_101D8EC
push	eax		; unsigned __int16 *
push	0FFFFFFFFh	; __int32
push	6		; int
call	?AfxThrowFileException@@YGXHJPBG@Z ; AfxThrowFileException(int,long,ushort const *)

loc_101D8EC:
pop	ebp
retn	4
sub_101D8B9 endp

db 5 dup(0CCh)

loc_101D8F5:
mov	eax, offset loc_1036359
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, [ebp+8]
push	dword ptr [esi-0FCh]
add	esi, 0FFFFFEE8h
lea	ecx, [ebp-14h]
call	??0AFX_MAINTAIN_STATE2@@QAE@PAVAFX_MODULE_STATE@@@Z ; AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE	*)
push	dword ptr [ebp+10h]
and	dword ptr [ebp-4], 0
push	dword ptr [ebp+0Ch]
mov	ecx, esi
call	?ExternalQueryInterface@CCmdTarget@@QAEKPBXPAPAX@Z ; CCmdTarget::ExternalQueryInterface(void const *,void * *)
mov	ecx, [ebp-10h]
mov	edx, [ebp-14h]
mov	[ecx+4], edx
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	0Ch
db 5 dup(0CCh)

loc_101D947:
mov	eax, offset loc_1036359
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, [ebp+8]
push	dword ptr [esi-0FCh]
add	esi, 0FFFFFEE8h
lea	ecx, [ebp-14h]
call	??0AFX_MAINTAIN_STATE2@@QAE@PAVAFX_MODULE_STATE@@@Z ; AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE	*)
and	dword ptr [ebp-4], 0
mov	ecx, esi
call	?ExternalAddRef@CCmdTarget@@QAEKXZ ; CCmdTarget::ExternalAddRef(void)
mov	ecx, [ebp-10h]
mov	edx, [ebp-14h]
mov	[ecx+4], edx
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	4
db 5 dup(0CCh)

loc_101D993:
mov	eax, offset loc_1036359
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, [ebp+8]
push	dword ptr [esi-0FCh]
add	esi, 0FFFFFEE8h
lea	ecx, [ebp-14h]
call	??0AFX_MAINTAIN_STATE2@@QAE@PAVAFX_MODULE_STATE@@@Z ; AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE	*)
and	dword ptr [ebp-4], 0
mov	ecx, esi
call	?ExternalRelease@CCmdTarget@@QAEKXZ ; CCmdTarget::ExternalRelease(void)
mov	ecx, [ebp-10h]
mov	edx, [ebp-14h]
mov	[ecx+4], edx
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	4
db 5 dup(0CCh)



sub_101D9DF proc near
mov	eax, offset loc_1036359
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, [ebp+8]
push	dword ptr [esi-0FCh]
lea	ecx, [ebp-14h]
call	??0AFX_MAINTAIN_STATE2@@QAE@PAVAFX_MODULE_STATE@@@Z ; AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE	*)
and	dword ptr [ebp-4], 0
lea	eax, [esi-40h]
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+10h]
mov	ecx, [ebp-10h]
mov	edx, [ebp-14h]
mov	[ecx+4], edx
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	4
sub_101D9DF endp

db 5 dup(0CCh)



sub_101DA27 proc near
mov	eax, offset loc_1036359
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, [ebp+8]
push	dword ptr [esi-0FCh]
lea	ecx, [ebp-14h]
call	??0AFX_MAINTAIN_STATE2@@QAE@PAVAFX_MODULE_STATE@@@Z ; AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE	*)
push	dword ptr [ebp+0Ch]
and	dword ptr [ebp-4], 0
lea	eax, [esi-40h]
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+14h]
mov	ecx, [ebp-10h]
mov	edx, [ebp-14h]
mov	[ecx+4], edx
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	8
sub_101DA27 endp

db 5 dup(0CCh)



sub_101DA72 proc near
mov	eax, offset loc_1036359
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, [ebp+8]
push	dword ptr [esi-0FCh]
lea	ecx, [ebp-14h]
call	??0AFX_MAINTAIN_STATE2@@QAE@PAVAFX_MODULE_STATE@@@Z ; AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE	*)
push	dword ptr [ebp+0Ch]
and	dword ptr [ebp-4], 0
lea	eax, [esi-40h]
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+18h]
mov	ecx, [ebp-10h]
mov	edx, [ebp-14h]
mov	[ecx+4], edx
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	8
sub_101DA72 endp

db 5 dup(0CCh)



sub_101DABD proc near
mov	eax, offset loc_1036359
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, [ebp+8]
push	dword ptr [esi-0FCh]
lea	ecx, [ebp-14h]
call	??0AFX_MAINTAIN_STATE2@@QAE@PAVAFX_MODULE_STATE@@@Z ; AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE	*)
push	dword ptr [ebp+10h]
and	dword ptr [ebp-4], 0
push	dword ptr [ebp+0Ch]
lea	eax, [esi-40h]
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+1Ch]
mov	ecx, [ebp-10h]
mov	edx, [ebp-14h]
mov	[ecx+4], edx
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	0Ch
sub_101DABD endp

db 5 dup(0CCh)



sub_101DB0B proc near
mov	eax, offset loc_1036359
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, [ebp+8]
push	dword ptr [esi-0FCh]
lea	ecx, [ebp-14h]
call	??0AFX_MAINTAIN_STATE2@@QAE@PAVAFX_MODULE_STATE@@@Z ; AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE	*)
push	dword ptr [ebp+0Ch]
and	dword ptr [ebp-4], 0
lea	eax, [esi-40h]
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+20h]
mov	ecx, [ebp-10h]
mov	edx, [ebp-14h]
mov	[ecx+4], edx
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	8
sub_101DB0B endp

db 5 dup(0CCh)



sub_101DB56 proc near
mov	eax, offset loc_1036359
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, [ebp+8]
push	dword ptr [esi-0FCh]
lea	ecx, [ebp-14h]
call	??0AFX_MAINTAIN_STATE2@@QAE@PAVAFX_MODULE_STATE@@@Z ; AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE	*)
and	dword ptr [ebp-4], 0
lea	eax, [esi-40h]
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+24h]
mov	ecx, [ebp-10h]
mov	edx, [ebp-14h]
mov	[ecx+4], edx
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	4
sub_101DB56 endp

db 5 dup(0CCh)



sub_101DB9E proc near
mov	eax, offset loc_1036393
call	sub_1034E18
sub	esp, 8Ch
push	ebx
push	esi
push	edi
mov	esi, ecx
mov	[ebp-10h], esp
xor	ebx, ebx
push	ebx
lea	ecx, [ebp-34h]
mov	[ebp-1Ch], esi
call	??0COleStreamFile@@QAE@PAUIStream@@@Z ;	COleStreamFile::COleStreamFile(IStream *)
push	ebx
push	0FFFFFFFFh
push	ebx
lea	ecx, [ebp-48h]
mov	[ebp-4], ebx
call	sub_100AA02
lea	eax, [ebp-48h]
push	eax
mov	edi, 1011h
push	edi
push	1004010h
push	dword ptr [esi+7Ch]
lea	ecx, [ebp-34h]
mov	byte ptr [ebp-4], 1
call	?CreateStream@COleStreamFile@@QAEHPAUIStorage@@PBGKPAVCFileException@@@Z ; COleStreamFile::CreateStream(IStorage *,ushort const	*,ulong,CFileException *)
test	eax, eax
jnz	short loc_101DC01
push	ebx		; unsigned __int16 *
push	dword ptr [ebp-3Ch] ; __int32
push	dword ptr [ebp-40h] ; int
call	?AfxThrowFileException@@YGXHJPBG@Z ; AfxThrowFileException(int,long,ushort const *)

loc_101DC01:
push	ebx
push	1000h
push	2
lea	eax, [ebp-34h]
push	eax
lea	ecx, [ebp-98h]
call	??0CArchive@@QAE@PAVCFile@@IHPAX@Z ; CArchive::CArchive(CFile *,uint,int,void *)
lea	ecx, [ebp-54h]
mov	byte ptr [ebp-4], 2
mov	[ebp-98h], esi
mov	[ebp-94h], ebx
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
mov	ecx, [ebp+8]
cmp	ecx, ebx
mov	byte ptr [ebp-4], 4
jz	short loc_101DC49
mov	eax, [ecx]
lea	edx, [ebp-98h]
push	edx
call	dword ptr [eax+8]
jmp	short loc_101DC57

loc_101DC49:
lea	eax, [ebp-98h]
push	eax
mov	ecx, esi
call	sub_101D8B9

loc_101DC57:
lea	ecx, [ebp-98h]
call	?Close@CArchive@@QAEXXZ	; CArchive::Close(void)
lea	ecx, [ebp-34h]
call	?Close@COleStreamFile@@UAEXXZ ;	COleStreamFile::Close(void)
cmp	[ebp+8], ebx
jz	loc_101DCF6
lea	eax, [ebp-48h]
push	eax
push	edi
push	offset dword_100402C
push	dword ptr [esi+7Ch]
lea	ecx, [ebp-34h]
call	?CreateStream@COleStreamFile@@QAEHPAUIStorage@@PBGKPAVCFileException@@@Z ; COleStreamFile::CreateStream(IStorage *,ushort const	*,ulong,CFileException *)
cmp	eax, ebx
jz	short loc_101DCF6
mov	eax, [ebp+8]
add	eax, 34h
push	eax
lea	ecx, [ebp-18h]
call	??0CString@@QAE@ABV0@@Z	; CString::CString(CString const &)
mov	eax, [ebp-18h]
cmp	[eax-8], ebx
mov	byte ptr [ebp-4], 5
jnz	short loc_101DCB7
mov	dword ptr [ebp-14h], offset Text
mov	dword ptr [ebp+8], 1
jmp	short loc_101DCC5

loc_101DCB7:		; lpString
push	eax
mov	[ebp-14h], eax
call	ds:lstrlenW
inc	eax
mov	[ebp+8], eax

loc_101DCC5:
push	4
lea	eax, [ebp+8]
push	eax
lea	ecx, [ebp-34h]
call	?Write@COleStreamFile@@UAEXPBXI@Z ; COleStreamFile::Write(void const *,uint)
push	dword ptr [ebp+8]
lea	eax, [ebp-14h]
push	eax
lea	ecx, [ebp-34h]
call	?Write@COleStreamFile@@UAEXPBXI@Z ; COleStreamFile::Write(void const *,uint)
lea	ecx, [ebp-34h]
call	?Close@COleStreamFile@@UAEXXZ ;	COleStreamFile::Close(void)
lea	ecx, [ebp-18h]
mov	byte ptr [ebp-4], 4
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_101DCF6:		; rclsid
push	offset stru_1004708
push	dword ptr [esi+7Ch] ; pStg
call	ds:WriteClassStg
cmp	eax, ebx
jz	short loc_101DD0E
push	eax		; __int32
call	?AfxThrowOleException@@YGXJ@Z ;	AfxThrowOleException(long)

loc_101DD0E:		; "PBrush"
mov	eax, offset szFormat
push	eax		; lpszUserType
push	eax		; lpszFormat
call	ds:RegisterClipboardFormatW
push	eax		; cf
push	dword ptr [esi+7Ch] ; pstg
call	ds:WriteFmtUserTypeStg
cmp	eax, ebx
jz	short loc_101DD2F
push	eax		; __int32
call	?AfxThrowOleException@@YGXJ@Z ;	AfxThrowOleException(long)

loc_101DD2F:
mov	esi, [esi+7Ch]
mov	eax, [esi]
push	2
pop	edi
push	edi
push	esi
call	dword ptr [eax+24h]
cmp	eax, ebx
jz	short loc_101DD46
push	eax		; __int32
call	?AfxThrowOleException@@YGXJ@Z ;	AfxThrowOleException(long)

loc_101DD46:
mov	[ebp-4], edi
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
lea	ecx, [ebp-98h]
mov	byte ptr [ebp-4], 1
call	??1CArchive@@QAE@XZ ; CArchive::~CArchive(void)
lea	ecx, [ebp-48h]
mov	[ebp-4], bl
call	sub_100AA5E
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-34h]
call	??1COleStreamFile@@UAE@XZ ; COleStreamFile::~COleStreamFile(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	4
sub_101DB9E endp

mov	eax, [ebp-4Ch]
lea	ecx, [ebp-34h]
mov	[ebp-50h], eax
call	?Abort@COleStreamFile@@UAEXXZ ;	COleStreamFile::Abort(void)
mov	ecx, [ebp-1Ch]
xor	ebx, ebx
push	ebx
call	?CommitItems@COleDocument@@QAEXH@Z ; COleDocument::CommitItems(int)
lea	ecx, [ebp-98h]
call	?Abort@CArchive@@QAEXXZ	; CArchive::Abort(void)
call	?AfxThrowLastCleanup@@YGXXZ ; AfxThrowLastCleanup(void)
push	ebx
push	ebx
call	_CxxThrowException
db 6 dup(0CCh)



sub_101DDBB proc near
mov	eax, offset loc_10363C5
call	sub_1034E18
sub	esp, 84h
push	ebx
push	esi
push	edi
mov	esi, ecx
mov	[ebp-10h], esp
xor	ebx, ebx
push	ebx
lea	ecx, [ebp-4Ch]
mov	[ebp-14h], esi
call	??0COleStreamFile@@QAE@PAUIStream@@@Z ;	COleStreamFile::COleStreamFile(IStream *)
push	ebx
push	0FFFFFFFFh
push	ebx
lea	ecx, [ebp-34h]
mov	[ebp-4], ebx
call	sub_100AA02
lea	eax, [ebp-34h]
push	eax
push	12h
push	1004010h
push	dword ptr [esi+7Ch]
lea	ecx, [ebp-4Ch]
mov	byte ptr [ebp-4], 1
call	?OpenStream@COleStreamFile@@QAEHPAUIStorage@@PBGKPAVCFileException@@@Z ; COleStreamFile::OpenStream(IStorage *,ushort const *,ulong,CFileException *)
test	eax, eax
jz	short loc_101DE16
mov	[esi+100h], ebx
jmp	short loc_101DE48

loc_101DE16:
lea	eax, [ebp-34h]
push	eax
push	12h
push	offset aContents ; "Contents"
push	dword ptr [esi+7Ch]
lea	ecx, [ebp-4Ch]
call	?OpenStream@COleStreamFile@@QAEHPAUIStorage@@PBGKPAVCFileException@@@Z ; COleStreamFile::OpenStream(IStorage *,ushort const *,ulong,CFileException *)
test	eax, eax
jz	short loc_101DE3C
mov	dword ptr [esi+100h], 1
jmp	short loc_101DE48

loc_101DE3C:		; unsigned __int16 *
push	ebx
push	dword ptr [ebp-28h] ; __int32
push	dword ptr [ebp-2Ch] ; int
call	?AfxThrowFileException@@YGXHJPBG@Z ; AfxThrowFileException(int,long,ushort const *)

loc_101DE48:
push	ebx
push	1000h
push	3
lea	eax, [ebp-4Ch]
push	eax
lea	ecx, [ebp-90h]
call	??0CArchive@@QAE@PAVCFile@@IHPAX@Z ; CArchive::CArchive(CFile *,uint,int,void *)
lea	ecx, [ebp-20h]
mov	byte ptr [ebp-4], 2
mov	[ebp-90h], esi
mov	[ebp-8Ch], ebx
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
lea	eax, [ebp-90h]
push	eax
mov	ecx, esi
mov	byte ptr [ebp-4], 4
call	sub_101D8B9
lea	ecx, [ebp-90h]
call	?Close@CArchive@@QAEXXZ	; CArchive::Close(void)
lea	ecx, [ebp-4Ch]
call	?Close@COleStreamFile@@UAEXXZ ;	COleStreamFile::Close(void)
mov	dword ptr [ebp-4], 2
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
lea	ecx, [ebp-90h]
mov	byte ptr [ebp-4], 1
call	??1CArchive@@QAE@XZ ; CArchive::~CArchive(void)
lea	ecx, [ebp-34h]
mov	[ebp-4], bl
call	sub_100AA5E
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-4Ch]
call	??1COleStreamFile@@UAE@XZ ; COleStreamFile::~COleStreamFile(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn
sub_101DDBB endp

mov	eax, [ebp-18h]
lea	ecx, [ebp-4Ch]
mov	[ebp-1Ch], eax
call	?Abort@COleStreamFile@@UAEXXZ ;	COleStreamFile::Abort(void)
mov	ecx, [ebp-14h]
mov	eax, [ecx]
call	dword ptr [eax+74h]
lea	ecx, [ebp-90h]
call	?Abort@CArchive@@QAEXXZ	; CArchive::Abort(void)
call	?AfxThrowLastCleanup@@YGXXZ ; AfxThrowLastCleanup(void)
xor	ebx, ebx
push	ebx
push	ebx
call	_CxxThrowException
db 6 dup(0CCh)



sub_101DF12 proc near
mov	eax, offset loc_103630B
call	sub_1034E18
push	ecx
push	esi
push	edi
push	5Ch		; unsigned int
mov	edi, ecx
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-10h], ecx
and	dword ptr [ebp-4], 0
test	ecx, ecx
jz	short loc_101DF3F
call	sub_100AD13
mov	esi, eax
jmp	short loc_101DF41

loc_101DF3F:
xor	esi, esi

loc_101DF41:
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	sub_100A499
call	sub_100C004
test	eax, eax
jz	short loc_101DF65
mov	ecx, dword_103E768
push	100h
call	sub_100C9A4

loc_101DF65:
test	esi, esi
jnz	short loc_101DF6D
xor	eax, eax
jmp	short loc_101DF8D

loc_101DF6D:
mov	eax, [edi+0F8h]
mov	[edi+0F0h], esi
and	dword ptr [esi+24h], 0
mov	ecx, offset unk_103F3A0
mov	[esi+20h], eax
call	sub_102F937
xor	eax, eax
inc	eax

loc_101DF8D:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_101DF12 endp

align 10h


; Attributes: bp-based frame

sub_101DFA0 proc near

var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
mov	eax, off_103D74C
push	esi
push	edi
mov	edi, eax
test	edi, edi
mov	esi, ecx
jz	short loc_101DFDB
cmp	dword ptr [eax+30h], 26Eh
jnz	short loc_101DFDB
mov	eax, [esi]
call	dword ptr [eax+68h]
lea	ecx, [ebp+var_4]
mov	[ebp+var_4], eax
mov	eax, [esi]
push	ecx
mov	ecx, esi
call	dword ptr [eax+6Ch]
push	dword ptr [eax+44h]
mov	ecx, edi
call	sub_102F7EF

loc_101DFDB:
push	0
call	sub_1013960
mov	ecx, [esi+0ECh]
test	ecx, ecx
jnz	short loc_101DFF1
xor	eax, eax
inc	eax
jmp	short loc_101E027

loc_101DFF1:
xor	edi, edi
inc	edi
push	edi
call	sub_100AA99
test	eax, eax
jz	short loc_101E027
mov	eax, [esi+0ECh]
cmp	dword ptr [eax+24h], 0
jz	short loc_101E025
mov	eax, [esi]
push	edi
mov	ecx, esi
call	dword ptr [eax+64h]
cmp	dword_103EF40, 0
jz	short loc_101E025
push	edi
push	0
mov	ecx, esi
call	?NotifyAllItems@COleServerDoc@@IAEXW4OLE_NOTIFICATION@@K@Z ; COleServerDoc::NotifyAllItems(OLE_NOTIFICATION,ulong)

loc_101E025:
mov	eax, edi

loc_101E027:
pop	edi
pop	esi
leave
retn
sub_101DFA0 endp

align 10h
byte_101E030 db	8Bh, 0FFh
push	esi
mov	esi, ecx
call	sub_101DFA0
test	eax, eax
jnz	short loc_101E040
pop	esi
retn

loc_101E040:
push	edi
xor	edi, edi
lea	ecx, [esi+0F4h]
mov	[esi+0FCh], edi
mov	dword ptr [esi+0F8h], 1
mov	[esi+104h], edi
mov	[esi+108h], edi
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
mov	ecx, offset unk_103F0FC
mov	dword_103E86C, edi
mov	dword_103D6A4, 87654321h
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
mov	ecx, esi
call	sub_101DF12
test	eax, eax
jz	short loc_101E09F
mov	ecx, esi
call	?OnNewDocument@COleLinkingDoc@@UAEHXZ ;	COleLinkingDoc::OnNewDocument(void)
test	eax, eax
jz	short loc_101E09F
xor	eax, eax
inc	eax
jmp	short loc_101E0B6

loc_101E09F:
add	esi, 0F0h
mov	ecx, [esi]
cmp	ecx, edi
jz	short loc_101E0B4
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]
mov	[esi], edi

loc_101E0B4:
xor	eax, eax

loc_101E0B6:
pop	edi
pop	esi
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101E0BE proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
mov	ebx, [ebp+arg_0]
push	esi
mov	esi, ecx
push	edi
xor	edi, edi
mov	[esi+0FCh], edi
mov	[esi+104h], edi
mov	[esi+108h], edi
push	ebx
mov	ecx, offset unk_103F0FC
mov	dword_103E86C, edi
mov	dword_103D6A4, 87654321h
call	??4CString@@QAEABV0@PBG@Z ; CString::operator=(ushort const *)
cmp	ebx, edi
jz	short loc_101E135
cmp	dword_103EF40, edi
jz	short loc_101E110
mov	dword_103EF44, 1

loc_101E110:
push	ebx
lea	ecx, [esi+0F4h]
mov	[esi+0F8h], edi
call	??4CString@@QAEABV0@PBG@Z ; CString::operator=(ushort const *)
push	ebx
push	edi
push	803h
mov	ecx, offset unk_103EE08
call	sub_101F370
jmp	short loc_101E14A

loc_101E135:
lea	ecx, [esi+0F4h]
mov	dword ptr [esi+0F8h], 1
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)

loc_101E14A:
mov	ecx, esi
call	sub_101DF12
test	eax, eax
jz	short loc_101E15D
push	ebx
mov	ecx, esi
call	?OnOpenDocument@COleLinkingDoc@@UAEHPBG@Z ; COleLinkingDoc::OnOpenDocument(ushort const	*)

loc_101E15D:
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	4
sub_101E0BE endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101E169 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_101DFA0
test	eax, eax
jz	short loc_101E1B9
push	[ebp+arg_0]
mov	ecx, esi
call	?OnSaveDocument@COleServerDoc@@UAEHPBG@Z ; COleServerDoc::OnSaveDocument(ushort	const *)
test	eax, eax
jz	short loc_101E1B9
lea	eax, [esi+0ECh]
mov	ecx, [eax]
xor	edx, edx
cmp	[ecx+20h], edx
jz	short loc_101E19F
cmp	[ebp+arg_0], edx
jz	short loc_101E19F
mov	[ecx+20h], edx

loc_101E19F:
mov	ecx, [eax]
push	edx
call	sub_100A3E3
push	[ebp+arg_0]
mov	ecx, offset unk_103F0FC
call	??4CString@@QAEABV0@PBG@Z ; CString::operator=(ushort const *)
xor	eax, eax
inc	eax
jmp	short loc_101E1BB

loc_101E1B9:
xor	eax, eax

loc_101E1BB:
pop	esi
pop	ebp
retn	4
sub_101E169 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101E1C5 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_101DFA0
test	eax, eax
jz	short loc_101E1F3
push	[ebp+arg_0]
mov	ecx, esi
call	?CanCloseFrame@COleServerDoc@@UAEHPAVCFrameWnd@@@Z ; COleServerDoc::CanCloseFrame(CFrameWnd *)
test	eax, eax
jz	short loc_101E1F3
mov	ecx, offset unk_103F3A0
call	sub_102F937
xor	eax, eax
inc	eax
jmp	short loc_101E1F5

loc_101E1F3:
xor	eax, eax

loc_101E1F5:
pop	esi
pop	ebp
retn	4
sub_101E1C5 endp

db 5 dup(0CCh)



sub_101E1FF proc near
mov	eax, offset loc_10363DC
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
call	??0COleServerDoc@@QAE@XZ ; COleServerDoc::COleServerDoc(void)
xor	edi, edi
lea	ecx, [esi+0F4h]
mov	[ebp-4], edi
mov	dword ptr [esi], offset	off_100406C
call	??0CString@@QAE@XZ ; CString::CString(void)
mov	ecx, [ebp-0Ch]
mov	dword ptr [esi+118h], offset off_10041D4
mov	[esi+0FCh], edi
mov	[esi+0ECh], edi
mov	[esi+0F0h], edi
mov	[esi+100h], edi
mov	[esi+104h], edi
mov	[esi+108h], edi
mov	[esi+10Ch], edi
mov	[esi+110h], edi
mov	dword ptr [esi+0F8h], 1
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_101E1FF endp

db 5 dup(0CCh)
mov	eax, offset loc_103630B
call	sub_1034E18
push	ecx
push	11Ch
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-10h], ecx
xor	eax, eax
cmp	ecx, eax
mov	[ebp-4], eax
jz	short loc_101E2AE
call	sub_101E1FF

loc_101E2AE:
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)

loc_101E2BF:
mov	eax, offset off_100421C
retn
db 5 dup(0CCh)
mov	eax, ds:?messageMap@CFrameWnd@@1UAFX_MSGMAP@@B ; AFX_MSGMAP const CFrameWnd::messageMap
retn
db 5 dup(0CCh)



sub_101E2D5 proc near
mov	eax, offset nullsub_6
retn
sub_101E2D5 endp

align 10h



sub_101E2E0 proc near
mov	eax, offset loc_103641D
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_100455C
mov	ecx, [esi+354h]
test	ecx, ecx
mov	dword ptr [ebp-4], 3
jz	short loc_101E30E
mov	eax, [ecx]
push	1
call	dword ptr [eax]

loc_101E30E:
lea	ecx, [esi+2B4h]
mov	byte ptr [ebp-4], 2
call	??1CControlBar@@UAE@XZ ; CControlBar::~CControlBar(void)
lea	ecx, [esi+17Ch]
mov	byte ptr [ebp-4], 1
call	sub_102C189
lea	ecx, [esi+0D8h]
mov	byte ptr [ebp-4], 0
call	sub_10098EB
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	??1CFrameWnd@@UAE@XZ ; CFrameWnd::~CFrameWnd(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_101E2E0 endp

align 8


; Attributes: bp-based frame

; int __stdcall	sub_101E358(HINSTANCE hInstance)
sub_101E358 proc near

WndClass= tagWNDCLASSW ptr -3Ch
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
hInstance= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 3Ch
push	esi
mov	esi, [ebp+hInstance]
or	byte ptr [esi+2Dh], 1
or	byte ptr [esi+23h], 2
push	edi
push	esi
mov	edi, ecx
call	?PreCreateWindow@CFrameWnd@@MAEHAAUtagCREATESTRUCTW@@@Z	; CFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)
test	eax, eax
mov	[ebp+var_4], eax
jz	loc_101E479
mov	eax, dword_103EFF4
mov	edx, dword_103EFFC
mov	ecx, dword_103EFF8
sub	edx, eax
mov	[ebp+var_C], edx
mov	edx, dword_103F000
sub	edx, ecx
mov	[ebp+var_8], edx
lea	edx, [ebp+var_C]
push	edx
push	ecx
push	eax
lea	eax, [ebp+var_14]
push	eax
mov	ecx, offset unk_103EE08
call	sub_101F14C
mov	eax, [ebp+var_14]
test	eax, eax
mov	ecx, [ebp+var_10]
jnz	short loc_101E3C3
test	ecx, ecx
jz	short loc_101E3C9

loc_101E3C3:
mov	[esi+1Ch], eax
mov	[esi+18h], ecx

loc_101E3C9:
mov	eax, [edi+0D0h]
cmp	[ebp+var_C], eax
jg	short loc_101E3D7
mov	[ebp+var_C], eax

loc_101E3D7:
mov	eax, [edi+0D4h]
cmp	[ebp+var_8], eax
jg	short loc_101E3E5
mov	[ebp+var_8], eax

loc_101E3E5:
cmp	[ebp+var_C], 0
jz	short loc_101E3FD
cmp	[ebp+var_8], 0
jz	short loc_101E3FD
mov	eax, [ebp+var_C]
mov	[esi+14h], eax
mov	eax, [ebp+var_8]
mov	[esi+10h], eax

loc_101E3FD:
mov	eax, [esi+1Ch]
mov	dword_103EFF4, eax
mov	ecx, [esi+18h]
mov	dword_103EFF8, ecx
mov	edx, [esi+14h]
add	edx, eax
mov	dword_103EFFC, edx
mov	eax, [esi+10h]
add	eax, ecx
push	ebx
mov	dword_103F000, eax
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	eax, [eax+8]
mov	ebx, ds:GetClassInfoW
lea	ecx, [ebp+WndClass]
push	ecx		; lpWndClass
mov	edi, offset ClassName ;	"MSPaintApp"
push	edi		; lpClassName
push	eax		; hInstance
mov	[ebp+hInstance], eax
call	ebx ; GetClassInfoW
test	eax, eax
jnz	short loc_101E475
lea	eax, [ebp+WndClass]
push	eax		; lpWndClass
push	dword ptr [esi+28h] ; lpClassName
push	[ebp+hInstance]	; hInstance
call	ebx ; GetClassInfoW
push	2		; lpIconName
push	[ebp+hInstance]	; hInstance
mov	[ebp+WndClass.lpszClassName], edi
call	ds:LoadIconW
mov	[ebp+WndClass.hIcon], eax
lea	eax, [ebp+WndClass]
push	eax		; struct tagWNDCLASSW *
call	?AfxRegisterClass@@YGHPAUtagWNDCLASSW@@@Z ; AfxRegisterClass(tagWNDCLASSW *)
test	eax, eax
jnz	short loc_101E475
call	?AfxThrowResourceException@@YGXXZ ; AfxThrowResourceException(void)

loc_101E475:
mov	[esi+28h], edi
pop	ebx

loc_101E479:
mov	eax, [ebp+var_4]
pop	edi
pop	esi
leave
retn	4
sub_101E358 endp

db 5 dup(0CCh)



sub_101E487 proc near
cmp	dword ptr [ecx+0F8h], 0
jz	short loc_101E497
lea	eax, [ecx+0D8h]
retn

loc_101E497:
xor	eax, eax
retn
sub_101E487 endp

db 5 dup(0CCh)
xor	eax, eax
cmp	[ecx+50h], eax
jz	short loc_101E4AB
jmp	loc_1033B28

loc_101E4AB:
push	eax
push	eax
push	offset aMspaint_chm ; "mspaint.chm"
call	ds:GetDesktopWindow
push	eax
call	sub_103514B
retn
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	dword ptr [ebp+8]
mov	esi, ecx
call	?OnCreate@CFrameWnd@@IAEHPAUtagCREATESTRUCTW@@@Z ; CFrameWnd::OnCreate(tagCREATESTRUCTW	*)
cmp	eax, 0FFFFFFFFh
jnz	short loc_101E4DD
or	eax, eax
jmp	short loc_101E501

loc_101E4DD:
lea	eax, [esi+0D8h]
mov	dword_103E764, eax
lea	eax, [esi+17Ch]
add	esi, 2B4h
mov	dword_103F170, eax
mov	dword_103E820, esi
xor	eax, eax

loc_101E501:
pop	esi
pop	ebp
retn	4
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
call	?OnDestroy@CFrameWnd@@IAEXXZ ; CFrameWnd::OnDestroy(void)
push	offset dword_103EFD8
mov	ecx, esi
mov	dword_103EFD8, 2Ch
call	?GetWindowPlacement@CWnd@@QBEHPAUtagWINDOWPLACEMENT@@@Z	; CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *)
mov	ecx, offset unk_103EE08
pop	esi
jmp	loc_1024552
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	dword ptr [ebp+8]
mov	esi, ecx
call	?OnPaletteChanged@CFrameWnd@@IAEXPAVCWnd@@@Z ; CFrameWnd::OnPaletteChanged(CWnd	*)
mov	ecx, esi
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
mov	esi, eax
test	esi, esi
jz	short loc_101E572
push	offset off_1004900
mov	ecx, esi
call	?IsKindOf@CObject@@QBEHPBUCRuntimeClass@@@Z ; CObject::IsKindOf(CRuntimeClass const *)
test	eax, eax
jz	short loc_101E572
push	dword ptr [ebp+8]
mov	ecx, esi
call	sub_102259C

loc_101E572:
pop	esi
pop	ebp
retn	4
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	edi
mov	edi, ecx
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
mov	esi, eax
test	esi, esi
jz	short loc_101E5B1
push	dword ptr [esi+20h]
call	ds:IsWindow
test	eax, eax
jz	short loc_101E5B1
push	offset off_1004900
mov	ecx, esi
call	?IsKindOf@CObject@@QBEHPBUCRuntimeClass@@@Z ; CObject::IsKindOf(CRuntimeClass const *)
test	eax, eax
jz	short loc_101E5B1
mov	ecx, esi
call	sub_1022602

loc_101E5B1:
mov	ecx, edi
pop	edi
pop	esi
jmp	loc_10341F4
db 5 dup(0CCh)
mov	eax, offset loc_103647F
call	sub_1034E18
sub	esp, 14h
push	esi
mov	esi, ecx
push	esi
lea	ecx, [ebp-20h]
call	??0CClientDC@@QAE@PAVCWnd@@@Z ;	CClientDC::CClientDC(CWnd *)
and	dword ptr [ebp-4], 0
cmp	dword ptr [ebp-1Ch], 0
jz	short loc_101E5F0
lea	eax, [ebp-20h]
push	eax
mov	ecx, offset unk_103EE08
call	sub_101EF1D

loc_101E5F0:
push	dword ptr [ebp+8]
mov	ecx, esi
call	?OnDevModeChange@CWnd@@IAEXPAG@Z ; CWnd::OnDevModeChange(ushort	*)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-20h]
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	4
db 5 dup(0CCh)
mov	ecx, offset unk_103EE08
call	sub_101F239
xor	eax, eax
retn	8
db 5 dup(0CCh)
call	?OnSysColorChange@CWnd@@IAEXXZ ; CWnd::OnSysColorChange(void)
jmp	sub_100CE65
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	offset aGeneral	; "General"
mov	esi, ecx
call	?SaveBarState@CFrameWnd@@QBEXPBG@Z ; CFrameWnd::SaveBarState(ushort const *)
mov	ecx, esi
pop	esi
jmp	loc_1033CB4
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_101E659(WPARAM wParam, LPARAM lParam)
sub_101E659 proc near

wParam=	dword ptr  8
lParam=	dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+wParam]
test	eax, eax
jz	short loc_101E668
mov	eax, [eax+4]

loc_101E668:		; lParam
push	[ebp+lParam]
push	eax		; wParam
push	30h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	8
sub_101E659 endp

align 10h



sub_101E680 proc near
mov	eax, offset loc_1036468
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
call	??0CFrameWnd@@QAE@XZ ; CFrameWnd::CFrameWnd(void)
and	dword ptr [ebp-4], 0
lea	ecx, [esi+0D8h]
mov	dword ptr [esi], offset	off_100455C
call	sub_1009841
lea	ecx, [esi+17Ch]
mov	byte ptr [ebp-4], 1
call	sub_101C686
lea	ecx, [esi+2B4h]
mov	byte ptr [ebp-4], 2
call	sub_100F691
mov	eax, 113h
mov	ecx, 19Ah
push	0Ch		; unsigned int
mov	byte ptr [ebp-4], 3
mov	[esi+0D0h], eax
mov	[esi+0D4h], ecx
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-14h], ecx
test	ecx, ecx
mov	byte ptr [ebp-4], 4
jz	short loc_101E700
call	sub_10321D8
jmp	short loc_101E702

loc_101E700:
xor	eax, eax

loc_101E702:
mov	ecx, [ebp-0Ch]
mov	[esi+354h], eax
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_101E680 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_101E71C(void *, char)
sub_101E71C proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_101E2E0
test	[ebp+arg_0], 1
jz	short loc_101E736
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_101E736:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_101E71C endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
mov	esi, ecx
cmp	dword ptr [esi+9Ch], 0
jnz	short loc_101E777
lea	eax, [ebp-10h]
push	eax
push	dword ptr [esi+20h]
call	ds:GetClientRect
push	0Fh
call	sub_100D149
mov	ecx, [ebp+8]
push	eax
lea	eax, [ebp-10h]
push	eax
call	sub_100AC6F

loc_101E777:
push	dword ptr [ebp+8]
mov	ecx, esi
call	?OnEraseBkgnd@CFrameWnd@@IAEHPAVCDC@@@Z	; CFrameWnd::OnEraseBkgnd(CDC *)
pop	esi
leave
retn	4
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+8]
mov	dword_103EF4C, eax
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
pop	ebp
retn	8
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
lea	eax, [ebp-10h]
mov	esi, ecx
push	eax
push	dword ptr [esi+20h]
call	ds:GetWindowRect
mov	eax, [ebp-10h]
mov	[esi+0C0h], eax
mov	eax, [ebp-0Ch]
mov	ecx, esi
mov	[esi+0C4h], eax
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
pop	esi
leave
retn	8
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
push	dword ptr [ebp+10h]
mov	esi, ecx
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
call	?OnSize@CFrameWnd@@IAEXIHH@Z ; CFrameWnd::OnSize(uint,int,int)
lea	eax, [ebp-10h]
push	eax
push	dword ptr [esi+20h]
call	ds:GetWindowRect
mov	eax, [ebp-8]
sub	eax, [ebp-10h]
mov	ecx, [ebp-4]
sub	ecx, [ebp-0Ch]
mov	[esi+0C8h], eax
mov	[esi+0CCh], ecx
pop	esi
leave
retn	0Ch
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	dword ptr [ebp+8]
mov	esi, ecx
call	?OnSetFocus@CFrameWnd@@IAEXPAVCWnd@@@Z ; CFrameWnd::OnSetFocus(CWnd *)
push	dword ptr [esi+20h]
call	ds:UpdateWindow
mov	ecx, esi
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
mov	esi, eax
test	esi, esi
jz	short loc_101E87B
push	offset off_1004900
mov	ecx, esi
call	?IsKindOf@CObject@@QBEHPBUCRuntimeClass@@@Z ; CObject::IsKindOf(CRuntimeClass const *)
test	eax, eax
jz	short loc_101E87B
mov	eax, [esi+44h]
test	eax, eax
jz	short loc_101E87B
push	dword ptr [eax+20h]
call	ds:IsWindow
test	eax, eax
jz	short loc_101E87B
mov	ecx, [esi+44h]
call	?SetFocus@CWnd@@QAEPAV1@XZ ; CWnd::SetFocus(void)

loc_101E87B:
pop	esi
pop	ebp
retn	4
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	edx, [ecx+0D0h]
mov	eax, [ebp+8]
mov	[eax+18h], edx
mov	edx, [ecx+0D4h]
mov	[eax+1Ch], edx
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
pop	ebp
retn	4
db 5 dup(0CCh)
mov	eax, offset loc_103647F
call	sub_1034E18
sub	esp, 14h
push	esi
mov	esi, ecx
push	edi
push	esi
lea	ecx, [ebp-20h]
call	??0CClientDC@@QAE@PAVCWnd@@@Z ;	CClientDC::CClientDC(CWnd *)
xor	edi, edi
cmp	[ebp-1Ch], edi
mov	[ebp-4], edi
jz	short loc_101E8DF
lea	eax, [ebp-20h]
push	eax
mov	ecx, offset unk_103EE08
call	sub_101EF1D

loc_101E8DF:
cmp	[esi+0F8h], edi
jz	short loc_101E900
cmp	dword_103EF90, edi
jz	short loc_101E900
push	edi
push	offset unk_103EF8C
lea	ecx, [esi+0D8h]
call	sub_101E659

loc_101E900:
push	dword ptr [ebp+8]
mov	ecx, esi
call	?OnWinIniChange@CWnd@@IAEXPBG@Z	; CWnd::OnWinIniChange(ushort const *)
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+0C4h]
cmp	eax, edi
jz	short loc_101E932
push	edi
push	edi
push	edi
mov	ecx, eax
call	?UpdateAllViews@CDocument@@QAEXPAVCView@@JPAVCObject@@@Z ; CDocument::UpdateAllViews(CView *,long,CObject *)
mov	ecx, esi
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
push	dword ptr [eax+20h]
call	ds:UpdateWindow

loc_101E932:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-20h]
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn	4
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101E953 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	dword_103EF5C, 0
push	esi
push	edi
mov	esi, ecx
jz	short loc_101E969
xor	edi, edi
jmp	short loc_101E9B9

loc_101E969:		; hWnd
push	dword ptr [esi+20h]
call	ds:IsWindowVisible
test	eax, eax
mov	edi, [ebp+arg_0]
jnz	short loc_101E9B9
mov	eax, edi
dec	eax
jz	short loc_101E983
sub	eax, 4
jnz	short loc_101E99D

loc_101E983:
mov	eax, dword_103EFE0
test	eax, eax
jz	short loc_101E99D
cmp	eax, 2
jz	short loc_101E99D
cmp	eax, 5
jbe	short loc_101E99B
cmp	eax, 7
jbe	short loc_101E99D

loc_101E99B:
mov	edi, eax

loc_101E99D:
push	offset dword_103EFD8
mov	ecx, esi
mov	dword_103EFE0, edi
mov	dword_103EFD8, 2Ch
call	?SetWindowPlacement@CWnd@@QAEHPBUtagWINDOWPLACEMENT@@@Z	; CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const *)

loc_101E9B9:
lea	eax, [esi+0D8h]
mov	dword_103E764, eax
lea	eax, [esi+17Ch]
mov	dword_103F170, eax
lea	eax, [esi+2B4h]
push	edi
mov	ecx, esi
mov	dword_103E820, eax
call	?ActivateFrame@CFrameWnd@@UAEXH@Z ; CFrameWnd::ActivateFrame(int)
pop	edi
pop	esi
pop	ebp
retn	4
sub_101E953 endp

db 5 dup(0CCh)
mov	eax, offset loc_1036496
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
lea	ecx, [ebp-10h]
call	sub_100ACBA
and	dword ptr [ebp-4], 0
test	esi, esi
jnz	short loc_101EA0F
xor	eax, eax
jmp	short loc_101EA12

loc_101EA0F:
mov	eax, [esi+20h]

loc_101EA12:
mov	ecx, [esi+354h]
mov	edx, [ecx]
push	1
push	eax
call	dword ptr [edx+4]
test	eax, eax
pop	esi
jge	short loc_101EA36
push	30h
push	0E000h
push	98Fh
call	sub_100C01C

loc_101EA36:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	ecx, [eax+4]
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
leave
retn
align 8
mov	eax, offset loc_10364AD
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, ecx
push	edi
lea	ecx, [ebp-14h]
call	sub_100ACBA
and	dword ptr [ebp-4], 0
and	dword ptr [ebp-10h], 0
test	esi, esi
jnz	short loc_101EA80
xor	eax, eax
jmp	short loc_101EA83

loc_101EA80:
mov	eax, [esi+20h]

loc_101EA83:
mov	ecx, [esi+354h]
mov	edx, [ecx]
lea	edi, [ebp-10h]
push	edi
push	eax
call	dword ptr [edx+8]
test	eax, eax
jge	short loc_101EAAA
push	30h
push	0E000h
push	990h
call	sub_100C01C
jmp	short loc_101EB03

loc_101EAAA:
jnz	short loc_101EB03
mov	ecx, esi
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
mov	esi, eax
test	esi, esi
jz	short loc_101EB03
mov	edi, [esi+40h]
test	edi, edi
jz	short loc_101EB03
mov	eax, [edi]
mov	ecx, edi
call	dword ptr [eax+98h]
test	eax, eax
jz	short loc_101EB03
mov	eax, [edi]
push	0
mov	ecx, edi
call	dword ptr [eax+64h]
mov	ecx, offset unk_103EE08
call	sub_101F477
push	dword ptr [ebp-10h]
mov	ecx, edi
call	sub_101D0E8
mov	eax, [esi+44h]
push	1
push	0
push	dword ptr [eax+20h]
call	ds:InvalidateRect
mov	ecx, [esi+44h]
call	sub_10190E6

loc_101EB03:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	ecx, [eax+4]
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
lea	eax, [ecx+354h]
cmp	dword ptr [eax], 0
jz	short loc_101EB4D
mov	ecx, [ecx+20h]
mov	eax, [eax]
mov	edx, [eax]
push	ecx
mov	ecx, eax
call	dword ptr [edx+10h]
test	eax, eax
jle	short loc_101EB4D
xor	eax, eax
inc	eax
jmp	short loc_101EB4F

loc_101EB4D:
xor	eax, eax

loc_101EB4F:
mov	ecx, [ebp+8]
mov	edx, [ecx]
push	eax
call	dword ptr [edx]
pop	ebp
retn	4
align 10h
mov	eax, offset loc_10364C5
call	sub_1034E18
push	ecx
push	358h
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-10h], ecx
xor	eax, eax
cmp	ecx, eax
mov	[ebp-4], eax
jz	short loc_101EB89
call	sub_101E680

loc_101EB89:
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)



sub_101EB9A proc near
mov	dword ptr [ecx], offset	off_100471C
jmp	sub_10096BE
sub_101EB9A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_101EBAA(LOGFONTW *lplf)
sub_101EBAA proc near

lplf= dword ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+lplf]	; lplf
mov	esi, ecx
call	ds:CreateFontIndirectW
push	eax
mov	ecx, esi
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
pop	esi
pop	ebp
retn	4
sub_101EBAA endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101EBCD proc near
mov	edi, edi
push	ebp
mov	ebp, esp
push	offset ProcName	; "GetLayout"
push	hModule		; hModule
call	ds:GetProcAddress
test	eax, eax
mov	off_103DB30, eax
jnz	short loc_101EBF6
mov	eax, offset sub_10316A2
mov	off_103DB30, eax

loc_101EBF6:
pop	ebp
jmp	eax
sub_101EBCD endp

db 5 dup(0CCh)



sub_101EBFE proc near
xor	eax, eax
retn	8
sub_101EBFE endp

align 8


; Attributes: bp-based frame

sub_101EC08 proc near
mov	edi, edi
push	ebp
mov	ebp, esp
push	offset aSetlayout ; "SetLayout"
push	hModule		; hModule
call	ds:GetProcAddress
test	eax, eax
mov	off_103DB34, eax
jnz	short loc_101EC31
mov	eax, offset sub_101EBFE
mov	off_103DB34, eax

loc_101EC31:
pop	ebp
jmp	eax
sub_101EC08 endp

db 5 dup(0CCh)

loc_101EC39:		; AFX_MSGMAP const CWinApp::messageMap
mov	eax, ds:?messageMap@CWinApp@@1UAFX_MSGMAP@@B
retn
db 5 dup(0CCh)



sub_101EC44 proc near
mov	eax, offset off_10046F0
retn
sub_101EC44 endp

db 5 dup(0CCh)

loc_101EC4F:		; COleObjectFactory::~COleObjectFactory(void)
jmp	??1COleObjectFactory@@UAE@XZ
db 5 dup(0CCh)



sub_101EC59 proc near
mov	eax, offset loc_10365A0
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_100474C
push	dword ptr [esi+2FCh] ; void *
mov	dword ptr [ebp-4], 0Eh
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx
lea	ecx, [esi+33Ch]
mov	byte ptr [ebp-4], 0Dh
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [esi+338h]
mov	byte ptr [ebp-4], 0Ch
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [esi+334h]
mov	byte ptr [ebp-4], 0Bh
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [esi+318h]
mov	byte ptr [ebp-4], 0Ah
call	sub_1030234
lea	ecx, [esi+2F4h]
mov	byte ptr [ebp-4], 9
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [esi+224h]
mov	byte ptr [ebp-4], 8
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [esi+184h]
mov	byte ptr [ebp-4], 7
mov	dword ptr [ecx], offset	off_100471C
call	sub_10096BE
lea	ecx, [esi+170h]
mov	byte ptr [ebp-4], 6
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [esi+16Ch]
mov	byte ptr [ebp-4], 5
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [esi+164h]
mov	byte ptr [ebp-4], 4
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [esi+160h]
mov	byte ptr [ebp-4], 3
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [esi+15Ch]
mov	byte ptr [ebp-4], 2
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [esi+158h]
mov	byte ptr [ebp-4], 1
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [esi+0C4h]
mov	byte ptr [ebp-4], 0
call	??1COleObjectFactory@@UAE@XZ ; COleObjectFactory::~COleObjectFactory(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	??1CWinApp@@UAE@XZ ; CWinApp::~CWinApp(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_101EC59 endp

align 8


; Attributes: bp-based frame

; int __stdcall	sub_101ED78(int, LPCWSTR lpString2)
sub_101ED78 proc near

arg_0= dword ptr  8
lpString2= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ebp+arg_0]
mov	ax, [ecx]
cmp	ax, 2Dh
jz	short loc_101ED8F
cmp	ax, 2Fh
jnz	short loc_101EDA3

loc_101ED8F:		; lpString2
push	[ebp+lpString2]
add	ecx, 2
push	ecx		; lpString1
call	ds:lstrcmpiW
test	eax, eax
jnz	short loc_101EDA3
inc	eax
jmp	short loc_101EDA5

loc_101EDA3:
xor	eax, eax

loc_101EDA5:
pop	ebp
retn	8
sub_101ED78 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101EDAE proc near

hMem= dword ptr	-10h
pNumArgs= dword	ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
and	[ebp+var_8], 0
push	ebx
push	esi
lea	eax, [ebp+pNumArgs]
push	eax		; pNumArgs
mov	esi, ecx
call	ds:GetCommandLineW
push	eax		; lpCmdLine
call	ds:CommandLineToArgvW
xor	ebx, ebx
inc	ebx
cmp	[ebp+pNumArgs],	ebx
mov	[ebp+hMem], eax
mov	[ebp+var_4], ebx
jle	loc_101EEB9
push	edi

loc_101EDE2:
mov	eax, [ebp+hMem]
mov	ecx, [ebp+var_4]
lea	edi, [eax+ecx*4]
push	offset aPt	; "pt"
push	dword ptr [edi]	; int
call	sub_101ED78
test	eax, eax
jz	short loc_101EE09
mov	[esi+154h], ebx
mov	[ebp+var_8], ebx
jmp	loc_101EEA9

loc_101EE09:		; "p"
push	offset aP
push	dword ptr [edi]	; int
call	sub_101ED78
test	eax, eax
jz	short loc_101EE24
mov	[esi+154h], ebx
jmp	loc_101EEA9

loc_101EE24:		; "wia"
push	offset aWia
push	dword ptr [edi]	; int
call	sub_101ED78
test	eax, eax
jz	short loc_101EE3C
mov	[esi+168h], ebx
jmp	short loc_101EEA9

loc_101EE3C:
mov	eax, [esi+168h]
xor	edx, edx
cmp	eax, edx
jz	short loc_101EE69
lea	ecx, [esi+16Ch]
mov	edx, [ecx]
cmp	dword ptr [edx-8], 0
jz	short loc_101EEA2
xor	edx, edx
cmp	eax, edx
jz	short loc_101EE69
lea	ecx, [esi+170h]
mov	eax, [ecx]
cmp	[eax-8], edx
jz	short loc_101EEA2

loc_101EE69:
lea	ecx, [esi+158h]
mov	eax, [ecx]
cmp	[eax-8], edx
jz	short loc_101EEA2
cmp	[ebp+var_8], edx
jz	short loc_101EEA9
lea	ecx, [esi+15Ch]
mov	eax, [ecx]
cmp	[eax-8], edx
jz	short loc_101EEA2
lea	ecx, [esi+160h]
mov	eax, [ecx]
cmp	[eax-8], edx
jz	short loc_101EEA2
lea	ecx, [esi+164h]
mov	eax, [ecx]
cmp	[eax-8], edx
jnz	short loc_101EEA9

loc_101EEA2:
push	dword ptr [edi]
call	??4CString@@QAEABV0@PBG@Z ; CString::operator=(ushort const *)

loc_101EEA9:
inc	[ebp+var_4]
mov	eax, [ebp+var_4]
cmp	eax, [ebp+pNumArgs]
jl	loc_101EDE2
pop	edi

loc_101EEB9:		; hMem
push	[ebp+hMem]
call	ds:GlobalFree
pop	esi
pop	ebx
leave
retn
sub_101EDAE endp

db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
call	sub_1012699
call	sub_1012814
mov	ecx, dword_103E768
test	ecx, ecx
jz	short loc_101EEF2
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]
and	dword_103E768, 0

loc_101EEF2:
cmp	dword ptr [esi+188h], 0
jz	short loc_101EF06
lea	ecx, [esi+184h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)

loc_101EF06:
call	sub_100CE65
call	sub_102D7E0
mov	ecx, esi
pop	esi
jmp	loc_1034338
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101EF1D proc near

var_200= dword ptr -200h
var_1FC= dword ptr -1FCh
pvParam= dword ptr -1F8h
lf= LOGFONTW ptr -118h
var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 200h
mov	eax, ___security_cookie
push	ebx
mov	ebx, [ebp+arg_0]
push	esi
push	edi
push	0		; fWinIni
mov	esi, ecx
lea	ecx, [ebp+pvParam]
mov	[ebp+var_4], eax
mov	eax, 1F4h
push	ecx		; pvParam
push	eax		; uiParam
push	29h		; uiAction
mov	[ebp+pvParam], eax
call	ds:SystemParametersInfoW
test	eax, eax
jz	short loc_101EF7F
cmp	dword ptr [esi+188h], 0
jz	short loc_101EF6D
lea	ecx, [esi+184h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)

loc_101EF6D:
lea	eax, [ebp+lf]
push	eax		; lplf
lea	ecx, [esi+184h]
call	sub_101EBAA

loc_101EF7F:
mov	edi, ds:GetDeviceCaps
push	4		; index
push	dword ptr [ebx+8] ; hdc
call	edi ; GetDeviceCaps
push	6		; index
mov	[esi+23Ch], eax
push	dword ptr [ebx+8] ; hdc
call	edi ; GetDeviceCaps
push	8		; index
mov	[esi+240h], eax
push	dword ptr [ebx+8] ; hdc
call	edi ; GetDeviceCaps
push	0Ah		; index
mov	[esi+234h], eax
push	dword ptr [ebx+8] ; hdc
call	edi ; GetDeviceCaps
push	58h		; index
mov	[esi+238h], eax
push	dword ptr [ebx+8] ; hdc
call	edi ; GetDeviceCaps
push	5Ah		; index
mov	[esi+25Ch], eax
push	dword ptr [ebx+8] ; hdc
call	edi ; GetDeviceCaps
mov	[esi+260h], eax
mov	eax, [esi+234h]
imul	eax, 3E8h
mov	ecx, [esi+23Ch]
cdq
idiv	ecx
push	0Ah
pop	ecx
push	0Ah
add	eax, 5
cdq
idiv	ecx
mov	ecx, [esi+240h]
mov	[ebp+var_200], eax
mov	[esi+24Ch], eax
mov	eax, [esi+238h]
imul	eax, 3E8h
cdq
idiv	ecx
pop	ecx
push	64h
add	eax, 5
cdq
idiv	ecx
pop	ecx
push	0Ah
mov	[ebp+var_1FC], eax
mov	[esi+250h], eax
mov	eax, [ebp+var_200]
add	eax, 32h
cdq
idiv	ecx
mov	[esi+254h], eax
mov	eax, [ebp+var_1FC]
add	eax, 32h
cdq
idiv	ecx
mov	ecx, 0F5h
mov	[esi+258h], eax
mov	eax, [esi+23Ch]
imul	eax, 64h
cdq
idiv	ecx
pop	ecx
push	0Ah
add	eax, 5
cdq
idiv	ecx
mov	ecx, 0F5h
mov	[esi+244h], eax
mov	eax, [esi+240h]
imul	eax, 64h
cdq
idiv	ecx
pop	ecx
add	eax, 5
cdq
idiv	ecx
push	0Ch		; index
mov	[esi+248h], eax
push	dword ptr [ebx+8] ; hdc
call	edi ; GetDeviceCaps
push	0Eh		; index
mov	[esi+264h], eax
push	dword ptr [ebx+8] ; hdc
call	edi ; GetDeviceCaps
push	20h		; nIndex
mov	[esi+268h], eax
call	ds:GetSystemMetrics
push	21h		; nIndex
mov	[esi+26Ch], eax
call	ds:GetSystemMetrics
push	5		; nIndex
mov	[esi+270h], eax
call	ds:GetSystemMetrics
push	6		; nIndex
mov	[esi+274h], eax
call	ds:GetSystemMetrics
push	33h		; nIndex
mov	[esi+278h], eax
call	ds:GetSystemMetrics
push	29h		; nIndex
mov	[esi+27Ch], eax
call	ds:GetSystemMetrics
neg	eax
sbb	eax, eax
neg	eax
push	26h		; index
mov	[esi+148h], eax
push	dword ptr [ebx+8] ; hdc
call	edi ; GetDeviceCaps
and	eax, 100h
mov	[esi+150h], eax
mov	eax, [esi+264h]
imul	eax, [esi+268h]
dec	eax
neg	eax
sbb	eax, eax
inc	eax
push	8000h		; uMode
mov	[esi+14Ch], eax
call	ds:SetErrorMode
mov	ecx, [ebp+var_4]
pop	edi
pop	esi
pop	ebx
call	sub_1032F53
leave
retn	4
sub_101EF1D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101F14C proc near

var_8= dword ptr -8
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
mov	eax, [ebp+arg_4]
mov	[ebp+var_8], eax
mov	eax, [ebp+arg_C]
mov	edx, [eax]
test	edx, edx
push	ebx
mov	ebx, [ebp+arg_8]
jg	short loc_101F168
xor	edx, edx

loc_101F168:
push	esi
mov	esi, [eax+4]
test	esi, esi
mov	[eax], edx
jg	short loc_101F174
xor	esi, esi

loc_101F174:
test	edx, edx
mov	[eax+4], esi
jz	short loc_101F19E
test	esi, esi
jz	short loc_101F19E
push	edi
mov	edi, [ecx+234h]
cmp	edx, edi
jl	short loc_101F18C
mov	edx, edi

loc_101F18C:
mov	[eax], edx
mov	edx, [ecx+238h]
cmp	esi, edx
pop	edi
jge	short loc_101F19B
mov	edx, esi

loc_101F19B:
mov	[eax+4], edx

loc_101F19E:
xor	edx, edx
cmp	[ebp+var_8], edx
pop	esi
jg	short loc_101F1A9
mov	[ebp+var_8], edx

loc_101F1A9:
cmp	ebx, edx
jg	short loc_101F1AF
xor	ebx, ebx

loc_101F1AF:
cmp	[ebp+var_8], edx
jz	short loc_101F1D7
cmp	ebx, edx
jz	short loc_101F1D7
mov	edx, [ecx+234h]
cmp	[ebp+var_8], edx
jl	short loc_101F1C8
sub	edx, [eax]
mov	[ebp+var_8], edx

loc_101F1C8:
mov	ecx, [ecx+238h]
cmp	ebx, ecx
jl	short loc_101F1D7
sub	ecx, [eax+4]
mov	ebx, ecx

loc_101F1D7:
mov	eax, [ebp+arg_0]
mov	ecx, [ebp+var_8]
mov	[eax+4], ebx
mov	[eax], ecx
pop	ebx
leave
retn	10h
sub_101F14C endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101F1EC proc near
mov	edi, edi
push	ebp
mov	ebp, esp
pop	ebp
jmp	?WinHelpW@CWinApp@@UAEXKI@Z ; CWinApp::WinHelpW(ulong,uint)
sub_101F1EC endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101F1FC proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ebp+arg_0]
cmp	ecx, 3E8h
jge	short loc_101F214
lea	eax, [ecx+8FCh]
jmp	short loc_101F227

loc_101F214:
xor	eax, eax

loc_101F216:
cmp	dword_103DB38[eax*8], ecx
jz	short loc_101F22B
inc	eax
cmp	eax, 20h
jb	short loc_101F216
xor	eax, eax

loc_101F227:
pop	ebp
retn	4

loc_101F22B:
mov	eax, dword_103DB3C[eax*8]
jmp	short loc_101F227
sub_101F1FC endp

db 5 dup(0CCh)



sub_101F239 proc near
mov	eax, offset loc_10365CF
call	sub_1034E18
sub	esp, 10h
push	ebx
push	esi
mov	esi, ecx
xor	ebx, ebx
cmp	[esi+328h], ebx
jz	loc_101F357
cmp	dword_103F14C, ebx
jnz	loc_101F357
lea	ecx, [ebp-1Ch]
mov	dword_103F14C, 1
call	??0CString@@QAE@XZ ; CString::CString(void)
push	dword ptr [esi+340h]
lea	ecx, [ebp-1Ch]
mov	[ebp-4], ebx
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
lea	ecx, [ebp-18h]
call	??0CString@@QAE@XZ ; CString::CString(void)
push	dword ptr [esi+328h]
mov	byte ptr [ebp-4], 1
call	sub_101F1FC
push	eax
lea	ecx, [ebp-18h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
lea	ecx, [ebp-10h]
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [ebp-14h]
mov	byte ptr [ebp-4], 2
call	??0CString@@QAE@XZ ; CString::CString(void)
mov	eax, [esi+33Ch]
cmp	[eax-8], ebx
mov	byte ptr [ebp-4], 3
lea	ecx, [ebp-10h]
jnz	short loc_101F2EE
push	0E86Dh
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
push	dword ptr [ebp-18h]
lea	eax, [ebp-14h]
push	dword ptr [ebp-1Ch]
push	dword ptr [ebp-10h]
push	eax
call	?Format@CString@@QAAXPBGZZ ; CString::Format(ushort const *,...)
add	esp, 10h
jmp	short loc_101F314

loc_101F2EE:
push	0E86Ch
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
push	dword ptr [ebp-18h]
mov	eax, [esi+33Ch]
push	dword ptr [ebp-1Ch]
push	eax
push	dword ptr [ebp-10h]
lea	eax, [ebp-14h]
push	eax
call	?Format@CString@@QAAXPBGZZ ; CString::Format(ushort const *,...)
add	esp, 14h

loc_101F314:		; unsigned int
push	ebx
push	2030h		; unsigned int
push	dword ptr [ebp-14h] ; unsigned __int16 *
call	?AfxMessageBox@@YGHPBGII@Z ; AfxMessageBox(ushort const	*,uint,uint)
lea	ecx, [ebp-14h]
mov	dword_103F14C, ebx
mov	byte ptr [ebp-4], 2
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [ebp-10h]
mov	byte ptr [ebp-4], 1
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [ebp-18h]
mov	[ebp-4], bl
call	??1CString@@QAE@XZ ; CString::~CString(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-1Ch]
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_101F357:
mov	ecx, [ebp-0Ch]
mov	[esi+328h], ebx
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_101F239 endp

align 10h


; Attributes: bp-based frame

sub_101F370 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	[ebp+arg_8], 0
mov	eax, [ebp+arg_4]
mov	[ecx+328h], eax
mov	eax, [ebp+arg_0]
mov	[ecx+340h], eax
jz	short loc_101F39B
push	[ebp+arg_8]
add	ecx, 33Ch
call	??4CString@@QAEABV0@PBG@Z ; CString::operator=(ushort const *)

loc_101F39B:
pop	ebp
retn	0Ch
sub_101F370 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101F3A4 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
lea	eax, [ecx+120h]
or	byte ptr [eax],	9
cmp	[ebp+arg_0], 0
mov	cx, [eax]
jz	short loc_101F3C2
or	cx, 10h
mov	[eax], cx

loc_101F3C2:
pop	ebp
retn	4
sub_101F3A4 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101F3CB proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
lea	eax, [ecx+120h]
or	byte ptr [eax],	0Ah
cmp	[ebp+arg_0], 0
mov	cx, [eax]
jz	short loc_101F3E9
or	cx, 10h
mov	[eax], cx

loc_101F3E9:
pop	ebp
retn	4
sub_101F3CB endp

db 5 dup(0CCh)



sub_101F3F2 proc near
mov	edi, edi
push	esi
mov	esi, ecx
test	byte ptr [esi+120h], 1
jz	short loc_101F42E
call	sub_100C004
mov	edx, [eax]
mov	ecx, eax
call	dword ptr [edx+0C4h]
test	eax, eax
jz	short loc_101F42E
mov	ecx, [eax+0ECh]
test	ecx, ecx
jz	short loc_101F42E
cmp	dword ptr [ecx+24h], 0
jnz	short loc_101F42E
cmp	dword ptr [ecx+28h], 0
jz	short loc_101F42E
call	sub_100A42D

loc_101F42E:
test	byte ptr [esi+120h], 2
pop	esi
jz	short locret_101F43D
jmp	sub_100CE65

locret_101F43D:
retn
sub_101F3F2 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101F443 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	[ebp+arg_0], 0
mov	ecx, off_103D74C
jz	short loc_101F465
mov	eax, [ecx+30h]
cmp	eax, 26Ch
jz	short loc_101F46E
cmp	eax, 26Dh
jz	short loc_101F46E

loc_101F465:
test	ecx, ecx
jz	short loc_101F46E
call	sub_1015199

loc_101F46E:
pop	ebp
retn	4
sub_101F443 endp

db 5 dup(0CCh)



sub_101F477 proc near
mov	edi, edi
push	esi
push	0
mov	esi, ecx
call	sub_101F443
mov	ecx, esi
pop	esi
jmp	?OnFileNew@CWinApp@@IAEXXZ ; CWinApp::OnFileNew(void)
sub_101F477 endp

align 10h


; Attributes: bp-based frame

sub_101F490 proc near

var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
mov	eax, [ecx+2F8h]
and	[ebp+var_4], 0
test	eax, eax
push	ebx
push	esi
push	edi
jle	short loc_101F4C6
mov	edx, [ecx+2FCh]

loc_101F4AD:
mov	edi, [ebp+arg_0]
push	4
pop	ecx
mov	esi, edx
xor	ebx, ebx
repe cmpsd
jz	short loc_101F4CF
inc	[ebp+var_4]
add	edx, 10h
cmp	[ebp+var_4], eax
jl	short loc_101F4AD

loc_101F4C6:
xor	eax, eax

loc_101F4C8:
pop	edi
pop	esi
pop	ebx
leave
retn	4

loc_101F4CF:
mov	eax, [ebp+var_4]
inc	eax
jmp	short loc_101F4C8
sub_101F490 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_101F4DA proc near

arg_0= word ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
movzx	eax, [ebp+arg_0]
push	eax		; lpIconName
push	0Eh		; unsigned __int16 *
push	eax		; unsigned __int16 *
call	?AfxFindResourceHandle@@YGPAUHINSTANCE__@@PBG0@Z ; AfxFindResourceHandle(ushort	const *,ushort const *)
push	eax		; hInstance
call	ds:LoadIconW
pop	ebp
retn	4
sub_101F4DA endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_101F4FC(void *, char)
sub_101F4FC proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_101EB9A
test	[ebp+arg_0], 1
jz	short loc_101F516
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_101F516:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_101F4FC endp

db 5 dup(0CCh)



sub_101F522 proc near
mov	eax, offset loc_103669C
call	sub_1034E18
push	ecx
push	ebx
push	esi
push	edi
mov	ebx, ecx
xor	esi, esi
push	esi
mov	[ebp-10h], ebx
call	??0CWinApp@@QAE@PBG@Z ;	CWinApp::CWinApp(ushort	const *)
lea	ecx, [ebx+0C4h]
mov	[ebp-4], esi
mov	dword ptr [ebx], offset	off_100474C
call	??0COleTemplateServer@@QAE@XZ ;	COleTemplateServer::COleTemplateServer(void)
lea	ecx, [ebx+158h]
mov	byte ptr [ebp-4], 1
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [ebx+15Ch]
mov	byte ptr [ebp-4], 2
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [ebx+160h]
mov	byte ptr [ebp-4], 3
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [ebx+164h]
mov	byte ptr [ebp-4], 4
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [ebx+16Ch]
mov	byte ptr [ebp-4], 5
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [ebx+170h]
mov	byte ptr [ebp-4], 6
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	eax, [ebx+184h]
mov	[eax+4], esi
mov	dword ptr [eax], offset	off_100471C
lea	ecx, [ebx+224h]
mov	byte ptr [ebp-4], 8
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [ebx+2F4h]
mov	byte ptr [ebp-4], 9
call	??0CString@@QAE@XZ ; CString::CString(void)
push	esi
push	esi
push	esi
lea	ecx, [ebx+318h]
mov	byte ptr [ebp-4], 0Ah
call	sub_10304D0
lea	ecx, [ebx+334h]
mov	byte ptr [ebp-4], 0Bh
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [ebx+338h]
mov	byte ptr [ebp-4], 0Ch
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [ebx+33Ch]
mov	byte ptr [ebp-4], 0Dh
call	??0CString@@QAE@XZ ; CString::CString(void)
push	0Ah
xor	edi, edi
pop	eax
inc	edi
mov	dword ptr [ebx+114h], 226000h
mov	[ebx+118h], eax
mov	[ebx+11Ch], eax
mov	[ebx+328h], esi
mov	[ebx+120h], si
mov	[ebx+330h], esi
mov	[ebx+174h], esi
mov	[ebx+124h], edi
mov	[ebx+128h], esi
lea	eax, [ebx+198h]
push	eax		; lprc
mov	[ebx+12Ch], edi
mov	[ebx+130h], edi
mov	[ebx+138h], esi
mov	[ebx+13Ch], esi
mov	[ebx+140h], esi
mov	[ebx+144h], esi
mov	[ebx+148h], esi
mov	[ebx+150h], esi
mov	[ebx+180h], esi
mov	[ebx+154h], esi
call	ds:SetRectEmpty
mov	eax, 771h
push	eax		; yBottom
push	eax		; xRight
push	eax		; yTop
push	eax		; xLeft
lea	eax, [ebx+1A8h]
push	eax		; lprc
call	ds:SetRect
mov	[ebx+1B8h], edi
mov	[ebx+1BCh], edi
mov	[ebx+1C8h], edi
mov	[ebx+1CCh], edi
mov	[ebx+1C0h], esi
mov	[ebx+194h], esi
mov	[ebx+190h], esi
mov	[ebx+178h], esi
mov	[ebx+17Ch], esi
mov	dword ptr [ebx+1C4h], 64h
push	1Dh
pop	ecx
xor	eax, eax
lea	edi, [ebx+280h]
rep stosd
mov	[ebx+2F8h], esi
mov	[ebx+2FCh], esi
lea	edi, [ebx+300h]
mov	esi, offset dword_1007588
movsd
movsd
movsd
movsd
or	dword ptr [ebx+310h], 0FFFFFFFFh
push	offset aGdi32_dll_1 ; "gdi32.dll"
mov	dword ptr [ebx+314h], 1
call	ds:GetModuleHandleW
mov	ecx, [ebp-0Ch]
pop	edi
mov	hModule, eax
pop	esi
mov	eax, ebx
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_101F522 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_101F756(void *, char)
sub_101F756 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_101EC59
test	[ebp+arg_0], 1
jz	short loc_101F770
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_101F770:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_101F756 endp

db 5 dup(0CCh)



sub_101F77C proc near
mov	eax, offset loc_10366CE
call	sub_1034E18
sub	esp, 26Ch
mov	eax, ___security_cookie
push	ebx
push	esi
push	edi
push	0E15Bh
mov	[ebp-10h], eax
mov	ebx, ecx
call	?SetRegistryKey@CWinApp@@IAEXI@Z ; CWinApp::SetRegistryKey(uint)
mov	eax, [ebx+94h]
xor	edi, edi
cmp	eax, edi
jz	short loc_101F7B7
push	eax		; Memory
call	ds:free
pop	ecx

loc_101F7B7:		; "Paint"
push	offset Str
call	ds:_wcsdup
pop	ecx
push	edi		; hWnd
mov	[ebx+94h], eax
call	ds:GetDC
mov	esi, eax
push	esi
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
push	eax
mov	ecx, ebx
call	sub_101EF1D
push	esi		; hDC
push	edi		; hWnd
call	ds:ReleaseDC
push	8C0h
lea	ecx, [ebx+334h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
push	8C1h
lea	ecx, [ebx+338h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
call	?AfxOleInit@@YGHXZ ; AfxOleInit(void)
test	eax, eax
jnz	short loc_101F820
push	0FFFFFFFFh	; unsigned int
push	edi		; unsigned int
push	1Eh		; unsigned int
call	?AfxMessageBox@@YGHIII@Z ; AfxMessageBox(uint,uint,uint)
jmp	loc_101F96F

loc_101F820:		; AfxGetThread(void)
call	?AfxGetThread@@YGPAVCWinThread@@XZ
mov	eax, [eax+5Ch]
cmp	eax, edi
jz	short loc_101F832
mov	[eax+2Ch], edi
mov	[eax+28h], edi

loc_101F832:
mov	ecx, ebx
call	sub_10241CB
call	sub_1013D8D
cmp	dword_103E768, edi
jnz	short loc_101F888
push	14h		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	[ebp-274h], eax
cmp	eax, edi
mov	[ebp-4], edi
jz	short loc_101F864
mov	ecx, eax
call	sub_100CA69
jmp	short loc_101F866

loc_101F864:
xor	eax, eax

loc_101F866:
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	dword_103E768, eax
cmp	[eax+0Ch], edi
jnz	short loc_101F888
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
or	eax, 0FFFFFFFFh
jmp	loc_101FAA0

loc_101F888:		; unsigned int
push	6Ch
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	[ebp-274h], eax
cmp	eax, edi
mov	dword ptr [ebp-4], 1
mov	esi, offset off_1004900
jz	short loc_101F8C2
push	esi
push	offset off_100421C
push	offset off_1003F60
push	2
mov	ecx, eax
call	??0CSingleDocTemplate@@QAE@IPAUCRuntimeClass@@00@Z ; CSingleDocTemplate::CSingleDocTemplate(uint,CRuntimeClass *,CRuntimeClass *,CRuntimeClass *)
mov	[ebp-278h], eax
jmp	short loc_101F8C8

loc_101F8C2:
mov	[ebp-278h], edi

loc_101F8C8:
mov	ecx, [ebp-278h]
or	dword ptr [ebp-4], 0FFFFFFFFh
push	esi
push	offset off_1003948
push	4
push	5
call	?SetServerInfo@CDocTemplate@@QAEXIIPAUCRuntimeClass@@0@Z ; CDocTemplate::SetServerInfo(uint,uint,CRuntimeClass *,CRuntimeClass *)
push	dword ptr [ebp-278h]
mov	ecx, ebx
call	?AddDocTemplate@CWinApp@@QAEXPAVCDocTemplate@@@Z ; CWinApp::AddDocTemplate(CDocTemplate	*)
push	1
push	dword ptr [ebp-278h]
lea	ecx, [ebx+0C4h]
push	offset dword_10046F8
call	?ConnectTemplate@COleTemplateServer@@QAEXABU_GUID@@PAVCDocTemplate@@H@Z	; COleTemplateServer::ConnectTemplate(_GUID const &,CDocTemplate *,int)
mov	ecx, ebx
call	?RunEmbedded@CWinApp@@QAEHXZ ; CWinApp::RunEmbedded(void)
cmp	eax, edi
mov	[ebx+138h], eax
jnz	loc_101FA98
mov	ecx, ebx
call	?RunAutomated@CWinApp@@QAEHXZ ;	CWinApp::RunAutomated(void)
test	eax, eax
jnz	loc_101FA98
mov	ecx, ebx
call	sub_101EDAE
cmp	[ebx+168h], edi
jz	short loc_101F978
mov	eax, [ebx+170h]
cmp	[eax-8], edi
jz	short loc_101F96F
mov	ecx, [ebx+16Ch]
cmp	[ecx-8], edi
jz	short loc_101F96F
lea	ecx, [ebp-20h]
push	ecx		; pclsid
push	eax		; lpsz
call	ds:CLSIDFromString
test	eax, eax
jnz	short loc_101F96F
push	4
pop	ecx
mov	edi, offset dword_10074D8
lea	esi, [ebp-20h]
xor	eax, eax
repe cmpsd
jz	short loc_101F976

loc_101F96F:
xor	eax, eax
jmp	loc_101FAA0

loc_101F976:
xor	edi, edi

loc_101F978:
lea	esi, [ebx+158h]
mov	eax, [esi]
cmp	[eax-8], edi
jnz	short loc_101F991
mov	ecx, ebx
call	sub_101F477
jmp	loc_101FA55

loc_101F991:		; FullPath
push	eax
lea	eax, [ebp-274h]
push	eax		; int
call	sub_100D041
mov	eax, [ebp-274h]
cmp	[eax-8], edi
mov	dword ptr [ebp-4], 2
jnz	short loc_101F9E1
mov	ecx, [ebp-278h]
mov	eax, [ecx]
push	4
lea	edx, [ebp-274h]
push	edx
call	dword ptr [eax+6Ch]
test	eax, eax
jz	short loc_101F9E1
mov	eax, [ebp-274h]
cmp	[eax-8], edi
jz	short loc_101F9E1
lea	eax, [ebp-274h]
push	eax
mov	ecx, esi
call	??YCString@@QAEABV0@ABV0@@Z ; CString::operator+=(CString const	&)

loc_101F9E1:
mov	eax, [esi]
lea	ecx, [ebp-270h]
push	ecx		; lpFindFileData
push	eax		; lpFileName
call	ds:FindFirstFileW
cmp	eax, 0FFFFFFFFh
jz	short loc_101FA39
push	eax		; hFindFile
call	ds:FindClose
push	5Ch
mov	ecx, esi
call	?ReverseFind@CString@@QBEHG@Z ;	CString::ReverseFind(ushort)
mov	edi, eax
cmp	edi, 0FFFFFFFFh
jnz	short loc_101FA18
push	3Ah
mov	ecx, esi
call	?ReverseFind@CString@@QBEHG@Z ;	CString::ReverseFind(ushort)
mov	edi, eax

loc_101FA18:
inc	edi
push	edi
mov	ecx, esi
call	?GetBuffer@CString@@QAEPAGH@Z ;	CString::GetBuffer(int)
push	edi
mov	ecx, esi
call	?ReleaseBuffer@CString@@QAEXH@Z	; CString::ReleaseBuffer(int)
lea	eax, [ebp-244h]
push	eax
mov	ecx, esi
call	??YCString@@QAEABV0@PBG@Z ; CString::operator+=(ushort const *)
xor	edi, edi

loc_101FA39:
mov	esi, [esi]
mov	eax, [ebx]
push	esi
mov	ecx, ebx
call	dword ptr [eax+84h]
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-274h]
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_101FA55:
mov	ecx, [ebx+20h]
cmp	ecx, edi
jz	short loc_101FA9D
push	1
call	?DragAcceptFiles@CWnd@@QAEXH@Z ; CWnd::DragAcceptFiles(int)
cmp	[ebx+168h], edi
jz	short loc_101FA9D
mov	eax, [ebx+20h]
mov	ecx, [eax+354h]
push	dword ptr [ebx+16Ch]
mov	eax, [ecx]
call	dword ptr [eax+0Ch]
mov	eax, [ebx+20h]
push	edi		; lParam
push	9322h		; wParam
push	111h		; Msg
push	dword ptr [eax+20h] ; hWnd
call	ds:PostMessageW
jmp	short loc_101FA9D

loc_101FA98:		; COleObjectFactory::RegisterAll(void)
call	?RegisterAll@COleObjectFactory@@SGHXZ

loc_101FA9D:
xor	eax, eax
inc	eax

loc_101FAA0:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
mov	ecx, [ebp-10h]
pop	ebx
call	sub_1032F53
leave
retn
sub_101F77C endp

db 5 dup(0CCh)



sub_101FABC proc near
mov	edi, edi
push	esi
mov	esi, ecx
mov	ax, [esi+120h]
test	al, 8
jz	loc_101FB5E
test	al, 10h
push	edi
mov	edi, ds:GetTickCount
jnz	short loc_101FAF6
call	edi ; GetTickCount
mov	ecx, [esi+330h]
add	ecx, 0EA60h
cmp	eax, ecx
jnb	short loc_101FAF6
and	byte ptr [esi+120h], 0F7h
jmp	short loc_101FB5D

loc_101FAF6:
cmp	dword ptr [esi+144h], 0
jz	short loc_101FB5D
test	byte ptr [esi+120h], 10h
lea	eax, [esi+334h]
jnz	short loc_101FB14
lea	eax, [esi+338h]

loc_101FB14:
mov	eax, [eax]
push	0		; unsigned int
push	2010h		; unsigned int
push	eax		; unsigned __int16 *
call	?AfxMessageBox@@YGHPBGII@Z ; AfxMessageBox(ushort const	*,uint,uint)
cmp	eax, 1
jnz	short loc_101FB37
and	byte ptr [esi+120h], 0E7h
call	edi ; GetTickCount
mov	[esi+330h], eax

loc_101FB37:
mov	eax, [esi+20h]
push	dword ptr [eax+0F8h] ; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_101FB5D
mov	eax, [esi+20h]
push	0		; bErase
push	0		; lpRect
push	dword ptr [eax+0F8h] ; hWnd
call	ds:InvalidateRect

loc_101FB5D:
pop	edi

loc_101FB5E:
pop	esi
retn
sub_101FABC endp

db 5 dup(0CCh)
mov	eax, offset loc_10366ED
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, ecx
lea	ecx, [ebp-14h]
call	??0CString@@QAE@XZ ; CString::CString(void)
and	dword ptr [ebp-4], 0
lea	ecx, [ebp-10h]
call	??0CString@@QAE@XZ ; CString::CString(void)
push	2
mov	ecx, esi
mov	byte ptr [ebp-4], 1
call	sub_101F4DA
push	0E000h
lea	ecx, [ebp-14h]
mov	esi, eax
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
push	0ACC3h
lea	ecx, [ebp-10h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
call	sub_100C004
test	eax, eax
jz	short loc_101FBBD
mov	eax, [eax+20h]

loc_101FBBD:
push	esi
push	dword ptr [ebp-10h]
push	dword ptr [ebp-14h]
push	eax
call	ds:ShellAboutW
test	esi, esi
jz	short loc_101FBD6
push	esi
call	ds:DestroyIcon

loc_101FBD6:
lea	ecx, [ebp-10h]
mov	byte ptr [ebp-4], 0
call	??1CString@@QAE@XZ ; CString::~CString(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-14h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
align 10h


; Attributes: bp-based frame

; int __stdcall	sub_101FC00(unsigned __int16 *)
sub_101FC00 proc near

var_20C= word ptr -20Ch
var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 20Ch
mov	eax, ___security_cookie
push	esi
push	edi
mov	edi, [ebp+arg_0]
mov	[ebp+var_4], eax
push	0
mov	esi, ecx
call	sub_101F443
push	edi		; unsigned __int16 *
lea	eax, [ebp+var_20C]
push	eax		; unsigned __int16 *
call	?AfxFullPath@@YGHPAGPBG@Z ; AfxFullPath(ushort *,ushort	const *)
mov	ecx, [esi+84h]
mov	eax, [ecx]
lea	edx, [ebp+var_20C]
push	edx
call	dword ptr [eax+24h]
mov	ecx, [ebp+var_4]
pop	edi
pop	esi
call	sub_1032F53
leave
retn	4
sub_101FC00 endp

db 5 dup(0CCh)



sub_101FC53 proc near

var_380= dword ptr -380h

mov	eax, offset loc_10367B8
call	sub_1034E18
sub	esp, 370h
mov	eax, ___security_cookie
push	ebx
mov	[ebp-10h], eax
mov	eax, [ebp+8]
push	edi
push	dword ptr [ebp+14h]
mov	[ebp-36Ch], eax
mov	eax, [ebp+18h]
mov	ebx, ecx
xor	edi, edi
lea	ecx, [ebp-344h]
mov	[ebp-370h], eax
mov	[ebp-338h], edi
call	sub_1035424
cmp	[ebp-340h], edi
mov	[ebp-4], edi
jz	loc_10206C2
lea	ecx, [ebp-364h]
call	??0CString@@QAE@XZ ; CString::CString(void)
push	dword ptr [ebp+0Ch]
lea	ecx, [ebp-364h]
mov	byte ptr [ebp-4], 1
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
mov	ecx, [ebp+10h]
or	ecx, 80000h
cmp	[ebp+14h], edi
jnz	short loc_101FCD4
or	ecx, 2

loc_101FCD4:
mov	eax, [ebp-340h]
or	[eax+34h], ecx
mov	eax, [ebp-340h]
and	dword ptr [eax+34h], 0FFFFFFEFh
push	esi
lea	ecx, [ebp-334h]
call	??0CString@@QAE@XZ ; CString::CString(void)
mov	ecx, [ebx+84h]
mov	eax, [ecx]
mov	byte ptr [ebp-4], 2
xor	esi, esi
call	dword ptr [eax+18h]
cmp	eax, edi
mov	[ebp-374h], eax
jz	short loc_101FD22
mov	ecx, [ebx+84h]
mov	eax, [ecx]
lea	edx, [ebp-374h]
push	edx
call	dword ptr [eax+1Ch]
mov	esi, eax

loc_101FD22:
lea	ecx, [ebp-348h]
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [ebp-350h]
mov	byte ptr [ebp-4], 3
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [ebp-354h]
mov	byte ptr [ebp-4], 4
call	??0CString@@QAE@XZ ; CString::CString(void)
mov	eax, [esi]
push	4
lea	ecx, [ebp-348h]
push	ecx
mov	ecx, esi
mov	byte ptr [ebp-4], 5
call	dword ptr [eax+6Ch]
mov	eax, [esi]
push	3
lea	ecx, [ebp-350h]
push	ecx
mov	ecx, esi
call	dword ptr [eax+6Ch]
mov	eax, [ebp-348h]
mov	ecx, [ebp-340h]
add	eax, 2
cmp	[ebp+14h], edi
mov	[ecx+3Ch], eax
jz	loc_101FEEE
lea	eax, [ebp-350h]
push	eax
lea	ecx, [ebp-334h]
call	??4CString@@QAEABV0@ABV0@@Z ; CString::operator=(CString const &)
push	edi
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@G@Z	; CString::operator+=(ushort)
lea	eax, [ebp-348h]
push	eax
push	offset asc_10048C8 ; "*"
lea	eax, [ebp-33Ch]
push	eax
call	??H@YG?AVCString@@PBGABV0@@Z ; operator+(ushort	const *,CString	const &)
push	eax
lea	ecx, [ebp-334h]
mov	byte ptr [ebp-4], 6
call	??YCString@@QAEABV0@ABV0@@Z ; CString::operator+=(CString const	&)
lea	ecx, [ebp-33Ch]
mov	byte ptr [ebp-4], 5
call	??1CString@@QAE@XZ ; CString::~CString(void)
push	1Ch
lea	ecx, [ebp-348h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
lea	eax, [ebp-348h]
push	eax
mov	esi, offset asc_10048C0	; ";*"
push	esi
lea	eax, [ebp-33Ch]
push	eax
call	??H@YG?AVCString@@PBGABV0@@Z ; operator+(ushort	const *,CString	const &)
push	eax
lea	ecx, [ebp-334h]
mov	byte ptr [ebp-4], 7
call	??YCString@@QAEABV0@ABV0@@Z ; CString::operator+=(CString const	&)
lea	ecx, [ebp-33Ch]
mov	byte ptr [ebp-4], 5
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	eax, [ebp-348h]
push	eax
push	esi
lea	eax, [ebp-33Ch]
push	eax
call	??H@YG?AVCString@@PBGABV0@@Z ; operator+(ushort	const *,CString	const &)
push	eax
lea	ecx, [ebp-354h]
mov	byte ptr [ebp-4], 8
call	??YCString@@QAEABV0@ABV0@@Z ; CString::operator+=(CString const	&)
lea	ecx, [ebp-33Ch]
mov	byte ptr [ebp-4], 5
call	??1CString@@QAE@XZ ; CString::~CString(void)
push	6
lea	ecx, [ebp-348h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
lea	eax, [ebp-348h]
push	eax
push	esi
lea	eax, [ebp-33Ch]
push	eax
call	??H@YG?AVCString@@PBGABV0@@Z ; operator+(ushort	const *,CString	const &)
push	eax
lea	ecx, [ebp-354h]
mov	byte ptr [ebp-4], 9
call	??YCString@@QAEABV0@ABV0@@Z ; CString::operator+=(CString const	&)
lea	ecx, [ebp-33Ch]
mov	byte ptr [ebp-4], 5
call	??1CString@@QAE@XZ ; CString::~CString(void)
push	1Dh
lea	ecx, [ebp-348h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
lea	eax, [ebp-348h]
push	eax
push	esi
lea	eax, [ebp-33Ch]
push	eax
call	??H@YG?AVCString@@PBGABV0@@Z ; operator+(ushort	const *,CString	const &)
mov	byte ptr [ebp-4], 0Ah
push	eax
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@ABV0@@Z ; CString::operator+=(CString const	&)
lea	ecx, [ebp-33Ch]
mov	byte ptr [ebp-4], 5
call	??1CString@@QAE@XZ ; CString::~CString(void)
push	edi
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@G@Z	; CString::operator+=(ushort)
mov	eax, [ebp-340h]
inc	dword ptr [eax+14h]
jmp	short loc_101FF6D

loc_101FEEE:
push	0Dh
pop	esi

loc_101FEF1:
push	esi
lea	ecx, [ebp-350h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
lea	eax, [ebp-350h]
push	eax
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@ABV0@@Z ; CString::operator+=(CString const	&)
push	edi
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@G@Z	; CString::operator+=(ushort)
lea	eax, [ebp-348h]
push	eax
push	offset asc_10048C8 ; "*"
lea	eax, [ebp-33Ch]
push	eax
call	??H@YG?AVCString@@PBGABV0@@Z ; operator+(ushort	const *,CString	const &)
push	eax
lea	ecx, [ebp-334h]
mov	byte ptr [ebp-4], 0Bh
call	??YCString@@QAEABV0@ABV0@@Z ; CString::operator+=(CString const	&)
lea	ecx, [ebp-33Ch]
mov	byte ptr [ebp-4], 5
call	??1CString@@QAE@XZ ; CString::~CString(void)
push	edi
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@G@Z	; CString::operator+=(ushort)
mov	eax, [ebp-340h]
inc	dword ptr [eax+14h]
inc	esi
cmp	esi, 10h
jle	short loc_101FEF1

loc_101FF6D:
cmp	[ebp+14h], edi
lea	eax, [ebp-358h]
push	eax
lea	eax, [ebp-35Ch]
mov	[ebp-358h], edi
mov	[ebp-35Ch], edi
push	eax
jz	short loc_101FF93
call	sub_1030511
jmp	short loc_101FF98

loc_101FF93:
call	sub_10305AD

loc_101FF98:
cmp	[ebp-35Ch], edi
jz	loc_1020203
cmp	[ebp+1Ch], edi
jnz	loc_1020203
push	dword ptr [ebx+2FCh] ; void *
call	??3@YAXPAX@Z	; operator delete(void *)
mov	eax, [ebp-35Ch]
shl	eax, 4
push	eax		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
cmp	[ebp-35Ch], edi
pop	ecx
pop	ecx
mov	[ebx+2FCh], eax
mov	[ebx+2F8h], edi
mov	[ebp-33Ch], edi
jbe	loc_1020122
mov	[ebp-338h], edi

loc_101FFED:
mov	ecx, [ebp-338h]
mov	eax, [ebp-358h]
lea	eax, [ecx+eax+10h]
push	4
pop	ecx
mov	edi, offset dword_1007568
mov	esi, eax
xor	edx, edx
repe cmpsd
jz	loc_1020101
push	4
pop	ecx
mov	edi, offset dword_1007558
mov	esi, eax
xor	edx, edx
repe cmpsd
jz	loc_1020101
push	4
pop	ecx
mov	edi, offset dword_1007548
mov	esi, eax
xor	edx, edx
repe cmpsd
jz	loc_1020101
mov	edi, [ebx+2F8h]
mov	ecx, [ebp-338h]
shl	edi, 4
add	edi, [ebx+2FCh]
mov	esi, eax
movsd
movsd
movsd
movsd
mov	eax, [ebp-358h]
inc	dword ptr [ebx+2F8h]
push	dword ptr [ecx+eax+28h]
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@PBG@Z ; CString::operator+=(ushort const *)
push	offset asc_10048B8 ; " ("
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@PBG@Z ; CString::operator+=(ushort const *)
mov	eax, [ebp-358h]
mov	esi, [ebp-338h]
push	dword ptr [esi+eax+2Ch]
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@PBG@Z ; CString::operator+=(ushort const *)
push	29h
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@G@Z	; CString::operator+=(ushort)
push	0
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@G@Z	; CString::operator+=(ushort)
mov	eax, [ebp-358h]
push	dword ptr [esi+eax+2Ch]
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@PBG@Z ; CString::operator+=(ushort const *)
push	0
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@G@Z	; CString::operator+=(ushort)
push	3Bh
lea	ecx, [ebp-354h]
call	??YCString@@QAEABV0@G@Z	; CString::operator+=(ushort)
mov	eax, [ebp-358h]
push	dword ptr [esi+eax+2Ch]
lea	ecx, [ebp-354h]
call	??YCString@@QAEABV0@PBG@Z ; CString::operator+=(ushort const *)
mov	eax, [ebp-340h]
inc	dword ptr [eax+14h]

loc_1020101:
inc	dword ptr [ebp-33Ch]
mov	eax, [ebp-33Ch]
add	dword ptr [ebp-338h], 4Ch
cmp	eax, [ebp-35Ch]
jb	loc_101FFED
xor	edi, edi

loc_1020122:		; hMem
push	dword ptr [ebp-358h]
call	ds:LocalFree

loc_102012E:
cmp	[ebp+14h], edi
jz	loc_1020469
push	21h
lea	ecx, [ebp-350h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
lea	eax, [ebp-350h]
push	eax
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@ABV0@@Z ; CString::operator+=(CString const	&)
push	edi
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@G@Z	; CString::operator+=(ushort)
lea	eax, [ebp-354h]
push	eax
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@ABV0@@Z ; CString::operator+=(CString const	&)
push	edi
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@G@Z	; CString::operator+=(ushort)
mov	eax, [ebp-340h]
inc	dword ptr [eax+14h]
lea	eax, [ebx+310h]
cmp	dword ptr [eax], 0FFFFFFFFh
jnz	short loc_102019F
mov	ecx, [ebp-340h]
mov	ecx, [ecx+14h]
mov	[eax], ecx

loc_102019F:
push	13h
lea	ecx, [ebp-350h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
lea	eax, [ebp-350h]
push	eax
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@ABV0@@Z ; CString::operator+=(CString const	&)
push	edi
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@G@Z	; CString::operator+=(ushort)
push	offset a_	; "*.*"
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@PBG@Z ; CString::operator+=(ushort const *)
push	edi
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@G@Z	; CString::operator+=(ushort)
mov	eax, [ebp-340h]
inc	dword ptr [eax+14h]

loc_10201EF:
cmp	[ebp+14h], edi
jz	loc_1020469
mov	eax, [ebx+310h]
jmp	loc_10204A6

loc_1020203:		; unsigned int
push	dword ptr [ebx+2FCh]
call	??3@YAXPAX@Z	; operator delete(void *)
mov	[esp+380h+var_380], 100h
call	??2@YAPAXI@Z	; operator new(uint)
cmp	[ebp+1Ch], edi
pop	ecx
mov	[ebx+2FCh], eax
mov	[ebp-33Ch], edi
jnz	short loc_10201EF
mov	[ebp-338h], edi

loc_1020232:
lea	eax, [ebp-378h]
push	eax		; int
push	edi		; char
push	edi		; int
push	18h		; char
lea	eax, [ebp-28h]
push	eax		; int
push	100h		; cbData
lea	eax, [ebp-128h]
push	eax		; lpData
push	dword ptr [ebp-33Ch] ; dwIndex
push	dword ptr [ebp+14h] ; int
call	sub_103007C
test	eax, eax
jz	loc_102012E
cmp	[ebp-378h], edi
jz	loc_102045E
cmp	[ebp-28h], di
jz	loc_102045E
cmp	[ebp-128h], di
jz	loc_102045E
mov	esi, ds:wcschr
lea	eax, [ebp-28h]
push	2Ch		; Ch
push	eax		; Str
call	esi ; wcschr
cmp	eax, edi
pop	ecx
pop	ecx
jz	short loc_102029D
mov	[eax], di

loc_102029D:
lea	eax, [ebp-28h]
push	3Bh		; Ch
push	eax		; Str
call	esi ; wcschr
cmp	eax, edi
pop	ecx
pop	ecx
jz	short loc_10202AE
mov	[eax], di

loc_10202AE:
lea	eax, [ebp-28h]
push	20h		; Ch
push	eax		; Str
call	esi ; wcschr
cmp	eax, edi
pop	ecx
pop	ecx
jz	short loc_10202BF
mov	[eax], di

loc_10202BF:
lea	eax, [ebp-28h]
push	eax		; lpString
call	ds:lstrlenW
cmp	eax, 3
jg	loc_102045E
mov	esi, ds:lstrcmpiW
push	offset aBmp	; "bmp"
lea	eax, [ebp-28h]
push	eax		; lpString1
call	esi ; lstrcmpiW
test	eax, eax
jz	loc_102045E
push	offset aDib	; "dib"
lea	eax, [ebp-28h]
push	eax		; lpString1
call	esi ; lstrcmpiW
test	eax, eax
jz	loc_102045E
push	offset aRle	; "rle"
lea	eax, [ebp-28h]
push	eax		; lpString1
call	esi ; lstrcmpiW
test	eax, eax
jz	loc_102045E
push	offset aGif	; "gif"
lea	eax, [ebp-28h]
push	eax		; lpString1
call	esi ; lstrcmpiW
test	eax, eax
jnz	short loc_102033E
mov	edi, [ebx+2FCh]
add	edi, [ebp-338h]
add	dword ptr [ebp-338h], 10h
mov	esi, offset dword_1007518
movsd
movsd
movsd
movsd
jmp	short loc_102037E

loc_102033E:		; "jpg"
push	offset aJpg
lea	eax, [ebp-28h]
push	eax		; lpString1
call	esi ; lstrcmpiW
test	eax, eax
jnz	loc_102045E
mov	edi, [ebx+2FCh]
add	edi, [ebp-338h]
add	dword ptr [ebp-338h], 10h
mov	esi, offset dword_1007538
movsd
movsd
movsd
lea	eax, [ebp-28h]
push	offset Source	; ";*.jpeg"
push	eax		; Dest
movsd
call	ds:wcscat
pop	ecx
pop	ecx

loc_102037E:
lea	eax, [ebp-128h]
push	eax
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@PBG@Z ; CString::operator+=(ushort const *)
push	offset a__0	; " ( *."
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@PBG@Z ; CString::operator+=(ushort const *)
lea	eax, [ebp-28h]
push	eax
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@PBG@Z ; CString::operator+=(ushort const *)
push	offset asc_1004864 ; " )"
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@PBG@Z ; CString::operator+=(ushort const *)
push	0
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@G@Z	; CString::operator+=(ushort)
push	offset a__1	; "*."
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@PBG@Z ; CString::operator+=(ushort const *)
lea	eax, [ebp-28h]
push	eax
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@PBG@Z ; CString::operator+=(ushort const *)
push	0
lea	ecx, [ebp-334h]
call	??YCString@@QAEABV0@G@Z	; CString::operator+=(ushort)
push	offset a__2	; ";*."
lea	eax, [ebp-354h]
push	eax
lea	eax, [ebp-360h]
push	eax
call	??H@YG?AVCString@@ABV0@PBG@Z ; operator+(CString const &,ushort	const *)
lea	ecx, [ebp-28h]
push	ecx
push	eax
lea	eax, [ebp-368h]
push	eax
mov	byte ptr [ebp-4], 0Ch
call	??H@YG?AVCString@@ABV0@PBG@Z ; operator+(CString const &,ushort	const *)
push	eax
lea	ecx, [ebp-354h]
mov	byte ptr [ebp-4], 0Dh
call	??4CString@@QAEABV0@ABV0@@Z ; CString::operator=(CString const &)
lea	ecx, [ebp-368h]
mov	byte ptr [ebp-4], 0Ch
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [ebp-360h]
mov	byte ptr [ebp-4], 5
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	eax, [ebp-340h]
inc	dword ptr [eax+14h]
xor	edi, edi

loc_102045E:
inc	dword ptr [ebp-33Ch]
jmp	loc_1020232

loc_1020469:
lea	eax, [ebx+300h]
push	4
pop	ecx
mov	edi, offset dword_1007588
mov	esi, eax
xor	edx, edx
repe cmpsd
jz	short loc_1020490
push	eax
mov	ecx, ebx
call	sub_101F490
test	eax, eax
jz	short loc_1020490
add	eax, 4
jmp	short loc_10204A4

loc_1020490:
mov	eax, [ebx+314h]
cmp	eax, 4
jge	short loc_10204A4
mov	eax, [ebp-370h]
mov	eax, [eax]
inc	eax

loc_10204A4:
xor	edi, edi

loc_10204A6:
mov	ecx, [ebp-340h]
mov	[ecx+18h], eax
mov	eax, [ebp-340h]
mov	ecx, [ebp-334h]
mov	[eax+0Ch], ecx
call	sub_100C004
cmp	eax, edi
jnz	short loc_10204CB
xor	eax, eax
jmp	short loc_10204CE

loc_10204CB:
mov	eax, [eax+20h]

loc_10204CE:
mov	ecx, [ebp-340h]
mov	[ecx+4], eax
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	eax, [eax+0Ch]
mov	ecx, [ebp-340h]
mov	[ecx+8], eax
mov	ecx, [ebp-364h]
mov	eax, [ebp-340h]
mov	[eax+30h], ecx
mov	ecx, [ebp-36Ch]
mov	esi, 104h
push	esi
call	?GetBuffer@CString@@QAEPAGH@Z ;	CString::GetBuffer(int)
mov	ecx, [ebp-340h]
mov	[ecx+1Ch], eax
mov	eax, [ebp-340h]
push	esi		; cchBufferMax
mov	[eax+20h], esi
lea	eax, [ebp-330h]
push	eax		; lpBuffer
push	0F003h		; uID
push	edi		; lpModuleName
call	ds:GetModuleHandleW
push	eax		; hInstance
call	ds:LoadStringW
lea	eax, [ebp-368h]
mov	esi, offset unk_103EE08
push	eax
mov	ecx, esi
call	sub_101CD59
cmp	[eax], edi
mov	byte ptr [ebp-4], 0Eh
mov	dword ptr [ebp-338h], 1
jz	short loc_1020580
lea	eax, [ebp-360h]
push	eax
mov	ecx, esi
call	sub_101CD59
mov	eax, [eax]
cmp	[eax], di
mov	dword ptr [ebp-338h], 3
mov	byte ptr [ebp-349h], 0
jnz	short loc_1020587

loc_1020580:
mov	byte ptr [ebp-349h], 1

loc_1020587:
test	byte ptr [ebp-338h], 2
jz	short loc_10205A2
and	dword ptr [ebp-338h], 0FFFFFFFDh
lea	ecx, [ebp-360h]
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10205A2:
test	byte ptr [ebp-338h], 1
mov	dword ptr [ebp-4], 5
jz	short loc_10205BD
lea	ecx, [ebp-368h]
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10205BD:
cmp	byte ptr [ebp-349h], 0
jz	short loc_102060B
mov	eax, dword_103F150
cmp	eax, edi
jnz	short loc_10205EF
push	offset aShgetspecialfo ; "SHGetSpecialFolderPathW"
push	offset ModuleName ; "shell32.dll"
call	ds:GetModuleHandleW
push	eax		; hModule
call	ds:GetProcAddress
cmp	eax, edi
mov	dword_103F150, eax
jz	short loc_102060B

loc_10205EF:
push	edi
push	27h
lea	ecx, [ebp-330h]
push	ecx
push	edi
call	eax ; dword_103F150
mov	ecx, [ebp-340h]
lea	eax, [ebp-330h]
mov	[ecx+2Ch], eax

loc_102060B:
lea	ecx, [ebp-344h]
call	sub_103546F
mov	ecx, [ebp-36Ch]
mov	esi, eax
dec	esi
neg	esi
sbb	esi, esi
push	0FFFFFFFFh
inc	esi
call	?ReleaseBuffer@CString@@QAEXH@Z	; CString::ReleaseBuffer(int)
cmp	[ebp+14h], edi
mov	eax, [ebp-340h]
mov	ecx, [eax+18h]
jz	short loc_1020641
mov	[ebx+310h], ecx
jmp	short loc_1020647

loc_1020641:
mov	[ebx+314h], ecx

loc_1020647:
mov	ecx, [eax+18h]
mov	edx, [ebp-370h]
dec	ecx
mov	[edx], ecx
movzx	ecx, word ptr [eax+3Ah]
mov	eax, [eax+1Ch]
lea	eax, [eax+ecx*2]
push	eax
lea	ecx, [ebp-37Ch]
call	??0CString@@QAE@PBG@Z ;	CString::CString(ushort	const *)
lea	ecx, [ebp-37Ch]
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [ebp-354h]
mov	byte ptr [ebp-4], 4
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [ebp-350h]
mov	byte ptr [ebp-4], 3
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [ebp-348h]
mov	byte ptr [ebp-4], 2
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [ebp-334h]
mov	byte ptr [ebp-4], 1
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [ebp-364h]
mov	byte ptr [ebp-4], 0
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	edi, esi
pop	esi

loc_10206C2:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-344h]
call	sub_1035460
mov	ecx, [ebp-0Ch]
mov	eax, edi
pop	edi
mov	large fs:0, ecx
mov	ecx, [ebp-10h]
pop	ebx
call	sub_1032F53
leave
retn	18h
sub_101FC53 endp

align 10h


; Attributes: bp-based frame

sub_10206F0 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	esi, ecx
xor	edi, edi
cmp	[esi+140h], edi
jz	short loc_102070D
push	[ebp+arg_0]
call	?OnIdle@CWinApp@@UAEHJ@Z ; CWinApp::OnIdle(long)
jmp	short loc_1020767

loc_102070D:
cmp	[ebp+arg_0], edi
jnz	short loc_102074B
cmp	[esi+120h], di
jz	short loc_1020729
mov	ecx, esi
call	sub_101F3F2
mov	ecx, esi
call	sub_101FABC

loc_1020729:
cmp	[esi+328h], edi
jz	short loc_102074B
cmp	[esi+20h], edi
jz	short loc_102074B
call	sub_100C004
push	edi		; lParam
push	edi		; wParam
push	7E9h		; Msg
push	dword ptr [eax+20h] ; hWnd
call	ds:PostMessageW

loc_102074B:
call	sub_1014177
push	[ebp+arg_0]
mov	ecx, esi
call	?OnIdle@CWinApp@@UAEHJ@Z ; CWinApp::OnIdle(long)
test	eax, eax
jnz	short loc_1020764
cmp	[ebp+arg_0], 4
jg	short loc_1020767

loc_1020764:
xor	eax, eax
inc	eax

loc_1020767:
pop	edi
pop	esi
pop	ebp
retn	4
sub_10206F0 endp

db 5 dup(0CCh)
mov	eax, offset loc_10367CF
call	sub_1034E18
sub	esp, 0Ch
push	ebx
push	edi
xor	ebx, ebx
push	ebx
mov	edi, ecx
call	sub_101F443
lea	ecx, [ebp-10h]
call	??0CString@@QAE@XZ ; CString::CString(void)
push	ebx
lea	eax, [ebp-14h]
push	eax
push	1
push	1004h
push	0F000h
lea	eax, [ebp-10h]
push	eax
mov	ecx, edi
mov	[ebp-4], ebx
mov	[ebp-14h], ebx
call	sub_101FC53
test	eax, eax
jnz	short loc_10207CA
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-10h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
jmp	loc_102085C

loc_10207CA:
push	esi
call	sub_100C004
mov	edx, [eax]
mov	ecx, eax
call	dword ptr [edx+0C4h]
mov	esi, eax
cmp	esi, ebx
jz	short loc_102084F
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+98h]
test	eax, eax
jz	short loc_102084F
mov	eax, [esi]
push	ebx
mov	ecx, esi
call	dword ptr [eax+64h]
push	dword ptr [ebp-10h]
mov	eax, [edi]
mov	ecx, edi
call	dword ptr [eax+84h]
test	eax, eax
jnz	short loc_102084F
mov	ecx, edi
call	?GetFirstDocTemplatePosition@CWinApp@@QBEPAU__POSITION@@XZ ; CWinApp::GetFirstDocTemplatePosition(void)
mov	[ebp-14h], eax
lea	eax, [ebp-14h]
push	eax
mov	ecx, edi
call	?GetNextDocTemplate@CWinApp@@QBEPAVCDocTemplate@@AAPAU__POSITION@@@Z ; CWinApp::GetNextDocTemplate(__POSITION *	&)
mov	esi, eax
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+5Ch]
lea	ecx, [ebp-18h]
mov	[ebp-18h], eax
mov	eax, [esi]
push	ecx
mov	ecx, esi
call	dword ptr [eax+60h]
lea	esi, [eax+0F0h]
mov	ecx, [esi]
cmp	ecx, ebx
jz	short loc_1020848
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]
mov	[esi], ebx

loc_1020848:
mov	ecx, edi
call	sub_101F477

loc_102084F:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-10h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
pop	esi

loc_102085C:
mov	ecx, [ebp-0Ch]
pop	edi
pop	ebx
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)
mov	eax, ds:?interfaceMap@CCmdTarget@@1UAFX_INTERFACEMAP@@B	; AFX_INTERFACEMAP const CCmdTarget::interfaceMap
retn
db 5 dup(0CCh)



sub_102087A proc near
mov	eax, 10048E0h
retn
sub_102087A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1020885 proc near

var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 0Ch
push	esi
mov	esi, ecx
call	?PreModal@CDialog@@IAEPAUHWND__@@XZ ; CDialog::PreModal(void)
mov	ecx, [esi+60h]
mov	[ecx+4], eax
call	?AfxUnhookWindowCreate@@YGHXZ ;	AfxUnhookWindowCreate(void)
mov	eax, [esi+60h]
mov	ecx, [eax+4]
mov	[esi+0B0h], ecx
mov	ecx, [eax+8]
mov	[esi+0B4h], ecx
mov	ecx, [eax+0Ch]
mov	[esi+0B8h], ecx
mov	ecx, [eax+10h]
mov	[esi+0BCh], ecx
movzx	ecx, word ptr [eax+1Ch]
mov	[esi+0D8h], ecx
movzx	ecx, word ptr [eax+1Eh]
mov	[esi+0DCh], ecx
mov	ecx, [eax+22h]
or	dword ptr [esi+0F8h], 0FFFFFFFFh
test	byte ptr [esi+0C0h], 8
mov	[esi+0E4h], ecx
movzx	ecx, word ptr [eax+20h]
mov	[esi+0E0h], ecx
lea	ecx, [esi+0A8h]
mov	[esi+0ECh], ecx
jz	short loc_102091A
xor	eax, eax
mov	[esi+0CCh], eax
mov	[esi+0D0h], eax
jmp	short loc_102093A

loc_102091A:
movzx	ecx, word ptr [eax+18h]
mov	[ebp+var_C], ecx
movzx	eax, word ptr [eax+1Ah]
mov	[ebp+var_8], eax
xor	eax, eax
inc	eax
mov	[esi+0CCh], eax
mov	[esi+0D0h], eax
lea	eax, [ebp+var_C]

loc_102093A:
push	ebx
push	offset aComdlg32_dll_1 ; "COMDLG32.DLL"
mov	[esi+0D4h], eax
call	ds:GetModuleHandleA
push	offset aPrintdlgexw ; "PrintDlgExW"
push	eax		; hModule
call	ds:GetProcAddress
mov	ebx, eax
test	ebx, ebx
mov	[ebp+var_4], 80004001h
jz	short loc_1020981
push	edi
call	?AfxGetThreadState@@YGPAV_AFX_THREAD_STATE@@XZ ; AfxGetThreadState(void)
mov	edi, eax
lea	eax, [esi+0ACh]
push	eax
mov	[edi+18h], esi
call	ebx
and	dword ptr [edi+18h], 0
mov	[ebp+var_4], eax
pop	edi

loc_1020981:
mov	ecx, esi
call	?PostModal@CDialog@@IAEXXZ ; CDialog::PostModal(void)
test	byte ptr [esi+0C0h], 8
pop	ebx
jnz	short loc_10209CF
mov	eax, [esi+0D4h]
mov	ax, [eax+4]
mov	ecx, [esi+60h]
mov	[ecx+1Ah], ax
mov	eax, [esi+0D4h]
mov	ax, [eax]
mov	ecx, [esi+60h]
mov	[ecx+18h], ax
mov	eax, [esi+60h]
mov	cx, [esi+0D8h]
mov	[eax+1Ch], cx
mov	eax, [esi+60h]
mov	cx, [esi+0DCh]
mov	[eax+1Eh], cx

loc_10209CF:
cmp	[ebp+var_4], 0
mov	eax, [esi+60h]
mov	ecx, [esi+0B4h]
mov	[eax+8], ecx
mov	eax, [esi+60h]
mov	ecx, [esi+0B8h]
mov	[eax+0Ch], ecx
mov	eax, [esi+60h]
mov	ecx, [esi+0BCh]
mov	[eax+10h], ecx
mov	eax, [esi+60h]
mov	cx, [esi+0E0h]
push	2
mov	[eax+20h], cx
pop	eax
jl	short loc_1020A16
cmp	dword ptr [esi+0FCh], 1
jnz	short loc_1020A16
xor	eax, eax
inc	eax

loc_1020A16:
pop	esi
leave
retn
sub_1020885 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1020A1E proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ebp+arg_0]
add	ecx, 0FFFFFF58h
call	?ExternalAddRef@CCmdTarget@@QAEKXZ ; CCmdTarget::ExternalAddRef(void)
pop	ebp
retn	4
sub_1020A1E endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1020A3A proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ebp+arg_0]
add	ecx, 0FFFFFF58h
call	?ExternalRelease@CCmdTarget@@QAEKXZ ; CCmdTarget::ExternalRelease(void)
pop	ebp
retn	4
sub_1020A3A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1020A56 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+arg_8]
mov	ecx, [ebp+arg_0]
push	[ebp+arg_4]
add	ecx, 0FFFFFF58h
call	?ExternalQueryInterface@CCmdTarget@@QAEKPBXPAPAX@Z ; CCmdTarget::ExternalQueryInterface(void const *,void * *)
pop	ebp
retn	0Ch
sub_1020A56 endp

align 8



sub_1020A78 proc near
xor	eax, eax
inc	eax
retn
sub_1020A78 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1020A81(HWND, int, unsigned	int, __int32, int)
sub_1020A81 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h
arg_10=	dword ptr  18h

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
call	?AfxGetThreadState@@YGPAV_AFX_THREAD_STATE@@XZ ; AfxGetThreadState(void)
mov	esi, eax
mov	ecx, [esi+18h]
test	ecx, ecx
jz	short loc_1020AA1
push	[ebp+arg_0]
call	?SubclassWindow@CWnd@@QAEHPAUHWND__@@@Z	; CWnd::SubclassWindow(HWND__ *)
and	dword ptr [esi+18h], 0

loc_1020AA1:
mov	eax, 110h
cmp	[ebp+arg_4], eax
pop	esi
jnz	short loc_1020AC0
push	[ebp+arg_C]	; __int32
push	[ebp+arg_8]	; unsigned int
push	eax		; unsigned int
push	[ebp+arg_0]	; HWND
call	?AfxDlgProc@@YGHPAUHWND__@@IIJ@Z ; AfxDlgProc(HWND__ *,uint,uint,long)
mov	ecx, [ebp+arg_10]
mov	[ecx], eax

loc_1020AC0:
xor	eax, eax
inc	eax
pop	ebp
retn	14h
sub_1020A81 endp

db 5 dup(0CCh)

loc_1020ACC:		; CRuntimeClass	const CPrintDialog::classCPrintDialog
mov	eax, ds:?classCPrintDialog@CPrintDialog@@2UCRuntimeClass@@B
retn
db 5 dup(0CCh)

loc_1020AD7:
mov	eax, 10048E8h
retn
db 5 dup(0CCh)
mov	eax, ds:?classCView@CView@@2UCRuntimeClass@@B ;	CRuntimeClass const CView::classCView
retn
db 5 dup(0CCh)

loc_1020AED:
mov	eax, offset off_1004900
retn
align 8

loc_1020AF8:		; AFX_MSGMAP const CView::messageMap
mov	eax, ds:?messageMap@CView@@1UAFX_MSGMAP@@B
retn
db 5 dup(0CCh)



sub_1020B03 proc near
mov	eax, offset off_1004EB8
retn
sub_1020B03 endp

align 10h
push	esi
mov	esi, ecx
call	??0CView@@IAE@XZ ; CView::CView(void)
xor	eax, eax
mov	[esi+44h], eax
mov	[esi+4Ch], eax
mov	[esi+48h], eax
mov	dword ptr [esi], offset	off_1004F0C
mov	eax, esi
pop	esi
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1020B32 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
or	byte ptr [eax+23h], 2
or	byte ptr [eax+2Dh], 2
push	eax
call	?PreCreateWindow@CView@@MAEHAAUtagCREATESTRUCTW@@@Z ; CView::PreCreateWindow(tagCREATESTRUCTW &)
pop	ebp
retn	4
sub_1020B32 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1020B51 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_4]
test	eax, eax
jz	short loc_1020B71
mov	edx, [eax+20h]
test	edx, edx
jz	short loc_1020B71
push	eax
push	[ebp+arg_0]
mov	ecx, edx
call	sub_10232D1
jmp	short loc_1020B7A

loc_1020B71:
push	eax
push	[ebp+arg_0]
call	?OnBeginPrinting@CView@@MAEXPAVCDC@@PAUCPrintInfo@@@Z ;	CView::OnBeginPrinting(CDC *,CPrintInfo	*)

loc_1020B7A:
pop	ebp
retn	8
sub_1020B51 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1020B83 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_4]
test	esi, esi
push	edi
mov	edi, ecx
jz	short loc_1020BA7
mov	ecx, [esi+20h]
test	ecx, ecx
jz	short loc_1020BA7
push	esi
push	[ebp+arg_0]
call	sub_102353D
test	eax, eax
jnz	short loc_1020BB2

loc_1020BA7:
push	esi
push	[ebp+arg_0]
mov	ecx, edi
call	?OnPrint@CView@@MAEXPAVCDC@@PAUCPrintInfo@@@Z ;	CView::OnPrint(CDC *,CPrintInfo	*)

loc_1020BB2:
pop	edi
pop	esi
pop	ebp
retn	8
sub_1020B83 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1020BBD proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_4]
test	esi, esi
push	edi
mov	edi, ecx
jz	short loc_1020BF4
mov	ecx, [esi+20h]
test	ecx, ecx
jz	short loc_1020BE1
push	esi
push	[ebp+arg_0]
call	sub_10230D2
and	dword ptr [esi+20h], 0

loc_1020BE1:
mov	eax, [edi+54h]
mov	[esi], eax
mov	ecx, [edi+50h]
test	ecx, ecx
jz	short loc_1020BF4
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_1020BF4:
pop	edi
pop	esi
pop	ebp
retn	8
sub_1020BBD endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1020BFF proc near
mov	edi, edi
push	ebp
mov	ebp, esp
pop	ebp
jmp	?OnActivateView@CView@@MAEXHPAV1@0@Z ; CView::OnActivateView(int,CView *,CView *)
sub_1020BFF endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1020C0F proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
xor	eax, eax
cmp	[ebp+arg_4], eax
push	esi
mov	esi, ecx
jnz	short loc_1020C3E
cmp	[esi+44h], eax
jz	short loc_1020C3E
push	[ebp+arg_C]
mov	ecx, [esi+44h]
push	[ebp+arg_8]
mov	edx, [ecx]
push	eax
push	[ebp+arg_0]
call	dword ptr [edx+14h]
test	eax, eax
jz	short loc_1020C3E
xor	eax, eax
inc	eax
jmp	short loc_1020C51

loc_1020C3E:
push	[ebp+arg_C]
mov	ecx, esi
push	[ebp+arg_8]
push	[ebp+arg_4]
push	[ebp+arg_0]
call	?OnCmdMsg@CView@@UAEHIHPAXPAUAFX_CMDHANDLERINFO@@@Z ; CView::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *)

loc_1020C51:
pop	esi
pop	ebp
retn	10h
sub_1020C0F endp

db 5 dup(0CCh)



sub_1020C5B proc near
mov	edi, edi
push	esi
xor	eax, eax
push	edi
mov	edi, dword_103EF30
and	dword_103EF30, eax
mov	esi, ecx
mov	ecx, [esi+4Ch]
test	ecx, ecx
jz	short loc_1020CA0
push	dword ptr [ecx+20h] ; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_1020C8B
mov	ecx, [esi+4Ch]
mov	eax, [ecx]
call	dword ptr [eax+60h]

loc_1020C8B:
mov	ecx, [esi+4Ch]
test	ecx, ecx
jz	short loc_1020C99
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_1020C99:
and	dword ptr [esi+4Ch], 0
xor	eax, eax
inc	eax

loc_1020CA0:
mov	dword_103EF30, edi
and	dword ptr [esi+48h], 0
mov	esi, [esi+44h]
test	esi, esi
jz	short loc_1020CB5
and	dword ptr [esi+70h], 0

loc_1020CB5:
pop	edi
pop	esi
retn
sub_1020C5B endp

db 5 dup(0CCh)
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_1. PRESS KEYPAD CTRL-"+" TO EXPAND]
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ecx+44h]
xor	edx, edx
test	eax, eax
jz	short loc_1020CDA
cmp	dword ptr [eax+48h], 1
jle	short loc_1020CDA
inc	edx

loc_1020CDA:
push	esi
mov	esi, [ebp+8]
mov	eax, [esi]
push	edx
mov	ecx, esi
call	dword ptr [eax]
push	dword_103EF30
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+4]
pop	esi
pop	ebp
retn	4
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	0E12Bh
mov	esi, ecx
call	sub_1018E89
test	eax, eax
jnz	short loc_1020D31
push	eax
call	sub_101F443
push	1
call	sub_1013960
mov	ecx, offset unk_103F3A0
call	sub_102FF1F
mov	eax, [esi+44h]
push	dword ptr [eax+40h]
call	sub_10127C0

loc_1020D31:
pop	esi
retn
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	0
mov	esi, ecx
call	sub_101F443
mov	ecx, offset unk_103F3A0
call	sub_102FFD9
mov	eax, [esi+44h]
push	dword ptr [eax+40h]
call	sub_10127C0
pop	esi
retn
align 10h
mov	ecx, [ecx+44h]
jmp	loc_101145E
db 5 dup(0CCh)
mov	ecx, [ecx+44h]
jmp	sub_1019D3F
db 5 dup(0CCh)
mov	ecx, [ecx+44h]
jmp	sub_10112FE
db 5 dup(0CCh)
mov	ecx, [ecx+44h]
jmp	loc_1011507
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
call	sub_1018B69
test	eax, eax
jnz	short loc_1020DAD
cmp	dword_103F430, eax
jle	short loc_1020DAD
inc	eax
jmp	short loc_1020DAF

loc_1020DAD:
xor	eax, eax

loc_1020DAF:
mov	ecx, [ebp+8]
mov	edx, [ecx]
push	eax
call	dword ptr [edx]
pop	ebp
retn	4
align 10h
mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ecx+44h]
xor	eax, eax
test	ecx, ecx
jz	short loc_1020DD3
call	sub_1010600

loc_1020DD3:
mov	ecx, [ebp+8]
mov	edx, [ecx]
push	eax
call	dword ptr [edx]
pop	ebp
retn	4
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ecx+44h]
xor	eax, eax
test	ecx, ecx
jz	short loc_1020DF7
call	sub_101014B

loc_1020DF7:
mov	ecx, [ebp+8]
mov	edx, [ecx]
push	eax
call	dword ptr [edx]
pop	ebp
retn	4
align 8
mov	ecx, [ecx+44h]
jmp	loc_1019861
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
mov	ecx, [esi+44h]
cmp	dword ptr [ecx+48h], 1
jz	short loc_1020E33
push	1
call	sub_101B2C5
mov	ecx, [esi+44h]
pop	esi
jmp	sub_10190E6

loc_1020E33:
pop	esi
retn
db 5 dup(0CCh)
align 4
push	esi
mov	esi, ecx
mov	ecx, [esi+44h]
cmp	dword ptr [ecx+48h], 4
jz	short loc_1020E58
push	4
call	sub_101B2C5
mov	ecx, [esi+44h]
pop	esi
jmp	sub_10190E6

loc_1020E58:
pop	esi
retn
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ecx+44h]
xor	edx, edx
test	eax, eax
jz	short loc_1020E74
cmp	dword ptr [eax+48h], 1
setnz	dl

loc_1020E74:
mov	ecx, [ebp+8]
mov	eax, [ecx]
push	edx
call	dword ptr [eax]
pop	ebp
retn	4
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ecx+44h]
xor	edx, edx
test	eax, eax
jz	short loc_1020E9A
cmp	dword ptr [eax+48h], 4
setnz	dl

loc_1020E9A:
mov	ecx, [ebp+8]
mov	eax, [ecx]
push	edx
call	dword ptr [eax]
pop	ebp
retn	4
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ecx+44h]
push	esi
push	edi
xor	edi, edi
xor	edx, edx
cmp	eax, edi
jz	short loc_1020ED4
mov	eax, [eax+48h]
cmp	eax, 2
setnle	dl
cmp	dword_103EF3C, edi
jz	short loc_1020ED4
cmp	eax, 3
jle	short loc_1020ED4
inc	edi

loc_1020ED4:
mov	esi, [ebp+8]
mov	eax, [esi]
push	edx
mov	ecx, esi
call	dword ptr [eax]
mov	eax, [esi]
push	edi
mov	ecx, esi
call	dword ptr [eax+4]
pop	edi
pop	esi
pop	ebp
retn	4
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	1
mov	esi, ecx
call	sub_101F443
mov	ecx, [esi+44h]
pop	esi
jmp	loc_101B0AE
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
xor	eax, eax
cmp	[ecx+44h], eax
jz	short loc_1020F24
xor	ecx, ecx
cmp	dword_103EF58, eax
setz	cl
mov	eax, ecx

loc_1020F24:
mov	ecx, [ebp+8]
mov	edx, [ecx]
push	eax
call	dword ptr [edx]
pop	ebp
retn	4
db 5 dup(0CCh)
db 8Bh,	49h, 44h
dd 0FFA111E9h, 0CCCCCCFFh, 0FF8BCCCCh
push	ebp
mov	ebp, esp
xor	edx, edx
cmp	[ecx+44h], edx
push	esi
mov	esi, [ebp+8]
mov	eax, [esi]
setnz	dl
mov	ecx, esi
push	edx
call	dword ptr [eax]
push	dword_103E7E8
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+4]
pop	esi
pop	ebp
retn	4
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	0
mov	esi, ecx
call	sub_101F443
mov	ecx, [esi+44h]
pop	esi
jmp	sub_1019D3F
db 5 dup(0CCh)



sub_1020F8B proc near
mov	edi, edi
push	esi
push	0
mov	esi, ecx
call	sub_101F443
mov	ecx, esi
pop	esi
jmp	?OnFilePrint@CView@@IAEXXZ ; CView::OnFilePrint(void)
sub_1020F8B endp

db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	0
mov	esi, ecx
call	sub_101F443
mov	ecx, esi
pop	esi
jmp	loc_1034584
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ecx+44h]
xor	eax, eax
test	ecx, ecx
jz	short loc_1020FE7
mov	eax, off_103D74C
cmp	dword ptr [eax+30h], 26Eh
jz	short loc_1020FE5
call	sub_1010600
test	eax, eax
jnz	short loc_1020FE5
inc	eax
jmp	short loc_1020FE7

loc_1020FE5:
xor	eax, eax

loc_1020FE7:
mov	ecx, [ebp+8]
mov	edx, [ecx]
push	eax
call	dword ptr [edx]
pop	ebp
retn	4
align 8
mov	ecx, [ecx+44h]
jmp	loc_101AA5A
db 5 dup(0CCh)
mov	ecx, [ecx+44h]
jmp	loc_101C288
db 5 dup(0CCh)
mov	ecx, [ecx+44h]
jmp	loc_101C256
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
xor	ebx, ebx
mov	eax, ecx
cmp	[eax+44h], ebx
mov	ecx, [ebp+8]
mov	edx, [ecx]
setnz	bl
push	ebx
call	dword ptr [edx]
pop	ebx
pop	ebp
retn	4
db 5 dup(0CCh)
mov	ecx, dword_103E768
jmp	loc_100CAD5
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ebp+8]
mov	eax, [ecx]
xor	edx, edx
cmp	dword_103E768, edx
setnz	dl
push	edx
call	dword ptr [eax]
pop	ebp
retn	4
db 5 dup(0CCh)
mov	eax, offset loc_10367EF
call	sub_1034E18
sub	esp, 0Ch
push	esi
push	5Ch
mov	[ebp-18h], ecx
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-14h], ecx
and	dword ptr [ebp-4], 0
test	ecx, ecx
jz	short loc_10210A1
call	sub_100AD13
mov	esi, eax
jmp	short loc_10210A3

loc_10210A1:
xor	esi, esi

loc_10210A3:
or	dword ptr [ebp-4], 0FFFFFFFFh
test	esi, esi
jz	loc_1021132
mov	ecx, esi
call	sub_100A499
lea	ecx, [ebp-10h]
call	??0CString@@QAE@XZ ; CString::CString(void)
and	dword ptr [ebp-14h], 0
push	0
lea	eax, [ebp-14h]
push	eax
push	1
push	800h
push	0A319h
lea	eax, [ebp-10h]
push	eax
mov	ecx, offset unk_103EE08
mov	dword ptr [ebp-4], 1
call	sub_101FC53
test	eax, eax
jz	short loc_1021119
push	dword ptr [ebp-10h]
mov	ecx, esi
call	sub_100B002
test	eax, eax
jz	short loc_1021119
push	dword ptr [esi+28h]
call	ds:GlobalLock
push	eax
mov	eax, [ebp-18h]
mov	ecx, [eax+44h]
call	sub_1010EDA
push	dword ptr [esi+28h]
call	ds:GlobalUnlock

loc_1021119:
and	dword ptr [esi+4], 0
mov	eax, [esi]
push	1
mov	ecx, esi
call	dword ptr [eax+4]
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-10h]
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1021132:
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, off_103D74C
mov	eax, [eax+30h]
xor	edx, edx
cmp	eax, 26Ch
jz	short loc_1021161
cmp	eax, 26Dh
jnz	short loc_102117A

loc_1021161:
mov	eax, [ecx+44h]
test	eax, eax
jz	short loc_102117A
mov	eax, [eax+40h]
test	eax, eax
jz	short loc_102117A
cmp	eax, dword_103E804
jnz	short loc_102117A
xor	edx, edx
inc	edx

loc_102117A:
mov	ecx, [ebp+8]
mov	eax, [ecx]
push	edx
call	dword ptr [eax]
pop	ebp
retn	4
db 5 dup(0CCh)
mov	ecx, off_103D74C
jmp	loc_102F35D
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, off_103D74C
push	esi
push	edi
xor	edi, edi
cmp	dword ptr [eax+30h], 26Eh
jnz	short loc_10211BC
cmp	eax, edi
jz	short loc_10211BC
cmp	[eax+38h], edi
jz	short loc_10211BC
inc	edi

loc_10211BC:
mov	esi, [ebp+8]
push	dword_103EF34
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+4]
mov	eax, [esi]
push	edi
mov	ecx, esi
call	dword ptr [eax]
pop	edi
pop	esi
pop	ebp
retn	4
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10211DE proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
test	eax, eax
jz	short loc_10211EF
mov	eax, [eax+20h]
jmp	short loc_10211F1

loc_10211EF:
xor	eax, eax

loc_10211F1:
mov	[ecx+24h], eax
pop	ebp
retn	4
sub_10211DE endp

db 5 dup(0CCh)



sub_10211FD proc near
mov	eax, offset loc_1036806
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, [ebp+8]
push	dword ptr [esi-8Ch]
add	esi, 0FFFFFF58h
lea	ecx, [ebp-14h]
call	??0AFX_MAINTAIN_STATE2@@QAE@PAVAFX_MODULE_STATE@@@Z ; AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE	*)
mov	eax, [esi]
and	dword ptr [ebp-4], 0
mov	ecx, esi
call	dword ptr [eax+0DCh]
mov	ecx, [ebp-10h]
mov	edx, [ebp-14h]
mov	[ecx+4], edx
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	4
sub_10211FD endp

db 5 dup(0CCh)



sub_102124C proc near
mov	eax, offset loc_1036806
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, [ebp+8]
push	dword ptr [esi-8Ch]
add	esi, 0FFFFFF58h
lea	ecx, [ebp-14h]
call	??0AFX_MAINTAIN_STATE2@@QAE@PAVAFX_MODULE_STATE@@@Z ; AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE	*)
mov	eax, [esi]
and	dword ptr [ebp-4], 0
mov	ecx, esi
call	dword ptr [eax+0E0h]
mov	ecx, [ebp-10h]
mov	edx, [ebp-14h]
mov	[ecx+4], edx
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	4
sub_102124C endp

db 5 dup(0CCh)



sub_102129B proc near
mov	eax, offset loc_1036806
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, [ebp+8]
push	dword ptr [esi-8Ch]
add	esi, 0FFFFFF58h
lea	ecx, [ebp-14h]
call	??0AFX_MAINTAIN_STATE2@@QAE@PAVAFX_MODULE_STATE@@@Z ; AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE	*)
push	dword ptr [ebp+1Ch]
mov	eax, [esi]
push	dword ptr [ebp+18h]
and	dword ptr [ebp-4], 0
push	dword ptr [ebp+14h]
mov	ecx, esi
push	dword ptr [ebp+10h]
push	dword ptr [ebp+0Ch]
call	dword ptr [eax+0E4h]
mov	ecx, [ebp-10h]
mov	edx, [ebp-14h]
mov	[ecx+4], edx
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	18h
sub_102129B endp

db 5 dup(0CCh)
db 0B8h, 6Ch, 68h
dd 15E80103h, 5100013Bh, 0D5E8586Ah, 59000121h
dd 4D89C88Bh, 3BC033F0h, 0FC4589C8h, 0EFE80574h
dd 8BFFFFF7h, 8964F44Dh, 0Dh, 0CCC3C900h
dd 0CCCCCCCCh



sub_1021330 proc near
mov	eax, offset loc_103681D
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_1004F0C
mov	eax, dword_103F170
and	dword ptr [ebp-4], 0
test	eax, eax
jz	short loc_1021383
mov	eax, [eax+20h]
test	eax, eax
jz	short loc_1021383
push	eax		; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_1021383
mov	ecx, dword_103F170
push	257h
call	sub_102C98F
mov	ecx, dword_103F170
push	1
call	sub_102C06B

loc_1021383:
mov	ecx, esi
call	sub_1020C5B
mov	ecx, [esi+44h]
test	ecx, ecx
jz	short loc_102139C
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]
and	dword ptr [esi+44h], 0

loc_102139C:
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	??1CView@@UAE@XZ ; CView::~CView(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_1021330 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10213B9 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
cmp	dword ptr [eax+4], 100h
push	ebx
mov	ebx, ecx
jnz	loc_102147F
test	ebx, ebx
push	esi
mov	esi, ebx
jz	loc_102147E
push	edi

loc_10213DD:		; hWnd
push	dword ptr [esi+20h]
call	ds:GetMenu
push	eax
call	?FromHandle@CMenu@@SGPAV1@PAUHMENU__@@@Z ; CMenu::FromHandle(HMENU__ *)
mov	edi, eax
test	edi, edi
jz	short loc_10213FF
push	dword ptr [edi+4] ; hMenu
call	ds:IsMenu
test	eax, eax
jnz	short loc_1021416

loc_10213FF:		; hWnd
push	dword ptr [esi+20h]
xor	edi, edi
call	ds:GetParent
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
mov	esi, eax
test	esi, esi
jnz	short loc_10213DD

loc_1021416:
test	edi, edi
jz	short loc_102147D
mov	eax, [ebx+44h]
test	eax, eax
jz	short loc_102142B
cmp	dword ptr [eax+48h], 1
jz	short loc_102142B
xor	eax, eax
jmp	short loc_102142E

loc_102142B:
push	2
pop	eax

loc_102142E:
mov	esi, ds:EnableMenuItem
push	eax		; uEnable
push	9326h		; uIDEnableItem
push	dword ptr [edi+4] ; hMenu
call	esi ; EnableMenuItem
mov	eax, [ebx+44h]
test	eax, eax
jz	short loc_1021450
cmp	dword ptr [eax+48h], 4
jz	short loc_1021450
xor	eax, eax
jmp	short loc_1021453

loc_1021450:
push	2
pop	eax

loc_1021453:		; uEnable
push	eax
push	9327h		; uIDEnableItem
push	dword ptr [edi+4] ; hMenu
call	esi ; EnableMenuItem
mov	eax, [ebx+44h]
test	eax, eax
jz	short loc_102146F
cmp	dword ptr [eax+48h], 2
jle	short loc_102146F
xor	eax, eax
jmp	short loc_1021472

loc_102146F:
push	2
pop	eax

loc_1021472:		; uEnable
push	eax
push	932Dh		; uIDEnableItem
push	dword ptr [edi+4] ; hMenu
call	esi ; EnableMenuItem

loc_102147D:
pop	edi

loc_102147E:
pop	esi

loc_102147F:
push	[ebp+arg_0]
mov	ecx, ebx
call	?PreTranslateMessage@CWnd@@UAEHPAUtagMSG@@@Z ; CWnd::PreTranslateMessage(tagMSG	*)
pop	ebx
pop	ebp
retn	4
sub_10213B9 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1021493 proc near

rcDst= tagRECT ptr -10h
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	ebx
push	esi
mov	esi, ecx
mov	ecx, [esi+44h]
xor	ebx, ebx
cmp	ecx, ebx
jz	short loc_102151B
push	edi
mov	edi, [ebp+arg_0]
push	ebx
push	edi
call	sub_101909A
push	ds:?classCPaintDC@CPaintDC@@2UCRuntimeClass@@B ; CRuntimeClass const CPaintDC::classCPaintDC
mov	ecx, edi
mov	[ebp+arg_0], eax
call	?IsKindOf@CObject@@QBEHPBUCRuntimeClass@@@Z ; CObject::IsKindOf(CRuntimeClass const *)
test	eax, eax
jz	short loc_10214EE
lea	eax, [edi+1Ch]
push	eax		; lprcSrc
lea	eax, [ebp+rcDst]
push	eax		; lprcDst
call	ds:CopyRect
cmp	dword_103EF40, ebx
jz	short loc_10214FA
mov	eax, [esi+44h]
push	1		; bErase
push	ebx		; lpRect
push	dword ptr [eax+20h] ; hWnd
call	ds:InvalidateRect
jmp	short loc_10214FA

loc_10214EE:
mov	ecx, [esi+44h]
lea	eax, [ebp+rcDst]
push	eax		; lprc
call	sub_101950A

loc_10214FA:
mov	ecx, [esi+44h]
push	1
push	ebx
lea	eax, [ebp+rcDst]
push	eax
push	edi
call	sub_101A5AC
cmp	[ebp+arg_0], ebx
jz	short loc_102151A
push	ebx
push	[ebp+arg_0]
mov	ecx, edi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_102151A:
pop	edi

loc_102151B:
pop	esi
pop	ebx
leave
retn	4
sub_1021493 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1021526 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, pwszDevice
xor	ecx, ecx
cmp	[eax-8], ecx
jnz	short loc_102153B
xor	eax, eax
jmp	short loc_1021582

loc_102153B:		; pdm
push	ecx
push	ecx		; pszPort
push	eax		; pwszDevice
push	ecx		; pwszDriver
call	ds:CreateDCW
mov	ecx, [ebp+arg_0]
mov	edx, [ecx]
mov	edx, [edx+60h]
mov	[edx+10h], eax
mov	eax, [ecx]
mov	eax, [eax+60h]
mov	dx, [eax+1Ch]
mov	[eax+18h], dx
mov	eax, [ecx]
mov	eax, [eax+60h]
mov	dx, [eax+1Eh]
mov	[eax+1Ah], dx
mov	eax, dword_103EEC0
mov	[ecx+18h], eax
push	0F044h
add	ecx, 1Ch
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
xor	eax, eax
inc	eax

loc_1021582:
pop	ebp
retn	4
sub_1021526 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102158B proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
push	edi
mov	edi, [ebp+arg_0]
test	edi, edi
mov	ebx, ecx
jnz	short loc_10215A0
xor	eax, eax
jmp	short loc_10215A3

loc_10215A0:
mov	eax, [edi+4]

loc_10215A3:
push	eax
call	off_103DB30
test	al, 1
jz	short loc_10215C2
test	edi, edi
jnz	short loc_10215B6
xor	eax, eax
jmp	short loc_10215B9

loc_10215B6:
mov	eax, [edi+4]

loc_10215B9:
push	0
push	eax
call	off_103DB34

loc_10215C2:
mov	esi, [ebp+arg_4]
push	esi
push	edi
mov	ecx, ebx
call	?OnPrepareDC@CView@@UAEXPAVCDC@@PAUCPrintInfo@@@Z ; CView::OnPrepareDC(CDC *,CPrintInfo	*)
test	esi, esi
jz	short loc_10215E0
mov	ecx, [esi+20h]
test	ecx, ecx
jz	short loc_10215E0
push	esi
push	edi
call	sub_10230A3

loc_10215E0:
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	8
sub_102158B endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, [ebp+8]
push	edi
mov	esi, ecx
call	?OnCreate@CView@@IAEHPAUtagCREATESTRUCTW@@@Z ; CView::OnCreate(tagCREATESTRUCTW	*)
cmp	eax, 0FFFFFFFFh
jnz	short loc_1021607
or	eax, eax
jmp	short loc_1021629

loc_1021607:
mov	eax, [edi+2Ch]
test	eax, 400000h
jz	short loc_1021627
test	esi, esi
jz	short loc_1021618
mov	esi, [esi+20h]

loc_1021618:
and	eax, 0FFBFFFFFh
push	eax
push	0FFFFFFECh
push	esi
call	ds:SetWindowLongW

loc_1021627:
xor	eax, eax

loc_1021629:
pop	edi
pop	esi
pop	ebp
retn	4
db 5 dup(0CCh)
cmp	dword_103EF5C, 0
jnz	short locret_1021642
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)

locret_1021642:
retn	8
db 5 dup(0CCh)
mov	eax, dword_103F170
test	eax, eax
push	esi
push	edi
mov	edi, ds:IsWindow
mov	esi, ecx
jz	short loc_1021688
mov	eax, [eax+20h]
test	eax, eax
jz	short loc_1021688
push	eax
call	edi ; IsWindow
test	eax, eax
jz	short loc_1021688
mov	ecx, dword_103F170
push	257h
call	sub_102C98F
mov	ecx, dword_103F170
push	1
call	sub_102C06B

loc_1021688:
mov	ecx, esi
call	sub_1020C5B
mov	eax, [esi+44h]
test	eax, eax
jz	short loc_10216B9
push	dword ptr [eax+20h]
call	edi ; IsWindow
test	eax, eax
jz	short loc_10216A7
mov	ecx, [esi+44h]
mov	eax, [ecx]
call	dword ptr [eax+60h]

loc_10216A7:
mov	ecx, [esi+44h]
test	ecx, ecx
jz	short loc_10216B5
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_10216B5:
and	dword ptr [esi+44h], 0

loc_10216B9:
pop	edi
mov	ecx, esi
pop	esi
jmp	loc_10345B4
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
mov	ecx, [esi+44h]
test	ecx, ecx
pop	esi
jz	short loc_10216ED
push	1
push	dword ptr [ebp+10h]
push	dword ptr [ebp+0Ch]
push	0
push	0
call	?MoveWindow@CWnd@@QAEXHHHHH@Z ;	CWnd::MoveWindow(int,int,int,int,int)

loc_10216ED:
pop	ebp
retn	0Ch
db 5 dup(0CCh)



sub_10216F6 proc near
mov	eax, offset loc_1036835
call	sub_1034E18
sub	esp, 10h
mov	eax, [ebp+8]
push	esi
push	edi
mov	edi, [eax+4]
push	78h		; unsigned int
mov	esi, ecx
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp+8], ecx
and	dword ptr [ebp-4], 0
test	ecx, ecx
jz	short loc_102172C
push	edi
call	sub_1018EBA
mov	edi, eax
jmp	short loc_102172E

loc_102172C:
xor	edi, edi

loc_102172E:
or	dword ptr [ebp-4], 0FFFFFFFFh
test	edi, edi
jnz	short loc_1021744
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
jmp	short loc_1021768

loc_1021744:
lea	eax, [ebp-1Ch]
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:GetClientRect
push	0
push	esi
lea	eax, [ebp-1Ch]
push	eax
push	50000000h
mov	ecx, edi
call	sub_1018F43
test	eax, eax
jnz	short loc_102176C

loc_1021768:
xor	eax, eax
jmp	short loc_10217BC

loc_102176C:
mov	eax, [esi+44h]
test	eax, eax
jz	short loc_102179A
push	dword ptr [eax+20h] ; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_1021788
mov	ecx, [esi+44h]
mov	eax, [ecx]
call	dword ptr [eax+60h]

loc_1021788:
mov	ecx, [esi+44h]
test	ecx, ecx
jz	short loc_1021796
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_1021796:
and	dword ptr [esi+44h], 0

loc_102179A:
mov	eax, [esi+48h]
test	eax, eax
mov	[esi+44h], edi
jz	short loc_10217AF
mov	[edi+70h], eax
mov	ecx, [esi+48h]
call	sub_102B30A

loc_10217AF:
mov	ecx, [esi+44h]
push	1
call	sub_101B2C5
xor	eax, eax
inc	eax

loc_10217BC:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn	4
sub_10216F6 endp

db 5 dup(0CCh)



sub_10217D1 proc near
mov	eax, offset loc_1036854
call	sub_1034E18
sub	esp, 24h
push	ebx
push	esi
push	edi
call	?GetParentFrame@CWnd@@QBEPAVCFrameWnd@@XZ ; CWnd::GetParentFrame(void)
xor	esi, esi
cmp	dword_103EF44, esi
mov	ebx, eax
mov	[ebp-10h], ebx
mov	[ebp-14h], esi
jnz	short loc_1021815
mov	eax, dword_103EF9C
cmp	eax, esi
jz	short loc_1021815
mov	[ebp-10h], eax
mov	eax, dword_103EF98
cmp	eax, esi
jz	short loc_1021815
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
mov	ebx, eax

loc_1021815:
mov	ecx, dword_103E764
xor	edi, edi
inc	edi
cmp	[ecx+20h], esi
jnz	short loc_1021861
push	ebx
call	sub_1009E86
test	eax, eax
jz	loc_10219F3
cmp	dword_103EF90, esi
jz	short loc_102184A
mov	ecx, dword_103E764
push	esi		; lParam
push	offset unk_103EF8C ; wParam
call	sub_101E659

loc_102184A:
push	dword ptr [ebp-10h]
mov	ecx, dword_103E764
call	sub_10211DE
push	edi
call	sub_100967C
mov	[ebp-14h], edi

loc_1021861:
push	0F000h
mov	ecx, ebx
call	?EnableDocking@CFrameWnd@@QAEXK@Z ; CFrameWnd::EnableDocking(ulong)
mov	eax, dword_103F170
mov	eax, [eax+20h]
cmp	eax, esi
jz	short loc_1021888
push	eax		; hWnd
call	ds:IsWindow
test	eax, eax
jnz	loc_102191F

loc_1021888:
lea	ecx, [ebp-20h]
call	??0CString@@QAE@XZ ; CString::CString(void)
push	0AC50h
lea	ecx, [ebp-20h]
mov	[ebp-4], esi
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
mov	ecx, dword_103F170
push	19h
pop	eax
push	edi
push	ebx
push	2
lea	edx, [ebp-1Ch]
push	edx
lea	edx, [ebp-30h]
push	edx
push	50001400h
push	dword ptr [ebp-20h]
mov	[ebp-1Ch], eax
mov	[ebp-18h], eax
mov	[ebp-30h], esi
mov	[ebp-2Ch], esi
mov	[ebp-28h], esi
mov	[ebp-24h], esi
mov	eax, [ecx]
call	dword ptr [eax+0E8h]
test	eax, eax
jz	loc_10219E7
push	dword ptr [ebp-10h]
mov	ecx, dword_103F170
call	sub_10211DE
mov	ecx, dword_103F170
push	5000h
call	?EnableDocking@CControlBar@@QAEXK@Z ; CControlBar::EnableDocking(ulong)
push	esi
push	0E81Ch
push	dword_103F170
mov	ecx, ebx
call	?DockControlBar@CFrameWnd@@QAEXPAVCControlBar@@IPBUtagRECT@@@Z ; CFrameWnd::DockControlBar(CControlBar *,uint,tagRECT const *)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-20h]
mov	[ebp-14h], edi
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_102191F:
mov	eax, dword_103E820
mov	eax, [eax+20h]
cmp	eax, esi
jz	short loc_1021936
push	eax		; hWnd
call	ds:IsWindow
test	eax, eax
jnz	short loc_10219A6

loc_1021936:
lea	ecx, [ebp-18h]
call	??0CString@@QAE@XZ ; CString::CString(void)
push	0AC4Ch
lea	ecx, [ebp-18h]
mov	[ebp-4], edi
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
mov	ecx, dword_103E820
push	ebx
push	50008200h
push	dword ptr [ebp-18h]
call	sub_100F74E
test	eax, eax
jz	short loc_10219E2
push	dword ptr [ebp-10h]
mov	ecx, dword_103E820
call	sub_10211DE
mov	ecx, dword_103E820
push	0A000h
call	?EnableDocking@CControlBar@@QAEXK@Z ; CControlBar::EnableDocking(ulong)
push	esi
push	0E81Eh
push	dword_103E820
mov	ecx, ebx
call	?DockControlBar@CFrameWnd@@QAEXPAVCControlBar@@IPBUtagRECT@@@Z ; CFrameWnd::DockControlBar(CControlBar *,uint,tagRECT const *)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-18h]
mov	[ebp-14h], edi
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10219A6:
cmp	[ebp-14h], esi
jz	short loc_10219D4
cmp	dword_103EF44, esi
jnz	short loc_10219D4
cmp	dword_103EF40, esi
jnz	short loc_10219D4
cmp	dword_103EF9C, esi
jnz	short loc_10219D4
mov	esi, [ebp-10h]
push	offset aGeneral	; "General"
mov	ecx, esi
call	?LoadBarState@CFrameWnd@@QAEXPBG@Z ; CFrameWnd::LoadBarState(ushort const *)
jmp	short loc_10219D7

loc_10219D4:
mov	esi, [ebp-10h]

loc_10219D7:
or	dword ptr [esi+0BCh], 0Ch
xor	eax, eax
jmp	short loc_10219F6

loc_10219E2:
lea	ecx, [ebp-18h]
jmp	short loc_10219EA

loc_10219E7:
lea	ecx, [ebp-20h]

loc_10219EA:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10219F3:
or	eax, 0FFFFFFFFh

loc_10219F6:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_10217D1 endp

db 5 dup(0CCh)
; START	OF FUNCTION CHUNK FOR sub_10228EB

loc_1021A0A:
mov	eax, offset loc_103686C
call	sub_1034E18
push	ecx
push	esi
push	edi
mov	esi, ecx
xor	edi, edi
cmp	[esi+44h], edi
jz	loc_1021AB5
call	sub_1020C5B
push	0DCh		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-10h], ecx
cmp	ecx, edi
mov	[ebp-4], edi
jz	short loc_1021A4A
push	dword ptr [esi+44h]
call	sub_102B47B
jmp	short loc_1021A4C

loc_1021A4A:
xor	eax, eax

loc_1021A4C:
or	dword ptr [ebp-4], 0FFFFFFFFh
cmp	eax, edi
mov	[esi+4Ch], eax
jz	short loc_1021A9C
mov	edx, [eax]
push	esi
mov	ecx, eax
call	dword ptr [edx+100h]
test	eax, eax
jz	short loc_1021A72
mov	eax, [esi+4Ch]
mov	eax, [eax+0C8h]
mov	[esi+48h], eax

loc_1021A72:
mov	eax, [esi+48h]
cmp	eax, edi
jz	short loc_1021A8B
mov	ecx, [esi+44h]
mov	[ecx+70h], eax
mov	ecx, [esi+4Ch]
push	4
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)
jmp	short loc_1021A9C

loc_1021A8B:
mov	ecx, [esi+4Ch]
cmp	ecx, edi
jz	short loc_1021A99
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_1021A99:
mov	[esi+4Ch], edi

loc_1021A9C:
mov	ecx, [esi+48h]
cmp	ecx, edi
jnz	short loc_1021AB9
push	1
mov	ecx, offset unk_103EE08
mov	dword_103EF30, edi
call	sub_101F3A4

loc_1021AB5:
xor	eax, eax
jmp	short loc_1021AD6

loc_1021AB9:
push	4
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)
mov	eax, [esi+48h]
push	dword ptr [eax+20h] ; hWnd
mov	edi, ds:UpdateWindow
call	edi ; UpdateWindow
push	dword ptr [esi+20h] ; hWnd
call	edi ; UpdateWindow
xor	eax, eax
inc	eax

loc_1021AD6:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn
; END OF FUNCTION CHUNK	FOR sub_10228EB
db 5 dup(0CCh)



sub_1021AE9 proc near
mov	ecx, [ecx+4Ch]
xor	eax, eax
test	ecx, ecx
jz	short locret_1021AFB
push	dword ptr [ecx+20h] ; hWnd
call	ds:IsWindowVisible

locret_1021AFB:
retn
sub_1021AE9 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1021B01 proc near

Rect= tagRECT ptr -28h
var_18=	dword ptr -18h
var_14=	dword ptr -14h
Point= tagPOINT	ptr -8
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 28h
push	esi
call	?GetParentFrame@CWnd@@QBEPAVCFrameWnd@@XZ ; CWnd::GetParentFrame(void)
mov	esi, eax
lea	eax, [ebp+Rect]
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:GetClientRect
mov	eax, [esi]
lea	ecx, [ebp+var_18]
push	ecx
push	1
mov	ecx, esi
call	dword ptr [eax+0E0h]
mov	eax, [ebp+var_18]
mov	[ebp+Point.x], eax
mov	eax, [ebp+var_14]
mov	[ebp+Point.y], eax
lea	eax, [ebp+Point]
push	eax		; lpPoint
push	dword ptr [esi+20h] ; hWnd
call	ds:ClientToScreen
mov	ecx, [ebp+Point.x]
mov	eax, [ebp+arg_0]
mov	[eax], ecx
mov	ecx, [ebp+Point.y]
mov	[eax+4], ecx
pop	esi
leave
retn	0Ch
sub_1021B01 endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
call	sub_1018B69
test	eax, eax
jnz	short loc_1021B7E
mov	eax, dword_103F430
cmp	eax, dword_103F420
jl	short loc_1021B7E
xor	eax, eax
jmp	short loc_1021B81

loc_1021B7E:
xor	eax, eax
inc	eax

loc_1021B81:
mov	ecx, [ebp+8]
mov	edx, [ecx]
push	eax
call	dword ptr [edx]
pop	ebp
retn	4
db 5 dup(0CCh)
mov	eax, offset loc_1036883
call	sub_1034E18
sub	esp, 64h
push	esi
mov	esi, ecx
push	0
lea	ecx, [ebp-70h]
call	sub_100D5B6
mov	eax, [esi+44h]
mov	eax, [eax+48h]
and	dword ptr [ebp-4], 0
lea	ecx, [ebp-70h]
mov	[ebp-10h], eax
call	?DoModal@CDialog@@UAEHXZ ; CDialog::DoModal(void)
cmp	eax, 1
jnz	short loc_1021BD9
push	dword ptr [ebp-10h]
mov	ecx, [esi+44h]
call	sub_101B2C5
mov	ecx, [esi+44h]
call	sub_10190E6

loc_1021BD9:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-70h]
call	??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)
mov	eax, offset loc_103689D
call	sub_1034E18
sub	esp, 0A0h
push	ebx
push	esi
push	edi
xor	ebx, ebx
push	ebx
mov	esi, ecx
call	sub_101F443
mov	eax, [esi+40h]
mov	edi, [eax+0ECh]
push	ebx
lea	ecx, [ebp-0ACh]
call	sub_100D2BC
mov	eax, [edi+4]
xor	esi, esi
inc	esi
cmp	[eax+34h], esi
mov	[ebp-4], ebx
jnz	short loc_1021C3F
cmp	[eax+38h], esi
mov	[ebp-10h], esi
jz	short loc_1021C42

loc_1021C3F:
mov	[ebp-10h], ebx

loc_1021C42:
mov	eax, [ebp-10h]
mov	[ebp-44h], eax
mov	eax, [edi+4]
push	dword ptr [eax+40h]
lea	ecx, [ebp-0ACh]
push	dword ptr [eax+3Ch]
push	dword ptr [eax+30h]
push	dword ptr [eax+2Ch]
call	sub_100E276
lea	ecx, [ebp-0ACh]
call	?DoModal@CDialog@@UAEHXZ ; CDialog::DoModal(void)
cmp	eax, esi
lea	ecx, [ebp-0ACh]
jnz	loc_1021D20
lea	eax, [ebp-18h]
push	eax
call	sub_100E303
mov	eax, [edi+4]
mov	ecx, [ebp-18h]
cmp	ecx, [eax+2Ch]
mov	ebx, offset aPropertyEdit ; "Property Edit"
mov	esi, offset unk_103F3A0
jnz	short loc_1021CA1
mov	ecx, [ebp-14h]
cmp	ecx, [eax+30h]
jz	short loc_1021CDB

loc_1021CA1:
push	1
push	ebx
mov	ecx, esi
call	sub_102FA64
lea	eax, [ebp-18h]
push	eax
push	15Eh
mov	ecx, edi
call	sub_100B766
mov	ecx, esi
mov	[ebp-1Ch], eax
call	sub_102FE8A
cmp	dword ptr [ebp-1Ch], 0
jz	short loc_1021CDB
mov	eax, [ebp-18h]
mov	dword_103F004, eax
mov	eax, [ebp-14h]
mov	dword_103F008, eax

loc_1021CDB:
mov	eax, [ebp-44h]
cmp	eax, [ebp-10h]
jz	short loc_1021D1A
test	eax, eax
jz	short loc_1021CFA
push	0FFFFFFFFh
push	34h
push	8FAh
call	?AfxMessageBox@@YGHIII@Z ; AfxMessageBox(uint,uint,uint)
cmp	eax, 6
jnz	short loc_1021D1A

loc_1021CFA:
push	1
push	ebx
mov	ecx, esi
call	sub_102FA64
push	dword ptr [ebp-44h]
mov	ecx, edi
push	15Ch
call	sub_100BBF9
mov	ecx, esi
call	sub_102FE8A

loc_1021D1A:
lea	ecx, [ebp-0ACh]

loc_1021D20:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	sub_100DA4F
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)
mov	eax, offset loc_10368B4
call	sub_1034E18
sub	esp, 6Ch
push	esi
push	edi
push	1
mov	esi, ecx
call	sub_101F443
xor	edi, edi
push	edi
lea	ecx, [ebp-78h]
call	sub_100D703
lea	ecx, [ebp-78h]
mov	[ebp-4], edi
call	?DoModal@CDialog@@UAEHXZ ; CDialog::DoModal(void)
cmp	eax, 1
jnz	short loc_1021DEE
cmp	[ebp-14h], edi
jz	short loc_1021DDA
mov	eax, [ebp-10h]
sub	eax, 5Ah
jz	short loc_1021DD0
sub	eax, 5Ah
jz	short loc_1021DA4
sub	eax, 5Ah
jnz	short loc_1021DEE
push	1
mov	edi, offset unk_103F3A0
push	offset aRotate270 ; "Rotate 270"
mov	ecx, edi
call	sub_102FA64
mov	ecx, [esi+44h]
call	sub_102392E
jmp	short loc_1021DB7

loc_1021DA4:
push	1
mov	edi, offset unk_103F3A0
push	offset aRotate180 ; "Rotate 180"
mov	ecx, edi
call	sub_102FA64

loc_1021DB7:
mov	ecx, [esi+44h]
call	sub_101AC99
mov	ecx, [esi+44h]
call	sub_101AE0A
mov	ecx, edi
call	sub_102FE8A
jmp	short loc_1021DEE

loc_1021DD0:
mov	ecx, [esi+44h]
call	sub_102392E
jmp	short loc_1021DEE

loc_1021DDA:
cmp	[ebp-18h], edi
mov	ecx, [esi+44h]
jz	short loc_1021DE9
call	sub_101AC99
jmp	short loc_1021DEE

loc_1021DE9:
call	sub_101AE0A

loc_1021DEE:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-78h]
call	??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 14h
push	ebx
push	esi
push	edi
mov	esi, ecx
xor	edi, edi
cmp	[esi+44h], edi
mov	[ebp-4], esi
jz	short loc_1021E7A
push	0E12Ah
call	sub_1018E89
test	eax, eax
jnz	short loc_1021E7A
mov	eax, [esi+44h]
cmp	eax, edi
jz	short loc_1021E3E
mov	ebx, [eax+40h]
jmp	short loc_1021E40

loc_1021E3E:
xor	ebx, ebx

loc_1021E40:
cmp	ebx, edi
jz	short loc_1021E7A
push	26Ch
call	sub_1015D47
mov	eax, [ebx+2Ch]
mov	[ebp-0Ch], eax
mov	eax, [ebx+30h]
mov	[ebp-14h], edi
mov	[ebp-10h], edi
mov	[ebp-8], eax
mov	eax, [ebp-4]
mov	ecx, [eax+44h]
sub	esp, 10h
mov	edi, esp
push	dword ptr [ebx+0Ch]
lea	esi, [ebp-14h]
movsd
movsd
movsd
movsd
call	sub_1019A43

loc_1021E7A:
pop	edi
pop	esi
pop	ebx
leave
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1021E84 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
mov	ebx, [ebp+arg_4]
mov	ecx, ebx
call	sub_100A499
mov	eax, [ebp+arg_0]
mov	eax, [eax+40h]
xor	ecx, ecx
cmp	eax, ecx
jz	loc_1021F58
mov	eax, [eax+4]
cmp	eax, ecx
jz	loc_1021F58
cmp	[eax+4], ecx
jz	loc_1021F58
cmp	[ebp+arg_C], ecx
jge	short loc_1021EC3
mov	eax, [eax+10h]
mov	[ebp+arg_C], eax

loc_1021EC3:
cmp	dword_103E7CC, ecx
jz	short loc_1021ED0
call	sub_10137CD

loc_1021ED0:
mov	edx, [ebp+arg_8]
push	esi
mov	esi, dword_103E804
push	edi
push	16h
pop	ecx
mov	edi, edx
rep movsd
mov	eax, dword_103E790
mov	[edx+0Ch], eax
mov	eax, dword_103E7A0
mov	[edx+14h], eax
mov	eax, dword_103E7C4
mov	[edx+18h], eax
xor	eax, eax
inc	eax
mov	[edx+8], eax
mov	ecx, dword_103EF88
mov	[edx+24h], ecx
mov	ecx, dword_103E7A4
mov	[edx+2Ch], ecx
mov	ecx, cy
mov	[edx+30h], ecx
mov	ecx, [ebp+arg_C]
cmp	ecx, 4
jge	short loc_1021F2A
test	ecx, ecx
jl	short loc_1021F2A
mov	[ebx+14h], ecx

loc_1021F2A:
mov	ecx, [edx+2Ch]
mov	[ebx+8], ecx
mov	ecx, [edx+30h]
mov	[ebx+0Ch], ecx
mov	ecx, [ebp+arg_0]
mov	esi, [ecx+40h]
mov	esi, [esi+4]
mov	esi, [esi+10h]
mov	[ebx+10h], esi
mov	ecx, [ecx+40h]
mov	ecx, [ecx+4]
mov	ecx, [ecx+18h]
pop	edi
mov	[ebx+18h], ecx
mov	[ebx+4], edx
pop	esi
jmp	short loc_1021F5A

loc_1021F58:
xor	eax, eax

loc_1021F5A:
pop	ebx
pop	ebp
retn	10h
sub_1021E84 endp

db 5 dup(0CCh)
mov	eax, offset loc_10368D3
call	sub_1034E18
sub	esp, 0BCh
push	ebx
push	esi
mov	esi, ecx
lea	ecx, [ebp-10h]
call	??0CString@@QAE@XZ ; CString::CString(void)
mov	eax, [esi+44h]
mov	eax, [eax+40h]
mov	eax, [eax+4]
mov	eax, [eax+10h]
push	1
mov	[ebp-14h], eax
lea	eax, [ebp-14h]
push	eax
xor	ebx, ebx
push	ebx
push	804h
push	0A318h
lea	eax, [ebp-10h]
push	eax
mov	ecx, offset unk_103EE08
mov	[ebp-4], ebx
call	sub_101FC53
test	eax, eax
jz	short loc_102200D
mov	ecx, esi
call	?BeginWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::BeginWaitCursor(void)
lea	ecx, [ebp-70h]
call	sub_100AD13
push	dword ptr [ebp-14h]
lea	eax, [ebp-0C8h]
push	eax
lea	eax, [ebp-70h]
push	eax
push	dword ptr [esi+44h]
mov	byte ptr [ebp-4], 1
call	sub_1021E84
test	eax, eax
lea	ecx, [ebp-70h]
jz	short loc_1022005
push	ebx
call	sub_100AA99
push	dword ptr [ebp-10h]
lea	ecx, [ebp-70h]
call	sub_100B9ED
mov	ecx, esi
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
mov	[ebp-6Ch], ebx
lea	ecx, [ebp-70h]

loc_1022005:
mov	[ebp-4], bl
call	sub_100B967

loc_102200D:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-10h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)
mov	eax, offset loc_10368FD
call	sub_1034E18
sub	esp, 0C4h
push	ebx
push	esi
push	1
mov	ebx, ecx
call	sub_101F443
xor	esi, esi
push	esi
lea	ecx, [ebp-0D0h]
call	sub_100D891
lea	ecx, [ebp-0D0h]
mov	[ebp-4], esi
call	?DoModal@CDialog@@UAEHXZ ; CDialog::DoModal(void)
cmp	eax, 1
jz	short loc_102207C
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-0D0h]
call	??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)
jmp	loc_102234F

loc_102207C:
mov	eax, [ebp-68h]
mov	edx, [ebp-64h]
add	eax, 0FFFFFF9Ch
add	edx, 0FFFFFF9Ch
cmp	eax, esi
push	edi
mov	[ebp-10h], eax
jnz	short loc_1022098
cmp	edx, esi
jz	loc_102231C

loc_1022098:
cmp	dword_103E804, esi
mov	eax, [ebx+40h]
mov	[ebp-2Ch], eax
mov	eax, [eax+0ECh]
mov	eax, [eax+4]
mov	ecx, [eax+2Ch]
mov	eax, [eax+30h]
mov	[ebp-24h], ecx
mov	[ebp-14h], eax
push	64h
jnz	loc_102229A
mov	eax, ecx
imul	eax, edx
cdq
pop	edi
idiv	edi
push	64h
mov	[ebp-18h], esi
mov	dword ptr [ebp-1Ch], offset off_1001F9C
mov	edi, eax
mov	eax, [ebp-14h]
imul	eax, [ebp-10h]
cdq
add	edi, ecx
pop	ecx
idiv	ecx
add	eax, [ebp-14h]
mov	[ebp-28h], eax
lea	ecx, [ebp-3Ch]
mov	byte ptr [ebp-4], 1
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	eax, [ebp-2Ch]
mov	eax, [eax+0ECh]
mov	eax, [eax+4]
push	dword ptr [eax+0Ch]
mov	byte ptr [ebp-4], 2
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
mov	ecx, [ebp-28h]
mov	[ebp-40h], ecx
push	eax
lea	ecx, [ebp-3Ch]
mov	[ebp-20h], eax
mov	[ebp-44h], edi
call	sub_1009779
test	eax, eax
jz	loc_102226A
push	dword ptr [ebp-14h]
lea	ecx, [ebp-1Ch]
push	dword ptr [ebp-24h]
push	dword ptr [ebp-20h]
call	sub_100AC43
test	eax, eax
jz	loc_102226A
lea	eax, [ebp-1Ch]
push	eax
lea	ecx, [ebp-3Ch]
call	sub_1032D5B
mov	ecx, [ebx+44h]
mov	[ebp-48h], eax
push	esi
lea	eax, [ebp-3Ch]
push	eax
call	sub_101909A
mov	ecx, ebx
mov	[ebp-10h], eax
call	?BeginWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::BeginWaitCursor(void)
mov	eax, [ebp-20h]
cmp	eax, esi
jnz	short loc_1022176
xor	eax, eax
jmp	short loc_1022179

loc_1022176:
mov	eax, [eax+4]

loc_1022179:
push	0CC0020h
push	esi
push	esi
push	eax
push	dword ptr [ebp-14h]
push	dword ptr [ebp-24h]
push	esi
push	esi
push	dword ptr [ebp-38h]
call	ds:BitBlt
push	1
push	offset aPropertyEdit ; "Property Edit"
mov	ecx, offset unk_103F3A0
call	sub_102FA64
lea	eax, [ebp-44h]
push	eax
mov	eax, [ebp-2Ch]
mov	ecx, [eax+0ECh]
push	15Eh
call	sub_100B766
push	dword ptr [ebp-14h]
mov	eax, [ebp-20h]
push	dword ptr [ebp-24h]
push	esi
push	esi
push	dword ptr [ebp-38h]
push	dword ptr [ebp-28h]
push	edi
push	esi
push	esi
push	dword ptr [eax+4]
call	sub_101255A
mov	eax, [ebx+44h]
push	esi
push	dword ptr [eax+40h]
call	sub_101282E
mov	eax, [ebx+44h]
push	esi
push	dword ptr [eax+40h]
call	sub_10128D0
mov	ecx, offset unk_103F3A0
call	sub_102FE8A
mov	eax, [ebx+44h]
push	dword ptr [eax+40h]
call	sub_10127C0
push	dword ptr [ebp-48h]
lea	ecx, [ebp-3Ch]
call	sub_1032D5B
lea	ecx, [ebp-1Ch]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
cmp	[ebp-10h], esi
jz	short loc_1022227
push	esi
push	dword ptr [ebp-10h]
lea	ecx, [ebp-3Ch]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1022227:
lea	ecx, [ebp-3Ch]
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
mov	eax, [ebp-44h]
mov	dword_103F004, eax
mov	eax, [ebp-40h]
mov	ecx, ebx
mov	dword_103F008, eax
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
lea	ecx, [ebp-3Ch]
mov	byte ptr [ebp-4], 1
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
lea	ecx, [ebp-1Ch]
mov	byte ptr [ebp-4], 0
mov	dword ptr [ebp-1Ch], offset off_1001F9C
call	sub_10096BE
jmp	loc_102231C

loc_102226A:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
lea	ecx, [ebp-3Ch]
mov	byte ptr [ebp-4], 1
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
lea	ecx, [ebp-1Ch]
mov	byte ptr [ebp-4], 0
mov	dword ptr [ebp-1Ch], offset off_1001F9C
call	sub_10096BE
jmp	loc_102233F

loc_102229A:
mov	esi, offset stru_103E808
lea	edi, [ebp-58h]
movsd
movsd
movsd
movsd
mov	esi, dword_103E7A4
mov	eax, esi
imul	eax, edx
cdq
pop	ecx
idiv	ecx
mov	edi, cy
push	64h
pop	ecx
push	1
push	1
add	esi, eax
mov	eax, edi
imul	eax, [ebp-10h]
cdq
idiv	ecx
mov	ecx, [ebx+44h]
add	edi, eax
mov	eax, [ebp-58h]
add	eax, esi
mov	[ebp-50h], eax
mov	eax, [ebp-54h]
add	eax, edi
mov	[ebp-4Ch], eax
call	sub_101B37E
call	sub_10129FB
push	1
push	edi
push	esi
mov	ecx, offset unk_103E778
call	sub_100EA54
push	0
call	sub_10124E6
push	0
push	dword_103E804
call	sub_101282E
mov	ecx, [ebx+44h]
lea	eax, [ebp-58h]
push	eax
call	sub_101AC0B
xor	esi, esi

loc_102231C:
cmp	[ebp-70h], esi
mov	edi, [ebp-6Ch]
jz	short loc_1022331
mov	ecx, [ebx+44h]
push	1
push	dword ptr [ebp-70h]
call	sub_10247FE

loc_1022331:
cmp	edi, esi
jz	short loc_102233F
mov	ecx, [ebx+44h]
push	esi
push	edi
call	sub_10247FE

loc_102233F:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-0D0h]
call	??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)
pop	edi

loc_102234F:
mov	ecx, [ebp-0Ch]
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)
mov	eax, offset loc_103691D
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, ecx
push	edi
lea	ecx, [ebp-10h]
call	??0CString@@QAE@XZ ; CString::CString(void)
and	dword ptr [ebp-4], 0
mov	edi, [esi+40h]
push	0CCh
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-14h], ecx
test	ecx, ecx
mov	byte ptr [ebp-4], 1
jz	short loc_10223A3
push	dword ptr [esi+44h]
call	sub_102B6B7
jmp	short loc_10223A5

loc_10223A3:
xor	eax, eax

loc_10223A5:
test	eax, eax
mov	byte ptr [ebp-4], 0
jz	short loc_10223BF
mov	edi, [edi+24h]
mov	edx, [eax]
push	edi
mov	ecx, eax
call	dword ptr [edx+0FCh]
test	eax, eax
jnz	short loc_10223CB

loc_10223BF:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4

loc_10223CB:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-10h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10223EA proc near

cbData=	dword ptr -0Ch
Data= byte ptr -8
hKey= dword ptr	-4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 0Ch
push	esi
push	edi
xor	esi, esi
xor	edi, edi
cmp	[ecx+44h], esi
jz	short loc_1022468
mov	ecx, [ecx+40h]
mov	eax, [ecx+24h]
cmp	[eax-8], esi
jnz	short loc_1022411
mov	eax, [ecx]
call	dword ptr [eax+60h]
test	eax, eax
jz	short loc_1022468

loc_1022411:
lea	eax, [ebp+hKey]
push	eax		; phkResult
xor	edi, edi
inc	edi
push	edi		; samDesired
push	esi		; ulOptions
push	offset SubKey	; "Software\\Microsoft\\Windows\\CurrentVe"...
push	80000001h	; hKey
mov	[ebp+hKey], esi
call	ds:RegOpenKeyExW
test	eax, eax
jnz	short loc_1022468
lea	eax, [ebp+cbData]
push	eax		; lpcbData
lea	eax, [ebp+Data]
push	eax		; lpData
push	esi		; lpType
push	esi		; lpReserved
push	offset ValueName ; "NoChangingWallpaper"
push	[ebp+hKey]	; hKey
mov	dword ptr [ebp+Data], esi
mov	[ebp+cbData], 4
call	ds:RegQueryValueExW
test	eax, eax
jnz	short loc_102245F
cmp	dword ptr [ebp+Data], esi
setz	al
mov	edi, eax

loc_102245F:		; hKey
push	[ebp+hKey]
call	ds:RegCloseKey

loc_1022468:
mov	eax, edi
pop	edi
pop	esi
leave
retn
sub_10223EA endp

db 5 dup(0CCh)



sub_1022473 proc near
mov	eax, offset loc_1036934
call	sub_1034E18
sub	esp, 0Ch
push	ebx
push	esi
mov	esi, [ecx+40h]
push	edi
lea	edi, [esi+24h]
push	edi
lea	ecx, [ebp-10h]
call	??0CString@@QAE@ABV0@@Z	; CString::CString(CString const &)
mov	eax, [ebp-10h]
xor	ebx, ebx
cmp	[eax-8], ebx
mov	[ebp-4], ebx
jz	short loc_10224B2
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+60h]
test	eax, eax
jnz	short loc_10224B2
cmp	[esi+104h], ebx
jz	short loc_10224F5

loc_10224B2:		; unsigned int
push	0FFFFFFFFh
push	31h		; unsigned int
push	1B91h		; unsigned int
call	?AfxMessageBox@@YGHIII@Z ; AfxMessageBox(uint,uint,uint)
dec	eax
jz	short loc_10224DB
dec	eax
jz	loc_102257A
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
jmp	loc_102257A

loc_10224DB:
mov	ecx, esi
call	sub_101CE65
push	edi
lea	ecx, [ebp-10h]
mov	esi, eax
call	??4CString@@QAEABV0@ABV0@@Z ; CString::operator=(CString const &)
cmp	esi, ebx
jz	loc_102257A

loc_10224F5:
lea	eax, [ebp-18h]
push	eax		; lpdwDisposition
lea	eax, [ebp-14h]
push	eax		; phkResult
push	ebx		; lpSecurityAttributes
push	0F003Fh		; samDesired
push	ebx		; dwOptions
push	offset Text	; lpClass
push	ebx		; Reserved
push	offset aControlPanelDe ; "Control Panel\\Desktop"
push	80000001h	; hKey
mov	[ebp-14h], ebx
call	ds:RegCreateKeyExW
test	eax, eax
jnz	short loc_102254D
cmp	[ebp+8], ebx
mov	eax, offset Data ; "1"
jnz	short loc_1022530
mov	eax, offset String ; "0"

loc_1022530:		; cbData
push	4
push	eax		; lpData
push	1		; dwType
push	ebx		; Reserved
push	offset aTilewallpaper ;	"TileWallpaper"
push	dword ptr [ebp-14h] ; hKey
call	ds:RegSetValueExW
push	dword ptr [ebp-14h] ; hKey
call	ds:RegCloseKey

loc_102254D:
mov	eax, [ebp-10h]
mov	eax, [eax-8]
push	3		; fWinIni
push	eax
lea	ecx, [ebp-10h]
call	?GetBuffer@CString@@QAEPAGH@Z ;	CString::GetBuffer(int)
push	eax		; pvParam
xor	eax, eax
cmp	[ebp+8], ebx
setnz	al
push	eax		; uiParam
push	14h		; uiAction
call	ds:SystemParametersInfoW
push	0FFFFFFFFh
lea	ecx, [ebp-10h]
call	?ReleaseBuffer@CString@@QAEXH@Z	; CString::ReleaseBuffer(int)

loc_102257A:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-10h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	4
sub_1022473 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102259C proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
mov	eax, [esi+44h]
cmp	[ebp+arg_0], eax
jz	short loc_10225F8
test	eax, eax
jz	short loc_10225F8
cmp	dword ptr [eax+40h], 0
jz	short loc_10225F8
cmp	dword_103EF88, 0
jz	short loc_10225F8
push	1		; bErase
push	0		; lpRect
push	dword ptr [eax+20h] ; hWnd
call	ds:InvalidateRect
mov	eax, [esi+44h]
push	dword ptr [eax+20h] ; hWnd
call	ds:UpdateWindow
mov	eax, dword_103E820
test	eax, eax
jz	short loc_10225F8
mov	eax, [eax+20h]
test	eax, eax
jz	short loc_10225F8
push	eax		; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_10225F8
call	sub_100C493

loc_10225F8:
pop	esi
pop	ebp
retn	4
sub_102259C endp

db 5 dup(0CCh)



sub_1022602 proc near
mov	edi, edi
push	esi
mov	esi, ecx
mov	eax, [esi+44h]
test	eax, eax
jz	short loc_1022672
push	ebx
push	dword ptr [eax+20h] ; hWnd
mov	ebx, ds:IsWindow
call	ebx ; IsWindow
test	eax, eax
jz	short loc_1022671
mov	eax, [esi+44h]
cmp	dword ptr [eax+40h], 0
jz	short loc_1022671
cmp	dword_103EF88, 0
jz	short loc_1022671
push	1		; bErase
push	0		; lpRect
push	dword ptr [eax+20h] ; hWnd
call	ds:InvalidateRect
mov	eax, [esi+44h]
push	dword ptr [eax+20h] ; hWnd
mov	esi, ds:UpdateWindow
call	esi ; UpdateWindow
mov	eax, dword_103E820
test	eax, eax
jz	short loc_1022671
mov	eax, [eax+20h]
test	eax, eax
jz	short loc_1022671
push	eax		; hWnd
call	ebx ; IsWindow
test	eax, eax
jz	short loc_1022671
call	sub_100C493
mov	eax, dword_103E820
push	dword ptr [eax+20h] ; hWnd
call	esi ; UpdateWindow

loc_1022671:
pop	ebx

loc_1022672:
xor	eax, eax
inc	eax
pop	esi
retn
sub_1022602 endp

db 5 dup(0CCh)

loc_102267C:
mov	edi, edi
push	esi
mov	esi, ecx
mov	ecx, [esi+44h]
test	ecx, ecx
jz	short loc_102268D
call	sub_101A961

loc_102268D:
mov	ecx, esi
pop	esi
jmp	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
db 5 dup(0CCh)
align 4
push	esi
mov	esi, ecx
mov	ecx, off_103D74C
mov	eax, [ecx]
call	dword ptr [eax+58h]
test	eax, eax
jz	short loc_10226B6
mov	ecx, esi
pop	esi
jmp	loc_102267C

loc_10226B6:
mov	ecx, [esi+40h]
mov	eax, [ecx]
push	0
call	dword ptr [eax+114h]
pop	esi
retn
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_1021330
test	byte ptr [ebp+8], 1
jz	short loc_10226E4
push	esi
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_10226E4:
mov	eax, esi
pop	esi
pop	ebp
retn	4
align 10h



sub_10226F0 proc near
mov	eax, offset loc_103695B
call	sub_1034E18
sub	esp, 10h
push	ebx
push	esi
mov	esi, [ecx+40h]
xor	eax, eax
cmp	esi, eax
push	edi
mov	[ebp-1Ch], ecx
jz	loc_10228AB
mov	edi, [esi+0F0h]
cmp	edi, eax
jz	loc_10228AB
cmp	[esi+0FCh], eax
jnz	loc_102283F
cmp	[edi+20h], eax
jnz	loc_102283F
cmp	[edi+28h], eax
jz	loc_102283F
cmp	[edi+30h], eax
jz	loc_102283F
mov	eax, [edi]
xor	ebx, ebx
inc	ebx
push	ebx
mov	ecx, edi
call	dword ptr [eax+4]
lea	ecx, [ebp-10h]
call	??0CString@@QAE@XZ ; CString::CString(void)
xor	edi, edi
lea	ecx, [ebp-14h]
mov	[ebp-4], edi
call	??0CString@@QAE@XZ ; CString::CString(void)
mov	ecx, [esi+28h]
mov	eax, [ecx]
push	ebx
lea	edx, [ebp-10h]
push	edx
mov	[ebp-4], bl
call	dword ptr [eax+6Ch]
test	eax, eax
jz	short loc_1022781
mov	eax, [ebp-10h]
cmp	[eax-8], edi
jnz	short loc_102278E

loc_1022781:
push	0F003h
lea	ecx, [ebp-10h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)

loc_102278E:
mov	ecx, [esi+28h]
mov	eax, [ecx]
push	4
lea	edx, [ebp-14h]
push	edx
call	dword ptr [eax+6Ch]
test	eax, eax
jz	short loc_10227D6
mov	eax, [ebp-14h]
cmp	[eax-8], edi
jz	short loc_10227D6
lea	eax, [ebp-14h]
push	eax
lea	eax, [ebp-10h]
push	eax
lea	eax, [ebp-18h]
push	eax
call	??H@YG?AVCString@@ABV0@0@Z ; operator+(CString const &,CString const &)
mov	eax, [eax]
mov	edx, [esi]
push	ebx
push	eax
mov	ecx, esi
mov	byte ptr [ebp-4], 2
call	dword ptr [edx+5Ch]
lea	ecx, [ebp-18h]
mov	byte ptr [ebp-4], 1
call	??1CString@@QAE@XZ ; CString::~CString(void)
jmp	short loc_10227E1

loc_10227D6:
mov	eax, [esi]
push	ebx
push	dword ptr [ebp-10h]
mov	ecx, esi
call	dword ptr [eax+5Ch]

loc_10227E1:
push	dword ptr [ebp-10h]
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+58h]
lea	ecx, [esi+0F4h]
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
mov	ecx, esi
mov	[esi+0F8h], ebx
call	sub_101DF12
test	eax, eax
lea	ecx, [ebp-14h]
mov	byte ptr [ebp-4], 0
jnz	short loc_1022824
call	??1CString@@QAE@XZ ; CString::~CString(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-10h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
jmp	loc_10228AB

loc_1022824:
mov	edi, [esi+0F0h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-10h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
xor	eax, eax
jmp	short loc_1022842

loc_102283F:
xor	ebx, ebx
inc	ebx

loc_1022842:
cmp	[edi+4], eax
jnz	short loc_1022852
mov	ecx, edi
call	sub_100A509
test	eax, eax
jz	short loc_10228AB

loc_1022852:
mov	eax, [edi+4]
cmp	[eax+2Ch], ebx
jl	short loc_102289A
cmp	[eax+30h], ebx
jl	short loc_102289A
call	sub_1012498
call	sub_1012028
mov	ecx, [ebp-1Ch]
push	edi
call	sub_10216F6
test	eax, eax
jz	short loc_10228AB
lea	ebx, [esi+0ECh]
mov	ecx, [ebx]
test	ecx, ecx
jz	short loc_102288C
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]
and	dword ptr [ebx], 0

loc_102288C:
and	dword ptr [esi+0F0h], 0
xor	eax, eax
mov	[ebx], edi
inc	eax
jmp	short loc_10228AD

loc_102289A:
push	30h
push	0E000h
push	8FBh
call	sub_100C01C

loc_10228AB:
xor	eax, eax

loc_10228AD:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_10226F0 endp

db 5 dup(0CCh)



sub_10228C1 proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1021AE9
test	eax, eax
jz	short loc_10228E4
mov	ecx, [esi+4Ch]
test	ecx, ecx
jz	short loc_10228DD
push	0
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)

loc_10228DD:
and	dword_103EF30, 0

loc_10228E4:
pop	esi
retn
sub_10228C1 endp

db 5 dup(0CCh)



sub_10228EB proc near

; FUNCTION CHUNK AT 01021A0A SIZE 000000DA BYTES

cmp	dword_103EF30, 0
push	esi
mov	esi, ecx
jz	short loc_1022913
call	sub_1021AE9
test	eax, eax
jnz	short loc_1022913
cmp	[esi+48h], eax
jz	short loc_1022915
mov	ecx, [esi+4Ch]
test	ecx, ecx
jz	short loc_1022913
push	4
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)

loc_1022913:
pop	esi
retn

loc_1022915:
mov	ecx, esi
pop	esi
jmp	loc_1021A0A
sub_10228EB endp ; sp-analysis failed

db 5 dup(0CCh)
push	1
call	sub_1022473
retn
db 5 dup(0CCh)
push	0
call	sub_1022473
retn
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, [ebp+8]
mov	esi, [edi]
call	sub_10223EA
push	eax
mov	ecx, edi
call	dword ptr [esi]
pop	edi
pop	esi
pop	ebp
retn	4
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102295D proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
mov	ebx, [ebp+arg_4]
push	esi
push	edi
push	[ebp+arg_8]
mov	esi, ecx
push	ebx
push	[ebp+arg_0]
call	??0CPrintDialog@@QAE@HKPAVCWnd@@@Z ; CPrintDialog::CPrintDialog(int,ulong,CWnd *)
push	15h
lea	edx, [esi+0ACh]
pop	ecx
mov	dword ptr [esi], offset	off_100516C
mov	dword ptr [esi+0A8h], offset off_100514C
xor	eax, eax
mov	edi, edx
rep stosd
pop	edi
mov	[esi+0C0h], ebx
mov	eax, esi
pop	esi
mov	dword ptr [edx], 54h
pop	ebx
pop	ebp
retn	0Ch
sub_102295D endp

db 5 dup(0CCh)



sub_10229AF proc near
mov	eax, offset loc_103697C
call	sub_1034E18
push	ebx
push	esi
mov	esi, [ebp+8]
mov	eax, [esi]
push	edi
mov	edi, ecx
push	100h		; unsigned int
mov	[edi+54h], eax
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	[ebp+8], eax
xor	ecx, ecx
cmp	eax, ecx
mov	[ebp-4], ecx
jz	short loc_10229ED
push	ecx
push	84010Ch
push	ecx
mov	ecx, eax
call	sub_102295D
jmp	short loc_10229EF

loc_10229ED:
xor	eax, eax

loc_10229EF:
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	[edi+50h], eax
mov	[esi], eax
mov	eax, [eax+60h]
xor	ebx, ebx
inc	ebx
mov	[eax+1Ch], bx
mov	eax, [esi]
mov	eax, [eax+60h]
or	word ptr [eax+1Eh], 0FFFFh
mov	eax, [esi]
mov	eax, [eax+60h]
mov	[eax+18h], bx
mov	eax, [esi]
mov	eax, [eax+60h]
push	54h		; unsigned int
mov	[eax+1Ah], bx
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	[ebp+8], eax
test	eax, eax
mov	[ebp-4], ebx
jz	short loc_1022A3A
push	esi
push	edi
mov	ecx, eax
call	sub_1023181

loc_1022A3A:
or	dword ptr [ebp-4], 0FFFFFFFFh
cmp	dword ptr [esi+20h], 0
jz	loc_1022ADF
cmp	dword_103EF5C, 0
mov	ecx, edi
push	esi
jz	short loc_1022AC8
call	sub_1021526
test	eax, eax
jnz	short loc_1022AB5
mov	eax, [esi]
push	dword ptr [eax+60h]
mov	edi, offset unk_103EE08
mov	ecx, edi
call	?GetPrinterDeviceDefaults@CWinApp@@QAEHPAUtagPDW@@@Z ; CWinApp::GetPrinterDeviceDefaults(tagPDW	*)
test	eax, eax
jnz	short loc_1022A7F
push	dword ptr [esi]
mov	ecx, edi
call	?DoPrintDialog@CWinApp@@QAEHPAVCPrintDialog@@@Z	; CWinApp::DoPrintDialog(CPrintDialog *)
cmp	eax, ebx
jnz	short loc_1022ADF

loc_1022A7F:
mov	ecx, [esi]
mov	eax, [ecx+60h]
cmp	dword ptr [eax+10h], 0
jnz	short loc_1022A93
call	?CreatePrinterDC@CPrintDialog@@QAEPAUHDC__@@XZ ; CPrintDialog::CreatePrinterDC(void)
test	eax, eax
jz	short loc_1022ADF

loc_1022A93:
mov	eax, [esi]
mov	eax, [eax+60h]
mov	cx, [eax+1Ch]
mov	[eax+18h], cx
mov	eax, [esi]
mov	eax, [eax+60h]
mov	cx, [eax+1Eh]
mov	[eax+1Ah], cx
mov	eax, dword_103EEC0
mov	[esi+18h], eax

loc_1022AB5:
mov	eax, ebx

loc_1022AB7:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	4

loc_1022AC8:		; CView::DoPreparePrinting(CPrintInfo *)
call	?DoPreparePrinting@CView@@QAEHPAUCPrintInfo@@@Z
test	eax, eax
jnz	short loc_1022AB5
mov	ecx, [esi+20h]
push	esi
push	eax
call	sub_10230D2
and	dword ptr [esi+20h], 0

loc_1022ADF:
xor	eax, eax
jmp	short loc_1022AB7
sub_10229AF endp

align 8
byte_1022AE8 db	8Bh, 0FFh
push	esi
push	edi
mov	edi, ecx
mov	esi, [edi+40h]
call	sub_10226F0
test	eax, eax
jz	short loc_1022B47
cmp	dword_103EF5C, 0
jz	short loc_1022B32
cmp	dword ptr [esi+0FCh], 0
jz	short loc_1022B2B
mov	ecx, edi
call	sub_1020F8B
mov	ecx, edi
call	?GetParentFrame@CWnd@@QBEPAVCFrameWnd@@XZ ; CWnd::GetParentFrame(void)
push	0
push	0
push	10h
push	dword ptr [eax+20h]
call	ds:PostMessageW
jmp	short loc_1022B5D

loc_1022B2B:
and	dword_103EF5C, 0

loc_1022B32:
push	3
mov	ecx, offset unk_103F3A0
call	sub_102FE6C
mov	ecx, edi
pop	edi
pop	esi
jmp	sub_10217D1

loc_1022B47:
add	esi, 0F0h
mov	ecx, [esi]
test	ecx, ecx
jz	short loc_1022B5D
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]
and	dword ptr [esi], 0

loc_1022B5D:
pop	edi
pop	esi
retn
db 5 dup(0CCh)

loc_1022B65:
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1021AE9
neg	eax
sbb	eax, eax
inc	eax
mov	dword_103EF30, eax
jz	short loc_1022B83
mov	ecx, esi
pop	esi
jmp	sub_10228EB

loc_1022B83:
cmp	dword ptr [esi+48h], 0
jz	short loc_1022B91
mov	ecx, esi
pop	esi
jmp	sub_10228C1

loc_1022B91:
pop	esi
retn
align 8
jmp	loc_1022B65
db 5 dup(0CCh)

loc_1022BA2:		; CRuntimeClass	const CDC::classCDC
mov	eax, ds:?classCDC@CDC@@2UCRuntimeClass@@B
retn
db 5 dup(0CCh)

loc_1022BAD:
mov	eax, offset off_1005254
retn
align 8

loc_1022BB8:
mov	eax, offset loc_10369A9
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
xor	ecx, ecx
mov	dword ptr [esi], offset	off_100527C
mov	eax, offset off_1001F9C
mov	[ebp-4], ecx
mov	[esi+14h], ecx
mov	[esi+10h], eax
mov	[esi+1Ch], ecx
mov	[esi+18h], eax
mov	[esi+20h], ecx
mov	[esi+30h], ecx
push	ecx
mov	ecx, esi
mov	byte ptr [ebp-4], 2
call	sub_1009779
mov	ecx, [ebp-0Ch]
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn
align 10h


; Attributes: bp-based frame

; int __stdcall	sub_1022C10(int	x, int y)
sub_1022C10 proc near

x= dword ptr  8
y= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [ecx+4] ; hdc
call	ds:PtVisible
pop	ebp
retn	8
sub_1022C10 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1022C2D(RECT *lprect)
sub_1022C2D proc near

lprect=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+lprect]	; lprect
push	dword ptr [ecx+4] ; hdc
call	ds:RectVisible
pop	ebp
retn	4
sub_1022C2D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1022C47(int	x, int y, LPCWSTR lpString, int	c)
sub_1022C47 proc near

x= dword ptr  8
y= dword ptr  0Ch
lpString= dword	ptr  10h
c= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+c]		; c
push	[ebp+lpString]	; lpString
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [ecx+4] ; hdc
call	ds:TextOutW
pop	ebp
retn	10h
sub_1022C47 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1022C6A(int	x, int y, UINT options,	RECT *lprect, LPCWSTR lpString,	UINT c,	INT *lpDx)
sub_1022C6A proc near

x= dword ptr  8
y= dword ptr  0Ch
options= dword ptr  10h
lprect=	dword ptr  14h
lpString= dword	ptr  18h
c= dword ptr  1Ch
lpDx= dword ptr	 20h

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+lpDx]	; lpDx
push	[ebp+c]		; c
push	[ebp+lpString]	; lpString
push	[ebp+lprect]	; lprect
push	[ebp+options]	; options
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [ecx+4] ; hdc
call	ds:ExtTextOutW
pop	ebp
retn	1Ch
sub_1022C6A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1022C96(int, int x,	int y, LPCWSTR lpString, int chCount, int nTabPositions, INT *lpnTabStopPositions, int nTabOrigin)
sub_1022C96 proc near

arg_0= dword ptr  8
x= dword ptr  0Ch
y= dword ptr  10h
lpString= dword	ptr  14h
chCount= dword ptr  18h
nTabPositions= dword ptr  1Ch
lpnTabStopPositions= dword ptr	20h
nTabOrigin= dword ptr  24h

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+nTabOrigin] ; nTabOrigin
push	[ebp+lpnTabStopPositions] ; lpnTabStopPositions
push	[ebp+nTabPositions] ; nTabPositions
push	[ebp+chCount]	; chCount
push	[ebp+lpString]	; lpString
push	[ebp+y]		; y
push	[ebp+x]		; x
push	dword ptr [ecx+4] ; hdc
call	ds:TabbedTextOutW
mov	ecx, [ebp+arg_0]
movsx	edx, ax
shr	eax, 10h
movsx	eax, ax
mov	[ecx+4], eax
mov	[ecx], edx
mov	eax, ecx
pop	ebp
retn	20h
sub_1022C96 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1022CD5(LPCWSTR lpchText, int cchText, LPRECT lprc,	UINT format)
sub_1022CD5 proc near

lpchText= dword	ptr  8
cchText= dword ptr  0Ch
lprc= dword ptr	 10h
format=	dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+format]	; format
push	[ebp+lprc]	; lprc
push	[ebp+cchText]	; cchText
push	[ebp+lpchText]	; lpchText
push	dword ptr [ecx+4] ; hdc
call	ds:DrawTextW
pop	ebp
retn	10h
sub_1022CD5 endp

align 8


; Attributes: bp-based frame

; int __stdcall	sub_1022CF8(HBRUSH hBrush, GRAYSTRINGPROC lpOutputFunc,	LPARAM lpData, int nCount, int X, int Y, int nWidth, int nHeight)
sub_1022CF8 proc near

hBrush=	dword ptr  8
lpOutputFunc= dword ptr	 0Ch
lpData=	dword ptr  10h
nCount=	dword ptr  14h
X= dword ptr  18h
Y= dword ptr  1Ch
nWidth=	dword ptr  20h
nHeight= dword ptr  24h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+hBrush]
test	eax, eax
jz	short loc_1022D07
mov	eax, [eax+4]

loc_1022D07:		; nHeight
push	[ebp+nHeight]
push	[ebp+nWidth]	; nWidth
push	[ebp+Y]		; Y
push	[ebp+X]		; X
push	[ebp+nCount]	; nCount
push	[ebp+lpData]	; lpData
push	[ebp+lpOutputFunc] ; lpOutputFunc
push	eax		; hBrush
push	dword ptr [ecx+4] ; hDC
call	ds:GrayStringW
pop	ebp
retn	20h
sub_1022CF8 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1022D2F(int	iEscape, int cjIn, LPCSTR pvIn,	LPVOID pvOut)
sub_1022D2F proc near

iEscape= dword ptr  8
cjIn= dword ptr	 0Ch
pvIn= dword ptr	 10h
pvOut= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+pvOut]	; pvOut
push	[ebp+pvIn]	; pvIn
push	[ebp+cjIn]	; cjIn
push	[ebp+iEscape]	; iEscape
push	dword ptr [ecx+4] ; hdc
call	ds:Escape
pop	ebp
retn	10h
sub_1022D2F endp

db 5 dup(0CCh)



sub_1022D52 proc near
mov	eax, offset loc_10369A9
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_100527C
cmp	dword ptr [esi+4], 0
mov	dword ptr [ebp-4], 2
jz	short loc_1022DA8
mov	eax, [esi+20h]
test	eax, eax
jz	short loc_1022D8C
push	eax
call	?FromHandle@CGdiObject@@SGPAV1@PAX@Z ; CGdiObject::FromHandle(void *)
push	eax
mov	ecx, esi
call	sub_1032D5B

loc_1022D8C:
cmp	dword ptr [esi+14h], 0
jz	short loc_1022D9A
lea	ecx, [esi+10h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)

loc_1022D9A:
cmp	dword ptr [esi+1Ch], 0
jz	short loc_1022DA8
lea	ecx, [esi+18h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)

loc_1022DA8:
lea	ecx, [esi+18h]
mov	edi, offset off_1001F9C
mov	byte ptr [ebp-4], 1
mov	[ecx], edi
call	sub_10096BE
lea	ecx, [esi+10h]
mov	byte ptr [ebp-4], 0
mov	[ecx], edi
call	sub_10096BE
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_1022D52 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1022DE7(HDC hdcSrc, int, int x, int y, int)
sub_1022DE7 proc near

arg_0= dword ptr  8
x= dword ptr  0Ch
y= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
cmp	dword ptr [esi+30h], 0
jz	loc_1022E95
mov	eax, [ebp+arg_C]
test	eax, eax
jl	loc_1022E95
cmp	eax, [esi+2Ch]
jge	loc_1022E95
push	ebx
mov	ebx, [esi+24h]
imul	ebx, eax
push	edi
lea	eax, [esi+18h]
push	eax
call	sub_1032D5B
mov	edi, [ebp+arg_0]
mov	eax, [edi]
push	0
mov	ecx, edi
call	dword ptr [eax+38h]
mov	[ebp+arg_C], eax
mov	eax, [edi]
push	0FFFFFFh
mov	ecx, edi
call	dword ptr [eax+34h]
push	8800C6h		; rop
push	0		; y1
push	ebx		; x1
push	esi		; hdcSrc
push	dword ptr [esi+28h] ; cy
mov	ecx, edi
push	dword ptr [esi+24h] ; int
mov	[ebp+arg_0], eax
push	[ebp+y]		; y
push	[ebp+x]		; x
call	sub_10097A4
push	[ebp+arg_C]
mov	eax, [edi]
mov	ecx, edi
call	dword ptr [eax+38h]
push	[ebp+arg_0]
mov	eax, [edi]
mov	ecx, edi
call	dword ptr [eax+34h]
lea	eax, [esi+10h]
push	eax
mov	ecx, esi
call	sub_1032D5B
push	0EE0086h	; rop
push	0		; y1
push	ebx		; x1
push	esi		; hdcSrc
push	dword ptr [esi+28h] ; cy
mov	ecx, edi
push	dword ptr [esi+24h] ; int
push	[ebp+y]		; y
push	[ebp+x]		; x
call	sub_10097A4
pop	edi
pop	ebx

loc_1022E95:
pop	esi
pop	ebp
retn	10h
sub_1022DE7 endp

db 5 dup(0CCh)



sub_1022E9F proc near
mov	eax, offset loc_10369C0
call	sub_1034E18
sub	esp, 34h
push	esi
lea	eax, [ebp-40h]
push	eax		; pv
mov	esi, ecx
push	18h		; c
push	dword ptr [esi+14h] ; h
call	ds:GetObjectW
cmp	eax, 18h
jz	short loc_1022ECA
xor	eax, eax
jmp	loc_1022FC9

loc_1022ECA:
mov	eax, [ebp-3Ch]
cdq
idiv	dword ptr [esi+2Ch]
mov	ecx, [ebp-38h]
push	ebx
push	edi
mov	[esi+28h], ecx
mov	ecx, esi
mov	[esi+24h], eax
lea	eax, [esi+10h]
push	eax
call	sub_1032D5B
mov	eax, [eax+4]
xor	edi, edi
push	edi		; lpBits
push	1		; nBitCount
push	1		; nPlanes
push	dword ptr [ebp-38h] ; nHeight
lea	ebx, [esi+18h]
push	dword ptr [ebp-3Ch] ; nWidth
mov	ecx, ebx
mov	[esi+20h], eax
call	sub_100AC14
test	eax, eax
jz	loc_1022FC7
lea	ecx, [ebp-28h]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
push	esi		; hdc
lea	ecx, [ebp-28h]
mov	[ebp-4], edi
call	sub_1009779
push	ebx
lea	ecx, [ebp-28h]
call	sub_1032D5B
mov	ebx, [esi]
push	1		; y
push	1		; x
push	dword ptr [esi+4] ; hdc
mov	[ebp-18h], eax
call	ds:GetPixel
push	eax
mov	ecx, esi
call	dword ptr [ebx+34h]
mov	eax, [esi+4]
mov	ebx, ds:BitBlt
push	0CC0020h	; rop
push	edi		; y1
push	edi		; x1
push	eax		; hdcSrc
push	dword ptr [ebp-38h] ; cy
push	dword ptr [ebp-3Ch] ; cx
push	edi		; y
push	edi		; x
push	dword ptr [ebp-24h] ; hdc
call	ebx ; BitBlt
push	edi
lea	ecx, [ebp-28h]
call	?SetTextColor@CDC@@UAEKK@Z ; CDC::SetTextColor(ulong)
push	0FFFFFFh
lea	ecx, [ebp-28h]
mov	[ebp-10h], eax
call	?SetBkColor@CDC@@UAEKK@Z ; CDC::SetBkColor(ulong)
push	220326h		; rop
push	edi		; y1
push	edi		; x1
push	dword ptr [ebp-24h] ; hdcSrc
mov	[ebp-14h], eax
push	dword ptr [ebp-38h] ; cy
push	dword ptr [ebp-3Ch] ; cx
push	edi		; y
push	edi		; x
push	dword ptr [esi+4] ; hdc
call	ebx ; BitBlt
push	dword ptr [ebp-10h]
lea	ecx, [ebp-28h]
call	?SetTextColor@CDC@@UAEKK@Z ; CDC::SetTextColor(ulong)
push	dword ptr [ebp-14h]
lea	ecx, [ebp-28h]
call	?SetBkColor@CDC@@UAEKK@Z ; CDC::SetBkColor(ulong)
push	dword ptr [ebp-18h]
lea	ecx, [ebp-28h]
call	sub_1032D5B
or	dword ptr [ebp-4], 0FFFFFFFFh
xor	edi, edi
inc	edi
lea	ecx, [ebp-28h]
mov	[esi+30h], edi
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	eax, edi

loc_1022FC7:
pop	edi
pop	ebx

loc_1022FC9:
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_1022E9F endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1022FDB(void *, char)
sub_1022FDB proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_1022D52
test	[ebp+arg_0], 1
jz	short loc_1022FF5
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1022FF5:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1022FDB endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1023001 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
mov	esi, ecx
xor	ebx, ebx
cmp	[esi+4], ebx
jz	short loc_1023035
push	edi
mov	edi, [ebp+arg_4]
cmp	edi, ebx
jz	short loc_1023034
push	[ebp+arg_0]
lea	ecx, [esi+10h]
call	sub_1009718
test	eax, eax
jz	short loc_1023034
mov	ecx, esi
mov	[esi+2Ch], edi
call	sub_1022E9F
mov	ebx, eax

loc_1023034:
pop	edi

loc_1023035:
pop	esi
mov	eax, ebx
pop	ebx
pop	ebp
retn	8
sub_1023001 endp

db 5 dup(0CCh)

loc_1023042:
mov	eax, offset off_10052F8
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102304D(int, int, int nNumerator, int nDenominator)
sub_102304D proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
nNumerator= dword ptr  10h
nDenominator= dword ptr	 14h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
mov	esi, ds:MulDiv
push	edi
push	[ebp+nDenominator] ; nDenominator
mov	edi, [ebp+arg_4]
push	[ebp+nNumerator] ; nNumerator
push	dword ptr [edi]	; nNumber
call	esi ; MulDiv
push	[ebp+nDenominator] ; nDenominator
mov	ebx, [ebp+arg_0]
push	[ebp+nNumerator] ; nNumerator
mov	[ebx], eax
push	dword ptr [edi+4] ; nNumber
call	esi ; MulDiv
push	[ebp+nDenominator] ; nDenominator
mov	[ebx+4], eax
push	[ebp+nNumerator] ; nNumerator
push	dword ptr [edi+8] ; nNumber
call	esi ; MulDiv
push	[ebp+nDenominator] ; nDenominator
mov	[ebx+8], eax
push	[ebp+nNumerator] ; nNumerator
push	dword ptr [edi+0Ch] ; nNumber
call	esi ; MulDiv
pop	edi
pop	esi
mov	[ebx+0Ch], eax
pop	ebx
pop	ebp
retn	10h
sub_102304D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10230A3 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_0]
test	esi, esi
jz	short loc_10230C8
cmp	[ebp+arg_4], 0
jz	short loc_10230C8
mov	eax, [esi]
push	1
mov	ecx, esi
call	dword ptr [eax+3Ch]
push	4
mov	ecx, esi
call	?SetStretchBltMode@CDC@@QAEHH@Z	; CDC::SetStretchBltMode(int)

loc_10230C8:
pop	esi
pop	ebp
retn	8
sub_10230A3 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10230D2 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	[ebp+arg_0], 0
push	esi
mov	esi, ecx
jz	short loc_10230FF
push	dword ptr [esi+1Ch]
mov	eax, [esi+4]
push	dword ptr [esi+18h]
mov	ecx, [eax+44h]
call	sub_101A8CD
mov	eax, [esi+4]
push	dword ptr [esi+10h]
mov	ecx, [eax+44h]
call	sub_101B2C5

loc_10230FF:
mov	ecx, [esi+14h]
test	ecx, ecx
jz	short loc_102310D
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_102310D:
mov	eax, [esi]
push	1
mov	ecx, esi
call	dword ptr [eax+4]
pop	esi
pop	ebp
retn	8
sub_10230D2 endp

align 10h


; Attributes: bp-based frame

sub_1023120 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ebp+arg_0]
push	esi
mov	eax, ecx
push	0Ah
cdq
pop	esi
idiv	esi
pop	esi
sub	ecx, edx
cmp	edx, 5
jl	short loc_102313E
add	ecx, 0Ah
jmp	short loc_1023146

loc_102313E:
cmp	edx, 0FFFFFFFBh
jg	short loc_1023146
sub	ecx, 0Ah

loc_1023146:
mov	eax, ecx
pop	ebp
retn	4
sub_1023120 endp

db 5 dup(0CCh)



sub_1023151 proc near
push	dword ptr [esi]
call	sub_1023120
push	dword ptr [esi+8]
mov	[esi], eax
call	sub_1023120
push	dword ptr [esi+4]
mov	[esi+8], eax
call	sub_1023120
push	dword ptr [esi+0Ch]
mov	[esi+4], eax
call	sub_1023120
mov	[esi+0Ch], eax
retn
sub_1023151 endp

db 5 dup(0CCh)



sub_1023181 proc near
mov	eax, offset loc_10369D7
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
xor	edx, edx
cmp	[ebp+0Ch], edx
mov	[ebp-4], edx
mov	dword ptr [esi], offset	off_1005324
mov	[esi+8], edx
mov	[esi+14h], edx
jz	loc_102328E
mov	eax, [ebp+8]
cmp	eax, edx
jz	loc_102328E
mov	ecx, [eax+44h]
cmp	ecx, edx
jz	loc_102328E
mov	ecx, [ecx+40h]
cmp	ecx, edx
jz	loc_102328E
cmp	[ecx+4], edx
jz	loc_102328E
mov	[esi+4], eax
mov	ecx, [eax+44h]
mov	ecx, [ecx+40h]
mov	ecx, [ecx+4]
mov	ecx, [ecx+8]
mov	[esi+20h], ecx
mov	ecx, [eax+44h]
mov	ecx, [ecx+40h]
mov	ecx, [ecx+4]
mov	ecx, [ecx+0Ch]
mov	[esi+24h], ecx
mov	eax, [eax+44h]
mov	eax, [eax+40h]
mov	eax, [eax+4]
push	ebx
mov	ebx, [eax+24h]
push	edi
xor	edi, edi
inc	edi
mov	[eax+24h], edi
mov	eax, [esi+4]
mov	eax, [eax+44h]
mov	eax, [eax+40h]
mov	ecx, [eax+4]
push	edi
call	sub_100AA99
mov	eax, [esi+4]
mov	eax, [eax+44h]
mov	eax, [eax+40h]
mov	eax, [eax+4]
mov	[eax+24h], ebx
mov	eax, [esi+4]
mov	eax, [eax+44h]
mov	eax, [eax+40h]
mov	eax, [eax+4]
push	dword ptr [eax+28h] ; hMem
call	ds:GlobalLock
test	eax, eax
mov	[esi+8], eax
jz	short loc_102328C
push	eax
call	sub_10131F8
push	0
push	dword ptr [esi+8]
mov	[esi+14h], eax
call	sub_1012163
mov	[esi+0Ch], eax
mov	eax, [esi+4]
mov	ecx, [eax+44h]
mov	edx, [ecx+50h]
mov	ecx, [ecx+54h]
mov	[esi+18h], edx
mov	[esi+1Ch], ecx
mov	eax, [eax+44h]
mov	eax, [eax+48h]
mov	[esi+10h], eax
lea	eax, [esi+28h]
push	eax		; lprc
call	ds:SetRectEmpty
mov	eax, [ebp+0Ch]
mov	[eax+18h], edi
mov	[eax+20h], esi

loc_102328C:
pop	edi
pop	ebx

loc_102328E:
mov	ecx, [ebp-0Ch]
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn	8
sub_1023181 endp

db 5 dup(0CCh)



sub_10232A4 proc near
mov	edi, edi
push	esi
mov	esi, ecx
mov	eax, [esi+4]
mov	dword ptr [esi], offset	off_1005324
mov	eax, [eax+44h]
mov	eax, [eax+40h]
mov	eax, [eax+4]
push	dword ptr [eax+28h] ; hMem
call	ds:GlobalUnlock
mov	dword ptr [esi], offset	off_1001F6C
pop	esi
retn
sub_10232A4 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10232D1 proc near

var_54=	dword ptr -54h
var_50=	dword ptr -50h
var_4C=	dword ptr -4Ch
var_48=	dword ptr -48h
var_44=	dword ptr -44h
var_40=	dword ptr -40h
var_3C=	qword ptr -3Ch
var_34=	qword ptr -34h
var_24=	dword ptr -24h
var_20=	dword ptr -20h
var_1C=	dword ptr -1Ch
var_18=	dword ptr -18h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 54h
push	ebx
mov	ebx, [ebp+arg_0]
xor	eax, eax
cmp	ebx, eax
push	edi
mov	edi, ecx
jz	loc_1023532
cmp	[ebx+4], eax
jz	loc_1023532
push	esi
push	eax
push	eax
mov	eax, [edi+4]
mov	ecx, [eax+44h]
call	sub_101A8CD
mov	eax, [edi+4]
mov	ecx, [eax+44h]
push	1
call	sub_101B2C5
mov	esi, ds:GetDeviceCaps
push	8		; index
push	dword ptr [ebx+8] ; hdc
call	esi ; GetDeviceCaps
push	0Ah		; index
push	dword ptr [ebx+8] ; hdc
mov	[ebp+var_8], eax
call	esi ; GetDeviceCaps
push	4		; index
push	dword ptr [ebx+8] ; hdc
mov	[ebp+var_10], eax
call	esi ; GetDeviceCaps
push	6		; index
push	dword ptr [ebx+8] ; hdc
mov	[ebp+var_4], eax
call	esi ; GetDeviceCaps
push	6Eh		; index
push	dword ptr [ebx+8] ; hdc
mov	[ebp+var_14], eax
call	esi ; GetDeviceCaps
push	6Fh		; index
push	dword ptr [ebx+8] ; hdc
mov	[ebp+var_18], eax
call	esi ; GetDeviceCaps
push	70h		; index
push	dword ptr [ebx+8] ; hdc
mov	[ebp+var_1C], eax
call	esi ; GetDeviceCaps
push	71h		; index
push	dword ptr [ebx+8] ; hdc
mov	[ebp+arg_0], eax
call	esi ; GetDeviceCaps
fild	[ebp+var_8]
mov	[ebp+var_C], eax
mov	eax, [ebp+var_18]
fmul	ds:dbl_1005340
sub	eax, [ebp+arg_0]
sub	eax, [ebp+var_8]
fidiv	[ebp+var_4]
mov	[ebp+var_24], eax
mov	eax, [ebp+var_1C]
sub	eax, [ebp+var_C]
sub	eax, [ebp+var_10]
mov	[ebp+var_20], eax
fild	[ebp+var_10]
fmul	ds:dbl_1005340
fidiv	[ebp+var_14]
fld	ds:dbl_1005338
fild	dword_103EFB0
fmul	st, st(3)
fmul	st, st(1)
call	_ftol
mov	ecx, [ebp+arg_0]
neg	ecx
sub	ecx, eax
jns	short loc_10233B8
and	[ebp+var_4], 0
jmp	short loc_10233BB

loc_10233B8:
mov	[ebp+var_4], ecx

loc_10233BB:
mov	eax, [ebp+var_4]
mov	[edi+28h], eax
fild	dword_103EFB4
fmul	st, st(2)
fmul	st, st(1)
call	_ftol
mov	ecx, [ebp+var_C]
neg	ecx
sub	ecx, eax
jns	short loc_10233DF
and	[ebp+var_C], 0
jmp	short loc_10233E2

loc_10233DF:
mov	[ebp+var_C], ecx

loc_10233E2:
mov	eax, [ebp+var_C]
mov	[edi+2Ch], eax
fild	dword_103EFB8
fmul	st, st(3)
fmul	st, st(1)
call	_ftol
mov	ecx, [ebp+var_24]
neg	ecx
sub	ecx, eax
jns	short loc_1023406
and	[ebp+arg_0], 0
jmp	short loc_1023409

loc_1023406:
mov	[ebp+arg_0], ecx

loc_1023409:
mov	eax, [ebp+arg_0]
mov	[edi+30h], eax
fild	dword_103EFBC
fmul	st, st(2)
fmul	st, st(1)
call	_ftol
fstp	st
mov	ecx, [ebp+var_20]
neg	ecx
sub	ecx, eax
jns	short loc_102342D
xor	eax, eax
jmp	short loc_102342F

loc_102342D:
mov	eax, ecx

loc_102342F:
mov	ecx, [ebp+arg_0]
mov	edx, [ebp+var_4]
add	ecx, edx
cmp	ecx, [ebp+var_8]
mov	[edi+34h], eax
jl	short loc_1023447
and	dword ptr [edi+30h], 0
and	dword ptr [edi+28h], 0

loc_1023447:
mov	ecx, [ebp+var_C]
add	eax, ecx
cmp	eax, [ebp+var_10]
jl	short loc_1023459
and	dword ptr [edi+34h], 0
and	dword ptr [edi+2Ch], 0

loc_1023459:
mov	eax, dword_103EFC0
mov	[ebp+var_54], eax
mov	eax, dword_103EFC4
mov	[ebp+var_50], eax
mov	eax, dword_103EFC8
mov	[ebp+var_4C], eax
mov	eax, dword_103EFCC
mov	[ebp+var_48], eax
mov	eax, dword_103EFD0
mov	[ebp+var_44], eax
mov	eax, dword_103EFD4
mov	[ebp+var_40], eax
mov	eax, [edi+4]
mov	eax, [eax+44h]
mov	eax, [eax+40h]
mov	ecx, [eax+3Ch]
test	ecx, ecx
jnz	short loc_10234A4
mov	ecx, dword_103F054
lea	ecx, [ecx+ecx*4]
shl	ecx, 1

loc_10234A4:
mov	eax, [eax+40h]
test	eax, eax
mov	[ebp+arg_0], ecx
fild	[ebp+arg_0]
jnz	short loc_10234BB
mov	eax, dword_103F058
lea	eax, [eax+eax*4]
shl	eax, 1

loc_10234BB:
fild	dword ptr [edi+20h]
mov	[ebp+arg_0], eax
push	8		; index
push	dword ptr [ebx+8] ; hdc
fdiv	st, st(1)
fmul	st, st(3)
fstp	[ebp+var_3C]
fstp	st
fild	dword ptr [edi+24h]
fild	[ebp+arg_0]
fdivp	st(1), st
fmul	st, st(1)
fstp	[ebp+var_34]
fstp	st
fstp	st
call	esi ; GetDeviceCaps
sub	eax, [edi+28h]
push	0Ah		; index
sub	eax, [edi+30h]
mov	[edi+48h], eax
push	dword ptr [ebx+8] ; hdc
call	esi ; GetDeviceCaps
sub	eax, [edi+2Ch]
lea	ecx, [ebp+var_54]
sub	eax, [edi+34h]
mov	[edi+4Ch], eax
lea	eax, [edi+40h]
push	eax
lea	eax, [edi+38h]
push	eax
lea	eax, [edi+48h]
push	eax
call	sub_1032C56
mov	ecx, [ebp+var_44]
mov	eax, [ebp+var_40]
imul	eax, ecx
mov	[edi+50h], ecx
mov	ecx, [ebp+arg_4]
mov	edx, [ecx]
mov	edx, [edx+60h]
mov	[edx+1Eh], ax
xor	edx, edx
inc	edx
cmp	eax, edx
pop	esi
jnz	short loc_1023532
mov	[ecx+18h], edx

loc_1023532:
pop	edi
pop	ebx
leave
retn	8
sub_10232D1 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102353D proc near

xSrc= dword ptr	-20h
var_1C=	dword ptr -1Ch
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 20h
push	esi
mov	esi, ecx
cmp	dword ptr [esi+8], 0
jnz	short loc_1023555
xor	eax, eax
jmp	loc_10236C1

loc_1023555:
mov	eax, [ebp+arg_4]
mov	eax, [eax+14h]
mov	ecx, [esi+50h]
dec	eax
xor	edx, edx
div	ecx
mov	ecx, [esi+48h]
push	ebx
mov	ebx, [esi+38h]
push	edi
mov	edi, ecx
imul	edi, edx
mov	edx, [esi+4Ch]
sub	ebx, edi
mov	edi, edx
imul	edi, eax
mov	eax, [esi+3Ch]
sub	eax, edi
test	ebx, ebx
mov	[ebp+arg_4], eax
jle	short loc_102358B
mov	[ebp+var_10], ebx
jmp	short loc_102358F

loc_102358B:
and	[ebp+var_10], 0

loc_102358F:
test	eax, eax
jle	short loc_1023598
mov	[ebp+var_C], eax
jmp	short loc_102359C

loc_1023598:
and	[ebp+var_C], 0

loc_102359C:
mov	edi, [esi+40h]
add	edi, ebx
cmp	edi, ecx
mov	[ebp+var_8], edi
jl	short loc_10235AB
mov	[ebp+var_8], ecx

loc_10235AB:
mov	ecx, [esi+44h]
add	eax, ecx
cmp	eax, edx
mov	[ebp+var_4], eax
jl	short loc_10235BA
mov	[ebp+var_4], edx

loc_10235BA:
cmp	[ebp+var_8], 0
jl	loc_10236BC
cmp	[ebp+var_4], 0
jl	loc_10236BC
push	dword ptr [esi+40h] ; nDenominator
mov	eax, [ebp+var_10]
push	dword ptr [esi+20h] ; nNumerator
mov	edi, ds:MulDiv
sub	eax, ebx
push	eax		; nNumber
call	edi ; MulDiv
push	dword ptr [esi+44h] ; nDenominator
mov	[ebp+xSrc], eax
mov	eax, [ebp+var_C]
push	dword ptr [esi+24h] ; nNumerator
sub	eax, [ebp+arg_4]
push	eax		; nNumber
call	edi ; MulDiv
push	dword ptr [esi+40h] ; nDenominator
mov	[ebp+var_1C], eax
push	dword ptr [esi+20h] ; nNumerator
mov	eax, [ebp+var_8]
sub	eax, ebx
push	eax		; nNumber
call	edi ; MulDiv
push	dword ptr [esi+44h] ; nDenominator
mov	ebx, eax
mov	eax, [ebp+var_4]
push	dword ptr [esi+24h] ; nNumerator
sub	eax, [ebp+arg_4]
push	eax		; nNumber
call	edi ; MulDiv
test	ebx, ebx
mov	[ebp+var_14], eax
jl	loc_10236BC
test	eax, eax
jl	loc_10236BC
mov	eax, [esi+14h]
and	[ebp+arg_4], 0
test	eax, eax
mov	edi, [ebp+arg_0]
jz	short loc_102364D
push	0
push	eax
mov	ecx, edi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [edi+4] ; hdc
mov	[ebp+arg_4], eax
call	ds:RealizePalette

loc_102364D:
mov	eax, [ebp+var_14]
sub	eax, [ebp+var_1C]
sub	ebx, [ebp+xSrc]
push	0CC0020h	; rop
push	0		; iUsage
push	dword ptr [esi+8] ; lpbmi
push	dword ptr [esi+0Ch] ; lpBits
push	eax		; SrcHeight
mov	eax, [esi+24h]
sub	eax, [ebp+var_14]
push	ebx		; SrcWidth
push	eax		; ySrc
push	[ebp+xSrc]	; xSrc
mov	eax, [ebp+var_4]
sub	eax, [ebp+var_C]
push	eax		; DestHeight
mov	eax, [ebp+var_8]
sub	eax, [ebp+var_10]
push	eax		; DestWidth
mov	eax, [esi+2Ch]
add	eax, [ebp+var_C]
push	eax		; yDest
mov	eax, [esi+28h]
add	eax, [ebp+var_10]
push	eax		; xDest
push	dword ptr [edi+4] ; hdc
call	ds:StretchDIBits
cmp	eax, 0FFFFFFFFh
jnz	short loc_10236AA
push	30h
push	0E000h
push	8C8h
call	sub_100C01C

loc_10236AA:
cmp	[ebp+arg_4], 0
jz	short loc_10236BC
push	0
push	[ebp+arg_4]
mov	ecx, edi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_10236BC:
xor	eax, eax
pop	edi
inc	eax
pop	ebx

loc_10236C1:
pop	esi
leave
retn	8
sub_102353D endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_10232A4
test	byte ptr [ebp+8], 1
jz	short loc_10236E5
push	esi
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_10236E5:
mov	eax, esi
pop	esi
pop	ebp
retn	4
db 5 dup(0CCh)
mov	eax, offset loc_10369F1
call	sub_1034E18
sub	esp, 128h
push	ebx
push	esi
push	edi
xor	edi, edi
push	edi
mov	esi, ecx
push	2
lea	ecx, [ebp-0F0h]
call	??0CPageSetupDialog@@QAE@KPAVCWnd@@@Z ;	CPageSetupDialog::CPageSetupDialog(ulong,CWnd *)
mov	eax, dword_103EF7C
cmp	eax, edi
mov	[ebp-4], edi
jnz	short loc_1023743
call	ds:GetThreadLocale
push	2
lea	ecx, [ebp-14h]
push	ecx
push	0Dh
push	eax
call	ds:GetLocaleInfoW
xor	eax, eax
cmp	word ptr [ebp-14h], 30h
setz	al
jmp	short loc_102374D

loc_1023743:
xor	ecx, ecx
cmp	eax, 2
setz	cl
mov	eax, ecx

loc_102374D:
mov	ecx, dword_103EFC0
mov	[ebp-3Ch], ecx
mov	ecx, dword_103EFC4
mov	[ebp-38h], ecx
mov	ecx, dword_103EFC8
mov	[ebp-34h], ecx
mov	ecx, dword_103EFCC
mov	[ebp-30h], ecx
mov	ecx, dword_103EFD0
mov	[ebp-2Ch], ecx
mov	ecx, dword_103EFD4
mov	[ebp-28h], ecx
mov	ecx, [esi+44h]
mov	ecx, [ecx+40h]
mov	edx, [ecx+3Ch]
cmp	edx, edi
jnz	short loc_102379B
mov	edx, dword_103F054
lea	edx, [edx+edx*4]
shl	edx, 1

loc_102379B:
mov	ecx, [ecx+40h]
cmp	ecx, edi
mov	[ebp-10h], edx
fild	dword ptr [ebp-10h]
jnz	short loc_10237B3
mov	ecx, dword_103F058
lea	ecx, [ecx+ecx*4]
shl	ecx, 1

loc_10237B3:
cmp	eax, edi
mov	[ebp-10h], ecx
mov	ecx, [esi+44h]
fild	dword ptr [ebp-10h]
mov	edx, [ecx+40h]
fld	qword ptr ds:dword_1005348+8
fild	dword ptr [edx+2Ch]
fdiv	st, st(3)
fmul	st, st(1)
fstp	qword ptr [ebp-24h]
mov	ecx, [ecx+40h]
fild	dword ptr [ecx+30h]
fdiv	st, st(2)
fmul	st, st(1)
fstp	qword ptr [ebp-1Ch]
fstp	st
fstp	st
fstp	st
jnz	short loc_10237FE
fld	qword ptr ds:dword_1005348
fld	qword ptr [ebp-24h]
fmul	st, st(1)
fstp	qword ptr [ebp-24h]
fld	qword ptr [ebp-1Ch]
fmul	st, st(1)
fstp	qword ptr [ebp-1Ch]
fstp	st

loc_10237FE:
xor	ecx, ecx
cmp	eax, edi
setnz	cl
push	9ECh
mov	ebx, offset dword_103EFB0
lea	ecx, ds:4[ecx*4]
or	ecx, 4A002h
or	[ebp-80h], ecx
neg	eax
sbb	eax, eax
and	eax, 604h
add	eax, 3E8h
push	eax
mov	[ebp-10h], eax
push	ebx
lea	eax, [ebp-64h]
push	eax
call	sub_102304D
lea	esi, [ebp-64h]
call	sub_1023151
mov	[ebp-128h], edi
mov	[ebp-12Ch], edi
lea	eax, [ebp-134h]
mov	edi, offset unk_103EE08
push	eax
mov	ecx, edi
call	?GetPrinterDeviceDefaults@CWinApp@@QAEHPAUtagPDW@@@Z ; CWinApp::GetPrinterDeviceDefaults(tagPDW	*)
mov	eax, [ebp-128h]
mov	[ebp-84h], eax
mov	eax, [ebp-12Ch]
mov	[ebp-88h], eax
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	eax, [eax+8]
mov	[ebp-54h], eax
lea	eax, [ebp-3Ch]
lea	ecx, [ebp-0F0h]
mov	[ebp-50h], eax
mov	dword ptr [ebp-48h], offset sub_1032D7C
mov	dword ptr [ebp-4Ch], offset sub_1032AA7
mov	dword ptr [ebp-44h], 85h
call	?DoModal@CPageSetupDialog@@UAEHXZ ; CPageSetupDialog::DoModal(void)
cmp	eax, 1
jnz	short loc_102390B
call	sub_1023151
push	dword ptr [ebp-10h]
mov	eax, esi
push	9ECh
push	eax
push	ebx
call	sub_102304D
push	1
push	dword ptr [ebp-88h]
mov	ecx, edi
push	dword ptr [ebp-84h]
call	?SelectPrinter@CWinApp@@QAEXPAX0H@Z ; CWinApp::SelectPrinter(void *,void *,int)
mov	eax, [ebp-3Ch]
mov	dword_103EFC0, eax
mov	eax, [ebp-38h]
mov	dword_103EFC4, eax
mov	eax, [ebp-34h]
mov	dword_103EFC8, eax
mov	eax, [ebp-30h]
mov	dword_103EFCC, eax
mov	eax, [ebp-2Ch]
mov	dword_103EFD0, eax
mov	eax, [ebp-28h]
mov	dword_103EFD4, eax

loc_102390B:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-0F0h]
call	??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)



sub_102392E proc near
mov	eax, offset loc_1036A18
call	sub_1034E18
sub	esp, 0A0h
push	ebx
push	esi
push	edi
mov	edi, ecx
mov	[ebp-58h], edi
call	sub_10129FB
xor	ebx, ebx
cmp	dword_103E804, ebx
mov	[ebp-1Ch], ebx
jnz	short loc_102397F
cmp	dword_103E870, ebx
jnz	short loc_102397F
mov	eax, [edi+40h]
mov	ecx, [eax+30h]
mov	eax, [eax+2Ch]
push	ecx		; yBottom
push	eax		; xRight
push	ebx		; yTop
push	ebx		; xLeft
lea	eax, [ebp-78h]
push	eax		; lprc
call	ds:SetRect
mov	eax, [edi+40h]
mov	eax, [eax+0Ch]
jmp	short loc_10239B4

loc_102397F:
push	1
push	1
mov	ecx, edi
call	sub_101B37E
push	ebx
push	offset unk_103E78C
mov	ecx, edi
call	sub_101909A
mov	esi, offset stru_103ED10
lea	edi, [ebp-78h]
movsd
movsd
movsd
movsd
dec	dword ptr [ebp-70h]
dec	dword ptr [ebp-6Ch]
mov	edi, [ebp-58h]
mov	[ebp-1Ch], eax
mov	eax, dword_103E790

loc_10239B4:
mov	[ebp-18h], eax
lea	eax, [ebp-78h]
push	eax		; lprc
call	ds:IsRectEmpty
test	eax, eax
jnz	loc_1024050
cmp	[ebp-18h], ebx
jz	loc_1024050
mov	eax, [ebp-6Ch]
sub	eax, [ebp-74h]
mov	esi, [ebp-70h]
sub	esi, [ebp-78h]
mov	[ebp-24h], eax
mov	[ebp-0A4h], eax
cdq
sub	eax, edx
mov	ecx, eax
mov	eax, esi
cdq
sub	eax, edx
sar	ecx, 1
sar	eax, 1
mov	edx, ecx
sub	edx, eax
add	edx, [ebp-74h]
sub	eax, ecx
add	eax, [ebp-78h]
push	edx		; dy
push	eax		; dx
lea	eax, [ebp-0ACh]
push	eax		; lprc
mov	[ebp-20h], esi
mov	[ebp-0ACh], ebx
mov	[ebp-0A8h], ebx
mov	[ebp-0A0h], esi
call	ds:OffsetRect
mov	[ebp-30h], ebx
mov	dword ptr [ebp-34h], offset off_1001F9C
lea	ecx, [ebp-68h]
mov	[ebp-4], ebx
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	eax, [edi+40h]
push	dword ptr [eax+0Ch]
mov	byte ptr [ebp-4], 1
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
push	esi		; cy
push	dword ptr [ebp-24h] ; int
lea	ecx, [ebp-34h]
push	eax		; int
mov	[ebp-58h], eax
call	sub_100AC43
test	eax, eax
jz	loc_102402F
push	dword ptr [ebp-58h] ; hdc
lea	ecx, [ebp-68h]
call	sub_1009779
test	eax, eax
jz	loc_102402F
lea	eax, [ebp-34h]
push	eax
lea	ecx, [ebp-68h]
call	sub_1032D5B
mov	[ebp-7Ch], eax
push	ebx
lea	eax, [ebp-68h]
push	eax
mov	ecx, edi
call	sub_101909A
mov	ecx, edi
mov	[ebp-38h], eax
call	?BeginWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::BeginWaitCursor(void)
push	dword ptr [ebp-18h] ; hdc
mov	[ebp-28h], ebx
call	ds:CreateCompatibleDC
push	dword ptr [ebp-18h] ; hdc
mov	[ebp-10h], eax
call	ds:CreateCompatibleDC
push	1		; cy
push	esi		; cx
push	dword ptr [ebp-18h] ; hdc
mov	[ebp-14h], eax
call	ds:CreateCompatibleBitmap
push	esi		; cy
push	1		; cx
push	dword ptr [ebp-18h] ; hdc
mov	[ebp-2Ch], eax
call	ds:CreateCompatibleBitmap
cmp	[ebp-10h], ebx
mov	[ebp-3Ch], eax
jz	loc_1023DDD
cmp	[ebp-14h], ebx
jz	loc_1023DDD
cmp	[ebp-2Ch], ebx
jz	loc_1023DDD
cmp	eax, ebx
jz	loc_1023DDD
mov	esi, ds:SelectObject
push	eax		; h
push	dword ptr [ebp-14h] ; hdc
call	esi ; SelectObject
push	dword ptr [ebp-2Ch] ; h
mov	[ebp-84h], eax
push	dword ptr [ebp-10h] ; hdc
call	esi ; SelectObject
push	42h		; rop
push	1		; h
push	dword ptr [ebp-20h] ; w
mov	[ebp-90h], eax
push	ebx		; y
push	ebx		; x
push	dword ptr [ebp-10h] ; hdc
call	ds:PatBlt
push	42h		; rop
push	dword ptr [ebp-20h] ; h
push	1		; w
push	ebx		; y
push	ebx		; x
push	dword ptr [ebp-14h] ; hdc
call	ds:PatBlt
push	ebx		; bForceBkgd
push	dword ptr [ebp-10h] ; hdc
mov	ecx, edi
call	sub_1018C4D
push	ebx		; bForceBkgd
push	dword ptr [ebp-14h] ; hdc
mov	ecx, edi
mov	[ebp-8Ch], eax
call	sub_1018C4D
push	dword ptr [ebp-84h] ; h
mov	[ebp-94h], eax
push	dword ptr [ebp-14h] ; hdc
call	esi ; SelectObject
push	dword ptr [ebp-90h] ; h
push	dword ptr [ebp-10h] ; hdc
call	esi ; SelectObject
mov	eax, [edi+40h]
push	dword ptr [eax+40h] ; hdc
push	dword ptr [eax+3Ch] ; h
lea	eax, [ebp-98h]
push	eax		; int
push	ebx		; int
push	dword_103EF88	; int
push	18h		; int
push	ebx		; int
push	dword ptr [ebp-2Ch] ; hbm
call	sub_1012D33
mov	[ebp-40h], eax
mov	eax, [edi+40h]
push	dword ptr [eax+40h] ; hdc
push	dword ptr [eax+3Ch] ; h
lea	eax, [ebp-98h]
push	eax		; int
push	ebx		; int
push	dword_103EF88	; int
push	18h		; int
push	ebx		; int
push	dword ptr [ebp-3Ch] ; hbm
call	sub_1012D33
cmp	[ebp-40h], ebx
mov	[ebp-50h], eax
jz	loc_1023CFE
cmp	eax, ebx
jz	loc_1023CFE
push	ebx
push	dword ptr [ebp-40h]
call	sub_1012163
push	ebx
push	dword ptr [ebp-50h]
mov	[ebp-88h], eax
call	sub_1012163
mov	[ebp-80h], eax
mov	eax, [ebp-24h]
cmp	eax, ebx
lea	ecx, [eax-1]
mov	[ebp-44h], ebx
mov	[ebp-28h], ecx
jle	loc_1023CDE

loc_1023BFB:		; h
push	dword ptr [ebp-2Ch]
push	dword ptr [ebp-10h] ; hdc
call	esi ; SelectObject
push	0CC0020h	; rop
push	dword ptr [ebp-44h] ; y1
push	ebx		; x1
push	dword ptr [ebp-18h] ; hdcSrc
push	1		; cy
push	dword ptr [ebp-20h] ; cx
push	ebx		; y
push	ebx		; x
push	dword ptr [ebp-10h] ; hdc
call	ds:BitBlt
push	dword ptr [ebp-90h] ; h
push	dword ptr [ebp-10h] ; hdc
call	esi ; SelectObject
push	ebx		; usage
push	dword ptr [ebp-40h] ; lpbmi
push	dword ptr [ebp-88h] ; lpvBits
push	1		; cLines
push	ebx		; start
push	dword ptr [ebp-2Ch] ; hbm
push	dword ptr [ebp-18h] ; hdc
call	ds:GetDIBits
test	eax, eax
jz	loc_1023CDE
mov	ecx, [ebp-20h]
mov	eax, [ebp-88h]
dec	ecx
cmp	ecx, ebx
mov	[ebp-51h], bl
jl	short loc_1023C82
jmp	short loc_1023C61

loc_1023C5E:
mov	eax, [ebp-48h]

loc_1023C61:
mov	dl, [eax]
inc	eax
mov	[ebp-54h], dl
mov	dl, [eax]
inc	eax
mov	[ebp-53h], dl
mov	dl, [eax]
inc	eax
mov	[ebp-52h], dl
mov	edx, [ebp-80h]
mov	[ebp-48h], eax
mov	eax, [ebp-54h]
mov	[edx+ecx*4], eax
dec	ecx
jns	short loc_1023C5E

loc_1023C82:		; ColorUse
push	ebx
push	dword ptr [ebp-50h] ; lpbmi
push	dword ptr [ebp-80h] ; lpBits
push	dword ptr [ebp-20h] ; cLines
push	ebx		; start
push	dword ptr [ebp-3Ch] ; hbm
push	dword ptr [ebp-18h] ; hdc
call	ds:SetDIBits
test	eax, eax
jz	short loc_1023CDE
push	dword ptr [ebp-3Ch] ; h
push	dword ptr [ebp-14h] ; hdc
call	esi ; SelectObject
push	0CC0020h	; rop
push	ebx		; y1
push	ebx		; x1
push	dword ptr [ebp-14h] ; hdcSrc
push	dword ptr [ebp-20h] ; cy
push	1		; cx
push	ebx		; y
push	dword ptr [ebp-28h] ; x
push	dword ptr [ebp-64h] ; hdc
call	ds:BitBlt
push	dword ptr [ebp-84h] ; h
push	dword ptr [ebp-14h] ; hdc
call	esi ; SelectObject
inc	dword ptr [ebp-44h]
mov	eax, [ebp-44h]
dec	dword ptr [ebp-28h]
cmp	eax, [ebp-24h]
jl	loc_1023BFB

loc_1023CDE:
mov	ecx, [ebp-24h]
xor	eax, eax
cmp	[ebp-44h], ecx
setz	al
cmp	eax, ebx
mov	[ebp-28h], eax
jnz	short loc_1023D0A
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	short loc_1023D0A

loc_1023CFE:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4

loc_1023D0A:
cmp	[ebp-40h], ebx
jz	short loc_1023D17
push	dword ptr [ebp-40h]
call	sub_101209F

loc_1023D17:
cmp	[ebp-50h], ebx
jz	short loc_1023D24
push	dword ptr [ebp-50h]
call	sub_101209F

loc_1023D24:
cmp	[ebp-8Ch], ebx
mov	esi, ds:SelectPalette
jz	short loc_1023D3E
push	ebx		; bForceBkgd
push	dword ptr [ebp-8Ch] ; hPal
push	dword ptr [ebp-10h] ; hdc
call	esi ; SelectPalette

loc_1023D3E:
cmp	[ebp-94h], ebx
jz	short loc_1023D52
push	ebx		; bForceBkgd
push	dword ptr [ebp-94h] ; hPal
push	dword ptr [ebp-14h] ; hdc
call	esi ; SelectPalette

loc_1023D52:
mov	esi, [ebp-20h]

loc_1023D55:
cmp	[ebp-10h], ebx
jz	short loc_1023D63
push	dword ptr [ebp-10h] ; hdc
call	ds:DeleteDC

loc_1023D63:
cmp	[ebp-14h], ebx
jz	short loc_1023D71
push	dword ptr [ebp-14h] ; hdc
call	ds:DeleteDC

loc_1023D71:
cmp	[ebp-2Ch], ebx
jz	short loc_1023D7F
push	dword ptr [ebp-2Ch] ; ho
call	ds:DeleteObject

loc_1023D7F:
cmp	[ebp-3Ch], ebx
jz	short loc_1023D8D
push	dword ptr [ebp-3Ch] ; ho
call	ds:DeleteObject

loc_1023D8D:
mov	ecx, edi
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
cmp	[ebp-28h], ebx
jnz	short loc_1023DEE
cmp	[ebp-1Ch], ebx
jz	short loc_1023DAC
push	ebx
push	dword ptr [ebp-1Ch]
mov	ecx, offset unk_103E78C
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1023DAC:
cmp	[ebp-38h], ebx
jz	short loc_1023DBD
push	ebx
push	dword ptr [ebp-38h]
lea	ecx, [ebp-68h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1023DBD:
push	dword ptr [ebp-7Ch]
lea	ecx, [ebp-68h]
call	sub_1032D5B
lea	ecx, [ebp-68h]
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
lea	ecx, [ebp-34h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
jmp	loc_102400F

loc_1023DDD:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	loc_1023D55

loc_1023DEE:
cmp	[ebp-1Ch], ebx
jz	short loc_1023E01
push	ebx
push	dword ptr [ebp-1Ch]
mov	ecx, offset unk_103E78C
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1023E01:
cmp	dword_103E804, ebx
jz	short loc_1023E11
cmp	dword_103E7CC, ebx
jz	short loc_1023E1D

loc_1023E11:
cmp	dword_103E870, ebx
jz	loc_1023F28

loc_1023E1D:
cmp	[ebp-38h], ebx
jz	short loc_1023E2E
push	ebx
push	dword ptr [ebp-38h]
lea	ecx, [ebp-68h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1023E2E:
push	dword ptr [ebp-7Ch]
lea	ecx, [ebp-68h]
call	sub_1032D5B
mov	[ebp-48h], ebx
mov	dword ptr [ebp-4Ch], offset off_1001F9C
push	ebx		; lpBits
push	1		; nBitCount
push	1		; nPlanes
push	esi		; nHeight
push	dword ptr [ebp-24h] ; nWidth
lea	ecx, [ebp-4Ch]
mov	byte ptr [ebp-4], 2
call	sub_100AC14
test	eax, eax
jnz	short loc_1023E8F
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
mov	esi, offset off_1001F9C
lea	ecx, [ebp-4Ch]
mov	byte ptr [ebp-4], 1
mov	[ebp-4Ch], esi
call	sub_10096BE
lea	ecx, [ebp-68h]
mov	[ebp-4], bl
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	[ebp-34h], esi
jmp	loc_1024021

loc_1023E8F:
lea	eax, [ebp-34h]
push	eax
mov	ecx, offset unk_103E78C
call	sub_1032D5B
mov	ecx, offset unk_103E79C
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
lea	ecx, [ebp-34h]
call	?Detach@CGdiObject@@QAEPAXXZ ; CGdiObject::Detach(void)
push	eax
mov	ecx, offset unk_103E79C
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
mov	eax, [ebp-24h]
mov	dword_103E7A4, eax
lea	eax, [ebp-4Ch]
push	eax
mov	ecx, offset unk_103E7AC
mov	cy, esi
call	sub_1032D5B
mov	esi, offset unk_103E7BC
mov	ecx, esi
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
lea	ecx, [ebp-4Ch]
call	?Detach@CGdiObject@@QAEPAXXZ ; CGdiObject::Detach(void)
push	eax
mov	ecx, esi
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
push	color
mov	ecx, offset unk_103E778
call	sub_100F43E
lea	eax, [ebp-0ACh]
push	eax
mov	ecx, edi
call	sub_101AC0B
lea	ecx, [ebp-4Ch]
mov	byte ptr [ebp-4], 1
mov	dword ptr [ebp-4Ch], offset off_1001F9C
call	sub_10096BE
jmp	loc_1024007

loc_1023F28:
push	1
push	offset aResizeBitmap ; "Resize Bitmap"
mov	ecx, offset unk_103F3A0
call	sub_102FA64
mov	eax, [ebp-24h]
mov	[ebp-9Ch], eax
lea	eax, [ebp-9Ch]
push	eax
mov	eax, [edi+40h]
mov	[ebp-98h], esi
mov	ecx, [eax+4]
push	15Eh
call	sub_100B766
mov	eax, [edi+40h]
mov	ecx, [ebp-24h]
mov	[eax+2Ch], ecx
mov	eax, [edi+40h]
mov	[eax+30h], esi
push	dword ptr [edi+40h] ; h
call	sub_101356F
mov	eax, [edi+40h]
mov	ecx, [eax+30h]
mov	eax, [eax+2Ch]
push	0CC0020h	; rop
push	ebx		; y1
push	ebx		; x1
push	dword ptr [ebp-64h] ; hdcSrc
push	ecx		; cy
push	eax		; cx
mov	eax, [ebp-58h]
push	ebx		; y
push	ebx		; x
push	dword ptr [eax+4] ; hdc
call	ds:BitBlt
push	dword ptr [ebp-7Ch]
lea	ecx, [ebp-68h]
call	sub_1032D5B
cmp	[ebp-38h], ebx
jz	short loc_1023FB5
push	ebx
push	dword ptr [ebp-38h]
lea	ecx, [ebp-68h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1023FB5:
lea	ecx, [ebp-34h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
lea	eax, [ebp-78h]
push	eax		; lprcSrc2
push	dword ptr [edi+40h] ; int
call	sub_101282E
lea	eax, [ebp-78h]
push	eax		; hPal
push	dword ptr [edi+40h] ; int
call	sub_10128D0
lea	eax, [ebp-78h]
push	eax		; hdc
mov	ecx, edi
call	sub_1018D27
mov	ecx, offset unk_103F3A0
call	sub_102FE8A
push	dword ptr [edi+40h]
call	sub_10127C0
push	1		; bErase
push	ebx		; lpRect
push	dword ptr [edi+20h] ; hWnd
call	ds:InvalidateRect
push	dword ptr [edi+20h] ; hWnd
call	ds:UpdateWindow

loc_1024007:
lea	ecx, [ebp-68h]
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)

loc_102400F:
lea	ecx, [ebp-68h]
mov	[ebp-4], bl
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	dword ptr [ebp-34h], offset off_1001F9C

loc_1024021:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-34h]
call	sub_10096BE
jmp	short loc_1024063

loc_102402F:
cmp	[ebp-1Ch], ebx
jz	short loc_1024042
push	ebx
push	dword ptr [ebp-1Ch]
mov	ecx, offset unk_103E78C
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1024042:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	short loc_102400F

loc_1024050:
cmp	[ebp-1Ch], ebx
jz	short loc_1024063
push	ebx
push	dword ptr [ebp-1Ch]
mov	ecx, offset unk_103E78C
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1024063:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_102392E endp

db 5 dup(0CCh)



sub_1024077 proc near
mov	edi, edi
push	esi
mov	esi, ecx
mov	ecx, [esi]
xor	eax, eax
test	ecx, ecx
jz	short loc_102408E
push	ecx		; hKey
call	ds:RegCloseKey
and	dword ptr [esi], 0

loc_102408E:
pop	esi
retn
sub_1024077 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1024095(HKEY hKey, LPCWSTR lpSubKey, LPWSTR	lpClass, DWORD dwOptions, REGSAM samDesired, LPSECURITY_ATTRIBUTES dwDisposition, int)
sub_1024095 proc near

phkResult= dword ptr -4
hKey= dword ptr	 8
lpSubKey= dword	ptr  0Ch
lpClass= dword ptr  10h
dwOptions= dword ptr  14h
samDesired= dword ptr  18h
dwDisposition= dword ptr  1Ch
arg_18=	dword ptr  20h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	esi
and	[ebp+phkResult], 0
lea	eax, [ebp+dwDisposition]
push	eax		; lpdwDisposition
lea	eax, [ebp+phkResult]
push	eax		; phkResult
push	[ebp+dwDisposition] ; lpSecurityAttributes
mov	esi, ecx
push	[ebp+samDesired] ; samDesired
push	[ebp+dwOptions]	; dwOptions
push	[ebp+lpClass]	; lpClass
push	0		; Reserved
push	[ebp+lpSubKey]	; lpSubKey
push	[ebp+hKey]	; hKey
call	ds:RegCreateKeyExW
mov	ecx, [ebp+arg_18]
test	ecx, ecx
jz	short loc_10240D0
mov	edx, [ebp+dwDisposition]
mov	[ecx], edx

loc_10240D0:
test	eax, eax
jnz	short loc_10240E0
mov	ecx, esi
call	sub_1024077
mov	ecx, [ebp+phkResult]
mov	[esi], ecx

loc_10240E0:
pop	esi
leave
retn	1Ch
sub_1024095 endp

db 5 dup(0CCh)

loc_10240EA:
jmp	sub_1024077
db 5 dup(0CCh)



sub_10240F4 proc near
mov	eax, offset loc_1036A47
call	sub_1034E18
sub	esp, 0Ch
push	ebx
push	esi
push	edi
mov	edi, [ebp+0Ch]
xor	ebx, ebx
mov	[edi], ebx
mov	[ebp+0Ch], ebx
push	ebx		; int
push	ebx		; dwDisposition
mov	esi, 0F003Fh
push	esi		; samDesired
push	ebx		; dwOptions
push	ebx		; lpClass
push	offset aSoftware ; "Software"
push	80000001h	; hKey
lea	ecx, [ebp+0Ch]
mov	[ebp-4], ebx
call	sub_1024095
test	eax, eax
jnz	short loc_10241AD
lea	ecx, [ebp-10h]
call	??0CString@@QAE@XZ ; CString::CString(void)
push	0E15Bh
lea	ecx, [ebp-10h]
mov	byte ptr [ebp-4], 1
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
test	eax, eax
jz	short loc_10241A2
mov	[ebp-14h], ebx
push	ebx		; int
push	ebx		; dwDisposition
push	esi		; samDesired
push	ebx		; dwOptions
push	ebx		; lpClass
push	dword ptr [ebp-10h] ; lpSubKey
lea	ecx, [ebp-14h]
push	dword ptr [ebp+0Ch] ; hKey
call	sub_1024095
test	eax, eax
jnz	short loc_102419A
mov	[ebp-18h], ebx
push	ebx		; int
push	ebx		; dwDisposition
push	esi		; samDesired
push	ebx		; dwOptions
push	ebx		; lpClass
push	lpSubKey	; lpSubKey
lea	ecx, [ebp-18h]
push	dword ptr [ebp-14h] ; hKey
call	sub_1024095
test	eax, eax
jnz	short loc_1024192
push	edi		; phkResult
push	dword ptr [ebp+8] ; lpSubKey
push	dword ptr [ebp-18h] ; hKey
call	ds:RegOpenKeyW

loc_1024192:
lea	ecx, [ebp-18h]
call	sub_1024077

loc_102419A:
lea	ecx, [ebp-14h]
call	sub_1024077

loc_10241A2:
lea	ecx, [ebp-10h]
mov	[ebp-4], bl
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10241AD:
lea	ecx, [ebp+0Ch]
call	sub_1024077
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	8
sub_10240F4 endp

db 5 dup(0CCh)



sub_10241CB proc near
mov	eax, offset loc_1036A5E
call	sub_1034E18
sub	esp, 40h
mov	eax, ___security_cookie
push	ebx
push	esi
push	edi
push	4
mov	[ebp-10h], eax
mov	ebx, ecx
call	?LoadStdProfileSettings@CWinApp@@IAEXI@Z ; CWinApp::LoadStdProfileSettings(uint)
xor	edi, edi
push	edi
push	offset aNostretching ; "NoStretching"
mov	esi, offset aView ; "View"
push	esi
mov	ecx, ebx
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
xor	ecx, ecx
cmp	eax, edi
setz	cl
push	edi
push	offset aShowthumbnail ;	"ShowThumbnail"
push	esi
mov	dword_103D6F0, ecx
mov	ecx, ebx
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	edi
push	offset aShowallfiles ; "ShowAllFiles"
push	esi
mov	ecx, ebx
mov	[ebx+128h], eax
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	edi
push	offset aBmpwidth ; "BMPWidth"
push	esi
mov	ecx, ebx
mov	dword_103EE00, eax
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	edi
push	offset aBmpheight ; "BMPHeight"
push	esi
mov	ecx, ebx
mov	[ebp-34h], eax
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
cmp	[ebp-34h], edi
jz	short loc_102425D
cmp	eax, edi
jnz	short loc_1024262

loc_102425D:
mov	[ebp-34h], edi
xor	eax, eax

loc_1024262:
mov	ecx, [ebp-34h]
mov	[ebx+200h], eax
lea	eax, [ebp-3Ch]
push	eax
push	esi
mov	[ebx+1FCh], ecx
call	sub_10240F4
cmp	[ebp-3Ch], edi
jz	short loc_10242D4
lea	ecx, [ebp-38h]
push	ecx		; lpcbData
lea	eax, [ebx+1D0h]
push	eax		; lpData
lea	eax, [ebp-34h]
push	eax		; lpType
push	edi		; lpReserved
push	offset aWindowplacemen ; "WindowPlacement"
push	dword ptr [ebp-3Ch] ; hKey
mov	dword ptr [ebp-34h], 3
mov	dword ptr [ebp-38h], 2Ch
call	ds:RegQueryValueExW
test	eax, eax
jnz	short loc_10242BC
cmp	dword ptr [ebp-34h], 3
jnz	short loc_10242BC
cmp	dword ptr [ebp-38h], 2Ch
jz	short loc_10242CB

loc_10242BC:
push	0Bh
xor	eax, eax
pop	ecx
lea	edi, [ebx+1D0h]
rep stosd
xor	edi, edi

loc_10242CB:		; hKey
push	dword ptr [ebp-3Ch]
call	ds:RegCloseKey

loc_10242D4:
push	edi
push	offset aThumbxpos ; "ThumbXPos"
push	esi
mov	ecx, ebx
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	edi
push	offset aThumbypos ; "ThumbYPos"
push	esi
mov	ecx, ebx
mov	[ebp-34h], eax
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	edi
push	offset aThumbwidth ; "ThumbWidth"
push	esi
mov	ecx, ebx
mov	[ebp-38h], eax
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	edi
push	offset aThumbheight ; "ThumbHeight"
push	esi
mov	ecx, ebx
mov	[ebp-40h], eax
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
cmp	[ebp-34h], edi
jz	short loc_102436B
cmp	[ebp-38h], edi
jz	short loc_102436B
mov	ecx, [ebp-40h]
cmp	ecx, edi
jz	short loc_102436B
cmp	eax, edi
jz	short loc_102436B
mov	[ebp-48h], eax
lea	eax, [ebp-4Ch]
push	eax
push	dword ptr [ebp-38h]
lea	eax, [ebp-44h]
push	dword ptr [ebp-34h]
mov	[ebp-4Ch], ecx
push	eax
mov	ecx, ebx
call	sub_101F14C
push	dword ptr [ebp-48h]
lea	ecx, [ebp-20h]
push	dword ptr [ebp-4Ch]
push	dword ptr [eax+4]
push	dword ptr [eax]
call	sub_1010496
lea	edi, [ebx+198h]
mov	esi, eax
movsd
movsd
movsd
movsd
mov	esi, offset aView ; "View"
xor	edi, edi

loc_102436B:
push	edi
push	offset aUnitsetting ; "UnitSetting"
push	esi
mov	ecx, ebx
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	1
push	offset aShowtexttool ; "ShowTextTool"
mov	edi, offset aText ; "Text"
push	edi
mov	ecx, ebx
mov	[ebx+174h], eax
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	0
push	offset aPointsize ; "PointSize"
push	edi
mov	ecx, ebx
mov	[ebx+12Ch], eax
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	0
push	offset aBold	; "Bold"
push	edi
mov	ecx, ebx
mov	[ebx+204h], eax
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	0
push	offset aUnderline ; "Underline"
push	edi
mov	ecx, ebx
mov	[ebx+210h], eax
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	0
push	offset aItalic	; "Italic"
push	edi
mov	ecx, ebx
mov	[ebx+214h], eax
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	0FFFFFFFFh
push	offset aVerticaledit ; "VerticalEdit"
push	edi
mov	ecx, ebx
mov	[ebx+218h], eax
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	0
push	offset aPositionx ; "PositionX"
push	edi
mov	ecx, ebx
mov	[ebx+21Ch], eax
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	0
push	offset aPositiony ; "PositionY"
push	edi
mov	ecx, ebx
mov	[ebx+208h], eax
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	0
push	offset aTypefacename ; "TypeFaceName"
mov	[ebx+20Ch], eax
push	edi
lea	eax, [ebp-40h]
push	eax
mov	ecx, ebx
call	?GetProfileStringW@CWinApp@@QAE?AVCString@@PBG00@Z ; CWinApp::GetProfileStringW(ushort const *,ushort const *,ushort const *)
and	dword ptr [ebp-4], 0
push	eax
lea	ecx, [ebx+224h]
call	??4CString@@QAEABV0@ABV0@@Z ; CString::operator=(CString const &)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-40h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
push	0FFFFFFFFh
push	offset aCharset	; "CharSet"
push	edi
mov	ecx, ebx
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
cmp	eax, 0FFFFFFFFh
mov	[ebx+228h], eax
jnz	short loc_1024495
push	2		; dwFlags
lea	eax, [ebp-30h]
push	eax		; lpCs
call	ds:GetACP
push	eax		; lpSrc
call	ds:TranslateCharsetInfo
test	eax, eax
jz	short loc_102448F
mov	eax, [ebp-30h]

loc_102448F:
mov	[ebx+228h], eax

loc_1024495:
push	0
push	offset aTextpen	; "TextPen"
push	edi
mov	ecx, ebx
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	0
push	offset aSnaptogrid ; "SnapToGrid"
push	esi
mov	ecx, ebx
mov	[ebx+220h], eax
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	1
push	offset aGridextent ; "GridExtent"
push	esi
mov	ecx, ebx
mov	[ebx+22Ch], eax
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
push	40h		; unsigned int
mov	[ebx+230h], eax
call	??2@YAPAXI@Z	; operator new(uint)
test	eax, eax
pop	ecx
mov	[ebx+178h], eax
jz	short loc_1024536
push	0
push	offset aNumberofcolors ; "NumberOfColors"
mov	edi, offset aColors ; "Colors"
push	edi
mov	ecx, ebx
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
xor	esi, esi
test	eax, eax
mov	[ebp-40h], eax
jle	short loc_1024530

loc_1024503:		; Radix
push	0Ah
lea	eax, [ebp-20h]
push	eax		; Dest
push	esi		; Value
call	ds:_itow
add	esp, 0Ch
push	0
lea	eax, [ebp-20h]
push	eax
push	edi
mov	ecx, ebx
call	?GetProfileIntW@CWinApp@@QAEIPBG0H@Z ; CWinApp::GetProfileIntW(ushort const *,ushort const *,int)
mov	ecx, [ebx+178h]
mov	[ecx+esi*4], eax
inc	esi
cmp	esi, [ebp-40h]
jl	short loc_1024503

loc_1024530:
mov	[ebx+17Ch], esi

loc_1024536:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
mov	ecx, [ebp-10h]
pop	ebx
call	sub_1032F53
leave
retn
sub_10241CB endp

db 5 dup(0CCh)

loc_1024552:
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 18h
mov	eax, ___security_cookie
push	ebx
push	esi
push	edi
mov	[ebp-4], eax
lea	eax, [ebp-18h]
push	eax
mov	edi, offset aView ; "View"
push	edi
mov	esi, ecx
call	sub_10240F4
xor	ebx, ebx
cmp	[ebp-18h], ebx
jz	short loc_10245A0
push	2Ch
lea	eax, [esi+1D0h]
push	eax
push	3
push	ebx
push	offset aWindowplacemen ; "WindowPlacement"
push	dword ptr [ebp-18h]
call	ds:RegSetValueExW
push	dword ptr [ebp-18h]
call	ds:RegCloseKey

loc_10245A0:
push	dword ptr [esi+128h]
mov	ecx, esi
push	offset aShowthumbnail ;	"ShowThumbnail"
push	edi
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
push	dword ptr [esi+1FCh]
mov	ecx, esi
push	offset aBmpwidth ; "BMPWidth"
push	edi
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
push	dword ptr [esi+200h]
mov	ecx, esi
push	offset aBmpheight ; "BMPHeight"
push	edi
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
push	dword ptr [esi+198h]
mov	ecx, esi
push	offset aThumbxpos ; "ThumbXPos"
push	edi
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
push	dword ptr [esi+19Ch]
mov	ecx, esi
push	offset aThumbypos ; "ThumbYPos"
push	edi
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
mov	eax, [esi+1A0h]
sub	eax, [esi+198h]
mov	ecx, esi
push	eax
push	offset aThumbwidth ; "ThumbWidth"
push	edi
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
mov	eax, [esi+1A4h]
sub	eax, [esi+19Ch]
mov	ecx, esi
push	eax
push	offset aThumbheight ; "ThumbHeight"
push	edi
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
push	dword ptr [esi+174h]
mov	ecx, esi
push	offset aUnitsetting ; "UnitSetting"
push	edi
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
xor	eax, eax
cmp	dword_103D6F0, ebx
mov	ecx, esi
setz	al
push	eax
push	offset aNostretching ; "NoStretching"
push	edi
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
push	dword ptr [esi+12Ch]
mov	ebx, offset aText ; "Text"
push	offset aShowtexttool ; "ShowTextTool"
push	ebx
mov	ecx, esi
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
push	dword ptr [esi+204h]
mov	ecx, esi
push	offset aPointsize ; "PointSize"
push	ebx
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
push	dword ptr [esi+208h]
mov	ecx, esi
push	offset aPositionx ; "PositionX"
push	ebx
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
push	dword ptr [esi+20Ch]
mov	ecx, esi
push	offset aPositiony ; "PositionY"
push	ebx
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
push	dword ptr [esi+210h]
mov	ecx, esi
push	offset aBold	; "Bold"
push	ebx
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
push	dword ptr [esi+214h]
push	offset aUnderline ; "Underline"
push	ebx
mov	ecx, esi
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
push	dword ptr [esi+218h]
mov	ecx, esi
push	offset aItalic	; "Italic"
push	ebx
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
push	dword ptr [esi+21Ch]
mov	ecx, esi
push	offset aVerticaledit ; "VerticalEdit"
push	ebx
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
push	dword ptr [esi+220h]
mov	ecx, esi
push	offset aTextpen	; "TextPen"
push	ebx
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
push	dword ptr [esi+224h]
mov	ecx, esi
push	offset aTypefacename ; "TypeFaceName"
push	ebx
call	?WriteProfileStringW@CWinApp@@QAEHPBG00@Z ; CWinApp::WriteProfileStringW(ushort	const *,ushort const *,ushort const *)
push	dword ptr [esi+228h]
mov	ecx, esi
push	offset aCharset	; "CharSet"
push	ebx
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
push	dword ptr [esi+22Ch]
mov	ecx, esi
push	offset aSnaptogrid ; "SnapToGrid"
push	edi
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
push	dword ptr [esi+230h]
mov	ecx, esi
push	offset aGridextent ; "GridExtent"
push	edi
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
xor	ebx, ebx
cmp	[esi+178h], ebx
jz	short loc_10247C9
push	dword ptr [esi+17Ch]
mov	ecx, esi
push	offset aNumberofcolors ; "NumberOfColors"
push	offset aColors	; "Colors"
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
cmp	[esi+17Ch], ebx
jle	short loc_10247BD

loc_1024784:
mov	eax, [esi+178h]
mov	edi, [eax+ebx*4]
push	0Ah
lea	eax, [ebp-14h]
push	eax
push	ebx
and	edi, 0FFFFFFh
call	ds:_itow
add	esp, 0Ch
push	edi
lea	eax, [ebp-14h]
push	eax
push	offset aColors	; "Colors"
mov	ecx, esi
call	?WriteProfileInt@CWinApp@@QAEHPBG0H@Z ;	CWinApp::WriteProfileInt(ushort	const *,ushort const *,int)
inc	ebx
cmp	ebx, [esi+17Ch]
jl	short loc_1024784

loc_10247BD:
push	dword ptr [esi+178h]
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_10247C9:
mov	ecx, [ebp-4]
pop	edi
pop	esi
pop	ebx
call	sub_1032F53
leave
retn
db 5 dup(0CCh)



sub_10247DB proc near
mov	ecx, dword_103F154
imul	eax, 0F4240h
cdq
idiv	dword_103E030[ecx*4]
push	0Ah
pop	ecx
add	eax, 5
cdq
idiv	ecx
retn
sub_10247DB endp

db 5 dup(0CCh)



sub_10247FE proc near
mov	eax, offset loc_1036A8D
call	sub_1034E18
sub	esp, 74h
push	ebx
push	esi
mov	ebx, ecx
mov	eax, [ebx+40h]
push	edi
push	dword ptr [eax+0Ch]
xor	esi, esi
mov	[ebp-30h], esi
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
cmp	dword_103E804, esi
mov	ecx, dword_103E7A4
mov	[ebp-58h], ecx
mov	ecx, cy
mov	[ebp-34h], eax
mov	dword ptr [ebp-1Ch], offset unk_103E78C
mov	[ebp-60h], esi
mov	[ebp-5Ch], esi
mov	[ebp-54h], ecx
jnz	short loc_1024873
cmp	dword_103E870, esi
jnz	short loc_1024873
mov	[ebp-1Ch], eax
mov	eax, [ebx+40h]
mov	ecx, [eax+30h]
mov	eax, [eax+2Ch]
push	ecx		; yBottom
push	eax		; xRight
push	esi		; yTop
push	esi		; xLeft
lea	eax, [ebp-60h]
push	eax		; lprc
mov	dword ptr [ebp-30h], 1
call	ds:SetRect

loc_1024873:
lea	esi, [ebp-60h]
lea	edi, [ebp-70h]
movsd
movsd
movsd
movsd
xor	edi, edi
cmp	[ebp+8], edi
jz	loc_1024DD8
lea	eax, [ebp-60h]
push	eax		; lprc
call	ds:IsRectEmpty
test	eax, eax
jnz	loc_1024DD8
mov	eax, [ebp+8]
cdq
mov	esi, eax
xor	esi, edx
sub	esi, edx
cmp	esi, 59h
jg	loc_1024DD8
cmp	esi, 1
jl	loc_1024DD8
cmp	[ebp-30h], edi
jnz	short loc_10248CB
push	1
push	1
mov	ecx, ebx
call	sub_101B37E
call	sub_10129FB

loc_10248CB:
mov	eax, [ebp-58h]
mov	ecx, [ebp-54h]
sub	eax, [ebp-60h]
sub	ecx, [ebp-5Ch]
cmp	[ebp+0Ch], edi
mov	[ebp-18h], eax
mov	[ebp-14h], ecx
mov	dword_103F154, esi
jz	short loc_10248FC
mov	eax, ecx
call	sub_10247DB
mov	ecx, [ebp-68h]
mov	edx, [ebp-64h]
add	ecx, eax
mov	[ebp-68h], ecx
jmp	short loc_102490C

loc_10248FC:
call	sub_10247DB
mov	edx, [ebp-64h]
mov	ecx, [ebp-68h]
add	edx, eax
mov	[ebp-64h], edx

loc_102490C:
sub	ecx, [ebp-70h]
sub	edx, [ebp-6Ch]
mov	[ebp-28h], ecx
lea	ecx, [ebp-80h]
mov	[ebp-24h], edx
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	esi, offset off_1001F9C
mov	[ebp-4], edi
mov	[ebp-44h], edi
mov	[ebp-48h], esi
mov	[ebp-4Ch], edi
mov	edi, offset off_1002120
mov	[ebp-50h], edi
push	dword ptr [ebp-34h] ; hdc
lea	ecx, [ebp-80h]
mov	byte ptr [ebp-4], 2
call	sub_1009779
test	eax, eax
jz	loc_1024DA2
push	dword ptr [ebp-24h] ; cy
lea	ecx, [ebp-48h]
push	dword ptr [ebp-28h] ; int
push	dword ptr [ebp-34h] ; int
call	sub_100AC43
test	eax, eax
jz	loc_1024DA2
push	color		; color
lea	ecx, [ebp-50h]
call	sub_100D0FB
test	eax, eax
jz	loc_1024DA2
lea	eax, [ebp-48h]
push	eax
lea	ecx, [ebp-80h]
call	sub_1032D5B
mov	[ebp-40h], eax
push	0
lea	eax, [ebp-80h]
push	eax
mov	ecx, ebx
call	sub_101909A
mov	[ebp-2Ch], eax
lea	eax, [ebp-50h]
push	eax		; hbr
lea	eax, [ebp-70h]
push	eax		; lprc
lea	ecx, [ebp-80h]
call	sub_100AC6F
push	0
push	dword ptr [ebp-1Ch]
mov	ecx, ebx
call	sub_101909A
mov	edi, [ebp-5Ch]
mov	[ebp-38h], eax
mov	eax, [ebp-60h]
mov	ecx, ebx
mov	[ebp-20h], eax
mov	[ebp-10h], edi
call	?BeginWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::BeginWaitCursor(void)
xor	eax, eax
cmp	[ebp+0Ch], eax
mov	esi, 0CC0020h
jz	loc_1024A99
cmp	[ebp+8], eax
mov	eax, [ebp-14h]
jle	short loc_1024A36
sub	eax, edi
call	sub_10247DB
mov	edi, [ebp-54h]
add	eax, [ebp-20h]
cmp	edi, [ebp-5Ch]
jl	loc_1024B40
mov	ecx, [ebp-14h]
sub	ecx, edi
mov	[ebp+8], ecx

loc_1024A06:		; rop
push	esi
push	edi		; y1
push	dword ptr [ebp-20h] ; x1
lea	ecx, [ebp-80h]
push	dword ptr [ebp-1Ch] ; hdcSrc
push	1		; cy
push	dword ptr [ebp-18h] ; int
push	edi		; y
push	eax		; x
call	sub_10097A4
mov	eax, [ebp+8]
call	sub_10247DB
add	eax, [ebp-20h]
dec	edi
inc	dword ptr [ebp+8]
cmp	edi, [ebp-5Ch]
jge	short loc_1024A06
jmp	loc_1024B40

loc_1024A36:
mov	edi, [ebp-68h]
sub	eax, [ebp-10h]
sub	edi, [ebp-18h]
call	sub_10247DB
mov	ecx, edi
sub	ecx, eax
mov	eax, [ebp-54h]
cmp	eax, [ebp-5Ch]
mov	[ebp-10h], eax
jl	loc_1024B40
mov	edx, [ebp-14h]
sub	edx, eax
mov	[ebp+8], edx

loc_1024A5F:		; rop
push	esi
push	dword ptr [ebp-10h] ; y1
push	dword ptr [ebp-60h] ; x1
push	dword ptr [ebp-1Ch] ; hdcSrc
push	1		; cy
push	dword ptr [ebp-18h] ; int
push	dword ptr [ebp-10h] ; y
push	ecx		; x
lea	ecx, [ebp-80h]
call	sub_10097A4
mov	eax, [ebp+8]
call	sub_10247DB
mov	ecx, edi
sub	ecx, eax
dec	dword ptr [ebp-10h]
mov	eax, [ebp-10h]
inc	dword ptr [ebp+8]
cmp	eax, [ebp-5Ch]
jge	short loc_1024A5F
jmp	loc_1024B40

loc_1024A99:
cmp	[ebp+8], eax
mov	eax, [ebp-18h]
jle	short loc_1024AED
sub	eax, [ebp-20h]
call	sub_10247DB
add	eax, edi
mov	edi, [ebp-60h]
dec	edi
cmp	edi, [ebp-58h]
jg	loc_1024B40
mov	ecx, [ebp-18h]
sub	ecx, edi
mov	[ebp+8], ecx

loc_1024AC0:		; rop
push	esi
push	dword ptr [ebp-10h] ; y1
lea	ecx, [ebp-80h]
push	edi		; x1
push	dword ptr [ebp-1Ch] ; hdcSrc
push	dword ptr [ebp-14h] ; cy
push	1		; int
push	eax		; y
push	edi		; x
call	sub_10097A4
mov	eax, [ebp+8]
call	sub_10247DB
add	eax, [ebp-10h]
inc	edi
dec	dword ptr [ebp+8]
cmp	edi, [ebp-58h]
jle	short loc_1024AC0
jmp	short loc_1024B40

loc_1024AED:
mov	edi, [ebp-64h]
sub	edi, [ebp-14h]
sub	eax, [ebp-20h]
mov	[ebp-10h], edi
call	sub_10247DB
mov	ecx, edi
mov	edi, [ebp-60h]
sub	ecx, eax
dec	edi
cmp	edi, [ebp-58h]
jg	short loc_1024B40
mov	eax, [ebp-18h]
sub	eax, edi
mov	[ebp+8], eax

loc_1024B13:		; rop
push	esi
push	dword ptr [ebp-5Ch] ; y1
push	edi		; x1
push	dword ptr [ebp-1Ch] ; hdcSrc
push	dword ptr [ebp-14h] ; cy
push	1		; int
push	ecx		; y
push	edi		; x
lea	ecx, [ebp-80h]
call	sub_10097A4
mov	eax, [ebp+8]
call	sub_10247DB
mov	ecx, [ebp-10h]
sub	ecx, eax
inc	edi
dec	dword ptr [ebp+8]
cmp	edi, [ebp-58h]
jle	short loc_1024B13

loc_1024B40:
xor	edi, edi
cmp	[ebp-38h], edi
jz	short loc_1024B53
mov	ecx, [ebp-1Ch]
push	edi
push	dword ptr [ebp-38h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1024B53:
cmp	[ebp-30h], edi
jz	loc_1024C29
push	1
mov	edi, offset unk_103F3A0
push	1005374h
mov	ecx, edi
call	sub_102FA64
mov	eax, [ebp-28h]
mov	[ebp-3Ch], eax
mov	eax, [ebp-24h]
mov	[ebp-38h], eax
lea	eax, [ebp-3Ch]
push	eax
mov	eax, [ebx+40h]
mov	ecx, [eax+4]
push	15Eh
call	sub_100B766
mov	eax, [ebx+40h]
mov	ecx, [ebp-28h]
mov	[eax+2Ch], ecx
mov	eax, [ebx+40h]
mov	ecx, [ebp-24h]
mov	[eax+30h], ecx
push	dword ptr [ebx+40h] ; h
call	sub_101356F
mov	eax, [ebx+40h]
mov	ecx, [eax+30h]
mov	eax, [eax+2Ch]
push	esi		; rop
xor	esi, esi
push	esi		; y1
push	esi		; x1
push	dword ptr [ebp-7Ch] ; hdcSrc
push	ecx		; cy
push	eax		; cx
mov	eax, [ebp-34h]
push	esi		; y
push	esi		; x
push	dword ptr [eax+4] ; hdc
call	ds:BitBlt
lea	eax, [ebp-70h]
push	eax		; lprcSrc2
push	dword ptr [ebx+40h] ; int
call	sub_101282E
lea	eax, [ebp-70h]
push	eax		; hPal
push	dword ptr [ebx+40h] ; int
call	sub_10128D0
lea	eax, [ebp-70h]
push	eax		; hdc
mov	ecx, ebx
call	sub_1018D27
mov	ecx, edi
call	sub_102FE8A
push	dword ptr [ebx+40h]
call	sub_10127C0
push	1		; bErase
push	esi		; lpRect
push	dword ptr [ebx+20h] ; hWnd
call	ds:InvalidateRect
push	dword ptr [ebx+20h] ; hWnd
call	ds:UpdateWindow
push	dword ptr [ebp-40h]
lea	ecx, [ebp-80h]
call	sub_1032D5B
lea	ecx, [ebp-48h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
jmp	loc_1024D66

loc_1024C29:
mov	esi, offset off_1001F9C
mov	[ebp-38h], edi
mov	[ebp-3Ch], esi
push	edi		; lpBits
mov	edi, [ebp-28h]
push	1		; nBitCount
push	1		; nPlanes
push	dword ptr [ebp-24h] ; nHeight
lea	ecx, [ebp-3Ch]
push	edi		; nWidth
mov	byte ptr [ebp-4], 3
call	sub_100AC14
test	eax, eax
jnz	short loc_1024C88
cmp	[ebp-2Ch], eax
jz	short loc_1024C61
push	eax
push	dword ptr [ebp-2Ch]
lea	ecx, [ebp-80h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1024C61:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
lea	ecx, [ebp-3Ch]
mov	byte ptr [ebp-4], 2
mov	[ebp-3Ch], esi
call	sub_10096BE
mov	dword ptr [ebp-50h], offset off_1002120
jmp	loc_1024DB1

loc_1024C88:
push	dword ptr [ebp-40h]
lea	ecx, [ebp-80h]
call	sub_1032D5B
lea	eax, [ebp-48h]
push	eax
mov	ecx, offset unk_103E78C
call	sub_1032D5B
mov	esi, offset unk_103E79C
mov	ecx, esi
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
lea	ecx, [ebp-48h]
call	?Detach@CGdiObject@@QAEPAXXZ ; CGdiObject::Detach(void)
push	eax
mov	ecx, esi
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
mov	eax, [ebp-24h]
mov	cy, eax
lea	eax, [ebp-3Ch]
push	eax
mov	ecx, offset unk_103E7AC
mov	dword_103E7A4, edi
call	sub_1032D5B
mov	esi, offset unk_103E7BC
mov	ecx, esi
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
lea	ecx, [ebp-3Ch]
call	?Detach@CGdiObject@@QAEPAXXZ ; CGdiObject::Detach(void)
push	eax
mov	ecx, esi
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
push	color
mov	ecx, offset unk_103E778
call	sub_100F43E
mov	esi, offset stru_103E808
lea	edi, [ebp-70h]
movsd
movsd
movsd
movsd
xor	edi, edi
xor	esi, esi
cmp	[ebp+0Ch], edi
jz	short loc_1024D2B
mov	eax, [ebp-14h]
call	sub_10247DB
cdq
sub	eax, edx
mov	edi, eax
sar	edi, 1
jmp	short loc_1024D3A

loc_1024D2B:
mov	eax, [ebp-18h]
call	sub_10247DB
cdq
sub	eax, edx
mov	esi, eax
sar	esi, 1

loc_1024D3A:		; dy
push	esi
push	edi		; dx
lea	eax, [ebp-70h]
push	eax		; lprc
call	ds:InflateRect
lea	eax, [ebp-70h]
push	eax
mov	ecx, ebx
call	sub_101AC0B
lea	ecx, [ebp-3Ch]
mov	byte ptr [ebp-4], 2
mov	dword ptr [ebp-3Ch], offset off_1001F9C
call	sub_10096BE
xor	esi, esi

loc_1024D66:
cmp	[ebp-2Ch], esi
jz	short loc_1024D77
push	esi
push	dword ptr [ebp-2Ch]
lea	ecx, [ebp-80h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1024D77:
lea	ecx, [ebp-80h]
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
mov	ecx, ebx
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
lea	ecx, [ebp-50h]
mov	byte ptr [ebp-4], 1
mov	dword ptr [ebp-50h], offset off_1002120
call	sub_10096BE
mov	dword ptr [ebp-48h], offset off_1001F9C
jmp	short loc_1024DC0

loc_1024DA2:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
mov	[ebp-50h], edi

loc_1024DB1:
lea	ecx, [ebp-50h]
mov	byte ptr [ebp-4], 1
call	sub_10096BE
mov	[ebp-48h], esi

loc_1024DC0:
lea	ecx, [ebp-48h]
mov	byte ptr [ebp-4], 0
call	sub_10096BE
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-80h]
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1024DD8:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	8
sub_10247FE endp

db 5 dup(0CCh)



sub_1024DEE proc near
mov	eax, [ecx]
jmp	dword ptr [eax+20h]
sub_1024DEE endp

align 8



sub_1024DF8 proc near
cmp	dword ptr [ecx+14h], 1
jnz	short locret_1024E07
and	dword ptr [ecx+14h], 0
mov	eax, [ecx]
jmp	dword ptr [eax+24h]

locret_1024E07:
retn
sub_1024DF8 endp

db 5 dup(0CCh)



sub_1024E0D proc near
cmp	dword ptr [ecx+14h], 0
jnz	short locret_1024E1F
mov	eax, [ecx]
mov	dword ptr [ecx+14h], 1
jmp	dword ptr [eax+20h]

locret_1024E1F:
retn
sub_1024E0D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1024E25 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	[ebp+arg_0], 0
push	esi
mov	esi, ecx
jz	short loc_1024E47
cmp	dword ptr [esi+14h], 1
jnz	short loc_1024E58
mov	eax, [esi]
call	dword ptr [eax+14h]
mov	dword ptr [esi+14h], 2
jmp	short loc_1024E58

loc_1024E47:
cmp	dword ptr [esi+14h], 2
jnz	short loc_1024E58
mov	eax, [esi]
and	dword ptr [esi+14h], 0
mov	ecx, esi
call	dword ptr [eax+18h]

loc_1024E58:
pop	esi
pop	ebp
retn	4
sub_1024E25 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1024E62 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
push	esi
push	edi
lea	esi, [ecx+4]
mov	edi, eax
movsd
movsd
movsd
movsd
pop	edi
pop	esi
pop	ebp
retn	4
sub_1024E62 endp

align 10h


; Attributes: bp-based frame

; int __stdcall	sub_1024E80(int, int, int dy)
sub_1024E80 proc near

rc= tagRECT ptr	-10h
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
dy= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
push	edi
push	[ebp+dy]	; dy
mov	esi, ecx
push	[ebp+arg_4]	; dx
lea	edi, [ebp+rc]
movsd
movsd
movsd
lea	eax, [ebp+rc]
push	eax		; lprc
movsd
call	ds:OffsetRect
mov	eax, [ebp+arg_0]
lea	esi, [ebp+rc]
mov	edi, eax
movsd
movsd
movsd
movsd
pop	edi
pop	esi
leave
retn	0Ch
sub_1024E80 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1024EBA proc near

rc= tagRECT ptr	-10h
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
mov	eax, [ebp+arg_8]
push	esi
push	edi
mov	esi, ecx
lea	edi, [ebp+rc]
movsd
neg	eax
push	eax		; dy
mov	eax, [ebp+arg_4]
movsd
neg	eax
movsd
push	eax		; dx
lea	eax, [ebp+rc]
push	eax		; lprc
movsd
call	ds:OffsetRect
mov	eax, [ebp+arg_0]
lea	esi, [ebp+rc]
mov	edi, eax
movsd
movsd
movsd
movsd
pop	edi
pop	esi
leave
retn	0Ch
sub_1024EBA endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1024EFA proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
push	ebx
push	esi
push	edi
xor	esi, esi
push	esi		; yBottom
push	esi		; xRight
mov	ebx, ecx
push	esi		; yTop
push	esi		; xLeft
lea	edi, [ebx+4]
push	edi		; lprc
mov	dword ptr [ebx], offset	off_1005390
mov	[ebx+18h], eax
mov	[ebx+14h], esi
call	ds:SetRect
cmp	[ebp+arg_4], esi
jz	short loc_1024F2F
mov	esi, [ebp+arg_4]
movsd
movsd
movsd
movsd

loc_1024F2F:
pop	edi
pop	esi
mov	eax, ebx
pop	ebx
pop	ebp
retn	8
sub_1024EFA endp

db 5 dup(0CCh)



sub_1024F3D proc near
mov	eax, offset loc_1036AA4
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_1005390
mov	ecx, [esi+18h]
xor	eax, eax
cmp	[ecx+20h], eax
mov	[ebp-4], eax
jz	short loc_1024F6D
cmp	[esi+14h], eax
jz	short loc_1024F6D
mov	ecx, esi
call	sub_1024DF8

loc_1024F6D:
mov	ecx, [ebp-0Ch]
mov	dword ptr [esi], offset	off_1001F6C
pop	esi
mov	large fs:0, ecx
leave
retn
sub_1024F3D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1024F85 proc near

Rect= tagRECT ptr -28h
rc= tagRECT ptr	-18h
var_8= dword ptr -8
var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 28h
push	ebx
push	esi
push	edi
mov	ebx, ecx
lea	esi, [ebx+4]
lea	edi, [ebp+rc]
movsd
movsd
movsd
lea	eax, [ebp+Rect]
push	eax		; lpRect
mov	eax, [ebx+18h]
movsd
push	dword ptr [eax+20h] ; hWnd
call	ds:GetWindowRect
mov	ecx, [ebx+18h]
lea	eax, [ebp+rc]
push	eax		; lpPoint
call	sub_1018E03
mov	eax, [ebp+Rect.top]
neg	eax
push	eax		; dy
mov	eax, [ebp+Rect.left]
neg	eax
push	eax		; dx
lea	eax, [ebp+rc]
push	eax		; lprc
call	ds:OffsetRect
mov	esi, [ebp+rc.right]
sub	esi, [ebp+rc.left]
mov	edi, [ebp+rc.bottom]
mov	eax, [ebx+18h]
sub	edi, [ebp+rc.top]
push	dword ptr [eax+20h] ; hWnd
dec	esi
dec	edi
call	ds:GetWindowDC
push	eax
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
mov	[ebp+var_4], eax
call	sub_100D1FD
mov	ecx, [ebp+var_4]
push	eax
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
push	5A0049h		; rop
push	1		; h
push	esi		; w
push	[ebp+rc.top]	; y
mov	[ebp+var_8], eax
push	[ebp+rc.left]	; x
mov	eax, [ebp+var_4]
push	dword ptr [eax+4] ; hdc
call	ds:PatBlt
mov	eax, [ebp+rc.bottom]
push	5A0049h		; rop
push	1		; h
push	esi		; w
mov	esi, ds:PatBlt
dec	eax
push	eax		; y
push	[ebp+rc.left]	; x
mov	eax, [ebp+var_4]
push	dword ptr [eax+4] ; hdc
call	esi ; PatBlt
mov	eax, [ebp+var_4]
push	5A0049h		; rop
push	edi		; h
push	1		; w
push	[ebp+rc.top]	; y
push	[ebp+rc.left]	; x
push	dword ptr [eax+4] ; hdc
call	esi ; PatBlt
mov	eax, [ebp+rc.right]
push	5A0049h		; rop
push	edi		; h
mov	edi, [ebp+var_4]
push	1		; w
push	[ebp+rc.top]	; y
dec	eax
push	eax		; x
push	dword ptr [edi+4] ; hdc
call	esi ; PatBlt
push	[ebp+var_8]
mov	ecx, edi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	ecx, [ebx+18h]
push	edi
call	sub_100DA0C
pop	edi
pop	esi
pop	ebx
leave
retn
sub_1024F85 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1025085(RECT *lprc2, int)
sub_1025085 proc near

lprc2= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
mov	esi, [ebp+lprc2]
push	edi
mov	ebx, ecx
push	esi		; lprc2
lea	edi, [ebx+4]
push	edi		; lprc1
call	ds:EqualRect
test	eax, eax
jz	short loc_10250A7
cmp	[ebp+arg_4], 0
jz	short loc_10250D6

loc_10250A7:
xor	eax, eax
inc	eax
cmp	[ebp+arg_4], 0
jnz	short loc_10250BB
cmp	[ebx+14h], eax
jz	short loc_10250BB
and	[ebp+arg_4], 0
jmp	short loc_10250BE

loc_10250BB:
mov	[ebp+arg_4], eax

loc_10250BE:
mov	eax, [ebx]
mov	ecx, ebx
call	dword ptr [eax+14h]
cmp	[ebp+arg_4], 0
movsd
movsd
movsd
movsd
jz	short loc_10250D6
mov	eax, [ebx]
mov	ecx, ebx
call	dword ptr [eax+18h]

loc_10250D6:
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	8
sub_1025085 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10250E2 proc near

var_20=	byte ptr -20h
var_10=	dword ptr -10h
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 20h
mov	eax, [ebp+arg_0]
push	esi
push	edi
push	[ebp+arg_4]
mov	esi, ecx
push	dword ptr [eax+4] ; dy
mov	edi, [esi]
push	dword ptr [eax]	; int
lea	eax, [ebp+var_10]
push	eax		; int
lea	ecx, [esi+4]
push	dword ptr [ecx+4]
lea	eax, [ebp+var_20]
push	dword ptr [ecx]
push	eax
call	sub_1024EBA
mov	ecx, eax
call	sub_1024E80
push	eax
mov	ecx, esi
call	dword ptr [edi+2Ch]
pop	edi
pop	esi
leave
retn	8
sub_10250E2 endp

align 8


; Attributes: bp-based frame

; int __thiscall sub_1025128(void *, char)
sub_1025128 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_1024F3D
test	[ebp+arg_0], 1
jz	short loc_1025142
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1025142:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1025128 endp

db 5 dup(0CCh)

loc_102514E:		; CRuntimeClass	const COleServerItem::classCOleServerItem
mov	eax, ds:?classCOleServerItem@COleServerItem@@2UCRuntimeClass@@B
retn
db 5 dup(0CCh)

loc_1025159:
mov	eax, offset off_10053C8
retn
db 5 dup(0CCh)



sub_1025164 proc near
mov	eax, offset loc_1036ABB
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_10053F4
mov	ecx, [esi+7Ch]
and	dword ptr [ebp-4], 0
test	ecx, ecx
jz	short loc_102518D
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_102518D:
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	??1COleServerItem@@UAE@XZ ; COleServerItem::~COleServerItem(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_1025164 endp

db 5 dup(0CCh)



sub_10251AA proc near
and	dword_103EF48, 0
jmp	?OnShow@COleServerItem@@MAEXXZ ; COleServerItem::OnShow(void)
sub_10251AA endp

db 5 dup(0CCh)



sub_10251BB proc near
and	dword_103ECFC, 0
cmp	dword_103ED00, 0
push	esi
mov	esi, ecx
mov	dword_103EF48, 1
jz	short loc_10251DD
call	sub_10129FB

loc_10251DD:
mov	ecx, esi
pop	esi
jmp	?OnHide@COleServerItem@@MAEXXZ ; COleServerItem::OnHide(void)
sub_10251BB endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10251EA proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+arg_8]
mov	eax, [ecx]
push	[ebp+arg_4]
push	[ebp+arg_0]
call	dword ptr [eax+50h]
mov	eax, [ebp+arg_0]
pop	ebp
retn	0Ch
sub_10251EA endp

db 5 dup(0CCh)



sub_1025209 proc near
mov	eax, offset loc_1036ABB
call	sub_1034E18
push	ecx
push	ebx
mov	ebx, [ebp+8]
push	esi
push	edi
push	1
mov	esi, ecx
push	ebx
mov	[ebp-10h], esi
call	??0COleServerItem@@IAE@PAVCOleServerDoc@@H@Z ; COleServerItem::COleServerItem(COleServerDoc *,int)
mov	edi, [ebp+0Ch]
xor	eax, eax
cmp	edi, eax
mov	[ebp-4], eax
mov	dword ptr [esi], offset	off_10053F4
jz	short loc_102523E
mov	[esi+7Ch], edi
jmp	short loc_1025247

loc_102523E:
mov	edi, [ebx+0ECh]
mov	[esi+7Ch], eax

loc_1025247:
cmp	edi, eax
jz	short loc_102527C
cmp	[edi+4], eax
jz	short loc_102527C
push	eax
lea	ebx, [esi+40h]
push	8
mov	ecx, ebx
call	?DelayRenderFileData@COleDataSource@@QAEXGPAUtagFORMATETC@@@Z ;	COleDataSource::DelayRenderFileData(ushort,tagFORMATETC	*)
push	0
push	2
mov	ecx, ebx
call	?DelayRenderData@COleDataSource@@QAEXGPAUtagFORMATETC@@@Z ; COleDataSource::DelayRenderData(ushort,tagFORMATETC	*)
mov	eax, [edi+4]
cmp	dword ptr [eax+24h], 0
jz	short loc_102527C
push	0
push	9
mov	ecx, ebx
call	?DelayRenderData@COleDataSource@@QAEXGPAUtagFORMATETC@@@Z ; COleDataSource::DelayRenderData(ushort,tagFORMATETC	*)

loc_102527C:
mov	ecx, [ebp-0Ch]
pop	edi
mov	eax, esi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	8
sub_1025209 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1025294(void *, char)
sub_1025294 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_1025164
test	[ebp+arg_0], 1
jz	short loc_10252AE
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_10252AE:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1025294 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10252BA proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, ecx
mov	ecx, [eax+20h]
mov	eax, [eax+7Ch]
test	eax, eax
mov	edx, eax
jnz	short loc_10252D9
mov	edx, [ecx+0ECh]
mov	eax, [ecx+0F0h]

loc_10252D9:
push	1
push	eax
push	edx
push	[ebp+arg_0]
call	sub_101D69A
pop	ebp
retn	4
sub_10252BA endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10252EE proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	[ebp+arg_0], 1
jz	short loc_10252FF
pop	ebp
jmp	?OnGetExtent@COleServerItem@@UAEHW4tagDVASPECT@@AAVCSize@@@Z ; COleServerItem::OnGetExtent(tagDVASPECT,CSize &)

loc_10252FF:
mov	eax, [ecx+7Ch]
test	eax, eax
jnz	short loc_102530F
mov	eax, [ecx+20h]
mov	eax, [eax+0ECh]

loc_102530F:
test	eax, eax
push	esi
jz	short loc_102536D
cmp	dword ptr [eax+4], 0
jz	short loc_102536D
mov	ecx, [eax+4]
mov	ecx, [ecx+2Ch]
mov	esi, [ebp+arg_4]
mov	[esi], ecx
mov	ecx, [eax+4]
mov	ecx, [ecx+30h]
mov	[esi+4], ecx
mov	eax, [eax+4]
push	dword ptr [eax+0Ch]
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
test	eax, eax
jz	short loc_1025347
push	esi
mov	ecx, eax
call	?DPtoHIMETRIC@CDC@@QBEXPAUtagSIZE@@@Z ;	CDC::DPtoHIMETRIC(tagSIZE *)
jmp	short loc_102537E

loc_1025347:
mov	eax, [esi]
imul	eax, 2710h
cdq
idiv	dword_103F054
mov	[esi], eax
mov	eax, [esi+4]
imul	eax, 2710h
cdq
idiv	dword_103F058
mov	[esi+4], eax
jmp	short loc_102537E

loc_102536D:
mov	eax, 0BB8h
mov	ecx, eax
mov	edx, eax
mov	eax, [ebp+arg_4]
mov	[eax], ecx
mov	[eax+4], edx

loc_102537E:
xor	eax, eax
inc	eax
pop	esi
pop	ebp
retn	8
sub_10252EE endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102538B proc near
mov	edi, edi
push	ebp
mov	ebp, esp
pop	ebp
jmp	?OnSetExtent@COleServerItem@@UAEHW4tagDVASPECT@@ABVCSize@@@Z ; COleServerItem::OnSetExtent(tagDVASPECT,CSize const &)
sub_102538B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102539B proc near

var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ebx
push	esi
push	edi
xor	edi, edi
cmp	dword_103EF44, edi
mov	ebx, ecx
mov	esi, [ebx+20h]
jz	short loc_10253F8
cmp	dword_103ED00, edi
mov	dword_103EF48, edi
jz	short loc_10253C6
call	sub_10129FB

loc_10253C6:
mov	dword_103ED00, edi
mov	dword_103ECFC, edi
mov	dword_103E874, edi
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+68h]
lea	ecx, [ebp+var_4]
mov	[ebp+var_4], eax
mov	eax, [esi]
push	ecx
mov	ecx, esi
call	dword ptr [eax+6Ch]
cmp	eax, edi
jz	short loc_10253F8
mov	ecx, eax
call	sub_10217D1

loc_10253F8:
mov	ecx, ebx
call	?OnOpen@COleServerItem@@MAEXXZ ; COleServerItem::OnOpen(void)
pop	edi
pop	esi
pop	ebx
leave
retn
sub_102539B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1025409 proc near

var_14=	byte ptr -14h
wDest= dword ptr -0Ch
hdcSrc=	dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 14h
push	esi
mov	esi, [ecx+7Ch]
test	esi, esi
jnz	short loc_102542A
mov	eax, [ecx+20h]
mov	esi, [eax+0ECh]
test	esi, esi
jz	loc_10254D7

loc_102542A:
mov	eax, [esi+4]
push	dword ptr [eax+0Ch]
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
test	eax, eax
mov	[ebp+hdcSrc], eax
jz	loc_10254D7
mov	eax, [esi+4]
mov	ecx, [eax+2Ch]
push	ebx
mov	ebx, [ebp+arg_0]
push	edi
mov	edi, [eax+30h]
mov	eax, [ebx]
mov	[ebp+wDest], ecx
push	8
mov	ecx, ebx
neg	edi
call	dword ptr [eax+3Ch]
push	edi
push	[ebp+wDest]
lea	eax, [ebp+var_14]
push	eax
mov	ecx, ebx
call	sub_10251EA
push	0
push	0
lea	eax, [ebp+var_14]
push	eax
mov	ecx, ebx
call	?SetWindowOrg@CDC@@QAE?AVCPoint@@HH@Z ;	CDC::SetWindowOrg(int,int)
mov	eax, [esi+4]
mov	eax, [eax+24h]
xor	ecx, ecx
cmp	eax, ecx
mov	[ebp+arg_0], ecx
jz	short loc_10254A0
push	ecx
push	eax
mov	ecx, ebx
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)
push	dword ptr [ebx+4] ; hdc
mov	[ebp+arg_0], eax
call	ds:RealizePalette
xor	ecx, ecx

loc_10254A0:
mov	eax, [esi+4]
push	0CC0020h	; rop
push	dword ptr [eax+30h] ; hSrc
push	dword ptr [eax+2Ch] ; wSrc
push	ecx		; ySrc
push	ecx		; xSrc
push	[ebp+hdcSrc]	; hdcSrc
push	edi		; hDest
push	[ebp+wDest]	; wDest
push	ecx		; yDest
push	ecx		; xDest
mov	ecx, ebx
call	sub_1012746
mov	eax, [esi+4]
cmp	dword ptr [eax+24h], 0
jz	short loc_10254D5
push	0
push	[ebp+arg_0]
mov	ecx, ebx
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_10254D5:
pop	edi
pop	ebx

loc_10254D7:
xor	eax, eax
inc	eax
pop	esi
leave
retn	8
sub_1025409 endp

db 5 dup(0CCh)



sub_10254E4 proc near
mov	eax, offset loc_1036ADB
call	sub_1034E18
sub	esp, 14h
push	ebx
push	esi
push	edi
mov	[ebp-10h], esp
push	34h		; unsigned int
mov	esi, ecx
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-14h], ecx
and	dword ptr [ebp-4], 0
test	ecx, ecx
jz	short loc_1025518
call	??0COleDataSource@@QAE@XZ ; COleDataSource::COleDataSource(void)
mov	[ebp-14h], eax
jmp	short loc_102551C

loc_1025518:
and	dword ptr [ebp-14h], 0

loc_102551C:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-20h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
push	dword ptr [ebp+10h]
mov	dword ptr [ebp-4], 1
push	dword ptr [ebp+0Ch]
mov	ecx, esi
push	dword ptr [ebp+8]
mov	byte ptr [ebp-4], 2
push	dword ptr [ebp-14h]
call	?GetClipboardData@COleServerItem@@QAEXPAVCOleDataSource@@HPAUtagPOINT@@PAUtagSIZE@@@Z ;	COleServerItem::GetClipboardData(COleDataSource	*,int,tagPOINT *,tagSIZE *)
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
mov	ecx, [ebp-0Ch]
mov	eax, [ebp-14h]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	0Ch
sub_10254E4 endp

mov	ecx, [ebp-14h]
test	ecx, ecx
mov	eax, [ebp-18h]
mov	[ebp-1Ch], eax
jz	short loc_1025577
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_1025577:		; AfxThrowLastCleanup(void)
call	?AfxThrowLastCleanup@@YGXXZ
push	0
push	0
call	_CxxThrowException
db 6 dup(0CCh)


; Attributes: bp-based frame

sub_102558B proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	edx, [ecx+7Ch]
xor	eax, eax
test	edx, edx
jnz	short loc_10255A2
mov	edx, [ecx+20h]
mov	edx, [edx+0ECh]

loc_10255A2:
push	esi
push	edi
mov	edi, [ebp+arg_0]
mov	si, [edi]
cmp	si, 2
jz	short loc_10255B6
cmp	si, 9
jnz	short loc_10255BA

loc_10255B6:
test	edx, edx
jnz	short loc_10255C3

loc_10255BA:
push	[ebp+arg_4]
push	edi
call	?OnRenderGlobalData@COleServerItem@@UAEHPAUtagFORMATETC@@PAPAX@Z ; COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *)

loc_10255C3:
pop	edi
pop	esi
pop	ebp
retn	8
sub_102558B endp

db 5 dup(0CCh)



sub_10255CE proc near
mov	eax, offset loc_1036AF2
call	sub_1034E18
sub	esp, 0Ch
mov	edx, [ecx+7Ch]
test	edx, edx
mov	eax, [ecx+20h]
push	ebx
push	esi
push	edi
mov	[ebp-10h], esp
mov	esi, edx
jnz	short loc_10255F3
mov	esi, [eax+0ECh]

loc_10255F3:
mov	eax, [ebp+8]
cmp	word ptr [eax],	8
jnz	short loc_1025660
test	esi, esi
jz	short loc_1025660
lea	ecx, [ebp-18h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
and	dword ptr [ebp-4], 0
push	0
mov	ecx, esi
mov	byte ptr [ebp-4], 1
call	sub_100AA99
push	1
push	dword ptr [ebp+0Ch]
mov	ecx, esi
call	sub_100ADAA
or	dword ptr [ebp-4], 0FFFFFFFFh
xor	esi, esi
inc	esi
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
jmp	short loc_102566B
mov	eax, [ebp+8]
push	0
mov	[ebp-14h], eax
push	dword ptr [eax+8]
mov	ecx, offset unk_103EE08
push	83Eh
call	sub_101F370
mov	eax, offset loc_1025653
retn

loc_1025653:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
xor	eax, eax
jmp	short loc_102566D

loc_1025660:
push	dword ptr [ebp+0Ch]
push	eax
call	?OnRenderFileData@COleServerItem@@UAEHPAUtagFORMATETC@@PAVCFile@@@Z ; COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *)
mov	esi, eax

loc_102566B:
mov	eax, esi

loc_102566D:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	8
sub_10255CE endp

db 5 dup(0CCh)
mov	eax, ds:?classCEdit@CEdit@@2UCRuntimeClass@@B ;	CRuntimeClass const CEdit::classCEdit
retn
db 5 dup(0CCh)

loc_102568E:
mov	eax, offset off_10054A8
retn
db 5 dup(0CCh)

loc_1025699:
mov	eax, offset off_10054C0
retn
db 5 dup(0CCh)



sub_10256A4 proc near
mov	eax, offset off_1005688
retn
sub_10256A4 endp

db 5 dup(0CCh)



sub_10256AF proc near
mov	eax, offset loc_1036B09
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
and	dword ptr [ebp-4], 0
lea	ecx, [esi+60h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	??1CEdit@@UAE@XZ ; CEdit::~CEdit(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_10256AF endp

db 5 dup(0CCh)
mov	eax, [ecx+5Ch]
cmp	dword ptr [eax+13Ch], 0
jnz	short loc_10256FA
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)

loc_10256FA:
xor	eax, eax
inc	eax
retn	8
db 5 dup(0CCh)



sub_1025705 proc near
mov	eax, offset off_1005948
retn
sub_1025705 endp

align 10h


; Attributes: bp-based frame

sub_1025710 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
or	dword ptr [eax+2Ch], 20h
push	eax
call	?PreCreateWindow@CWnd@@UAEHAAUtagCREATESTRUCTW@@@Z ; CWnd::PreCreateWindow(tagCREATESTRUCTW &)
pop	ebp
retn	4
sub_1025710 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102572B proc near
mov	edi, edi
push	ebp
mov	ebp, esp
lea	eax, [ecx+0D4h]
cmp	dword ptr [eax], 0
jz	short loc_1025754
xor	ecx, ecx
cmp	dword_103EF34, ecx
setz	cl
mov	dword_103EF34, ecx
mov	ecx, [eax]
pop	ebp
jmp	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)

loc_1025754:
pop	ebp
retn	4
sub_102572B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102575D proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ecx+0D4h]
test	ecx, ecx
jz	short loc_102577D
xor	eax, eax
cmp	[ebp+arg_0], eax
setnz	al
add	eax, 4
push	eax
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)

loc_102577D:
pop	ebp
retn	4
sub_102575D endp

db 5 dup(0CCh)



sub_1025786 proc near
mov	ecx, [ecx+0D4h]
test	ecx, ecx
jz	short locret_1025797
push	0
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)

locret_1025797:
retn
sub_1025786 endp

db 5 dup(0CCh)
byte_102579D db	8Bh, 0FFh
push	esi
push	edi
mov	edi, ecx
lea	esi, [edi+0D4h]
mov	ecx, [esi]
test	ecx, ecx
jz	short loc_10257B7
mov	eax, [ecx]
call	dword ptr [eax+60h]
and	dword ptr [esi], 0

loc_10257B7:
mov	eax, [edi]
push	1
mov	ecx, edi
call	dword ptr [eax+4]
pop	edi
pop	esi
retn
align 8
mov	edi, edi
push	ebp
mov	ebp, esp
push	edi
mov	edi, ecx
lea	eax, [edi+40h]
cmp	[ebp+0Ch], eax
jnz	short loc_102580D
push	esi
mov	esi, [ebp+8]
push	0
push	dword_103EF88
push	esi
call	sub_1013DFF
push	dword ptr [edi+0F8h]
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+38h]
push	1
mov	ecx, esi
call	?SetBkMode@CDC@@QAEHH@Z	; CDC::SetBkMode(int)
push	5
call	ds:GetStockObject
test	eax, eax
pop	esi
jnz	short loc_1025814

loc_102580D:
mov	ecx, edi
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)

loc_1025814:
pop	edi
pop	ebp
retn	0Ch
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+0Ch]
add	dword ptr [eax], 3
add	dword ptr [eax+4], 3
add	dword ptr [eax+8], 0FFFFFFFDh
add	dword ptr [eax+0Ch], 0FFFFFFFDh
pop	ebp
retn	8
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102583E(HWND hWnd)
sub_102583E proc near

hWnd= dword ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
xor	esi, esi
cmp	[ebp+hWnd], esi
jz	short loc_1025863
push	[ebp+hWnd]	; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_1025863
push	esi		; HIMC
push	[ebp+hWnd]	; HWND
call	ImmAssociateContext
mov	esi, eax

loc_1025863:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_102583E endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102586F(HWND hWnd, int)
sub_102586F proc near

hWnd= dword ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	[ebp+hWnd], 0
jz	short loc_102588D
push	[ebp+hWnd]	; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_102588D
pop	ebp
jmp	ImmAssociateContext

loc_102588D:
pop	ebp
retn	8
sub_102586F endp

db 5 dup(0CCh)



sub_1025896 proc near
mov	edi, edi
push	esi
xor	esi, esi
cmp	dword_103F158, esi
jnz	short loc_10258CB
push	offset LibFileName ; "imm32.dll"
call	ds:LoadLibraryW
cmp	eax, esi
jz	short loc_10258C3
push	offset aCtfimmiscicero ; "CtfImmIsCiceroEnabled"
push	eax		; hModule
call	ds:GetProcAddress
mov	dword_103F158, eax

loc_10258C3:
cmp	dword_103F158, esi
jz	short loc_10258D3

loc_10258CB:
call	dword_103F158
mov	esi, eax

loc_10258D3:
mov	eax, esi
pop	esi
retn
sub_1025896 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10258DC proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+arg_8]
mov	eax, [ecx]
push	[ebp+arg_4]
push	[ebp+arg_0]
call	dword ptr [eax+40h]
mov	eax, [ebp+arg_0]
pop	ebp
retn	0Ch
sub_10258DC endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10258FB proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	edx, [eax+4]
push	esi
mov	esi, [eax]
push	edi
push	[ebp+arg_4]
mov	edi, [eax+0Ch]
mov	eax, [eax+8]
sub	edi, edx
push	edi
sub	eax, esi
push	eax
push	edx
push	esi
call	?MoveWindow@CWnd@@QAEXHHHHH@Z ;	CWnd::MoveWindow(int,int,int,int,int)
pop	edi
pop	esi
pop	ebp
retn	8
sub_10258FB endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102592B(LPPOINT lpPoint)
sub_102592B proc near

lpPoint= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
mov	esi, [ebp+lpPoint]
push	edi
mov	ebx, ecx
push	esi		; lpPoint
push	dword ptr [ebx+20h] ; hWnd
call	ds:ScreenToClient
lea	edi, [esi+8]
push	edi		; lpPoint
push	dword ptr [ebx+20h] ; hWnd
call	ds:ScreenToClient
mov	ecx, ebx
call	?GetExStyle@CWnd@@QBEKXZ ; CWnd::GetExStyle(void)
test	eax, 400000h
jz	short loc_1025965
mov	eax, [esi]
mov	ecx, [edi]
mov	[esi], ecx
mov	[edi], eax

loc_1025965:
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	4
sub_102592B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1025971(LPPAINTSTRUCT lpPaint)
sub_1025971 proc near

lpPaint= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+lpPaint]	; lpPaint
push	dword ptr [ecx+20h] ; hWnd
call	ds:BeginPaint
push	eax
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
pop	ebp
retn	4
sub_1025971 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1025991(RECT *lpRect)
sub_1025991 proc near

lpRect=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+lpRect]	; lpRect
push	dword ptr [ecx+20h] ; hWnd
call	ds:ValidateRect
pop	ebp
retn	4
sub_1025991 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10259AB(UINT uCmd)
sub_10259AB proc near

uCmd= dword ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+uCmd]	; uCmd
push	dword ptr [ecx+20h] ; hWnd
call	ds:GetWindow
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
pop	ebp
retn	4
sub_10259AB endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10259CB proc near

Point= tagPOINT	ptr -8
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
lea	eax, [ebp+Point]
push	eax		; lpPoint
call	ds:GetCaretPos
mov	ecx, [ebp+Point.x]
mov	eax, [ebp+arg_0]
mov	[eax], ecx
mov	ecx, [ebp+Point.y]
mov	[eax+4], ecx
leave
retn	4
sub_10259CB endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10259F3(int	X, int Y)
sub_10259F3 proc near

X= dword ptr  8
Y= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+Y]		; Y
push	[ebp+X]		; X
call	ds:SetCaretPos
pop	ebp
retn	8
sub_10259F3 endp

db 5 dup(0CCh)



sub_1025A0D proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	??0CWnd@@QAE@XZ	; CWnd::CWnd(void)
mov	dword ptr [esi], offset	off_1005994
mov	eax, esi
pop	esi
retn
sub_1025A0D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1025A26(void *, char)
sub_1025A26 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	??1CEdit@@UAE@XZ ; CEdit::~CEdit(void)
test	[ebp+arg_0], 1
jz	short loc_1025A40
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1025A40:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1025A26 endp

db 5 dup(0CCh)



sub_1025A4C proc near
push	0		; lParam
push	0		; wParam
push	0BAh		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
retn
sub_1025A4C endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1025A64(WPARAM wParam, LPARAM lParam)
sub_1025A64 proc near

wParam=	dword ptr  8
lParam=	dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+lParam]	; lParam
push	[ebp+wParam]	; wParam
push	0B0h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	8
sub_1025A64 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1025A86(WPARAM wParam, LPARAM lParam, __int16)
sub_1025A86 proc near

wParam=	dword ptr  8
lParam=	dword ptr  0Ch
arg_8= word ptr	 10h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+lParam]
mov	dx, [ebp+arg_8]
push	eax		; lParam
push	[ebp+wParam]	; wParam
mov	[eax], dx
push	0C4h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	0Ch
sub_1025A86 endp

align 10h


; Attributes: bp-based frame

; int __stdcall	sub_1025AB0(WPARAM wParam)
sub_1025AB0 proc near

wParam=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	0		; lParam
push	[ebp+wParam]	; wParam
push	0C9h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	4
sub_1025AB0 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1025AD1(WPARAM wParam)
sub_1025AD1 proc near

wParam=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	0		; lParam
push	[ebp+wParam]	; wParam
push	0BBh		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	4
sub_1025AD1 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1025AF2(WPARAM wParam)
sub_1025AF2 proc near

wParam=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	0		; lParam
push	[ebp+wParam]	; wParam
push	0C1h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	4
sub_1025AF2 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1025B13(LPARAM lParam, WPARAM wParam)
sub_1025B13 proc near

lParam=	dword ptr  8
wParam=	dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+lParam]	; lParam
push	[ebp+wParam]	; wParam
push	0C2h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	8
sub_1025B13 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1025B35(LPARAM lParam)
sub_1025B35 proc near

lParam=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+lParam]	; lParam
push	0		; wParam
push	0B4h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	4
sub_1025B35 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1025B56(WPARAM wParam, LPARAM lParam, int)
sub_1025B56 proc near

wParam=	dword ptr  8
lParam=	dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ds:SendMessageW
push	edi
push	[ebp+lParam]	; lParam
mov	edi, ecx
push	[ebp+wParam]	; wParam
push	0B1h		; Msg
push	dword ptr [edi+20h] ; hWnd
call	esi ; SendMessageW
xor	eax, eax
cmp	[ebp+arg_8], eax
jnz	short loc_1025B88
push	eax		; lParam
push	eax		; wParam
push	0B7h		; Msg
push	dword ptr [edi+20h] ; hWnd
call	esi ; SendMessageW

loc_1025B88:
pop	edi
pop	esi
pop	ebp
retn	0Ch
sub_1025B56 endp

db 5 dup(0CCh)



sub_1025B93 proc near
push	0		; lParam
push	0		; wParam
push	0C7h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
retn
sub_1025B93 endp

db 5 dup(0CCh)



sub_1025BAB proc near
push	0		; lParam
push	0		; wParam
push	303h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
retn
sub_1025BAB endp

db 5 dup(0CCh)

loc_1025BC3:
push	0
push	0
push	301h
push	dword ptr [ecx+20h]
call	ds:SendMessageW
retn
db 5 dup(0CCh)



sub_1025BDB proc near
push	0		; lParam
push	0		; wParam
push	300h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
retn
sub_1025BDB endp

db 5 dup(0CCh)



sub_1025BF3 proc near
push	0		; lParam
push	0		; wParam
push	302h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
retn
sub_1025BF3 endp

db 5 dup(0CCh)



sub_1025C0B proc near
add	ecx, 128h
jz	short loc_1025C19
cmp	dword ptr [ecx+20h], 0
jnz	short loc_1025C1C

loc_1025C19:
xor	eax, eax
retn

loc_1025C1C:
push	67h
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
retn
sub_1025C0B endp

db 5 dup(0CCh)



sub_1025C29 proc near
add	ecx, 128h
jz	short loc_1025C37
cmp	dword ptr [ecx+20h], 0
jnz	short loc_1025C3A

loc_1025C37:
xor	eax, eax
retn

loc_1025C3A:
push	68h
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
retn
sub_1025C29 endp

db 5 dup(0CCh)



sub_1025C47 proc near
mov	eax, offset loc_1036B2B
call	sub_1034E18
push	ecx
push	ebx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
call	sub_1025A0D
xor	ebx, ebx
lea	ecx, [esi+60h]
mov	[ebp-4], ebx
mov	dword ptr [esi], offset	off_1005A5C
call	??0CString@@QAE@XZ ; CString::CString(void)
mov	edi, ds:SetRectEmpty
push	20h
pop	eax
mov	[esi+44h], eax
mov	[esi+48h], eax
lea	eax, [esi+4Ch]
push	eax		; lprc
mov	byte ptr [ebp-4], 1
mov	dword ptr [esi+40h], 1
mov	[esi+5Ch], ebx
call	edi ; SetRectEmpty
lea	ecx, [esi+60h]
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
push	7F01h		; lpCursorName
push	ebx		; hInstance
mov	[esi+68h], ebx
call	ds:LoadCursorW
push	1F5Eh
mov	ecx, offset unk_103EE08
mov	[esi+6Ch], eax
call	sub_1018E67
mov	[esi+70h], eax
lea	eax, [esi+78h]
push	eax		; lprc
mov	[esi+74h], ebx
call	edi ; SetRectEmpty
or	dword ptr [esi+88h], 0FFFFFFFFh
mov	ecx, [ebp-0Ch]
mov	[esi+90h], ebx
pop	edi
mov	eax, esi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_1025C47 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1025CED(void *, char)
sub_1025CED proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_10256AF
test	[ebp+arg_0], 1
jz	short loc_1025D07
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1025D07:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1025CED endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	ebx
mov	ebx, ecx
cmp	dword ptr [ebx+5Ch], 0
jnz	short loc_1025D2E
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
jmp	loc_1025DE3

loc_1025D2E:
push	esi
push	edi
lea	esi, [ebx+4Ch]
push	esi
call	ds:IsRectEmpty
test	eax, eax
jz	short loc_1025D5E
push	0
push	esi
push	dword ptr [ebx+20h]
call	ds:GetUpdateRect
test	eax, eax
jnz	short loc_1025D56
push	esi
mov	ecx, ebx
call	sub_100D9F2

loc_1025D56:
push	esi
mov	ecx, ebx
call	sub_1025991

loc_1025D5E:
lea	edi, [ebp-10h]
movsd
movsd
movsd
movsd
lea	esi, [ebx+4Ch]
push	esi
mov	ecx, ebx
call	sub_1018E03
mov	eax, [ebx+5Ch]
mov	ecx, [eax+128h]
push	esi
call	sub_102592B
mov	edi, [ebp+8]
push	0
push	dword_103EF88
push	edi
call	sub_1013DFF
cmp	dword ptr [ebx+40h], 0
mov	[ebp+8], eax
jz	short loc_1025DB1
push	1
lea	eax, [ebp-10h]
push	eax
mov	eax, [ebx+5Ch]
mov	ecx, [eax+128h]
push	esi
push	edi
call	sub_101A5AC
jmp	short loc_1025DC5

loc_1025DB1:
mov	eax, [ebx+5Ch]
add	eax, 12Ch
push	eax
lea	eax, [ebp-10h]
push	eax
mov	ecx, edi
call	sub_100AC6F

loc_1025DC5:
cmp	dword ptr [ebp+8], 0
jz	short loc_1025DD7
push	0
push	dword ptr [ebp+8]
mov	ecx, edi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1025DD7:
push	esi
call	ds:SetRectEmpty
xor	eax, eax
pop	edi
inc	eax
pop	esi

loc_1025DE3:
pop	ebx
leave
retn	4
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
call	?GetCurrentMessage@CWnd@@KGPBUtagMSG@@XZ ; CWnd::GetCurrentMessage(void)
push	dword ptr [eax+0Ch]
mov	ecx, [esi+5Ch]
push	dword ptr [eax+8]
push	dword ptr [eax+4]
call	sub_1018DE3
pop	esi
retn	0Ch
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1025E11 proc near

var_10=	byte ptr -10h
var_C= dword ptr -0Ch
wParam=	dword ptr -8
lParam=	dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
lea	eax, [ebp+var_10]
push	eax
mov	esi, ecx
call	sub_10259CB
cmp	[ebp+var_C], 0
jnz	short loc_1025E4F
lea	eax, [ebp+lParam]
push	eax		; lParam
lea	eax, [ebp+wParam]
push	eax		; wParam
mov	ecx, esi
call	sub_1025A64
mov	eax, [ebp+wParam]
cmp	eax, [ebp+lParam]
jnz	short loc_1025E4F
push	0		; int
push	[ebp+lParam]	; lParam
mov	ecx, esi
push	eax		; wParam
call	sub_1025B56

loc_1025E4F:
pop	esi
leave
retn
sub_1025E11 endp

db 5 dup(0CCh)



sub_1025E57 proc near
mov	eax, offset loc_1036B42
call	sub_1034E18
sub	esp, 88h
push	ebx
push	esi
push	edi
mov	ebx, ecx
push	dword ptr [ebx+20h] ; hWnd
call	ds:HideCaret
lea	eax, [ebp-10h]
push	eax		; lParam
lea	eax, [ebp-28h]
push	eax		; wParam
mov	ecx, ebx
call	sub_1025A64
cmp	dword ptr [ebp+10h], 0FFFFFFFFh
jz	short loc_1025E95
mov	eax, [ebp-28h]
cmp	eax, [ebp+10h]
jge	short loc_1025E95
mov	[ebp-10h], eax

loc_1025E95:
mov	eax, [ebx+5Ch]
cmp	dword ptr [eax+13Ch], 0
jz	short loc_1025EAA
cmp	dword ptr [ebp+10h], 0FFFFFFFEh
jnz	short loc_1025EAA
dec	dword ptr [ebp-10h]

loc_1025EAA:
mov	edi, ds:SendMessageW
push	0		; lParam
push	dword ptr [ebp-10h] ; wParam
push	0D6h		; Msg
push	dword ptr [ebx+20h] ; hWnd
call	edi ; SendMessageW
movsx	esi, ax
shr	eax, 10h
movsx	eax, ax
mov	ecx, ebx
mov	[ebp-14h], eax
call	?GetWindowTextLengthW@CWnd@@QBEHXZ ; CWnd::GetWindowTextLengthW(void)
cmp	[ebp-10h], eax
jge	short loc_1025EF9
test	esi, esi
jnz	short loc_1025EEF
cmp	[ebp+8], esi
jz	short loc_1025EEF
mov	eax, [ebp+0Ch]
test	eax, eax
jz	short loc_1025EF9
mov	eax, [eax+4]
cmp	eax, [ebp-14h]
jl	short loc_1025EF9

loc_1025EEF:
mov	edi, esi
mov	esi, [ebp-14h]
jmp	loc_10260D9

loc_1025EF9:
lea	ecx, [ebp+0Ch]
call	??0CString@@QAE@XZ ; CString::CString(void)
push	dword ptr [ebx+20h] ; hWnd
and	dword ptr [ebp-4], 0
call	ds:GetDC
push	eax
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
mov	ecx, ebx
mov	[ebp+10h], eax
call	sub_100980C
test	esi, esi
mov	[ebp-30h], eax
mov	ecx, ebx
jge	short loc_1025F2E
call	sub_1025A4C
jmp	short loc_1025F36

loc_1025F2E:		; wParam
push	dword ptr [ebp-10h]
call	sub_1025AB0

loc_1025F36:
dec	eax
push	eax		; wParam
mov	ecx, ebx
mov	[ebp-1Ch], eax
call	sub_1025AD1
push	eax		; wParam
mov	ecx, ebx
mov	[ebp-20h], eax
call	sub_1025AF2
mov	esi, eax
push	esi
lea	ecx, [ebp+0Ch]
call	?GetBufferSetLength@CString@@QAEPAGH@Z ; CString::GetBufferSetLength(int)
mov	ecx, [ebp+10h]
push	dword ptr [ebp-30h]
mov	[ebp+8], eax
mov	eax, [ecx]
call	dword ptr [eax+30h]
push	esi		; __int16
push	dword ptr [ebp+8] ; lParam
mov	ecx, ebx
push	dword ptr [ebp-1Ch] ; wParam
mov	[ebp-2Ch], eax
call	sub_1025A86
lea	eax, [ebp-94h]
push	eax		; lptm
mov	eax, [ebp+10h]
push	dword ptr [eax+8] ; hdc
call	ds:GetTextMetricsW
test	byte ptr [ebp-5Dh], 1
jz	short loc_1025FC3
mov	ecx, [ebp+10h]
push	34h		; c
push	offset aAbcdefghijklmn ; "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklm"...
lea	eax, [ebp-18h]
push	eax		; int
call	sub_10097DB
mov	ecx, [eax]
mov	eax, [eax+4]
mov	[ebp-14h], eax
mov	eax, ecx
cdq
push	1Ah
pop	ecx
idiv	ecx
inc	eax
cdq
sub	eax, edx
sar	eax, 1
test	eax, eax
mov	[ebx+8Ch], eax
jg	short loc_1025FCC

loc_1025FC3:
mov	eax, [ebp-80h]
mov	[ebx+8Ch], eax

loc_1025FCC:
mov	eax, [ebx+8Ch]
shl	eax, 3
xor	ecx, ecx
cmp	eax, ecx
mov	[ebx+8Ch], eax
jg	short loc_1025FEB
mov	dword ptr [ebx+8Ch], 1

loc_1025FEB:
cmp	esi, ecx
mov	[ebp-18h], ecx
jle	loc_10260A0
mov	eax, [ebp+8]
lea	eax, [eax+esi*2-2]
cmp	word ptr [eax],	9
jnz	short loc_1026046
mov	eax, [ebp-20h]
push	ecx		; lParam
lea	eax, [esi+eax-1]
push	eax		; wParam
push	0D6h		; Msg
push	dword ptr [ebx+20h] ; hWnd
call	edi ; SendMessageW
movsx	edx, ax
shr	eax, 10h
movsx	ecx, ax
mov	eax, edx
mov	[ebp-14h], ecx
mov	ecx, [ebx+8Ch]
cdq
idiv	ecx
inc	eax
imul	eax, ecx
mov	ecx, [ebx+84h]
dec	ecx
cmp	eax, ecx
jge	short loc_1026041
mov	[ebp-18h], eax
jmp	short loc_10260A0

loc_1026041:
mov	[ebp-18h], ecx
jmp	short loc_10260A0

loc_1026046:
cmp	esi, ecx
mov	[ebp+8], ecx
jle	short loc_102605D

loc_102604D:
cmp	word ptr [eax],	9
jz	short loc_102605D
inc	dword ptr [ebp+8]
dec	eax
dec	eax
cmp	[ebp+8], esi
jl	short loc_102604D

loc_102605D:
sub	esi, [ebp+8]
push	ecx		; lParam
add	esi, [ebp-20h]
inc	eax
push	esi		; wParam
push	0D6h		; Msg
push	dword ptr [ebx+20h] ; hWnd
inc	eax
mov	[ebp-30h], eax
call	edi ; SendMessageW
push	dword ptr [ebp+8] ; c
movsx	ecx, ax
push	dword ptr [ebp-30h] ; lpString
shr	eax, 10h
movsx	eax, ax
mov	[ebp-14h], eax
lea	eax, [ebp-24h]
mov	[ebp-18h], ecx
mov	ecx, [ebp+10h]
push	eax		; int
call	sub_10097DB
mov	ecx, [eax]
mov	eax, [eax+4]
add	[ebp-18h], ecx
mov	[ebp-30h], eax

loc_10260A0:
lea	ecx, [ebp+0Ch]
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
mov	eax, [ebx+5Ch]
mov	esi, [eax+138h]
mov	ecx, [ebp+10h]
imul	esi, [ebp-1Ch]
push	dword ptr [ebp-2Ch]
mov	eax, [ecx]
mov	edi, [ebp-18h]
call	dword ptr [eax+30h]
push	dword ptr [ebp+10h]
mov	ecx, ebx
call	sub_100DA0C
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp+0Ch]
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10260D9:
mov	ecx, [ebx+5Ch]
mov	eax, [ebx+80h]
sub	eax, [ecx+138h]
mov	ecx, [ebx+84h]
sub	eax, esi
cmp	edi, ecx
jle	short loc_10260F7
lea	edi, [ecx-2]

loc_10260F7:		; Y
push	edi
push	eax		; X
call	sub_10259F3
push	dword ptr [ebx+20h] ; HWND
call	ImmGetContext
test	eax, eax
mov	[ebp+10h], eax
jz	short loc_1026151
mov	eax, [ebx+80h]
sub	eax, esi
dec	eax
mov	[ebp-54h], eax
lea	eax, [ebp-3Ch]
push	eax		; lpRect
push	dword ptr [ebx+20h] ; hWnd
mov	dword ptr [ebp-58h], 1
mov	[ebp-50h], edi
call	ds:GetClientRect
lea	esi, [ebp-3Ch]
lea	edi, [ebp-4Ch]
movsd
movsd
lea	eax, [ebp-58h]
movsd
push	eax		; lpCompForm
push	dword ptr [ebp+10h] ; HIMC
movsd
call	ImmSetCompositionWindow
push	dword ptr [ebp+10h] ; HIMC
push	dword ptr [ebx+20h] ; HWND
call	ImmReleaseContext

loc_1026151:		; hWnd
push	dword ptr [ebx+20h]
call	ds:ShowCaret
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	0Ch
sub_1025E57 endp

align 10h



sub_1026170 proc near
mov	edi, edi
push	esi
mov	esi, ecx
push	dword ptr [esi+20h] ; hWnd
call	ds:HideCaret
call	ds:DestroyCaret
mov	eax, [esi+5Ch]
push	2		; nHeight
push	dword ptr [eax+138h] ; nWidth
push	0		; hBitmap
push	dword ptr [esi+20h] ; hWnd
call	ds:CreateCaret
push	dword ptr [esi+20h] ; hWnd
call	ds:ShowCaret
pop	esi
retn
sub_1026170 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10261AA proc near

CompForm= tagCOMPOSITIONFORM ptr -2Ch
lParam=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 2Ch
push	ebx
push	esi
xor	ebx, ebx
mov	esi, ecx
mov	eax, [esi+5Ch]
mov	[ebp+var_C], ebx
mov	[ebp+lParam], ebx
cmp	[eax+13Ch], ebx
push	edi
jz	short loc_10261DB
mov	eax, [esi+84h]
mov	[ebp+var_8], eax
mov	eax, [esi+80h]
jmp	short loc_10261EA

loc_10261DB:
mov	eax, [esi+80h]
mov	[ebp+var_8], eax
mov	eax, [esi+84h]

loc_10261EA:		; HWND
push	dword ptr [esi+20h]
mov	[ebp+var_4], eax
call	ImmGetContext
mov	edi, eax
test	edi, edi
jz	short loc_1026207
lea	eax, [ebp+CompForm]
push	eax		; lpCompForm
push	edi		; HIMC
call	ImmGetCompositionWindow
mov	ebx, eax

loc_1026207:
lea	eax, [ebp+lParam]
push	eax		; lParam
mov	ecx, esi
call	sub_1025B35
test	edi, edi
jz	short loc_1026224
test	ebx, ebx
jz	short loc_1026224
lea	eax, [ebp+CompForm]
push	eax		; lpCompForm
push	edi		; HIMC
call	ImmSetCompositionWindow

loc_1026224:
pop	edi
pop	esi
pop	ebx
leave
retn
sub_10261AA endp

db 5 dup(0CCh)



sub_102622E proc near
mov	edi, edi
push	esi
push	1		; bErase
mov	esi, ecx
push	0		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:InvalidateRect
push	dword ptr [esi+20h] ; hWnd
call	ds:UpdateWindow
pop	esi
retn
sub_102622E endp

align 10h


; Attributes: bp-based frame

sub_1026250 proc near

Rect= RECT ptr -18h
lParam=	dword ptr -8
wParam=	dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 18h
push	ebx
lea	eax, [ebp+lParam]
push	eax		; lParam
lea	eax, [ebp+wParam]
push	eax		; wParam
mov	ebx, ecx
call	sub_1025A64
mov	ecx, [ebp+lParam]
cmp	[ebp+wParam], ecx
jz	short loc_10262E8
push	esi
push	edi
lea	esi, [ebx+78h]
lea	edi, [ebp+Rect]
movsd
movsd
movsd
movsd
jle	short loc_1026287
mov	eax, [ebp+wParam]
mov	[ebp+wParam], ecx
mov	[ebp+lParam], eax

loc_1026287:
mov	esi, ds:SendMessageW
push	0		; lParam
push	[ebp+wParam]	; wParam
mov	edi, 0D6h
push	edi		; Msg
push	dword ptr [ebx+20h] ; hWnd
call	esi ; SendMessageW
shr	eax, 10h
movsx	eax, ax
sub	[ebp+Rect.right], eax
mov	ecx, ebx
call	?GetWindowTextLengthW@CWnd@@QBEHXZ ; CWnd::GetWindowTextLengthW(void)
cmp	[ebp+lParam], eax
jge	short loc_10262D7
push	0		; lParam
push	[ebp+lParam]	; wParam
push	edi		; Msg
push	dword ptr [ebx+20h] ; hWnd
call	esi ; SendMessageW
mov	ecx, [ebx+5Ch]
mov	edx, [ebx+80h]
sub	edx, [ecx+138h]
shr	eax, 10h
movsx	eax, ax
sub	edx, eax
mov	[ebp+Rect.left], edx

loc_10262D7:		; bErase
push	1
lea	eax, [ebp+Rect]
push	eax		; lpRect
push	dword ptr [ebx+20h] ; hWnd
call	ds:InvalidateRect
pop	edi
pop	esi

loc_10262E8:
pop	ebx
leave
retn
sub_1026250 endp

align 10h


; Attributes: bp-based frame

sub_10262F0 proc near

Rect= RECT ptr -18h
var_8= dword ptr -8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 18h
push	ebx
push	esi
push	edi
mov	ebx, ecx
lea	esi, [ebx+78h]
lea	edi, [ebp+Rect]
movsd
movsd
movsd
lea	eax, [ebp+var_8]
push	eax
movsd
call	sub_10259CB
mov	eax, [ebx+5Ch]
mov	eax, [eax+138h]
add	eax, [ebp+var_8]
push	1		; bErase
mov	[ebp+Rect.right], eax
lea	eax, [ebp+Rect]
push	eax		; lpRect
push	dword ptr [ebx+20h] ; hWnd
call	ds:InvalidateRect
pop	edi
pop	esi
pop	ebx
leave
retn
sub_10262F0 endp

align 8



sub_1026338 proc near
mov	edi, edi
push	esi
mov	esi, ecx
test	esi, esi
jz	short loc_1026365
cmp	dword ptr [esi+20h], 0
jz	short loc_1026365
push	edi
mov	edi, ds:ShowCursor
push	0		; bShow
call	edi ; ShowCursor
push	dword ptr [esi+6Ch] ; dwNewLong
push	0FFFFFFF4h	; nIndex
push	dword ptr [esi+20h] ; hWnd
call	ds:SetClassLongW
push	1		; bShow
call	edi ; ShowCursor
pop	edi

loc_1026365:
pop	esi
retn
sub_1026338 endp

db 5 dup(0CCh)



sub_102636C proc near
mov	edi, edi
push	esi
mov	esi, ecx
test	esi, esi
jz	short loc_1026399
cmp	dword ptr [esi+20h], 0
jz	short loc_1026399
push	edi
mov	edi, ds:ShowCursor
push	0		; bShow
call	edi ; ShowCursor
push	dword ptr [esi+70h] ; dwNewLong
push	0FFFFFFF4h	; nIndex
push	dword ptr [esi+20h] ; hWnd
call	ds:SetClassLongW
push	1		; bShow
call	edi ; ShowCursor
pop	edi

loc_1026399:
pop	esi
retn
sub_102636C endp

align 10h


; Attributes: bp-based frame

; int __stdcall	sub_10263A0(int, WPARAM	wParam,	int, int, int, int, int)
sub_10263A0 proc near

var_28=	dword ptr -28h
var_24=	dword ptr -24h
var_20=	dword ptr -20h
var_1C=	dword ptr -1Ch
var_18=	dword ptr -18h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
wParam=	dword ptr  0Ch
arg_8= dword ptr  10h
arg_10=	dword ptr  18h
arg_14=	dword ptr  1Ch
arg_18=	dword ptr  20h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 28h
mov	eax, [ebp+arg_10]
push	esi
push	1		; c
mov	[ebp+var_C], eax
push	offset aA	; "a"
lea	eax, [ebp+var_18]
mov	esi, ecx
mov	ecx, [ebp+arg_0]
push	eax		; int
call	sub_10097DB
mov	ecx, [ebp+arg_0]
push	2		; c
push	offset aAa	; "aa"
lea	eax, [ebp+var_18]
push	eax		; int
call	sub_10097DB
mov	eax, [ebp+arg_8]
mov	ecx, [esi+5Ch]
mov	edx, eax
sub	edx, [ecx+138h]
mov	[ebp+var_20], eax
xor	eax, eax
cmp	[ebp+arg_14], eax
mov	[ebp+var_28], edx
mov	[ebp+var_8], eax
mov	[ebp+var_4], eax
jle	loc_102653D
push	ebx
push	edi
mov	edi, ds:SendMessageW
mov	ebx, 0D6h

loc_1026409:
mov	eax, [ebp+arg_10]
cmp	word ptr [eax],	9
jnz	loc_10264F4
push	0		; lParam
push	[ebp+wParam]	; wParam
push	ebx		; Msg
push	dword ptr [esi+20h] ; hWnd
call	edi ; SendMessageW
movsx	ecx, ax
shr	eax, 10h
cmp	[ebp+var_4], 0
movsx	eax, ax
mov	[ebp+var_14], eax
jle	short loc_1026447
push	[ebp+var_4]
mov	eax, [ebp+arg_0]
push	[ebp+var_C]
mov	edx, [eax]
push	ecx
push	[ebp+arg_8]
mov	ecx, eax
call	dword ptr [edx+64h]

loc_1026447:
mov	ecx, [ebp+var_4]
mov	eax, [ebp+wParam]
or	[ebp+var_4], 0FFFFFFFFh
lea	eax, [eax+ecx+1]
mov	ecx, [ebp+arg_10]
add	ecx, 2
cmp	[ebp+arg_18], 0
mov	[ebp+wParam], eax
mov	[ebp+var_C], ecx
jz	loc_10264F4
push	0		; lParam
dec	eax
push	eax		; wParam
push	ebx		; Msg
push	dword ptr [esi+20h] ; hWnd
call	edi ; SendMessageW
movsx	edx, ax
shr	eax, 10h
movsx	ecx, ax
mov	eax, [ebp+arg_14]
dec	eax
cmp	[ebp+var_8], eax
mov	[ebp+var_18], edx
mov	[ebp+var_14], ecx
mov	[ebp+var_24], edx
jge	short loc_10264AC
push	0		; lParam
push	[ebp+wParam]	; wParam
push	ebx		; Msg
push	dword ptr [esi+20h] ; hWnd
call	edi ; SendMessageW
movsx	ecx, ax
shr	eax, 10h
movsx	eax, ax
mov	[ebp+var_14], eax
mov	[ebp+var_1C], ecx
jmp	short loc_10264DB

loc_10264AC:
mov	eax, [esi+84h]
mov	ecx, [esi+8Ch]
dec	eax
mov	[ebp+var_10], eax
mov	eax, edx
cdq
idiv	ecx
mov	edx, eax
mov	eax, [ebp+var_10]
inc	edx
imul	edx, ecx
cmp	edx, eax
jge	short loc_10264D8
mov	eax, [ebp+var_18]
cdq
idiv	ecx
inc	eax
imul	eax, ecx

loc_10264D8:
mov	[ebp+var_1C], eax

loc_10264DB:
mov	ecx, [ebp+arg_0]
mov	edx, [ecx]
xor	eax, eax
push	eax
push	eax
push	eax
lea	eax, [ebp+var_28]
push	eax
push	0
push	[ebp+var_24]
push	[ebp+arg_8]
call	dword ptr [edx+68h]

loc_10264F4:
inc	[ebp+var_8]
mov	eax, [ebp+var_8]
inc	[ebp+var_4]
add	[ebp+arg_10], 2
cmp	eax, [ebp+arg_14]
jl	loc_1026409
cmp	[ebp+var_4], 0
jle	short loc_102653B
push	0		; lParam
push	[ebp+wParam]	; wParam
push	ebx		; Msg
push	dword ptr [esi+20h] ; hWnd
call	edi ; SendMessageW
push	[ebp+var_4]
movsx	ecx, ax
push	[ebp+var_C]
shr	eax, 10h
movsx	eax, ax
push	ecx
push	[ebp+arg_8]
mov	[ebp+var_14], eax
mov	eax, [ebp+arg_0]
mov	edx, [eax]
mov	ecx, eax
call	dword ptr [edx+64h]

loc_102653B:
pop	edi
pop	ebx

loc_102653D:
pop	esi
leave
retn	1Ch
sub_10263A0 endp

db 5 dup(0CCh)



sub_1026547 proc near
mov	eax, offset loc_1036B59
call	sub_1034E18
push	ecx
push	ebx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
call	??0CWnd@@QAE@XZ	; CWnd::CWnd(void)
xor	edi, edi
lea	ecx, [esi+40h]
mov	[ebp-4], edi
mov	dword ptr [esi], offset	off_1005B9C
call	sub_1025C47
lea	eax, [esi+12Ch]
mov	[eax+4], edi
mov	dword ptr [eax], offset	off_1002120
xor	ebx, ebx
inc	ebx
push	8		; nIndex
mov	dword ptr [esi+0D8h], 3
mov	[esi+0E0h], edi
mov	[esi+0E4h], ebx
mov	[esi+0E8h], edi
mov	[esi+0ECh], edi
mov	[esi+0F0h], edi
mov	[esi+0F4h], edi
call	ds:GetSysColor
push	5		; nIndex
mov	[esi+0F8h], eax
call	ds:GetSysColor
mov	[esi+0FCh], eax
lea	eax, [esi+100h]
mov	[esi+120h], ebx
mov	[esi+124h], ebx
mov	[esi+0DCh], ebx
mov	ebx, ds:SetRectEmpty
push	eax		; lprc
call	ebx ; SetRectEmpty
lea	eax, [esi+110h]
push	eax		; lprc
call	ebx ; SetRectEmpty
mov	ecx, [ebp-0Ch]
mov	[esi+13Ch], edi
mov	[esi+140h], edi
mov	[esi+144h], edi
mov	[esi+148h], edi
mov	[esi+14Ch], edi
mov	[esi+150h], edi
mov	[esi+154h], edi
pop	edi
mov	eax, esi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_1026547 endp

align 8



sub_1026638 proc near
mov	eax, offset loc_1036B89
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_1005B9C
lea	edi, [esi+0E0h]
cmp	dword ptr [edi], 0
mov	dword ptr [ebp-4], 2
jz	short loc_1026670
lea	ecx, [esi+12Ch]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
and	dword ptr [edi], 0

loc_1026670:
lea	ecx, [esi+12Ch]
mov	byte ptr [ebp-4], 1
mov	dword ptr [ecx], offset	off_1002120
call	sub_10096BE
lea	ecx, [esi+40h]
mov	byte ptr [ebp-4], 0
call	sub_10256AF
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	??1CWnd@@UAE@XZ	; CWnd::~CWnd(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_1026638 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10266AF(RECT *lprcUpdate, int)
sub_10266AF proc near

lprcUpdate= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
xor	eax, eax
cmp	[ecx+0E4h], eax
jnz	short loc_10266F4
xor	edx, edx
inc	edx
cmp	[ebp+arg_4], eax
jz	short loc_10266C9
push	5
pop	edx

loc_10266C9:
cmp	[ecx+13Ch], eax
jz	short loc_10266E6
push	esi
lea	esi, [ecx+40h]
mov	ecx, esi
call	sub_10261AA
mov	ecx, esi
call	sub_102622E
pop	esi
jmp	short loc_10266F4

loc_10266E6:		; flags
push	edx
push	eax		; hrgnUpdate
push	[ebp+lprcUpdate] ; lprcUpdate
push	dword ptr [ecx+60h] ; hWnd
call	ds:RedrawWindow

loc_10266F4:
pop	ebp
retn	8
sub_10266AF endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10266FD proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
push	0		; int
push	0		; lprcUpdate
mov	[ecx+0F8h], eax
call	sub_10266AF
pop	ebp
retn	4
sub_10266FD endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102671D proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
mov	esi, ecx
mov	eax, [esi+0DCh]
mov	ecx, [ebp+arg_0]
push	edi
xor	edi, edi
cmp	eax, edi
jnz	short loc_102673E
cmp	ecx, edi
jnz	short loc_1026742
cmp	eax, edi
jz	short loc_1026747

loc_102673E:
cmp	ecx, edi
jnz	short loc_1026747

loc_1026742:
xor	ebx, ebx
inc	ebx
jmp	short loc_1026749

loc_1026747:
xor	ebx, ebx

loc_1026749:
cmp	[esi+0E0h], edi
mov	[esi+80h], ecx
mov	[esi+0DCh], ecx
jz	short loc_102676E
lea	ecx, [esi+12Ch]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
mov	[esi+0E0h], edi

loc_102676E:
cmp	[esi+0DCh], edi
jnz	short loc_1026791
push	dword ptr [esi+0FCh] ; color
lea	ecx, [esi+12Ch]
call	sub_100D0FB
mov	dword ptr [esi+0E0h], 1

loc_1026791:
cmp	ebx, edi
jz	short loc_10267B4
push	1		; bErase
push	edi		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:InvalidateRect
push	dword ptr [esi+20h] ; hWnd
call	ds:UpdateWindow
push	1		; int
push	edi		; lprcUpdate
mov	ecx, esi
call	sub_10266AF

loc_10267B4:
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	4
sub_102671D endp

db 5 dup(0CCh)



sub_10267C0 proc near
mov	edi, edi
push	esi
mov	esi, ecx
cmp	dword ptr [esi+13Ch], 0
push	edi
jz	short loc_10267D8
push	dword ptr [esi+60h] ; hWnd
call	ds:HideCaret

loc_10267D8:
mov	eax, [esi+0D8h]
sub	eax, 0
jz	short loc_1026817
dec	eax
jz	short loc_1026806
dec	eax
jnz	short loc_102681F
lea	edi, [esi+100h]
push	edi		; lprc
call	ds:IsRectEmpty
test	eax, eax
jnz	short loc_102681F
push	1
push	edi
mov	ecx, esi
call	sub_10258FB
jmp	short loc_102681F

loc_1026806:
mov	ecx, [esi+0D4h]
test	ecx, ecx
jz	short loc_102681F
call	sub_102AAC9
jmp	short loc_102681F

loc_1026817:
lea	ecx, [esi+40h]
call	sub_1025B93

loc_102681F:
cmp	dword ptr [esi+13Ch], 0
jz	short loc_1026848
lea	edi, [esi+40h]
mov	ecx, edi
call	sub_1026170
push	0FFFFFFFFh
push	0
push	1
mov	ecx, edi
call	sub_1025E57
push	dword ptr [esi+60h] ; hWnd
call	ds:ShowCaret

loc_1026848:
pop	edi
pop	esi
retn
sub_10267C0 endp

align 10h



sub_1026850 proc near
mov	ecx, [ecx+0D4h]
xor	eax, eax
test	ecx, ecx
jz	short locret_1026865
push	dword ptr [ecx+20h] ; hWnd
call	ds:IsWindowVisible

locret_1026865:
retn
sub_1026850 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102686B(int, RECT *lprc)
sub_102686B proc near

var_10=	byte ptr -10h
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
lprc= dword ptr	 0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	ebx
mov	ebx, [ebp+lprc]
push	esi
mov	esi, ecx
cmp	dword ptr [esi+0DCh], 0
push	edi
mov	edi, [ebp+arg_0]
jnz	short loc_1026896
lea	eax, [esi+12Ch]
push	eax		; hbr
push	ebx		; lprc
mov	ecx, edi
call	sub_100AC6F

loc_1026896:		; int
push	0
push	0		; lParam
lea	ecx, [esi+40h]
push	0FFFFFFFFh	; wParam
call	sub_1025B56
cmp	dword ptr [esi+13Ch], 0
jz	short loc_10268BE
lea	ecx, [esi+40h]
call	sub_10261AA
push	dword ptr [esi+60h] ; hWnd
call	ds:UpdateWindow

loc_10268BE:
push	dword ptr [ebx+4]
mov	eax, [edi]
push	dword ptr [ebx]
lea	ecx, [ebp+var_8]
push	ecx
mov	ecx, edi
call	dword ptr [eax+40h]
push	0		; lParam
push	dword ptr [edi+4] ; wParam
push	0Fh		; Msg
push	dword ptr [esi+60h] ; hWnd
call	ds:SendMessageW
push	[ebp+var_4]
lea	eax, [ebp+var_10]
push	[ebp+var_8]
mov	ecx, edi
push	eax
call	sub_10258DC
push	0
mov	ecx, edi
call	?SelectClipRgn@CDC@@QAEHPAVCRgn@@@Z ; CDC::SelectClipRgn(CRgn *)
pop	edi
pop	esi
pop	ebx
leave
retn	8
sub_102686B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1026904 proc near

tm= tagTEXTMETRICW ptr -64h
var_28=	byte ptr -28h
var_20=	dword ptr -20h
var_1C=	dword ptr -1Ch
Rect= tagRECT ptr -18h
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 64h
push	ebx
push	esi
push	edi
lea	eax, [ebp+Rect]
mov	esi, ecx
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:GetClientRect
mov	edi, [ebp+Rect.right]
mov	ebx, [ebp+Rect.bottom]
push	dword ptr [esi+60h] ; hWnd
sub	edi, [ebp+Rect.left]
sub	ebx, [ebp+Rect.top]
call	ds:GetDC
push	eax
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
lea	ecx, [esi+40h]
mov	[ebp+var_4], eax
call	sub_100980C
mov	ecx, [ebp+var_4]
test	ecx, ecx
jz	short loc_10269BD
test	eax, eax
jz	short loc_10269B2
mov	edx, [ecx]
push	eax
call	dword ptr [edx+30h]
mov	[ebp+var_8], eax
lea	eax, [ebp+tm]
push	eax		; lptm
mov	eax, [ebp+var_4]
push	dword ptr [eax+8] ; hdc
call	ds:GetTextMetricsW
mov	eax, [ebp+tm.tmAveCharWidth]
mov	ecx, [ebp+tm.tmHeight]
lea	eax, [eax+eax*4+6]
add	ecx, 6
xor	edx, edx
cmp	eax, edi
mov	[esi+120h], eax
mov	[esi+124h], ecx
jle	short loc_102698A
mov	edi, eax
inc	edx

loc_102698A:
cmp	ecx, ebx
jle	short loc_1026993
xor	edx, edx
mov	ebx, ecx
inc	edx

loc_1026993:
test	edx, edx
jz	short loc_10269A1
mov	dword ptr [esi+0D8h], 3

loc_10269A1:
cmp	[ebp+var_8], 0
jz	short loc_10269B2
mov	ecx, [ebp+var_4]
push	[ebp+var_8]
mov	eax, [ecx]
call	dword ptr [eax+30h]

loc_10269B2:
push	[ebp+var_4]
lea	ecx, [esi+40h]
call	sub_100DA0C

loc_10269BD:
lea	eax, [ebx-1]
push	eax		; yBottom
lea	eax, [edi-1]
push	eax		; xRight
push	0		; yTop
push	0		; xLeft
lea	eax, [ebp+Rect]
push	eax		; lprc
call	ds:SetRect
lea	eax, [ebp+Rect]
push	eax		; lpPoint
mov	ecx, esi
call	sub_1018E03
mov	ecx, [esi+128h]
lea	eax, [ebp+Rect]
push	eax		; lpPoint
call	sub_102592B
mov	ecx, [esi+128h]
lea	eax, [ebp+var_28]
push	eax
call	sub_1019552
mov	eax, [ebp+var_20]
cmp	[ebp+Rect.right], eax
jle	short loc_1026A0B
sub	eax, [ebp+Rect.right]
lea	edi, [edi+eax+3]

loc_1026A0B:
mov	eax, [ebp+var_1C]
cmp	[ebp+Rect.bottom], eax
jle	short loc_1026A1A
sub	eax, [ebp+Rect.bottom]
lea	ebx, [ebx+eax+3]

loc_1026A1A:
mov	eax, [ebp+arg_0]
mov	[esi+120h], edi
mov	[esi+124h], ebx
mov	[eax], edi
pop	edi
pop	esi
mov	[eax+4], ebx
pop	ebx
leave
retn	4
sub_1026904 endp

db 5 dup(0CCh)
align 4
push	esi
mov	esi, ecx
and	dword ptr [esi+0D8h], 0
cmp	dword ptr [esi+134h], 0
push	edi
mov	edi, ds:UpdateWindow
jz	short loc_1026A5B
push	dword ptr [esi+60h]
call	edi ; UpdateWindow

loc_1026A5B:
cmp	dword ptr [esi+13Ch], 0
jz	short loc_1026A77
push	0FFFFFFFFh
push	0
push	1
lea	ecx, [esi+40h]
call	sub_1025E57
push	dword ptr [esi+60h]
call	edi ; UpdateWindow

loc_1026A77:
pop	edi
pop	esi
retn
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 18h
push	esi
push	edi
lea	eax, [ebp-8]
push	eax
mov	esi, ecx
call	sub_10259CB
lea	ecx, [esi+40h]
call	?GetWindowTextLengthW@CWnd@@QBEHXZ ; CWnd::GetWindowTextLengthW(void)
push	0
dec	eax
push	eax
push	0D6h
push	dword ptr [esi+60h]
call	ds:SendMessageW
shr	eax, 10h
movsx	edi, ax
lea	eax, [ebp-18h]
push	eax
push	dword ptr [esi+60h]
call	ds:GetClientRect
mov	eax, [ebp-4]
mov	[ebp-14h], eax
mov	eax, [esi+138h]
add	eax, edi
xor	edi, edi
inc	edi
mov	[ebp-0Ch], eax
push	edi
lea	eax, [ebp-18h]
push	eax
push	dword ptr [esi+60h]
call	ds:InvalidateRect
mov	[esi+0F0h], edi
pop	edi
pop	esi
leave
retn
db 5 dup(0CCh)



sub_1026AF2 proc near
mov	eax, offset loc_1036BA0
call	sub_1034E18
sub	esp, 0ACh
mov	eax, ___security_cookie
push	ebx
push	esi
mov	ebx, ecx
xor	esi, esi
cmp	[ebx+0E8h], esi
mov	[ebp-10h], eax
jz	short loc_1026B37
cmp	[ebx+0D0h], esi
jnz	loc_1026D65
push	0FFFFFFFFh	; unsigned int
push	30h		; unsigned int
push	3E8h		; unsigned int
call	?AfxMessageBox@@YGHIII@Z ; AfxMessageBox(uint,uint,uint)
jmp	loc_1026D65

loc_1026B37:
lea	ecx, [ebx+40h]
push	edi
mov	[ebp-2Ch], ecx
call	sub_100980C
mov	edi, eax
cmp	edi, esi
jz	loc_1026D64
push	dword ptr [ebp-2Ch]
lea	ecx, [ebp-4Ch]
call	??0CClientDC@@QAE@PAVCWnd@@@Z ;	CClientDC::CClientDC(CWnd *)
push	edi
lea	ecx, [ebp-4Ch]
mov	[ebp-4], esi
call	?SelectObject@CDC@@UAEPAVCFont@@PAV2@@Z	; CDC::SelectObject(CFont *)
mov	[ebp-30h], eax
lea	eax, [ebp-0B8h]
push	eax		; lptm
push	dword ptr [ebp-44h] ; hdc
call	ds:GetTextMetricsW
lea	eax, [ebp-28h]
push	eax		; lpRect
push	dword ptr [ebx+20h] ; hWnd
call	ds:GetWindowRect
mov	ecx, [ebx+128h]
lea	eax, [ebp-28h]
push	eax		; lpPoint
call	sub_102592B
lea	eax, [ebp-38h]
push	eax		; lpPoint
call	ds:GetCaretPos
mov	eax, [ebx+13Ch]
cmp	eax, esi
mov	ecx, [ebp-0B8h]
mov	edx, [ebp-38h]
jnz	short loc_1026BE3
cmp	[ebx+0D0h], esi
jz	short loc_1026BDF
mov	edi, [ebp-0A0h]
lea	edi, [edx+edi*2]
add	edi, [ebp-28h]
cmp	edi, [ebp-20h]
jl	loc_1026D58
mov	edi, [ebp-34h]
lea	edi, [edi+ecx*2]
add	edi, [ebp-24h]
cmp	edi, [ebp-1Ch]
jl	loc_1026D58

loc_1026BDF:
cmp	eax, esi
jz	short loc_1026C0B

loc_1026BE3:
cmp	[ebx+0D0h], esi
jz	short loc_1026C0B
sub	edx, [ebp-0A0h]
test	edx, edx
jg	loc_1026D58
mov	eax, [ebp-34h]
lea	eax, [eax+ecx*2]
add	eax, [ebp-24h]
cmp	eax, [ebp-1Ch]
jl	loc_1026D58

loc_1026C0B:
mov	eax, [ebx+128h]
lea	ecx, [ebp-7Ch]
push	ecx		; lpRect
push	dword ptr [eax+20h] ; hWnd
call	ds:GetClientRect
lea	ecx, [ebx+0A0h]
mov	eax, [ecx]
cmp	[eax-8], esi
jnz	short loc_1026C43
cmp	[ebx+13Ch], esi
mov	eax, [ebp-0B8h]
jz	short loc_1026C3E
sub	[ebp-28h], eax
jmp	short loc_1026C96

loc_1026C3E:
add	[ebp-1Ch], eax
jmp	short loc_1026C96

loc_1026C43:
cmp	dword ptr [ebx+13Ch], 0
lea	esi, [ebp-28h]
lea	edi, [ebp-5Ch]
movsd
movsd
movsd
movsd
mov	esi, [eax-8]
push	esi
jz	short loc_1026C78
call	?GetBuffer@CString@@QAEPAGH@Z ;	CString::GetBuffer(int)
push	410h		; format
lea	ecx, [ebp-5Ch]
push	ecx		; lprc
push	esi		; cchText
push	eax		; lpchText
push	dword ptr [ebp-48h] ; hdc
call	ds:DrawTextW
sub	[ebp-28h], eax
jmp	short loc_1026C94

loc_1026C78:		; CString::GetBuffer(int)
call	?GetBuffer@CString@@QAEPAGH@Z
push	410h		; format
lea	ecx, [ebp-5Ch]
push	ecx		; lprc
push	esi		; cchText
push	eax		; lpchText
push	dword ptr [ebp-48h] ; hdc
call	ds:DrawTextW
add	[ebp-1Ch], eax

loc_1026C94:
xor	esi, esi

loc_1026C96:
mov	ecx, [ebx+128h]
lea	eax, [ebp-6Ch]
push	eax
call	sub_1019552
mov	eax, [ebx+13Ch]
cmp	eax, esi
jz	short loc_1026CC4
mov	ecx, [ebp-28h]
cmp	ecx, [ebp-6Ch]
jl	short loc_1026CBC
cmp	ecx, [ebp-7Ch]
jge	short loc_1026CD1

loc_1026CBC:
cmp	eax, esi
jnz	loc_1026D48

loc_1026CC4:
mov	eax, [ebp-1Ch]
cmp	eax, [ebp-60h]
jg	short loc_1026D48
cmp	eax, [ebp-70h]
jg	short loc_1026D48

loc_1026CD1:
push	1
lea	eax, [ebp-28h]
push	eax
mov	ecx, ebx
call	sub_10258FB
push	dword ptr [ebx+60h] ; hWnd
call	ds:UpdateWindow
cmp	[ebx+13Ch], esi
jz	short loc_1026CF7
mov	ecx, [ebp-2Ch]
call	sub_10262F0

loc_1026CF7:
cmp	[ebx+0D0h], esi
jnz	short loc_1026D48
lea	ecx, [ebx+0A0h]
mov	eax, [ecx]
mov	eax, [eax-8]
cmp	eax, esi
jnz	short loc_1026D38
mov	bx, [ebx+84h]
cmp	bx, 0Dh
mov	[ebp-18h], bx
mov	[ebp-16h], si
jnz	short loc_1026D32
push	offset String2	; "\r\n"
lea	eax, [ebp-18h]
push	eax		; lpString1
call	ds:lstrcpyW

loc_1026D32:
push	esi
lea	eax, [ebp-18h]
jmp	short loc_1026D3F

loc_1026D38:		; wParam
push	esi
push	eax
call	?GetBuffer@CString@@QAEPAGH@Z ;	CString::GetBuffer(int)

loc_1026D3F:
mov	ecx, [ebp-2Ch]
push	eax		; lParam
call	sub_1025B13

loc_1026D48:
cmp	[ebp-30h], esi
jz	short loc_1026D58
push	dword ptr [ebp-30h]
lea	ecx, [ebp-4Ch]
call	?SelectObject@CDC@@UAEPAVCFont@@PAV2@@Z	; CDC::SelectObject(CFont *)

loc_1026D58:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-4Ch]
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_1026D64:
pop	edi

loc_1026D65:
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
mov	ecx, [ebp-10h]
pop	ebx
call	sub_1032F53
leave
retn
sub_1026AF2 endp

align 10h



sub_1026D80 proc near
mov	eax, offset loc_1036BBA
call	sub_1034E18
sub	esp, 0B4h
mov	eax, ___security_cookie
push	ebx
push	esi
mov	esi, ecx
push	edi
lea	edi, [esi+40h]
push	edi
lea	ecx, [ebp-84h]
mov	[ebp-10h], eax
call	??0CClientDC@@QAE@PAVCWnd@@@Z ;	CClientDC::CClientDC(CWnd *)
xor	ebx, ebx
mov	ecx, edi
mov	[ebp-4], ebx
call	sub_100980C
mov	edi, eax
cmp	edi, ebx
lea	ecx, [ebp-84h]
jz	loc_1026F08
push	edi
call	?SelectObject@CDC@@UAEPAVCFont@@PAV2@@Z	; CDC::SelectObject(CFont *)
mov	[ebp-70h], eax
lea	eax, [ebp-0C0h]
push	eax		; lptm
push	dword ptr [ebp-7Ch] ; hdc
call	ds:GetTextMetricsW
cmp	[esi+0E4h], ebx
mov	eax, [ebp-0C0h]
mov	[esi+138h], eax
jnz	loc_1026EE5
lea	eax, [ebp-6Ch]
push	eax		; pv
push	5Ch		; c
push	dword ptr [edi+4] ; h
call	ds:GetObjectW
mov	al, [ebp-55h]
cmp	al, 86h
jz	short loc_1026E7D
cmp	al, 80h
jz	short loc_1026E7D
cmp	al, 81h
jz	short loc_1026E7D
cmp	al, 88h
jz	short loc_1026E7D
lea	eax, [esi+140h]
cmp	[eax], ebx
jnz	loc_1026EE5
mov	ecx, esi
mov	dword ptr [eax], 1
call	sub_1025896
test	eax, eax
jnz	short loc_1026E4A
push	dword ptr [esi+60h] ; hWnd
mov	ecx, esi
call	sub_102583E
mov	[esi+144h], eax

loc_1026E4A:		; hWnd
push	dword ptr [esi+150h]
mov	ecx, esi
call	sub_102583E
push	dword ptr [esi+154h] ; hWnd
mov	ecx, esi
mov	[esi+148h], eax
call	sub_102583E
mov	ecx, [esi+0D4h]
mov	[esi+14Ch], eax
call	?SetFocus@CWnd@@QAEPAV1@XZ ; CWnd::SetFocus(void)
jmp	short loc_1026EE5

loc_1026E7D:
lea	eax, [esi+140h]
cmp	[eax], ebx
jz	short loc_1026EE5
mov	ecx, esi
mov	[eax], ebx
call	sub_1025896
test	eax, eax
jnz	short loc_1026EA8
lea	edi, [esi+144h]
push	dword ptr [edi]	; int
mov	ecx, esi
push	dword ptr [esi+60h] ; hWnd
call	sub_102586F
mov	[edi], ebx

loc_1026EA8:
lea	edi, [esi+148h]
push	dword ptr [edi]	; int
mov	ecx, esi
push	dword ptr [esi+150h] ; hWnd
call	sub_102586F
lea	ebx, [esi+14Ch]
push	dword ptr [ebx]	; int
mov	ecx, esi
push	dword ptr [esi+154h] ; hWnd
call	sub_102586F
mov	ecx, [esi+0D4h]
and	dword ptr [edi], 0
and	dword ptr [ebx], 0
call	?SetFocus@CWnd@@QAEPAV1@XZ ; CWnd::SetFocus(void)
xor	ebx, ebx

loc_1026EE5:
cmp	[ebp-70h], ebx
jz	short loc_1026EF8
push	dword ptr [ebp-70h]
lea	ecx, [ebp-84h]
call	?SelectObject@CDC@@UAEPAVCFont@@PAV2@@Z	; CDC::SelectObject(CFont *)

loc_1026EF8:
mov	dword ptr [esi+0D8h], 1
lea	ecx, [ebp-84h]

loc_1026F08:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
mov	ecx, [ebp-10h]
pop	ebx
call	sub_1032F53
leave
retn
sub_1026D80 endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
mov	ebx, ecx
cmp	dword ptr [ebx+0E4h], 0
push	esi
push	edi
jnz	short loc_1026F47
push	0
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)

loc_1026F47:
lea	eax, [ebx+110h]
mov	esi, eax
lea	edi, [ebx+100h]
movsd
movsd
movsd
push	eax
mov	ecx, ebx
movsd
call	sub_1009827
mov	ecx, [ebx+128h]
lea	eax, [ebx+110h]
push	eax
call	sub_102592B
lea	edi, [ebx+40h]
xor	esi, esi
cmp	edi, esi
mov	dword ptr [ebx+0D8h], 2
jz	short loc_1026FAF
cmp	[edi+20h], esi
jz	short loc_1026FAF
push	1
push	dword ptr [ebp+10h]
mov	ecx, edi
push	dword ptr [ebp+0Ch]
push	esi
push	esi
call	?MoveWindow@CWnd@@QAEXHHHHH@Z ;	CWnd::MoveWindow(int,int,int,int,int)
push	3
push	esi
push	esi
push	esi
push	esi
push	ds:?wndTopMost@CWnd@@2V1@B ; CWnd const	CWnd::wndTopMost
mov	ecx, edi
call	?SetWindowPos@CWnd@@QAEHPBV1@HHHHI@Z ; CWnd::SetWindowPos(CWnd const *,int,int,int,int,uint)

loc_1026FAF:
push	1
push	esi
push	dword ptr [ebx+20h]
call	ds:InvalidateRect
push	dword ptr [ebx+20h]
call	ds:UpdateWindow
cmp	[ebx+0DCh], esi
jz	short loc_1026FD6
push	1
push	esi
mov	ecx, ebx
call	sub_10266AF

loc_1026FD6:
cmp	[ebx+0E4h], esi
jnz	short loc_1026FE7
push	5
mov	ecx, ebx
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)

loc_1026FE7:
cmp	[ebx+13Ch], esi
jz	short loc_1027016
mov	ecx, edi
call	sub_10261AA
mov	eax, 0FFFFB1E0h
mov	ecx, eax
push	eax
push	ecx
call	sub_10259F3
push	0FFFFFFFFh
push	esi
push	esi
mov	ecx, edi
call	sub_1025E57
mov	ecx, edi
call	sub_102622E

loc_1027016:
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	0Ch
db 5 dup(0CCh)
align 4
push	ebx
push	esi
push	edi
mov	ebx, ecx
lea	eax, [ebx+110h]
mov	esi, eax
lea	edi, [ebx+100h]
movsd
movsd
movsd
push	eax
movsd
call	sub_1009827
mov	ecx, [ebx+128h]
lea	edi, [ebx+110h]
push	edi
call	sub_102592B
mov	eax, [edi+8]
sub	eax, [edi]
lea	esi, [ebx+100h]
mov	ecx, [esi+8]
sub	ecx, [esi]
cmp	ecx, eax
jnz	short loc_1027077
mov	eax, [edi+0Ch]
mov	ecx, [esi+0Ch]
sub	eax, [edi+4]
sub	ecx, [esi+4]
cmp	ecx, eax
jz	short loc_102707B

loc_1027077:
movsd
movsd
movsd
movsd

loc_102707B:
lea	ecx, [ebx+40h]
xor	esi, esi
cmp	ecx, esi
mov	dword ptr [ebx+0D8h], 2
jz	short loc_10270A4
cmp	[ecx+20h], esi
jz	short loc_10270A4
push	3
push	esi
push	esi
push	esi
push	esi
push	ds:?wndTopMost@CWnd@@2V1@B ; CWnd const	CWnd::wndTopMost
call	?SetWindowPos@CWnd@@QAEHPBV1@HHHHI@Z ; CWnd::SetWindowPos(CWnd const *,int,int,int,int,uint)

loc_10270A4:
push	1
push	esi
push	dword ptr [ebx+20h]
call	ds:InvalidateRect
push	dword ptr [ebx+20h]
call	ds:UpdateWindow
cmp	[ebx+0DCh], esi
jz	short loc_10270CB
push	1
push	esi
mov	ecx, ebx
call	sub_10266AF

loc_10270CB:
pop	edi
pop	esi
pop	ebx
retn	8
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 20h
push	esi
push	edi
push	dword ptr [ebp+0Ch]
mov	esi, ecx
lea	ecx, [ebp-10h]
xor	edi, edi
call	sub_101167D
lea	eax, [ebp-20h]
add	esi, 128h
mov	ecx, [esi]
push	eax
call	sub_1019552
mov	ecx, [esi]
lea	eax, [ebp-20h]
push	eax
call	sub_1018E03
mov	eax, [ebp-20h]
xor	edx, edx
xor	ecx, ecx
cmp	[ebp-10h], eax
jge	short loc_102711C
sub	eax, [ebp-10h]
jmp	short loc_1027127

loc_102711C:
mov	eax, [ebp-18h]
cmp	[ebp-8], eax
jle	short loc_1027129
sub	eax, [ebp-8]

loc_1027127:
mov	edx, eax

loc_1027129:
mov	eax, [ebp-1Ch]
cmp	[ebp-0Ch], eax
jge	short loc_1027136
sub	eax, [ebp-0Ch]
jmp	short loc_1027141

loc_1027136:
mov	eax, [ebp-14h]
cmp	[ebp-4], eax
jle	short loc_1027143
sub	eax, [ebp-4]

loc_1027141:
mov	ecx, eax

loc_1027143:
test	edx, edx
jnz	short loc_102714B
test	ecx, ecx
jz	short loc_1027164

loc_102714B:
push	ecx
push	edx
lea	eax, [ebp-10h]
push	eax
call	ds:OffsetRect
mov	edi, [ebp+0Ch]
lea	esi, [ebp-10h]
movsd
movsd
movsd
movsd
xor	edi, edi
inc	edi

loc_1027164:
mov	eax, edi
pop	edi
pop	esi
leave
retn	8
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 20h
push	ebx
push	esi
push	edi
mov	edi, ecx
mov	ecx, [edi+128h]
lea	eax, [ebp-10h]
push	eax
call	sub_1019552
mov	esi, [ebp+8]
mov	edx, [ebp-10h]
mov	ebx, [ebp-0Ch]
mov	eax, [ebp-8]
mov	ecx, [ebp-4]
sub	eax, edx
mov	[esi+8], eax
sub	ecx, ebx
mov	[esi+0Ch], ecx
mov	[esi+10h], edx
mov	[esi+14h], ebx
mov	eax, [edi+120h]
mov	[esi+18h], eax
mov	eax, [edi+124h]
mov	[esi+1Ch], eax
lea	eax, [ebp-20h]
push	eax
push	dword ptr [edi+20h]
call	ds:GetWindowRect
mov	ecx, [edi+128h]
lea	eax, [ebp-20h]
push	eax
call	sub_102592B
mov	eax, [edi+0F4h]
cmp	eax, 0Bh
jz	short loc_10271F6
cmp	eax, 0Eh
jz	short loc_10271F6
jbe	short loc_1027211
cmp	eax, 10h
jbe	short loc_1027208
cmp	eax, 11h
jnz	short loc_1027211

loc_10271F6:
mov	eax, [ebp-10h]
sub	eax, [ebp-20h]
add	[esi+8], eax
cmp	dword ptr [edi+0F4h], 11h
jnz	short loc_1027211

loc_1027208:
mov	eax, [ebp-0Ch]
sub	eax, [ebp-1Ch]
add	[esi+0Ch], eax

loc_1027211:
mov	eax, [esi+8]
mov	[esi+20h], eax
mov	eax, [esi+0Ch]
pop	edi
mov	[esi+24h], eax
pop	esi
pop	ebx
leave
retn	4
db 5 dup(0CCh)
mov	eax, offset loc_1036BD1
call	sub_1034E18
sub	esp, 2Ch
push	edi
mov	edi, ecx
push	dword ptr [edi+20h]
call	ds:GetWindowDC
push	eax
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
test	eax, eax
mov	[ebp-10h], eax
jz	short loc_10272BD
and	dword ptr [ebp-14h], 0
push	esi
mov	esi, offset off_1001FB4
mov	[ebp-18h], esi
and	dword ptr [ebp-4], 0
lea	eax, [ebp-38h]
push	eax
push	dword ptr [edi+20h]
call	ds:GetWindowRect
mov	eax, [ebp-30h]
sub	eax, [ebp-38h]
mov	ecx, [ebp-2Ch]
sub	ecx, [ebp-34h]
and	dword ptr [ebp-28h], 0
and	dword ptr [ebp-24h], 0
mov	[ebp-20h], eax
push	0Fh
lea	eax, [ebp-28h]
push	eax
push	dword ptr [ebp-10h]
mov	[ebp-1Ch], ecx
call	sub_102DA5B
push	0Fh
lea	eax, [ebp-28h]
push	eax
push	dword ptr [ebp-10h]
call	sub_102DBBC
push	dword ptr [ebp-10h]
mov	ecx, edi
call	sub_100DA0C
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-18h]
mov	[ebp-18h], esi
call	sub_10096BE
pop	esi

loc_10272BD:
mov	ecx, [ebp-0Ch]
pop	edi
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
push	edi
push	2
pop	edi
lea	eax, [ebp+8]
mov	esi, ecx
push	eax
push	dword ptr [esi+20h]
call	ds:ScreenToClient
lea	eax, [ebp-10h]
push	eax
push	dword ptr [esi+20h]
call	ds:GetClientRect
push	dword ptr [ebp+0Ch]
lea	eax, [ebp-10h]
push	dword ptr [ebp+8]
push	eax
call	ds:PtInRect
test	eax, eax
jz	short loc_102730F
xor	edi, edi
inc	edi

loc_102730F:
and	dword ptr [esi+0F4h], 0
push	0
push	dword ptr [ebp+0Ch]
lea	eax, [ebp-10h]
push	dword ptr [ebp+8]
push	eax
call	sub_102D821
add	eax, 0FFFFFFFDh	; switch 8 cases
cmp	eax, 7
ja	short loc_1027394 ; jumptable 0102732F default case
jmp	ds:off_10273B0[eax*4] ;	switch jump

loc_1027336:		; jumptable 0102732F case 3
mov	dword ptr [esi+0F4h], 0Ch
jmp	short loc_1027394 ; jumptable 0102732F default case

loc_1027342:		; jumptable 0102732F case 4
mov	dword ptr [esi+0F4h], 0Ah
jmp	short loc_1027394 ; jumptable 0102732F default case

loc_102734E:		; jumptable 0102732F case 5
mov	dword ptr [esi+0F4h], 0Bh
jmp	short loc_1027394 ; jumptable 0102732F default case

loc_102735A:		; jumptable 0102732F case 6
mov	dword ptr [esi+0F4h], 0Fh
jmp	short loc_1027394 ; jumptable 0102732F default case

loc_1027366:		; jumptable 0102732F case 7
mov	dword ptr [esi+0F4h], 0Dh
jmp	short loc_1027394 ; jumptable 0102732F default case

loc_1027372:		; jumptable 0102732F case 8
mov	dword ptr [esi+0F4h], 0Eh
jmp	short loc_1027394 ; jumptable 0102732F default case

loc_102737E:		; jumptable 0102732F case 9
mov	dword ptr [esi+0F4h], 10h
jmp	short loc_1027394 ; jumptable 0102732F default case

loc_102738A:		; jumptable 0102732F case 10
mov	dword ptr [esi+0F4h], 11h

loc_1027394:		; jumptable 0102732F default case
mov	eax, [esi+0F4h]
test	eax, eax
jz	short loc_10273A0
mov	edi, eax

loc_10273A0:
lea	ecx, [esi+40h]
call	sub_1026338
mov	eax, edi
pop	edi
pop	esi
leave
retn	8
off_10273B0 dd offset loc_1027336 ; jump table for switch statement
dd offset loc_1027342
dd offset loc_102734E
dd offset loc_102735A
dd offset loc_1027366
dd offset loc_1027372
dd offset loc_102737E
dd offset loc_102738A
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
mov	ecx, [esi+0D4h]
push	edi
xor	edi, edi
cmp	ecx, edi
jz	short loc_1027442
cmp	[ecx+0F4h], edi
jz	short loc_10273F4
call	sub_102987E

loc_10273F4:
mov	ecx, [esi+0D4h]
cmp	[ecx+0F8h], edi
jz	short loc_1027407
call	sub_10298B5

loc_1027407:
mov	ecx, [esi+0D4h]
cmp	[ecx+0FCh], edi
jz	short loc_102741A
call	sub_10298E1

loc_102741A:
mov	ecx, [esi+0D4h]
cmp	[ecx+104h], edi
jz	short loc_102742D
call	sub_102994E

loc_102742D:
mov	ecx, [esi+0D4h]
call	sub_1028BB6
push	1
push	edi
mov	ecx, esi
call	sub_10266AF

loc_1027442:
pop	edi
pop	esi
retn
db 5 dup(0CCh)
align 4
push	esi
push	edi
mov	edi, ecx
lea	esi, [edi+0D4h]
mov	ecx, [esi]
test	ecx, ecx
jz	short loc_1027473
call	sub_102987E
mov	ecx, [esi]
call	sub_1028BB6
push	1
push	0
mov	ecx, edi
call	sub_10266AF

loc_1027473:
pop	edi
pop	esi
retn
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	edi
mov	edi, ecx
lea	esi, [edi+0D4h]
mov	ecx, [esi]
test	ecx, ecx
jz	short loc_10274A4
call	sub_10298B5
mov	ecx, [esi]
call	sub_1028BB6
push	1
push	0
mov	ecx, edi
call	sub_10266AF

loc_10274A4:
pop	edi
pop	esi
retn
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	edi
mov	edi, ecx
lea	esi, [edi+0D4h]
mov	ecx, [esi]
test	ecx, ecx
jz	short loc_10274D5
call	sub_10298E1
mov	ecx, [esi]
call	sub_1028BB6
push	1
push	0
mov	ecx, edi
call	sub_10266AF

loc_10274D5:
pop	edi
pop	esi
retn
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
cmp	dword ptr [esi+0D4h], 0
jz	short loc_10274FD
call	sub_1026850
test	eax, eax
jnz	short loc_10274FF
push	5
mov	ecx, esi
call	sub_102572B

loc_10274FD:
pop	esi
retn

loc_10274FF:
mov	ecx, [esi+0D4h]
pop	esi
jmp	?SetFocus@CWnd@@QAEPAV1@XZ ; CWnd::SetFocus(void)
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
cmp	dword ptr [esi+0D4h], 0
jz	short loc_1027554
call	sub_1026850
test	eax, eax
jnz	short loc_1027532
push	5
mov	ecx, esi
call	sub_102572B
jmp	short loc_102753D

loc_1027532:
mov	ecx, [esi+0D4h]
call	?SetFocus@CWnd@@QAEPAV1@XZ ; CWnd::SetFocus(void)

loc_102753D:
mov	ecx, [esi+0D4h]
call	sub_1025C0B
test	eax, eax
jz	short loc_1027554
mov	ecx, eax
pop	esi
jmp	?SetFocus@CWnd@@QAEPAV1@XZ ; CWnd::SetFocus(void)

loc_1027554:
pop	esi
retn
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
cmp	dword ptr [esi+13Ch], 0
push	edi
jz	short loc_1027573
push	dword ptr [esi+20h]
call	ds:HideCaret

loc_1027573:
lea	edi, [esi+40h]
mov	ecx, edi
call	sub_1025BDB
push	1
push	0
mov	ecx, esi
call	sub_10266AF
cmp	dword ptr [esi+13Ch], 0
jz	short loc_10275A1
mov	ecx, edi
call	sub_1026170
push	dword ptr [esi+20h]
call	ds:ShowCaret

loc_10275A1:
pop	edi
pop	esi
retn
db 5 dup(0CCh)
add	ecx, 40h
jmp	loc_1025BC3
align 8
push	esi
push	edi
mov	edi, ecx
lea	esi, [edi+0E8h]
lea	ecx, [edi+40h]
mov	dword ptr [esi], 1
call	sub_1025BF3
and	dword ptr [esi], 0
push	1
push	0
mov	ecx, edi
call	sub_10266AF
pop	edi
pop	esi
retn
db 5 dup(0CCh)
mov	eax, offset loc_1036BE8
call	sub_1034E18
sub	esp, 0Ch
push	ebx
push	esi
mov	esi, ecx
push	edi
lea	edi, [esi+40h]
mov	ecx, edi
call	?GetWindowTextLengthW@CWnd@@QBEHXZ ; CWnd::GetWindowTextLengthW(void)
cmp	dword ptr [esi+13Ch], 0
mov	ebx, eax
mov	[ebp-14h], ebx
mov	[ebp-10h], ebx
jz	short loc_102761C
push	dword ptr [esi+60h]
call	ds:HideCaret

loc_102761C:
lea	eax, [ebp-10h]
push	eax
lea	eax, [ebp-14h]
push	eax
mov	ecx, edi
call	sub_1025A64
mov	eax, [ebp-14h]
cmp	eax, [ebp-10h]
jnz	short loc_10276A5
cmp	ebx, eax
jz	loc_10276EE
lea	ecx, [ebp-18h]
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	eax, [ebp-18h]
xor	ebx, ebx
push	eax
mov	ecx, edi
mov	[ebp-4], ebx
call	?GetWindowTextW@CWnd@@QBEXAAVCString@@@Z ; CWnd::GetWindowTextW(CString	&)
mov	eax, [ebp-18h]
cmp	[eax-8], ebx
jz	short loc_1027680
mov	ecx, [ebp-14h]
movzx	eax, word ptr [eax+ecx*2]
push	eax
call	ds:IsDBCSLeadByte
test	eax, eax
jnz	short loc_102767A
mov	eax, [ebp-18h]
mov	ecx, [ebp-14h]
cmp	word ptr [eax+ecx*2], 0Dh
jnz	short loc_1027680

loc_102767A:
add	dword ptr [ebp-10h], 2
jmp	short loc_1027683

loc_1027680:
inc	dword ptr [ebp-10h]

loc_1027683:
push	dword ptr [ebp-10h]
push	dword ptr [ebp-14h]
push	0B1h
push	dword ptr [edi+20h]
call	ds:SendMessageW
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-18h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
jmp	short loc_10276A7

loc_10276A5:
xor	ebx, ebx

loc_10276A7:
mov	ecx, edi
call	sub_1025BAB
cmp	[esi+13Ch], ebx
jz	short loc_10276DB
mov	ecx, edi
call	sub_1026170
push	0FFFFFFFFh
push	ebx
push	1
mov	ecx, edi
call	sub_1025E57
push	dword ptr [esi+60h]
call	ds:ShowCaret
mov	ecx, edi
call	sub_102622E
jmp	short loc_10276EE

loc_10276DB:
push	dword ptr [esi+20h]
call	ds:UpdateWindow
push	1
push	ebx
mov	ecx, esi
call	sub_10266AF

loc_10276EE:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)
align 4
push	esi
push	0FFFFFFFFh
push	0
mov	esi, ecx
push	0B1h
push	dword ptr [esi+60h]
call	ds:SendMessageW
push	1
push	0
mov	ecx, esi
call	sub_10266AF
pop	esi
retn
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
call	sub_10267C0
push	1
push	0
mov	ecx, esi
call	sub_10266AF
pop	esi
retn
db 5 dup(0CCh)
db 8Bh,	0FFh
push	ebx
push	esi
push	edi
push	dword ptr [ecx+20h]
call	ds:GetParent
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
mov	esi, ds:PostMessageW
mov	edi, 40004h
push	edi
push	1
mov	ebx, eax
push	201h
push	dword ptr [ebx+20h]
call	esi ; PostMessageW
push	edi
push	1
push	202h
push	dword ptr [ebx+20h]
call	esi ; PostMessageW
pop	edi
pop	esi
pop	ebx
retn
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
call	sub_1026850
test	eax, eax
mov	ecx, esi
jz	short loc_102779F
push	0
jmp	short loc_10277A1

loc_102779F:
push	4

loc_10277A1:
call	sub_102572B
pop	esi
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10277AD proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ecx+0D4h]
xor	ecx, ecx
cmp	eax, ecx
jz	short loc_10277F4
cmp	[eax+0F4h], ecx
jnz	short loc_10277E2
cmp	[eax+0F8h], ecx
jnz	short loc_10277E2
cmp	[eax+0FCh], ecx
jnz	short loc_10277E2
cmp	[eax+104h], ecx
jnz	short loc_10277E2
push	8
jmp	short loc_10277E3

loc_10277E2:		; uCheck
push	ecx

loc_10277E3:
mov	eax, [ebp+arg_0]
push	8008h		; uIDCheckItem
push	dword ptr [eax+4] ; hMenu
call	ds:CheckMenuItem

loc_10277F4:
pop	ebp
retn	4
sub_10277AD endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10277FD proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ecx+0D4h]
test	eax, eax
jz	short loc_102782C
cmp	dword ptr [eax+0F4h], 0
mov	eax, [ebp+arg_0]
jz	short loc_102781C
push	8
jmp	short loc_102781E

loc_102781C:		; uCheck
push	0

loc_102781E:		; uIDCheckItem
push	8009h
push	dword ptr [eax+4] ; hMenu
call	ds:CheckMenuItem

loc_102782C:
pop	ebp
retn	4
sub_10277FD endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1027835 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ecx+0D4h]
test	eax, eax
jz	short loc_1027864
cmp	dword ptr [eax+0F8h], 0
mov	eax, [ebp+arg_0]
jz	short loc_1027854
push	8
jmp	short loc_1027856

loc_1027854:		; uCheck
push	0

loc_1027856:		; uIDCheckItem
push	800Ah
push	dword ptr [eax+4] ; hMenu
call	ds:CheckMenuItem

loc_1027864:
pop	ebp
retn	4
sub_1027835 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102786D proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ecx+0D4h]
test	eax, eax
jz	short loc_102789C
cmp	dword ptr [eax+0FCh], 0
mov	eax, [ebp+arg_0]
jz	short loc_102788C
push	8
jmp	short loc_102788E

loc_102788C:		; uCheck
push	0

loc_102788E:		; uIDCheckItem
push	8015h
push	dword ptr [eax+4] ; hMenu
call	ds:CheckMenuItem

loc_102789C:
pop	ebp
retn	4
sub_102786D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10278A5 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
call	sub_1026850
test	eax, eax
mov	eax, [ebp+arg_0]
jz	short loc_10278BA
push	8
jmp	short loc_10278BC

loc_10278BA:		; uCheck
push	0

loc_10278BC:		; uIDCheckItem
push	932Eh
push	dword ptr [eax+4] ; hMenu
call	ds:CheckMenuItem
pop	ebp
retn	4
sub_10278A5 endp

db 5 dup(0CCh)
db 8Bh,	0FFh
push	ebx
push	esi
mov	esi, ecx
lea	eax, [esi+40h]
xor	ebx, ebx
cmp	eax, ebx
jz	short loc_1027951
cmp	[eax+20h], ebx
jz	short loc_1027951
mov	eax, [esi+0B4h]
cmp	eax, ebx
jz	short loc_10278FD
push	eax
push	0FFFFFFF4h
push	dword ptr [esi+60h]
call	ds:SetClassLongW

loc_10278FD:
lea	eax, [esi+140h]
cmp	[eax], ebx
jz	short loc_1027951
push	edi
push	dword ptr [esi+144h]
mov	ecx, esi
push	dword ptr [esi+60h]
mov	[eax], ebx
call	sub_102586F
push	dword ptr [esi+148h]
mov	ecx, esi
push	dword ptr [esi+150h]
call	sub_102586F
lea	edi, [esi+14Ch]
push	dword ptr [edi]
mov	ecx, esi
push	dword ptr [esi+154h]
call	sub_102586F
mov	[edi], ebx
mov	[esi+144h], ebx
mov	[esi+148h], ebx
pop	edi

loc_1027951:
mov	ecx, esi
pop	esi
pop	ebx
jmp	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
db 5 dup(0CCh)
mov	eax, offset loc_1036C00
call	sub_1034E18
push	ecx
push	94h
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-10h], ecx
xor	eax, eax
cmp	ecx, eax
mov	[ebp-4], eax
jz	short loc_1027988
call	sub_1025C47

loc_1027988:
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)
mov	eax, offset loc_1036C00
call	sub_1034E18
push	ecx
push	158h
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-10h], ecx
xor	eax, eax
cmp	ecx, eax
mov	[ebp-4], eax
jz	short loc_10279C2
call	sub_1026547

loc_10279C2:
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)
mov	eax, offset loc_1036C17
call	sub_1034E18
sub	esp, 0A8h
mov	eax, ___security_cookie
push	ebx
mov	ebx, ecx
mov	[ebp-10h], eax
push	0
lea	eax, [ebx+4Ch]
push	eax
push	dword ptr [ebx+20h]
call	ds:GetUpdateRect
mov	eax, [ebx+5Ch]
cmp	dword ptr [eax+13Ch], 0
jnz	short loc_1027A15
mov	ecx, ebx
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
jmp	loc_1027F6B

loc_1027A15:
push	esi
push	edi
lea	esi, [ebx+78h]
lea	edi, [ebp-0B4h]
movsd
movsd
movsd
lea	ecx, [ebp-70h]
movsd
call	??0CString@@QAE@XZ ; CString::CString(void)
xor	edi, edi
mov	[ebp-4], edi
call	?GetCurrentMessage@CWnd@@KGPBUtagMSG@@XZ ; CWnd::GetCurrentMessage(void)
mov	[ebp-98h], eax
mov	eax, [eax+8]
cmp	eax, edi
jz	short loc_1027A4B
push	eax
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
jmp	short loc_1027A56

loc_1027A4B:
lea	eax, [ebp-50h]
push	eax
mov	ecx, ebx
call	sub_1025971

loc_1027A56:
mov	esi, eax
cmp	esi, edi
jz	loc_1027F51
cmp	[esi+4], edi
jz	loc_1027F51
push	dword ptr [esi+8]
call	ds:GetBkMode
push	dword ptr [esi+8]
mov	[ebp-9Ch], eax
call	ds:GetTextColor
push	edi
push	dword_103EF88
mov	[ebp-94h], eax
push	esi
call	sub_1013DFF
mov	ecx, [ebx+20h]
mov	edx, [esi+4]
push	ecx
push	edx
mov	[ebp-8Ch], eax
mov	eax, [ebx+5Ch]
push	133h
push	dword ptr [eax+20h]
call	ds:SendMessageW
mov	ecx, ebx
call	sub_100980C
mov	edx, [esi]
push	eax
mov	ecx, esi
call	dword ptr [edx+30h]
mov	[ebp-88h], eax
mov	eax, [ebx+5Ch]
mov	edi, [eax+138h]
mov	ecx, ebx
mov	[ebp-7Ch], edi
call	sub_1025A4C
mov	[ebp-80h], eax
lea	eax, [ebp-74h]
push	eax
lea	eax, [ebp-64h]
push	eax
mov	ecx, ebx
call	sub_1025A64
mov	eax, [ebp-64h]
cmp	eax, [ebp-74h]
jnz	short loc_1027B73
and	dword ptr [ebp-6Ch], 0
cmp	dword ptr [ebp-80h], 0
jle	loc_1027EE8
mov	eax, [ebp-0ACh]
neg	edi
mov	[ebp-68h], edi
mov	[ebp-5Ch], eax

loc_1027B11:
push	dword ptr [ebp-6Ch]
mov	ecx, ebx
call	sub_1025AD1
push	eax
mov	ecx, ebx
call	sub_1025AF2
push	eax
lea	ecx, [ebp-70h]
mov	[ebp-54h], eax
call	?GetBufferSetLength@CString@@QAEPAGH@Z ; CString::GetBufferSetLength(int)
push	dword ptr [ebp-54h]
mov	edi, [ebp-6Ch]
push	eax
push	edi
mov	ecx, ebx
mov	[ebp-58h], eax
call	sub_1025A86
push	0
push	dword ptr [ebp-54h]
mov	ecx, ebx
push	dword ptr [ebp-58h]
push	0
push	dword ptr [ebp-5Ch]
push	edi
call	sub_1025AD1
push	eax
push	esi
mov	ecx, ebx
call	sub_10263A0
mov	eax, [ebp-68h]
add	[ebp-5Ch], eax
inc	edi
cmp	edi, [ebp-80h]
mov	[ebp-6Ch], edi
jl	short loc_1027B11
jmp	loc_1027EE8

loc_1027B73:
mov	ecx, ebx
call	?GetWindowTextLengthW@CWnd@@QBEHXZ ; CWnd::GetWindowTextLengthW(void)
push	dword ptr [ebp-64h]
xor	edi, edi
mov	ecx, ebx
mov	[ebp-84h], eax
mov	[ebp-60h], edi
call	sub_1025AB0
push	dword ptr [ebp-74h]
mov	ecx, ebx
mov	[ebp-78h], eax
call	sub_1025AB0
cmp	[ebp-78h], edi
mov	[ebp-68h], eax
mov	[ebp-6Ch], edi
jle	short loc_1027C1B
mov	eax, [ebp-7Ch]
neg	eax
mov	[ebp-6Ch], eax
mov	eax, [ebp-0ACh]
mov	[ebp-5Ch], eax

loc_1027BB8:
push	edi
mov	ecx, ebx
call	sub_1025AD1
push	eax
mov	ecx, ebx
call	sub_1025AF2
push	eax
lea	ecx, [ebp-70h]
mov	[ebp-54h], eax
call	?GetBufferSetLength@CString@@QAEPAGH@Z ; CString::GetBufferSetLength(int)
push	dword ptr [ebp-54h]
mov	ecx, ebx
push	eax
push	edi
mov	[ebp-58h], eax
call	sub_1025A86
push	0
push	dword ptr [ebp-54h]
mov	ecx, ebx
push	dword ptr [ebp-58h]
push	0
push	dword ptr [ebp-5Ch]
push	edi
call	sub_1025AD1
push	eax
push	esi
mov	ecx, ebx
call	sub_10263A0
inc	edi
push	edi
mov	ecx, ebx
call	sub_1025AD1
mov	[ebp-60h], eax
mov	eax, [ebp-6Ch]
add	[ebp-5Ch], eax
cmp	edi, [ebp-78h]
jl	short loc_1027BB8
mov	[ebp-6Ch], edi

loc_1027C1B:
push	edi
mov	ecx, ebx
call	sub_1025AD1
push	eax
mov	ecx, ebx
call	sub_1025AF2
push	eax
lea	ecx, [ebp-70h]
mov	[ebp-54h], eax
call	?GetBufferSetLength@CString@@QAEPAGH@Z ; CString::GetBufferSetLength(int)
push	dword ptr [ebp-54h]
mov	ecx, ebx
push	eax
push	edi
mov	[ebp-58h], eax
call	sub_1025A86
mov	ecx, [ebp-7Ch]
mov	eax, [ebp-0ACh]
imul	ecx, edi
sub	eax, ecx
mov	ecx, [ebp-64h]
sub	ecx, [ebp-60h]
push	0
push	ecx
push	dword ptr [ebp-58h]
mov	ecx, ebx
push	0
push	eax
push	edi
mov	[ebp-5Ch], eax
call	sub_1025AD1
push	eax
push	esi
mov	ecx, ebx
call	sub_10263A0
mov	edi, [esi]
push	0Dh
call	ds:GetSysColor
push	eax
mov	ecx, esi
call	dword ptr [edi+34h]
mov	edi, [esi]
push	0Eh
mov	[ebp-90h], eax
call	ds:GetSysColor
push	eax
mov	ecx, esi
call	dword ptr [edi+38h]
push	2
mov	ecx, esi
mov	[ebp-0A4h], eax
call	?SetBkMode@CDC@@QAEHH@Z	; CDC::SetBkMode(int)
push	0
push	dword ptr [ebp-64h]
mov	[ebp-0A0h], eax
push	0D6h
push	dword ptr [ebx+20h]
call	ds:SendMessageW
mov	ecx, [ebp-68h]
cmp	[ebp-78h], ecx
mov	edx, [ebp-58h]
movsx	eax, ax
push	1
jnz	short loc_1027CFD
mov	ecx, [ebp-74h]
sub	ecx, [ebp-64h]
push	ecx
mov	ecx, [ebp-64h]
sub	ecx, [ebp-60h]
lea	ecx, [edx+ecx*2]
push	ecx
push	eax
push	dword ptr [ebp-5Ch]
mov	ecx, ebx
push	dword ptr [ebp-64h]
push	esi
call	sub_10263A0
mov	edi, [ebp-6Ch]
jmp	loc_1027DFD

loc_1027CFD:
mov	ecx, [ebp-60h]
sub	ecx, [ebp-64h]
add	ecx, [ebp-54h]
push	ecx
mov	ecx, [ebp-64h]
sub	ecx, [ebp-60h]
lea	ecx, [edx+ecx*2]
push	ecx
push	eax
push	dword ptr [ebp-5Ch]
mov	ecx, ebx
push	dword ptr [ebp-64h]
push	esi
call	sub_10263A0
mov	edi, [ebp-6Ch]
inc	edi
push	edi
mov	ecx, ebx
call	sub_1025AD1
cmp	edi, [ebp-68h]
mov	[ebp-60h], eax
jge	short loc_1027DA7
mov	ecx, [ebp-7Ch]
mov	eax, [ebp-7Ch]
imul	ecx, edi
neg	eax
mov	[ebp-5Ch], eax
mov	eax, [ebp-0ACh]
sub	eax, ecx
mov	[ebp-78h], eax

loc_1027D4D:
push	edi
mov	ecx, ebx
call	sub_1025AD1
push	eax
mov	ecx, ebx
call	sub_1025AF2
push	eax
lea	ecx, [ebp-70h]
mov	[ebp-54h], eax
call	?GetBufferSetLength@CString@@QAEPAGH@Z ; CString::GetBufferSetLength(int)
push	dword ptr [ebp-54h]
mov	ecx, ebx
push	eax
push	edi
mov	[ebp-58h], eax
call	sub_1025A86
push	1
push	dword ptr [ebp-54h]
mov	ecx, ebx
push	dword ptr [ebp-58h]
push	0
push	dword ptr [ebp-78h]
push	dword ptr [ebp-60h]
push	esi
call	sub_10263A0
inc	edi
push	edi
mov	ecx, ebx
call	sub_1025AD1
mov	[ebp-60h], eax
mov	eax, [ebp-5Ch]
add	[ebp-78h], eax
cmp	edi, [ebp-68h]
jl	short loc_1027D4D

loc_1027DA7:
push	edi
mov	ecx, ebx
call	sub_1025AD1
push	eax
mov	ecx, ebx
call	sub_1025AF2
push	eax
lea	ecx, [ebp-70h]
mov	[ebp-54h], eax
call	?GetBufferSetLength@CString@@QAEPAGH@Z ; CString::GetBufferSetLength(int)
push	dword ptr [ebp-54h]
mov	ecx, ebx
push	eax
push	edi
mov	[ebp-58h], eax
call	sub_1025A86
mov	ecx, [ebp-7Ch]
mov	eax, [ebp-0ACh]
imul	ecx, edi
sub	eax, ecx
mov	ecx, [ebp-74h]
sub	ecx, [ebp-60h]
push	1
push	ecx
push	dword ptr [ebp-58h]
mov	ecx, ebx
push	0
push	eax
push	dword ptr [ebp-60h]
mov	[ebp-5Ch], eax
push	esi
call	sub_10263A0

loc_1027DFD:
push	dword ptr [ebp-90h]
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+34h]
push	dword ptr [ebp-0A4h]
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+38h]
push	dword ptr [ebp-0A0h]
mov	ecx, esi
call	?SetBkMode@CDC@@QAEHH@Z	; CDC::SetBkMode(int)
mov	eax, [ebp-74h]
cmp	eax, [ebp-84h]
jge	loc_1027EE8
push	0
push	eax
push	0D6h
push	dword ptr [ebx+20h]
call	ds:SendMessageW
mov	ecx, [ebp-60h]
sub	ecx, [ebp-74h]
mov	edx, [ebp-58h]
add	ecx, [ebp-54h]
push	0
push	ecx
mov	ecx, [ebp-74h]
sub	ecx, [ebp-60h]
movsx	eax, ax
lea	ecx, [edx+ecx*2]
push	ecx
push	eax
push	dword ptr [ebp-5Ch]
mov	ecx, ebx
push	dword ptr [ebp-74h]
push	esi
call	sub_10263A0
inc	edi
cmp	edi, [ebp-80h]
jge	short loc_1027EE8
mov	ecx, [ebp-7Ch]
mov	eax, ecx
imul	ecx, edi
neg	eax
mov	[ebp-84h], eax
mov	eax, [ebp-0ACh]
sub	eax, ecx
mov	[ebp-68h], eax

loc_1027E90:
push	edi
mov	ecx, ebx
call	sub_1025AD1
push	eax
mov	ecx, ebx
call	sub_1025AF2
push	eax
lea	ecx, [ebp-70h]
mov	[ebp-54h], eax
call	?GetBufferSetLength@CString@@QAEPAGH@Z ; CString::GetBufferSetLength(int)
push	dword ptr [ebp-54h]
mov	ecx, ebx
push	eax
push	edi
mov	[ebp-58h], eax
call	sub_1025A86
push	0
push	dword ptr [ebp-54h]
mov	ecx, ebx
push	dword ptr [ebp-58h]
push	0
push	dword ptr [ebp-68h]
push	edi
call	sub_1025AD1
push	eax
push	esi
mov	ecx, ebx
call	sub_10263A0
mov	eax, [ebp-84h]
add	[ebp-68h], eax
inc	edi
cmp	edi, [ebp-80h]
jl	short loc_1027E90

loc_1027EE8:
lea	ecx, [ebp-70h]
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
xor	edi, edi
cmp	[ebp-88h], edi
jz	short loc_1027F07
push	dword ptr [ebp-88h]
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+30h]

loc_1027F07:
cmp	[ebp-8Ch], edi
jz	short loc_1027F1D
push	edi
push	dword ptr [ebp-8Ch]
mov	ecx, esi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_1027F1D:
push	dword ptr [ebp-9Ch]
mov	ecx, esi
call	?SetBkMode@CDC@@QAEHH@Z	; CDC::SetBkMode(int)
push	dword ptr [ebp-94h]
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+38h]
mov	eax, [ebp-98h]
cmp	[eax+8], edi
jnz	short loc_1027F5D
lea	eax, [ebp-50h]
push	eax
push	dword ptr [ebx+20h]
call	ds:EndPaint
jmp	short loc_1027F5D

loc_1027F51:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB

loc_1027F5D:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-70h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
pop	edi
pop	esi

loc_1027F6B:
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
mov	ecx, [ebp-10h]
pop	ebx
call	sub_1032F53
leave
retn
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
mov	eax, [esi+48h]
push	edi
mov	edi, [ebp+8]
mov	[esi+44h], eax
mov	eax, [esi+5Ch]
mov	[esi+48h], edi
cmp	dword ptr [eax+13Ch], 0
jz	short loc_1027FC1
push	0FFFFFFFFh
push	0
push	1
call	sub_1025E57
mov	ecx, esi
call	sub_10262F0
push	dword ptr [esi+20h]
call	ds:HideCaret

loc_1027FC1:
mov	ecx, esi
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
mov	eax, [esi+5Ch]
cmp	dword ptr [eax+13Ch], 0
jz	short loc_1027FEB
mov	ecx, esi
call	sub_1026170
mov	ecx, esi
call	sub_10262F0
push	dword ptr [esi+20h]
call	ds:ShowCaret

loc_1027FEB:
cmp	edi, 8
jz	short loc_1027FFA
cmp	edi, 2Ch
jbe	short loc_1028006
cmp	edi, 2Eh
ja	short loc_1028006

loc_1027FFA:
mov	ecx, [esi+5Ch]
push	1
push	0
call	sub_10266AF

loc_1028006:
mov	ecx, [esi+5Ch]
lea	edi, [esi+90h]
mov	dword ptr [edi], 1
call	sub_1026AF2
and	dword ptr [edi], 0
pop	edi
pop	esi
pop	ebp
retn	0Ch
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	edi
mov	esi, ecx
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
mov	edi, eax
mov	eax, [esi+5Ch]
cmp	dword ptr [eax+13Ch], 0
jz	short loc_102804E
push	0FFFFFFFFh
push	0
push	1
mov	ecx, esi
call	sub_1025E57

loc_102804E:
mov	eax, edi
pop	edi
pop	esi
retn	8
db 5 dup(0CCh)
align 4
push	esi
mov	esi, ecx
mov	eax, [esi+5Ch]
cmp	dword ptr [eax+13Ch], 0
jz	short loc_1028086
push	0FFFFFFFFh
push	0
push	1
call	sub_1025E57
mov	ecx, esi
call	sub_10262F0
push	dword ptr [esi+20h]
call	ds:HideCaret

loc_1028086:
mov	ecx, esi
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
pop	esi
retn	8
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
push	ebx
push	esi
push	edi
xor	esi, esi
push	esi
mov	edi, ecx
call	ds:GetKeyboardLayout
and	eax, 3FFh
cmp	eax, 11h
jnz	loc_1028153
mov	ebx, 800h
test	[ebp+0Ch], ebx
jz	loc_1028185
push	dword ptr [edi+20h]
call	ImmGetContext
cmp	eax, esi
mov	[ebp-4], eax
jz	short loc_102811D
push	esi
push	esi
push	ebx
push	eax
call	ImmGetCompositionStringW
mov	esi, eax
test	esi, esi
jz	short loc_102811B
lea	ecx, [edi+60h]
push	esi
call	?GetBufferSetLength@CString@@QAEPAGH@Z ; CString::GetBufferSetLength(int)
lea	ecx, [esi+2]
push	ecx
push	eax
push	ebx
push	dword ptr [ebp-4]
mov	[ebp-8], eax
call	ImmGetCompositionStringW
mov	eax, [ebp-8]
push	0
shr	esi, 1
and	word ptr [eax+esi*2], 0
push	eax
mov	ecx, edi
call	sub_1025B13
lea	ecx, [edi+60h]
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)

loc_102811B:
xor	esi, esi

loc_102811D:
push	dword ptr [ebp-4]
push	dword ptr [edi+20h]
call	ImmReleaseContext
and	dword ptr [ebp+0Ch], 0FFFFE1FFh
jz	short loc_1028146
push	dword ptr [ebp+0Ch]
mov	eax, [edi]
push	dword ptr [ebp+8]
mov	ecx, edi
push	10Fh
call	dword ptr [eax+0A8h]

loc_1028146:
mov	ecx, [edi+5Ch]
push	1
push	esi
call	sub_10266AF
jmp	short loc_102817C

loc_1028153:
cmp	eax, 12h
jnz	short loc_1028185
mov	eax, [edi+5Ch]
cmp	[eax+13Ch], esi
mov	ecx, edi
jz	short loc_1028180
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
push	0FFFFFFFEh
push	esi
push	esi
mov	ecx, edi
call	sub_1025E57
mov	ecx, edi
call	sub_10262F0

loc_102817C:
xor	eax, eax
jmp	short loc_102818C

loc_1028180:
call	sub_10262F0

loc_1028185:
mov	ecx, edi
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)

loc_102818C:
pop	edi
pop	esi
pop	ebx
leave
retn	8
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	edi
mov	esi, ecx
push	dword ptr [esi+20h]
call	ImmGetContext
push	0
push	1
mov	edi, eax
push	15h
push	edi
call	ImmNotifyIME
push	edi
push	dword ptr [esi+20h]
call	ImmReleaseContext
mov	ecx, esi
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
mov	eax, [esi+5Ch]
cmp	dword ptr [eax+13Ch], 0
jz	short loc_10281DE
mov	ecx, esi
call	sub_10261AA
mov	ecx, esi
call	sub_102622E

loc_10281DE:
pop	edi
pop	esi
retn	4
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	edi
mov	esi, ecx
call	?GetCurrentMessage@CWnd@@KGPBUtagMSG@@XZ ; CWnd::GetCurrentMessage(void)
push	dword ptr [eax+0Ch]
mov	edx, [esi]
push	dword ptr [eax+8]
mov	ecx, esi
push	dword ptr [eax+4]
call	dword ptr [edx+0A8h]
mov	edi, eax
cmp	edi, 1
jnz	short loc_1028227
mov	eax, [esi+5Ch]
cmp	dword ptr [eax+13Ch], 0
mov	ecx, esi
jz	short loc_1028222
call	sub_102636C
jmp	short loc_1028227

loc_1028222:
call	sub_1026338

loc_1028227:
mov	eax, edi
pop	edi
pop	esi
retn	8
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
mov	eax, [esi+5Ch]
cmp	dword ptr [eax+13Ch], 0
jz	short loc_1028264
mov	ecx, esi
call	sub_1026170
push	0FFFFFFFFh
push	0
push	0
mov	ecx, esi
call	sub_1025E57
mov	ecx, esi
call	sub_102622E

loc_1028264:
pop	esi
retn	4
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
mov	eax, [ebp+0Ch]
and	dword ptr [esi+7Ch], 0
and	dword ptr [esi+78h], 0
mov	[esi+80h], eax
mov	eax, [ebp+10h]
mov	ecx, esi
mov	[esi+84h], eax
call	sub_10261AA
pop	esi
pop	ebp
retn	0Ch
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
mov	eax, [esi+5Ch]
cmp	dword ptr [eax+13Ch], 0
jnz	short loc_10282C0
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
jmp	short loc_1028336

loc_10282C0:
push	ebx
push	edi
push	dword ptr [esi+20h]
call	ds:HideCaret
mov	ecx, esi
call	sub_1026250
mov	ecx, esi
call	sub_1025E11
mov	edi, [esi+80h]
sub	edi, [ebp+0Ch]
mov	ebx, [ebp+10h]
mov	[ebp+10h], edi
mov	[ebp+0Ch], ebx
call	?GetCurrentMessage@CWnd@@KGPBUtagMSG@@XZ ; CWnd::GetCurrentMessage(void)
mov	edx, [esi]
movzx	ecx, di
shl	ecx, 10h
movzx	edi, bx
or	ecx, edi
push	ecx
push	dword ptr [eax+8]
mov	ecx, esi
push	dword ptr [eax+4]
call	dword ptr [edx+0A8h]
push	0FFFFFFFFh
lea	eax, [ebp+0Ch]
push	eax
push	1
mov	ecx, esi
call	sub_1025E57
push	dword ptr [esi+20h]
call	ds:ShowCaret
mov	ecx, esi
call	sub_1026250
push	dword ptr [esi+20h]
call	ds:UpdateWindow
pop	edi
pop	ebx

loc_1028336:
pop	esi
pop	ebp
retn	0Ch
align 10h
mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
push	esi
mov	esi, ecx
mov	eax, [esi+5Ch]
cmp	dword ptr [eax+13Ch], 0
jnz	short loc_1028360
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
jmp	loc_1028418

loc_1028360:
push	ebx
push	edi
push	dword ptr [esi+20h]
call	ds:HideCaret
mov	ecx, esi
call	sub_1026250
mov	ecx, esi
call	sub_1025E11
lea	eax, [ebp-8]
push	eax
lea	ebx, [esi+88h]
push	ebx
mov	ecx, esi
call	sub_1025A64
mov	eax, [ebp+10h]
mov	edi, [esi+80h]
sub	edi, [ebp+0Ch]
mov	[ebp-4], eax
mov	[ebp+0Ch], eax
mov	eax, 0FFFFB1E0h
mov	ecx, eax
push	eax
push	ecx
mov	[ebp+10h], edi
call	sub_10259F3
call	?GetCurrentMessage@CWnd@@KGPBUtagMSG@@XZ ; CWnd::GetCurrentMessage(void)
mov	edx, [esi]
movzx	ecx, di
movzx	edi, word ptr [ebp-4]
shl	ecx, 10h
or	ecx, edi
push	ecx
push	dword ptr [eax+8]
mov	ecx, esi
push	dword ptr [eax+4]
call	dword ptr [edx+0A8h]
push	dword ptr [ebx]
lea	eax, [ebp+0Ch]
xor	edi, edi
push	eax
inc	edi
push	edi
mov	ecx, esi
call	sub_1025E57
push	10h
call	ds:GetKeyState
test	ax, ax
jl	short loc_10283FA
lea	eax, [ebp-8]
push	eax
push	ebx
mov	ecx, esi
call	sub_1025A64

loc_10283FA:
push	dword ptr [esi+20h]
call	ds:ShowCaret
mov	ecx, esi
call	sub_1026250
push	dword ptr [esi+20h]
call	ds:UpdateWindow
mov	[esi+68h], edi
pop	edi
pop	ebx

loc_1028418:
pop	esi
leave
retn	0Ch
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
mov	eax, [esi+5Ch]
cmp	dword ptr [eax+13Ch], 0
jnz	short loc_102843D
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
jmp	short loc_10284BB

loc_102843D:
and	dword ptr [esi+68h], 0
push	ebx
push	edi
push	dword ptr [esi+20h]
call	ds:HideCaret
mov	ecx, esi
call	sub_1026250
mov	ecx, esi
call	sub_1025E11
mov	edi, [esi+80h]
sub	edi, [ebp+0Ch]
mov	ebx, [ebp+10h]
mov	[ebp+10h], edi
mov	[ebp+0Ch], ebx
call	?GetCurrentMessage@CWnd@@KGPBUtagMSG@@XZ ; CWnd::GetCurrentMessage(void)
mov	edx, [esi]
movzx	ecx, di
shl	ecx, 10h
movzx	edi, bx
or	ecx, edi
push	ecx
push	dword ptr [eax+8]
mov	ecx, esi
push	dword ptr [eax+4]
call	dword ptr [edx+0A8h]
push	dword ptr [esi+88h]
lea	eax, [ebp+0Ch]
push	eax
push	1
mov	ecx, esi
call	sub_1025E57
push	dword ptr [esi+20h]
call	ds:ShowCaret
mov	ecx, esi
call	sub_1026250
push	dword ptr [esi+20h]
call	ds:UpdateWindow
pop	edi
pop	ebx

loc_10284BB:
pop	esi
pop	ebp
retn	0Ch
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
mov	eax, [esi+5Ch]
cmp	dword ptr [eax+13Ch], 0
jz	loc_102855F
cmp	dword ptr [esi+68h], 0
jz	short loc_102855F
push	ebx
push	edi
push	dword ptr [esi+20h]
call	ds:HideCaret
mov	ecx, esi
call	sub_1026250
mov	ecx, esi
call	sub_1025E11
mov	edi, [esi+80h]
sub	edi, [ebp+0Ch]
mov	ebx, [ebp+10h]
mov	[ebp+10h], edi
mov	[ebp+0Ch], ebx
call	?GetCurrentMessage@CWnd@@KGPBUtagMSG@@XZ ; CWnd::GetCurrentMessage(void)
mov	edx, [esi]
movzx	ecx, di
shl	ecx, 10h
movzx	edi, bx
or	ecx, edi
push	ecx
push	dword ptr [eax+8]
mov	ecx, esi
push	dword ptr [eax+4]
call	dword ptr [edx+0A8h]
push	dword ptr [esi+88h]
lea	eax, [ebp+0Ch]
push	eax
push	1
mov	ecx, esi
call	sub_1025E57
push	dword ptr [esi+20h]
call	ds:ShowCaret
mov	ecx, esi
call	sub_1026250
push	dword ptr [esi+20h]
call	ds:UpdateWindow
pop	edi
pop	ebx
jmp	short loc_1028566

loc_102855F:
mov	ecx, esi
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)

loc_1028566:
pop	esi
pop	ebp
retn	0Ch
align 10h
mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
push	ebx
push	esi
mov	esi, ecx
mov	eax, [esi+5Ch]
xor	ebx, ebx
cmp	[eax+13Ch], ebx
jnz	short loc_1028592
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
jmp	loc_1028674

loc_1028592:
push	edi
push	dword ptr [esi+20h]
call	ds:HideCaret
mov	edi, [ebp+8]
cmp	edi, 23h
jb	short loc_10285E9
cmp	edi, 28h
ja	short loc_10285E9
mov	ecx, esi
call	sub_1026250
lea	eax, [ebp-8]
push	eax
call	sub_10259CB
cmp	dword ptr [ebp-4], 0
jz	short loc_10285C2
xor	ebx, ebx
inc	ebx

loc_10285C2:
lea	eax, [ebp+8]
push	eax
lea	eax, [esi+88h]
push	eax
mov	ecx, esi
call	sub_1025A64
mov	ecx, esi
call	sub_1025E11
mov	eax, 0FFFFB1E0h
mov	ecx, eax
push	eax
push	ecx
call	sub_10259F3

loc_10285E9:
mov	eax, edi
sub	eax, 23h
jz	short loc_1028613
dec	eax
jz	short loc_102860B
dec	eax
jz	short loc_102860F
dec	eax
jz	short loc_1028608
dec	eax
jz	short loc_1028603
dec	eax
jnz	short loc_1028616
push	27h
jmp	short loc_102860A

loc_1028603:
push	26h

loc_1028605:
pop	edi
jmp	short loc_1028616

loc_1028608:
push	25h

loc_102860A:
pop	edi

loc_102860B:
xor	ebx, ebx
jmp	short loc_1028616

loc_102860F:
push	28h
jmp	short loc_1028605

loc_1028613:
xor	ebx, ebx
inc	ebx

loc_1028616:		; CWnd::GetCurrentMessage(void)
call	?GetCurrentMessage@CWnd@@KGPBUtagMSG@@XZ
push	dword ptr [eax+0Ch]
mov	edx, [esi]
push	edi
push	dword ptr [eax+4]
mov	ecx, esi
call	dword ptr [edx+0A8h]
cmp	edi, 19h
jz	short loc_102865D
cmp	edi, 22h
jbe	short loc_102866A
cmp	edi, 28h
ja	short loc_102866A
push	dword ptr [esi+88h]
mov	ecx, esi
push	0
push	ebx
call	sub_1025E57
mov	ecx, esi
call	sub_1026250
push	dword ptr [esi+20h]
call	ds:UpdateWindow
jmp	short loc_102866A

loc_102865D:
push	0FFFFFFFEh
push	0
push	0
mov	ecx, esi
call	sub_1025E57

loc_102866A:
push	dword ptr [esi+20h]
call	ds:ShowCaret
pop	edi

loc_1028674:
pop	esi
pop	ebx
leave
retn	0Ch
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_102867F(void *, char)
sub_102867F proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_1026638
test	[ebp+arg_0], 1
jz	short loc_1028699
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1028699:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_102867F endp

db 5 dup(0CCh)



sub_10286A5 proc near
mov	eax, offset loc_1036C2F
call	sub_1034E18
sub	esp, 98h
mov	eax, ___security_cookie
push	ebx
mov	[ebp-10h], eax
mov	eax, [ebp+8]
push	esi
mov	esi, [ebp+14h]
mov	ebx, ecx
cmp	dword ptr [ebx+0E4h], 0
push	edi
mov	[ebp-70h], eax
jz	loc_10289B4
mov	[ebx+128h], eax
mov	eax, [ebp+10h]
mov	[ebx+0FCh], eax
mov	eax, [ebp+0Ch]
mov	[ebx+0F8h], eax
mov	eax, [ebp+18h]
push	eax
mov	[ebx+0DCh], eax
call	sub_102671D
lea	edi, [ebp-94h]
movsd
movsd
push	3		; dy
movsd
push	3		; dx
lea	eax, [ebp-94h]
push	eax		; lprc
movsd
call	ds:InflateRect
add	dword ptr [ebp-8Ch], 6
add	dword ptr [ebp-88h], 6
xor	esi, esi
push	esi
push	73h
push	dword ptr [ebp-70h]
lea	eax, [ebp-94h]
push	eax
push	40040000h
push	offset Text
push	esi
mov	ecx, ebx
call	?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const	&,CWnd *,uint,CCreateContext *)
test	eax, eax
jz	loc_10289B4
lea	eax, [ebp-84h]
push	eax		; lpRect
push	dword ptr [ebx+20h] ; hWnd
call	ds:GetClientRect
push	72h
push	ebx
lea	eax, [ebp-84h]
push	eax
lea	ecx, [ebx+40h]
push	40001104h
mov	[ebx+9Ch], ebx
call	?Create@CEdit@@QAEHKABUtagRECT@@PAVCWnd@@I@Z ; CEdit::Create(ulong,tagRECT const &,CWnd	*,uint)
test	eax, eax
jnz	short loc_102879A
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
mov	eax, [ebx]
mov	ecx, ebx
call	dword ptr [eax+60h]
jmp	loc_10289B4

loc_102879A:
lea	eax, [ebp-84h]
push	eax		; lpPoint
mov	ecx, ebx
call	sub_1018E03
push	2C0h		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	[ebp-70h], eax
cmp	eax, esi
mov	[ebp-4], esi
jz	short loc_10287C7
push	ebx
mov	ecx, eax
call	sub_102A06F
jmp	short loc_10287C9

loc_10287C7:
xor	eax, eax

loc_10287C9:
or	dword ptr [ebp-4], 0FFFFFFFFh
cmp	eax, esi
mov	[ebx+0D4h], eax
jz	loc_102899A
sub	esp, 10h
mov	edi, esp
lea	esi, [ebp-84h]
movsd
movsd
movsd
mov	ecx, eax
movsd
call	sub_102AEDD
test	eax, eax
jz	loc_102899A
lea	eax, [ebp-74h]
push	eax
mov	ecx, ebx
call	sub_1026904
push	dword ptr [ebp-70h]
lea	ecx, [ebp-0A4h]
push	dword ptr [ebp-74h]
push	dword ptr [ebp-90h]
push	dword ptr [ebp-94h]
call	sub_1010496
mov	esi, eax
lea	edi, [ebx+110h]
movsd
movsd
push	12h
push	dword ptr [ebp-70h]
movsd
push	dword ptr [ebp-74h]
movsd
xor	esi, esi
push	esi
push	esi
push	ds:?wndTop@CWnd@@2V1@B ; CWnd const CWnd::wndTop
mov	ecx, ebx
call	?SetWindowPos@CWnd@@QAEHPBV1@HHHHI@Z ; CWnd::SetWindowPos(CWnd const *,int,int,int,int,uint)
push	4
mov	ecx, ebx
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)
lea	eax, [ebp-84h]
push	eax		; lpRect
push	dword ptr [ebx+20h] ; hWnd
call	ds:GetClientRect
mov	eax, [ebp-78h]
sub	eax, [ebp-80h]
push	esi
push	eax
mov	eax, [ebp-7Ch]
sub	eax, [ebp-84h]
lea	edi, [ebx+40h]
push	eax
push	esi
push	esi
push	ds:?wndTopMost@CWnd@@2V1@B ; CWnd const	CWnd::wndTopMost
mov	ecx, edi
call	?SetWindowPos@CWnd@@QAEHPBV1@HHHHI@Z ; CWnd::SetWindowPos(CWnd const *,int,int,int,int,uint)
push	4
mov	ecx, edi
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)
mov	ecx, [ebx+0D4h]
mov	[ebx+0E4h], esi
call	sub_1025C29
cmp	eax, esi
jz	short loc_10288AE
mov	eax, [eax+20h]
cmp	eax, esi
jz	short loc_10288AE
mov	[ebx+150h], eax

loc_10288AE:
mov	ecx, [ebx+0D4h]
call	sub_1025C0B
cmp	eax, esi
jz	short loc_10288DC
cmp	[eax+20h], esi
jz	short loc_10288DC
push	5		; uCmd
mov	ecx, eax
call	sub_10259AB
cmp	eax, esi
jz	short loc_10288DC
mov	eax, [eax+20h]
cmp	eax, esi
jz	short loc_10288DC
mov	[ebx+154h], eax

loc_10288DC:
cmp	edi, esi
jz	short loc_10288FC
cmp	[edi+20h], esi
jz	short loc_10288FC
push	dword ptr [ebx+0ACh] ; dwNewLong
push	0FFFFFFF4h	; nIndex
push	dword ptr [ebx+60h] ; hWnd
call	ds:SetClassLongW
mov	[ebx+0B4h], eax

loc_10288FC:
mov	ecx, edi
call	sub_100980C
lea	ecx, [ebp-6Ch]
push	ecx		; pv
push	5Ch		; c
push	dword ptr [eax+4] ; h
call	ds:GetObjectW
mov	al, [ebp-55h]
cmp	al, 86h
jz	short loc_1028970
cmp	al, 80h
jz	short loc_1028970
cmp	al, 81h
jz	short loc_1028970
cmp	al, 88h
jz	short loc_1028970
mov	ecx, ebx
mov	dword ptr [ebx+140h], 1
call	sub_1025896
test	eax, eax
jnz	short loc_102894A
push	dword ptr [ebx+60h] ; hWnd
mov	ecx, ebx
call	sub_102583E
mov	[ebx+144h], eax

loc_102894A:		; hWnd
push	dword ptr [ebx+150h]
mov	ecx, ebx
call	sub_102583E
push	dword ptr [ebx+154h] ; hWnd
mov	ecx, ebx
mov	[ebx+148h], eax
call	sub_102583E
mov	[ebx+14Ch], eax

loc_1028970:
cmp	[ebx+13Ch], esi
jz	short loc_102898E
xor	ecx, ecx
xor	eax, eax
push	ecx		; Y
push	eax		; X
call	sub_10259F3
push	0FFFFFFFFh
push	esi
push	esi
mov	ecx, edi
call	sub_1025E57

loc_102898E:
mov	ecx, edi
call	?SetFocus@CWnd@@QAEPAV1@XZ ; CWnd::SetFocus(void)
xor	eax, eax
inc	eax
jmp	short loc_10289B6

loc_102899A:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
mov	eax, [ebx]
mov	ecx, ebx
call	dword ptr [eax+60h]
and	dword ptr [ebx+0D4h], 0

loc_10289B4:
xor	eax, eax

loc_10289B6:
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
mov	ecx, [ebp-10h]
call	sub_1032F53
pop	edi
pop	esi
pop	ebx
leave
retn	14h
sub_10286A5 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10289D4 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	[ecx+0FCh], eax
lea	eax, [ecx+0DCh]
cmp	dword ptr [eax], 0
jnz	short loc_10289FA
push	0
mov	dword ptr [eax], 1
call	sub_102671D

loc_10289FA:
pop	ebp
retn	4
sub_10289D4 endp

db 5 dup(0CCh)
mov	eax, offset loc_1036C46
call	sub_1034E18
sub	esp, 18h
and	dword ptr [ebp-10h], 0
push	esi
mov	esi, ecx
mov	dword ptr [ebp-14h], offset off_1003910
and	dword ptr [ebp-4], 0
push	71h
lea	ecx, [ebp-14h]
call	sub_1018DB5
test	eax, eax
jz	loc_1028AB4
push	edi
lea	eax, [ebp-24h]
push	eax
push	dword ptr [esi+20h]
call	ds:GetClientRect
push	0
lea	ecx, [ebp-14h]
call	sub_1018D95
mov	edi, eax
test	edi, edi
jz	short loc_1028AB3
push	edi
mov	ecx, esi
call	sub_10277AD
push	edi
mov	ecx, esi
call	sub_10277FD
push	edi
mov	ecx, esi
call	sub_1027835
push	edi
mov	ecx, esi
call	sub_102786D
push	edi
mov	ecx, esi
call	sub_10278A5
lea	eax, [ebp+0Ch]
push	eax
push	dword ptr [esi+20h]
call	ds:ClientToScreen
lea	eax, [ebp-24h]
push	eax
mov	ecx, esi
call	sub_1018E03
mov	ecx, esi
call	?GetParentFrame@CWnd@@QBEPAVCFrameWnd@@XZ ; CWnd::GetParentFrame(void)
test	eax, eax
jnz	short loc_1028A9F
mov	eax, esi

loc_1028A9F:
lea	ecx, [ebp-24h]
push	ecx
push	eax
push	dword ptr [ebp+10h]
mov	ecx, edi
push	dword ptr [ebp+0Ch]
push	2
call	?TrackPopupMenu@CMenu@@QAEHIHHPAVCWnd@@PBUtagRECT@@@Z ;	CMenu::TrackPopupMenu(uint,int,int,CWnd	*,tagRECT const	*)

loc_1028AB3:
pop	edi

loc_1028AB4:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-14h]
call	sub_1018D5D
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	0Ch
db 5 dup(0CCh)

loc_1028AD4:
mov	eax, offset off_1005C68
retn
db 5 dup(0CCh)
mov	eax, ds:?classCToolBar@CToolBar@@2UCRuntimeClass@@B ; CRuntimeClass const CToolBar::classCToolBar
retn
db 5 dup(0CCh)

loc_1028AEA:
mov	eax, offset off_1005C80
retn
db 5 dup(0CCh)
mov	eax, ds:?classCDialogBar@CDialogBar@@2UCRuntimeClass@@B	; CRuntimeClass	const CDialogBar::classCDialogBar
retn
align 10h

loc_1028B00:
mov	eax, offset off_1005C98
retn
db 5 dup(0CCh)



sub_1028B0B proc near
mov	eax, offset loc_1036C5D
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
call	??0CString@@QAE@XZ ; CString::CString(void)
push	dword ptr [ebp+8]
and	dword ptr [ebp-4], 0
mov	ecx, esi
call	??4CString@@QAEABV0@PBG@Z ; CString::operator=(ushort const *)
mov	al, [ebp+0Ch]
and	dword ptr [esi+8], 0
mov	ecx, [ebp-0Ch]
mov	[esi+4], al
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn	8
sub_1028B0B endp

db 5 dup(0CCh)
; [00000005 BYTES: COLLAPSED FUNCTION CString::~CString(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1028B59(void *, char)
sub_1028B59 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	j_??1CString@@QAE@XZ ; CString::~CString(void)
test	[ebp+arg_0], 1
jz	short loc_1028B73
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1028B73:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1028B59 endp

db 5 dup(0CCh)



sub_1028B7F proc near
mov	eax, offset nullsub_5
retn
sub_1028B7F endp

db 5 dup(0CCh)



sub_1028B8A proc near
mov	eax, offset off_1005F38
retn
sub_1028B8A endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+8]
push	esi
call	?PreCreateWindow@CFrameWnd@@MAEHAAUtagCREATESTRUCTW@@@Z	; CFrameWnd::PreCreateWindow(tagCREATESTRUCTW &)
test	eax, eax
jz	short loc_1028BAC
and	byte ptr [esi+2Dh], 0FDh

loc_1028BAC:
pop	esi
pop	ebp
retn	4
db 5 dup(0CCh)



sub_1028BB6 proc near
mov	edi, edi
push	ebx
push	esi
mov	esi, ecx
mov	ecx, [esi+2BCh]
xor	ebx, ebx
cmp	[esi+0F4h], ebx
push	edi
mov	edi, 10002h
push	ebx
jz	short loc_1028BD6
push	edi
jmp	short loc_1028BD8

loc_1028BD6:
push	2

loc_1028BD8:
push	6Ah
push	ebx
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)
cmp	[esi+0F8h], ebx
mov	ecx, [esi+2BCh]
push	1
jz	short loc_1028BF3
push	edi
jmp	short loc_1028BF5

loc_1028BF3:
push	2

loc_1028BF5:
push	6Dh
push	1
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)
cmp	[esi+0FCh], ebx
mov	ecx, [esi+2BCh]
push	2
jz	short loc_1028C11
push	edi
jmp	short loc_1028C13

loc_1028C11:
push	2

loc_1028C13:
push	70h
push	2
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)
cmp	[esi+100h], ebx
mov	ecx, [esi+2BCh]
push	3
jz	short loc_1028C2F
push	edi
jmp	short loc_1028C31

loc_1028C2F:
push	2

loc_1028C31:
push	88h
push	3
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)
cmp	dword_103EF50, ebx
jz	short loc_1028C67
cmp	[esi+108h], ebx
mov	ecx, [esi+2BCh]
push	4
jz	short loc_1028C5C
push	edi
push	78h
push	0Bh
jmp	short loc_1028C62

loc_1028C5C:
push	2
push	78h
push	5

loc_1028C62:		; CToolBar::SetButtonInfo(int,uint,uint,int)
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z

loc_1028C67:
pop	edi
pop	esi
pop	ebx
retn
sub_1028BB6 endp

align 10h



sub_1028C70 proc near
mov	edi, edi
push	esi
mov	esi, ecx
mov	eax, [esi+0E0h]
mov	dword_103F00C, eax
lea	eax, [esi+0D8h]
push	eax
mov	ecx, offset dword_103F02C
call	??4CString@@QAEABV0@ABV0@@Z ; CString::operator=(CString const &)
movzx	eax, byte ptr [esi+0F0h]
mov	dword_103F030, eax
mov	eax, [esi+10Ch]
mov	dword_103F010, eax
mov	eax, [esi+110h]
mov	dword_103F014, eax
mov	eax, [esi+0F4h]
mov	dword_103F018, eax
mov	eax, [esi+0F8h]
mov	dword_103F020, eax
mov	eax, [esi+0FCh]
mov	dword_103F01C, eax
mov	eax, [esi+100h]
mov	dword_103F024, eax
mov	eax, [esi+108h]
mov	dword_103F028, eax
pop	esi
retn
sub_1028C70 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1028CF1 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, dword_103F15C
mov	eax, [ebp+arg_4]
and	ecx, 3
cmp	eax, dword_103F160[ecx*4]
jz	short loc_1028D26
cmp	eax, 0FFFFFFFFh
jz	short loc_1028D26
inc	dword_103F15C
mov	ecx, dword_103F15C
and	ecx, 3
mov	dword_103F160[ecx*4], eax

loc_1028D26:
mov	edx, dword_103F15C
push	esi
mov	esi, [ebp+arg_0]
push	edi
xor	edi, edi

loc_1028D33:
mov	eax, edx
and	eax, 3
mov	eax, dword_103F160[eax*4]
cmp	eax, 0FFFFFFFFh
jz	short loc_1028D56
test	esi, esi
mov	ecx, esi
jz	short loc_1028D56

loc_1028D4A:
cmp	[ecx+4], al
jz	short loc_1028D60
mov	ecx, [ecx+8]
test	ecx, ecx
jnz	short loc_1028D4A

loc_1028D56:
inc	edi
dec	edx
cmp	edi, 4
jb	short loc_1028D33
mov	al, [esi+4]

loc_1028D60:
pop	edi
pop	esi
pop	ebp
retn	8
sub_1028CF1 endp

db 5 dup(0CCh)
; [00000003 BYTES: COLLAPSED FUNCTION nullsub_4. PRESS KEYPAD CTRL-"+" TO EXPAND]
db 5 dup(0CCh)
and	dword_103EF34, 0
push	0
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)
retn
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	dword ptr [ebp+8]
mov	esi, ecx
call	?OnSetFocus@CFrameWnd@@IAEXPAVCWnd@@@Z ; CFrameWnd::OnSetFocus(CWnd *)
push	68h
lea	ecx, [esi+128h]
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
test	eax, eax
pop	esi
jz	short loc_1028DB0
mov	ecx, eax
call	?SetFocus@CWnd@@QAEPAV1@XZ ; CWnd::SetFocus(void)

loc_1028DB0:
pop	ebp
retn	4
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
mov	eax, ecx
mov	ecx, [ebp+8]
mov	edx, [ecx]
xor	ebx, ebx
cmp	dword ptr [eax+100h], 2
setnz	bl
push	ebx
call	dword ptr [edx]
pop	ebx
pop	ebp
retn	4
db 5 dup(0CCh)
mov	dword ptr [ecx+0C8h], 79h
mov	ecx, [ecx+124h]
test	ecx, ecx
jz	short loc_1028DF8
add	ecx, 40h
jmp	short loc_1028DFA

loc_1028DF8:
xor	ecx, ecx

loc_1028DFA:
test	ecx, ecx
jz	short locret_1028E03
jmp	?SetFocus@CWnd@@QAEPAV1@XZ ; CWnd::SetFocus(void)

locret_1028E03:
retn
db 5 dup(0CCh)
mov	dword ptr [ecx+0C8h], 7Ah
retn
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	dword ptr [ebp+10h]
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
call	sub_101CAB3
pop	ebp
retn	0Ch
db 5 dup(0CCh)

loc_1028E35:		; AFX_MSGMAP const CToolBar::messageMap
mov	eax, ds:?messageMap@CToolBar@@1UAFX_MSGMAP@@B
retn
align 10h



sub_1028E40 proc near
mov	eax, offset off_1005F58
retn
sub_1028E40 endp

db 5 dup(0CCh)



sub_1028E4B proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	??0CToolBar@@QAE@XZ ; CToolBar::CToolBar(void)
mov	dword ptr [esi], offset	off_1005FEC
mov	eax, esi
pop	esi
retn
sub_1028E4B endp

db 5 dup(0CCh)



sub_1028E64 proc near
mov	dword ptr [ecx], offset	off_1005FEC
jmp	??1CToolBar@@UAE@XZ ; CToolBar::~CToolBar(void)
sub_1028E64 endp

db 5 dup(0CCh)

loc_1028E74:		; AFX_MSGMAP const CDialogBar::messageMap
mov	eax, ds:?messageMap@CDialogBar@@1UAFX_MSGMAP@@B
retn
db 5 dup(0CCh)



sub_1028E7F proc near
mov	eax, offset off_1005FC0
retn
sub_1028E7F endp

db 5 dup(0CCh)



sub_1028E8A proc near
mov	eax, offset loc_1036C74
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_10060DC
and	dword ptr [ebp-4], 0
push	offset sub_1022D52
push	5
push	34h
lea	eax, [esi+8Ch]
push	eax
call	sub_1034F5F
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	??1CDialogBar@@UAE@XZ ;	CDialogBar::~CDialogBar(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_1028E8A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1028ED7(HDC	hdc, int)
sub_1028ED7 proc near

hdc= dword ptr	8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	[ebp+arg_4], 0
push	esi
mov	esi, ds:GetSysColor
push	edi
jz	short loc_1028EF2
push	0Eh		; nIndex
call	esi ; GetSysColor
push	0Dh
jmp	short loc_1028EF8

loc_1028EF2:		; nIndex
push	8
call	esi ; GetSysColor
push	5		; nIndex

loc_1028EF8:
mov	edi, eax
call	esi ; GetSysColor
push	edi		; color
push	[ebp+hdc]	; hdc
mov	esi, eax
call	ds:SetTextColor
push	2		; mode
push	[ebp+hdc]	; hdc
call	ds:SetBkMode
push	esi		; color
push	[ebp+hdc]	; hdc
call	ds:SetBkColor
pop	edi
pop	esi
pop	ebp
retn	8
sub_1028ED7 endp

align 8


; Attributes: bp-based frame

; int __thiscall sub_1028F28(void *, char)
sub_1028F28 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	??1CComboBox@@UAE@XZ ; CComboBox::~CComboBox(void)
test	[ebp+arg_0], 1
jz	short loc_1028F42
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1028F42:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1028F28 endp

db 5 dup(0CCh)



sub_1028F4E proc near
push	0		; lParam
push	0		; wParam
push	146h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
retn
sub_1028F4E endp

db 5 dup(0CCh)



sub_1028F66 proc near
push	0		; lParam
push	0		; wParam
push	147h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
retn
sub_1028F66 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1028F7E(WPARAM wParam)
sub_1028F7E proc near

wParam=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	0		; lParam
push	[ebp+wParam]	; wParam
push	14Eh		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	4
sub_1028F7E endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1028F9F(WPARAM wParam)
sub_1028F9F proc near

wParam=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	0		; lParam
push	[ebp+wParam]	; wParam
push	150h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	4
sub_1028F9F endp

align 10h


; Attributes: bp-based frame

; int __stdcall	sub_1028FC0(WPARAM wParam, LPARAM lParam)
sub_1028FC0 proc near

wParam=	dword ptr  8
lParam=	dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+lParam]	; lParam
push	[ebp+wParam]	; wParam
push	151h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	8
sub_1028FC0 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1028FE2(LPARAM lParam)
sub_1028FE2 proc near

lParam=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+lParam]	; lParam
push	0		; wParam
push	143h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	4
sub_1028FE2 endp

db 5 dup(0CCh)



sub_1029003 proc near
push	0		; lParam
push	0		; wParam
push	14Bh		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
retn
sub_1029003 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102901B(WPARAM wParam, LPARAM lParam)
sub_102901B proc near

wParam=	dword ptr  8
lParam=	dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+lParam]	; lParam
push	[ebp+wParam]	; wParam
push	14Dh		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	8
sub_102901B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102903D(WPARAM wParam, LPARAM lParam)
sub_102903D proc near

wParam=	dword ptr  8
lParam=	dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+lParam]	; lParam
push	[ebp+wParam]	; wParam
push	158h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	8
sub_102903D endp

db 5 dup(0CCh)
mov	eax, offset loc_1036D8F
call	sub_1034E18
push	ecx
push	0A0h
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-10h], ecx
xor	eax, eax
cmp	ecx, eax
mov	[ebp-4], eax
jz	short loc_1029088
call	sub_1028E4B

loc_1029088:
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)



sub_1029099 proc near
mov	eax, offset loc_1036C96
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
call	??0CString@@QAE@XZ ; CString::CString(void)
push	dword ptr [ebp+10h]
and	dword ptr [ebp-4], 0
push	dword ptr [ebp+0Ch]
lea	ecx, [esi+4]
call	sub_1028B0B
push	dword ptr [ebp+8]
mov	ecx, esi
mov	byte ptr [ebp-4], 1
call	??4CString@@QAEABV0@PBG@Z ; CString::operator=(ushort const *)
mov	eax, [ebp+14h]
mov	ecx, [ebp-0Ch]
mov	[esi+10h], eax
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn	10h
sub_1029099 endp

db 5 dup(0CCh)



sub_10290EB proc near
mov	eax, offset loc_1036C96
call	sub_1034E18
push	ecx
push	esi
push	edi
mov	edi, ecx
mov	[ebp-10h], edi
mov	esi, [edi+0Ch]
mov	dword ptr [ebp-4], 1
jmp	short loc_1029115

loc_1029109:		; void *
mov	ecx, esi
mov	esi, [esi+8]
push	1		; char
call	sub_1028B59

loc_1029115:
test	esi, esi
jnz	short loc_1029109
lea	ecx, [edi+4]
mov	byte ptr [ebp-4], 0
call	??1CString@@QAE@XZ ; CString::~CString(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, edi
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_10290EB endp

db 5 dup(0CCh)



sub_1029143 proc near
mov	eax, offset loc_1036CF3
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_10062A4
mov	dword ptr [ebp-4], 5
call	sub_1028C70
lea	edi, [esi+0D0h]
mov	ecx, edi
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
lea	eax, [esi+124h]
mov	ecx, [eax]
test	ecx, ecx
jz	short loc_102918A
and	dword ptr [ecx+0D4h], 0
and	dword ptr [eax], 0

loc_102918A:
mov	ecx, [esi+2BCh]
test	ecx, ecx
jz	short loc_102919B
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_102919B:
lea	ecx, [esi+128h]
mov	byte ptr [ebp-4], 4
call	sub_1028E8A
lea	ecx, [esi+0E8h]
mov	byte ptr [ebp-4], 3
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [esi+0DCh]
mov	byte ptr [ebp-4], 2
call	??1CString@@QAE@XZ ; CString::~CString(void)
lea	ecx, [esi+0D8h]
mov	byte ptr [ebp-4], 1
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, edi
mov	byte ptr [ebp-4], 0
mov	dword ptr [edi], offset	off_100471C
call	sub_10096BE
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	??1CFrameWnd@@UAE@XZ ; CFrameWnd::~CFrameWnd(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_1029143 endp

db 5 dup(0CCh)



sub_1029206 proc near
xor	ax, ax
retn
sub_1029206 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102920F proc near

var_34=	byte ptr -34h
var_30=	dword ptr -30h
var_28=	dword ptr -28h
rc= tagRECT ptr	-24h
Rect= tagRECT ptr -14h
var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 34h
mov	eax, dy
push	ebx
mov	ebx, ds:GetWindowRect
push	esi
mov	esi, ecx
mov	ecx, dword_103F084
lea	eax, [ecx+eax*2]
push	edi
mov	edi, dword_103F07C
mov	[ebp+var_4], eax
lea	eax, [ebp+Rect]
push	eax		; lpRect
push	dword ptr [esi+148h] ; hWnd
add	edi, edi
call	ebx ; GetWindowRect
lea	eax, [ebp+rc]
push	eax		; lprc
call	ds:SetRectEmpty
lea	eax, [ebp+rc]
push	eax		; lpRect
mov	eax, [esi+2BCh]
push	dword ptr [eax+20h] ; hWnd
call	ebx ; GetWindowRect
mov	eax, [ebp+Rect.bottom]
sub	eax, [ebp+Rect.top]
push	4
cdq
pop	ecx
idiv	ecx
mov	edx, [esi+20h]
mov	ebx, eax
lea	eax, [ebx+ebx*2]
sub	eax, [ebp+rc.left]
sub	eax, [ebp+Rect.left]
add	eax, [ebp+rc.right]
add	eax, [ebp+Rect.right]
add	eax, edi
lea	edi, [ebx+ebx]
mov	ecx, edi
sub	ecx, [ebp+Rect.top]
add	ecx, [ebp+Rect.bottom]
add	ecx, [ebp+var_4]
test	edx, edx
jz	short loc_10292A9
push	2
push	ecx
push	eax
push	0
push	0
push	ds:?wndTop@CWnd@@2V1@B ; CWnd const CWnd::wndTop
mov	ecx, esi
call	?SetWindowPos@CWnd@@QAEHPBV1@HHHHI@Z ; CWnd::SetWindowPos(CWnd const *,int,int,int,int,uint)

loc_10292A9:
lea	eax, [ebp+var_34]
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:GetClientRect
mov	eax, [ebp+var_28]
sub	eax, [ebp+var_30]
sub	edi, [ebp+Rect.left]
sub	eax, [ebp+Rect.bottom]
add	edi, [ebp+Rect.right]
add	eax, [ebp+Rect.top]
mov	[ebp+var_4], edi
cdq
sub	eax, edx
mov	ecx, eax
mov	eax, [ebp+rc.top]
sub	eax, [ebp+rc.bottom]
sar	ecx, 1
sub	eax, [ebp+var_30]
add	eax, [ebp+var_28]
cdq
sub	eax, edx
mov	edi, eax
lea	eax, [esi+128h]
xor	edx, edx
sar	edi, 1
cmp	eax, edx
jz	short loc_1029318
cmp	[eax+20h], edx
jz	short loc_1029318
push	1
push	edx
push	edx
push	ecx
push	ebx
push	ds:?wndTop@CWnd@@2V1@B ; CWnd const CWnd::wndTop
mov	ecx, eax
call	?SetWindowPos@CWnd@@QAEHPBV1@HHHHI@Z ; CWnd::SetWindowPos(CWnd const *,int,int,int,int,uint)
push	4
lea	ecx, [esi+128h]
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)
xor	edx, edx

loc_1029318:
mov	ecx, [esi+2BCh]
cmp	ecx, edx
jz	short loc_1029347
cmp	[ecx+20h], edx
jz	short loc_1029347
push	1
push	edx
push	edx
push	edi
push	[ebp+var_4]
push	ds:?wndTop@CWnd@@2V1@B ; CWnd const CWnd::wndTop
call	?SetWindowPos@CWnd@@QAEHPBV1@HHHHI@Z ; CWnd::SetWindowPos(CWnd const *,int,int,int,int,uint)
mov	ecx, [esi+2BCh]
push	4
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)

loc_1029347:
pop	edi
pop	esi
pop	ebx
leave
retn
sub_102920F endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1029351(void *, char)
sub_1029351 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_10290EB
test	[ebp+arg_0], 1
jz	short loc_102936B
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_102936B:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1029351 endp

db 5 dup(0CCh)



sub_1029377 proc near
mov	edi, edi
push	ebx
push	esi
push	edi
mov	edi, ecx
call	sub_1028F4E
mov	ebx, eax
xor	esi, esi
test	ebx, ebx
jle	short loc_10293A5

loc_102938B:		; wParam
push	esi
mov	ecx, edi
call	sub_1028F9F
test	eax, eax
jz	short loc_10293A0
push	1		; char
mov	ecx, eax	; void *
call	sub_1029351

loc_10293A0:
inc	esi
cmp	esi, ebx
jl	short loc_102938B

loc_10293A5:
mov	ecx, edi
pop	edi
pop	esi
pop	ebx
jmp	sub_1029003
sub_1029377 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10293B4(int, WPARAM	wParam)
sub_10293B4 proc near

arg_0= dword ptr  8
wParam=	dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+wParam]	; wParam
call	sub_1028F9F
cmp	eax, 0FFFFFFFFh
jnz	short loc_10293CA
xor	eax, eax
jmp	short loc_10293DE

loc_10293CA:
mov	eax, [eax]
mov	ecx, [ebp+arg_0]
mov	ecx, [ecx]
push	eax		; lpString2
push	ecx		; lpString1
call	ds:lstrcmpW
neg	eax
sbb	eax, eax
inc	eax

loc_10293DE:
pop	ebp
retn	8
sub_10293B4 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10293E7(LPARAM lParam, char)
sub_10293E7 proc near

lParam=	dword ptr  8
arg_4= byte ptr	 0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
push	[ebp+lParam]	; lParam
mov	edi, ecx
call	sub_1028FE2
mov	esi, eax
cmp	esi, 0FFFFFFFFh
jz	short loc_1029411
cmp	esi, 0FFFFFFFEh
jz	short loc_1029411
movzx	eax, [ebp+arg_4]
push	eax		; lParam
push	esi		; wParam
mov	ecx, edi
call	sub_1028FC0

loc_1029411:
pop	edi
mov	eax, esi
pop	esi
pop	ebp
retn	8
sub_10293E7 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102941E proc near

arg_0= dword ptr  8
arg_4= byte ptr	 0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_0]
push	edi
mov	edi, ecx
jmp	short loc_1029439

loc_102942C:		; wParam
push	esi
mov	ecx, edi
call	sub_1028F9F
cmp	al, [ebp+arg_4]
jz	short loc_102944E

loc_1029439:
mov	ecx, edi
inc	esi
call	sub_1028F4E
cmp	esi, eax
jl	short loc_102942C
or	eax, 0FFFFFFFFh

loc_1029448:
pop	edi
pop	esi
pop	ebp
retn	8

loc_102944E:		; wParam
push	esi
mov	ecx, edi
call	sub_1028F7E
jmp	short loc_1029448
sub_102941E endp

db 5 dup(0CCh)



sub_102945D proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1028F66
cmp	eax, 0FFFFFFFFh
jz	short loc_1029474
push	eax		; wParam
mov	ecx, esi
call	sub_1028F9F

loc_1029474:
pop	esi
retn
sub_102945D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102947B proc near

var_30=	byte ptr -30h
hdc= dword ptr -28h
var_1C=	dword ptr -1Ch
lParam=	word ptr -18h
var_4= dword ptr -4
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 30h
mov	eax, ___security_cookie
push	esi
mov	esi, [ebp+arg_4]
push	edi
mov	[ebp+var_4], eax
mov	edi, ecx
mov	eax, [edi+124h]
add	eax, 40h
jz	short loc_10294CB
push	eax
lea	ecx, [ebp+var_30]
call	??0CClientDC@@QAE@PAVCWnd@@@Z ;	CClientDC::CClientDC(CWnd *)
push	5Ah		; index
push	[ebp+hdc]	; hdc
call	ds:GetDeviceCaps
push	eax		; nDenominator
mov	eax, [esi]
sub	eax, [esi+0Ch]
push	48h		; nNumerator
push	eax		; nNumber
call	ds:MulDiv
lea	ecx, [ebp+var_30]
mov	[ebp+var_1C], eax
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_10294CB:
push	[ebp+var_1C]
lea	eax, [ebp+lParam]
push	offset a2d	; "%2d"
push	eax		; LPWSTR
call	ds:wsprintfW
add	esp, 0Ch
push	67h
lea	ecx, [edi+128h]
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	esi, eax
test	esi, esi
jz	short loc_1029510
lea	eax, [ebp+lParam]
push	eax		; lParam
push	0FFFFFFFFh	; wParam
mov	ecx, esi
call	sub_102903D
cmp	eax, 0FFFFFFFFh
jnz	short loc_1029510
lea	eax, [ebp+lParam]
push	eax		; lParam
mov	ecx, esi
call	sub_1028FE2

loc_1029510:
mov	ecx, [ebp+var_4]
xor	eax, eax
pop	edi
inc	eax
pop	esi
call	sub_1032F53
leave
retn	0Ch
sub_102947B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	Proc(const LOGFONTW *, const TEXTMETRICW *, DWORD, LPARAM)
Proc proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ebp+arg_C]
test	ecx, ecx
jz	short loc_1029542
push	[ebp+arg_8]
push	[ebp+arg_4]
push	[ebp+arg_0]
call	sub_102947B
jmp	short loc_1029544

loc_1029542:
xor	eax, eax

loc_1029544:
pop	ebp
retn	10h
Proc endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102954D proc near

var_78=	byte ptr -78h
hdc= dword ptr -70h
ho= dword ptr -64h
lf= LOGFONTW ptr -60h
var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 78h
mov	eax, ___security_cookie
push	ebx
push	esi
push	edi
mov	[ebp+var_4], eax
mov	esi, ecx
xor	ebx, ebx
xor	edi, edi
call	?BeginWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::BeginWaitCursor(void)
mov	eax, [esi+124h]
add	eax, 40h
jz	short loc_10295A5
push	eax
lea	ecx, [ebp+var_78]
call	??0CClientDC@@QAE@PAVCWnd@@@Z ;	CClientDC::CClientDC(CWnd *)
push	48h		; nDenominator
push	5Ah		; index
push	[ebp+hdc]	; hdc
call	ds:GetDeviceCaps
push	eax		; nNumerator
push	dword ptr [esi+0E0h] ; nNumber
call	ds:MulDiv
mov	edi, eax
lea	ecx, [ebp+var_78]
neg	edi
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_10295A5:
mov	ecx, [esi+100h]
mov	eax, ecx
dec	eax
neg	eax
sbb	eax, eax
and	eax, 0FFFFF574h
add	eax, 0A8Ch
cmp	ecx, 1
mov	[ebp+lf.lfEscapement], eax
mov	[ebp+lf.lfOrientation],	eax
mov	eax, [esi+0CCh]
mov	[ebp+lf.lfWeight], eax
mov	al, [esi+0F8h]
mov	[ebp+lf.lfItalic], al
mov	al, [esi+0FCh]
mov	[ebp+lf.lfUnderline], al
mov	al, [esi+0F0h]
mov	[ebp+lf.lfWidth], ebx
mov	[ebp+lf.lfHeight], edi
mov	[ebp+lf.lfStrikeOut], bl
mov	[ebp+lf.lfCharSet], al
mov	[ebp+lf.lfOutPrecision], bl
mov	[ebp+lf.lfClipPrecision], bl
mov	[ebp+lf.lfQuality], bl
mov	[ebp+lf.lfPitchAndFamily], bl
jnz	short loc_1029626
cmp	al, 86h
jz	short loc_1029610
cmp	al, 80h
jz	short loc_1029610
cmp	al, 81h
jz	short loc_1029610
cmp	al, 88h
jnz	short loc_1029626

loc_1029610:		; "@"
push	offset a@
lea	eax, [ebp+lf.lfFaceName]
push	eax		; lpString1
call	ds:lstrcpyW
push	1Fh
lea	eax, [ebp+lf.lfFaceName+2]
jmp	short loc_102962B

loc_1029626:		; iMaxLength
push	20h
lea	eax, [ebp+lf.lfFaceName]

loc_102962B:		; lpString2
push	dword ptr [esi+0E8h]
push	eax		; lpString1
call	ds:lstrcpynW
lea	edi, [esi+0D0h]
mov	ecx, edi
call	?Detach@CGdiObject@@QAEPAXXZ ; CGdiObject::Detach(void)
mov	[ebp+ho], eax
lea	eax, [ebp+lf]
push	eax		; lplf
mov	ecx, edi
call	sub_101EBAA
test	eax, eax
jz	short loc_10296A2
mov	edi, [esi+124h]
cmp	edi, ebx
jz	short loc_1029694
add	edi, 40h
mov	ecx, edi
call	sub_100980C
push	1		; lParam
lea	eax, [esi+0D0h]
push	eax		; wParam
mov	ecx, edi
call	sub_101E659
mov	ecx, [esi+124h]
call	sub_1026D80
mov	ecx, [esi+124h]
push	1		; int
push	ebx		; lprcUpdate
call	sub_10266AF

loc_1029694:
cmp	[ebp+ho], ebx
jz	short loc_10296A2
push	[ebp+ho]	; ho
call	ds:DeleteObject

loc_10296A2:
mov	ecx, esi
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
mov	ecx, [ebp+var_4]
pop	edi
pop	esi
pop	ebx
call	sub_1032F53
leave
retn
sub_102954D endp

db 5 dup(0CCh)



sub_10296BB proc near
mov	eax, offset loc_1036D12
call	sub_1034E18
sub	esp, 18h
push	ebx
push	esi
mov	esi, ecx
push	edi
lea	ecx, [ebp-14h]
mov	[ebp-10h], esp
mov	[ebp-18h], esi
call	??0CString@@QAE@XZ ; CString::CString(void)
and	dword ptr [ebp-4], 0
lea	edi, [esi+128h]
push	67h
mov	ecx, edi
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	ebx, eax
test	ebx, ebx
jz	loc_10297AA
lea	ecx, [ebp-24h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
mov	ecx, ebx
mov	byte ptr [ebp-4], 2
call	sub_1028F66
cmp	eax, 0FFFFFFFFh
jz	short loc_102972A
lea	ecx, [ebp-14h]
push	ecx
push	eax
mov	ecx, ebx
call	?GetLBText@CComboBox@@QBEXHAAVCString@@@Z ; CComboBox::GetLBText(int,CString &)
push	dword ptr [ebp-14h] ; Str
call	ds:_wtoi
pop	ecx

loc_1029726:
mov	edi, eax
jmp	short loc_1029753

loc_102972A:
push	1
push	0
push	67h
mov	ecx, edi
call	?GetDlgItemInt@CWnd@@QBEIHPAHH@Z ; CWnd::GetDlgItemInt(int,int *,int)
jmp	short loc_1029726
mov	eax, [ebp-1Ch]
lea	ecx, [ebp-14h]
mov	[ebp-20h], eax
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
mov	eax, offset loc_102974D
retn

loc_102974D:
mov	esi, [ebp-18h]
mov	edi, [ebp-1Ch]

loc_1029753:
and	dword ptr [ebp-4], 0
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
test	edi, edi
jz	short loc_1029776
lea	eax, [esi+0E0h]
mov	ecx, [eax]
cmp	edi, ecx
jz	short loc_1029799
mov	[esi+0E4h], ecx
mov	[eax], edi
jmp	short loc_1029799

loc_1029776:		; unsigned int
push	0FFFFFFFFh
push	0		; unsigned int
push	9335h		; unsigned int
call	?AfxMessageBox@@YGHIII@Z ; AfxMessageBox(uint,uint,uint)
push	1
push	dword ptr [esi+0E0h]
lea	ecx, [esi+128h]
push	67h
call	?SetDlgItemInt@CWnd@@QAEXHIH@Z ; CWnd::SetDlgItemInt(int,uint,int)

loc_1029799:
mov	ecx, esi
call	sub_102954D
mov	dword ptr [esi+0C8h], 67h

loc_10297AA:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-14h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn
sub_10296BB endp

db 5 dup(0CCh)
align 4
push	esi
lea	esi, [ecx+120h]
cmp	dword ptr [esi], 0
jnz	short loc_10297E6
mov	dword ptr [esi], 1
call	sub_10296BB
and	dword ptr [esi], 0

loc_10297E6:
pop	esi
retn
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	dword ptr [ebp+0Ch]
mov	esi, ecx
push	dword ptr [ebp+8]
call	sub_101CCD7
lea	eax, [esi+10Ch]
push	eax
mov	ecx, esi
call	sub_1009827
pop	esi
pop	ebp
retn	8
align 8
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
lea	eax, [ebp-10h]
mov	esi, ecx
push	eax
push	dword ptr [esi+20h]
call	ds:GetClientRect
push	0Fh
call	sub_100D149
mov	ecx, [ebp+8]
push	eax
lea	eax, [ebp-10h]
push	eax
call	sub_100AC6F
push	dword ptr [ebp+8]
mov	ecx, esi
call	?OnEraseBkgnd@CFrameWnd@@IAEHPAVCDC@@@Z	; CFrameWnd::OnEraseBkgnd(CDC *)
pop	esi
leave
retn	4
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
push	68h
lea	ecx, [esi+128h]
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	ecx, eax
call	sub_1029377
mov	ecx, esi
pop	esi
jmp	?OnDestroy@CFrameWnd@@IAEXXZ ; CFrameWnd::OnDestroy(void)
db 5 dup(0CCh)



sub_102987E proc near
xor	eax, eax
lea	edx, [ecx+0F4h]
cmp	[edx], eax
mov	dword ptr [ecx+0C8h], 6Ah
setz	al
mov	[edx], eax
neg	eax
sbb	eax, eax
and	eax, 12Ch
add	eax, 190h
mov	[ecx+0CCh], eax
jmp	sub_102954D
sub_102987E endp

db 5 dup(0CCh)



sub_10298B5 proc near
mov	edi, edi
push	esi
mov	esi, ecx
xor	ecx, ecx
lea	eax, [esi+0F8h]
cmp	[eax], ecx
setz	cl
mov	[eax], ecx
mov	ecx, esi
call	sub_102954D
mov	dword ptr [esi+0C8h], 6Dh
pop	esi
retn
sub_10298B5 endp

db 5 dup(0CCh)



sub_10298E1 proc near
mov	edi, edi
push	esi
mov	esi, ecx
xor	ecx, ecx
lea	eax, [esi+0FCh]
cmp	[eax], ecx
setz	cl
mov	[eax], ecx
mov	ecx, esi
call	sub_102954D
mov	dword ptr [esi+0C8h], 70h
pop	esi
retn
sub_10298E1 endp

db 5 dup(0CCh)



sub_102990D proc near
mov	edi, edi
push	esi
mov	esi, ecx
lea	eax, [esi+100h]
mov	ecx, [eax]
cmp	ecx, 2
jz	short loc_1029947
xor	edx, edx
test	ecx, ecx
setz	dl
mov	ecx, edx
mov	[eax], ecx
mov	eax, [esi+124h]
mov	[eax+13Ch], ecx
mov	ecx, esi
call	sub_102954D
mov	dword ptr [esi+0C8h], 88h

loc_1029947:
pop	esi
retn
sub_102990D endp

db 5 dup(0CCh)



sub_102994E proc near
mov	edi, edi
push	esi
mov	esi, ecx
xor	ecx, ecx
lea	eax, [esi+104h]
cmp	[eax], ecx
setz	cl
mov	[eax], ecx
mov	ecx, esi
call	sub_102954D
mov	dword ptr [esi+0C8h], 71h
pop	esi
retn
sub_102994E endp

db 5 dup(0CCh)



sub_102997A proc near
push	0		; lParam
push	0		; wParam
push	784h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:PostMessageW
retn
sub_102997A endp

db 5 dup(0CCh)
mov	dword ptr [ecx+0C8h], 7Bh
mov	ecx, [ecx+124h]
test	ecx, ecx
push	esi
jz	short loc_10299AC
lea	esi, [ecx+40h]
jmp	short loc_10299AE

loc_10299AC:
xor	esi, esi

loc_10299AE:
test	esi, esi
jz	short loc_10299CC
push	0
push	20h
push	102h
push	dword ptr [esi+20h]
call	ds:SendMessageW
mov	ecx, esi
pop	esi
jmp	?SetFocus@CWnd@@QAEPAV1@XZ ; CWnd::SetFocus(void)

loc_10299CC:
pop	esi
retn
db 5 dup(0CCh)
mov	dword ptr [ecx+0C8h], 7Ch
mov	ecx, [ecx+124h]
test	ecx, ecx
push	esi
jz	short loc_10299ED
lea	esi, [ecx+40h]
jmp	short loc_10299EF

loc_10299ED:
xor	esi, esi

loc_10299EF:
test	esi, esi
jz	short loc_1029A0D
push	0
push	8
push	102h
push	dword ptr [esi+20h]
call	ds:SendMessageW
mov	ecx, esi
pop	esi
jmp	?SetFocus@CWnd@@QAEPAV1@XZ ; CWnd::SetFocus(void)

loc_1029A0D:
pop	esi
retn
db 5 dup(0CCh)
mov	dword ptr [ecx+0C8h], 7Dh
mov	ecx, [ecx+124h]
test	ecx, ecx
push	esi
jz	short loc_1029A2E
lea	esi, [ecx+40h]
jmp	short loc_1029A30

loc_1029A2E:
xor	esi, esi

loc_1029A30:
test	esi, esi
jz	short loc_1029A4E
push	0
push	0Dh
push	102h
push	dword ptr [esi+20h]
call	ds:SendMessageW
mov	ecx, esi
pop	esi
jmp	?SetFocus@CWnd@@QAEPAV1@XZ ; CWnd::SetFocus(void)

loc_1029A4E:
pop	esi
retn
db 5 dup(0CCh)



sub_1029A55 proc near
mov	eax, [ecx+2BCh]
test	eax, eax
jz	short locret_1029A73
cmp	dword ptr [eax+20h], 0
jz	short locret_1029A73
cmp	dword ptr [ecx+148h], 0
jz	short locret_1029A73
call	sub_102920F

locret_1029A73:
retn	4
sub_1029A55 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1029A7B(void *, char)
sub_1029A7B proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_1028E64
test	[ebp+arg_0], 1
jz	short loc_1029A95
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1029A95:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1029A7B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1029AA1 proc near

var_38=	dword ptr -38h
var_34=	dword ptr -34h
var_30=	dword ptr -30h
var_2C=	dword ptr -2Ch
var_28=	dword ptr -28h
var_24=	dword ptr -24h
var_20=	dword ptr -20h
var_1C=	dword ptr -1Ch
var_18=	dword ptr -18h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 38h
push	ebx
push	esi
xor	ebx, ebx
cmp	[ebp+arg_4], ebx
push	edi
mov	esi, ecx
mov	[ebp+var_2C], 88h
mov	[ebp+var_30], 70h
mov	[ebp+var_34], 6Dh
mov	[ebp+var_38], 6Ah
jz	short loc_1029B01
mov	[ebp+var_28], ebx
mov	[ebp+var_24], 7Bh
mov	[ebp+var_20], 7Ch
mov	[ebp+var_1C], 7Dh
mov	[ebp+var_18], ebx
mov	[ebp+var_14], 79h
mov	[ebp+var_10], ebx
mov	[ebp+var_C], 78h
push	0Ch
jmp	short loc_1029B19

loc_1029B01:
cmp	dword_103EF50, ebx
jz	short loc_1029B17
mov	[ebp+var_28], ebx
mov	[ebp+var_24], 78h
push	6
jmp	short loc_1029B19

loc_1029B17:
push	4

loc_1029B19:
pop	edi
push	0E800h
push	2000h
push	[ebp+arg_0]
mov	ecx, esi
call	?Create@CToolBar@@QAEHPAVCWnd@@KI@Z ; CToolBar::Create(CWnd *,ulong,uint)
test	eax, eax
jnz	short loc_1029B37
call	?AfxThrowResourceException@@YGXXZ ; AfxThrowResourceException(void)

loc_1029B37:
push	66h
mov	ecx, esi
call	?LoadBitmapW@CToolBar@@QAEHPBG@Z ; CToolBar::LoadBitmapW(ushort	const *)
test	eax, eax
jnz	short loc_1029B49
call	?AfxThrowResourceException@@YGXXZ ; AfxThrowResourceException(void)

loc_1029B49:
push	edi
lea	eax, [ebp+var_38]
push	eax
mov	ecx, esi
call	?SetButtons@CToolBar@@QAEHPBIH@Z ; CToolBar::SetButtons(uint const *,int)
push	ebx
push	2
pop	edi
push	edi
push	6Ah
mov	ecx, esi
push	ebx
mov	[ebp+arg_0], eax
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)
push	1
push	edi
push	6Dh
mov	ecx, esi
push	1
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)
push	edi
push	edi
push	70h
mov	ecx, esi
push	edi
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)
push	3
push	edi
push	88h
mov	ecx, esi
push	3
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)
cmp	[ebp+arg_4], ebx
jz	short loc_1029BD8
push	7
push	ebx
push	7Bh
push	5
mov	ecx, esi
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)
push	8
push	ebx
push	7Ch
push	6
mov	ecx, esi
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)
push	9
push	ebx
push	7Dh
push	7
mov	ecx, esi
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)
push	5
push	ebx
push	79h
push	9
mov	ecx, esi
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)
push	4
push	edi
push	78h
push	0Bh
jmp	short loc_1029BE7

loc_1029BD8:
cmp	dword_103EF50, ebx
jz	short loc_1029BEE
push	4
push	edi
push	78h
push	5

loc_1029BE7:
mov	ecx, esi
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)

loc_1029BEE:
push	1
push	ebx
lea	eax, [ebp+var_8]
push	eax
mov	ecx, esi
call	?CalcFixedLayout@CToolBar@@UAE?AVCSize@@HH@Z ; CToolBar::CalcFixedLayout(int,int)
cmp	esi, ebx
jz	short loc_1029C1B
cmp	[esi+20h], ebx
jz	short loc_1029C1B
push	edi
push	[ebp+var_4]
mov	ecx, esi
push	[ebp+var_8]
push	ebx
push	ebx
push	ds:?wndTop@CWnd@@2V1@B ; CWnd const CWnd::wndTop
call	?SetWindowPos@CWnd@@QAEHPBV1@HHHHI@Z ; CWnd::SetWindowPos(CWnd const *,int,int,int,int,uint)

loc_1029C1B:
mov	eax, [ebp+arg_0]
pop	edi
pop	esi
pop	ebx
leave
retn	8
sub_1029AA1 endp

db 5 dup(0CCh)



sub_1029C2A proc near
mov	eax, offset loc_1036D41
call	sub_1034E18
sub	esp, 0Ch
push	ebx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
call	??0CDialogBar@@QAE@XZ ;	CDialogBar::CDialogBar(void)
and	dword ptr [ebp-4], 0
push	offset sub_1022D52
push	offset loc_1022BB8
push	5
push	34h
lea	eax, [esi+8Ch]
push	eax
mov	dword ptr [esi], offset	off_10060DC
call	sub_1034E95
and	dword ptr [esi+190h], 0
mov	byte ptr [ebp-4], 1
mov	ebx, offset aK	; "k"
lea	edi, [esi+0B0h]

loc_1029C7E:
push	1
push	dword ptr [ebx]
lea	ecx, [edi-24h]
call	sub_1023001
test	eax, eax
jz	short loc_1029CA4
mov	eax, [edi]
cmp	eax, [esi+190h]
mov	ecx, [edi+4]
mov	[ebp-14h], ecx
jle	short loc_1029CA4
mov	[esi+190h], eax

loc_1029CA4:
add	ebx, 4
add	edi, 34h
cmp	ebx, offset off_103E25C
jl	short loc_1029C7E
mov	ecx, [ebp-0Ch]
pop	edi
mov	eax, esi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_1029C2A endp

align 8


; Attributes: bp-based frame

; int __thiscall sub_1029CC8(void *, char)
sub_1029CC8 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_1028E8A
test	[ebp+arg_0], 1
jz	short loc_1029CE2
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1029CE2:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1029CC8 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1029CEE proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
push	0
push	0
push	25h
push	[ebp+arg_0]
mov	esi, ecx
call	?Create@CDialogBar@@QAEHPAVCWnd@@PBGII@Z ; CDialogBar::Create(CWnd *,ushort const *,uint,uint)
mov	ebx, eax
test	ebx, ebx
jz	short loc_1029D27
push	2
push	dword ptr [esi+80h]
mov	ecx, esi
push	dword ptr [esi+7Ch]
push	0
push	0
push	ds:?wndTop@CWnd@@2V1@B ; CWnd const CWnd::wndTop
call	?SetWindowPos@CWnd@@QAEHPBV1@HHHHI@Z ; CWnd::SetWindowPos(CWnd const *,int,int,int,int,uint)

loc_1029D27:
pop	esi
mov	eax, ebx
pop	ebx
pop	ebp
retn	4
sub_1029CEE endp

db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	dword ptr [ecx+20h]
call	ds:GetParent
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
mov	esi, eax
call	?GetCurrentMessage@CWnd@@KGPBUtagMSG@@XZ ; CWnd::GetCurrentMessage(void)
push	dword ptr [eax+0Ch]
mov	ecx, esi
push	dword ptr [eax+8]
push	dword ptr [eax+4]
call	sub_1018DE3
pop	esi
retn	0Ch
db 5 dup(0CCh)
mov	eax, offset loc_1036D58
call	sub_1034E18
sub	esp, 5Ch
push	ebx
push	esi
mov	esi, [ebp+0Ch]
push	edi
mov	[ebp-10h], esp
push	esi
push	dword ptr [ebp+8]
mov	edi, ecx
call	?OnMeasureItem@CWnd@@IAEXHPAUtagMEASUREITEMSTRUCT@@@Z ;	CWnd::OnMeasureItem(int,tagMEASUREITEMSTRUCT *)
lea	ecx, [ebp-18h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
and	dword ptr [ebp-4], 0
cmp	dword ptr [esi], 3
mov	byte ptr [ebp-4], 1
jnz	short loc_1029DA2
cmp	dword ptr [esi+4], 68h
jz	short loc_1029DA7

loc_1029DA2:		; AfxThrowNotSupportedException(void)
call	?AfxThrowNotSupportedException@@YGXXZ

loc_1029DA7:
push	edi
lea	ecx, [ebp-2Ch]
call	??0CClientDC@@QAE@PAVCWnd@@@Z ;	CClientDC::CClientDC(CWnd *)
lea	eax, [ebp-68h]
push	eax
push	dword ptr [ebp-24h]
call	ds:GetTextMetricsW
test	eax, eax
jz	short loc_1029DCA
mov	eax, [ebp-64h]
add	eax, 2
mov	[esi+10h], eax

loc_1029DCA:
lea	ecx, [ebp-2Ch]
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_1029DD2:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	8
mov	eax, [ebp+0Ch]
mov	[ebp-14h], eax
mov	eax, offset loc_1029DD2
retn
db 5 dup(0CCh)



sub_1029DFD proc near
mov	eax, offset loc_1036D77
call	sub_1034E18
sub	esp, 40h
push	ebx
push	esi
push	edi
mov	esi, ecx
lea	ecx, [ebp-3Ch]
mov	[ebp-10h], esp
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	edi, [ebp+8]
mov	ebx, [edi+2Ch]
push	dword ptr [edi+14h]
and	dword ptr [ebp-4], 0
and	dword ptr [ebp-18h], 0
mov	[ebp-1Ch], ebx
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
mov	ecx, eax
test	ecx, ecx
mov	[ebp+8], ecx
jz	short loc_1029E60
mov	eax, [edi+8]
dec	eax
push	eax		; wParam
push	ebx		; int
call	sub_10293B4
test	eax, eax
jnz	short loc_1029E60
mov	eax, [edi+8]
mov	ecx, [ebp+8]
inc	eax
push	eax		; wParam
push	ebx		; int
call	sub_10293B4
test	eax, eax
jnz	short loc_1029E60
mov	[ebp+0Ch], ebx

loc_1029E60:
mov	ebx, [ebx+10h]
dec	ebx
mov	dword ptr [ebp-14h], 1
jz	short loc_1029EC8
dec	ebx
jz	short loc_1029EB7
dec	ebx
dec	ebx
jz	short loc_1029EA6
sub	ebx, 4
jz	short loc_1029E95
sub	ebx, 8
jz	short loc_1029E84
and	dword ptr [ebp-14h], 0
jmp	short loc_1029EDA

loc_1029E84:
mov	eax, [esi+0E4h]
mov	[ebp-24h], eax
mov	eax, [esi+0E8h]
jmp	short loc_1029ED7

loc_1029E95:
mov	eax, [esi+180h]
mov	[ebp-24h], eax
mov	eax, [esi+184h]
jmp	short loc_1029ED7

loc_1029EA6:
mov	eax, [esi+14Ch]
mov	[ebp-24h], eax
mov	eax, [esi+150h]
jmp	short loc_1029ED7

loc_1029EB7:
mov	eax, [esi+118h]
mov	[ebp-24h], eax
mov	eax, [esi+11Ch]
jmp	short loc_1029ED7

loc_1029EC8:
mov	eax, [esi+0B0h]
mov	[ebp-24h], eax
mov	eax, [esi+0B4h]

loc_1029ED7:
mov	[ebp-18h], eax

loc_1029EDA:
lea	ecx, [ebp-2Ch]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
xor	ebx, ebx
test	byte ptr [edi+10h], 1
mov	byte ptr [ebp-4], 2
jz	short loc_1029EF3
inc	ebx
push	0Dh
jmp	short loc_1029EF5

loc_1029EF3:		; nIndex
push	5

loc_1029EF5:
call	sub_100D149
test	eax, eax
mov	[ebp+8], eax
jnz	short loc_1029F06
call	?AfxThrowNotSupportedException@@YGXXZ ;	AfxThrowNotSupportedException(void)

loc_1029F06:
push	dword ptr [edi+18h]
lea	ecx, [ebp-3Ch]
call	?Attach@CDC@@QAEHPAUHDC__@@@Z ;	CDC::Attach(HDC__ *)
test	eax, eax
jnz	short loc_1029F1A
call	?AfxThrowNotSupportedException@@YGXXZ ;	AfxThrowNotSupportedException(void)

loc_1029F1A:		; int
push	ebx
push	dword ptr [edi+18h] ; hdc
mov	ecx, esi
call	sub_1028ED7
push	dword ptr [ebp+8] ; hbr
lea	ebx, [edi+1Ch]
push	ebx		; lprc
lea	ecx, [ebp-3Ch]
call	sub_100AC6F
cmp	dword ptr [ebp-14h], 0
jz	short loc_1029FB1
mov	ecx, [ebx]
mov	ebx, [edi+20h]
mov	eax, [edi+28h]
sub	eax, ebx
sub	eax, [ebp-18h]
inc	ecx
cdq
xor	eax, edx
sub	eax, edx
cdq
sub	eax, edx
mov	edx, [ebp-1Ch]
mov	edx, [edx+10h]
sar	eax, 1
add	eax, ebx
dec	edx
jz	short loc_1029F9E
dec	edx
jz	short loc_1029F92
dec	edx
dec	edx
jz	short loc_1029F86
sub	edx, 4
jz	short loc_1029F7A
sub	edx, 8
jnz	short loc_1029FB1
push	0
push	eax
push	ecx
lea	ecx, [esi+0C0h]
jmp	short loc_1029FA8

loc_1029F7A:
push	0
push	eax
push	ecx
lea	ecx, [esi+15Ch]
jmp	short loc_1029FA8

loc_1029F86:
push	0
push	eax
push	ecx
lea	ecx, [esi+128h]
jmp	short loc_1029FA8

loc_1029F92:
push	0
push	eax
push	ecx
lea	ecx, [esi+0F4h]
jmp	short loc_1029FA8

loc_1029F9E:		; int
push	0
push	eax		; y
push	ecx		; x
lea	ecx, [esi+8Ch]	; hdcSrc

loc_1029FA8:
lea	eax, [ebp-3Ch]
push	eax		; int
call	sub_1022DE7

loc_1029FB1:
lea	ebx, [edi+1Ch]
push	ebx		; lprcSrc
lea	eax, [ebp-4Ch]
push	eax		; lprcDst
call	ds:CopyRect
mov	ecx, [ebp-4Ch]
mov	eax, [esi+190h]
lea	eax, [ecx+eax+2]
push	24h		; format
mov	[ebp-4Ch], eax
mov	eax, [ebp+0Ch]
mov	eax, [eax]
lea	ecx, [ebp-4Ch]
push	ecx		; lprc
push	0FFFFFFFFh	; cchText
push	eax		; lpchText
push	dword ptr [ebp-38h] ; hdc
call	ds:DrawTextW
test	byte ptr [edi+10h], 10h
jz	short loc_1029FF6
push	ebx		; lprc
push	dword ptr [ebp-38h] ; hDC
call	ds:DrawFocusRect

loc_1029FF6:
and	dword ptr [ebp-4], 0
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
lea	ecx, [ebp-3Ch]
call	?Detach@CDC@@QAEPAUHDC__@@XZ ; CDC::Detach(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-3Ch]
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	8
sub_1029DFD endp

mov	eax, [ebp-20h]
mov	[ebp-28h], eax
mov	eax, offset loc_1029FF6
retn
db 5 dup(0CCh)
mov	eax, offset loc_1036D8F
call	sub_1034E18
push	ecx
push	194h
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-10h], ecx
xor	eax, eax
cmp	ecx, eax
mov	[ebp-4], eax
jz	short loc_102A05E
call	sub_1029C2A

loc_102A05E:
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)



sub_102A06F proc near
mov	eax, offset loc_1036DF5
call	sub_1034E18
push	ecx
push	ebx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
call	sub_101C934
xor	edi, edi
lea	eax, [esi+0D0h]
mov	dword ptr [esi], offset	off_10062A4
mov	[ebp-4], edi
mov	[eax+4], edi
mov	dword ptr [eax], offset	off_100471C
lea	ebx, [esi+0D8h]
mov	ecx, ebx
mov	byte ptr [ebp-4], 1
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [esi+0DCh]
mov	byte ptr [ebp-4], 2
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [esi+0E8h]
mov	byte ptr [ebp-4], 3
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [esi+128h]
mov	byte ptr [ebp-4], 4
call	sub_1029C2A
mov	eax, [ebp+8]
mov	ecx, ebx
mov	byte ptr [ebp-4], 5
mov	[esi+124h], eax
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
lea	ecx, [esi+0DCh]
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
lea	eax, [esi+10Ch]
push	eax		; lprc
mov	byte ptr [esi+0F0h], 1
mov	byte ptr [esi+0F1h], 1
mov	dword ptr [esi+0CCh], 190h
mov	[esi+0F4h], edi
mov	[esi+0F8h], edi
mov	[esi+0FCh], edi
mov	[esi+100h], edi
mov	[esi+104h], edi
mov	[esi+108h], edi
mov	[esi+120h], edi
mov	[esi+0C8h], edi
mov	[esi+0E0h], edi
mov	[esi+0E4h], edi
mov	[esi+0ECh], edi
call	ds:SetRectEmpty
push	0A0h		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	[ebp+8], eax
cmp	eax, edi
mov	byte ptr [ebp-4], 6
jz	short loc_102A184
mov	ecx, eax
call	sub_1028E4B
jmp	short loc_102A186

loc_102A184:
xor	eax, eax

loc_102A186:
mov	ecx, [ebp-0Ch]
mov	[esi+2BCh], eax
pop	edi
mov	eax, esi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	4
sub_102A06F endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_102A1A4(void *, char)
sub_102A1A4 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_1029143
test	[ebp+arg_0], 1
jz	short loc_102A1BE
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_102A1BE:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_102A1A4 endp

db 5 dup(0CCh)



sub_102A1CA proc near
mov	eax, offset loc_1036E5B
call	sub_1034E18
push	ecx
push	ecx
push	ebx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
call	sub_101C934
xor	edi, edi
lea	eax, [esi+0D0h]
mov	dword ptr [esi], offset	off_10062A4
mov	[ebp-4], edi
mov	[eax+4], edi
mov	dword ptr [eax], offset	off_100471C
lea	ebx, [esi+0D8h]
mov	ecx, ebx
mov	byte ptr [ebp-4], 1
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [esi+0DCh]
mov	byte ptr [ebp-4], 2
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [esi+0E8h]
mov	byte ptr [ebp-4], 3
call	??0CString@@QAE@XZ ; CString::CString(void)
lea	ecx, [esi+128h]
mov	byte ptr [ebp-4], 4
call	sub_1029C2A
mov	ecx, ebx
mov	byte ptr [ebp-4], 5
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
lea	ecx, [esi+0DCh]
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
lea	eax, [esi+10Ch]
push	eax		; lprc
mov	byte ptr [esi+0F0h], 1
mov	byte ptr [esi+0F1h], 1
mov	dword ptr [esi+0CCh], 190h
mov	[esi+0F4h], edi
mov	[esi+0F8h], edi
mov	[esi+0FCh], edi
mov	[esi+100h], edi
mov	[esi+104h], edi
mov	[esi+108h], edi
mov	[esi+120h], edi
mov	[esi+0C8h], edi
mov	[esi+0E0h], edi
mov	[esi+0E4h], edi
mov	[esi+0ECh], edi
call	ds:SetRectEmpty
push	0A0h		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	[ebp-14h], eax
cmp	eax, edi
mov	byte ptr [ebp-4], 6
jz	short loc_102A2D7
mov	ecx, eax
call	sub_1028E4B
jmp	short loc_102A2D9

loc_102A2D7:
xor	eax, eax

loc_102A2D9:
mov	ecx, [ebp-0Ch]
mov	[esi+2BCh], eax
pop	edi
mov	eax, esi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_102A1CA endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102A2F5(WPARAM wParam, int)
sub_102A2F5 proc near

var_4= dword ptr -4
wParam=	dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ebx
push	esi
mov	esi, ecx
push	edi
lea	edi, [esi+128h]
push	68h
mov	ecx, edi
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
push	8Ch
mov	ecx, edi
mov	ebx, eax
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
push	[ebp+wParam]	; wParam
mov	ecx, ebx
mov	[ebp+var_4], eax
call	sub_1028F9F
mov	edi, eax
push	edi
lea	ecx, [esi+0E8h]
call	??4CString@@QAEABV0@ABV0@@Z ; CString::operator=(CString const &)
mov	eax, [edi+10h]
mov	ebx, [ebp+arg_4]
mov	[esi+0ECh], eax
lea	eax, [esi+0F0h]
mov	cl, [eax]
mov	[esi+0F1h], cl
mov	ecx, [ebp+var_4]
mov	[eax], bl
call	sub_1029003
lea	esi, [edi+4]
jmp	short loc_102A371

loc_102A361:
xor	eax, eax
mov	al, [esi+4]
push	eax		; char
push	dword ptr [esi]	; lParam
call	sub_10293E7
mov	esi, [esi+8]

loc_102A371:
test	esi, esi
mov	ecx, [ebp+var_4]
jnz	short loc_102A361
push	ebx
push	0FFFFFFFFh
call	sub_102941E
pop	edi
pop	esi
pop	ebx
leave
retn	8
sub_102A2F5 endp

db 5 dup(0CCh)



sub_102A38C proc near
mov	eax, offset loc_1036E7E
call	sub_1034E18
push	ecx
push	ebx
push	esi
push	edi
push	dword ptr [ebp+8] ; lParam
or	esi, 0FFFFFFFFh
push	esi		; wParam
mov	ebx, ecx
call	sub_102903D
mov	edi, eax
cmp	edi, esi
jz	short loc_102A3EF
push	edi		; wParam
mov	ecx, ebx
call	sub_1028F9F
lea	esi, [eax+4]
xor	ebx, ebx
jmp	short loc_102A3C0

loc_102A3BD:
mov	esi, [esi+8]

loc_102A3C0:
cmp	[esi+8], ebx
jnz	short loc_102A3BD
push	0Ch		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	[ebp+8], eax
cmp	eax, ebx
mov	[ebp-4], ebx
jz	short loc_102A3E6
push	dword ptr [ebp+10h]
mov	ecx, eax
push	dword ptr [ebp+0Ch]
call	sub_1028B0B
jmp	short loc_102A3E8

loc_102A3E6:
xor	eax, eax

loc_102A3E8:
mov	[esi+8], eax
mov	eax, edi
jmp	short loc_102A44B

loc_102A3EF:		; unsigned int
push	14h
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-10h], ecx
test	ecx, ecx
mov	dword ptr [ebp-4], 1
jz	short loc_102A41C
push	dword ptr [ebp+14h]
push	dword ptr [ebp+10h]
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
call	sub_1029099
mov	edi, eax
jmp	short loc_102A41E

loc_102A41C:
xor	edi, edi

loc_102A41E:
test	edi, edi
mov	[ebp-4], esi
jz	short loc_102A449
push	dword ptr [ebp+8] ; lParam
mov	ecx, ebx
call	sub_1028FE2
mov	esi, eax
test	esi, esi
jl	short loc_102A440
push	edi		; lParam
push	esi		; wParam
mov	ecx, ebx
call	sub_1028FC0
jmp	short loc_102A449

loc_102A440:		; char
push	1
mov	ecx, edi	; void *
call	sub_1029351

loc_102A449:
mov	eax, esi

loc_102A44B:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	10h
sub_102A38C endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102A461 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_0]
mov	al, [esi+17h]
cmp	al, 0FFh
jz	short loc_102A4EB
cmp	al, 4Dh
jz	short loc_102A4EB
push	ebx
lea	ebx, [esi+1Ch]
cmp	word ptr [ebx],	40h
jz	short loc_102A4EA
mov	eax, [ebp+arg_4]
push	edi
mov	edi, [eax+3Ch]
push	68h
add	ecx, 128h
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
test	edi, 20000h
jz	short loc_102A49F
push	4
jmp	short loc_102A4D2

loc_102A49F:
test	edi, 100000h
jz	short loc_102A4AB
push	8
jmp	short loc_102A4D2

loc_102A4AB:
mov	edx, [ebp+arg_8]
test	dl, 4
jz	short loc_102A4C2
push	0
test	edi, 40000h
pop	edx
setnz	dl
inc	edx
jmp	short loc_102A4D3

loc_102A4C2:
test	dl, 2
jz	short loc_102A4CB
push	10h
jmp	short loc_102A4D2

loc_102A4CB:
test	dl, 1
jz	short loc_102A4D3
push	20h

loc_102A4D2:
pop	edx

loc_102A4D3:
xor	ecx, ecx
mov	cl, [esi+17h]
push	edx
add	esi, 11Ch
push	ecx
push	esi
push	ebx
mov	ecx, eax
call	sub_102A38C
pop	edi

loc_102A4EA:
pop	ebx

loc_102A4EB:
xor	eax, eax
inc	eax
pop	esi
pop	ebp
retn	0Ch
sub_102A461 endp

align 8


; Attributes: bp-based frame

; int __stdcall	sub_102A4F8(const LOGFONTW *, const TEXTMETRICW	*, DWORD, LPARAM)
sub_102A4F8 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ebp+arg_C]
test	ecx, ecx
jz	short loc_102A514
push	[ebp+arg_8]
push	[ebp+arg_4]
push	[ebp+arg_0]
call	sub_102A461
jmp	short loc_102A516

loc_102A514:
xor	eax, eax

loc_102A516:
pop	ebp
retn	10h
sub_102A4F8 endp

db 5 dup(0CCh)



sub_102A51F proc near
mov	eax, offset loc_1036E9D
call	sub_1034E18
sub	esp, 1Ch
push	esi
mov	esi, ecx
lea	ecx, [ebp-14h]
call	??0CString@@QAE@XZ ; CString::CString(void)
and	dword ptr [ebp-4], 0
push	esi
lea	ecx, [ebp-28h]
call	??0CClientDC@@QAE@PAVCWnd@@@Z ;	CClientDC::CClientDC(CWnd *)
mov	eax, [ebp-24h]
test	eax, eax
mov	byte ptr [ebp-4], 1
mov	[ebp-10h], eax
jz	loc_102A68B
push	ebx
push	edi
lea	ebx, [esi+128h]
push	67h
mov	ecx, ebx
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	edi, eax
test	edi, edi
jz	loc_102A689
mov	ecx, edi
call	sub_1029003
mov	eax, [esi+0ECh]
test	al, 3
jnz	short loc_102A5A1
test	al, 20h
jz	short loc_102A5A1
mov	eax, [esi+0E8h]
push	esi		; lParam
push	offset Proc	; lpProc
push	eax		; lpLogfont
push	dword ptr [ebp-10h] ; hdc
call	ds:EnumFontFamiliesW
jmp	loc_102A661

loc_102A5A1:		; " 8"
push	offset a8
mov	ecx, edi
call	sub_1028FE2
push	offset a9	; " 9"
mov	ecx, edi
call	sub_1028FE2
push	offset a10	; "10"
mov	ecx, edi
call	sub_1028FE2
push	offset a11	; "11"
mov	ecx, edi
call	sub_1028FE2
push	offset a12	; "12"
mov	ecx, edi
call	sub_1028FE2
push	offset a14	; "14"
mov	ecx, edi
call	sub_1028FE2
push	offset a16	; "16"
mov	ecx, edi
call	sub_1028FE2
push	offset a18	; "18"
mov	ecx, edi
call	sub_1028FE2
push	offset a20	; "20"
mov	ecx, edi
call	sub_1028FE2
push	offset a22	; "22"
mov	ecx, edi
call	sub_1028FE2
push	offset a24	; "24"
mov	ecx, edi
call	sub_1028FE2
push	offset a26	; "26"
mov	ecx, edi
call	sub_1028FE2
push	offset a28	; "28"
mov	ecx, edi
call	sub_1028FE2
push	offset a36	; "36"
mov	ecx, edi
call	sub_1028FE2
push	offset a48	; "48"
mov	ecx, edi
call	sub_1028FE2
push	offset a72	; "72"
mov	ecx, edi
call	sub_1028FE2

loc_102A661:
mov	eax, [esi+0E0h]
test	eax, eax
jz	short loc_102A679
push	1
push	eax
push	67h
mov	ecx, ebx
call	?SetDlgItemInt@CWnd@@QAEXHIH@Z ; CWnd::SetDlgItemInt(int,uint,int)
jmp	short loc_102A682

loc_102A679:		; wParam
push	0
mov	ecx, edi
call	sub_1028F7E

loc_102A682:
mov	ecx, esi
call	sub_10296BB

loc_102A689:
pop	edi
pop	ebx

loc_102A68B:
lea	ecx, [ebp-28h]
mov	byte ptr [ebp-4], 0
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-14h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_102A51F endp

db 5 dup(0CCh)



sub_102A6B5 proc near
mov	eax, offset loc_1036EC4
call	sub_1034E18
sub	esp, 24h
push	ebx
push	esi
mov	esi, ecx
push	edi
lea	ecx, [ebp-14h]
mov	[ebp-10h], esp
mov	[ebp-18h], esi
call	??0CString@@QAE@XZ ; CString::CString(void)
and	dword ptr [ebp-4], 0
lea	edi, [esi+128h]
push	68h
mov	ecx, edi
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	ebx, eax
push	8Ch
mov	ecx, edi
mov	[ebp-1Ch], ebx
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
test	ebx, ebx
mov	[ebp-20h], eax
jz	loc_102A887
test	eax, eax
jz	loc_102A887
lea	ecx, [ebp-30h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
mov	ecx, ebx
mov	byte ptr [ebp-4], 2
call	sub_1028F66
cmp	eax, 0FFFFFFFFh
mov	[ebp-24h], eax
jz	short loc_102A74C
lea	ecx, [ebp-14h]
push	ecx
push	eax
mov	ecx, ebx
call	?GetLBText@CComboBox@@QBEXHAAVCString@@@Z ; CComboBox::GetLBText(int,CString &)
jmp	short loc_102A74C
mov	eax, [ebp-28h]
lea	ecx, [ebp-14h]
mov	[ebp-2Ch], eax
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
mov	eax, offset loc_102A749
retn

loc_102A749:
mov	esi, [ebp-18h]

loc_102A74C:
and	dword ptr [ebp-4], 0
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
mov	ecx, [ebp-20h]
call	sub_102945D
push	dword ptr [ebp-14h] ; Str2
lea	edi, [esi+0D8h]
mov	ecx, edi
mov	ebx, eax
call	sub_10118B9
test	eax, eax
jnz	short loc_102A77F
cmp	bl, [esi+0F0h]
jz	loc_102A887

loc_102A77F:		; wParam
push	dword ptr [ebp-24h]
mov	ecx, [ebp-1Ch]
call	sub_1028F9F
push	ebx
add	eax, 4
push	eax
mov	ecx, esi
call	sub_1028CF1
cmp	al, 86h
mov	[ebp-28h], al
jz	short loc_102A7FA
cmp	al, 80h
jz	short loc_102A7FA
cmp	al, 81h
jz	short loc_102A7FA
cmp	al, 88h
jz	short loc_102A7FA
cmp	dword ptr [esi+100h], 1
jnz	short loc_102A7E7
or	ebx, 0FFFFFFFFh
push	ebx		; unsigned int
push	0		; unsigned int
push	0E819h		; unsigned int
call	?AfxMessageBox@@YGHIII@Z ; AfxMessageBox(uint,uint,uint)
push	dword ptr [edi]	; lParam
mov	ecx, [ebp-1Ch]
push	ebx		; wParam
call	sub_102901B
mov	ecx, [ebp-20h]
xor	eax, eax
mov	al, [esi+0F0h]
push	eax
push	ebx
call	sub_102941E
mov	[ebp-4], ebx
jmp	loc_102A88B

loc_102A7E7:
push	3
mov	dword ptr [esi+100h], 2
push	40002h
jmp	short loc_102A80C

loc_102A7FA:
lea	eax, [esi+100h]
cmp	dword ptr [eax], 2
jnz	short loc_102A81E
and	dword ptr [eax], 0
push	3
push	2

loc_102A80C:
mov	ecx, [esi+2BCh]
push	88h
push	3
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)

loc_102A81E:
lea	ecx, [ebp-30h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
push	edi
lea	ecx, [esi+0DCh]
mov	byte ptr [ebp-4], 5
call	??4CString@@QAEABV0@ABV0@@Z ; CString::operator=(CString const &)
lea	eax, [ebp-14h]
push	eax
mov	ecx, edi
call	??4CString@@QAEABV0@ABV0@@Z ; CString::operator=(CString const &)
jmp	short loc_102A860
mov	eax, [ebp-20h]
mov	ecx, [ebp-18h]
add	ecx, 0D8h
mov	[ebp-2Ch], eax
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
mov	eax, offset loc_102A85D
retn

loc_102A85D:
mov	esi, [ebp-18h]

loc_102A860:
and	dword ptr [ebp-4], 0
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
push	dword ptr [ebp-28h] ; int
mov	ecx, esi
push	dword ptr [ebp-24h] ; wParam
call	sub_102A2F5
mov	ecx, esi
call	sub_102A51F
mov	dword ptr [esi+0C8h], 68h

loc_102A887:
or	dword ptr [ebp-4], 0FFFFFFFFh

loc_102A88B:
lea	ecx, [ebp-14h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn
sub_102A6B5 endp

db 5 dup(0CCh)



sub_102A8A7 proc near
mov	edi, edi
push	esi
lea	esi, [ecx+120h]
cmp	dword ptr [esi], 0
jnz	short loc_102A8C3
mov	dword ptr [esi], 1
call	sub_102A6B5
and	dword ptr [esi], 0

loc_102A8C3:
pop	esi
retn
sub_102A8A7 endp

db 5 dup(0CCh)
mov	eax, offset loc_1036D8F
call	sub_1034E18
push	ecx
cmp	dword_103EF50, 0
push	esi
mov	esi, ecx
jnz	short loc_102A8E8
and	dword ptr [esi+108h], 0

loc_102A8E8:
mov	ecx, [esi+2BCh]
xor	eax, eax
cmp	[esi+108h], eax
mov	dword ptr [esi+0C8h], 78h
setz	al
test	ecx, ecx
mov	[esi+108h], eax
jz	short loc_102A914
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_102A914:
push	0A0h
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-10h], ecx
and	dword ptr [ebp-4], 0
test	ecx, ecx
jz	short loc_102A933
call	sub_1028E4B
jmp	short loc_102A935

loc_102A933:
xor	eax, eax

loc_102A935:
push	dword ptr [esi+108h]
or	dword ptr [ebp-4], 0FFFFFFFFh
push	esi
mov	ecx, eax
mov	[esi+2BCh], eax
call	sub_1029AA1
test	eax, eax
jz	short loc_102A95F
mov	ecx, esi
call	sub_102920F
mov	ecx, esi
call	sub_1028BB6

loc_102A95F:
mov	ecx, [ebp-0Ch]
xor	eax, eax
pop	esi
mov	large fs:0, ecx
leave
retn	8
db 5 dup(0CCh)
mov	eax, offset loc_1036EF3
call	sub_1034E18
sub	esp, 64h
push	ebx
push	esi
push	edi
mov	[ebp-18h], ecx
lea	ecx, [ebp-14h]
mov	[ebp-10h], esp
call	??0CString@@QAE@XZ ; CString::CString(void)
and	dword ptr [ebp-4], 0
lea	ecx, [ebp-70h]
call	??0CWnd@@QAE@XZ	; CWnd::CWnd(void)
mov	dword ptr [ebp-70h], offset off_10061CC
lea	ecx, [ebp-30h]
mov	byte ptr [ebp-4], 1
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
mov	esi, [ebp+0Ch]
cmp	dword ptr [esi], 3
mov	byte ptr [ebp-4], 3
jnz	short loc_102A9C4
cmp	dword ptr [esi+4], 68h
jz	short loc_102A9C9

loc_102A9C4:		; AfxThrowNotSupportedException(void)
call	?AfxThrowNotSupportedException@@YGXXZ

loc_102A9C9:
cmp	dword ptr [esi+8], 0FFFFFFFFh
jz	short loc_102AA1F
push	dword ptr [esi+14h]
lea	ecx, [ebp-70h]
call	?Attach@CWnd@@QAEHPAUHWND__@@@Z	; CWnd::Attach(HWND__ *)
test	eax, eax
jnz	short loc_102A9E3
call	?AfxThrowNotSupportedException@@YGXXZ ;	AfxThrowNotSupportedException(void)

loc_102A9E3:
lea	ecx, [ebp-28h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
lea	eax, [ebp-14h]
push	eax
push	dword ptr [esi+8]
lea	ecx, [ebp-70h]
mov	byte ptr [ebp-4], 5
call	?GetLBText@CComboBox@@QBEXHAAVCString@@@Z ; CComboBox::GetLBText(int,CString &)
lea	ecx, [ebp-70h]
call	?Detach@CWnd@@QAEPAUHWND__@@XZ ; CWnd::Detach(void)
mov	ecx, [ebp-18h]
lea	eax, [ebp-14h]
push	eax
push	esi
call	sub_1029DFD

loc_102AA13:
mov	dword ptr [ebp-4], 3
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)

loc_102AA1F:
mov	dword ptr [ebp-4], 1
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
lea	ecx, [ebp-70h]
mov	byte ptr [ebp-4], 0
call	??1CComboBox@@UAE@XZ ; CComboBox::~CComboBox(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-14h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	8
mov	eax, [ebp-1Ch]
lea	ecx, [ebp-14h]
mov	[ebp-24h], eax
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
lea	ecx, [ebp-70h]
call	?Detach@CWnd@@QAEPAUHWND__@@XZ ; CWnd::Detach(void)
mov	eax, offset loc_102AA13
retn
push	dword ptr [ebp+0Ch]
mov	eax, [ebp-20h]
push	dword ptr [ebp+8]
mov	ecx, [ebp-18h]
mov	[ebp-2Ch], eax
call	?OnDrawItem@CWnd@@IAEXHPAUtagDRAWITEMSTRUCT@@@Z	; CWnd::OnDrawItem(int,tagDRAWITEMSTRUCT *)
mov	eax, offset loc_102AA1F
retn
db 5 dup(0CCh)
mov	eax, offset loc_1036D8F
call	sub_1034E18
push	ecx
push	2C0h
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-10h], ecx
xor	eax, eax
cmp	ecx, eax
mov	[ebp-4], eax
jz	short loc_102AAB8
call	sub_102A1CA

loc_102AAB8:
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)



sub_102AAC9 proc near
mov	eax, offset loc_1036F12
call	sub_1034E18
sub	esp, 18h
push	ebx
push	esi
mov	esi, ecx
mov	eax, [esi+0C8h]
sub	eax, 67h
push	edi
mov	[ebp-10h], esp
mov	[ebp-18h], esi
jz	loc_102ABF7
dec	eax
jz	short loc_102AB42
dec	eax
dec	eax
jz	short loc_102AB39
sub	eax, 3
jz	short loc_102AB30
sub	eax, 3
jz	short loc_102AB27
dec	eax
jz	short loc_102AB14
sub	eax, 17h
jnz	loc_102AC26
call	sub_102990D
jmp	short loc_102AB1B

loc_102AB14:
mov	ecx, esi
call	sub_102994E

loc_102AB1B:
mov	ecx, esi
call	sub_1028BB6
jmp	loc_102AC26

loc_102AB27:
mov	ecx, esi
call	sub_10298E1
jmp	short loc_102AB1B

loc_102AB30:
mov	ecx, esi
call	sub_10298B5
jmp	short loc_102AB1B

loc_102AB39:
mov	ecx, esi
call	sub_102987E
jmp	short loc_102AB1B

loc_102AB42:
lea	ebx, [esi+0DCh]
mov	eax, [ebx]
lea	edi, [esi+0D8h]
push	eax		; Str2
mov	ecx, edi
call	sub_10118B9
test	eax, eax
jz	loc_102ABEB
lea	ecx, [ebp-24h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
and	dword ptr [ebp-4], 0
push	edi
lea	ecx, [ebp-14h]
mov	byte ptr [ebp-4], 1
call	??0CString@@QAE@ABV0@@Z	; CString::CString(CString const &)
push	ebx
mov	ecx, edi
mov	byte ptr [ebp-4], 2
call	??4CString@@QAEABV0@ABV0@@Z ; CString::operator=(CString const &)
lea	eax, [ebp-14h]
push	eax
mov	ecx, ebx
call	??4CString@@QAEABV0@ABV0@@Z ; CString::operator=(CString const &)
push	68h
lea	ecx, [esi+128h]
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
push	dword ptr [edi]	; lParam
mov	ecx, eax
push	0FFFFFFFFh	; wParam
call	sub_102901B
cmp	eax, 0FFFFFFFFh
jz	short loc_102ABC5
xor	ecx, ecx
mov	cl, [esi+0F1h]
push	ecx		; int
push	eax		; wParam
mov	ecx, esi
call	sub_102A2F5
mov	ecx, esi
call	sub_102A51F

loc_102ABC5:
lea	ecx, [ebp-14h]
mov	byte ptr [ebp-4], 1
call	??1CString@@QAE@XZ ; CString::~CString(void)
jmp	short loc_102ABE2
mov	eax, [ebp-1Ch]
mov	[ebp-20h], eax
mov	eax, offset loc_102ABDF
retn

loc_102ABDF:
mov	esi, [ebp-18h]

loc_102ABE2:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)

loc_102ABEB:
mov	dword ptr [esi+0C8h], 68h
jmp	short loc_102AC26

loc_102ABF7:
lea	ecx, [esi+0E4h]
mov	edi, [ecx]
lea	eax, [esi+0E0h]
mov	edx, [eax]
cmp	edx, edi
jz	short loc_102AC26
push	1
push	edi
mov	[ecx], edx
push	67h
lea	ecx, [esi+128h]
mov	[eax], edi
call	?SetDlgItemInt@CWnd@@QAEXHIH@Z ; CWnd::SetDlgItemInt(int,uint,int)
mov	ecx, esi
call	sub_102954D

loc_102AC26:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn
sub_102AAC9 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102AC3A proc near

Rect= tagRECT ptr -24h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 24h
push	ebx
push	esi
push	edi
mov	edi, ds:GetWindowRect
lea	eax, [ebp+Rect]
mov	esi, ecx
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	edi ; GetWindowRect
mov	eax, [ebp+Rect.right]
sub	eax, [ebp+Rect.left]
mov	ecx, dword_103F014
mov	[ebp+var_14], eax
mov	eax, [ebp+Rect.bottom]
sub	eax, [ebp+Rect.top]
lea	edx, [ebp+var_14]
push	edx
mov	[ebp+var_10], eax
mov	eax, dword_103F010
push	ecx
push	eax
lea	eax, [ebp+var_C]
push	eax
mov	ecx, offset unk_103EE08
call	sub_101F14C
xor	ebx, ebx
cmp	[ebp+var_C], ebx
jnz	short loc_102ACBB
cmp	[ebp+var_8], ebx
jnz	short loc_102ACBB
call	sub_100C004
lea	ecx, [ebp+Rect]
push	ecx		; lpRect
push	dword ptr [eax+20h] ; hWnd
call	edi ; GetWindowRect
push	0Fh		; dy
push	0Fh		; dx
lea	eax, [ebp+Rect]
push	eax		; lprc
call	ds:OffsetRect
mov	eax, [ebp+Rect.left]
mov	[ebp+var_C], eax
mov	eax, [ebp+Rect.top]
mov	[ebp+var_8], eax

loc_102ACBB:
mov	eax, [esi+20h]
cmp	eax, ebx
jz	short loc_102ACD9
push	1
push	ebx
push	ebx
push	[ebp+var_8]
mov	ecx, esi
push	[ebp+var_C]
push	ds:?wndTop@CWnd@@2V1@B ; CWnd const CWnd::wndTop
call	?SetWindowPos@CWnd@@QAEHPBV1@HHHHI@Z ; CWnd::SetWindowPos(CWnd const *,int,int,int,int,uint)

loc_102ACD9:
mov	eax, dword_103F02C
cmp	[eax-8], ebx
jz	short loc_102AD51
lea	edi, [esi+0D8h]
push	offset dword_103F02C
mov	ecx, edi
call	??4CString@@QAEABV0@ABV0@@Z ; CString::operator=(CString const &)
mov	eax, dword_103F00C
push	68h
lea	ecx, [esi+128h]
mov	[esi+0E0h], eax
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
push	dword ptr [edi]	; lParam
mov	ecx, eax
push	0FFFFFFFFh	; wParam
mov	[ebp+var_4], ecx
call	sub_102901B
mov	edi, eax
cmp	edi, 0FFFFFFFFh
jz	short loc_102AD51
mov	ecx, [ebp+var_4]
push	edi		; wParam
call	sub_1028F9F
push	dword_103F030
add	eax, 4
push	eax
mov	ecx, esi
call	sub_1028CF1
mov	byte ptr [ebp+var_4], al
push	[ebp+var_4]	; int
mov	ecx, esi
push	edi		; wParam
call	sub_102A2F5
mov	ecx, esi
call	sub_102A51F

loc_102AD51:
cmp	dword_103F018, ebx
mov	edi, 10002h
jz	short loc_102AD7B
mov	ecx, esi
mov	[esi+0F4h], ebx
call	sub_102987E
mov	ecx, [esi+2BCh]
push	ebx
push	edi
push	6Ah
push	ebx
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)

loc_102AD7B:
cmp	dword_103F020, ebx
jz	short loc_102ADA2
mov	ecx, esi
mov	[esi+0F8h], ebx
call	sub_10298B5
mov	ecx, [esi+2BCh]
push	1
push	edi
push	6Dh
push	1
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)

loc_102ADA2:
cmp	dword_103F01C, ebx
jz	short loc_102ADC9
mov	ecx, esi
mov	[esi+0FCh], ebx
call	sub_10298E1
mov	ecx, [esi+2BCh]
push	2
push	edi
push	70h
push	2
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)

loc_102ADC9:
mov	eax, dword_103F024
cmp	eax, 0FFFFFFFFh
mov	ebx, 88h
jnz	short loc_102AE01
mov	al, [esi+0F0h]
cmp	al, 86h
jz	short loc_102ADFA
cmp	al, 80h
jz	short loc_102ADFA
cmp	al, 81h
jz	short loc_102ADFA
cmp	al, bl
jz	short loc_102ADFA
mov	dword_103F024, 2
jmp	short loc_102AE06

loc_102ADFA:
xor	eax, eax
mov	dword_103F024, eax

loc_102AE01:
cmp	eax, 2
jnz	short loc_102AE19

loc_102AE06:
push	3
mov	dword ptr [esi+100h], 2
push	40002h
jmp	short loc_102AE34

loc_102AE19:
and	dword ptr [esi+100h], 0
test	eax, eax
jz	short loc_102AE30
mov	ecx, esi
call	sub_102990D
push	3
push	edi
jmp	short loc_102AE34

loc_102AE30:
push	3
push	2

loc_102AE34:
mov	ecx, [esi+2BCh]
push	ebx
push	3
call	?SetButtonInfo@CToolBar@@QAEXHIIH@Z ; CToolBar::SetButtonInfo(int,uint,uint,int)
xor	eax, eax
cmp	dword_103EF50, eax
jz	short loc_102AE61
cmp	dword_103F028, eax
jz	short loc_102AE61
mov	ecx, esi
mov	[esi+108h], eax
call	sub_102997A

loc_102AE61:
pop	edi
pop	esi
pop	ebx
leave
retn
sub_102AC3A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __fastcall sub_102AE6B(LPARAM lParam)
sub_102AE6B proc near

var_74=	byte ptr -74h
hdc= dword ptr -70h
Logfont= tagLOGFONTW ptr -60h
var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 74h
mov	eax, ___security_cookie
push	esi
mov	esi, ecx
push	68h
lea	ecx, [esi+128h]
mov	[ebp+var_4], eax
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
mov	ecx, eax
call	sub_1029377
push	esi
lea	ecx, [ebp+var_74]
call	??0CClientDC@@QAE@PAVCWnd@@@Z ;	CClientDC::CClientDC(CWnd *)
cmp	[ebp+hdc], 0
jz	short loc_102AEC5
push	edi
push	17h
pop	ecx
xor	eax, eax
push	eax		; dwFlags
push	esi		; lParam
lea	edi, [ebp+Logfont]
rep stosd
push	offset sub_102A4F8 ; lpProc
lea	eax, [ebp+Logfont]
push	eax		; lpLogfont
push	[ebp+hdc]	; hdc
mov	[ebp+Logfont.lfCharSet], 1
call	ds:EnumFontFamiliesExW
pop	edi

loc_102AEC5:
lea	ecx, [ebp+var_74]
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)
mov	ecx, [ebp+var_4]
pop	esi
call	sub_1032F53
leave
retn
sub_102AE6B endp

db 5 dup(0CCh)



sub_102AEDD proc near
mov	eax, offset loc_1036F31
call	sub_1034E18
sub	esp, 64h
push	ebx
push	esi
push	edi
xor	ebx, ebx
mov	edi, ecx
lea	ecx, [ebp-20h]
mov	[ebp-10h], esp
mov	[ebp-1Ch], edi
mov	[ebp-40h], ebx
mov	[ebp-3Ch], ebx
mov	[ebp-38h], ebx
mov	[ebp-34h], ebx
call	??0CString@@QAE@XZ ; CString::CString(void)
push	0AC4Dh
lea	ecx, [ebp-20h]
mov	[ebp-4], ebx
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
mov	esi, [ebp-20h]
call	sub_100C004
push	eax
lea	eax, [ebp-40h]
push	eax
push	ebx
push	esi
mov	ecx, edi
call	sub_101C9D3
cmp	eax, ebx
mov	[ebp-18h], eax
jz	loc_102B096
lea	ecx, [ebp-28h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
push	edi
lea	ecx, [edi+128h]
mov	byte ptr [ebp-4], 2
call	sub_1029CEE
mov	ecx, [edi+2BCh]
push	ebx
push	edi
mov	[ebp-18h], eax
call	sub_1029AA1
mov	ecx, edi
mov	[ebp-18h], eax
call	sub_102920F
jmp	short loc_102AF81
mov	eax, [ebp-14h]
mov	[ebp-24h], eax
mov	eax, offset loc_102AF7C
retn

loc_102AF7C:
mov	edi, [ebp-1Ch]
xor	ebx, ebx

loc_102AF81:
mov	[ebp-4], ebx
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
cmp	[ebp-18h], ebx
jz	loc_102B096
mov	ecx, edi	; lParam
call	sub_102AE6B
push	68h
lea	ecx, [edi+128h]
call	?GetDlgItem@CWnd@@QBEPAV1@H@Z ;	CWnd::GetDlgItem(int)
cmp	eax, ebx
mov	[ebp-1Ch], eax
jz	loc_102B037
push	2		; dwFlags
lea	eax, [ebp-70h]
push	eax		; lpCs
call	ds:GetACP
push	eax		; lpSrc
call	ds:TranslateCharsetInfo
test	eax, eax
jnz	short loc_102AFCB
mov	[ebp-70h], ebx

loc_102AFCB:
and	dword ptr [ebp-14h], 0

loc_102AFCF:
mov	ecx, [ebp-1Ch]
call	sub_1028F4E
cmp	[ebp-14h], eax
jge	short loc_102B02E
push	dword ptr [ebp-14h] ; wParam
mov	ecx, [ebp-1Ch]
call	sub_1028F9F
lea	esi, [eax+4]
jmp	short loc_102B023

loc_102AFEC:
test	esi, esi
jz	short loc_102B027
movzx	eax, byte ptr [esi+4]
cmp	eax, [ebp-70h]
jnz	short loc_102B020
push	dword ptr [ebp-14h] ; wParam
mov	ecx, [ebp-1Ch]
xor	ebx, ebx
inc	ebx
call	sub_1028F7E
mov	eax, dword_103F15C
movzx	ecx, byte ptr [esi+4]
inc	eax
mov	dword_103F15C, eax
and	eax, 3
mov	dword_103F160[eax*4], ecx

loc_102B020:
mov	esi, [esi+8]

loc_102B023:
test	ebx, ebx
jz	short loc_102AFEC

loc_102B027:
inc	dword ptr [ebp-14h]
test	ebx, ebx
jz	short loc_102AFCF

loc_102B02E:
mov	ecx, edi
call	sub_102A8A7
xor	ebx, ebx

loc_102B037:
mov	ecx, edi
call	sub_102AC3A
lea	eax, [ebp-30h]
push	eax		; lpRect
push	dword ptr [edi+20h] ; hWnd
call	ds:GetWindowRect
lea	eax, [ebp-30h]
push	eax		; lprcSrc2
lea	eax, [ebp+8]
push	eax		; lprcSrc1
lea	eax, [ebp-50h]
push	eax		; lprcDst
call	ds:IntersectRect
test	eax, eax
jz	short loc_102B085
mov	eax, [ebp-2Ch]
sub	eax, [ebp-24h]
push	1
sub	eax, dword_103F078
push	ebx
add	eax, [ebp+0Ch]
push	ebx
push	eax
push	dword ptr [ebp-30h]
mov	ecx, edi
push	ds:?wndTop@CWnd@@2V1@B ; CWnd const CWnd::wndTop
call	?SetWindowPos@CWnd@@QAEHPBV1@HHHHI@Z ; CWnd::SetWindowPos(CWnd const *,int,int,int,int,uint)

loc_102B085:
cmp	dword_103EF34, ebx
jz	short loc_102B096
push	4
mov	ecx, edi
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)

loc_102B096:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-20h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
mov	eax, [ebp-18h]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	10h
sub_102AEDD endp

db 5 dup(0CCh)

loc_102B0BB:		; CRuntimeClass	const CWnd::classCWnd
mov	eax, ds:?classCWnd@CWnd@@2UCRuntimeClass@@B
retn
db 5 dup(0CCh)

loc_102B0C6:
mov	eax, offset off_1006430
retn
db 5 dup(0CCh)

loc_102B0D1:
mov	eax, offset off_1006448
retn
db 5 dup(0CCh)

loc_102B0DC:
mov	eax, offset off_1006460
retn
db 5 dup(0CCh)

loc_102B0E7:		; AFX_MSGMAP const CWnd::messageMap
mov	eax, ds:?messageMap@CWnd@@1UAFX_MSGMAP@@B
retn
db 5 dup(0CCh)



sub_102B0F2 proc near
mov	eax, offset off_1006538
retn
sub_102B0F2 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102B0FD proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	??0CWnd@@QAE@XZ	; CWnd::CWnd(void)
mov	eax, [ebp+arg_0]
mov	[esi+40h], eax
mov	dword ptr [esi], offset	off_1006684
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_102B0FD endp

db 5 dup(0CCh)



sub_102B122 proc near
mov	dword ptr [ecx], offset	off_1006684
jmp	??1CWnd@@UAE@XZ	; CWnd::~CWnd(void)
sub_102B122 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102B132 proc near

arg_0= dword ptr  8
arg_4= byte ptr	 0Ch
arg_14=	dword ptr  1Ch

mov	edi, edi
push	ebp
mov	ebp, esp
xor	eax, eax
push	eax
push	eax
push	[ebp+arg_14]
lea	edx, [ebp+arg_4]
push	edx
push	[ebp+arg_0]
push	offset Text
push	eax
call	?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const	&,CWnd *,uint,CCreateContext *)
pop	ebp
retn	18h
sub_102B132 endp

db 5 dup(0CCh)
push	0
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)
retn
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ebp+8]
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]
pop	ebp
retn	4
db 5 dup(0CCh)



sub_102B17E proc near
mov	eax, offset off_10065A0
retn
sub_102B17E endp

db 5 dup(0CCh)



sub_102B189 proc near
mov	dword ptr [ecx], offset	off_100674C
jmp	??1CFrameWnd@@UAE@XZ ; CFrameWnd::~CFrameWnd(void)
sub_102B189 endp

db 5 dup(0CCh)
and	dword_103EF30, 0
push	0
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)
retn
db 5 dup(0CCh)
byte_102B1AD db	8Bh, 0FFh
push	esi
push	edi
mov	edi, ecx
lea	esi, [edi+0C8h]
mov	ecx, [esi]
test	ecx, ecx
jz	short loc_102B1C9
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]
and	dword ptr [esi], 0

loc_102B1C9:
mov	ecx, edi
pop	edi
pop	esi
jmp	?PostNcDestroy@CWnd@@MAEXXZ ; CWnd::PostNcDestroy(void)
db 5 dup(0CCh)



sub_102B1D7 proc near
mov	eax, offset nullsub_8
retn
sub_102B1D7 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_102B1E2(void *, char)
sub_102B1E2 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_102B122
test	[ebp+arg_0], 1
jz	short loc_102B1FC
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_102B1FC:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_102B1E2 endp

align 8


; Attributes: bp-based frame

sub_102B208 proc near

Rect= tagRECT ptr -24h
rc= tagRECT ptr	-14h
var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 24h
mov	eax, dword_103ED04
push	ebx
mov	ebx, ecx
cmp	eax, [ebx+40h]
jnz	loc_102B300
push	esi
xor	esi, esi
cmp	dword_103E7E0, esi
jnz	loc_102B2FF
cmp	dword_103E7E4, esi
jnz	loc_102B2FF
cmp	dword_103E7DC, esi
jnz	loc_102B2FF
cmp	[ebp+arg_0], esi
mov	[ebp+var_4], esi
jnz	short loc_102B27D
push	dword ptr [ebx+20h] ; hWnd
call	ds:GetDC
push	eax
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
cmp	eax, esi
mov	[ebp+arg_0], eax
jnz	short loc_102B276
push	esi
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	loc_102B2FF

loc_102B276:
mov	[ebp+var_4], 1

loc_102B27D:
lea	eax, [ebp+Rect]
push	eax		; lpRect
push	dword ptr [ebx+20h] ; hWnd
call	ds:GetClientRect
mov	ecx, [ebx+40h]
lea	eax, [ebp+rc]
push	eax		; lprc
call	sub_101950A
push	3		; dy
push	3		; dx
lea	eax, [ebp+rc]
push	eax		; lprc
call	ds:InflateRect
mov	eax, [ebx+40h]
mov	ecx, [eax+40h]
cmp	ecx, dword_103E804
jnz	short loc_102B2D4
mov	ecx, [eax+50h]
mov	eax, [eax+54h]
push	edi
mov	esi, offset stru_103E808
lea	edi, [ebp+rc]
movsd
movsd
push	eax		; dy
movsd
push	ecx		; dx
lea	eax, [ebp+rc]
push	eax		; lprc
movsd
call	ds:OffsetRect
xor	esi, esi
pop	edi

loc_102B2D4:
mov	eax, [ebx+40h]
mov	ecx, dword_103E804
cmp	[eax+40h], ecx
jnz	short loc_102B2F0
push	0Fh		; char
lea	eax, [ebp+rc]
push	eax		; h
push	[ebp+arg_0]	; int
call	sub_102DA5B

loc_102B2F0:
cmp	[ebp+var_4], esi
jz	short loc_102B2FF
push	[ebp+arg_0]
mov	ecx, ebx
call	sub_100DA0C

loc_102B2FF:
pop	esi

loc_102B300:
pop	ebx
leave
retn	4
sub_102B208 endp

db 5 dup(0CCh)



sub_102B30A proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_100C004
mov	ecx, eax
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
mov	eax, [eax+44h]
mov	[esi+40h], eax
pop	esi
retn
sub_102B30A endp

db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	edi
mov	edi, ecx
call	?GetCurrentMessage@CWnd@@KGPBUtagMSG@@XZ ; CWnd::GetCurrentMessage(void)
push	dword ptr [edi+20h]
mov	esi, eax
call	ds:GetParent
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
push	dword ptr [esi+0Ch]
mov	ecx, eax
push	dword ptr [esi+8]
push	dword ptr [esi+4]
call	sub_1018DE3
pop	edi
pop	esi
retn	0Ch
db 5 dup(0CCh)
mov	eax, offset loc_1036F48
call	sub_1034E18
sub	esp, 18h
push	ebx
push	esi
push	edi
mov	edi, ecx
test	edi, edi
jnz	short loc_102B378
xor	ebx, ebx
jmp	short loc_102B37B

loc_102B378:
mov	ebx, [edi+20h]

loc_102B37B:		; CWnd::GetCurrentMessage(void)
call	?GetCurrentMessage@CWnd@@KGPBUtagMSG@@XZ
push	dword ptr [edi+20h]
mov	esi, eax
call	ds:GetParent
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
push	dword ptr [esi+0Ch]
mov	ecx, eax
push	dword ptr [esi+8]
push	dword ptr [esi+4]
call	sub_1018DE3
push	ebx
call	ds:IsWindow
test	eax, eax
jz	loc_102B431
xor	ebx, ebx
mov	dword ptr [ebp-14h], offset off_1003910
mov	[ebp-10h], ebx
lea	eax, [ebp-24h]
push	eax
push	dword ptr [edi+20h]
mov	[ebp-4], ebx
call	ds:GetClientRect
push	77h
lea	ecx, [ebp-14h]
call	sub_1018DB5
cmp	eax, ebx
jz	short loc_102B425
push	ebx
lea	ecx, [ebp-14h]
call	sub_1018D95
mov	esi, eax
cmp	esi, ebx
jz	short loc_102B425
lea	eax, [ebp+0Ch]
push	eax
push	dword ptr [edi+20h]
call	ds:ClientToScreen
lea	eax, [ebp-24h]
push	eax
mov	ecx, edi
call	sub_1018E03
push	8
push	0E159h
push	dword ptr [esi+4]
call	ds:CheckMenuItem
lea	eax, [ebp-24h]
push	eax
push	edi
push	dword ptr [ebp+10h]
mov	ecx, esi
push	dword ptr [ebp+0Ch]
push	2
call	?TrackPopupMenu@CMenu@@QAEHIHHPAVCWnd@@PBUtagRECT@@@Z ;	CMenu::TrackPopupMenu(uint,int,int,CWnd	*,tagRECT const	*)

loc_102B425:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-14h]
call	sub_1018D5D

loc_102B431:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	0Ch
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
call	sub_100C004
mov	ecx, eax
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
mov	esi, eax
test	esi, esi
jz	short loc_102B474
push	offset off_1004900
mov	ecx, esi
call	?IsKindOf@CObject@@QBEHPBUCRuntimeClass@@@Z ; CObject::IsKindOf(CRuntimeClass const *)
test	eax, eax
jz	short loc_102B474
mov	ecx, esi
pop	esi
jmp	sub_10228C1

loc_102B474:
pop	esi
retn
db 5 dup(0CCh)



sub_102B47B proc near
mov	eax, offset loc_1036F68
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
call	sub_101C934
and	dword ptr [ebp-4], 0
push	44h		; unsigned int
mov	dword ptr [esi], offset	off_100674C
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-14h], ecx
test	ecx, ecx
mov	byte ptr [ebp-4], 1
jz	short loc_102B4BB
push	dword ptr [ebp+8]
call	sub_102B0FD
jmp	short loc_102B4BD

loc_102B4BB:
xor	eax, eax

loc_102B4BD:
test	eax, eax
mov	byte ptr [ebp-4], 0
mov	[esi+0C8h], eax
jnz	short loc_102B4D7
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4

loc_102B4D7:
mov	ecx, [ebp-0Ch]
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn	4
sub_102B47B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_102B4ED(void *, char)
sub_102B4ED proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_102B189
test	[ebp+arg_0], 1
jz	short loc_102B507
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_102B507:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_102B4ED endp

db 5 dup(0CCh)



sub_102B513 proc near
mov	eax, offset loc_1036F7F
call	sub_1034E18
sub	esp, 18h
push	ebx
mov	ebx, ds:GetWindowRect
push	esi
push	edi
lea	eax, [ebp-24h]
push	eax		; lpRect
mov	eax, [ebp+8]
push	dword ptr [eax+20h] ; hWnd
mov	[ebp-10h], ecx
call	ebx ; GetWindowRect
mov	eax, [ebp-24h]
mov	ecx, [ebp-20h]
add	eax, 78h
push	0Fh		; dy
mov	[ebp-1Ch], eax
push	0Fh		; dx
lea	eax, [ebp-24h]
add	ecx, 78h
push	eax		; lprc
mov	[ebp-18h], ecx
call	ds:OffsetRect
push	offset stru_103EFA0 ; lprc
call	ds:IsRectEmpty
test	eax, eax
jnz	short loc_102B573
mov	esi, offset stru_103EFA0
lea	edi, [ebp-24h]
movsd
movsd
movsd
movsd

loc_102B573:
lea	ecx, [ebp-14h]
call	??0CString@@QAE@XZ ; CString::CString(void)
and	dword ptr [ebp-4], 0
push	0AC4Fh
lea	ecx, [ebp-14h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
push	dword ptr [ebp+8]
mov	esi, [ebp-10h]
lea	eax, [ebp-24h]
push	eax
push	40000h
push	dword ptr [ebp-14h]
mov	ecx, esi
call	sub_101C9D3
test	eax, eax
mov	[ebp+8], eax
jz	short loc_102B5EC
lea	eax, [ebp-24h]
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:GetClientRect
mov	eax, [ebp-10h]
mov	ecx, [eax+0C8h]
push	esi
sub	esp, 10h
mov	edi, esp
lea	esi, [ebp-24h]
movsd
movsd
movsd
push	50000000h
movsd
call	sub_102B132
test	eax, eax
jnz	short loc_102B5EC
and	[ebp+8], eax
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4

loc_102B5EC:
mov	eax, [ebp-10h]
push	offset stru_103EFA0 ; lpRect
push	dword ptr [eax+20h] ; hWnd
call	ebx ; GetWindowRect
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-14h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
mov	eax, [ebp+8]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	4
sub_102B513 endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
mov	ebx, [ebp+0Ch]
push	esi
push	edi
mov	edi, [ebp+10h]
push	edi
push	ebx
push	dword ptr [ebp+8]
mov	esi, ecx
call	?OnSize@CFrameWnd@@IAEXIHH@Z ; CFrameWnd::OnSize(uint,int,int)
mov	ecx, [esi+0C8h]
test	ecx, ecx
jz	short loc_102B65B
cmp	dword ptr [ecx+20h], 0
jz	short loc_102B65B
push	10h
push	edi
push	ebx
push	0
push	0
push	ds:?wndTop@CWnd@@2V1@B ; CWnd const CWnd::wndTop
call	?SetWindowPos@CWnd@@QAEHPBV1@HHHHI@Z ; CWnd::SetWindowPos(CWnd const *,int,int,int,int,uint)

loc_102B65B:
mov	eax, stru_103EFA0.left
add	eax, ebx
mov	stru_103EFA0.right, eax
mov	eax, stru_103EFA0.top
add	eax, edi
pop	edi
pop	esi
mov	stru_103EFA0.bottom, eax
pop	ebx
pop	ebp
retn	0Ch
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
mov	esi, ds:GetSystemMetrics
push	edi
push	0Bh
mov	ebx, ecx
call	esi ; GetSystemMetrics
mov	edi, [ebp+8]
shl	eax, 1
push	0Ch
mov	[edi+18h], eax
call	esi ; GetSystemMetrics
shl	eax, 1
mov	ecx, ebx
mov	[edi+1Ch], eax
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	4
db 5 dup(0CCh)



sub_102B6B7 proc near
mov	eax, offset loc_1036F9F
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
call	??0CFrameWnd@@QAE@XZ ; CFrameWnd::CFrameWnd(void)
and	dword ptr [ebp-4], 0
mov	dword ptr [esi], offset	off_1006854
mov	eax, dword_103EF30
mov	[esi+0C4h], eax
push	44h		; unsigned int
mov	dword_103EF30, 1
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-14h], ecx
test	ecx, ecx
mov	byte ptr [ebp-4], 1
jz	short loc_102B70C
push	dword ptr [ebp+8]
call	sub_102B0FD
jmp	short loc_102B70E

loc_102B70C:
xor	eax, eax

loc_102B70E:
test	eax, eax
mov	byte ptr [ebp-4], 0
mov	[esi+0C8h], eax
jnz	short loc_102B728
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4

loc_102B728:
mov	ecx, [ebp-0Ch]
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn	4
sub_102B6B7 endp

db 5 dup(0CCh)



sub_102B73E proc near
mov	eax, offset loc_1036FB6
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_1006854
mov	eax, [esi+0C0h]
and	dword ptr [ebp-4], 0
test	eax, eax
jz	short loc_102B770
mov	ecx, [esi+20h]
push	eax		; dwNewLong
push	0FFFFFFF2h	; nIndex
push	ecx		; hWnd
call	ds:SetClassLongW

loc_102B770:
mov	ecx, [esi+0C8h]
test	ecx, ecx
jz	short loc_102B78C
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]
mov	eax, [esi+0C4h]
mov	dword_103EF30, eax

loc_102B78C:
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	??1CFrameWnd@@UAE@XZ ; CFrameWnd::~CFrameWnd(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_102B73E endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102B7A9(LPCWSTR)
sub_102B7A9 proc near

var_228= dword ptr -228h
var_224= dword ptr -224h
var_220= dword ptr -220h
var_21C= dword ptr -21Ch
var_218= dword ptr -218h
var_214= dword ptr -214h
var_210= dword ptr -210h
Buffer=	word ptr -20Ch
var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 228h
mov	eax, ___security_cookie
push	ebx
mov	ebx, [ebp+arg_0]
push	esi
mov	esi, ds:GetSystemMetrics
push	edi
push	1		; nIndex
mov	[ebp+var_4], eax
mov	[ebp+var_224], ecx
call	esi ; GetSystemMetrics
xor	edi, edi
push	edi		; nIndex
mov	[ebp+var_210], eax
call	esi ; GetSystemMetrics
cmp	ebx, edi
mov	esi, ds:GetModuleHandleW
mov	[ebp+var_218], eax
mov	eax, [ebp+var_210]
mov	[ebp+var_220], edi
mov	[ebp+var_21C], edi
mov	[ebp+var_214], eax
jz	short loc_102B81F
cmp	[ebx], di
jz	short loc_102B81F
push	104h		; cchSize
lea	eax, [ebp+Buffer]
push	eax		; Buf
push	ebx		; LPCWSTR
call	ds:GetFileTitleW
jmp	short loc_102B83A

loc_102B81F:		; cchBufferMax
push	104h
lea	eax, [ebp+Buffer]
push	eax		; lpBuffer
push	0F003h		; uID
push	edi		; lpModuleName
call	esi ; GetModuleHandleW
push	eax		; hInstance
call	ds:LoadStringW

loc_102B83A:
mov	ebx, [ebp+var_224]
push	edi
push	edi
push	edi
push	edi
lea	eax, [ebp+var_220]
push	eax
push	92000000h
lea	eax, [ebp+Buffer]
push	eax
push	edi
mov	ecx, ebx
call	?Create@CFrameWnd@@QAEHPBG0KABUtagRECT@@PAVCWnd@@0KPAUCCreateContext@@@Z ; CFrameWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,ushort const *,ulong,CCreateContext *)
push	2		; lpIconName
push	edi		; lpModuleName
mov	[ebp+var_210], eax
call	esi ; GetModuleHandleW
push	eax		; hInstance
call	ds:LoadIconW
cmp	ebx, edi
jnz	short loc_102B879
xor	ecx, ecx
jmp	short loc_102B87C

loc_102B879:
mov	ecx, [ebx+20h]

loc_102B87C:		; dwNewLong
push	eax
push	0FFFFFFF2h	; nIndex
push	ecx		; hWnd
call	ds:SetClassLongW
cmp	[ebp+var_210], edi
mov	[ebx+0C0h], eax
jz	loc_102B94A
push	edi
call	sub_100C004
mov	ecx, eax
call	?EnableWindow@CWnd@@QAEHH@Z ; CWnd::EnableWindow(int)
mov	ebx, [ebx+0C8h]
mov	eax, [ebx+40h]
cmp	eax, edi
mov	[ebp+var_228], ebx
jz	loc_102B94A
mov	ebx, [ebp+var_218]
mov	eax, [eax+40h]
sub	ebx, [ebp+var_220]
mov	ecx, [eax+2Ch]
cmp	ebx, ecx
jl	short loc_102B8D4
mov	ebx, ecx

loc_102B8D4:
mov	ecx, [ebp+var_214]
sub	ecx, [ebp+var_21C]
mov	eax, [eax+30h]
cmp	ecx, eax
mov	edi, ecx
jl	short loc_102B8EB
mov	edi, eax

loc_102B8EB:
mov	eax, [ebp+var_218]
push	[ebp+var_224]
sub	eax, ebx
sub	eax, [ebp+var_220]
sub	esp, 10h
cdq
sub	eax, edx
mov	esi, eax
mov	eax, ecx
sub	eax, edi
mov	ecx, [ebp+var_228]
cdq
sar	esi, 1
sub	eax, edx
add	ebx, esi
mov	[ebp+var_220], esi
sar	eax, 1
mov	[ebp+var_21C], eax
add	eax, edi
mov	[ebp+var_218], ebx
mov	[ebp+var_214], eax
mov	edi, esp
lea	esi, [ebp+var_220]
movsd
movsd
movsd
push	50000000h
movsd
call	sub_102B132

loc_102B94A:
mov	ecx, [ebp+var_4]
mov	eax, [ebp+var_210]
call	sub_1032F53
pop	edi
pop	esi
pop	ebx
leave
retn	4
sub_102B7A9 endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
push	edi
push	1
mov	esi, ecx
call	sub_100D149
mov	edi, eax
test	edi, edi
jnz	short loc_102B989
push	dword ptr [ebp+8]
mov	ecx, esi
call	?OnEraseBkgnd@CFrameWnd@@IAEHPAVCDC@@@Z	; CFrameWnd::OnEraseBkgnd(CDC *)
jmp	short loc_102B9A6

loc_102B989:
lea	eax, [ebp-10h]
push	eax
push	dword ptr [esi+20h]
call	ds:GetClientRect
mov	ecx, [ebp+8]
push	edi
lea	eax, [ebp-10h]
push	eax
call	sub_100AC6F
xor	eax, eax
inc	eax

loc_102B9A6:
pop	edi
pop	esi
leave
retn	4
db 5 dup(0CCh)
push	0
push	0
push	10h
push	dword ptr [ecx+20h]
call	ds:PostMessageW
retn	0Ch
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	1
mov	esi, ecx
call	sub_100C004
mov	ecx, eax
call	?EnableWindow@CWnd@@QAEHH@Z ; CWnd::EnableWindow(int)
push	dword ptr [esi+20h]
call	ds:DestroyWindow
pop	esi
retn
db 5 dup(0CCh)



sub_102B9EB proc near
mov	eax, offset loc_1036FCD
call	sub_1034E18
sub	esp, 34h
cmp	dword_103EF30, 0
push	ebx
mov	ebx, ecx
jz	loc_102BB5B
mov	eax, [ebx+40h]
test	eax, eax
jz	loc_102BB5B
cmp	dword ptr [eax+40h], 0
jz	loc_102BB5B
mov	ecx, [eax+54h]
mov	eax, [eax+50h]
push	esi
cdq
mov	esi, eax
xor	esi, edx
push	edi
sub	esi, edx
mov	eax, ecx
cdq
mov	edi, eax
lea	eax, [ebp-30h]
xor	edi, edx
push	eax		; lpRect
push	dword ptr [ebx+20h] ; hWnd
sub	edi, edx
sub	esi, 3
sub	edi, 3
call	ds:GetClientRect
mov	eax, [ebx+40h]
mov	edx, [ebp-28h]
sub	edx, [ebp-30h]
mov	eax, [eax+40h]
mov	ecx, [eax+2Ch]
cmp	edx, ecx
mov	[ebp-20h], edx
mov	[ebp-1Ch], edx
jl	short loc_102BA64
mov	[ebp-1Ch], ecx

loc_102BA64:
mov	edx, [ebp-24h]
sub	edx, [ebp-2Ch]
mov	eax, [eax+30h]
cmp	edx, eax
mov	[ebp-10h], edx
mov	[ebp-18h], edx
jl	short loc_102BA7A
mov	[ebp-18h], eax

loc_102BA7A:
mov	edx, [ebp-20h]
cmp	edx, ecx
jl	short loc_102BA87
and	dword ptr [ebp-14h], 0
jmp	short loc_102BA9B

loc_102BA87:
add	edx, esi
cmp	edx, ecx
jle	short loc_102BA98
sub	ecx, [ebp-28h]
add	ecx, [ebp-30h]
mov	[ebp-14h], ecx
jmp	short loc_102BA9B

loc_102BA98:
mov	[ebp-14h], esi

loc_102BA9B:
mov	ecx, [ebp-10h]
cmp	ecx, eax
jl	short loc_102BAA8
and	dword ptr [ebp-10h], 0
jmp	short loc_102BABC

loc_102BAA8:
add	ecx, edi
cmp	ecx, eax
jle	short loc_102BAB9
sub	eax, [ebp-24h]
add	eax, [ebp-2Ch]
mov	[ebp-10h], eax
jmp	short loc_102BABC

loc_102BAB9:
mov	[ebp-10h], edi

loc_102BABC:
lea	ecx, [ebp-40h]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	eax, [ebx+40h]
mov	eax, [eax+40h]
push	dword ptr [eax+0Ch]
and	dword ptr [ebp-4], 0
lea	ecx, [ebp-40h]
call	?Attach@CDC@@QAEHPAUHDC__@@@Z ;	CDC::Attach(HDC__ *)
push	0
lea	eax, [ebp-40h]
mov	esi, offset unk_103E778
push	eax
mov	ecx, esi
call	sub_100EA13
xor	edi, edi
push	edi
push	dword ptr [ebp+8]
mov	ecx, esi
mov	[ebp-20h], eax
call	sub_100EA13
mov	ecx, [ebp+8]
push	0CC0020h	; rop
push	dword ptr [ebp-10h] ; y1
mov	esi, eax
push	dword ptr [ebp-14h] ; x1
lea	eax, [ebp-40h]
push	eax		; hdcSrc
push	dword ptr [ebp-18h] ; cy
push	dword ptr [ebp-1Ch] ; int
push	edi		; y
push	edi		; x
call	sub_10097A4
cmp	esi, edi
jz	short loc_102BB2A
mov	ecx, [ebp+8]
push	edi
push	esi
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_102BB2A:
cmp	[ebp-20h], edi
jz	short loc_102BB3B
push	edi
push	dword ptr [ebp-20h]
lea	ecx, [ebp-40h]
call	?SelectPalette@CDC@@QAEPAVCPalette@@PAV2@H@Z ; CDC::SelectPalette(CPalette *,int)

loc_102BB3B:
lea	ecx, [ebp-40h]
call	?Detach@CDC@@QAEPAUHDC__@@XZ ; CDC::Detach(void)
push	dword ptr [ebp+8]
mov	ecx, ebx
call	sub_102B208
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-40h]
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
pop	edi
pop	esi

loc_102BB5B:
mov	ecx, [ebp-0Ch]
pop	ebx
mov	large fs:0, ecx
leave
retn	4
sub_102B9EB endp

db 5 dup(0CCh)



sub_102BB6F proc near
mov	eax, offset loc_1036FEC
call	sub_1034E18
sub	esp, 24h
cmp	dword_103EF30, 0
push	ebx
push	esi
push	edi
mov	[ebp-10h], esp
mov	esi, ecx
jz	short loc_102BBCA
lea	ecx, [ebp-1Ch]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
and	dword ptr [ebp-4], 0
push	esi
lea	ecx, [ebp-30h]
mov	byte ptr [ebp-4], 1
call	??0CClientDC@@QAE@PAVCWnd@@@Z ;	CClientDC::CClientDC(CWnd *)
lea	eax, [ebp-30h]
push	eax
mov	ecx, esi
mov	byte ptr [ebp-4], 2
call	sub_102B9EB
lea	ecx, [ebp-30h]
mov	byte ptr [ebp-4], 1
call	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_102BBC1:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)

loc_102BBCA:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn
sub_102BB6F endp

mov	eax, [ebp-14h]
mov	[ebp-18h], eax
mov	eax, offset loc_102BBC1
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_102BBEA(void *, char)
sub_102BBEA proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_102B73E
test	[ebp+arg_0], 1
jz	short loc_102BC04
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_102BC04:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_102BBEA endp

align 10h
mov	eax, offset loc_1037003
call	sub_1034E18
sub	esp, 58h
mov	eax, ___security_cookie
push	esi
mov	esi, ecx
push	esi
lea	ecx, [ebp-64h]
mov	[ebp-10h], eax
call	??0CPaintDC@@QAE@PAVCWnd@@@Z ; CPaintDC::CPaintDC(CWnd *)
push	dword ptr [ebp-60h]
and	dword ptr [ebp-4], 0
call	off_103DB30
test	al, 1
jz	short loc_102BC4D
push	0
push	dword ptr [ebp-60h]
call	off_103DB34

loc_102BC4D:
lea	eax, [ebp-64h]
push	eax
mov	ecx, esi
call	sub_102B9EB
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-64h]
call	??1CPaintDC@@UAE@XZ ; CPaintDC::~CPaintDC(void)
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
mov	ecx, [ebp-10h]
pop	esi
call	sub_1032F53
leave
retn
db 5 dup(0CCh)

loc_102BC7E:		; CRuntimeClass	const CControlBar::classCControlBar
mov	eax, ds:?classCControlBar@CControlBar@@2UCRuntimeClass@@B
retn
db 5 dup(0CCh)

loc_102BC89:
mov	eax, offset off_1006958
retn
db 5 dup(0CCh)



sub_102BC94 proc near
mov	eax, offset off_1006A78
retn
sub_102BC94 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102BC9F(HWND hwnd, LPCWSTR pszClassList)
sub_102BC9F proc near

ms_exc=	CPPEH_RECORD ptr -18h
hwnd= dword ptr	 8
pszClassList= dword ptr	 0Ch

push	8
push	offset stru_1006C08
call	__SEH_prolog
and	[ebp+ms_exc.registration.TryLevel], 0
push	[ebp+pszClassList] ; pszClassList
push	[ebp+hwnd]	; hwnd
call	OpenThemeData
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
jmp	short loc_102BCCE

loc_102BCC1:		; Exception filter 0 for function 102BC9F
xor	eax, eax
inc	eax
retn

loc_102BCC5:		; Exception handler 0 for function 102BC9F
mov	esp, [ebp+ms_exc.old_esp]
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
xor	eax, eax

loc_102BCCE:
call	__SEH_epilog
retn	8
sub_102BC9F endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	dword ptr [ebp+8]
mov	eax, [ecx]
call	dword ptr [eax+0F0h]
mov	eax, [ebp+8]
pop	ebp
retn	0Ch
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	edx, [ebp+8]
mov	eax, [edx+4]
cmp	eax, 100h
jb	short loc_102BD33
cmp	eax, 102h
ja	short loc_102BD33
mov	eax, dword_103ED04
test	eax, eax
jz	short loc_102BD2F
mov	eax, [eax+20h]
mov	[edx], eax
mov	ecx, dword_103ED04
mov	eax, [ecx]
push	edx
call	dword ptr [eax+98h]
jmp	short loc_102BD39

loc_102BD2F:
xor	eax, eax
jmp	short loc_102BD39

loc_102BD33:
push	edx
call	?PreTranslateMessage@CControlBar@@UAEHPAUtagMSG@@@Z ; CControlBar::PreTranslateMessage(tagMSG *)

loc_102BD39:
pop	ebp
retn	4
db 5 dup(0CCh)

loc_102BD42:		; AFX_MSGMAP const CControlBar::messageMap
mov	eax, ds:?messageMap@CControlBar@@1UAFX_MSGMAP@@B
retn
db 5 dup(0CCh)



sub_102BD4D proc near
mov	eax, offset off_1006BF0
retn
sub_102BD4D endp

align 8


; Attributes: bp-based frame

sub_102BD58 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+arg_0]
mov	esi, [ecx+8]
push	esi
call	?SetAtGrow@CObArray@@QAEXHPAVCObject@@@Z ; CObArray::SetAtGrow(int,CObject *)
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_102BD58 endp

db 5 dup(0CCh)



sub_102BD76 proc near
and	dword ptr [ecx+8Ch], 0
and	dword ptr [ecx+88h], 0
jmp	ds:ReleaseCapture
sub_102BD76 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102BD8F proc near

arg_0= word ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ecx+0BCh]
mov	edx, [eax+8]
push	esi
xor	esi, esi
test	edx, edx
push	edi
jle	short loc_102BDC0
mov	ecx, [eax+4]

loc_102BDA8:
mov	eax, [ecx]
test	eax, eax
jz	short loc_102BDB8
mov	di, [eax+8]
cmp	di, [ebp+arg_0]
jz	short loc_102BDC2

loc_102BDB8:
inc	esi
add	ecx, 4
cmp	esi, edx
jl	short loc_102BDA8

loc_102BDC0:
xor	eax, eax

loc_102BDC2:
pop	edi
pop	esi
pop	ebp
retn	4
sub_102BD8F endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102BDCD proc near

var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
mov	edx, [ebp+arg_4]
mov	eax, [edx]
push	ebx
push	esi
push	edi
lea	esi, [ecx+110h]
lea	edi, [ebp+var_10]
movsd
movsd
movsd
movsd
cmp	eax, [ebp+var_10]
mov	esi, [edx+4]
jl	loc_102BE96
cmp	eax, [ebp+var_8]
jge	loc_102BE96
cmp	esi, [ebp+var_C]
jl	loc_102BE96
cmp	esi, [ebp+var_4]
jge	loc_102BE96
mov	edi, [ecx+120h]
sub	eax, edi
cdq
idiv	dword ptr [ecx+0CCh]
mov	ebx, eax
mov	eax, esi
sub	eax, [ecx+124h]
mov	esi, [ecx+0BCh]
cdq
idiv	dword ptr [ecx+0D0h]
movzx	edx, word ptr [ecx+0C8h]
imul	edx, eax
add	edx, ebx
cmp	edx, [esi+8]
jge	short loc_102BE96
mov	esi, [esi+4]
mov	edx, [esi+edx*4]
test	edx, edx
mov	[ebp+arg_4], edx
jz	short loc_102BE91
mov	esi, [ebp+arg_0]
test	esi, esi
jz	short loc_102BE91
mov	edx, [ecx+0CCh]
imul	edx, ebx
add	edx, edi
mov	[esi], edx
mov	edx, [ecx+0D0h]
imul	edx, eax
add	edx, [ecx+124h]
mov	[esi+4], edx
mov	eax, [ecx+0CCh]
add	eax, [esi]
mov	[esi+8], eax
mov	eax, [ecx+0D0h]
add	eax, edx
mov	[esi+0Ch], eax

loc_102BE91:
mov	eax, [ebp+arg_4]
jmp	short loc_102BE98

loc_102BE96:
xor	eax, eax

loc_102BE98:
pop	edi
pop	esi
pop	ebx
leave
retn	8
sub_102BDCD endp

db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
push	edi
mov	edi, ecx
lea	esi, [edi+0B8h]
mov	eax, [esi]
test	eax, eax
jz	short loc_102BEC0
push	eax
call	CloseThemeData
and	dword ptr [esi], 0

loc_102BEC0:
mov	ecx, edi
pop	edi
pop	esi
jmp	loc_1034A88
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102BECE proc near

arg_0= dword ptr  8
arg_4= word ptr	 0Ch
arg_8= dword ptr  10h
arg_C= word ptr	 14h
arg_10=	word ptr  18h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, ecx
mov	ecx, [ebp+arg_0]
mov	[eax+4], ecx
mov	cx, [ebp+arg_4]
mov	[eax+8], cx
mov	ecx, [ebp+arg_8]
mov	[eax+0Ch], ecx
mov	cx, [ebp+arg_C]
mov	[eax+12h], cx
mov	cx, [ebp+arg_10]
mov	dword ptr [eax], offset	off_1006C18
mov	[eax+10h], cx
pop	ebp
retn	14h
sub_102BECE endp

align 8
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
lea	eax, [ebp+8]
push	eax
lea	eax, [ebp-10h]
push	eax
call	sub_102BDCD
test	eax, eax
jz	short loc_102BF49
mov	edx, [ebp+10h]
test	edx, edx
movzx	eax, word ptr [eax+8]
jz	short locret_102BF4C
mov	ecx, [ecx+20h]
or	dword ptr [edx+24h], 0FFFFFFFFh
push	esi
push	edi
lea	edi, [edx+10h]
lea	esi, [ebp-10h]
movsd
movsd
movsd
movsd
pop	edi
mov	[edx+8], ecx
mov	[edx+0Ch], eax
pop	esi
jmp	short locret_102BF4C

loc_102BF49:
or	eax, 0FFFFFFFFh

locret_102BF4C:
leave
retn	0Ch
db 5 dup(0CCh)
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
retn	8
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102BF62 proc near

Rect= tagRECT ptr -30h
var_20=	dword ptr -20h
var_1C=	dword ptr -1Ch
var_18=	dword ptr -18h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 30h
push	ebx
push	esi
push	edi
lea	eax, [ebp+Rect]
mov	esi, ecx
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:GetWindowRect
lea	eax, [ebp+var_20]
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:GetClientRect
mov	eax, [ebp+var_18]
sub	eax, [ebp+var_20]
push	2
mov	edx, eax
mov	eax, [ebp+Rect.right]
sub	eax, [ebp+Rect.left]
pop	ebx
sub	eax, edx
mov	[ebp+var_10], eax
mov	eax, [esi+0BCh]
mov	eax, [eax+8]
cdq
idiv	ebx
mov	ecx, [ebp+var_14]
sub	ecx, [ebp+var_1C]
mov	ebx, [esi+124h]
mov	edi, ecx
mov	ecx, [ebp+Rect.bottom]
sub	ecx, [ebp+Rect.top]
mov	[esi+114h], ebx
sub	ecx, edi
mov	edi, [esi+120h]
mov	[ebp+var_C], ecx
mov	ecx, [esi+0CCh]
add	ecx, edi
shl	ecx, 1
mov	[esi+110h], edi
mov	[ebp+var_8], ebx
mov	[ebp+var_4], eax
xor	eax, eax
test	edx, edx
setnz	al
mov	edx, ecx
sub	edx, edi
mov	[esi+118h], edx
add	eax, [ebp+var_4]
mov	[ebp+var_4], edx
imul	eax, [esi+0D0h]
lea	eax, [eax+ebx*2]
mov	edx, eax
sub	edx, ebx
mov	ebx, [ebp+var_20]
mov	[esi+11Ch], edx
lea	edx, [esi+128h]
lea	edi, [edi+ebx+4]
mov	[edx], edi
mov	edi, [ebp+var_4]
mov	[esi+12Ch], eax
add	edi, 0FFFFFFFCh
mov	[esi+130h], edi
lea	edi, [eax+42h]
mov	[esi+134h], edi
mov	esi, [edx+0Ch]
sub	esi, [edx+4]
mov	edx, [ebp+var_10]
add	esi, [ebp+var_8]
sub	ecx, ebx
add	eax, esi
sub	eax, [ebp+var_1C]
mov	esi, [ebp+var_C]
add	edx, ecx
mov	ecx, [ebp+arg_0]
add	eax, esi
pop	edi
pop	esi
mov	[ecx+4], eax
mov	[ecx], edx
mov	eax, ecx
pop	ebx
leave
retn	4
sub_102BF62 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102C06B proc near

rc= tagRECT ptr	-10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	ebx
push	esi
push	edi
mov	ebx, ecx
lea	esi, [ebx+128h]
lea	edi, [ebp+rc]
movsd
movsd
push	0FFFFFFFFh	; dy
movsd
push	0FFFFFFFFh	; dx
lea	eax, [ebp+rc]
push	eax		; lprc
movsd
call	ds:InflateRect
push	0		; bErase
lea	eax, [ebp+rc]
push	eax		; lpRect
push	dword ptr [ebx+20h] ; hWnd
call	ds:InvalidateRect
pop	edi
pop	esi
pop	ebx
leave
retn	4
sub_102C06B endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
lea	eax, [ebp-10h]
mov	esi, ecx
push	eax
push	dword ptr [esi+20h]
call	ds:GetClientRect
push	0Fh
call	sub_100D149
mov	ecx, [ebp+8]
push	eax
lea	eax, [ebp-10h]
push	eax
call	sub_100AC6F
mov	ecx, esi
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
pop	esi
leave
retn	4
db 5 dup(0CCh)



sub_102C0EB proc near
mov	eax, offset loc_1037031
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
call	??0CControlBar@@IAE@XZ ; CControlBar::CControlBar(void)
xor	edi, edi
lea	ecx, [esi+0D4h]
mov	[ebp-4], edi
mov	dword ptr [esi], offset	off_1006C34
call	sub_10186E8
push	14h		; unsigned int
mov	byte ptr [ebp-4], 1
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp-14h], ecx
cmp	ecx, edi
mov	byte ptr [ebp-4], 2
jz	short loc_102C139
call	??0CObArray@@QAE@XZ ; CObArray::CObArray(void)
jmp	short loc_102C13B

loc_102C139:
xor	eax, eax

loc_102C13B:
mov	ecx, [ebp-0Ch]
mov	[esi+7Ch], edi
mov	[esi+80h], edi
mov	[esi+84h], edi
mov	[esi+88h], edi
mov	[esi+8Ch], edi
mov	[esi+120h], edi
mov	[esi+124h], edi
mov	[esi+0A4h], edi
mov	[esi+0B8h], edi
mov	[esi+0BCh], eax
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_102C0EB endp

db 5 dup(0CCh)



sub_102C189 proc near
mov	eax, offset loc_1037056
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_1006C34
mov	ecx, [esi+7Ch]
xor	edi, edi
inc	edi
test	ecx, ecx
mov	[ebp-4], edi
jz	short loc_102C1B4
mov	eax, [ecx]
push	edi
call	dword ptr [eax+4]

loc_102C1B4:
mov	ecx, [esi+80h]
test	ecx, ecx
jz	short loc_102C1C4
mov	eax, [ecx]
push	edi
call	dword ptr [eax+4]

loc_102C1C4:
mov	ecx, [esi+84h]
test	ecx, ecx
jz	short loc_102C1D4
mov	eax, [ecx]
push	edi
call	dword ptr [eax+4]

loc_102C1D4:
mov	eax, [esi+0BCh]
test	eax, eax
jz	short loc_102C216
push	ebx
mov	ebx, [eax+8]
xor	edi, edi
test	ebx, ebx
jle	short loc_102C204

loc_102C1E8:
mov	eax, [esi+0BCh]
mov	eax, [eax+4]
mov	ecx, [eax+edi*4]
test	ecx, ecx
jz	short loc_102C1FF
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_102C1FF:
inc	edi
cmp	edi, ebx
jl	short loc_102C1E8

loc_102C204:
mov	ecx, [esi+0BCh]
test	ecx, ecx
pop	ebx
jz	short loc_102C216
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_102C216:
lea	ecx, [esi+0D4h]
mov	byte ptr [ebp-4], 0
call	sub_10187A8
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	??1CControlBar@@UAE@XZ ; CControlBar::~CControlBar(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_102C189 endp

db 5 dup(0CCh)



sub_102C243 proc near
mov	eax, offset loc_1037075
call	sub_1034E18
sub	esp, 50h
push	esi
mov	esi, ecx
push	edi
push	esi
lea	ecx, [ebp-5Ch]
mov	[ebp-10h], esi
call	??0CWindowDC@@QAE@PAVCWnd@@@Z ;	CWindowDC::CWindowDC(CWnd *)
xor	edi, edi
cmp	[ebp-58h], edi
mov	[ebp-4], edi
jnz	short loc_102C27B
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	loc_102C737

loc_102C27B:
lea	ecx, [ebp-38h]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
lea	eax, [ebp-5Ch]
push	eax		; hdc
lea	ecx, [ebp-38h]
mov	byte ptr [ebp-4], 1
call	sub_1009779
test	eax, eax
jnz	short loc_102C2A8
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	loc_102C72B

loc_102C2A8:		; nIndex
push	6
call	sub_100D149
push	eax
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	ecx, [esi+84h]
cmp	ecx, edi
mov	[ebp-18h], eax
jz	short loc_102C2CC
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_102C2CC:		; unsigned int
push	8
call	??2@YAPAXI@Z	; operator new(uint)
cmp	eax, edi
pop	ecx
jz	short loc_102C2E3
mov	[eax+4], edi
mov	dword ptr [eax], offset	off_1001F9C
jmp	short loc_102C2E5

loc_102C2E3:
xor	eax, eax

loc_102C2E5:		; cy
push	dword ptr [esi+0D0h]
lea	ecx, [ebp-5Ch]
push	dword ptr [esi+0CCh] ; int
mov	[esi+84h], eax
push	ecx		; int
mov	ecx, eax
call	sub_100AC43
test	eax, eax
jnz	short loc_102C317
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
jmp	loc_102C72B

loc_102C317:
push	ebx
push	dword ptr [esi+84h]
lea	ecx, [ebp-38h]
call	sub_1032D5B
mov	[ebp-14h], eax
mov	eax, [esi+0D0h]
mov	esi, [esi+0CCh]
mov	[ebp-48h], edi
mov	[ebp-44h], edi
mov	[ebp-40h], esi
mov	[ebp-3Ch], eax
lea	esi, [ebp-48h]
lea	edi, [ebp-28h]
movsd
movsd
movsd
push	6		; nIndex
movsd
call	sub_100D149
push	eax
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	edi, [ebp-1Ch]
mov	ecx, [ebp-20h]
sub	ecx, [ebp-28h]
mov	ebx, ds:PatBlt
mov	eax, edi
sub	eax, [ebp-24h]
mov	esi, 0F00021h
push	esi		; rop
push	eax		; h
push	ecx		; w
push	dword ptr [ebp-24h] ; y
push	dword ptr [ebp-28h] ; x
push	dword ptr [ebp-34h] ; hdc
call	ebx ; PatBlt
dec	dword ptr [ebp-20h]
push	14h		; nIndex
dec	edi
call	sub_100D149
push	eax
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	ecx, [ebp-20h]
sub	ecx, [ebp-28h]
push	esi		; rop
mov	eax, edi
sub	eax, [ebp-24h]
push	eax		; h
push	ecx		; w
push	dword ptr [ebp-24h] ; y
push	dword ptr [ebp-28h] ; x
push	dword ptr [ebp-34h] ; hdc
call	ebx ; PatBlt
inc	dword ptr [ebp-28h]
inc	dword ptr [ebp-24h]
push	10h		; nIndex
call	sub_100D149
push	eax
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	ecx, [ebp-20h]
sub	ecx, [ebp-28h]
push	esi		; rop
mov	eax, edi
sub	eax, [ebp-24h]
push	eax		; h
push	ecx		; w
push	dword ptr [ebp-24h] ; y
push	dword ptr [ebp-28h] ; x
push	dword ptr [ebp-34h] ; hdc
call	ebx ; PatBlt
dec	dword ptr [ebp-20h]
dec	edi
push	0Fh		; nIndex
mov	[ebp-1Ch], edi
call	sub_100D149
push	eax
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
sub	edi, [ebp-24h]
mov	eax, [ebp-20h]
sub	eax, [ebp-28h]
push	esi		; rop
push	edi		; h
push	eax		; w
push	dword ptr [ebp-24h] ; y
push	dword ptr [ebp-28h] ; x
push	dword ptr [ebp-34h] ; hdc
call	ebx ; PatBlt
mov	esi, [ebp-10h]
mov	ecx, [esi+80h]
xor	edi, edi
cmp	ecx, edi
jz	short loc_102C422
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_102C422:		; unsigned int
push	8
call	??2@YAPAXI@Z	; operator new(uint)
cmp	eax, edi
pop	ecx
jz	short loc_102C439
mov	[eax+4], edi
mov	dword ptr [eax], offset	off_1001F9C
jmp	short loc_102C43B

loc_102C439:
xor	eax, eax

loc_102C43B:		; cy
push	dword ptr [esi+0D0h]
lea	ecx, [ebp-5Ch]
push	dword ptr [esi+0CCh] ; int
mov	[esi+80h], eax
push	ecx		; int
mov	ecx, eax
call	sub_100AC43
test	eax, eax
jnz	short loc_102C46D

loc_102C45C:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
jmp	loc_102C72A

loc_102C46D:
push	dword ptr [esi+80h]
lea	ecx, [ebp-38h]
call	sub_1032D5B
mov	eax, [esi+0D0h]
mov	esi, [esi+0CCh]
mov	[ebp-48h], edi
mov	[ebp-44h], edi
mov	[ebp-40h], esi
mov	[ebp-3Ch], eax
lea	esi, [ebp-48h]
lea	edi, [ebp-28h]
movsd
movsd
movsd
push	14h		; nIndex
movsd
call	sub_100D149
push	eax
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	edi, [ebp-1Ch]
mov	ecx, [ebp-20h]
sub	ecx, [ebp-28h]
mov	eax, edi
sub	eax, [ebp-24h]
mov	esi, 0F00021h
push	esi		; rop
push	eax		; h
push	ecx		; w
push	dword ptr [ebp-24h] ; y
push	dword ptr [ebp-28h] ; x
push	dword ptr [ebp-34h] ; hdc
call	ebx ; PatBlt
dec	dword ptr [ebp-20h]
push	6		; nIndex
dec	edi
call	sub_100D149
push	eax
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	ecx, [ebp-20h]
sub	ecx, [ebp-28h]
push	esi		; rop
mov	eax, edi
sub	eax, [ebp-24h]
push	eax		; h
push	ecx		; w
push	dword ptr [ebp-24h] ; y
push	dword ptr [ebp-28h] ; x
push	dword ptr [ebp-34h] ; hdc
call	ebx ; PatBlt
inc	dword ptr [ebp-28h]
inc	dword ptr [ebp-24h]
push	0Fh		; nIndex
call	sub_100D149
push	eax
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	ecx, [ebp-20h]
sub	ecx, [ebp-28h]
push	esi		; rop
mov	eax, edi
sub	eax, [ebp-24h]
push	eax		; h
push	ecx		; w
push	dword ptr [ebp-24h] ; y
push	dword ptr [ebp-28h] ; x
push	dword ptr [ebp-34h] ; hdc
call	ebx ; PatBlt
dec	dword ptr [ebp-20h]
dec	edi
push	10h		; nIndex
mov	[ebp-1Ch], edi
call	sub_100D149
push	eax
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	ecx, [ebp-20h]
mov	eax, edi
sub	eax, [ebp-24h]
sub	ecx, [ebp-28h]
push	esi		; rop
push	eax		; h
push	ecx		; w
push	dword ptr [ebp-24h] ; y
push	dword ptr [ebp-28h] ; x
push	dword ptr [ebp-34h] ; hdc
call	ebx ; PatBlt
inc	dword ptr [ebp-28h]
inc	dword ptr [ebp-24h]
push	0Fh		; nIndex
call	sub_100D149
push	eax
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
sub	edi, [ebp-24h]
mov	eax, [ebp-20h]
sub	eax, [ebp-28h]
push	esi		; rop
push	edi		; h
push	eax		; w
push	dword ptr [ebp-24h] ; y
push	dword ptr [ebp-28h] ; x
push	dword ptr [ebp-34h] ; hdc
call	ebx ; PatBlt
mov	esi, [ebp-10h]
mov	ecx, [esi+7Ch]
xor	edi, edi
cmp	ecx, edi
jz	short loc_102C59A
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_102C59A:		; unsigned int
push	8
call	??2@YAPAXI@Z	; operator new(uint)
cmp	eax, edi
pop	ecx
jz	short loc_102C5B1
mov	[eax+4], edi
mov	dword ptr [eax], offset	off_1001F9C
jmp	short loc_102C5B3

loc_102C5B1:
xor	eax, eax

loc_102C5B3:		; cy
push	dword ptr [esi+0D0h]
lea	ecx, [ebp-5Ch]
push	dword ptr [esi+0CCh] ; int
mov	[esi+7Ch], eax
push	ecx		; int
mov	ecx, eax
call	sub_100AC43
test	eax, eax
jz	loc_102C45C
push	dword ptr [esi+7Ch]
lea	ecx, [ebp-38h]
call	sub_1032D5B
mov	eax, [esi+0D0h]
mov	esi, [esi+0CCh]
mov	[ebp-48h], edi
mov	[ebp-44h], edi
mov	[ebp-40h], esi
mov	[ebp-3Ch], eax
lea	esi, [ebp-48h]
lea	edi, [ebp-28h]
movsd
movsd
movsd
push	14h		; nIndex
movsd
call	sub_100D149
push	eax
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	edi, [ebp-1Ch]
mov	ecx, [ebp-20h]
sub	ecx, [ebp-28h]
mov	eax, edi
sub	eax, [ebp-24h]
mov	esi, 0F00021h
push	esi		; rop
push	eax		; h
push	ecx		; w
push	dword ptr [ebp-24h] ; y
push	dword ptr [ebp-28h] ; x
push	dword ptr [ebp-34h] ; hdc
call	ebx ; PatBlt
dec	dword ptr [ebp-20h]
push	6		; nIndex
dec	edi
call	sub_100D149
push	eax
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	ecx, [ebp-20h]
sub	ecx, [ebp-28h]
push	esi		; rop
mov	eax, edi
sub	eax, [ebp-24h]
push	eax		; h
push	ecx		; w
push	dword ptr [ebp-24h] ; y
push	dword ptr [ebp-28h] ; x
push	dword ptr [ebp-34h] ; hdc
call	ebx ; PatBlt
inc	dword ptr [ebp-28h]
inc	dword ptr [ebp-24h]
push	0Fh		; nIndex
call	sub_100D149
push	eax
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	ecx, [ebp-20h]
sub	ecx, [ebp-28h]
push	esi		; rop
mov	eax, edi
sub	eax, [ebp-24h]
push	eax		; h
push	ecx		; w
push	dword ptr [ebp-24h] ; y
push	dword ptr [ebp-28h] ; x
push	dword ptr [ebp-34h] ; hdc
call	ebx ; PatBlt
dec	dword ptr [ebp-20h]
push	10h		; nIndex
dec	edi
call	sub_100D149
push	eax
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	ecx, [ebp-20h]
mov	eax, edi
sub	eax, [ebp-24h]
sub	ecx, [ebp-28h]
push	esi		; rop
push	eax		; h
push	ecx		; w
push	dword ptr [ebp-24h] ; y
push	dword ptr [ebp-28h] ; x
push	dword ptr [ebp-34h] ; hdc
call	ebx ; PatBlt
inc	dword ptr [ebp-28h]
inc	dword ptr [ebp-24h]
call	sub_100D1FD
push	eax
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
push	0Fh		; nIndex
call	ds:GetSysColor
push	eax
lea	ecx, [ebp-38h]
call	?SetTextColor@CDC@@UAEKK@Z ; CDC::SetTextColor(ulong)
push	14h		; nIndex
call	ds:GetSysColor
push	eax
lea	ecx, [ebp-38h]
call	?SetBkColor@CDC@@UAEKK@Z ; CDC::SetBkColor(ulong)
sub	edi, [ebp-24h]
mov	eax, [ebp-20h]
sub	eax, [ebp-28h]
push	esi		; rop
push	edi		; h
push	eax		; w
push	dword ptr [ebp-24h] ; y
push	dword ptr [ebp-28h] ; x
push	dword ptr [ebp-34h] ; hdc
call	ebx ; PatBlt
push	dword ptr [ebp-14h]
lea	ecx, [ebp-38h]
call	sub_1032D5B
push	dword ptr [ebp-18h]
lea	ecx, [ebp-38h]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
lea	ecx, [ebp-38h]
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
xor	edi, edi
inc	edi

loc_102C72A:
pop	ebx

loc_102C72B:
lea	ecx, [ebp-38h]
mov	byte ptr [ebp-4], 0
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_102C737:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-5Ch]
call	??1CWindowDC@@UAE@XZ ; CWindowDC::~CWindowDC(void)
mov	ecx, [ebp-0Ch]
mov	eax, edi
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_102C243 endp

db 5 dup(0CCh)



sub_102C758 proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	?OnSysColorChange@CWnd@@IAEXXZ ; CWnd::OnSysColorChange(void)
mov	ecx, esi
call	sub_102C243
push	0		; bErase
push	0		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:InvalidateRect
pop	esi
retn
sub_102C758 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102C77D proc near

var_20=	byte ptr -20h
var_18=	dword ptr -18h
var_14=	dword ptr -14h
Rect= tagRECT ptr -10h
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 20h
push	esi
push	edi
mov	edi, [ebp+arg_0]
cmp	edi, 0FFFFFFFFh
mov	esi, ecx
jnz	short loc_102C79A
mov	eax, [esi+0BCh]
mov	edi, [eax+8]

loc_102C79A:
test	edi, edi
jnz	short loc_102C79F
inc	edi

loc_102C79F:
lea	eax, [ebp+Rect]
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:GetWindowRect
mov	eax, [ebp+Rect.left]
sub	[ebp+Rect.right], eax
mov	eax, [ebp+Rect.top]
sub	[ebp+Rect.bottom], eax
lea	eax, [ebp+var_20]
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:GetClientRect
cmp	[ebp+arg_4], 0
jz	short loc_102C7D8
push	1		; bErase
push	0		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:InvalidateRect

loc_102C7D8:
movzx	ecx, word ptr [esi+0C8h]
mov	eax, edi
cdq
idiv	ecx
push	[ebp+arg_4]
xor	ecx, ecx
test	edx, edx
setnz	cl
add	ecx, eax
imul	ecx, [esi+0D0h]
sub	ecx, [ebp+var_14]
mov	eax, [ebp+Rect.bottom]
lea	eax, [ecx+eax-1]
mov	ecx, [ebp+Rect.right]
push	eax
movzx	eax, word ptr [esi+0C8h]
imul	eax, [esi+0CCh]
sub	eax, [ebp+var_18]
lea	eax, [eax+ecx-1]
push	eax
push	[ebp+Rect.top]
mov	ecx, esi
push	[ebp+Rect.left]
call	?MoveWindow@CWnd@@QAEXHHHHH@Z ;	CWnd::MoveWindow(int,int,int,int,int)
pop	edi
pop	esi
leave
retn	8
sub_102C77D endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	dword ptr [ebp+8]
mov	esi, ecx
call	?OnWinIniChange@CWnd@@IAEXPBG@Z	; CWnd::OnWinIniChange(ushort const *)
mov	ecx, esi
call	sub_102C243
push	1
push	0
push	dword ptr [esi+20h]
call	ds:InvalidateRect
pop	esi
pop	ebp
retn	4
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
cmp	dword ptr [ebp+8], 1Bh
jnz	short loc_102C87C
cmp	dword ptr [ecx+88h], 0
jz	short loc_102C87C
call	sub_102BD76
jmp	short loc_102C881

loc_102C87C:		; CWnd::Default(void)
call	?Default@CWnd@@IAEJXZ

loc_102C881:
pop	ebp
retn	0Ch
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102C88A proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
push	edi
push	[ebp+arg_0]
mov	edi, ecx
lea	esi, [edi+0BCh]
mov	ecx, [esi]
call	sub_102BD58
mov	bx, [edi+0C8h]
mov	eax, [esi]
mov	eax, [eax+8]
movzx	ecx, bx
lea	eax, [eax+ecx-1]
cdq
idiv	ecx
cmp	eax, 0Bh
jle	short loc_102C8C7
inc	ebx
mov	[edi+0C8h], bx

loc_102C8C7:
push	1
push	0FFFFFFFFh
mov	ecx, edi
call	sub_102C77D
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	4
sub_102C88A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102C8DE proc near

Rect= RECT ptr -10h
arg_0= dword ptr  8
arg_4= word ptr	 0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
push	[ebp+arg_0]
mov	esi, ecx
call	sub_102BD8F
mov	ecx, eax
test	ecx, ecx
jz	loc_102C982
xor	eax, eax
mov	ax, [ecx+10h]
test	ah, 90h
mov	[ebp+arg_0], eax
jnz	short loc_102C982
mov	dx, [ebp+arg_4]
cmp	ax, dx
mov	[ecx+10h], dx
jz	short loc_102C985
mov	edx, [esi+0BCh]
mov	edx, [edx+4]
xor	eax, eax
jmp	short loc_102C927

loc_102C923:
inc	eax
add	edx, 4

loc_102C927:
cmp	[edx], ecx
jnz	short loc_102C923
movzx	ecx, word ptr [esi+0C8h]
cdq
idiv	ecx
push	ebx
push	edi
mov	edi, [esi+0CCh]
mov	ecx, edi
push	1		; bErase
mov	ebx, eax
imul	ecx, edx
mov	eax, [esi+0D0h]
add	ecx, [esi+120h]
mov	edx, eax
imul	edx, ebx
add	edx, [esi+124h]
add	edi, ecx
add	eax, edx
mov	[ebp+Rect.bottom], eax
lea	eax, [ebp+Rect]
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
mov	[ebp+Rect.left], ecx
mov	[ebp+Rect.top],	edx
mov	[ebp+Rect.right], edi
call	ds:InvalidateRect
mov	ax, word ptr [ebp+arg_0]
pop	edi
pop	ebx
jmp	short loc_102C985

loc_102C982:
xor	ax, ax

loc_102C985:
pop	esi
leave
retn	8
sub_102C8DE endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102C98F proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, ecx
mov	eax, [edi+0BCh]
xor	esi, esi
cmp	[eax+8], esi
jle	short loc_102C9CB

loc_102C9A5:
mov	eax, [eax+4]
mov	eax, [eax+esi*4]
movzx	eax, word ptr [eax+8]
cmp	ax, word ptr [ebp+arg_0]
jz	short loc_102C9BF
push	0
push	eax
mov	ecx, edi
call	sub_102C8DE

loc_102C9BF:
mov	eax, [edi+0BCh]
inc	esi
cmp	esi, [eax+8]
jl	short loc_102C9A5

loc_102C9CB:
push	4000h
push	[ebp+arg_0]
mov	ecx, edi
call	sub_102C8DE
pop	edi
pop	esi
pop	ebp
retn	4
sub_102C98F endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102C9E5 proc near

var_10=	byte ptr -10h
arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
lea	eax, [ebp+arg_0]
push	eax
lea	eax, [ebp+var_10]
push	eax
or	esi, 0FFFFFFFFh
call	sub_102BDCD
test	eax, eax
jz	short loc_102CA06
movzx	esi, word ptr [eax+8]

loc_102CA06:
mov	eax, esi
pop	esi
leave
retn	0Ch
sub_102C9E5 endp

db 5 dup(0CCh)



sub_102CA12 proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	ds:GetCapture
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
cmp	eax, esi
jnz	short loc_102CA2E
mov	ecx, esi
call	sub_102BD76

loc_102CA2E:
pop	esi
retn	0Ch
sub_102CA12 endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
cmp	dword ptr [ebp+8], 0FFFFFFFFh
push	esi
mov	esi, ecx
jnz	short loc_102CA6C
mov	eax, [esi+0A4h]
test	eax, eax
jz	short loc_102CA6C
and	byte ptr [eax+11h], 0F7h
push	1
lea	eax, [esi+0A8h]
push	eax
push	dword ptr [esi+20h]
call	ds:InvalidateRect
and	dword ptr [esi+0A4h], 0

loc_102CA6C:
push	dword ptr [ebp+8]
mov	ecx, esi
call	?SetStatusText@CControlBar@@UAEHH@Z ; CControlBar::SetStatusText(int)
pop	esi
pop	ebp
retn	4
align 10h
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 24h
push	ebx
mov	ebx, ecx
mov	eax, [ebx+88h]
test	eax, eax
push	esi
push	edi
mov	[ebp-4], eax
jz	loc_102CBE1
test	byte ptr [eax+11h], 80h
jnz	loc_102CBE1
mov	eax, [ebx+8Ch]
lea	esi, [ebx+90h]
lea	edi, [ebp-24h]
movsd
movsd
push	0FFFFFFFFh
movsd
mov	[ebp-8], eax
push	0FFFFFFFFh
lea	eax, [ebp-24h]
push	eax
movsd
call	ds:InflateRect
mov	esi, [ebp-4]
test	byte ptr [esi+11h], 20h
jnz	short loc_102CAEE
push	dword ptr [ebp+10h]
lea	eax, [ebp-24h]
push	dword ptr [ebp+0Ch]
push	eax
call	ds:PtInRect
test	eax, eax
jz	short loc_102CAEE
xor	eax, eax
inc	eax
jmp	short loc_102CAF0

loc_102CAEE:
xor	eax, eax

loc_102CAF0:
cmp	[ebp-8], eax
mov	[ebx+8Ch], eax
jz	short loc_102CB0D
push	1
lea	eax, [ebx+90h]
push	eax
push	dword ptr [ebx+20h]
call	ds:InvalidateRect

loc_102CB0D:
test	byte ptr [esi+11h], 80h
jnz	loc_102CC54
test	byte ptr [esi+13h], 20h
jz	loc_102CBB2
mov	edx, [ebx+0C0h]
mov	ecx, [ebp+0Ch]
push	3
sub	ecx, edx
pop	eax
cmp	ecx, eax
jg	short loc_102CB50
mov	ecx, [ebx+0C4h]
mov	edi, [ebp+10h]
sub	edi, ecx
cmp	edi, eax
jg	short loc_102CB50
sub	edx, [ebp+0Ch]
cmp	edx, eax
jg	short loc_102CB50
sub	ecx, [ebp+10h]
cmp	ecx, eax
jle	short loc_102CBB2

loc_102CB50:
xor	eax, eax
mov	ax, [esi+10h]
or	ax, 2000h
mov	ecx, 4000h
test	[esi+12h], cx
mov	[esi+10h], ax
jz	short loc_102CBB2
test	cx, ax
jnz	short loc_102CB90
or	eax, ecx
mov	[esi+10h], ax
mov	eax, [esi+4]
test	eax, eax
jz	short loc_102CB90
movzx	ecx, word ptr [esi+8]
push	0
push	ecx
push	410h
push	dword ptr [eax+20h]
call	ds:SendMessageW

loc_102CB90:
cmp	dword ptr [ebx+8Ch], 0
jz	short loc_102CBAB
push	1
lea	eax, [ebx+90h]
push	eax
push	dword ptr [ebx+20h]
call	ds:InvalidateRect

loc_102CBAB:
and	dword ptr [ebx+8Ch], 0

loc_102CBB2:
cmp	dword ptr [esi+4], 0
jz	loc_102CC54
test	byte ptr [esi+11h], 20h
jz	loc_102CC54
mov	eax, [ebp+0Ch]
mov	[ebp-0Ch], eax
mov	eax, [ebp+10h]
mov	[ebp-8], eax
lea	eax, [ebp-0Ch]
push	eax
push	dword ptr [ebx+20h]
call	ds:ClientToScreen
jmp	short loc_102CC54

loc_102CBE1:
cmp	dword ptr [ebx+0B8h], 0
jz	short loc_102CC4D
lea	eax, [ebp+0Ch]
push	eax
lea	eax, [ebp-14h]
push	eax
mov	ecx, ebx
call	sub_102BDCD
mov	edi, eax
mov	eax, [ebx+0A4h]
cmp	eax, edi
mov	[ebp+10h], edi
jz	short loc_102CC4D
test	eax, eax
mov	esi, ds:InvalidateRect
jz	short loc_102CC24
and	byte ptr [eax+11h], 0F7h
push	1
lea	eax, [ebx+0A8h]
push	eax
push	dword ptr [ebx+20h]
call	esi ; InvalidateRect

loc_102CC24:
test	edi, edi
jz	short loc_102CC37
or	byte ptr [edi+11h], 8
push	1
lea	eax, [ebp-14h]
push	eax
push	dword ptr [ebx+20h]
call	esi ; InvalidateRect

loc_102CC37:
mov	eax, [ebp+10h]
lea	edi, [ebx+0A8h]
lea	esi, [ebp-14h]
movsd
movsd
movsd
movsd
mov	[ebx+0A4h], eax

loc_102CC4D:
mov	ecx, ebx
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)

loc_102CC54:
pop	edi
pop	esi
pop	ebx
leave
retn	0Ch
align 10h
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, ecx
mov	esi, [edi+88h]
test	esi, esi
jnz	short loc_102CC7D
call	?Default@CWnd@@IAEJXZ ;	CWnd::Default(void)
jmp	loc_102CD4E

loc_102CC7D:
test	byte ptr [esi+11h], 80h
jnz	loc_102CD3A
mov	eax, [ebp+0Ch]
lea	edx, [edi+90h]
cmp	eax, [edx]
jl	short loc_102CCB4
cmp	eax, [edi+98h]
jge	short loc_102CCB4
mov	eax, [ebp+10h]
cmp	eax, [edi+94h]
jl	short loc_102CCB4
cmp	eax, [edi+9Ch]
jge	short loc_102CCB4
xor	eax, eax
inc	eax
jmp	short loc_102CCB6

loc_102CCB4:
xor	eax, eax

loc_102CCB6:
test	eax, eax
mov	[edi+8Ch], eax
jz	short loc_102CD3A
mov	ecx, 4000h
test	[esi+12h], cx
push	ebx
mov	ebx, ds:SendMessageW
jz	short loc_102CD17
xor	eax, eax
mov	ax, [esi+10h]
test	ah, 20h
jnz	short loc_102CD17
push	1
xor	eax, ecx
push	edx
mov	[esi+10h], ax
push	dword ptr [edi+20h]
call	ds:InvalidateRect
mov	eax, [esi+4]
test	eax, eax
jz	short loc_102CD17
movzx	ecx, word ptr [esi+8]
push	0
push	ecx
xor	ecx, ecx
mov	cx, [esi+10h]
shr	ecx, 0Eh
not	ecx
and	ecx, 1
or	ecx, 410h
push	ecx
push	dword ptr [eax+20h]
call	ebx ; SendMessageW

loc_102CD17:
test	byte ptr [esi+13h], 10h
jz	short loc_102CD39
cmp	dword ptr [esi+4], 0
jz	short loc_102CD39
movzx	esi, word ptr [esi+8]
call	sub_100C004
push	0
push	esi
push	111h
push	dword ptr [eax+20h]
call	ebx ; SendMessageW

loc_102CD39:
pop	ebx

loc_102CD3A:
call	ds:ReleaseCapture
and	dword ptr [edi+88h], 0
and	dword ptr [edi+8Ch], 0

loc_102CD4E:
pop	edi
pop	esi
pop	ebp
retn	0Ch
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102CD59(WPARAM wParam, LPARAM lParam)
sub_102CD59 proc near

wParam=	dword ptr  8
lParam=	dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
call	sub_100C004
push	[ebp+lParam]	; lParam
push	[ebp+wParam]	; wParam
push	111h		; Msg
push	dword ptr [eax+20h] ; hWnd
call	ds:SendMessageW
xor	eax, eax
inc	eax
pop	ebp
retn	8
sub_102CD59 endp

db 5 dup(0CCh)



sub_102CD83 proc near
mov	eax, offset loc_103708C
call	sub_1034E18
sub	esp, 60h
push	esi
push	edi
xor	edi, edi
cmp	[ebp+0Ch], edi
mov	esi, ecx
jnz	short loc_102CDAE
lea	eax, [ebp-5Ch]
push	eax		; lpRect
push	dword ptr [esi+20h] ; hWnd
call	ds:GetClientRect
lea	eax, [ebp-5Ch]
mov	[ebp+0Ch], eax

loc_102CDAE:
lea	ecx, [ebp-4Ch]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
push	dword ptr [ebp+8] ; hdc
lea	ecx, [ebp-4Ch]
mov	[ebp-4], edi
call	sub_1009779
cmp	[esi+0B8h], edi
jnz	short loc_102CDD3
mov	ecx, esi
call	sub_102C243

loc_102CDD3:
push	dword ptr [esi+84h]
lea	ecx, [ebp-4Ch]
call	sub_1032D5B
push	12h		; nIndex
mov	[ebp-2Ch], eax
call	sub_100D149
push	eax
lea	ecx, [ebp-4Ch]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
mov	[ebp-28h], eax
mov	eax, [esi+0BCh]
mov	eax, [eax+8]
xor	edx, edx
cmp	eax, edi
mov	[ebp-24h], eax
mov	[ebp-18h], edi
mov	[ebp-1Ch], edx
jle	loc_102CFBF
push	ebx

loc_102CE14:
mov	eax, [esi+0BCh]
mov	eax, [eax+4]
mov	eax, [eax+edx*4]
test	eax, eax
mov	[ebp-20h], eax
jz	loc_102CF9D
movzx	ecx, word ptr [esi+0C8h]
mov	eax, edx
cdq
idiv	ecx
mov	edi, [esi+0CCh]
mov	ecx, edi
mov	ebx, eax
imul	ecx, edx
mov	eax, [esi+0D0h]
add	ecx, [esi+120h]
mov	edx, eax
imul	edx, ebx
add	edx, [esi+124h]
add	edi, ecx
add	eax, edx
mov	[ebp-30h], eax
lea	eax, [ebp-3Ch]
push	eax		; lprcSrc2
push	dword ptr [ebp+0Ch] ; lprcSrc1
lea	eax, [ebp-6Ch]
push	eax		; lprcDst
mov	[ebp-3Ch], ecx
mov	[ebp-38h], edx
mov	[ebp-34h], edi
call	ds:IntersectRect
test	eax, eax
jz	loc_102CF9D
mov	edi, [ebp-20h]
and	dword ptr [ebp-14h], 0
and	dword ptr [ebp-10h], 0
mov	ecx, [esi+84h]
xor	eax, eax
xor	edx, edx
mov	dx, [edi+10h]
inc	eax
test	dh, 60h
jz	short loc_102CEBE
mov	ecx, [esi+7Ch]
mov	[ebp-14h], eax
mov	[ebp-10h], eax
mov	eax, edx
and	ax, 800h
neg	ax
sbb	eax, eax
neg	eax
add	eax, 5
jmp	short loc_102CEC6

loc_102CEBE:
test	dh, 8
jz	short loc_102CEC6
push	2
pop	eax

loc_102CEC6:
cmp	edi, [esi+88h]
jnz	short loc_102CEEE
cmp	dword ptr [esi+8Ch], 0
jz	short loc_102CEEE
test	dh, 20h
jnz	short loc_102CEEE
mov	ecx, [esi+80h]
push	2
pop	eax
push	3
mov	[ebp-14h], eax
mov	[ebp-10h], eax
pop	eax

loc_102CEEE:
mov	edx, [esi+0B8h]
test	edx, edx
jz	short loc_102CF15
mov	ecx, [ebp+8]
test	ecx, ecx
jz	short loc_102CF02
mov	ecx, [ecx+4]

loc_102CF02:		; pClipRect
push	0
lea	ebx, [ebp-3Ch]
push	ebx		; pRect
push	eax		; iStateId
push	1		; iPartId
push	ecx		; hdc
push	edx		; hTheme
call	DrawThemeBackground
jmp	short loc_102CF2B

loc_102CF15:
lea	eax, [ebp-4Ch]
push	eax
push	0CC0020h
lea	eax, [ebp-3Ch]
push	eax
push	ecx
push	dword ptr [ebp+8]
call	sub_1013483

loc_102CF2B:		; dy
push	dword ptr [ebp-10h]
lea	eax, [ebp-3Ch]
push	dword ptr [ebp-14h] ; dx
push	eax		; lprc
call	ds:OffsetRect
cmp	dword ptr [ebp-18h], 0
jnz	short loc_102CF64
lea	ebx, [esi+0D4h]
mov	ecx, ebx
call	sub_1018963
test	eax, eax
jz	short loc_102CFBE
mov	ecx, ebx
mov	dword ptr [ebp-18h], 1
call	sub_101886B
test	eax, eax
jz	short loc_102CFB3

loc_102CF64:
mov	eax, [ebp-30h]
sub	eax, [ebp-38h]
push	0		; rop
push	dword ptr [edi+0Ch] ; int
sub	eax, 10h
cdq
sub	eax, edx
mov	ecx, eax
mov	eax, [ebp-34h]
sub	eax, [ebp-3Ch]
sar	ecx, 1
add	ecx, [ebp-38h]
sub	eax, 10h
cdq
sub	eax, edx
sar	eax, 1
add	eax, [ebp-3Ch]
push	ecx		; y
push	eax		; x
push	dword ptr [ebp+8] ; int
lea	ecx, [esi+0D4h]
call	sub_10189B7

loc_102CF9D:
mov	edx, [ebp-1Ch]
inc	edx
cmp	edx, [ebp-24h]
mov	[ebp-1Ch], edx
jl	loc_102CE14
cmp	dword ptr [ebp-18h], 0
jz	short loc_102CFBE

loc_102CFB3:
lea	ecx, [esi+0D4h]
call	sub_10186CD

loc_102CFBE:
pop	ebx

loc_102CFBF:
push	dword ptr [ebp-28h]
lea	ecx, [ebp-4Ch]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
push	dword ptr [ebp-2Ch]
lea	ecx, [ebp-4Ch]
call	sub_1032D5B
lea	ecx, [ebp-4Ch]
call	?DeleteDC@CDC@@QAEHXZ ;	CDC::DeleteDC(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-4Ch]
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn	8
sub_102CD83 endp

db 5 dup(0CCh)
mov	eax, offset loc_10370A3
call	sub_1034E18
sub	esp, 58h
mov	eax, ___security_cookie
push	esi
mov	esi, ecx
push	esi
lea	ecx, [ebp-64h]
mov	[ebp-10h], eax
call	??0CPaintDC@@QAE@PAVCWnd@@@Z ; CPaintDC::CPaintDC(CWnd *)
and	dword ptr [ebp-4], 0
cmp	dword ptr [ebp-60h], 0
jnz	short loc_102D037
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	short loc_102D046

loc_102D037:
lea	eax, [ebp-48h]
push	eax
lea	eax, [ebp-64h]
push	eax
mov	ecx, esi
call	sub_102CD83

loc_102D046:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-64h]
call	??1CPaintDC@@UAE@XZ ; CPaintDC::~CPaintDC(void)
mov	ecx, [ebp-0Ch]
mov	large fs:0, ecx
mov	ecx, [ebp-10h]
pop	esi
call	sub_1032F53
leave
retn
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
mov	eax, [esi+0B8h]
test	eax, eax
jz	short loc_102D082
push	eax
call	CloseThemeData

loc_102D082:
mov	eax, [esi+20h]
push	offset pszClassList ; "toolbar"
push	eax
call	sub_102BC9F
push	1
push	0
push	dword ptr [esi+20h]
mov	[esi+0B8h], eax
call	ds:InvalidateRect
xor	eax, eax
inc	eax
pop	esi
retn	8
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, ecx
mov	eax, [edi+0BCh]
xor	esi, esi
cmp	[eax+8], esi
jle	short loc_102D0ED

loc_102D0C5:
mov	eax, [eax+4]
mov	eax, [eax+esi*4]
movzx	eax, word ptr [eax+8]
movzx	ecx, ax
cmp	ecx, [ebp+8]
jz	short loc_102D0E1
push	0
push	eax
mov	ecx, edi
call	sub_102C8DE

loc_102D0E1:
mov	eax, [edi+0BCh]
inc	esi
cmp	esi, [eax+8]
jl	short loc_102D0C5

loc_102D0ED:
xor	eax, eax
pop	edi
inc	eax
pop	esi
pop	ebp
retn	8
db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
mov	eax, [esi+0BCh]
push	edi
xor	edi, edi
cmp	[eax+8], edi
jle	short loc_102D12E

loc_102D10E:
mov	eax, [eax+4]
mov	eax, [eax+edi*4]
movzx	eax, word ptr [eax+8]
push	0
push	eax
mov	ecx, esi
call	sub_102C8DE
mov	eax, [esi+0BCh]
inc	edi
cmp	edi, [eax+8]
jl	short loc_102D10E

loc_102D12E:
push	4000h
push	257h
mov	ecx, esi
call	sub_102C8DE
xor	eax, eax
pop	edi
inc	eax
pop	esi
retn	8
db 5 dup(0CCh)



sub_102D14C proc near
mov	eax, [ecx+24h]
test	eax, eax
jnz	short loc_102D15C
push	dword ptr [ecx+20h] ; hWnd
call	ds:GetParent

loc_102D15C:
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
retn
sub_102D14C endp

db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
call	sub_102C758
push	0
push	0
push	dword ptr [esi+20h]
call	ds:InvalidateRect
pop	esi
retn
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	dword ptr [ebp+10h]
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
call	sub_102CA12
pop	ebp
retn	0Ch
db 5 dup(0CCh)
mov	eax, offset loc_10370CD
call	sub_1034E18
sub	esp, 0A4h
mov	eax, ___security_cookie
push	ebx
push	esi
mov	esi, ecx
push	esi
lea	ecx, [ebp-64h]
mov	[ebp-10h], eax
call	??0CPaintDC@@QAE@PAVCWnd@@@Z ; CPaintDC::CPaintDC(CWnd *)
xor	ebx, ebx
cmp	[ebp-60h], ebx
mov	[ebp-4], ebx
jnz	short loc_102D1DF
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	short loc_102D1E7

loc_102D1DF:
cmp	dword_103ED04, ebx
jnz	short loc_102D1F8

loc_102D1E7:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-64h]
call	??1CPaintDC@@UAE@XZ ; CPaintDC::~CPaintDC(void)
jmp	loc_102D3D4

loc_102D1F8:
push	edi
lea	eax, [ebp-48h]
push	eax
lea	eax, [ebp-64h]
push	eax
mov	ecx, esi
call	sub_102CD83
lea	eax, [ebp-48h]
push	eax
lea	eax, [ebp-0B0h]
add	esi, 128h
push	eax
mov	ecx, esi
call	sub_1015B09
push	eax
call	ds:IsRectEmpty
test	eax, eax
jnz	loc_102D3C7
push	esi
push	dword ptr [ebp-60h]
call	sub_10133C4
lea	edi, [ebp-7Ch]
movsd
movsd
push	0FFFFFFFFh
movsd
push	0FFFFFFFFh
lea	eax, [ebp-7Ch]
push	eax
movsd
call	ds:InflateRect
mov	ecx, [ebp-74h]
sub	ecx, [ebp-7Ch]
mov	eax, [ebp-70h]
sub	eax, [ebp-78h]
mov	[ebp-94h], ecx
lea	ecx, [ebp-8Ch]
mov	[ebp-9Ch], ebx
mov	[ebp-98h], ebx
mov	[ebp-90h], eax
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	esi, offset off_1001F9C
mov	[ebp-68h], ebx
mov	[ebp-6Ch], esi
lea	eax, [ebp-64h]
push	eax
lea	ecx, [ebp-8Ch]
mov	byte ptr [ebp-4], 2
call	sub_1009779
test	eax, eax
jz	loc_102D39E
push	dword ptr [ebp-90h]
lea	eax, [ebp-64h]
push	dword ptr [ebp-94h]
lea	ecx, [ebp-6Ch]
push	eax
call	sub_100AC43
test	eax, eax
jz	loc_102D39E
lea	eax, [ebp-6Ch]
push	eax
lea	ecx, [ebp-8Ch]
call	sub_1032D5B
push	0Fh
mov	edi, eax
call	sub_100D149
push	eax
lea	ecx, [ebp-8Ch]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
push	0F00021h
push	dword ptr [ebp-90h]
mov	[ebp-0A0h], eax
push	dword ptr [ebp-94h]
push	ebx
push	ebx
push	dword ptr [ebp-88h]
call	ds:PatBlt
lea	eax, [ebp-48h]
push	eax
lea	eax, [ebp-0B0h]
push	eax
call	ds:CopyRect
mov	eax, [ebp-78h]
mov	ecx, [ebp-7Ch]
neg	eax
push	eax
neg	ecx
push	ecx
lea	eax, [ebp-0B0h]
push	eax
call	ds:OffsetRect
mov	ecx, off_103D74C
mov	eax, [ecx]
lea	edx, [ebp-9Ch]
push	edx
lea	edx, [ebp-0B0h]
push	edx
lea	edx, [ebp-8Ch]
push	edx
call	dword ptr [eax+44h]
push	0CC0020h
push	ebx
push	ebx
lea	eax, [ebp-8Ch]
push	eax
mov	eax, [ebp-70h]
sub	eax, [ebp-78h]
lea	ecx, [ebp-64h]
push	eax
mov	eax, [ebp-74h]
sub	eax, [ebp-7Ch]
push	eax
push	dword ptr [ebp-78h]
push	dword ptr [ebp-7Ch]
call	sub_10097A4
push	edi
lea	ecx, [ebp-8Ch]
call	sub_1032D5B
push	dword ptr [ebp-0A0h]
lea	ecx, [ebp-8Ch]
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
jmp	short loc_102D3AA

loc_102D39E:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB

loc_102D3AA:
lea	ecx, [ebp-6Ch]
mov	[ebp-6Ch], esi
mov	byte ptr [ebp-4], 1
call	sub_10096BE
lea	ecx, [ebp-8Ch]
mov	[ebp-4], bl
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_102D3C7:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-64h]
call	??1CPaintDC@@UAE@XZ ; CPaintDC::~CPaintDC(void)
pop	edi

loc_102D3D4:
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
mov	ecx, [ebp-10h]
pop	ebx
call	sub_1032F53
leave
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_102D3EF(void *, char)
sub_102D3EF proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_102C189
test	[ebp+arg_0], 1
jz	short loc_102D409
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_102D409:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_102D3EF endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102D415(int, int, RECT *lprcSrc, int, __int16, int,	int)
sub_102D415 proc near

rcDst= tagRECT ptr -10h
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
lprcSrc= dword ptr  10h
arg_C= dword ptr  14h
arg_10=	word ptr  18h
arg_14=	dword ptr  1Ch
arg_18=	dword ptr  20h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
cmp	[ebp+arg_18], 0
push	esi
mov	esi, ecx
jz	short loc_102D443
push	10h
pop	ecx
push	ecx
mov	eax, ecx
push	eax
push	[ebp+arg_18]
lea	ecx, [esi+0D4h]
call	sub_1018836
test	eax, eax
jz	loc_102D4E1

loc_102D443:
mov	eax, [ebp+arg_4]
or	eax, 30h
push	edi
push	[ebp+lprcSrc]	; lprcSrc
mov	[esi+68h], eax
and	eax, 0EFFFFFFFh
lea	ecx, [ebp+rcDst] ; lprcDst
mov	edi, eax
call	sub_101167D
mov	eax, [ebp+rcDst.left]
add	eax, 14h
push	0
mov	[ebp+rcDst.right], eax
mov	eax, [ebp+rcDst.top]
push	0E817h
push	[ebp+arg_14]
add	eax, 14h
mov	[ebp+rcDst.bottom], eax
lea	eax, [ebp+rcDst]
push	eax
push	edi
push	[ebp+arg_0]
mov	ecx, esi
push	0
call	?Create@CWnd@@UAEHPBG0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z ; CWnd::Create(ushort const *,ushort const *,ulong,tagRECT const	&,CWnd *,uint,CCreateContext *)
test	eax, eax
pop	edi
jz	short loc_102D4E1
mov	ax, [ebp+arg_10]
mov	[esi+0C8h], ax
mov	eax, [ebp+arg_C]
mov	ecx, [eax]
mov	eax, [eax+4]
push	1
mov	[esi+0CCh], ecx
push	0FFFFFFFFh
mov	ecx, esi
mov	[esi+0D0h], eax
call	sub_102C77D
mov	eax, [esi+20h]
push	offset pszClassList ; "toolbar"
push	eax		; hwnd
call	sub_102BC9F
mov	ecx, esi
mov	[esi+0B8h], eax
call	sub_102C243
test	eax, eax
jnz	short loc_102D4E5
mov	eax, [esi]
mov	ecx, esi
call	dword ptr [eax+60h]

loc_102D4E1:
xor	eax, eax
jmp	short loc_102D500

loc_102D4E5:
test	byte ptr [ebp+arg_4+3],	10h
jz	short loc_102D4FD
push	5
mov	ecx, esi
call	?ShowWindow@CWnd@@QAEHH@Z ; CWnd::ShowWindow(int)
push	dword ptr [esi+20h] ; hWnd
call	ds:UpdateWindow

loc_102D4FD:
xor	eax, eax
inc	eax

loc_102D500:
pop	esi
leave
retn	1Ch
sub_102D415 endp

db 5 dup(0CCh)



sub_102D50A proc near
mov	eax, offset loc_10370E4
call	sub_1034E18
sub	esp, 10h
push	ebx
push	esi
lea	eax, [ebp+0Ch]
mov	ebx, ecx
push	eax
lea	esi, [ebx+90h]
push	esi
call	sub_102BDCD
test	eax, eax
mov	ecx, [ebp+0Ch]
mov	edx, [ebp+10h]
mov	[ebx+88h], eax
mov	[ebx+0C0h], ecx
mov	[ebx+0C4h], edx
jz	loc_102D5DF
push	edi
lea	edi, [ebp-1Ch]
movsd
movsd
movsd
lea	ecx, [ebp+8]
movsd
call	??0CString@@QAE@XZ ; CString::CString(void)
push	0FFFFFFFFh	; dy
push	0FFFFFFFFh	; dx
lea	eax, [ebp-1Ch]
xor	edi, edi
push	eax		; lprc
mov	[ebp-4], edi
mov	[ebx+8Ch], edi
call	ds:InflateRect
push	dword ptr [ebp+10h]
lea	eax, [ebp-1Ch]
push	dword ptr [ebp+0Ch] ; pt
push	eax		; lprc
call	ds:PtInRect
test	eax, eax
jz	short loc_102D5CA
mov	eax, [ebx+88h]
mov	ax, [eax+8]
cmp	ax, 2BCh
ja	short loc_102D5B2
mov	ecx, ebx
movzx	esi, ax
call	sub_102D14C
push	edi		; lParam
push	esi		; wParam
push	362h		; Msg
push	dword ptr [eax+20h] ; hWnd
call	ds:SendMessageW

loc_102D5B2:
mov	eax, [ebx+88h]
test	byte ptr [eax+11h], 80h
jnz	short loc_102D5CA
mov	dword ptr [ebx+8Ch], 1
jmp	short loc_102D5D0

loc_102D5CA:
mov	[ebx+88h], edi

loc_102D5D0:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp+8]
call	??1CString@@QAE@XZ ; CString::~CString(void)
pop	edi
jmp	short loc_102D5EB

loc_102D5DF:
push	edx
push	ecx
push	dword ptr [ebp+8]
mov	ecx, ebx
call	?OnLButtonDown@CControlBar@@QAEXIVCPoint@@@Z ; CControlBar::OnLButtonDown(uint,CPoint)

loc_102D5EB:
cmp	dword ptr [ebx+88h], 0
jz	short loc_102D61E
push	dword ptr [ebx+20h] ; hWnd
call	ds:SetCapture
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
cmp	dword ptr [ebx+88h], 0
jz	short loc_102D61E
push	1		; bErase
lea	eax, [ebx+90h]
push	eax		; lpRect
push	dword ptr [ebx+20h] ; hWnd
call	ds:InvalidateRect

loc_102D61E:
mov	ecx, [ebp-0Ch]
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	0Ch
sub_102D50A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102D633 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+arg_8]
push	[ebp+arg_4]
push	[ebp+arg_0]
call	sub_102D50A
pop	ebp
retn	0Ch
sub_102D633 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102D64F(int, int, RECT *lprcSrc, int, int, int, int)
sub_102D64F proc near

var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
lprcSrc= dword ptr  10h
arg_C= dword ptr  14h
arg_14=	dword ptr  1Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
push	ebx
mov	ebx, [ebp+lprcSrc]
push	esi
push	35Bh		; int
push	[ebp+arg_14]	; int
mov	esi, ecx
push	2		; __int16
push	[ebp+arg_C]	; int
push	ebx		; lprcSrc
push	[ebp+arg_4]	; int
push	[ebp+arg_0]	; int
call	sub_102D415
test	eax, eax
jz	loc_102D71F
push	edi
xor	edi, edi

loc_102D681:		; unsigned int
push	14h
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
test	ecx, ecx
jz	short loc_102D6C4
mov	ebx, off_103D74C
lea	edx, ds:103E388h[edi*4]
mov	eax, [edx]
cmp	eax, [ebx+30h]
jnz	short loc_102D6AA
mov	eax, 4000h
jmp	short loc_102D6AC

loc_102D6AA:
xor	eax, eax

loc_102D6AC:
push	eax
xor	eax, eax
mov	ax, [edx]
push	5000h
push	edi
push	eax
push	esi
call	sub_102BECE
mov	ebx, [ebp+lprcSrc]
jmp	short loc_102D6C6

loc_102D6C4:
xor	eax, eax

loc_102D6C6:
test	eax, eax
mov	ecx, esi
jz	short loc_102D725
push	eax
call	sub_102C88A
inc	edi
cmp	edi, 10h
jb	short loc_102D681
mov	eax, [esi+0CCh]
cdq
push	5
pop	ecx
idiv	ecx
mov	[esi+120h], eax
mov	eax, [esi+0D0h]
cdq
idiv	ecx
lea	ecx, [ebp+var_8]
push	ecx
mov	ecx, esi
mov	[esi+124h], eax
mov	eax, [esi]
call	dword ptr [eax+0F0h]
push	1
push	[ebp+var_4]
mov	ecx, esi
push	[ebp+var_8]
push	dword ptr [ebx+4]
push	dword ptr [ebx]
call	?MoveWindow@CWnd@@QAEXHHHHH@Z ;	CWnd::MoveWindow(int,int,int,int,int)
xor	eax, eax
inc	eax

loc_102D71E:
pop	edi

loc_102D71F:
pop	esi
pop	ebx
leave
retn	1Ch

loc_102D725:
mov	eax, [esi]
call	dword ptr [eax+60h]
xor	eax, eax
jmp	short loc_102D71E
sub_102D64F endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	ebx
push	esi
push	dword ptr [ebp+10h]
mov	ebx, ecx
push	dword ptr [ebp+0Ch]
lea	esi, [ebx+128h]
mov	ecx, esi
call	sub_100CB77
test	eax, eax
jz	short loc_102D78F
push	edi
lea	edi, [ebp-10h]
movsd
movsd
push	0FFFFFFFFh
movsd
push	0FFFFFFFFh
lea	eax, [ebp-10h]
push	eax
movsd
call	ds:InflateRect
mov	ecx, [ebp-0Ch]
mov	eax, [ebp-10h]
sub	[ebp+10h], ecx
mov	ecx, off_103D74C
sub	[ebp+0Ch], eax
mov	eax, [ecx]
lea	edx, [ebp+0Ch]
push	edx
lea	edx, [ebp-10h]
push	edx
push	ebx
call	dword ptr [eax+48h]
pop	edi
jmp	short loc_102D79F

loc_102D78F:
push	dword ptr [ebp+10h]
mov	ecx, ebx
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
call	sub_102D50A

loc_102D79F:
pop	esi
pop	ebx
leave
retn	0Ch
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	dword ptr [ebp+10h]
push	dword ptr [ebp+0Ch]
push	dword ptr [ebp+8]
call	sub_102D633
pop	ebp
retn	0Ch
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102D7C6 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	eax, off_103E3FC[eax*4]
mov	eax, [eax]
pop	ebp
retn	4
sub_102D7C6 endp

align 10h



sub_102D7E0 proc near
mov	ecx, offset unk_103F1A4
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
mov	ecx, offset unk_103F1AC
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
mov	ecx, offset stru_103F1B4
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
mov	ecx, offset stru_103F1BC
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
mov	ecx, offset unk_103F194
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
mov	ecx, offset unk_103F19C
jmp	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)
sub_102D7E0 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102D821 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ebp+arg_0]
push	ebx
mov	ebx, [ecx+8]
push	esi
push	edi
mov	edi, [ecx]
lea	eax, [edi+ebx]
cdq
sub	eax, edx
mov	esi, eax
mov	eax, [ecx+0Ch]
mov	ecx, [ecx+4]
mov	[ebp+arg_0], eax
add	eax, ecx
cdq
sub	eax, edx
mov	edx, [ebp+arg_4]
sar	esi, 1
sar	eax, 1
dec	esi
dec	eax
cmp	edx, edi
jge	short loc_102D891
add	edi, 0FFFFFFFDh
cmp	edx, edi
jle	short loc_102D891
mov	edx, [ebp+arg_8]
cmp	edx, ecx
jge	short loc_102D870
add	ecx, 0FFFFFFFDh
cmp	edx, ecx
jle	short loc_102D870
push	7
jmp	loc_102D8FC

loc_102D870:
mov	ecx, [ebp+arg_0]
cmp	edx, ecx
jl	short loc_102D882
add	ecx, 3
cmp	edx, ecx
jge	short loc_102D882
push	9
jmp	short loc_102D8FC

loc_102D882:
cmp	edx, eax
jl	short loc_102D8FF
add	eax, 3
cmp	edx, eax
jge	short loc_102D8FF
push	4
jmp	short loc_102D8FC

loc_102D891:
cmp	edx, ebx
jl	short loc_102D8CF
add	ebx, 3
cmp	edx, ebx
jge	short loc_102D8CF
mov	edx, [ebp+arg_8]
cmp	edx, ecx
jge	short loc_102D8AE
add	ecx, 0FFFFFFFDh
cmp	edx, ecx
jle	short loc_102D8AE
push	8
jmp	short loc_102D8FC

loc_102D8AE:
mov	ecx, [ebp+arg_0]
cmp	edx, ecx
jl	short loc_102D8C0
add	ecx, 3
cmp	edx, ecx
jge	short loc_102D8C0
push	0Ah
jmp	short loc_102D8FC

loc_102D8C0:
cmp	edx, eax
jl	short loc_102D8FF
add	eax, 3
cmp	edx, eax
jge	short loc_102D8FF
push	5
jmp	short loc_102D8FC

loc_102D8CF:
cmp	edx, esi
jl	short loc_102D8FF
add	esi, 3
cmp	edx, esi
jge	short loc_102D8FF
mov	eax, [ebp+arg_8]
cmp	eax, ecx
jge	short loc_102D8EC
add	ecx, 0FFFFFFFDh
cmp	eax, ecx
jle	short loc_102D8EC
push	3
jmp	short loc_102D8FC

loc_102D8EC:
mov	ecx, [ebp+arg_0]
cmp	eax, ecx
jl	short loc_102D8FF
add	ecx, 3
cmp	eax, ecx
jge	short loc_102D8FF
push	6

loc_102D8FC:
pop	eax
jmp	short loc_102D902

loc_102D8FF:
mov	eax, [ebp+arg_C]

loc_102D902:
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	10h
sub_102D821 endp

db 5 dup(0CCh)



sub_102D90E proc near
mov	edi, edi
push	ebx
push	esi
mov	esi, ds:CreateBitmap
push	edi
push	offset unk_103E3DC ; lpBits
xor	ebx, ebx
inc	ebx
push	ebx		; nBitCount
push	ebx		; nPlanes
push	8
pop	edi
push	edi		; nHeight
push	edi		; nWidth
call	esi ; CreateBitmap
push	eax
mov	ecx, offset stru_103F1B4
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
test	eax, eax
jz	loc_102DA44
push	offset aUjujujuj ; "U¶U¶U¶U¶"
push	ebx		; nBitCount
push	ebx		; nPlanes
push	edi		; nHeight
push	edi		; nWidth
call	esi ; CreateBitmap
push	eax
mov	ecx, offset stru_103F1BC
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
test	eax, eax
jz	loc_102DA44
push	offset stru_103F1B4 ; hbm
mov	ecx, offset unk_103F1A4
call	sub_100D11E
test	eax, eax
jz	loc_102DA44
push	offset stru_103F1BC ; hbm
mov	ecx, offset unk_103F1AC
call	sub_100D11E
test	eax, eax
jz	loc_102DA44
push	1F55h
mov	ecx, offset unk_103F194
call	sub_1009718
test	eax, eax
jz	loc_102DA44
push	1F56h
mov	ecx, offset unk_103F19C
call	sub_1009718
test	eax, eax
jz	loc_102DA44
mov	edi, ds:LoadCursorW
push	7F00h		; lpCursorName
push	0		; hInstance
call	edi ; LoadCursorW
mov	esi, offset unk_103EE08
push	1F4Ch
mov	ecx, esi
mov	dword_103F178, eax
call	sub_1018E67
push	1F5Ah
mov	ecx, esi
mov	dword_103F17C, eax
call	sub_1018E67
push	1F5Ch
mov	ecx, esi
mov	dword_103F180, eax
call	sub_1018E67
push	1F59h
mov	ecx, esi
mov	dword_103F184, eax
call	sub_1018E67
push	1F5Bh
mov	ecx, esi
mov	dword_103F188, eax
call	sub_1018E67
mov	dword_103F18C, eax
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	eax, [eax+8]
push	44Ch		; lpCursorName
push	eax		; hInstance
call	edi ; LoadCursorW
mov	dword_103F174, eax
mov	dword_103F190, ebx
mov	eax, ebx
jmp	short loc_102DA52

loc_102DA44:
push	0
mov	ecx, offset unk_103EE08
call	sub_101F3A4
xor	eax, eax

loc_102DA52:
pop	edi
pop	esi
pop	ebx
retn
sub_102D90E endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102DA5B(int, int h,	char)
sub_102DA5B proc near

var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
w= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
h= dword ptr  0Ch
arg_8= byte ptr	 10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 14h
cmp	dword_103F190, 0
jnz	short loc_102DA71
call	sub_102D90E

loc_102DA71:
push	ebx
push	esi
mov	esi, [ebp+h]
mov	edx, [esi]
mov	eax, [esi+8]
mov	ecx, [esi+0Ch]
sub	eax, edx
push	edi
mov	edi, [esi+4]
lea	ebx, [eax-6]
sub	ecx, edi
lea	eax, [edx+eax-3]
mov	[ebp+var_14], eax
lea	eax, [edi+ecx-3]
mov	edi, ds:GetSysColor
mov	[ebp+w], ebx
lea	ebx, [ecx-6]
push	5		; nIndex
mov	[ebp+var_C], ebx
mov	[ebp+var_10], eax
mov	[ebp+var_4], 1
call	edi ; GetSysColor
push	0Dh		; nIndex
mov	ebx, eax
call	edi ; GetSysColor
mov	edi, [ebp+arg_0]
mov	[ebp+h], eax
mov	eax, [edi]
push	ebx
mov	ecx, edi
call	dword ptr [eax+38h]
push	[ebp+h]
mov	eax, [edi]
mov	ecx, edi
call	dword ptr [eax+34h]
push	offset unk_103F1A4
mov	ecx, edi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
test	[ebp+arg_8], 2
mov	[ebp+arg_0], eax
jnz	short loc_102DAF7
push	0Ch		; nIndex
call	sub_100D149
push	eax
mov	ecx, edi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
and	[ebp+var_4], 0

loc_102DAF7:
mov	eax, [ebp+var_4]
push	3
lea	ecx, [eax+eax]
pop	eax
mov	[ebp+h], eax
sub	[ebp+h], ecx
mov	ecx, [esi+4]
add	ecx, [ebp+var_4]
mov	ebx, 0F00021h
push	ebx		; rop
push	[ebp+h]		; h
push	[ebp+w]		; w
push	ecx		; y
mov	ecx, [esi]
add	ecx, eax
push	ecx		; x
mov	ecx, edi
call	sub_100AC94
mov	ecx, [ebp+var_10]
mov	eax, [ebp+var_4]
push	ebx		; rop
push	[ebp+h]		; h
add	eax, ecx
push	[ebp+w]		; w
mov	ecx, edi
push	eax		; y
mov	eax, [esi]
add	eax, 3
push	eax		; x
call	sub_100AC94
xor	eax, eax
inc	eax
test	[ebp+arg_8], al
mov	[ebp+var_4], eax
jnz	short loc_102DB63
push	0Ch		; nIndex
call	sub_100D149
push	eax
mov	ecx, edi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
and	[ebp+var_4], 0
mov	eax, [ebp+var_4]

loc_102DB63:		; rop
push	ebx
push	[ebp+var_C]	; h
lea	ecx, [eax+eax]
mov	[ebp+h], 3
sub	[ebp+h], ecx
push	[ebp+h]		; w
mov	ecx, [esi+4]
add	ecx, 3
push	ecx		; y
mov	ecx, [ebp+var_14]
add	eax, ecx
push	eax		; x
mov	ecx, edi
call	sub_100AC94
mov	eax, [esi+4]
push	ebx		; rop
push	[ebp+var_C]	; h
add	eax, 3
push	[ebp+h]		; w
mov	ecx, edi
push	eax		; y
mov	eax, [esi]
add	eax, [ebp+var_4]
push	eax		; x
call	sub_100AC94
push	[ebp+arg_0]
mov	ecx, edi
call	?SelectObject@CDC@@QAEPAVCBrush@@PAV2@@Z ; CDC::SelectObject(CBrush *)
pop	edi
pop	esi
pop	ebx
leave
retn	0Ch
sub_102DA5B endp

db 5 dup(0CCh)



sub_102DBBC proc near
mov	eax, offset loc_10370FB
call	sub_1034E18
sub	esp, 34h
push	ebx
push	esi
mov	esi, [ebp+0Ch]
mov	eax, [esi+8]
lea	ecx, [eax-3]
push	edi
mov	edi, [esi]
sub	eax, edi
inc	eax
mov	[ebp-20h], ecx
mov	ecx, [esi+0Ch]
lea	edx, [ecx-3]
mov	[ebp-24h], edx
cdq
sub	eax, edx
sar	eax, 1
lea	eax, [eax+edi-1]
mov	edi, [esi+4]
mov	[ebp-28h], eax
mov	eax, ecx
mov	ecx, [ebp+10h]
sub	eax, edi
inc	eax
cdq
sub	eax, edx
sar	eax, 1
lea	eax, [eax+edi-1]
mov	[ebp-2Ch], eax
mov	eax, ecx
and	eax, 2
jz	short loc_102DC1F
test	cl, 1
jz	short loc_102DC1F
xor	ebx, ebx
inc	ebx
mov	[ebp+0Ch], ebx
xor	edi, edi
jmp	short loc_102DC27

loc_102DC1F:
xor	edi, edi
xor	ebx, ebx
mov	[ebp+0Ch], edi
inc	ebx

loc_102DC27:
cmp	eax, edi
jz	short loc_102DC33
test	cl, 4
mov	[ebp-10h], ebx
jnz	short loc_102DC36

loc_102DC33:
mov	[ebp-10h], edi

loc_102DC36:
mov	eax, ecx
and	eax, 8
jz	short loc_102DC45
test	cl, 1
mov	[ebp-14h], ebx
jnz	short loc_102DC48

loc_102DC45:
mov	[ebp-14h], edi

loc_102DC48:
cmp	eax, edi
jz	short loc_102DC54
test	cl, 4
mov	[ebp-18h], ebx
jnz	short loc_102DC57

loc_102DC54:
mov	[ebp-18h], edi

loc_102DC57:
lea	ecx, [ebp-40h]
call	??0CDC@@QAE@XZ	; CDC::CDC(void)
mov	[ebp-4], edi
mov	edi, [ebp+8]
push	edi		; hdc
lea	ecx, [ebp-40h]
call	sub_1009779
test	eax, eax
jnz	short loc_102DC82
push	ebx
mov	ecx, offset unk_103EE08
call	sub_101F3CB
jmp	loc_102DE15

loc_102DC82:
mov	ebx, [edi]
push	0Dh		; nIndex
call	ds:GetSysColor
push	eax
mov	ecx, edi
call	dword ptr [ebx+38h]
mov	ebx, [edi]
push	5		; nIndex
call	ds:GetSysColor
push	eax
mov	ecx, edi
call	dword ptr [ebx+34h]
and	dword ptr [ebp-1Ch], 0
mov	edi, ds:BitBlt
mov	ebx, 0CC0020h

loc_102DCB1:
cmp	dword ptr [ebp-1Ch], 0
mov	eax, offset unk_103F19C
jnz	short loc_102DCC1
mov	eax, offset unk_103F194

loc_102DCC1:
push	eax
lea	ecx, [ebp-40h]
call	sub_1032D5B
xor	edx, edx
cmp	[ebp+0Ch], edx
mov	[ebp-30h], eax
jz	short loc_102DCEF
mov	eax, [esi+4]
mov	ecx, [esi]
push	ebx		; rop
push	edx		; y1
push	edx		; x1
push	dword ptr [ebp-3Ch] ; hdcSrc
push	3		; cy
push	3		; cx
push	eax		; y
mov	eax, [ebp+8]
push	ecx		; x
push	dword ptr [eax+4] ; hdc
call	edi ; BitBlt
xor	edx, edx

loc_102DCEF:
test	byte ptr [ebp+10h], 2
jz	short loc_102DD10
mov	eax, [esi+4]
push	ebx		; rop
push	edx		; y1
push	edx		; x1
push	dword ptr [ebp-3Ch] ; hdcSrc
push	3		; cy
push	3		; cx
push	eax		; y
push	dword ptr [ebp-28h] ; x
mov	eax, [ebp+8]
push	dword ptr [eax+4] ; hdc
call	edi ; BitBlt
xor	edx, edx

loc_102DD10:
cmp	[ebp-10h], edx
jz	short loc_102DD30
mov	eax, [esi+4]
push	ebx		; rop
push	edx		; y1
push	edx		; x1
push	dword ptr [ebp-3Ch] ; hdcSrc
push	3		; cy
push	3		; cx
push	eax		; y
push	dword ptr [ebp-20h] ; x
mov	eax, [ebp+8]
push	dword ptr [eax+4] ; hdc
call	edi ; BitBlt
xor	edx, edx

loc_102DD30:
test	byte ptr [ebp+10h], 4
jz	short loc_102DD50
mov	eax, [ebp+8]
push	ebx		; rop
push	edx		; y1
push	edx		; x1
push	dword ptr [ebp-3Ch] ; hdcSrc
push	3		; cy
push	3		; cx
push	dword ptr [ebp-2Ch] ; y
push	dword ptr [ebp-20h] ; x
push	dword ptr [eax+4] ; hdc
call	edi ; BitBlt
xor	edx, edx

loc_102DD50:
cmp	[ebp-18h], edx
jz	short loc_102DD6F
mov	eax, [ebp+8]
push	ebx		; rop
push	edx		; y1
push	edx		; x1
push	dword ptr [ebp-3Ch] ; hdcSrc
push	3		; cy
push	3		; cx
push	dword ptr [ebp-24h] ; y
push	dword ptr [ebp-20h] ; x
push	dword ptr [eax+4] ; hdc
call	edi ; BitBlt
xor	edx, edx

loc_102DD6F:
test	byte ptr [ebp+10h], 8
jz	short loc_102DD8F
mov	eax, [ebp+8]
push	ebx		; rop
push	edx		; y1
push	edx		; x1
push	dword ptr [ebp-3Ch] ; hdcSrc
push	3		; cy
push	3		; cx
push	dword ptr [ebp-24h] ; y
push	dword ptr [ebp-28h] ; x
push	dword ptr [eax+4] ; hdc
call	edi ; BitBlt
xor	edx, edx

loc_102DD8F:
cmp	[ebp-14h], edx
jz	short loc_102DDAE
mov	eax, [esi]
push	ebx		; rop
push	edx		; y1
push	edx		; x1
push	dword ptr [ebp-3Ch] ; hdcSrc
push	3		; cy
push	3		; cx
push	dword ptr [ebp-24h] ; y
push	eax		; x
mov	eax, [ebp+8]
push	dword ptr [eax+4] ; hdc
call	edi ; BitBlt
xor	edx, edx

loc_102DDAE:
test	byte ptr [ebp+10h], 1
jz	short loc_102DDCE
mov	eax, [esi]
push	ebx		; rop
push	edx		; y1
push	edx		; x1
push	dword ptr [ebp-3Ch] ; hdcSrc
push	3		; cy
push	3		; cx
push	dword ptr [ebp-2Ch] ; y
push	eax		; x
mov	eax, [ebp+8]
push	dword ptr [eax+4] ; hdc
call	edi ; BitBlt
xor	edx, edx

loc_102DDCE:
xor	eax, eax
cmp	[ebp+0Ch], edx
push	dword ptr [ebp-30h]
setz	al
not	dword ptr [ebp+10h]
lea	ecx, [ebp-40h]
mov	[ebp+0Ch], eax
xor	eax, eax
cmp	[ebp-10h], edx
setz	al
mov	[ebp-10h], eax
xor	eax, eax
cmp	[ebp-14h], edx
setz	al
mov	[ebp-14h], eax
xor	eax, eax
cmp	[ebp-18h], edx
setz	al
mov	[ebp-18h], eax
call	sub_1032D5B
inc	dword ptr [ebp-1Ch]
cmp	dword ptr [ebp-1Ch], 2
jl	loc_102DCB1

loc_102DE15:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-40h]
call	??1CDC@@UAE@XZ	; CDC::~CDC(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	0Ch
sub_102DBBC endp

db 5 dup(0CCh)

loc_102DE37:
mov	eax, offset off_1002C08
retn
db 5 dup(0CCh)

loc_102DE42:
mov	eax, offset off_1006D34
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102DE4D proc near

apt= POINT ptr -20h
var_18=	dword ptr -18h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 20h
push	esi
mov	esi, [ecx+68h]
lea	eax, [esi-1]
test	eax, eax
jl	short loc_102DE7E
lea	edx, [ebp+eax*8+apt]
lea	ecx, [ecx+eax*8+38h]
inc	eax
push	edi

loc_102DE6A:
mov	edi, [ecx]
mov	[edx], edi
mov	edi, [ecx+4]
mov	[edx+4], edi
sub	ecx, 8
sub	edx, 8
dec	eax
jnz	short loc_102DE6A
pop	edi

loc_102DE7E:
cmp	esi, 3
jnz	short loc_102DE9E
mov	eax, [ebp+var_10]
mov	[ebp+var_8], eax
mov	eax, [ebp+var_C]
mov	[ebp+var_4], eax
mov	eax, [ebp+var_18]
mov	[ebp+var_10], eax
mov	eax, [ebp+var_14]
push	4
mov	[ebp+var_C], eax
pop	esi

loc_102DE9E:		; cpt
push	esi
lea	eax, [ebp+apt]
push	eax		; apt
mov	eax, [ebp+arg_0]
push	dword ptr [eax+4] ; hdc
call	ds:PolyBezier
xor	eax, eax
inc	eax
pop	esi
leave
retn	4
sub_102DE4D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102DEBC proc near
mov	edi, edi
push	ebp
mov	ebp, esp
cmp	dword ptr [ecx+68h], 2
jnz	short loc_102DED2
mov	ecx, offset unk_103E9B4
pop	ebp
jmp	sub_101597E

loc_102DED2:
pop	ebp
retn	4
sub_102DEBC endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102DEDB proc near

var_8= byte ptr	-8
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_10=	dword ptr  18h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
push	esi
push	edi
push	[ebp+arg_10]
mov	edi, [ebp+arg_0]
push	1
push	[ebp+arg_8]
mov	esi, ecx
push	dword ptr [edi+4]
mov	eax, [esi]
call	dword ptr [eax+5Ch]
mov	eax, [esi+68h]
cmp	eax, 2
jnz	short loc_102DF21
push	dword ptr [esi+3Ch]
lea	eax, [ebp+var_8]
push	dword ptr [esi+38h]
mov	ecx, edi
push	eax
call	?MoveTo@CDC@@QAE?AVCPoint@@HH@Z	; CDC::MoveTo(int,int)
push	dword ptr [esi+44h]
mov	ecx, edi
push	dword ptr [esi+40h]
call	?LineTo@CDC@@QAEHHH@Z ;	CDC::LineTo(int,int)
jmp	short loc_102DF2B

loc_102DF21:
jle	short loc_102DF2B
push	edi
mov	ecx, esi
call	sub_102DE4D

loc_102DF2B:
push	[ebp+arg_10]
mov	eax, [esi]
push	0
push	[ebp+arg_8]
mov	ecx, esi
push	dword ptr [edi+4]
call	dword ptr [eax+5Ch]
mov	edi, [ebp+arg_4]
add	esi, 58h
movsd
movsd
movsd
movsd
pop	edi
pop	esi
leave
retn	14h
sub_102DEDB endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102DF52 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
mov	eax, [esi]
push	1
call	dword ptr [eax+54h]
push	[ebp+arg_0]
mov	ecx, esi
call	sub_1015350
pop	esi
pop	ebp
retn	4
sub_102DF52 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102DF75 proc near
mov	edi, edi
push	ebp
mov	ebp, esp
xor	eax, eax
cmp	dword ptr [ecx+68h], 4
setnz	al
mov	[ecx+20h], eax
pop	ebp
jmp	sub_101536F
sub_102DF75 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102DF91 proc near

xRight=	dword ptr -10h
yBottom= dword ptr -0Ch
dy= dword ptr -8
var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
push	edi
xor	edi, edi
mov	esi, ecx
mov	eax, [esi+24h]
inc	edi
cmp	[esi+68h], edi
mov	[ebp+dy], eax
jl	short loc_102DFBD
mov	eax, [esi+3Ch]
mov	ecx, [esi+38h]
push	eax		; yBottom
push	ecx		; xRight
push	eax		; yTop
push	ecx		; xLeft
lea	ecx, [esi+58h]	; lprc
call	sub_100ABE3

loc_102DFBD:
cmp	[esi+68h], edi
mov	[ebp+var_4], edi
jle	short loc_102E01C
lea	edi, [esi+40h]
push	ebx

loc_102DFC9:
mov	ebx, [edi+4]
mov	eax, [esi+64h]
cmp	ebx, eax
mov	[ebp+yBottom], ebx
jg	short loc_102DFD9
mov	[ebp+yBottom], eax

loc_102DFD9:
mov	edx, [edi]
mov	eax, [esi+60h]
cmp	edx, eax
mov	[ebp+xRight], edx
jg	short loc_102DFE8
mov	[ebp+xRight], eax

loc_102DFE8:
mov	ecx, [esi+5Ch]
cmp	ebx, ecx
mov	eax, ebx
jl	short loc_102DFF3
mov	eax, ecx

loc_102DFF3:
lea	ebx, [esi+58h]
mov	ecx, [ebx]
cmp	edx, ecx
jge	short loc_102DFFE
mov	ecx, edx

loc_102DFFE:		; yBottom
push	[ebp+yBottom]
push	[ebp+xRight]	; xRight
push	eax		; yTop
push	ecx		; xLeft
mov	ecx, ebx	; lprc
call	sub_100ABE3
inc	[ebp+var_4]
mov	eax, [ebp+var_4]
add	edi, 8
cmp	eax, [esi+68h]
jl	short loc_102DFC9
pop	ebx

loc_102E01C:
mov	eax, [ebp+dy]
push	0FFFFFFFEh
pop	ecx
cdq
idiv	ecx
inc	dword ptr [esi+64h]
inc	dword ptr [esi+60h]
add	esi, 58h
push	eax		; dy
push	eax		; dx
push	esi		; lprc
call	ds:OffsetRect
push	[ebp+dy]	; dy
push	[ebp+dy]	; dx
push	esi		; lprc
call	ds:InflateRect
pop	edi
pop	esi
leave
retn
sub_102DF91 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102E04D proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ecx+68h]
test	eax, eax
jnz	short loc_102E067
mov	eax, [ebp+arg_0]
mov	[ecx+38h], eax
mov	eax, [ebp+arg_4]
mov	[ecx+3Ch], eax
jmp	short loc_102E08D

loc_102E067:
cmp	eax, 4
jge	short loc_102E090
mov	edx, [ecx+eax*8+30h]
mov	[ecx+eax*8+38h], edx
mov	edx, [ecx+eax*8+34h]
mov	[ecx+eax*8+3Ch], edx
mov	eax, [ecx+68h]
mov	edx, [ebp+arg_0]
mov	[ecx+eax*8+30h], edx
mov	edx, [ebp+arg_4]
mov	[ecx+eax*8+34h], edx

loc_102E08D:
inc	dword ptr [ecx+68h]

loc_102E090:
call	sub_102DF91
pop	ebp
retn	8
sub_102E04D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102E09E proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ecx+68h]
cmp	eax, 2
jnz	short loc_102E0B9
mov	eax, [ebp+arg_0]
mov	[ecx+40h], eax
mov	eax, [ebp+arg_4]
mov	[ecx+44h], eax
jmp	short loc_102E0C9

loc_102E0B9:
jle	short loc_102E0C9
mov	edx, [ebp+arg_0]
mov	[ecx+eax*8+28h], edx
mov	edx, [ebp+arg_4]
mov	[ecx+eax*8+2Ch], edx

loc_102E0C9:
call	sub_102DF91
pop	ebp
retn	8
sub_102E09E endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102E0D7 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	edx, [ecx+38h]
mov	eax, [ebp+arg_0]
mov	[eax], edx
mov	edx, [ecx+3Ch]
push	eax
mov	[eax+4], edx
call	sub_10150F8
pop	ebp
retn	4
sub_102E0D7 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102E0F9 proc near

var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ebx
xor	ebx, ebx
cmp	[ebp+arg_0], ebx
push	esi
mov	esi, ecx
jnz	short loc_102E170
cmp	[esi+20h], ebx
jz	short loc_102E170
push	edi
call	sub_100C004
mov	ecx, eax
call	?GetActiveView@CFrameWnd@@QBEPAVCView@@XZ ; CFrameWnd::GetActiveView(void)
mov	edi, [eax+44h]
cmp	edi, ebx
jz	short loc_102E16F
mov	eax, [esi]
push	ebx
mov	ecx, esi
call	dword ptr [eax+54h]
mov	ecx, [esi]
push	ebx
push	1
push	1
lea	eax, [esi+58h]
push	eax
mov	eax, [edi+40h]
push	dword ptr [eax+0Ch]
mov	[ebp+var_4], ecx
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
push	eax
mov	eax, [ebp+var_4]
mov	ecx, esi
call	dword ptr [eax+68h]
lea	ebx, [esi+58h]
push	ebx		; lprcSrc2
push	dword ptr [edi+40h] ; int
call	sub_101282E
push	ebx		; hPal
push	dword ptr [edi+40h] ; int
call	sub_10128D0
push	ebx		; hdc
mov	ecx, edi
call	sub_1018D27
call	sub_100965C

loc_102E16F:
pop	edi

loc_102E170:
push	[ebp+arg_0]
mov	ecx, esi
call	sub_1015453
pop	esi
pop	ebx
leave
retn	4
sub_102E0F9 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102E185 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
cmp	dword ptr [esi+20h], 0
push	edi
mov	edi, [ebp+arg_4]
jz	short loc_102E1AF
push	dword ptr [edi+14h]
push	dword ptr [edi+10h]
call	sub_102E04D
mov	eax, [esi]
push	edi
push	[ebp+arg_0]
mov	ecx, esi
call	dword ptr [eax+2Ch]
jmp	short loc_102E1DD

loc_102E1AF:
and	dword ptr [esi+68h], 0
push	dword ptr [edi+14h]
push	dword ptr [edi+10h]
call	sub_102E04D
mov	dword ptr [esi+20h], 1
push	dword ptr [edi+14h]
mov	ecx, esi
push	dword ptr [edi+10h]
call	sub_102E04D
push	edi
push	[ebp+arg_0]
mov	ecx, esi
call	sub_10153C3

loc_102E1DD:
pop	edi
pop	esi
pop	ebp
retn	8
sub_102E185 endp

align 8


; Attributes: bp-based frame

sub_102E1E8 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
push	edi
mov	edi, [ebp+arg_4]
mov	esi, ecx
mov	eax, [esi]
push	edi
call	dword ptr [eax+18h]
push	dword ptr [edi+14h]
mov	ecx, esi
push	dword ptr [edi+10h]
call	sub_102E09E
cmp	dword ptr [esi+20h], 0
mov	ebx, [ebp+arg_0]
jz	short loc_102E228
lea	eax, [esi+58h]
push	eax		; lprcSrc2
push	dword ptr [ebx+40h] ; int
call	sub_101282E
push	edi
push	ebx
mov	ecx, esi
call	sub_1016655
jmp	short loc_102E28A

loc_102E228:
mov	eax, [esi]
push	edi
push	ebx
mov	ecx, esi
call	dword ptr [eax+2Ch]
push	dword ptr [edi+20h]
mov	ecx, [esi]
push	1
push	dword ptr [edi+18h]
lea	eax, [esi+58h]
push	eax
mov	eax, [ebx+40h]
push	dword ptr [eax+0Ch]
mov	[ebp+arg_4], ecx
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
push	eax
mov	eax, [ebp+arg_4]
mov	ecx, esi
call	dword ptr [eax+68h]
mov	ebx, [ebp+arg_0]
lea	eax, [esi+58h]
push	eax		; lprcSrc2
push	dword ptr [ebx+40h] ; int
call	sub_101282E
lea	eax, [esi+58h]
push	eax		; hPal
push	dword ptr [ebx+40h] ; int
call	sub_10128D0
lea	eax, [esi+58h]
push	eax		; hdc
mov	ecx, ebx
call	sub_1018D27
call	sub_100965C
push	edi
push	ebx
mov	ecx, esi
call	sub_10152F0

loc_102E28A:
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	8
sub_102E1E8 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102E296 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_4]
push	edi
mov	edi, ecx
mov	eax, [edi]
push	esi
call	dword ptr [eax+18h]
push	dword ptr [esi+14h]
mov	ecx, edi
push	dword ptr [esi+10h]
call	sub_102E09E
push	esi
push	[ebp+arg_0]
mov	ecx, edi
call	sub_1016655
pop	edi
pop	esi
pop	ebp
retn	8
sub_102E296 endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
cmp	dword ptr [ebp+8], 0
push	esi
mov	esi, ecx
jz	short loc_102E2E7
and	dword ptr [esi+68h], 0
lea	eax, [esi+58h]
push	eax
call	ds:SetRectEmpty

loc_102E2E7:
push	0
mov	ecx, esi
call	sub_101537F
pop	esi
pop	ebp
retn	4
db 5 dup(0CCh)



sub_102E2FA proc near
mov	edi, edi
push	esi
mov	esi, ecx
lea	eax, [esi+58h]
push	eax		; lprc
mov	dword ptr [esi], offset	off_1006D5C
call	ds:SetRectEmpty
mov	dword ptr [esi], offset	off_1001F6C
pop	esi
retn
sub_102E2FA endp

db 5 dup(0CCh)



sub_102E31C proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	sub_1016222
and	dword ptr [esi+68h], 0
lea	eax, [esi+58h]
push	eax		; lprc
mov	dword ptr [esi], offset	off_1006D5C
mov	dword ptr [esi+30h], 274h
call	ds:SetRectEmpty
mov	eax, esi
pop	esi
retn
sub_102E31C endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_102E34A(void *, char)
sub_102E34A proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_102E2FA
test	[ebp+arg_0], 1
jz	short loc_102E364
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_102E364:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_102E34A endp

align 10h

loc_102E370:
mov	eax, offset off_1006E70
retn
db 5 dup(0CCh)

loc_102E37B:
mov	eax, offset off_1006DC8
retn
align 8
push	esi
mov	esi, ecx
call	sub_102F239
xor	eax, eax
mov	[esi+0Ch], eax
mov	[esi+10h], eax
mov	[esi+18h], eax
mov	[esi+1Ch], eax
mov	dword ptr [esi], offset	off_1006DFC
mov	dword ptr [esi+30h], 26Dh
mov	dword ptr [esi+24h], 1
mov	dword ptr [esi+84h], offset stru_103E784
mov	dword ptr [esi+88h], offset unk_103E77C
mov	eax, esi
pop	esi
retn
db 5 dup(0CCh)



sub_102E3CF proc near
mov	dword ptr [ecx], offset	off_1006DFC
jmp	sub_102F1E6
sub_102E3CF endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102E3DF(HDC	hdc, COLORREF color, int, int)
sub_102E3DF proc near

hdc= dword ptr	8
color= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
push	[ebp+arg_C]	; int
xor	esi, esi
push	[ebp+arg_8]	; int
inc	esi
push	[ebp+color]	; color
mov	[ecx+24h], esi
push	[ebp+hdc]	; hdc
call	sub_101547B
mov	edi, eax
xor	eax, eax
cmp	[ebp+arg_8], eax
jz	short loc_102E426
cmp	dword_103F238, eax
jnz	short loc_102E444
push	6		; rop2
push	[ebp+hdc]	; hdc
mov	dword_103F238, esi
call	ds:SetROP2
mov	rop2, eax
jmp	short loc_102E446

loc_102E426:
cmp	dword_103F238, eax
jz	short loc_102E444
push	rop2		; rop2
mov	dword_103F238, eax
push	[ebp+hdc]	; hdc
call	ds:SetROP2
jmp	short loc_102E446

loc_102E444:
xor	edi, edi

loc_102E446:
mov	eax, edi
pop	edi
pop	esi
pop	ebp
retn	10h
sub_102E3DF endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102E453 proc near
mov	edi, edi
push	ebp
mov	ebp, esp
pop	ebp
jmp	sub_10153F7
sub_102E453 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102E463 proc near
mov	edi, edi
push	ebp
mov	ebp, esp
pop	ebp
jmp	sub_10150F8
sub_102E463 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102E473 proc near
mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, offset unk_103E9EC
pop	ebp
jmp	sub_10175A1
sub_102E473 endp

align 8


; Attributes: bp-based frame

sub_102E488 proc near
mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, offset unk_103E9EC
pop	ebp
jmp	sub_1015B7F
sub_102E488 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102E49D proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_10129FB
mov	eax, [esi]
push	0
mov	ecx, esi
call	dword ptr [eax+3Ch]
mov	ecx, [ebp+arg_0]
call	sub_101AF7B
xor	eax, eax
inc	eax
mov	dword_103E7DC, eax
mov	ecx, esi
mov	[esi+20h], eax
call	sub_102EBC9
push	[ebp+arg_4]
mov	ecx, esi
push	[ebp+arg_0]
call	sub_10153C3
pop	esi
pop	ebp
retn	8
sub_102E49D endp

db 5 dup(0CCh)



sub_102E4E4 proc near
mov	eax, offset loc_1037112
call	sub_1034E18
sub	esp, 10h
push	ebx
mov	ebx, [ebp+8]
push	esi
push	edi
lea	esi, [ecx+4Ch]
mov	edi, offset stru_103EBEC
movsd
movsd
movsd
movsd
mov	eax, [ebx+40h]
mov	esi, [ebp+0Ch]
mov	eax, [eax+2Ch]
cmp	[esi+10h], eax
mov	[ebp-10h], esp
mov	[ebp-14h], ecx
jle	short loc_102E51A
mov	[esi+10h], eax

loc_102E51A:
mov	eax, [ebx+40h]
mov	eax, [eax+30h]
cmp	[esi+14h], eax
jle	short loc_102E528
mov	[esi+14h], eax

loc_102E528:
xor	edi, edi
cmp	[esi+10h], edi
jge	short loc_102E532
mov	[esi+10h], edi

loc_102E532:
cmp	[esi+14h], edi
jge	short loc_102E53A
mov	[esi+14h], edi

loc_102E53A:
lea	ecx, [ebp-1Ch]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
push	dword ptr [esi+14h]
mov	ecx, [ebp-14h]
push	dword ptr [esi+10h]
mov	[ebp-4], edi
mov	byte ptr [ebp-4], 1
call	sub_102ED93
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
mov	ecx, [ebp-14h]
push	esi
push	ebx
call	sub_1016655
jmp	short loc_102E58D
mov	eax, [ebp+8]
push	1
mov	ecx, offset unk_103EE08
mov	[ebp-18h], eax
call	sub_101F3A4
mov	eax, offset loc_102E584
retn

loc_102E584:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)

loc_102E58D:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	8
sub_102E4E4 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102E5A3 proc near

var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ebx
push	esi
push	edi
push	1
mov	esi, ecx
call	sub_1013960
mov	ebx, [ebp+arg_0]
xor	edi, edi
cmp	dword_103E7DC, edi
jz	short loc_102E5E4
mov	eax, [esi]
push	edi
push	1
push	1
lea	ecx, [esi+4Ch]
push	ecx
mov	ecx, [ebx+40h]
push	dword ptr [ecx+0Ch]
mov	[ebp+var_4], eax
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
push	eax
mov	eax, [ebp+var_4]
mov	ecx, esi
call	dword ptr [eax+68h]

loc_102E5E4:
mov	ecx, offset unk_103E778
call	sub_100E6A7
push	edi		; lprcSrc2
mov	dword_103E870, edi
mov	dword_103E804, edi
mov	dword_103E7E0, edi
mov	dword_103E7E4, edi
mov	dword_103E7DC, edi
push	dword ptr [ebx+40h] ; int
call	sub_101282E
mov	ecx, esi
call	sub_102EBC9
push	ebx
mov	ecx, esi
call	sub_102EB41
pop	edi
pop	esi
pop	ebx
leave
retn	4
sub_102E5A3 endp

align 10h


; Attributes: bp-based frame

sub_102E630 proc near
mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, offset unk_103E9EC
pop	ebp
jmp	sub_1015BE7
sub_102E630 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102E645 proc near
mov	edi, edi
push	ebp
mov	ebp, esp
and	dword ptr [ecx+20h], 0
pop	ebp
jmp	sub_101536F
sub_102E645 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102E659(POINT *pptl, int cPoint, int iMode)
sub_102E659 proc near

pptl= dword ptr	 8
cPoint=	dword ptr  0Ch
iMode= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+iMode]	; iMode
mov	esi, ecx
push	[ebp+cPoint]	; cPoint
push	[ebp+pptl]	; pptl
call	ds:CreatePolygonRgn
push	eax
mov	ecx, esi
call	?Attach@CGdiObject@@QAEHPAX@Z ;	CGdiObject::Attach(void	*)
pop	esi
pop	ebp
retn	0Ch
sub_102E659 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_102E682(void *, char)
sub_102E682 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_102E3CF
test	[ebp+arg_0], 1
jz	short loc_102E69C
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_102E69C:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_102E682 endp

align 8


; Attributes: bp-based frame

sub_102E6A8 proc near

pptl= dword ptr	-4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	esi
mov	esi, ecx
mov	ecx, [esi+84h]
test	ecx, ecx
push	edi
jz	short loc_102E6C7
cmp	dword ptr [ecx+4], 0
jz	short loc_102E6C7
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)

loc_102E6C7:
mov	ecx, [esi+88h]
test	ecx, ecx
jz	short loc_102E6DC
cmp	dword ptr [ecx+4], 0
jz	short loc_102E6DC
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)

loc_102E6DC:
lea	edi, [esi+8Ch]
push	edi
lea	eax, [ebp+pptl]
push	eax
mov	ecx, esi
call	sub_102ECB5
test	eax, eax
jnz	short loc_102E705
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
xor	eax, eax
jmp	loc_102E7B0

loc_102E705:
mov	ecx, [esi+84h]
push	ebx
push	1		; iMode
push	dword ptr [edi]	; cPoint
push	[ebp+pptl]	; pptl
call	sub_102E659
push	[ebp+pptl]	; void *
mov	ebx, eax
call	??3@YAXPAX@Z	; operator delete(void *)
test	ebx, ebx
pop	ecx
jnz	short loc_102E737
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3CB
xor	eax, eax
jmp	short loc_102E7AF

loc_102E737:
mov	eax, [esi+50h]
mov	ecx, [esi+84h]
neg	eax
push	eax		; y
mov	eax, [esi+4Ch]
neg	eax
push	eax		; x
call	sub_101270C
push	edi
lea	eax, [ebp+pptl]
push	eax
mov	ecx, esi
call	sub_102ECB5
mov	ebx, eax
test	ebx, ebx
jz	short loc_102E7A2
mov	ecx, [esi+88h]
push	1		; iMode
push	dword ptr [edi]	; cPoint
push	[ebp+pptl]	; pptl
call	sub_102E659
push	[ebp+pptl]	; void *
mov	ebx, eax
call	??3@YAXPAX@Z	; operator delete(void *)
test	ebx, ebx
pop	ecx
jz	short loc_102E7A2
mov	eax, [esi+50h]
imul	eax, [ebp+arg_0]
mov	ecx, [esi+88h]
neg	eax
push	eax		; y
mov	eax, [esi+4Ch]
imul	eax, [ebp+arg_0]
neg	eax
push	eax		; x
call	sub_101270C
jmp	short loc_102E7AD

loc_102E7A2:
mov	ecx, [esi+84h]
call	?DeleteObject@CGdiObject@@QAEHXZ ; CGdiObject::DeleteObject(void)

loc_102E7AD:
mov	eax, ebx

loc_102E7AF:
pop	ebx

loc_102E7B0:
pop	edi
pop	esi
leave
retn	4
sub_102E6A8 endp

db 5 dup(0CCh)



sub_102E7BB proc near
mov	eax, offset loc_1037129
call	sub_1034E18
sub	esp, 10h
push	ebx
push	esi
push	edi
mov	edi, [ebp+0Ch]
xor	esi, esi
cmp	edi, esi
mov	ebx, ecx
mov	[ebp-10h], esp
mov	[ebp-14h], ebx
jz	short loc_102E84C
cmp	dword ptr [ebp+10h], 3
jl	short loc_102E84C
call	sub_102EBC9
lea	ecx, [ebp-1Ch]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
mov	[ebp-4], esi
mov	byte ptr [ebp-4], 1

loc_102E7F6:
cmp	esi, [ebp+10h]
jge	short loc_102E85F
push	8		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
test	eax, eax
pop	ecx
jz	short loc_102E815
mov	ecx, [edi+esi*8]
mov	[eax], ecx
mov	ecx, [edi+esi*8+4]
mov	[eax+4], ecx
jmp	short loc_102E817

loc_102E815:
xor	eax, eax

loc_102E817:
push	eax
lea	ecx, [ebx+38h]
call	sub_102BD58
inc	esi
jmp	short loc_102E7F6
mov	eax, [ebp+0Ch]
mov	ecx, [ebp-14h]
mov	[ebp-18h], eax
call	sub_102EBC9
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
mov	eax, offset loc_102E843
retn

loc_102E843:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)

loc_102E84C:
xor	eax, eax

loc_102E84E:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	0Ch

loc_102E85F:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
mov	eax, [ebp+10h]
mov	ecx, ebx
mov	[ebx+8Ch], eax
call	sub_102EBFF
push	dword ptr [ebp+8]
lea	esi, [ebx+4Ch]
mov	edi, offset stru_103EBEC
movsd
movsd
movsd
xor	eax, eax
movsd
mov	[ebx+20h], eax
mov	ecx, ebx
mov	dword_103E7DC, eax
mov	dword_103E7E0, eax
mov	dword_103E7E4, eax
call	sub_102E6A8
neg	eax
sbb	eax, eax
neg	eax
jmp	short loc_102E84E
sub_102E7BB endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102E8AF proc near

var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
push	edi
lea	eax, [ebp+var_8]
push	eax
lea	eax, [ebp+var_4]
push	eax
mov	edi, ecx
call	sub_102ECB5
test	eax, eax
jz	loc_102E95D
mov	ecx, [edi+54h]
sub	ecx, [edi+4Ch]
mov	eax, [ebp+arg_0]
inc	ecx
sub	eax, ecx
lea	eax, [eax+eax*4]
shl	eax, 1
cdq
idiv	ecx
mov	ecx, [ebp+var_4]
push	ebx
push	esi
mov	esi, [edi+58h]
sub	esi, [edi+50h]
inc	esi
mov	ebx, eax
mov	eax, [ebp+arg_4]
sub	eax, esi
lea	eax, [eax+eax*4]
shl	eax, 1
cdq
idiv	esi
mov	edx, [ebp+var_8]
test	edx, edx
jz	short loc_102E938
add	eax, 0Ah
lea	esi, [ebx+0Ah]
mov	[ebp+arg_4], eax
mov	[ebp+arg_0], edx

loc_102E910:
mov	eax, [ecx]
imul	eax, esi
add	eax, 5
cdq
push	0Ah
pop	ebx
idiv	ebx
mov	[ecx], eax
mov	eax, [ecx+4]
imul	eax, [ebp+arg_4]
add	eax, 5
cdq
idiv	ebx
add	ecx, 8
dec	[ebp+arg_0]
mov	[ecx-4], eax
jnz	short loc_102E910

loc_102E938:
push	[ebp+var_8]
mov	eax, dword_103ED04
push	[ebp+var_4]
mov	eax, [eax+48h]
push	eax
mov	ecx, edi
call	sub_102E7BB
push	[ebp+var_4]	; void *
mov	esi, eax
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx
mov	eax, esi
pop	esi
pop	ebx

loc_102E95D:
pop	edi
leave
retn	8
sub_102E8AF endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102E967 proc near

var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ebx
mov	ebx, [ebp+arg_0]
mov	eax, [ebx+48h]
push	esi
push	edi
mov	edi, [ebp+arg_4]
mov	[ebp+var_4], eax
xor	eax, eax
mov	esi, ecx
push	edi
mov	dword_103E7DC, eax
mov	dword_103E7E4, eax
mov	dword_103E7E0, eax
mov	eax, [esi]
push	ebx
call	dword ptr [eax+2Ch]
push	dword ptr [edi+20h]
mov	ecx, [esi]
push	1
push	dword ptr [edi+18h]
lea	eax, [esi+4Ch]
push	eax
mov	eax, [ebx+40h]
push	dword ptr [eax+0Ch]
mov	[ebp+arg_4], ecx
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
push	eax
mov	eax, [ebp+arg_4]
mov	ecx, esi
call	dword ptr [eax+68h]
mov	eax, [esi+40h]
cmp	eax, 2
mov	[esi+8Ch], eax
jle	short loc_102E9D7
push	[ebp+var_4]
mov	ecx, esi
call	sub_102E6A8
test	eax, eax
jz	short loc_102EA1C

loc_102E9D7:
mov	ecx, [edi+10h]
cmp	[edi], ecx
jnz	short loc_102E9F7
mov	eax, [edi+14h]
cmp	[edi+4], eax
jnz	short loc_102E9F7
cmp	dword ptr [esi+8Ch], 3
jle	short loc_102E9F7
inc	ecx
inc	eax
mov	[edi+10h], ecx
mov	[edi+14h], eax

loc_102E9F7:
mov	eax, [esi+4Ch]
mov	[edi], eax
mov	eax, [esi+50h]
mov	[edi+4], eax
mov	eax, [esi+54h]
push	edi
push	[ebp+arg_0]
mov	[edi+10h], eax
mov	eax, [esi+58h]
mov	ecx, offset unk_103E9EC
mov	[edi+14h], eax
call	sub_1017919

loc_102EA1C:
pop	edi
pop	esi
pop	ebx
leave
retn	8
sub_102E967 endp

align 8

loc_102EA28:
mov	eax, offset off_1002C20
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102EA33(HDC	hdc, COLORREF color, int, int)
sub_102EA33 proc near

hdc= dword ptr	8
color= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
push	[ebp+arg_C]	; int
mov	esi, ecx
push	[ebp+arg_8]	; int
push	[ebp+color]	; color
push	[ebp+hdc]	; hdc
call	sub_101547B
mov	edi, eax
xor	eax, eax
cmp	[esi+20h], eax
jz	short loc_102EAA9
cmp	[ebp+arg_8], eax
jz	short loc_102EA84
cmp	dword_103F2D4, eax
jnz	short loc_102EAA7
cmp	[esi+1Ch], eax
mov	dword_103F2D4, 1
jnz	short loc_102EAA9
push	6		; rop2
push	[ebp+hdc]	; hdc
call	ds:SetROP2
mov	dword_103F2D0, eax
jmp	short loc_102EAA9

loc_102EA84:
cmp	dword_103F2D4, eax
jz	short loc_102EAA7
cmp	[esi+1Ch], eax
mov	dword_103F2D4, eax
jnz	short loc_102EAA9
push	dword_103F2D0	; rop2
push	[ebp+hdc]	; hdc
call	ds:SetROP2
jmp	short loc_102EAA9

loc_102EAA7:
xor	edi, edi

loc_102EAA9:
mov	eax, edi
pop	edi
pop	esi
pop	ebp
retn	10h
sub_102EA33 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102EAB6 proc near
mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, offset unk_103E9B4
pop	ebp
jmp	sub_101597E
sub_102EAB6 endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
push	dword ptr [ebp+18h]
mov	edi, [ebp+8]
push	1
push	dword ptr [ebp+10h]
mov	esi, ecx
push	dword ptr [edi+4]
mov	eax, [esi]
call	dword ptr [eax+5Ch]
cmp	dword ptr [esi+20h], 0
mov	eax, [esi]
mov	ecx, esi
push	edi
jz	short loc_102EAF7
call	dword ptr [eax+6Ch]
jmp	short loc_102EAFA

loc_102EAF7:
call	dword ptr [eax+70h]

loc_102EAFA:
push	dword ptr [ebp+18h]
mov	eax, [esi]
push	0
push	dword ptr [ebp+10h]
mov	ecx, esi
push	dword ptr [edi+4]
call	dword ptr [eax+5Ch]
mov	edi, [ebp+0Ch]
add	esi, 4Ch
movsd
movsd
movsd
movsd
pop	edi
pop	esi
pop	ebp
retn	14h
db 5 dup(0CCh)



sub_102EB21 proc near
and	dword ptr [ecx+5Ch], 0
retn	8
sub_102EB21 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102EB2D proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
mov	[ecx+5Ch], eax
pop	ebp
retn	8
sub_102EB2D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102EB41 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, [ebp+arg_0]
mov	esi, ecx
lea	eax, [esi+4Ch]
push	eax		; lprcSrc2
push	dword ptr [edi+40h] ; int
call	sub_101282E
mov	eax, [esi]
push	1
mov	ecx, esi
call	dword ptr [eax+54h]
push	edi
mov	ecx, esi
call	sub_1015350
pop	edi
pop	esi
pop	ebp
retn	4
sub_102EB41 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102EB75 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
cmp	dword ptr [esi+40h], 0
jz	short loc_102EBA2
cmp	dword ptr [esi+20h], 0
jz	short loc_102EBA2
mov	eax, [esi]
push	edi
lea	edi, [esi+60h]
push	edi
push	[ebp+arg_0]
call	dword ptr [eax+24h]
mov	eax, [esi]
push	edi
push	[ebp+arg_0]
mov	ecx, esi
call	dword ptr [eax+28h]
pop	edi

loc_102EBA2:
pop	esi
pop	ebp
retn	4
sub_102EB75 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_102EBAC(POINT *apt,	int cpt)
sub_102EBAC proc near

apt= dword ptr	8
cpt= dword ptr	0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+cpt]	; cpt
push	[ebp+apt]	; apt
push	dword ptr [ecx+4] ; hdc
call	ds:Polyline
pop	ebp
retn	8
sub_102EBAC endp

db 5 dup(0CCh)



sub_102EBC9 proc near
mov	edi, edi
push	ebx
push	esi
mov	esi, ecx
mov	ebx, [esi+40h]
push	edi
xor	edi, edi
test	ebx, ebx
jle	short loc_102EBEA

loc_102EBD9:
mov	eax, [esi+3Ch]
push	dword ptr [eax+edi*4] ;	void *
call	??3@YAXPAX@Z	; operator delete(void *)
inc	edi
cmp	edi, ebx
pop	ecx
jl	short loc_102EBD9

loc_102EBEA:
push	0FFFFFFFFh
push	0
lea	ecx, [esi+38h]
call	?SetSize@CObArray@@QAEXHH@Z ; CObArray::SetSize(int,int)
pop	edi
pop	esi
pop	ebx
retn
sub_102EBC9 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102EBFF proc near

var_10=	dword ptr -10h
xRight=	dword ptr -0Ch
yBottom= dword ptr -8
dy= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	ebx
push	esi
mov	esi, ecx
mov	eax, [esi+24h]
xor	ebx, ebx
push	edi
mov	edi, [esi+40h]
inc	ebx
cmp	edi, ebx
mov	[ebp+var_10], edi
mov	[ebp+dy], eax
jl	short loc_102EC89
mov	eax, [esi+3Ch]
mov	eax, [eax]
mov	ecx, [eax+4]
mov	eax, [eax]
push	ecx		; yBottom
push	eax		; xRight
push	ecx		; yTop
push	eax		; xLeft
lea	ecx, [esi+4Ch]	; lprc
call	sub_100ABE3
cmp	edi, ebx
jle	short loc_102EC89

loc_102EC39:
mov	eax, [esi+3Ch]
mov	eax, [eax+ebx*4]
mov	edi, [eax+4]
mov	ecx, [esi+58h]
cmp	edi, ecx
mov	[ebp+yBottom], edi
jg	short loc_102EC4F
mov	[ebp+yBottom], ecx

loc_102EC4F:
mov	ecx, [eax]
mov	edx, [esi+54h]
cmp	ecx, edx
mov	[ebp+xRight], ecx
jg	short loc_102EC5E
mov	[ebp+xRight], edx

loc_102EC5E:
mov	eax, [esi+50h]
cmp	edi, eax
mov	edx, edi
jl	short loc_102EC69
mov	edx, eax

loc_102EC69:
lea	edi, [esi+4Ch]
mov	eax, [edi]
cmp	ecx, eax
jge	short loc_102EC74
mov	eax, ecx

loc_102EC74:		; yBottom
push	[ebp+yBottom]
mov	ecx, edi	; lprc
push	[ebp+xRight]	; xRight
push	edx		; yTop
push	eax		; xLeft
call	sub_100ABE3
inc	ebx
cmp	ebx, [ebp+var_10]
jl	short loc_102EC39

loc_102EC89:
mov	eax, [ebp+dy]
push	0FFFFFFFEh
pop	ecx
cdq
idiv	ecx
add	esi, 4Ch
push	eax		; dy
push	eax		; dx
push	esi		; lprc
call	ds:OffsetRect
push	[ebp+dy]	; dy
push	[ebp+dy]	; dx
push	esi		; lprc
call	ds:InflateRect
pop	edi
pop	esi
pop	ebx
leave
retn
sub_102EBFF endp

db 5 dup(0CCh)



sub_102ECB5 proc near
mov	eax, offset loc_103714A
call	sub_1034E18
sub	esp, 1Ch
push	ebx
push	esi
mov	ebx, ecx
mov	esi, [ebx+40h]
push	edi
xor	eax, eax
inc	eax
xor	edi, edi
cmp	esi, edi
mov	[ebp-10h], esp
mov	[ebp-18h], ebx
mov	[ebp-14h], eax
jnz	short loc_102ECE8
mov	ecx, [ebp+0Ch]
mov	[ecx], edi
mov	ecx, [ebp+8]
mov	[ecx], edi
jmp	short loc_102ED67

loc_102ECE8:
lea	ecx, [ebp-28h]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
mov	eax, esi
shl	eax, 3
mov	[ebp-4], edi
push	eax		; unsigned int
mov	byte ptr [ebp-4], 1
call	??2@YAPAXI@Z	; operator new(uint)
mov	edi, eax
pop	ecx
mov	[ebp-1Ch], edi
test	edi, edi
mov	byte ptr [ebp-4], 2
jz	short loc_102ED22
push	offset loc_100CB6F
push	esi
push	8
push	edi
call	sub_1009555
mov	eax, edi
jmp	short loc_102ED24

loc_102ED22:
xor	eax, eax

loc_102ED24:
test	eax, eax
mov	edi, [ebp+8]
mov	byte ptr [ebp-4], 1
mov	[edi], eax
jnz	short loc_102ED36
call	?AfxThrowMemoryException@@YGXXZ	; AfxThrowMemoryException(void)

loc_102ED36:
xor	eax, eax

loc_102ED38:
cmp	eax, esi
jge	short loc_102ED56
mov	ecx, [ebx+3Ch]
mov	ecx, [ecx+eax*4]
mov	ebx, [ecx]
mov	edx, [edi]
mov	[edx+eax*8], ebx
mov	ecx, [ecx+4]
mov	ebx, [ebp-18h]
mov	[edx+eax*8+4], ecx
inc	eax
jmp	short loc_102ED38

loc_102ED56:
mov	eax, [ebp+0Ch]
mov	[eax], esi

loc_102ED5B:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
mov	eax, [ebp-14h]

loc_102ED67:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	8
sub_102ECB5 endp

mov	eax, [ebp-20h]
and	dword ptr [ebp-14h], 0
mov	[ebp-24h], eax
mov	eax, [ebp+0Ch]
and	dword ptr [eax], 0
mov	eax, offset loc_102ED5B
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102ED93 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
push	8		; unsigned int
mov	edi, ecx
call	??2@YAPAXI@Z	; operator new(uint)
test	eax, eax
pop	ecx
jz	short loc_102EDB7
mov	ecx, [ebp+arg_0]
mov	[eax], ecx
mov	ecx, [ebp+arg_4]
mov	[eax+4], ecx
mov	esi, eax
jmp	short loc_102EDB9

loc_102EDB7:
xor	esi, esi

loc_102EDB9:
test	esi, esi
jnz	short loc_102EDC2
call	?AfxThrowMemoryException@@YGXXZ	; AfxThrowMemoryException(void)

loc_102EDC2:
push	esi
lea	ecx, [edi+38h]
call	sub_102BD58
mov	ecx, edi
call	sub_102EBFF
pop	edi
pop	esi
pop	ebp
retn	8
sub_102ED93 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102EDDD proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ecx+40h]
dec	eax
js	short loc_102EDFE
mov	edx, [ecx+3Ch]
mov	eax, [edx+eax*4]
mov	edx, [ebp+arg_0]
mov	[eax], edx
mov	edx, [ebp+arg_4]
mov	[eax+4], edx
call	sub_102EBFF

loc_102EDFE:
pop	ebp
retn	8
sub_102EDDD endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102EE07 proc near

cpt= dword ptr -8
apt= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
and	[ebp+apt], 0
lea	eax, [ebp+cpt]
push	eax
lea	eax, [ebp+apt]
push	eax
call	sub_102ECB5
test	eax, eax
jz	short locret_102EE40
cmp	[ebp+apt], 0
jz	short locret_102EE40
push	[ebp+cpt]	; cpt
mov	ecx, [ebp+arg_0]
push	[ebp+apt]	; apt
call	sub_102EBAC
push	[ebp+apt]	; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

locret_102EE40:
leave
retn	4
sub_102EE07 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102EE49 proc near

cpt= dword ptr -8
apt= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
and	[ebp+apt], 0
lea	eax, [ebp+cpt]
push	eax
lea	eax, [ebp+apt]
push	eax
call	sub_102ECB5
test	eax, eax
jz	short locret_102EE88
cmp	[ebp+apt], 0
jz	short locret_102EE88
cmp	[ebp+cpt], 2
jle	short loc_102EE7F
push	[ebp+cpt]	; cpt
mov	ecx, [ebp+arg_0]
push	[ebp+apt]	; apt
call	sub_1012729

loc_102EE7F:		; void *
push	[ebp+apt]
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

locret_102EE88:
leave
retn	4
sub_102EE49 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102EE91 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ecx+40h]
dec	eax
test	eax, eax
jle	short loc_102EEA1
dec	eax
test	eax, eax

loc_102EEA1:
mov	edx, [ebp+arg_0]
jl	short loc_102EEB8
push	esi
mov	esi, [ecx+3Ch]
mov	eax, [esi+eax*4]
mov	esi, [eax]
mov	[edx], esi
mov	eax, [eax+4]
mov	[edx+4], eax
pop	esi

loc_102EEB8:
push	edx
call	sub_10150F8
pop	ebp
retn	4
sub_102EE91 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102EEC7 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
xor	ebx, ebx
cmp	[ebp+arg_0], ebx
push	esi
mov	esi, ecx
jnz	short loc_102EF3A
cmp	[esi+20h], ebx
jz	short loc_102EF3A
mov	eax, [esi+5Ch]
cmp	eax, ebx
jz	short loc_102EF33
cmp	dword ptr [esi+40h], 1
mov	edx, [esi]
jle	short loc_102EF2D
push	edi
lea	edi, [esi+60h]
push	edi
push	eax
call	dword ptr [edx+24h]
mov	eax, [esi]
push	edi
push	dword ptr [esi+5Ch]
mov	ecx, esi
call	dword ptr [eax+28h]
mov	eax, [esi+70h]
mov	[esi+68h], eax
mov	eax, [esi+74h]
mov	[esi+6Ch], eax
mov	eax, [esi]
push	ebx
mov	ecx, esi
call	dword ptr [eax+54h]
mov	eax, [esi]
push	edi
push	dword ptr [esi+5Ch]
mov	ecx, esi
call	dword ptr [eax+28h]
mov	dword_103EDE0, ebx
mov	dword_103EDE4, ebx
pop	edi
jmp	short loc_102EF3A

loc_102EF2D:
push	eax
call	dword ptr [edx+38h]
jmp	short loc_102EF3A

loc_102EF33:
mov	eax, [esi]
push	1
call	dword ptr [eax+54h]

loc_102EF3A:
cmp	[ebp+arg_0], ebx
mov	[esi+5Ch], ebx
jz	short loc_102EF4C
mov	eax, dword_103D748
mov	[esi+24h], eax
jmp	short loc_102EF54

loc_102EF4C:
mov	eax, [esi+24h]
mov	dword_103D748, eax

loc_102EF54:
push	[ebp+arg_0]
mov	ecx, esi
call	sub_10152BD
pop	esi
pop	ebx
pop	ebp
retn	4
sub_102EEC7 endp

db 5 dup(0CCh)



sub_102EF69 proc near
mov	eax, offset loc_1037161
call	sub_1034E18
sub	esp, 28h
push	ebx
push	esi
push	edi
mov	esi, ecx
lea	ecx, [ebp-24h]
mov	[ebp-10h], esp
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
and	dword ptr [ebp-4], 0
cmp	dword ptr [esi+20h], 0
mov	byte ptr [ebp-4], 1
jz	short loc_102F002
mov	edi, [ebp+0Ch]
mov	eax, [edi+10h]
mov	ebx, [ebp+8]
mov	[ebp-1Ch], eax
mov	eax, [edi+14h]
mov	[ebp-18h], eax
lea	eax, [ebp-1Ch]
push	eax
mov	ecx, ebx
call	sub_1018CC9
lea	eax, [ebp-34h]
push	eax		; lpRect
push	dword ptr [ebx+20h] ; hWnd
call	ds:GetClientRect
push	dword ptr [ebp-18h]
lea	eax, [ebp-34h]
push	dword ptr [ebp-1Ch] ; pt
push	eax		; lprc
call	ds:PtInRect
test	eax, eax
jz	short loc_102EFE8
push	dword ptr [edi+14h]
mov	ecx, esi
push	dword ptr [edi+10h]
call	sub_102ED93
mov	eax, [esi]
push	edi
push	ebx
mov	ecx, esi
call	dword ptr [eax+2Ch]

loc_102EFE8:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	8

loc_102F002:
mov	ecx, esi
call	sub_102EBC9
lea	eax, [esi+4Ch]
push	eax		; lprc
call	ds:SetRectEmpty
mov	edi, [ebp+0Ch]
push	dword ptr [edi+14h]
mov	ecx, esi
push	dword ptr [edi+10h]
call	sub_102ED93
mov	dword ptr [esi+20h], 1
push	dword ptr [edi+14h]
mov	ecx, esi
push	dword ptr [edi+10h]
call	sub_102ED93
push	edi
push	dword ptr [ebp+8]
mov	ecx, esi
call	sub_10153C3
jmp	short loc_102EFE8
sub_102EF69 endp

mov	eax, [ebp-14h]
mov	[ebp-20h], eax
mov	eax, offset loc_102EFE8
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102F055 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
mov	esi, [ebp+arg_4]
push	edi
mov	ebx, ecx
mov	eax, [ebx]
push	esi
call	dword ptr [eax+18h]
push	dword ptr [esi+14h]
mov	ecx, ebx
push	dword ptr [esi+10h]
call	sub_102EDDD
cmp	dword ptr [ebx+20h], 0
jz	short loc_102F09F
push	9
pop	ecx
lea	edi, [ebx+60h]
rep movsd
mov	esi, [ebp+arg_0]
lea	eax, [ebx+4Ch]
push	eax		; lprcSrc2
push	dword ptr [esi+40h] ; int
call	sub_101282E
push	[ebp+arg_4]
mov	ecx, ebx
push	esi
call	sub_1016655
jmp	short loc_102F107

loc_102F09F:
cmp	dword ptr [ebx+40h], 0
jz	short loc_102F107
mov	edi, [ebp+arg_0]
mov	eax, [ebx]
push	esi
push	edi
mov	ecx, ebx
call	dword ptr [eax+2Ch]
push	dword ptr [esi+20h]
mov	ecx, [ebx]
push	1
push	dword ptr [esi+18h]
lea	eax, [ebx+4Ch]
push	eax
mov	eax, [edi+40h]
push	dword ptr [eax+0Ch]
mov	[ebp+arg_4], ecx
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
push	eax
mov	eax, [ebp+arg_4]
mov	ecx, ebx
call	dword ptr [eax+68h]
lea	eax, [ebx+4Ch]
push	eax		; lprcSrc2
push	dword ptr [edi+40h] ; int
call	sub_101282E
lea	eax, [ebx+4Ch]
push	eax		; hPal
push	dword ptr [edi+40h] ; int
call	sub_10128D0
lea	eax, [ebx+4Ch]
push	eax		; hdc
mov	ecx, edi
call	sub_1018D27
call	sub_100965C
push	esi
push	edi
mov	ecx, ebx
call	sub_10152F0

loc_102F107:
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	8
sub_102F055 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102F113 proc near

var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
push	ebx
mov	ebx, [ebp+arg_4]
push	esi
push	edi
mov	esi, ecx
mov	eax, [esi]
push	ebx
call	dword ptr [eax+18h]
lea	edi, [ebx+10h]
push	dword ptr [edi+4]
mov	ecx, esi
push	dword ptr [edi]
call	sub_102EDDD
push	edi
call	sub_1009D6F
mov	eax, [esi+54h]
sub	eax, [esi+4Ch]
mov	[ebp+var_8], eax
mov	eax, [esi+58h]
sub	eax, [esi+50h]
mov	[ebp+var_4], eax
lea	eax, [ebp+var_8]
push	eax
call	sub_1009D9B
push	ebx
push	[ebp+arg_0]
mov	ecx, esi
call	sub_1016655
pop	edi
pop	esi
pop	ebx
leave
retn	8
sub_102F113 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102F16F proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ecx+3Ch]
mov	edx, [eax]
mov	eax, [ebp+arg_0]
push	ebx
mov	ebx, [eax+14h]
push	esi
mov	esi, [eax+10h]
mov	eax, [edx]
sub	eax, esi
mov	esi, [ecx+24h]
push	edi
mov	edi, [edx+4]
cdq
xor	eax, edx
shl	esi, 1
sub	eax, edx
sub	edi, ebx
cmp	eax, esi
jg	short loc_102F1AB
mov	eax, edi
cdq
xor	eax, edx
sub	eax, edx
cmp	eax, esi
jg	short loc_102F1AB
xor	eax, eax
jmp	short loc_102F1AE

loc_102F1AB:
xor	eax, eax
inc	eax

loc_102F1AE:
pop	edi
mov	[ecx+20h], eax
xor	eax, eax
pop	esi
inc	eax
pop	ebx
pop	ebp
retn	4
sub_102F16F endp

align 10h


; Attributes: bp-based frame

sub_102F1C0 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	[ebp+arg_0], 0
push	esi
mov	esi, ecx
jz	short loc_102F1D3
call	sub_102EBC9

loc_102F1D3:
push	0
mov	ecx, esi
call	sub_101537F
pop	esi
pop	ebp
retn	4
sub_102F1C0 endp

db 5 dup(0CCh)



sub_102F1E6 proc near
mov	eax, offset loc_1037183
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_1006E9C
lea	eax, [esi+4Ch]
push	eax		; lprc
mov	dword ptr [ebp-4], 1
call	ds:SetRectEmpty
mov	ecx, esi
call	sub_102EBC9
lea	ecx, [esi+38h]
mov	byte ptr [ebp-4], 0
call	??1CObArray@@UAE@XZ ; CObArray::~CObArray(void)
mov	ecx, [ebp-0Ch]
mov	dword ptr [esi], offset	off_1001F6C
pop	esi
mov	large fs:0, ecx
leave
retn
sub_102F1E6 endp

db 5 dup(0CCh)



sub_102F239 proc near
mov	eax, offset loc_103719A
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
call	sub_1018603
and	dword ptr [ebp-4], 0
lea	ecx, [esi+38h]
mov	dword ptr [esi], offset	off_1006E9C
call	??0CObArray@@QAE@XZ ; CObArray::CObArray(void)
lea	eax, [esi+4Ch]
push	eax		; lprc
mov	dword ptr [esi+30h], 278h
call	ds:SetRectEmpty
and	dword ptr [esi+20h], 0
mov	ecx, [ebp-0Ch]
mov	dword ptr [esi+24h], 1
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_102F239 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_102F291(void *, char)
sub_102F291 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_102F1E6
test	[ebp+arg_0], 1
jz	short loc_102F2AB
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_102F2AB:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_102F291 endp

db 5 dup(0CCh)

loc_102F2B7:
mov	eax, offset off_1002D58
retn
db 5 dup(0CCh)
mov	eax, offset off_1006F10
retn
db 5 dup(0CCh)
byte_102F2CD db	8Bh, 0FFh
push	esi
mov	esi, ecx
mov	ecx, [esi+38h]
test	ecx, ecx
jz	short loc_102F2F2
push	dword_103E87C
call	sub_10266FD
push	color
mov	ecx, [esi+38h]
call	sub_10289D4

loc_102F2F2:
pop	esi
retn	4
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102F2FB proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+arg_4]
mov	esi, ecx
push	[ebp+arg_0]
call	sub_10152DE
push	[ebp+arg_4]
mov	eax, [esi]
push	[ebp+arg_0]
mov	ecx, esi
call	dword ptr [eax+2Ch]
pop	esi
pop	ebp
retn	8
sub_102F2FB endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102F325 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+arg_8]
mov	esi, ecx
push	[ebp+arg_4]
push	[ebp+arg_0]
call	sub_1015B7F
mov	ecx, [esi+38h]
test	ecx, ecx
pop	esi
jz	short loc_102F354
xor	eax, eax
cmp	dword_103E7E8, eax
setz	al
push	eax
call	sub_102671D

loc_102F354:
pop	ebp
retn	0Ch
sub_102F325 endp

db 5 dup(0CCh)

loc_102F35D:
mov	edi, edi
push	esi
mov	esi, ecx
mov	ecx, [esi+38h]
test	ecx, ecx
jz	short loc_102F381
call	sub_1026850
mov	ecx, [esi+38h]
neg	eax
sbb	eax, eax
and	eax, 0FFFFFFFBh
add	eax, 5
push	eax
call	sub_102572B

loc_102F381:
pop	esi
retn
align 8


; Attributes: bp-based frame

sub_102F388 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ecx+38h]
xor	eax, eax
cmp	ecx, eax
jz	short loc_102F3B0
cmp	[ebp+arg_0], eax
jz	short loc_102F3AB
cmp	dword_103EF34, eax
jz	short loc_102F3B0
push	eax
call	sub_102575D
jmp	short loc_102F3B0

loc_102F3AB:
call	sub_1025786

loc_102F3B0:
pop	ebp
retn	4
sub_102F388 endp

db 5 dup(0CCh)



sub_102F3B9 proc near
mov	eax, offset loc_10371B2
call	sub_1034E18
sub	esp, 24h
push	ebx
push	edi
xor	ebx, ebx
push	ebx		; yBottom
push	ebx		; xRight
push	ebx		; yTop
push	ebx		; xLeft
push	offset rc	; lprc
mov	[ebp-10h], ecx
call	ds:SetRect
mov	edi, [ebp+8]
cmp	edi, ebx
jz	loc_102F51A
push	esi
mov	esi, [edi+40h]
cmp	esi, ebx
jz	loc_102F519
mov	eax, [ebp+0Ch]
mov	ecx, [eax]
mov	edx, [eax+10h]
cmp	ecx, edx
jle	short loc_102F407
mov	[ebp-20h], edx
mov	[ebp-18h], ecx
jmp	short loc_102F40D

loc_102F407:
mov	[ebp-20h], ecx
mov	[ebp-18h], edx

loc_102F40D:
mov	ecx, [eax+4]
mov	eax, [eax+14h]
cmp	ecx, eax
jle	short loc_102F41F
mov	[ebp-1Ch], eax
mov	[ebp-14h], ecx
jmp	short loc_102F425

loc_102F41F:
mov	[ebp-1Ch], ecx
mov	[ebp-14h], eax

loc_102F425:
cmp	[ebp-20h], ebx
jge	short loc_102F42D
mov	[ebp-20h], ebx

loc_102F42D:
cmp	[ebp-1Ch], ebx
jge	short loc_102F435
mov	[ebp-1Ch], ebx

loc_102F435:
mov	eax, [esi+2Ch]
dec	eax
cmp	[ebp-18h], eax
jle	short loc_102F441
mov	[ebp-18h], eax

loc_102F441:
mov	eax, [esi+30h]
dec	eax
cmp	[ebp-14h], eax
jle	short loc_102F44D
mov	[ebp-14h], eax

loc_102F44D:
lea	eax, [ebp-30h]
push	eax		; lpRect
push	dword ptr [edi+20h] ; hWnd
call	ds:GetClientRect
lea	eax, [ebp-30h]
push	eax
mov	ecx, edi
call	sub_10194C6
mov	eax, [ebp-30h]
cmp	[ebp-20h], eax
jge	short loc_102F470
mov	[ebp-20h], eax

loc_102F470:
mov	eax, [ebp-2Ch]
cmp	[ebp-1Ch], eax
jge	short loc_102F47B
mov	[ebp-1Ch], eax

loc_102F47B:
mov	eax, [ebp-28h]
cmp	[ebp-18h], eax
jle	short loc_102F487
dec	eax
mov	[ebp-18h], eax

loc_102F487:
mov	eax, [ebp-24h]
cmp	[ebp-14h], eax
jle	short loc_102F493
dec	eax
mov	[ebp-14h], eax

loc_102F493:
xor	eax, eax
cmp	dword_103E7E8, ebx
mov	ecx, edi
setz	al
mov	esi, eax
lea	eax, [ebp-20h]
push	eax
call	sub_10194E8
push	158h		; unsigned int
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp+8], ecx
cmp	ecx, ebx
mov	[ebp-4], ebx
jz	short loc_102F4C9
call	sub_1026547
jmp	short loc_102F4CB

loc_102F4C9:
xor	eax, eax

loc_102F4CB:
or	dword ptr [ebp-4], 0FFFFFFFFh
cmp	eax, ebx
mov	ecx, [ebp-10h]
mov	[ecx+38h], eax
jz	short loc_102F50D
push	esi
lea	ecx, [ebp-20h]
push	ecx
push	color
mov	ecx, eax
push	dword_103E87C
push	edi
call	sub_10286A5
test	eax, eax
jz	short loc_102F50D
push	dword ptr [edi+40h] ; hPal
call	sub_1012A88
push	3		; wArrows
push	3		; wSBflags
push	dword ptr [edi+20h] ; hWnd
call	ds:EnableScrollBar
jmp	short loc_102F519

loc_102F50D:
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4

loc_102F519:
pop	esi

loc_102F51A:
mov	ecx, [ebp-0Ch]
pop	edi
pop	ebx
mov	large fs:0, ecx
leave
retn	8
sub_102F3B9 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102F52F proc near

Rect= tagRECT ptr -10h
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
mov	esi, ecx
mov	eax, [esi+38h]
cmp	dword ptr [eax+0F0h], 0
push	edi
mov	edi, [ebp+arg_0]
jz	short loc_102F5C4
mov	eax, [edi+40h]
push	dword ptr [eax+0Ch]
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
mov	[ebp+arg_0], eax
lea	eax, [ebp+Rect]
push	eax		; lpRect
mov	eax, [esi+38h]
push	dword ptr [eax+20h] ; hWnd
call	ds:GetClientRect
mov	ecx, [esi+38h]
lea	eax, [ebp+Rect]
push	eax		; lpPoint
call	sub_1018E03
lea	eax, [ebp+Rect]
push	eax		; lpPoint
mov	ecx, edi
call	sub_102592B
lea	eax, [ebp+Rect]
push	eax
mov	ecx, edi
call	sub_10194C6
mov	ecx, [esi+38h]
lea	eax, [ebp+Rect]
push	eax		; lprc
push	[ebp+arg_0]	; int
call	sub_102686B
lea	eax, [ebp+Rect]
push	eax		; lprcSrc2
push	dword ptr [edi+40h] ; int
call	sub_101282E
lea	eax, [ebp+Rect]
push	eax		; hPal
push	dword ptr [edi+40h] ; int
call	sub_10128D0
lea	eax, [ebp+Rect]
push	eax		; hdc
mov	ecx, edi
call	sub_1018D27
push	dword ptr [edi+40h]
call	sub_10127C0

loc_102F5C4:
mov	ecx, [esi+38h]
mov	eax, [ecx]
call	dword ptr [eax+60h]
and	dword ptr [esi+38h], 0
push	0		; wArrows
push	3		; wSBflags
push	dword ptr [edi+20h] ; hWnd
call	ds:EnableScrollBar
pop	edi
pop	esi
leave
retn	4
sub_102F52F endp

align 8


; Attributes: bp-based frame

sub_102F5E8 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	[ebp+arg_0], 0
push	esi
mov	esi, ecx
jz	short loc_102F61D
mov	eax, dword_103ED04
cmp	dword ptr [eax+48h], 1
jle	loc_102F6A2
push	40h		; uType
call	ds:MessageBeep
mov	ecx, off_103D750
call	sub_1015199
jmp	loc_102F6A2

loc_102F61D:
call	ds:GetCapture
push	eax
call	?FromHandle@CWnd@@SGPAV1@PAUHWND__@@@Z ; CWnd::FromHandle(HWND__ *)
cmp	eax, dword_103ED04
jz	short loc_102F6A2
mov	eax, [esi+38h]
test	eax, eax
jz	short loc_102F6A2
push	ebx
push	dword ptr [eax+20h] ; hWnd
mov	ebx, ds:IsWindow
call	ebx ; IsWindow
test	eax, eax
jz	short loc_102F6A1
push	edi
mov	edi, [esi+38h]
add	edi, 40h
jz	short loc_102F674
push	dword ptr [edi+20h] ; hWnd
call	ebx ; IsWindow
test	eax, eax
jz	short loc_102F674
mov	ecx, edi
call	?GetWindowTextLengthW@CWnd@@QBEHXZ ; CWnd::GetWindowTextLengthW(void)
test	eax, eax
jle	short loc_102F674
push	dword_103ED04
mov	ecx, esi
call	sub_102F52F
jmp	short loc_102F6A0

loc_102F674:
mov	ecx, [esi+38h]
mov	eax, [ecx]
call	dword ptr [eax+60h]
xor	edi, edi
mov	[esi+38h], edi
mov	eax, dword_103ED04
push	edi		; lprcSrc2
push	dword ptr [eax+40h] ; int
call	sub_101282E
mov	eax, dword_103ED04
push	edi		; wArrows
push	3		; wSBflags
push	dword ptr [eax+20h] ; hWnd
call	ds:EnableScrollBar

loc_102F6A0:
pop	edi

loc_102F6A1:
pop	ebx

loc_102F6A2:
push	[ebp+arg_0]
mov	ecx, esi
call	sub_10152BD
pop	esi
pop	ebp
retn	4
sub_102F5E8 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102F6B6 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
mov	ecx, [esi+38h]
test	ecx, ecx
push	edi
jz	short loc_102F6CF
mov	eax, [ecx]
call	dword ptr [eax+60h]
and	dword ptr [esi+38h], 0

loc_102F6CF:
mov	edi, [ebp+arg_0]
push	0		; lprcSrc2
push	dword ptr [edi+40h] ; int
call	sub_101282E
push	0		; wArrows
push	3		; wSBflags
push	dword ptr [edi+20h] ; hWnd
call	ds:EnableScrollBar
push	edi
mov	ecx, esi
call	sub_1015350
pop	edi
pop	esi
pop	ebp
retn	4
sub_102F6B6 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102F6FC proc near

var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ebx
push	esi
mov	esi, [ebp+arg_4]
mov	eax, [esi+10h]
mov	edx, [esi+14h]
mov	ebx, [esi+4]
push	edi
mov	edi, [esi]
sub	edi, eax
sub	ebx, edx
cmp	dword ptr [ecx+38h], 0
mov	[ebp+var_4], ecx
jz	short loc_102F759
push	[ebp+arg_0]
call	sub_102F52F
mov	eax, ebx
cdq
mov	ecx, eax
xor	ecx, edx
sub	ecx, edx
mov	eax, edi
cdq
xor	eax, edx
sub	eax, edx
cmp	eax, ecx
jg	short loc_102F73E
mov	eax, ecx

loc_102F73E:
cmp	eax, 0Ah
jg	short loc_102F756
call	sub_100965C
mov	ecx, [ebp+var_4]
push	esi
push	[ebp+arg_0]
call	sub_10152F0
jmp	short loc_102F762

loc_102F756:
mov	ecx, [ebp+var_4]

loc_102F759:
push	esi
push	[ebp+arg_0]
call	sub_102F3B9

loc_102F762:
pop	edi
pop	esi
pop	ebx
leave
retn	8
sub_102F6FC endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102F76E proc near

Rect= tagRECT ptr -14h
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 14h
push	ebx
push	esi
mov	esi, [ebp+arg_4]
mov	ebx, [esi+10h]
push	edi
mov	edi, [esi+14h]
lea	eax, [ebp+Rect]
push	eax		; lpRect
mov	eax, [ebp+arg_0]
push	dword ptr [eax+20h] ; hWnd
mov	[ebp+var_4], ecx
call	ds:GetClientRect
mov	ecx, [ebp+arg_0]
lea	eax, [ebp+Rect]
push	eax
call	sub_10194C6
push	edi
push	ebx		; pt
lea	eax, [ebp+Rect]
push	eax		; lprc
call	ds:PtInRect
test	eax, eax
jnz	short loc_102F7D7
cmp	ebx, [ebp+Rect.left]
jge	short loc_102F7B9
mov	ebx, [ebp+Rect.left]

loc_102F7B9:
cmp	ebx, [ebp+Rect.right]
jle	short loc_102F7C1
mov	ebx, [ebp+Rect.right]

loc_102F7C1:
cmp	edi, [ebp+Rect.top]
jge	short loc_102F7C9
mov	edi, [ebp+Rect.top]

loc_102F7C9:
cmp	edi, [ebp+Rect.bottom]
jle	short loc_102F7D1
mov	edi, [ebp+Rect.bottom]

loc_102F7D1:
mov	[esi+10h], ebx
mov	[esi+14h], edi

loc_102F7D7:
mov	ecx, [ebp+var_4]
push	esi
push	[ebp+arg_0]
call	sub_101784E
pop	edi
pop	esi
pop	ebx
leave
retn	8
sub_102F76E endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102F7EF proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
cmp	dword ptr [esi+38h], 0
jz	short loc_102F847
push	edi
mov	edi, [ebp+arg_0]
push	dword ptr [edi+20h] ; hWnd
call	ds:IsWindow
test	eax, eax
jz	short loc_102F846
mov	eax, [esi+38h]
cmp	dword ptr [eax+0F0h], 0
jnz	short loc_102F824
mov	eax, [esi]
push	edi
mov	ecx, esi
call	dword ptr [eax+38h]
jmp	short loc_102F846

loc_102F824:
mov	eax, [edi+40h]
cmp	dword_103E848, eax
jz	short loc_102F835
push	eax		; hPal
call	sub_1012A88

loc_102F835:
push	edi
mov	ecx, esi
call	sub_102F52F
push	dword ptr [edi+20h] ; hWnd
call	ds:UpdateWindow

loc_102F846:
pop	edi

loc_102F847:
pop	esi
pop	ebp
retn	4
sub_102F7EF endp

db 5 dup(0CCh)
db 8Bh,	0FFh
push	esi
mov	esi, ecx
call	sub_1017579
and	dword ptr [esi+38h], 0
and	dword ptr [esi+10h], 0
mov	dword ptr [esi], offset	nullsub_9
mov	dword ptr [esi+30h], 26Eh
mov	dword ptr [esi+0Ch], 1
mov	eax, esi
pop	esi
retn
align 10h

loc_102F880:
mov	eax, offset off_1006FA8
retn
db 5 dup(0CCh)



sub_102F88B proc near
mov	eax, offset loc_103726A
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
call	??0CByteArray@@QAE@XZ ;	CByteArray::CByteArray(void)
and	dword ptr [ebp-4], 0
lea	ecx, [esi+18h]
mov	dword ptr [esi], offset	off_1006FD0
call	??0CString@@QAE@XZ ; CString::CString(void)
push	64h
push	0
mov	ecx, esi
mov	byte ptr [ebp-4], 1
call	?SetSize@CByteArray@@QAEXHH@Z ;	CByteArray::SetSize(int,int)
and	dword ptr [esi+14h], 0
mov	ecx, [ebp-0Ch]
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_102F88B endp

db 5 dup(0CCh)
mov	eax, offset loc_10371C9
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
push	edi
mov	[ebp-10h], esi
call	sub_100AD13
xor	edi, edi
push	0Ah
lea	ecx, [esi+74h]
mov	[ebp-4], edi
mov	dword ptr [esi], offset	off_1006FE8
call	??0CObList@@QAE@H@Z ; CObList::CObList(int)
mov	ecx, [ebp-0Ch]
mov	[esi+5Ch], edi
mov	[esi+64h], edi
mov	[esi+68h], edi
mov	[esi+6Ch], edi
mov	[esi+60h], edi
mov	[esi+90h], edi
mov	dword ptr [esi+70h], 2
pop	edi
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)



sub_102F937 proc near
mov	edi, edi
push	esi
mov	esi, ecx
lea	eax, [esi+74h]
push	eax
call	sub_100D1CA
and	dword ptr [esi+64h], 0
and	dword ptr [esi+90h], 0
mov	dword_103F398, 1
pop	esi
retn
sub_102F937 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102F961 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, [ebp+arg_4]
push	edi
mov	esi, ecx
mov	ecx, [esi+94h]
push	0
push	0
call	?InsertAt@CByteArray@@QAEXHEH@Z	; CByteArray::InsertAt(int,uchar,int)
xor	eax, eax
test	edi, edi
jle	short loc_102F99A

loc_102F983:
mov	ecx, [esi+94h]
mov	edx, [ebp+arg_0]
mov	dl, [eax+edx]
mov	ecx, [ecx+4]
mov	[eax+ecx], dl
inc	eax
cmp	eax, edi
jl	short loc_102F983

loc_102F99A:
mov	eax, edi
pop	edi
pop	esi
pop	ebp
retn	8
sub_102F961 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102F9A7 proc near

var_10=	byte ptr -10h
var_F= dword ptr -0Fh
var_B= dword ptr -0Bh
var_7= dword ptr -7
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
mov	eax, [ebp+arg_4]
push	esi
mov	esi, [ebp+arg_0]
mov	[ebp+var_B], eax
mov	eax, [ebp+arg_8]
push	edi
mov	[ebp+var_7], eax
push	0Dh
lea	eax, [ebp+var_10]
push	eax
mov	edi, ecx
mov	[ebp+var_10], 3
mov	[ebp+var_F], esi
call	sub_102F961
push	edi
mov	ecx, esi
call	sub_100A385
pop	edi
pop	esi
leave
retn	0Ch
sub_102F9A7 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102F9E7 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_4]
test	esi, esi
jle	short loc_102FA0E
mov	edx, [ebp+arg_0]
push	edi

loc_102F9F8:
mov	eax, [ecx+14h]
lea	edi, [eax+1]
mov	[ecx+14h], edi
mov	edi, [ecx+4]
mov	al, [eax+edi]
mov	[edx], al
inc	edx
dec	esi
jnz	short loc_102F9F8
pop	edi

loc_102FA0E:
pop	esi
pop	ebp
retn	8
sub_102F9E7 endp

align 8



sub_102FA18 proc near
mov	eax, offset loc_10371EB
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_1006FE8
mov	dword ptr [ebp-4], 1
call	sub_102F937
lea	ecx, [esi+74h]
mov	byte ptr [ebp-4], 0
call	??1CObList@@UAE@XZ ; CObList::~CObList(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	sub_100B967
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_102FA18 endp

db 5 dup(0CCh)



sub_102FA64 proc near
mov	eax, offset loc_1037203
call	sub_1034E18
push	esi
mov	esi, ecx
inc	dword ptr [esi+5Ch]
mov	eax, [esi+5Ch]
cmp	eax, 1
jnz	short loc_102FAF0
push	edi
xor	edi, edi
cmp	[ebp+0Ch], edi
jz	short loc_102FAB7
cmp	[esi+90h], edi
jle	short loc_102FAB7
push	ebx
lea	ebx, [esi+74h]

loc_102FA90:
mov	eax, [esi+78h]
mov	ecx, [eax+8]
cmp	ecx, edi
jz	short loc_102FAA1
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_102FAA1:
mov	ecx, ebx
call	?RemoveHead@CObList@@QAEPAVCObject@@XZ ; CObList::RemoveHead(void)
dec	dword ptr [esi+90h]
cmp	[esi+90h], edi
jg	short loc_102FA90
pop	ebx

loc_102FAB7:		; unsigned int
push	1Ch
call	??2@YAPAXI@Z	; operator new(uint)
pop	ecx
mov	ecx, eax
mov	[ebp+0Ch], ecx
cmp	ecx, edi
mov	[ebp-4], edi
jz	short loc_102FAD2
call	sub_102F88B
jmp	short loc_102FAD4

loc_102FAD2:
xor	eax, eax

loc_102FAD4:
push	dword ptr [ebp+8]
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [eax+18h]
mov	[esi+94h], eax
call	??4CString@@QAEABV0@PBG@Z ; CString::operator=(ushort const *)
mov	dword_103F398, edi
pop	edi

loc_102FAF0:
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	8
sub_102FA64 endp

db 5 dup(0CCh)



sub_102FB04 proc near
mov	eax, offset loc_103721A
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
lea	ecx, [ebp-10h]
call	??0CString@@QAE@XZ ; CString::CString(void)
push	dword ptr [ebp+8]
and	dword ptr [ebp-4], 0
lea	ecx, [ebp-10h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)
push	dword ptr [ebp+0Ch]
mov	ecx, esi
push	dword ptr [ebp-10h]
call	sub_102FA64
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-10h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	8
sub_102FB04 endp

db 5 dup(0CCh)



sub_102FB56 proc near
mov	eax, [ecx+90h]
add	eax, [ecx+70h]
push	esi
push	edi
lea	edi, [ecx+74h]
push	eax
mov	ecx, edi
call	?FindIndex@CObList@@QBEPAU__POSITION@@H@Z ; CObList::FindIndex(int)
mov	esi, eax
test	esi, esi
jz	short loc_102FB94
push	ebx

loc_102FB73:
mov	eax, esi
mov	ecx, [eax+8]
test	ecx, ecx
mov	ebx, esi
mov	esi, [esi]
jz	short loc_102FB87
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_102FB87:
push	ebx
mov	ecx, edi
call	?RemoveAt@CObList@@QAEXPAU__POSITION@@@Z ; CObList::RemoveAt(__POSITION	*)
test	esi, esi
jnz	short loc_102FB73
pop	ebx

loc_102FB94:
pop	edi
pop	esi
retn
sub_102FB56 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102FB9C proc near

var_4= dword ptr -4
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	esi
push	edi
push	4
lea	eax, [ebp+var_4]
push	eax
mov	esi, ecx
call	sub_102F9E7
mov	edi, [ebp+var_4]
test	edi, edi
mov	ecx, [ebp+arg_0]
jnz	short loc_102FBC2
call	?Empty@CString@@QAEXXZ ; CString::Empty(void)
jmp	short loc_102FBEE

loc_102FBC2:
push	edi
call	?GetBufferSetLength@CString@@QAEPAGH@Z ; CString::GetBufferSetLength(int)
test	edi, edi
jle	short loc_102FBE5
mov	edx, edi
push	ebx

loc_102FBCF:
mov	ecx, [esi+14h]
lea	ebx, [ecx+1]
mov	[esi+14h], ebx
mov	ebx, [esi+4]
mov	cl, [ecx+ebx]
mov	[eax], cl
inc	eax
dec	edx
jnz	short loc_102FBCF
pop	ebx

loc_102FBE5:
mov	ecx, [ebp+arg_0]
push	edi
call	?ReleaseBuffer@CString@@QAEXH@Z	; CString::ReleaseBuffer(int)

loc_102FBEE:
pop	edi
pop	esi
leave
retn	4
sub_102FB9C endp

db 5 dup(0CCh)



sub_102FBF9 proc near
mov	eax, offset loc_1037231
call	sub_1034E18
sub	esp, 24h
push	esi
mov	esi, ecx
and	dword ptr [esi+14h], 0
cmp	dword ptr [esi+8], 0
jle	loc_102FCC7
push	ebx
push	edi
push	4
pop	ebx

loc_102FC1C:
push	1
lea	eax, [ebp-0Dh]
push	eax
mov	ecx, esi
call	sub_102F9E7
push	ebx
lea	eax, [ebp-1Ch]
push	eax
call	sub_102F9E7
push	ebx
lea	eax, [ebp-18h]
push	eax
call	sub_102F9E7
movzx	eax, byte ptr [ebp-0Dh]
add	eax, 0FFFFFFFEh	; switch 9 cases
cmp	eax, 8
ja	short loc_102FC96 ; jumptable 0102FC49 default case
jmp	ds:off_102FCD4[eax*4] ;	switch jump

loc_102FC50:		; jumptable 0102FC49 cases 3-5,8
push	ebx
lea	eax, [ebp-24h]
jmp	short loc_102FC8C

loc_102FC56:		; jumptable 0102FC49 case 6
lea	eax, [ebp-28h]
jmp	short loc_102FC8A

loc_102FC5B:		; jumptable 0102FC49 case 7
lea	ecx, [ebp-14h]
call	??0CString@@QAE@XZ ; CString::CString(void)
and	dword ptr [ebp-4], 0
lea	eax, [ebp-14h]
push	eax
mov	ecx, esi
call	sub_102FB9C
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-14h]
call	??1CString@@QAE@XZ ; CString::~CString(void)
jmp	short loc_102FCB9

loc_102FC80:		; jumptable 0102FC49 case 9
push	10h
lea	eax, [ebp-30h]
jmp	short loc_102FC8C

loc_102FC87:		; jumptable 0102FC49 case 10
lea	eax, [ebp-28h]

loc_102FC8A:
push	8

loc_102FC8C:
push	eax
mov	ecx, esi
call	sub_102F9E7
jmp	short loc_102FCB9

loc_102FC96:		; jumptable 0102FC49 default case
push	ebx
lea	eax, [ebp-20h]
push	eax
mov	ecx, esi
call	sub_102F9E7
push	dword ptr [ebp-18h] ; ho
mov	ecx, [ebp-1Ch]
mov	edi, [esi+14h]
push	esi		; int
call	sub_100B4E0
mov	eax, [ebp-20h]
add	edi, eax
mov	[esi+14h], edi

loc_102FCB9:
mov	eax, [esi+14h]
cmp	eax, [esi+8]
jl	loc_102FC1C
pop	edi
pop	ebx

loc_102FCC7:
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_102FBF9 endp

off_102FCD4 dd offset loc_102FC96 ; jump table for switch statement
dd offset loc_102FC50
dd offset loc_102FC50
dd offset loc_102FC50
dd offset loc_102FC56
dd offset loc_102FC5B
dd offset loc_102FC50
dd offset loc_102FC80
dd offset loc_102FC87
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102FCFD proc near

var_10=	byte ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_1= byte ptr	-1
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
and	dword ptr [ecx+14h], 0
cmp	dword ptr [ecx+8], 0
jle	short loc_102FD6D

loc_102FD0F:
mov	eax, [ecx+4]
mov	edx, [ecx+14h]
cmp	byte ptr [eax+edx], 2
jnz	short loc_102FD6D
push	1
lea	eax, [ebp+var_1]
push	eax
call	sub_102F9E7
push	4
lea	eax, [ebp+var_10]
push	eax
call	sub_102F9E7
push	4
lea	eax, [ebp+var_8]
push	eax
call	sub_102F9E7
push	4
lea	eax, [ebp+var_C]
push	eax
call	sub_102F9E7
cmp	[ebp+var_8], 3EAh
jz	short loc_102FD59
cmp	[ebp+var_8], 3E9h
jnz	short loc_102FD69

loc_102FD59:
mov	eax, [ebp+var_C]
add	[ecx+14h], eax
mov	eax, [ecx+14h]
cmp	eax, [ecx+8]
jl	short loc_102FD0F
jmp	short loc_102FD6D

loc_102FD69:
add	dword ptr [ecx+14h], 0FFFFFFF3h

loc_102FD6D:
mov	eax, [ecx+14h]
cmp	eax, [ecx+8]
jnz	short loc_102FD79
xor	eax, eax
jmp	short locret_102FDBD

loc_102FD79:
push	1
lea	eax, [ebp+var_1]
push	eax
call	sub_102F9E7
cmp	[ebp+var_1], 7
jz	short loc_102FD90
cmp	[ebp+var_1], 9
jnz	short loc_102FDB6

loc_102FD90:
push	4
lea	eax, [ebp+var_8]
push	eax
call	sub_102F9E7
push	4
lea	eax, [ebp+var_C]
push	eax
call	sub_102F9E7
mov	eax, [ebp+arg_4]
mov	edx, [ebp+var_C]
mov	[eax], edx
mov	eax, [ebp+arg_0]
mov	edx, [ebp+var_8]
mov	[eax], edx

loc_102FDB6:
and	dword ptr [ecx+14h], 0
xor	eax, eax
inc	eax

locret_102FDBD:
leave
retn	8
sub_102FCFD endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __fastcall sub_102FDC6(int)
sub_102FDC6 proc near

var_10=	dword ptr -10h
var_C= dword ptr -0Ch
hPal= dword ptr	-8
var_1= byte ptr	-1

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
push	esi
mov	esi, ecx
and	dword ptr [esi+14h], 0
cmp	dword ptr [esi+8], 0
jle	short loc_102FE3E

loc_102FDDB:
push	1
lea	eax, [ebp+var_1]
push	eax
mov	ecx, esi
call	sub_102F9E7
push	4
lea	eax, [ebp+var_C]
push	eax
call	sub_102F9E7
push	4
lea	eax, [ebp+hPal]
push	eax
call	sub_102F9E7
movzx	eax, [ebp+var_1]
dec	eax
dec	eax
jz	short loc_102FE2A
dec	eax
jz	short loc_102FE0D
dec	eax
dec	eax
jnz	short loc_102FE2A

loc_102FE0D:
push	4
lea	eax, [ebp+var_10]
push	eax
mov	ecx, esi
call	sub_102F9E7
push	[ebp+var_10]
mov	ecx, [ebp+var_C]
push	[ebp+hPal]
call	sub_100BBF9
jmp	short loc_102FE36

loc_102FE2A:		; hPal
push	[ebp+hPal]
mov	ecx, [ebp+var_C]
push	esi		; int
call	sub_100B320

loc_102FE36:
mov	eax, [esi+14h]
cmp	eax, [esi+8]
jl	short loc_102FDDB

loc_102FE3E:
pop	esi
leave
retn
sub_102FDC6 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_102FE46(void *, char)
sub_102FE46 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_102FA18
test	[ebp+arg_0], 1
jz	short loc_102FE60
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_102FE60:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_102FE46 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_102FE6C proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
cmp	eax, 1
jl	short loc_102FE81
mov	[ecx+70h], eax
call	sub_102FB56

loc_102FE81:
pop	ebp
retn	4
sub_102FE6C endp

db 5 dup(0CCh)



sub_102FE8A proc near
mov	edi, edi
push	esi
mov	esi, ecx
dec	dword ptr [esi+5Ch]
jnz	short loc_102FEC3
mov	ecx, [esi+94h]
lea	eax, [esi+6Ch]
push	eax
lea	eax, [esi+68h]
push	eax
call	sub_102FCFD
test	eax, eax
jnz	short loc_102FEC5
mov	ecx, [esi+94h]
test	ecx, ecx
jz	short loc_102FEBC
mov	eax, [ecx]
push	1
call	dword ptr [eax+4]

loc_102FEBC:
and	dword ptr [esi+94h], 0

loc_102FEC3:
pop	esi
retn

loc_102FEC5:
mov	eax, [esi+90h]
test	eax, eax
jle	short loc_102FEED
push	edi
dec	eax
lea	edi, [esi+74h]
push	eax
mov	ecx, edi
call	?FindIndex@CObList@@QBEPAU__POSITION@@H@Z ; CObList::FindIndex(int)
push	dword ptr [esi+94h]
mov	ecx, edi
push	eax
call	?InsertAfter@CObList@@QAEPAU__POSITION@@PAU2@PAVCObject@@@Z ; CObList::InsertAfter(__POSITION *,CObject	*)
pop	edi
jmp	short loc_102FEFB

loc_102FEED:
push	dword ptr [esi+94h]
lea	ecx, [esi+74h]
call	?AddHead@CObList@@QAEPAU__POSITION@@PAVCObject@@@Z ; CObList::AddHead(CObject *)

loc_102FEFB:
and	dword ptr [esi+94h], 0
mov	ecx, esi
call	sub_102FB56
cmp	dword_103F398, 0
jz	short loc_102FEC3
mov	ecx, esi
pop	esi
jmp	sub_102F937
sub_102FE8A endp

db 5 dup(0CCh)



sub_102FF1F proc near
mov	eax, offset loc_1037248
call	sub_1034E18
push	ecx
push	ecx
push	ebx
push	esi
mov	esi, ecx
lea	ecx, [ebp-14h]
call	sub_100ACBA
mov	ecx, [esi+80h]
mov	eax, [esi+90h]
xor	ebx, ebx
cmp	eax, ecx
mov	[ebp-4], ebx
jz	short loc_102FFB5
push	edi
lea	ecx, [esi+74h]
push	eax
mov	dword ptr [esi+98h], 1
call	?FindIndex@CObList@@QBEPAU__POSITION@@H@Z ; CObList::FindIndex(int)
mov	edi, [eax+8]
mov	[ebp-10h], eax
mov	eax, [edi+18h]
push	ebx
push	eax
mov	ecx, esi
call	sub_102FA64
push	dword ptr [ebp-10h]
lea	ecx, [esi+74h]
call	?RemoveAt@CObList@@QAEXPAU__POSITION@@@Z ; CObList::RemoveAt(__POSITION	*)
mov	ecx, edi	; int
call	sub_102FDC6
mov	ecx, esi
mov	[esi+68h], ebx
mov	[esi+6Ch], ebx
call	sub_102FE8A
mov	[esi+68h], ebx
mov	[esi+6Ch], ebx
mov	[esi+98h], ebx
mov	eax, [edi]
push	1
mov	ecx, edi
call	dword ptr [eax+4]
cmp	[esi+80h], ebx
pop	edi
jz	short loc_102FFB5
inc	dword ptr [esi+90h]

loc_102FFB5:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	ecx, [eax+4]
call	?EndWaitCursor@CCmdTarget@@QAEXXZ ; CCmdTarget::EndWaitCursor(void)
mov	ecx, [ebp-0Ch]
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_102FF1F endp

db 5 dup(0CCh)



sub_102FFD9 proc near
mov	edi, edi
push	esi
mov	esi, ecx
mov	eax, [esi+90h]
test	eax, eax
jz	short loc_1030003
dec	eax
mov	[esi+90h], eax
call	sub_102FF1F
cmp	dword ptr [esi+80h], 0
jz	short loc_1030003
dec	dword ptr [esi+90h]

loc_1030003:
pop	esi
retn
sub_102FFD9 endp

db 5 dup(0CCh)



sub_103000A proc near
mov	eax, offset loc_103726A
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_1006FD0
mov	dword ptr [ebp-4], 1
call	sub_102FBF9
lea	ecx, [esi+18h]
mov	byte ptr [ebp-4], 0
call	??1CString@@QAE@XZ ; CString::~CString(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	ecx, esi
call	??1CByteArray@@UAE@XZ ;	CByteArray::~CByteArray(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_103000A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1030056(void *, char)
sub_1030056 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_103000A
test	[ebp+arg_0], 1
jz	short loc_1030070
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1030070:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1030056 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_103007C(int, DWORD dwIndex,	LPBYTE lpData, DWORD cbData, int, char,	int, char, int)
sub_103007C proc near

var_8C0= dword ptr -8C0h
var_8BC= dword ptr -8BCh
var_8B8= dword ptr -8B8h
var_8B4= dword ptr -8B4h
var_8B0= dword ptr -8B0h
phkResult= dword ptr -8ACh
hKey= dword ptr	-8A8h
Data= byte ptr -8A4h
SubKey=	word ptr -0A4h
var_4= dword ptr -4
arg_0= dword ptr  8
dwIndex= dword ptr  0Ch
lpData=	dword ptr  10h
cbData=	dword ptr  14h
arg_10=	dword ptr  18h
arg_14=	byte ptr  1Ch
arg_18=	dword ptr  20h
arg_1C=	byte ptr  24h
arg_20=	dword ptr  28h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 8C0h
mov	eax, ___security_cookie
mov	[ebp+var_4], eax
mov	eax, [ebp+arg_10]
push	ebx
mov	ebx, [ebp+lpData]
mov	[ebp+var_8B8], eax
mov	eax, [ebp+arg_18]
push	esi
mov	[ebp+var_8BC], eax
mov	eax, [ebp+arg_20]
push	edi
xor	edi, edi
cmp	[ebp+arg_0], edi
mov	[ebp+var_8B0], eax
mov	[eax], edi
mov	[ebp+var_8B4], edi
mov	eax, offset aSoftwareMicr_0 ; "SOFTWARE\\Microsoft\\Shared Tools\\Grap"...
jnz	short loc_10300C9
mov	eax, offset aSoftwareMicr_1 ; "SOFTWARE\\Microsoft\\Shared Tools\\Grap"...

loc_10300C9:
mov	esi, ds:RegOpenKeyW
lea	ecx, [ebp+hKey]
push	ecx		; phkResult
push	eax		; lpSubKey
push	80000002h	; hKey
call	esi ; RegOpenKeyW
test	eax, eax
jnz	loc_103021A
push	50h		; cchName
lea	eax, [ebp+SubKey]
push	eax		; lpName
push	[ebp+dwIndex]	; dwIndex
push	[ebp+hKey]	; hKey
call	ds:RegEnumKeyW
test	eax, eax
jnz	loc_103020E
lea	eax, [ebp+phkResult]
push	eax		; phkResult
lea	eax, [ebp+SubKey]
push	eax		; lpSubKey
push	[ebp+hKey]	; hKey
call	esi ; RegOpenKeyW
test	eax, eax
mov	esi, ds:RegQueryValueExW
jnz	short loc_1030199
cmp	ebx, edi
jz	short loc_1030141
lea	eax, [ebp+cbData]
push	eax		; lpcbData
push	ebx		; lpData
push	edi		; lpType
push	edi		; lpReserved
push	offset aName	; "Name"
push	[ebp+phkResult]	; hKey
mov	[ebx], di
call	esi ; RegQueryValueExW

loc_1030141:
mov	eax, [ebp+var_8B8]
cmp	eax, edi
jz	short loc_1030162
lea	ecx, [ebp+arg_14]
push	ecx		; lpcbData
push	eax		; lpData
push	edi		; lpType
push	edi		; lpReserved
push	offset aExtensions ; "Extensions"
push	[ebp+phkResult]	; hKey
mov	[eax], di
call	esi ; RegQueryValueExW

loc_1030162:
mov	eax, [ebp+var_8BC]
cmp	eax, edi
jz	short loc_1030183
lea	ecx, [ebp+arg_1C]
push	ecx		; lpcbData
push	eax		; lpData
push	edi		; lpType
push	edi		; lpReserved
push	offset aPath	; "Path"
push	[ebp+phkResult]	; hKey
mov	[eax], di
call	esi ; RegQueryValueExW

loc_1030183:		; hKey
push	[ebp+phkResult]
call	ds:RegCloseKey
mov	[ebp+var_8B4], 1

loc_1030199:
lea	eax, [ebp+var_8C0]
push	eax		; lpcbData
lea	eax, [ebp+Data]
push	eax		; lpData
push	edi		; lpType
push	edi		; lpReserved
push	offset aImageApiEnable ; "Image	API Enabled Filters"
push	[ebp+hKey]	; hKey
mov	[ebp+var_8C0], 800h
call	esi ; RegQueryValueExW
test	eax, eax
jnz	short loc_103020E
mov	esi, ds:wcstok
mov	ebx, offset Delim
push	ebx
lea	eax, [ebp+Data]
push	eax
jmp	short loc_1030206

loc_10301D9:
mov	ecx, [ebp+var_8B0]
cmp	dword ptr [ecx], 1
jz	short loc_103020E
lea	ecx, [ebp+SubKey]
push	ecx		; Str2
push	eax		; Str1
call	ds:_wcsicmp
test	eax, eax
pop	ecx
pop	ecx
jnz	short loc_1030204
mov	eax, [ebp+var_8B0]
mov	dword ptr [eax], 1

loc_1030204:		; Delim
push	ebx
push	edi		; Str

loc_1030206:
call	esi ; wcstok
cmp	eax, edi
pop	ecx
pop	ecx
jnz	short loc_10301D9

loc_103020E:		; hKey
push	[ebp+hKey]
call	ds:RegCloseKey

loc_103021A:
mov	ecx, [ebp+var_4]
mov	eax, [ebp+var_8B4]
pop	edi
pop	esi
pop	ebx
call	sub_1032F53
leave
retn	24h
sub_103007C endp

db 5 dup(0CCh)



sub_1030234 proc near
cmp	dword ptr [ecx+8], 0
jnz	short locret_1030242
push	dword ptr [ecx+0Ch]
call	GdiplusShutdown

locret_1030242:
retn
sub_1030234 endp

align 8


; Attributes: bp-based frame

sub_1030248 proc near

ms_exc=	CPPEH_RECORD ptr -18h
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

push	8
push	offset stru_1007170
call	__SEH_prolog
and	[ebp+ms_exc.registration.TryLevel], 0
push	[ebp+arg_8]
push	[ebp+arg_4]
push	[ebp+arg_0]
call	GdiplusStartup
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
jmp	short loc_103027A

loc_103026C:		; Exception filter 0 for function 1030248
xor	eax, eax
inc	eax
retn

loc_1030270:		; Exception handler 0 for function 1030248
mov	esp, [ebp+ms_exc.old_esp]
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
push	12h
pop	eax

loc_103027A:
call	__SEH_epilog
retn	0Ch
sub_1030248 endp

db 5 dup(0CCh)



sub_1030287 proc near
mov	eax, offset loc_1037281
call	sub_1034E18
sub	esp, 14h
push	esi
xor	esi, esi
lea	ecx, [ebp-20h]
mov	[ebp-10h], esi
call	??0CFile@@QAE@XZ ; CFile::CFile(void)
push	esi
push	20h
push	dword ptr [ebp+8]
lea	ecx, [ebp-20h]
mov	[ebp-4], esi
call	?Open@CFile@@UAEHPBGIPAVCFileException@@@Z ; CFile::Open(ushort	const *,uint,CFileException *)
test	eax, eax
jz	loc_103038B
push	edi
lea	ecx, [ebp-20h]
call	?GetLength@CFile@@UBEKXZ ; CFile::GetLength(void)
mov	edi, eax
cmp	edi, 2
jbe	loc_1030382
push	ebx
push	edi		; uBytes
push	esi		; uFlags
call	ds:LocalAlloc
mov	ebx, eax
cmp	ebx, esi
jz	loc_1030381
push	edi
push	ebx
lea	ecx, [ebp-20h]
call	?Read@CFile@@UAEIPAXI@Z	; CFile::Read(void *,uint)
cmp	eax, edi
jnz	loc_103037A
mov	cx, [ebx]
mov	eax, offset dword_1007000
cmp	cx, [eax]
jnz	short loc_103037A
push	2
pop	esi
lea	eax, [edi-4]
cmp	eax, esi
jbe	short loc_103037A

loc_103030B:
mov	cx, [esi+ebx]
mov	eax, offset dword_1007004
cmp	cx, [eax]
jz	short loc_103037A
movzx	eax, byte ptr [esi+ebx+2]
movzx	ecx, byte ptr [esi+ebx+3]
mov	dx, [esi+ebx]
shl	eax, 8
lea	eax, [eax+ecx+2]
mov	ecx, offset dword_1007008
cmp	dx, [ecx]
mov	[ebp+8], eax
jz	short loc_1030346
add	esi, eax
lea	eax, [edi-4]
cmp	esi, eax
jb	short loc_103030B
jmp	short loc_103037A

loc_1030346:
sub	edi, eax
cmp	esi, edi
jnb	short loc_103037A
push	eax		; dwBytes
push	0		; uFlags
call	ds:GlobalAlloc
test	eax, eax
mov	ecx, [ebp+0Ch]
mov	[ecx], eax
jz	short loc_103037A
mov	ecx, [ebp+8]
mov	edi, eax
mov	eax, ecx
shr	ecx, 2
add	esi, ebx
rep movsd
mov	ecx, eax
and	ecx, 3
rep movsb
mov	dword ptr [ebp-10h], 1

loc_103037A:		; hMem
push	ebx
call	ds:LocalFree

loc_1030381:
pop	ebx

loc_1030382:
lea	ecx, [ebp-20h]
call	?Close@CFile@@UAEXXZ ; CFile::Close(void)
pop	edi

loc_103038B:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-20h]
call	??1CFile@@UAE@XZ ; CFile::~CFile(void)
mov	ecx, [ebp-0Ch]
mov	eax, [ebp-10h]
pop	esi
mov	large fs:0, ecx
leave
retn	8
sub_1030287 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10303AE proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
test	eax, eax
jz	short loc_10303BF
mov	[ecx+8], eax
jmp	short loc_10303C1

loc_10303BF:
xor	eax, eax

loc_10303C1:
pop	ebp
retn	4
sub_10303AE endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10303CA proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+arg_8]
mov	esi, ecx
push	[ebp+arg_4]
push	[ebp+arg_0]
push	dword ptr [esi+4]
call	GdipSaveImageToStream
push	eax
mov	ecx, esi
call	sub_10303AE
pop	esi
pop	ebp
retn	0Ch
sub_10303CA endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10303F5 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+arg_0]
mov	esi, ecx
push	dword ptr [esi+4]
call	GdipGetImageRawFormat
push	eax
mov	ecx, esi
call	sub_10303AE
pop	esi
pop	ebp
retn	4
sub_10303F5 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_103041A proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+arg_4]
mov	esi, ecx
push	[ebp+arg_0]
push	dword ptr [esi+4]
call	GdipGetPropertySize
push	eax
mov	ecx, esi
call	sub_10303AE
pop	esi
pop	ebp
retn	8
sub_103041A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1030442 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	[ebp+arg_8], 0
push	esi
mov	esi, ecx
jnz	short loc_1030458
push	2
pop	eax
mov	[esi+8], eax
jmp	short loc_1030471

loc_1030458:
push	[ebp+arg_8]
push	[ebp+arg_4]
push	[ebp+arg_0]
push	dword ptr [esi+4]
call	GdipGetAllPropertyItems
push	eax
mov	ecx, esi
call	sub_10303AE

loc_1030471:
pop	esi
pop	ebp
retn	0Ch
sub_1030442 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_103047B proc near

var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
and	[ebp+var_4], 0
cmp	[ebp+arg_4], 0
push	esi
lea	eax, [ebp+var_4]
mov	esi, ecx
push	eax
push	[ebp+arg_0]
mov	dword ptr [esi], offset	off_100718C
jz	short loc_10304A2
call	GdipCreateBitmapFromFileICM
jmp	short loc_10304A7

loc_10304A2:
call	GdipCreateBitmapFromFile

loc_10304A7:
mov	[esi+8], eax
mov	eax, [ebp+var_4]
mov	[esi+4], eax
mov	eax, esi
pop	esi
leave
retn	8
sub_103047B endp

db 5 dup(0CCh)



sub_10304BC proc near
push	dword ptr [ecx+4]
mov	dword ptr [ecx], offset	off_1007180
call	GdipDisposeImage
retn
sub_10304BC endp

align 10h


; Attributes: bp-based frame

sub_10304D0 proc near

var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= dword ptr -8
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
mov	eax, [ebp+arg_0]
mov	[ebp+var_C], eax
mov	eax, [ebp+arg_4]
push	esi
mov	[ebp+var_8], eax
mov	eax, [ebp+arg_8]
mov	esi, ecx
mov	[ebp+var_4], eax
push	esi
lea	eax, [ebp+var_10]
push	eax
lea	eax, [esi+0Ch]
push	eax
mov	[ebp+var_10], 1
call	sub_1030248
mov	[esi+8], eax
mov	eax, esi
pop	esi
leave
retn	0Ch
sub_10304D0 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1030511 proc near

var_28=	dword ptr -28h
var_24=	dword ptr -24h
var_20=	dword ptr -20h
uBytes=	dword ptr -1Ch
ms_exc=	CPPEH_RECORD ptr -18h
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

push	18h
push	offset stru_1007198
call	__SEH_prolog
xor	ebx, ebx
mov	edi, [ebp+arg_4]
mov	[edi], ebx
mov	esi, [ebp+arg_0]
mov	[esi], ebx
cmp	dword_103F128, ebx
jnz	short loc_103059E
mov	[ebp+ms_exc.registration.TryLevel], ebx
lea	eax, [ebp+uBytes]
push	eax
push	esi
call	GdipGetImageDecodersSize
test	eax, eax
jnz	short loc_1030579
cmp	[esi], ebx
jbe	short loc_1030579
push	[ebp+uBytes]	; uBytes
push	ebx		; uFlags
call	ds:LocalAlloc
mov	[edi], eax
cmp	eax, ebx
jz	short loc_1030579
mov	[ebp+var_20], eax
mov	eax, [ebp+uBytes]
mov	[ebp+var_24], eax
mov	ecx, [esi]
mov	[ebp+var_28], ecx
push	[ebp+var_20]
push	eax
push	ecx
call	GdipGetImageDecoders
test	eax, eax
jnz	short loc_1030579
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
inc	eax
jmp	short loc_10305A0

loc_1030579:
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
jmp	short loc_1030592

loc_103057F:		; Exception filter 0 for function 1030511
xor	eax, eax
inc	eax
retn

loc_1030583:		; Exception handler 0 for function 1030511
mov	esp, [ebp+ms_exc.old_esp]
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
xor	ebx, ebx
mov	edi, [ebp+arg_4]
mov	esi, [ebp+arg_0]

loc_1030592:		; hMem
push	dword ptr [edi]
call	ds:LocalFree
mov	[edi], ebx
mov	[esi], ebx

loc_103059E:
xor	eax, eax

loc_10305A0:
call	__SEH_epilog
retn	8
sub_1030511 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10305AD proc near

var_28=	dword ptr -28h
var_24=	dword ptr -24h
var_20=	dword ptr -20h
uBytes=	dword ptr -1Ch
ms_exc=	CPPEH_RECORD ptr -18h
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

push	18h
push	offset stru_10071A8
call	__SEH_prolog
xor	ebx, ebx
mov	edi, [ebp+arg_4]
mov	[edi], ebx
mov	esi, [ebp+arg_0]
mov	[esi], ebx
cmp	dword_103F128, ebx
jnz	short loc_103063A
mov	[ebp+ms_exc.registration.TryLevel], ebx
lea	eax, [ebp+uBytes]
push	eax
push	esi
call	GdipGetImageEncodersSize
test	eax, eax
jnz	short loc_1030615
cmp	[esi], ebx
jbe	short loc_1030615
push	[ebp+uBytes]	; uBytes
push	ebx		; uFlags
call	ds:LocalAlloc
mov	[edi], eax
cmp	eax, ebx
jz	short loc_1030615
mov	[ebp+var_20], eax
mov	eax, [ebp+uBytes]
mov	[ebp+var_24], eax
mov	ecx, [esi]
mov	[ebp+var_28], ecx
push	[ebp+var_20]
push	eax
push	ecx
call	GdipGetImageEncoders
test	eax, eax
jnz	short loc_1030615
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
inc	eax
jmp	short loc_103063C

loc_1030615:
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
jmp	short loc_103062E

loc_103061B:		; Exception filter 0 for function 10305AD
xor	eax, eax
inc	eax
retn

loc_103061F:		; Exception handler 0 for function 10305AD
mov	esp, [ebp+ms_exc.old_esp]
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
xor	ebx, ebx
mov	edi, [ebp+arg_4]
mov	esi, [ebp+arg_0]

loc_103062E:		; hMem
push	dword ptr [edi]
call	ds:LocalFree
mov	[edi], ebx
mov	[esi], ebx

loc_103063A:
xor	eax, eax

loc_103063C:
call	__SEH_epilog
retn	8
sub_10305AD endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1030649 proc near

var_8= dword ptr -8
hMem= dword ptr	-4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
push	ebx
push	esi
push	edi
lea	eax, [ebp+hMem]
push	eax
lea	eax, [ebp+var_8]
xor	esi, esi
push	eax
mov	[ebp+hMem], esi
mov	[ebp+var_8], esi
call	sub_10305AD
xor	edx, edx
cmp	[ebp+var_8], esi
jbe	short loc_103068C
mov	eax, [ebp+hMem]
add	eax, 10h

loc_1030675:
mov	edi, [ebp+arg_0]
push	4
pop	ecx
mov	esi, eax
xor	ebx, ebx
repe cmpsd
jz	short loc_10306A0
inc	edx
add	eax, 4Ch
cmp	edx, [ebp+var_8]
jb	short loc_1030675

loc_103068C:
xor	esi, esi

loc_103068E:		; hMem
push	[ebp+hMem]
call	ds:LocalFree
pop	edi
mov	eax, esi
pop	esi
pop	ebx
leave
retn	8

loc_10306A0:
mov	edi, [ebp+arg_4]
test	edi, edi
jz	short loc_10306B3
mov	esi, edx
imul	esi, 4Ch
add	esi, [ebp+hMem]
movsd
movsd
movsd
movsd

loc_10306B3:
xor	esi, esi
inc	esi
jmp	short loc_103068E
sub_1030649 endp

db 5 dup(0CCh)



sub_10306BD proc near
mov	eax, offset loc_10372A0
call	sub_1034E18
sub	esp, 34h
mov	eax, ___security_cookie
mov	[ebp-10h], eax
mov	eax, [ebp+8]
push	ebx
push	esi
mov	esi, [ebp+10h]
mov	[ebp-24h], eax
mov	eax, [ebp+0Ch]
push	edi
mov	edi, [ebp+14h]
mov	[ebp-40h], eax
lea	eax, [ebp-20h]
push	eax
xor	ebx, ebx
push	offset dword_1007568
mov	[ebp-2Ch], ebx
call	sub_1030649
test	eax, eax
jz	loc_10307DC
push	ebx
push	dword ptr [ebp-24h]
lea	ecx, [ebp-3Ch]
call	sub_103047B
mov	eax, [ebp-34h]
cmp	eax, ebx
mov	[ebp-4], ebx
mov	[ebp-34h], ebx
jnz	loc_10307D4
mov	eax, [esi]
cmp	eax, ebx
jz	short loc_103072E
push	eax		; hMem
call	ds:GlobalFree
mov	[esi], ebx

loc_103072E:
push	edi
lea	eax, [ebp-28h]
push	eax
lea	ecx, [ebp-3Ch]
mov	[edi], ebx
mov	[ebp-28h], ebx
call	sub_103041A
cmp	[ebp-28h], ebx
jbe	short loc_103076A
push	dword ptr [ebp-28h] ; dwBytes
push	ebx		; uFlags
call	ds:GlobalAlloc
cmp	eax, ebx
mov	[esi], eax
jnz	short loc_1030759
mov	[edi], ebx
jmp	short loc_1030767

loc_1030759:
push	eax
push	dword ptr [edi]
lea	ecx, [ebp-3Ch]
push	dword ptr [ebp-28h]
call	sub_1030442

loc_1030767:
cmp	[ebp-28h], ebx

loc_103076A:
jz	short loc_103077F
cmp	[ebp-28h], ebx
jbe	short loc_10307D4
cmp	[edi], ebx
jbe	short loc_10307D4
mov	eax, [ebp-34h]
cmp	eax, ebx
mov	[ebp-34h], ebx
jnz	short loc_10307D4

loc_103077F:
push	dword ptr [ebp-40h]
lea	ecx, [ebp-3Ch]
call	sub_10303F5
mov	[ebp-24h], ebx
lea	eax, [ebp-24h]
push	eax
mov	byte ptr [ebp-4], 1
call	sub_103115D
test	eax, eax
jnz	short loc_10307C4
push	ebx
lea	eax, [ebp-20h]
push	eax
push	dword ptr [ebp-24h]
lea	ecx, [ebp-3Ch]
call	sub_10303CA
test	eax, eax
mov	ecx, [ebp-24h]
jnz	short loc_10307BF
call	sub_1030D6D
mov	[ebp-2Ch], eax
jmp	short loc_10307C4

loc_10307BF:
call	sub_1030D76

loc_10307C4:
mov	eax, [ebp-24h]
cmp	eax, ebx
mov	[ebp-4], bl
jz	short loc_10307D4
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_10307D4:
push	dword ptr [ebp-38h]
call	GdipDisposeImage

loc_10307DC:
mov	ecx, [ebp-0Ch]
mov	eax, [ebp-2Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
mov	ecx, [ebp-10h]
pop	ebx
call	sub_1032F53
leave
retn	10h
sub_10306BD endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10307FD(LPCWSTR lpString, int, int,	int, int)
sub_10307FD proc near

var_1C=	dword ptr -1Ch
ms_exc=	CPPEH_RECORD ptr -18h
lpString= dword	ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h
arg_10=	dword ptr  18h

push	0Ch
push	offset stru_10071B8
call	__SEH_prolog
mov	ebx, [ebp+arg_10]
mov	eax, [ebx]
xor	edi, edi
cmp	eax, edi
jz	short loc_103081D
push	eax		; hMem
call	ds:GlobalFree
mov	[ebx], edi

loc_103081D:
mov	[ebp+var_1C], edi
cmp	dword_103F128, edi
jnz	short loc_1030855
mov	[ebp+ms_exc.registration.TryLevel], edi
push	[ebp+arg_C]
push	[ebp+arg_8]
push	[ebp+arg_4]
push	[ebp+lpString]
call	sub_10306BD
mov	[ebp+var_1C], eax
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
jmp	short loc_1030855

loc_1030845:		; Exception filter 0 for function 10307FD
xor	eax, eax
inc	eax
retn

loc_1030849:		; Exception handler 0 for function 10307FD
mov	esp, [ebp+ms_exc.old_esp]
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
xor	edi, edi
mov	ebx, [ebp+arg_10]

loc_1030855:
cmp	[ebp+var_1C], edi
jnz	short loc_103088F
cmp	[ebp+lpString],	edi
jz	short loc_1030888
push	[ebp+lpString]	; lpString
call	ds:lstrlenW
lea	esi, [eax+eax+2]
mov	eax, esi
add	eax, 3
and	eax, 0FFFFFFFCh
call	sub_1035040
mov	[ebp+ms_exc.old_esp], esp
mov	eax, esp
push	esi		; int
push	[ebp+lpString]	; unsigned __int16 *
push	eax		; char *
call	?AfxW2AHelper@@YGPADPADPBGH@Z ;	AfxW2AHelper(char *,ushort const *,int)

loc_1030888:
mov	[ebp+var_1C], edi
cmp	edi, edi
jz	short loc_10308A9

loc_103088F:
push	4
pop	ecx
mov	edi, offset dword_1007538
mov	esi, [ebp+arg_4]
xor	eax, eax
repe cmpsd
jnz	short loc_10308A9
push	ebx
push	[ebp+lpString]
call	sub_1030287

loc_10308A9:
mov	eax, [ebp+var_1C]
lea	esp, [ebp-28h]
call	__SEH_epilog
retn	14h
sub_10307FD endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10308BC proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
push	dword ptr [esi+4]
mov	dword ptr [esi], offset	off_1007180
call	GdipDisposeImage
test	[ebp+arg_0], 1
jz	short loc_10308DE
push	esi
call	GdipFree

loc_10308DE:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_10308BC endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10308EA proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_10304BC
test	[ebp+arg_0], 1
jz	short loc_1030903
push	esi
call	GdipFree

loc_1030903:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_10308EA endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_103090F proc near

var_4= dword ptr -4

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
and	[ebp+var_4], 0
push	esi
lea	eax, [ebp+var_4]
mov	esi, ecx
push	eax
push	dword ptr [esi+4]
call	GdipCloneImage
push	eax
mov	ecx, esi
call	sub_10303AE
push	10h
call	GdipAlloc
test	eax, eax
jz	short loc_103094F
mov	ecx, [esi+8]
mov	edx, [ebp+var_4]
mov	dword ptr [eax], offset	off_1007180
mov	[eax+4], edx
mov	[eax+8], ecx
jmp	short loc_1030951

loc_103094F:
xor	eax, eax

loc_1030951:
pop	esi
leave
retn
sub_103090F endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1030959 proc near

arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_4]
push	ebx
push	esi
push	edi
push	4
pop	edx
mov	ecx, edx
mov	edi, offset dword_1007518
mov	esi, eax
xor	ebx, ebx
repe cmpsd
jz	short loc_10309BF
mov	ecx, edx
mov	edi, offset dword_1007568
mov	esi, eax
xor	ebx, ebx
repe cmpsd
jz	short loc_10309BF
mov	ecx, edx
mov	edi, offset dword_1007538
mov	esi, eax
xor	ebx, ebx
repe cmpsd
jz	short loc_10309BF
mov	ecx, edx
mov	edi, offset dword_1007508
mov	esi, eax
xor	ebx, ebx
repe cmpsd
jz	short loc_10309BF
mov	ecx, edx
mov	edi, offset dword_1007528
mov	esi, eax
xor	ebx, ebx
repe cmpsd
jz	short loc_10309BF
mov	esi, eax
mov	ecx, edx
mov	edi, offset dword_10074F8
xor	eax, eax
repe cmpsd

loc_10309BF:
pop	edi
pop	esi
xor	eax, eax
pop	ebx
pop	ebp
retn	14h
sub_1030959 endp

db 5 dup(0CCh)



sub_10309CD proc near
mov	eax, offset loc_10372BF
call	sub_1034E18
sub	esp, 28h
push	ebx
push	esi
push	edi
xor	ebx, ebx
lea	ecx, [ebp-34h]
mov	[ebp-10h], esp
mov	[ebp-18h], ebx
call	??0CFile@@QAE@XZ ; CFile::CFile(void)
push	ebx
push	2
push	dword ptr [ebp+8]
lea	ecx, [ebp-34h]
mov	[ebp-4], ebx
call	?Open@CFile@@UAEHPBGIPAVCFileException@@@Z ; CFile::Open(ushort	const *,uint,CFileException *)
test	eax, eax
jz	loc_1030B0A
lea	ecx, [ebp-34h]
call	?GetLength@CFile@@UBEKXZ ; CFile::GetLength(void)
mov	esi, eax
cmp	esi, 2
jbe	loc_1030B02
push	esi		; uBytes
push	ebx		; uFlags
call	ds:LocalAlloc
mov	edi, eax
cmp	edi, ebx
mov	[ebp-14h], edi
jz	loc_1030B02
push	esi
push	edi
lea	ecx, [ebp-34h]
call	?Read@CFile@@UAEIPAXI@Z	; CFile::Read(void *,uint)
cmp	eax, esi
jnz	loc_1030B02
mov	cx, [edi]
mov	eax, offset dword_10071C4
cmp	cx, [eax]
jnz	loc_1030B02
lea	eax, [esi-4]
cmp	eax, 2
jbe	loc_1030B02
lea	eax, [edi+2]
mov	dx, [eax]
mov	ecx, offset loc_10071C8
cmp	dx, [ecx]
jnz	loc_1030B02
movzx	ecx, byte ptr [eax+2]
movzx	eax, byte ptr [eax+3]
shl	ecx, 8
lea	eax, [ecx+eax+2]
mov	ecx, esi
sub	ecx, eax
cmp	ecx, 2
jbe	short loc_1030B02
add	eax, 2
lea	ecx, [ebp-24h]
mov	[ebp+8], eax
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
mov	edi, [ebp+0Ch]
movzx	eax, byte ptr [edi+2]
movzx	ecx, byte ptr [edi+3]
shl	eax, 8
lea	ebx, [eax+ecx+2]
lea	eax, [ebx+esi]
push	eax
lea	ecx, [ebp-34h]
mov	byte ptr [ebp-4], 2
call	?SetLength@CFile@@UAEXK@Z ; CFile::SetLength(ulong)
mov	eax, [ebp-34h]
push	0
push	0
lea	ecx, [ebp-34h]
call	dword ptr [eax+30h]
push	dword ptr [ebp+8]
lea	ecx, [ebp-34h]
push	dword ptr [ebp-14h]
call	?Write@CFile@@UAEXPBXI@Z ; CFile::Write(void const *,uint)
push	ebx
push	edi
lea	ecx, [ebp-34h]
call	?Write@CFile@@UAEXPBXI@Z ; CFile::Write(void const *,uint)
mov	eax, [ebp+8]
mov	ecx, [ebp-14h]
sub	esi, eax
add	eax, ecx
push	esi
push	eax
lea	ecx, [ebp-34h]
call	?Write@CFile@@UAEXPBXI@Z ; CFile::Write(void const *,uint)
mov	dword ptr [ebp-18h], 1

loc_1030AF9:
and	dword ptr [ebp-4], 0
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)

loc_1030B02:
lea	ecx, [ebp-34h]
call	?Close@CFile@@UAEXXZ ; CFile::Close(void)

loc_1030B0A:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-34h]
call	??1CFile@@UAE@XZ ; CFile::~CFile(void)
mov	ecx, [ebp-0Ch]
mov	eax, [ebp-18h]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	8
sub_10309CD endp

mov	eax, [ebp-1Ch]
mov	[ebp-20h], eax
mov	eax, offset loc_1030AF9
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1030B3B proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+arg_8]
mov	esi, ecx
push	[ebp+arg_4]
push	[ebp+arg_0]
push	dword ptr [esi+4]
call	GdipSaveImageToFile
push	eax
mov	ecx, esi
call	sub_10303AE
pop	esi
pop	ebp
retn	0Ch
sub_1030B3B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1030B66 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	[ebp+arg_0]
mov	esi, ecx
push	dword ptr [esi+4]
call	GdipSetPropertyItem
push	eax
mov	ecx, esi
call	sub_10303AE
pop	esi
pop	ebp
retn	4
sub_1030B66 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1030B8B proc near

var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
and	[ebp+var_4], 0
push	esi
lea	eax, [ebp+var_4]
push	eax
push	[ebp+arg_4]
mov	esi, ecx
push	[ebp+arg_0]
mov	dword ptr [esi], offset	off_100718C
call	GdipCreateBitmapFromHBITMAP
mov	[esi+8], eax
mov	eax, [ebp+var_4]
mov	[esi+4], eax
mov	eax, esi
pop	esi
leave
retn	8
sub_1030B8B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1030BC2 proc near

var_2C=	byte ptr -2Ch
var_28=	dword ptr -28h
var_24=	dword ptr -24h
var_1C=	dword ptr -1Ch
var_18=	dword ptr -18h
var_14=	byte ptr -14h
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h
arg_10=	dword ptr  18h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 2Ch
mov	eax, ___security_cookie
push	esi
mov	esi, [ebp+arg_8]
mov	[ebp+var_4], eax
mov	eax, [ebp+arg_0]
push	edi
mov	edi, [ebp+arg_C]
lea	ecx, [ebp+var_14]
mov	[ebp+var_1C], eax
mov	eax, [ebp+arg_4]
push	ecx
push	eax
call	sub_1030649
test	eax, eax
jz	short loc_1030C67
mov	eax, [esi+4]
push	dword ptr [eax+24h]
lea	ecx, [ebp+var_2C]
push	dword ptr [eax+14h]
call	sub_1030B8B
mov	eax, [ebp+var_24]
xor	esi, esi
cmp	eax, esi
mov	[ebp+var_24], esi
jnz	short loc_1030C53
cmp	[edi], esi
jz	short loc_1030C3B
push	ebx
mov	ebx, [ebp+arg_10]
mov	eax, [ebx]
cmp	eax, esi
jz	short loc_1030C3A
test	eax, eax
jbe	short loc_1030C3A
and	[ebp+var_18], esi

loc_1030C23:
mov	eax, [edi]
add	eax, [ebp+var_18]
lea	ecx, [ebp+var_2C]
push	eax
call	sub_1030B66
add	[ebp+var_18], 10h
inc	esi
cmp	esi, [ebx]
jb	short loc_1030C23

loc_1030C3A:
pop	ebx

loc_1030C3B:
push	0
lea	eax, [ebp+var_14]
push	eax
push	[ebp+var_1C]
lea	ecx, [ebp+var_2C]
call	sub_1030B3B
test	eax, eax
jnz	short loc_1030C5F
xor	esi, esi
inc	esi

loc_1030C53:
push	[ebp+var_28]
call	GdipDisposeImage
mov	eax, esi
jmp	short loc_1030C69

loc_1030C5F:
push	[ebp+var_28]
call	GdipDisposeImage

loc_1030C67:
xor	eax, eax

loc_1030C69:
mov	ecx, [ebp+var_4]
pop	edi
pop	esi
call	sub_1032F53
leave
retn	14h
sub_1030BC2 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1030C7C(LPCWSTR lpString, int, int,	int, int, int)
sub_1030C7C proc near

var_1C=	dword ptr -1Ch
ms_exc=	CPPEH_RECORD ptr -18h
lpString= dword	ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h
arg_10=	dword ptr  18h
arg_14=	dword ptr  1Ch

push	0Ch
push	offset stru_10071E8
call	__SEH_prolog
xor	eax, eax
mov	[ebp+var_1C], eax
cmp	dword_103F128, eax
jnz	short loc_1030CBC
mov	[ebp+ms_exc.registration.TryLevel], eax
push	[ebp+arg_10]
push	[ebp+arg_C]
push	[ebp+arg_8]
push	[ebp+arg_4]
push	[ebp+lpString]
call	sub_1030BC2
mov	[ebp+var_1C], eax
jmp	short loc_1030CB8

loc_1030CB1:		; Exception filter 0 for function 1030C7C
xor	eax, eax
inc	eax
retn

loc_1030CB5:		; Exception handler 0 for function 1030C7C
mov	esp, [ebp+ms_exc.old_esp]

loc_1030CB8:
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh

loc_1030CBC:
mov	ebx, [ebp+var_1C]
xor	eax, eax
cmp	ebx, eax
jnz	short loc_1030D07
cmp	[ebp+lpString],	eax
jz	short loc_1030CF3
push	[ebp+lpString]	; lpString
call	ds:lstrlenW
lea	esi, [eax+eax+2]
mov	eax, esi
add	eax, 3
and	eax, 0FFFFFFFCh
call	sub_1035040
mov	[ebp+ms_exc.old_esp], esp
mov	eax, esp
push	esi		; int
push	[ebp+lpString]	; unsigned __int16 *
push	eax		; char *
call	?AfxW2AHelper@@YGPADPADPBGH@Z ;	AfxW2AHelper(char *,ushort const *,int)

loc_1030CF3:
push	[ebp+arg_10]
push	[ebp+arg_C]
push	[ebp+arg_8]
push	[ebp+arg_4]
push	eax
call	sub_1030959
mov	ebx, eax

loc_1030D07:
cmp	ebx, 1
jnz	short loc_1030D5B
push	4
pop	ecx
mov	edi, offset dword_1007538
mov	esi, [ebp+arg_4]
xor	eax, eax
repe cmpsd
jnz	short loc_1030D2F
mov	eax, [ebp+arg_14]
mov	eax, [eax]
test	eax, eax
jz	short loc_1030D2F
push	eax
push	[ebp+lpString]
call	sub_10309CD

loc_1030D2F:		; int
push	[ebp+arg_14]
push	[ebp+arg_10]	; int
push	[ebp+arg_C]	; int
push	offset unk_103F108 ; int
push	[ebp+lpString]	; lpString
call	sub_10307FD
push	eax		; hMem
mov	ecx, [ebp+arg_8]
call	sub_100A8AC
push	[ebp+lpString]
mov	ecx, offset unk_103F0FC
call	??4CString@@QAEABV0@PBG@Z ; CString::operator=(ushort const *)

loc_1030D5B:
mov	eax, ebx
lea	esp, [ebp-28h]
call	__SEH_epilog
retn	18h
sub_1030C7C endp

db 5 dup(0CCh)



sub_1030D6D proc near
mov	eax, [ecx+8]
retn
sub_1030D6D endp

db 5 dup(0CCh)



sub_1030D76 proc near
mov	edi, edi
push	esi
mov	esi, ecx
mov	eax, [esi+8]
test	eax, eax
jz	short loc_1030D95
push	eax		; hMem
call	ds:GlobalFree
and	dword ptr [esi+8], 0
and	dword ptr [esi+0Ch], 0
and	dword ptr [esi+10h], 0

loc_1030D95:
pop	esi
retn
sub_1030D76 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1030D9C(SIZE_T dwBytes)
sub_1030D9C proc near

dwBytes= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
mov	eax, [esi+8]
test	eax, eax
jnz	short loc_1030DB8
push	[ebp+dwBytes]	; dwBytes
push	2		; uFlags
call	ds:GlobalAlloc
jmp	short loc_1030DC4

loc_1030DB8:		; uFlags
push	0
push	[ebp+dwBytes]	; dwBytes
push	eax		; hMem
call	ds:GlobalReAlloc

loc_1030DC4:
test	eax, eax
jnz	short loc_1030DE6
mov	esi, ds:GetLastError
call	esi ; GetLastError
test	eax, eax
jg	short loc_1030DD8
call	esi ; GetLastError
jmp	short loc_1030DF1

loc_1030DD8:
call	esi ; GetLastError
and	eax, 0FFFFh
or	eax, 80070000h
jmp	short loc_1030DF1

loc_1030DE6:
mov	[esi+8], eax
mov	eax, [ebp+dwBytes]
mov	[esi+0Ch], eax
xor	eax, eax

loc_1030DF1:
pop	esi
pop	ebp
retn	4
sub_1030D9C endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1030DFB proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
mov	ebx, [ebp+arg_8]
test	ebx, ebx
jnz	short loc_1030E0F
mov	eax, 80004003h
jmp	short loc_1030E4C

loc_1030E0F:
push	esi
mov	esi, [ebp+arg_4]
push	edi
push	4
pop	ecx
mov	edi, offset dword_100745C
xor	eax, eax
repe cmpsd
jz	short loc_1030E33
mov	esi, [ebp+arg_4]
push	4
pop	ecx
mov	edi, offset dword_100744C
xor	eax, eax
repe cmpsd
jnz	short loc_1030E42

loc_1030E33:
mov	esi, [ebp+arg_0]
mov	eax, [esi]
push	esi
call	dword ptr [eax+4]
mov	[ebx], esi
xor	eax, eax
jmp	short loc_1030E4A

loc_1030E42:
and	dword ptr [ebx], 0
mov	eax, 80004002h

loc_1030E4A:
pop	edi
pop	esi

loc_1030E4C:
pop	ebx
pop	ebp
retn	0Ch
sub_1030DFB endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1030E56(void *, char)
sub_1030E56 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
test	[ebp+arg_0], 1
push	esi
mov	esi, ecx
mov	dword ptr [esi], offset	off_1007214
jz	short loc_1030E71
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1030E71:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1030E56 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1030E7D proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_C]
test	eax, eax
jz	short loc_1030E8C
and	dword ptr [eax], 0

loc_1030E8C:
push	ebx
mov	ebx, [ebp+arg_0]
mov	eax, [ebx+0Ch]
mov	edx, [ebx+10h]
lea	ecx, [eax+0Eh]
cmp	edx, ecx
jbe	short loc_1030EA5
xor	eax, eax
inc	eax
jmp	loc_1030F63

loc_1030EA5:
cmp	[ebp+arg_8], 0
jnz	short loc_1030EB2
xor	eax, eax
jmp	loc_1030F63

loc_1030EB2:
sub	eax, edx
add	eax, 0Eh
cmp	[ebp+arg_8], eax
jbe	short loc_1030EBF
mov	[ebp+arg_8], eax

loc_1030EBF:
push	esi
push	edi
push	0Eh
pop	eax
cmp	edx, eax
jnb	short loc_1030EFB
sub	eax, edx
cmp	[ebp+arg_8], eax
jnb	short loc_1030ED2
mov	eax, [ebp+arg_8]

loc_1030ED2:
mov	edi, [ebp+arg_4]
add	[ebp+arg_4], eax
sub	[ebp+arg_8], eax
mov	ecx, eax
lea	esi, [edx+ebx+14h]
mov	edx, ecx
shr	ecx, 2
rep movsd
mov	ecx, edx
and	ecx, 3
rep movsb
mov	ecx, [ebp+arg_C]
add	[ebx+10h], eax
test	ecx, ecx
jz	short loc_1030EFB
add	[ecx], eax

loc_1030EFB:
cmp	[ebp+arg_8], 0
jbe	short loc_1030F5F
push	dword ptr [ebx+8] ; hMem
call	ds:GlobalLock
test	eax, eax
jnz	short loc_1030F2C
mov	esi, ds:GetLastError
call	esi ; GetLastError
test	eax, eax
jg	short loc_1030F1E
call	esi ; GetLastError
jmp	short loc_1030F61

loc_1030F1E:
call	esi ; GetLastError
and	eax, 0FFFFh
or	eax, 80070000h
jmp	short loc_1030F61

loc_1030F2C:
mov	edx, [ebx+10h]
mov	ecx, [ebp+arg_8]
mov	edi, [ebp+arg_4]
lea	esi, [edx+eax-0Eh]
mov	eax, ecx
shr	ecx, 2
rep movsd
mov	ecx, eax
and	ecx, 3
rep movsb
push	dword ptr [ebx+8] ; hMem
call	ds:GlobalUnlock
mov	eax, [ebp+arg_8]
mov	ecx, [ebp+arg_C]
add	[ebx+10h], eax
test	ecx, ecx
jz	short loc_1030F5F
add	[ecx], eax

loc_1030F5F:
xor	eax, eax

loc_1030F61:
pop	edi
pop	esi

loc_1030F63:
pop	ebx
pop	ebp
retn	10h
sub_1030E7D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1030F6D proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_C]
test	eax, eax
jz	short loc_1030F7C
and	dword ptr [eax], 0

loc_1030F7C:
push	esi
mov	esi, [ebp+arg_8]
test	esi, esi
jnz	short loc_1030F8B
xor	eax, eax
jmp	loc_1031058

loc_1030F8B:
push	ebx
mov	ebx, [ebp+arg_0]
mov	eax, [ebx+10h]
mov	ecx, [ebx+0Ch]
add	eax, esi
add	ecx, 0Eh
cmp	ecx, eax
jnb	short loc_1030FB1
add	eax, 0FFFFFFF2h
push	eax		; dwBytes
mov	ecx, ebx
call	sub_1030D9C
test	eax, eax
jnz	loc_1031057

loc_1030FB1:
mov	edx, [ebx+10h]
cmp	edx, 0Eh
push	edi
jnb	short loc_1030FF0
push	0Eh
pop	eax
sub	eax, edx
cmp	esi, eax
jnb	short loc_1030FC5
mov	eax, esi

loc_1030FC5:
mov	esi, [ebp+arg_4]
add	[ebp+arg_4], eax
sub	[ebp+arg_8], eax
mov	ecx, eax
lea	edi, [edx+ebx+14h]
mov	edx, ecx
shr	ecx, 2
rep movsd
mov	ecx, edx
and	ecx, 3
rep movsb
add	[ebx+10h], eax
cmp	[ebp+arg_C], 0
jz	short loc_1030FF0
mov	ecx, [ebp+arg_C]
add	[ecx], eax

loc_1030FF0:
cmp	[ebp+arg_8], 0
jbe	short loc_1031054
push	dword ptr [ebx+8] ; hMem
call	ds:GlobalLock
test	eax, eax
jnz	short loc_1031021
mov	esi, ds:GetLastError
call	esi ; GetLastError
test	eax, eax
jg	short loc_1031013
call	esi ; GetLastError
jmp	short loc_1031056

loc_1031013:
call	esi ; GetLastError
and	eax, 0FFFFh
or	eax, 80070000h
jmp	short loc_1031056

loc_1031021:
mov	edx, [ebx+10h]
mov	ecx, [ebp+arg_8]
mov	esi, [ebp+arg_4]
lea	edi, [edx+eax-0Eh]
mov	eax, ecx
shr	ecx, 2
rep movsd
mov	ecx, eax
and	ecx, 3
rep movsb
push	dword ptr [ebx+8] ; hMem
call	ds:GlobalUnlock
mov	eax, [ebp+arg_8]
mov	ecx, [ebp+arg_C]
add	[ebx+10h], eax
test	ecx, ecx
jz	short loc_1031054
add	[ecx], eax

loc_1031054:
xor	eax, eax

loc_1031056:
pop	edi

loc_1031057:
pop	ebx

loc_1031058:
pop	esi
pop	ebp
retn	10h
sub_1030F6D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1031062 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_C= dword ptr  14h
arg_10=	dword ptr  18h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_C]
sub	eax, 0
jz	short loc_1031097
dec	eax
jz	short loc_103108A
dec	eax
jz	short loc_103107C
mov	eax, 80070057h
jmp	short loc_10310B3

loc_103107C:
mov	ecx, [ebp+arg_0]
lea	eax, [ecx+10h]
mov	ecx, [ecx+0Ch]
sub	ecx, [ebp+arg_4]
jmp	short loc_10310A0

loc_103108A:
mov	eax, [ebp+arg_0]
mov	ecx, [ebp+arg_4]
add	eax, 10h
add	[eax], ecx
jmp	short loc_10310A2

loc_1031097:
mov	eax, [ebp+arg_0]
mov	ecx, [ebp+arg_4]
add	eax, 10h

loc_10310A0:
mov	[eax], ecx

loc_10310A2:
mov	ecx, [ebp+arg_10]
test	ecx, ecx
jz	short loc_10310B1
mov	eax, [eax]
and	dword ptr [ecx+4], 0
mov	[ecx], eax

loc_10310B1:
xor	eax, eax

loc_10310B3:
pop	ebp
retn	14h
sub_1031062 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10310BC(int, SIZE_T	dwBytes, int)
sub_10310BC proc near

arg_0= dword ptr  8
dwBytes= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+dwBytes]	; dwBytes
mov	ecx, [ebp+arg_0]
call	sub_1030D9C
pop	ebp
retn	0Ch
sub_10310BC endp

db 5 dup(0CCh)



sub_10310D5 proc near
mov	eax, 80004001h
retn	18h
sub_10310D5 endp

db 5 dup(0CCh)



sub_10310E2 proc near
mov	eax, 80004001h
retn	4
sub_10310E2 endp

db 5 dup(0CCh)



sub_10310EF proc near
mov	eax, 80004001h
retn	0Ch
sub_10310EF endp

db 5 dup(0CCh)



sub_10310FC proc near
mov	eax, 80004001h
retn	8
sub_10310FC endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1031109(void *)
sub_1031109 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_0]
push	edi
lea	eax, [esi+4]
push	eax		; lpAddend
call	ds:InterlockedDecrement
mov	edi, eax
test	edi, edi
jnz	short loc_1031130
test	esi, esi
jz	short loc_1031130
push	1		; char
mov	ecx, esi	; void *
call	sub_1030E56

loc_1031130:
mov	eax, edi
pop	edi
pop	esi
pop	ebp
retn	4
sub_1031109 endp

db 5 dup(0CCh)



sub_103113D proc near
mov	eax, ecx
xor	ecx, ecx
mov	dword ptr [eax], offset	off_1007214
mov	dword ptr [eax+4], 1
mov	[eax+8], ecx
mov	[eax+0Ch], ecx
mov	[eax+10h], ecx
retn
sub_103113D endp

db 5 dup(0CCh)



sub_103115D proc near
mov	eax, offset loc_10372D6
call	sub_1034E18
sub	esp, 10h
push	ebx
push	esi
mov	esi, [ebp+8]
test	esi, esi
push	edi
mov	[ebp-10h], esp
jnz	short loc_103117E
mov	eax, 80004003h
jmp	short loc_10311D7

loc_103117E:
lea	ecx, [ebp-1Ch]
call	??0AFX_EXCEPTION_LINK@@QAE@XZ ;	AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void)
and	dword ptr [ebp-4], 0
push	24h		; unsigned int
mov	byte ptr [ebp-4], 1
call	??2@YAPAXI@Z	; operator new(uint)
test	eax, eax
pop	ecx
jz	short loc_10311A3
mov	ecx, eax
call	sub_103113D
jmp	short loc_10311A5

loc_10311A3:
xor	eax, eax

loc_10311A5:
mov	[esi], eax
jmp	short loc_10311BE
mov	eax, [ebp-14h]
mov	[ebp-18h], eax
mov	eax, [ebp+8]
and	dword ptr [eax], 0
mov	eax, offset loc_10311BB
retn

loc_10311BB:
mov	esi, [ebp+8]

loc_10311BE:
or	dword ptr [ebp-4], 0FFFFFFFFh
call	?AfxTryCleanup@@YGXXZ ;	AfxTryCleanup(void)
mov	eax, [esi]
neg	eax
sbb	eax, eax
and	eax, 7FF8FFF2h
add	eax, 8007000Eh

loc_10311D7:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
mov	large fs:0, ecx
pop	ebx
leave
retn	4
sub_103115D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10311ED(OLECHAR *psz)
sub_10311ED proc near

psz= dword ptr	8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
push	dword ptr [esi]	; bstrString
call	ds:SysFreeString
push	[ebp+psz]	; psz
call	ds:SysAllocString
mov	[esi], eax
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_10311ED endp

db 5 dup(0CCh)

loc_1031214:
push	dword ptr [ecx]
call	ds:SysFreeString
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1031222 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
push	edi
mov	edi, [ebp+arg_4]
test	edi, edi
jz	short loc_1031236
mov	eax, [edi]
push	edi
call	dword ptr [eax+4]

loc_1031236:
mov	esi, [ebp+arg_0]
mov	eax, [esi]
test	eax, eax
jz	short loc_1031245
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_1031245:
mov	[esi], edi
mov	eax, edi
pop	edi
pop	esi
pop	ebp
retn	8
sub_1031222 endp

db 5 dup(0CCh)

loc_1031254:
mov	dword ptr [ecx], offset	off_100726C
retn
align 10h
mov	edi, edi
push	ebp
mov	ebp, esp
push	dword ptr [ebp+8]
add	ecx, 8
call	sub_10311ED
xor	eax, eax
pop	ebp
retn	4
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
mov	ebx, [ebp+10h]
test	ebx, ebx
jnz	short loc_103128F
mov	eax, 80004003h
jmp	short loc_10312CC

loc_103128F:
push	esi
mov	esi, [ebp+0Ch]
push	edi
push	4
pop	ecx
mov	edi, offset dword_100745C
xor	eax, eax
repe cmpsd
jz	short loc_10312B3
mov	esi, [ebp+0Ch]
push	4
pop	ecx
mov	edi, offset dword_10075C8
xor	eax, eax
repe cmpsd
jnz	short loc_10312C2

loc_10312B3:
mov	esi, [ebp+8]
mov	eax, [esi]
push	esi
call	dword ptr [eax+4]
mov	[ebx], esi
xor	eax, eax
jmp	short loc_10312CA

loc_10312C2:
and	dword ptr [ebx], 0
mov	eax, 80004002h

loc_10312CA:
pop	edi
pop	esi

loc_10312CC:
pop	ebx
pop	ebp
retn	0Ch
db 5 dup(0CCh)



sub_10312D6 proc near
mov	dword ptr [ecx], offset	off_1007288
mov	ecx, [ecx+8]
test	ecx, ecx
jz	short locret_10312EA
push	ecx		; hMem
call	ds:GlobalFree

locret_10312EA:
retn
sub_10312D6 endp

align 10h


; Attributes: bp-based frame

sub_10312F0 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
mov	ebx, [ebp+arg_8]
test	ebx, ebx
jnz	short loc_1031304
mov	eax, 80004003h
jmp	short loc_1031341

loc_1031304:
push	esi
mov	esi, [ebp+arg_4]
push	edi
push	4
pop	ecx
mov	edi, offset dword_100745C
xor	eax, eax
repe cmpsd
jz	short loc_1031328
mov	esi, [ebp+arg_4]
push	4
pop	ecx
mov	edi, offset stru_10075B8
xor	eax, eax
repe cmpsd
jnz	short loc_1031337

loc_1031328:
mov	esi, [ebp+arg_0]
mov	eax, [esi]
push	esi
call	dword ptr [eax+4]
mov	[ebx], esi
xor	eax, eax
jmp	short loc_103133F

loc_1031337:
and	dword ptr [ebx], 0
mov	eax, 80004002h

loc_103133F:
pop	edi
pop	esi

loc_1031341:
pop	ebx
pop	ebp
retn	0Ch
sub_10312F0 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_103134B(void *, char)
sub_103134B proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_10312D6
test	[ebp+arg_0], 1
jz	short loc_1031365
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1031365:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_103134B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1031371(SIZE_T dwBytes)
sub_1031371 proc near

dwBytes= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
mov	eax, [esi+8]
test	eax, eax
jnz	short loc_103138D
push	[ebp+dwBytes]	; dwBytes
push	2		; uFlags
call	ds:GlobalAlloc
jmp	short loc_1031399

loc_103138D:		; uFlags
push	0
push	[ebp+dwBytes]	; dwBytes
push	eax		; hMem
call	ds:GlobalReAlloc

loc_1031399:
test	eax, eax
jnz	short loc_10313AE
push	1
mov	ecx, offset unk_103EE08
call	sub_101F3A4
xor	eax, eax
inc	eax
jmp	short loc_10313B9

loc_10313AE:
mov	[esi+8], eax
mov	eax, [ebp+dwBytes]
mov	[esi+0Ch], eax
xor	eax, eax

loc_10313B9:
pop	esi
pop	ebp
retn	4
sub_1031371 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10313C3 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
push	esi
mov	esi, [ebp+arg_0]
mov	ebx, [esi]
cmp	ebx, 0Ch
jz	short loc_10313EA
cmp	ebx, 28h
jz	short loc_10313EA
cmp	ebx, 6Ch
jz	short loc_10313EA
cmp	ebx, 7Ch
jz	short loc_10313EA
xor	eax, eax
jmp	loc_103149C

loc_10313EA:
cmp	ebx, 0Ch
push	edi
mov	edi, ebx
jnz	short loc_1031429
mov	dx, [esi+0Ah]
cmp	dx, 8
ja	short loc_1031409
xor	eax, eax
inc	eax
mov	cl, dl
shl	eax, cl
add	eax, 4
lea	edi, [eax+eax*2]

loc_1031409:
movzx	eax, word ptr [esi+4]
movzx	ecx, dx
imul	eax, ecx
movzx	ecx, word ptr [esi+6]
add	eax, 1Fh
shr	eax, 3
and	eax, 1FFFFFFCh
imul	eax, ecx
add	edi, eax
jmp	short loc_1031499

loc_1031429:
mov	eax, [esi+20h]
test	eax, eax
jnz	short loc_103143D
mov	cx, [esi+0Eh]
cmp	cx, 8
ja	short loc_1031440
inc	eax
shl	eax, cl

loc_103143D:
lea	edi, [ebx+eax*4]

loc_1031440:
mov	eax, [esi+14h]
test	eax, eax
jnz	short loc_1031476
mov	eax, [esi+10h]
test	eax, eax
jz	short loc_1031457
cmp	eax, 3
jz	short loc_1031457
xor	eax, eax
jmp	short loc_103149B

loc_1031457:
movzx	ecx, word ptr [esi+0Eh]
imul	ecx, [esi+4]
mov	eax, [esi+8]
cdq
add	ecx, 1Fh
xor	eax, edx
shr	ecx, 3
sub	eax, edx
and	ecx, 1FFFFFFCh
imul	eax, ecx

loc_1031476:
add	edi, eax
cmp	ebx, 28h
jnz	short loc_1031488
cmp	dword ptr [esi+10h], 3
jnz	short loc_1031499
add	edi, 0Ch
jmp	short loc_1031499

loc_1031488:
cmp	ebx, 7Ch
jb	short loc_1031499
mov	eax, [esi+70h]
cmp	eax, edi
jbe	short loc_1031496
mov	edi, eax

loc_1031496:
add	edi, [esi+74h]

loc_1031499:
mov	eax, edi

loc_103149B:
pop	edi

loc_103149C:
pop	esi
pop	ebx
pop	ebp
retn	4
sub_10313C3 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10314A7 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_0]
mov	edx, [esi]
cmp	edx, 0Ch
jz	short loc_10314F2
cmp	edx, 28h
jz	short loc_10314CA
cmp	edx, 6Ch
jz	short loc_10314CA
cmp	edx, 7Ch
jnz	loc_1031587

loc_10314CA:
cmp	dword ptr [esi+8], 0
jnz	loc_1031587
mov	eax, [esi+14h]
test	eax, eax
jnz	loc_103156A
mov	eax, [ebp+arg_4]
mov	ecx, [esi+20h]
sub	eax, edx
test	ecx, ecx
jz	short loc_103153B
neg	ecx
lea	eax, [eax+ecx*4]
jmp	short loc_103154F

loc_10314F2:
cmp	word ptr [esi+6], 0
jnz	loc_1031587
mov	eax, [ebp+arg_4]
push	ebx
mov	bx, [esi+0Ah]
add	eax, 0FFFFFFF4h
cmp	bx, 8
ja	short loc_103151A
or	edx, 0FFFFFFFFh
mov	cl, bl
shl	edx, cl
add	eax, edx
lea	eax, [eax+edx*2]

loc_103151A:
movzx	ecx, word ptr [esi+4]
movzx	edx, bx
imul	ecx, edx
add	ecx, 1Fh
shr	ecx, 3
and	ecx, 1FFFFFFCh
xor	edx, edx
div	ecx
pop	ebx
mov	[esi+6], ax
jmp	short loc_1031587

loc_103153B:
mov	cx, [esi+0Eh]
cmp	cx, 8
ja	short loc_103154F
push	edi
or	edi, 0FFFFFFFFh
shl	edi, cl
lea	eax, [eax+edi*4]
pop	edi

loc_103154F:
cmp	edx, 28h
jnz	short loc_103155F
cmp	dword ptr [esi+10h], 3
jnz	short loc_1031567
sub	eax, 0Ch
jmp	short loc_1031567

loc_103155F:
cmp	edx, 7Ch
jb	short loc_1031567
sub	eax, [esi+74h]

loc_1031567:
mov	[esi+14h], eax

loc_103156A:
movzx	ecx, word ptr [esi+0Eh]
imul	ecx, [esi+4]
add	ecx, 1Fh
shr	ecx, 3
and	ecx, 1FFFFFFCh
xor	edx, edx
div	ecx
neg	eax
mov	[esi+8], eax

loc_1031587:
pop	esi
pop	ebp
retn	8
sub_10314A7 endp

db 5 dup(0CCh)



sub_1031591 proc near
mov	eax, offset loc_10372F0
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	dword ptr [esi], offset	off_100729C
mov	ecx, dword_103E764
and	dword ptr [ebp-4], 0
test	ecx, ecx
jz	short loc_10315C4
push	1
push	offset Text
push	0
call	?SetPaneText@CStatusBar@@QAEHHPBGH@Z ; CStatusBar::SetPaneText(int,ushort const	*,int)

loc_10315C4:
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [esi+8]
call	??1CProgressCtrl@@UAE@XZ ; CProgressCtrl::~CProgressCtrl(void)
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_1031591 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10315E2 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
mov	ebx, [ebp+arg_8]
test	ebx, ebx
jnz	short loc_10315F6
mov	eax, 80004003h
jmp	short loc_1031633

loc_10315F6:
push	esi
mov	esi, [ebp+arg_4]
push	edi
push	4
pop	ecx
mov	edi, offset dword_100745C
xor	eax, eax
repe cmpsd
jz	short loc_103161A
mov	esi, [ebp+arg_4]
push	4
pop	ecx
mov	edi, offset dword_10074B8
xor	eax, eax
repe cmpsd
jnz	short loc_1031629

loc_103161A:
mov	esi, [ebp+arg_0]
mov	eax, [esi]
push	esi
call	dword ptr [eax+4]
mov	[ebx], esi
xor	eax, eax
jmp	short loc_1031631

loc_1031629:
and	dword ptr [ebx], 0
mov	eax, 80004002h

loc_1031631:
pop	edi
pop	esi

loc_1031633:
pop	ebx
pop	ebp
retn	0Ch
sub_10315E2 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_103163D proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
add	eax, 4
push	eax		; lpAddend
call	ds:InterlockedIncrement
pop	ebp
retn	4
sub_103163D endp

align 8


; Attributes: bp-based frame

sub_1031658 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_0]
push	edi
lea	eax, [esi+4]
push	eax		; lpAddend
call	ds:InterlockedDecrement
mov	edi, eax
test	edi, edi
jnz	short loc_103167F
test	esi, esi
jz	short loc_103167F
mov	eax, [esi]
push	1
mov	ecx, esi
call	dword ptr [eax+2Ch]

loc_103167F:
mov	eax, edi
pop	edi
pop	esi
pop	ebp
retn	4
sub_1031658 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_103168C proc near

arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_4]
and	dword ptr [eax], 0
xor	eax, eax
pop	ebp
retn	8
sub_103168C endp

db 5 dup(0CCh)



sub_10316A2 proc near
xor	eax, eax
retn	4
sub_10316A2 endp

db 5 dup(0CCh)

loc_10316AC:
mov	eax, [ecx]
test	eax, eax
jz	short locret_10316B8
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

locret_10316B8:
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10316BE proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
push	esi
mov	esi, ecx
and	dword ptr [esi], 0
test	eax, eax
jz	short loc_10316DB
mov	ecx, [eax]
push	esi
push	offset dword_10072DC
push	eax
call	dword ptr [ecx]

loc_10316DB:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_10316BE endp

db 5 dup(0CCh)



sub_10316E7 proc near
mov	edi, edi
push	esi
mov	esi, ecx
cmp	dword ptr [esi], 0
jz	short loc_103171A
push	edi
xor	edi, edi
cmp	[esi+4], edi
jle	short loc_1031711

loc_10316F9:
mov	eax, [esi]
lea	eax, [eax+edi*4]
cmp	dword ptr [eax], 0
jz	short loc_103170B
mov	eax, [eax]
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_103170B:
inc	edi
cmp	edi, [esi+4]
jl	short loc_10316F9

loc_1031711:		; pv
push	dword ptr [esi]
call	ds:CoTaskMemFree
pop	edi

loc_103171A:
pop	esi
retn
sub_10316E7 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1031721 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
test	eax, eax
push	esi
mov	esi, ecx
mov	[esi], eax
jz	short loc_1031738
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+4]

loc_1031738:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1031721 endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+8]
push	esi
mov	esi, ecx
and	dword ptr [esi], 0
test	eax, eax
jz	short loc_1031761
mov	ecx, [eax]
push	esi
push	offset riid
push	eax
call	dword ptr [ecx]

loc_1031761:
mov	eax, esi
pop	esi
pop	ebp
retn	4
db 5 dup(0CCh)



sub_103176D proc near
mov	edi, edi
push	esi
mov	esi, ecx
call	??0CWnd@@QAE@XZ	; CWnd::CWnd(void)
mov	dword ptr [esi], offset	off_10072F4
mov	eax, esi
pop	esi
retn
sub_103176D endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1031786(void *, char)
sub_1031786 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	??1CProgressCtrl@@UAE@XZ ; CProgressCtrl::~CProgressCtrl(void)
test	[ebp+arg_0], 1
jz	short loc_10317A0
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_10317A0:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1031786 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10317AC proc near

arg_0= word ptr	 8
arg_4= word ptr	 0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
movzx	eax, [ebp+arg_4]
movzx	edx, [ebp+arg_0]
shl	eax, 10h
or	eax, edx
push	eax		; lParam
push	0		; wParam
push	401h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	8
sub_10317AC endp

align 8


; Attributes: bp-based frame

; int __stdcall	sub_10317D8(WPARAM wParam)
sub_10317D8 proc near

wParam=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	0		; lParam
push	[ebp+wParam]	; wParam
push	402h		; Msg
push	dword ptr [ecx+20h] ; hWnd
call	ds:SendMessageW
pop	ebp
retn	4
sub_10317D8 endp

db 5 dup(0CCh)

loc_10317F9:
mov	eax, offset loc_103731D
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	eax, [esi+10h]
test	eax, eax
mov	dword ptr [ebp-4], 2
jz	short loc_103181E
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_103181E:
mov	eax, [esi+8]
test	eax, eax
mov	byte ptr [ebp-4], 1
jz	short loc_103182F
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_103182F:
mov	eax, [esi+4]
test	eax, eax
mov	byte ptr [ebp-4], 0
jz	short loc_1031840
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_1031840:
mov	esi, [esi]
or	dword ptr [ebp-4], 0FFFFFFFFh
test	esi, esi
jz	short loc_1031850
mov	eax, [esi]
push	esi
call	dword ptr [eax+8]

loc_1031850:
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
db 5 dup(0CCh)
mov	eax, offset loc_103736A
call	sub_1034E18
push	ecx
push	ebx
push	esi
push	edi
xor	edi, edi
mov	esi, ecx
mov	[ebp-10h], edi
lea	eax, [ebp-10h]
push	eax
push	offset stru_10072CC
push	17h
push	edi
push	offset rclsid
mov	[ebp-4], edi
call	ds:CoCreateInstance
mov	ebx, eax
cmp	ebx, edi
jge	short loc_10318AC
mov	eax, [ebp-10h]
or	dword ptr [ebp-4], 0FFFFFFFFh
cmp	eax, edi
jz	short loc_10318A8
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_10318A8:
mov	eax, ebx
jmp	short loc_10318FB

loc_10318AC:
add	esi, 8
push	dword ptr [esi]
call	ds:SysFreeString
mov	eax, [ebp-10h]
push	esi
push	dword ptr [ebp+0Ch]
mov	[esi], edi
mov	ecx, [eax]
push	edi
push	dword ptr [ebp+8]
push	eax
call	dword ptr [ecx+18h]
mov	ecx, offset unk_103EE08
mov	esi, eax
call	?RestoreWaitCursor@CCmdTarget@@QAEXXZ ;	CCmdTarget::RestoreWaitCursor(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
cmp	esi, edi
mov	eax, [ebp-10h]
jz	short loc_10318EF
cmp	eax, edi
jz	short loc_10318EB
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_10318EB:
mov	eax, esi
jmp	short loc_10318FB

loc_10318EF:
cmp	eax, edi
jz	short loc_10318F9
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_10318F9:
xor	eax, eax

loc_10318FB:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	8
db 5 dup(0CCh)



sub_1031911 proc near
mov	eax, offset loc_1037334
call	sub_1034E18
sub	esp, 18h
push	esi
mov	esi, [ebp+10h]
test	esi, esi
jnz	short loc_1031930
mov	eax, 80004003h
jmp	loc_10319FF

loc_1031930:
push	dword ptr [ebp+8]
lea	ecx, [ebp+10h]
call	sub_10316BE
mov	ecx, [ebp+10h]
and	dword ptr [ebp-4], 0
test	ecx, ecx
jnz	short loc_1031950
mov	eax, 80004002h
jmp	loc_10319FF

loc_1031950:
mov	eax, [ebp+0Ch]
push	edi
mov	[ebp-10h], eax
xor	eax, eax
lea	edi, [ebp-24h]
stosd
stosd
lea	edx, [ebp-24h]
push	edx
stosd
lea	edx, [ebp-14h]
push	edx
push	1
mov	dword ptr [ebp-14h], 1
stosd
mov	eax, [ecx]
push	ecx
call	dword ptr [eax+0Ch]
mov	edi, eax
test	edi, edi
jnz	short loc_10319EB
movzx	eax, word ptr [ebp-24h]
cmp	eax, 11h
jg	short loc_10319C1
jz	short loc_10319BB
dec	eax
dec	eax
jz	short loc_10319B5
dec	eax
jz	short loc_10319D6
dec	eax
jz	short loc_10319A5
dec	eax
jz	short loc_10319A0
sub	eax, 0Bh
jnz	short loc_10319D1
movsx	eax, byte ptr [ebp-1Ch]
jmp	short loc_10319DF

loc_10319A0:
fld	qword ptr [ebp-1Ch]
jmp	short loc_10319A8

loc_10319A5:
fld	dword ptr [ebp-1Ch]

loc_10319A8:
fadd	qword ptr ds:dword_10073B4+4
call	_ftol
jmp	short loc_10319DF

loc_10319B5:
movsx	eax, word ptr [ebp-1Ch]
jmp	short loc_10319DF

loc_10319BB:
movzx	eax, byte ptr [ebp-1Ch]
jmp	short loc_10319DF

loc_10319C1:
sub	eax, 12h
jz	short loc_10319DB
dec	eax
jz	short loc_10319D6
sub	eax, 3
jz	short loc_10319D6
dec	eax
jz	short loc_10319D6

loc_10319D1:
xor	edi, edi
inc	edi
jmp	short loc_10319E1

loc_10319D6:
mov	eax, [ebp-1Ch]
jmp	short loc_10319DF

loc_10319DB:
movzx	eax, word ptr [ebp-1Ch]

loc_10319DF:
mov	[esi], eax

loc_10319E1:
lea	eax, [ebp-24h]
push	eax		; pvar
call	ds:PropVariantClear

loc_10319EB:
mov	eax, [ebp+10h]
or	dword ptr [ebp-4], 0FFFFFFFFh
test	eax, eax
jz	short loc_10319FC
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_10319FC:
mov	eax, edi
pop	edi

loc_10319FF:
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	0Ch
sub_1031911 endp

db 5 dup(0CCh)
mov	eax, offset loc_103731D
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
xor	eax, eax
mov	[ebp-10h], esi
mov	[esi], eax
mov	[ebp-4], eax
mov	[esi+4], eax
push	dword ptr [ebp+8]
lea	ecx, [esi+8]
mov	byte ptr [ebp-4], 1
call	sub_1031721
mov	eax, [ebp+0Ch]
push	dword ptr [ebp+10h]
lea	ecx, [esi+10h]
mov	byte ptr [ebp-4], 2
mov	[esi+0Ch], eax
call	sub_1031721
mov	ecx, [ebp-0Ch]
mov	eax, esi
pop	esi
mov	large fs:0, ecx
leave
retn	0Ch
align 8



; int __fastcall sub_1031A68(LPSTREAM *ppStm)
sub_1031A68 proc near
mov	edi, edi
push	esi
push	edi
mov	edi, ds:CoMarshalInterThreadInterfaceInStream
mov	esi, ecx
mov	eax, [esi+8]
push	esi		; ppStm
push	eax		; pUnk
push	offset riid	; riid
call	edi ; CoMarshalInterThreadInterfaceInStream
test	eax, eax
jnz	short loc_1031ABB
mov	eax, [esi+8]
test	eax, eax
jz	short loc_1031A95
and	dword ptr [esi+8], 0
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_1031A95:
mov	eax, [esi+10h]
lea	ecx, [esi+4]
push	ecx		; ppStm
push	eax		; pUnk
push	offset stru_10075B8 ; riid
call	edi ; CoMarshalInterThreadInterfaceInStream
test	eax, eax
jnz	short loc_1031ABB
mov	eax, [esi+10h]
test	eax, eax
jz	short loc_1031AB9
and	dword ptr [esi+10h], 0
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_1031AB9:
xor	eax, eax

loc_1031ABB:
pop	edi
pop	esi
retn
sub_1031A68 endp

db 5 dup(0CCh)



sub_1031AC3 proc near
mov	edi, edi
push	esi
push	edi
mov	edi, ds:CoGetInterfaceAndReleaseStream
mov	esi, ecx
mov	eax, [esi]
lea	ecx, [esi+8]
push	ecx		; ppv
push	offset riid	; iid
push	eax		; pStm
call	edi ; CoGetInterfaceAndReleaseStream
and	dword ptr [esi], 0
test	eax, eax
jnz	short loc_1031AF7
mov	eax, [esi+4]
lea	ecx, [esi+10h]
push	ecx		; ppv
push	offset stru_10075B8 ; iid
push	eax		; pStm
call	edi ; CoGetInterfaceAndReleaseStream
and	dword ptr [esi+4], 0

loc_1031AF7:
pop	edi
pop	esi
retn
sub_1031AC3 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1031AFF proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	edi
push	0		; pvReserved
call	ds:CoInitialize
mov	edi, eax
test	edi, edi
jnz	short loc_1031B41
push	esi
mov	esi, [ebp+arg_0]
test	esi, esi
jz	short loc_1031B3A
mov	ecx, esi
call	sub_1031AC3
mov	edi, eax
test	edi, edi
jnz	short loc_1031B3A
mov	ecx, [esi+10h]
mov	eax, [esi+8]
mov	edx, [eax]
push	ecx
push	dword ptr [esi+0Ch]
push	eax
call	dword ptr [edx+10h]
mov	edi, eax

loc_1031B3A:
call	ds:CoUninitialize
pop	esi

loc_1031B41:
mov	eax, edi
pop	edi
pop	ebp
retn	4
sub_1031AFF endp

db 5 dup(0CCh)
mov	eax, [ecx+4]
test	eax, eax
jz	short loc_1031B59
mov	eax, [eax+8]
jmp	short locret_1031B5B

loc_1031B59:
xor	eax, eax

locret_1031B5B:
retn	4
db 5 dup(0CCh)



sub_1031B63 proc near
mov	eax, offset loc_1037353
call	sub_1034E18
push	ecx
push	ebx
push	esi
mov	esi, [ebp+0Ch]
xor	ebx, ebx
cmp	esi, ebx
jnz	short loc_1031B83
mov	eax, 80004003h
jmp	loc_1031C36

loc_1031B83:
push	edi
push	dword ptr [ebp+8]
lea	ecx, [ebp+0Ch]
mov	[esi], ebx
call	sub_1031721
cmp	[ebp+0Ch], ebx
mov	[ebp-4], ebx
jnz	short loc_1031BCB
lea	eax, [ebp+0Ch]
push	eax		; ppv
push	offset stru_10072CC ; riid
push	17h		; dwClsContext
push	ebx		; pUnkOuter
push	offset rclsid	; rclsid
call	ds:CoCreateInstance
mov	edi, eax
cmp	edi, ebx
jge	short loc_1031BCB

loc_1031BB6:
mov	eax, [ebp+0Ch]
or	dword ptr [ebp-4], 0FFFFFFFFh
cmp	eax, ebx
jz	short loc_1031BC7
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_1031BC7:
mov	eax, edi
jmp	short loc_1031C35

loc_1031BCB:
mov	[ebp+8], ebx
mov	eax, [ebp+0Ch]
mov	ecx, [eax]
lea	edx, [ebp+8]
push	edx
push	ebx
push	eax
mov	byte ptr [ebp-4], 1
call	dword ptr [ecx+0Ch]
mov	edi, eax
cmp	edi, ebx
mov	eax, [ebp+8]
jge	short loc_1031BEE
mov	[ebp-4], bl
jmp	short loc_1031C04

loc_1031BEE:
mov	ecx, [eax]
lea	edx, [ebp-10h]
push	edx
push	eax
call	dword ptr [ecx+1Ch]
mov	edi, eax
cmp	edi, ebx
mov	[ebp-4], bl
jge	short loc_1031C10
mov	eax, [ebp+8]

loc_1031C04:
cmp	eax, ebx
jz	short loc_1031BB6
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]
jmp	short loc_1031BB6

loc_1031C10:
mov	eax, [ebp-10h]
mov	[esi], eax
mov	eax, [ebp+8]
cmp	eax, ebx
jz	short loc_1031C22
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_1031C22:
mov	eax, [ebp+0Ch]
or	dword ptr [ebp-4], 0FFFFFFFFh
cmp	eax, ebx
jz	short loc_1031C33
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_1031C33:
xor	eax, eax

loc_1031C35:
pop	edi

loc_1031C36:
mov	ecx, [ebp-0Ch]
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn	8
sub_1031B63 endp

db 5 dup(0CCh)



sub_1031C4B proc near
mov	eax, offset loc_103736A
call	sub_1034E18
push	ecx
push	ebx
push	esi
push	edi
xor	edi, edi
mov	esi, ecx
mov	[ebp-10h], edi
lea	eax, [ebp-10h]
push	eax		; ppv
push	offset stru_10072CC ; riid
push	17h		; dwClsContext
push	edi		; pUnkOuter
push	offset rclsid	; rclsid
mov	[ebp-4], edi
call	ds:CoCreateInstance
mov	ebx, eax
cmp	ebx, edi
jge	short loc_1031C85
mov	eax, [ebp-10h]
jmp	short loc_1031CB5

loc_1031C85:
lea	eax, [esi+8]
push	eax
push	dword ptr [ebp-10h]
call	sub_1031B63
mov	ebx, eax
cmp	ebx, edi
mov	eax, [ebp-10h]
jl	short loc_1031CB5
mov	ecx, [eax]
lea	edx, [esi+0Ch]
push	edx
push	esi
push	offset dword_10074D8
push	edi
push	edi
push	eax
call	dword ptr [ecx+24h]
mov	ebx, eax
cmp	ebx, edi
mov	eax, [ebp-10h]
jge	short loc_1031CC7

loc_1031CB5:
or	dword ptr [ebp-4], 0FFFFFFFFh
cmp	eax, edi
jz	short loc_1031CC3
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_1031CC3:
mov	eax, ebx
jmp	short loc_1031D00

loc_1031CC7:
mov	ecx, [eax]
lea	edx, [esi+10h]
push	edx
push	esi
push	10074E8h
push	edi
push	edi
push	eax
call	dword ptr [ecx+24h]
or	dword ptr [ebp-4], 0FFFFFFFFh
mov	esi, eax
cmp	esi, edi
mov	eax, [ebp-10h]
jge	short loc_1031CF4
cmp	eax, edi
jz	short loc_1031CF0
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_1031CF0:
mov	eax, esi
jmp	short loc_1031D00

loc_1031CF4:
cmp	eax, edi
jz	short loc_1031CFE
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_1031CFE:
xor	eax, eax

loc_1031D00:
mov	ecx, [ebp-0Ch]
pop	edi
pop	esi
pop	ebx
mov	large fs:0, ecx
leave
retn
sub_1031C4B endp

db 5 dup(0CCh)



sub_1031D14 proc near
mov	eax, offset loc_1037384
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
mov	eax, [esi+10h]
and	dword ptr [ebp-4], 0
test	eax, eax
jz	short loc_1031D36
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_1031D36:
mov	esi, [esi+0Ch]
or	dword ptr [ebp-4], 0FFFFFFFFh
test	esi, esi
jz	short loc_1031D47
mov	eax, [esi]
push	esi
call	dword ptr [eax+8]

loc_1031D47:
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn
sub_1031D14 endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+8]
add	eax, 8
push	eax
push	0
call	sub_1031B63
pop	ebp
retn	24h
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, ecx
xor	ecx, ecx
mov	[eax+4], ecx
mov	[eax+8], ecx
mov	[eax+0Ch], ecx
mov	[eax+10h], ecx
mov	ecx, [ebp+8]
mov	dword ptr [eax], offset	off_1007288
mov	[eax+14h], ecx
pop	ebp
retn	4
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1031D9F(void *)
sub_1031D9F proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+arg_0]
push	edi
lea	eax, [esi+4]
push	eax		; lpAddend
call	ds:InterlockedDecrement
mov	edi, eax
test	edi, edi
jnz	short loc_1031DC6
test	esi, esi
jz	short loc_1031DC6
push	1		; char
mov	ecx, esi	; void *
call	sub_103134B

loc_1031DC6:
mov	eax, edi
pop	edi
pop	esi
pop	ebp
retn	4
sub_1031D9F endp

db 5 dup(0CCh)



sub_1031DD3 proc near
mov	eax, offset loc_10373A3
call	sub_1034E18
push	ecx
push	ecx
push	esi
mov	esi, ecx
cmp	dword ptr [esi+14h], 0
jz	loc_1031E6E
mov	eax, [esi+14h]
push	dword ptr [ebp+0Ch]
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+24h]
lea	ecx, [ebp-10h]
call	??0CString@@QAE@XZ ; CString::CString(void)
mov	eax, [ebp+8]
and	dword ptr [ebp-4], 0
dec	eax
jz	short loc_1031E1F
dec	eax
jz	short loc_1031E18
dec	eax
dec	eax
jnz	short loc_1031E2C
push	994h
jmp	short loc_1031E24

loc_1031E18:
push	993h
jmp	short loc_1031E24

loc_1031E1F:
push	992h

loc_1031E24:
lea	ecx, [ebp-10h]
call	?LoadStringW@CString@@QAEHI@Z ;	CString::LoadStringW(uint)

loc_1031E2C:
lea	ecx, [ebp-14h]
call	??0CString@@QAE@XZ ; CString::CString(void)
push	dword ptr [ebp+0Ch]
lea	eax, [ebp-14h]
push	dword ptr [ebp-10h]
mov	byte ptr [ebp-4], 1
push	eax
call	?Format@CString@@QAAXPBGZZ ; CString::Format(ushort const *,...)
mov	esi, [esi+14h]
mov	eax, [esi]
add	esp, 0Ch
push	dword ptr [ebp-14h]
push	esi
call	dword ptr [eax+20h]
lea	ecx, [ebp-14h]
mov	byte ptr [ebp-4], 0
call	??1CString@@QAE@XZ ; CString::~CString(void)
or	dword ptr [ebp-4], 0FFFFFFFFh
lea	ecx, [ebp-10h]
call	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1031E6E:
mov	ecx, [ebp-0Ch]
pop	esi
mov	large fs:0, ecx
leave
retn	8
sub_1031DD3 endp

db 5 dup(0CCh)
align 4
push	esi
mov	esi, ecx
lea	ecx, [esi+8]
mov	dword ptr [esi], offset	off_100729C
call	sub_103176D
and	dword ptr [esi+4], 0
mov	eax, esi
pop	esi
retn
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1031EA2(void *, char)
sub_1031EA2 proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_1031591
test	[ebp+arg_0], 1
jz	short loc_1031EBC
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1031EBC:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1031EA2 endp

align 8


; Attributes: bp-based frame

sub_1031EC8 proc near

var_10=	byte ptr -10h
arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
mov	ecx, dword_103E764
test	ecx, ecx
jz	short loc_1031F10
push	esi
lea	eax, [ebp+var_10]
push	eax
push	1
call	?GetItemRect@CStatusBar@@QBEXHPAUtagRECT@@@Z ; CStatusBar::GetItemRect(int,tagRECT *)
mov	esi, [ebp+arg_0]
push	1
push	dword_103E764
lea	eax, [ebp+var_10]
push	eax
add	esi, 8
push	50000000h
mov	ecx, esi
call	?Create@CProgressCtrl@@QAEHKABUtagRECT@@PAVCWnd@@I@Z ; CProgressCtrl::Create(ulong,tagRECT const &,CWnd	*,uint)
push	64h
push	0
mov	ecx, esi
call	sub_10317AC
pop	esi

loc_1031F10:
xor	eax, eax
leave
retn	0Ch
sub_1031EC8 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1031F1B proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
push	dword ptr [eax+28h] ; hWnd
call	ds:UpdateWindow
xor	eax, eax
pop	ebp
retn	4
sub_1031F1B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1031F37 proc near

arg_4= dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, dword_103E764
test	ecx, ecx
jz	short loc_1031F52
push	1
push	[ebp+arg_4]
push	0
call	?SetPaneText@CStatusBar@@QAEHHPBGH@Z ; CStatusBar::SetPaneText(int,ushort const	*,int)

loc_1031F52:
xor	eax, eax
pop	ebp
retn	8
sub_1031F37 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1031F5D(int, WPARAM	wParam)
sub_1031F5D proc near

arg_0= dword ptr  8
wParam=	dword ptr  0Ch

mov	edi, edi
push	ebp
mov	ebp, esp
mov	ecx, [ebp+arg_0]
push	[ebp+wParam]	; wParam
add	ecx, 8
call	sub_10317D8
xor	eax, eax
pop	ebp
retn	8
sub_1031F5D endp

db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 28h
mov	ecx, [ebp+8]
push	esi
call	sub_1031A68
xor	esi, esi
cmp	eax, esi
jnz	loc_1032068
lea	eax, [ebp-0Ch]
push	eax
push	esi
push	dword ptr [ebp+8]
push	offset sub_1031AFF
push	esi
push	esi
call	ds:_beginthreadex
add	esp, 18h
cmp	eax, esi
mov	[ebp-4], eax
jnz	short loc_1031FDB
mov	esi, ds:GetLastError
call	esi ; GetLastError
call	esi ; GetLastError
test	eax, eax
jg	short loc_1031FCA
call	esi ; GetLastError
jmp	loc_1032068

loc_1031FCA:
call	esi ; GetLastError
and	eax, 0FFFFh
or	eax, 80070000h
jmp	loc_1032068

loc_1031FDB:
push	ebx
push	edi
mov	edi, ds:MsgWaitForMultipleObjects
mov	ebx, 4FFh
jmp	short loc_103201B

loc_1031FEA:
lea	eax, [ebp-28h]
push	eax
call	ds:TranslateMessage
lea	eax, [ebp-28h]
push	eax
call	ds:DispatchMessageW

loc_1031FFE:
push	1
push	esi
push	esi
lea	eax, [ebp-28h]
push	esi
push	eax
call	ds:PeekMessageW
test	eax, eax
jnz	short loc_1031FEA
mov	ecx, offset unk_103EE08
call	?RestoreWaitCursor@CCmdTarget@@QAEXXZ ;	CCmdTarget::RestoreWaitCursor(void)

loc_103201B:
push	ebx
push	0FFFFFFFFh
push	esi
lea	eax, [ebp-4]
push	eax
push	1
call	edi ; MsgWaitForMultipleObjects
cmp	eax, 1
jz	short loc_1031FFE
lea	eax, [ebp-8]
push	eax
push	dword ptr [ebp-4]
mov	dword ptr [ebp-8], 1
call	ds:GetExitCodeThread
cmp	dword ptr [ebp-8], 103h
pop	edi
pop	ebx
jnz	short loc_103205C
push	esi
push	dword ptr [ebp-4]
call	ds:TerminateThread
mov	dword ptr [ebp-8], 80004005h

loc_103205C:
push	dword ptr [ebp-4]
call	ds:CloseHandle
mov	eax, [ebp-8]

loc_1032068:
pop	esi
leave
retn	4
db 5 dup(0CCh)



sub_1032072 proc near
mov	eax, ecx
xor	ecx, ecx
mov	dword ptr [eax], 10073C4h
mov	[eax+0Ch], ecx
mov	[eax+10h], ecx
mov	[eax+4], ecx
mov	[eax+8], ecx
retn
sub_1032072 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_103208E(void *, char)
sub_103208E proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_1031D14
test	[ebp+arg_0], 1
jz	short loc_10320A8
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_10320A8:
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_103208E endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_10320B4 proc near

arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h
arg_10=	dword ptr  18h
arg_14=	dword ptr  1Ch
arg_20=	dword ptr  28h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
mov	ebx, [ebp+arg_0]
mov	eax, [ebx+14h]
test	eax, eax
jz	short loc_10320DA
mov	ecx, [eax]
lea	edx, [ebp+arg_0]
push	edx
push	eax
call	dword ptr [ecx+18h]
test	eax, eax
jnz	short loc_10320DA
cmp	[ebp+arg_0], eax
jz	short loc_10320DA
inc	eax
jmp	short loc_1032115

loc_10320DA:
mov	eax, [ebp+arg_4]
dec	eax
push	esi
push	edi
jz	loc_10321A5
dec	eax
jz	short loc_1032129
dec	eax
jz	short loc_103211A
dec	eax
jz	short loc_10320F2
dec	eax
jnz	short loc_1032111

loc_10320F2:		; hMem
push	dword ptr [ebx+8]
call	ds:GlobalLock
test	eax, eax
jz	short loc_1032111
push	dword ptr [ebx+10h]
push	eax
call	sub_10314A7

loc_1032108:		; hMem
push	dword ptr [ebx+8]
call	ds:GlobalUnlock

loc_1032111:
xor	eax, eax

loc_1032113:
pop	edi
pop	esi

loc_1032115:
pop	ebx
pop	ebp
retn	24h

loc_103211A:
push	[ebp+arg_C]
mov	ecx, ebx
push	[ebp+arg_8]
call	sub_1031DD3
jmp	short loc_1032111

loc_1032129:
push	[ebp+arg_C]
mov	ecx, ebx
push	[ebp+arg_8]
call	sub_1031DD3
cmp	dword ptr [ebx+0Ch], 0
mov	edi, [ebp+arg_10]
jnz	short loc_103215B
test	edi, edi
jnz	short loc_103215B
push	[ebp+arg_20]
call	sub_10313C3
test	eax, eax
jz	short loc_103215B
push	eax		; dwBytes
mov	ecx, ebx
call	sub_1031371
test	eax, eax
jnz	short loc_10321CB

loc_103215B:
mov	eax, [ebp+arg_14]
lea	esi, [edi+eax]
cmp	esi, [ebx+0Ch]
jle	short loc_1032175
lea	eax, [edi+eax*2]
push	eax		; dwBytes
mov	ecx, ebx
call	sub_1031371
test	eax, eax
jnz	short loc_10321CB

loc_1032175:
cmp	esi, [ebx+10h]
jle	short loc_103217D
mov	[ebx+10h], esi

loc_103217D:		; hMem
push	dword ptr [ebx+8]
call	ds:GlobalLock
test	eax, eax
jz	short loc_1032111
mov	ecx, [ebp+arg_14]
mov	esi, [ebp+arg_20]
add	edi, eax
mov	eax, ecx
shr	ecx, 2
rep movsd
mov	ecx, eax
and	ecx, 3
rep movsb
jmp	loc_1032108

loc_10321A5:
mov	eax, [ebp+arg_20]
test	eax, eax
jz	loc_1032111
mov	eax, [eax+14h]
test	eax, eax
jz	loc_1032111
push	eax		; dwBytes
mov	ecx, ebx
call	sub_1031371
test	eax, eax
jz	loc_1032111

loc_10321CB:
xor	eax, eax
inc	eax
jmp	loc_1032113
sub_10320B4 endp

align 8



sub_10321D8 proc near
mov	eax, offset loc_10373D0
call	sub_1034E18
push	ecx
push	esi
push	edi
mov	edi, ecx
mov	[ebp-10h], edi
and	dword ptr [ebp-4], 0
lea	esi, [edi+4]
mov	dword ptr [edi], 10073D8h
and	dword ptr [esi], 0
and	dword ptr [edi+8], 0
push	14h		; unsigned int
mov	byte ptr [ebp-4], 2
call	??2@YAPAXI@Z	; operator new(uint)
test	eax, eax
pop	ecx
jz	short loc_1032217
mov	ecx, eax
call	sub_1032072
jmp	short loc_1032219

loc_1032217:
xor	eax, eax

loc_1032219:
push	eax
push	esi
call	sub_1031222
mov	ecx, [esi]
test	ecx, ecx
jz	short loc_103223E
call	sub_1031C4B
test	eax, eax
jz	short loc_103223E
mov	eax, [esi]
test	eax, eax
jz	short loc_103223E
and	dword ptr [esi], 0
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_103223E:
mov	ecx, [ebp-0Ch]
mov	eax, edi
pop	edi
pop	esi
mov	large fs:0, ecx
leave
retn
sub_10321D8 endp

db 5 dup(0CCh)
xor	eax, eax
cmp	[ecx+4], eax
setnz	al
retn
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, ecx
call	sub_1032287
test	byte ptr [ebp+8], 1
jz	short loc_103227B
push	esi
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_103227B:
mov	eax, esi
pop	esi
pop	ebp
retn	4
db 5 dup(0CCh)



sub_1032287 proc near
mov	eax, offset loc_10373E7
call	sub_1034E18
push	ecx
push	esi
mov	esi, ecx
mov	[ebp-10h], esi
push	dword ptr [esi+8] ; bstrString
and	dword ptr [ebp-4], 0
call	ds:SysFreeString
mov	eax, [esi+4]
test	eax, eax
jz	short loc_10322B2
mov	ecx, [eax]
push	eax
call	dword ptr [ecx+8]

loc_10322B2:
mov	ecx, [ebp-0Ch]
mov	dword ptr [esi], offset	off_100726C
pop	esi
mov	large fs:0, ecx
leave
retn
sub_1032287 endp

db 5 dup(0CCh)
dw 4BB8h
dd 0E8010374h, 2B44h, 0ACEC81h,	0BCA10000h
dd 890103E6h, 458BF045h, 89565308h, 458BB845h
dd 33F18B0Ch, 758957DBh, 0A84589B0h, 8DDC5D89h
dd 6850DC45h, 10072CCh,	6853176Ah, 1007598h
dd 0FFFC5D89h, 1E8015h,	3BF88B01h, 8F8C0FFBh
dd 89000001h, 0C683D85Dh, 3B068B08h, 0FC45C6C3h
dd 0EE08BF01h, 14740103h, 8BDC4D8Bh, 0D8558D09h
dd 75FF5052h, 1051FFDCh, 3A7DC085h, 15FF36FFh
dd 1001C14h, 8DDC458Bh,	5652D855h, 75FF5353h
dd 8B1E89B8h, 51FF5008h, 89CF8B14h, 39E8BC45h
dd 39000028h, 850FBC5Dh, 4CBh, 15FF36FFh
dd 1001C14h, 5D891E89h,	0CC5D89C8h, 8BD8458Bh
dd 0C8558D08h, 0CC558D52h, 26A5352h, 0C6B875FFh
dd 5002FC45h, 8B2851FFh, 0E8F08BCFh, 27FCh
dd 850FF33Bh, 13Ah, 75CC5D39h, 0C84D8D37h
dd 1FC45C6h, 0FFF322E8h, 0D8458BFFh, 5D88C33Bh
dd 8B0674FCh, 51FF5008h, 0DC458B08h, 0FFFC4D83h
dd 674C33Bh, 0FF50088Bh, 5B80851h, 0E9800040h
dd 508h, 7578BEh, 0E07D8D01h, 0A5A5A5A5h
dd 7D8DC033h, 0ABABAB9Ch, 76AC033h, 7ABD8D59h
dd 0F3FFFFFFh, 33AB66ABh, 458940C0h, 0A0458998h
dd 89E0458Dh, 458B9045h, 9C45C7C8h, 100Ch
dd 7885C766h, 3FFFFFFh,	8045C700h, 80h,	0AA445C7h
dd 66000010h, 488845C7h, 8D30FF00h, 6BE8D04Dh
dd 8BFFFFF2h, 0C33BD045h, 3FC45C6h, 2AD840Fh
dd 88B0000h, 1002BEh, 958D5600h, 0FFFFFF78h
dd 98558D52h, 50016A52h, 8B1051FFh, 8BFB3BF8h
dd 4274D045h, 45C6C33Bh, 67402FCh, 0FF50088Bh
dd 4D8D0851h, 0FC45C6C8h, 0F249E801h, 458BFFFFh
dd 88C33BD8h, 674FC5Dh,	0FF50088Bh, 458B0851h
dd 0FC4D83DCh, 74C33BFFh, 50088B06h, 8B0851FFh
dd 432E9C7h, 88B0000h, 88558D56h, 0A0558D52h
dd 50016A52h, 8B1051FFh, 74F33BF0h, 0D0458B45h
dd 45C6C33Bh, 67402FCh,	0FF50088Bh, 4D8D0851h
dd 0FC45C6C8h, 0F1EDE801h, 458BFFFFh, 88C33BD8h
dd 674FC5Dh, 0FF50088Bh, 458B0851h, 0FC4D83DCh
dd 74C33BFFh, 50088B06h, 8B0851FFh, 3D6E9C6h
dd 458D0000h, 458B50C4h, 101668C8h, 30FF0000h
dd 0FFF3DCE8h, 0B9C33BFFh, 10000h, 758B0775h
dd 7DF13BC4h, 89F18B02h, 458DD45Dh, 0B86850D4h
dd 6A010074h, 0C8685301h, 0C6010074h, 0FF04FC45h
dd 1E8015h, 74C33B01h, 0E8486A2Ch, 0F70h
dd 0C4458959h, 45C6C33Bh, 97405FCh, 0FFE8C88Bh
dd 0EBFFFFF8h, 50C03302h, 50D4458Dh, 4FC45C6h
dd 0FFEC8DE8h, 0C4458DFFh, 0FF056A50h, 6EE8D875h
dd 3BFFFFF3h, 330474C3h, 8B03EBC0h, 0E8C1C445h
dd 19744810h, 480F7448h, 46A0574h, 0B913EB59h
dd 200000h, 0B90CEBh, 0EB001000h, 0B905h
dd 458B0008h, 51108BD4h, 50B875FFh, 8D0C52FFh
dd 0B5E8C04Dh, 6800000Dh, 991h,	0C6C04D8Dh
dd 0E806FC45h, 0E04h, 0FFD4458Bh, 88BC075h
dd 1C51FF50h, 8BD4458Bh, 1F646808h, 0FF500100h
dd 458B2051h, 50088BD4h, 6A1051FFh, 0EBEE818h
dd 0C33B0000h, 0FF0C7459h, 0C88BD475h, 0FFF744E8h
dd 3302EBFFh, 89C33BC0h, 7175C445h, 8B9016Ah
dd 0E80103EEh, 0FFFECD5Ch, 0C6C04D8Dh, 0E804FC45h
dd 0D30h, 3BD4458Bh, 0FC45C6C3h, 8B067403h
dd 51FF5008h, 0D0458B08h, 45C6C33Bh, 67402FCh
dd 0FF50088Bh, 4D8D0851h, 0FC45C6C8h, 0F065E801h
dd 458BFFFFh, 88C33BD8h, 674FC5Dh, 0FF50088Bh
dd 458B0851h, 0FC4D83DCh, 74C33BFFh, 50088B06h
dd 0B80851FFh, 8007000Eh, 24BE9h, 4D8D5000h
dd 0F06BE8ACh, 458BFFFFh, 8D30FFC8h, 45C6B44Dh
dd 7DE807FCh, 39FFFFF0h, 45C6B45Dh, 767508FCh
dd 3BAC458Bh, 0FC45C6C3h, 8B067406h, 51FF5008h
dd 0C04D8D08h, 4FC45C6h, 0C97E8h, 0D4458B00h
dd 45C6C33Bh, 67403FCh,	0FF50088Bh, 458B0851h
dd 0C6C33BD0h, 7402FC45h, 50088B06h, 8D0851FFh
dd 45C6C84Dh, 0CCE801FCh, 8BFFFFEFh, 0C33BD845h
dd 74FC5D88h, 50088B06h, 8B0851FFh, 4D83DC45h
dd 0C33BFFFCh, 88B0674h, 851FF50h, 4002B8h
dd 1B2E980h, 66A0000h, 8DC03359h, 0FFFF60BDh
dd 53ABF3FFh, 8DB875FFh, 358B3604h, 1001C90h
dd 0FF5C85C7h, 1CFFFFh,	85890000h, 0FFFFFF64h
dd 0FF6885C7h, 1FFFFh, 0D6FF0000h, 57AC7D8Bh
dd 0FF5C858Dh, 0FF50FFFFh, 8D8DB475h, 0FFFFFF48h
dd 0FFF27EE8h, 0B04D8BFFh, 0FC45C650h, 0F7D9E809h
dd 8D8DFFFFh, 0FFFFFF48h, 0C6BC4589h, 0E808FC45h
dd 0FFFFF045h, 75FF016Ah, 8BD6FFB8h, 0C33BD445h
dd 88B2374h, 52B0558Dh,	1851FF50h, 0C75C085h
dd 74B05D39h, 0BC45C707h, 1, 8BD4458Bh,	51FF5008h
dd 0BC5D3928h, 7FC45C6h, 458B7E74h, 74C33BB4h
dd 50088B06h, 3B0851FFh, 0FC45C6FBh, 8B067406h
dd 50FF5707h, 0C04D8D08h, 4FC45C6h, 0B6FE8h
dd 0D4458B00h, 45C6C33Bh, 67403FCh, 0FF50088Bh
dd 458B0851h, 0C6C33BD0h, 7402FC45h, 50088B06h
dd 8D0851FFh, 45C6C84Dh, 0A4E801FCh, 8BFFFFEEh
dd 0C33BD845h, 74FC5D88h, 50088B06h, 8B0851FFh
dd 4D83DC45h, 0C33BFFFCh, 88B0674h, 851FF50h
dd 0E9BC458Bh, 8Ch, 8BC4458Bh, 58890848h
dd 0C588908h, 8B105889h, 889A845h, 3BB4458Bh
dd 8B0674C3h, 51FF5008h, 0C6FB3B08h, 7406FC45h
dd 57078B06h, 8D0850FFh, 45C6C04Dh, 0DDE804FCh
dd 8B00000Ah, 0C33BD445h, 3FC45C6h, 88B0674h
dd 851FF50h, 3BD0458Bh,	0FC45C6C3h, 8B067402h
dd 51FF5008h, 0C84D8D08h, 1FC45C6h, 0FFEE12E8h
dd 0D8458BFFh, 5D88C33Bh, 8B0674FCh, 51FF5008h
dd 0DC458B08h, 0FFFC4D83h, 674C33Bh, 0FF50088Bh
dd 0C0330851h, 5FF44D8Bh, 0D89645Eh, 0
mov	ecx, [ebp-10h]
pop	ebx
call	sub_1032F53
leave
retn	8
db 5 dup(0CCh)
mov	edi, edi
push	ebp
mov	ebp, esp
push	esi
mov	esi, [ebp+8]
push	edi
lea	eax, [esi+4]
push	eax
call	ds:InterlockedDecrement
mov	edi, eax
test	edi, edi
jnz	short loc_103293D
test	esi, esi
jz	short loc_103293D
push	1
mov	ecx, esi
call	sub_103208E

loc_103293D:
mov	eax, edi
pop	edi
pop	esi
pop	ebp
retn	4
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_103294A(HWND hDlg)
sub_103294A proc near

hDlg= dword ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ebx
mov	ebx, [ebp+hDlg]
push	esi
push	edi
mov	edi, ds:CheckDlgButton
mov	esi, ecx
push	dword ptr [esi]	; uCheck
push	4BBh		; nIDButton
push	ebx		; hDlg
call	edi ; CheckDlgButton
push	dword ptr [esi+4] ; uCheck
push	4BCh		; nIDButton
push	ebx		; hDlg
call	edi ; CheckDlgButton
xor	eax, eax
cmp	[esi+8], eax
setz	al
push	eax		; uCheck
push	4BEh		; nIDButton
push	ebx		; hDlg
call	edi ; CheckDlgButton
push	0		; bSigned
push	dword ptr [esi+0Ch] ; uValue
mov	edi, 4C0h
push	edi		; nIDDlgItem
push	ebx		; hDlg
call	ds:SetDlgItemInt
xor	eax, eax
cmp	[esi+8], eax
setz	al
push	eax		; bEnable
push	edi		; nIDDlgItem
mov	edi, ds:GetDlgItem
push	ebx		; hDlg
call	edi ; GetDlgItem
mov	ebx, ds:EnableWindow
push	eax		; hWnd
call	ebx ; EnableWindow
xor	eax, eax
cmp	[esi+8], eax
setz	al
push	eax		; bEnable
push	4C1h		; nIDDlgItem
push	[ebp+hDlg]	; hDlg
call	edi ; GetDlgItem
push	eax		; hWnd
call	ebx ; EnableWindow
push	dword ptr [esi+8] ; uCheck
push	4BFh		; nIDButton
push	[ebp+hDlg]	; hDlg
call	ds:CheckDlgButton
push	0		; bSigned
push	dword ptr [esi+10h] ; uValue
push	4C2h		; nIDDlgItem
push	[ebp+hDlg]	; hDlg
call	ds:SetDlgItemInt
push	dword ptr [esi+8] ; bEnable
push	4C2h		; nIDDlgItem
push	[ebp+hDlg]	; hDlg
call	edi ; GetDlgItem
push	eax		; hWnd
call	ebx ; EnableWindow
push	dword ptr [esi+8] ; bEnable
push	4C3h		; nIDDlgItem
push	[ebp+hDlg]	; hDlg
call	edi ; GetDlgItem
push	eax		; hWnd
call	ebx ; EnableWindow
push	0		; bSigned
push	dword ptr [esi+14h] ; uValue
push	4C4h		; nIDDlgItem
push	[ebp+hDlg]	; hDlg
call	ds:SetDlgItemInt
push	dword ptr [esi+8] ; bEnable
push	4C4h		; nIDDlgItem
push	[ebp+hDlg]	; hDlg
call	edi ; GetDlgItem
push	eax		; hWnd
call	ebx ; EnableWindow
push	dword ptr [esi+8] ; bEnable
push	4C5h		; nIDDlgItem
push	[ebp+hDlg]	; hDlg
call	edi ; GetDlgItem
push	eax		; hWnd
call	ebx ; EnableWindow
push	1		; bErase
push	0		; lpRect
push	438h		; nIDDlgItem
push	[ebp+hDlg]	; hDlg
call	edi ; GetDlgItem
push	eax		; hWnd
call	ds:InvalidateRect
pop	edi
pop	esi
pop	ebx
pop	ebp
retn	4
sub_103294A endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1032A5F(HWND hDlg, int Translated, int)
sub_1032A5F proc near

hDlg= dword ptr	 8
Translated= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	0		; bSigned
lea	eax, [ebp+Translated]
push	eax		; lpTranslated
push	[ebp+Translated] ; nIDDlgItem
push	[ebp+hDlg]	; hDlg
call	ds:GetDlgItemInt
cmp	[ebp+Translated], 0
jz	short loc_1032A9E
test	eax, eax
jz	short loc_1032A9E
mov	ecx, [ebp+arg_8]
push	1		; bErase
push	0		; lpRect
push	438h		; nIDDlgItem
push	[ebp+hDlg]	; hDlg
mov	[ecx], eax
call	ds:GetDlgItem
push	eax		; hWnd
call	ds:InvalidateRect

loc_1032A9E:
pop	ebp
retn	0Ch
sub_1032A5F endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1032AA7(HWND hDlg, int, int, LONG dwNewLong)
sub_1032AA7 proc near

hDlg= dword ptr	 8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
dwNewLong= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_4]
sub	eax, 110h
push	esi
push	edi
jz	loc_1032BF6
dec	eax
jnz	loc_1032C49
mov	edi, [ebp+hDlg]
push	0FFFFFFEBh	; nIndex
push	edi		; hWnd
call	ds:GetWindowLongW
xor	esi, esi
cmp	eax, esi
jz	short loc_1032ADA
mov	ecx, [eax+40h]
jmp	short loc_1032ADC

loc_1032ADA:
xor	ecx, ecx

loc_1032ADC:
mov	eax, [ebp+arg_8]
movzx	edx, ax
sub	edx, 4BBh
jz	loc_1032BD6
dec	edx
jz	loc_1032BBD
dec	edx
dec	edx
jz	loc_1032BB0
dec	edx
jz	loc_1032B95
dec	edx
jz	short loc_1032B6A
dec	edx
dec	edx
jz	short loc_1032B45
dec	edx
dec	edx
jnz	loc_1032C49
shr	eax, 10h
cmp	ax, 300h
jnz	short loc_1032B27
add	ecx, 14h
push	ecx
push	4C4h
jmp	short loc_1032B7C

loc_1032B27:
cmp	ax, 200h
jnz	short loc_1032B3D
push	esi		; bSigned
push	dword ptr [ecx+14h] ; uValue
push	4C4h		; nIDDlgItem

loc_1032B36:		; hDlg
push	edi
call	ds:SetDlgItemInt

loc_1032B3D:
xor	eax, eax
inc	eax
jmp	loc_1032C4B

loc_1032B45:
shr	eax, 10h
cmp	ax, 300h
jnz	short loc_1032B59
add	ecx, 10h
push	ecx
push	4C2h
jmp	short loc_1032B7C

loc_1032B59:
cmp	ax, 200h
jnz	short loc_1032B3D
push	esi
push	dword ptr [ecx+10h]
push	4C2h
jmp	short loc_1032B36

loc_1032B6A:
shr	eax, 10h
cmp	ax, 300h
jnz	short loc_1032B84
add	ecx, 0Ch
push	ecx		; int
push	4C0h		; Translated

loc_1032B7C:		; hDlg
push	edi
call	sub_1032A5F
jmp	short loc_1032B3D

loc_1032B84:
cmp	ax, 200h
jnz	short loc_1032B3D
push	esi
push	dword ptr [ecx+0Ch]
push	4C0h
jmp	short loc_1032B36

loc_1032B95:
xor	esi, esi
shr	eax, 10h
inc	esi
test	ax, ax
jnz	short loc_1032BA9
push	edi		; hDlg
mov	[ecx+8], esi
call	sub_103294A

loc_1032BA9:
mov	eax, esi
jmp	loc_1032C4B

loc_1032BB0:
shr	eax, 10h
test	ax, ax
jnz	short loc_1032B3D
mov	[ecx+8], esi
jmp	short loc_1032BEB

loc_1032BBD:
shr	eax, 10h
test	ax, ax
jnz	loc_1032B3D
xor	eax, eax
cmp	[ecx+4], esi
setz	al
mov	[ecx+4], eax
jmp	short loc_1032BEB

loc_1032BD6:
shr	eax, 10h
test	ax, ax
jnz	loc_1032B3D
xor	eax, eax
cmp	[ecx], esi
setz	al
mov	[ecx], eax

loc_1032BEB:		; hDlg
push	edi
call	sub_103294A
jmp	loc_1032B3D

loc_1032BF6:
mov	esi, [ebp+dwNewLong]
push	ebx
mov	ebx, [ebp+hDlg]
push	esi		; dwNewLong
push	0FFFFFFEBh	; nIndex
push	ebx		; hWnd
call	ds:SetWindowLongW
mov	eax, [esi+40h]
mov	esi, ds:SendDlgItemMessageW
push	0		; lParam
push	4		; wParam
mov	edi, 0C5h
push	edi		; Msg
push	4C0h		; nIDDlgItem
push	ebx		; hDlg
mov	[ebp+hDlg], eax
call	esi ; SendDlgItemMessageW
push	0		; lParam
push	2		; wParam
push	edi		; Msg
push	4C2h		; nIDDlgItem
push	ebx		; hDlg
call	esi ; SendDlgItemMessageW
push	0		; lParam
push	2		; wParam
push	edi		; Msg
push	4C4h		; nIDDlgItem
push	ebx		; hDlg
call	esi ; SendDlgItemMessageW
mov	ecx, [ebp+hDlg]
push	ebx		; hDlg
call	sub_103294A
pop	ebx

loc_1032C49:
xor	eax, eax

loc_1032C4B:
pop	edi
pop	esi
pop	ebp
retn	10h
sub_1032AA7 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1032C56 proc near

var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ebx
push	esi
mov	esi, ecx
cmp	dword ptr [esi+8], 0
push	edi
jz	short loc_1032CB4
mov	eax, [ebp+arg_0]
mov	ebx, [esi+10h]
imul	ebx, [eax]
mov	eax, [eax+4]
imul	eax, [esi+14h]
mov	edi, [ebp+arg_8]
mov	[ebp+var_4], ebx
mov	[edi], ebx
mov	[ebp+arg_0], eax
fild	[ebp+var_4]
fdiv	qword ptr [esi+18h]
fmul	qword ptr [esi+20h]
call	_ftol
cmp	eax, [ebp+arg_0]
mov	[edi+4], eax
jle	loc_1032D26
fild	[ebp+arg_0]
fdiv	qword ptr [esi+20h]
fmul	qword ptr [esi+18h]
call	_ftol
mov	[edi], eax
mov	eax, [ebp+arg_0]
mov	[edi+4], eax
jmp	short loc_1032D26

loc_1032CB4:
mov	eax, [esi+0Ch]
fild	dword ptr [esi+0Ch]
test	eax, eax
jge	short loc_1032CC4
fadd	ds:dbl_10073F8

loc_1032CC4:
fmul	qword ptr [esi+18h]
fmul	ds:dbl_10073F0
call	_ftol
mov	edi, [ebp+arg_8]
mov	[edi], eax
fild	dword ptr [esi+0Ch]
mov	eax, [esi+0Ch]
test	eax, eax
jge	short loc_1032CE7
fadd	ds:dbl_10073F8

loc_1032CE7:
fmul	qword ptr [esi+20h]
fmul	ds:dbl_10073F0
call	_ftol
mov	ecx, [ebp+arg_0]
mov	[edi+4], eax
mov	ebx, [ecx]
mov	eax, [edi]
lea	eax, [eax+ebx-1]
cdq
idiv	ebx
mov	[esi+10h], eax
mov	ebx, [ecx+4]
mov	eax, [edi+4]
lea	eax, [ebx+eax-1]
cdq
idiv	ebx
mov	[esi+14h], eax
mov	ebx, [ecx]
imul	ebx, [esi+10h]
imul	eax, [ecx+4]
mov	[ebp+arg_0], eax

loc_1032D26:
xor	eax, eax
cmp	[esi], eax
jz	short loc_1032D35
mov	eax, ebx
sub	eax, [edi]
cdq
sub	eax, edx
sar	eax, 1

loc_1032D35:
mov	ecx, [ebp+arg_4]
mov	[ecx], eax
xor	eax, eax
cmp	[esi+4], eax
jz	short loc_1032D4C
mov	eax, [ebp+arg_0]
sub	eax, [edi+4]
cdq
sub	eax, edx
sar	eax, 1

loc_1032D4C:
pop	edi
pop	esi
mov	[ecx+4], eax
pop	ebx
leave
retn	0Ch
sub_1032C56 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1032D5B proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
test	eax, eax
jz	short loc_1032D6A
mov	eax, [eax+4]

loc_1032D6A:
push	eax
push	dword ptr [ecx+4]
call	?SelectGdiObject@CDC@@KGPAVCGdiObject@@PAUHDC__@@PAX@Z ; CDC::SelectGdiObject(HDC__ *,void *)
pop	ebp
retn	4
sub_1032D5B endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_1032D7C(HWND hWnd, int, int, LONG dwNewLong)
sub_1032D7C proc near

var_38=	dword ptr -38h
var_34=	dword ptr -34h
var_30=	dword ptr -30h
var_2C=	dword ptr -2Ch
var_28=	byte ptr -28h
var_20=	byte ptr -20h
var_18=	dword ptr -18h
var_14=	dword ptr -14h
var_10=	dword ptr -10h
var_C= dword ptr -0Ch
var_8= qword ptr -8
hWnd= dword ptr	 8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
dwNewLong= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 38h
mov	eax, [ebp+arg_4]
sub	eax, 400h
jz	loc_1032EC7
sub	eax, 4
jnz	loc_1032ED5
push	ebx
push	esi
push	edi
push	0FFFFFFEBh	; nIndex
push	[ebp+hWnd]	; hWnd
call	ds:GetWindowLongW
mov	ecx, [eax+14h]
sub	ecx, [eax+34h]
sub	ecx, [eax+2Ch]
mov	dword ptr [ebp+var_8], ecx
mov	ecx, [eax+18h]
sub	ecx, [eax+38h]
sub	ecx, [eax+30h]
mov	dword ptr [ebp+var_8+4], ecx
lea	ecx, [ebp+var_18]
push	ecx
lea	ecx, [ebp+var_10]
push	ecx
lea	ecx, [ebp+var_8]
push	ecx
mov	ecx, [eax+40h]
call	sub_1032C56
mov	eax, [ebp+dwNewLong]
mov	ebx, [eax]
mov	ecx, [eax+8]
mov	esi, [eax+4]
mov	eax, [eax+0Ch]
sub	ecx, ebx
mov	[ebp+dwNewLong], ecx
fild	[ebp+dwNewLong]
sub	eax, esi
mov	[ebp+dwNewLong], eax
fidiv	dword ptr [ebp+var_8]
fild	[ebp+dwNewLong]
fidiv	dword ptr [ebp+var_8+4]
fstp	[ebp+var_8]
fild	[ebp+var_10]
fmul	st, st(1)
call	_ftol
fild	[ebp+var_C]
mov	edi, eax
add	edi, ebx
fmul	[ebp+var_8]
mov	[ebp+var_38], edi
call	_ftol
fild	[ebp+var_18]
mov	ebx, eax
add	ebx, esi
fmul	st, st(1)
mov	[ebp+var_34], ebx
call	_ftol
fstp	st
fild	[ebp+var_14]
add	eax, edi
mov	[ebp+var_30], eax
fmul	[ebp+var_8]
call	_ftol
push	[ebp+arg_8]
add	eax, ebx
mov	[ebp+var_2C], eax
call	?FromHandle@CDC@@SGPAV1@PAUHDC__@@@Z ; CDC::FromHandle(HDC__ *)
mov	esi, eax
mov	eax, [esi]
push	7
mov	ecx, esi
call	dword ptr [eax+2Ch]
mov	[ebp+arg_4], eax
mov	eax, [esi]
push	1
mov	ecx, esi
call	dword ptr [eax+2Ch]
mov	[ebp+arg_8], eax
lea	eax, [ebp+var_38]
push	eax
mov	ecx, esi
call	sub_1015CAA
push	ebx
push	edi
lea	eax, [ebp+var_20]
push	eax
mov	ecx, esi
call	?MoveTo@CDC@@QAE?AVCPoint@@HH@Z	; CDC::MoveTo(int,int)
mov	eax, [ebp+var_2C]
mov	ecx, [ebp+var_30]
dec	eax
dec	ecx
push	eax
mov	[ebp+hWnd], ecx
push	ecx
mov	ecx, esi
mov	[ebp+dwNewLong], eax
call	?LineTo@CDC@@QAEHHH@Z ;	CDC::LineTo(int,int)
push	[ebp+dwNewLong]
lea	eax, [ebp+var_28]
push	edi
push	eax
mov	ecx, esi
call	?MoveTo@CDC@@QAE?AVCPoint@@HH@Z	; CDC::MoveTo(int,int)
push	ebx
push	[ebp+hWnd]
mov	ecx, esi
call	?LineTo@CDC@@QAEHHH@Z ;	CDC::LineTo(int,int)
push	[ebp+arg_4]
mov	ecx, esi
call	sub_1032D5B
push	[ebp+arg_8]
mov	ecx, esi
call	sub_1032D5B
pop	edi
xor	eax, eax
pop	esi
inc	eax
pop	ebx
jmp	short locret_1032ED7

loc_1032EC7:		; dwNewLong
push	[ebp+dwNewLong]
push	0FFFFFFEBh	; nIndex
push	[ebp+hWnd]	; hWnd
call	ds:SetWindowLongW

loc_1032ED5:
xor	eax, eax

locret_1032ED7:
leave
retn	10h
sub_1032D7C endp

align 10h
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 10h
mov	eax, ___security_cookie
test	eax, eax
jz	short loc_1032EF8
cmp	eax, 0BB40h
jnz	short loc_1032F45

loc_1032EF8:
push	esi
lea	eax, [ebp-8]
push	eax
call	ds:GetSystemTimeAsFileTime
mov	esi, [ebp-4]
xor	esi, [ebp-8]
call	ds:GetCurrentProcessId
xor	esi, eax
call	ds:GetCurrentThreadId
xor	esi, eax
call	ds:GetTickCount
xor	esi, eax
lea	eax, [ebp-10h]
push	eax
call	ds:QueryPerformanceCounter
mov	eax, [ebp-0Ch]
xor	eax, [ebp-10h]
xor	eax, esi
and	eax, 0FFFFh
pop	esi
jnz	short loc_1032F40
mov	eax, 0BB40h

loc_1032F40:
mov	___security_cookie, eax

loc_1032F45:
not	eax
mov	dword_103E6B8, eax
leave
retn
db 5 dup(0CCh)



sub_1032F53 proc near
cmp	ecx, ___security_cookie
jnz	short loc_1032F64
test	ecx, 0FFFF0000h
jnz	short loc_1032F64
retn

loc_1032F64:
jmp	loc_1032F6E
db 5 dup(0CCh)

loc_1032F6E:
mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 330h
push	edi
mov	[ebp-228h], eax
mov	[ebp-22Ch], ecx
mov	[ebp-230h], edx
mov	[ebp-234h], ebx
mov	[ebp-238h], esi
mov	[ebp-23Ch], edi
mov	word ptr [ebp-210h], ss
mov	word ptr [ebp-21Ch], cs
mov	word ptr [ebp-240h], ds
mov	word ptr [ebp-244h], es
mov	word ptr [ebp-248h], fs
mov	word ptr [ebp-24Ch], gs
pushf
pop	dword ptr [ebp-218h]
mov	dword ptr [ebp-2D8h], 10001h
mov	eax, [ebp+4]
mov	[ebp-220h], eax
lea	eax, [ebp+4]
mov	[ebp-214h], eax
lea	eax, [ebp+4]
mov	eax, [eax-4]
mov	[ebp-224h], eax
push	14h
pop	ecx
xor	eax, eax
lea	edi, [ebp-330h]
rep stosd
mov	dword ptr [ebp-330h], 0C0000409h
mov	eax, [ebp+4]
mov	[ebp-324h], eax
lea	eax, [ebp-330h]
mov	[ebp-8], eax
lea	eax, [ebp-2D8h]
mov	[ebp-4], eax
mov	eax, ___security_cookie
mov	[ebp-2E0h], eax
mov	eax, dword_103E6B8
mov	[ebp-2DCh], eax
push	0		; lpTopLevelExceptionFilter
call	ds:SetUnhandledExceptionFilter
lea	eax, [ebp-8]
push	eax		; ExceptionInfo
call	ds:UnhandledExceptionFilter
push	502h		; uExitCode
call	ds:GetCurrentProcess
push	eax		; hProcess
call	ds:TerminateProcess
pop	edi
leave
retn
sub_1032F53 endp

db 6 dup(0CCh)

loc_103306C:		; CWnd::OnNcDestroy(void)
jmp	ds:?OnNcDestroy@CWnd@@IAEXXZ
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CString::Empty(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CGdiObject::DeleteObject(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CStatusBar::CalcFixedLayout(int,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION AfxTryCleanup(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CStatusBar::SetPaneText(int,ushort const *,int). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::ShowWindow(int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::GetStyle(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)

loc_10330CC:		; CControlBar::OnSizeParent(uint,long)
jmp	ds:?OnSizeParent@CControlBar@@QAEJIJ@Z
align 8

loc_10330D8:		; CObject::GetRuntimeClass(void)
jmp	ds:?GetRuntimeClass@CObject@@UBEPAUCRuntimeClass@@XZ
db 6 dup(0CCh)

loc_10330E4:		; CGdiObject::GetRuntimeClass(void)
jmp	ds:?GetRuntimeClass@CGdiObject@@UBEPAUCRuntimeClass@@XZ
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CGdiObject::FromHandle(void *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)

loc_10330FC:		; CBitmap::GetRuntimeClass(void)
jmp	ds:?GetRuntimeClass@CBitmap@@UBEPAUCRuntimeClass@@XZ
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CGdiObject::Attach(void *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION AfxFindResourceHandle(ushort const *,ushort const	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h

loc_1033120:		; CRgn::GetRuntimeClass(void)
jmp	ds:?GetRuntimeClass@CRgn@@UBEPAUCRuntimeClass@@XZ
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::Attach(HDC__	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SelectGdiObject(HDC__ *,void	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CStatusBar::DrawItem(tagDRAWITEMSTRUCT *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::SetStatusText(int). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CStatusBar::OnBarStyleChange(ulong,ulong). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::IsDockBar(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::RecalcDelayShow(AFX_SIZEPARENTPARAMS	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::IsVisible(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::DelayShow(int). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CStatusBar::OnUpdateCmdUI(CFrameWnd *,int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::CalcDynamicLayout(int,ulong). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::IsFrameWnd(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::CheckAutoCenter(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CStatusBar::OnChildNotify(uint,uint,long,long *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::PostNcDestroy(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::DefWindowProcW(uint,uint,long). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::OnWndMsg(uint,uint,long,long *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::WindowProc(uint,uint,long). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::OnAmbientProperty(COleControlSite *,long,tagVARIANT	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::PreTranslateMessage(tagMSG *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::GetSuperWndProcAddr(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::OnNotify(uint,long,long *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::OnCommand(uint,long). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::EndModalLoop(int). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::ContinueModal(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::WinHelpW(ulong,uint). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::GetScrollBarCtrl(int). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::OnToolHitTest(CPoint,tagTOOLINFOW *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::CalcWindowRect(tagRECT *,uint). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CStatusBar::PreCreateWindow(tagCREATESTRUCTW &). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::DestroyWindow(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::Create(ushort const	*,ushort const *,ulong,tagRECT const &,CWnd *,uint,CCreateContext *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::PreSubclassWindow(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::GetConnectionHook(_GUID const	&). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::GetExtraConnectionPoints(CPtrArray *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::GetInterfaceHook(void	const *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::OnCreateAggregates(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::GetEventSinkMap(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::GetInterfaceMap(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::GetConnectionMap(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::GetDispatchMap(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::GetCommandMap(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::GetTypeLib(ulong,ITypeLib * *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::GetTypeLibCache(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::GetTypeInfoCount(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::GetDispatchIID(_GUID *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::IsInvokeAllowed(long). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::OnFinalRelease(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CString::~CString(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CStatusBar::~CStatusBar(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CString::CString(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CStatusBar::CStatusBar(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::~CDC(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CDC::DeleteDC(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SelectObject(CFont *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDC::CDC(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CStatusBar::CalcInsideRect(CRect &,int). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::OnSysColorChange(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CString::LoadStringW(uint). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION operator delete(void *). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CClientDC::~CClientDC(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CStatusBar::SetPaneInfo(int,uint,uint,int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CStatusBar::GetPaneInfo(int,uint &,uint &,int &).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CClientDC::CClientDC(CWnd	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION AFX_EXCEPTION_LINK::AFX_EXCEPTION_LINK(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CStatusBar::SetIndicators(uint const *,int). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CStatusBar::Create(CWnd *,ulong,uint). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SelectClipRgn(CRgn *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CStatusBar::GetPaneText(int,CString &). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::DoPaint(CDC *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::ExcludeClipRect(tagRECT const *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CStatusBar::GetItemRect(int,tagRECT *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CObList::AddTail(CObject *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CObList::Find(CObject *,__POSITION *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CObList::RemoveAt(__POSITION *). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CString::CString(CString const &). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDocument::UpdateAllViews(CView *,long,CObject *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION operator new(uint). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CException::ReportError(uint,uint). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CFileException::GetErrorMessage(ushort *,uint,uint *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)

loc_1033504:		; CFileException::GetRuntimeClass(void)
jmp	ds:?GetRuntimeClass@CFileException@@UBEPAUCRuntimeClass@@XZ
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CString::operator=(ushort	const *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CException::CException(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION AfxGetModuleState(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)

loc_1033534:		; CBrush::GetRuntimeClass(void)
jmp	ds:?GetRuntimeClass@CBrush@@UBEPAUCRuntimeClass@@XZ
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::BeginWaitCursor(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::EndWaitCursor(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CObList::CObList(int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFile::~CFile(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CFile::Abort(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFile::Close(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CFile::Open(ushort const *,uint,CFileException *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFile::CFile(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SelectPalette(CPalette *,int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::Detach(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CGdiObject::Detach(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SetTextColor(ulong).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SetBkColor(ulong). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CBrush::CBrush(ulong). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDC::FromHandle(HDC__ *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CObList::~CObList(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CFile::GetStatus(ushort const *,CFileStatus &). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CString::CString(ushort const *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION AfxGetThread(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::FromHandle(HWND__ *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CObject::IsKindOf(CRuntimeClass const *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::MessageBoxW(ushort const *,ushort const *,uint). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION AfxDlgProc(HWND__	*,uint,uint,long). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDialog::~CDialog(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::GetActiveView(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION AfxDynamicDownCast(CRuntimeClass *,CObject *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CColorDialog::DoModal(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CColorDialog::CColorDialog(ulong,ulong,CWnd *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CObList::RemoveHead(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CString::operator+=(ushort). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CString::ReleaseBuffer(int). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CString::GetBuffer(int). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CDialog::PreInitDialog(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)

loc_10336CC:		; CDialog::OnCancel(void)
jmp	ds:?OnCancel@CDialog@@MAEXXZ
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDialog::OnSetFont(CFont *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDialog::DoModal(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CDialog::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDialog::CheckAutoCenter(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::OnChildNotify(uint,uint,long,long *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::PostNcDestroy(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::WindowProc(uint,uint,long).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDialog::PreTranslateMessage(tagMSG *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::PreCreateWindow(tagCREATESTRUCTW &). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::DestroyWindow(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CDialog::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)

loc_103375C:		; CDialog::GetRuntimeClass(void)
jmp	ds:?GetRuntimeClass@CDialog@@UBEPAUCRuntimeClass@@XZ
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDialog::CDialog(uint,CWnd *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CString::GetBufferSetLength(int).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::UpdateData(int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::CheckRadioButton(int,int,int). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::SetDlgItemTextW(int,ushort const *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDialog::OnInitDialog(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h

loc_10337B0:		; CDialog::OnOK(void)
jmp	ds:?OnOK@CDialog@@MAEXXZ
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::GetCheckedRadioButton(int,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::EnableWindow(int). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::GetDlgItem(int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::IsDlgButtonChecked(int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CString::Find(ushort). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::SetWindowTextW(ushort const	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CString::Format(ushort const *,...). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::CheckDlgButton(int,uint). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CString::operator+=(CString const	&). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CString::operator+=(ushort const *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION DDV_MinMaxInt(CDataExchange *,int,int,int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION DDX_Text(CDataExchange *,int,int &). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CPaintDC::~CPaintDC(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CPaintDC::CPaintDC(CWnd *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION DDV_MaxChars(CDataExchange *,CString const &,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION DDX_Text(CDataExchange *,int,CString &). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SetStretchBltMode(int). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 8
jmp	ds:?OnWindowPosChanging@CControlBar@@QAEXPAUtagWINDOWPOS@@@Z ; CControlBar::OnWindowPosChanging(tagWINDOWPOS *)
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::Default(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SelectObject(CPen *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SelectStockObject(int). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SelectObject(CBrush *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::OnBarStyleChange(ulong,ulong). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::PreCreateWindow(tagCREATESTRUCTW &).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)

loc_10338DC:		; CControlBar::GetRuntimeClass(void)
jmp	ds:?GetRuntimeClass@CControlBar@@UBEPAUCRuntimeClass@@XZ
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::CControlBar(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::~CControlBar(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::OnLButtonDown(uint,CPoint). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)

loc_103390C:		; CPalette::GetRuntimeClass(void)
jmp	ds:?GetRuntimeClass@CPalette@@UBEPAUCRuntimeClass@@XZ
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::GetWindowTextLengthW(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::CopyToClipboard(int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION AfxThrowLastCleanup(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION AfxMessageBox(uint,uint,uint). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8

loc_1033948:		; CDialog::OnCtlColor(CDC *,CWnd *,uint)
jmp	ds:?OnCtlColor@CDialog@@IAEPAUHBRUSH__@@PAVCDC@@PAVCWnd@@I@Z
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::SetDlgItemInt(int,uint,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::SetFocus(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::GetDlgItemInt(int,int *,int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::OnMeasureItem(int,tagMEASUREITEMSTRUCT *). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::OnDrawItem(int,tagDRAWITEMSTRUCT *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CString::operator=(CString const &). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION operator+(CString	const &,CString	const &). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CFile::Remove(ushort const *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CString::Left(int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CString::ReverseFind(ushort). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CString::Right(int). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CString::CString(ushort,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CString::MakeUpper(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CFile::Rename(ushort const *,ushort const	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::NotifyAllItems(OLE_NOTIFICATION,ulong). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWindowDC::~CWindowDC(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWindowDC::CWindowDC(CWnd	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CDC::IntersectClipRect(tagRECT const *). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SetROP2(int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SetWindowOrg(int,int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::PreTranslateMessage(tagMSG *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::~CWnd(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CMenu::MeasureItem(tagMEASUREITEMSTRUCT *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CMenu::DrawItem(tagDRAWITEMSTRUCT	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)

loc_1033A74:		; CMenu::GetRuntimeClass(void)
jmp	ds:?GetRuntimeClass@CMenu@@UBEPAUCRuntimeClass@@XZ
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CMenu::DestroyMenu(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CMenu::FromHandle(HMENU__	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CMenu::Attach(HMENU__ *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::GetExStyle(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::CWnd(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION AfxRegisterWndClass(uint,HICON__ *,HBRUSH__ *,HICON__ *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::GetScrollInfo(int,tagSCROLLINFO *,uint). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::SetScrollInfo(int,tagSCROLLINFO *,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CMenu::TrackPopupMenu(uint,int,int,CWnd *,tagRECT	const *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::GetParentFrame(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::GetCurrentMessage(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
jmp	ds:?OnBarCheck@COleIPFrameWnd@@IAEHI@Z ; COleIPFrameWnd::OnBarCheck(uint)
align 10h
jmp	ds:?OnUpdateControlBarMenu@COleIPFrameWnd@@IAEXPAVCCmdUI@@@Z ; COleIPFrameWnd::OnUpdateControlBarMenu(CCmdUI *)
db 6 dup(0CCh)
jmp	ds:?OnContextHelp@COleIPFrameWnd@@IAEXXZ ; COleIPFrameWnd::OnContextHelp(void)
align 8

loc_1033B28:		; CFrameWnd::OnHelp(void)
jmp	ds:?OnHelp@CFrameWnd@@IAEXXZ
db 6 dup(0CCh)
jmp	ds:?OnHelpUsing@CWnd@@QAEXXZ ; CWnd::OnHelpUsing(void)
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleIPFrameWnd::OnRequestPositionChange(tagRECT const *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleIPFrameWnd::GetInPlaceMenu(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleIPFrameWnd::DestroySharedMenu(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleIPFrameWnd::BuildSharedMenu(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleIPFrameWnd::OnSetMessageString(uint,long). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleIPFrameWnd::OnCreateControlBars(CWnd *,CWnd *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::ExitHelpMode(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::DelayUpdateFrameMenu(HMENU__ *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::GetDefaultAccelerator(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::OnUpdateFrameMenu(HMENU__ *). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::OnUpdateFrameTitle(int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::OnCreateClient(tagCREATESTRUCTW *,CCreateContext *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::NegotiateBorderSpace(uint,tagRECT *). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::OnSetPreviewMode(int,CPrintPreviewState *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::ActivateFrame(int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleIPFrameWnd::RecalcLayout(int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::GetMessageString(uint,CString &). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::GetActiveFrame(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::GetActiveDocument(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleIPFrameWnd::LoadFrame(uint,ulong,CWnd	*,CCreateContext *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::IsFrameWnd(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::PostNcDestroy(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleIPFrameWnd::PreTranslateMessage(tagMSG *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::EndModalState(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::BeginModalState(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::OnCommand(uint,long). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::PreCreateWindow(tagCREATESTRUCTW &). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::OnCmdMsg(uint,int,void	*,AFX_CMDHANDLERINFO *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleIPFrameWnd::~COleIPFrameWnd(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleResizeBar::~COleResizeBar(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleDropTarget::~COleDropTarget(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)

loc_1033CB4:		; CFrameWnd::OnClose(void)
jmp	ds:?OnClose@CFrameWnd@@IAEXXZ
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::SaveBarState(ushort const *). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleDropTarget::Register(CWnd *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleResizeBar::Create(CWnd *,ulong,uint).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleIPFrameWnd::OnCreate(tagCREATESTRUCTW	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleIPFrameWnd::RepositionFrame(tagRECT const *,tagRECT const *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)

loc_1033CFC:		; COleIPFrameWnd::OnSize(uint,int,int)
jmp	ds:?OnSize@COleIPFrameWnd@@IAEXIHH@Z
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleDropTarget::COleDropTarget(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleResizeBar::COleResizeBar(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleIPFrameWnd::COleIPFrameWnd(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)

loc_1033D2C:		; CFrameWnd::OnNcActivate(int)
jmp	ds:?OnNcActivate@CFrameWnd@@IAEHH@Z
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::GetMessageBar(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::RecalcLayout(int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::LoadFrame(uint,ulong,CWnd *,CCreateContext *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::PreTranslateMessage(tagMSG *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::~CFrameWnd(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::CFrameWnd(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::Create(ushort const *,ushort const *,ulong,tagRECT const &,CWnd *,ushort const	*,ulong,CCreateContext *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::OnCreate(tagCREATESTRUCTW *). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::OnSysCommand(uint,long). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
jmp	ds:?OnUpdateFileSendMail@CDocument@@IAEXPAVCCmdUI@@@Z ;	CDocument::OnUpdateFileSendMail(CCmdUI *)
align 10h
jmp	ds:?OnFileSendMail@COleDocument@@IAEXXZ	; COleDocument::OnFileSendMail(void)
db 6 dup(0CCh)
jmp	ds:?OnFileSaveCopyAs@COleServerDoc@@IAEXXZ ; COleServerDoc::OnFileSaveCopyAs(void)
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnSaveEmbedding(IStorage *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnOpenEmbedding(IStorage *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnNewEmbedding(IStorage *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::GetFileTypeString(CString &). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnResizeBorder(tagRECT const *,IOleInPlaceUIWindow	*,int).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::DestroyInPlaceFrame(COleIPFrameWnd	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::CreateInPlaceFrame(CWnd *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnDocWindowActivate(int). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnFrameWindowActivate(int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnReactivateAndUndo(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnSetItemRects(tagRECT const *,tagRECT const *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnDeactivate(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnShowDocument(int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::GetDocObjectServer(IOleDocumentSite *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnExecOleCmd(_GUID	const *,ulong,ulong,tagVARIANT *,tagVARIANT *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnSetHostNames(ushort const *,ushort const	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnClose(tagOLECLOSE). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleLinkingDoc::RegisterIfServerAttached(ushort const *,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleLinkingDoc::OnFindEmbeddedItem(ushort	const *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleLinkingDoc::GetContainer(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::GetMoniker(tagOLEGETMONIKER). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleLinkingDoc::OnShowViews(int).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleDocument::GetPrimarySelectedItem(CView *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleDocument::UpdateModifiedFlag(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleDocument::RemoveItem(CDocItem	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleDocument::AddItem(CDocItem *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleDocument::GetNextItem(__POSITION * &). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleDocument::GetStartPosition(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleDocument::GetInPlaceActiveItem(CWnd *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleDocument::OnIdle(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::GetDefaultAccelerator(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::GetDefaultMenu(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDocument::UpdateFrameCounts(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDocument::DoFileSave(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleDocument::PreCloseFrame(CFrameWnd *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnCloseDocument(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::DeleteContents(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDocument::OnChangedViewList(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CDocument::GetNextView(__POSITION	* &). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDocument::GetFirstViewPosition(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleDocument::SetPathName(ushort const *,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDocument::SetTitle(ushort const *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::GetInterfaceHook(void const *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDocument::OnFinalRelease(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleDocument::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::~COleServerDoc(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleLinkingDoc::ReportSaveLoadException(ushort const *,CException	*,int,uint). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::SaveModified(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDocument::OnFileSave(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnShowControlBars(CFrameWnd *,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::SetWindowPos(CWnd const *,int,int,int,int,uint). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnDeactivateUI(int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::SaveEmbedding(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)

loc_1034044:		; COleServerDoc::OnFileUpdate(void)
jmp	ds:?OnFileUpdate@COleServerDoc@@IAEXXZ
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CDocument::ReleaseFile(CFile *,int). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CString::FindOneOf(ushort	const *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnGetLinkedItem(ushort const *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION AfxThrowFileException(int,long,ushort const *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::ExternalQueryInterface(void const *,void * *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION AFX_MAINTAIN_STATE2::AFX_MAINTAIN_STATE2(AFX_MODULE_STATE	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::ExternalAddRef(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::ExternalRelease(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CArchive::Abort(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleDocument::CommitItems(int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleStreamFile::Abort(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleStreamFile::~COleStreamFile(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CArchive::~CArchive(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION AfxThrowOleException(long). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleStreamFile::Write(void const *,uint).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleStreamFile::Close(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CArchive::Close(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CArchive::CArchive(CFile *,uint,int,void *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleStreamFile::CreateStream(IStorage *,ushort const *,ulong,CFileException *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleStreamFile::COleStreamFile(IStream *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleStreamFile::OpenStream(IStorage *,ushort const *,ulong,CFileException	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleLinkingDoc::OnNewDocument(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleLinkingDoc::OnOpenDocument(ushort const *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::OnSaveDocument(ushort const *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::CanCloseFrame(CFrameWnd *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerDoc::COleServerDoc(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
jmp	ds:?OnBarCheck@CFrameWnd@@QAEHI@Z ; CFrameWnd::OnBarCheck(uint)
db 6 dup(0CCh)
jmp	ds:?OnUpdateControlBarMenu@CFrameWnd@@QAEXPAVCCmdUI@@@Z	; CFrameWnd::OnUpdateControlBarMenu(CCmdUI *)
align 10h
jmp	ds:?OnContextHelp@CFrameWnd@@QAEXXZ ; CFrameWnd::OnContextHelp(void)
db 6 dup(0CCh)
jmp	ds:?OnHelpIndex@CWnd@@QAEXXZ ; CWnd::OnHelpIndex(void)
align 8
; [00000006 BYTES: COLLAPSED FUNCTION AfxThrowResourceException(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION AfxRegisterClass(tagWNDCLASSW *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::GetWindowPlacement(tagWINDOWPLACEMENT *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::OnDestroy(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::OnPaletteChanged(CWnd *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)

loc_10341F4:		; CFrameWnd::OnQueryNewPalette(void)
jmp	ds:?OnQueryNewPalette@CFrameWnd@@IAEHXZ
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::OnDevModeChange(ushort *). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::OnEraseBkgnd(CDC *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::OnSize(uint,int,int). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::OnSetFocus(CWnd *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::OnWinIniChange(ushort const	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::SetWindowPlacement(tagWINDOWPLACEMENT const	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
jmp	ds:?OnFilePrintSetup@CWinApp@@IAEXXZ ; CWinApp::OnFilePrintSetup(void)
db 6 dup(0CCh)

loc_1034254:		; CFont::GetRuntimeClass(void)
jmp	ds:?GetRuntimeClass@CFont@@UBEPAUCRuntimeClass@@XZ
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleObjectFactory::~COleObjectFactory(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::OnDDECommand(ushort *). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::DoWaitCursor(int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::DoMessageBox(ushort const *,uint,uint). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::SaveAllModified(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::InitApplication(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::AddToRecentFileList(ushort const	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)

loc_10342B4:		; CWinThread::Delete(void)
jmp	ds:?Delete@CWinThread@@UAEXXZ
align 10h

loc_10342C0:		; CWinThread::GetMainWnd(void)
jmp	ds:?GetMainWnd@CWinThread@@UAEPAVCWnd@@XZ
db 6 dup(0CCh)

loc_10342CC:		; CWinThread::ProcessMessageFilter(int,tagMSG *)
jmp	ds:?ProcessMessageFilter@CWinThread@@UAEHHPAUtagMSG@@@Z
align 8

loc_10342D8:		; CWinApp::ProcessWndProcException(CException *,tagMSG const *)
jmp	ds:?ProcessWndProcException@CWinApp@@UAEJPAVCException@@PBUtagMSG@@@Z
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinThread::IsIdleMessage(tagMSG *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWinThread::PumpMessage(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinThread::PreTranslateMessage(tagMSG *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::Run(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::OnFinalRelease(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h

loc_1034320:		; CWinApp::GetRuntimeClass(void)
jmp	ds:?GetRuntimeClass@CWinApp@@UBEPAUCRuntimeClass@@XZ
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::~CWinApp(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8

loc_1034338:		; CWinApp::ExitInstance(void)
jmp	ds:?ExitInstance@CWinApp@@UAEHXZ
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::WinHelpW(ulong,uint). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION AfxMessageBox(ushort const *,uint,uint). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::OnFileNew(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleTemplateServer::COleTemplateServer(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::CWinApp(ushort const *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleObjectFactory::RegisterAll(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::DragAcceptFiles(int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::RunAutomated(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::RunEmbedded(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleTemplateServer::ConnectTemplate(_GUID	const &,CDocTemplate *,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::AddDocTemplate(CDocTemplate *). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDocTemplate::SetServerInfo(uint,uint,CRuntimeClass *,CRuntimeClass *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CSingleDocTemplate::CSingleDocTemplate(uint,CRuntimeClass	*,CRuntimeClass	*,CRuntimeClass	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION AfxOleInit(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::SetRegistryKey(uint). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION AfxFullPath(ushort *,ushort const	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION operator+(CString	const &,ushort const *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION operator+(ushort const *,CString const &). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::OnIdle(long). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::GetNextDocTemplate(__POSITION * &). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::GetFirstDocTemplatePosition(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CDialog::PostModal(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION AfxGetThreadState(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION AfxUnhookWindowCreate(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDialog::PreModal(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::SubclassWindow(HWND__ *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnEndPrintPreview(CDC *,CPrintInfo	*,tagPOINT,CPreviewView	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnUpdate(CView *,long,CObject *). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnActivateFrame(uint,CFrameWnd *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnDragScroll(ulong,CPoint). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnDropEx(COleDataObject *,ulong,ulong,CPoint). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnDrop(COleDataObject *,ulong,CPoint). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnDragLeave(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnDragOver(COleDataObject *,ulong,CPoint).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnDragEnter(COleDataObject	*,ulong,CPoint). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnScrollBy(CSize,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnScroll(uint,uint,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CView::IsSelected(CObject	const *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CView::PostNcDestroy(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CView::GetScrollBarCtrl(int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CView::CalcWindowRect(tagRECT *,uint). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CView::CView(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CView::PreCreateWindow(tagCREATESTRUCTW &). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnBeginPrinting(CDC *,CPrintInfo *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnPrint(CDC *,CPrintInfo *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnActivateView(int,CView *,CView *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnCmdMsg(uint,int,void *,AFX_CMDHANDLERINFO *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnFilePrint(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)

loc_1034584:		; CView::OnFilePrintPreview(void)
jmp	ds:?OnFilePrintPreview@CView@@IAEXXZ
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CView::~CView(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnPrepareDC(CDC *,CPrintInfo *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CView::OnCreate(tagCREATESTRUCTW *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)

loc_10345B4:		; CView::OnDestroy(void)
jmp	ds:?OnDestroy@CView@@IAEXXZ
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::MoveWindow(int,int,int,int,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::LoadBarState(ushort const *). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::DockControlBar(CControlBar *,uint,tagRECT const *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::EnableDocking(ulong). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CFrameWnd::EnableDocking(ulong). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CPrintDialog::AttachOnSetup(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CCommonDialog::OnCancel(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CCommonDialog::OnOK(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CPrintDialog::GetMessageMap(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CPrintDialog::CPrintDialog(int,ulong,CWnd	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CView::DoPreparePrinting(CPrintInfo *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CPrintDialog::CreatePrinterDC(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::DoPrintDialog(CPrintDialog *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::GetPrinterDeviceDefaults(tagPDW *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDC::GetClipBox(tagRECT *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::ScaleWindowExt(int,int,int,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SetWindowExt(int,int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::ScaleViewportExt(int,int,int,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SetViewportExt(int,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::OffsetViewportOrg(int,int). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SetViewportOrg(int,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SetMapMode(int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDC::RestoreDC(int). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SaveDC(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CDC::ReleaseOutputDC(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::ReleaseAttribDC(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SetOutputDC(HDC__ *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SetAttribDC(HDC__ *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::SelectPrinter(void *,void *,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CPageSetupDialog::DoModal(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CPageSetupDialog::CPageSetupDialog(ulong,CWnd *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::GetProfileStringW(ushort	const *,ushort const *,ushort const *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::GetProfileIntW(ushort const *,ushort const *,int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::LoadStdProfileSettings(uint). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::WriteProfileStringW(ushort const	*,ushort const *,ushort	const *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWinApp::WriteProfileInt(ushort const *,ushort const *,int). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnSaveEmbedding(IStorage *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::GetMetafileData(tagFORMATETC *,tagSTGMEDIUM *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnSetData(tagFORMATETC *,tagSTGMEDIUM *,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnRenderData(tagFORMATETC	*,tagSTGMEDIUM *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnInitFromData(COleDataObject *,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnUpdateItems(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnQueryUpdateItems(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnGetClipboardData(int,tagPOINT *,tagSIZE	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnSetColorScheme(tagLOGPALETTE const *). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnDoVerb(long). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnDrawEx(CDC *,tagDVASPECT,CSize &). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnUpdate(COleServerItem *,long,CObject *,tagDVASPECT). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::IsBlank(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::GetInterfaceMap(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::GetMessageMap(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnFinalRelease(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::~COleServerItem(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnShow(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnHide(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleDataSource::DelayRenderData(ushort,tagFORMATETC *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleDataSource::DelayRenderFileData(ushort,tagFORMATETC *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::COleServerItem(COleServerDoc *,int). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDC::DPtoHIMETRIC(tagSIZE	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnGetExtent(tagDVASPECT,CSize &).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnSetExtent(tagDVASPECT,CSize const &). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnOpen(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::GetClipboardData(COleDataSource *,int,tagPOINT *,tagSIZE *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleDataSource::COleDataSource(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnRenderGlobalData(tagFORMATETC *,void * *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION COleServerItem::OnRenderFileData(tagFORMATETC *,CFile *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CEdit::~CEdit(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::SetBkMode(int). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::GetMessageMap(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)

loc_10348FC:		; CEdit::GetRuntimeClass(void)
jmp	ds:?GetRuntimeClass@CEdit@@UBEPAUCRuntimeClass@@XZ
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::GetWindowTextW(CString &). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CEdit::Create(ulong,tagRECT const	&,CWnd *,uint).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CToolBar::SetButtonInfo(int,uint,uint,int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CToolBar::GetItemRect(int,tagRECT	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CToolBar::OnBarStyleChange(ulong,ulong). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CToolBar::OnUpdateCmdUI(CFrameWnd	*,int).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CToolBar::CalcDynamicLayout(int,ulong). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CToolBar::CalcFixedLayout(int,int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CToolBar::OnToolHitTest(CPoint,tagTOOLINFOW *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CToolBar::CToolBar(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CToolBar::~CToolBar(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDialogBar::OnUpdateCmdUI(CFrameWnd *,int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDialogBar::CalcFixedLayout(int,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDialogBar::SetOccDialogInfo(_AFX_OCC_DIALOG_INFO	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CDialogBar::~CDialogBar(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CComboBox::DeleteItem(tagDELETEITEMSTRUCT	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CComboBox::CompareItem(tagCOMPAREITEMSTRUCT *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CComboBox::MeasureItem(tagMEASUREITEMSTRUCT *). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CComboBox::DrawItem(tagDRAWITEMSTRUCT *).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CComboBox::OnChildNotify(uint,uint,long,long *). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8

loc_10349F8:		; CComboBox::GetRuntimeClass(void)
jmp	ds:?GetRuntimeClass@CComboBox@@UBEPAUCRuntimeClass@@XZ
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CComboBox::~CComboBox(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CToolBar::LoadBitmapW(ushort const *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDialogBar::Create(CWnd *,ushort const *,uint,uint). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CComboBox::GetLBText(int,CString &). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CToolBar::SetButtons(uint	const *,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CToolBar::Create(CWnd *,ulong,uint). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDialogBar::CDialogBar(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION AfxThrowNotSupportedException(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::Detach(void). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CWnd::Attach(HWND__ *). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CObArray::SetAtGrow(int,CObject *). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 8

loc_1034A88:		; CControlBar::OnDestroy(void)
jmp	ds:?OnDestroy@CControlBar@@QAEXXZ
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CControlBar::CalcFixedLayout(int,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CObArray::CObArray(void).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CDC::LineTo(int,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CDC::MoveTo(int,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CObArray::SetSize(int,int). PRESS	KEYPAD CTRL-"+"	TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION AfxThrowMemoryException(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CObArray::~CObArray(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CByteArray::Serialize(CArchive &). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)

loc_1034AF4:		; CByteArray::GetRuntimeClass(void)
jmp	ds:?GetRuntimeClass@CByteArray@@UBEPAUCRuntimeClass@@XZ
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CByteArray::~CByteArray(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CByteArray::SetSize(int,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CByteArray::CByteArray(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CByteArray::InsertAt(int,uchar,int). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CObList::FindIndex(int). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CObList::AddHead(CObject *). PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CObList::InsertAfter(__POSITION *,CObject	*). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFile::Read(void *,uint).	PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CFile::GetLength(void). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION AfxW2AHelper(char	*,ushort const *,int). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CFile::Write(void	const *,uint). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CFile::SetLength(ulong). PRESS KEYPAD CTRL-"+" TO	EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION CProgressCtrl::~CProgressCtrl(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)

loc_1034B9C:		; CProgressCtrl::GetRuntimeClass(void)
jmp	ds:?GetRuntimeClass@CProgressCtrl@@UBEPAUCRuntimeClass@@XZ
align 8
; [00000006 BYTES: COLLAPSED FUNCTION CCmdTarget::RestoreWaitCursor(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION CProgressCtrl::Create(ulong,tagRECT const	&,CWnd *,uint).	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 5 dup(0CCh)
assume fs:nothing, gs:nothing


; Attributes: bp-based frame

public start
start proc near

StartupInfo= _STARTUPINFOW ptr -80h
var_3C=	dword ptr -3Ch
var_38=	dword ptr -38h
var_34=	byte ptr -34h
var_30=	byte ptr -30h
var_2C=	byte ptr -2Ch
Code= dword ptr	-28h
var_24=	dword ptr -24h
var_20=	dword ptr -20h
var_1C=	dword ptr -1Ch
ms_exc=	CPPEH_RECORD ptr -18h

push	70h
push	offset stru_1007400
call	__SEH_prolog
xor	edi, edi
push	edi		; lpModuleName
call	ds:GetModuleHandleA
cmp	word ptr [eax],	5A4Dh
jnz	short loc_1034BFA
mov	ecx, [eax+3Ch]
add	ecx, eax
cmp	dword ptr [ecx], 4550h
jnz	short loc_1034BFA
movzx	eax, word ptr [ecx+18h]
cmp	eax, 10Bh
jz	short loc_1034C12
cmp	eax, 20Bh
jz	short loc_1034BFF

loc_1034BFA:
mov	[ebp+var_1C], edi
jmp	short loc_1034C26

loc_1034BFF:
cmp	dword ptr [ecx+84h], 0Eh
jbe	short loc_1034BFA
xor	eax, eax
cmp	[ecx+0F8h], edi
jmp	short loc_1034C20

loc_1034C12:
cmp	dword ptr [ecx+74h], 0Eh
jbe	short loc_1034BFA
xor	eax, eax
cmp	[ecx+0E8h], edi

loc_1034C20:
setnz	al
mov	[ebp+var_1C], eax

loc_1034C26:
mov	[ebp+ms_exc.registration.TryLevel], edi
push	2
pop	ebx
push	ebx
call	ds:__set_app_type
pop	ecx
or	dword_103F47C, 0FFFFFFFFh
or	dword_103F480, 0FFFFFFFFh
call	ds:__p__fmode
mov	ecx, dword_103F44C
mov	[eax], ecx
call	ds:__p__commode
mov	ecx, dword_103F448
mov	[eax], ecx
mov	eax, ds:_adjust_fdiv
mov	eax, [eax]
mov	dword_103F478, eax
call	sub_10350B0
cmp	dword_103E6C0, edi
jnz	short loc_1034C83
push	offset sub_10350B0
call	ds:__setusermatherr
pop	ecx

loc_1034C83:
call	sub_1035099
push	offset unk_103D0A8
push	offset unk_103D0A4
call	_initterm
mov	eax, dword_103F444
mov	[ebp+var_24], eax
lea	eax, [ebp+var_24]
push	eax
push	dword_103F440
lea	eax, [ebp+var_2C]
push	eax
lea	eax, [ebp+var_30]
push	eax
lea	eax, [ebp+var_34]
push	eax
call	ds:__wgetmainargs
mov	[ebp+var_38], eax
push	offset unk_103D0A0
push	offset unk_103D000
call	_initterm
add	esp, 24h
mov	eax, ds:_wcmdln
mov	esi, [eax]
cmp	esi, edi
jnz	short loc_1034CE9
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
mov	eax, 0FFh
jmp	loc_1034DA3

loc_1034CE9:
mov	[ebp+var_20], esi
cmp	word ptr [esi],	22h
jnz	short loc_1034D37

loc_1034CF2:
add	esi, ebx
mov	[ebp+var_20], esi
mov	ax, [esi]
cmp	ax, di
jz	short loc_1034D05
cmp	ax, 22h
jnz	short loc_1034CF2

loc_1034D05:
cmp	word ptr [esi],	22h
jnz	short loc_1034D10

loc_1034D0B:
add	esi, ebx
mov	[ebp+var_20], esi

loc_1034D10:
mov	ax, [esi]
cmp	ax, di
jz	short loc_1034D1E
cmp	ax, 20h
jbe	short loc_1034D0B

loc_1034D1E:
mov	[ebp+StartupInfo.dwFlags], edi
lea	eax, [ebp+StartupInfo]
push	eax		; lpStartupInfo
call	ds:GetStartupInfoW
test	byte ptr [ebp+StartupInfo.dwFlags], 1
jz	short loc_1034D44
movzx	eax, [ebp+StartupInfo.wShowWindow]
jmp	short loc_1034D47

loc_1034D37:
cmp	word ptr [esi],	20h
jbe	short loc_1034D10
add	esi, ebx
mov	[ebp+var_20], esi
jmp	short loc_1034D37

loc_1034D44:
push	0Ah
pop	eax

loc_1034D47:		; int
push	eax
push	esi		; unsigned __int16 *
push	edi		; HINSTANCE
push	edi		; lpModuleName
call	ds:GetModuleHandleA
push	eax		; HINSTANCE
call	j_?AfxWinMain@@YGHPAUHINSTANCE__@@0PAGH@Z ; AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,ushort *,int)
mov	esi, eax
mov	[ebp+var_3C], esi
cmp	[ebp+var_1C], edi
jnz	short loc_1034D68
push	esi		; Code
call	ds:exit

loc_1034D68:
call	ds:_cexit
jmp	short loc_1034D9D

loc_1034D70:		; Exception filter 0 for function 1034BBF
mov	eax, [ebp+ms_exc.exc_ptr]
mov	ecx, [eax]
mov	ecx, [ecx]
mov	[ebp+Code], ecx
push	eax
push	ecx
call	_XcptFilter
pop	ecx
pop	ecx
retn

loc_1034D84:		; Exception handler 0 for function 1034BBF
mov	esp, [ebp+ms_exc.old_esp]
mov	esi, [ebp+Code]
cmp	[ebp+var_1C], 0
jnz	short loc_1034D97
push	esi		; Code
call	ds:_exit

loc_1034D97:
call	ds:_c_exit

loc_1034D9D:
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
mov	eax, esi

loc_1034DA3:
call	__SEH_epilog
retn
start endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __thiscall sub_1034DAE(void *, char)
sub_1034DAE proc near

arg_0= byte ptr	 8

mov	edi, edi
push	ebp
mov	ebp, esp
test	[ebp+arg_0], 2
push	edi
mov	edi, ecx
jz	short loc_1034DE1
push	esi
push	offset ??1type_info@@UAE@XZ ; type_info::~type_info(void)
lea	esi, [edi-4]
push	dword ptr [esi]
push	0Ch
push	edi
call	sub_1034F5F
test	[ebp+arg_0], 1
jz	short loc_1034DDC
push	esi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1034DDC:
mov	eax, esi
pop	esi
jmp	short loc_1034DF7

loc_1034DE1:
mov	ecx, edi
call	??1type_info@@UAE@XZ ; type_info::~type_info(void)
test	[ebp+arg_0], 1
jz	short loc_1034DF5
push	edi		; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx

loc_1034DF5:
mov	eax, edi

loc_1034DF7:
pop	edi
pop	ebp
retn	4
sub_1034DAE endp

db 6 dup(0CCh)

loc_1034E02:
jmp	ds:__CxxFrameHandler
db 8 dup(0CCh)
dd 2 dup(0)



sub_1034E18 proc near
push	0FFFFFFFFh
push	eax
mov	eax, large fs:0
push	eax
mov	eax, [esp+0Ch]
mov	large fs:0, esp
mov	[esp+0Ch], ebp
lea	ebp, [esp+0Ch]
push	eax
retn
sub_1034E18 endp ; sp-analysis failed

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1034E3C proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
cmp	dword_103F480, 0FFFFFFFFh
jnz	short loc_1034E51
pop	ebp
jmp	ds:_onexit

loc_1034E51:
push	offset dword_103F47C
push	offset dword_103F480
push	[ebp+arg_0]
call	__dllonexit
add	esp, 0Ch
pop	ebp
retn
sub_1034E3C endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1034E6D proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	[ebp+arg_0]
call	sub_1034E3C
neg	eax
sbb	eax, eax
neg	eax
pop	ecx
dec	eax
pop	ebp
retn
sub_1034E6D endp

db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION _CxxThrowException. PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1034E95 proc near

var_20=	dword ptr -20h
var_1C=	dword ptr -1Ch
ms_exc=	CPPEH_RECORD ptr -18h
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h
arg_10=	dword ptr  18h

push	10h
push	offset stru_1007410
call	__SEH_prolog
xor	eax, eax
mov	[ebp+var_20], eax
mov	[ebp+ms_exc.registration.TryLevel], eax
mov	[ebp+var_1C], eax

loc_1034EAC:
mov	eax, [ebp+var_1C]
cmp	eax, [ebp+arg_8]
jge	short loc_1034EC7
mov	esi, [ebp+arg_0]
mov	ecx, esi
call	[ebp+arg_C]
add	esi, [ebp+arg_4]
mov	[ebp+arg_0], esi
inc	[ebp+var_1C]
jmp	short loc_1034EAC

loc_1034EC7:
mov	[ebp+var_20], 1
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
call	loc_1034EDF	; Finally handler 0 for	function 1034E95

loc_1034ED7:
call	__SEH_epilog
retn	14h

loc_1034EDF:		; Finally handler 0 for	function 1034E95
cmp	[ebp+var_20], 0
jnz	short loc_1034EF6
push	[ebp+arg_10]
push	[ebp+var_1C]
push	[ebp+arg_4]
push	[ebp+arg_0]
call	sub_1034EFC

loc_1034EF6:
retn
sub_1034E95 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1034EFC proc near

ms_exc=	CPPEH_RECORD ptr -18h
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

; FUNCTION CHUNK AT 01034F4F SIZE 00000005 BYTES

push	14h
push	offset stru_1007420
call	__SEH_prolog
and	[ebp+ms_exc.registration.TryLevel], 0

loc_1034F0C:
dec	[ebp+arg_8]
js	short loc_1034F1F
mov	ecx, [ebp+arg_0]
sub	ecx, [ebp+arg_4]
mov	[ebp+arg_0], ecx
call	[ebp+arg_C]
jmp	short loc_1034F0C

loc_1034F1F:
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
call	__SEH_epilog
retn	10h
sub_1034EFC endp


loc_1034F2B:		; Exception filter 0 for function 1034EFC
mov	eax, [ebp-14h]
mov	[ebp-1Ch], eax
mov	eax, [ebp-1Ch]
mov	eax, [eax]
mov	[ebp-20h], eax
mov	eax, [ebp-20h]
cmp	dword ptr [eax], 0E06D7363h
jz	short loc_1034F54
mov	dword ptr [ebp-24h], 0
mov	eax, [ebp-24h]
retn
; START	OF FUNCTION CHUNK FOR sub_1034EFC

loc_1034F4F:		; Exception handler 0 for function 1034EFC
mov	esp, [ebp+ms_exc.old_esp]
jmp	short loc_1034F1F
; END OF FUNCTION CHUNK	FOR sub_1034EFC

loc_1034F54:		; terminate(void)
call	?terminate@@YAXXZ
db 6 dup(0CCh)


; Attributes: bp-based frame

sub_1034F5F proc near

var_1C=	dword ptr -1Ch
ms_exc=	CPPEH_RECORD ptr -18h
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

push	0Ch
push	offset stru_1007430
call	__SEH_prolog
and	[ebp+var_1C], 0
mov	esi, [ebp+arg_4]
mov	eax, esi
imul	eax, [ebp+arg_8]
add	[ebp+arg_0], eax
and	[ebp+ms_exc.registration.TryLevel], 0

loc_1034F7F:
dec	[ebp+arg_8]
js	short loc_1034F8F
sub	[ebp+arg_0], esi
mov	ecx, [ebp+arg_0]
call	[ebp+arg_C]
jmp	short loc_1034F7F

loc_1034F8F:
mov	[ebp+var_1C], 1
or	[ebp+ms_exc.registration.TryLevel], 0FFFFFFFFh
call	loc_1034FA7	; Finally handler 0 for	function 1034F5F

loc_1034F9F:
call	__SEH_epilog
retn	10h

loc_1034FA7:		; Finally handler 0 for	function 1034F5F
cmp	[ebp+var_1C], 0
jnz	short loc_1034FBE
push	[ebp+arg_C]
push	[ebp+arg_8]
push	[ebp+arg_4]
push	[ebp+arg_0]
call	sub_1034EFC

loc_1034FBE:
retn
sub_1034F5F endp

db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION _purecall. PRESS KEYPAD CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION _ftol. PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [0000003B BYTES: COLLAPSED FUNCTION __SEH_prolog. PRESS KEYPAD CTRL-"+" TO EXPAND]
; [00000011 BYTES: COLLAPSED FUNCTION __SEH_epilog. PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)

loc_103502E:
jmp	ds:_except_handler3
align 10h



sub_1035040 proc near

arg_0= byte ptr	 4

cmp	eax, 1000h
jnb	short loc_1035055
neg	eax
add	eax, esp
add	eax, 4
test	[eax], eax
xchg	eax, esp
mov	eax, [eax]
push	eax
retn

loc_1035055:
push	ecx
lea	ecx, [esp+4+arg_0]

loc_103505A:
sub	ecx, 1000h
sub	eax, 1000h
test	[ecx], eax
cmp	eax, 1000h
jnb	short loc_103505A
sub	ecx, eax
mov	eax, esp
test	[ecx], eax
mov	esp, ecx
mov	ecx, [eax]
mov	eax, [eax+4]
push	eax
retn
sub_1035040 endp ; sp-analysis failed

db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION _XcptFilter. PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION _initterm. PRESS KEYPAD CTRL-"+" TO EXPAND]
db 5 dup(0CCh)



sub_1035099 proc near
push	30000h		; Mask
push	10000h		; NewValue
call	_controlfp
pop	ecx
pop	ecx
retn
sub_1035099 endp

align 10h



sub_10350B0 proc near
xor	eax, eax
retn
sub_10350B0 endp

align 8
; [00000006 BYTES: COLLAPSED FUNCTION type_info::~type_info(void). PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION __dllonexit. PRESS KEYPAD	CTRL-"+" TO EXPAND]
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION terminate(void). PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION _controlfp. PRESS	KEYPAD CTRL-"+"	TO EXPAND]
db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10350E7(LPBYTE lpData)
sub_10350E7 proc near

cbData=	dword ptr -8
hKey= dword ptr	-4
lpData=	dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
push	ecx
push	ecx
push	esi
lea	eax, [ebp+hKey]
push	eax		; phkResult
push	20019h		; samDesired
xor	esi, esi
push	esi		; ulOptions
push	offset aClsidAdb880a6D ; "CLSID\\{ADB880A6-D8FF-11CF-9377-00AA003"...
push	80000000h	; hKey
call	ds:RegOpenKeyExA
test	eax, eax
jnz	short loc_103513F
lea	eax, [ebp+cbData]
push	eax		; lpcbData
push	[ebp+lpData]	; lpData
mov	[ebp+cbData], 104h
push	esi		; lpType
push	esi		; lpReserved
push	offset byte_10074B4 ; lpValueName
push	[ebp+hKey]	; hKey
call	ds:RegQueryValueExA
test	eax, eax
jnz	short loc_1035132
inc	esi

loc_1035132:		; hKey
push	[ebp+hKey]
call	ds:RegCloseKey
mov	eax, esi
jmp	short loc_1035141

loc_103513F:
xor	eax, eax

loc_1035141:
pop	esi
leave
retn	4
sub_10350E7 endp

db 5 dup(0CCh)


; Attributes: bp-based frame

sub_103514B proc near

Data= byte ptr -108h
var_4= dword ptr -4
arg_0= dword ptr  8
arg_4= dword ptr  0Ch
arg_8= dword ptr  10h
arg_C= dword ptr  14h

mov	edi, edi
push	ebp
mov	ebp, esp
sub	esp, 108h
mov	ecx, dword_103F45C
test	ecx, ecx
mov	eax, ___security_cookie
push	ebx
mov	ebx, [ebp+arg_4]
push	esi
push	edi
mov	edi, [ebp+arg_0]
mov	[ebp+var_4], eax
jnz	short loc_10351BA
cmp	dword_103F458, ecx
jnz	short loc_10351BA
lea	eax, [ebp+Data]
push	eax		; lpData
call	sub_10350E7
test	eax, eax
mov	esi, ds:LoadLibraryA
jz	short loc_103519D
lea	eax, [ebp+Data]
push	eax		; lpLibFileName
call	esi ; LoadLibraryA
mov	dword_103F45C, eax

loc_103519D:
mov	ecx, dword_103F45C
test	ecx, ecx
jnz	short loc_10351BA
push	offset dword_100746C ; lpLibFileName
call	esi ; LoadLibraryA
mov	ecx, eax
test	ecx, ecx
mov	dword_103F45C, ecx
jz	short loc_10351D5

loc_10351BA:
mov	eax, dword_103F450
test	eax, eax
jnz	short loc_10351E3
push	0Eh		; lpProcName
push	ecx		; hModule
call	ds:GetProcAddress
test	eax, eax
mov	dword_103F450, eax
jnz	short loc_10351E3

loc_10351D5:
mov	dword_103F458, 1
xor	eax, eax
jmp	short loc_10351ED

loc_10351E3:
push	[ebp+arg_C]
push	[ebp+arg_8]
push	ebx
push	edi
call	eax ; dword_103F450

loc_10351ED:
mov	ecx, [ebp+var_4]
pop	edi
pop	esi
pop	ebx
call	sub_1032F53
leave
retn	10h
sub_103514B endp

db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION ImmAssociateContext. PRESS KEYPAD	CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION ImmReleaseContext. PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION ImmSetCompositionWindow. PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION ImmGetContext. PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION ImmGetCompositionWindow. PRESS KEYPAD CTRL-"+" TO	EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION ImmGetCompositionStringW.	PRESS KEYPAD CTRL-"+" TO EXPAND]
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION ImmNotifyIME. PRESS KEYPAD CTRL-"+" TO EXPAND]
mov	eax, offset __imp_GdiplusShutdown
jmp	$+5

loc_103525A:
push	ecx
push	edx
push	eax
push	offset gdiplus_dll_import_table
call	sub_10354C6
pop	edx
pop	ecx
jmp	eax
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION GdiplusShutdown. PRESS KEYPAD CTRL-"+" TO	EXPAND]
mov	eax, offset __imp_GdiplusStartup
jmp	loc_103525A
db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION GdiplusStartup. PRESS KEYPAD CTRL-"+" TO EXPAND]
mov	eax, offset __imp_GdipDisposeImage
jmp	loc_103525A
db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION GdipDisposeImage.	PRESS KEYPAD CTRL-"+" TO EXPAND]
mov	eax, offset __imp_GdipSaveImageToStream
jmp	loc_103525A
db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION GdipSaveImageToStream. PRESS KEYPAD CTRL-"+" TO EXPAND]
mov	eax, offset __imp_GdipGetImageRawFormat
jmp	loc_103525A
db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION GdipGetImageRawFormat. PRESS KEYPAD CTRL-"+" TO EXPAND]
mov	eax, offset __imp_GdipGetPropertySize
jmp	loc_103525A
db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION GdipGetPropertySize. PRESS KEYPAD	CTRL-"+" TO EXPAND]
mov	eax, offset __imp_GdipGetAllPropertyItems
jmp	loc_103525A
db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION GdipGetAllPropertyItems. PRESS KEYPAD CTRL-"+" TO	EXPAND]
mov	eax, offset __imp_GdipCreateBitmapFromFile
jmp	loc_103525A
db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION GdipCreateBitmapFromFile.	PRESS KEYPAD CTRL-"+" TO EXPAND]
mov	eax, offset __imp_GdipCreateBitmapFromFileICM
jmp	loc_103525A
align 8
; [00000006 BYTES: COLLAPSED FUNCTION GdipCreateBitmapFromFileICM. PRESS KEYPAD	CTRL-"+" TO EXPAND]
mov	eax, offset __imp_GdipGetImageDecodersSize
jmp	loc_103525A
db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION GdipGetImageDecodersSize.	PRESS KEYPAD CTRL-"+" TO EXPAND]
mov	eax, offset __imp_GdipGetImageDecoders
jmp	loc_103525A
db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION GdipGetImageDecoders. PRESS KEYPAD CTRL-"+" TO EXPAND]
mov	eax, offset __imp_GdipGetImageEncodersSize
jmp	loc_103525A
db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION GdipGetImageEncodersSize.	PRESS KEYPAD CTRL-"+" TO EXPAND]
mov	eax, offset __imp_GdipGetImageEncoders
jmp	loc_103525A
db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION GdipGetImageEncoders. PRESS KEYPAD CTRL-"+" TO EXPAND]
mov	eax, offset __imp_GdipFree
jmp	loc_103525A
db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION GdipFree.	PRESS KEYPAD CTRL-"+" TO EXPAND]
mov	eax, offset __imp_GdipAlloc
jmp	loc_103525A
db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION GdipAlloc. PRESS KEYPAD CTRL-"+" TO EXPAND]
mov	eax, offset __imp_GdipCloneImage
jmp	loc_103525A
db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION GdipCloneImage. PRESS KEYPAD CTRL-"+" TO EXPAND]
mov	eax, offset __imp_GdipSaveImageToFile
jmp	loc_103525A
align 10h
; [00000006 BYTES: COLLAPSED FUNCTION GdipSaveImageToFile. PRESS KEYPAD	CTRL-"+" TO EXPAND]
mov	eax, offset __imp_GdipSetPropertyItem
jmp	loc_103525A
db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION GdipSetPropertyItem. PRESS KEYPAD	CTRL-"+" TO EXPAND]
mov	eax, offset __imp_GdipCreateBitmapFromHBITMAP
jmp	loc_103525A
db 5 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION GdipCreateBitmapFromHBITMAP. PRESS KEYPAD	CTRL-"+" TO EXPAND]
mov	eax, offset OpenThemeData
jmp	$+5

loc_10353FA:
push	ecx
push	edx
push	eax
push	offset UxTheme_dll_import_table
call	sub_10354C6
pop	edx
pop	ecx
jmp	eax
mov	eax, offset CloseThemeData
jmp	loc_10353FA
mov	eax, offset DrawThemeBackground
jmp	loc_10353FA
db 5 dup(0CCh)


; Attributes: bp-based frame

sub_1035424 proc near

arg_0= dword ptr  8

mov	edi, edi
push	ebp
mov	ebp, esp
mov	eax, [ebp+arg_0]
push	esi
push	edi
mov	esi, ecx
push	58h		; unsigned int
mov	[esi], eax
call	??2@YAPAXI@Z	; operator new(uint)
mov	edi, eax
test	edi, edi
pop	ecx
mov	[esi+4], edi
jz	short loc_1035453
push	16h
xor	eax, eax
pop	ecx
rep stosd
mov	eax, [esi+4]
mov	dword ptr [eax], 58h

loc_1035453:
pop	edi
mov	eax, esi
pop	esi
pop	ebp
retn	4
sub_1035424 endp

align 10h



sub_1035460 proc near
push	dword ptr [ecx+4] ; void *
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx
retn
sub_1035460 endp

db 5 dup(0CCh)



sub_103546F proc near
mov	edi, edi
push	ebx
mov	ebx, ds:GetOpenFileNameW
push	esi
mov	esi, ecx
cmp	dword ptr [esi], 0
push	edi
mov	edi, ds:GetSaveFileNameW
push	dword ptr [esi+4] ; LPOPENFILENAMEW
jz	short loc_103548E
call	ebx ; GetOpenFileNameW
jmp	short loc_1035490

loc_103548E:
call	edi ; GetSaveFileNameW

loc_1035490:
test	eax, eax
jnz	short loc_10354BD
call	ds:CommDlgExtendedError
cmp	eax, 1
jnz	short loc_10354BA
mov	eax, [esi+4]
mov	dword ptr [eax], 4Ch
cmp	dword ptr [esi], 0
push	dword ptr [esi+4] ; LPOPENFILENAMEW
jz	short loc_10354B4
call	ebx ; GetOpenFileNameW
jmp	short loc_10354B6

loc_10354B4:
call	edi ; GetSaveFileNameW

loc_10354B6:
test	eax, eax
jnz	short loc_10354BD

loc_10354BA:
push	2
pop	eax

loc_10354BD:
pop	edi
pop	esi
pop	ebx
retn
sub_103546F endp

db 5 dup(0CCh)


; Attributes: bp-based frame

; int __stdcall	sub_10354C6(int, ULONG_PTR Arguments)
sub_10354C6 proc near

var_44=	dword ptr -44h
var_40=	dword ptr -40h
var_3C=	dword ptr -3Ch
lpLibFileName= dword ptr -38h
var_34=	dword ptr -34h
lpProcName= dword ptr -30h
var_2C=	dword ptr -2Ch
var_28=	dword ptr -28h
var_24=	dword ptr -24h
Target=	dword ptr -18h
var_C= dword ptr -0Ch
var_4= dword ptr -4
arg_0= dword ptr  8
Arguments= dword ptr  0Ch

push	ebp
mov	ebp, esp
sub	esp, 44h
push	ebx
mov	eax, offset __ImageBase
push	esi
mov	esi, [ebp+arg_0]
mov	edx, [esi+8]
mov	ecx, [esi+4]
mov	ebx, [esi+0Ch]
add	edx, eax
push	edi
mov	edi, [esi+14h]
add	edi, eax
add	ecx, eax
mov	[ebp+Target], edx
mov	edx, [esi+10h]
add	ebx, eax
add	edx, eax
mov	eax, [esi+1Ch]
mov	[ebp+var_4], eax
mov	eax, [ebp+Arguments]
mov	[ebp+lpLibFileName], ecx
xor	ecx, ecx
mov	[ebp+var_C], edi
mov	[ebp+var_3C], eax
xor	eax, eax
test	dword ptr [esi], 1
lea	edi, [ebp+lpProcName]
mov	[ebp+var_44], 24h
mov	[ebp+var_40], esi
mov	[ebp+var_34], ecx
stosd
mov	[ebp+var_2C], ecx
mov	[ebp+var_28], ecx
mov	[ebp+var_24], ecx
jnz	short loc_103554A
lea	eax, [ebp+var_44]
mov	[ebp+Arguments], eax
lea	eax, [ebp+Arguments]
push	eax		; lpArguments
push	1		; nNumberOfArguments
push	ecx		; dwExceptionFlags
push	0C06D0057h	; dwExceptionCode
call	ds:RaiseException
xor	eax, eax
jmp	loc_1035702

loc_103554A:
mov	eax, [ebp+Target]
mov	edi, [eax]
mov	eax, [ebp+Arguments]
sub	eax, ebx
sar	eax, 2
shl	eax, 2
add	edx, eax
mov	edx, [edx]
mov	[ebp+arg_0], eax
mov	eax, edx
shr	eax, 1Fh
not	eax
and	eax, 1
mov	[ebp+var_34], eax
jz	short loc_103557B
lea	eax, word_1000002[edx]
mov	[ebp+lpProcName], eax
jmp	short loc_1035584

loc_103557B:
and	edx, 0FFFFh
mov	[ebp+lpProcName], edx

loc_1035584:
mov	eax, dword_103F470
xor	ebx, ebx
cmp	eax, ecx
jz	short loc_10355A0
lea	edx, [ebp+var_44]
push	edx
push	ecx
call	eax ; dword_103F470
mov	ebx, eax
test	ebx, ebx
jnz	loc_10356E5

loc_10355A0:
test	edi, edi
jnz	loc_103564A
mov	eax, dword_103F470
test	eax, eax
jz	short loc_10355BF
lea	ecx, [ebp+var_44]
push	ecx
push	1
call	eax ; dword_103F470
mov	edi, eax
test	edi, edi
jnz	short loc_103560F

loc_10355BF:		; lpLibFileName
push	[ebp+lpLibFileName]
call	ds:LoadLibraryA
mov	edi, eax
test	edi, edi
jnz	short loc_103560F
call	ds:GetLastError
mov	[ebp+var_24], eax
mov	eax, dword_103F46C
test	eax, eax
jz	short loc_10355EE
lea	ecx, [ebp+var_44]
push	ecx
push	3
call	eax ; dword_103F46C
mov	edi, eax
test	edi, edi
jnz	short loc_103560F

loc_10355EE:
lea	eax, [ebp+var_44]
mov	[ebp+Arguments], eax
lea	eax, [ebp+Arguments]
push	eax		; lpArguments
push	1		; nNumberOfArguments
push	0		; dwExceptionFlags
push	0C06D007Eh	; dwExceptionCode
call	ds:RaiseException
mov	eax, [ebp+var_28]
jmp	loc_1035702

loc_103560F:		; Value
push	edi
push	[ebp+Target]	; Target
call	ds:InterlockedExchange
cmp	eax, edi
jz	short loc_1035643
cmp	dword ptr [esi+18h], 0
jz	short loc_103564A
push	8		; uBytes
push	40h		; uFlags
call	ds:LocalAlloc
test	eax, eax
jz	short loc_103564A
mov	[eax+4], esi
mov	ecx, dword_103F468
mov	[eax], ecx
mov	dword_103F468, eax
jmp	short loc_103564A

loc_1035643:		; hLibModule
push	edi
call	ds:FreeLibrary

loc_103564A:
mov	eax, dword_103F470
test	eax, eax
mov	[ebp+var_2C], edi
jz	short loc_1035660
lea	ecx, [ebp+var_44]
push	ecx
push	2
call	eax ; dword_103F470
mov	ebx, eax

loc_1035660:
test	ebx, ebx
jnz	short loc_10356E0
cmp	[esi+14h], ebx
jz	short loc_1035695
cmp	[esi+1Ch], ebx
jz	short loc_1035695
mov	eax, [edi+3Ch]
add	eax, edi
cmp	dword ptr [eax], 4550h
jnz	short loc_1035695
mov	ecx, [ebp+var_4]
cmp	[eax+8], ecx
jnz	short loc_1035695
cmp	edi, [eax+34h]
jnz	short loc_1035695
mov	eax, [ebp+var_C]
mov	ecx, [ebp+arg_0]
mov	ebx, [ecx+eax]
test	ebx, ebx
jnz	short loc_10356E0

loc_1035695:		; lpProcName
push	[ebp+lpProcName]
push	edi		; hModule
call	ds:GetProcAddress
mov	ebx, eax
test	ebx, ebx
jnz	short loc_10356E0
call	ds:GetLastError
mov	[ebp+var_24], eax
mov	eax, dword_103F46C
test	eax, eax
jz	short loc_10356C1
lea	ecx, [ebp+var_44]
push	ecx
push	4
call	eax ; dword_103F46C
mov	ebx, eax

loc_10356C1:
test	ebx, ebx
jnz	short loc_10356E0
lea	eax, [ebp+var_44]
mov	[ebp+arg_0], eax
lea	eax, [ebp+arg_0]
push	eax		; lpArguments
push	1		; nNumberOfArguments
push	ebx		; dwExceptionFlags
push	0C06D007Fh	; dwExceptionCode
call	ds:RaiseException
mov	ebx, [ebp+var_28]

loc_10356E0:
mov	eax, [ebp+Arguments]
mov	[eax], ebx

loc_10356E5:
mov	eax, dword_103F470
test	eax, eax
jz	short loc_1035700
and	[ebp+var_24], 0
lea	ecx, [ebp+var_44]
push	ecx
push	5
mov	[ebp+var_2C], edi
mov	[ebp+var_28], ebx
call	eax ; dword_103F470

loc_1035700:
mov	eax, ebx

loc_1035702:
pop	edi
pop	esi
pop	ebx
leave
retn	8
sub_10354C6 endp

db 5 dup(0CCh)
; [00000005 BYTES: COLLAPSED FUNCTION AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,ushort *,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
align 8
call	?AfxGetModuleState@@YGPAVAFX_MODULE_STATE@@XZ ;	AfxGetModuleState(void)
mov	cl, [esp+4]
mov	[eax+14h], cl
mov	ecx, [esp+8]
mov	[eax+2040h], ecx
xor	eax, eax
inc	eax
retn	8
db 6 dup(0CCh)
; [00000006 BYTES: COLLAPSED FUNCTION AfxWinMain(HINSTANCE__ *,HINSTANCE__ *,ushort *,int). PRESS KEYPAD CTRL-"+" TO EXPAND]
db 5 dup(0CCh)

loc_1035745:
mov	ecx, [ebp-10h]
jmp	sub_1015CF2

loc_103574D:
mov	eax, offset stru_1037AD0
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103575C:
mov	ecx, [ebp-10h]
jmp	??1CStatusBar@@UAE@XZ ;	CStatusBar::~CStatusBar(void)

loc_1035764:
mov	ecx, [ebp-10h]
add	ecx, 80h
jmp	sub_1009708

loc_1035772:
mov	ecx, [ebp-10h]
add	ecx, 88h
jmp	sub_1009708

loc_1035780:
mov	ecx, [ebp-10h]
add	ecx, 90h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103578E:
mov	eax, offset stru_1037B0C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103579D:
lea	ecx, [ebp-28h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_10357A5:
mov	eax, offset stru_1037B30
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-28h]
jmp	loc_100962A
lea	ecx, [ebp-44h]
jmp	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_10357C4:
mov	eax, offset dword_1037B90
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10357D3:
lea	ecx, [ebp-18h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10357DB:
lea	ecx, [ebp-14h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10357E3:
lea	ecx, [ebp-48h]
jmp	sub_1009746

loc_10357EB:
lea	ecx, [ebp-40h]
jmp	sub_1009746

loc_10357F3:
lea	ecx, [ebp-78h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_10357FB:
mov	eax, offset stru_1037BD4
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103580A:
mov	ecx, [ebp-10h]
jmp	sub_1015CF2

loc_1035812:
mov	ecx, [ebp-10h]
add	ecx, 10h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103581D:
mov	eax, offset stru_1037C00
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103582C:
mov	ecx, [ebp-10h]
jmp	sub_1015CF2

loc_1035834:
mov	eax, offset stru_1037C24
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-34h]
jmp	??1CFile@@UAE@XZ ; CFile::~CFile(void)

loc_103584B:
lea	ecx, [ebp-48h]
jmp	sub_100AA5E
lea	ecx, [ebp-24h]
jmp	loc_100962A

loc_103585B:
mov	eax, offset dword_1037C8C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103586A:
lea	ecx, [ebp-34h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035872:
lea	ecx, [ebp-24h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_103587A:
lea	ecx, [ebp-44h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035882:
lea	ecx, [ebp-14h]
jmp	sub_1009708

loc_103588A:
mov	eax, offset stru_1037CC8
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035899:
lea	ecx, [ebp+0Ch]
jmp	loc_100ACD5

loc_10358A1:
mov	eax, offset stru_1037CEC
jmp	loc_1034E02
align 10h

loc_10358B0:
push	dword ptr [ebp-10h]
call	sub_100A9EB
retn

loc_10358B9:
mov	eax, offset stru_1037D10
jmp	loc_1034E02
align 8

loc_10358C8:
mov	ecx, [ebp-10h]
jmp	sub_1015CF2

loc_10358D0:
mov	ecx, [ebp-10h]
add	ecx, 40h
jmp	??1CObList@@UAE@XZ ; CObList::~CObList(void)

loc_10358DB:
mov	eax, offset stru_1037D3C
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-238h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10358F5:
lea	ecx, [ebp-234h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035900:
lea	ecx, [ebp-258h]
jmp	??1CFile@@UAE@XZ ; CFile::~CFile(void)
lea	ecx, [ebp-274h]
jmp	sub_100AA5E
lea	ecx, [ebp-248h]
jmp	sub_1011DD8
lea	ecx, [ebp-260h]
jmp	loc_100962A

loc_103592C:
mov	eax, offset dword_1037DBC
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103593B:
lea	ecx, [ebp-14h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035943:
lea	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103594B:
mov	eax, offset stru_1037DE8
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103595A:
mov	ecx, [ebp-10h]
jmp	sub_1015CF2

loc_1035962:
mov	eax, offset stru_1037E0C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035971:
lea	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035979:
mov	eax, offset stru_1037E30
jmp	loc_1034E02
align 8

loc_1035988:
lea	ecx, [ebp-94h]
jmp	j_??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)

loc_1035993:
mov	eax, offset stru_1037E54
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10359A2:
push	dword ptr [ebp-10h]
call	sub_100A9EB
retn

loc_10359AB:
mov	eax, offset stru_1037E78
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10359BA:
lea	ecx, [ebp-14h]
jmp	sub_1009708

loc_10359C2:
mov	eax, offset stru_1037E9C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10359D1:
mov	ecx, [ebp-10h]
jmp	??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)

loc_10359D9:
mov	ecx, [ebp-10h]
add	ecx, 60h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10359E4:
mov	ecx, [ebp-10h]
add	ecx, 64h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10359EF:
mov	eax, offset stru_1037ED0
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10359FE:
mov	ecx, [ebp-10h]
jmp	??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)

loc_1035A06:
mov	ecx, [ebp-10h]
add	ecx, 60h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035A11:
mov	eax, offset stru_1037EFC
jmp	loc_1034E02
align 10h

loc_1035A20:
lea	ecx, [ebp-50h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035A28:
lea	ecx, [ebp-4Ch]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035A30:
mov	eax, [ebp-58h]
and	eax, 1
jz	locret_1035A48
and	dword ptr [ebp-58h], 0FFFFFFFEh
mov	ecx, [ebp-54h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

locret_1035A48:
retn

loc_1035A49:
mov	eax, offset stru_1037F30
jmp	loc_1034E02
align 8

loc_1035A58:
lea	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035A60:
lea	ecx, [ebp-14h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035A68:
mov	eax, offset stru_1037F5C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035A77:
lea	ecx, [ebp-154h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035A82:
lea	ecx, [ebp-158h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035A8D:
lea	ecx, [ebp-174h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035A98:
lea	ecx, [ebp-15Ch]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035AA3:
lea	ecx, [ebp-160h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035AAE:
mov	eax, offset stru_1037FA0
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035ABD:
lea	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035AC5:
mov	eax, offset stru_1037FC4
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035AD4:
lea	ecx, [ebp-64h]
jmp	??1CPaintDC@@UAE@XZ ; CPaintDC::~CPaintDC(void)

loc_1035ADC:
mov	eax, offset stru_1037FE8
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035AEB:
lea	ecx, [ebp-90h]
jmp	j_??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)

loc_1035AF6:
mov	eax, offset stru_103800C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035B05:
mov	ecx, [ebp-10h]
jmp	sub_1009708

loc_1035B0D:
mov	eax, offset stru_1038030
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035B1C:
mov	ecx, [ebp-10h]
jmp	sub_1015CF2

loc_1035B24:
mov	ecx, [ebp-10h]
add	ecx, 4
jmp	sub_1009746

loc_1035B2F:
mov	ecx, [ebp-10h]
add	ecx, 0Ch
jmp	sub_1009746

loc_1035B3A:
mov	ecx, [ebp-10h]
add	ecx, 14h
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035B45:
mov	ecx, [ebp-10h]
add	ecx, 24h
jmp	sub_1009708

loc_1035B50:
mov	eax, offset stru_1038074
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035B5F:
mov	ecx, [ebp-10h]
jmp	sub_1015CF2

loc_1035B67:
mov	ecx, [ebp-10h]
add	ecx, 4
jmp	sub_1009746

loc_1035B72:
mov	ecx, [ebp-10h]
add	ecx, 0Ch
jmp	sub_1009746

loc_1035B7D:
mov	ecx, [ebp-10h]
add	ecx, 14h
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035B88:
mov	ecx, [ebp-10h]
add	ecx, 24h
jmp	sub_1009708

loc_1035B93:
mov	ecx, [ebp-10h]
add	ecx, 34h
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035B9E:
mov	ecx, [ebp-10h]
add	ecx, 44h
jmp	sub_1009708

loc_1035BA9:
mov	eax, offset stru_10380C8
jmp	loc_1034E02
align 8

loc_1035BB8:
lea	ecx, [ebp-3Ch]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035BC0:
lea	ecx, [ebp-2Ch]
jmp	sub_1009708

loc_1035BC8:
lea	ecx, [ebp-4Ch]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035BD0:
lea	ecx, [ebp-24h]
jmp	sub_1009708

loc_1035BD8:
mov	eax, offset stru_1038104
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035BE7:
lea	ecx, [ebp-30h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035BEF:
lea	ecx, [ebp-20h]
jmp	sub_100E829

loc_1035BF7:
mov	eax, offset stru_1038130
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035C06:
lea	ecx, [ebp-30h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035C0E:
lea	ecx, [ebp-20h]
jmp	sub_1009708

loc_1035C16:
lea	ecx, [ebp-18h]
jmp	sub_100AC04

loc_1035C1E:
mov	eax, offset stru_1038164
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035C2D:
lea	ecx, [ebp-40h]
jmp	sub_100AC04

loc_1035C35:
lea	ecx, [ebp-38h]
jmp	sub_100AC04

loc_1035C3D:
lea	ecx, [ebp-30h]
jmp	sub_100AC04

loc_1035C45:
lea	ecx, [ebp-28h]
jmp	sub_100AC04

loc_1035C4D:
mov	eax, offset stru_10381A0
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035C5C:
lea	ecx, [ebp-3Ch]
jmp	sub_100AC04

loc_1035C64:
lea	ecx, [ebp-34h]
jmp	sub_100AC04

loc_1035C6C:
lea	ecx, [ebp-2Ch]
jmp	sub_100AC04

loc_1035C74:
lea	ecx, [ebp-24h]
jmp	sub_100AC04

loc_1035C7C:
mov	eax, offset stru_10381DC
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035C8B:
lea	ecx, [ebp-38h]
jmp	sub_100AC04

loc_1035C93:
lea	ecx, [ebp-30h]
jmp	sub_100AC04

loc_1035C9B:
lea	ecx, [ebp-28h]
jmp	sub_100AC04

loc_1035CA3:
lea	ecx, [ebp-20h]
jmp	sub_100AC04

loc_1035CAB:
mov	eax, offset stru_1038218
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035CBA:
lea	ecx, [ebp-64h]
jmp	??1CPaintDC@@UAE@XZ ; CPaintDC::~CPaintDC(void)

loc_1035CC2:
mov	eax, offset stru_103823C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035CD1:
lea	ecx, [ebp-2Ch]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035CD9:
lea	ecx, [ebp-1Ch]
jmp	sub_1009708

loc_1035CE1:
mov	eax, offset stru_1038268
jmp	loc_1034E02
align 10h

loc_1035CF0:
lea	ecx, [ebp-0A0h]
jmp	loc_100ACD5

loc_1035CFB:
lea	ecx, [ebp-0ACh]
jmp	loc_10101B0

loc_1035D06:
lea	ecx, [ebp-6Ch]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035D0E:
lea	ecx, [ebp-54h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035D16:
lea	ecx, [ebp-24h]
jmp	sub_1009708

loc_1035D1E:
push	dword ptr [ebp-3Ch]
call	sub_100A9EB
retn

loc_1035D27:
lea	ecx, [ebp-94h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035D32:
lea	ecx, [ebp-40h]
jmp	sub_1009708

loc_1035D3A:
lea	ecx, [ebp-5Ch]
jmp	sub_1009708

loc_1035D42:
mov	eax, offset stru_10382CC
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035D51:
lea	ecx, [ebp-4Ch]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035D59:
lea	ecx, [ebp-24h]
jmp	sub_1009708

loc_1035D61:
mov	eax, offset stru_10382F8
jmp	loc_1034E02
align 10h

loc_1035D70:
push	dword ptr [ebp-18h]
call	sub_100A9EB
retn

loc_1035D79:
push	dword ptr [ebp-18h]
call	sub_100A9EB
retn

loc_1035D82:
mov	eax, offset stru_1038324
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-20h]
jmp	loc_100962A

loc_1035D99:
mov	eax, offset dword_103837C
jmp	loc_1034E02
align 8

loc_1035DA8:
lea	ecx, [ebp-28h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035DB0:
lea	ecx, [ebp-18h]
jmp	sub_100AC04

loc_1035DB8:
mov	eax, offset stru_10383A8
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035DC7:
mov	ecx, [ebp-18h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035DCF:
mov	ecx, [ebp-18h]
add	ecx, 4
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035DDA:
mov	ecx, [ebp-18h]
add	ecx, 8
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035DE5:
lea	ecx, [ebp-14h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035DED:
lea	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035DF5:
lea	ecx, [ebp-1Ch]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035DFD:
lea	ecx, [ebp+8]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035E05:
lea	ecx, [ebp-1Ch]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035E0D:
lea	ecx, [ebp+8]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035E15:
mov	eax, offset stru_103840C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035E24:
lea	ecx, [ebp-14h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035E2C:
lea	ecx, [ebp+0Ch]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035E34:
mov	eax, offset stru_1038438
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035E43:
lea	ecx, [ebp+8]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035E4B:
lea	ecx, [ebp+0Ch]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035E53:
mov	eax, offset stru_1038464
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-1Ch]
jmp	loc_100962A

loc_1035E6A:
mov	eax, offset dword_10384BC
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035E79:
mov	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035E81:
mov	ecx, [ebp-10h]
add	ecx, 4
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035E8C:
mov	ecx, [ebp-10h]
add	ecx, 8
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1035E97:
mov	eax, offset stru_10384F0
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035EA6:
lea	ecx, [ebp-30h]
jmp	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_1035EAE:
mov	eax, offset stru_1038514
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035EBD:
lea	ecx, [ebp-20h]
jmp	??1CWindowDC@@UAE@XZ ; CWindowDC::~CWindowDC(void)

loc_1035EC5:
mov	eax, offset stru_1038538
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035ED4:
lea	ecx, [ebp-1Ch]
jmp	sub_1009708

loc_1035EDC:
lea	ecx, [ebp-2Ch]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035EE4:
mov	eax, offset stru_1038564
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035EF3:
push	dword ptr [ebp-10h]
call	sub_100A9EB
retn

loc_1035EFC:
mov	eax, offset stru_1038588
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-28h]
jmp	loc_100962A

loc_1035F13:
mov	eax, offset dword_10385E0
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-1Ch]
jmp	sub_100E829

loc_1035F2A:
lea	ecx, [ebp-48h]
jmp	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)
lea	ecx, [ebp-34h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)
lea	ecx, [ebp-24h]
jmp	loc_100962A

loc_1035F42:
mov	eax, offset dword_1038650
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035F51:
mov	eax, dword_103E8F0
and	eax, 0FFFFFFFEh
mov	dword_103E8F0, eax
retn

loc_1035F5F:
mov	eax, offset stru_1038674
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-50h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035F76:
lea	ecx, [ebp-38h]
jmp	sub_1009708
lea	ecx, [ebp-40h]
jmp	loc_100962A

loc_1035F86:
mov	eax, offset dword_10386DC
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035F95:
lea	ecx, [ebp-34h]
jmp	sub_100AC04

loc_1035F9D:
lea	ecx, [ebp-4Ch]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1035FA5:
lea	ecx, [ebp-3Ch]
jmp	sub_1009708

loc_1035FAD:
mov	eax, offset stru_1038710
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035FBC:
lea	ecx, [ebp-40h]
jmp	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_1035FC4:
mov	eax, offset stru_1038734
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035FD3:
lea	ecx, [ebp-18h]
jmp	sub_100AC04

loc_1035FDB:
mov	eax, offset stru_1038758
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1035FEA:
lea	ecx, [ebp-1Ch]
jmp	sub_100AC04

loc_1035FF2:
mov	eax, offset stru_103877C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036001:
lea	ecx, [ebp-38h]
jmp	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_1036009:
mov	eax, offset stru_10387A0
jmp	loc_1034E02
align 8

loc_1036018:
lea	ecx, [ebp-30h]
jmp	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_1036020:
mov	eax, offset stru_10387C4
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103602F:
lea	ecx, [ebp-3Ch]
jmp	sub_100E829

loc_1036037:
lea	ecx, [ebp-5Ch]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_103603F:
lea	ecx, [ebp-34h]
jmp	sub_100AC04

loc_1036047:
lea	ecx, [ebp-2Ch]
jmp	sub_100AC04

loc_103604F:
mov	eax, offset stru_1038800
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103605E:
mov	ecx, [ebp-10h]
add	ecx, 0Ch
jmp	sub_1009708

loc_1036069:
mov	ecx, [ebp-10h]
add	ecx, 14h
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1036074:
mov	ecx, [ebp-10h]
add	ecx, 24h
jmp	sub_1009708

loc_103607F:
mov	eax, offset stru_1038834
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103608E:
mov	ecx, [ebp-14h]
add	ecx, 0Ch
jmp	sub_1009708

loc_1036099:
mov	ecx, [ebp-14h]
add	ecx, 14h
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_10360A4:
mov	ecx, [ebp-14h]
add	ecx, 24h
jmp	sub_1009708

loc_10360AF:
mov	ecx, [ebp-14h]
add	ecx, 2Ch
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_10360BA:
mov	eax, offset stru_1038870
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10360C9:
mov	ecx, [ebp-10h]
jmp	??1CWnd@@UAE@XZ	; CWnd::~CWnd(void)

loc_10360D1:
mov	eax, offset stru_1038894
jmp	loc_1034E02
align 10h

loc_10360E0:
mov	ecx, [ebp-10h]
jmp	sub_1015CF2

loc_10360E8:
mov	eax, offset stru_10388B8
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10360F7:
mov	eax, dword_103EDF0
and	eax, 0FFFFFFFEh
mov	dword_103EDF0, eax
retn

loc_1036105:
mov	eax, offset stru_10388DC
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036114:
lea	ecx, [ebp-1Ch]
jmp	sub_1018D5D

loc_103611C:
mov	eax, offset stru_1038900
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-34h]
jmp	loc_100962A

loc_1036133:
mov	eax, offset dword_1038958
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036142:
lea	ecx, [ebp-44h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_103614A:
lea	ecx, [ebp-24h]
jmp	sub_1009708

loc_1036152:
mov	eax, offset stru_1038984
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036161:
lea	ecx, [ebp-30h]
jmp	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_1036169:
mov	eax, offset stru_10389A8
jmp	loc_1034E02
align 8

loc_1036178:
lea	ecx, [ebp-64h]
jmp	??1CPaintDC@@UAE@XZ ; CPaintDC::~CPaintDC(void)

loc_1036180:
mov	eax, offset stru_10389CC
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103618F:
push	dword ptr [ebp+8]
call	sub_100A9EB
retn

loc_1036198:
push	dword ptr [ebp+8]
call	sub_100A9EB
retn

loc_10361A1:
mov	eax, offset stru_10389F8
jmp	loc_1034E02
align 10h

loc_10361B0:
mov	ecx, [ebp-10h]
jmp	??1COleIPFrameWnd@@UAE@XZ ; COleIPFrameWnd::~COleIPFrameWnd(void)

loc_10361B8:
mov	ecx, [ebp-10h]
add	ecx, 130h
jmp	sub_10098EB

loc_10361C6:
mov	ecx, [ebp-10h]
add	ecx, 1D4h
jmp	sub_101C54A

loc_10361D4:
mov	ecx, [ebp-10h]
add	ecx, 30Ch
jmp	j_??1CControlBar@@UAE@XZ ; CControlBar::~CControlBar(void)

loc_10361E2:
mov	ecx, [ebp-10h]
add	ecx, 3ACh
jmp	??1COleResizeBar@@UAE@XZ ; COleResizeBar::~COleResizeBar(void)

loc_10361F0:
mov	eax, offset stru_1038A3C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10361FF:
push	dword ptr [ebp-10h]
call	sub_100A9EB
retn

loc_1036208:
mov	eax, offset stru_1038A60
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036217:
mov	ecx, [ebp-10h]
jmp	??1CFrameWnd@@UAE@XZ ; CFrameWnd::~CFrameWnd(void)

loc_103621F:
mov	eax, offset stru_1038A84
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103622E:
push	dword ptr [ebp+8]
call	sub_100A9EB
retn

loc_1036237:
mov	eax, offset stru_1038AA8
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036246:
mov	ecx, [ebp-10h]
jmp	??1COleServerDoc@@UAE@XZ ; COleServerDoc::~COleServerDoc(void)

loc_103624E:
mov	ecx, [ebp-10h]
add	ecx, 0F4h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103625C:
mov	eax, offset stru_1038AD4
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-1Ch]
jmp	loc_100962A

loc_1036273:
mov	eax, offset dword_1038B2C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036282:
lea	ecx, [ebp+8]
jmp	loc_100ACD5

loc_103628A:
mov	eax, offset stru_1038B50
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036299:
push	dword ptr [ebp-268h]
call	sub_100A9EB
retn

loc_10362A5:
mov	eax, offset stru_1038B74
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10362B4:
lea	ecx, [ebp+8]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10362BC:
mov	eax, offset stru_1038B98
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-18h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10362D3:
lea	ecx, [ebp-20h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10362DB:
lea	ecx, [ebp-20h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10362E3:
lea	ecx, [ebp+0Ch]
jmp	loc_100ACD5
lea	ecx, [ebp-24h]
jmp	loc_100962A

loc_10362F3:
mov	eax, offset dword_1038C10
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036302:
push	dword ptr [ebp-10h]
call	sub_100A9EB
retn

loc_103630B:
mov	eax, offset stru_1038C34
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103631A:
push	dword ptr [ebp+8]
call	sub_100A9EB
retn

loc_1036323:
mov	eax, offset stru_1038C58
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036332:
lea	ecx, [ebp+14h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103633A:
lea	ecx, [ebp-24h]
jmp	sub_100AA5E

loc_1036342:
mov	eax, offset stru_1038C84
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036351:
lea	ecx, [ebp-14h]
jmp	loc_101D097

loc_1036359:
mov	eax, offset stru_1038CA8
jmp	loc_1034E02
align 8
lea	ecx, [ebp-34h]
jmp	??1COleStreamFile@@UAE@XZ ; COleStreamFile::~COleStreamFile(void)

loc_1036370:
lea	ecx, [ebp-48h]
jmp	sub_100AA5E
lea	ecx, [ebp-98h]
jmp	??1CArchive@@QAE@XZ ; CArchive::~CArchive(void)
lea	ecx, [ebp-54h]
jmp	loc_100962A
lea	ecx, [ebp-18h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036393:
mov	eax, offset dword_1038D20
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-4Ch]
jmp	??1COleStreamFile@@UAE@XZ ; COleStreamFile::~COleStreamFile(void)

loc_10363AA:
lea	ecx, [ebp-34h]
jmp	sub_100AA5E
lea	ecx, [ebp-90h]
jmp	??1CArchive@@QAE@XZ ; CArchive::~CArchive(void)
lea	ecx, [ebp-20h]
jmp	loc_100962A

loc_10363C5:
mov	eax, offset dword_1038D90
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10363D4:
mov	ecx, [ebp-10h]
jmp	??1COleServerDoc@@UAE@XZ ; COleServerDoc::~COleServerDoc(void)

loc_10363DC:
mov	eax, offset stru_1038DB4
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10363EB:
mov	ecx, [ebp-10h]
jmp	??1CFrameWnd@@UAE@XZ ; CFrameWnd::~CFrameWnd(void)

loc_10363F3:
mov	ecx, [ebp-10h]
add	ecx, 0D8h
jmp	sub_10098EB

loc_1036401:
mov	ecx, [ebp-10h]
add	ecx, 17Ch
jmp	sub_101C54A

loc_103640F:
mov	ecx, [ebp-10h]
add	ecx, 2B4h
jmp	j_??1CControlBar@@UAE@XZ ; CControlBar::~CControlBar(void)

loc_103641D:
mov	eax, offset stru_1038DF0
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103642C:
mov	ecx, [ebp-10h]
jmp	??1CFrameWnd@@UAE@XZ ; CFrameWnd::~CFrameWnd(void)

loc_1036434:
mov	ecx, [ebp-10h]
add	ecx, 0D8h
jmp	sub_10098EB

loc_1036442:
mov	ecx, [ebp-10h]
add	ecx, 17Ch
jmp	sub_101C54A

loc_1036450:
mov	ecx, [ebp-10h]
add	ecx, 2B4h
jmp	j_??1CControlBar@@UAE@XZ ; CControlBar::~CControlBar(void)

loc_103645E:
push	dword ptr [ebp-14h]
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx
retn

loc_1036468:
mov	eax, offset stru_1038E58
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036477:
lea	ecx, [ebp-20h]
jmp	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_103647F:
mov	eax, offset stru_1038E14
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103648E:
lea	ecx, [ebp-10h]
jmp	loc_100ACD5

loc_1036496:
mov	eax, offset stru_1038E7C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10364A5:
lea	ecx, [ebp-14h]
jmp	loc_100ACD5

loc_10364AD:
mov	eax, offset stru_1038EA0
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10364BC:
push	dword ptr [ebp-10h]
call	sub_100A9EB
retn

loc_10364C5:
mov	eax, offset stru_1038EC4
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10364D4:
mov	ecx, [ebp-10h]
jmp	??1CWinApp@@UAE@XZ ; CWinApp::~CWinApp(void)

loc_10364DC:
mov	ecx, [ebp-10h]
add	ecx, 0C4h
jmp	loc_101EC4F

loc_10364EA:
mov	ecx, [ebp-10h]
add	ecx, 158h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10364F8:
mov	ecx, [ebp-10h]
add	ecx, 15Ch
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036506:
mov	ecx, [ebp-10h]
add	ecx, 160h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036514:
mov	ecx, [ebp-10h]
add	ecx, 164h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036522:
mov	ecx, [ebp-10h]
add	ecx, 16Ch
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036530:
mov	ecx, [ebp-10h]
add	ecx, 170h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103653E:
mov	ecx, [ebp-10h]
add	ecx, 184h
jmp	sub_101EB9A

loc_103654C:
mov	ecx, [ebp-10h]
add	ecx, 224h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103655A:
mov	ecx, [ebp-10h]
add	ecx, 2F4h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036568:
mov	ecx, [ebp-10h]
add	ecx, 318h
jmp	sub_1030234

loc_1036576:
mov	ecx, [ebp-10h]
add	ecx, 334h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036584:
mov	ecx, [ebp-10h]
add	ecx, 338h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036592:
mov	ecx, [ebp-10h]
add	ecx, 33Ch
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10365A0:
mov	eax, offset stru_1038F58
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10365AF:
lea	ecx, [ebp-1Ch]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10365B7:
lea	ecx, [ebp-18h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10365BF:
lea	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10365C7:
lea	ecx, [ebp-14h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10365CF:
mov	eax, offset stru_1038F94
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10365DE:
mov	ecx, [ebp-10h]
jmp	??1CWinApp@@UAE@XZ ; CWinApp::~CWinApp(void)

loc_10365E6:
mov	ecx, [ebp-10h]
add	ecx, 0C4h
jmp	loc_101EC4F

loc_10365F4:
mov	ecx, [ebp-10h]
add	ecx, 158h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036602:
mov	ecx, [ebp-10h]
add	ecx, 15Ch
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036610:
mov	ecx, [ebp-10h]
add	ecx, 160h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103661E:
mov	ecx, [ebp-10h]
add	ecx, 164h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103662C:
mov	ecx, [ebp-10h]
add	ecx, 16Ch
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103663A:
mov	ecx, [ebp-10h]
add	ecx, 170h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036648:
mov	ecx, [ebp-10h]
add	ecx, 184h
jmp	sub_101EB9A

loc_1036656:
mov	ecx, [ebp-10h]
add	ecx, 224h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036664:
mov	ecx, [ebp-10h]
add	ecx, 2F4h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036672:
mov	ecx, [ebp-10h]
add	ecx, 318h
jmp	sub_1030234

loc_1036680:
mov	ecx, [ebp-10h]
add	ecx, 334h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103668E:
mov	ecx, [ebp-10h]
add	ecx, 338h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103669C:
mov	eax, offset stru_1039020
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10366AB:
push	dword ptr [ebp-274h]
call	sub_100A9EB
retn

loc_10366B7:
push	dword ptr [ebp-274h]
call	sub_100A9EB
retn

loc_10366C3:
lea	ecx, [ebp-274h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10366CE:
mov	eax, offset stru_1039054
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10366DD:
lea	ecx, [ebp-14h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10366E5:
lea	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10366ED:
mov	eax, offset stru_1039080
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10366FC:
lea	ecx, [ebp-344h]
jmp	sub_1035460

loc_1036707:
lea	ecx, [ebp-364h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036712:
lea	ecx, [ebp-334h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103671D:
lea	ecx, [ebp-348h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036728:
lea	ecx, [ebp-350h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036733:
lea	ecx, [ebp-354h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103673E:
lea	ecx, [ebp-33Ch]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036749:
lea	ecx, [ebp-33Ch]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036754:
lea	ecx, [ebp-33Ch]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103675F:
lea	ecx, [ebp-33Ch]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103676A:
lea	ecx, [ebp-33Ch]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036775:
lea	ecx, [ebp-33Ch]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036780:
lea	ecx, [ebp-360h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103678B:
lea	ecx, [ebp-368h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036796:
mov	eax, [ebp-338h]
and	eax, 1
jz	locret_10367B7
and	dword ptr [ebp-338h], 0FFFFFFFEh
lea	ecx, [ebp-368h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

locret_10367B7:
retn

loc_10367B8:
mov	eax, offset stru_1039114
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10367C7:
lea	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10367CF:
mov	eax, offset stru_1039138
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10367DE:
push	dword ptr [ebp-14h]
call	sub_100A9EB
retn

loc_10367E7:
lea	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10367EF:
mov	eax, offset stru_1039164
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10367FE:
lea	ecx, [ebp-14h]
jmp	loc_101D097

loc_1036806:
mov	eax, offset stru_1039188
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036815:
mov	ecx, [ebp-10h]
jmp	??1CView@@UAE@XZ ; CView::~CView(void)

loc_103681D:
mov	eax, offset stru_10391AC
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103682C:
push	dword ptr [ebp+8]
call	sub_100A9EB
retn

loc_1036835:
mov	eax, offset stru_10391D0
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036844:
lea	ecx, [ebp-20h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103684C:
lea	ecx, [ebp-18h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036854:
mov	eax, offset stru_10391FC
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036863:
push	dword ptr [ebp-10h]
call	sub_100A9EB
retn

loc_103686C:
mov	eax, offset stru_1039220
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103687B:
lea	ecx, [ebp-70h]
jmp	j_??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)

loc_1036883:
mov	eax, offset stru_1039244
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036892:
lea	ecx, [ebp-0ACh]
jmp	sub_100DA4F

loc_103689D:
mov	eax, offset stru_1039268
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10368AC:
lea	ecx, [ebp-78h]
jmp	j_??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)

loc_10368B4:
mov	eax, offset stru_103928C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10368C3:
lea	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10368CB:
lea	ecx, [ebp-70h]
jmp	sub_100B967

loc_10368D3:
mov	eax, offset stru_10392B8
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10368E2:
lea	ecx, [ebp-0D0h]
jmp	j_??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)

loc_10368ED:
lea	ecx, [ebp-1Ch]
jmp	sub_1009708

loc_10368F5:
lea	ecx, [ebp-3Ch]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_10368FD:
mov	eax, offset stru_10392EC
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103690C:
lea	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036914:
push	dword ptr [ebp-14h]
call	sub_100A9EB
retn

loc_103691D:
mov	eax, offset stru_1039318
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103692C:
lea	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036934:
mov	eax, offset stru_103933C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036943:
lea	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103694B:
lea	ecx, [ebp-14h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036953:
lea	ecx, [ebp-18h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103695B:
mov	eax, offset stru_1039370
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103696A:
push	dword ptr [ebp+8]
call	sub_100A9EB
retn

loc_1036973:
push	dword ptr [ebp+8]
call	sub_100A9EB
retn

loc_103697C:
mov	eax, offset stru_103939C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103698B:
mov	ecx, [ebp-10h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1036993:
mov	ecx, [ebp-10h]
add	ecx, 10h
jmp	sub_1009708

loc_103699E:
mov	ecx, [ebp-10h]
add	ecx, 18h
jmp	sub_1009708

loc_10369A9:
mov	eax, offset stru_10393D0
jmp	loc_1034E02
align 8

loc_10369B8:
lea	ecx, [ebp-28h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_10369C0:
mov	eax, offset stru_10393F4
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10369CF:
mov	ecx, [ebp-10h]
jmp	sub_1015CF2

loc_10369D7:
mov	eax, offset stru_1039418
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10369E6:
lea	ecx, [ebp-0F0h]
jmp	j_??1CDialog@@UAE@XZ ; CDialog::~CDialog(void)

loc_10369F1:
mov	eax, offset stru_103943C
jmp	loc_1034E02
align 10h

loc_1036A00:
lea	ecx, [ebp-34h]
jmp	sub_1009708

loc_1036A08:
lea	ecx, [ebp-68h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1036A10:
lea	ecx, [ebp-4Ch]
jmp	sub_1009708

loc_1036A18:
mov	eax, offset stru_1039470
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036A27:
lea	ecx, [ebp+0Ch]
jmp	loc_10240EA

loc_1036A2F:
lea	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036A37:
lea	ecx, [ebp-14h]
jmp	loc_10240EA

loc_1036A3F:
lea	ecx, [ebp-18h]
jmp	loc_10240EA

loc_1036A47:
mov	eax, offset stru_10394AC
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036A56:
lea	ecx, [ebp-40h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036A5E:
mov	eax, offset stru_10394D0
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036A6D:
lea	ecx, [ebp-80h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1036A75:
lea	ecx, [ebp-48h]
jmp	sub_1009708

loc_1036A7D:
lea	ecx, [ebp-50h]
jmp	sub_100AC04

loc_1036A85:
lea	ecx, [ebp-3Ch]
jmp	sub_1009708

loc_1036A8D:
mov	eax, offset stru_103950C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036A9C:
mov	ecx, [ebp-10h]
jmp	sub_1015CF2

loc_1036AA4:
mov	eax, offset stru_1039530
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036AB3:
mov	ecx, [ebp-10h]
jmp	??1COleServerItem@@UAE@XZ ; COleServerItem::~COleServerItem(void)

loc_1036ABB:
mov	eax, offset stru_1039554
jmp	loc_1034E02
db 5 dup(0CCh)
push	dword ptr [ebp-14h]
call	sub_100A9EB
retn
lea	ecx, [ebp-20h]
jmp	loc_100962A

loc_1036ADB:
mov	eax, offset dword_10395B4
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-18h]
jmp	loc_100962A

loc_1036AF2:
mov	eax, offset dword_103960C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036B01:
mov	ecx, [ebp-10h]
jmp	??1CEdit@@UAE@XZ ; CEdit::~CEdit(void)

loc_1036B09:
mov	eax, offset stru_1039630
jmp	loc_1034E02
align 8

loc_1036B18:
mov	ecx, [ebp-10h]
jmp	??1CEdit@@UAE@XZ ; CEdit::~CEdit(void)

loc_1036B20:
mov	ecx, [ebp-10h]
add	ecx, 60h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036B2B:
mov	eax, offset stru_103965C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036B3A:
lea	ecx, [ebp+0Ch]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036B42:
mov	eax, offset stru_1039680
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036B51:
mov	ecx, [ebp-10h]
jmp	??1CWnd@@UAE@XZ	; CWnd::~CWnd(void)

loc_1036B59:
mov	eax, offset stru_10396A4
jmp	loc_1034E02
align 8

loc_1036B68:
mov	ecx, [ebp-10h]
jmp	??1CWnd@@UAE@XZ	; CWnd::~CWnd(void)

loc_1036B70:
mov	ecx, [ebp-10h]
add	ecx, 40h
jmp	sub_10256AF

loc_1036B7B:
mov	ecx, [ebp-10h]
add	ecx, 12Ch
jmp	sub_100AC04

loc_1036B89:
mov	eax, offset stru_10396D8
jmp	loc_1034E02
align 8

loc_1036B98:
lea	ecx, [ebp-4Ch]
jmp	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_1036BA0:
mov	eax, offset stru_10396FC
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036BAF:
lea	ecx, [ebp-84h]
jmp	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_1036BBA:
mov	eax, offset stru_1039720
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036BC9:
lea	ecx, [ebp-18h]
jmp	sub_1009746

loc_1036BD1:
mov	eax, offset stru_1039744
jmp	loc_1034E02
align 10h

loc_1036BE0:
lea	ecx, [ebp-18h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036BE8:
mov	eax, offset stru_1039768
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036BF7:
push	dword ptr [ebp-10h]
call	sub_100A9EB
retn

loc_1036C00:
mov	eax, offset stru_103978C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036C0F:
lea	ecx, [ebp-70h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036C17:
mov	eax, offset stru_10397B0
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036C26:
push	dword ptr [ebp-70h]
call	sub_100A9EB
retn

loc_1036C2F:
mov	eax, offset stru_10397D4
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036C3E:
lea	ecx, [ebp-14h]
jmp	sub_1018D5D

loc_1036C46:
mov	eax, offset stru_10397F8
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036C55:
mov	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036C5D:
mov	eax, offset stru_103981C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036C6C:
mov	ecx, [ebp-10h]
jmp	??1CDialogBar@@UAE@XZ ;	CDialogBar::~CDialogBar(void)

loc_1036C74:
mov	eax, offset stru_1039840
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036C83:
mov	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036C8B:
mov	ecx, [ebp-10h]
add	ecx, 4
jmp	j_??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036C96:
mov	eax, offset stru_103986C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036CA5:
mov	ecx, [ebp-10h]
jmp	j_??1CFrameWnd@@UAE@XZ ; CFrameWnd::~CFrameWnd(void)

loc_1036CAD:
mov	ecx, [ebp-10h]
add	ecx, 0D0h
jmp	sub_101EB9A

loc_1036CBB:
mov	ecx, [ebp-10h]
add	ecx, 0D8h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036CC9:
mov	ecx, [ebp-10h]
add	ecx, 0DCh
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036CD7:
mov	ecx, [ebp-10h]
add	ecx, 0E8h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036CE5:
mov	ecx, [ebp-10h]
add	ecx, 128h
jmp	sub_1028E8A

loc_1036CF3:
mov	eax, offset stru_10398B8
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-14h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036D0A:
lea	ecx, [ebp-24h]
jmp	loc_100962A

loc_1036D12:
mov	eax, offset dword_1039918
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036D21:
mov	ecx, [ebp-10h]
jmp	??1CDialogBar@@UAE@XZ ;	CDialogBar::~CDialogBar(void)

loc_1036D29:
push	offset sub_1022D52
push	5
push	34h
mov	eax, [ebp-10h]
add	eax, 8Ch
push	eax
call	sub_1034F5F
retn

loc_1036D41:
mov	eax, offset stru_1039944
jmp	loc_1034E02
align 10h
lea	ecx, [ebp-18h]
jmp	loc_100962A

loc_1036D58:
mov	eax, offset dword_103999C
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-3Ch]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1036D6F:
lea	ecx, [ebp-2Ch]
jmp	loc_100962A

loc_1036D77:
mov	eax, offset dword_10399FC
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036D86:
push	dword ptr [ebp-10h]
call	sub_100A9EB
retn

loc_1036D8F:
mov	eax, offset stru_1039C60
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036D9E:
mov	ecx, [ebp-10h]
jmp	j_??1CFrameWnd@@UAE@XZ ; CFrameWnd::~CFrameWnd(void)

loc_1036DA6:
mov	ecx, [ebp-10h]
add	ecx, 0D0h
jmp	sub_101EB9A

loc_1036DB4:
mov	ecx, [ebp-10h]
add	ecx, 0D8h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036DC2:
mov	ecx, [ebp-10h]
add	ecx, 0DCh
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036DD0:
mov	ecx, [ebp-10h]
add	ecx, 0E8h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036DDE:
mov	ecx, [ebp-10h]
add	ecx, 128h
jmp	sub_1028E8A

loc_1036DEC:
push	dword ptr [ebp+8]
call	sub_100A9EB
retn

loc_1036DF5:
mov	eax, offset stru_1039A50
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036E04:
mov	ecx, [ebp-10h]
jmp	j_??1CFrameWnd@@UAE@XZ ; CFrameWnd::~CFrameWnd(void)

loc_1036E0C:
mov	ecx, [ebp-10h]
add	ecx, 0D0h
jmp	sub_101EB9A

loc_1036E1A:
mov	ecx, [ebp-10h]
add	ecx, 0D8h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036E28:
mov	ecx, [ebp-10h]
add	ecx, 0DCh
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036E36:
mov	ecx, [ebp-10h]
add	ecx, 0E8h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036E44:
mov	ecx, [ebp-10h]
add	ecx, 128h
jmp	sub_1028E8A

loc_1036E52:
push	dword ptr [ebp-14h]
call	sub_100A9EB
retn

loc_1036E5B:
mov	eax, offset stru_1039AA4
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036E6A:
push	dword ptr [ebp+8]
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx
retn

loc_1036E74:
push	dword ptr [ebp-10h]
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx
retn

loc_1036E7E:
mov	eax, offset stru_1039AD0
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036E8D:
lea	ecx, [ebp-14h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036E95:
lea	ecx, [ebp-28h]
jmp	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_1036E9D:
mov	eax, offset stru_1039AFC
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-14h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036EB4:
lea	ecx, [ebp-30h]
jmp	loc_100962A

loc_1036EBC:
lea	ecx, [ebp-30h]
jmp	loc_100962A

loc_1036EC4:
mov	eax, offset dword_1039B98
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-14h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036EDB:
lea	ecx, [ebp-70h]
jmp	??1CComboBox@@UAE@XZ ; CComboBox::~CComboBox(void)
lea	ecx, [ebp-30h]
jmp	loc_100962A
lea	ecx, [ebp-28h]
jmp	loc_100962A

loc_1036EF3:
mov	eax, offset dword_1039C3C
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-24h]
jmp	loc_100962A
lea	ecx, [ebp-14h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036F12:
mov	eax, offset dword_1039CC0
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-20h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036F29:
lea	ecx, [ebp-28h]
jmp	loc_100962A

loc_1036F31:
mov	eax, offset dword_1039D20
jmp	loc_1034E02
align 10h

loc_1036F40:
lea	ecx, [ebp-14h]
jmp	sub_1018D5D

loc_1036F48:
mov	eax, offset stru_1039D44
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036F57:
mov	ecx, [ebp-10h]
jmp	j_??1CFrameWnd@@UAE@XZ ; CFrameWnd::~CFrameWnd(void)

loc_1036F5F:
push	dword ptr [ebp-14h]
call	sub_100A9EB
retn

loc_1036F68:
mov	eax, offset stru_1039D70
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036F77:
lea	ecx, [ebp-14h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1036F7F:
mov	eax, offset stru_1039D94
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036F8E:
mov	ecx, [ebp-10h]
jmp	??1CFrameWnd@@UAE@XZ ; CFrameWnd::~CFrameWnd(void)

loc_1036F96:
push	dword ptr [ebp-14h]
call	sub_100A9EB
retn

loc_1036F9F:
mov	eax, offset stru_1039DC0
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036FAE:
mov	ecx, [ebp-10h]
jmp	??1CFrameWnd@@UAE@XZ ; CFrameWnd::~CFrameWnd(void)

loc_1036FB6:
mov	eax, offset stru_1039DE4
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036FC5:
lea	ecx, [ebp-40h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1036FCD:
mov	eax, offset stru_1039E08
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-1Ch]
jmp	loc_100962A
lea	ecx, [ebp-30h]
jmp	??1CClientDC@@UAE@XZ ; CClientDC::~CClientDC(void)

loc_1036FEC:
mov	eax, offset dword_1039E68
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1036FFB:
lea	ecx, [ebp-64h]
jmp	??1CPaintDC@@UAE@XZ ; CPaintDC::~CPaintDC(void)

loc_1037003:
mov	eax, offset stru_1039E8C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1037012:
mov	ecx, [ebp-10h]
jmp	??1CControlBar@@UAE@XZ ; CControlBar::~CControlBar(void)

loc_103701A:
mov	ecx, [ebp-10h]
add	ecx, 0D4h
jmp	sub_10187A8

loc_1037028:
push	dword ptr [ebp-14h]
call	sub_100A9EB
retn

loc_1037031:
mov	eax, offset stru_1039EC0
jmp	loc_1034E02
align 10h

loc_1037040:
mov	ecx, [ebp-10h]
jmp	??1CControlBar@@UAE@XZ ; CControlBar::~CControlBar(void)

loc_1037048:
mov	ecx, [ebp-10h]
add	ecx, 0D4h
jmp	sub_10187A8

loc_1037056:
mov	eax, offset stru_1039EEC
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1037065:
lea	ecx, [ebp-5Ch]
jmp	??1CWindowDC@@UAE@XZ ; CWindowDC::~CWindowDC(void)

loc_103706D:
lea	ecx, [ebp-38h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_1037075:
mov	eax, offset stru_1039F18
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1037084:
lea	ecx, [ebp-4Ch]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_103708C:
mov	eax, offset stru_1039F3C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103709B:
lea	ecx, [ebp-64h]
jmp	??1CPaintDC@@UAE@XZ ; CPaintDC::~CPaintDC(void)

loc_10370A3:
mov	eax, offset stru_1039F60
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10370B2:
lea	ecx, [ebp-64h]
jmp	??1CPaintDC@@UAE@XZ ; CPaintDC::~CPaintDC(void)

loc_10370BA:
lea	ecx, [ebp-8Ch]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_10370C5:
lea	ecx, [ebp-6Ch]
jmp	sub_1009708

loc_10370CD:
mov	eax, offset stru_1039F94
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10370DC:
lea	ecx, [ebp+8]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10370E4:
mov	eax, offset stru_1039FB8
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10370F3:
lea	ecx, [ebp-40h]
jmp	??1CDC@@UAE@XZ	; CDC::~CDC(void)

loc_10370FB:
mov	eax, offset stru_1039FDC
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-1Ch]
jmp	loc_100962A

loc_1037112:
mov	eax, offset dword_103A034
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-1Ch]
jmp	loc_100962A

loc_1037129:
mov	eax, offset dword_103A08C
jmp	loc_1034E02
align 8
lea	ecx, [ebp-28h]
jmp	loc_100962A
push	dword ptr [ebp-1Ch]
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx
retn

loc_103714A:
mov	eax, offset dword_103A0EC
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-24h]
jmp	loc_100962A

loc_1037161:
mov	eax, offset dword_103A144
jmp	loc_1034E02
align 10h

loc_1037170:
mov	ecx, [ebp-10h]
jmp	sub_1015CF2

loc_1037178:
mov	ecx, [ebp-10h]
add	ecx, 38h
jmp	??1CObArray@@UAE@XZ ; CObArray::~CObArray(void)

loc_1037183:
mov	eax, offset stru_103A170
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1037192:
mov	ecx, [ebp-10h]
jmp	sub_1015CF2

loc_103719A:
mov	eax, offset stru_103A194
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10371A9:
push	dword ptr [ebp+8]
call	sub_100A9EB
retn

loc_10371B2:
mov	eax, offset stru_103A1B8
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10371C1:
mov	ecx, [ebp-10h]
jmp	sub_100B967

loc_10371C9:
mov	eax, offset stru_103A208
jmp	loc_1034E02
align 8

loc_10371D8:
mov	ecx, [ebp-10h]
jmp	sub_100B967

loc_10371E0:
mov	ecx, [ebp-10h]
add	ecx, 74h
jmp	??1CObList@@UAE@XZ ; CObList::~CObList(void)

loc_10371EB:
mov	eax, offset stru_103A234
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10371FA:
push	dword ptr [ebp+0Ch]
call	sub_100A9EB
retn

loc_1037203:
mov	eax, offset stru_103A258
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1037212:
lea	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103721A:
mov	eax, offset stru_103A27C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1037229:
lea	ecx, [ebp-14h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1037231:
mov	eax, offset stru_103A2A0
jmp	loc_1034E02
align 10h

loc_1037240:
lea	ecx, [ebp-14h]
jmp	loc_100ACD5

loc_1037248:
mov	eax, offset stru_103A2C4
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1037257:
mov	ecx, [ebp-10h]
jmp	??1CByteArray@@UAE@XZ ;	CByteArray::~CByteArray(void)

loc_103725F:
mov	ecx, [ebp-10h]
add	ecx, 18h
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103726A:
mov	eax, offset stru_103A1E4
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1037279:
lea	ecx, [ebp-20h]
jmp	??1CFile@@UAE@XZ ; CFile::~CFile(void)

loc_1037281:
mov	eax, offset stru_103A2E8
jmp	loc_1034E02
align 10h

loc_1037290:
lea	ecx, [ebp-3Ch]
jmp	sub_10304BC

loc_1037298:
lea	ecx, [ebp-24h]
jmp	loc_10316AC

loc_10372A0:
mov	eax, offset stru_103A314
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-34h]
jmp	??1CFile@@UAE@XZ ; CFile::~CFile(void)

loc_10372B7:
lea	ecx, [ebp-24h]
jmp	loc_100962A

loc_10372BF:
mov	eax, offset dword_103A374
jmp	loc_1034E02
db 5 dup(0CCh)
lea	ecx, [ebp-1Ch]
jmp	loc_100962A

loc_10372D6:
mov	eax, offset dword_103A3CC
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10372E5:
mov	ecx, [ebp-10h]
add	ecx, 8
jmp	??1CProgressCtrl@@UAE@XZ ; CProgressCtrl::~CProgressCtrl(void)

loc_10372F0:
mov	eax, offset stru_103A3F0
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10372FF:
mov	ecx, [ebp-10h]
jmp	loc_10316AC

loc_1037307:
mov	ecx, [ebp-10h]
add	ecx, 4
jmp	loc_10316AC

loc_1037312:
mov	ecx, [ebp-10h]
add	ecx, 8
jmp	loc_10316AC

loc_103731D:
mov	eax, offset stru_103A46C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_103732C:
lea	ecx, [ebp+10h]
jmp	loc_10316AC

loc_1037334:
mov	eax, offset stru_103A438
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1037343:
lea	ecx, [ebp+0Ch]
jmp	loc_10316AC

loc_103734B:
lea	ecx, [ebp+8]
jmp	loc_10316AC

loc_1037353:
mov	eax, offset stru_103A498
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1037362:
lea	ecx, [ebp-10h]
jmp	loc_10316AC

loc_103736A:
mov	eax, offset stru_103A414
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1037379:
mov	ecx, [ebp-10h]
add	ecx, 0Ch
jmp	loc_10316AC

loc_1037384:
mov	eax, offset stru_103A4BC
jmp	loc_1034E02
db 5 dup(0CCh)

loc_1037393:
lea	ecx, [ebp-10h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_103739B:
lea	ecx, [ebp-14h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_10373A3:
mov	eax, offset stru_103A4E8
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10373B2:
mov	ecx, [ebp-10h]
jmp	loc_1031254

loc_10373BA:
mov	ecx, [ebp-10h]
add	ecx, 4
jmp	loc_10316AC

loc_10373C5:
mov	ecx, [ebp-10h]
add	ecx, 8
jmp	loc_1031214

loc_10373D0:
mov	eax, offset stru_103A51C
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10373DF:
mov	ecx, [ebp-10h]
jmp	loc_1031254

loc_10373E7:
mov	eax, offset stru_103A540
jmp	loc_1034E02
db 5 dup(0CCh)

loc_10373F6:
lea	ecx, [ebp-24h]
jmp	loc_10316AC

loc_10373FE:
lea	ecx, [ebp-28h]
jmp	loc_10316AC

loc_1037406:
lea	ecx, [ebp-38h]
jmp	sub_10316E7

loc_103740E:
lea	ecx, [ebp-30h]
jmp	loc_10316AC

loc_1037416:
lea	ecx, [ebp-2Ch]
jmp	loc_10316AC

loc_103741E:
push	dword ptr [ebp-3Ch]
call	??3@YAXPAX@Z	; operator delete(void *)
pop	ecx
retn

loc_1037428:
lea	ecx, [ebp-40h]
jmp	??1CString@@QAE@XZ ; CString::~CString(void)

loc_1037430:
lea	ecx, [ebp-54h]
jmp	loc_10316AC

loc_1037438:
lea	ecx, [ebp-4Ch]
jmp	loc_10316AC

loc_1037440:
lea	ecx, [ebp-0B8h]
jmp	loc_10317F9

loc_103744B:
mov	eax, offset stru_103A5AC
jmp	loc_1034E02
db 5 dup(0CCh)
mov	ecx, offset unk_103E778
call	sub_100E892
push	offset loc_1037888
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103E888
call	sub_10096F6
push	offset loc_1037897
call	sub_1034E6D
pop	ecx
retn
align 10h
mov	ecx, offset unk_103E890
call	sub_100D0E9
push	offset loc_10378BF
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103E898
call	sub_100D0E9
push	offset loc_10378CE
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset hbm
call	sub_10096F6
push	offset loc_10378DD
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset stru_103E8A8
call	sub_10096F6
push	offset loc_10378EC
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103E90C
call	sub_1018647
push	offset loc_10379DC
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103E944
call	sub_1018667
push	offset loc_10379BE
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103E97C
call	sub_1018687
push	offset loc_10379CD
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103E9B4
call	sub_10185D8
push	offset loc_10379A0
call	sub_1034E6D
pop	ecx
retn
align 8
mov	ecx, offset unk_103E9EC
call	sub_1017579
push	offset loc_1037928
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103EA24
call	sub_101694C
push	offset loc_10379AF
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103EA5C
call	sub_10168FB
push	offset loc_1037937
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103EA94
call	sub_1016A44
push	offset loc_1037946
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103EACC
call	sub_1016A97
push	offset loc_1037955
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103EB04
call	sub_1016D90
push	offset loc_1037964
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103EB40
call	sub_10173EF
push	offset loc_1037973
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103EB78
call	sub_1017271
push	offset loc_1037982
call	sub_1034E6D
pop	ecx
retn
align 10h
mov	ecx, offset unk_103EBB4
call	sub_1017BF5
push	offset loc_1037991
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
push	18h
pop	ecx
push	ecx
mov	eax, ecx
push	eax
push	360h
mov	ecx, offset unk_103EC0C
call	sub_1018743
push	offset loc_10378FB
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
push	25h
pop	eax
push	17h
pop	ecx
push	ecx
push	eax
push	35Fh
mov	ecx, offset unk_103EC58
call	sub_1018743
push	offset loc_103790A
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
push	17h
pop	eax
push	9
pop	ecx
push	ecx
push	eax
push	35Eh
mov	ecx, offset unk_103ECA4
call	sub_1018743
push	offset loc_1037919
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103ED20
call	sub_100E892
push	offset loc_10379EB
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset dword_103EDF8
call	??0CString@@QAE@XZ ; CString::CString(void)
push	offset loc_1037A09
call	sub_1034E6D
pop	ecx
retn
align 8
mov	ecx, offset unk_103EE08
call	sub_101F522
push	offset loc_1037A18
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
db 8Bh,	0FFh
push	edi
or	eax, 0FFFFFFFFh
mov	edi, offset dword_103F160
stosd
stosd
stosd
stosd
pop	edi
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103F194
call	sub_10096F6
push	offset loc_1037A27
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103F19C
call	sub_10096F6
push	offset loc_1037A36
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103F1A4
call	sub_100D0E9
push	offset loc_1037A45
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103F1AC
call	sub_100D0E9
push	offset loc_1037A54
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset stru_103F1B4
call	sub_10096F6
push	offset loc_1037A63
call	sub_1034E6D
pop	ecx
retn
align 10h
mov	ecx, offset stru_103F1BC
call	sub_10096F6
push	offset loc_1037A72
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
mov	ecx, offset unk_103F1C8
call	sub_102E31C
push	offset loc_1037A81
call	sub_1034E6D
pop	ecx
retn
db 5 dup(0CCh)
dw 40B9h
dd 0E80103F2h, 0FFFF6B86h, 37A9068h, 0D663E801h
dd 0C359FFFFh, 0CCCCCCCCh, 0F2D8B9CCh, 1EE80103h
dd 68FFFF7Ah, 1037A9Fh,	0FFD648E8h, 0CCC359FFh
dd 0CCCCCCCCh, 3F35CB9h, 801BE801h, 0AE68FFFFh
dd 0E801037Ah, 0FFFFD62Dh, 0CCCCC359h, 0B9CCCCCCh
dd 103F3A0h, 0FF8089E8h, 7ABD68FFh, 12E80103h
dd 59FFFFD6h, 0CCCCCCC3h, 68CCCCh, 6A000006h
dd 0DEAAE800h, 74A2FFFFh, 0C30103F4h, 0CCCCCCCCh
db 0CCh

loc_1037879:
mov	ecx, offset dword_103E76C
jmp	sub_100AC04
align 8

loc_1037888:
mov	ecx, offset unk_103E778
jmp	sub_100E90A
db 5 dup(0CCh)

loc_1037897:
mov	ecx, offset unk_103E888
jmp	sub_1009708
db 5 dup(0CCh)

loc_10378A6:
push	offset sub_1009708
push	8
push	8
push	offset unk_103E8B0
call	sub_1034F5F
retn
db 5 dup(0CCh)

loc_10378BF:
mov	ecx, offset unk_103E890
jmp	sub_100AC04
db 5 dup(0CCh)

loc_10378CE:
mov	ecx, offset unk_103E898
jmp	sub_100AC04
db 5 dup(0CCh)

loc_10378DD:
mov	ecx, offset hbm
jmp	sub_1009708
db 5 dup(0CCh)

loc_10378EC:
mov	ecx, offset stru_103E8A8
jmp	sub_1009708
db 5 dup(0CCh)

loc_10378FB:
mov	ecx, offset unk_103EC0C
jmp	sub_10187A8
db 5 dup(0CCh)

loc_103790A:
mov	ecx, offset unk_103EC58
jmp	sub_10187A8
db 5 dup(0CCh)

loc_1037919:
mov	ecx, offset unk_103ECA4
jmp	sub_10187A8
align 8

loc_1037928:
mov	ecx, offset unk_103E9EC
jmp	sub_1015CF2
db 5 dup(0CCh)

loc_1037937:
mov	ecx, offset unk_103EA5C
jmp	sub_1015CF2
db 5 dup(0CCh)

loc_1037946:
mov	ecx, offset unk_103EA94
jmp	sub_1015CF2
db 5 dup(0CCh)

loc_1037955:
mov	ecx, offset unk_103EACC
jmp	sub_1015CF2
db 5 dup(0CCh)

loc_1037964:
mov	ecx, offset unk_103EB04
jmp	sub_1015CF2
db 5 dup(0CCh)

loc_1037973:
mov	ecx, offset unk_103EB40
jmp	sub_1015CF2
db 5 dup(0CCh)

loc_1037982:
mov	ecx, offset unk_103EB78
jmp	sub_1015CF2
db 5 dup(0CCh)

loc_1037991:
mov	ecx, offset unk_103EBB4
jmp	sub_1015CF2
align 10h

loc_10379A0:
mov	ecx, offset unk_103E9B4
jmp	sub_1015CF2
db 5 dup(0CCh)

loc_10379AF:
mov	ecx, offset unk_103EA24
jmp	sub_1015CF2
db 5 dup(0CCh)

loc_10379BE:
mov	ecx, offset unk_103E944
jmp	sub_1015CF2
db 5 dup(0CCh)

loc_10379CD:
mov	ecx, offset unk_103E97C
jmp	sub_1015CF2
db 5 dup(0CCh)

loc_10379DC:
mov	ecx, offset unk_103E90C
jmp	sub_1015CF2
db 5 dup(0CCh)

loc_10379EB:
mov	ecx, offset unk_103ED20
jmp	sub_100E90A
db 5 dup(0CCh)

loc_10379FA:
mov	ecx, offset dword_103EDEC
jmp	??1CString@@QAE@XZ ; CString::~CString(void)
db 5 dup(0CCh)

loc_1037A09:
mov	ecx, offset dword_103EDF8
jmp	??1CString@@QAE@XZ ; CString::~CString(void)
align 8

loc_1037A18:
mov	ecx, offset unk_103EE08
jmp	sub_101EC59
db 5 dup(0CCh)

loc_1037A27:
mov	ecx, offset unk_103F194
jmp	sub_1009708
db 5 dup(0CCh)

loc_1037A36:
mov	ecx, offset unk_103F19C
jmp	sub_1009708
db 5 dup(0CCh)

loc_1037A45:
mov	ecx, offset unk_103F1A4
jmp	sub_100AC04
db 5 dup(0CCh)

loc_1037A54:
mov	ecx, offset unk_103F1AC
jmp	sub_100AC04
db 5 dup(0CCh)

loc_1037A63:
mov	ecx, offset stru_103F1B4
jmp	sub_1009708
db 5 dup(0CCh)

loc_1037A72:
mov	ecx, offset stru_103F1BC
jmp	sub_1009708
db 5 dup(0CCh)

loc_1037A81:
mov	ecx, offset unk_103F1C8
jmp	sub_102E2FA
align 10h
mov	ecx, offset unk_103F240
jmp	sub_102E3CF
db 5 dup(0CCh)
mov	ecx, offset unk_103F2D8
jmp	sub_102F1E6
db 5 dup(0CCh)
mov	ecx, offset unk_103F35C
jmp	sub_1015CF2
db 5 dup(0CCh)
mov	ecx, offset unk_103F3A0
jmp	sub_102FA18
align 4
stru_1037AC8 _msExcInfo	<-1, offset loc_1035745>
stru_1037AD0 _msExcept7	<19930520h, 1, \
	    offset stru_1037AC8, 0, 0, \
	    0>
stru_1037AEC _msExcInfo	<-1, offset loc_103575C>
_msExcInfo <0, offset loc_1035764>
_msExcInfo <1, offset loc_1035772>
_msExcInfo <2, offset loc_1035780>
stru_1037B0C _msExcept7	<19930520h, 4, \
	    offset stru_1037AEC, 0, 0, \
	    0>
stru_1037B28 _msExcInfo	<-1, offset loc_103579D>
stru_1037B30 _msExcept7	<19930520h, 1, \
	    offset stru_1037B28, 0, 0, \
	    0>
dd 0FFFFFFFFh, 10357B4h, 4 dup(0)
dd 0FFFFFFFFh, 10357BCh, 0
dd offset off_103D19C
dd 8, 1009F06h,	2 dup(1), 2, 1,	1037B6Ch
dword_1037B90 dd 19930520h, 4, 1037B4Ch, 1, 1037B7Ch, 2	dup(0)
stru_1037BAC _msExcInfo	<-1, offset loc_10357D3>
_msExcInfo <0, offset loc_10357DB>
_msExcInfo <1, offset loc_10357E3>
_msExcInfo <2, offset loc_10357EB>
_msExcInfo <3, offset loc_10357F3>
stru_1037BD4 _msExcept7	<19930520h, 5, \
	    offset stru_1037BAC, 0, 0, \
	    0>
stru_1037BF0 _msExcInfo	<-1, offset loc_103580A>
_msExcInfo <0, offset loc_1035812>
stru_1037C00 _msExcept7	<19930520h, 2, \
	    offset stru_1037BF0, 0, 0, \
	    0>
stru_1037C1C _msExcInfo	<-1, offset loc_103582C>
stru_1037C24 _msExcept7	<19930520h, 1, \
	    offset stru_1037C1C, 0, 0, \
	    0>
dd 0FFFFFFFFh, 1035843h, 0
dd offset loc_103584B
dd 1, 1035853h,	2, 0
dd 2, 2	dup(0)
dd offset off_103D23C
dd 0FFFFFFE4h, 100B0A0h, 2 dup(3), 4, 1
dd 1037C68h
dword_1037C8C dd 19930520h, 5, 1037C40h, 1, 1037C78h, 2	dup(0)
stru_1037CA8 _msExcInfo	<-1, offset loc_103586A>
_msExcInfo <0, offset loc_1035872>
_msExcInfo <1, offset loc_103587A>
_msExcInfo <2, offset loc_1035882>
stru_1037CC8 _msExcept7	<19930520h, 4, \
	    offset stru_1037CA8, 0, 0, \
	    0>
stru_1037CE4 _msExcInfo	<-1, offset loc_1035899>
stru_1037CEC _msExcept7	<19930520h, 1, \
	    offset stru_1037CE4, 0, 0, \
	    0>
stru_1037D08 _msExcInfo	<-1, offset loc_10358B0>
stru_1037D10 _msExcept7	<19930520h, 1, \
	    offset stru_1037D08, 0, 0, \
	    0>
stru_1037D2C _msExcInfo	<-1, offset loc_10358C8>
_msExcInfo <0, offset loc_10358D0>
stru_1037D3C _msExcept7	<19930520h, 2, \
	    offset stru_1037D2C, 0, 0, \
	    0>
dd 0FFFFFFFFh, 10358EAh, 0
dd offset loc_10358F5
dd 0
dd offset loc_1035900
dd 2, 103590Bh,	3, 1035916h, 4,	1035921h
dd 5, 0
db 5, 4	dup(0)
align 4
dd 0
dd offset off_103D23C
db 0CCh
db 0FDh, 2 dup(0FFh)
dd offset loc_100BB60
dd 2 dup(6), 7,	1, 1037D98h
dword_1037DBC dd 19930520h, 8, 1037D58h, 1, 1037DA8h, 2	dup(0)
stru_1037DD8 _msExcInfo	<-1, offset loc_103593B>
_msExcInfo <0, offset loc_1035943>
stru_1037DE8 _msExcept7	<19930520h, 2, \
	    offset stru_1037DD8, 0, 0, \
	    0>
stru_1037E04 _msExcInfo	<-1, offset loc_103595A>
stru_1037E0C _msExcept7	<19930520h, 1, \
	    offset stru_1037E04, 0, 0, \
	    0>
stru_1037E28 _msExcInfo	<-1, offset loc_1035971>
stru_1037E30 _msExcept7	<19930520h, 1, \
	    offset stru_1037E28, 0, 0, \
	    0>
stru_1037E4C _msExcInfo	<-1, offset loc_1035988>
stru_1037E54 _msExcept7	<19930520h, 1, \
	    offset stru_1037E4C, 0, 0, \
	    0>
stru_1037E70 _msExcInfo	<-1, offset loc_10359A2>
stru_1037E78 _msExcept7	<19930520h, 1, \
	    offset stru_1037E70, 0, 0, \
	    0>
stru_1037E94 _msExcInfo	<-1, offset loc_10359BA>
stru_1037E9C _msExcept7	<19930520h, 1, \
	    offset stru_1037E94, 0, 0, \
	    0>
stru_1037EB8 _msExcInfo	<-1, offset loc_10359D1>
_msExcInfo <0, offset loc_10359D9>
_msExcInfo <1, offset loc_10359E4>
stru_1037ED0 _msExcept7	<19930520h, 3, \
	    offset stru_1037EB8, 0, 0, \
	    0>
stru_1037EEC _msExcInfo	<-1, offset loc_10359FE>
_msExcInfo <0, offset loc_1035A06>
stru_1037EFC _msExcept7	<19930520h, 2, \
	    offset stru_1037EEC, 0, 0, \
	    0>
stru_1037F18 _msExcInfo	<-1, offset loc_1035A30>
_msExcInfo <0, offset loc_1035A20>
_msExcInfo <1, offset loc_1035A28>
stru_1037F30 _msExcept7	<19930520h, 3, \
	    offset stru_1037F18, 0, 0, \
	    0>
stru_1037F4C _msExcInfo	<-1, offset loc_1035A58>
_msExcInfo <0, offset loc_1035A60>
stru_1037F5C _msExcept7	<19930520h, 2, \
	    offset stru_1037F4C, 0, 0, \
	    0>
stru_1037F78 _msExcInfo	<-1, offset loc_1035A77>
_msExcInfo <0, offset loc_1035A82>
_msExcInfo <1, offset loc_1035A8D>
_msExcInfo <2, offset loc_1035A98>
_msExcInfo <3, offset loc_1035AA3>
stru_1037FA0 _msExcept7	<19930520h, 5, \
	    offset stru_1037F78, 0, 0, \
	    0>
stru_1037FBC _msExcInfo	<-1, offset loc_1035ABD>
stru_1037FC4 _msExcept7	<19930520h, 1, \
	    offset stru_1037FBC, 0, 0, \
	    0>
stru_1037FE0 _msExcInfo	<-1, offset loc_1035AD4>
stru_1037FE8 _msExcept7	<19930520h, 1, \
	    offset stru_1037FE0, 0, 0, \
	    0>
stru_1038004 _msExcInfo	<-1, offset loc_1035AEB>
stru_103800C _msExcept7	<19930520h, 1, \
	    offset stru_1038004, 0, 0, \
	    0>
stru_1038028 _msExcInfo	<-1, offset loc_1035B05>
stru_1038030 _msExcept7	<19930520h, 1, \
	    offset stru_1038028, 0, 0, \
	    0>
stru_103804C _msExcInfo	<-1, offset loc_1035B1C>
_msExcInfo <0, offset loc_1035B24>
_msExcInfo <1, offset loc_1035B2F>
_msExcInfo <2, offset loc_1035B3A>
_msExcInfo <3, offset loc_1035B45>
stru_1038074 _msExcept7	<19930520h, 5, \
	    offset stru_103804C, 0, 0, \
	    0>
stru_1038090 _msExcInfo	<-1, offset loc_1035B5F>
_msExcInfo <0, offset loc_1035B67>
_msExcInfo <1, offset loc_1035B72>
_msExcInfo <2, offset loc_1035B7D>
_msExcInfo <3, offset loc_1035B88>
_msExcInfo <4, offset loc_1035B93>
_msExcInfo <5, offset loc_1035B9E>
stru_10380C8 _msExcept7	<19930520h, 7, \
	    offset stru_1038090, 0, 0, \
	    0>
stru_10380E4 _msExcInfo	<-1, offset loc_1035BB8>
_msExcInfo <0, offset loc_1035BC0>
_msExcInfo <1, offset loc_1035BC8>
_msExcInfo <2, offset loc_1035BD0>
stru_1038104 _msExcept7	<19930520h, 4, \
	    offset stru_10380E4, 0, 0, \
	    0>
stru_1038120 _msExcInfo	<-1, offset loc_1035BE7>
_msExcInfo <0, offset loc_1035BEF>
stru_1038130 _msExcept7	<19930520h, 2, \
	    offset stru_1038120, 0, 0, \
	    0>
stru_103814C _msExcInfo	<-1, offset loc_1035C06>
_msExcInfo <0, offset loc_1035C0E>
_msExcInfo <1, offset loc_1035C16>
stru_1038164 _msExcept7	<19930520h, 3, \
	    offset stru_103814C, 0, 0, \
	    0>
stru_1038180 _msExcInfo	<-1, offset loc_1035C2D>
_msExcInfo <0, offset loc_1035C35>
_msExcInfo <1, offset loc_1035C3D>
_msExcInfo <2, offset loc_1035C45>
stru_10381A0 _msExcept7	<19930520h, 4, \
	    offset stru_1038180, 0, 0, \
	    0>
stru_10381BC _msExcInfo	<-1, offset loc_1035C5C>
_msExcInfo <0, offset loc_1035C64>
_msExcInfo <1, offset loc_1035C6C>
_msExcInfo <2, offset loc_1035C74>
stru_10381DC _msExcept7	<19930520h, 4, \
	    offset stru_10381BC, 0, 0, \
	    0>
stru_10381F8 _msExcInfo	<-1, offset loc_1035C8B>
_msExcInfo <0, offset loc_1035C93>
_msExcInfo <1, offset loc_1035C9B>
_msExcInfo <2, offset loc_1035CA3>
stru_1038218 _msExcept7	<19930520h, 4, \
	    offset stru_10381F8, 0, 0, \
	    0>
stru_1038234 _msExcInfo	<-1, offset loc_1035CBA>
stru_103823C _msExcept7	<19930520h, 1, \
	    offset stru_1038234, 0, 0, \
	    0>
stru_1038258 _msExcInfo	<-1, offset loc_1035CD1>
_msExcInfo <0, offset loc_1035CD9>
stru_1038268 _msExcept7	<19930520h, 2, \
	    offset stru_1038258, 0, 0, \
	    0>
stru_1038284 _msExcInfo	<-1, offset loc_1035CF0>
_msExcInfo <0, offset loc_1035CFB>
_msExcInfo <1, offset loc_1035D06>
_msExcInfo <1, offset loc_1035D0E>
_msExcInfo <3, offset loc_1035D16>
_msExcInfo <4, offset loc_1035D1E>
_msExcInfo <3, offset loc_1035D27>
_msExcInfo <6, offset loc_1035D32>
_msExcInfo <3, offset loc_1035D3A>
stru_10382CC _msExcept7	<19930520h, 9, \
	    offset stru_1038284, 0, 0, \
	    0>
stru_10382E8 _msExcInfo	<-1, offset loc_1035D51>
_msExcInfo <0, offset loc_1035D59>
stru_10382F8 _msExcept7	<19930520h, 2, \
	    offset stru_10382E8, 0, 0, \
	    0>
stru_1038314 _msExcInfo	<-1, offset loc_1035D70>
_msExcInfo <-1,	offset loc_1035D79>
stru_1038324 _msExcept7	<19930520h, 2, \
	    offset stru_1038314, 0, 0, \
	    0>
dd 0FFFFFFFFh, 1035D91h, 5 dup(0)
dd offset off_103D678
dd 0FFFFFFE8h, 10114E4h, 2 dup(1), 2, 1
dd 1038358h
dword_103837C dd 19930520h, 3, 1038340h, 1, 1038368h, 2	dup(0)
stru_1038398 _msExcInfo	<-1, offset loc_1035DA8>
_msExcInfo <0, offset loc_1035DB0>
stru_10383A8 _msExcept7	<19930520h, 2, \
	    offset stru_1038398, 0, 0, \
	    0>
stru_10383C4 _msExcInfo	<-1, offset loc_1035DC7>
_msExcInfo <0, offset loc_1035DCF>
_msExcInfo <1, offset loc_1035DDA>
_msExcInfo <2, offset loc_1035DE5>
_msExcInfo <3, offset loc_1035DED>
_msExcInfo <4, offset loc_1035DF5>
_msExcInfo <5, offset loc_1035DFD>
_msExcInfo <4, offset loc_1035E05>
_msExcInfo <7, offset loc_1035E0D>
stru_103840C _msExcept7	<19930520h, 9, \
	    offset stru_10383C4, 0, 0, \
	    0>
stru_1038428 _msExcInfo	<-1, offset loc_1035E24>
_msExcInfo <-1,	offset loc_1035E2C>
stru_1038438 _msExcept7	<19930520h, 2, \
	    offset stru_1038428, 0, 0, \
	    0>
stru_1038454 _msExcInfo	<-1, offset loc_1035E43>
_msExcInfo <0, offset loc_1035E4B>
stru_1038464 _msExcept7	<19930520h, 2, \
	    offset stru_1038454, 0, 0, \
	    0>
dd 0FFFFFFFFh, 1035E62h, 5 dup(0)
dd offset off_103D23C
dd 0FFFFFFECh, 1011D95h, 2 dup(1), 2, 1
dd 1038498h
dword_10384BC dd 19930520h, 3, 1038480h, 1, 10384A8h, 2	dup(0)
stru_10384D8 _msExcInfo	<-1, offset loc_1035E79>
_msExcInfo <0, offset loc_1035E81>
_msExcInfo <1, offset loc_1035E8C>
stru_10384F0 _msExcept7	<19930520h, 3, \
	    offset stru_10384D8, 0, 0, \
	    0>
stru_103850C _msExcInfo	<-1, offset loc_1035EA6>
stru_1038514 _msExcept7	<19930520h, 1, \
	    offset stru_103850C, 0, 0, \
	    0>
stru_1038530 _msExcInfo	<-1, offset loc_1035EBD>
stru_1038538 _msExcept7	<19930520h, 1, \
	    offset stru_1038530, 0, 0, \
	    0>
stru_1038554 _msExcInfo	<-1, offset loc_1035ED4>
_msExcInfo <0, offset loc_1035EDC>
stru_1038564 _msExcept7	<19930520h, 2, \
	    offset stru_1038554, 0, 0, \
	    0>
stru_1038580 _msExcInfo	<-1, offset loc_1035EF3>
stru_1038588 _msExcept7	<19930520h, 1, \
	    offset stru_1038580, 0, 0, \
	    0>
dd 0FFFFFFFFh, 1035F0Bh, 5 dup(0)
dd offset off_103D724
dd 0FFFFFFE8h, 10138DDh, 2 dup(1), 2, 1
dd 10385BCh
dword_10385E0 dd 19930520h, 3, 10385A4h, 1, 10385CCh, 2	dup(0)
dd 0FFFFFFFFh, 1035F22h, 0
dd offset loc_1035F2A
dd 1, 1035F32h,	2, 1035F3Ah, 3,	0
dd 3, 2	dup(0)
dd offset off_103D19C
dd 8, 10140EEh,	2 dup(4), 5, 1,	103862Ch
dword_1038650 dd 19930520h, 6, 10385FCh, 1, 103863Ch, 2	dup(0)
stru_103866C _msExcInfo	<-1, offset loc_1035F51>
stru_1038674 _msExcept7	<19930520h, 1, \
	    offset stru_103866C, 0, 0, \
	    0>
dd 0FFFFFFFFh, 1035F6Eh, 0
dd offset loc_1035F76
dd 1, 1035F7Eh,	2, 0
dd 2, 2	dup(0)
dd offset off_103D724
dd 0FFFFFFD4h, 101471Eh, 2 dup(3), 4, 1
dd 10386B8h
dword_10386DC dd 19930520h, 5, 1038690h, 1, 10386C8h, 2	dup(0)
stru_10386F8 _msExcInfo	<-1, offset loc_1035F95>
_msExcInfo <0, offset loc_1035F9D>
_msExcInfo <1, offset loc_1035FA5>
stru_1038710 _msExcept7	<19930520h, 3, \
	    offset stru_10386F8, 0, 0, \
	    0>
stru_103872C _msExcInfo	<-1, offset loc_1035FBC>
stru_1038734 _msExcept7	<19930520h, 1, \
	    offset stru_103872C, 0, 0, \
	    0>
stru_1038750 _msExcInfo	<-1, offset loc_1035FD3>
stru_1038758 _msExcept7	<19930520h, 1, \
	    offset stru_1038750, 0, 0, \
	    0>
stru_1038774 _msExcInfo	<-1, offset loc_1035FEA>
stru_103877C _msExcept7	<19930520h, 1, \
	    offset stru_1038774, 0, 0, \
	    0>
stru_1038798 _msExcInfo	<-1, offset loc_1036001>
stru_10387A0 _msExcept7	<19930520h, 1, \
	    offset stru_1038798, 0, 0, \
	    0>
stru_10387BC _msExcInfo	<-1, offset loc_1036018>
stru_10387C4 _msExcept7	<19930520h, 1, \
	    offset stru_10387BC, 0, 0, \
	    0>
stru_10387E0 _msExcInfo	<-1, offset loc_103602F>
_msExcInfo <0, offset loc_1036037>
_msExcInfo <1, offset loc_103603F>
_msExcInfo <2, offset loc_1036047>
stru_1038800 _msExcept7	<19930520h, 4, \
	    offset stru_10387E0, 0, 0, \
	    0>
stru_103881C _msExcInfo	<-1, offset loc_103605E>
_msExcInfo <0, offset loc_1036069>
_msExcInfo <1, offset loc_1036074>
stru_1038834 _msExcept7	<19930520h, 3, \
	    offset stru_103881C, 0, 0, \
	    0>
stru_1038850 _msExcInfo	<-1, offset loc_103608E>
_msExcInfo <0, offset loc_1036099>
_msExcInfo <1, offset loc_10360A4>
_msExcInfo <2, offset loc_10360AF>
stru_1038870 _msExcept7	<19930520h, 4, \
	    offset stru_1038850, 0, 0, \
	    0>
stru_103888C _msExcInfo	<-1, offset loc_10360C9>
stru_1038894 _msExcept7	<19930520h, 1, \
	    offset stru_103888C, 0, 0, \
	    0>
stru_10388B0 _msExcInfo	<-1, offset loc_10360E0>
stru_10388B8 _msExcept7	<19930520h, 1, \
	    offset stru_10388B0, 0, 0, \
	    0>
stru_10388D4 _msExcInfo	<-1, offset loc_10360F7>
stru_10388DC _msExcept7	<19930520h, 1, \
	    offset stru_10388D4, 0, 0, \
	    0>
stru_10388F8 _msExcInfo	<-1, offset loc_1036114>
stru_1038900 _msExcept7	<19930520h, 1, \
	    offset stru_10388F8, 0, 0, \
	    0>
dd 0FFFFFFFFh, 103612Bh, 5 dup(0)
dd offset off_103D724
dd 0FFFFFFDCh, 1019C6Ah, 2 dup(1), 2, 1
dd 1038934h
dword_1038958 dd 19930520h, 3, 103891Ch, 1, 1038944h, 2	dup(0)
stru_1038974 _msExcInfo	<-1, offset loc_1036142>
_msExcInfo <0, offset loc_103614A>
stru_1038984 _msExcept7	<19930520h, 2, \
	    offset stru_1038974, 0, 0, \
	    0>
stru_10389A0 _msExcInfo	<-1, offset loc_1036161>
stru_10389A8 _msExcept7	<19930520h, 1, \
	    offset stru_10389A0, 0, 0, \
	    0>
stru_10389C4 _msExcInfo	<-1, offset loc_1036178>
stru_10389CC _msExcept7	<19930520h, 1, \
	    offset stru_10389C4, 0, 0, \
	    0>
stru_10389E8 _msExcInfo	<-1, offset loc_103618F>
_msExcInfo <-1,	offset loc_1036198>
stru_10389F8 _msExcept7	<19930520h, 2, \
	    offset stru_10389E8, 0, 0, \
	    0>
stru_1038A14 _msExcInfo	<-1, offset loc_10361B0>
_msExcInfo <0, offset loc_10361B8>
_msExcInfo <1, offset loc_10361C6>
_msExcInfo <2, offset loc_10361D4>
_msExcInfo <3, offset loc_10361E2>
stru_1038A3C _msExcept7	<19930520h, 5, \
	    offset stru_1038A14, 0, 0, \
	    0>
stru_1038A58 _msExcInfo	<-1, offset loc_10361FF>
stru_1038A60 _msExcept7	<19930520h, 1, \
	    offset stru_1038A58, 0, 0, \
	    0>
stru_1038A7C _msExcInfo	<-1, offset loc_1036217>
stru_1038A84 _msExcept7	<19930520h, 1, \
	    offset stru_1038A7C, 0, 0, \
	    0>
stru_1038AA0 _msExcInfo	<-1, offset loc_103622E>
stru_1038AA8 _msExcept7	<19930520h, 1, \
	    offset stru_1038AA0, 0, 0, \
	    0>
stru_1038AC4 _msExcInfo	<-1, offset loc_1036246>
_msExcInfo <0, offset loc_103624E>
stru_1038AD4 _msExcept7	<19930520h, 2, \
	    offset stru_1038AC4, 0, 0, \
	    0>
dd 0FFFFFFFFh, 103626Bh, 5 dup(0)
dd offset off_103D678
dd 0FFFFFFECh, 101D024h, 2 dup(1), 2, 1
dd 1038B08h
dword_1038B2C dd 19930520h, 3, 1038AF0h, 1, 1038B18h, 2	dup(0)
stru_1038B48 _msExcInfo	<-1, offset loc_1036282>
stru_1038B50 _msExcept7	<19930520h, 1, \
	    offset stru_1038B48, 0, 0, \
	    0>
stru_1038B6C _msExcInfo	<-1, offset loc_1036299>
stru_1038B74 _msExcept7	<19930520h, 1, \
	    offset stru_1038B6C, 0, 0, \
	    0>
stru_1038B90 _msExcInfo	<-1, offset loc_10362B4>
stru_1038B98 _msExcept7	<19930520h, 1, \
	    offset stru_1038B90, 0, 0, \
	    0>
dd 0FFFFFFFFh, 10362CBh, 0
dd offset loc_10362D3
align 8
dd offset loc_10362DB
align 10h
dd offset loc_10362E3
dd 3, 10362EBh,	4, 0
dd 4, 2	dup(0)
dd offset off_103D678
dd 8, 101D575h,	2 dup(5), 6, 1,	1038BECh
dword_1038C10 dd 19930520h, 7, 1038BB4h, 1, 1038BFCh, 2	dup(0)
stru_1038C2C _msExcInfo	<-1, offset loc_1036302>
stru_1038C34 _msExcept7	<19930520h, 1, \
	    offset stru_1038C2C, 0, 0, \
	    0>
stru_1038C50 _msExcInfo	<-1, offset loc_103631A>
stru_1038C58 _msExcept7	<19930520h, 1, \
	    offset stru_1038C50, 0, 0, \
	    0>
stru_1038C74 _msExcInfo	<-1, offset loc_1036332>
_msExcInfo <0, offset loc_103633A>
stru_1038C84 _msExcept7	<19930520h, 2, \
	    offset stru_1038C74, 0, 0, \
	    0>
stru_1038CA0 _msExcInfo	<-1, offset loc_1036351>
stru_1038CA8 _msExcept7	<19930520h, 1, \
	    offset stru_1038CA0, 0, 0, \
	    0>
dd 0FFFFFFFFh, 1036368h, 0
dd offset loc_1036370
dd 1, 1036378h,	2, 1036383h, 3,	0
dd 4, 103638Bh,	3, 2 dup(0)
dd offset off_103D678
dd 0FFFFFFB4h, 101DD85h, 4, 5, 6, 1, 1038CFCh
dword_1038D20 dd 19930520h, 7, 1038CC4h, 1, 1038D0Ch, 2	dup(0)
dd 0FFFFFFFFh, 10363A2h, 0
dd offset loc_10363AA
dd 1, 10363B2h,	2, 10363BDh, 3,	0
dd 3, 2	dup(0)
dd offset off_103D678
dd 0FFFFFFE8h, 101DEDDh, 2 dup(4), 5, 1
dd 1038D6Ch
dword_1038D90 dd 19930520h, 6, 1038D3Ch, 1, 1038D7Ch, 2	dup(0)
stru_1038DAC _msExcInfo	<-1, offset loc_10363D4>
stru_1038DB4 _msExcept7	<19930520h, 1, \
	    offset stru_1038DAC, 0, 0, \
	    0>
stru_1038DD0 _msExcInfo	<-1, offset loc_10363EB>
_msExcInfo <0, offset loc_10363F3>
_msExcInfo <1, offset loc_1036401>
_msExcInfo <2, offset loc_103640F>
stru_1038DF0 _msExcept7	<19930520h, 4, \
	    offset stru_1038DD0, 0, 0, \
	    0>
stru_1038E0C _msExcInfo	<-1, offset loc_1036477>
stru_1038E14 _msExcept7	<19930520h, 1, \
	    offset stru_1038E0C, 0, 0, \
	    0>
stru_1038E30 _msExcInfo	<-1, offset loc_103642C>
_msExcInfo <0, offset loc_1036434>
_msExcInfo <1, offset loc_1036442>
_msExcInfo <2, offset loc_1036450>
_msExcInfo <3, offset loc_103645E>
stru_1038E58 _msExcept7	<19930520h, 5, \
	    offset stru_1038E30, 0, 0, \
	    0>
stru_1038E74 _msExcInfo	<-1, offset loc_103648E>
stru_1038E7C _msExcept7	<19930520h, 1, \
	    offset stru_1038E74, 0, 0, \
	    0>
stru_1038E98 _msExcInfo	<-1, offset loc_10364A5>
stru_1038EA0 _msExcept7	<19930520h, 1, \
	    offset stru_1038E98, 0, 0, \
	    0>
stru_1038EBC _msExcInfo	<-1, offset loc_10364BC>
stru_1038EC4 _msExcept7	<19930520h, 1, \
	    offset stru_1038EBC, 0, 0, \
	    0>
stru_1038EE0 _msExcInfo	<-1, offset loc_10364D4>
_msExcInfo <0, offset loc_10364DC>
_msExcInfo <1, offset loc_10364EA>
_msExcInfo <2, offset loc_10364F8>
_msExcInfo <3, offset loc_1036506>
_msExcInfo <4, offset loc_1036514>
_msExcInfo <5, offset loc_1036522>
_msExcInfo <6, offset loc_1036530>
_msExcInfo <7, offset loc_103653E>
_msExcInfo <8, offset loc_103654C>
_msExcInfo <9, offset loc_103655A>
_msExcInfo <10,	offset loc_1036568>
_msExcInfo <11,	offset loc_1036576>
_msExcInfo <12,	offset loc_1036584>
_msExcInfo <13,	offset loc_1036592>
stru_1038F58 _msExcept7	<19930520h, 15,	\
	    offset stru_1038EE0, 0, 0, \
	    0>
stru_1038F74 _msExcInfo	<-1, offset loc_10365AF>
_msExcInfo <0, offset loc_10365B7>
_msExcInfo <1, offset loc_10365BF>
_msExcInfo <2, offset loc_10365C7>
stru_1038F94 _msExcept7	<19930520h, 4, \
	    offset stru_1038F74, 0, 0, \
	    0>
stru_1038FB0 _msExcInfo	<-1, offset loc_10365DE>
_msExcInfo <0, offset loc_10365E6>
_msExcInfo <1, offset loc_10365F4>
_msExcInfo <2, offset loc_1036602>
_msExcInfo <3, offset loc_1036610>
_msExcInfo <4, offset loc_103661E>
_msExcInfo <5, offset loc_103662C>
_msExcInfo <6, offset loc_103663A>
_msExcInfo <7, offset loc_1036648>
_msExcInfo <8, offset loc_1036656>
_msExcInfo <9, offset loc_1036664>
_msExcInfo <10,	offset loc_1036672>
_msExcInfo <11,	offset loc_1036680>
_msExcInfo <12,	offset loc_103668E>
stru_1039020 _msExcept7	<19930520h, 14,	\
	    offset stru_1038FB0, 0, 0, \
	    0>
stru_103903C _msExcInfo	<-1, offset loc_10366AB>
_msExcInfo <-1,	offset loc_10366B7>
_msExcInfo <-1,	offset loc_10366C3>
stru_1039054 _msExcept7	<19930520h, 3, \
	    offset stru_103903C, 0, 0, \
	    0>
stru_1039070 _msExcInfo	<-1, offset loc_10366DD>
_msExcInfo <0, offset loc_10366E5>
stru_1039080 _msExcept7	<19930520h, 2, \
	    offset stru_1039070, 0, 0, \
	    0>
stru_103909C _msExcInfo	<-1, offset loc_10366FC>
_msExcInfo <0, offset loc_1036707>
_msExcInfo <1, offset loc_1036712>
_msExcInfo <2, offset loc_103671D>
_msExcInfo <3, offset loc_1036728>
_msExcInfo <4, offset loc_1036733>
_msExcInfo <5, offset loc_103673E>
_msExcInfo <5, offset loc_1036749>
_msExcInfo <5, offset loc_1036754>
_msExcInfo <5, offset loc_103675F>
_msExcInfo <5, offset loc_103676A>
_msExcInfo <5, offset loc_1036775>
_msExcInfo <5, offset loc_1036780>
_msExcInfo <12,	offset loc_103678B>
_msExcInfo <5, offset loc_1036796>
stru_1039114 _msExcept7	<19930520h, 15,	\
	    offset stru_103909C, 0, 0, \
	    0>
stru_1039130 _msExcInfo	<-1, offset loc_10367C7>
stru_1039138 _msExcept7	<19930520h, 1, \
	    offset stru_1039130, 0, 0, \
	    0>
stru_1039154 _msExcInfo	<-1, offset loc_10367DE>
_msExcInfo <-1,	offset loc_10367E7>
stru_1039164 _msExcept7	<19930520h, 2, \
	    offset stru_1039154, 0, 0, \
	    0>
stru_1039180 _msExcInfo	<-1, offset loc_10367FE>
stru_1039188 _msExcept7	<19930520h, 1, \
	    offset stru_1039180, 0, 0, \
	    0>
stru_10391A4 _msExcInfo	<-1, offset loc_1036815>
stru_10391AC _msExcept7	<19930520h, 1, \
	    offset stru_10391A4, 0, 0, \
	    0>
stru_10391C8 _msExcInfo	<-1, offset loc_103682C>
stru_10391D0 _msExcept7	<19930520h, 1, \
	    offset stru_10391C8, 0, 0, \
	    0>
stru_10391EC _msExcInfo	<-1, offset loc_1036844>
_msExcInfo <-1,	offset loc_103684C>
stru_10391FC _msExcept7	<19930520h, 2, \
	    offset stru_10391EC, 0, 0, \
	    0>
stru_1039218 _msExcInfo	<-1, offset loc_1036863>
stru_1039220 _msExcept7	<19930520h, 1, \
	    offset stru_1039218, 0, 0, \
	    0>
stru_103923C _msExcInfo	<-1, offset loc_103687B>
stru_1039244 _msExcept7	<19930520h, 1, \
	    offset stru_103923C, 0, 0, \
	    0>
stru_1039260 _msExcInfo	<-1, offset loc_1036892>
stru_1039268 _msExcept7	<19930520h, 1, \
	    offset stru_1039260, 0, 0, \
	    0>
stru_1039284 _msExcInfo	<-1, offset loc_10368AC>
stru_103928C _msExcept7	<19930520h, 1, \
	    offset stru_1039284, 0, 0, \
	    0>
stru_10392A8 _msExcInfo	<-1, offset loc_10368C3>
_msExcInfo <0, offset loc_10368CB>
stru_10392B8 _msExcept7	<19930520h, 2, \
	    offset stru_10392A8, 0, 0, \
	    0>
stru_10392D4 _msExcInfo	<-1, offset loc_10368E2>
_msExcInfo <0, offset loc_10368ED>
_msExcInfo <1, offset loc_10368F5>
stru_10392EC _msExcept7	<19930520h, 3, \
	    offset stru_10392D4, 0, 0, \
	    0>
stru_1039308 _msExcInfo	<-1, offset loc_103690C>
_msExcInfo <0, offset loc_1036914>
stru_1039318 _msExcept7	<19930520h, 2, \
	    offset stru_1039308, 0, 0, \
	    0>
stru_1039334 _msExcInfo	<-1, offset loc_103692C>
stru_103933C _msExcept7	<19930520h, 1, \
	    offset stru_1039334, 0, 0, \
	    0>
stru_1039358 _msExcInfo	<-1, offset loc_1036943>
_msExcInfo <0, offset loc_103694B>
_msExcInfo <1, offset loc_1036953>
stru_1039370 _msExcept7	<19930520h, 3, \
	    offset stru_1039358, 0, 0, \
	    0>
stru_103938C _msExcInfo	<-1, offset loc_103696A>
_msExcInfo <-1,	offset loc_1036973>
stru_103939C _msExcept7	<19930520h, 2, \
	    offset stru_103938C, 0, 0, \
	    0>
stru_10393B8 _msExcInfo	<-1, offset loc_103698B>
_msExcInfo <0, offset loc_1036993>
_msExcInfo <1, offset loc_103699E>
stru_10393D0 _msExcept7	<19930520h, 3, \
	    offset stru_10393B8, 0, 0, \
	    0>
stru_10393EC _msExcInfo	<-1, offset loc_10369B8>
stru_10393F4 _msExcept7	<19930520h, 1, \
	    offset stru_10393EC, 0, 0, \
	    0>
stru_1039410 _msExcInfo	<-1, offset loc_10369CF>
stru_1039418 _msExcept7	<19930520h, 1, \
	    offset stru_1039410, 0, 0, \
	    0>
stru_1039434 _msExcInfo	<-1, offset loc_10369E6>
stru_103943C _msExcept7	<19930520h, 1, \
	    offset stru_1039434, 0, 0, \
	    0>
stru_1039458 _msExcInfo	<-1, offset loc_1036A00>
_msExcInfo <0, offset loc_1036A08>
_msExcInfo <1, offset loc_1036A10>
stru_1039470 _msExcept7	<19930520h, 3, \
	    offset stru_1039458, 0, 0, \
	    0>
stru_103948C _msExcInfo	<-1, offset loc_1036A27>
_msExcInfo <0, offset loc_1036A2F>
_msExcInfo <1, offset loc_1036A37>
_msExcInfo <2, offset loc_1036A3F>
stru_10394AC _msExcept7	<19930520h, 4, \
	    offset stru_103948C, 0, 0, \
	    0>
stru_10394C8 _msExcInfo	<-1, offset loc_1036A56>
stru_10394D0 _msExcept7	<19930520h, 1, \
	    offset stru_10394C8, 0, 0, \
	    0>
stru_10394EC _msExcInfo	<-1, offset loc_1036A6D>
_msExcInfo <0, offset loc_1036A75>
_msExcInfo <1, offset loc_1036A7D>
_msExcInfo <2, offset loc_1036A85>
stru_103950C _msExcept7	<19930520h, 4, \
	    offset stru_10394EC, 0, 0, \
	    0>
stru_1039528 _msExcInfo	<-1, offset loc_1036A9C>
stru_1039530 _msExcept7	<19930520h, 1, \
	    offset stru_1039528, 0, 0, \
	    0>
stru_103954C _msExcInfo	<-1, offset loc_1036AB3>
stru_1039554 _msExcept7	<19930520h, 1, \
	    offset stru_103954C, 0, 0, \
	    0>
dd 0FFFFFFFFh, 1036ACAh, 0FFFFFFFFh, 1036AD3h
dd 1, 0
dd 1, 2	dup(0)
dd offset off_103D678
dd 0FFFFFFE8h, 1025563h, 2 dup(2), 3, 1
dd 1039590h
dword_10395B4 dd 19930520h, 4, 1039570h, 1, 10395A0h, 2	dup(0)
dd 0FFFFFFFFh, 1036AEAh, 5 dup(0)
dd offset off_103D23C
dd 8, 1025633h,	2 dup(1), 2, 1,	10395E8h
dword_103960C dd 19930520h, 3, 10395D0h, 1, 10395F8h, 2	dup(0)
stru_1039628 _msExcInfo	<-1, offset loc_1036B01>
stru_1039630 _msExcept7	<19930520h, 1, \
	    offset stru_1039628, 0, 0, \
	    0>
stru_103964C _msExcInfo	<-1, offset loc_1036B18>
_msExcInfo <0, offset loc_1036B20>
stru_103965C _msExcept7	<19930520h, 2, \
	    offset stru_103964C, 0, 0, \
	    0>
stru_1039678 _msExcInfo	<-1, offset loc_1036B3A>
stru_1039680 _msExcept7	<19930520h, 1, \
	    offset stru_1039678, 0, 0, \
	    0>
stru_103969C _msExcInfo	<-1, offset loc_1036B51>
stru_10396A4 _msExcept7	<19930520h, 1, \
	    offset stru_103969C, 0, 0, \
	    0>
stru_10396C0 _msExcInfo	<-1, offset loc_1036B68>
_msExcInfo <0, offset loc_1036B70>
_msExcInfo <1, offset loc_1036B7B>
stru_10396D8 _msExcept7	<19930520h, 3, \
	    offset stru_10396C0, 0, 0, \
	    0>
stru_10396F4 _msExcInfo	<-1, offset loc_1036B98>
stru_10396FC _msExcept7	<19930520h, 1, \
	    offset stru_10396F4, 0, 0, \
	    0>
stru_1039718 _msExcInfo	<-1, offset loc_1036BAF>
stru_1039720 _msExcept7	<19930520h, 1, \
	    offset stru_1039718, 0, 0, \
	    0>
stru_103973C _msExcInfo	<-1, offset loc_1036BC9>
stru_1039744 _msExcept7	<19930520h, 1, \
	    offset stru_103973C, 0, 0, \
	    0>
stru_1039760 _msExcInfo	<-1, offset loc_1036BE0>
stru_1039768 _msExcept7	<19930520h, 1, \
	    offset stru_1039760, 0, 0, \
	    0>
stru_1039784 _msExcInfo	<-1, offset loc_1036BF7>
stru_103978C _msExcept7	<19930520h, 1, \
	    offset stru_1039784, 0, 0, \
	    0>
stru_10397A8 _msExcInfo	<-1, offset loc_1036C0F>
stru_10397B0 _msExcept7	<19930520h, 1, \
	    offset stru_10397A8, 0, 0, \
	    0>
stru_10397CC _msExcInfo	<-1, offset loc_1036C26>
stru_10397D4 _msExcept7	<19930520h, 1, \
	    offset stru_10397CC, 0, 0, \
	    0>
stru_10397F0 _msExcInfo	<-1, offset loc_1036C3E>
stru_10397F8 _msExcept7	<19930520h, 1, \
	    offset stru_10397F0, 0, 0, \
	    0>
stru_1039814 _msExcInfo	<-1, offset loc_1036C55>
stru_103981C _msExcept7	<19930520h, 1, \
	    offset stru_1039814, 0, 0, \
	    0>
stru_1039838 _msExcInfo	<-1, offset loc_1036C6C>
stru_1039840 _msExcept7	<19930520h, 1, \
	    offset stru_1039838, 0, 0, \
	    0>
stru_103985C _msExcInfo	<-1, offset loc_1036C83>
_msExcInfo <0, offset loc_1036C8B>
stru_103986C _msExcept7	<19930520h, 2, \
	    offset stru_103985C, 0, 0, \
	    0>
stru_1039888 _msExcInfo	<-1, offset loc_1036CA5>
_msExcInfo <0, offset loc_1036CAD>
_msExcInfo <1, offset loc_1036CBB>
_msExcInfo <2, offset loc_1036CC9>
_msExcInfo <3, offset loc_1036CD7>
_msExcInfo <4, offset loc_1036CE5>
stru_10398B8 _msExcept7	<19930520h, 6, \
	    offset stru_1039888, 0, 0, \
	    0>
dd 0FFFFFFFFh, 1036D02h, 0
dd offset loc_1036D0A
dd 1, 0
dd 1, 2	dup(0)
dd offset off_103D19C
dd 0FFFFFFE4h, 1029739h, 2 dup(2), 3, 1
dd 10398F4h
dword_1039918 dd 19930520h, 4, 10398D4h, 1, 1039904h, 2	dup(0)
stru_1039934 _msExcInfo	<-1, offset loc_1036D21>
_msExcInfo <0, offset loc_1036D29>
stru_1039944 _msExcept7	<19930520h, 2, \
	    offset stru_1039934, 0, 0, \
	    0>
dd 0FFFFFFFFh, 1036D50h, 5 dup(0)
dd offset off_103E2F4
dd 0Ch,	1029DECh, 2 dup(1), 2, 1, 1039978h
dword_103999C dd 19930520h, 3, 1039960h, 1, 1039988h, 2	dup(0)
dd 0FFFFFFFFh, 1036D67h, 0
dd offset loc_1036D6F
dd 1, 0
dd 1, 2	dup(0)
dd offset off_103E2F4
dd 0FFFFFFE0h, 102A024h, 2 dup(2), 3, 1
dd 10399D8h
dword_10399FC dd 19930520h, 4, 10399B8h, 1, 10399E8h, 2	dup(0)
stru_1039A18 _msExcInfo	<-1, offset loc_1036D9E>
_msExcInfo <0, offset loc_1036DA6>
_msExcInfo <1, offset loc_1036DB4>
_msExcInfo <2, offset loc_1036DC2>
_msExcInfo <3, offset loc_1036DD0>
_msExcInfo <4, offset loc_1036DDE>
_msExcInfo <5, offset loc_1036DEC>
stru_1039A50 _msExcept7	<19930520h, 7, \
	    offset stru_1039A18, 0, 0, \
	    0>
stru_1039A6C _msExcInfo	<-1, offset loc_1036E04>
_msExcInfo <0, offset loc_1036E0C>
_msExcInfo <1, offset loc_1036E1A>
_msExcInfo <2, offset loc_1036E28>
_msExcInfo <3, offset loc_1036E36>
_msExcInfo <4, offset loc_1036E44>
_msExcInfo <5, offset loc_1036E52>
stru_1039AA4 _msExcept7	<19930520h, 7, \
	    offset stru_1039A6C, 0, 0, \
	    0>
stru_1039AC0 _msExcInfo	<-1, offset loc_1036E6A>
_msExcInfo <-1,	offset loc_1036E74>
stru_1039AD0 _msExcept7	<19930520h, 2, \
	    offset stru_1039AC0, 0, 0, \
	    0>
stru_1039AEC _msExcInfo	<-1, offset loc_1036E8D>
_msExcInfo <0, offset loc_1036E95>
stru_1039AFC _msExcept7	<19930520h, 2, \
	    offset stru_1039AEC, 0, 0, \
	    0>
dd 0FFFFFFFFh, 1036EACh, 0
dd offset loc_1036EB4
dd 1, 0
dd 1, 2	dup(0)
dd offset loc_1036EBC
dd 4, 0
dd 4, 2	dup(0)
dd offset off_103D19C
dd 0FFFFFFD8h, 102A735h, 0
dd offset off_103D19C
dd 0FFFFFFE0h, 102A843h, 2 dup(2), 3, 1
dd 1039B50h, 2 dup(5), 6, 1, 1039B60h
dword_1039B98 dd 19930520h, 7, 1039B18h, 2, 1039B70h, 2	dup(0)
dd 0FFFFFFFFh, 1036ED3h, 0
dd offset loc_1036EDB
dd 1, 1036EE3h,	2, 0
dd 3, 1036EEBh,	4, 0
dd 4, 0
dd 2, 2	dup(0)
dd offset off_103D19C
dd 0FFFFFFE4h, 102AA54h, 0
dd offset off_103E2F4
dd 0FFFFFFE0h, 102AA70h, 2 dup(5), 6, 1
dd 1039BF4h, 3,	6, 7, 1, 1039C04h
dword_1039C3C dd 19930520h, 8, 1039BB4h, 2, 1039C14h, 2	dup(0)
stru_1039C58 _msExcInfo	<-1, offset loc_1036D86>
stru_1039C60 _msExcept7	<19930520h, 1, \
	    offset stru_1039C58, 0, 0, \
	    0>
dd 0FFFFFFFFh, 1036F02h, 2 dup(0)
dd 1, 1036F0Ah,	3 dup(0)
dd offset off_103D19C
dd 0FFFFFFE4h, 102ABD3h, 1, 2, 3, 1, 1039C9Ch
dword_1039CC0 dd 19930520h, 4, 1039C7Ch, 1, 1039CACh, 2	dup(0)
dd 0FFFFFFFFh, 1036F21h, 0
dd offset loc_1036F29
dd 1, 0
dd 1, 2	dup(0)
dd offset off_103D724
dd 0FFFFFFECh, 102AF70h, 2 dup(2), 3, 1
dd 1039CFCh
dword_1039D20 dd 19930520h, 4, 1039CDCh, 1, 1039D0Ch, 2	dup(0)
stru_1039D3C _msExcInfo	<-1, offset loc_1036F40>
stru_1039D44 _msExcept7	<19930520h, 1, \
	    offset stru_1039D3C, 0, 0, \
	    0>
stru_1039D60 _msExcInfo	<-1, offset loc_1036F57>
_msExcInfo <0, offset loc_1036F5F>
stru_1039D70 _msExcept7	<19930520h, 2, \
	    offset stru_1039D60, 0, 0, \
	    0>
stru_1039D8C _msExcInfo	<-1, offset loc_1036F77>
stru_1039D94 _msExcept7	<19930520h, 1, \
	    offset stru_1039D8C, 0, 0, \
	    0>
stru_1039DB0 _msExcInfo	<-1, offset loc_1036F8E>
_msExcInfo <0, offset loc_1036F96>
stru_1039DC0 _msExcept7	<19930520h, 2, \
	    offset stru_1039DB0, 0, 0, \
	    0>
stru_1039DDC _msExcInfo	<-1, offset loc_1036FAE>
stru_1039DE4 _msExcept7	<19930520h, 1, \
	    offset stru_1039DDC, 0, 0, \
	    0>
stru_1039E00 _msExcInfo	<-1, offset loc_1036FC5>
stru_1039E08 _msExcept7	<19930520h, 1, \
	    offset stru_1039E00, 0, 0, \
	    0>
dd 0FFFFFFFFh, 1036FDCh, 2 dup(0)
dd 1, 1036FE4h,	3 dup(0)
dd offset off_103D724
dd 0FFFFFFECh, 102BBD9h, 1, 2, 3, 1, 1039E44h
dword_1039E68 dd 19930520h, 4, 1039E24h, 1, 1039E54h, 2	dup(0)
stru_1039E84 _msExcInfo	<-1, offset loc_1036FFB>
stru_1039E8C _msExcept7	<19930520h, 1, \
	    offset stru_1039E84, 0, 0, \
	    0>
stru_1039EA8 _msExcInfo	<-1, offset loc_1037012>
_msExcInfo <0, offset loc_103701A>
_msExcInfo <1, offset loc_1037028>
stru_1039EC0 _msExcept7	<19930520h, 3, \
	    offset stru_1039EA8, 0, 0, \
	    0>
stru_1039EDC _msExcInfo	<-1, offset loc_1037040>
_msExcInfo <0, offset loc_1037048>
stru_1039EEC _msExcept7	<19930520h, 2, \
	    offset stru_1039EDC, 0, 0, \
	    0>
stru_1039F08 _msExcInfo	<-1, offset loc_1037065>
_msExcInfo <0, offset loc_103706D>
stru_1039F18 _msExcept7	<19930520h, 2, \
	    offset stru_1039F08, 0, 0, \
	    0>
stru_1039F34 _msExcInfo	<-1, offset loc_1037084>
stru_1039F3C _msExcept7	<19930520h, 1, \
	    offset stru_1039F34, 0, 0, \
	    0>
stru_1039F58 _msExcInfo	<-1, offset loc_103709B>
stru_1039F60 _msExcept7	<19930520h, 1, \
	    offset stru_1039F58, 0, 0, \
	    0>
stru_1039F7C _msExcInfo	<-1, offset loc_10370B2>
_msExcInfo <0, offset loc_10370BA>
_msExcInfo <1, offset loc_10370C5>
stru_1039F94 _msExcept7	<19930520h, 3, \
	    offset stru_1039F7C, 0, 0, \
	    0>
stru_1039FB0 _msExcInfo	<-1, offset loc_10370DC>
stru_1039FB8 _msExcept7	<19930520h, 1, \
	    offset stru_1039FB0, 0, 0, \
	    0>
stru_1039FD4 _msExcInfo	<-1, offset loc_10370F3>
stru_1039FDC _msExcept7	<19930520h, 1, \
	    offset stru_1039FD4, 0, 0, \
	    0>
dd 0FFFFFFFFh, 103710Ah, 5 dup(0)
dd offset off_103D19C
dd 8, 102E56Ch,	2 dup(1), 2, 1,	103A010h
dword_103A034 dd 19930520h, 3, 1039FF8h, 1, 103A020h, 2	dup(0)
dd 0FFFFFFFFh, 1037121h, 5 dup(0)
dd offset off_103D19C
dd 0Ch,	102E823h, 2 dup(1), 2, 1, 103A068h
dword_103A08C dd 19930520h, 3, 103A050h, 1, 103A078h, 2	dup(0)
dd 0FFFFFFFFh, 1037138h, 2 dup(0)
dd 1, 1037140h,	3 dup(0)
dd offset off_103D19C
dd 0FFFFFFE0h, 102ED78h, 1, 2, 3, 1, 103A0C8h
dword_103A0EC dd 19930520h, 4, 103A0A8h, 1, 103A0D8h, 2	dup(0)
dd 0FFFFFFFFh, 1037159h, 5 dup(0)
dd offset off_103D19C
dd 0FFFFFFECh, 102F044h, 2 dup(1), 2, 1
dd 103A120h
dword_103A144 dd 19930520h, 3, 103A108h, 1, 103A130h, 2	dup(0)
stru_103A160 _msExcInfo	<-1, offset loc_1037170>
_msExcInfo <0, offset loc_1037178>
stru_103A170 _msExcept7	<19930520h, 2, \
	    offset stru_103A160, 0, 0, \
	    0>
stru_103A18C _msExcInfo	<-1, offset loc_1037192>
stru_103A194 _msExcept7	<19930520h, 1, \
	    offset stru_103A18C, 0, 0, \
	    0>
stru_103A1B0 _msExcInfo	<-1, offset loc_10371A9>
stru_103A1B8 _msExcept7	<19930520h, 1, \
	    offset stru_103A1B0, 0, 0, \
	    0>
stru_103A1D4 _msExcInfo	<-1, offset loc_1037257>
_msExcInfo <0, offset loc_103725F>
stru_103A1E4 _msExcept7	<19930520h, 2, \
	    offset stru_103A1D4, 0, 0, \
	    0>
stru_103A200 _msExcInfo	<-1, offset loc_10371C1>
stru_103A208 _msExcept7	<19930520h, 1, \
	    offset stru_103A200, 0, 0, \
	    0>
stru_103A224 _msExcInfo	<-1, offset loc_10371D8>
_msExcInfo <0, offset loc_10371E0>
stru_103A234 _msExcept7	<19930520h, 2, \
	    offset stru_103A224, 0, 0, \
	    0>
stru_103A250 _msExcInfo	<-1, offset loc_10371FA>
stru_103A258 _msExcept7	<19930520h, 1, \
	    offset stru_103A250, 0, 0, \
	    0>
stru_103A274 _msExcInfo	<-1, offset loc_1037212>
stru_103A27C _msExcept7	<19930520h, 1, \
	    offset stru_103A274, 0, 0, \
	    0>
stru_103A298 _msExcInfo	<-1, offset loc_1037229>
stru_103A2A0 _msExcept7	<19930520h, 1, \
	    offset stru_103A298, 0, 0, \
	    0>
stru_103A2BC _msExcInfo	<-1, offset loc_1037240>
stru_103A2C4 _msExcept7	<19930520h, 1, \
	    offset stru_103A2BC, 0, 0, \
	    0>
stru_103A2E0 _msExcInfo	<-1, offset loc_1037279>
stru_103A2E8 _msExcept7	<19930520h, 1, \
	    offset stru_103A2E0, 0, 0, \
	    0>
stru_103A304 _msExcInfo	<-1, offset loc_1037290>
_msExcInfo <0, offset loc_1037298>
stru_103A314 _msExcept7	<19930520h, 2, \
	    offset stru_103A304, 0, 0, \
	    0>
dd 0FFFFFFFFh, 10372AFh, 0
dd offset loc_10372B7
dd 1, 0
dd 1, 2	dup(0)
dd offset off_103D678
dd 0FFFFFFE4h, 1030B2Ah, 2 dup(2), 3, 1
dd 103A350h
dword_103A374 dd 19930520h, 4, 103A330h, 1, 103A360h, 2	dup(0)
dd 0FFFFFFFFh, 10372CEh, 5 dup(0)
dd offset off_103D19C
dd 0FFFFFFECh, 10311A9h, 2 dup(1), 2, 1
dd 103A3A8h
dword_103A3CC dd 19930520h, 3, 103A390h, 1, 103A3B8h, 2	dup(0)
stru_103A3E8 _msExcInfo	<-1, offset loc_10372E5>
stru_103A3F0 _msExcept7	<19930520h, 1, \
	    offset stru_103A3E8, 0, 0, \
	    0>
stru_103A40C _msExcInfo	<-1, offset loc_1037362>
stru_103A414 _msExcept7	<19930520h, 1, \
	    offset stru_103A40C, 0, 0, \
	    0>
stru_103A430 _msExcInfo	<-1, offset loc_103732C>
stru_103A438 _msExcept7	<19930520h, 1, \
	    offset stru_103A430, 0, 0, \
	    0>
stru_103A454 _msExcInfo	<-1, offset loc_10372FF>
_msExcInfo <0, offset loc_1037307>
_msExcInfo <1, offset loc_1037312>
stru_103A46C _msExcept7	<19930520h, 3, \
	    offset stru_103A454, 0, 0, \
	    0>
stru_103A488 _msExcInfo	<-1, offset loc_1037343>
_msExcInfo <0, offset loc_103734B>
stru_103A498 _msExcept7	<19930520h, 2, \
	    offset stru_103A488, 0, 0, \
	    0>
stru_103A4B4 _msExcInfo	<-1, offset loc_1037379>
stru_103A4BC _msExcept7	<19930520h, 1, \
	    offset stru_103A4B4, 0, 0, \
	    0>
stru_103A4D8 _msExcInfo	<-1, offset loc_1037393>
_msExcInfo <0, offset loc_103739B>
stru_103A4E8 _msExcept7	<19930520h, 2, \
	    offset stru_103A4D8, 0, 0, \
	    0>
stru_103A504 _msExcInfo	<-1, offset loc_10373B2>
_msExcInfo <0, offset loc_10373BA>
_msExcInfo <1, offset loc_10373C5>
stru_103A51C _msExcept7	<19930520h, 3, \
	    offset stru_103A504, 0, 0, \
	    0>
stru_103A538 _msExcInfo	<-1, offset loc_10373DF>
stru_103A540 _msExcept7	<19930520h, 1, \
	    offset stru_103A538, 0, 0, \
	    0>
stru_103A55C _msExcInfo	<-1, offset loc_10373F6>
_msExcInfo <0, offset loc_10373FE>
_msExcInfo <1, offset loc_1037406>
_msExcInfo <2, offset loc_103740E>
_msExcInfo <3, offset loc_1037416>
_msExcInfo <4, offset loc_103741E>
_msExcInfo <4, offset loc_1037428>
_msExcInfo <6, offset loc_1037430>
_msExcInfo <7, offset loc_1037438>
_msExcInfo <8, offset loc_1037440>
stru_103A5AC _msExcept7	<19930520h, 10,	\
	    offset stru_103A55C, 0, 0, \
	    0>
gdiplus_dll_import_table dd 1 ;	Attributes
dd rva aGdiplus_dll	; "gdiplus.dll"
dd rva gdiplus_dll_handle ; Module handle
dd rva __imp_GdipSaveImageToStream ; Delayed Import Address Table
dd rva gdiplus_dll_dint	; Delayed Import Name Table
dd rva gdiplus_dll_dbiat ; Bound Delayed Import	Address	Table
dd 0			; Unload Delayed Import	Table
dd 0			; Time stamp
UxTheme_dll_import_table dd 1 ;	Attributes
dd rva aUxtheme_dll	; "UxTheme.dll"
dd rva UxTheme_dll_handle ; Module handle
dd rva DrawThemeBackground ; Delayed Import Address Table
dd rva UxTheme_dll_dint	; Delayed Import Name Table
dd rva UxTheme_dll_dbiat ; Bound Delayed Import	Address	Table
dd 0			; Unload Delayed Import	Table
dd 0			; Time stamp
dd 8 dup(0)
UxTheme_dll_dint dd rva	word_103A858 ; UxTheme.dll delayed import name table
dd rva word_103A836
dd rva word_103A846
dd 0
gdiplus_dll_dint dd rva	word_103A6C0 ; gdiplus.dll delayed import name table
dd rva word_103A6D8
dd rva word_103A6F0
dd rva word_103A706
dd rva word_103A720
dd rva word_103A73C
dd rva word_103A75A
dd rva word_103A6AC
dd rva word_103A78E
dd rva word_103A7AA
dd rva word_103A7C2
dd rva word_103A7CE
dd rva word_103A7DA
dd rva word_103A7EC
dd rva word_103A802
dd rva word_103A818
dd rva word_103A69A
dd rva word_103A776
dd rva word_103A688
dd 0
word_103A688 dw	0
aGdiplusshutdow	db 'GdiplusShutdown',0
word_103A69A dw	0
aGdiplusstartup	db 'GdiplusStartup',0
db 6Ch
word_103A6AC dw	0
aGdipdisposeima	db 'GdipDisposeImage',0
db 73h
word_103A6C0 dw	0
aGdipsaveimaget	db 'GdipSaveImageToStream',0
word_103A6D8 dw	0
aGdipgetimagera	db 'GdipGetImageRawFormat',0
word_103A6F0 dw	0
aGdipgetpropert	db 'GdipGetPropertySize',0
word_103A706 dw	0
aGdipgetallprop	db 'GdipGetAllPropertyItems',0
word_103A720 dw	0
aGdipcreatebitm	db 'GdipCreateBitmapFromFile',0
db 10h
word_103A73C dw	0
aGdipcreatebi_0	db 'GdipCreateBitmapFromFileICM',0
word_103A75A dw	0
aGdipgetimagede	db 'GdipGetImageDecodersSize',0
db 10h
word_103A776 dw	0
aGdipgetimage_1	db 'GdipGetImageDecoders',0
db 6Ch
word_103A78E dw	0
aGdipgetimageen	db 'GdipGetImageEncodersSize',0
db 10h
word_103A7AA dw	0
aGdipgetimage_0	db 'GdipGetImageEncoders',0
db 6Ch
word_103A7C2 dw	0
aGdipfree db 'GdipFree',0
align 2
word_103A7CE dw	0
aGdipalloc db 'GdipAlloc',0
word_103A7DA dw	0
aGdipcloneimage	db 'GdipCloneImage',0
db 6Ch
word_103A7EC dw	0
aGdipsaveimag_0	db 'GdipSaveImageToFile',0
word_103A802 dw	0
aGdipsetpropert	db 'GdipSetPropertyItem',0
word_103A818 dw	0
aGdipcreatebi_1	db 'GdipCreateBitmapFromHBITMAP',0
word_103A836 dw	0
aOpenthemedata db 'OpenThemeData',0
word_103A846 dw	0
aClosethemedata	db 'CloseThemeData',0
db 65h
word_103A858 dw	0
aDrawthemebackg	db 'DrawThemeBackground',0
align 10h
gdiplus_dll_dbiat dd 0	; gdiplus.dll bound delayed import address table
dd 13h dup(0)
UxTheme_dll_dbiat dd 0	; UxTheme.dll bound delayed import address table
align 10h
__IMPORT_DESCRIPTOR_MFC42u dd rva dword_103AC38	; Import Name Table
dd 0FFFFFFFFh		; Time stamp
dd 0FFFFFFFFh		; Forwarder Chain
dd rva aMfc42u_dll	; DLL Name
dd rva __imp_?GetCheckedRadioButton@CWnd@@QAEHHH@Z ; Import Address Table
__IMPORT_DESCRIPTOR_msvcrt dd rva off_103B790 ;	Import Name Table
dd 0FFFFFFFFh		; Time stamp
dd 0FFFFFFFFh		; Forwarder Chain
dd rva aMsvcrt_dll	; DLL Name
dd rva wcschr		; Import Address Table
__IMPORT_DESCRIPTOR_ADVAPI32 dd	rva off_103A9C0	; Import Name Table
dd 0FFFFFFFFh		; Time stamp
dd 0FFFFFFFFh		; Forwarder Chain
dd rva aAdvapi32_dll	; DLL Name
dd rva RegOpenKeyExA	; Import Address Table
__IMPORT_DESCRIPTOR_KERNEL32 dd	rva off_103AB40	; Import Name Table
dd 0FFFFFFFFh		; Time stamp
dd 0FFFFFFFFh		; Forwarder Chain
dd rva aKernel32_dll	; DLL Name
dd rva QueryPerformanceCounter ; Import	Address	Table
__IMPORT_DESCRIPTOR_GDI32 dd rva off_103A9E8 ; Import Name Table
dd 0FFFFFFFFh		; Time stamp
dd 0FFFFFFFFh		; Forwarder Chain
dd rva aGdi32_dll	; DLL Name
dd rva SetDIBitsToDevice ; Import Address Table
__IMPORT_DESCRIPTOR_USER32 dd rva off_103B5F0 ;	Import Name Table
dd 0FFFFFFFFh		; Time stamp
dd 0FFFFFFFFh		; Forwarder Chain
dd rva aUser32_dll	; DLL Name
dd rva SetClassLongW	; Import Address Table
__IMPORT_DESCRIPTOR_comdlg32 dd	rva off_103B77C	; Import Name Table
dd 0FFFFFFFFh		; Time stamp
dd 0FFFFFFFFh		; Forwarder Chain
dd rva aComdlg32_dll	; DLL Name
dd rva CommDlgExtendedError ; Import Address Table
__IMPORT_DESCRIPTOR_ole32 dd rva off_103B82C ; Import Name Table
dd 0FFFFFFFFh		; Time stamp
dd 0FFFFFFFFh		; Forwarder Chain
dd rva aOle32_dll	; DLL Name
dd rva CoUninitialize	; Import Address Table
__IMPORT_DESCRIPTOR_OLEAUT32 dd	rva dword_103B5D4 ; Import Name	Table
dd 0FFFFFFFFh		; Time stamp
dd 0FFFFFFFFh		; Forwarder Chain
dd rva aOleaut32_dll	; DLL Name
dd rva SysFreeString	; Import Address Table
__IMPORT_DESCRIPTOR_SHELL32 dd rva off_103B5E0 ; Import	Name Table
dd 0FFFFFFFFh		; Time stamp
dd 0FFFFFFFFh		; Forwarder Chain
dd rva aShell32_dll	; DLL Name
dd rva ShellAboutW	; Import Address Table
__IMPORT_DESCRIPTOR_IMM32 dd rva off_103AB20 ; Import Name Table
dd 0FFFFFFFFh		; Time stamp
dd 0FFFFFFFFh		; Forwarder Chain
dd rva aImm32_dll	; DLL Name
dd rva __imp_ImmGetCompositionStringW ;	Import Address Table
align 20h
;
; Import names for ADVAPI32.dll
;
off_103A9C0 dd rva word_103CBCE
dd rva word_103BA64
dd rva word_103BA72
dd rva word_103BA86
dd rva word_103BA96
dd rva word_103BAA8
dd rva word_103BABA
dd rva word_103BAC8
dd rva word_103CBBA
dd 0
;
; Import names for GDI32.dll
;
off_103A9E8 dd rva word_103C194
dd rva word_103C182
dd rva word_103C172
dd rva word_103C15E
dd rva word_103C14E
dd rva word_103C144
dd rva word_103C136
dd rva word_103C12C
dd rva word_103C120
dd rva word_103C114
dd rva word_103C100
dd rva word_103C0EE
dd rva word_103C0E4
dd rva word_103C0D0
dd rva word_103C0BC
dd rva word_103C0A6
dd rva word_103C092
dd rva word_103C082
dd rva word_103C068
dd rva word_103C054
dd rva word_103C040
dd rva word_103C030
dd rva word_103C024
dd rva word_103C014
dd rva word_103C008
dd rva word_103BFEE
dd rva word_103BFDE
dd rva word_103BFCE
dd rva word_103BFBC
dd rva word_103BFB0
dd rva word_103BFA0
dd rva word_103BF92
dd rva word_103BF88
dd rva word_103C1A8
dd rva word_103BF68
dd rva word_103BF5A
dd rva word_103BF48
dd rva word_103BF30
dd rva word_103BF26
dd rva word_103BF10
dd rva word_103BF04
dd rva word_103BEEC
dd rva word_103BEDE
dd rva word_103C1BC
dd rva word_103C1CE
dd rva word_103C1DC
dd rva word_103C1E8
dd rva word_103C1F2
dd rva word_103C1FE
dd rva word_103C216
dd rva word_103C222
dd rva word_103C24C
dd rva word_103C258
dd rva word_103C262
dd rva word_103C26E
dd rva word_103C280
dd rva word_103C290
dd rva word_103C2A0
dd rva word_103C2AC
dd rva word_103C2C0
dd rva word_103C2D6
dd rva word_103C2E2
dd rva word_103C2EE
dd rva word_103C2FC
dd rva word_103C308
dd rva word_103C312
dd rva word_103C322
dd rva word_103C33A
dd rva word_103C346
dd rva word_103C356
dd rva word_103C36A
dd rva word_103C380
dd rva word_103C38E
dd rva word_103C398
dd rva word_103BF78
dd rva word_103C242
dd rva word_103C22E
dd 0
;
; Import names for IMM32.dll
;
off_103AB20 dd rva word_103CB84
dd rva word_103CB6A
dd rva word_103CB5A
dd rva word_103CB40
dd rva word_103CB2C
dd rva word_103CB16
dd rva word_103CBA0
dd 0
;
; Import names for KERNEL32.dll
;
off_103AB40 dd rva word_103BDFC
dd rva word_103BDE8
dd rva word_103BDD6
dd rva word_103BDBE
dd rva word_103BDA6
dd rva word_103BD96
dd rva word_103BD8A
dd rva word_103BD78
dd rva word_103BD6C
dd rva word_103BD5C
dd rva word_103BD52
dd rva word_103BD40
dd rva word_103BD2C
dd rva word_103BD1C
dd rva word_103BD08
dd rva word_103BCFC
dd rva word_103BCEC
dd rva word_103BCDA
dd rva word_103BCCE
dd rva word_103BCBC
dd rva word_103BCAC
dd rva word_103BC9A
dd rva word_103BC8E
dd rva word_103BE16
dd rva word_103BC70
dd rva word_103BC64
dd rva word_103BC58
dd rva word_103BC42
dd rva word_103BC32
dd rva word_103BC1E
dd rva word_103BC08
dd rva word_103BBF4
dd rva word_103BBE6
dd rva word_103BBD8
dd rva word_103BBCA
dd rva word_103BBB0
dd rva word_103BB98
dd rva word_103BB86
dd rva word_103BB74
dd rva word_103BB66
dd rva word_103BB52
dd rva word_103BB48
dd rva word_103BB36
dd rva word_103BB2A
dd rva word_103BB1C
dd rva word_103BB0C
dd rva word_103BAFE
dd rva word_103BAF0
dd rva word_103BAE4
dd rva word_103BE2C
dd rva word_103BE42
dd rva word_103BE5C
dd rva word_103BE70
dd rva word_103BE84
dd rva word_103BEA0
dd rva word_103BC7E
dd rva word_103CBDE
dd rva word_103CBEE
dd rva word_103CBFC
dd rva word_103CC12
dd rva word_103BEBE
dd 0
;
; Import names for MFC42u.DLL
;
dword_103AC38 dd 80000B75h
dd 80000A4Ah
dd 80000C0Fh
dd 80000FD2h
dd 80000AC3h
dd 80001833h
dd 80000AFAh
dd 800006EBh
dd 800003ACh
dd 800003AEh
dd 800008EEh
dd 80000932h
dd 800002F3h
dd 800001D6h
dd 800008E9h
dd 8000093Ah
dd 80001809h
dd 8000141Bh
dd 80001081h
dd 80000943h
dd 80001698h
dd 8000169Eh
dd 80001697h
dd 80001106h
dd 8000147Ch
dd 80000DFAh
dd 8000012Ah
dd 8000026Ch
dd 80001291h
dd 80000E67h
dd 80000F1Bh
dd 80000812h
dd 800004E9h
dd 800004ACh
dd 80001176h
dd 8000173Bh
dd 80001759h
dd 80000C12h
dd 800012A0h
dd 800011B4h
dd 8000035Ah
dd 8000039Ah
dd 800015CBh
dd 8000101Ch
dd 8000162Fh
dd 8000164Ah
dd 80000218h
dd 80001067h
dd 80001609h
dd 800010DBh
dd 80000330h
dd 80000232h
dd 80000FB2h
dd 800017E3h
dd 8000182Eh
dd 80000795h
dd 800010AEh
dd 800014A6h
dd 80000332h
dd 80001077h
dd 80000A10h
dd 80000E41h
dd 8000097Eh
dd 80000B2Ah
dd 80000665h
dd 80000C3Dh
dd 80000237h
dd 800004CEh
dd 80000EA3h
dd 800017ECh
dd 8000187Ah
dd 80000DA2h
dd 80000BC8h
dd 80001105h
dd 800013DBh
dd 8000115Ch
dd 80001239h
dd 80001247h
dd 80000756h
dd 80001096h
dd 8000134Ch
dd 80000CB1h
dd 80000981h
dd 80000698h
dd 80001388h
dd 80001170h
dd 80000A9Bh
dd 8000094Eh
dd 80000BEEh
dd 800013E6h
dd 800013E9h
dd 8000116Dh
dd 800010CAh
dd 8000138Eh
dd 800003CFh
dd 80001560h
dd 80000D46h
dd 80000B3Ah
dd 80000B39h
dd 80001035h
dd 80000FE8h
dd 80001471h
dd 800014A1h
dd 80000A51h
dd 8000067Ah
dd 8000114Eh
dd 80001480h
dd 80001145h
dd 800002E3h
dd 800002EBh
dd 800002E0h
dd 80001137h
dd 80001660h
dd 80001573h
dd 80000830h
dd 80001166h
dd 80001614h
dd 800013A4h
dd 800001B7h
dd 800001C2h
dd 800001BAh
dd 8000108Dh
dd 800012B3h
dd 80000D11h
dd 8000155Ch
dd 80001032h
dd 8000149Eh
dd 800002A2h
dd 8000016Eh
dd 80000824h
dd 80001163h
dd 800013B8h
dd 800013E4h
dd 80001206h
dd 80001204h
dd 8000075Eh
dd 80001099h
dd 80000FAAh
dd 80001357h
dd 800012F7h
dd 800012D4h
dd 80000C6Eh
dd 80001350h
dd 8000097Dh
dd 80000873h
dd 8000119Fh
dd 8000121Ah
dd 8000132Eh
dd 80001384h
dd 80001185h
dd 80001397h
dd 80000C1Dh
dd 800011F7h
dd 80001382h
dd 8000113Ah
dd 80001579h
dd 8000120Eh
dd 80000BAAh
dd 80000D54h
dd 8000139Bh
dd 80000DB5h
dd 800018C4h
dd 800015F7h
dd 800003EBh
dd 80000D74h
dd 80000EC6h
dd 80000CADh
dd 80001253h
dd 80000BEFh
dd 80000BF5h
dd 800018BCh
dd 800009C6h
dd 80001478h
dd 80001141h
dd 8000095Ah
dd 8000111Dh
dd 80000D79h
dd 80000C79h
dd 800017BDh
dd 8000181Bh
dd 80000CB8h
dd 80001209h
dd 80001148h
dd 800002ECh
dd 80001612h
dd 8000166Ah
dd 80001202h
dd 80001396h
dd 80001831h
dd 80001188h
dd 80001666h
dd 80001207h
dd 800015C5h
dd 80000AD8h
dd 8000122Bh
dd 800004E7h
dd 80000AA1h
dd 80001942h
dd 80000A9Fh
dd 80000AA2h
dd 800003BDh
dd 800007D7h
dd 800003C2h
dd 800002EEh
dd 8000025Bh
dd 800004EEh
dd 800018F2h
dd 800007C1h
dd 800007A9h
dd 80000111h
dd 800008C7h
dd 800001CAh
dd 80001450h
dd 800012D3h
dd 800012F6h
dd 80001356h
dd 800006CCh
dd 800001C8h
dd 80001104h
dd 800013DAh
dd 8000115Ah
dd 80001243h
dd 800004EFh
dd 800004CDh
dd 80000F19h
dd 8000118Dh
dd 80000D98h
dd 80001328h
dd 80001198h
dd 800011EDh
dd 800013A0h
dd 8000137Dh
dd 80001421h
dd 8000182Fh
dd 80001201h
dd 80000E1Eh
dd 800010ADh
dd 800002E7h
dd 80001180h
dd 800009F2h
dd 800009C8h
dd 8000165Fh
dd 80000F4Dh
dd 800012EFh
dd 80000954h
dd 80000D0Dh
dd 800014B0h
dd 800014B2h
dd 80000FEAh
dd 800014B7h
dd 800014A5h
dd 8000164Eh
dd 80001208h
dd 80000E95h
dd 8000032Fh
dd 80000A9Dh
dd 800018E3h
dd 800004ADh
dd 800011FCh
dd 800001CBh
dd 80000231h
dd 80001578h
dd 800009F6h
dd 80001650h
dd 80001651h
dd 800007ECh
dd 800003DAh
dd 800017F5h
dd 80000208h
dd 800004B2h
dd 800017E0h
dd 8000047Dh
dd 8000039Dh
dd 8000039Fh
dd 80001254h
dd 80000D72h
dd 80000C77h
dd 80000F9Eh
dd 8000146Ch
dd 80000495h
dd 80000619h
dd 80001490h
dd 8000185Eh
dd 80000769h
dd 80000791h
dd 800010ACh
dd 800011E7h
dd 800013CEh
dd 800010EFh
dd 800011ADh
dd 800011BBh
dd 800011B9h
dd 800011A8h
dd 800011ABh
dd 800011A6h
dd 8000135Eh
dd 8000135Bh
dd 80001007h
dd 80001474h
dd 80000E9Fh
dd 800006B7h
dd 80000230h
dd 80001488h
dd 8000110Ch
dd 8000131Dh
dd 800010F7h
dd 8000114Ah
dd 800011FFh
dd 80001200h
dd 8000032Dh
dd 80000763h
dd 80001314h
dd 8000116Ah
dd 80001196h
dd 800010C6h
dd 8000102Dh
dd 800009B6h
dd 80000A3Ah
dd 80000A3Bh
dd 80000673h
dd 80001111h
dd 800012EEh
dd 80000D33h
dd 800001E2h
dd 800009DFh
dd 800008BEh
dd 800009E1h
dd 80000DB8h
dd 8000070Fh
dd 80000B96h
dd 8000167Bh
dd 8000182Ch
dd 80001678h
dd 80001826h
dd 800010E4h
dd 80001829h
dd 80001781h
dd 8000162Ah
dd 80001664h
dd 800015C7h
dd 800015BFh
dd 800017A9h
dd 800016E4h
dd 8000169Ch
dd 800009D6h
dd 800001D5h
dd 80000DBDh
dd 80000DBCh
dd 8000103Ah
dd 800018FFh
dd 800018FEh
dd 8000075Fh
dd 80001358h
dd 80000D4Ah
dd 80001378h
dd 80001339h
dd 80001267h
dd 800013EEh
dd 8000132Ah
dd 80001220h
dd 8000136Eh
dd 800011A4h
dd 800011B3h
dd 800013CDh
dd 80000FC1h
dd 80000CCCh
dd 80000D14h
dd 8000120Ch
dd 800002EDh
dd 80001394h
dd 8000124Ah
dd 8000094Ah
dd 8000094Bh
dd 800001C9h
dd 800009F4h
dd 80001227h
dd 8000137Bh
dd 800012F3h
dd 80000B8Eh
dd 800001AEh
dd 80001343h
dd 8000133Eh
dd 8000071Dh
dd 80000290h
dd 800016EFh
dd 80000D45h
dd 80000E15h
dd 800018E8h
dd 80000F1Fh
dd 800018E7h
dd 80000821h
dd 8000078Ah
dd 80000711h
dd 800016F6h
dd 800010A7h
dd 80000CDAh
dd 80001108h
dd 800013D8h
dd 800006A7h
dd 800006ACh
dd 800013C2h
dd 8000022Ah
dd 80000327h
dd 80001086h
dd 800013D4h
dd 800006A9h
dd 800017A1h
dd 80000282h
dd 80000963h
dd 800007DFh
dd 80001075h
dd 80000A0Ah
dd 80001128h
dd 80000DF9h
dd 80000268h
dd 8000102Fh
dd 8000081Fh
dd 80000CF0h
dd 800016F7h
dd 80000840h
dd 80000147h
dd 800004EBh
dd 80000997h
dd 8000066Ch
dd 80000703h
dd 800016DFh
dd 8000118Bh
dd 800006A8h
dd 8000019Eh
dd 80001020h
dd 800010C4h
dd 800017F9h
dd 800004EAh
dd 800002C9h
dd 800016B0h
dd 80000DF2h
dd 80000262h
dd 800017F7h
dd 8000011Fh
dd 80000F86h
dd 80000ACFh
dd 800003E4h
dd 80000F83h
dd 8000153Eh
dd 80000CF1h
dd 8000061Fh
dd 800018EDh
dd 80001776h
dd 800002FDh
dd 80000E6Dh
dd 8000162Dh
dd 80000834h
dd 80001260h
dd 8000173Dh
dd 800006EFh
dd 800018BAh
dd 80001691h
dd 8000083Dh
dd 80000621h
dd 80001085h
dd 80000B62h
dd 80000144h
dd 80000E08h
dd 80001143h
dd 80000986h
dd 80001489h
dd 8000149Ch
dd 8000176Ch
dd 8000010Ch
dd 80000121h
dd 80000D95h
dd 800017AFh
dd 80000265h
dd 80000339h
dd 8000103Bh
dd 800013B7h
dd 800006AEh
dd 80000143h
dd 80001699h
dd 8000095Dh
dd 80000280h
dd 80000211h
dd 8000021Ch
dd 8000031Ch
dd 80000320h
dd 80001142h
dd 8000120Dh
dd 80000FEBh
dd 80000C02h
dd 80000EECh
dd 80000EF2h
dd 80000EF1h
dd 80000B9Bh
dd 80000C04h
dd 80000BA4h
dd 80000CB9h
dd 80000C3Bh
dd 8000116Bh
dd 80000CB6h
dd 80000C46h
dd 800018E2h
dd 80001475h
dd 80001131h
dd 800006E7h
dd 800017A0h
dd 800009CAh
dd 80001380h
dd 80001112h
dd 8000148Dh
dd 80000B5Eh
dd 800015C0h
dd 800003ADh
dd 800015F0h
dd 80000125h
dd 800009C9h
dd 8000072Ah
dd 8000046Ah
dd 80000B3Fh
dd 80000281h
dd 80000467h
dd 8000107Bh
dd 80000FEEh
dd 80000B2Bh
dd 80000494h
dd 8000021Ah
dd 80000EC9h
dd 800002CBh
dd 80000B26h
dd 8000011Bh
dd 800016EDh
dd 80001818h
dd 8000098Ch
dd 8000098Ah
dd 8000169Bh
dd 80000162h
dd 8000143Ch
dd 800007B3h
dd 800003BEh
dd 80000299h
dd 8000019Fh
dd 80000A54h
dd 8000067Eh
dd 80000DF0h
dd 8000048Dh
dd 8000015Eh
dd 8000035Dh
dd 80000E1Bh
dd 80000C32h
dd 8000160Fh
dd 80000337h
dd 800018B5h
dd 80000217h
dd 800015E1h
dd 80000AC1h
dd 80000439h
dd 80000747h
dd 80000CD9h
dd 80000A92h
dd 80000441h
dd 800009DAh
dd 80000BA1h
dd 80001499h
dd 80000844h
dd 80000984h
dd 80001486h
dd 800006B8h
dd 800013C3h
dd 80000EA0h
dd 800018E4h
dd 800007FFh
dd 80000A50h
dd 80001153h
dd 800012DFh
dd 80000ED1h
dd 8000149Bh
dd 800010FBh
dd 800018DDh
dd 80001425h
dd 80000949h
dd 8000146Eh
dd 8000112Eh
dd 800006E8h
dd 80000FE9h
dd 800017A3h
dd 800006A6h
dd 800013D7h
dd 8000094Dh
dd 80001014h
dd 8000155Bh
dd 80000FD3h
dd 80001107h
dd 80001806h
dd 80000A11h
dd 80001695h
dd 80000661h
dd 80000E75h
dd 80000477h
dd 80000662h
dd 80000DEEh
dd 80000B27h
dd 80000E25h
dd 80000E4Ah
dd 800013ABh
dd 80000ED0h
dd 80001843h
dd 800017B1h
dd 80000618h
dd 800006ABh
dd 80000966h
dd 80000A2Eh
dd 800012C3h
dd 800010A4h
dd 80001305h
dd 80000782h
dd 0
;
; Import names for OLEAUT32.dll
;
dword_103B5D4 dd 80000006h
dd 80000002h
dd 0
;
; Import names for SHELL32.dll
;
off_103B5E0 dd rva word_103CAFC
dd rva word_103CAE6
dd rva word_103CAD4
dd 0
;
; Import names for USER32.dll
;
off_103B5F0 dd rva word_103C892
dd rva word_103C706
dd rva word_103C882
dd rva word_103C874
dd rva word_103C868
dd rva word_103C97A
dd rva word_103C96A
dd rva word_103C958
dd rva word_103C948
dd rva word_103C93A
dd rva word_103C91E
dd rva word_103C90A
dd rva word_103C8F6
dd rva word_103C8E6
dd rva word_103C8D4
dd rva word_103C8C4
dd rva word_103C8B0
dd rva word_103C3AE
dd rva word_103C3BE
dd rva word_103C3CC
dd rva word_103C3DA
dd rva word_103C3EA
dd rva word_103C3FA
dd rva word_103C40A
dd rva word_103C41C
dd rva word_103C42C
dd rva word_103C43A
dd rva word_103C446
dd rva word_103C452
dd rva word_103C466
dd rva word_103C470
dd rva word_103C47C
dd rva word_103C48A
dd rva word_103C496
dd rva word_103C4A4
dd rva word_103C4B2
dd rva word_103C4C4
dd rva word_103C4D0
dd rva word_103C4E0
dd rva word_103C4E8
dd rva word_103C4F4
dd rva word_103C502
dd rva word_103C50E
dd rva word_103C51E
dd rva word_103C52A
dd rva word_103C538
dd rva word_103C556
dd rva word_103C572
dd rva word_103C57E
dd rva word_103C58A
dd rva word_103C59A
dd rva word_103C5A6
dd rva word_103C5B8
dd rva word_103C5CA
dd rva word_103C5DA
dd rva word_103C5E8
dd rva word_103C5F6
dd rva word_103C602
dd rva word_103C60E
dd rva word_103C61A
dd rva word_103C62C
dd rva word_103C63A
dd rva word_103C646
dd rva word_103C65A
dd rva word_103C66C
dd rva word_103C67E
dd rva word_103C68C
dd rva word_103C698
dd rva word_103C6A6
dd rva word_103C6B8
dd rva word_103C6C4
dd rva word_103C6D8
dd rva word_103C6E6
dd rva word_103C6F6
dd rva word_103C85C
dd rva word_103C712
dd rva word_103C722
dd rva word_103C734
dd rva word_103C74C
dd rva word_103C75A
dd rva word_103C768
dd rva word_103C77A
dd rva word_103C784
dd rva word_103C78E
dd rva word_103C7A0
dd rva word_103C7B2
dd rva word_103C7BE
dd rva word_103C7CC
dd rva word_103C7DA
dd rva word_103C7EA
dd rva word_103C7F8
dd rva word_103C804
dd rva word_103C814
dd rva word_103C824
dd rva word_103C834
dd rva word_103C840
dd rva word_103C84E
dd rva word_103C8A2
dd 0
;
; Import names for comdlg32.dll
;
off_103B77C dd rva word_103CC24
dd rva word_103CC3C
dd rva word_103C99C
dd rva word_103CC50
dd 0
;
; Import names for msvcrt.dll
;
off_103B790 dd rva word_103B90E
dd rva word_103B918
dd rva word_103B920
dd rva word_103B928
dd rva word_103B93C
dd rva word_103B946
dd rva word_103B958
dd rva word_103B962
dd rva word_103B96A
dd rva word_103B978
dd rva word_103B982
dd rva word_103B98A
dd rva word_103B994
dd rva word_103B9A6
dd rva word_103B9B2
dd rva word_103BA56
dd rva word_103BA42
dd rva word_103B86C
dd rva word_103B880
dd rva word_103B88E
dd rva word_103B896
dd rva word_103B89E
dd rva word_103B8A6
dd rva word_103B8BC
dd rva word_103B8C6
dd rva word_103B8CE
dd rva word_103B9C6
dd rva word_103B9D6
dd rva word_103B9E6
dd rva word_103B9F4
dd rva word_103BA06
dd rva word_103BA2A
dd rva word_103BA38
dd rva word_103B904
dd rva word_103B8FA
dd rva word_103B8EE
dd rva word_103B8E2
dd rva word_103B8DA
dd 0
;
; Import names for ole32.dll
;
off_103B82C dd rva word_103CA9A
dd rva word_103CA78
dd rva word_103CA50
dd rva word_103CA3C
dd rva word_103CA2C
dd rva word_103CA18
dd rva word_103CA06
dd rva word_103C9F6
dd rva word_103C9E0
dd rva word_103C9CE
dd rva word_103C9BA
dd rva word_103CAAC
dd 0
aMfc42u_dll db 'MFC42u.DLL',0
align 4
word_103B86C dw	52h
db '__CxxFrameHandler',0
word_103B880 dw	268h
db '_wsplitpath',0
word_103B88E dw	272h
db '_wtoi',0
word_103B896 dw	174h
db '_ltow',0
word_103B89E dw	274h
db '_wtol',0
word_103B8A6 dw	47h
db '_CxxThrowException',0
align 4
word_103B8BC dw	328h
db 'wcscmp',0
align 2
word_103B8C6 dw	2A5h
db 'free',0
align 2
word_103B8CE dw	123h
db '_getdcwd',0
align 2
word_103B8DA dw	2EDh
db 'rand',0
align 2
word_103B8E2 dw	1C1h
db '_purecall',0
word_103B8EE dw	229h
db '_wcsicmp',0
align 2
word_103B8FA dw	227h
db '_wcsdup',0
word_103B904 dw	326h
db 'wcscat',0
align 2
word_103B90E dw	327h
db 'wcschr',0
align 4
word_103B918 dw	118h
db '_ftol',0
word_103B920 dw	161h
db '_itow',0
word_103B928 dw	0EDh
db '_except_handler3',0
align 4
word_103B93C dw	336h
db 'wcstok',0
align 2
word_103B946 dw	0C4h
db '_beginthreadex',0
align 4
word_103B958 dw	0C5h
db '_c_exit',0
word_103B962 dw	0F6h
db '_exit',0
word_103B96A dw	4Eh
db '_XcptFilter',0
word_103B978 dw	0C8h
db '_cexit',0
align 2
word_103B982 dw	290h
db 'exit',0
align 2
word_103B98A dw	225h
db '_wcmdln',0
word_103B994 dw	0A4h
db '__wgetmainargs',0
align 2
word_103B9A6 dw	13Bh
db '_initterm',0
word_103B9B2 dw	9Ah
db '__setusermatherr',0
align 2
word_103B9C6 dw	0B6h
db '_adjust_fdiv',0
align 2
word_103B9D6 dw	80h
db '__p__commode',0
align 2
word_103B9E6 dw	85h
db '__p__fmode',0
align 4
word_103B9F4 dw	98h
db '__set_app_type',0
align 2
word_103BA06 dw	10h
db '??1type_info@@UAE@XZ',0
align 2
aMsvcrt_dll db 'msvcrt.dll',0
align 2
word_103BA2A dw	6Ah
db '__dllonexit',0
word_103BA38 dw	1B4h
db '_onexit',0
word_103BA42 dw	34h
db '?terminate@@YAXXZ',0
word_103BA56 dw	0D6h
db '_controlfp',0
align 4
word_103BA64 dw	1CAh
db 'RegCloseKey',0
word_103BA72 dw	1EEh
db 'RegQueryValueExW',0
align 2
word_103BA86 dw	1E4h
db 'RegOpenKeyExW',0
word_103BA96 dw	1FBh
db 'RegSetValueExW',0
align 4
word_103BAA8 dw	1CFh
db 'RegCreateKeyExW',0
word_103BABA dw	1E5h
db 'RegOpenKeyW',0
word_103BAC8 dw	1D9h
db 'RegEnumKeyW',0
aAdvapi32_dll db 'ADVAPI32.dll',0
align 4
word_103BAE4 dw	3B4h
db 'lstrlenW',0
align 10h
word_103BAF0 dw	1EAh
db 'GlobalAlloc',0
word_103BAFE dw	1F1h
db 'GlobalFree',0
align 4
word_103BB0C dw	1FCh
db 'GlobalUnlock',0
align 4
word_103BB1C dw	1F5h
db 'GlobalLock',0
align 2
word_103BB2A dw	3A5h
db 'lstrcatW',0
align 2
word_103BB36 dw	16Ch
db 'GetLocaleInfoW',0
align 4
word_103BB48 dw	263h
db 'MulDiv',0
align 2
word_103BB52 dw	186h
db 'GetNumberFormatW',0
align 2
word_103BB66 dw	31h
db 'CloseHandle',0
word_103BB74 dw	1D3h
db 'GetTimeFormatW',0
align 2
word_103BB86 dw	140h
db 'GetDateFormatW',0
align 4
word_103BB98 dw	0C3h
db 'FileTimeToSystemTime',0
align 10h
word_103BBB0 dw	0C2h
db 'FileTimeToLocalFileTime',0
word_103BBCA dw	15Dh
db 'GetFileTime',0
word_103BBD8 dw	15Bh
db 'GetFileSize',0
word_103BBE6 dw	52h
db 'CreateFileW',0
word_103BBF4 dw	4Ah
db 'CreateDirectoryW',0
align 4
word_103BC08 dw	159h
db 'GetFileAttributesW',0
align 2
word_103BC1E dw	1C7h
db 'GetTempFileNameW',0
align 2
word_103BC32 dw	1C9h
db 'GetTempPathW',0
align 2
word_103BC42 dw	264h
db 'MultiByteToWideChar',0
word_103BC58 dw	3B3h
db 'lstrlenA',0
align 4
word_103BC64 dw	24Bh
db 'LocalFree',0
word_103BC70 dw	247h
db 'LocalAlloc',0
align 2
word_103BC7E dw	300h
db 'SetErrorMode',0
align 2
word_103BC8E dw	0CCh
db 'FindClose',0
word_103BC9A dw	0D3h
db 'FindFirstFileW',0
align 4
word_103BCAC dw	2FDh
db 'SetEndOfFile',0
align 4
word_103BCBC dw	197h
db 'GetProcAddress',0
align 2
word_103BCCE dw	3ABh
db 'lstrcmpiW',0
word_103BCDA dw	10Ah
db 'GetCommandLineW',0
word_103BCEC dw	168h
db 'GetLastError',0
align 4
word_103BCFC dw	3B1h
db 'lstrcpynW',0
word_103BD08 dw	178h
db 'GetModuleHandleW',0
align 4
word_103BD1C dw	1D1h
db 'GetTickCount',0
align 4
word_103BD2C dw	175h
db 'GetModuleHandleA',0
align 10h
word_103BD40 dw	1CCh
db 'GetThreadLocale',0
word_103BD52 dw	0F6h
db 'GetACP',0
align 4
word_103BD5C dw	244h
db 'LoadLibraryW',0
align 4
word_103BD6C dw	3AEh
db 'lstrcpyW',0
align 4
word_103BD78 dw	228h
db 'IsDBCSLeadByte',0
align 2
word_103BD8A dw	3A8h
db 'lstrcmpW',0
align 2
word_103BD96 dw	1F8h
db 'GlobalReAlloc',0
word_103BDA6 dw	21Dh
db 'InterlockedIncrement',0
align 2
word_103BDBE dw	219h
db 'InterlockedDecrement',0
align 2
word_103BDD6 dw	347h
db 'TerminateThread',0
word_103BDE8 dw	153h
db 'GetExitCodeThread',0
word_103BDFC dw	291h
db 'QueryPerformanceCounter',0
word_103BE16 dw	13Eh
db 'GetCurrentThreadId',0
align 4
word_103BE2C dw	13Ch
db 'GetCurrentProcessId',0
word_103BE42 dw	1BDh
db 'GetSystemTimeAsFileTime',0
word_103BE5C dw	346h
db 'TerminateProcess',0
align 10h
word_103BE70 dw	13Bh
db 'GetCurrentProcess',0
word_103BE84 dw	357h
db 'UnhandledExceptionFilter',0
align 10h
word_103BEA0 dw	332h
db 'SetUnhandledExceptionFilter',0
word_103BEBE dw	1ADh
db 'GetStartupInfoW',0
aKernel32_dll db 'KERNEL32.dll',0
align 2
word_103BEDE dw	197h
db 'GetObjectW',0
align 4
word_103BEEC dw	4Ch
db 'CreateRectRgnIndirect',0
word_103BF04 dw	42h
db 'CreateICW',0
word_103BF10 dw	2Dh
db 'CreateCompatibleDC',0
align 2
word_103BF26 dw	12h
db 'BitBlt',0
align 10h
word_103BF30 dw	1B5h
db 'GetTextExtentPoint32W',0
word_103BF48 dw	1BDh
db 'GetTextMetricsW',0
word_103BF5A dw	0DEh
db 'ExtTextOutW',0
word_103BF68 dw	23Ah
db 'SetTextAlign',0
align 4
word_103BF78 dw	20Eh
db 'SelectObject',0
align 4
word_103BF88 dw	1DDh
db 'PatBlt',0
align 2
word_103BF92 dw	215h
db 'SetBkColor',0
align 10h
word_103BFA0 dw	23Ch
db 'SetTextColor',0
align 10h
word_103BFB0 dw	216h
db 'SetBkMode',0
word_103BFBC dw	1F3h
db 'RealizePalette',0
align 2
word_103BFCE dw	20Fh
db 'SelectPalette',0
word_103BFDE dw	27h
db 'CreateBitmap',0
align 2
word_103BFEE dw	2Ch
db 'CreateCompatibleBitmap',0
align 4
word_103C008 dw	8Ch
db 'DeleteDC',0
align 4
word_103C014 dw	8Fh
db 'DeleteObject',0
align 4
word_103C024 dw	21Fh
db 'SetDIBits',0
word_103C030 dw	16Bh
db 'GetDeviceCaps',0
word_103C040 dw	19Ah
db 'GetPaletteEntries',0
word_103C054 dw	230h
db 'SetPaletteEntries',0
word_103C068 dw	194h
db 'GetNearestPaletteIndex',0
align 2
word_103C082 dw	1FFh
db 'ResizePalette',0
word_103C092 dw	50h
db 'CreateSolidBrush',0
align 2
word_103C0A6 dw	46h
db 'CreatePatternBrush',0
align 4
word_103C0BC dw	164h
db 'GetCurrentObject',0
align 10h
word_103C0D0 dw	169h
db 'GetDIBColorTable',0
align 4
word_103C0E4 dw	0E8h
db 'FillRgn',0
word_103C0EE dw	1A5h
db 'GetStockObject',0
align 10h
word_103C100 dw	21Eh
db 'SetDIBColorTable',0
align 4
word_103C114 dw	1F6h
db 'Rectangle',0
word_103C120 dw	200h
db 'RestoreDC',0
word_103C12C dw	1CBh
db 'LPtoDP',0
align 2
word_103C136 dw	22Bh
db 'SetMapMode',0
align 4
word_103C144 dw	207h
db 'SaveDC',0
align 2
word_103C14E dw	1E2h
db 'PlayMetaFile',0
align 2
word_103C15E dw	23Eh
db 'SetViewportExtEx',0
align 2
word_103C172 dw	45h
db 'CreatePalette',0
word_103C182 dw	193h
db 'GetNearestColor',0
word_103C194 dw	220h
db 'SetDIBitsToDevice',0
word_103C1A8 dw	32h
db 'CreateDIBSection',0
align 4
word_103C1BC dw	33h
db 'CreateDIBitmap',0
align 2
word_103C1CE dw	249h
db 'StretchBlt',0
align 4
word_103C1DC dw	1D4h
db 'OffsetRgn',0
word_103C1E8 dw	1EDh
db 'Polygon',0
word_103C1F2 dw	19Ch
db 'GetPixel',0
align 2
word_103C1FE dw	3Fh
db 'CreateHalftonePalette',0
word_103C216 dw	16Ah
db 'GetDIBits',0
word_103C222 dw	47h
db 'CreatePen',0
word_103C22E dw	238h
db 'SetStretchBltMode',0
word_103C242 dw	94h
db 'Ellipse',0
word_103C24C dw	231h
db 'SetPixel',0
align 4
word_103C258 dw	1CDh
db 'LineTo',0
align 2
word_103C262 dw	1D1h
db 'MoveToEx',0
align 2
word_103C26E dw	252h
db 'UnrealizeObject',0
word_103C280 dw	219h
db 'SetBrushOrgEx',0
word_103C290 dw	0DBh
db 'ExtFloodFill',0
align 10h
word_103C2A0 dw	201h
db 'RoundRect',0
word_103C2AC dw	4Ah
db 'CreatePolygonRgn',0
align 10h
word_103C2C0 dw	3Dh
db 'CreateFontIndirectW',0
word_103C2D6 dw	2Fh
db 'CreateDCW',0
word_103C2E2 dw	1F1h
db 'PtVisible',0
word_103C2EE dw	1F5h
db 'RectVisible',0
word_103C2FC dw	24Fh
db 'TextOutW',0
align 4
word_103C308 dw	0D4h
db 'Escape',0
align 2
word_103C312 dw	24Ah
db 'StretchDIBits',0
word_103C322 dw	250h
db 'TranslateCharsetInfo',0
align 2
word_103C33A dw	14Dh
db 'GetBkMode',0
word_103C346 dw	1AFh
db 'GetTextColor',0
align 2
word_103C356 dw	0CCh
db 'EnumFontFamiliesW',0
word_103C36A dw	0CBh
db 'EnumFontFamiliesExW',0
word_103C380 dw	1E5h
db 'PolyBezier',0
align 2
word_103C38E dw	235h
db 'SetROP2',0
word_103C398 dw	1EEh
db 'Polyline',0
align 4
aGdi32_dll db 'GDI32.dll',0
word_103C3AE dw	26Dh
db 'SetRectEmpty',0
align 2
word_103C3BE dw	18Ah
db 'InflateRect',0
word_103C3CC dw	1B6h
db 'LoadBitmapW',0
word_103C3DA dw	240h
db 'SendMessageW',0
align 2
word_103C3EA dw	174h
db 'GetWindowRect',0
word_103C3FA dw	2BBh
db 'UpdateWindow',0
align 2
word_103C40A dw	193h
db 'InvalidateRect',0
align 4
word_103C41C dw	0C4h
db 'EnableWindow',0
align 4
word_103C42C dw	15Ah
db 'GetSysColor',0
word_103C43A dw	2D9h
db 'wsprintfW',0
word_103C446 dw	1ABh
db 'IsWindow',0
align 2
word_103C452 dw	15Dh
db 'GetSystemMetrics',0
align 2
word_103C466 dw	26Ch
db 'SetRect',0
word_103C470 dw	0E2h
db 'FillRect',0
align 4
word_103C47C dw	1DBh
db 'MessageBeep',0
word_103C48A dw	145h
db 'GetParent',0
word_103C496 dw	1E3h
db 'MessageBoxW',0
word_103C4A4 dw	2DBh
db 'wvsprintfW',0
align 2
word_103C4B2 dw	287h
db 'SetWindowTextW',0
align 4
word_103C4C4 dw	22Ah
db 'ReleaseDC',0
word_103C4D0 dw	0B3h
db 'DrawFocusRect',0
word_103C4E0 dw	10Ch
db 'GetDC',0
word_103C4E8 dw	20Bh
db 'PtInRect',0
align 4
word_103C4F4 dw	1F2h
db 'OffsetRect',0
align 2
word_103C502 dw	2D3h
db 'WinHelpW',0
align 2
word_103C50E dw	0FFh
db 'GetClientRect',0
word_103C51E dw	0E9h
db 'FrameRect',0
word_103C52A dw	0F3h
db 'GetCapture',0
align 4
word_103C538 dw	19Fh
db 'IsClipboardFormatAvailable',0
align 2
word_103C556 dw	21Bh
db 'RegisterClipboardFormatW',0
align 2
word_103C572 dw	4Ah
db 'CopyRect',0
align 2
word_103C57E dw	2Ch
db 'CharNextW',0
word_103C58A dw	192h
db 'IntersectRect',0
word_103C59A dw	2AFh
db 'UnionRect',0
word_103C5A6 dw	231h
db 'ScreenToClient',0
align 4
word_103C5B8 dw	2D5h
db 'WindowFromPoint',0
word_103C5CA dw	10Bh
db 'GetCursorPos',0
align 2
word_103C5DA dw	121h
db 'GetKeyState',0
word_103C5E8 dw	1A8h
db 'IsRectEmpty',0
word_103C5F6 dw	0DFh
db 'EqualRect',0
word_103C602 dw	27Ah
db 'SetTimer',0
align 2
word_103C60E dw	1B2h
db 'KillTimer',0
word_103C61A dw	229h
db 'ReleaseCapture',0
align 4
word_103C62C dw	159h
db 'GetSubMenu',0
align 2
word_103C63A dw	1C6h
db 'LoadMenuW',0
word_103C646 dw	0Fh
db 'BringWindowToTop',0
align 2
word_103C65A dw	40h
db 'ClientToScreen',0
align 4
word_103C66C dw	243h
db 'SetActiveWindow',0
word_103C67E dw	244h
db 'SetCapture',0
align 4
word_103C68C dw	116h
db 'GetFocus',0
align 4
word_103C698 dw	1BAh
db 'LoadCursorW',0
word_103C6A6 dw	16Fh
db 'GetWindowLongW',0
align 4
word_103C6B8 dw	24Dh
db 'SetCursor',0
word_103C6C4 dw	10Eh
db 'GetDesktopWindow',0
align 4
word_103C6D8 dw	22Bh
db 'RemoveMenu',0
align 2
word_103C6E6 dw	200h
db 'PostMessageW',0
align 2
word_103C6F6 dw	15Ch
db 'GetSystemMenu',0
word_103C706 dw	1BCh
db 'LoadIconW',0
word_103C712 dw	0F9h
db 'GetClassInfoW',0
word_103C722 dw	1AFh
db 'IsWindowVisible',0
word_103C734 dw	29Ah
db 'SystemParametersInfoW',0
word_103C74C dw	96h
db 'DestroyIcon',0
word_103C75A dw	1C9h
db 'LoadStringW',0
word_103C768 dw	0C2h
db 'EnableMenuItem',0
align 2
word_103C77A dw	12Ch
db 'GetMenu',0
word_103C784 dw	1A7h
db 'IsMenu',0
align 2
word_103C78E dw	281h
db 'SetWindowLongW',0
align 10h
word_103C7A0 dw	29Ch
db 'TabbedTextOutW',0
align 2
word_103C7B2 dw	0BFh
db 'DrawTextW',0
word_103C7BE dw	17Eh
db 'GrayStringW',0
word_103C7CC dw	16Ch
db 'GetWindowDC',0
word_103C7DA dw	39h
db 'CheckMenuItem',0
word_103C7EA dw	0Dh
db 'BeginPaint',0
align 4
word_103C7F8 dw	0C8h
db 'EndPaint',0
align 4
word_103C804 dw	164h
db 'GetUpdateRect',0
word_103C814 dw	2C5h
db 'ValidateRect',0
align 4
word_103C824 dw	215h
db 'RedrawWindow',0
align 4
word_103C834 dw	16Ah
db 'GetWindow',0
word_103C840 dw	0F5h
db 'GetCaretPos',0
word_103C84E dw	246h
db 'SetCaretPos',0
word_103C85C dw	17Fh
db 'HideCaret',0
word_103C868 dw	28Dh
db 'ShowCaret',0
word_103C874 dw	4Eh
db 'CreateCaret',0
word_103C882 dw	94h
db 'DestroyCaret',0
align 2
word_103C892 dw	248h
db 'SetClassLongW',0
word_103C8A2 dw	28Eh
db 'ShowCursor',0
align 10h
word_103C8B0 dw	122h
db 'GetKeyboardLayout',0
word_103C8C4 dw	99h
db 'DestroyWindow',0
word_103C8D4 dw	0C3h
db 'EnableScrollBar',0
word_103C8E6 dw	1FEh
db 'PeekMessageW',0
align 2
word_103C8F6 dw	0A2h
db 'DispatchMessageW',0
align 2
word_103C90A dw	2AAh
db 'TranslateMessage',0
align 2
word_103C91E dw	1EAh
db 'MsgWaitForMultipleObjects',0
word_103C93A dw	111h
db 'GetDlgItem',0
align 4
word_103C948 dw	252h
db 'SetDlgItemInt',0
word_103C958 dw	38h
db 'CheckDlgButton',0
align 2
word_103C96A dw	112h
db 'GetDlgItemInt',0
word_103C97A dw	237h
db 'SendDlgItemMessageW',0
aUser32_dll db 'USER32.dll',0
align 4
word_103C99C dw	8
db 'GetFileTitleW',0
aComdlg32_dll db 'comdlg32.dll',0
align 2
word_103C9BA dw	122h
db 'ReleaseStgMedium',0
align 2
word_103C9CE dw	0F9h
db 'OleGetClipboard',0
word_103C9E0 dw	150h
db 'WriteFmtUserTypeStg',0
word_103C9F6 dw	14Eh
db 'WriteClassStg',0
word_103CA06 dw	8
db 'CLSIDFromString',0
word_103CA18 dw	10h
db 'CoCreateInstance',0
align 4
word_103CA2C dw	64h
db 'CoTaskMemFree',0
word_103CA3C dw	11Ah
db 'PropVariantClear',0
align 10h
word_103CA50 dw	45h
db 'CoMarshalInterThreadInterfaceInStre'
db 'am',0
word_103CA78 dw	2Dh
db 'CoGetInterfaceAndReleaseStream',0
align 2
word_103CA9A dw	68h
db 'CoUninitialize',0
align 4
word_103CAAC dw	3Ah
db 'CoInitialize',0
align 4
aOle32_dll db 'ole32.dll',0
aOleaut32_dll db 'OLEAUT32.dll',0
align 4
word_103CAD4 dw	7Eh
db 'SHChangeNotify',0
align 2
word_103CAE6 dw	7
db 'CommandLineToArgvW',0
align 4
word_103CAFC dw	103h
db 'ShellAboutW',0
aShell32_dll db	'SHELL32.dll',0
word_103CB16 dw	15h
db 'ImmAssociateContext',0
word_103CB2C dw	66h
db 'ImmReleaseContext',0
word_103CB40 dw	73h
db 'ImmSetCompositionWindow',0
word_103CB5A dw	35h
db 'ImmGetContext',0
word_103CB6A dw	34h
db 'ImmGetCompositionWindow',0
word_103CB84 dw	33h
db 'ImmGetCompositionStringW',0
align 10h
word_103CBA0 dw	5Eh
db 'ImmNotifyIME',0
align 10h
aImm32_dll db 'IMM32.dll',0
word_103CBBA dw	1EDh
db 'RegQueryValueExA',0
align 2
word_103CBCE dw	1E3h
db 'RegOpenKeyExA',0
word_103CBDE dw	241h
db 'LoadLibraryA',0
align 2
word_103CBEE dw	0F0h
db 'FreeLibrary',0
word_103CBFC dw	21Ah
db 'InterlockedExchange',0
word_103CC12 dw	296h
db 'RaiseException',0
align 4
word_103CC24 dw	4
db 'CommDlgExtendedError',0
align 4
word_103CC3C dw	0Ch
db 'GetSaveFileNameW',0
align 10h
word_103CC50 dw	0Ah
db 'GetOpenFileNameW',0
align 200h
dd 80h dup(?)
_text ends

; Section 2. (virtual address 0003D000)
; Virtual size			: 00002484 (   9348.)
; Section size in file		: 00001800 (   6144.)
; Offset to raw	data for section: 0003C200
; Flags	C0000040: Data Readable	Writable
; Alignment	: default

; Segment type:	Pure data
; Segment permissions: Read/Write
_data segment para public 'DATA' use32
assume cs:_data
;org 103D000h
unk_103D000 db	  0
db    0
db    0
db    0
db 0E0h	; ‡
db  2Eh	; .
db    3
db    1
db  62h	; b
db  78h	; x
db    3
db    1
db  5Ah	; Z
db  74h	; t
db    3
db    1
db  75h	; u
db  74h	; t
db    3
db    1
db  90h	; ê
db  74h	; t
db    3
db    1
db 0ABh	; ´
db  74h	; t
db    3
db    1
db 0C6h	; ∆
db  74h	; t
db    3
db    1
db 0E1h	; ·
db  74h	; t
db    3
db    1
db 0FCh	; ¸
db  74h	; t
db    3
db    1
db  17h
db  75h	; u
db    3
db    1
db  32h	; 2
db  75h	; u
db    3
db    1
db  4Dh	; M
db  75h	; u
db    3
db    1
db  68h	; h
db  75h	; u
db    3
db    1
db  83h	; É
db  75h	; u
db    3
db    1
db  9Eh	; û
db  75h	; u
db    3
db    1
db 0B9h	; π
db  75h	; u
db    3
db    1
db 0D4h	; ‘
db  75h	; u
db    3
db    1
db 0EFh	; Ô
db  75h	; u
db    3
db    1
db  0Ah
db  76h	; v
db    3
db    1
db  25h	; %
db  76h	; v
db    3
db    1
db  40h	; @
db  76h	; v
db    3
db    1
db  5Bh	; [
db  76h	; v
db    3
db    1
db  82h	; Ç
db  76h	; v
db    3
db    1
db 0AAh	; ™
db  76h	; v
db    3
db    1
db 0D2h	; “
db  76h	; v
db    3
db    1
db 0EDh	; Ì
db  76h	; v
db    3
db    1
db    8
db  77h	; w
db    3
db    1
db  23h	; #
db  77h	; w
db    3
db    1
db  39h	; 9
db  77h	; w
db    3
db    1
db  54h	; T
db  77h	; w
db    3
db    1
db  6Fh	; o
db  77h	; w
db    3
db    1
db  8Ah	; ä
db  77h	; w
db    3
db    1
db 0A5h	; •
db  77h	; w
db    3
db    1
db 0C0h	; ¿
db  77h	; w
db    3
db    1
db 0DBh	; €
db  77h	; w
db    3
db    1
db 0F6h	; ˆ
db  77h	; w
db    3
db    1
db  11h
db  78h	; x
db    3
db    1
db  2Ch	; ,
db  78h	; x
db    3
db    1
db  47h	; G
db  78h	; x
db    3
db    1
unk_103D0A0 db	  0
db    0
db    0
db    0
unk_103D0A4 db	  0
db    0
db    0
db    0
unk_103D0A8 db	  0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
unk_103D0B0 db	  0
db    0
db    0
db    0
db 0DFh	; ﬂ
db  0Dh
db    0
db    0
db 0DEh	; ﬁ
db  0Dh
db    0
db    0
off_103D0BC dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  4Fh	; O
db  62h	; b
db  6Ah	; j
db  65h	; e
db  63h	; c
db  74h	; t
db  40h	; @
db  40h	; @
db    0
db    0
db    0
off_103D0D4 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  47h	; G
db  64h	; d
db  69h	; i
db  4Fh	; O
db  62h	; b
db  6Ah	; j
db  65h	; e
db  63h	; c
db  74h	; t
db  40h	; @
db  40h	; @
db    0
db    0
db    0
db    0
off_103D0F0 dd offset off_100740C
align 8
a_?avcbitmap@@ db '.?AVCBitmap@@',0
align 4
off_103D108 dd offset off_100740C
align 10h
a_?avcrgn@@ db '.?AVCRgn@@',0
align 4
off_103D11C dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  43h	; C
db  6Dh	; m
db  64h	; d
db  54h	; T
db  61h	; a
db  72h	; r
db  67h	; g
db  65h	; e
db  74h	; t
db  40h	; @
db  40h	; @
db    0
db    0
db    0
db    0
off_103D138 dd offset off_100740C
align 10h
a_?avcwnd@@ db '.?AVCWnd@@',0
align 4
off_103D14C dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  43h	; C
db  6Fh	; o
db  6Eh	; n
db  74h	; t
db  72h	; r
db  6Fh	; o
db  6Ch	; l
db  42h	; B
db  61h	; a
db  72h	; r
db  40h	; @
db  40h	; @
db    0
db    0
db    0
off_103D168 dd offset off_100740C
align 10h
a_?avcstatusbar	db '.?AVCStatusBar@@',0
align 4
off_103D184 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  53h	; S
db  74h	; t
db  61h	; a
db  74h	; t
db  42h	; B
db  61h	; a
db  72h	; r
db  40h	; @
db  40h	; @
db    0
db    0
off_103D19C dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  50h	; P
db  41h	; A
db  56h	; V
db  43h	; C
db  4Dh	; M
db  65h	; e
db  6Dh	; m
db  6Fh	; o
db  72h	; r
db  79h	; y
db  45h	; E
db  78h	; x
db  63h	; c
db  65h	; e
db  70h	; p
db  74h	; t
db  69h	; i
db  6Fh	; o
db  6Eh	; n
db  40h	; @
db  40h	; @
db    0
db    0
db    1
db    0
db    0
db    0
db    4
db    0
db    0
db    0
db    8
db    0
db    0
db    0
db  18h
db    0
db    0
db    0
off_103D1CC dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  45h	; E
db  78h	; x
db  63h	; c
db  65h	; e
db  70h	; p
db  74h	; t
db  69h	; i
db  6Fh	; o
db  6Eh	; n
db  40h	; @
db  40h	; @
db    0
db    0
db    0
db    0
off_103D1E8 dd offset off_100740C
align 10h
a_?avcfileexcep	db '.?AVCFileException@@',0
align 4
off_103D208 dd offset off_100740C
align 10h
a_?avcbrush@@ db '.?AVCBrush@@',0
align 10h
off_103D220 dd offset off_100740C
align 8
a_?avcbitmapobj	db '.?AVCBitmapObj@@',0
align 4
off_103D23C dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  50h	; P
db  41h	; A
db  56h	; V
db  43h	; C
db  46h	; F
db  69h	; i
db  6Ch	; l
db  65h	; e
db  45h	; E
db  78h	; x
db  63h	; c
db  65h	; e
db  70h	; p
db  74h	; t
db  69h	; i
db  6Fh	; o
db  6Eh	; n
db  40h	; @
db  40h	; @
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
unk_103D260 db	  0
db    0
db    0
db    0
db  80h	; Ä
db  80h	; Ä
db  80h	; Ä
db    0
db  80h	; Ä
db    0
db    0
db    0
db  80h	; Ä
db  80h	; Ä
db    0
db    0
db    0
db  80h	; Ä
db    0
db    0
db    0
db  80h	; Ä
db  80h	; Ä
db    0
db    0
db    0
db  80h	; Ä
db    0
db  80h	; Ä
db    0
db  80h	; Ä
db    0
db 0FFh
db 0FFh
db 0FFh
db    0
db 0C0h	; ¿
db 0C0h	; ¿
db 0C0h	; ¿
db    0
db 0FFh
db    0
db    0
db    0
db 0FFh
db 0FFh
db    0
db    0
db    0
db 0FFh
db    0
db    0
db    0
db 0FFh
db 0FFh
db    0
db  40h	; @
db    0
db 0FFh
db    0
db 0FFh
db    0
db 0FFh
db    0
unk_103D2A0 db	  0
db    0
db    0
db    0
db  80h	; Ä
db  80h	; Ä
db  80h	; Ä
db    0
db  80h	; Ä
db    0
db    0
db    0
db  80h	; Ä
db  80h	; Ä
db    0
db    0
db    0
db  80h	; Ä
db    0
db    0
db    0
db  80h	; Ä
db  80h	; Ä
db    0
db    0
db    0
db  80h	; Ä
db    0
db  80h	; Ä
db    0
db  80h	; Ä
db    0
db  80h	; Ä
db  80h	; Ä
db  40h	; @
db    0
db    0
db  40h	; @
db  40h	; @
db    0
db    0
db  80h	; Ä
db 0FFh
db    0
db    0
db  40h	; @
db  80h	; Ä
db    0
db  80h	; Ä
db    0
db 0FFh
db    0
db  80h	; Ä
db  40h	; @
db    0
db    0
db 0FFh
db 0FFh
db 0FFh
db    0
db 0C0h	; ¿
db 0C0h	; ¿
db 0C0h	; ¿
db    0
db 0FFh
db    0
db    0
db    0
db 0FFh
db 0FFh
db    0
db    0
db    0
db 0FFh
db    0
db    0
db    0
db 0FFh
db 0FFh
db    0
db    0
db    0
db 0FFh
db    0
db 0FFh
db    0
db 0FFh
db    0
db 0FFh
db 0FFh
db  80h	; Ä
db    0
db    0
db 0FFh
db  80h	; Ä
db    0
db  80h	; Ä
db 0FFh
db 0FFh
db    0
db  80h	; Ä
db  80h	; Ä
db 0FFh
db    0
db 0FFh
db    0
db  80h	; Ä
db    0
db 0FFh
db  80h	; Ä
db  40h	; @
db    0
unk_103D310 db	  0
db    0
db    0
db    0
db    9
db    9
db    9
db    0
db  12h
db  12h
db  12h
db    0
db  1Bh
db  1Bh
db  1Bh
db    0
db  25h	; %
db  25h	; %
db  25h	; %
db    0
db  2Eh	; .
db  2Eh	; .
db  2Eh	; .
db    0
db  37h	; 7
db  37h	; 7
db  37h	; 7
db    0
db  3Fh	; ?
db  3Fh	; ?
db  3Fh	; ?
db    0
db  49h	; I
db  49h	; I
db  49h	; I
db    0
db  52h	; R
db  52h	; R
db  52h	; R
db    0
db  5Ch	; \
db  5Ch	; \
db  5Ch	; \
db    0
db  65h	; e
db  65h	; e
db  65h	; e
db    0
db  6Eh	; n
db  6Eh	; n
db  6Eh	; n
db    0
db  77h	; w
db  77h	; w
db  77h	; w
db    0
db 0FFh
db 0FFh
db 0FFh
db    0
dword_103D34C dd 0FAFAFAh
db 0F2h	; Ú
db 0F2h	; Ú
db 0F2h	; Ú
db    0
db 0D4h	; ‘
db 0D4h	; ‘
db 0D4h	; ‘
db    0
db 0C9h	; …
db 0C9h	; …
db 0C9h	; …
db    0
db 0BFh	; ø
db 0BFh	; ø
db 0BFh	; ø
db    0
db 0B6h	; ∂
db 0B6h	; ∂
db 0B6h	; ∂
db    0
db  9Fh	; ü
db  9Fh	; ü
db  9Fh	; ü
db    0
db  80h	; Ä
db  80h	; Ä
db  80h	; Ä
db    0
db 0ADh	; ≠
db 0ADh	; ≠
db 0ADh	; ≠
db    0
db 0A4h	; §
db 0A4h	; §
db 0A4h	; §
db    0
db  9Bh	; õ
db  9Bh	; õ
db  9Bh	; õ
db    0
db  92h	; í
db  92h	; í
db  92h	; í
db    0
db  89h	; â
db  89h	; â
db  89h	; â
db    0
off_103D380 dd offset off_100740C
align 8
a_?avccolors@@ db '.?AVCColors@@',0
align 4
off_103D398 dd offset off_100740C
align 10h
a_?avcdocking@@	db '.?AVCDocking@@',0
align 10h
db 0FFh
db 0FFh
db 0FFh
db    0
db 0C0h	; ¿
db 0C0h	; ¿
db 0C0h	; ¿
db    0
db  80h	; Ä
db  80h	; Ä
db  80h	; Ä
db    0
db    0
db    0
db    0
db    0
unk_103D3C0 db 0AAh ; ™
db 0AAh	; ™
db  55h	; U
db  55h	; U
db 0AAh	; ™
db 0AAh	; ™
db  55h	; U
db  55h	; U
db 0AAh	; ™
db 0AAh	; ™
db  55h	; U
db  55h	; U
db 0AAh	; ™
db 0AAh	; ™
db  55h	; U
db  55h	; U
unk_103D3D0 db	1Ah
db    4
db    0
db    0
db  30h	; 0
db  75h	; u
db    0
db    0
db    8
db    1
db    0
db    0
db  30h	; 0
db  75h	; u
db    0
db    0
db  1Bh
db    4
db    0
db    0
db  3Ah	; :
db  75h	; u
db    0
db    0
db  0Ah
db    1
db    0
db    0
db  3Ah	; :
db  75h	; u
db    0
db    0
db  1Ch
db    4
db    0
db    0
db 0C0h	; ¿
db  76h	; v
db    0
db    0
db    4
db    4
db    0
db    0
db  45h	; E
db  75h	; u
db    0
db    0
db    5
db    4
db    0
db    0
db  46h	; F
db  75h	; u
db    0
db    0
db    6
db    4
db    0
db    0
db  47h	; G
db  75h	; u
db    0
db    0
db  1Dh
db    4
db    0
db    0
db 0C0h	; ¿
db  76h	; v
db    0
db    0
db  37h	; 7
db    4
db    0
db    0
db  4Fh	; O
db  75h	; u
db    0
db    0
db  38h	; 8
db    4
db    0
db    0
db  50h	; P
db  75h	; u
db    0
db    0
db  18h
db    1
db    0
db    0
db  58h	; X
db  75h	; u
db    0
db    0
db  2Fh	; /
db    4
db    0
db    0
db  62h	; b
db  75h	; u
db    0
db    0
db  30h	; 0
db    4
db    0
db    0
db  63h	; c
db  75h	; u
db    0
db    0
db  2Ch	; ,
db    4
db    0
db    0
db  64h	; d
db  75h	; u
db    0
db    0
db  2Dh	; -
db    4
db    0
db    0
db  65h	; e
db  75h	; u
db    0
db    0
db  2Eh	; .
db    4
db    0
db    0
db  66h	; f
db  75h	; u
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
unk_103D460 db	29h ; )
db    4
db    0
db    0
db  5Ch	; \
db  76h	; v
db    0
db    0
db  39h	; 9
db    4
db    0
db    0
db  5Ch	; \
db  76h	; v
db    0
db    0
db  2Ah	; *
db    4
db    0
db    0
db  66h	; f
db  76h	; v
db    0
db    0
db  3Ah	; :
db    4
db    0
db    0
db  66h	; f
db  76h	; v
db    0
db    0
db  3Bh	; ;
db    4
db    0
db    0
db  66h	; f
db  76h	; v
db    0
db    0
db  3Ch	; <
db    4
db    0
db    0
db  66h	; f
db  76h	; v
db    0
db    0
db  3Dh	; =
db    4
db    0
db    0
db  66h	; f
db  76h	; v
db    0
db    0
db  3Eh	; >
db    4
db    0
db    0
db  66h	; f
db  76h	; v
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
unk_103D4A8 db	1Eh
db    4
db    0
db    0
db 0C0h	; ¿
db  76h	; v
db    0
db    0
db  3Fh	; ?
db    4
db    0
db    0
db  95h	; ï
db  75h	; u
db    0
db    0
db  40h	; @
db    4
db    0
db    0
db  96h	; ñ
db  75h	; u
db    0
db    0
db  41h	; A
db    4
db    0
db    0
db  97h	; ó
db  75h	; u
db    0
db    0
db  42h	; B
db    4
db    0
db    0
db  97h	; ó
db  75h	; u
db    0
db    0
db  43h	; C
db    4
db    0
db    0
db  97h	; ó
db  75h	; u
db    0
db    0
db  44h	; D
db    4
db    0
db    0
db  97h	; ó
db  75h	; u
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
unk_103D4E8 db	24h ; $
db    4
db    0
db    0
db 0C0h	; ¿
db  76h	; v
db    0
db    0
db  1Fh
db    4
db    0
db    0
db 0F9h	; ˘
db  75h	; u
db    0
db    0
db  45h	; E
db    4
db    0
db    0
db 0F9h	; ˘
db  75h	; u
db    0
db    0
db 0FBh	; ˚
db    3
db    0
db    0
db 0F9h	; ˘
db  75h	; u
db    0
db    0
db  25h	; %
db    4
db    0
db    0
db 0F9h	; ˘
db  75h	; u
db    0
db    0
db  20h
db    4
db    0
db    0
db 0FAh	; ˙
db  75h	; u
db    0
db    0
db  46h	; F
db    4
db    0
db    0
db 0FAh	; ˙
db  75h	; u
db    0
db    0
db 0FCh	; ¸
db    3
db    0
db    0
db 0FAh	; ˙
db  75h	; u
db    0
db    0
db  26h	; &
db    4
db    0
db    0
db 0FAh	; ˙
db  75h	; u
db    0
db    0
db  23h	; #
db    4
db    0
db    0
db 0C0h	; ¿
db  76h	; v
db    0
db    0
db  21h	; !
db    4
db    0
db    0
db    3
db  76h	; v
db    0
db    0
db  47h	; G
db    4
db    0
db    0
db    3
db  76h	; v
db    0
db    0
db 0FDh	; ˝
db    3
db    0
db    0
db    3
db  76h	; v
db    0
db    0
db  27h	; '
db    4
db    0
db    0
db    3
db  76h	; v
db    0
db    0
db  22h	; "
db    4
db    0
db    0
db    4
db  76h	; v
db    0
db    0
db  48h	; H
db    4
db    0
db    0
db    4
db  76h	; v
db    0
db    0
db 0FEh	; ˛
db    3
db    0
db    0
db    4
db  76h	; v
db    0
db    0
db  28h	; (
db    4
db    0
db    0
db    4
db  76h	; v
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
off_103D580 dd offset off_100740C
align 8
a_?avcdialog@@ db '.?AVCDialog@@',0
align 4
off_103D598 dd offset off_100740C
align 10h
a_?avcimageattr	db '.?AVCImageAttr@@',0
align 4
off_103D5B4 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  5Ah	; Z
db  6Fh	; o
db  6Fh	; o
db  6Dh	; m
db  56h	; V
db  69h	; i
db  65h	; e
db  77h	; w
db  44h	; D
db  6Ch	; l
db  67h	; g
db  40h	; @
db  40h	; @
db    0
db    0
off_103D5D0 dd offset off_100740C
align 8
a_?avcfliprotat	db '.?AVCFlipRotateDlg@@',0
align 10h
off_103D5F0 dd offset off_100740C
align 8
a_?avcstretchsk	db '.?AVCStretchSkewDlg@@',0
align 10h
off_103D610 dd offset off_100740C
align 8
a_?avctempbitma	db '.?AVCTempBitmap@@',0
align 4
off_103D62C dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  49h	; I
db  6Dh	; m
db  67h	; g
db  42h	; B
db  72h	; r
db  75h	; u
db  73h	; s
db  68h	; h
db  40h	; @
db  40h	; @
db    0
off_103D644 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  49h	; I
db  6Dh	; m
db  67h	; g
db  43h	; C
db  6Fh	; o
db  6Ch	; l
db  6Fh	; o
db  72h	; r
db  73h	; s
db  57h	; W
db  6Eh	; n
db  64h	; d
db  40h	; @
db  40h	; @
db    0
off_103D660 dd offset off_100740C
align 8
a_?avcpalette@@	db '.?AVCPalette@@',0
align 4
off_103D678 dd offset off_100740C
align 10h
a_pavcexception	db '.PAVCException@@',0
align 4
dword_103D694 dd 10h
dword_103D698 dd 0Fh
align 10h
; COLORREF color
color dd 0FFFFFFh
; COLORREF dword_103D6A4
dword_103D6A4 dd 87654321h
unk_103D6A8 db	  0
db    0
db    0
db    0
db 0FFh
db 0FFh
db 0FFh
db    0
unk_103D6B0 db	  0
db    0
db    0
db    0
db  80h	; Ä
db    0
db    0
db    0
db    0
db  80h	; Ä
db    0
db    0
db  80h	; Ä
db  80h	; Ä
db    0
db    0
db    0
db    0
db  80h	; Ä
db    0
db  80h	; Ä
db    0
db  80h	; Ä
db    0
db    0
db  80h	; Ä
db  80h	; Ä
db    0
db 0C0h	; ¿
db 0C0h	; ¿
db 0C0h	; ¿
db    0
db  80h	; Ä
db  80h	; Ä
db  80h	; Ä
db    0
db 0FFh
db    0
db    0
db    0
db    0
db 0FFh
db    0
db    0
db 0FFh
db 0FFh
db    0
db    0
db    0
db    0
db 0FFh
db    0
db 0FFh
db    0
db 0FFh
db    0
db    0
db 0FFh
db 0FFh
db    0
db 0FFh
db 0FFh
db 0FFh
db    0
dword_103D6F0 dd 1
unk_103D6F4 db 0F0h ; 
db    0
db 0F0h	; 
db    0
db 0F0h	; 
db    0
db 0F0h	; 
db    0
db 0F0h	; 
db    0
db 0F0h	; 
db    0
db 0F0h	; 
db    0
db 0F0h	; 
db    0
unk_103D704 db 0FFh
db    0
db 0FFh
db    0
db 0FFh
db    0
db 0FFh
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
byte_103D714 db	0FFh
db 0EEh	; Ó
db 0DDh	; ›
db 0CCh	; Ã
db 0BBh	; ª
db 0AAh	; ™
db  99h	; ô
db  88h	; à
db  77h	; w
db  66h	; f
db  55h	; U
db  44h	; D
db  33h	; 3
db  22h	; "
db  11h
db    0
off_103D724 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  50h	; P
db  41h	; A
db  56h	; V
db  43h	; C
db  52h	; R
db  65h	; e
db  73h	; s
db  6Fh	; o
db  75h	; u
db  72h	; r
db  63h	; c
db  65h	; e
db  45h	; E
db  78h	; x
db  63h	; c
db  65h	; e
db  70h	; p
db  74h	; t
db  69h	; i
db  6Fh	; o
db  6Eh	; n
db  40h	; @
db  40h	; @
db    0
db    0
db    0
db    0
dword_103D748 dd 1
off_103D74C dd offset unk_103EA94
off_103D750 dd offset unk_103EA94
off_103D754 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  49h	; I
db  6Dh	; m
db  67h	; g
db  54h	; T
db  6Fh	; o
db  6Fh	; o
db  6Ch	; l
db  40h	; @
db  40h	; @
db    0
db    0
off_103D76C dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  52h	; R
db  75h	; u
db  62h	; b
db  62h	; b
db  65h	; e
db  72h	; r
db  54h	; T
db  6Fh	; o
db  6Fh	; o
db  6Ch	; l
db  40h	; @
db  40h	; @
db    0
db    0
db    0
off_103D788 dd offset off_100740C
align 10h
a_?avcfreehandt	db '.?AVCFreehandTool@@',0
off_103D7A4 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  53h	; S
db  6Bh	; k
db  65h	; e
db  74h	; t
db  63h	; c
db  68h	; h
db  54h	; T
db  6Fh	; o
db  6Fh	; o
db  6Ch	; l
db  40h	; @
db  40h	; @
db    0
db    0
db    0
off_103D7C0 dd offset off_100740C
align 8
a_?avcbrushtool	db '.?AVCBrushTool@@',0
align 4
off_103D7DC dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  50h	; P
db  65h	; e
db  6Eh	; n
db  63h	; c
db  69h	; i
db  6Ch	; l
db  54h	; T
db  6Fh	; o
db  6Fh	; o
db  6Ch	; l
db  40h	; @
db  40h	; @
db    0
db    0
db    0
off_103D7F8 dd offset off_100740C
align 10h
a_?avcerasertoo	db '.?AVCEraserTool@@',0
align 4
off_103D814 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  41h	; A
db  69h	; i
db  72h	; r
db  42h	; B
db  72h	; r
db  75h	; u
db  73h	; s
db  68h	; h
db  54h	; T
db  6Fh	; o
db  6Fh	; o
db  6Ch	; l
db  40h	; @
db  40h	; @
db    0
off_103D830 dd offset off_100740C
align 8
a_?avcpickcolor	db '.?AVCPickColorTool@@',0
align 10h
off_103D850 dd offset off_100740C
align 8
a_?avcfloodtool	db '.?AVCFloodTool@@',0
align 4
off_103D86C dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  53h	; S
db  65h	; e
db  6Ch	; l
db  65h	; e
db  63h	; c
db  74h	; t
db  54h	; T
db  6Fh	; o
db  6Fh	; o
db  6Ch	; l
db  40h	; @
db  40h	; @
db    0
db    0
db    0
off_103D888 dd offset off_100740C
align 10h
a_?avczoomtool@	db '.?AVCZoomTool@@',0
off_103D8A0 dd offset off_100740C
align 8
a_?avclinetool@	db '.?AVCLineTool@@',0
off_103D8B8 dd offset off_100740C
align 10h
a_?avcclosedfor	db '.?AVCClosedFormTool@@',0
align 4
off_103D8D8 dd offset off_100740C
align 10h
a_?avcrecttool@	db '.?AVCRectTool@@',0
off_103D8F0 dd offset off_100740C
align 8
a_?avcroundrect	db '.?AVCRoundRectTool@@',0
align 10h
off_103D910 dd offset off_100740C
align 8
a_?avcellipseto	db '.?AVCEllipseTool@@',0
align 4
off_103D92C dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  49h	; I
db  6Dh	; m
db  67h	; g
db  57h	; W
db  6Eh	; n
db  64h	; d
db  40h	; @
db  40h	; @
db    0
db    0
db    0
off_103D944 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  4Dh	; M
db  65h	; e
db  6Eh	; n
db  75h	; u
db  40h	; @
db  40h	; @
db    0
off_103D958 dd offset off_100740C
align 10h
a_?avcframewnd@	db '.?AVCFrameWnd@@',0
off_103D970 dd offset off_100740C
align 8
a_?avcoleipfram	db '.?AVCOleIPFrameWnd@@',0
align 10h
off_103D990 dd offset off_100740C
align 8
a_?avcinplacefr	db '.?AVCInPlaceFrame@@',0
off_103D9AC dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  54h	; T
db  6Fh	; o
db  6Fh	; o
db  6Ch	; l
db  62h	; b
db  6Fh	; o
db  78h	; x
db  57h	; W
db  6Eh	; n
db  64h	; d
db  40h	; @
db  40h	; @
db    0
db    0
db    0
off_103D9C8 dd offset off_100740C
align 10h
a_?avcimgtoolwn	db '.?AVCImgToolWnd@@',0
align 4
off_103D9E4 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  4Dh	; M
db  69h	; i
db  6Eh	; n
db  69h	; i
db  46h	; F
db  72h	; r
db  6Dh	; m
db  57h	; W
db  6Eh	; n
db  64h	; d
db  40h	; @
db  40h	; @
db    0
db    0
db    0
off_103DA00 dd offset off_100740C
align 8
a_?avcdocument@	db '.?AVCDocument@@',0
off_103DA18 dd offset off_100740C
align 10h
a_?avcoledocume	db '.?AVCOleDocument@@',0
align 4
off_103DA34 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  4Fh	; O
db  6Ch	; l
db  65h	; e
db  4Ch	; L
db  69h	; i
db  6Eh	; n
db  6Bh	; k
db  69h	; i
db  6Eh	; n
db  67h	; g
db  44h	; D
db  6Fh	; o
db  63h	; c
db  40h	; @
db  40h	; @
db    0
db    0
db    0
db    0
off_103DA54 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  4Fh	; O
db  6Ch	; l
db  65h	; e
db  53h	; S
db  65h	; e
db  72h	; r
db  76h	; v
db  65h	; e
db  72h	; r
db  44h	; D
db  6Fh	; o
db  63h	; c
db  40h	; @
db  40h	; @
db    0
off_103DA70 dd offset off_100740C
align 8
a_?avcpbdoc@@ db '.?AVCPBDoc@@',0
align 4
off_103DA88 dd offset off_100740C
align 10h
a_?auiunknown@@	db '.?AUIUnknown@@',0
align 10h
off_103DAA0 dd offset off_100740C
align 8
a_?auipersist@@	db '.?AUIPersist@@',0
align 4
off_103DAB8 dd offset off_100740C
align 10h
a_?auipersistst	db '.?AUIPersistStorage@@',0
align 4
off_103DAD8 dd offset off_100740C
align 10h
a_?avxpbpersist	db '.?AVXPBPersistStg@CPBDoc@@',0
align 4
; const	WCHAR ClassName
ClassName:
unicode	0, <MSPaintApp>,0
align 4
off_103DB14 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  50h	; P
db  42h	; B
db  46h	; F
db  72h	; r
db  61h	; a
db  6Dh	; m
db  65h	; e
db  40h	; @
db  40h	; @
db    0
db    0
db    0
db    0
db    0
db    0
off_103DB30 dd offset sub_101EBCD
off_103DB34 dd offset sub_101EC08
dword_103DB38 dd 3E8h
dword_103DB3C dd 271Fh
db 0E9h	; È
db    3
db    0
db    0
db  1Fh
db  27h	; '
db    0
db    0
db 0EAh	; Í
db    3
db    0
db    0
db  1Fh
db  27h	; '
db    0
db    0
db 0EBh	; Î
db    3
db    0
db    0
db  34h	; 4
db    8
db    0
db    0
db 0ECh	; Ï
db    3
db    0
db    0
db  34h	; 4
db    8
db    0
db    0
db 0EDh	; Ì
db    3
db    0
db    0
db  36h	; 6
db    8
db    0
db    0
db 0EEh	; Ó
db    3
db    0
db    0
db  36h	; 6
db    8
db    0
db    0
db 0EFh	; Ô
db    3
db    0
db    0
db  39h	; 9
db    8
db    0
db    0
db 0F0h	; 
db    3
db    0
db    0
db  38h	; 8
db    8
db    0
db    0
db 0F1h	; Ò
db    3
db    0
db    0
db  20h
db    8
db    0
db    0
db 0F2h	; Ú
db    3
db    0
db    0
db  21h	; !
db    8
db    0
db    0
db 0F3h	; Û
db    3
db    0
db    0
db  22h	; "
db    8
db    0
db    0
db 0F4h	; Ù
db    3
db    0
db    0
db  23h	; #
db    8
db    0
db    0
db 0F5h	; ı
db    3
db    0
db    0
db  24h	; $
db    8
db    0
db    0
db 0F6h	; ˆ
db    3
db    0
db    0
db  25h	; %
db    8
db    0
db    0
db 0F7h	; ˜
db    3
db    0
db    0
db  0Eh
db    8
db    0
db    0
db 0F8h	; ¯
db    3
db    0
db    0
db    8
db    8
db    0
db    0
db 0F9h	; ˘
db    3
db    0
db    0
db  3Bh	; ;
db    8
db    0
db    0
db 0FAh	; ˙
db    3
db    0
db    0
db  3Ah	; :
db    8
db    0
db    0
db 0FBh	; ˚
db    3
db    0
db    0
db    4
db    8
db    0
db    0
db 0FCh	; ¸
db    3
db    0
db    0
db  3Ch	; <
db    8
db    0
db    0
db 0FDh	; ˝
db    3
db    0
db    0
db  30h	; 0
db    8
db    0
db    0
db 0FEh	; ˛
db    3
db    0
db    0
db  31h	; 1
db    8
db    0
db    0
db 0FFh
db    3
db    0
db    0
db 0C7h	; «
db    8
db    0
db    0
db    0
db    4
db    0
db    0
db  3Dh	; =
db    8
db    0
db    0
db    1
db    4
db    0
db    0
db  13h
db    8
db    0
db    0
db    2
db    4
db    0
db    0
db    6
db    8
db    0
db    0
db    3
db    4
db    0
db    0
db  10h
db    8
db    0
db    0
db    4
db    4
db    0
db    0
db  68h	; h
db    8
db    0
db    0
db    5
db    4
db    0
db    0
db  2Ah	; *
db    8
db    0
db    0
db    6
db    4
db    0
db    0
db  2Bh	; +
db    8
db    0
db    0
db    7
db    4
db    0
db    0
db  2Ch	; ,
db    8
db    0
db    0
off_103DC38 dd offset off_100740C
align 10h
a_?avcfont@@ db	'.?AVCFont@@',0
off_103DC4C dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  57h	; W
db  69h	; i
db  6Eh	; n
db  54h	; T
db  68h	; h
db  72h	; r
db  65h	; e
db  61h	; a
db  64h	; d
db  40h	; @
db  40h	; @
db    0
db    0
db    0
db    0
off_103DC68 dd offset off_100740C
align 10h
a_?avcwinapp@@ db '.?AVCWinApp@@',0
align 10h
off_103DC80 dd offset off_100740C
align 8
a_?avcpbapp@@ db '.?AVCPBApp@@',0
align 4
off_103DC98 dd offset off_100740C
align 10h
a_?avcview@@ db	'.?AVCView@@',0
off_103DCAC dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  50h	; P
db  42h	; B
db  56h	; V
db  69h	; i
db  65h	; e
db  77h	; w
db  40h	; @
db  40h	; @
db    0
db    0
db    0
off_103DCC4 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  55h	; U
db  49h	; I
db  50h	; P
db  72h	; r
db  69h	; i
db  6Eh	; n
db  74h	; t
db  44h	; D
db  69h	; i
db  61h	; a
db  6Ch	; l
db  6Fh	; o
db  67h	; g
db  43h	; C
db  61h	; a
db  6Ch	; l
db  6Ch	; l
db  62h	; b
db  61h	; a
db  63h	; c
db  6Bh	; k
db  40h	; @
db  40h	; @
db    0
db    0
off_103DCE8 dd offset off_100740C
align 10h
a_?avxprintdial	db '.?AVXPrintDialogCallback@C_PrintDia'
db 'logEx@@',0
align 4
off_103DD1C dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  43h	; C
db  6Fh	; o
db  6Dh	; m
db  6Dh	; m
db  6Fh	; o
db  6Eh	; n
db  44h	; D
db  69h	; i
db  61h	; a
db  6Ch	; l
db  6Fh	; o
db  67h	; g
db  40h	; @
db  40h	; @
db    0
off_103DD38 dd offset off_100740C
align 10h
a_?avcprintdial	db '.?AVCPrintDialog@@',0
align 4
off_103DD54 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  5Fh	; _
db  50h	; P
db  72h	; r
db  69h	; i
db  6Eh	; n
db  74h	; t
db  44h	; D
db  69h	; i
db  61h	; a
db  6Ch	; l
db  6Fh	; o
db  67h	; g
db  45h	; E
db  78h	; x
db  40h	; @
db  40h	; @
db    0
db    0
db    0
off_103DD74 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  44h	; D
db  43h	; C
db  40h	; @
db  40h	; @
db    0
db    0
db    0
off_103DD88 dd offset off_100740C
align 10h
a_?avcpic@@ db '.?AVCPic@@',0
align 4
off_103DD9C dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  50h	; P
db  72h	; r
db  69h	; i
db  6Eh	; n
db  74h	; t
db  52h	; R
db  65h	; e
db  73h	; s
db  4Fh	; O
db  62h	; b
db  6Ah	; j
db  40h	; @
db  40h	; @
db    0
db    0
aView:
unicode	0, <View>,0
align 4
aNostretching:
unicode	0, <NoStretching>,0
align 10h
aShowallfiles:
unicode	0, <ShowAllFiles>,0
align 4
aShowthumbnail:
unicode	0, <ShowThumbnail>,0
aShowtexttool:
unicode	0, <ShowTextTool>,0
align 4
aSnaptogrid:
unicode	0, <SnapToGrid>,0
align 4
aGridextent:
unicode	0, <GridExtent>,0
align 4
aBmpwidth:
unicode	0, <BMPWidth>,0
align 4
aBmpheight:
unicode	0, <BMPHeight>,0
aThumbxpos:
unicode	0, <ThumbXPos>,0
aThumbypos:
unicode	0, <ThumbYPos>,0
aThumbwidth:
unicode	0, <ThumbWidth>,0
align 4
aThumbheight:
unicode	0, <ThumbHeight>,0
aUnitsetting:
unicode	0, <UnitSetting>,0
aText:
unicode	0, <Text>,0
align 4
aTypefacename:
unicode	0, <TypeFaceName>,0
align 4
aPointsize:
unicode	0, <PointSize>,0
aCharset:
unicode	0, <CharSet>,0
aBold:
unicode	0, <Bold>,0
align 4
aUnderline:
unicode	0, <Underline>,0
aItalic:
unicode	0, <Italic>,0
align 4
aVerticaledit:
unicode	0, <VerticalEdit>,0
align 4
aPositionx:
unicode	0, <PositionX>,0
aPositiony:
unicode	0, <PositionY>,0
aTextpen:
unicode	0, <TextPen>,0
aColors:
unicode	0, <Colors>,0
align 4
aNumberofcolors:
unicode	0, <NumberOfColors>,0
align 4
; const	WCHAR aSoftware
aSoftware:
unicode	0, <Software>,0
align 10h
; const	WCHAR aWindowplacemen
aWindowplacemen:
unicode	0, <WindowPlacement>,0
dword_103E030 dd 0FFFFFFFFh
db 0E4h	; ‰
db  6Ah	; j
db  57h	; W
db    0
db    9
db 0B2h	; ≤
db  2Bh	; +
db    0
db  92h	; í
db  1Dh
db  1Dh
db    0
db  33h	; 3
db 0D2h	; “
db  15h
db    0
db 0DDh	; ›
db  70h	; p
db  11h
db    0
db  8Ch	; å
db  84h	; Ñ
db  0Eh
db    0
db  64h	; d
db  6Dh	; m
db  0Ch
db    0
db  71h	; q
db 0DBh	; €
db  0Ah
db    0
db  4Fh	; O
db 0A2h	; ¢
db    9
db    0
db  58h	; X
db 0A7h	; ß
db    8
db    0
db  97h	; ó
db 0D9h	; Ÿ
db    7
db    0
db 0BFh	; ø
db  2Dh	; -
db    7
db    0
db 0FCh	; ¸
db  9Bh	; õ
db    6
db    0
db 0B6h	; ∂
db  1Eh
db    6
db    0
db 0D5h	; ’
db 0B1h	; ±
db    5
db    0
db  45h	; E
db  52h	; R
db    5
db    0
db 0ADh	; ≠
db 0FDh	; ˝
db    4
db    0
db  38h	; 8
db 0B2h	; ≤
db    4
db    0
db  75h	; u
db  6Eh	; n
db    4
db    0
db  3Ch	; <
db  31h	; 1
db    4
db    0
db  9Dh	; ù
db 0F9h	; ˘
db    3
db    0
db 0D5h	; ’
db 0C6h	; ∆
db    3
db    0
db  41h	; A
db  98h	; ò
db    3
db    0
db  5Ch	; \
db  6Dh	; m
db    3
db    0
db 0B3h	; ≥
db  45h	; E
db    3
db    0
db 0E6h	; Ê
db  20h
db    3
db    0
db 0A5h	; •
db 0FEh	; ˛
db    2
db    0
db 0A9h	; ©
db 0DEh	; ﬁ
db    2
db    0
db 0B5h	; µ
db 0C0h	; ¿
db    2
db    0
db  95h	; ï
db 0A4h	; §
db    2
db    0
db  1Ch
db  8Ah	; ä
db    2
db    0
db  22h	; "
db  71h	; q
db    2
db    0
db  83h	; É
db  59h	; Y
db    2
db    0
db  20h
db  43h	; C
db    2
db    0
db 0DFh	; ﬂ
db  2Dh	; -
db    2
db    0
db 0A6h	; ¶
db  19h
db    2
db    0
db  61h	; a
db    6
db    2
db    0
db 0FAh	; ˙
db 0F3h	; Û
db    1
db    0
db  62h	; b
db 0E2h	; ‚
db    1
db    0
db  87h	; á
db 0D1h	; —
db    1
db    0
db  5Dh	; ]
db 0C1h	; ¡
db    1
db    0
db 0D5h	; ’
db 0B1h	; ±
db    1
db    0
db 0E5h	; Â
db 0A2h	; ¢
db    1
db    0
db  81h	; Å
db  94h	; î
db    1
db    0
db 0A0h	; †
db  86h	; Ü
db    1
db    0
db  39h	; 9
db  79h	; y
db    1
db    0
db  44h	; D
db  6Ch	; l
db    1
db    0
db 0B8h	; ∏
db  5Fh	; _
db    1
db    0
db  91h	; ë
db  53h	; S
db    1
db    0
db 0C6h	; ∆
db  47h	; G
db    1
db    0
db  52h	; R
db  3Ch	; <
db    1
db    0
db  31h	; 1
db  31h	; 1
db    1
db    0
db  5Bh	; [
db  26h	; &
db    1
db    0
db 0CEh	; Œ
db  1Bh
db    1
db    0
db  85h	; Ö
db  11h
db    1
db    0
db  7Bh	; {
db    7
db    1
db    0
db 0ADh	; ≠
db 0FDh	; ˝
db    0
db    0
db  17h
db 0F4h	; Ù
db    0
db    0
db 0B6h	; ∂
db 0EAh	; Í
db    0
db    0
db  87h	; á
db 0E1h	; ·
db    0
db    0
db  87h	; á
db 0D8h	; ÿ
db    0
db    0
db 0B3h	; ≥
db 0CFh	; œ
db    0
db    0
db    9
db 0C7h	; «
db    0
db    0
db  85h	; Ö
db 0BEh	; æ
db    0
db    0
db  27h	; '
db 0B6h	; ∂
db    0
db    0
db 0EBh	; Î
db 0ADh	; ≠
db    0
db    0
db 0D0h	; –
db 0A5h	; •
db    0
db    0
db 0D3h	; ”
db  9Dh	; ù
db    0
db    0
db 0F2h	; Ú
db  95h	; ï
db    0
db    0
db  2Dh	; -
db  8Eh	; é
db    0
db    0
db  81h	; Å
db  86h	; Ü
db    0
db    0
db 0ECh	; Ï
db  7Eh	; ~
db    0
db    0
db  6Dh	; m
db  77h	; w
db    0
db    0
db    3
db  70h	; p
db    0
db    0
db 0ABh	; ´
db  68h	; h
db    0
db    0
db  65h	; e
db  61h	; a
db    0
db    0
db  2Fh	; /
db  5Ah	; Z
db    0
db    0
db    8
db  53h	; S
db    0
db    0
db 0EEh	; Ó
db  4Bh	; K
db    0
db    0
db 0E1h	; ·
db  44h	; D
db    0
db    0
db 0DEh	; ﬁ
db  3Dh	; =
db    0
db    0
db 0E6h	; Ê
db  36h	; 6
db    0
db    0
db 0F7h	; ˜
db  2Fh	; /
db    0
db    0
db  0Eh
db  29h	; )
db    0
db    0
db  2Dh	; -
db  22h	; "
db    0
db    0
db  51h	; Q
db  1Bh
db    0
db    0
db  79h	; y
db  14h
db    0
db    0
db 0A4h	; §
db  0Dh
db    0
db    0
db 0D2h	; “
db    6
db    0
db    0
off_103E198 dd offset off_100740C
align 10h
a_?avcdragger@@	db '.?AVCDragger@@',0
align 10h
off_103E1B0 dd offset off_100740C
align 8
a_?avcdocitem@@	db '.?AVCDocItem@@',0
align 4
off_103E1C8 dd offset off_100740C
align 10h
a_?avcoleserver	db '.?AVCOleServerItem@@',0
align 4
off_103E1E8 dd offset off_100740C
align 10h
a_?avcpbsrvrite	db '.?AVCPBSrvrItem@@',0
align 4
off_103E204 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  45h	; E
db  64h	; d
db  69h	; i
db  74h	; t
db  40h	; @
db  40h	; @
db    0
off_103E218 dd offset off_100740C
align 10h
a_?avcattredit@	db '.?AVCAttrEdit@@',0
off_103E230 dd offset off_100740C
align 8
a_?avctedit@@ db '.?AVCTedit@@',0
align 4
aK db 'k',0
align 4
aO db 'o',0
align 10h
aI db 'â',0
align 4
aK_0 db	'ä',0
align 4
db 'ã',0
align 4
off_103E25C dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  54h	; T
db  6Fh	; o
db  6Fh	; o
db  6Ch	; l
db  42h	; B
db  61h	; a
db  72h	; r
db  40h	; @
db  40h	; @
db    0
db    0
off_103E274 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  54h	; T
db  66h	; f
db  6Fh	; o
db  6Eh	; n
db  74h	; t
db  54h	; T
db  62h	; b
db  61h	; a
db  72h	; r
db  40h	; @
db  40h	; @
db    0
db    0
db    0
db    0
off_103E290 dd offset off_100740C
align 8
a_?avcdialogbar	db '.?AVCDialogBar@@',0
align 4
off_103E2AC dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  54h	; T
db  66h	; f
db  6Fh	; o
db  6Eh	; n
db  74h	; t
db  44h	; D
db  6Ch	; l
db  67h	; g
db  40h	; @
db  40h	; @
db    0
off_103E2C4 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  43h	; C
db  6Fh	; o
db  6Dh	; m
db  62h	; b
db  6Fh	; o
db  42h	; B
db  6Fh	; o
db  78h	; x
db  40h	; @
db  40h	; @
db    0
off_103E2DC dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  54h	; T
db  66h	; f
db  6Fh	; o
db  6Eh	; n
db  74h	; t
db  40h	; @
db  40h	; @
db    0
db    0
db    0
db    0
off_103E2F4 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  50h	; P
db  41h	; A
db  56h	; V
db  43h	; C
db  4Eh	; N
db  6Fh	; o
db  74h	; t
db  53h	; S
db  75h	; u
db  70h	; p
db  70h	; p
db  6Fh	; o
db  72h	; r
db  74h	; t
db  65h	; e
db  64h	; d
db  45h	; E
db  78h	; x
db  63h	; c
db  65h	; e
db  70h	; p
db  74h	; t
db  69h	; i
db  6Fh	; o
db  6Eh	; n
db  40h	; @
db  40h	; @
db    0
db    0
db    0
db    0
off_103E31C dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  54h	; T
db  68h	; h
db  75h	; u
db  6Dh	; m
db  62h	; b
db  4Eh	; N
db  61h	; a
db  69h	; i
db  6Ch	; l
db  56h	; V
db  69h	; i
db  65h	; e
db  77h	; w
db  40h	; @
db  40h	; @
db    0
db    0
db    0
db    0
off_103E33C dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  46h	; F
db  6Ch	; l
db  6Fh	; o
db  61h	; a
db  74h	; t
db  54h	; T
db  68h	; h
db  75h	; u
db  6Dh	; m
db  62h	; b
db  4Eh	; N
db  61h	; a
db  69h	; i
db  6Ch	; l
db  56h	; V
db  69h	; i
db  65h	; e
db  77h	; w
db  40h	; @
db  40h	; @
db    0
db    0
db    0
off_103E360 dd offset off_100740C
align 8
a_?avcfullscree	db '.?AVCFullScreenThumbNailView@@',0
align 4
db  6Dh	; m
db    2
db    0
db    0
db  6Ch	; l
db    2
db    0
db    0
db  7Dh	; }
db    2
db    0
db    0
db  6Fh	; o
db    2
db    0
db    0
db  7Fh	; 
db    2
db    0
db    0
db  7Eh	; ~
db    2
db    0
db    0
db  7Ch	; |
db    2
db    0
db    0
db  80h	; Ä
db    2
db    0
db    0
db  73h	; s
db    2
db    0
db    0
db  6Eh	; n
db    2
db    0
db    0
db  70h	; p
db    2
db    0
db    0
db  74h	; t
db    2
db    0
db    0
db  81h	; Å
db    2
db    0
db    0
db  78h	; x
db    2
db    0
db    0
db  83h	; É
db    2
db    0
db    0
db  7Ah	; z
db    2
db    0
db    0
off_103E3C8 dd offset off_100740C
align 10h
a_?avctool@@ db	'.?AVCTool@@',0
unk_103E3DC db	0Fh
db    0
db  0Fh
db    0
db  0Fh
db    0
db  0Fh
db    0
db 0F0h	; 
db    0
db 0F0h	; 
db    0
db 0F0h	; 
db    0
db 0F0h	; 
db    0
aUjujujuj:
unicode	0, <U¶U¶U¶U¶>
off_103E3FC dd offset dword_103F178
dd offset dword_103F178
dd offset dword_103F17C
dd offset dword_103F184
dd offset dword_103F18C
dd offset dword_103F18C
dd offset dword_103F184
dd offset dword_103F188
dd offset dword_103F180
dd offset dword_103F180
dd offset dword_103F188
off_103E428 dd offset off_100740C
align 10h
a_?avccurvetool	db '.?AVCCurveTool@@',0
align 4
off_103E444 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  50h	; P
db  6Fh	; o
db  6Ch	; l
db  79h	; y
db  67h	; g
db  6Fh	; o
db  6Eh	; n
db  54h	; T
db  6Fh	; o
db  6Fh	; o
db  6Ch	; l
db  40h	; @
db  40h	; @
db    0
db    0
off_103E460 dd offset off_100740C
align 8
a_?avcfreehands	db '.?AVCFreehandSelectTool@@',0
align 4
off_103E484 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  54h	; T
db  65h	; e
db  78h	; x
db  74h	; t
db  54h	; T
db  6Fh	; o
db  6Fh	; o
db  6Ch	; l
db  40h	; @
db  40h	; @
db    0
off_103E49C dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  42h	; B
db  79h	; y
db  74h	; t
db  65h	; e
db  41h	; A
db  72h	; r
db  72h	; r
db  61h	; a
db  79h	; y
db  40h	; @
db  40h	; @
db    0
db    0
db    0
db    0
off_103E4B8 dd offset off_100740C
align 10h
a_?avcbmobjsequ	db '.?AVCBmObjSequence@@',0
align 4
off_103E4D8 dd offset off_100740C
align 10h
a_?avcundobmobj	db '.?AVCUndoBmObj@@',0
align 4
off_103E4F4 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  47h	; G
db  64h	; d
db  69h	; i
db  70h	; p
db  6Ch	; l
db  75h	; u
db  73h	; s
db  42h	; B
db  61h	; a
db  73h	; s
db  65h	; e
db  40h	; @
db  47h	; G
db  64h	; d
db  69h	; i
db  70h	; p
db  6Ch	; l
db  75h	; u
db  73h	; s
db  40h	; @
db  40h	; @
db    0
db    0
db    0
off_103E518 dd offset off_100740C
align 10h
a_?avimage@gdip	db '.?AVImage@Gdiplus@@',0
off_103E534 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  42h	; B
db  69h	; i
db  74h	; t
db  6Dh	; m
db  61h	; a
db  70h	; p
db  40h	; @
db  47h	; G
db  64h	; d
db  69h	; i
db  70h	; p
db  6Ch	; l
db  75h	; u
db  73h	; s
db  40h	; @
db  40h	; @
db    0
db    0
db    0
db    0
off_103E554 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  55h	; U
db  49h	; I
db  53h	; S
db  65h	; e
db  71h	; q
db  75h	; u
db  65h	; e
db  6Eh	; n
db  74h	; t
db  69h	; i
db  61h	; a
db  6Ch	; l
db  53h	; S
db  74h	; t
db  72h	; r
db  65h	; e
db  61h	; a
db  6Dh	; m
db  40h	; @
db  40h	; @
db    0
off_103E574 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  55h	; U
db  49h	; I
db  53h	; S
db  74h	; t
db  72h	; r
db  65h	; e
db  61h	; a
db  6Dh	; m
db  40h	; @
db  40h	; @
db    0
db    0
db    0
off_103E58C dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  42h	; B
db  6Dh	; m
db  70h	; p
db  53h	; S
db  74h	; t
db  72h	; r
db  65h	; e
db  61h	; a
db  6Dh	; m
db  40h	; @
db  40h	; @
db    0
db    0
db    0
db    0
off_103E5A8 dd offset off_100740C
align 10h
a_?avcimagingmg	db '.?AVCImagingMgr@@',0
align 4
off_103E5C4 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  55h	; U
db  49h	; I
db  57h	; W
db  69h	; i
db  61h	; a
db  44h	; D
db  61h	; a
db  74h	; t
db  61h	; a
db  43h	; C
db  61h	; a
db  6Ch	; l
db  6Ch	; l
db  62h	; b
db  61h	; a
db  63h	; c
db  6Bh	; k
db  40h	; @
db  40h	; @
db    0
db    0
off_103E5E4 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  44h	; D
db  61h	; a
db  74h	; t
db  61h	; a
db  43h	; C
db  61h	; a
db  6Ch	; l
db  6Ch	; l
db  62h	; b
db  61h	; a
db  63h	; c
db  6Bh	; k
db  40h	; @
db  40h	; @
db    0
off_103E600 dd offset off_100740C
align 8
a_?auiwiaprogre	db '.?AUIWiaProgressDialog@@',0
align 4
off_103E624 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  50h	; P
db  72h	; r
db  6Fh	; o
db  67h	; g
db  72h	; r
db  65h	; e
db  73h	; s
db  73h	; s
db  44h	; D
db  69h	; i
db  61h	; a
db  6Ch	; l
db  6Fh	; o
db  67h	; g
db  40h	; @
db  40h	; @
db    0
db    0
db    0
off_103E644 dd offset off_100740C
db    0
db    0
db    0
db    0
db  2Eh	; .
db  3Fh	; ?
db  41h	; A
db  56h	; V
db  43h	; C
db  50h	; P
db  72h	; r
db  6Fh	; o
db  67h	; g
db  72h	; r
db  65h	; e
db  73h	; s
db  73h	; s
db  43h	; C
db  74h	; t
db  72h	; r
db  6Ch	; l
db  40h	; @
db  40h	; @
db    0
off_103E660 dd offset off_100740C
align 8
a_?auiwiaeventc	db '.?AUIWiaEventCallback@@',0
off_103E680 dd offset off_100740C
align 8
a_?avceventcall	db '.?AVCEventCallback@@',0
align 10h
off_103E6A0 dd offset off_100740C
align 8
a_?avcwiamgr@@ db '.?AVCWIAMgr@@',0
align 4
dword_103E6B8 dd 0FFFF44BFh
___security_cookie dd 0BB40h
dword_103E6C0 dd 1
_data ends

;
; Delayed imports from UxTheme.dll
;

; Segment type:	Externs
; _idata
; HRESULT __stdcall DrawThemeBackground(HTHEME hTheme, HDC hdc,	int iPartId, int iStateId, LPCRECT pRect, LPCRECT pClipRect)
extrn DrawThemeBackground:dword
; HTHEME __stdcall OpenThemeData(HWND hwnd, LPCWSTR pszClassList)
extrn OpenThemeData:dword
; HRESULT __stdcall CloseThemeData(HTHEME hTheme)
extrn CloseThemeData:dword

;
; Delayed imports from gdiplus.dll
;
extrn __imp_GdipSaveImageToStream:dword
extrn __imp_GdipGetImageRawFormat:dword
extrn __imp_GdipGetPropertySize:dword
extrn __imp_GdipGetAllPropertyItems:dword
extrn __imp_GdipCreateBitmapFromFile:dword
extrn __imp_GdipCreateBitmapFromFileICM:dword
extrn __imp_GdipGetImageDecodersSize:dword
extrn __imp_GdipDisposeImage:dword
extrn __imp_GdipGetImageEncodersSize:dword
extrn __imp_GdipGetImageEncoders:dword
extrn __imp_GdipFree:dword
extrn __imp_GdipAlloc:dword
extrn __imp_GdipCloneImage:dword
extrn __imp_GdipSaveImageToFile:dword
extrn __imp_GdipSetPropertyItem:dword
extrn __imp_GdipCreateBitmapFromHBITMAP:dword
extrn __imp_GdiplusStartup:dword
extrn __imp_GdipGetImageDecoders:dword
extrn __imp_GdiplusShutdown:dword


; Segment type:	Pure data
; Segment permissions: Read/Write
_data segment para public 'DATA' use32
assume cs:_data
;org 103E720h
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
dword_103E760 dd 0
dword_103E764 dd 0
dword_103E768 dd 0
dword_103E76C dd 0
dword_103E770 dd 0
dword_103E774 dd 0
unk_103E778 db	  0
db    0
db    0
db    0
unk_103E77C db	  0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
; struct HRGN__	stru_103E784
stru_103E784 HRGN__ <0>
; HRGN hrgn
hrgn dd	0
unk_103E78C db	  0
db    0
db    0
db    0
; HDC dword_103E790
dword_103E790 dd 0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
unk_103E79C db	  0
db    0
db    0
db    0
dword_103E7A0 dd 0
; int dword_103E7A4
dword_103E7A4 dd 0
; int cy
cy dd 0
unk_103E7AC db	  0
db    0
db    0
db    0
; HDC hdcDest
hdcDest	dd 0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
unk_103E7BC db	  0
db    0
db    0
db    0
db    0
db    0
db    0
db    0
; HGDIOBJ dword_103E7C4
dword_103E7C4 dd 0
; HGDIOBJ dword_103E7C8
dword_103E7C8 dd 0
dword_103E7CC dd 0
dword_103E7D0 dd 0
dword_103E7D4 dd 0
dword_103E7D8 dd 0
dword_103E7DC dd 0
dword_103E7E0 dd 0
dword_103E7E4 dd 0
dword_103E7E8 dd 0
; RECT rcSrc2
rcSrc2 RECT <0>
dword_103E7FC dd 0
dword_103E800 dd ?
; HGDIOBJ dword_103E804
dword_103E804 dd ?
; struct tagRECT stru_103E808
stru_103E808 tagRECT <?>
; int dword_103E818
dword_103E818 dd ?
; int dword_103E81C
dword_103E81C dd ?
dword_103E820 dd ?
dword_103E824 dd ?
dword_103E828 dd ?
dword_103E82C dd ?
dword_103E830 dd ?
dword_103E834 dd ?
dword_103E838 dd ?
byte_103E83C db	?
byte_103E83D db	?
align 10h
dword_103E840 dd ?
dword_103E844 dd ?
dword_103E848 dd ?
dword_103E84C dd ?
dword_103E850 dd ?
; HGDIOBJ ho
ho dd ?
; HDC hdc
hdc dd ?
dword_103E85C dd ?
dword_103E860 dd ?
dword_103E864 dd ?
dword_103E868 dd ?
dword_103E86C dd ?
dword_103E870 dd ?
dword_103E874 dd ?
; void *dword_103E878
dword_103E878 dd ?
; COLORREF dword_103E87C
dword_103E87C dd ?
; HGDIOBJ h
h dd ?
; HGDIOBJ dword_103E884
dword_103E884 dd ?
unk_103E888 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
; HGDIOBJ dword_103E88C
dword_103E88C dd ?
unk_103E890 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
dword_103E894 dd ?
unk_103E898 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
dword_103E89C dd ?
; struct HBITMAP__ hbm
hbm HBITMAP__ <?>
dword_103E8A4 dd ?
; struct HBITMAP__ stru_103E8A8
stru_103E8A8 HBITMAP__ <?>
; HGDIOBJ dword_103E8AC
dword_103E8AC dd ?
unk_103E8B0 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
dword_103E8F0 dd ?
dword_103E8F4 dd ?
dword_103E8F8 dd ?
dword_103E8FC dd ?
dword_103E900 dd ?
dword_103E904 dd ?
dword_103E908 dd ?
unk_103E90C db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103E944 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103E97C db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103E9B4 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103E9EC db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103EA24 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103EA5C db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103EA94 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103EACC db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103EB04 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103EB40 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103EB78 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103EBB4 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
; RECT stru_103EBEC
stru_103EBEC RECT <?>
; struct tagRECT rcDst
rcDst tagRECT <?>
unk_103EC0C db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
; RECT rc
rc RECT	<?>
unk_103EC58 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
; RECT stru_103EC94
stru_103EC94 RECT <?>
unk_103ECA4 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
; HGDIOBJ dword_103ECE0
dword_103ECE0 dd ?
; HGDIOBJ dword_103ECE4
dword_103ECE4 dd ?
; HGDIOBJ dword_103ECE8
dword_103ECE8 dd ?
; HGDIOBJ dword_103ECEC
dword_103ECEC dd ?
dword_103ECF0 dd ?
align 8
dword_103ECF8 dd ?
dword_103ECFC dd ?
dword_103ED00 dd ?
dword_103ED04 dd ?
dword_103ED08 dd ?
dword_103ED0C dd ?
; struct tagRECT stru_103ED10
stru_103ED10 tagRECT <?>
unk_103ED20 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
dword_103EDC8 dd ?
dword_103EDCC dd ?
dword_103EDD0 dd ?
dword_103EDD4 dd ?
dword_103EDD8 dd ?
dword_103EDDC dd ?
dword_103EDE0 dd ?
dword_103EDE4 dd ?
dword_103EDE8 dd ?
dword_103EDEC dd ?
dword_103EDF0 dd ?
dword_103EDF4 dd ?
dword_103EDF8 dd ?
align 10h
dword_103EE00 dd ?
; HMODULE hModule
hModule	dd ?
unk_103EE08 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
dword_103EE28 dd ?
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
; LPCWSTR lpSubKey
lpSubKey dd ?
align 40h
dword_103EEC0 dd ?
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
dword_103EF30 dd ?
dword_103EF34 dd ?
db    ?	;
db    ?	;
db    ?	;
db    ?	;
dword_103EF3C dd ?
dword_103EF40 dd ?
dword_103EF44 dd ?
dword_103EF48 dd ?
dword_103EF4C dd ?
dword_103EF50 dd ?
dword_103EF54 dd ?
dword_103EF58 dd ?
dword_103EF5C dd ?
db    ?	;
db    ?	;
db    ?	;
db    ?	;
; LPCWSTR pwszDevice
pwszDevice dd ?
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
dword_103EF7C dd ?
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
; int dword_103EF88
dword_103EF88 dd ?
unk_103EF8C db	  ? ;
db    ?	;
db    ?	;
db    ?	;
dword_103EF90 dd ?
align 8
dword_103EF98 dd ?
dword_103EF9C dd ?
; RECT stru_103EFA0
stru_103EFA0 RECT <?>
dword_103EFB0 dd ?
dword_103EFB4 dd ?
dword_103EFB8 dd ?
dword_103EFBC dd ?
dword_103EFC0 dd ?
dword_103EFC4 dd ?
dword_103EFC8 dd ?
dword_103EFCC dd ?
dword_103EFD0 dd ?
dword_103EFD4 dd ?
dword_103EFD8 dd ?
align 10h
dword_103EFE0 dd ?
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
dword_103EFF4 dd ?
dword_103EFF8 dd ?
dword_103EFFC dd ?
dword_103F000 dd ?
dword_103F004 dd ?
dword_103F008 dd ?
dword_103F00C dd ?
dword_103F010 dd ?
dword_103F014 dd ?
dword_103F018 dd ?
dword_103F01C dd ?
dword_103F020 dd ?
dword_103F024 dd ?
dword_103F028 dd ?
dword_103F02C dd ?
dword_103F030 dd ?
dword_103F034 dd ?
dword_103F038 dd ?
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
dword_103F054 dd ?
dword_103F058 dd ?
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
dword_103F074 dd ?
dword_103F078 dd ?
; int dword_103F07C
dword_103F07C dd ?
; int dy
dy dd ?
dword_103F084 dd ?
unk_103F088 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103F0FC db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
dword_103F104 dd ?
unk_103F108 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
dword_103F128 dd ?
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
dword_103F14C dd ?
dword_103F150 dd ?
dword_103F154 dd ?
dword_103F158 dd ?
dword_103F15C dd ?
dword_103F160 dd ?
align 10h
dword_103F170 dd ?
dword_103F174 dd ?
dword_103F178 dd ?
dword_103F17C dd ?
dword_103F180 dd ?
dword_103F184 dd ?
dword_103F188 dd ?
dword_103F18C dd ?
dword_103F190 dd ?
unk_103F194 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103F19C db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103F1A4 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103F1AC db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
; struct HBITMAP__ stru_103F1B4
stru_103F1B4 HBITMAP__ <?>
db    ?	;
db    ?	;
db    ?	;
db    ?	;
; struct HBITMAP__ stru_103F1BC
stru_103F1BC HBITMAP__ <?>
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103F1C8 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
; int rop2
rop2 dd	?
dword_103F238 dd ?
align 10h
unk_103F240 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
; int dword_103F2D0
dword_103F2D0 dd ?
dword_103F2D4 dd ?
unk_103F2D8 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
unk_103F35C db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
dword_103F398 dd ?
align 10h
unk_103F3A0 db	  ? ;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
db    ?	;
dword_103F3FC dd ?
dword_103F400 dd ?
align 20h
dword_103F420 dd ?
align 10h
dword_103F430 dd ?
align 10h
dword_103F440 dd ?
dword_103F444 dd ?
dword_103F448 dd ?
dword_103F44C dd ?
dword_103F450 dd ?
align 8
dword_103F458 dd ?
; HMODULE dword_103F45C
dword_103F45C dd ?
gdiplus_dll_handle dd ?
UxTheme_dll_handle dd ?
dword_103F468 dd ?
dword_103F46C dd ?
dword_103F470 dd ?
align 8
dword_103F478 dd ?
dword_103F47C dd ?
dword_103F480 dd ?
align 1000h
_data ends


end start
