Function at 0x402900
Capabilities:
Enumerate gui resources
Get graphical window text

Disassembly:
push 0x1ec
mov eax, 0x42356e
call fcn.004231c0
mov ebx, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x1f8], ebx
mov dword [ebp - 0x1c0], ebx
mov dword [ebp - 0x1a8], edi
xor esi, esi
inc esi
mov dword [ebp - 0x1ac], esi
mov dword [ebp - 4], esi
call fcn.00401b0a
push eax
mov ecx, ebx
call fcn.00401564
mov dword [ebp - 0x1a8], esi
mov dword [ebp - 0x1dc], edi
mov dword [ebp - 0x1d8], edi
mov dword [ebp - 0x1d4], edi
push ecx
lea ecx, [ebp - 0x1dc]
mov dword [ebp - 4], 2
call fcn.004066c5
lea eax, [ebp - 0x1dc]
push eax
push 0x40288e
call dword [sym.imp.USER32.dll_EnumWindows]
mov eax, dword [ebp - 0x1d8]
mov edx, edi
mov ecx, dword [ebp - 0x1dc]
sub eax, ecx
sar eax, 2
mov dword [ebp - 0x1f0], edi
test eax, eax
je 0x402d05
mov edi, dword [ecx + edx*4]
xor eax, eax
mov ebx, dword [ebp - 0x1ac]
mov esi, ebx
mov word [ebp - 0xd8], ax
lea eax, [ebp - 0xd8]
push 0x64
push eax
push edi
mov dword [ebp - 0x1a4], edi
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.0040655d
or ebx, 2
mov dword [ebp - 0x1a8], ebx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x1e4]
mov dword [ebp - 0x1b0], eax
xor eax, eax
mov word [ebp - 0x1a0], ax
lea eax, [ebp - 0x1a0]
push 0x64
push eax
push edi
call dword [sym.imp.USER32.dll_GetClassNameW]
lea eax, [ebp - 0x1a0]
push eax
lea ecx, [ebp - 0x1e0]
call fcn.0040655d
or esi, 6
mov dword [ebp - 0x1ac], esi
mov dword [ebp - 0x1a8], esi
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x1e0]
mov esi, dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xffffffffffffffeb
push edi
mov dword [ebp - 0x1c4], eax
call esi
push 0xfffffffffffffff4
push edi
mov dword [ebp - 0x1c8], eax
call esi
push 0xfffffffffffffff8
push edi
mov dword [ebp - 0x1cc], eax
call esi
push 0xfffffffffffffffa
push edi
mov dword [ebp - 0x1d0], eax
call esi
push 0xfffffffffffffffc
push edi
mov ebx, eax
call esi
push 0xfffffffffffffff0
push dword [ebp - 0x1a4]
mov edi, eax
call esi
push 0xffffffffffffffec
push dword [ebp - 0x1a4]
mov esi, eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
push dword [ebp - 0x1b0]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1d0]
push ebx
mov ebx, dword [ebp - 0x1a4]
push edi
push esi
push eax
push ebx
push str.TopLevelHwnd_p:_p__p__p__p__p__p__p______s__s_r_n
push dword [ebp - 0x1c0]
call fcn.00407333
mov ecx, dword [ebp - 0x1e0]
add esp, 0x30
lea ecx, [ecx - 0x10]
call fcn.0040188c
mov ecx, dword [ebp - 0x1e4]
add ecx, 0xfffffff0
call fcn.0040188c
xor esi, esi
mov dword [ebp - 0x1bc], esi
mov dword [ebp - 0x1b8], esi
mov dword [ebp - 0x1b4], esi
push ecx
lea ecx, [ebp - 0x1bc]
mov byte [ebp - 4], 5
call fcn.004066c5
lea eax, [ebp - 0x1bc]
push eax
push 0x4028d6
push ebx
call dword [sym.imp.USER32.dll_EnumChildWindows]
mov eax, dword [ebp - 0x1b8]
mov edx, esi
mov ecx, dword [ebp - 0x1bc]
sub eax, ecx
sar eax, 2
mov dword [ebp - 0x1b0], esi
test eax, eax
je 0x402caf
mov edi, dword [ecx + edx*4]
xor eax, eax
mov ebx, dword [ebp - 0x1ac]
mov esi, ebx
mov word [ebp - 0x1a0], ax
lea eax, [ebp - 0x1a0]
push 0x64
push eax
push edi
mov dword [ebp - 0x1a4], edi
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea eax, [ebp - 0x1a0]
push eax
lea ecx, [ebp - 0x1ec]
call fcn.0040655d
or ebx, 8
mov dword [ebp - 0x1a8], ebx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x1ec]
mov dword [ebp - 0x1d0], eax
xor eax, eax
mov word [ebp - 0xd8], ax
lea eax, [ebp - 0xd8]
push 0x64
push eax
push edi
call dword [sym.imp.USER32.dll_GetClassNameW]
lea eax, [ebp - 0xd8]
push eax
lea ecx, [ebp - 0x1e8]
call fcn.0040655d
or esi, 0x18
mov dword [ebp - 0x1ac], esi
mov dword [ebp - 0x1a8], esi
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x1e8]
mov esi, dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xffffffffffffffeb
push edi
mov dword [ebp - 0x1cc], eax
call esi
push 0xfffffffffffffff4
push edi
mov dword [ebp - 0x1c8], eax
call esi
push 0xfffffffffffffff8
push edi
mov dword [ebp - 0x1c4], eax
call esi
push 0xfffffffffffffffa
push edi
mov dword [ebp - 0x1f4], eax
call esi
push 0xfffffffffffffffc
push edi
mov ebx, eax
call esi
push 0xfffffffffffffff0
push dword [ebp - 0x1a4]
mov edi, eax
call esi
push 0xffffffffffffffec
push dword [ebp - 0x1a4]
mov esi, eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
push dword [ebp - 0x1d0]
push dword [ebp - 0x1cc]
push dword [ebp - 0x1c8]
push dword [ebp - 0x1c4]
push dword [ebp - 0x1f4]
push ebx
mov ebx, dword [ebp - 0x1c0]
push edi
push esi
push eax
push dword [ebp - 0x1a4]
push str.___ChildHwnd_p:_p__p__p__p__p__p__p______s__s_r_n
push ebx
call fcn.00407333
mov ecx, dword [ebp - 0x1e8]
add esp, 0x30
lea ecx, [ecx - 0x10]
call fcn.0040188c
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x1ec]
lea ecx, [ecx - 0x10]
call fcn.0040188c
mov eax, dword [ebp - 0x1b8]
mov edx, dword [ebp - 0x1b0]
mov ecx, dword [ebp - 0x1bc]
inc edx
sub eax, ecx
mov dword [ebp - 0x1b0], edx
sar eax, 2
cmp edx, eax
jb 0x402b3b
xor esi, esi
jmp 0x402cb5
mov ebx, dword [ebp - 0x1c0]
mov byte [ebp - 4], 2
test ecx, ecx
je 0x402cdf
mov edx, dword [ebp - 0x1b4]
sub edx, ecx
and edx, 0xfffffffc
call fcn.004082f6
mov dword [ebp - 0x1bc], esi
mov dword [ebp - 0x1b8], esi
mov dword [ebp - 0x1b4], esi
mov eax, dword [ebp - 0x1d8]
mov edx, dword [ebp - 0x1f0]
mov ecx, dword [ebp - 0x1dc]
inc edx
sub eax, ecx
mov dword [ebp - 0x1f0], edx
sar eax, 2
cmp edx, eax
jb 0x40299d
test ecx, ecx
je 0x402d19
mov edx, dword [ebp - 0x1d4]
sub edx, ecx
and edx, 0xfffffffc
call fcn.004082f6
mov eax, ebx
call fcn.0042316a
ret 4