Function at 0x1004576
Capabilities:
Get graphical window text

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x55c
mov eax, dword [0x105405c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov edi, dword [ebp + 8]
xor ebx, ebx
push 0x58
lea eax, [ebp - 0x524]
push ebx
push eax
mov esi, ecx
mov dword [ebp - 0x530], edi
mov dword [ebp - 0x528], ebx
call sub.msvcrt.dll_memset
add esp, 0xc
push 0x64
lea eax, [ebp - 0xcc]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea eax, [ebp - 0xcc]
push eax
call fcn.0100228d
mov ecx, eax
call fcn.010040c6
push ebx
mov byte [ebp - 0x529], al
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
push 0x5a
push edi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push edi
push ebx
mov dword [ebp - 0x534], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
push 0x20
lea eax, [ebp - 0x50c]
push eax
cmp byte [ebp - 0x529], bl
jne 0x1028758
push 0x2328
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
push dword [ebp + 0xc]
mov ecx, dword [esi + 0xc]
call fcn.01004462
push 0x48
push dword [ebp - 0x534]
push eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebp - 0x528], eax
mov eax, dword [esi + 0x38]
mov dword [ebp - 0x524], ebx
cmp eax, ebx
je 0x1004658
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
lea eax, [ebp - 0x528]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
push ebx
push eax
push 0x30
push dword [ebp - 0x530]
mov dword [esi + 0x38], eax
call dword [sym.imp.USER32.dll_SendMessageW]
cmp byte [ebp - 0x529], bl
jne 0x10287a8
push dword [ebp + 0xc]
mov ecx, dword [esi + 0xc]
call fcn.01004745
mov edi, dword [sym.imp.USER32.dll_GetClientRect]
mov dword [ebp - 0x534], eax
lea eax, [ebp - 0x55c]
push eax
push dword [ebp - 0x530]
call edi
mov esi, dword [sym.imp.USER32.dll_GetParent]
lea eax, [ebp - 0x548]
push eax
push 0x9e
push dword [ebp - 0x530]
call esi
mov ebx, dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call ebx
push eax
call edi
push 2
lea eax, [ebp - 0x548]
push eax
push dword [ebp - 0x530]
call esi
push eax
push 0x9e
push dword [ebp - 0x530]
call esi
push eax
call ebx
push eax
call dword [sym.imp.USER32.dll_MapWindowPoints]
mov eax, dword [ebp - 0x53c]
sub eax, dword [ebp - 0x534]
push 1
push dword [ebp - 0x534]
sub eax, 5
push dword [ebp - 0x554]
mov dword [ebp - 0x544], eax
push eax
push dword [ebp - 0x548]
push dword [ebp - 0x530]
call dword [sym.imp.USER32.dll_MoveWindow]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01001e8f
leave
ret 8
mov edi, dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x2329
push ebx
call edi
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
push 0x200
lea eax, [ebp - 0x4cc]
push eax
push 0x2523
push ebx
call edi
push eax
call dword [sym.imp.USER32.dll_LoadStringW]
push 0xa
lea eax, [ebp - 0x54c]
push eax
lea eax, [ebp - 0x4cc]
push eax
call dword [sym.imp.msvcrt.dll_wcstol]
add esp, 0xc
neg eax
jmp 0x100462f
cmp dword [0x1058034], ebx
jne 0x10287f2
push ebx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push dword [esi + 0x38]
mov esi, dword [sym.imp.GDI32.dll_SelectObject]
mov ebx, eax
push ebx
call esi
mov edi, eax
lea eax, [ebp - 0x538]
push eax
push 1
push 0x10238d4
push ebx
call dword [sym.imp.GDI32.dll_GetTextExtentPointW]
mov eax, dword [ebp - 0x534]
push edi
push ebx
mov dword [0x1058034], eax
call esi
push ebx
call dword [sym.imp.GDI32.dll_DeleteDC]
mov eax, dword [0x1058034]
jmp 0x100468f