Function at 0x10009800
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 0x10011368
push eax
call edi
add esp, 8
mov ebp, 2
test eax, eax
jne 0x100098c4
lea ecx, [esp + 0x8c]
push 0x10011360
push ecx
call edi
add esp, 8
test eax, eax
je 0x10009964
mov esi, str.32770
lea eax, [esp + 0x6c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x100098ef
test cl, cl
je 0x100098eb
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x100098ef
add eax, ebp
add esi, ebp
test cl, cl
jne 0x100098cd
xor eax, eax
jmp 0x100098f4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10009964
push 0xa
lea eax, [esp + 0x90]
mov esi, 1
push 0x1001134c
push eax
mov dword [esp + 0xe0], esi
call dword [sym.imp.MSVCRT.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x10009958
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 0x10009a59
mov dword [esp + 0xd8], esi
jmp 0x10009a59
lea ecx, [esp + 0x8c]
push 0x10011334
push ecx
call edi
add esp, 8
test eax, eax
jne 0x10009990
lea edx, [esp + 0x8c]
push 0x1001132c
push edx
call edi
add esp, 8
test eax, eax
je 0x100099d0
mov esi, str.32770
lea eax, [esp + 0x6c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x100099bb
test cl, cl
je 0x100099b7
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x100099bb
add eax, ebp
add esi, ebp
test cl, cl
jne 0x10009999
xor eax, eax
jmp 0x100099c0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x100099d0
mov dword [esp + 0xd4], ebp
jmp 0x10009a59
lea eax, [esp + 0x8c]
push 0x10011328
push eax
call edi
add esp, 8
test eax, eax
jne 0x10009a16
lea ecx, [esp + 0x8c]
push 0x10011320
push ecx
call edi
add esp, 8
test eax, eax
jne 0x10009a16
lea edx, [esp + 0x8c]
push 0x10011318
push edx
call edi
add esp, 8
test eax, eax
je 0x10009af1
mov esi, str.32770
lea eax, [esp + 0x6c]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x10009a41
test cl, cl
je 0x10009a3d
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x10009a41
add eax, ebp
add esi, ebp
test cl, cl
jne 0x10009a1f
xor eax, eax
jmp 0x10009a46
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10009af1
mov dword [esp + 0xd4], 3
lea eax, [esp + 0x34]
mov dword [esp + 0x34], 1
push eax
mov dword [esp + 0x68], ebx
call fcn.10009b00
mov ebp, eax
add esp, 4
test ebp, ebp
jl 0x10009af1
push ebp
push ebx
xor esi, esi
call fcn.1000ae70
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 0x10009ab5
push 0xffffffffffffffec
push esi
call ebx
cmp eax, dword [esp + 0x10]
jne 0x10009a90
jmp 0x10009ae7
mov eax, dword [esp + 0x264]
push 0
push str.32770
push esi
push eax
call edi
test eax, eax
je 0x10009af1
lea ecx, [esp + 0x14]
push 0
push ecx
push esi
push eax
call edi
mov esi, eax
test esi, esi
je 0x10009ab5
push 0xffffffffffffffec
push esi
call ebx
cmp eax, dword [esp + 0x10]
jne 0x10009ab5
push ebp
push esi
call fcn.1000a2a0
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x250
ret