Function at 0x10008550
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x250
push ebx
push ebp
push esi
push edi
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x15]
mov byte [esp + 0x14], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov ecx, 0x8b
xor eax, eax
lea edi, [esp + 0x34]
lea edx, [esp + 0x14]
rep stosd dword es:[edi], eax
mov edi, str.RichEdit20A
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov ebx, dword [esp + 0x264]
mov eax, ecx
mov esi, edi
mov edi, edx
push 0x40
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [esp + 0x14], 0x20
and ecx, 3
mov dword [esp + 0xdc], 1
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x90]
push ecx
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea edx, [esp + 0x6c]
push 0x20
push edx
push ebx
call dword [sym.imp.USER32.dll_GetClassNameA]
mov edi, dword [sym.imp.MSVCRT.dll_strstr]
lea eax, [esp + 0x8c]
push 0x1000ef20
push eax
call edi
add esp, 8
mov ebp, 2
test eax, eax
jne 0x10008614
lea ecx, [esp + 0x8c]
push 0x1000ef18
push ecx
call edi
add esp, 8
test eax, eax
je 0x100086b4
mov esi, str.32770
lea eax, [esp + 0x6c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x1000863f
test cl, cl
je 0x1000863b
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x1000863f
add eax, ebp
add esi, ebp
test cl, cl
jne 0x1000861d
xor eax, eax
jmp 0x10008644
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100086b4
push 0xa
lea eax, [esp + 0x90]
mov esi, 1
push 0x1000ef04
push eax
mov dword [esp + 0xe0], esi
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x100086a8
mov edi, str.RICHEDIT
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x14]
mov eax, ecx
mov esi, edi
mov edi, edx
mov dword [esp + 0x10], 4
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov dword [esp + 0xd8], ebp
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x100087a9
mov dword [esp + 0xd8], esi
jmp 0x100087a9
lea ecx, [esp + 0x8c]
push 0x1000eeec
push ecx
call edi
add esp, 8
test eax, eax
jne 0x100086e0
lea edx, [esp + 0x8c]
push 0x1000eee4
push edx
call edi
add esp, 8
test eax, eax
je 0x10008720
mov esi, str.32770
lea eax, [esp + 0x6c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x1000870b
test cl, cl
je 0x10008707
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x1000870b
add eax, ebp
add esi, ebp
test cl, cl
jne 0x100086e9
xor eax, eax
jmp 0x10008710
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10008720
mov dword [esp + 0xd4], ebp
jmp 0x100087a9
lea eax, [esp + 0x8c]
push 0x1000eee0
push eax
call edi
add esp, 8
test eax, eax
jne 0x10008766
lea ecx, [esp + 0x8c]
push 0x1000eed8
push ecx
call edi
add esp, 8
test eax, eax
jne 0x10008766
lea edx, [esp + 0x8c]
push 0x1000eed0
push edx
call edi
add esp, 8
test eax, eax
je 0x10008841
mov esi, str.32770
lea eax, [esp + 0x6c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x10008791
test cl, cl
je 0x1000878d
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x10008791
add eax, ebp
add esi, ebp
test cl, cl
jne 0x1000876f
xor eax, eax
jmp 0x10008796
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10008841
mov dword [esp + 0xd4], 3
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 1
push eax
mov dword [esp + 0x68], ebx
call fcn.10008850
mov ebp, eax
add esp, 4
test ebp, ebp
jl 0x10008841
push ebp
push ebx
xor esi, esi
call fcn.10009bf0
mov edi, dword [sym.imp.USER32.dll_FindWindowExA]
mov ebx, dword [sym.imp.USER32.dll_GetWindowLongA]
add esp, 8
mov edx, dword [esp + 0x264]
lea ecx, [esp + 0x14]
push 0
push ecx
push esi
push edx
call edi
mov esi, eax
test esi, esi
je 0x10008805
push 0xffffffffffffffec
push esi
call ebx
cmp eax, dword [esp + 0x10]
jne 0x100087e0
jmp 0x10008837
mov eax, dword [esp + 0x264]
push 0
push str.32770
push esi
push eax
call edi
test eax, eax
je 0x10008841
lea ecx, [esp + 0x14]
push 0
push ecx
push esi
push eax
call edi
mov esi, eax
test esi, esi
je 0x10008805
push 0xffffffffffffffec
push esi
call ebx
cmp eax, dword [esp + 0x10]
jne 0x10008805
push ebp
push esi
call fcn.10009000
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x250
ret