Function at 0x10012c90
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov eax, dword [0x1006e020]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor eax, eax
push edi
mov dword [ebp - 0x12], eax
mov dword [ebp - 0xe], eax
mov dword [ebp - 0xa], eax
mov word [ebp - 6], ax
push 8
mov ebx, ecx
mov ecx, dword [ebx + 4]
lea eax, [ebp - 0x14]
push eax
xor edi, edi
push ecx
mov word [ebp - 0x14], di
call dword [sym.imp.USER32.dll_GetClassNameW]
test eax, eax
je 0x10012d4e
push str.static
lea edx, [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x10012d4e
mov eax, dword [ebx + 4]
mov esi, dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xfffffffffffffff0
push eax
call esi
mov ecx, eax
or ecx, 0x100
cmp eax, ecx
je 0x10012d0b
push ecx
mov ecx, dword [ebx + 4]
push 0xfffffffffffffff0
push ecx
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov edx, dword [ebx + 4]
push 0xfffffffffffffff0
push edx
call esi
and eax, 0xff
cmp eax, 3
je 0x10012d4a
cmp eax, 4
je 0x10012d4a
cmp eax, 5
je 0x10012d4a
cmp eax, 6
je 0x10012d4a
cmp eax, 7
je 0x10012d4a
cmp eax, 8
je 0x10012d4a
cmp eax, 9
je 0x10012d4a
cmp eax, 0xd
je 0x10012d4a
cmp eax, 0xe
je 0x10012d4a
cmp eax, 0xf
jne 0x10012d4e
and byte [ebx + 0x58], 0xfe
push 0x7f89
push edi
call dword [sym.imp.USER32.dll_LoadCursorW]
test byte [ebx + 0x58], 1
mov dword [ebx + 0x2c], eax
je 0x10012de7
mov eax, dword [ebx + 4]
push eax
call dword [sym.imp.USER32.dll_GetParent]
push edi
push edi
push 0x31
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp eax, edi
mov dword [ebx + 0x34], eax
jne 0x10012d8e
push 0xd
call dword [sym.imp.GDI32.dll_GetStockObject]
mov dword [ebx + 0x34], eax
mov esi, dword [ebx + 0x34]
cmp esi, edi
je 0x10012de7
cmp dword [ebx + 0x30], edi
jne 0x10012de7
push 0x58
lea ecx, [ebp - 0x74]
push edi
push ecx
mov dword [ebp - 0x78], edi
call sub.MSVCR80.dll_memset
add esp, 0xc
lea edx, [ebp - 0x78]
push edx
push 0x5c
push esi
call dword [sym.imp.GDI32.dll_GetObjectW]
mov eax, dword [ebx + 0x54]
and eax, 0x30
cmp al, 0x30
jne 0x10012dcc
mov dword [ebp - 0x68], 0x2bc
jmp 0x10012dd6
test byte [ebx + 0x54], 1
jne 0x10012dd6
mov byte [ebp - 0x63], 1
lea ecx, [ebp - 0x78]
push ecx
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
or byte [ebx + 0x58], 8
mov dword [ebx + 0x30], eax
mov edx, dword [0x10070824]
mov eax, dword [ebx + 4]
mov ecx, dword [0x1006eb30]
push edi
push edx
mov edx, dword [0x1006eb2c]
push edi
push eax
mov eax, dword [0x1006eb28]
sub ecx, eax
push ecx
mov ecx, dword [0x1006eb24]
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 [ebx + 0x48], eax
cmp dword [ebx + 0x24], edi
jne 0x10012e5e
mov eax, dword [ebx + 4]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov esi, eax
cmp esi, edi
jle 0x10012e5e
lea eax, [esi + esi + 2]
call fcn.10057600
mov ecx, dword [ebx + 4]
mov edi, esp
add esi, 1
push esi
push edi
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x10012e5e
mov eax, ebx
call fcn.10012fa0
mov esi, ebx
call fcn.10013000
cmp dword [ebx + 0x28], 0
jne 0x10012e84
mov edx, dword [ebx + 0x54]
shr edx, 2
test dl, 1
jne 0x10012e84
mov eax, dword [ebx + 0x24]
test eax, eax
je 0x10012ebe
call fcn.10013460
jmp 0x10012ebe
mov eax, dword [ebx + 0x48]
push 0
push 1
push 0x401
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov eax, dword [ebx + 0x28]
mov ecx, dword [ebx + 4]
push eax
lea edi, [ebx + 0x38]
push ecx
lea esi, [ebp - 0x4c]
call fcn.10013270
mov eax, dword [ebx + 0x48]
mov edx, esi
push edx
push 0
push 0x432
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
test byte [ebx + 0x58], 1
je 0x10012f81
lea ecx, [ebp - 0x7c]
push ecx
push 0x2001f
xor esi, esi
push esi
push str.SoftwareMicrosoftInternet_ExplorerSettings
push SysReAllocStringLen
mov dword [ebp - 0x7c], esi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, esi
jne 0x10012f81
mov edx, dword [ebp - 0x7c]
xor eax, eax
mov dword [ebp - 0x32], eax
mov dword [ebp - 0x2e], eax
mov dword [ebp - 0x2a], eax
mov dword [ebp - 0x26], eax
mov dword [ebp - 0x22], eax
mov word [ebp - 0x1e], ax
push str.Anchor_Color
lea eax, [ebp - 0x84]
mov word [ebp - 0x34], si
push eax
lea edi, [ebp - 0x80]
lea esi, [ebp - 0x34]
mov dword [ebp - 0x84], edx
mov dword [ebp - 0x80], 0xc
call fcn.100132d0
test eax, eax
jne 0x10012f42
mov eax, esi
call fcn.10013350
cmp eax, 0xffffffff
je 0x10012f42
mov dword [ebx + 0x4c], eax
push str.Anchor_Color_Visited
lea ecx, [ebp - 0x84]
push ecx
lea edi, [ebp - 0x80]
lea esi, [ebp - 0x34]
mov dword [ebp - 0x80], 0xc
call fcn.100132d0
test eax, eax
jne 0x10012f73
mov eax, esi
call fcn.10013350
cmp eax, 0xffffffff
je 0x10012f73
mov dword [ebx + 0x50], eax
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x10012f81
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
lea esp, [ebp - 0x90]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10056d50
mov esp, ebp
pop ebp
ret