Function at 0x423db0
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x10
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea edi, [esi + 0x450]
test edi, edi
jne 0x423dc7
xor eax, eax
jmp 0x423dca
mov eax, dword [edi + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
mov ebp, dword [sym.imp.USER32.dll_SetRectEmpty]
test eax, eax
jne 0x423e66
lea eax, [esp + 0x10]
push eax
call ebp
lea ecx, [esp + 0x10]
push ecx
push 1
mov ecx, esi
call fcn.00423bd0
test eax, eax
je 0x423e66
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x423e66
push 1
lea eax, [esp + 0x14]
push esi
push eax
push 0x5000000b
push 0x5d00b8
mov ecx, edi
call sub.MFC42.DLL_CButton::Create
mov ecx, dword [esi + 0x20]
push 0
push 0
push 0x31
push ecx
call ebx
push eax
call sub.MFC42.DLL_CGdiObject::FromHandle
test eax, eax
je 0x423e3f
mov eax, dword [eax + 4]
push eax
mov ecx, edi
call fcn.00441060
mov edx, dword [esi + 0x80]
mov ecx, edi
push edx
call fcn.00440f20
push 0xffffff
push 0xffffff
mov ecx, edi
call fcn.00441040
lea edi, [esi + 0x4e0]
test edi, edi
jne 0x423e74
xor eax, eax
jmp 0x423e77
mov eax, dword [edi + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x423f07
lea eax, [esp + 0x10]
push eax
call ebp
lea ecx, [esp + 0x10]
push ecx
push 2
mov ecx, esi
call fcn.00423bd0
test eax, eax
je 0x423f07
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x423f07
push 2
lea eax, [esp + 0x14]
push esi
push eax
push 0x5000000b
push 0x5d008c
mov ecx, edi
call sub.MFC42.DLL_CButton::Create
mov ecx, dword [esi + 0x20]
push 0
push 0
push 0x31
push ecx
call ebx
push eax
call sub.MFC42.DLL_CGdiObject::FromHandle
test eax, eax
je 0x423ee0
mov eax, dword [eax + 4]
push eax
mov ecx, edi
call fcn.00441060
mov edx, dword [esi + 0x80]
mov ecx, edi
push edx
call fcn.00440f20
push 0xffffff
push 0xffffff
mov ecx, edi
call fcn.00441040
lea edi, [esi + 0x570]
test edi, edi
jne 0x423f15
xor eax, eax
jmp 0x423f18
mov eax, dword [edi + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x423f6d
lea eax, [esp + 0x10]
push eax
call ebp
lea ecx, [esp + 0x10]
push ecx
push 3
mov ecx, esi
call fcn.00423bd0
test eax, eax
je 0x423f6d
lea edx, [esp + 0x10]
push edx
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x423f6d
push 3
lea eax, [esp + 0x14]
push esi
push eax
push 0x5000000b
push 0
mov ecx, edi
call sub.MFC42.DLL_CButton::Create
push 0x184
mov ecx, edi
call fcn.00440f80
lea edi, [esi + 0x600]
test edi, edi
jne 0x423f7b
xor eax, eax
jmp 0x423f7e
mov eax, dword [edi + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x42400e
lea ecx, [esp + 0x10]
push ecx
call ebp
lea edx, [esp + 0x10]
mov ecx, esi
push edx
push 4
call fcn.00423bd0
test eax, eax
je 0x42400e
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x42400e
push 4
lea ecx, [esp + 0x14]
push esi
push ecx
push 0x5000000b
push 0x5d0024
mov ecx, edi
call sub.MFC42.DLL_CButton::Create
mov edx, dword [esi + 0x20]
push 0
push 0
push 0x31
push edx
call ebx
push eax
call sub.MFC42.DLL_CGdiObject::FromHandle
test eax, eax
je 0x423fe7
mov eax, dword [eax + 4]
push eax
mov ecx, edi
call fcn.00441060
mov eax, dword [esi + 0x80]
mov ecx, edi
push eax
call fcn.00440f20
push 0xffffff
push 0xffffff
mov ecx, edi
call fcn.00441040
lea edi, [esi + 0x690]
test edi, edi
jne 0x42401c
xor eax, eax
jmp 0x42401f
mov eax, dword [edi + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4240af
lea ecx, [esp + 0x10]
push ecx
call ebp
lea edx, [esp + 0x10]
mov ecx, esi
push edx
push 5
call fcn.00423bd0
test eax, eax
je 0x4240af
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x4240af
push 5
lea ecx, [esp + 0x14]
push esi
push ecx
push 0x5000000b
push 0x5d0008
mov ecx, edi
call sub.MFC42.DLL_CButton::Create
mov edx, dword [esi + 0x20]
push 0
push 0
push 0x31
push edx
call ebx
push eax
call sub.MFC42.DLL_CGdiObject::FromHandle
test eax, eax
je 0x424088
mov eax, dword [eax + 4]
push eax
mov ecx, edi
call fcn.00441060
mov eax, dword [esi + 0x80]
mov ecx, edi
push eax
call fcn.00440f20
push 0xffffff
push 0xffffff
mov ecx, edi
call fcn.00441040
lea edi, [esi + 0x720]
test edi, edi
jne 0x4240bd
xor eax, eax
jmp 0x4240c0
mov eax, dword [edi + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x424150
lea ecx, [esp + 0x10]
push ecx
call ebp
lea edx, [esp + 0x10]
mov ecx, esi
push edx
push 6
call fcn.00423bd0
test eax, eax
je 0x424150
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x424150
push 6
lea ecx, [esp + 0x14]
push esi
push ecx
push 0x5000000b
push 0x5cffec
mov ecx, edi
call sub.MFC42.DLL_CButton::Create
mov edx, dword [esi + 0x20]
push 0
push 0
push 0x31
push edx
call ebx
push eax
call sub.MFC42.DLL_CGdiObject::FromHandle
test eax, eax
je 0x424129
mov eax, dword [eax + 4]
push eax
mov ecx, edi
call fcn.00441060
mov eax, dword [esi + 0x80]
mov ecx, edi
push eax
call fcn.00440f20
push 0xffffff
push 0xffffff
mov ecx, edi
call fcn.00441040
lea edi, [esi + 0x7b0]
test edi, edi
jne 0x42415e
xor eax, eax
jmp 0x424161
mov eax, dword [edi + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4241f1
lea ecx, [esp + 0x10]
push ecx
call ebp
lea edx, [esp + 0x10]
mov ecx, esi
push edx
push 7
call fcn.00423bd0
test eax, eax
je 0x4241f1
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x4241f1
push 7
lea ecx, [esp + 0x14]
push esi
push ecx
push 0x5000000b
push 0x5d008c
mov ecx, edi
call sub.MFC42.DLL_CButton::Create
mov edx, dword [esi + 0x20]
push 0
push 0
push 0x31
push edx
call ebx
push eax
call sub.MFC42.DLL_CGdiObject::FromHandle
test eax, eax
je 0x4241ca
mov eax, dword [eax + 4]
push eax
mov ecx, edi
call fcn.00441060
mov eax, dword [esi + 0x80]
mov ecx, edi
push eax
call fcn.00440f20
push 0xffffff
push 0xffffff
mov ecx, edi
call fcn.00441040
lea edi, [esi + 0x840]
test edi, edi
jne 0x4241ff
xor eax, eax
jmp 0x424202
mov eax, dword [edi + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x424292
lea ecx, [esp + 0x10]
push ecx
call ebp
lea edx, [esp + 0x10]
mov ecx, esi
push edx
push 8
call fcn.00423bd0
test eax, eax
je 0x424292
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x424292
push 8
lea ecx, [esp + 0x14]
push esi
push ecx
push 0x5000000b
push 0x5cfe84
mov ecx, edi
call sub.MFC42.DLL_CButton::Create
mov edx, dword [esi + 0x20]
push 0
push 0
push 0x31
push edx
call ebx
push eax
call sub.MFC42.DLL_CGdiObject::FromHandle
test eax, eax
je 0x42426b
mov eax, dword [eax + 4]
push eax
mov ecx, edi
call fcn.00441060
mov eax, dword [esi + 0x80]
mov ecx, edi
push eax
call fcn.00440f20
push 0xffffff
push 0xffffff
mov ecx, edi
call fcn.00441040
lea edi, [esi + 0x8d0]
test edi, edi
jne 0x4242a0
xor eax, eax
jmp 0x4242a3
mov eax, dword [edi + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x424333
lea ecx, [esp + 0x10]
push ecx
call ebp
lea edx, [esp + 0x10]
mov ecx, esi
push edx
push 9
call fcn.00423bd0
test eax, eax
je 0x424333
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x424333
push 9
lea ecx, [esp + 0x14]
push esi
push ecx
push 0x5000000b
push 0x5cfe30
mov ecx, edi
call sub.MFC42.DLL_CButton::Create
mov edx, dword [esi + 0x20]
push 0
push 0
push 0x31
push edx
call ebx
push eax
call sub.MFC42.DLL_CGdiObject::FromHandle
test eax, eax
je 0x42430c
mov eax, dword [eax + 4]
push eax
mov ecx, edi
call fcn.00441060
mov eax, dword [esi + 0x80]
mov ecx, edi
push eax
call fcn.00440f20
push 0xffffff
push 0xffffff
mov ecx, edi
call fcn.00441040
lea edi, [esi + 0x960]
test edi, edi
jne 0x424341
xor eax, eax
jmp 0x424344
mov eax, dword [edi + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4243d4
lea ecx, [esp + 0x10]
push ecx
call ebp
lea edx, [esp + 0x10]
mov ecx, esi
push edx
push 0xa
call fcn.00423bd0
test eax, eax
je 0x4243d4
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x4243d4
push 0xa
lea ecx, [esp + 0x14]
push esi
push ecx
push 0x5000000b
push 0x5cfd84
mov ecx, edi
call sub.MFC42.DLL_CButton::Create
mov edx, dword [esi + 0x20]
push 0
push 0
push 0x31
push edx
call ebx
push eax
call sub.MFC42.DLL_CGdiObject::FromHandle
test eax, eax
je 0x4243ad
mov eax, dword [eax + 4]
push eax
mov ecx, edi
call fcn.00441060
mov eax, dword [esi + 0x80]
mov ecx, edi
push eax
call fcn.00440f20
push 0xffffff
push 0xffffff
mov ecx, edi
call fcn.00441040
lea edi, [esi + 0x9f0]
test edi, edi
jne 0x4243e2
xor eax, eax
jmp 0x4243e5
mov eax, dword [edi + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x424475
lea ecx, [esp + 0x10]
push ecx
call ebp
lea edx, [esp + 0x10]
mov ecx, esi
push edx
push 0xb
call fcn.00423bd0
test eax, eax
je 0x424475
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x424475
push 0xb
lea ecx, [esp + 0x14]
push esi
push ecx
push 0x5000000b
push 0x5cfcb0
mov ecx, edi
call sub.MFC42.DLL_CButton::Create
mov edx, dword [esi + 0x20]
push 0
push 0
push 0x31
push edx
call ebx
push eax
call sub.MFC42.DLL_CGdiObject::FromHandle
test eax, eax
je 0x42444e
mov eax, dword [eax + 4]
push eax
mov ecx, edi
call fcn.00441060
mov eax, dword [esi + 0x80]
mov ecx, edi
push eax
call fcn.00440f20
push 0xffffff
push 0xffffff
mov ecx, edi
call fcn.00441040
lea edi, [esi + 0xa80]
test edi, edi
jne 0x424483
xor eax, eax
jmp 0x424486
mov eax, dword [edi + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x4244f4
lea ecx, [esp + 0x10]
push ecx
call ebp
lea edx, [esp + 0x10]
mov ecx, esi
push edx
push 0xc
call fcn.00423bd0
test eax, eax
je 0x4244f4
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x4244f4
push 0xc
lea ecx, [esp + 0x14]
push esi
push ecx
push 0x50000880
mov ecx, edi
call sub.MFC42.DLL_CEdit::Create
mov edx, dword [esi + 0x20]
push 0
push 0
push 0x31
push edx
call ebx
push eax
call sub.MFC42.DLL_CGdiObject::FromHandle
test eax, eax
je 0x4244e6
mov eax, dword [eax + 4]
push 1
push eax
mov eax, dword [esi + 0xaa0]
push 0x30
push eax
call ebx
lea edi, [esi + 0xae8]
test edi, edi
jne 0x424502
xor eax, eax
jmp 0x424505
mov eax, dword [edi + 0x20]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
jne 0x424573
lea ecx, [esp + 0x10]
push ecx
call ebp
lea edx, [esp + 0x10]
mov ecx, esi
push edx
push 0xd
call fcn.00423bd0
test eax, eax
je 0x424573
lea eax, [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_IsRectEmpty]
test eax, eax
jne 0x424573
push 0xd
lea ecx, [esp + 0x14]
push esi
push ecx
push 0x50001044
mov ecx, edi
call sub.MFC42.DLL_CEdit::Create
mov edx, dword [esi + 0x20]
push 0
push 0
push 0x31
push edx
call ebx
push eax
call sub.MFC42.DLL_CGdiObject::FromHandle
test eax, eax
je 0x424565
mov eax, dword [eax + 4]
push 1
push eax
mov eax, dword [esi + 0xb08]
push 0x30
push eax
call ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10
ret