Function at 0x40f950
Capabilities:
Get graphical window text

Disassembly:
push 0xffffffffffffffff
push 0x415f23
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xd4
push ebx
push ebp
push esi
push edi
mov ebp, ecx
lea ecx, [esp + 0x24]
mov dword [esp + 0xec], 0
mov dword [esp + 0x30], 1
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x1c]
mov byte [esp + 0xec], 1
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x18]
mov byte [esp + 0xec], 2
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x14]
mov byte [esp + 0xec], 3
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x10]
mov byte [esp + 0xec], 4
call sub.MFC42.DLL_CString::CString_2
lea ecx, [esp + 0x20]
mov byte [esp + 0xec], 5
call sub.MFC42.DLL_CString::CString_2
push 0xa
lea ecx, [esp + 0x8c]
mov byte [esp + 0xf0], 6
call sub.MFC42.DLL_CStringList::CStringList
push 0xa
lea ecx, [esp + 0xa8]
mov byte [esp + 0xf0], 7
call sub.MFC42.DLL_CStringList::CStringList
push 0xa
lea ecx, [esp + 0x70]
mov byte [esp + 0xf0], 8
call sub.MFC42.DLL_CStringList::CStringList
push 0xa
lea ecx, [esp + 0x54]
mov byte [esp + 0xf0], 9
call sub.MFC42.DLL_CStringList::CStringList
push 0xa
lea ecx, [esp + 0x38]
mov byte [esp + 0xf0], 0xa
call sub.MFC42.DLL_CStringList::CStringList
mov eax, dword [esp + 0xf4]
mov bl, 0xb
push eax
mov byte [esp + 0xf0], bl
call dword [sym.imp.MSVCRT.dll_atol]
mov ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
mov edi, 0xa
shr eax, 0x1f
add edx, eax
mov eax, 0x66666667
mov esi, edx
imul ecx
mov eax, edx
add esp, 4
sar eax, 2
mov edx, eax
mov dword [esp + 0xd8], esi
shr edx, 0x1f
add eax, edx
cdq
idiv edi
mov eax, ecx
mov edi, edx
cdq
mov ecx, 0xa
mov dword [esp + 0xd0], edi
idiv ecx
mov dword [esp + 0xd4], edx
lea eax, [edx + edi]
mov edx, dword [ebp + 0x594]
mov edi, dword [ebp + 0x470]
add eax, esi
xor esi, esi
mov dword [esp + 0xe0], eax
push esi
push esi
push 0x1004
push edx
mov dword [esp + 0x3c], edi
call dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
jle 0x40fc2e
lea edi, [ebp + 0x574]
push 0
lea eax, [esp + 0xd0]
push esi
push eax
mov ecx, edi
call sub.MFC42.DLL_CListCtrl::GetItemText
push eax
lea ecx, [esp + 0x8c]
mov byte [esp + 0xf0], 0xc
call sub.MFC42.DLL_CStringList::AddTail
lea ecx, [esp + 0xcc]
mov byte [esp + 0xec], bl
call fcn.00413f18
push 1
lea ecx, [esp + 0xc4]
push esi
push ecx
mov ecx, edi
call sub.MFC42.DLL_CListCtrl::GetItemText
push eax
lea ecx, [esp + 0xa8]
mov byte [esp + 0xf0], 0xd
call sub.MFC42.DLL_CStringList::AddTail
lea ecx, [esp + 0xc0]
mov byte [esp + 0xec], bl
call fcn.00413f18
push 2
lea edx, [esp + 0xc8]
push esi
push edx
mov ecx, edi
call sub.MFC42.DLL_CListCtrl::GetItemText
push eax
lea ecx, [esp + 0x70]
mov byte [esp + 0xf0], 0xe
call sub.MFC42.DLL_CStringList::AddTail
lea ecx, [esp + 0xc4]
mov byte [esp + 0xec], bl
call fcn.00413f18
push 3
lea eax, [esp + 0xcc]
push esi
push eax
mov ecx, edi
call sub.MFC42.DLL_CListCtrl::GetItemText
push eax
lea ecx, [esp + 0x54]
mov byte [esp + 0xf0], 0xf
call sub.MFC42.DLL_CStringList::AddTail
lea ecx, [esp + 0xc8]
mov byte [esp + 0xec], bl
call fcn.00413f18
push 4
lea ecx, [esp + 0xe0]
push esi
push ecx
mov ecx, edi
call sub.MFC42.DLL_CListCtrl::GetItemText
push eax
lea ecx, [esp + 0x38]
mov byte [esp + 0xf0], 0x10
call sub.MFC42.DLL_CStringList::AddTail
lea ecx, [esp + 0xdc]
mov byte [esp + 0xec], bl
call fcn.00413f18
mov edx, dword [ebp + 0x594]
push 0
push 0
push 0x1004
push edx
inc esi
call dword [sym.imp.USER32.dll_SendMessageA]
cmp esi, eax
jl 0x40faec
mov ebp, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
jmp 0x40fc32
mov ebp, dword [esp + 0x30]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x8c]
mov dword [esp + 0xc8], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xc4], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x30], eax
test eax, eax
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xcc], edx
je 0x4102f3
mov ebx, dword [sym.imp.MSVCRT.dll__mbscmp]
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
add eax, 8
mov dword [esp + 0x30], ecx
push eax
lea ecx, [esp + 0x20]
call sub.MFC42.DLL_CString::operator
mov eax, dword [esp + 0xc8]
lea ecx, [esp + 0x18]
mov edx, dword [eax]
add eax, 8
push eax
mov dword [esp + 0xcc], edx
call sub.MFC42.DLL_CString::operator
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax]
add eax, 8
mov dword [esp + 0xc4], ecx
push eax
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::operator
mov eax, dword [esp + 0xc0]
lea ecx, [esp + 0x10]
mov edx, dword [eax]
add eax, 8
push eax
mov dword [esp + 0xc4], edx
call sub.MFC42.DLL_CString::operator
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax]
add eax, 8
mov dword [esp + 0xcc], ecx
push eax
lea ecx, [esp + 0x24]
call sub.MFC42.DLL_CString::operator
mov edx, dword [esp + 0x1c]
push 0x41ca8c
push edx
call ebx
add esp, 8
test eax, eax
jne 0x40fd23
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x1c]
push 0x41ca88
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x40fd41
mov edx, dword [esp + 0xd4]
mov dword [esp + 0x2c], edx
mov eax, dword [esp + 0x1c]
push 0x41ca84
push eax
call ebx
add esp, 8
test eax, eax
jne 0x40fd5f
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x1c]
push 0x41ca80
push edx
call ebx
add esp, 8
test eax, eax
jne 0x40fd7d
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x14]
push 0x41ca8c
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x40fd9b
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x14]
push 0x41ca88
push eax
call ebx
add esp, 8
test eax, eax
jne 0x40fdb9
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x28], ecx
mov edx, dword [esp + 0x14]
push 0x41ca84
push edx
call ebx
add esp, 8
test eax, eax
jne 0x40fdd7
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x14]
push 0x41c4f4
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x40fdf2
mov dword [esp + 0x28], 3
mov edx, dword [esp + 0x14]
push 0x41c4f0
push edx
call ebx
add esp, 8
test eax, eax
jne 0x40fe0d
mov dword [esp + 0x28], 4
mov eax, dword [esp + 0x14]
push 0x41c4ec
push eax
call ebx
add esp, 8
test eax, eax
jne 0x40fe28
mov dword [esp + 0x28], 5
mov ecx, dword [esp + 0x14]
push 0x41c4e8
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x40fe43
mov dword [esp + 0x28], 6
mov edx, dword [esp + 0x20]
push edx
call dword [sym.imp.MSVCRT.dll_atol]
mov esi, eax
mov eax, dword [esp + 0x1c]
push 0x41ca7c
push eax
call ebx
add esp, 0xc
test eax, eax
jne 0x40ff3f
mov ecx, dword [esp + 0x10]
push 0x41ca74
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x40fe9d
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
add edx, eax
cmp edx, esi
je 0x40fe95
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x40fe9d
test edi, edi
je 0x4103f4
mov ecx, dword [esp + 0x10]
push 0x41ca6c
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x40fed3
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
add edx, eax
cmp edx, esi
jg 0x40fecb
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x40fed3
test edi, edi
je 0x4103f4
mov ecx, dword [esp + 0x10]
push 0x41ca64
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x40ff09
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
add edx, eax
cmp edx, esi
jl 0x40ff01
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x40ff09
test edi, edi
je 0x4103f4
mov ecx, dword [esp + 0x10]
push 0x41ca5c
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x40ff3f
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
add edx, eax
cmp edx, esi
jne 0x40ff37
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x40ff3f
test edi, edi
je 0x4103f4
mov ecx, dword [esp + 0x18]
push 0x41ca58
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x41002e
mov edx, dword [esp + 0x10]
push 0x41ca74
push edx
call ebx
add esp, 8
test eax, eax
jne 0x40ff8c
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
sub eax, edx
cmp eax, esi
je 0x40ff84
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x40ff8c
test edi, edi
je 0x4103f4
mov ecx, dword [esp + 0x10]
push 0x41ca6c
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x40ffc2
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
sub edx, ecx
cmp edx, esi
jg 0x40ffba
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x40ffc2
test edi, edi
je 0x4103f4
mov eax, dword [esp + 0x10]
push 0x41ca64
push eax
call ebx
add esp, 8
test eax, eax
jne 0x40fff8
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
sub ecx, edx
cmp ecx, esi
jl 0x40fff0
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x40fff8
test edi, edi
je 0x4103f4
mov edx, dword [esp + 0x10]
push 0x41ca5c
push edx
call ebx
add esp, 8
test eax, eax
jne 0x41002e
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
sub eax, edx
cmp eax, esi
jne 0x410026
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x41002e
test edi, edi
je 0x4103f4
mov ecx, dword [esp + 0x18]
push 0x41ca54
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x410119
mov edx, dword [esp + 0x10]
push 0x41ca74
push edx
call ebx
add esp, 8
test eax, eax
jne 0x41007a
mov eax, dword [esp + 0x28]
imul eax, dword [esp + 0x2c]
cmp eax, esi
je 0x410072
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x41007a
test edi, edi
je 0x4103f4
mov ecx, dword [esp + 0x10]
push 0x41ca6c
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x4100af
mov edx, dword [esp + 0x28]
imul edx, dword [esp + 0x2c]
cmp edx, esi
jg 0x4100a7
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x4100af
test edi, edi
je 0x4103f4
mov eax, dword [esp + 0x10]
push 0x41ca64
push eax
call ebx
add esp, 8
test eax, eax
jne 0x4100e4
mov ecx, dword [esp + 0x28]
imul ecx, dword [esp + 0x2c]
cmp ecx, esi
jl 0x4100dc
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x4100e4
test edi, edi
je 0x4103f4
mov edx, dword [esp + 0x10]
push 0x41ca5c
push edx
call ebx
add esp, 8
test eax, eax
jne 0x410119
mov eax, dword [esp + 0x28]
imul eax, dword [esp + 0x2c]
cmp eax, esi
jne 0x410111
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x410119
test edi, edi
je 0x4103f4
mov ecx, dword [esp + 0x18]
push 0x41ca50
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x410204
mov edx, dword [esp + 0x10]
push 0x41ca74
push edx
call ebx
add esp, 8
test eax, eax
jne 0x410165
mov eax, dword [esp + 0x2c]
cdq
idiv dword [esp + 0x28]
cmp eax, esi
je 0x41015d
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x410165
test edi, edi
je 0x4103f4
mov eax, dword [esp + 0x10]
push 0x41ca6c
push eax
call ebx
add esp, 8
test eax, eax
jne 0x41019a
mov eax, dword [esp + 0x2c]
cdq
idiv dword [esp + 0x28]
cmp eax, esi
jg 0x410192
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x41019a
test edi, edi
je 0x4103f4
mov ecx, dword [esp + 0x10]
push 0x41ca64
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x4101cf
mov eax, dword [esp + 0x2c]
cdq
idiv dword [esp + 0x28]
cmp eax, esi
jl 0x4101c7
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x4101cf
test edi, edi
je 0x4103f4
mov edx, dword [esp + 0x10]
push 0x41ca5c
push edx
call ebx
add esp, 8
test eax, eax
jne 0x410204
mov eax, dword [esp + 0x2c]
cdq
idiv dword [esp + 0x28]
cmp eax, esi
jne 0x4101fc
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x410204
test edi, edi
je 0x4103f4
mov eax, dword [esp + 0x18]
push 0x41ca48
push eax
call ebx
add esp, 8
test eax, eax
jne 0x4102e7
mov ecx, dword [esp + 0x10]
push 0x41ca74
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x410250
mov eax, dword [esp + 0x2c]
cdq
idiv dword [esp + 0x28]
cmp edx, esi
je 0x410248
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x410250
test edi, edi
je 0x4103f4
mov edx, dword [esp + 0x10]
push 0x41ca6c
push edx
call ebx
add esp, 8
test eax, eax
jne 0x410285
mov eax, dword [esp + 0x2c]
cdq
idiv dword [esp + 0x28]
cmp edx, esi
jg 0x41027d
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x410285
test edi, edi
je 0x4103f4
mov eax, dword [esp + 0x10]
push 0x41ca64
push eax
call ebx
add esp, 8
test eax, eax
jne 0x4102b6
mov eax, dword [esp + 0x2c]
cdq
idiv dword [esp + 0x28]
cmp edx, esi
jl 0x4102ae
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x4102b6
test edi, edi
je 0x4103f4
mov ecx, dword [esp + 0x10]
push 0x41ca5c
push ecx
call ebx
add esp, 8
test eax, eax
jne 0x4102e7
mov eax, dword [esp + 0x2c]
cdq
idiv dword [esp + 0x28]
cmp edx, esi
jne 0x4102df
xor ebp, ebp
cmp edi, 1
je 0x410315
jmp 0x4102e7
test edi, edi
je 0x4103f4
mov eax, dword [esp + 0x30]
test eax, eax
jne 0x40fc7a
cmp edi, 1
je 0x4103f4
test edi, edi
jne 0x4103f4
cmp ebp, 1
je 0x4103f4
test ebp, ebp
jne 0x4103f4
lea ecx, [esp + 0x34]
mov byte [esp + 0xec], 0xa
call fcn.00414008
lea ecx, [esp + 0x50]
mov byte [esp + 0xec], 9
call fcn.00414008
lea ecx, [esp + 0x6c]
mov byte [esp + 0xec], 8
call fcn.00414008
lea ecx, [esp + 0xa4]
mov byte [esp + 0xec], 7
call fcn.00414008
lea ecx, [esp + 0x88]
mov byte [esp + 0xec], 6
call fcn.00414008
lea ecx, [esp + 0x20]
mov byte [esp + 0xec], 5
call fcn.00413f18
lea ecx, [esp + 0x10]
mov byte [esp + 0xec], 4
call fcn.00413f18
lea ecx, [esp + 0x14]
mov byte [esp + 0xec], 3
call fcn.00413f18
lea ecx, [esp + 0x18]
mov byte [esp + 0xec], 2
call fcn.00413f18
lea ecx, [esp + 0x1c]
mov byte [esp + 0xec], 1
call fcn.00413f18
lea ecx, [esp + 0x24]
mov byte [esp + 0xec], 0
call fcn.00413f18
lea ecx, [esp + 0xf4]
mov dword [esp + 0xec], 0xffffffff
call fcn.00413f18
xor eax, eax
jmp 0x4104d1
lea ecx, [esp + 0x34]
mov byte [esp + 0xec], 0xa
call fcn.00414008
lea ecx, [esp + 0x50]
mov byte [esp + 0xec], 9
call fcn.00414008
lea ecx, [esp + 0x6c]
mov byte [esp + 0xec], 8
call fcn.00414008
lea ecx, [esp + 0xa4]
mov byte [esp + 0xec], 7
call fcn.00414008
lea ecx, [esp + 0x88]
mov byte [esp + 0xec], 6
call fcn.00414008
lea ecx, [esp + 0x20]
mov byte [esp + 0xec], 5
call fcn.00413f18
lea ecx, [esp + 0x10]
mov byte [esp + 0xec], 4
call fcn.00413f18
lea ecx, [esp + 0x14]
mov byte [esp + 0xec], 3
call fcn.00413f18
lea ecx, [esp + 0x18]
mov byte [esp + 0xec], 2
call fcn.00413f18
lea ecx, [esp + 0x1c]
mov byte [esp + 0xec], 1
call fcn.00413f18
lea ecx, [esp + 0x24]
mov byte [esp + 0xec], 0
call fcn.00413f18
lea ecx, [esp + 0xf4]
mov dword [esp + 0xec], 0xffffffff
call fcn.00413f18
mov eax, 1
mov ecx, dword [esp + 0xe4]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xe0
ret 4