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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4329cf
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20c
push ebx
push esi
mov esi, ecx
push edi
push 0xff00
push 1
mov ebx, dword [esi + 0x40]
push 0
mov dword [esp + 0x54], ebx
mov eax, dword [ebx + 0x54]
dec eax
neg eax
sbb eax, eax
add eax, 2
mov dword [esp + 0x94], eax
mov eax, dword [esi + 0x4c3d0]
test eax, eax
jne 0x41a640
lea ecx, [esp + 0x98]
call sub.MFC42.DLL_CPen::CPen
mov edi, dword [ebp + 8]
lea eax, [esp + 0x8c]
push eax
mov ecx, edi
mov dword [esp + 0x224], 0
call sub.MFC42.DLL_CDC::SelectObject_1
push 7
mov ecx, edi
mov dword [esp + 0x14], eax
call sub.MFC42.DLL_CDC::SetROP2
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 0x5c]
test eax, eax
jne 0x419788
mov ecx, dword [esi + 0x4c410]
mov edx, dword [esi + 0x4c3d4]
push ecx
lea eax, [esp + 0xbc]
push edx
push eax
mov ecx, edi
call sub.MFC42.DLL_CDC::MoveTo
mov ecx, dword [esi + 0x4c418]
mov edx, dword [esi + 0x4c3d4]
push ecx
push edx
mov ecx, edi
call sub.MFC42.DLL_CDC::LineTo
or eax, 0xffffffff
mov dword [esi + 0x4c3d4], eax
mov dword [esi + 0x4c3d8], eax
cmp dword [ebx + 0x5c], 1
jne 0x419801
mov eax, dword [esi + 0x4c410]
mov ecx, dword [esi + 0x4c3d4]
push eax
lea edx, [esp + 0xbc]
push ecx
push edx
mov ecx, edi
call sub.MFC42.DLL_CDC::MoveTo
mov eax, dword [esi + 0x4c418]
mov ecx, dword [esi + 0x4c3d4]
push eax
push ecx
mov ecx, edi
call sub.MFC42.DLL_CDC::LineTo
mov edx, dword [esi + 0x4c3d8]
mov eax, dword [esi + 0x4c40c]
push edx
lea ecx, [esp + 0xbc]
push eax
push ecx
mov ecx, edi
call sub.MFC42.DLL_CDC::MoveTo
mov edx, dword [esi + 0x4c3d8]
mov eax, dword [esi + 0x4c414]
push edx
push eax
mov ecx, edi
call sub.MFC42.DLL_CDC::LineTo
or eax, 0xffffffff
mov dword [esi + 0x4c3d4], eax
mov dword [esi + 0x4c3d8], eax
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, edi
call sub.MFC42.DLL_CDC::SetROP2
mov edx, dword [esp + 0x10]
mov ecx, edi
push edx
call sub.MFC42.DLL_CDC::SelectObject_1
mov ecx, dword [esi + 0x20]
lea eax, [esp + 0x170]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
lea edx, [esp + 0x170]
mov ecx, esi
push edx
call fcn.0041c5e0
mov eax, 2
mov ecx, esi
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], eax
lea eax, [esp + 0x160]
push eax
call fcn.0041c5e0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0x434bd0
lea ecx, [ebx + 0x2a278]
mov byte [esp + 0x220], 1
push ecx
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
push eax
lea ecx, [esp + 0xb4]
call sub.MFC42.DLL_CGdiObject::Attach
mov edx, dword [edi]
lea eax, [esp + 0xb0]
push eax
mov ecx, edi
call dword [edx + 0x30]
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + 0x80]
mov dword [esp + 0x9c], ecx
mov ecx, esi
call fcn.004170e0
mov edx, dword [eax + 0x84]
add eax, 0x84
push ecx
lea eax, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x68], esp
push eax
mov dword [ecx], edx
mov ecx, esi
call fcn.004170e0
mov ecx, eax
add ecx, 0x80
call fcn.00416e00
mov ecx, dword [eax]
mov eax, dword [esi + 0x40]
mov dword [esp + 0x50], ecx
mov edx, dword [eax + 0x84]
mov eax, 0xc22e4507
mov ecx, edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x44], edx
imul ecx
add edx, ecx
mov dword [esp + 0x70], ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0xc22e4507
mov ecx, edx
imul dword [esp + 0x70]
add edx, dword [esp + 0x70]
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x91a2b3c5
sub ecx, edx
imul dword [esp + 0x44]
mov eax, dword [esp + 0x44]
lea ecx, [ecx + ecx*2]
add edx, eax
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
shl ecx, 3
add edx, eax
mov eax, 0x91a2b3c5
sub ecx, edx
imul dword [esp + 0x70]
add edx, dword [esp + 0x70]
sar edx, 0xb
mov eax, edx
add edx, ecx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
mov eax, 0x88888889
imul dword [esp + 0x44]
add edx, dword [esp + 0x44]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x88888889
lea ecx, [edx + ecx*4]
imul dword [esp + 0x30]
add edx, dword [esp + 0x30]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
sub ecx, edx
mov edx, dword [esp + 0x30]
lea eax, [ecx + ecx*2]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [ebx + 0x64]
mov dword [esp + 0x20], eax
mov dword [esp + 0x34], ecx
fild dword [esp + 0x20]
fidiv dword [esp + 0x34]
fld st(0)
fmul qword [0x433ae0]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x10], eax
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea edx, [eax + eax*8]
shl edx, 7
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fsubp st(1)
fld st(0)
fmul qword [0x433ad8]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x58], eax
imul eax, eax, 0xe10
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fsubp st(1)
fld st(0)
fmul qword [0x433ad0]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x1c], eax
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
shl eax, 2
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
fsubr st(1)
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x58]
fstp st(0)
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x14], 0
lea ecx, [edx + ecx*8]
mov edx, dword [esp + 0x1c]
lea ecx, [ecx + ecx*2]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*4]
lea ecx, [ecx + ecx*2]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x34]
test eax, eax
mov dword [esp + 0x1c], edx
jle 0x419bc3
lea ecx, [esp + 0x30]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x58]
mov byte [esp + 0x220], 2
call sub.MFC42.DLL_CString::CString
push 0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x224], 3
call sub.MFC42.DLL_CTime::GetLocalTm
mov ecx, dword [eax + 0xc]
push 0
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 0x10]
push 0
inc eax
lea ecx, [esp + 0x2c]
mov dword [esp + 0x14], eax
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 0x14]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
add eax, 0x76c
push edx
push ecx
push eax
lea edx, [esp + 0x3c]
push str._4d__2d__2d
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
lea ecx, [esp + 0x28]
push 0
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax]
push 0
lea ecx, [esp + 0x2c]
mov dword [esp + 0x24], eax
call sub.MFC42.DLL_CTime::GetLocalTm
mov ecx, dword [eax + 4]
push 0
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CTime::GetLocalTm
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 8]
push edx
push ecx
push eax
lea edx, [esp + 0x64]
push str._2d:_2d:_2d
push edx
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x44]
add esp, 0x14
mov ecx, dword [eax - 8]
push 0
push 0
push ecx
push eax
mov eax, dword [edi + 8]
push eax
call dword [sym.imp.USER32.dll_GetTabbedTextExtentA]
push ecx
mov ecx, dword [esp + 0x20]
mov eax, esp
lea edx, [esp + 0x44]
mov dword [esp + 0x68], esp
push edx
mov dword [eax], ecx
lea ecx, [esp + 0x30]
call fcn.00416e00
mov eax, dword [eax]
lea ecx, [esp + 0x58]
mov dword [esp + 0x28], eax
mov byte [esp + 0x220], 2
call fcn.0042f8a0
lea ecx, [esp + 0x30]
mov byte [esp + 0x220], 1
call fcn.0042f8a0
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x64]
inc eax
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x419a90
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x3c]
mov byte [esp + 0x220], 4
call sub.MFC42.DLL_CString::CString
push 0
lea ecx, [esp + 0x54]
mov byte [esp + 0x224], 5
call sub.MFC42.DLL_CTime::GetLocalTm
mov ecx, dword [eax + 0xc]
push 0
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x54]
call sub.MFC42.DLL_CTime::GetLocalTm
mov ebx, dword [eax + 0x10]
push 0
lea ecx, [esp + 0x54]
inc ebx
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 0x14]
mov edx, dword [esp + 0x20]
add eax, 0x76c
push edx
push ebx
push eax
lea eax, [esp + 0x38]
push str._4d__2d__2d
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0x14
lea ecx, [esp + 0x50]
push 0
call sub.MFC42.DLL_CTime::GetLocalTm
mov ebx, dword [eax]
push 0
lea ecx, [esp + 0x54]
call sub.MFC42.DLL_CTime::GetLocalTm
mov ecx, dword [eax + 4]
push 0
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x54]
call sub.MFC42.DLL_CTime::GetLocalTm
mov edx, dword [esp + 0x20]
mov eax, dword [eax + 8]
push ebx
push edx
push eax
lea eax, [esp + 0x48]
push str._2d:_2d:_2d
push eax
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x40]
add esp, 0x14
mov ecx, dword [eax - 8]
push 0
push 0
push ecx
mov ecx, dword [edi + 8]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetTabbedTextExtentA]
mov ecx, dword [esp + 0x16c]
mov ebx, dword [sym.imp.USER32.dll_FillRect]
shr eax, 0x10
movsx edx, ax
mov eax, dword [esi + 0x4c418]
mov dword [esp + 0x104], edx
mov dword [esp + 0x14], 0
lea edx, [eax + ecx + 0x32]
mov dword [esp + 0x54], edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
push str.________
lea eax, [eax + eax*2]
shl eax, 4
add eax, ecx
mov dword [esp + 0x48], eax
mov eax, dword [eax + 0x88]
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
je 0x41a0ca
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
mov edx, dword [esp + 0x44]
lea ecx, [esp + 0x24]
add edx, 0x8c
mov byte [esp + 0x220], 6
push edx
call fcn.0042f8a6
mov eax, dword [esp + 0x24]
push 0
push 0
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [edi + 8]
push eax
call dword [sym.imp.USER32.dll_GetTabbedTextExtentA]
shr eax, 0x10
movsx ecx, ax
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x14]
mov eax, dword [esi + 0x4c414]
lea edx, [ecx + 0x4c34]
shl edx, 4
add edx, esi
mov dword [esp + 0x4c], edx
mov edx, dword [esi + 0x4c40c]
sub eax, edx
lea edx, [eax + eax*2]
mov eax, 0x66666667
shl edx, 2
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esi + 0x4c40c]
add edx, eax
mov eax, dword [esp + 0x4c]
mov dword [eax], edx
mov eax, dword [esi + 0x4c40c]
mov edx, ecx
shl edx, 4
add edx, esi
mov dword [esp + 0x18], edx
mov edx, dword [esi + 0x4c414]
sub edx, eax
mov eax, 0x66666667
shl edx, 4
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esi + 0x4c40c]
add edx, eax
mov eax, dword [esp + 0x18]
test ecx, ecx
mov dword [eax + 0x4c348], edx
jne 0x419ddd
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x80]
add ecx, eax
mov dword [esi + 0x4c344], eax
mov dword [esi + 0x4c34c], ecx
jmp 0x419e14
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x14]
imul edx, eax
mov ecx, dword [esp + 0x54]
lea eax, [eax + eax + 1]
imul eax, dword [esp + 0x80]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x4c344], edx
mov edx, dword [esp + 0x54]
add eax, edx
mov dword [ecx + 0x4c34c], eax
push 0x808080
lea ecx, [esp + 0x98]
call sub.MFC42.DLL_CBrush::CBrush
push 0xf0fbff
lea ecx, [esp + 0x60]
mov byte [esp + 0x224], 7
call sub.MFC42.DLL_CBrush::CBrush
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x4c]
mov byte [esp + 0x220], 8
mov eax, dword [ecx + 0x4c344]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xbc], eax
lea ecx, [eax - 2]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov dword [esp + 0xdc], ecx
mov eax, dword [eax + 0x4c34c]
mov ecx, dword [edx]
mov dword [esp + 0x58], eax
add eax, 2
mov dword [esp + 0xc4], eax
lea edx, [ecx - 2]
lea eax, [ecx - 2]
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc0], ecx
mov edx, dword [edx + 0x4c348]
mov dword [esp + 0x114], eax
add eax, 2
mov dword [esp + 0xe0], edx
mov dword [esp + 0x11c], eax
lea eax, [edx + 2]
mov dword [esp + 0x118], eax
mov dword [esp + 0xd0], eax
lea eax, [esp + 0x94]
mov dword [esp + 0xc8], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x20]
neg eax
sbb eax, eax
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x58]
and eax, edx
push eax
mov eax, dword [edi + 4]
lea edx, [esp + 0xdc]
mov dword [esp + 0xd8], ecx
push edx
push eax
call ebx
mov edx, dword [esp + 0x98]
lea eax, [esp + 0x94]
neg eax
sbb eax, eax
lea ecx, [esp + 0xb8]
and eax, edx
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call ebx
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x5c]
neg eax
sbb eax, eax
and eax, ecx
mov ecx, dword [edi + 4]
push eax
lea eax, [esp + 0x114]
push eax
push ecx
call ebx
lea eax, [esp + 0x5c]
neg eax
sbb eax, eax
mov edx, dword [esp + 0x60]
and eax, edx
lea edx, [esp + 0xc8]
push eax
mov eax, dword [edi + 4]
push edx
push eax
call ebx
push str.
lea ecx, [esp + 0x28]
call fcn.0042f97e
mov eax, dword [esp + 0x24]
push 0
push 0
mov ecx, dword [eax - 8]
push ecx
mov ecx, dword [edi + 8]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetTabbedTextExtentA]
mov ecx, dword [esp + 0x44]
movsx edx, ax
mov eax, dword [edi]
mov dword [esp + 0xe8], edx
mov edx, dword [ecx + 0xb0]
mov ecx, edi
push edx
call dword [eax + 0x38]
mov eax, dword [edi]
push 0xd8e9ec
mov ecx, edi
call dword [eax + 0x34]
push 0xd8e9ec
lea ecx, [esp + 0x78]
call sub.MFC42.DLL_CBrush::CBrush
lea ecx, [esp + 0x74]
mov byte [esp + 0x220], 9
push ecx
mov ecx, edi
call sub.MFC42.DLL_CDC::SelectObject
mov edx, dword [esp + 0x78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x74]
neg eax
sbb eax, eax
and eax, edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [edi + 4]
push edx
push eax
call ebx
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, edi
call sub.MFC42.DLL_CDC::SelectObject
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov ecx, dword [ecx - 8]
mov edx, dword [eax + 0x4c344]
mov eax, dword [eax + 0x4c348]
push ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xec]
push ecx
mov ecx, dword [esp + 0x28]
sub eax, edx
mov edx, dword [edi]
push ecx
push eax
mov ecx, edi
call dword [edx + 0x64]
mov dword [esp + 0x74], 0x4346b8
lea ecx, [esp + 0x74]
mov byte [esp + 0x220], 0xa
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov dword [esp + 0x74], 0x4346a4
mov dword [esp + 0x5c], 0x4346b8
lea ecx, [esp + 0x5c]
mov byte [esp + 0x220], 0xb
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov dword [esp + 0x5c], 0x4346a4
mov dword [esp + 0x94], 0x4346b8
lea ecx, [esp + 0x94]
mov byte [esp + 0x220], 0xc
call sub.MFC42.DLL_CGdiObject::DeleteObject
lea ecx, [esp + 0x24]
mov dword [esp + 0x94], 0x4346a4
mov byte [esp + 0x220], 5
call fcn.0042f8a0
mov edx, dword [esp + 0x48]
mov eax, dword [edx + 0x5c]
test eax, eax
jne 0x41a18b
mov eax, dword [esi + 0x4c414]
mov ecx, dword [esi + 0x4c40c]
sub eax, ecx
push 0x43a4e0
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
mov eax, 0x66666667
shl ecx, 1
imul ecx
mov ecx, dword [esp + 0x108]
imul ecx, dword [esp + 0x8c]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esi + 0x4c40c]
add edx, eax
mov dword [esp + 0x12c], edx
mov edx, dword [esi + 0x4c418]
add ecx, edx
mov edx, dword [esp + 0x170]
lea eax, [ecx + edx + 0xcd]
lea ecx, [esp + 0x20]
mov dword [esp + 0x128], eax
call sub.MFC42.DLL_CString::CString_1
mov edx, dword [edi]
push 0
mov ecx, edi
mov byte [esp + 0x224], 0xd
call dword [edx + 0x38]
mov eax, dword [esp + 0x1c]
mov edx, dword [edi]
mov ecx, dword [eax - 8]
push ecx
mov ecx, dword [esp + 0x12c]
push eax
mov eax, dword [esp + 0x12c]
push eax
push ecx
mov ecx, edi
call dword [edx + 0x64]
lea ecx, [esp + 0x1c]
mov byte [esp + 0x220], 5
call fcn.0042f8a0
mov eax, dword [esp + 0x14]
inc eax
cmp eax, 4
mov dword [esp + 0x14], eax
jl 0x419cbf
mov dword [esp + 0x14], 4
mov eax, dword [esp + 0x14]
push str.________
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x4c]
shl edx, 4
add eax, edx
mov dword [esp + 0x48], eax
mov eax, dword [eax + 0x88]
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
je 0x41a5b4
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x44]
mov byte [esp + 0x220], 0xe
add ecx, 0x8c
push ecx
lea ecx, [esp + 0x28]
call fcn.0042f8a6
mov eax, dword [esp + 0x24]
mov edx, dword [edi + 8]
push 0
push 0
mov ecx, dword [eax - 8]
push ecx
push eax
push edx
call dword [sym.imp.USER32.dll_GetTabbedTextExtentA]
mov ecx, dword [esp + 0x14]
shr eax, 0x10
lea edx, [ecx + 0x4c34]
movsx eax, ax
shl edx, 4
add edx, esi
mov dword [esp + 0x80], eax
mov eax, dword [esi + 0x4c40c]
mov dword [esp + 0x4c], edx
mov edx, dword [esi + 0x4c414]
sub edx, eax
mov eax, 0x66666667
shl edx, 5
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esi + 0x4c40c]
add edx, eax
mov eax, dword [esp + 0x4c]
mov dword [eax], edx
mov eax, dword [esi + 0x4c414]
mov edx, ecx
shl edx, 4
add edx, esi
mov dword [esp + 0x18], edx
mov edx, dword [esi + 0x4c40c]
sub eax, edx
lea edx, [eax + eax*8]
mov eax, 0x66666667
shl edx, 2
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esi + 0x4c40c]
add edx, eax
mov eax, dword [esp + 0x18]
cmp ecx, 4
mov dword [eax + 0x4c348], edx
jne 0x41a2c4
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x80]
add ecx, eax
mov dword [esi + 0x4c384], eax
mov dword [esi + 0x4c38c], ecx
jmp 0x41a2fe
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x80]
lea eax, [edx - 4]
mov edx, dword [esp + 0x54]
imul ecx, eax
lea eax, [eax + eax + 1]
imul eax, dword [esp + 0x80]
lea edx, [edx + ecx*2]
mov ecx, dword [esp + 0x18]
mov dword [ecx + 0x4c344], edx
mov edx, dword [esp + 0x54]
add eax, edx
mov dword [ecx + 0x4c34c], eax
push 0x808080
lea ecx, [esp + 0x98]
call sub.MFC42.DLL_CBrush::CBrush
push 0xf0fbff
lea ecx, [esp + 0x60]
mov byte [esp + 0x224], 0xf
call sub.MFC42.DLL_CBrush::CBrush
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x4c]
mov byte [esp + 0x220], 0x10
mov eax, dword [ecx + 0x4c344]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xbc], eax
lea ecx, [eax - 2]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], ecx
mov dword [esp + 0xdc], ecx
mov eax, dword [eax + 0x4c34c]
mov ecx, dword [edx]
mov dword [esp + 0x58], eax
add eax, 2
mov dword [esp + 0xc4], eax
lea edx, [ecx - 2]
lea eax, [ecx - 2]
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 0xc0], ecx
mov edx, dword [edx + 0x4c348]
mov dword [esp + 0x104], eax
add eax, 2
mov dword [esp + 0xe0], edx
mov dword [esp + 0x10c], eax
lea eax, [edx + 2]
mov dword [esp + 0x108], eax
mov dword [esp + 0x118], eax
lea eax, [esp + 0x94]
mov dword [esp + 0x110], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x100], ecx
mov ecx, dword [esp + 0x20]
neg eax
sbb eax, eax
mov dword [esp + 0x114], ecx
mov ecx, dword [esp + 0x58]
and eax, edx
push eax
mov eax, dword [edi + 4]
lea edx, [esp + 0xdc]
mov dword [esp + 0x120], ecx
push edx
push eax
call ebx
mov edx, dword [esp + 0x98]
lea eax, [esp + 0x94]
neg eax
sbb eax, eax
lea ecx, [esp + 0xb8]
and eax, edx
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call ebx
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x5c]
neg eax
sbb eax, eax
and eax, ecx
mov ecx, dword [edi + 4]
push eax
lea eax, [esp + 0x104]
push eax
push ecx
call ebx
lea eax, [esp + 0x5c]
neg eax
sbb eax, eax
mov edx, dword [esp + 0x60]
and eax, edx
lea edx, [esp + 0x110]
push eax
mov eax, dword [edi + 4]
push edx
push eax
call ebx
push str.
lea ecx, [esp + 0x28]
call fcn.0042f97e
mov eax, dword [esp + 0x24]
push 0
push 0
mov ecx, dword [eax - 8]
push ecx
mov ecx, dword [edi + 8]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetTabbedTextExtentA]
mov ecx, dword [esp + 0x44]
movsx edx, ax
mov eax, dword [edi]
mov dword [esp + 0xe8], edx
mov edx, dword [ecx + 0xb0]
mov ecx, edi
push edx
call dword [eax + 0x38]
mov eax, dword [edi]
push 0xd8e9ec
mov ecx, edi
call dword [eax + 0x34]
push 0xd8e9ec
lea ecx, [esp + 0x78]
call sub.MFC42.DLL_CBrush::CBrush
lea ecx, [esp + 0x74]
mov byte [esp + 0x220], 0x11
push ecx
mov ecx, edi
call sub.MFC42.DLL_CDC::SelectObject
mov edx, dword [esp + 0x78]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x74]
neg eax
sbb eax, eax
and eax, edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [edi + 4]
push edx
push eax
call ebx
mov ecx, dword [esp + 0x20]
push ecx
mov ecx, edi
call sub.MFC42.DLL_CDC::SelectObject
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
mov ecx, dword [ecx - 8]
mov edx, dword [eax + 0x4c344]
mov eax, dword [eax + 0x4c348]
push ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0xec]
push ecx
mov ecx, dword [esp + 0x28]
sub eax, edx
mov edx, dword [edi]
push ecx
push eax
mov ecx, edi
call dword [edx + 0x64]
mov dword [esp + 0x74], 0x4346b8
lea ecx, [esp + 0x74]
mov byte [esp + 0x220], 0x12
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov dword [esp + 0x74], 0x4346a4
mov dword [esp + 0x5c], 0x4346b8
lea ecx, [esp + 0x5c]
mov byte [esp + 0x220], 0x13
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov dword [esp + 0x5c], 0x4346a4
mov dword [esp + 0x94], 0x4346b8
lea ecx, [esp + 0x94]
mov byte [esp + 0x220], 0x14
call sub.MFC42.DLL_CGdiObject::DeleteObject
lea ecx, [esp + 0x24]
mov dword [esp + 0x94], 0x4346a4
mov byte [esp + 0x220], 5
call fcn.0042f8a0
mov eax, dword [esp + 0x14]
inc eax
cmp eax, 8
mov dword [esp + 0x14], eax
jl 0x41a1a5
mov edx, dword [edi]
lea eax, [esp + 0xb0]
push eax
mov ecx, edi
call dword [edx + 0x30]
lea ecx, [esp + 0x3c]
mov byte [esp + 0x220], 4
call fcn.0042f8a0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x220], 1
call fcn.0042f8a0
mov esi, 0x4346b8
mov dword [esp + 0xb0], esi
lea ecx, [esp + 0xb0]
mov byte [esp + 0x220], 0x15
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov dword [esp + 0xb0], 0x4346a4
mov dword [esp + 0x8c], esi
mov dword [esp + 0x220], 0x16
lea ecx, [esp + 0x8c]
jmp 0x41c520
lea ecx, [esp + 0xf4]
call sub.MFC42.DLL_CPen::CPen
mov edi, dword [ebp + 8]
lea ecx, [esp + 0xe8]
push ecx
mov ecx, edi
mov dword [esp + 0x224], 0x17
call sub.MFC42.DLL_CDC::SelectObject_1
push 7
mov ecx, edi
mov dword [esp + 0x20], eax
call sub.MFC42.DLL_CDC::SetROP2
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0x5c]
test eax, eax
jne 0x41a6f5
mov eax, dword [esi + 0x4c3d4]
test eax, eax
jl 0x41a6b7
mov edx, dword [esi + 0x4c410]
mov ecx, edi
push edx
push eax
lea eax, [esp + 0xc0]
push eax
call sub.MFC42.DLL_CDC::MoveTo
mov ecx, dword [esi + 0x4c418]
mov edx, dword [esi + 0x4c3d4]
push ecx
push edx
mov ecx, edi
call sub.MFC42.DLL_CDC::LineTo
mov eax, dword [esi + 0x4c410]
mov ecx, dword [esi + 0x4c3c8]
push eax
lea edx, [esp + 0xbc]
push ecx
push edx
mov ecx, edi
call sub.MFC42.DLL_CDC::MoveTo
mov eax, dword [esi + 0x4c418]
mov ecx, dword [esi + 0x4c3c8]
push eax
push ecx
mov ecx, edi
call sub.MFC42.DLL_CDC::LineTo
mov edx, dword [esi + 0x4c3c8]
mov dword [esi + 0x4c3d4], edx
cmp dword [ebx + 0x5c], 1
jne 0x41a7e7
mov eax, dword [esi + 0x4c3d4]
test eax, eax
jl 0x41a735
mov ecx, dword [esi + 0x4c410]
lea edx, [esp + 0xb8]
push ecx
push eax
push edx
mov ecx, edi
call sub.MFC42.DLL_CDC::MoveTo
mov eax, dword [esi + 0x4c418]
mov ecx, dword [esi + 0x4c3d4]
push eax
push ecx
mov ecx, edi
call sub.MFC42.DLL_CDC::LineTo
mov eax, dword [esi + 0x4c3d8]
test eax, eax
jl 0x41a76b
mov edx, dword [esi + 0x4c40c]
push eax
lea eax, [esp + 0xbc]
push edx
push eax
mov ecx, edi
call sub.MFC42.DLL_CDC::MoveTo
mov ecx, dword [esi + 0x4c3d8]
mov edx, dword [esi + 0x4c414]
push ecx
push edx
mov ecx, edi
call sub.MFC42.DLL_CDC::LineTo
mov eax, dword [esi + 0x4c410]
mov ecx, dword [esi + 0x4c3c8]
push eax
lea edx, [esp + 0xbc]
push ecx
push edx
mov ecx, edi
call sub.MFC42.DLL_CDC::MoveTo
mov eax, dword [esi + 0x4c418]
mov ecx, dword [esi + 0x4c3c8]
push eax
push ecx
mov ecx, edi
call sub.MFC42.DLL_CDC::LineTo
mov edx, dword [esi + 0x4c3cc]
mov eax, dword [esi + 0x4c40c]
push edx
lea ecx, [esp + 0xbc]
push eax
push ecx
mov ecx, edi
call sub.MFC42.DLL_CDC::MoveTo
mov edx, dword [esi + 0x4c3cc]
mov eax, dword [esi + 0x4c414]
push edx
push eax
mov ecx, edi
call sub.MFC42.DLL_CDC::LineTo
mov ecx, dword [esi + 0x4c3c8]
mov edx, dword [esi + 0x4c3cc]
mov dword [esi + 0x4c3d4], ecx
mov dword [esi + 0x4c3d8], edx
mov eax, dword [esp + 0x10]
mov ecx, edi
push eax
call sub.MFC42.DLL_CDC::SetROP2
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, edi
call sub.MFC42.DLL_CDC::SelectObject_1
mov eax, dword [ebx + 0x54]
mov edx, dword [esi + 0x4c3c8]
test eax, eax
mov eax, dword [esi + 0x4c414]
jne 0x41a81f
sub eax, edx
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
jmp 0x41a82b
sub eax, edx
mov edx, eax
shl edx, 5
sub edx, eax
lea eax, [eax + edx*4]
mov ecx, dword [esi + 0x4c414]
mov edx, dword [esi + 0x4c40c]
shl eax, 3
sub ecx, edx
cdq
idiv ecx
lea edx, [esp + 0x1e4]
push edx
mov dword [esp + 0x48], eax
mov eax, dword [esi + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
lea ecx, [esp + 0x1e4]
push ecx
mov ecx, esi
call fcn.0041c5e0
lea edx, [esp + 0xd8]
mov eax, 2
push edx
mov ecx, esi
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
call fcn.0041c5e0
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0x434bd0
lea eax, [ebx + 0x2a278]
mov byte [esp + 0x220], 0x18
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
push eax
lea ecx, [esp + 0x78]
call sub.MFC42.DLL_CGdiObject::Attach
mov edx, dword [edi]
lea eax, [esp + 0x74]
push eax
mov ecx, edi
call dword [edx + 0x30]
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + 0x80]
mov dword [esp + 0x30], ecx
mov ecx, esi
call fcn.004170e0
mov edx, dword [eax + 0x84]
add eax, 0x84
push ecx
lea eax, [esp + 0x44]
mov ecx, esp
mov dword [esp + 0x68], esp
push eax
mov dword [ecx], edx
mov ecx, esi
call fcn.004170e0
mov ecx, eax
add ecx, 0x80
call fcn.00416e00
mov ecx, dword [eax]
mov eax, dword [esi + 0x40]
mov dword [esp + 0x9c], ecx
mov edx, dword [eax + 0x84]
mov eax, 0xc22e4507
mov ecx, edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x24], edx
imul ecx
add edx, ecx
mov dword [esp + 0x34], ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0xc22e4507
mov ecx, edx
imul dword [esp + 0x34]
add edx, dword [esp + 0x34]
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x91a2b3c5
sub ecx, edx
imul dword [esp + 0x24]
mov eax, dword [esp + 0x24]
lea ecx, [ecx + ecx*2]
add edx, eax
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
shl ecx, 3
add edx, eax
mov eax, 0x91a2b3c5
sub ecx, edx
imul dword [esp + 0x34]
add edx, dword [esp + 0x34]
sar edx, 0xb
mov eax, edx
add edx, ecx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
mov eax, 0x88888889
imul dword [esp + 0x24]
add edx, dword [esp + 0x24]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x88888889
lea ecx, [edx + ecx*4]
imul dword [esp + 0x2c]
add edx, dword [esp + 0x2c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
sub ecx, edx
mov edx, dword [esp + 0x2c]
lea eax, [ecx + ecx*2]
lea ecx, [eax + eax*4]
lea eax, [edx + ecx*4]
mov ecx, dword [ebx + 0x64]
mov dword [esp + 0x10], eax
mov dword [esp + 0x34], ecx
fild dword [esp + 0x10]
fidiv dword [esp + 0x34]
fld st(0)
fmul qword [0x433ae0]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x1c], eax
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea edx, [eax + eax*8]
shl edx, 7
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fsubp st(1)
fld st(0)
fmul qword [0x433ad8]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x3c], eax
imul eax, eax, 0xe10
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fsubp st(1)
fld st(0)
fmul qword [0x433ad0]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x2c], eax
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
shl eax, 2
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fsubr st(1)
call sub.MSVCRT.dll__ftol
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x3c]
fstp st(0)
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x18], 0
lea ecx, [edx + ecx*8]
mov edx, dword [esp + 0x2c]
lea ecx, [ecx + ecx*2]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*4]
lea ecx, [ecx + ecx*2]
lea ecx, [ecx + ecx*4]
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x30]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x34]
test eax, eax
mov dword [esp + 0x24], edx
jle 0x41abde
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x220], 0x19
call sub.MFC42.DLL_CString::CString
push 0
lea ecx, [esp + 0x50]
mov byte [esp + 0x224], 0x1a
call sub.MFC42.DLL_CTime::GetLocalTm
mov ecx, dword [eax + 0xc]
push 0
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0x50]
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 0x10]
push 0
inc eax
lea ecx, [esp + 0x50]
mov dword [esp + 0x40], eax
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
add eax, 0x76c
push edx
push ecx
push eax
lea edx, [esp + 0x38]
push str._4d__2d__2d
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
lea ecx, [esp + 0x4c]
push 0
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax]
push 0
lea ecx, [esp + 0x50]
mov dword [esp + 0x14], eax
call sub.MFC42.DLL_CTime::GetLocalTm
mov ecx, dword [eax + 4]
push 0
mov dword [esp + 0x40], ecx
lea ecx, [esp + 0x50]
call sub.MFC42.DLL_CTime::GetLocalTm
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x3c]
mov eax, dword [eax + 8]
push edx
push ecx
push eax
lea edx, [esp + 0x28]
push str._2d:_2d:_2d
push edx
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x40]
add esp, 0x14
mov ecx, dword [eax - 8]
push 0
push 0
push ecx
push eax
mov eax, dword [edi + 8]
push eax
call dword [sym.imp.USER32.dll_GetTabbedTextExtentA]
push ecx
mov ecx, dword [esp + 0x28]
mov eax, esp
lea edx, [esp + 0x44]
mov dword [esp + 0x68], esp
push edx
mov dword [eax], ecx
lea ecx, [esp + 0x54]
call fcn.00416e00
mov eax, dword [eax]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x4c], eax
mov byte [esp + 0x220], 0x19
call fcn.0042f8a0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x220], 0x18
call fcn.0042f8a0
mov eax, dword [esp + 0x18]
mov ecx, dword [ebx + 0x64]
inc eax
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x41aaab
lea ecx, [esp + 0x58]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x20]
mov byte [esp + 0x220], 0x1b
call sub.MFC42.DLL_CString::CString
push 0
lea ecx, [esp + 0xa0]
mov byte [esp + 0x224], 0x1c
call sub.MFC42.DLL_CTime::GetLocalTm
mov ecx, dword [eax + 0xc]
push 0
mov dword [esp + 0x14], ecx
lea ecx, [esp + 0xa0]
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 0x10]
push 0
inc eax
lea ecx, [esp + 0xa0]
mov dword [esp + 0x20], eax
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 0x14]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
add eax, 0x76c
push edx
push ecx
push eax
lea edx, [esp + 0x64]
push str._4d__2d__2d
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
lea ecx, [esp + 0x9c]
push 0
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax]
push 0
lea ecx, [esp + 0xa0]
mov dword [esp + 0x14], eax
call sub.MFC42.DLL_CTime::GetLocalTm
mov ecx, dword [eax + 4]
push 0
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0xa0]
call sub.MFC42.DLL_CTime::GetLocalTm
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax + 8]
push edx
push ecx
push eax
lea edx, [esp + 0x2c]
push str._2d:_2d:_2d
push edx
call sub.MFC42.DLL_CString::Format
mov eax, dword [ebx + 0x54]
add esp, 0x14
test eax, eax
jne 0x41adde
mov eax, dword [ebx + 0x7c]
cmp eax, 8
ja case.default.0x41acc8
jmp dword [eax*4 + 0x41c53c]
mov eax, 0x1f4
jmp 0x41ad12
mov eax, 0x3e8
jmp 0x41ad12
mov eax, 0xbb8
jmp 0x41ad12
mov eax, 0x1770
jmp 0x41ad12
mov eax, 0x2ee0
jmp 0x41ad12
mov eax, 0x5dc0
jmp 0x41ad12
mov eax, 0xbb80
jmp 0x41ad12
mov eax, 0x23280
jmp 0x41ad12
mov eax, 0x46500
jmp 0x41ad12
mov eax, dword [esp + 0x64]
imul eax, dword [esp + 0x44]
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0xc22e4507
mov ecx, edx
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x1c], edx
lea eax, [edx + edx*2]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea edx, [eax + eax*8]
shl edx, 7
mov eax, edx
mov edx, ecx
sub edx, eax
mov eax, 0x91a2b3c5
mov dword [esp + 0x10], edx
imul edx
add edx, dword [esp + 0x10]
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*2]
lea eax, [edx + eax*8]
mov edx, ecx
mov dword [esp + 0x1c], eax
imul eax, eax, 0xe10
sub edx, eax
mov eax, 0x88888889
mov dword [esp + 0x10], edx
imul edx
add edx, dword [esp + 0x10]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
shl eax, 2
sub ecx, eax
push ecx
add eax, ecx
mov ecx, esp
mov dword [esp + 0x68], esp
mov dword [ecx], eax
lea ecx, [esp + 0x68]
push ecx
lea ecx, [esi + 0x4c3e8]
call fcn.00401f30
mov edx, dword [eax]
mov dword [esp + 0x88], edx
cmp dword [ebx + 0x54], 1
jne 0x41aea5
lea eax, [esp + 0x1f4]
lea ecx, [ebx + 0x80]
push eax
mov dword [esp + 0x14], ecx
call sub.MFC42.DLL_CTime::GetLocalTm
lea ecx, [esp + 0x1f4]
push ecx
call dword [sym.imp.MSVCRT.dll_mktime]
add esp, 4
lea edx, [esp + 0x1f4]
add ebx, 0x84
mov dword [esp + 0x1c], eax
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x6c], esp
push ebx
call fcn.00416c80
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x6c]
push eax
call fcn.00416e00
mov ecx, eax
call sub.MFC42.DLL_CTime::GetLocalTm
lea ecx, [esp + 0x1f4]
push ecx
call dword [sym.imp.MSVCRT.dll_mktime]
mov ebx, dword [esp + 0x20]
mov ecx, dword [esi + 0x4c40c]
sub eax, ebx
mov edx, dword [esi + 0x4c414]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x4c3d4]
fild dword [esp + 0x14]
sub eax, ecx
add esp, 4
mov dword [esp + 0x44], eax
mov eax, ecx
sub edx, eax
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fdivp st(1)
fild dword [esp + 0x44]
fmul st(1)
fadd qword [0x4357b0]
call sub.MSVCRT.dll__ftol
add eax, ebx
fstp st(0)
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x58]
push 0
push 0
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [edi + 8]
push eax
call dword [sym.imp.USER32.dll_GetTabbedTextExtentA]
shr eax, 0x10
movsx ecx, ax
mov dword [esp + 0xbc], ecx
lea ecx, [esp + 0x54]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x70]
mov byte [esp + 0x220], 0x1d
call sub.MFC42.DLL_CString::CString
push 0
lea ecx, [esp + 0x8c]
mov byte [esp + 0x224], 0x1e
call sub.MFC42.DLL_CTime::GetLocalTm
mov edx, dword [eax + 0xc]
push 0
lea ecx, [esp + 0x8c]
mov dword [esp + 0x14], edx
call sub.MFC42.DLL_CTime::GetLocalTm
mov ebx, dword [eax + 0x10]
push 0
lea ecx, [esp + 0x8c]
inc ebx
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x10]
add eax, 0x76c
push ecx
push ebx
push eax
lea edx, [esp + 0x7c]
push str._4d__2d__2d
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
lea ecx, [esp + 0x88]
push 0
call sub.MFC42.DLL_CTime::GetLocalTm
mov ebx, dword [eax]
push 0
lea ecx, [esp + 0x8c]
call sub.MFC42.DLL_CTime::GetLocalTm
mov eax, dword [eax + 4]
push 0
lea ecx, [esp + 0x8c]
mov dword [esp + 0x14], eax
call sub.MFC42.DLL_CTime::GetLocalTm
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 8]
push ebx
push ecx
push eax
lea edx, [esp + 0x60]
push str._2d:_2d:_2d
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x14
lea eax, [esp + 0x70]
lea ecx, [esp + 0x10]
push 0x43a310
push eax
push ecx
call sub.MFC42.DLL_operator
push eax
lea ecx, [esp + 0x74]
mov byte [esp + 0x224], 0x1f
call fcn.0042f8a6
lea ecx, [esp + 0x10]
mov byte [esp + 0x220], 0x1e
call fcn.0042f8a0
mov eax, dword [esi + 0x40]
cmp dword [eax + 0x54], 1
jne 0x41b007
lea edx, [esp + 0x54]
lea eax, [esp + 0x70]
push edx
lea ecx, [esp + 0x14]
push eax
push ecx
call sub.MFC42.DLL_operator_2
push eax
lea ecx, [esp + 0x58]
mov byte [esp + 0x224], 0x20
call fcn.0042f8a6
lea ecx, [esp + 0x10]
mov byte [esp + 0x220], 0x1e
call fcn.0042f8a0
lea edx, [esp + 0x54]
lea eax, [esp + 0x10]
push edx
push 0x43a300
push eax
call sub.MFC42.DLL_operator_1
push eax
lea ecx, [esp + 0x58]
mov byte [esp + 0x224], 0x21
call fcn.0042f8a6
lea ecx, [esp + 0x10]
mov byte [esp + 0x220], 0x1e
call fcn.0042f8a0
mov eax, dword [esi + 0x40]
mov ecx, dword [eax + 0x84]
mov eax, 0xc22e4507
mov edx, ecx
mov ebx, ecx
mov dword [esp + 0x2c], edx
imul ebx
add edx, ebx
mov dword [esp + 0x10], ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0xc22e4507
mov ebx, edx
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x91a2b3c5
sub ebx, edx
lea edx, [ebx + ebx*2]
shl edx, 3
mov ebx, edx
imul ecx
mov eax, ecx
add edx, eax
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x91a2b3c5
sub ebx, edx
imul ecx
add edx, ecx
sar edx, 0xb
mov eax, edx
add edx, ebx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
lea ebx, [eax + eax*4]
mov eax, 0x88888889
imul ecx
add edx, ecx
mov eax, 0x88888889
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea ecx, [edx + ebx*4]
mov ebx, dword [esp + 0x10]
imul ebx
add edx, ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
sub ecx, edx
lea eax, [ecx + ecx*2]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x4c418]
lea edx, [ebx + ecx*4]
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x10], edx
mov ebx, dword [sym.imp.USER32.dll_FillRect]
lea edx, [ecx + eax + 0x32]
mov dword [esp + 0x50], edx
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x48]
lea eax, [esp + 0x1c0]
push eax
add ecx, 0x80
call sub.MFC42.DLL_CTime::GetLocalTm
lea edx, [esp + 0x1c0]
push edx
call dword [sym.imp.MSVCRT.dll_mktime]
mov edx, dword [esp + 0x4c]
add esp, 4
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c0]
push eax
push ecx
lea eax, [edx + 0x84]
mov ecx, esp
mov dword [esp + 0x6c], esp
push eax
call fcn.00416c80
mov ecx, dword [esp + 0x50]
lea eax, [esp + 0x9c]
push eax
add ecx, 0x80
call fcn.00416e00
mov ecx, eax
call sub.MFC42.DLL_CTime::GetLocalTm
lea edx, [esp + 0x1c0]
push edx
call dword [sym.imp.MSVCRT.dll_mktime]
add esp, 4
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x48]
push str.________
mov byte [esp + 0x224], 0x22
lea eax, [eax + eax*2]
shl eax, 4
add eax, ecx
mov dword [esp + 0x28], eax
mov eax, dword [eax + 0x88]
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
je 0x41bc70
mov edx, dword [esp + 0x48]
mov eax, dword [edx + 0x5c]
test eax, eax
jne 0x41b4c1
lea ecx, [esp + 0x2c]
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x2c]
add eax, 0x8c
mov byte [esp + 0x220], 0x23
push eax
call fcn.0042f8a6
mov eax, dword [esp + 0x2c]
push 0
push 0
mov ecx, dword [eax - 8]
push ecx
mov ecx, dword [edi + 8]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetTabbedTextExtentA]
mov ecx, dword [esp + 0x18]
shr eax, 0x10
movsx edx, ax
lea eax, [ecx + 0x4c34]
mov dword [esp + 0x114], edx
mov edx, dword [esi + 0x4c40c]
shl eax, 4
add eax, esi
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x4c414]
sub eax, edx
lea edx, [eax + eax*2]
mov eax, 0x66666667
shl edx, 2
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esi + 0x4c40c]
add edx, eax
mov eax, dword [esp + 0x28]
mov dword [eax], edx
mov eax, dword [esi + 0x4c40c]
mov edx, ecx
shl edx, 4
add edx, esi
mov dword [esp + 0x14], edx
mov edx, dword [esi + 0x4c414]
sub edx, eax
mov eax, 0x66666667
shl edx, 4
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esi + 0x4c40c]
add edx, eax
mov eax, dword [esp + 0x14]
test ecx, ecx
mov dword [eax + 0x4c348], edx
jne 0x41b2cd
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x114]
mov dword [esi + 0x4c344], eax
add eax, ecx
mov dword [esi + 0x4c34c], eax
jmp 0x41b304
mov edx, dword [esp + 0x114]
mov eax, dword [esp + 0x18]
imul edx, eax
mov ecx, dword [esp + 0x50]
lea eax, [eax + eax + 1]
imul eax, dword [esp + 0x114]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x4c344], edx
mov edx, dword [esp + 0x50]
add eax, edx
mov dword [ecx + 0x4c34c], eax
push 0x808080
lea ecx, [esp + 0xf8]
call sub.MFC42.DLL_CBrush::CBrush
push 0xf0fbff
lea ecx, [esp + 0x60]
mov byte [esp + 0x224], 0x24
call sub.MFC42.DLL_CBrush::CBrush
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov eax, dword [ecx + 0x4c344]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x184], eax
lea ecx, [eax - 2]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x1b4], ecx
mov eax, dword [eax + 0x4c34c]
mov ecx, dword [edx]
mov dword [esp + 0x28], eax
add eax, 2
mov dword [esp + 0x18c], eax
lea edx, [ecx - 2]
lea eax, [ecx - 2]
mov dword [esp + 0x1b0], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x180], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x188], ecx
mov edx, dword [edx + 0x4c348]
mov dword [esp + 0x194], eax
add eax, 2
mov dword [esp + 0x1b8], edx
mov dword [esp + 0x19c], eax
lea eax, [edx + 2]
mov dword [esp + 0x198], eax
mov dword [esp + 0x1a8], eax
lea eax, [esp + 0xf4]
mov dword [esp + 0x1a0], edx
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0x30]
neg eax
sbb eax, eax
mov dword [esp + 0x1a4], ecx
mov ecx, dword [esp + 0x28]
and eax, edx
push eax
mov eax, dword [edi + 4]
lea edx, [esp + 0x1b4]
mov dword [esp + 0x1b0], ecx
push edx
push eax
call ebx
mov edx, dword [esp + 0xf8]
lea eax, [esp + 0xf4]
neg eax
sbb eax, eax
lea ecx, [esp + 0x180]
and eax, edx
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call ebx
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x5c]
neg eax
sbb eax, eax
and eax, ecx
mov ecx, dword [edi + 4]
push eax
lea eax, [esp + 0x194]
push eax
push ecx
call ebx
mov edx, dword [esp + 0x60]
lea eax, [esp + 0x5c]
neg eax
sbb eax, eax
and eax, edx
push eax
mov eax, dword [edi + 4]
lea edx, [esp + 0x1a4]
push edx
push eax
call ebx
mov dword [esp + 0x5c], 0x4346b8
lea ecx, [esp + 0x5c]
mov byte [esp + 0x220], 0x25
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov dword [esp + 0x5c], 0x4346a4
mov dword [esp + 0xf4], 0x4346b8
lea ecx, [esp + 0xf4]
mov byte [esp + 0x220], 0x26
call sub.MFC42.DLL_CGdiObject::DeleteObject
lea ecx, [esp + 0x2c]
mov dword [esp + 0xf4], 0x4346a4
mov byte [esp + 0x220], 0x22
call fcn.0042f8a0
mov ecx, dword [esp + 0x48]
cmp dword [ecx + 0x5c], 1
jne 0x41b7c8
lea ecx, [esp + 0x3c]
call sub.MFC42.DLL_CString::CString
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x3c]
add edx, 0x8c
mov byte [esp + 0x220], 0x27
push edx
call fcn.0042f8a6
mov eax, dword [esp + 0x3c]
push 0
push 0
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [edi + 8]
push eax
call dword [sym.imp.USER32.dll_GetTabbedTextExtentA]
shr eax, 0x10
movsx ecx, ax
mov dword [esp + 0x104], ecx
mov ecx, dword [esp + 0x18]
mov eax, dword [esi + 0x4c414]
lea edx, [ecx + 0x4c34]
shl edx, 4
add edx, esi
mov dword [esp + 0x28], edx
mov edx, dword [esi + 0x4c40c]
sub eax, edx
lea edx, [eax + eax*2]
mov eax, 0x66666667
shl edx, 2
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esi + 0x4c40c]
add edx, eax
mov eax, dword [esp + 0x28]
mov dword [eax], edx
mov eax, dword [esi + 0x4c40c]
mov edx, ecx
shl edx, 4
add edx, esi
mov dword [esp + 0x14], edx
mov edx, dword [esi + 0x4c414]
sub edx, eax
mov eax, 0x66666667
shl edx, 4
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esi + 0x4c40c]
add edx, eax
mov eax, dword [esp + 0x14]
test ecx, ecx
mov dword [eax + 0x4c348], edx
jne 0x41b5bc
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x104]
mov dword [esi + 0x4c344], eax
add eax, ecx
mov dword [esi + 0x4c34c], eax
jmp 0x41b5f3
mov edx, dword [esp + 0x104]
mov eax, dword [esp + 0x18]
imul edx, eax
mov ecx, dword [esp + 0x50]
lea eax, [eax + eax + 1]
imul eax, dword [esp + 0x104]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x4c344], edx
mov edx, dword [esp + 0x50]
add eax, edx
mov dword [ecx + 0x4c34c], eax
push 0x808080
lea ecx, [esp + 0xac]
call sub.MFC42.DLL_CBrush::CBrush
push 0xf0fbff
lea ecx, [esp + 0xa4]
mov byte [esp + 0x224], 0x28
call sub.MFC42.DLL_CBrush::CBrush
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov eax, dword [ecx + 0x4c344]
mov dword [esp + 0x13c], eax
mov dword [esp + 0x144], eax
lea ecx, [eax - 2]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x134], ecx
mov eax, dword [eax + 0x4c34c]
mov ecx, dword [edx]
mov dword [esp + 0x28], eax
add eax, 2
mov dword [esp + 0x14c], eax
lea edx, [ecx - 2]
lea eax, [ecx - 2]
mov dword [esp + 0x130], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x148], ecx
mov edx, dword [edx + 0x4c348]
mov dword [esp + 0x154], eax
add eax, 2
mov dword [esp + 0x138], edx
mov dword [esp + 0x15c], eax
lea eax, [edx + 2]
mov dword [esp + 0x158], eax
mov dword [esp + 0x128], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x120], edx
mov edx, dword [esp + 0xac]
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x30]
neg eax
sbb eax, eax
mov dword [esp + 0x124], ecx
mov ecx, dword [esp + 0x28]
and eax, edx
push eax
mov eax, dword [edi + 4]
lea edx, [esp + 0x134]
mov dword [esp + 0x130], ecx
push edx
push eax
call ebx
mov edx, dword [esp + 0xac]
lea eax, [esp + 0xa8]
neg eax
sbb eax, eax
lea ecx, [esp + 0x140]
and eax, edx
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call ebx
mov ecx, dword [esp + 0xa4]
lea eax, [esp + 0xa0]
neg eax
sbb eax, eax
and eax, ecx
mov ecx, dword [edi + 4]
push eax
lea eax, [esp + 0x154]
push eax
push ecx
call ebx
mov edx, dword [esp + 0xa4]
lea eax, [esp + 0xa0]
neg eax
sbb eax, eax
and eax, edx
push eax
mov eax, dword [edi + 4]
lea edx, [esp + 0x124]
push edx
push eax
call ebx
mov dword [esp + 0xa0], 0x4346b8
lea ecx, [esp + 0xa0]
mov byte [esp + 0x220], 0x29
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov dword [esp + 0xa0], 0x4346a4
mov dword [esp + 0xa8], 0x4346b8
lea ecx, [esp + 0xa8]
mov byte [esp + 0x220], 0x2a
call sub.MFC42.DLL_CGdiObject::DeleteObject
lea ecx, [esp + 0x3c]
mov dword [esp + 0xa8], 0x4346a4
mov byte [esp + 0x220], 0x22
call fcn.0042f8a0
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0xf0]
add ecx, 0x9c
mov byte [esp + 0x220], 0x2b
push ecx
push 0x43912c
push edx
call sub.MFC42.DLL_operator_1
push 0x439128
push eax
lea eax, [esp + 0x104]
mov byte [esp + 0x228], 0x2c
push eax
call sub.MFC42.DLL_operator
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0x224], 0x2d
call fcn.0042f8a6
lea ecx, [esp + 0xfc]
mov byte [esp + 0x220], 0x2c
call fcn.0042f8a0
lea ecx, [esp + 0xf0]
mov byte [esp + 0x220], 0x2b
call fcn.0042f8a0
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0x54]
test eax, eax
jne 0x41b8a2
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x44]
mov edx, eax
shl edx, 5
sub edx, eax
lea eax, [eax + edx*4]
lea edx, [ecx + eax*8]
fld qword [esi + edx*8 + 0xfa60]
fst qword [esp + 0x64]
fabs
fcomp qword [0x4357c0]
fnstsw ax
test ah, 0x41
je 0x41b987
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x34]
push eax
push ecx
lea eax, [esp + 0x40]
push edx
push eax
jmp 0x41bb4d
mov eax, dword [esp + 0x48]
cmp dword [eax + 0x5c], 1
jne 0x41b9b6
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x41b929
mov ecx, dword [esi + 0x4c3c8]
mov edx, dword [esi + 0x4c40c]
sub ecx, edx
mov edx, dword [esi + 0x4c414]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x4c40c]
fild dword [esp + 0x1c]
sub edx, ecx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fdivp st(1)
fld qword [eax + 0xa0]
fsub qword [eax + 0xa8]
fmulp st(1)
fadd qword [eax + 0xa8]
fst qword [esp + 0x7c]
fabs
fcomp qword [0x4357c0]
fnstsw ax
test ah, 0x41
je 0x41b987
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x34]
push eax
push ecx
lea eax, [esp + 0x40]
push edx
push eax
jmp 0x41bb4d
cmp ecx, 1
jne 0x41bb55
mov ecx, dword [esi + 0x4c3cc]
mov edx, dword [esi + 0x4c410]
sub ecx, edx
mov edx, dword [esi + 0x4c418]
mov dword [esp + 0x1c], ecx
mov ecx, dword [esi + 0x4c410]
fild dword [esp + 0x1c]
sub edx, ecx
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
fdivp st(1)
fld qword [eax + 0xd0]
fsub qword [eax + 0xd8]
fmulp st(1)
fadd qword [eax + 0xd8]
fst qword [esp + 0x7c]
fabs
fcomp qword [0x4357c0]
fnstsw ax
test ah, 0x41
jne 0x41b99a
push str.Void
lea ecx, [esp + 0x3c]
call fcn.0042f97e
jmp 0x41bb55
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x34]
push eax
push ecx
lea eax, [esp + 0x40]
push edx
push eax
jmp 0x41bb4d
mov eax, dword [esp + 0x18]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0x416312d0
mov dword [esp + 0x30], 0
mov ecx, dword [esi + eax*4 + 0x4c420]
dec ecx
test ecx, ecx
mov dword [esp + 0x40], ecx
jle 0x41bb19
mov ecx, eax
shl ecx, 5
fild dword [esp + 0x10]
sub ecx, eax
fstp qword [esp + 0x7c]
lea edx, [eax + ecx*4]
lea eax, [eax + edx*8]
lea ecx, [esi + eax*8 + 0x5be84]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov eax, dword [edx - 4]
sub eax, ecx
mov ecx, dword [esi + 0x4c414]
mov dword [esp + 0x14], eax
mov eax, dword [esi + 0x4c40c]
fild dword [esp + 0x14]
sub ecx, eax
mov dword [esp + 0x14], ecx
fdiv qword [esp + 0x7c]
fild dword [esp + 0x14]
fmulp st(1)
call sub.MSVCRT.dll__ftol
mov edx, dword [esi + 0x4c40c]
mov ecx, dword [esp + 0x1c]
add eax, edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0xb0], eax
mov eax, dword [edx]
mov edx, dword [esi + 0x4c40c]
sub eax, ecx
mov ecx, dword [esi + 0x4c414]
mov dword [esp + 0x14], eax
sub ecx, edx
fild dword [esp + 0x14]
mov dword [esp + 0x14], ecx
fdiv qword [esp + 0x7c]
fild dword [esp + 0x14]
fmulp st(1)
call sub.MSVCRT.dll__ftol
mov ecx, dword [esi + 0x4c40c]
mov edx, dword [esp + 0xb0]
add eax, ecx
mov ecx, dword [esi + 0x4c3d4]
cmp ecx, edx
jl 0x41baa3
cmp ecx, eax
jle 0x41bac5
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x28], edx
jl 0x41ba0c
jmp 0x41bb19
mov eax, dword [esp + 0x18]
mov edx, eax
shl edx, 5
sub edx, eax
lea ecx, [eax + edx*4]
lea edx, [eax + ecx*8]
mov eax, dword [esp + 0x30]
lea ecx, [eax + edx*2]
fld dword [esi + ecx*4 + 0x4c440]
lea eax, [esi + ecx*4 + 0x4c440]
fstp qword [esp + 0x8c]
fld dword [eax]
fabs
fcomp qword [0x4357c0]
fnstsw ax
test ah, 0x41
jne 0x41bb19
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0x416312d0
fld qword [esp + 0x8c]
fabs
fcomp qword [0x4357c0]
fnstsw ax
test ah, 0x41
je 0x41b987
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x34]
push edx
push eax
lea edx, [esp + 0x40]
push ecx
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
mov eax, dword [esp + 0x38]
push 0
push 0
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [edi + 8]
push eax
call dword [sym.imp.USER32.dll_GetTabbedTextExtentA]
mov edx, dword [edi]
movsx ecx, ax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x160], ecx
mov ecx, dword [eax + 0xb0]
push ecx
mov ecx, edi
call dword [edx + 0x38]
mov edx, dword [edi]
push 0xd8e9ec
mov ecx, edi
call dword [edx + 0x34]
push 0xd8e9ec
lea ecx, [esp + 0xcc]
call sub.MFC42.DLL_CBrush::CBrush
lea eax, [esp + 0xc8]
mov ecx, edi
push eax
mov byte [esp + 0x224], 0x2e
call sub.MFC42.DLL_CDC::SelectObject
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x40], eax
lea eax, [esp + 0xc8]
neg eax
sbb eax, eax
add ecx, 0x4c34
shl ecx, 4
and eax, edx
mov edx, dword [edi + 4]
add ecx, esi
push eax
push ecx
push edx
call ebx
mov eax, dword [esp + 0x40]
mov ecx, edi
push eax
call sub.MFC42.DLL_CDC::SelectObject
mov ecx, dword [esp + 0x18]
shl ecx, 4
mov edx, dword [ecx + esi + 0x4c344]
lea eax, [ecx + esi]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x40], edx
mov eax, dword [eax + 0x4c348]
mov edx, dword [esp + 0x160]
mov ecx, dword [ecx - 8]
sub eax, edx
mov edx, dword [edi]
push ecx
mov ecx, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x48]
push ecx
push eax
mov ecx, edi
call dword [edx + 0x64]
mov dword [esp + 0xc8], 0x4346b8
lea ecx, [esp + 0xc8]
mov byte [esp + 0x220], 0x2f
call sub.MFC42.DLL_CGdiObject::DeleteObject
lea ecx, [esp + 0x34]
mov dword [esp + 0xc8], 0x4346a4
mov byte [esp + 0x220], 0x22
call fcn.0042f8a0
mov edx, dword [esp + 0x48]
mov eax, dword [edx + 0x5c]
test eax, eax
jne 0x41bd03
mov eax, dword [esi + 0x4c414]
mov ecx, dword [esi + 0x4c40c]
sub eax, ecx
push 0
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
mov eax, 0x66666667
shl ecx, 1
imul ecx
sar edx, 4
mov eax, edx
mov ecx, dword [esp + 0xe8]
shr eax, 0x1f
add edx, eax
mov eax, dword [esi + 0x4c40c]
add edx, eax
mov dword [esp + 0x17c], edx
mov edx, dword [esp + 0xc0]
lea eax, [ecx + edx*2]
mov ecx, dword [esi + 0x4c418]
lea edx, [eax + ecx + 0xcd]
mov eax, dword [edi]
mov ecx, edi
mov dword [esp + 0x178], edx
call dword [eax + 0x38]
mov eax, dword [esp + 0x54]
mov edx, dword [edi]
mov ecx, dword [eax - 8]
push ecx
mov ecx, dword [esp + 0x17c]
push eax
mov eax, dword [esp + 0x17c]
push eax
push ecx
mov ecx, edi
call dword [edx + 0x64]
lea ecx, [esp + 0x38]
mov byte [esp + 0x220], 0x1e
call fcn.0042f8a0
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 4
mov dword [esp + 0x18], eax
jl 0x41b116
mov dword [esp + 0x18], 4
mov eax, dword [esp + 0x18]
push str.________
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x4c]
shl edx, 4
add eax, edx
mov dword [esp + 0x28], eax
mov eax, dword [eax + 0x88]
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
je 0x41c483
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
mov ecx, dword [esp + 0x24]
mov byte [esp + 0x220], 0x30
add ecx, 0x8c
push ecx
lea ecx, [esp + 0x20]
call fcn.0042f8a6
mov eax, dword [esp + 0x1c]
mov edx, dword [edi + 8]
push 0
push 0
mov ecx, dword [eax - 8]
push ecx
push eax
push edx
call dword [sym.imp.USER32.dll_GetTabbedTextExtentA]
mov ecx, dword [esp + 0x18]
shr eax, 0x10
lea edx, [ecx + 0x4c34]
movsx eax, ax
shl edx, 4
add edx, esi
mov dword [esp + 0x104], eax
mov eax, dword [esi + 0x4c40c]
mov dword [esp + 0x28], edx
mov edx, dword [esi + 0x4c414]
sub edx, eax
mov eax, 0x66666667
shl edx, 5
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esi + 0x4c40c]
add edx, eax
mov eax, dword [esp + 0x28]
mov dword [eax], edx
mov eax, dword [esi + 0x4c414]
mov edx, ecx
shl edx, 4
add edx, esi
mov dword [esp + 0x14], edx
mov edx, dword [esi + 0x4c40c]
sub eax, edx
lea edx, [eax + eax*8]
mov eax, 0x66666667
shl edx, 2
imul edx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esi + 0x4c40c]
add edx, eax
mov eax, dword [esp + 0x14]
cmp ecx, 4
mov dword [eax + 0x4c348], edx
jne 0x41be4d
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x104]
mov dword [esi + 0x4c384], eax
add eax, ecx
mov dword [esi + 0x4c38c], eax
jmp 0x41be85
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x50]
lea edx, [eax - 4]
lea eax, [eax + eax - 7]
imul edx, dword [esp + 0x104]
imul eax, dword [esp + 0x104]
lea edx, [ecx + edx*2]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x4c344], edx
mov edx, dword [esp + 0x50]
add eax, edx
mov dword [ecx + 0x4c34c], eax
push 0x808080
lea ecx, [esp + 0xa4]
call sub.MFC42.DLL_CBrush::CBrush
push 0xf0fbff
lea ecx, [esp + 0xac]
mov byte [esp + 0x224], 0x31
call sub.MFC42.DLL_CBrush::CBrush
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov byte [esp + 0x220], 0x32
mov eax, dword [ecx + 0x4c344]
mov dword [esp + 0x12c], eax
mov dword [esp + 0x154], eax
lea ecx, [eax - 2]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x124], ecx
mov eax, dword [eax + 0x4c34c]
mov ecx, dword [edx]
mov dword [esp + 0x3c], eax
add eax, 2
mov dword [esp + 0x15c], eax
lea edx, [ecx - 2]
lea eax, [ecx - 2]
mov dword [esp + 0x120], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x158], ecx
mov edx, dword [edx + 0x4c348]
mov dword [esp + 0x144], eax
add eax, 2
mov dword [esp + 0x128], edx
mov dword [esp + 0x14c], eax
lea eax, [edx + 2]
mov dword [esp + 0x148], eax
mov dword [esp + 0x138], eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x130], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x140], ecx
mov ecx, dword [esp + 0x40]
neg eax
sbb eax, eax
mov dword [esp + 0x134], ecx
mov ecx, dword [esp + 0x3c]
and eax, edx
push eax
mov eax, dword [edi + 4]
lea edx, [esp + 0x124]
mov dword [esp + 0x140], ecx
push edx
push eax
call ebx
mov edx, dword [esp + 0xa4]
lea eax, [esp + 0xa0]
neg eax
sbb eax, eax
lea ecx, [esp + 0x150]
and eax, edx
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call ebx
mov ecx, dword [esp + 0xac]
lea eax, [esp + 0xa8]
neg eax
sbb eax, eax
and eax, ecx
mov ecx, dword [edi + 4]
push eax
lea eax, [esp + 0x144]
push eax
push ecx
call ebx
lea eax, [esp + 0xa8]
neg eax
sbb eax, eax
mov edx, dword [esp + 0xac]
and eax, edx
lea edx, [esp + 0x130]
push eax
mov eax, dword [edi + 4]
push edx
push eax
call ebx
lea ecx, [esp + 0x38]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x30]
mov byte [esp + 0x220], 0x33
call sub.MFC42.DLL_CString::CString
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x1c0]
push ecx
mov byte [esp + 0x224], 0x34
lea ecx, [edx + 0x80]
call sub.MFC42.DLL_CTime::GetLocalTm
lea eax, [esp + 0x1c0]
push eax
call dword [sym.imp.MSVCRT.dll_mktime]
mov edx, dword [esp + 0x4c]
add esp, 4
lea ecx, [esp + 0x1c0]
mov dword [esp + 0x2c], eax
push ecx
push ecx
lea eax, [edx + 0x84]
mov ecx, esp
mov dword [esp + 0x9c], esp
push eax
call fcn.00416c80
mov ecx, dword [esp + 0x50]
lea eax, [esp + 0x64]
push eax
add ecx, 0x80
call fcn.00416e00
mov ecx, eax
call sub.MFC42.DLL_CTime::GetLocalTm
lea edx, [esp + 0x1c0]
push edx
call dword [sym.imp.MSVCRT.dll_mktime]
mov eax, dword [esp + 0x28]
add esp, 4
add eax, 0x9c
lea ecx, [esp + 0xf0]
push eax
push 0x43912c
push ecx
call sub.MFC42.DLL_operator_1
push 0x439128
lea edx, [esp + 0xb4]
push eax
push edx
mov byte [esp + 0x22c], 0x35
call sub.MFC42.DLL_operator
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x224], 0x36
call fcn.0042f8a6
lea ecx, [esp + 0xb0]
mov byte [esp + 0x220], 0x35
call fcn.0042f8a0
lea ecx, [esp + 0xf0]
mov byte [esp + 0x220], 0x34
call fcn.0042f8a0
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x54]
test ecx, ecx
jne 0x41c165
mov eax, dword [esp + 0x18]
mov ecx, eax
shl ecx, 5
sub ecx, eax
lea edx, [eax + ecx*4]
mov eax, dword [esp + 0x44]
lea ecx, [eax + edx*8]
fld qword [esi + ecx*8 + 0xfa60]
fst qword [esp + 0x64]
fabs
fcomp qword [0x4357c0]
fnstsw ax
test ah, 0x41
jne 0x41c157
push str.Void
lea ecx, [esp + 0x3c]
call fcn.0042f97e
jmp 0x41c304
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x64]
push edx
jmp 0x41c2f1
mov eax, dword [esp + 0x18]
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0x416312d0
mov dword [esp + 0x3c], 0
mov ecx, dword [esi + eax*4 + 0x4c420]
dec ecx
test ecx, ecx
mov dword [esp + 0x64], ecx
jle 0x41c2c8
mov ecx, eax
shl ecx, 5
fild dword [esp + 0x10]
sub ecx, eax
fstp qword [esp + 0x7c]
lea edx, [eax + ecx*4]
lea eax, [eax + edx*8]
lea ecx, [esi + eax*8 + 0x5be84]
mov dword [esp + 0x34], ecx
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov eax, dword [edx - 4]
sub eax, ecx
mov ecx, dword [esi + 0x4c414]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x4c40c]
fild dword [esp + 0x40]
sub ecx, eax
mov dword [esp + 0x40], ecx
fdiv qword [esp + 0x7c]
fild dword [esp + 0x40]
fmulp st(1)
call sub.MSVCRT.dll__ftol
mov edx, dword [esi + 0x4c40c]
mov ecx, dword [esp + 0x2c]
add eax, edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0xfc], eax
mov eax, dword [edx]
mov edx, dword [esi + 0x4c40c]
sub eax, ecx
mov ecx, dword [esi + 0x4c414]
mov dword [esp + 0x40], eax
sub ecx, edx
fild dword [esp + 0x40]
mov dword [esp + 0x40], ecx
fdiv qword [esp + 0x7c]
fild dword [esp + 0x40]
fmulp st(1)
call sub.MSVCRT.dll__ftol
mov ecx, dword [esi + 0x4c40c]
mov edx, dword [esp + 0xfc]
add eax, ecx
mov ecx, dword [esi + 0x4c3d4]
cmp ecx, edx
jl 0x41c252
cmp ecx, eax
jle 0x41c274
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x64]
inc eax
add edx, 4
cmp eax, ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], edx
jl 0x41c1bb
jmp 0x41c2c8
mov eax, dword [esp + 0x18]
mov edx, eax
shl edx, 5
sub edx, eax
lea ecx, [eax + edx*4]
lea edx, [eax + ecx*8]
mov eax, dword [esp + 0x3c]
lea ecx, [eax + edx*2]
fld dword [esi + ecx*4 + 0x4c440]
lea eax, [esi + ecx*4 + 0x4c440]
fstp qword [esp + 0x8c]
fld dword [eax]
fabs
fcomp qword [0x4357c0]
fnstsw ax
test ah, 0x41
jne 0x41c2c8
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0x416312d0
fld qword [esp + 0x8c]
fabs
fcomp qword [0x4357c0]
fnstsw ax
test ah, 0x41
je 0x41c144
mov edx, dword [esp + 0x90]
mov eax, dword [esp + 0x8c]
push edx
mov ecx, dword [esp + 0x34]
push eax
lea edx, [esp + 0x40]
push ecx
push edx
call sub.MFC42.DLL_CString::Format
add esp, 0x10
mov eax, dword [esp + 0x38]
push 0
push 0
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [edi + 8]
push eax
call dword [sym.imp.USER32.dll_GetTabbedTextExtentA]
mov edx, dword [edi]
movsx ecx, ax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb8], ecx
mov ecx, dword [eax + 0xb0]
push ecx
mov ecx, edi
call dword [edx + 0x38]
mov edx, dword [edi]
push 0xd8e9ec
mov ecx, edi
call dword [edx + 0x34]
push 0xd8e9ec
lea ecx, [esp + 0xcc]
call sub.MFC42.DLL_CBrush::CBrush
lea eax, [esp + 0xc8]
mov ecx, edi
push eax
mov byte [esp + 0x224], 0x37
call sub.MFC42.DLL_CDC::SelectObject
mov edx, dword [esp + 0xcc]
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0xc8]
neg eax
sbb eax, eax
and eax, edx
mov edx, dword [edi + 4]
push eax
push ecx
push edx
call ebx
mov eax, dword [esp + 0x64]
mov ecx, edi
push eax
call sub.MFC42.DLL_CDC::SelectObject
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0xb8]
mov ecx, dword [eax + 0x4c344]
mov eax, dword [eax + 0x4c348]
sub eax, edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x64], ecx
mov ecx, dword [edx - 8]
mov edx, dword [edi]
push ecx
mov ecx, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x6c]
push ecx
push eax
mov ecx, edi
call dword [edx + 0x64]
mov dword [esp + 0xc8], 0x4346b8
lea ecx, [esp + 0xc8]
mov byte [esp + 0x220], 0x38
call sub.MFC42.DLL_CGdiObject::DeleteObject
lea ecx, [esp + 0x30]
mov dword [esp + 0xc8], 0x4346a4
mov byte [esp + 0x220], 0x33
call fcn.0042f8a0
lea ecx, [esp + 0x38]
mov byte [esp + 0x220], 0x32
call fcn.0042f8a0
mov dword [esp + 0xa8], 0x4346b8
lea ecx, [esp + 0xa8]
mov byte [esp + 0x220], 0x39
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov dword [esp + 0xa8], 0x4346a4
mov dword [esp + 0xa0], 0x4346b8
lea ecx, [esp + 0xa0]
mov byte [esp + 0x220], 0x3a
call sub.MFC42.DLL_CGdiObject::DeleteObject
lea ecx, [esp + 0x1c]
mov dword [esp + 0xa0], 0x4346a4
mov byte [esp + 0x220], 0x1e
call fcn.0042f8a0
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 8
mov dword [esp + 0x18], eax
jl 0x41bd2e
mov edx, dword [edi]
lea eax, [esp + 0x74]
push eax
mov ecx, edi
call dword [edx + 0x30]
lea ecx, [esp + 0x70]
mov byte [esp + 0x220], 0x1d
call fcn.0042f8a0
lea ecx, [esp + 0x54]
mov byte [esp + 0x220], 0x1c
call fcn.0042f8a0
lea ecx, [esp + 0x20]
mov byte [esp + 0x220], 0x1b
call fcn.0042f8a0
lea ecx, [esp + 0x58]
mov byte [esp + 0x220], 0x18
call fcn.0042f8a0
mov esi, 0x4346b8
mov dword [esp + 0x74], esi
lea ecx, [esp + 0x74]
mov byte [esp + 0x220], 0x3b
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov dword [esp + 0x74], 0x4346a4
mov dword [esp + 0xe8], esi
mov dword [esp + 0x220], 0x3c
lea ecx, [esp + 0xe8]
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov ecx, dword [esp + 0x218]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4