Function at 0x408550
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x41d1d2
push eax
mov dword fs:[0], esp
sub esp, 0xac
push esi
mov esi, ecx
mov eax, dword [esi + 0x70]
test eax, eax
je 0x4090b9
push ebx
xor ebx, ebx
push ebp
push edi
test esi, esi
mov dword [esp + 0x18], ebx
jne 0x40858a
xor edi, edi
jmp 0x40858d
mov edi, dword [esi + 0x20]
call dword [sym.imp.USER32.dll_GetActiveWindow]
cmp eax, edi
je 0x4085a1
mov ebx, dword [esi + 0x98]
mov dword [esp + 0x18], ebx
mov ecx, dword [esi + 0x20]
lea eax, [esp + 0x20]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
lea edx, [esp + 0x20]
mov ecx, esi
push edx
call sub.MFC42.DLL_CWnd::ScreenToClient
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
neg eax
neg ecx
push eax
lea eax, [esp + 0x24]
push ecx
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov ecx, dword [esi + 0x20]
push ecx
call dword [sym.imp.USER32.dll_GetWindowDC]
push eax
call sub.MFC42.DLL_CDC::FromHandle
lea ecx, [esp + 0x40]
mov edi, eax
call sub.MFC42.DLL_CDC::CDC
test edi, edi
mov dword [esp + 0xc4], 0
jne 0x408603
xor eax, eax
jmp 0x408606
mov eax, dword [edi + 4]
push eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
lea ecx, [esp + 0x44]
call sub.MFC42.DLL_CDC::Attach
mov eax, dword [esi + 0x70]
test eax, eax
je 0x408621
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x44]
push eax
push edx
call sub.MFC42.DLL_CDC::SelectGdiObject
mov eax, dword [esp + 0xcc]
test eax, eax
jne 0x408a69
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x20]
mov ecx, dword [esi + 0x98]
mov eax, edx
sub eax, ebp
cmp ecx, eax
jne 0x4087a5
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24]
mov ebp, eax
sub ebp, ecx
cmp dword [esi + 0x9c], ebp
jne 0x4087a5
mov ebp, 0x41fad0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], ebp
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], ebp
mov ebp, dword [sym.imp.GDI32.dll_CreateRectRgn]
push eax
push edx
push ecx
mov ecx, dword [esp + 0x2c]
mov byte [esp + 0xd0], 2
push ecx
call ebp
push eax
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CGdiObject::Attach
mov eax, dword [esi + 0x9c]
mov ecx, dword [esi + 0xac]
mov edx, dword [esi + 0xa8]
sub eax, ecx
mov ecx, dword [esi + 0x98]
push eax
mov eax, dword [esi + 0xa0]
sub ecx, edx
mov edx, dword [esi + 0xa4]
push ecx
push eax
push edx
call ebp
push eax
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CGdiObject::Attach
mov ebp, dword [esp + 0x1c]
lea eax, [esp + 0x18]
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x30]
neg eax
sbb eax, eax
push 3
and eax, ebp
neg ecx
sbb ecx, ecx
push eax
and ecx, edx
push ecx
push edx
call dword [sym.imp.GDI32.dll_CombineRgn]
lea edx, [esp + 0x30]
test edx, edx
je 0x408726
mov eax, dword [esp + 0x34]
test eax, eax
je 0x408726
push eax
mov eax, dword [edi + 4]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
sub ecx, edx
mov edx, dword [esp + 0x28]
mov ebp, dword [esp + 0x44]
sub edx, eax
lea eax, [esp + 0x40]
neg eax
sbb eax, eax
push 0xcc0020
and eax, ebp
push 0
push ebx
push eax
push ecx
mov ecx, dword [edi + 4]
push edx
push 0
push 0
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov ebp, 0x41fabc
mov dword [esp + 0x18], ebp
lea ecx, [esp + 0x18]
mov byte [esp + 0xc4], 3
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov dword [esp + 0x18], 0x41f7b4
mov dword [esp + 0x30], ebp
lea ecx, [esp + 0x30]
mov byte [esp + 0xc4], 4
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov byte [esp + 0xc4], 0
jmp 0x408a69
mov edx, dword [esp + 0x44]
mov ecx, dword [esi + 0xa0]
lea eax, [esp + 0x40]
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, edx
mov edx, dword [edi + 4]
push ebx
push eax
push ecx
push ecx
push 0
push 0
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [esi + 0xa0]
mov ebp, dword [esi + 0x98]
mov edx, dword [esp + 0x28]
push 0xcc0020
lea eax, [ecx + ecx]
push ecx
sub ebp, eax
sub edx, eax
mov eax, dword [esp + 0x28]
push ebp
sub edx, eax
lea eax, [esp + 0x4c]
neg eax
sbb eax, eax
lea ebp, [ecx + ebx]
and eax, dword [esp + 0x50]
push 0
push ebp
push eax
mov eax, dword [edi + 4]
push ecx
push edx
push 0
push ecx
push eax
call dword [sym.imp.GDI32.dll_StretchBlt]
mov ecx, dword [esi + 0xa0]
mov ebp, dword [esp + 0x28]
mov edx, dword [esi + 0x98]
mov eax, dword [esp + 0x20]
sub ebp, ecx
sub edx, ecx
sub ebp, eax
lea eax, [esp + 0x40]
add edx, ebx
push 0xcc0020
neg eax
sbb eax, eax
push 0
and eax, dword [esp + 0x4c]
push edx
push eax
push ecx
push ecx
mov ecx, dword [edi + 4]
push 0
push ebp
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [esi + 0xa0]
mov ebp, dword [esi + 0x9c]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esi + 0xac]
sub ebp, edx
sub ecx, edx
sub ebp, eax
sub ecx, eax
mov eax, dword [esp + 0x24]
push 0xcc0020
sub ecx, eax
lea eax, [esp + 0x44]
neg eax
sbb eax, eax
and eax, dword [esp + 0x48]
push ebp
mov ebp, dword [esi + 0xa4]
push ebp
push edx
push ebx
push eax
push ecx
push ebp
push edx
mov edx, dword [edi + 4]
push 0
push edx
call dword [sym.imp.GDI32.dll_StretchBlt]
mov edx, dword [esi + 0xa0]
mov ebp, dword [esi + 0x9c]
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0x98]
sub ebp, edx
push 0xcc0020
sub ebp, eax
mov eax, dword [esi + 0xa8]
sub ecx, eax
push ebp
add ecx, ebx
mov ebx, dword [esi + 0xac]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x34]
sub ecx, edx
mov ebp, dword [esi + 0xa8]
sub ecx, ebx
mov ebx, dword [esp + 0x2c]
sub ecx, ebx
mov ebx, dword [esp + 0x30]
sub ebx, eax
mov eax, dword [esp + 0x28]
sub ebx, eax
lea eax, [esp + 0x48]
neg eax
sbb eax, eax
push ebp
and eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x3c]
push edx
push ebp
push eax
mov eax, dword [esi + 0xa8]
push ecx
push eax
mov eax, dword [edi + 4]
push edx
push ebx
push eax
call dword [sym.imp.GDI32.dll_StretchBlt]
mov edx, dword [esi + 0xac]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov ebx, dword [esi + 0x9c]
sub ecx, edx
sub ebx, edx
sub ecx, eax
lea eax, [esp + 0x40]
mov ebp, dword [esi + 0xa4]
push 0xcc0020
neg eax
sbb eax, eax
push ebx
and eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x20]
push ebx
push eax
push edx
push ebp
push ecx
mov ecx, dword [edi + 4]
push 0
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [esi + 0xac]
mov ecx, dword [esi + 0xa8]
mov eax, dword [esi + 0xa4]
mov ebp, dword [esi + 0x98]
sub ebp, eax
push 0xcc0020
sub ebp, ecx
mov ecx, dword [esi + 0x9c]
sub ecx, edx
push edx
mov dword [esp + 0x38], ecx
lea ecx, [eax + ebx]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x30]
sub ecx, eax
mov eax, dword [esi + 0xa8]
sub ecx, eax
mov eax, dword [esp + 0x28]
sub ecx, eax
mov eax, dword [esp + 0x34]
sub eax, edx
push ebp
sub eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x3c]
push ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x50]
neg eax
sbb eax, eax
push ebp
and eax, dword [esp + 0x58]
push eax
mov eax, dword [esi + 0xa4]
push edx
mov edx, dword [esp + 0x54]
push ecx
push edx
push eax
mov eax, dword [edi + 4]
push eax
call dword [sym.imp.GDI32.dll_StretchBlt]
mov eax, dword [esi + 0xac]
mov ecx, dword [esi + 0x9c]
mov edx, dword [esp + 0x2c]
mov ebp, dword [esi + 0xa8]
sub ecx, eax
sub edx, eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x30], ecx
mov ecx, dword [esi + 0x98]
sub edx, eax
mov eax, dword [esp + 0x28]
sub ecx, ebp
sub eax, ebp
mov ebp, dword [esp + 0x20]
sub eax, ebp
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x40]
add ecx, ebx
push 0xcc0020
neg eax
sbb eax, eax
and eax, ebp
mov ebp, dword [esp + 0x34]
push ebp
push ecx
mov ecx, dword [esp + 0x24]
push eax
mov eax, dword [esi + 0xac]
push eax
mov eax, dword [esi + 0xa8]
push eax
push edx
mov edx, dword [edi + 4]
push ecx
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetStyle
test eax, 0xc00000
je 0x40908b
push 0x10
push 0x10
lea ebp, [esi + 0x1ac]
push 0
push 0
push ebp
call dword [sym.imp.USER32.dll_SetRect]
mov eax, dword [esi + 0xa0]
sub eax, 0xf
cdq
sub eax, edx
sar eax, 1
push eax
push eax
push ebp
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [esi + 0x20]
push 0
push 0
push 0x7f
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
je 0x408af2
mov ecx, dword [esi + 0x90]
test ecx, ecx
je 0x408af2
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 4]
push 3
push 0
sub ecx, edx
mov edx, dword [ebp + 8]
push 0
push ecx
mov ecx, dword [ebp]
sub edx, ecx
push edx
mov edx, dword [edi + 4]
push eax
mov eax, dword [esi + 0x1b0]
push eax
push ecx
push edx
call dword [sym.imp.USER32.dll_DrawIconEx]
jmp 0x408b01
push 0x10
push 0x10
push 0
push 0
mov ecx, ebp
call sub.MFC42.DLL_CRect::DeflateRect
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_2
lea eax, [esp + 0x18]
mov ecx, esi
push eax
mov byte [esp + 0xc8], 5
call sub.MFC42.DLL_CWnd::GetWindowTextA
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0x420208
push 0x11
mov byte [esp + 0xc8], 6
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
call sub.MFC42.DLL_CGdiObject::FromHandle
mov edx, dword [eax + 4]
lea ecx, [esp + 0x80]
push ecx
push 0x3c
push edx
call dword [sym.imp.GDI32.dll_GetObjectA]
mov eax, dword [esi + 0x8c]
lea ecx, [esp + 0x80]
neg eax
sbb eax, eax
push ecx
and eax, 0x12c
mov dword [esp + 0x84], 0xe
add eax, 0x190
mov dword [esp + 0x94], eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
push eax
lea ecx, [esp + 0x64]
call sub.MFC42.DLL_CGdiObject::Attach
lea edx, [esp + 0x60]
test edx, edx
je 0x408bb1
mov eax, dword [esp + 0x64]
test eax, eax
je 0x408bb1
push eax
mov eax, dword [edi + 4]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
push 1
mov ecx, edi
call sub.MFC42.DLL_CDC::SetBkMode
mov eax, dword [esi + 0x84]
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 0x38]
mov eax, dword [esi + 0x88]
mov dword [esp + 0x10], 0x24
cmp eax, 0xff00
jne 0x408be5
mov dword [esp + 0x10], 0x25
cmp eax, 0xff0000
jne 0x408bf6
mov eax, dword [esp + 0x10]
or al, 2
mov dword [esp + 0x10], eax
mov eax, dword [esi + 0xcc]
mov edx, dword [esi + 0xb0]
imul edx, eax
lea ecx, [eax - 1]
mov ebp, dword [esi + 0x1b4]
imul ecx, dword [esi + 0xb8]
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0xbc]
add ecx, edx
mov edx, dword [esp + 0x20]
add ebp, 4
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x24]
lea ecx, [ecx + eax + 4]
mov eax, dword [esi + 0xa0]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x28]
inc eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x10]
and eax, 1
mov dword [esp + 0x14], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x78], edx
mov eax, ebp
jne 0x408c60
mov eax, ecx
push 0
push eax
push 0
push ebp
lea ecx, [esp + 0x80]
call sub.MFC42.DLL_CRect::DeflateRect
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov edx, dword [edi]
push ecx
lea ecx, [esp + 0x74]
push ecx
mov ecx, dword [eax - 8]
push ecx
push eax
mov ecx, edi
call dword [edx + 0x70]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x408caa
mov eax, dword [esp + 0x14]
push 0
sub eax, ebp
lea ecx, [esp + 0x74]
push eax
push 0
push 0
call sub.MFC42.DLL_CRect::DeflateRect
mov ecx, esi
call fcn.00406960
test eax, eax
je 0x408cc7
mov ecx, esi
call sub.MFC42.DLL_CWnd::GetStyle
test eax, 0x80000
je 0x409059
mov ebp, dword [sym.imp.USER32.dll_SetRect]
push 0
push 0
lea eax, [esi + 0x1bc]
push 0
push 0
push eax
call ebp
push 0
push 0
lea eax, [esi + 0x1cc]
push 0
push 0
push eax
call ebp
push 0
push 0
lea eax, [esi + 0x1dc]
push 0
push 0
push eax
call ebp
push 0
push 0
lea eax, [esi + 0x1ec]
push 0
push 0
push eax
call ebp
push 0
push 0
lea eax, [esi + 0x1fc]
push 0
push 0
push eax
call ebp
push 0
push 0
lea eax, [esi + 0x20c]
push 0
push 0
push eax
call ebp
mov ecx, dword [esp + 0x30]
xor eax, eax
cmp ecx, eax
mov dword [esi + 0x21c], eax
mov dword [esi + 0x220], eax
mov dword [esi + 0x224], eax
mov dword [esi + 0x228], eax
mov dword [esi + 0x22c], eax
mov dword [esi + 0x230], eax
mov dword [esp + 0x38], eax
jle 0x409059
mov ebp, dword [esp + 0x3c]
mov ecx, 1
jmp 0x408d7d
mov ebp, dword [esp + 0x3c]
mov ecx, 1
mov edx, dword [esi + 0xc8]
mov dword [esp + 0x10], 0
mov eax, dword [edx + eax*4]
cmp eax, 0xf0000
ja 0x408e50
je 0x408e3f
cmp eax, 0xf0f
ja 0x408df8
je 0x408dec
cmp eax, 0xf
je 0x408dd7
cmp eax, 0xff
je 0x408de1
cmp eax, 0xf00
jne 0x408ea1
mov dword [esp + 0x10], ecx
mov dword [esi + 0x220], ecx
mov ebp, 2
or eax, 0xffffffff
mov dword [esp + 0x3c], ebp
jmp 0x408e19
mov dword [esp + 0x10], ecx
mov dword [esi + 0x21c], ecx
mov ebp, ecx
or eax, 0xffffffff
mov dword [esp + 0x3c], ebp
jmp 0x408e19
mov dword [esp + 0x10], ecx
mov dword [esi + 0x228], ecx
jmp 0x408e0a
cmp eax, 0xff00
je 0x408dc9
cmp eax, 0xffff
jne 0x408ea1
mov ebp, 4
mov dword [esp + 0x3c], ebp
cmp ebp, 6
sbb eax, eax
inc eax
add eax, ebp
cmp ebp, 2
mov dword [esp + 0x14], eax
jne 0x408eb2
mov eax, dword [esi + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x408ed3
jmp 0x408ecf
mov dword [esp + 0x10], ecx
mov dword [esi + 0x224], ecx
mov ebp, 3
jmp 0x408e0f
cmp eax, 0xff0000
ja 0x408e89
je 0x408e49
cmp eax, 0xf000f
je 0x408e78
cmp eax, 0xf0f00
jne 0x408ea1
mov dword [esp + 0x10], ecx
mov dword [esi + 0x230], ecx
mov ebp, 6
jmp 0x408e0f
mov dword [esp + 0x10], ecx
mov dword [esi + 0x22c], ecx
mov ebp, 5
jmp 0x408e0f
cmp eax, 0xff00ff
je 0x408e82
cmp eax, 0xffff00
jne 0x408ea1
mov ebp, 6
jmp 0x408e0f
cmp ebp, 3
jae 0x408e13
or eax, 0xffffffff
jmp 0x408e19
cmp ebp, 5
jne 0x408ed3
test esi, esi
jne 0x408ebf
xor eax, eax
jmp 0x408ec2
mov eax, dword [esi + 0x20]
push 0xffffffffffffffec
push eax
call dword [sym.imp.USER32.dll_GetWindowLongA]
test al, 8
je 0x408ed3
inc dword [esp + 0x14]
mov edx, dword [esi + 0xb0]
mov eax, edx
imul eax, dword [esp + 0x14]
add eax, ebx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x10]
test eax, eax
je 0x408ef5
mov eax, 3
jmp 0x408f09
mov ecx, dword [esi + 0x170]
xor eax, eax
cmp ecx, ebp
sete al
imul eax, dword [esi + 0x174]
mov ecx, dword [esi + 0xb4]
imul eax, ecx
add eax, dword [esi + 0x9c]
push ecx
push edx
push 0
lea ecx, [esp + 0x5c]
push 0
push ecx
mov dword [esp + 0x80], eax
call dword [sym.imp.USER32.dll_SetRect]
mov edx, dword [esi + 0xb8]
mov ecx, dword [esi + 0xb0]
add edx, ecx
mov ecx, dword [esp + 0x78]
imul edx, dword [esp + 0x38]
mov eax, dword [esi + 0xc0]
lea ecx, [edx + ecx + 4]
push eax
lea edx, [esp + 0x54]
push ecx
push edx
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x54]
cmp ebp, 1
jne 0x408f77
lea edx, [esi + 0x1bc]
jmp 0x408fb6
cmp ebp, 2
jne 0x408f84
lea edx, [esi + 0x1cc]
jmp 0x408fb6
cmp ebp, 3
jne 0x408f91
lea edx, [esi + 0x1dc]
jmp 0x408fb6
cmp ebp, 4
jne 0x408f9e
lea edx, [esi + 0x1ec]
jmp 0x408fb6
cmp ebp, 5
jne 0x408fab
lea edx, [esi + 0x1fc]
jmp 0x408fb6
cmp ebp, 6
jne 0x408fcc
lea edx, [esi + 0x20c]
mov ebp, edx
mov edx, dword [esp + 0x50]
mov dword [ebp], edx
mov edx, dword [esp + 0x54]
mov dword [ebp + 4], edx
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], ecx
mov ebp, dword [esi + 0x80]
test ebp, ebp
jne 0x409018
mov ebp, dword [esp + 0x50]
sub ecx, edx
sub eax, ebp
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x14], eax
lea eax, [esp + 0x40]
neg eax
sbb eax, eax
push 0xcc0020
and eax, ebp
mov ebp, dword [esp + 0x70]
push ebp
mov ebp, dword [esp + 0x70]
push ebp
push eax
mov eax, dword [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x64]
push eax
push edx
mov edx, dword [edi + 4]
push ecx
push edx
call dword [sym.imp.GDI32.dll_BitBlt]
jmp 0x409044
sub eax, dword [esp + 0x50]
sub ecx, edx
push ebp
mov ebp, dword [esp + 0x70]
push ecx
push eax
push ebp
mov ebp, dword [esp + 0x78]
push ebp
mov ebp, dword [esp + 0x58]
push ebp
push ecx
mov ecx, dword [edi + 4]
push eax
mov eax, dword [esp + 0x70]
push edx
push eax
push ecx
lea ecx, [esi + 0x60]
call fcn.0041a070
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x30]
inc eax
cmp eax, ecx
mov dword [esp + 0x38], eax
jl 0x408d74
mov dword [esp + 0x60], 0x41fabc
lea ecx, [esp + 0x60]
mov byte [esp + 0xc4], 7
call sub.MFC42.DLL_CGdiObject::DeleteObject
lea ecx, [esp + 0x18]
mov dword [esp + 0x60], 0x41f7b4
mov byte [esp + 0xc4], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x40]
call sub.MFC42.DLL_CDC::DeleteDC
mov edx, dword [edi + 4]
mov eax, dword [esi + 0x20]
push edx
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
lea ecx, [esp + 0x40]
mov dword [esp + 0xc4], 0xffffffff
call fcn.0041c1fe
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0xb0]
pop esi
mov dword fs:[0], ecx
add esp, 0xb8
ret 4