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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x158
push esi
push edi
mov edi, dword [ebp + 0xc]
mov esi, ecx
test edi, edi
je 0x40f026
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x40f02d
xor eax, eax
jmp 0x40f27d
push ebx
push 0
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
mov ebx, 0x103
lea eax, [esi + 0xc]
push ebx
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [ebp - 0x18]
push eax
push edi
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x18]
push eax
lea eax, [esi + 0x110]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
lea eax, [ebp - 0x18]
push eax
push edi
mov edi, dword [sym.imp.USER32.dll_ClientToScreen]
call edi
lea eax, [ebp - 0x10]
push eax
push dword [ebp + 0xc]
call edi
mov edi, dword [sym.imp.USER32.dll_ScreenToClient]
lea eax, [ebp - 0x18]
push eax
push dword [ebp + 8]
call edi
lea eax, [ebp - 0x10]
push eax
push dword [ebp + 8]
call edi
mov eax, dword [ebp + 0xc]
and byte [ebp - 0x158], 0
push 0x40
mov dword [esi + 8], eax
pop ecx
xor eax, eax
lea edi, [ebp - 0x157]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esi + 0xc]
push eax
lea eax, [ebp - 0x158]
push ebx
push eax
call dword [sym.imp.MSVCRT.dll__snprintf]
mov edi, dword [sym.imp.MSVCRT.dll_strstr]
mov ebx, 0x404c5c
lea eax, [ebp - 0x158]
push ebx
push eax
call edi
add esp, 0x14
test eax, eax
je 0x40f20d
lea eax, [ebp - 0x158]
push ebx
push eax
call edi
and byte [eax], 0
pop ecx
mov dword [ebp + 8], eax
pop ecx
lea eax, [ebp - 0x158]
lea ecx, [esi + 0x124]
push eax
call fcn.0040c4b7
add dword [ebp + 8], 2
push ebx
push dword [ebp + 8]
call edi
pop ecx
mov edi, eax
pop ecx
push dword [ebp + 8]
and byte [edi], 0
lea ecx, [esi + 0x128]
call fcn.0040c4b7
add edi, 2
lea ecx, [esi + 0x12c]
push edi
call fcn.0040c4b7
push 0x11
call dword [sym.imp.GDI32.dll_GetStockObject]
push dword [ebp + 0xc]
mov edi, eax
call dword [sym.imp.USER32.dll_GetDC]
mov dword [ebp + 8], eax
lea eax, [ebp - 0x54]
push eax
push 0x3c
push edi
call dword [sym.imp.GDI32.dll_GetObjectA]
lea eax, [ebp - 0x54]
mov byte [ebp - 0x3f], 1
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
push eax
mov dword [ebp - 8], eax
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_SelectObject]
mov ebx, 0x400
mov dword [ebp - 4], eax
mov eax, dword [esi + 0x124]
lea ecx, [esi + 0x130]
push ebx
push ecx
push dword [eax - 8]
mov edi, dword [sym.imp.USER32.dll_DrawTextA]
push eax
push dword [ebp + 8]
call edi
mov eax, dword [esi + 0x128]
lea ecx, [esi + 0x140]
push ebx
push ecx
push dword [eax - 8]
push eax
push dword [ebp + 8]
call edi
mov eax, dword [esi + 0x12c]
lea ecx, [esi + 0x150]
push ebx
push ecx
push dword [eax - 8]
push eax
push dword [ebp + 8]
call edi
mov ecx, dword [esi + 0x138]
push dword [ebp - 4]
add dword [esi + 0x148], ecx
lea eax, [esi + 0x148]
mov dword [esi + 0x140], ecx
mov eax, dword [eax]
add dword [esi + 0x158], eax
mov dword [esi + 0x150], eax
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 8]
call dword [sym.imp.GDI32.dll_DeleteObject]
push dword [ebp + 8]
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_ReleaseDC]
jmp 0x40f22f
lea eax, [esi + 0x140]
push eax
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x158]
lea ecx, [esi + 0x128]
push eax
call fcn.0040c4b7
mov eax, dword [esi + 8]
pop ebx
test eax, eax
je 0x40f27a
push esi
push 0x404c48
push eax
call dword [sym.imp.USER32.dll_SetPropA]
push 0x40f2ab
push 0xfffffffffffffffc
push dword [esi + 8]
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 0
push 0
push 0x7e9
push dword [esi + 8]
call dword [sym.imp.USER32.dll_SendMessageA]
push dword [esi + 8]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 5
push dword [esi + 8]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi + 8]
pop edi
pop esi
leave
ret 8