Function at 0x4a1550
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x123c
call fcn.004a7790
push ebx
mov ebx, dword [ebp + 8]
test ebx, ebx
jne 0x4a156c
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push edi
push ebx
call fcn.0049f730
mov edi, dword [sym.imp.USER32.dll_GetParent]
add esp, 4
mov dword [ebp - 0x10], eax
mov dword [ebp - 4], 0
push ebx
call edi
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x14]
push eax
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
call ebx
mov esi, 1
nop
mov eax, dword [ebp + esi*4 - 0x40]
test eax, eax
je 0x4a15ad
push eax
call edi
jmp 0x4a15af
xor eax, eax
mov dword [ebp + esi*4 - 0x3c], eax
test eax, eax
je 0x4a15ce
lea ecx, [ebp - 0x18]
push ecx
push eax
call ebx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
je 0x4a15ce
mov dword [ebp + esi*4 - 0x3c], 0
inc esi
cmp esi, 8
jl 0x4a15a0
mov ebx, dword [sym.imp.USER32.dll_GetClassNameW]
xor eax, eax
mov word [ebp - 0x23c], ax
mov word [ebp - 0x123c], ax
mov word [ebp - 0x103c], ax
mov word [ebp - 0xe3c], ax
mov word [ebp - 0xc3c], ax
mov word [ebp - 0xa3c], ax
mov word [ebp - 0x83c], ax
mov word [ebp - 0x63c], ax
mov word [ebp - 0x43c], ax
lea eax, [ebp - 0x23c]
push 0x100
push eax
push dword [ebp + 8]
call ebx
push 0xb
lea eax, [ebp - 0x23c]
xor esi, esi
push eax
push str.HwndWrapper
call fcn.004a6be0
add esp, 0xc
lea edi, [ebp - 0x123c]
test eax, eax
mov ecx, 0x4000
cmove esi, ecx
mov dword [ebp - 8], esi
xor esi, esi
lea esp, [esp]
mov eax, dword [ebp + esi*4 - 0x3c]
test eax, eax
je 0x4a1671
push 0x100
push edi
push eax
call ebx
inc esi
add edi, 0x200
cmp esi, 8
jl 0x4a1660
xor edx, edx
mov eax, 1
mov edi, 0x510b98
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x1c], eax
cmp dword [str.ImmersiveLauncher], edx
je 0x4a1724
jmp 0x4a16a0
xor esi, esi
lea ebx, [ebp - 0x123c]
mov ecx, esi
shl eax, cl
test dword [edi + 0xc], eax
je 0x4a16cc
push ebx
push dword [edi]
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x4a16cc
push eax
call fcn.0049e2e0
add esp, 4
cmp eax, dword [edi + 4]
jge 0x4a16df
inc esi
add ebx, 0x200
cmp esi, 8
jge 0x4a16ea
mov eax, 1
jmp 0x4a16a8
mov edx, dword [ebp + esi*4 - 0x3c]
mov dword [ebp - 0xc], edx
test edx, edx
jne 0x4a1724
lea eax, [ebp - 0x23c]
push eax
push dword [edi]
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x4a170b
push eax
call fcn.0049e2e0
add esp, 4
cmp eax, dword [edi + 4]
jge 0x4a171a
add edi, 0x18
cmp dword [edi], 0
je 0x4a1721
mov eax, 1
jmp 0x4a16a0
mov ebx, dword [ebp + 8]
mov edx, ebx
jmp 0x4a1727
mov edx, dword [ebp - 0xc]
mov ebx, dword [ebp + 8]
xor esi, esi
mov dword [ebp + 8], esi
test edx, edx
je 0x4a1797
mov ecx, dword [edi + 8]
or ecx, dword [ebp - 8]
test ecx, 0x2000000
mov dword [ebp - 4], ecx
cmovne esi, dword [ebp - 0x1c]
test dword [edi + 8], 0x8000
mov dword [ebp + 8], esi
je 0x4a1762
lea eax, [ebp - 4]
push eax
push 0x4a1980
push edx
call dword [sym.imp.USER32.dll_EnumChildWindows]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x4a1773
mov eax, dword [edi + 0x10]
cmp eax, 0xffffffff
je 0x4a1773
mov dword [edx], eax
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x4a1784
mov eax, dword [edi + 0x14]
cmp eax, 0xffffffff
je 0x4a1784
mov dword [edx], eax
cmp dword [ebp - 0x10], 0
jne 0x4a1797
test esi, esi
jne 0x4a1797
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
mov word [ebp - 0x23c], ax
mov word [ebp - 0x123c], ax
mov word [ebp - 0x103c], ax
mov word [ebp - 0xe3c], ax
mov word [ebp - 0xc3c], ax
mov word [ebp - 0xa3c], ax
mov word [ebp - 0x83c], ax
mov word [ebp - 0x63c], ax
mov word [ebp - 0x43c], ax
lea eax, [ebp - 0x23c]
push 0x100
push eax
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetWindowTextW]
call ebx
xor esi, esi
lea edi, [ebp - 0x123c]
mov eax, dword [ebp + esi*4 - 0x3c]
test eax, eax
je 0x4a1806
push 0x100
push edi
push eax
call ebx
inc esi
add edi, 0x200
cmp esi, 8
jl 0x4a17f5
cmp dword [str.Mouse_Data], 0
mov esi, 0x510f28
je 0x4a188e
xor edi, edi
lea ebx, [ebp - 0x123c]
jmp 0x4a1830
mov eax, 1
mov ecx, edi
shl eax, cl
test dword [esi + 0xc], eax
je 0x4a1859
push ebx
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x4a1859
push eax
call fcn.0049e2e0
add esp, 4
cmp eax, dword [esi + 4]
jge 0x4a18a7
inc edi
add ebx, 0x200
cmp edi, 8
jl 0x4a1830
lea eax, [ebp - 0x23c]
push eax
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x4a1886
push eax
call fcn.0049e2e0
add esp, 4
cmp eax, dword [esi + 4]
jge 0x4a18a7
add esi, 0x18
cmp dword [esi], 0
jne 0x4a1820
cmp dword [ebp - 0x10], 0
jne 0x4a189d
cmp dword [ebp + 8], 0
mov eax, dword [ebp - 8]
je 0x4a18a0
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x4a18b8
mov eax, dword [esi + 0x10]
cmp eax, 0xffffffff
je 0x4a18b8
mov dword [ecx], eax
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x4a18c9
mov eax, dword [esi + 0x14]
cmp eax, 0xffffffff
je 0x4a18c9
mov dword [ecx], eax
mov eax, dword [esi + 8]
or eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret