Function at 0x4cc320
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x123c
call fcn.004d12b0
push ebx
mov ebx, dword [ebp + 8]
test ebx, ebx
jne 0x4cc33c
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push edi
push ebx
call fcn.004c92d0
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 0x4cc37d
push eax
call edi
jmp 0x4cc37f
xor eax, eax
mov dword [ebp + esi*4 - 0x3c], eax
test eax, eax
je 0x4cc39e
lea ecx, [ebp - 0x18]
push ecx
push eax
call ebx
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x18]
je 0x4cc39e
mov dword [ebp + esi*4 - 0x3c], 0
inc esi
cmp esi, 8
jl 0x4cc370
mov esi, dword [ebp + 8]
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 esi
call dword [sym.imp.USER32.dll_GetClassNameW]
test byte [0x652fc0], 4
je 0x4cc420
lea eax, [ebp - 0x23c]
push eax
push esi
push str.current:_hWnd0x_x__CurClassName_s_n
push 3
push str.GetClassFlags
call fcn.004cb410
add esp, 0x14
push 0xb
lea eax, [ebp - 0x23c]
xor ebx, ebx
push eax
push str.HwndWrapper
call fcn.004d277f
add esp, 0xc
lea edi, [ebp - 0x123c]
test eax, eax
mov ecx, 0x4000
cmove ebx, ecx
xor esi, esi
mov dword [ebp - 8], ebx
lea ecx, [ecx]
mov ebx, dword [ebp + esi*4 - 0x3c]
test ebx, ebx
je 0x4cc485
push 0x100
push edi
push ebx
call dword [sym.imp.USER32.dll_GetClassNameW]
test byte [0x652fc0], 4
je 0x4cc485
push edi
push ebx
push esi
push str.Ancestor__d_:_hWnd0x_x__ClassName_s_n
push 3
push str.GetClassFlags
call fcn.004cb410
add esp, 0x18
inc esi
add edi, 0x200
cmp esi, 8
jl 0x4cc450
xor ebx, ebx
mov eax, 1
mov edi, 0x652fc8
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x1c], eax
cmp dword [str.ImmersiveLauncher], ebx
je 0x4cc55a
nop
test byte [0x652fc0], 4
je 0x4cc4da
push dword [edi + 8]
push dword [edi + 0xc]
push dword [edi]
push str.ptr__Name_s__ptr__iAncestorsToCheckForName_x__ptr__iFlgas_x_n
push 3
push str.GetClassFlags
call fcn.004cb410
add esp, 0x18
mov eax, 1
xor esi, esi
lea ebx, [ebp - 0x123c]
mov ecx, esi
shl eax, cl
test dword [edi + 0xc], eax
je 0x4cc506
push ebx
push dword [edi]
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x4cc506
push eax
call fcn.004c7a40
add esp, 4
cmp eax, dword [edi + 4]
jge 0x4cc51d
inc esi
add ebx, 0x200
cmp esi, 8
jge 0x4cc5f7
mov eax, 1
jmp 0x4cc4e2
test byte [0x652fc0], 4
mov ebx, dword [ebp + esi*4 - 0x3c]
mov dword [ebp - 0xc], ebx
je 0x4cc552
push esi
push dword [edi + 8]
shl esi, 9
lea eax, [ebp - 0x123c]
add eax, esi
push eax
push ebx
push str._Find_Target_h_x:_ClassName_s__flag_x__at_AncestorName__d__n
push 3
push str.GetClassFlags
call fcn.004cb410
add esp, 0x1c
test ebx, ebx
je 0x4cc5fa
mov esi, dword [ebp + 8]
xor edx, edx
mov dword [ebp + 8], edx
test ebx, ebx
je 0x4cc686
mov ecx, dword [edi + 8]
or ecx, dword [ebp - 8]
test ecx, 0x2000000
mov dword [ebp - 4], ecx
cmovne edx, dword [ebp - 0x1c]
test dword [edi + 8], 0x8000
mov dword [ebp + 8], edx
je 0x4cc59c
lea eax, [ebp - 4]
push eax
push 0x4cc9b0
push ebx
call dword [sym.imp.USER32.dll_EnumChildWindows]
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x4cc5ad
mov eax, dword [edi + 0x10]
cmp eax, 0xffffffff
je 0x4cc5ad
mov dword [edx], eax
mov edx, dword [ebp + 0x10]
test edx, edx
je 0x4cc5be
mov eax, dword [edi + 0x14]
cmp eax, 0xffffffff
je 0x4cc5be
mov dword [edx], eax
test byte [0x652fc0], 4
je 0x4cc5e0
push ecx
push ebx
push str.Search_ClassBase:_hTarget_x__dwFlags_x_n
push 3
push str.GetClassFlags
call fcn.004cb3a0
mov ecx, dword [ebp - 4]
add esp, 0x14
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
test edx, edx
jne 0x4cc667
test eax, eax
jne 0x4cc667
pop edi
pop esi
mov eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp - 0xc]
lea eax, [ebp - 0x23c]
push eax
push dword [edi]
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x4cc61b
push eax
call fcn.004c7a40
add esp, 4
cmp eax, dword [edi + 4]
jge 0x4cc631
add edi, 0x18
cmp dword [edi], 0
je 0x4cc55a
mov eax, 1
jmp 0x4cc4b0
test byte [0x652fc0], 4
mov esi, dword [ebp + 8]
mov ebx, esi
je 0x4cc55d
push dword [edi + 8]
lea eax, [ebp - 0x23c]
push eax
push esi
push str._Current_window_found_in_ClassDatabase__set_as_target__x___s___x__n
push 3
push str.GetClassFlags
call fcn.004cb410
add esp, 0x18
jmp 0x4cc55d
test byte [0x652fc0], 4
je 0x4cc686
push eax
push edx
push str.bIsImmersiveHWND_d__bForceToSearchWindowTitleDB_d__will_search_window_title_n
push 3
push str.GetClassFlags
call fcn.004cb3a0
add esp, 0x14
mov ebx, dword [sym.imp.USER32.dll_GetWindowTextW]
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 esi
call ebx
test byte [0x652fc0], 4
je 0x4cc700
lea eax, [ebp - 0x23c]
push eax
push str.CurWindowTitle__s_n
push 3
push str.GetClassFlags
call fcn.004cb410
add esp, 0x10
xor esi, esi
lea edi, [ebp - 0x123c]
mov eax, dword [ebp + esi*4 - 0x3c]
test eax, eax
je 0x4cc738
push 0x100
push edi
push eax
call ebx
test byte [0x652fc0], 4
je 0x4cc738
push edi
push esi
push str.Ancestor__d_WindowTitle__s_n
push 3
push str.GetClassFlags
call fcn.004cb410
add esp, 0x14
inc esi
add edi, 0x200
cmp esi, 8
jl 0x4cc708
cmp dword [str.Mouse_Data], 0
mov esi, 0x6533a0
je 0x4cc7c2
xor edi, edi
lea ebx, [ebp - 0x123c]
lea ebx, [ebx]
mov eax, 1
mov ecx, edi
shl eax, cl
test dword [esi + 0xc], eax
je 0x4cc789
push ebx
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x4cc789
push eax
call fcn.004c7a40
add esp, 4
cmp eax, dword [esi + 4]
jge 0x4cc800
inc edi
add ebx, 0x200
cmp edi, 8
jl 0x4cc760
lea eax, [ebp - 0x23c]
push eax
push dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x4cc7ba
push eax
call fcn.004c7a40
add esp, 4
cmp eax, dword [esi + 4]
jge 0x4cc850
add esi, 0x18
cmp dword [esi], 0
jne 0x4cc752
cmp dword [ebp - 0x10], 0
jne 0x4cc89f
cmp dword [ebp + 8], 0
jne 0x4cc89f
test byte [0x652fc0], 4
je 0x4cc7f6
push dword [ebp - 8]
push str.cannot_find_out_matches_in_class_and_title_database__return_escfModifier_x_n
push 3
push str.GetClassFlags
call fcn.004cb3a0
add esp, 0x10
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x4cc811
mov eax, dword [esi + 0x10]
cmp eax, 0xffffffff
je 0x4cc811
mov dword [ecx], eax
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x4cc822
mov eax, dword [esi + 0x14]
cmp eax, 0xffffffff
je 0x4cc822
mov dword [ecx], eax
test byte [0x652fc0], 4
je 0x4cc843
push dword [esi + 8]
push edi
push str.find_out_window_name_title_in_ancestor__d___return_flag_x_n
push 3
push str.GetClassFlags
call fcn.004cb3a0
add esp, 0x14
mov eax, dword [esi + 8]
or eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x4cc861
mov eax, dword [esi + 0x10]
cmp eax, 0xffffffff
je 0x4cc861
mov dword [ecx], eax
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x4cc872
mov eax, dword [esi + 0x14]
cmp eax, 0xffffffff
je 0x4cc872
mov dword [ecx], eax
test byte [0x652fc0], 4
je 0x4cc892
push dword [esi + 8]
push str.find_out_window_title_name_for_cur._window__return_flag_x_n
push 3
push str.GetClassFlags
call fcn.004cb3a0
add esp, 0x10
mov eax, dword [esi + 8]
or eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test byte [0x652fc0], 4
je 0x4cc8bf
push dword [ebp - 4]
push str.cannot_find_out_matches_in_title_database__return_dwFlags_x_n
push 3
push str.GetClassFlags
call fcn.004cb3a0
add esp, 0x10
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret