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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x170
mov eax, dword [ebp + 0xc]
push ebx
push esi
sub eax, 0xf
push edi
je 0x40303c
sub eax, 0x101
je 0x402e1d
dec eax
je 0x402d3e
dec eax
dec eax
je 0x402cfd
sub eax, 0x25
jne 0x4032e3
push 0x3f3
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetDlgItem]
cmp dword [ebp + 0x14], eax
jne 0x4032e3
push 1
push dword [ebp + 0x10]
call dword [sym.imp.GDI32.dll_SetBkMode]
mov eax, dword [0x4177f0]
jmp 0x4032e5
cmp dword [ebp + 0x10], 0x19
jne 0x4032e3
inc dword [0x414060]
cmp dword [0x414060], 0x19
jle 0x402d20
mov dword [0x414060], 1
push 0
push 0x417b90
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_InvalidateRect]
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_UpdateWindow]
jmp 0x4032e3
mov eax, dword [ebp + 0x10]
cmp eax, 2
jne 0x402da8
mov esi, dword [ebp + 8]
xor edi, edi
cmp dword [0x417bac], edi
je 0x402d5c
push 0x19
push esi
call dword [sym.imp.USER32.dll_KillTimer]
push 4
push dword [0x417bbc]
push dword [0x41789c]
push esi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
jne 0x402d89
push 2
push esi
mov dword [0x41785c], 1
call dword [sym.imp.USER32.dll_EndDialog]
cmp dword [0x417bac], edi
je 0x402da0
push edi
push 0x96
push 0x19
push esi
call dword [sym.imp.USER32.dll_SetTimer]
push 1
pop eax
jmp 0x4032e5
push 1
pop esi
cmp eax, esi
jne 0x402ddd
cmp byte [0x417b80], 0xb
jne 0x402dc3
mov dword [0x4177d8], esi
jmp 0x4032e3
push dword [ebp + 8]
call fcn.00403423
push esi
call fcn.004032ec
pop ecx
pop ecx
call fcn.00403631
jmp 0x4032e3
cmp eax, 5
jne 0x402dee
push dword [ebp + 8]
call fcn.00403423
push 0
jmp 0x402dcc
cmp eax, 3
jne 0x402df8
push 0xffffffffffffffff
push esi
jmp 0x402e05
cmp eax, 4
jne 0x4032e3
push 0xffffffffffffffff
push 0
push 0x185
push 0x3eb
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SendDlgItemMessageA]
jmp 0x4032e3
mov ebx, dword [ebp + 8]
push ebx
call fcn.0040b0e0
mov dword [esp], 0x3f3
push ebx
call dword [sym.imp.USER32.dll_GetDlgItem]
test eax, eax
je 0x402e4e
mov ecx, dword [0x417858]
test ecx, ecx
je 0x402e4e
push 0
push ecx
push 0x30
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov esi, 0x100
lea eax, [ebp - 0x130]
push esi
push eax
push 0x2f
push dword [0x417bb0]
call fcn.0040b2b1
mov edi, dword [sym.imp.USER32.dll_SetDlgItemTextA]
add esp, 0x10
lea eax, [ebp - 0x130]
push eax
push 5
push ebx
call edi
lea eax, [ebp - 0x130]
push esi
push eax
push 0x30
push dword [0x417bb0]
call fcn.0040b2b1
add esp, 0x10
lea eax, [ebp - 0x130]
push eax
push 2
push ebx
call edi
lea eax, [ebp - 0x130]
push esi
push eax
push 0x31
push dword [0x417bb0]
call fcn.0040b2b1
add esp, 0x10
lea eax, [ebp - 0x130]
push eax
push 3
push ebx
call edi
lea eax, [ebp - 0x130]
push esi
push eax
push 0x32
push dword [0x417bb0]
call fcn.0040b2b1
add esp, 0x10
lea eax, [ebp - 0x130]
push eax
push 4
push ebx
call edi
lea eax, [ebp - 0x130]
push esi
push eax
push dword [0x4177c0]
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [ebp - 0x130]
push eax
push ebx
call dword [sym.imp.USER32.dll_SetWindowTextA]
lea eax, [ebp - 0x10]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edx, dword [ebp - 4]
mov eax, dword [0x4178dc]
sub edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
sub ecx, dword [ebp - 0x10]
xor esi, esi
push esi
sub eax, edx
push edx
push ecx
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [0x4178d8]
sub eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
push ebx
call dword [sym.imp.USER32.dll_MoveWindow]
cmp byte [0x417b80], 0xb
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
mov dword [0x4177b8], ebx
jne 0x402f85
cmp dword [0x417c24], esi
je 0x402f85
push esi
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
push 1
push ebx
call esi
push eax
call edi
push 0
push 5
push dword [0x4177b8]
call esi
push eax
call edi
jmp 0x402f8b
mov esi, dword [sym.imp.USER32.dll_GetDlgItem]
call fcn.00403631
push 0
push 0xef6
push dword [0x4177b8]
call esi
push eax
call edi
push 0xef6
push ebx
call esi
test eax, eax
mov dword [ebp + 8], eax
je 0x402ff8
lea ecx, [ebp - 0x10]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x10]
push 0x4178f0
inc eax
push ebx
mov dword [0x4178f0], eax
mov eax, dword [ebp - 0xc]
inc eax
mov dword [0x4178f4], eax
call dword [sym.imp.USER32.dll_ScreenToClient]
mov eax, dword [ebp - 8]
push 0x4177b0
dec eax
push ebx
mov dword [0x4177b0], eax
mov eax, dword [ebp - 4]
dec eax
mov dword [0x4177b4], eax
call dword [sym.imp.USER32.dll_ScreenToClient]
xor eax, eax
cmp dword [0x4178b8], eax
jne 0x402da0
cmp dword [ebp + 8], eax
je 0x403011
push eax
push dword [ebp + 8]
call edi
push 0x3f0
push ebx
call esi
test eax, eax
je 0x403022
push 0
push eax
call edi
push 0x3f2
push ebx
call esi
test eax, eax
je 0x402da0
push 0
push eax
call edi
jmp 0x402da0
cmp dword [0x4175f4], 0
jne 0x403061
push 0
push 0x96
push 0x19
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [0x4175f4], 1
lea eax, [ebp - 0x170]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_BeginPaint]
mov ebx, eax
push ebx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push dword [0x417be0]
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
mov dword [ebp + 0x10], eax
push eax
call esi
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x3f2
push dword [ebp + 8]
mov dword [ebp + 0xc], eax
call edi
test eax, eax
je 0x4030f6
lea ecx, [ebp - 0x30]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_ScreenToClient]
push 0xcc0020
push 0x3f
xor eax, eax
push 0x1f4
push eax
push eax
push dword [ebp + 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push eax
push eax
push ebx
call dword [sym.imp.GDI32.dll_StretchBlt]
push dword [ebp + 0xc]
push dword [ebp + 0x10]
call esi
push dword [ebp + 0x10]
call dword [sym.imp.GDI32.dll_DeleteDC]
cmp dword [0x4178b8], 0
jne 0x40313e
push 0x3f0
push dword [ebp + 8]
call edi
push eax
push ebx
push dword [ebp + 8]
call fcn.0040c494
add esp, 0xc
push 0x3f2
push dword [ebp + 8]
call edi
push eax
push ebx
push dword [ebp + 8]
call fcn.0040c494
add esp, 0xc
cmp dword [0x417bac], 0
je 0x4032d3
push dword [ebp + 8]
push ebx
call fcn.0040bf78
mov eax, dword [0x4177b4]
pop ecx
sub eax, dword [0x4178f4]
pop ecx
push 3
movzx eax, ax
shl eax, 1
cdq
pop ecx
idiv ecx
push 0x7f0000
push ebx
mov edi, eax
mov eax, dword [0x4177b0]
sub eax, dword [0x4178f0]
movzx eax, ax
imul eax, dword [0x41782c]
cdq
idiv dword [0x417c18]
movzx eax, ax
mov dword [ebp + 0xc], eax
call dword [sym.imp.GDI32.dll_SetBkColor]
mov eax, dword [0x4178f4]
and dword [ebp + 0x10], 0
inc eax
mov dword [ebp - 0xc], eax
mov eax, dword [0x4177b4]
dec eax
cmp dword [ebp + 0xc], 0
mov dword [ebp - 4], eax
mov eax, dword [0x4178f0]
mov dword [ebp - 0x10], eax
jle 0x4031f2
mov eax, dword [ebp - 0x10]
push 0
push 0
push 0x4175f0
lea ecx, [edi + eax - 3]
mov dword [ebp - 8], ecx
lea ecx, [ebp - 0x10]
push ecx
push 6
push dword [ebp - 0xc]
push eax
push ebx
call dword [sym.imp.GDI32.dll_ExtTextOutA]
add dword [ebp + 0x10], edi
add dword [ebp - 0x10], edi
mov eax, dword [ebp + 0x10]
cmp eax, dword [ebp + 0xc]
jl 0x4031c0
cmp dword [0x4178b8], 0
jne 0x4032d3
mov eax, dword [0x4177b4]
inc eax
push eax
mov eax, dword [0x4177b0]
inc eax
push eax
mov eax, dword [0x4178f4]
dec eax
push eax
mov eax, dword [0x4178f0]
dec eax
push eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_SetRect]
push 0x10
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push 1
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
push eax
push ebx
mov dword [ebp + 0xc], eax
call esi
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0x14]
dec eax
push 0
push eax
push dword [ebp - 0x20]
push ebx
call dword [sym.imp.GDI32.dll_MoveToEx]
push dword [ebp - 0x1c]
mov edi, dword [sym.imp.GDI32.dll_LineTo]
push dword [ebp - 0x20]
push ebx
call edi
mov eax, dword [ebp - 0x18]
push dword [ebp - 0x1c]
dec eax
push eax
push ebx
call edi
push dword [ebp + 0x10]
push ebx
call esi
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_DeleteObject]
push 5
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push 1
push 0
call dword [sym.imp.GDI32.dll_CreatePen]
push eax
push ebx
mov dword [ebp + 0xc], eax
call esi
mov dword [ebp + 0x10], eax
mov eax, dword [ebp - 0x18]
push 0
dec eax
push dword [ebp - 0x1c]
push eax
push ebx
call dword [sym.imp.GDI32.dll_MoveToEx]
mov eax, dword [ebp - 0x14]
dec eax
push eax
mov eax, dword [ebp - 0x18]
dec eax
push eax
push ebx
call edi
mov eax, dword [ebp - 0x14]
dec eax
push eax
mov eax, dword [ebp - 0x20]
dec eax
push eax
push ebx
call edi
push dword [ebp + 0x10]
push ebx
call esi
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_DeleteObject]
lea eax, [ebp - 0x170]
push eax
push dword [ebp + 8]
call dword [sym.imp.USER32.dll_EndPaint]
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret 0x10