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

Disassembly:
jmp 0x6032d0
push 0xffffffffffffffff
push 0x6686c1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb0
push ebx
push ebp
push esi
push edi
mov edi, ecx
call fcn.0041093d
mov ebx, eax
mov al, byte [0x6be820]
test al, 1
mov dword [esp + 0x7c], ebx
jne 0x60332c
mov dl, al
xor eax, eax
or dl, 1
xor ecx, ecx
push 0x604800
mov byte [0x6be820], dl
mov dword [0x6be808], eax
mov dword [0x6be80c], ecx
call fcn.0063e660
add esp, 4
lea eax, [esp + 0x18]
mov ecx, edi
push eax
call fcn.00401235
mov esi, dword [esp + 0xd0]
mov ecx, eax
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
lea edx, [eax*4]
mov dword [edi + 0x11c], edx
mov edx, dword [esi]
lea ebp, [eax + eax]
lea eax, [ecx + ecx]
mov ecx, esi
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], eax
call dword [edx + 0x24]
push esi
mov ecx, edi
call fcn.00404d9f
mov eax, dword [0x6be7b0]
push 0
push 0
push 0x147
mov eax, dword [eax + 0x1a40]
add eax, 0xe0
mov ecx, dword [eax + 0x20]
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov edx, dword [ebx + 0x38e]
mov ecx, dword [esp + 0x7c]
mov ebx, dword [edx + eax*4]
mov dword [esp + 0x54], ebx
call fcn.00403bc0
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
test eax, eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
je 0x6033c9
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
fld qword [ebx + 0x28]
fmul qword [0x676d40]
push 0xff0000
push 0
push 0
lea ecx, [esp + 0xa0]
fstp qword [esp + 0x24]
fld qword [ebx + 0x30]
fmul qword [0x676d40]
fstp qword [esp + 0x48]
call sub.MFC42.DLL_CPen::CPen
lea eax, [esp + 0x94]
mov ecx, esi
push eax
mov dword [esp + 0xcc], 0
call sub.MFC42.DLL_CDC::SelectObject_1
push 0
lea ecx, [esp + 0x2c]
push 0
push ecx
mov ecx, esi
mov dword [esp + 0x3c], eax
call sub.MFC42.DLL_CDC::MoveTo
mov eax, 0x51eb851f
push 0
imul ebp
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x51eb851f
mov ebp, edx
imul dword [esp + 0x50]
sar edx, 5
mov ecx, edx
push ebp
shr ecx, 0x1f
add edx, ecx
mov ecx, esi
mov dword [esp + 0x58], ebp
mov dword [esp + 0x4c], edx
call sub.MFC42.DLL_CDC::LineTo
mov edx, dword [esp + 0x44]
mov ecx, esi
push edx
push ebp
call sub.MFC42.DLL_CDC::LineTo
mov eax, dword [esp + 0x44]
mov ecx, esi
push eax
push 0
call sub.MFC42.DLL_CDC::LineTo
push 0
push 0
mov ecx, esi
call sub.MFC42.DLL_CDC::LineTo
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, esi
call sub.MFC42.DLL_CDC::SelectObject_1
push 0xff0000
push 0
push 1
lea ecx, [esp + 0x98]
call sub.MFC42.DLL_CPen::CPen
lea edx, [esp + 0x8c]
mov ecx, esi
push edx
mov byte [esp + 0xcc], 1
call sub.MFC42.DLL_CDC::SelectObject_1
mov dword [esp + 0x30], eax
mov eax, dword [esi]
push 0
mov ecx, esi
call dword [eax + 0x34]
lea eax, [ebp + 0x190]
push 0
push eax
lea ecx, [esp + 0x30]
push ecx
mov ecx, esi
call sub.MFC42.DLL_CDC::MoveTo
mov edx, dword [esp + 0x44]
lea eax, [ebp + 0x190]
push edx
push eax
mov ecx, esi
call sub.MFC42.DLL_CDC::LineTo
mov eax, dword [esp + 0x30]
mov ecx, esi
push eax
call sub.MFC42.DLL_CDC::SelectObject_1
mov ecx, dword [esp + 0x7c]
cmp dword [ecx + 0x1cad], 0xffffff
je 0x603520
mov edx, dword [esi]
push 0
mov ecx, esi
mov dword [esp + 0x18], 0xffff
call dword [edx + 0x34]
jmp 0x603534
mov eax, dword [esi]
push 0xffffff
mov ecx, esi
mov dword [esp + 0x18], 0xff00ff
call dword [eax + 0x34]
fld qword [esp + 0x34]
fcomp qword [0x66e938]
fnstsw ax
test ah, 0x41
jne 0x6035e2
push 0xc0
push 0
push 2
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CPen::CPen
lea ecx, [esp + 0x28]
mov byte [esp + 0xc8], 2
push ecx
mov ecx, esi
call sub.MFC42.DLL_CDC::SelectObject_1
fld qword [esp + 0x34]
fmul qword [0x66e928]
mov dword [esp + 0x30], eax
call sub.MSVCRT.dll__ftol
sar eax, 1
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
call sub.MSVCRT.dll__ftol
push 0
lea edx, [esp + 0x38]
push eax
push edx
mov ecx, esi
mov dword [esp + 0x2c], eax
call sub.MFC42.DLL_CDC::MoveTo
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x20]
push eax
push ecx
mov ecx, esi
call sub.MFC42.DLL_CDC::LineTo
mov edx, dword [esp + 0x30]
mov ecx, esi
push edx
call sub.MFC42.DLL_CDC::SelectObject_1
mov dword [esp + 0x28], 0x66ea90
lea ecx, [esp + 0x28]
mov byte [esp + 0xc8], 3
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov byte [esp + 0xc8], 1
mov eax, dword [edi + 0x118]
test eax, eax
je 0x60365f
push 0xc0
push 0
push 2
lea ecx, [esp + 0x34]
call sub.MFC42.DLL_CPen::CPen
lea eax, [esp + 0x28]
mov ecx, esi
push eax
mov byte [esp + 0xcc], 4
call sub.MFC42.DLL_CDC::SelectObject_1
push 0
lea ecx, [esp + 0x38]
push ebp
push ecx
mov ecx, esi
mov dword [esp + 0x3c], eax
call sub.MFC42.DLL_CDC::MoveTo
mov edx, dword [esp + 0x44]
mov ecx, esi
push edx
push ebp
call sub.MFC42.DLL_CDC::LineTo
mov eax, dword [esp + 0x30]
mov ecx, esi
push eax
call sub.MFC42.DLL_CDC::SelectObject_1
mov dword [esp + 0x28], 0x66ea90
lea ecx, [esp + 0x28]
mov byte [esp + 0xc8], 5
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov byte [esp + 0xc8], 1
mov ecx, dword [esp + 0x14]
push ecx
push 0
push 1
lea ecx, [esp + 0x90]
call sub.MFC42.DLL_CPen::CPen
lea edx, [esp + 0x84]
mov ecx, esi
push edx
mov byte [esp + 0xcc], 6
call sub.MFC42.DLL_CDC::SelectObject_1
fld qword [esp + 0x18]
fcomp qword [0x66e938]
mov dword [esp + 0x30], eax
fnstsw ax
test ah, 0x41
jne 0x6036e0
push 0
lea eax, [esp + 0x2c]
push 0
push eax
mov ecx, esi
call sub.MFC42.DLL_CDC::MoveTo
fld qword [esp + 0x18]
fchs
call sub.MSVCRT.dll__ftol
push eax
push 0
mov ecx, esi
mov dword [esp + 0x28], eax
call sub.MFC42.DLL_CDC::LineTo
mov ecx, dword [esp + 0x20]
push ecx
push ebp
mov ecx, esi
call sub.MFC42.DLL_CDC::LineTo
push 0
push ebp
mov ecx, esi
call sub.MFC42.DLL_CDC::LineTo
fld qword [esp + 0x3c]
fcomp qword [0x66e938]
fnstsw ax
test ah, 0x41
jne 0x603739
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x18]
push edx
push 0
push eax
mov ecx, esi
call sub.MFC42.DLL_CDC::MoveTo
fild dword [esp + 0x44]
fadd qword [esp + 0x3c]
call sub.MSVCRT.dll__ftol
push eax
push 0
mov ecx, esi
mov dword [esp + 0x28], eax
call sub.MFC42.DLL_CDC::LineTo
mov ecx, dword [esp + 0x20]
push ecx
push ebp
mov ecx, esi
call sub.MFC42.DLL_CDC::LineTo
mov edx, dword [esp + 0x44]
mov ecx, esi
push edx
push ebp
call sub.MFC42.DLL_CDC::LineTo
lea ecx, [esp + 0x9c]
call dword [sym.imp.zmathdll.dll_public:_void___thiscall_ZData::constructor_void_]
xor eax, eax
xor ecx, ecx
mov dword [edi + 0x148], eax
mov dword [edi + 0x128], eax
mov dword [edi + 0x14c], ecx
mov dword [edi + 0x12c], ecx
fld qword [ebx + 0x5c]
fcomp qword [0x66e938]
mov byte [esp + 0xc8], 7
fnstsw ax
test ah, 0x41
jne 0x60398b
fld qword [ebx + 0xd8]
call sub.MSVCRT.dll__ftol
mov dword [edi + 0x148], eax
mov dword [edi + 0x14c], 0
fld qword [ebx + 0xd8]
call sub.MSVCRT.dll__ftol
mov dword [edi + 0x128], eax
mov eax, dword [esp + 0x4c]
add eax, eax
push 0
mov dword [edi + 0x12c], eax
mov eax, dword [edi + 0x148]
cdq
sub eax, edx
mov ecx, eax
mov eax, 0x51eb851f
sar ecx, 1
imul ecx
mov eax, dword [edi + 0x128]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [esp + 0x40], edx
cdq
sub eax, edx
mov ecx, eax
mov eax, 0x51eb851f
sar ecx, 1
imul ecx
mov ecx, dword [esp + 0x50]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
lea eax, [ecx + ecx]
mov dword [esp + 0x38], edx
cdq
sub eax, edx
mov ecx, eax
mov eax, 0x51eb851f
sar ecx, 1
imul ecx
sar edx, 5
mov ecx, dword [esp + 0x40]
mov eax, edx
shr eax, 0x1f
add edx, eax
push ecx
mov dword [esp + 0x40], edx
lea edx, [esp + 0x20]
push edx
mov ecx, esi
call sub.MFC42.DLL_CDC::MoveTo
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
push eax
push ecx
mov ecx, esi
call sub.MFC42.DLL_CDC::LineTo
mov eax, dword [edi + 0x128]
mov ecx, dword [esp + 0x48]
mov edx, dword [edi + 0x148]
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], edx
lea eax, [ecx + ecx]
fild dword [esp + 0x28]
mov dword [esp + 0x20], eax
lea ecx, [ebx + 0xe0]
fild dword [esp + 0x20]
mov edx, dword [edi + 0x14c]
mov dword [esp + 0x14], 1
fstp qword [esp + 0x20]
fld qword [esp + 0x20]
fsub qword [ecx]
fld st(1)
fcompp
fnstsw ax
test ah, 1
je 0x603bd5
mov eax, edx
mov ebp, ecx
cdq
sub eax, edx
mov edx, eax
mov eax, 0x51eb851f
sar edx, 1
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [edi + 0x12c]
mov dword [esp + 0x40], edx
cdq
sub eax, edx
mov edx, eax
mov eax, 0x51eb851f
sar edx, 1
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x38], edx
fadd qword [ebp]
call sub.MSVCRT.dll__ftol
fild dword [esp + 0x18]
mov dword [esp + 0x28], eax
fadd qword [ebp]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x28]
cdq
sub eax, edx
mov ecx, eax
mov eax, 0x51eb851f
sar ecx, 1
imul ecx
mov eax, dword [esp + 0x18]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [esp + 0x3c], edx
cdq
sub eax, edx
mov ecx, eax
mov eax, 0x51eb851f
sar ecx, 1
imul ecx
sar edx, 5
mov ecx, dword [esp + 0x40]
mov eax, edx
shr eax, 0x1f
add edx, eax
push ecx
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x40]
lea eax, [esp + 0x60]
push edx
push eax
mov ecx, esi
call sub.MFC42.DLL_CDC::MoveTo
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
push ecx
push edx
mov ecx, esi
call sub.MFC42.DLL_CDC::LineTo
mov eax, dword [esp + 0x14]
add ebp, 8
inc eax
cmp eax, 0x64
mov dword [esp + 0x14], eax
jge 0x603987
fild dword [esp + 0x28]
fld qword [esp + 0x20]
fsub qword [ebp]
fld st(1)
fcompp
fnstsw ax
test ah, 1
jne 0x6038d7
fstp st(0)
mov ebp, dword [esp + 0x50]
xor eax, eax
xor ecx, ecx
mov dword [edi + 0x150], eax
mov dword [edi + 0x130], eax
mov dword [edi + 0x154], ecx
mov dword [edi + 0x134], ecx
fld qword [ebx + 0x64]
fcomp qword [0x66e938]
fnstsw ax
test ah, 0x41
jne 0x603a74
fld qword [ebx + 0x64]
call sub.MSVCRT.dll__ftol
mov dword [edi + 0x154], eax
mov dword [edi + 0x150], 0
fld qword [ebx + 0x64]
call sub.MSVCRT.dll__ftol
mov dword [edi + 0x134], eax
mov eax, dword [esp + 0x48]
lea ecx, [eax + eax]
mov eax, dword [edi + 0x154]
cdq
sub eax, edx
mov dword [edi + 0x130], ecx
mov edx, eax
mov eax, 0x51eb851f
sar edx, 1
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov dword [esp + 0x2c], edx
cdq
sub eax, edx
mov edx, eax
mov eax, 0x51eb851f
sar edx, 1
imul edx
mov eax, dword [edi + 0x134]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], edx
push ecx
cdq
sub eax, edx
push 0
mov edx, eax
mov eax, 0x51eb851f
sar edx, 1
imul edx
sar edx, 5
mov eax, edx
mov ecx, esi
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x24], edx
lea edx, [esp + 0x64]
push edx
call sub.MFC42.DLL_CDC::MoveTo
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
mov ecx, esi
call sub.MFC42.DLL_CDC::LineTo
xor eax, eax
xor ecx, ecx
mov dword [edi + 0x158], eax
mov dword [edi + 0x138], eax
mov dword [edi + 0x15c], ecx
mov dword [edi + 0x13c], ecx
fld qword [ebx + 0x6c]
fcomp qword [0x66e938]
fnstsw ax
test ah, 0x41
jne 0x603b57
fld qword [ebx + 0x6c]
call sub.MSVCRT.dll__ftol
mov dword [edi + 0x15c], eax
mov dword [edi + 0x158], 0
fld qword [ebx + 0x6c]
call sub.MSVCRT.dll__ftol
mov edx, dword [esp + 0x48]
mov dword [edi + 0x13c], eax
mov eax, dword [edi + 0x15c]
lea ecx, [edx + edx]
cdq
sub eax, edx
mov dword [edi + 0x138], ecx
mov edx, eax
mov eax, 0x51eb851f
sar edx, 1
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov dword [esp + 0x1c], edx
cdq
sub eax, edx
mov edx, eax
mov eax, 0x51eb851f
sar edx, 1
imul edx
mov eax, dword [edi + 0x13c]
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
push ecx
cdq
sub eax, edx
push 0
mov edx, eax
mov eax, 0x51eb851f
sar edx, 1
imul edx
sar edx, 5
mov eax, edx
mov ecx, esi
shr eax, 0x1f
add edx, eax
mov edi, edx
lea edx, [esp + 0x64]
push edx
call sub.MFC42.DLL_CDC::MoveTo
mov eax, dword [esp + 0x28]
push edi
push eax
mov ecx, esi
call sub.MFC42.DLL_CDC::LineTo
mov dword [esp + 0x68], 0
mov dword [esp + 0x64], 0x66edfc
push str.Terminal
push 2
push 0
push 0
push 5
push 0
push 0
push 0
push 0
push 0x64
push 0
push 0
push 0x20
push 0x40
mov byte [esp + 0x100], 8
call dword [sym.imp.GDI32.dll_CreateFontA]
push eax
lea ecx, [esp + 0x68]
call sub.MFC42.DLL_CGdiObject::Attach
mov edx, dword [esi]
lea eax, [esp + 0x64]
push eax
mov ecx, esi
call dword [edx + 0x30]
push 1
mov ecx, esi
mov dword [esp + 0x38], eax
call sub.MFC42.DLL_CDC::SetBkMode
mov edi, dword [esp + 0x7c]
cmp dword [edi + 0x1cad], 0xffffff
je 0x603bdc
mov edx, dword [esi]
push 0xffff00
mov ecx, esi
call dword [edx + 0x38]
jmp 0x603be8
fstp st(0)
jmp 0x60398b
mov eax, dword [esi]
push 0xff00
mov ecx, esi
call dword [eax + 0x38]
mov eax, 0x10624dd3
imul dword [esp + 0x48]
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fadd qword [0x676d30]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x386]
push 0x6a60d4
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
jne 0x603d28
mov eax, dword [esp + 0x3c]
xor edi, edi
cmp eax, edi
jle 0x60402c
mov dword [esp + 0x54], edi
mov eax, 0x51eb851f
mov ebp, 0x23
imul dword [esp + 0x54]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x66666667
mov ecx, edx
imul edi
sar edx, 2
mov eax, edx
mov dword [esp + 0x20], ecx
shr eax, 0x1f
add edx, eax
lea edx, [edx + edx*4]
shl edx, 1
cmp edx, edi
jne 0x603c80
mov ebp, 0x32
push 0
lea eax, [esp + 0x60]
push ecx
push eax
mov ecx, esi
call sub.MFC42.DLL_CDC::MoveTo
neg ebp
push ebp
mov ebp, dword [esp + 0x24]
push ebp
mov ecx, esi
call sub.MFC42.DLL_CDC::LineTo
mov eax, 0x51eb851f
imul edi
sar edx, 4
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea eax, [edx + edx*4]
lea edx, [eax + eax*4]
shl edx, 1
cmp edx, edi
jne 0x603d06
lea eax, [esp + 0x18]
push 0xa
push eax
push edi
call dword [sym.imp.MSVCRT.dll__itoa]
add esp, 0xc
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esp + 0x14]
mov edx, dword [esi]
mov byte [esp + 0xc8], 9
mov ecx, dword [eax - 8]
push ecx
push eax
push 0xffffffffffffffce
push ebp
mov ecx, esi
call dword [edx + 0x64]
lea ecx, [esp + 0x14]
mov byte [esp + 0xc8], 8
call fcn.0063d7fa
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x3c]
add edi, 5
add ecx, 0x2710
cmp edi, eax
mov dword [esp + 0x54], ecx
jl 0x603c43
jmp 0x604028
mov eax, dword [edi + 0x386]
push 0x69f78c
mov eax, dword [eax]
push eax
call dword [sym.imp.MSVCRT.dll__mbscmp]
add esp, 8
test eax, eax
jne 0x603e40
fild dword [esp + 0x3c]
fmul qword [0x6710f8]
fadd qword [0x676d30]
call sub.MSVCRT.dll__ftol
xor edi, edi
mov dword [esp + 0x3c], eax
test eax, eax
jle 0x60402c
mov dword [esp + 0x14], edi
mov eax, 0x51eb851f
mov ebp, 0x23
imul dword [esp + 0x14]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 0x51eb851f
mov dword [esp + 0x54], edx
imul edi
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea eax, [edx + edx*4]
lea edx, [eax + eax*4]
shl edx, 2
cmp edx, edi
jne 0x603dfc
lea eax, [esp + 0x18]
push 0xa
push eax
push edi
mov ebp, 0x32
call dword [sym.imp.MSVCRT.dll__itoa]
add esp, 0xc
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esp + 0x20]
mov edx, dword [esi]
mov byte [esp + 0xc8], 0xa
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esp + 0x5c]
push 0xffffffffffffffce
push eax
mov ecx, esi
call dword [edx + 0x64]
lea ecx, [esp + 0x20]
mov byte [esp + 0xc8], 8
call fcn.0063d7fa
mov ecx, dword [esp + 0x54]
push 0
lea edx, [esp + 0x60]
push ecx
push edx
mov ecx, esi
call sub.MFC42.DLL_CDC::MoveTo
mov eax, dword [esp + 0x54]
mov ecx, esi
neg ebp
push ebp
push eax
call sub.MFC42.DLL_CDC::LineTo
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
add edi, 0xa
add ecx, 0x7d0
cmp edi, eax
mov dword [esp + 0x14], ecx
jl 0x603d6e
jmp 0x604028
mov edi, dword [edi + 0x386]
push 0x69f794
mov edi, dword [edi]
push edi
call dword [sym.imp.MSVCRT.dll__mbscmp]
fild dword [esp + 0x44]
add esp, 8
test eax, eax
jne 0x603f46
fmul qword [str.433333]
fadd qword [0x676d30]
call sub.MSVCRT.dll__ftol
xor ebp, ebp
mov dword [esp + 0x3c], eax
test eax, eax
mov dword [esp + 0x14], ebp
jle 0x604028
fild dword [esp + 0x14]
mov edi, 0x23
fmul qword [0x67b3e0]
call sub.MSVCRT.dll__ftol
mov dword [esp + 0x14], eax
mov eax, 0x66666667
imul ebp
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
lea edx, [edx + edx*4]
shl edx, 1
cmp edx, ebp
jne 0x603f0c
lea eax, [esp + 0x18]
push 0xa
push eax
push ebp
mov edi, 0x32
call dword [sym.imp.MSVCRT.dll__itoa]
add esp, 0xc
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esp + 0x20]
mov edx, dword [esi]
mov byte [esp + 0xc8], 0xb
mov ecx, dword [eax - 8]
push ecx
push eax
mov eax, dword [esp + 0x1c]
push 0xffffffffffffffce
push eax
mov ecx, esi
call dword [edx + 0x64]
lea ecx, [esp + 0x20]
mov byte [esp + 0xc8], 8
call fcn.0063d7fa
mov ecx, dword [esp + 0x14]
push 0
lea edx, [esp + 0x60]
push ecx
push edx
mov ecx, esi
call sub.MFC42.DLL_CDC::MoveTo
mov eax, dword [esp + 0x14]
mov ecx, esi
neg edi
push edi
push eax
call sub.MFC42.DLL_CDC::LineTo
mov eax, dword [esp + 0x3c]
add ebp, 2
cmp ebp, eax
mov dword [esp + 0x14], ebp
jl 0x603e86
jmp 0x604028
fmul qword [0x67b3d0]
fadd qword [0x676d30]
call sub.MSVCRT.dll__ftol
xor edi, edi
mov dword [esp + 0x3c], eax
test eax, eax
jle 0x60402c
mov dword [esp + 0x14], edi
mov eax, 0x51eb851f
mov ebp, 0x23
imul dword [esp + 0x14]
sar edx, 5
mov ecx, edx
mov eax, 0x2aaaaaab
shr ecx, 0x1f
add edx, ecx
mov ebx, edx
imul edi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
lea ecx, [edx + edx*2]
shl ecx, 2
cmp ecx, edi
jne 0x603fed
lea edx, [esp + 0x18]
push 0xa
push edx
push edi
mov ebp, 0x32
call dword [sym.imp.MSVCRT.dll__itoa]
add esp, 0xc
lea eax, [esp + 0x18]
lea ecx, [esp + 0x20]
push eax
call sub.MFC42.DLL_CString::CString_2
mov eax, dword [esp + 0x20]
mov edx, dword [esi]
mov byte [esp + 0xc8], 0xc
mov ecx, dword [eax - 8]
push ecx
push eax
push 0xffffffffffffffce
push ebx
mov ecx, esi
call dword [edx + 0x64]
lea ecx, [esp + 0x20]
mov byte [esp + 0xc8], 8
call fcn.0063d7fa
push 0
lea eax, [esp + 0x60]
push ebx
push eax
mov ecx, esi
call sub.MFC42.DLL_CDC::MoveTo
neg ebp
push ebp
push ebx
mov ecx, esi
call sub.MFC42.DLL_CDC::LineTo
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x3c]
add edi, 2
add ecx, 0x27b0
cmp edi, eax
mov dword [esp + 0x14], ecx
jl 0x603f69
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x50]
mov eax, dword [esp + 0x34]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x30]
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, esi
call sub.MFC42.DLL_CDC::SelectObject_1
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
mov dword [0x6be808], edx
mov dword [0x6be80c], eax
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 0x1c]
lea eax, [esp + 0x5c]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x7c]
push eax
mov dword [esp + 0x50], edx
call fcn.00410fcd
mov ecx, dword [eax]
lea edi, [ebp + ebp*4]
push 0xc0c0c0
mov dword [esp + 0x1c], ecx
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x48]
lea edi, [edi + edi*4]
push 0
lea eax, [eax + eax*4]
push 0
shl edi, 3
lea ebx, [eax + eax*4]
lea ecx, [esp + 0x78]
shl ebx, 3
mov dword [esp + 0x28], edx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x2c], edi
call sub.MFC42.DLL_CPen::CPen
push 0x808080
push 0
push 0
lea ecx, [esp + 0x80]
mov byte [esp + 0xd4], 0xd
call sub.MFC42.DLL_CPen::CPen
push 0xc
mov ecx, esi
mov byte [esp + 0xcc], 0xe
mov byte [esp + 0x17], 1
call sub.MFC42.DLL_CDC::SetROP2
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
test eax, eax
jle 0x6041cb
fild dword [esp + 0x1c]
fst qword [esp + 0x28]
fild dword [esp + 0x34]
fstp qword [esp + 0x34]
fcom qword [esp + 0x34]
fnstsw ax
test ah, 0x41
je 0x6041c9
fild dword [esp + 0x4c]
fstp qword [esp + 0x54]
fmul qword [0x676d40]
fadd qword [0x66e370]
call sub.MSVCRT.dll__ftol
mov ebp, eax
mov al, byte [esp + 0x13]
test al, al
je 0x604150
lea eax, [esp + 0x6c]
mov ecx, esi
push eax
call sub.MFC42.DLL_CDC::SelectObject_1
push ebp
lea ecx, [esp + 0x60]
push 0
mov dword [esp + 0x38], eax
push ecx
jmp 0x60416b
lea ecx, [esp + 0x74]
push ecx
mov ecx, esi
call sub.MFC42.DLL_CDC::SelectObject_1
push ebp
lea edx, [esp + 0x80]
push 0
mov dword [esp + 0x38], eax
push edx
mov ecx, esi
call sub.MFC42.DLL_CDC::MoveTo
mov eax, edi
push ebp
cdq
sub eax, edx
mov ecx, eax
mov eax, 0x51eb851f
sar ecx, 1
imul ecx
sar edx, 5
mov eax, edx
mov ecx, esi
shr eax, 0x1f
add edx, eax
push edx
call sub.MFC42.DLL_CDC::LineTo
mov ecx, dword [esp + 0x30]
push ecx
mov ecx, esi
call sub.MFC42.DLL_CDC::SelectObject_1
fld qword [esp + 0x54]
fadd qword [esp + 0x28]
mov al, byte [esp + 0x13]
test al, al
fcom qword [esp + 0x34]
fst qword [esp + 0x28]
sete dl
mov byte [esp + 0x13], dl
fnstsw ax
test ah, 0x41
jne 0x60411b
fstp st(0)
mov eax, dword [esp + 0x48]
mov byte [esp + 0x13], 1
test eax, eax
jle 0x6042a8
fild dword [esp + 0x18]
fst qword [esp + 0x18]
fild dword [esp + 0x20]
fstp qword [esp + 0x28]
fcom qword [esp + 0x28]
fnstsw ax
test ah, 0x41
je 0x6042a6
fild dword [esp + 0x48]
fstp qword [esp + 0x48]
fmul qword [0x676d40]
fadd qword [0x66e370]
call sub.MSVCRT.dll__ftol
mov edi, eax
mov al, byte [esp + 0x13]
test al, al
je 0x604236
lea eax, [esp + 0x6c]
mov ecx, esi
push eax
call sub.MFC42.DLL_CDC::SelectObject_1
push 0
lea ecx, [esp + 0x60]
push edi
mov ebp, eax
push ecx
jmp 0x60424c
lea ecx, [esp + 0x74]
push ecx
mov ecx, esi
call sub.MFC42.DLL_CDC::SelectObject_1
push 0
lea edx, [esp + 0x38]
push edi
mov ebp, eax
push edx
mov ecx, esi
call sub.MFC42.DLL_CDC::MoveTo
mov eax, ebx
cdq
sub eax, edx
mov ecx, eax
mov eax, 0x51eb851f
sar ecx, 1
imul ecx
sar edx, 5
mov eax, edx
mov ecx, esi
shr eax, 0x1f
add edx, eax
push edx
push edi
call sub.MFC42.DLL_CDC::LineTo
push ebp
mov ecx, esi
call sub.MFC42.DLL_CDC::SelectObject_1
fld qword [esp + 0x48]
fadd qword [esp + 0x18]
mov al, byte [esp + 0x13]
test al, al
fcom qword [esp + 0x28]
fst qword [esp + 0x18]
sete cl
mov byte [esp + 0x13], cl
fnstsw ax
test ah, 0x41
jne 0x604203
fstp st(0)
mov edx, dword [esp + 0x14]
mov ecx, esi
push edx
call sub.MFC42.DLL_CDC::SetROP2
mov eax, dword [esi]
push 0xffffffffffffffff
mov ecx, esi
call dword [eax + 0x28]
mov esi, 0x66ea90
mov dword [esp + 0x74], esi
lea ecx, [esp + 0x74]
mov byte [esp + 0xc8], 0xf
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov edi, 0x66e8a8
mov dword [esp + 0x6c], esi
mov dword [esp + 0x74], edi
lea ecx, [esp + 0x6c]
mov byte [esp + 0xc8], 0x10
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov dword [esp + 0x6c], edi
mov dword [esp + 0x64], esi
lea ecx, [esp + 0x64]
mov byte [esp + 0xc8], 0x11
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0x64], edi
test ecx, ecx
mov byte [esp + 0xc8], 6
je 0x60432b
mov edx, dword [ecx]
push 1
call dword [edx]
mov dword [esp + 0xa4], 0
mov dword [esp + 0x84], esi
lea ecx, [esp + 0x84]
mov byte [esp + 0xc8], 0x12
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov dword [esp + 0x84], edi
mov dword [esp + 0x8c], esi
lea ecx, [esp + 0x8c]
mov byte [esp + 0xc8], 0x13
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov dword [esp + 0x8c], edi
mov dword [esp + 0x94], esi
lea ecx, [esp + 0x94]
mov dword [esp + 0xc8], 0x14
call sub.MFC42.DLL_CGdiObject::DeleteObject
mov ecx, dword [esp + 0xc0]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xbc
ret 4