Function at 0x473040
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x8bc
push ebx
push ebp
push esi
push 0x400
mov ebp, ecx
mov ecx, dword [ebp + 0xb8]
lea eax, [esp + 0xcc]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov eax, dword [ebp + 0xb8]
lea edx, [esp + 0x10]
push edx
push eax
mov word [esp + 0x8ce], 0
call dword [sym.imp.USER32.dll_GetClientRect]
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx + 0x154]
test eax, eax
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
jne 0x4730b9
mov ebx, dword [esp + 0x8cc]
mov eax, ecx
mov edx, dword [eax + 0x10]
push 1
push edx
add eax, 0xec
push eax
lea eax, [esp + 0x1c]
push eax
push ebx
call fcn.00448470
add esp, 0x14
jmp 0x4730d7
mov ecx, ebp
call fcn.00451280
mov ecx, dword [ebp + 0xb8]
mov ebx, dword [esp + 0x8cc]
push ecx
push ebx
push 0x1795
push eax
call esi
mov edx, dword [ebp + 0xb8]
push edi
push 0
push 0
push 0x31
push edx
call esi
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x20]
mov ecx, dword [eax + 0x14c]
test ecx, ecx
je 0x4731cc
lea esi, [eax + 0xac]
mov ecx, 0xf
lea edi, [esp + 0x34]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x7c], eax
mov al, byte [esp + 0x49]
mov dword [esp + 0x78], edx
mov dl, byte [esp + 0x48]
mov dword [esp + 0x80], ecx
mov cl, byte [esp + 0x4a]
mov byte [esp + 0x85], al
mov al, byte [esp + 0x4c]
mov byte [esp + 0x84], dl
mov dl, byte [esp + 0x4b]
mov byte [esp + 0x86], cl
mov cl, byte [esp + 0x4d]
mov byte [esp + 0x88], al
mov al, byte [esp + 0x4f]
mov byte [esp + 0x87], dl
mov dl, byte [esp + 0x4e]
mov byte [esp + 0x89], cl
mov byte [esp + 0x8b], al
xor eax, eax
push 0x20
mov byte [esp + 0x8e], dl
mov ecx, 0x10
lea edi, [esp + 0x90]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x90]
push ecx
push 0xffffffffffffffff
lea edx, [esp + 0x5c]
push edx
push eax
push eax
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x4731cc
lea eax, [esp + 0x70]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x10]
push ecx
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x20]
mov edx, dword [eax + 0xe8]
push edx
push ebx
call dword [sym.imp.GDI32.dll_SetTextColor]
push 1
push ebx
mov dword [esp + 0x30], eax
call dword [sym.imp.GDI32.dll_SetBkMode]
mov dword [esp + 0x24], eax
mov eax, dword [ebp + 0xb8]
push 0xfffffffffffffff0
push eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
xor esi, esi
test al, 2
mov dword [esp + 0x2c], eax
je 0x47321c
mov esi, 2
test al, 1
je 0x473225
mov esi, 1
test ah, 2
je 0x47322d
or esi, 0x24
mov ecx, eax
and ecx, 0xc
cmp cl, 0xc
jne 0x47323c
or esi, 0x20
jmp 0x47323f
or esi, 0x10
test al, al
jns 0x473249
or esi, 0x800
and eax, 0xb
cmp al, 0xb
jne 0x473253
or esi, 0x20
mov ecx, ebp
call fcn.00451380
test eax, eax
je 0x473264
or esi, 0x20000
mov eax, dword [esp + 0x2c]
test ah, 0x20
je 0x4732b6
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push edx
mov edx, dword [esp + 0x18]
push eax
push ecx
push edx
push ebx
call dword [sym.imp.GDI32.dll_IntersectClipRect]
mov edi, dword [ebp + 0x20]
or esi, 0x2010
push esi
lea eax, [esp + 0xd0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
lea ecx, [esp + 0xd4]
push ecx
lea edx, [esp + 0x20]
push edx
add edi, 0x158
jmp 0x473316
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
push eax
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
push ebx
call dword [sym.imp.GDI32.dll_IntersectClipRect]
mov ecx, dword [ebp + 0xb8]
push ecx
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
mov edi, dword [ebp + 0x20]
lea edx, [esp + 0xcc]
push esi
push edx
je 0x4732fc
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add edi, 0x158
jmp 0x473308
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add edi, 0x168
push eax
lea eax, [esp + 0xd4]
lea ecx, [esp + 0x1c]
push eax
push ecx
push edi
push ebx
call fcn.00447f10
mov edx, dword [esp + 0x40]
add esp, 0x18
push edx
push ebx
call dword [sym.imp.GDI32.dll_SetTextColor]
mov eax, dword [esp + 0x30]
push eax
push ebx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp + 0x20]
mov eax, dword [ecx + 0x14c]
test eax, eax
pop edi
je 0x473351
mov edx, dword [esp + 0xc]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x20]
push eax
push ebx
call dword [sym.imp.GDI32.dll_SetBkMode]
pop esi
pop ebp
pop ebx
add esp, 0x8bc
ret 4