Function at 0x4c096b
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0xc8
push ebx
push ebp
push esi
push edi
push 0
push 0
push 0
mov esi, ecx
push 0
push 0x2710
mov dword [esp + 0x28], esi
call fcn.0054b850
mov eax, dword [0x8ac018]
add esp, 0x14
cmp eax, 0xffffffff
jne 0x4c0980
push 0
push 0x10c
push 0x243
push 0x17
push 0x2710
call fcn.0054b850
add esp, 0x14
push esi
call fcn.004c0ee0
mov ecx, dword [esi + 4]
imul ecx, ecx, 0x1b8
mov eax, 0x1948b0fd
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0x1b8
jle 0x4c09a6
mov eax, 0x1b8
push 0x257
add eax, 0x6b
push eax
push 0
push 0x6b
call fcn.005488f0
push 0
push 0x237
push 0x6b
push 0x16
push 0x2710
call fcn.0054b850
push 0x257
push 0x31f
push 0
push 0
call fcn.005488f0
mov eax, dword [0x89e864]
movzx ecx, byte [eax + 0x263cc]
push 0
push 0x12
push 0x1a
shl ecx, 1
push ecx
push 0x2711
call fcn.0054b850
add esp, 0x48
mov dword [esp + 0x10], 0
mov ebp, 0x1f3
nop
mov ecx, dword [esp + 0x10]
mov eax, dword [0x89e864]
mov edi, 0x2000
lea edx, [esp + 0x38]
shl edi, cl
mov ecx, dword [eax + 0x20328]
push edx
push ecx
call fcn.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
mov edx, dword [esp + 0x38]
and edx, edi
cmp edx, edi
jne 0x4c0ab4
mov ecx, dword [0x89e864]
mov edx, dword [ecx + 0x263d4]
lea eax, [esp + 0x48]
push eax
push edx
call fcn.004d3720
mov esi, eax
call fcn.004031f0
mov edx, dword [esp + 0x48]
mov eax, dword [0x89e864]
imul edx, edx, 0xb
movzx ecx, byte [eax + 0x263cc]
mov esi, dword [esp + 0x10]
add ecx, edx
imul ecx, ecx, 0x7d
add ecx, esi
mov edx, dword [eax + ecx*8 + 0x2ca58]
lea eax, [eax + ecx*8 + 0x2ca54]
lea ecx, [esp + 0x1c]
push ecx
push edx
call fcn.004d3720
mov esi, eax
call fcn.004031f0
mov eax, dword [esp + 0x1c]
push 0
push 0xe
push ebp
add eax, 0x10c
push eax
jmp 0x4c0abe
push 0
push 0xe
push ebp
push 0x10c
push 0x32
call fcn.0054b850
mov edx, dword [esp + 0x24]
add esp, 0x14
inc edx
add ebp, 0x2c
cmp ebp, 0x327
mov dword [esp + 0x10], edx
jb 0x4c0a10
mov edi, dword [esp + 0x14]
xor ebx, ebx
push ebx
lea esi, [edi + 8]
push esi
push 0x27
push 0xffffffffffffffff
push esi
call fcn.005489b0
mov ecx, 0x2fc
sub ecx, eax
add esp, 8
push ecx
call fcn.0054b7f0
add esp, 0x10
push 0xffff
push esi
push 0x27
push 0xffffffffffffffff
push esi
call fcn.005489b0
mov edx, 0x2fc
sub edx, eax
add esp, 8
push edx
call fcn.0054b790
mov eax, dword [edi + 4]
mov ecx, dword [0x89e864]
add esp, 0x10
cmp eax, 0xd
jle 0x4c0c7c
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x10], eax
add edi, 0x12c
jmp 0x4c0b50
cmp byte [ecx + eax + 0x24846], bl
je 0x4c0c61
xor edx, edx
cmp byte [ecx + eax + 0x2483e], bl
mov ecx, dword [ecx + 0x1aaa0]
sete dl
lea eax, [esp + 0x1c]
push eax
push ecx
lea edx, [edx + edx + 0x18]
mov dword [esp + 0x20], edx
call fcn.004d3720
mov ebx, 1
mov esi, eax
call fcn.004031f0
mov ebx, dword [esp + 0x10]
cmp dword [esp + 0x1c], ebx
jne 0x4c0bc3
mov edx, dword [esp + 0x14]
mov ecx, dword [edx + 4]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
and eax, 0x80000001
jns 0x4c0bbc
dec eax
or eax, 0xfffffffe
inc eax
mov eax, 0x19
je 0x4c0bc7
mov eax, dword [esp + 0x18]
mov ecx, dword [edi]
mov edx, dword [edi - 0x20]
push 0
add ecx, 2
push ecx
add edx, 0x1a
push edx
push eax
push 0x2710
call fcn.0054b850
mov eax, dword [0x89e864]
lea ecx, [eax + ebp + 0x24669]
push 0xffffffffffffffff
push ecx
call fcn.005489b0
mov esi, dword [edi - 0x20]
cdq
sub eax, edx
sar eax, 1
sub esi, eax
mov eax, dword [0x89e864]
mov dl, byte [eax + ebx + 0x2483e]
sub dl, byte [eax + 0x1aaa4]
mov ecx, dword [edi]
add esi, 0x1a
neg dl
lea eax, [eax + ebp + 0x24669]
sbb edx, edx
and edx, 0xfae8
push edx
push eax
add ecx, 5
push ecx
push esi
call fcn.0054b7f0
mov edx, dword [0x89e864]
mov ecx, dword [edi]
push 0xffff
lea eax, [edx + ebp + 0x24669]
push eax
add ecx, 5
push ecx
push esi
call fcn.0054b790
mov ecx, dword [0x89e864]
mov eax, dword [esp + 0x4c]
add esp, 0x3c
xor ebx, ebx
inc eax
add ebp, 0x14
add edi, 4
cmp ebp, 0xa0
mov dword [esp + 0x10], eax
jl 0x4c0b50
mov edi, dword [esp + 0x14]
mov edx, dword [ecx + 0x24548]
inc edx
push edx
lea eax, [esp + 0x5c]
push 0x59c658
push eax
call fcn.0056aefc
lea eax, [esp + 0x64]
add esp, 0xc
xor esi, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4c0ca0
sub eax, edx
mov dword [esp + 0x18], eax
je 0x4c0ced
mov ebp, 0x29
movsx ecx, byte [esp + esi + 0x58]
push ebx
push 0x117
push ebp
add ecx, 0xd2
push ecx
push 0x32
call fcn.0054b850
add esp, 0x14
lea eax, [esp + 0x58]
inc esi
add ebp, 8
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4c0ce0
sub eax, edx
cmp esi, eax
jb 0x4c0cb4
lea eax, [esp + 0x58]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x4c0cf4
sub eax, edx
mov edx, dword [0x89e864]
push 0xffff
add edx, 0x2454c
push edx
lea eax, [eax*8 + 0x2d]
push 0x118
push eax
call fcn.0054b790
mov eax, dword [0x89e864]
mov cl, byte [eax + 0x245cc]
add eax, 0x245cc
add esp, 0x10
cmp cl, bl
je 0x4c0d50
push 0xffff
push eax
push 0x117
push 0x1ec
call fcn.0054b790
add esp, 0x10
mov ecx, dword [0x89e864]
push ecx
call fcn.00424340
cmp byte [0x89eac0], 1
jne 0x4c0e7c
mov eax, dword [0x89edf8]
cmp byte [eax + 8], bl
je 0x4c0ddc
mov ecx, dword [eax + 4]
lea esi, [eax + 4]
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x14]
push eax
push 0xb0
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
cmp eax, 0xffffffff
jne 0x4c0da0
xor eax, eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
jmp 0x4c0da4
mov eax, dword [esp + 0x10]
lea edx, [eax + eax*2]
lea eax, [edx + edx + 0xca]
mov edx, dword [esi]
lea ecx, [esp + 0x1c]
push ecx
push edx
mov dword [esp + 0x24], 2
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0x21b
call sub.IMM32.dll_ImmGetContext
push eax
call sub.IMM32.dll_ImmSetCompositionWindow
mov eax, dword [0x89edf8]
jmp 0x4c0de4
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], ebx
cmp byte [eax + 8], bl
je 0x4c0e01
mov edx, dword [eax + 4]
push 0x80
lea ecx, [esp + 0x5c]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowTextA]
test eax, eax
jne 0x4c0e05
mov byte [esp + 0x58], bl
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x5c]
push ecx
call fcn.005489b0
mov edx, dword [esp + 0x1c]
mov esi, eax
push edx
lea eax, [esp + 0x64]
push eax
call fcn.005489b0
push 0xf800
sub eax, esi
push 0xc
add eax, 2
push eax
push 0x21b
add esi, 0xca
push esi
call fcn.00548c10
push ebx
lea ecx, [esp + 0x80]
push ecx
push 0x21c
push 0xcb
call fcn.0054b790
push 0xffe0
lea edx, [esp + 0x90]
push edx
push 0x21b
push 0xca
call fcn.0054b790
add esp, 0x44
jmp 0x4c0e95
push 0xffff
push 0x89eac8
push 0x208
push 0x24
call fcn.0054b790
add esp, 0x10
mov eax, dword [0x89e864]
cmp word [eax + 0x80640], 0xffff
je 0x4c0ec8
mov eax, dword [edi + 4]
cdq
mov ecx, 0x14
idiv ecx
cmp edx, 0xa
jge 0x4c0ec8
push ebx
push 0x12
push 0x1a
push ebx
push 0x2712
call fcn.0054b850
add esp, 0x14
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc8
ret