Function at 0x40f271
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa8
mov eax, dword [0x4412dc]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
xor eax, eax
mov word [ebp - 0x14], ax
lea edi, [ebp - 0x12]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
push 8
lea eax, [ebp - 0x14]
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetClassNameW]
test eax, eax
je 0x40f321
push str.static
lea eax, [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x40f321
mov esi, dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xfffffffffffffff0
push dword [ebx + 4]
call esi
mov ecx, eax
or ecx, 0x100
cmp eax, ecx
je 0x40f2df
push ecx
push 0xfffffffffffffff0
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 0xfffffffffffffff0
push dword [ebx + 4]
call esi
and eax, 0xff
cmp eax, 3
je 0x40f31d
cmp eax, 4
je 0x40f31d
cmp eax, 5
je 0x40f31d
cmp eax, 6
je 0x40f31d
cmp eax, 7
je 0x40f31d
cmp eax, 8
je 0x40f31d
cmp eax, 9
je 0x40f31d
cmp eax, 0xd
je 0x40f31d
cmp eax, 0xe
je 0x40f31d
cmp eax, 0xf
jne 0x40f321
and byte [ebx + 0x58], 0xfe
push 0x443120
push 0x4430a0
push 0x20
push 0x20
push dword [0x44309c]
push dword [0x443098]
push dword [0x4435e8]
call dword [sym.imp.USER32.dll_CreateCursor]
test byte [ebx + 0x58], 1
mov dword [ebx + 0x2c], eax
je 0x40f3e3
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetParent]
xor edi, edi
push edi
push edi
push 0x31
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebx + 0x34], eax
cmp eax, edi
jne 0x40f37c
push 0xd
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [ebx + 0x34], eax
mov esi, dword [ebx + 0x34]
cmp esi, edi
je 0x40f3e5
cmp dword [ebx + 0x30], edi
jne 0x40f3e5
push 0x58
lea eax, [ebp - 0x8c]
push edi
push eax
mov dword [ebp - 0x90], edi
call fcn.0041a3b0
add esp, 0xc
lea eax, [ebp - 0x90]
push eax
push 0x5c
push esi
call dword [sym.imp.GDI32.dll_GetObjectW]
mov eax, dword [ebx + 0x54]
and eax, 0x30
cmp al, 0x30
jne 0x40f3c3
mov dword [ebp - 0x80], 0x2bc
jmp 0x40f3cd
test byte [ebx + 0x54], 1
jne 0x40f3cd
mov byte [ebp - 0x7b], 1
lea eax, [ebp - 0x90]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
or byte [ebx + 0x58], 8
mov dword [ebx + 0x30], eax
jmp 0x40f3e5
xor edi, edi
mov eax, dword [ebx + 4]
mov ecx, dword [0x443090]
mov edx, dword [0x44308c]
push edi
push dword [0x4435e8]
lea esi, [ebx + 0x48]
push edi
push eax
mov eax, dword [0x443088]
sub ecx, eax
push ecx
mov ecx, dword [0x443084]
sub edx, ecx
push edx
push eax
push ecx
push edi
push edi
push str.tooltips_class32
push edi
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [esi], eax
cmp dword [ebx + 0x24], edi
jne 0x40f472
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov dword [ebp - 0x98], eax
cmp eax, edi
jle 0x40f472
lea eax, [eax + eax + 2]
call fcn.00424f50
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0x94], esp
inc eax
push eax
push dword [ebp - 0x94]
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x40f472
push dword [ebp - 0x94]
mov eax, ebx
call fcn.0040ed25
mov ecx, ebx
call fcn.0040ee70
cmp dword [ebx + 0x28], edi
jne 0x40f499
mov eax, dword [ebx + 0x54]
shr eax, 2
test al, 1
jne 0x40f499
mov eax, dword [ebx + 0x24]
cmp eax, edi
je 0x40f4c4
push eax
mov esi, ebx
call fcn.0040f064
jmp 0x40f4c4
push edi
push 1
push 0x401
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebx + 0x38]
push eax
push ecx
mov ecx, dword [ebx + 0x28]
mov eax, esp
mov dword [ebp - 0x98], esp
mov dword [eax], ecx
mov ecx, dword [ebx + 4]
push esi
call fcn.0040f0f1
test byte [ebx + 0x58], 1
je 0x40f58f
push 0x2001f
push str.SoftwareMicrosoftInternet_ExplorerSettings
mov dword [ebp - 0xa4], edi
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0x9c], edi
push 0x80000001
lea edi, [ebp - 0xa4]
call fcn.00409f30
test eax, eax
jne 0x40f57a
mov word [ebp - 0x2c], ax
lea edi, [ebp - 0x2a]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosw word es:[edi], ax
push str.Anchor_Color
lea eax, [ebp - 0xa4]
push eax
lea esi, [ebp - 0x94]
lea edi, [ebp - 0x2c]
mov dword [ebp - 0x94], 0xc
call fcn.0040f174
test eax, eax
jne 0x40f543
mov ecx, edi
call fcn.0040f1dc
cmp eax, 0xffffffff
je 0x40f543
mov dword [ebx + 0x4c], eax
push str.Anchor_Color_Visited
lea eax, [ebp - 0xa4]
push eax
lea esi, [ebp - 0x94]
lea edi, [ebp - 0x2c]
mov dword [ebp - 0x94], 0xc
call fcn.0040f174
test eax, eax
jne 0x40f57a
mov ecx, edi
call fcn.0040f1dc
cmp eax, 0xffffffff
je 0x40f57a
mov dword [ebx + 0x50], eax
cmp dword [ebp - 0xa4], 0
je 0x40f58f
push dword [ebp - 0xa4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea esp, [ebp - 0xb0]
pop edi
pop esi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00419542
leave
ret