Function at 0x412c08
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffeb4
mov eax, 0x4c16e8
push ebx
push esi
push edi
mov edi, edx
mov dword [ebp - 0x48], ecx
call fcn.004ad4bc
mov edx, 0x4be89f
lea eax, [ebp - 8]
call fcn.004b7500
inc dword [ebp - 0x28]
lea edx, [ebp - 8]
push edx
mov edx, edi
mov word [ebp - 0x34], 8
lea eax, [ebp - 4]
call fcn.004b7500
inc dword [ebp - 0x28]
pop edx
call fcn.004b7744
test al, al
je 0x412caa
mov edx, 0x4be8a0
lea eax, [ebp - 0x10]
call fcn.004b7500
inc dword [ebp - 0x28]
lea ecx, [ebp - 0x10]
push ecx
lea eax, [ebp - 0xc]
mov edx, dword [ebp - 0x48]
call fcn.004b7500
inc dword [ebp - 0x28]
pop edx
call fcn.004b7744
test al, al
mov edx, 2
setne al
and eax, 1
push eax
lea eax, [ebp - 0x10]
dec dword [ebp - 0x28]
call fcn.004b7660
dec dword [ebp - 0x28]
lea eax, [ebp - 0xc]
mov edx, 2
call fcn.004b7660
pop ecx
test ecx, ecx
jne 0x412cae
xor eax, eax
jmp 0x412cb3
mov eax, 1
push eax
dec dword [ebp - 0x28]
lea eax, [ebp - 8]
mov edx, 2
call fcn.004b7660
dec dword [ebp - 0x28]
lea eax, [ebp - 4]
mov edx, 2
call fcn.004b7660
pop ecx
test cl, cl
je 0x412cea
xor eax, eax
mov edx, dword [ebp - 0x44]
mov dword fs:[0], edx
jmp 0x412e62
xor ebx, ebx
call sub.USER32.DLL_GetDesktopWindow
push 5
push eax
call sub.USER32.DLL_GetWindow
mov esi, eax
push 0x80
lea eax, [ebp - 0xcc]
push eax
push esi
call sub.USER32.DLL_GetClassNameA
mov edx, 0x4be8a1
lea eax, [ebp - 0x18]
call fcn.004b7500
inc dword [ebp - 0x28]
lea edx, [ebp - 0x18]
push edx
mov edx, edi
mov word [ebp - 0x34], 0x14
lea eax, [ebp - 0x14]
call fcn.004b7500
inc dword [ebp - 0x28]
pop edx
call fcn.004b7744
test al, al
jne 0x412d53
lea eax, [ebp - 0xcc]
push eax
push edi
call sub.KERNEL32.DLL_lstrcmpA
test eax, eax
je 0x412d53
xor ecx, ecx
jmp 0x412d58
mov ecx, 1
push ecx
dec dword [ebp - 0x28]
lea eax, [ebp - 0x18]
mov edx, 2
call fcn.004b7660
dec dword [ebp - 0x28]
lea eax, [ebp - 0x14]
mov edx, 2
call fcn.004b7660
pop ecx
test cl, cl
je 0x412e07
mov edx, 0x4be8a2
lea eax, [ebp - 0x20]
call fcn.004b7500
inc dword [ebp - 0x28]
lea ecx, [ebp - 0x20]
push ecx
lea eax, [ebp - 0x1c]
mov word [ebp - 0x34], 0x20
mov edx, dword [ebp - 0x48]
call fcn.004b7500
inc dword [ebp - 0x28]
pop edx
call fcn.004b7744
push eax
dec dword [ebp - 0x28]
lea eax, [ebp - 0x20]
mov edx, 2
call fcn.004b7660
dec dword [ebp - 0x28]
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.004b7660
pop eax
test al, al
je 0x412dda
mov bl, 1
jmp 0x412e19
push 0x80
lea eax, [ebp - 0x14c]
push eax
push esi
call sub.USER32.DLL_GetWindowTextA
mov edx, dword [ebp - 0x48]
push edx
lea ecx, [ebp - 0x14c]
push ecx
call fcn.004ad281
add esp, 8
test eax, eax
je 0x412e07
mov bl, 1
jmp 0x412e19
push 2
push esi
call sub.USER32.DLL_GetWindow
mov esi, eax
test esi, esi
jne 0x412cfb
test bl, bl
je 0x412e56
test esi, esi
je 0x412e56
xor eax, eax
lea edx, [ebp - 0x4c]
mov dword [ebp - 0x4c], eax
push edx
push esi
call sub.USER32.DLL_GetWindowThreadProcessId
cmp dword [ebp - 0x4c], 0
je 0x412e56
mov ecx, dword [ebp - 0x4c]
push ecx
push 1
push 0x1f0fff
call sub.KERNEL32.DLL_OpenProcess
test eax, eax
je 0x412e56
mov edx, dword [ebp - 0x44]
mov dword fs:[0], edx
jmp 0x412e62
xor eax, eax
mov ecx, dword [ebp - 0x44]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret