Function at 0x40237a
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x154
mov eax, dword [0x4a66bc]
xor eax, esp
mov dword [esp + 0x150], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
lea eax, [ebx + 0x1c]
mov esi, ecx
push eax
lea ecx, [esp + 0x30]
call fcn.0047ccc0
push dword [ebx + 0x18]
call fcn.00406b60
mov edi, eax
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x24]
mov ebx, dword [ebx + 0x10]
mov dword [esp + 0x28], eax
push 0x104
lea eax, [esp + 0x54]
push eax
push dword [esi + 0x20]
mov dword [esp + 0x48], ebx
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [esi + 0x54]
push eax
mov ecx, edi
mov dword [esp + 0x1c], 5
call fcn.004070c0
push dword [esp + 0x18]
mov dword [esp + 0x14], eax
push 5
pop eax
push eax
lea eax, [esp + 0x34]
push eax
mov ecx, edi
call fcn.00405a10
xor eax, eax
test bl, 0x10
je 0x402419
inc eax
mov dword [esi + 0xb8], eax
mov dword [esi + 0xb4], eax
jmp 0x402428
and dword [esi + 0xb8], 0
and dword [esi + 0xb4], 0
inc eax
mov dword [esp + 0x1c], ebx
and dword [esp + 0x1c], eax
jne 0x402437
test bl, 0x20
je 0x40243d
mov dword [esi + 0xb8], eax
push dword [esp + 0x10]
mov ecx, edi
call fcn.004070c0
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x2e
call ebx
push eax
push 0x2d
call ebx
push eax
lea ecx, [esp + 0x1c]
call fcn.004169e0
push dword [eax + 4]
lea ecx, [esp + 0x30]
push dword [eax]
call fcn.0047cf70
xor ebx, ebx
mov ecx, edi
lea eax, [esi + 0x9c]
cmp dword [esi + 0xac], ebx
jne 0x402487
lea eax, [esi + 0xa4]
push eax
call fcn.00407150
lea ecx, [esp + 0x2c]
push ecx
mov dword [esp + 0x14], eax
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x14c]
cmp dword [esi + 0xac], ebx
jne 0x4024b1
cmp dword [esi + 0xb4], ebx
je 0x4024c1
mov eax, dword [esi]
lea ecx, [esp + 0x2c]
push ecx
push edi
mov ecx, esi
call dword [eax + 0x150]
push dword [esp + 0x10]
mov ecx, edi
call fcn.00407150
mov ecx, esi
call fcn.00403880
mov edx, dword [edi]
push eax
mov ecx, edi
call dword [edx + 0x30]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.KERNEL32.DLL_lstrlenA]
push eax
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x28]
push eax
mov ecx, edi
call fcn.00405d40
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x30]
call fcn.0047cdc0
mov esi, eax
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x30]
call fcn.0047cdc0
mov ecx, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [ecx + 4]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov eax, dword [esp + 0x20]
cdq
push ecx
mov ecx, dword [esi]
sub eax, edx
sar eax, 1
sub ecx, eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.004169e0
cmp dword [esp + 0x1c], ebx
je 0x402555
push 1
push 1
lea ecx, [esp + 0x1c]
call fcn.0047cbe0
push 1
mov ecx, edi
call fcn.004072f0
test byte [esp + 0x3c], 4
push ebx
push ebx
mov esi, eax
lea eax, [esp + 0x58]
mov ecx, edi
push 1
je 0x402575
push 0x20
jmp 0x402576
push ebx
push eax
push dword [esp + 0x38]
push dword [esp + 0x38]
push dword [esp + 0x34]
push dword [esp + 0x34]
call fcn.004059a0
push dword [esp + 0x10]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x30]
push esi
mov ecx, edi
call fcn.004072f0
push dword [esp + 0x28]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x28]
mov ecx, dword [esp + 0x15c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004578b0
mov esp, ebp
pop ebp
ret 4