Function at 0x4010a0
Capabilities:
Get graphical window text

Disassembly:
jmp 0x40e930
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x461bd0
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov esi, ecx
call fcn.004014a6
mov ecx, esi
call fcn.0040236f
mov eax, dword [esi + 0x168]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x14b
push eax
call edi
xor ebp, ebp
or ebx, 0xffffffff
push ebp
push 0
lea ecx, [esi + 0x960]
call fcn.00402a22
test eax, eax
je 0x40ea36
push str.KeyData
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x10]
push ebp
lea edx, [esp + 0x20]
push ecx
push edx
mov dword [esp + 0x40], 0
call fcn.00401de3
mov eax, dword [eax]
add esp, 0xc
xor ecx, ecx
mov edx, dword [eax - 8]
test edx, edx
sete cl
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x40ea3c
push str.KeyData
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x14]
push ebp
lea eax, [esp + 0x28]
push edx
push eax
mov dword [esp + 0x40], 1
call fcn.00401de3
mov eax, dword [eax]
mov ecx, dword [esi + 0x168]
add esp, 0xc
push eax
push 0
push 0x143
push ecx
call edi
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
inc ebp
jmp 0x40e977
push 0
lea ecx, [esi + 0x960]
call fcn.004018ac
mov edx, dword [esi + 0x168]
push 0
push eax
push 0x14e
push edx
call edi
mov eax, dword [esi + 0x1a8]
push 0
push 0
push 0x14b
push eax
call edi
xor ebp, ebp
push ebp
push 1
lea ecx, [esi + 0x960]
call fcn.00402a22
test eax, eax
je 0x40eb2d
push str.KeyData
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x14]
push ebp
lea edx, [esp + 0x28]
push ecx
push edx
mov dword [esp + 0x40], 2
call fcn.00401de3
mov eax, dword [eax]
add esp, 0xc
xor ecx, ecx
mov edx, dword [eax - 8]
test edx, edx
sete cl
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x40eb33
push str.KeyData
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x10]
push ebp
lea eax, [esp + 0x20]
push edx
push eax
mov dword [esp + 0x40], 3
call fcn.00401de3
mov eax, dword [eax]
mov ecx, dword [esi + 0x1a8]
add esp, 0xc
push eax
push 0
push 0x143
push ecx
call edi
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
inc ebp
jmp 0x40ea6e
push 1
lea ecx, [esi + 0x960]
call fcn.004018ac
mov edx, dword [esi + 0x1a8]
push 0
push eax
push 0x14e
push edx
call edi
mov eax, dword [esi + 0x2e8]
push 0
push 0
push 0x14b
push eax
call edi
xor ebp, ebp
push ebp
push 2
lea ecx, [esi + 0x960]
call fcn.00402a22
test eax, eax
je 0x40ec24
push str.KeyData
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x14]
push ebp
lea edx, [esp + 0x28]
push ecx
push edx
mov dword [esp + 0x40], 4
call fcn.00401de3
mov eax, dword [eax]
add esp, 0xc
xor ecx, ecx
mov edx, dword [eax - 8]
test edx, edx
sete cl
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x40ec2a
push str.KeyData
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x10]
push ebp
lea eax, [esp + 0x20]
push edx
push eax
mov dword [esp + 0x40], 5
call fcn.00401de3
mov eax, dword [eax]
mov ecx, dword [esi + 0x2e8]
add esp, 0xc
push eax
push 0
push 0x143
push ecx
call edi
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
inc ebp
jmp 0x40eb65
push 2
lea ecx, [esi + 0x960]
call fcn.004018ac
mov edx, dword [esi + 0x2e8]
push 0
push eax
push 0x14e
push edx
call edi
mov eax, dword [esi + 0x328]
push 0
push 0
push 0x14b
push eax
call edi
xor ebp, ebp
push ebp
push 3
lea ecx, [esi + 0x960]
call fcn.00402a22
test eax, eax
je 0x40ed1b
push str.KeyData
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x14]
push ebp
lea edx, [esp + 0x28]
push ecx
push edx
mov dword [esp + 0x40], 6
call fcn.00401de3
mov eax, dword [eax]
add esp, 0xc
xor ecx, ecx
mov edx, dword [eax - 8]
test edx, edx
sete cl
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x40ed21
push str.KeyData
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x10]
push ebp
lea eax, [esp + 0x20]
push edx
push eax
mov dword [esp + 0x40], 7
call fcn.00401de3
mov eax, dword [eax]
mov ecx, dword [esi + 0x328]
add esp, 0xc
push eax
push 0
push 0x143
push ecx
call edi
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
inc ebp
jmp 0x40ec5c
push 3
lea ecx, [esi + 0x960]
call fcn.004018ac
mov edx, dword [esi + 0x328]
push 0
push eax
push 0x14e
push edx
call edi
mov eax, dword [esi + 0x268]
push 0
push 0
push 0x14b
push eax
call edi
xor ebp, ebp
push ebp
push 4
lea ecx, [esi + 0x960]
call fcn.00402a22
test eax, eax
je 0x40ee12
push str.KeyData
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x14]
push ebp
lea edx, [esp + 0x28]
push ecx
push edx
mov dword [esp + 0x40], 8
call fcn.00401de3
mov eax, dword [eax]
add esp, 0xc
xor ecx, ecx
mov edx, dword [eax - 8]
test edx, edx
sete cl
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x40ee18
push str.KeyData
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x10]
push ebp
lea eax, [esp + 0x20]
push edx
push eax
mov dword [esp + 0x40], 9
call fcn.00401de3
mov eax, dword [eax]
mov ecx, dword [esi + 0x268]
add esp, 0xc
push eax
push 0
push 0x143
push ecx
call edi
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
inc ebp
jmp 0x40ed53
push 4
lea ecx, [esi + 0x960]
call fcn.004018ac
mov edx, dword [esi + 0x268]
push 0
push eax
push 0x14e
push edx
call edi
mov eax, dword [esi + 0x2a8]
push 0
push 0
push 0x14b
push eax
call edi
xor ebp, ebp
push ebp
push 5
lea ecx, [esi + 0x960]
call fcn.00402a22
test eax, eax
je 0x40ef09
push str.KeyData
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x14]
push ebp
lea edx, [esp + 0x28]
push ecx
push edx
mov dword [esp + 0x40], 0xa
call fcn.00401de3
mov eax, dword [eax]
add esp, 0xc
xor ecx, ecx
mov edx, dword [eax - 8]
test edx, edx
sete cl
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x40ef0f
push str.KeyData
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x10]
push ebp
lea eax, [esp + 0x20]
push edx
push eax
mov dword [esp + 0x40], 0xb
call fcn.00401de3
mov eax, dword [eax]
mov ecx, dword [esi + 0x2a8]
add esp, 0xc
push eax
push 0
push 0x143
push ecx
call edi
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
inc ebp
jmp 0x40ee4a
push 5
lea ecx, [esi + 0x960]
call fcn.004018ac
mov edx, dword [esi + 0x2a8]
push 0
push eax
push 0x14e
push edx
call edi
mov eax, dword [esi + 0x368]
push 0
push 0
push 0x14b
push eax
call edi
xor ebp, ebp
push ebp
push 8
lea ecx, [esi + 0x960]
call fcn.00402a22
test eax, eax
je 0x40f000
push str.KeyData
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x14]
push ebp
lea edx, [esp + 0x28]
push ecx
push edx
mov dword [esp + 0x40], 0xc
call fcn.00401de3
mov eax, dword [eax]
add esp, 0xc
xor ecx, ecx
mov edx, dword [eax - 8]
test edx, edx
sete cl
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x40f006
push str.KeyData
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x10]
push ebp
lea eax, [esp + 0x20]
push edx
push eax
mov dword [esp + 0x40], 0xd
call fcn.00401de3
mov eax, dword [eax]
mov ecx, dword [esi + 0x368]
add esp, 0xc
push eax
push 0
push 0x143
push ecx
call edi
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
inc ebp
jmp 0x40ef41
push 8
lea ecx, [esi + 0x960]
call fcn.004018ac
mov edx, dword [esi + 0x368]
push 0
push eax
push 0x14e
push edx
call edi
mov eax, dword [esi + 0x3a8]
push 0
push 0
push 0x14b
push eax
call edi
xor ebp, ebp
push ebp
push 9
lea ecx, [esi + 0x960]
call fcn.00402a22
test eax, eax
je 0x40f0f7
push str.KeyData
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x14]
push ebp
lea edx, [esp + 0x28]
push ecx
push edx
mov dword [esp + 0x40], 0xe
call fcn.00401de3
mov eax, dword [eax]
add esp, 0xc
xor ecx, ecx
mov edx, dword [eax - 8]
test edx, edx
sete cl
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x40f0fd
push str.KeyData
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x10]
push ebp
lea eax, [esp + 0x20]
push edx
push eax
mov dword [esp + 0x40], 0xf
call fcn.00401de3
mov eax, dword [eax]
mov ecx, dword [esi + 0x3a8]
add esp, 0xc
push eax
push 0
push 0x143
push ecx
call edi
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
inc ebp
jmp 0x40f038
push 9
lea ecx, [esi + 0x960]
call fcn.004018ac
mov edx, dword [esi + 0x3a8]
push 0
push eax
push 0x14e
push edx
call edi
mov eax, dword [esi + 0x3e8]
push 0
push 0
push 0x14b
push eax
call edi
xor ebp, ebp
push ebp
push 0xa
lea ecx, [esi + 0x960]
call fcn.00402a22
test eax, eax
je 0x40f1ee
push str.KeyData
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x14]
push ebp
lea edx, [esp + 0x28]
push ecx
push edx
mov dword [esp + 0x40], 0x10
call fcn.00401de3
mov eax, dword [eax]
add esp, 0xc
xor ecx, ecx
mov edx, dword [eax - 8]
test edx, edx
sete cl
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x40f1f4
push str.KeyData
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x10]
push ebp
lea eax, [esp + 0x20]
push edx
push eax
mov dword [esp + 0x40], 0x11
call fcn.00401de3
mov eax, dword [eax]
mov ecx, dword [esi + 0x3e8]
add esp, 0xc
push eax
push 0
push 0x143
push ecx
call edi
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
inc ebp
jmp 0x40f12f
push 0xa
lea ecx, [esi + 0x960]
call fcn.004018ac
mov edx, dword [esi + 0x3e8]
push 0
push eax
push 0x14e
push edx
call edi
mov eax, dword [esi + 0x428]
push 0
push 0
push 0x14b
push eax
call edi
xor ebp, ebp
push ebp
push 0xb
lea ecx, [esi + 0x960]
call fcn.00402a22
test eax, eax
je 0x40f2e5
push str.KeyData
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::CString_1
lea ecx, [esp + 0x14]
push ebp
lea edx, [esp + 0x28]
push ecx
push edx
mov dword [esp + 0x40], 0x12
call fcn.00401de3
mov eax, dword [eax]
add esp, 0xc
xor ecx, ecx
mov edx, dword [eax - 8]
test edx, edx
sete cl
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x14]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x40f2eb
push str.KeyData
lea ecx, [esp + 0x1c]
call sub.MFC42.DLL_CString::CString_1
lea edx, [esp + 0x18]
push ebp
lea eax, [esp + 0x2c]
push edx
push eax
mov dword [esp + 0x40], 0x13
call fcn.00401de3
mov eax, dword [eax]
mov ecx, dword [esi + 0x428]
add esp, 0xc
push eax
push 0
push 0x143
push ecx
call edi
lea ecx, [esp + 0x28]
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov dword [esp + 0x34], ebx
call sub.MFC42.DLL_CString::CString
inc ebp
jmp 0x40f226
lea ebx, [esi + 0x960]
push 0xb
mov ecx, ebx
call fcn.004018ac
mov edx, dword [esi + 0x428]
push 0
push eax
push 0x14e
push edx
call edi
push 1
push 0x32
lea edi, [esi + 0xe4]
push 3
push 0x2ee
push 0x32
mov ecx, edi
call fcn.00401366
push 0
mov ecx, ebx
call fcn.00401eab
push eax
mov ecx, edi
call fcn.00402dba
push 1
push 0xfa
lea edi, [esi + 0x80]
push 4
push 0xea6
push 0x3e8
mov ecx, edi
call fcn.00401366
push 0
mov ecx, ebx
call fcn.0040128a
push eax
mov ecx, edi
call fcn.00402dba
mov ecx, esi
call fcn.00402cb6
mov ecx, dword [esp + 0x2c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x28
ret