Function at 0x4078b4
Capabilities:
Get graphical window text

Disassembly:
push ebx
push esi
push edi
add esp, 0xfffffff8
mov ebx, eax
mov esi, 0x416824
mov dword [esp], 8
mov dword [esp + 4], 4
mov eax, esp
call fcn.00404e5c
mov eax, ebx
call fcn.00407b8c
push 0x47f
push 8
call sub.kernel32.dll_GetProcessHeap_1
push eax
call sub.kernel32.dll_HeapAlloc_1
mov dword [esi], eax
mov edx, 4
mov eax, dword [esi]
call fcn.004044c4
push 0xfffffffffffffffc
push ebx
call sub.user32.dll_GetWindowLongW
mov edx, dword [esi]
mov dword [edx], eax
push 0x8040
push 0
push 0
push 2
push 0x7f89
push 0
call sub.user32.dll_LoadImageW
mov edx, dword [esi]
mov dword [edx + 4], eax
push 0
push 0
push 0x31
push ebx
call sub.user32.dll_SendMessageW
mov edx, dword [esi]
mov dword [edx + 8], eax
mov eax, dword [esi]
add eax, 0xc
push eax
push ebx
call sub.user32.dll_GetClientRect
xor ecx, ecx
xor edx, edx
mov al, 0xff
call fcn.00404520
mov edx, dword [esi]
mov dword [edx + 0x1c], eax
mov cl, 0xff
xor edx, edx
xor eax, eax
call fcn.00404520
mov edx, dword [esi]
mov dword [edx + 0x20], eax
mov cl, 0x80
xor edx, edx
xor eax, eax
call fcn.00404520
mov edx, dword [esi]
mov dword [edx + 0x24], eax
mov eax, dword [esi]
mov dword [eax + 0x28], 0xff000000
push 0
push 0
push 0xe
push ebx
call sub.user32.dll_SendMessageW
test eax, eax
jle 0x4079ae
mov eax, dword [esi]
add eax, 0x2c
mov edx, 0x208
call fcn.004044c4
mov eax, dword [esi]
add eax, 0x2c
push eax
push 0x208
push 0xd
push ebx
call sub.user32.dll_SendMessageW
mov eax, dword [esi]
mov byte [eax + 0x234], 0
mov eax, dword [esi]
mov byte [eax + 0x235], 0
push ebx
call sub.user32.dll_IsWindowEnabled
cmp eax, 1
sbb eax, eax
inc eax
mov edx, dword [esi]
mov byte [edx + 0x236], al
push 0x80000003
push 0x80000000
push 0x80000000
push 0x80000000
push 0x80000000
push ebx
call sub.user32.dll_GetParent
push eax
push 0
mov eax, dword [0x416674]
push eax
push 0
mov edx, 0x407b68
xor ecx, ecx
mov eax, 8
call fcn.004045a4
mov edi, eax
mov eax, dword [esi]
mov dword [eax + 0x237], edi
push edi
call sub.user32.dll_IsWindow
test eax, eax
je 0x407a92
mov eax, dword [esi]
mov dword [eax + 0x23b], 0x2c
mov eax, dword [esi]
mov dword [eax + 0x23f], 0x11
mov eax, dword [esi]
mov dword [eax + 0x243], ebx
mov eax, dword [esi]
mov dword [eax + 0x247], ebx
mov eax, dword [esi]
mov dword [eax + 0x25f], 0xffffffff
mov eax, dword [esi]
add eax, 0x24b
push eax
call sub.user32.dll_SetRectEmpty
mov eax, dword [esi]
add eax, 0x267
mov edx, 0x208
call fcn.004044c4
mov eax, dword [esi]
add eax, 0x23b
push eax
push 0
push 0x432
mov eax, dword [esi]
mov eax, dword [eax + 0x237]
push eax
call sub.user32.dll_SendMessageW
push 0xfffffffffffffff0
push ebx
call sub.user32.dll_GetWindowLongW
mov edx, eax
and edx, 0x1f
cmp edx, 0xc
ja case.0x407aaa.0
mov dl, byte [edx + 0x407ab1]
jmp dword [edx*4 + 0x407abe]
mov edx, dword [esi]
mov dword [edx + 0x46f], 0x40
jmp case.0x407aaa.0
mov edx, dword [esi]
mov dword [edx + 0x46f], 0x41
jmp case.0x407aaa.0
mov edx, dword [esi]
mov dword [edx + 0x46f], 0x42
jmp case.0x407aaa.0
mov edx, dword [esi]
mov dword [edx + 0x46f], 0x20
jmp case.0x407aaa.0
mov edx, dword [esi]
mov dword [edx + 0x46f], 0x40
test ah, 2
jne 0x407b28
mov edx, dword [esi]
or dword [edx + 0x46f], 4
test ah, 1
jne 0x407b3b
or eax, 0x100
push eax
push 0xfffffffffffffff0
push ebx
call sub.user32.dll_SetWindowLongW
mov eax, dword [esi]
push eax
push 0xffffffffffffffeb
push ebx
call sub.user32.dll_SetWindowLongW
push 0x40745c
push 0xfffffffffffffffc
push ebx
call sub.user32.dll_SetWindowLongW
push 0
push 0
push 5
push ebx
call sub.user32.dll_SendMessageW
pop ecx
pop edx
pop edi
pop esi
pop ebx
ret