Function at 0x4086a5
Capabilities:
Get graphical window text
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2b8
push ebx
push esi
push edi
mov eax, dword [0x4124bc]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
test eax, eax
je 0x4086cc
xor eax, eax
jmp 0x409b15
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
cmp dword [eax + 0xf8], 0
je 0x4086e8
jmp 0x4086cc
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov dword [eax + 0xf8], 1
push 0
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 4]
push eax
call dword [sym.imp.USER32.dll_ValidateRect]
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
cmp dword [eax], 0
jne 0x40872c
xor eax, eax
jmp 0x409b15
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0x14
jne 0x408789
mov eax, dword [ebp + 0xc]
cmp dword [eax + 4], 1
jne 0x408789
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov dword [eax + 0x20], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov dword [eax + 0x24], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov dword [eax + 0x28], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov dword [eax + 0x2c], 0
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
jne 0x4087b7
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov dword [eax + 0xf8], 0
xor eax, eax
jmp 0x409b15
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 4]
push eax
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
jne 0x4087f3
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov dword [eax + 0xf8], 0
xor eax, eax
jmp 0x409b15
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp + 8]
push eax
call fcn.00408646
test eax, eax
je 0x409a99
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2b8], eax
jmp 0x409a31
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xd0], eax
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0xa0]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov ecx, dword [ebp - 0x8c]
cmp dword [eax + ecx*4 + 0xb4], 0
jne 0x408877
jmp 0x409a94
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [eax + ecx*4 + 0x34]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x40889f
jmp 0x409a94
mov dword [ebp - 0xcc], 0x2c
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [eax + ecx*4 + 0x34]
push eax
call dword [sym.imp.USER32.dll_GetWindowPlacement]
test eax, eax
je 0x408980
mov eax, dword [ebp - 0xd0]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 4]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.00409b1c
mov eax, dword [ebp - 0xa0]
cmp dword [ebp - 0xb0], eax
jne 0x40893c
mov eax, dword [ebp - 0xac]
cmp dword [ebp - 0x9c], eax
jne 0x40893c
mov eax, dword [ebp - 0x98]
cmp dword [ebp - 0xa8], eax
jne 0x40893c
mov eax, dword [ebp - 0x94]
cmp dword [ebp - 0xa4], eax
je 0x408980
lea eax, [ebp - 0xa0]
lea ecx, [ebp - 0xb0]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
lea eax, [ebp - 0xcc]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [eax + ecx*4 + 0x34]
push eax
call dword [sym.imp.USER32.dll_SetWindowPlacement]
push 0x50
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [eax + ecx*4 + 0x34]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov eax, dword [ebp - 0x90]
push eax
lea eax, [ebp - 0x88]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpA]
test eax, eax
je 0x4089e2
lea eax, [ebp - 0x88]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [eax + ecx*4 + 0x34]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 8
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [eax + ecx*4 + 0x34]
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [eax + ecx*4 + 0x34]
push eax
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov ecx, dword [ebp - 0x8c]
mov eax, dword [eax + ecx*4 + 0x34]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
jmp 0x409a94
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx*4 + 0x4169e0]
mov dword [ecx + 0x20], eax
jmp 0x409a94
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xd8], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0xd4], eax
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x10c]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0xd4]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 4]
push eax
lea eax, [ebp - 0x10c]
push eax
call fcn.00409b1c
cmp dword [ebp - 0xd8], 0
je 0x408af4
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
cmp dword [eax + 0x20], 0
je 0x408af4
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x110]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [ebp - 0x11c], eax
jmp 0x408afe
mov dword [ebp - 0x11c], 0
cmp dword [ebp - 0xd8], 2
jne 0x408b22
push 0
push 0
push 7
call dword [sym.imp.GDI32.dll_CreatePen]
mov dword [ebp - 0x118], eax
jmp 0x408c25
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
cmp dword [eax + 0x2c], 0
je 0x408c1b
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xf0], 0
je 0x408bb7
lea eax, [ebp - 0xe8]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 4]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0xe8]
push eax
call fcn.00409c6d
mov dword [ebp - 0xfc], eax
jmp 0x408bc4
push 0
call fcn.00409c6d
mov dword [ebp - 0xfc], eax
push 0x3e8
mov eax, dword [ebp - 0xfc]
push eax
mov eax, dword [ebp - 0x114]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 1
jge 0x408bfa
mov dword [ebp - 0x114], 1
mov eax, dword [ebp - 0xec]
push eax
mov eax, dword [ebp - 0x114]
push eax
push 6
call dword [sym.imp.GDI32.dll_CreatePen]
mov dword [ebp - 0x118], eax
jmp 0x408c25
mov dword [ebp - 0x118], 0
cmp dword [ebp - 0x11c], 0
je 0x408c49
mov eax, dword [ebp - 0x11c]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0x118], 0
je 0x408c6d
mov eax, dword [ebp - 0x118]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0x100]
push eax
mov eax, dword [ebp - 0x104]
push eax
mov eax, dword [ebp - 0x108]
push eax
mov eax, dword [ebp - 0x10c]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_Ellipse]
cmp dword [ebp - 0x11c], 0
je 0x408cbe
mov eax, dword [ebp - 0xf8]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0x11c]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp dword [ebp - 0x118], 0
je 0x408ce9
mov eax, dword [ebp - 0xf4]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x409a94
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x120], eax
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x150]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x120]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 4]
push eax
lea eax, [ebp - 0x150]
push eax
call fcn.00409b1c
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
cmp dword [eax + 0x2c], 0
je 0x408e30
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x154], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x138], 0
je 0x408dcc
lea eax, [ebp - 0x130]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 4]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x130]
push eax
call fcn.00409c6d
mov dword [ebp - 0x140], eax
jmp 0x408dd9
push 0
call fcn.00409c6d
mov dword [ebp - 0x140], eax
push 0x3e8
mov eax, dword [ebp - 0x140]
push eax
mov eax, dword [ebp - 0x154]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 1
jge 0x408e0f
mov dword [ebp - 0x154], 1
mov eax, dword [ebp - 0x134]
push eax
mov eax, dword [ebp - 0x154]
push eax
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
mov dword [ebp - 0x158], eax
jmp 0x408e3a
mov dword [ebp - 0x158], 0
cmp dword [ebp - 0x158], 0
je 0x408e5e
mov eax, dword [ebp - 0x158]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x13c], eax
push 0
mov eax, dword [ebp - 0x14c]
push eax
mov eax, dword [ebp - 0x150]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_MoveToEx]
mov eax, dword [ebp - 0x144]
push eax
mov eax, dword [ebp - 0x148]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_LineTo]
cmp dword [ebp - 0x158], 0
je 0x408ebb
mov eax, dword [ebp - 0x13c]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0x158]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x409a94
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x15c], eax
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x19c]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x15c]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 4]
push eax
lea eax, [ebp - 0x19c]
push eax
call fcn.00409b1c
cmp dword [ebp - 0x160], 2
je 0x4090d9
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
cmp dword [eax + 0x2c], 0
je 0x408ffc
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 4]
mov dword [ebp - 0x1a4], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x2c]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x174], eax
cmp dword [ebp - 0x178], 0
je 0x408fb4
lea eax, [ebp - 0x170]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 4]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x170]
push eax
call fcn.00409c6d
mov dword [ebp - 0x188], eax
jmp 0x408fc1
push 0
call fcn.00409c6d
mov dword [ebp - 0x188], eax
push 0x3e8
mov eax, dword [ebp - 0x188]
push eax
mov eax, dword [ebp - 0x1a4]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebp - 0x1a4], eax
cmp dword [ebp - 0x1a4], 1
jge 0x408ff7
mov dword [ebp - 0x1a4], 1
jmp 0x409010
mov dword [ebp - 0x1a4], 1
mov dword [ebp - 0x174], 0
mov eax, dword [ebp - 0x174]
push eax
mov eax, dword [ebp - 0x1a4]
push eax
push 6
call dword [sym.imp.GDI32.dll_CreatePen]
mov dword [ebp - 0x1a8], eax
cmp dword [ebp - 0x1a8], 0
je 0x409050
mov eax, dword [ebp - 0x1a8]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x190]
push eax
mov eax, dword [ebp - 0x194]
push eax
mov eax, dword [ebp - 0x198]
push eax
mov eax, dword [ebp - 0x19c]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_Rectangle]
cmp dword [ebp - 0x1a8], 0
je 0x4090a1
mov eax, dword [ebp - 0x184]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0x1a8]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0x1a4]
add dword [ebp - 0x19c], eax
mov eax, dword [ebp - 0x1a4]
add dword [ebp - 0x198], eax
xor eax, eax
sub eax, dword [ebp - 0x1a4]
neg eax
sub dword [ebp - 0x194], eax
xor eax, eax
sub eax, dword [ebp - 0x1a4]
neg eax
sub dword [ebp - 0x190], eax
cmp dword [ebp - 0x160], 0
je 0x4091c1
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
cmp dword [eax + 0x20], 0
je 0x40912b
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 4]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x1a0], eax
jmp 0x409143
mov dword [ebp - 0x180], 0
push 5
call dword [sym.imp.USER32.dll_GetSysColor]
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebp - 0x1a0]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x180], 0
je 0x409185
mov eax, dword [ebp - 0x180]
push eax
lea eax, [ebp - 0x19c]
push eax
mov eax, dword [ebp - 0x30]
push eax
call fcn.00409cf9
mov dword [ebp - 0x17c], eax
jmp 0x40918f
mov dword [ebp - 0x17c], 0
cmp dword [ebp - 0x17c], 0
jne 0x4091b4
mov eax, dword [ebp - 0x18c]
push eax
lea eax, [ebp - 0x19c]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_FillRect]
mov eax, dword [ebp - 0x18c]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x409a94
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x260], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x1b0], eax
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x244]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0xc]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1b0]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 4]
push eax
lea eax, [ebp - 0x244]
push eax
call fcn.00409b1c
mov eax, dword [ebp - 0x1ac]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x254], eax
test byte [ebp - 0x1b8], 4
je 0x409260
and dword [ebp - 0x1b8], 0xfffffffb
mov dword [ebp - 0x234], 1
jmp 0x40926a
mov dword [ebp - 0x234], 0
test byte [ebp - 0x1b8], 0x20
je 0x40928d
and dword [ebp - 0x1b8], 0xffffffdf
mov dword [ebp - 0x1d4], 1
jmp 0x409297
mov dword [ebp - 0x1d4], 0
test byte [ebp - 0x1b8], 0x40
je 0x4092ba
and dword [ebp - 0x1b8], 0xffffffbf
mov dword [ebp - 0x250], 1
jmp 0x4092c4
mov dword [ebp - 0x250], 0
test byte [ebp - 0x1b8], 0x80
je 0x4092e0
and dword [ebp - 0x1b8], 0xffffff7f
jmp 0x4092ea
or dword [ebp - 0x1b8], 0x100
test byte [ebp - 0x1b8], 8
je 0x4092fe
or dword [ebp - 0x1b8], 0x20
push 1
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
mov dword [ebp - 0x25c], eax
cmp dword [ebp - 0x260], 0
je 0x4093f8
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
cmp dword [eax + 0x20], 0
je 0x409362
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 4]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x274], eax
jmp 0x40937a
mov dword [ebp - 0x26c], 0
push 5
call dword [sym.imp.USER32.dll_GetSysColor]
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x274]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov dword [ebp - 0x270], eax
cmp dword [ebp - 0x26c], 0
je 0x4093bc
mov eax, dword [ebp - 0x26c]
push eax
lea eax, [ebp - 0x244]
push eax
mov eax, dword [ebp - 0x30]
push eax
call fcn.00409cf9
mov dword [ebp - 0x268], eax
jmp 0x4093c6
mov dword [ebp - 0x268], 0
cmp dword [ebp - 0x268], 0
jne 0x4093eb
mov eax, dword [ebp - 0x270]
push eax
lea eax, [ebp - 0x244]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_FillRect]
mov eax, dword [ebp - 0x270]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0x1ac]
movsx eax, byte [eax]
test eax, eax
jne 0x40941f
mov eax, dword [ebp - 0x25c]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
jmp 0x409a94
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
cmp dword [eax + 0x24], 0
je 0x40944e
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x1d0], eax
jmp 0x409459
mov eax, dword [0x415ea0]
mov dword [ebp - 0x1d0], eax
mov eax, dword [ebp - 0x1d0]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
mov dword [ebp - 0x1cc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
cmp dword [eax + 0x28], 0
je 0x409655
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 4]
mov dword [ebp - 0x264], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 8]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x22c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x220], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 0x28]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0x24c], eax
push 0x3c
lea eax, [ebp - 0x214]
push eax
call fcn.0040a05a
push 0x20
mov eax, dword [ebp - 0x24c]
push eax
lea eax, [ebp - 0x1f8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpynA]
lea eax, [ebp - 0x1c8]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 4]
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
cmp dword [ebp - 0x22c], 0
je 0x409555
mov eax, dword [ebp - 0x1bc]
sub eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x248], eax
jmp 0x409563
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp - 0x248], eax
push 0x3e8
mov eax, dword [ebp - 0x248]
push eax
mov eax, dword [ebp - 0x264]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
neg eax
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x23c]
sub eax, dword [ebp - 0x244]
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x1d4], 0
je 0x4095b8
mov eax, dword [ebp - 0x21c]
cdq
idiv dword [ebp - 0x254]
neg eax
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x1b4], 0x3e8
jb 0x4095d9
sub dword [ebp - 0x1b4], 0x3e8
mov byte [ebp - 0x1ff], 1
cmp dword [ebp - 0x1b4], 0x64
jb 0x4095f4
sub dword [ebp - 0x1b4], 0x64
mov byte [ebp - 0x200], 1
cmp dword [ebp - 0x1b4], 0x64
jae 0x409617
mov eax, dword [ebp - 0x1b4]
lea eax, [eax + eax*4]
add eax, eax
mov dword [ebp - 0x204], eax
jmp 0x409625
mov byte [ebp - 0x200], 0
mov byte [ebp - 0x1ff], 0
mov al, byte [ebp - 0x220]
mov byte [ebp - 0x1f9], al
mov eax, dword [ebp - 0x220]
mov byte [ebp - 0x1fd], ah
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
mov dword [ebp - 0x258], eax
jmp 0x40965f
mov dword [ebp - 0x258], 0
cmp dword [ebp - 0x258], 0
je 0x409683
mov eax, dword [ebp - 0x258]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x1d8], eax
cmp dword [ebp - 0x234], 0
je 0x409736
lea eax, [ebp - 0x244]
lea ecx, [ebp - 0x1c8]
mov edx, dword [eax]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
mov eax, dword [ebp - 0x238]
sub eax, dword [ebp - 0x240]
mov dword [ebp - 0x248], eax
mov eax, dword [ebp - 0x1b8]
or eax, 0xc40
push eax
lea eax, [ebp - 0x1c8]
push eax
push 0xffffffffffffffff
mov eax, dword [ebp - 0x1ac]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_DrawTextA]
mov dword [ebp - 0x218], eax
mov eax, dword [ebp - 0x248]
cmp dword [ebp - 0x218], eax
jge 0x409736
mov eax, dword [ebp - 0x248]
sub eax, dword [ebp - 0x218]
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x230], eax
mov eax, dword [ebp - 0x230]
add dword [ebp - 0x240], eax
xor eax, eax
sub eax, dword [ebp - 0x230]
neg eax
sub dword [ebp - 0x238], eax
cmp dword [ebp - 0x1d4], 0
je 0x409890
cmp dword [ebp - 0x258], 0
je 0x409890
lea eax, [ebp - 0x228]
push eax
mov eax, dword [ebp - 0x254]
push eax
mov eax, dword [ebp - 0x1ac]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
test eax, eax
je 0x4097e6
mov eax, dword [ebp - 0x21c]
cmp dword [ebp - 0x228], eax
jge 0x4097dc
mov eax, dword [ebp - 0x1d8]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0x258]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
dec dword [ebp - 0x210]
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x258]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x1d8], eax
jmp 0x4097e1
jmp 0x4097f0
jmp 0x4097eb
jmp 0x4097f0
jmp 0x409750
lea eax, [ebp - 0x228]
push eax
mov eax, dword [ebp - 0x254]
push eax
mov eax, dword [ebp - 0x1ac]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
test eax, eax
je 0x409886
mov eax, dword [ebp - 0x21c]
cmp dword [ebp - 0x228], eax
jle 0x40987c
mov eax, dword [ebp - 0x1d8]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0x258]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
inc dword [ebp - 0x210]
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
mov dword [ebp - 0x258], eax
mov eax, dword [ebp - 0x258]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp - 0x1d8], eax
jmp 0x409881
jmp 0x409890
jmp 0x40988b
jmp 0x409890
jmp 0x4097f0
cmp dword [ebp - 0x250], 0
je 0x409962
lea eax, [ebp - 0x228]
push eax
mov eax, dword [ebp - 0x254]
push eax
mov eax, dword [ebp - 0x1ac]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_GetTextExtentPoint32A]
test eax, eax
je 0x409962
mov eax, dword [ebp - 0x21c]
cmp dword [ebp - 0x228], eax
jge 0x409962
lea eax, [ebp - 0x2b4]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], 0
mov eax, dword [ebp - 0x27c]
movsx eax, byte [eax]
test eax, eax
je 0x409944
movsx eax, byte [ebp - 0x285]
mov ecx, dword [ebp - 0x27c]
movsx ecx, byte [ecx]
cmp eax, ecx
jne 0x40992c
inc dword [ebp - 0x278]
mov eax, dword [ebp - 0x27c]
push eax
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [ebp - 0x27c], eax
jmp 0x4098fd
mov eax, dword [ebp - 0x278]
push eax
mov eax, dword [ebp - 0x21c]
sub eax, dword [ebp - 0x228]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SetTextJustification]
mov eax, dword [ebp - 0x1b8]
or eax, 0x840
push eax
lea eax, [ebp - 0x244]
push eax
push 0xffffffffffffffff
mov eax, dword [ebp - 0x1ac]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_DrawTextA]
push 0
push 0
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SetTextJustification]
mov eax, dword [ebp - 0x25c]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [ebp - 0x1cc]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SetTextColor]
cmp dword [ebp - 0x258], 0
je 0x4099e3
mov eax, dword [ebp - 0x1d8]
push eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0x258]
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x409a94
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx*4 + 0x4169e0]
mov dword [ecx + 0x2c], eax
jmp 0x409a94
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx*4 + 0x4169e0]
mov dword [ecx + 0x24], eax
jmp 0x409a94
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx*4 + 0x4169e0]
mov dword [ecx + 0x28], eax
jmp 0x409a94
jmp 0x409a94
sub dword [ebp - 0x2b8], 0xd
cmp dword [ebp - 0x2b8], 0x11
ja case.0x409a53.9
mov eax, dword [ebp - 0x2b8]
xor ecx, ecx
mov cl, byte [eax + 0x409a82]
jmp dword [ecx*4 + 0x409a5a]
jmp 0x4087f3
push 0
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 4]
push eax
call dword [sym.imp.USER32.dll_ValidateRect]
mov eax, dword [ebp - 0x30]
push eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov eax, dword [eax + 4]
push eax
call dword [sym.imp.USER32.dll_ReleaseDC]
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov dword [ebp - 0x34], eax
mov eax, dword [0x4124bc]
cmp dword [ebp - 0x34], eax
jne 0x409ae7
mov eax, dword [ebp + 8]
push eax
call fcn.0040a09a
mov eax, dword [ebp - 8]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx*4 + 0x4169e0]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax*4 + 0x4169e0]
mov dword [eax + 0xf8], 0
mov eax, 1
jmp 0x409b15
pop edi
pop esi
pop ebx
leave
ret 8