Function at 0x41e870
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4e9414
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x40
push ebx
mov ebx, ecx
push esi
lea eax, [ebp - 0x4c]
mov ecx, dword [ebx + 0x20]
push edi
push eax
push ecx
mov dword [ebp - 0x2c], ebx
call dword [sym.imp.USER32.dll_GetClientRect]
push 0xfffffffffffffffe
lea edx, [ebp - 0x4c]
push 0xfffffffffffffffe
push edx
call dword [sym.imp.USER32.dll_InflateRect]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
sub ecx, eax
push 1
push ecx
mov ecx, dword [ebp - 0x4c]
sub edx, ecx
push edx
push eax
push ecx
lea ecx, [ebx + 0x60]
call sub.MFC42.DLL_CWnd::MoveWindow
lea esi, [ebx + 0xf4]
xor edi, edi
cmp esi, edi
je 0x41e8de
cmp dword [esi + 4], edi
jne 0x41e8f3
lea eax, [ebx + 0xb8]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
push eax
mov ecx, esi
call sub.MFC42.DLL_CGdiObject::Attach
cmp esi, edi
jne 0x41e8fb
xor esi, esi
jmp 0x41e8fe
mov esi, dword [esi + 4]
mov ecx, dword [ebx + 0x80]
push 1
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0x30
push ecx
call esi
mov edx, dword [ebx + 0x80]
push edi
push edi
push 0x184
push edx
call esi
push 0xffffffffffffffff
lea ecx, [ebx + 0xa0]
push edi
call fcn.004092b0
mov eax, dword [0x544f40]
mov ecx, 0x544f40
mov dword [ebp - 0x38], ecx
call dword [eax + 4]
mov eax, dword [0x53d630]
mov dword [ebp - 4], edi
cmp eax, edi
jne 0x41e99e
cmp dword [0x53d62c], edi
jne 0x41e99e
push 0x24
call sub.MFC42.DLL_operatornew
add esp, 4
mov dword [ebp - 0x34], eax
cmp eax, edi
mov byte [ebp - 4], 1
je 0x41e973
push edi
mov ecx, eax
call fcn.00403840
jmp 0x41e975
xor eax, eax
mov ecx, dword [0x52e7f4]
mov byte [ebp - 4], 0
push ecx
push 0x403810
mov ecx, 0x542398
mov dword [0x53d62c], eax
call fcn.004021a0
mov dword [0x53d630], 1
mov edx, dword [0x544f40]
mov esi, dword [0x53d62c]
mov ecx, 0x544f40
mov dword [ebp - 4], 0xffffffff
call dword [edx + 8]
cmp esi, edi
mov dword [ebp - 0x30], esi
je 0x41e9c6
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], 2
cmp eax, edi
je 0x41ec22
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x1c], edi
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00404e80
cmp eax, edi
jge 0x41e9f8
cmp eax, 0x80004002
je 0x41e9f8
push eax
call fcn.004e2fd8
mov eax, dword [ebp - 0x1c]
cmp eax, edi
je 0x41ec14
mov dword [ebp - 0x18], edi
mov edx, dword [eax]
lea ecx, [ebp - 0x18]
push ecx
push eax
mov byte [ebp - 4], 4
call dword [edx + 0xc]
test eax, eax
jl 0x41ec00
mov eax, dword [ebp - 0x18]
cmp eax, edi
je 0x41ec03
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], edi
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0xc]
test eax, eax
jl 0x41ec00
mov eax, dword [ebp - 0x28]
cmp eax, edi
jle 0x41ec00
xor esi, esi
cmp eax, edi
mov dword [ebp - 0x38], esi
jle 0x41ec00
mov dword [ebp - 0x10], edi
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x10]
push ecx
push esi
mov edx, dword [eax]
push eax
mov byte [ebp - 4], 5
call dword [edx + 0x10]
test eax, eax
mov eax, dword [ebp - 0x10]
jl 0x41ebe3
cmp eax, edi
je 0x41ebe3
mov dword [ebp - 0x24], edi
mov edx, dword [eax]
lea ecx, [ebp - 0x24]
push ecx
push eax
mov byte [ebp - 4], 6
call dword [edx + 0xc]
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x20]
push ecx
push eax
mov edx, dword [eax]
mov byte [ebp - 4], 7
call dword [edx + 0x14]
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x14]
push ecx
push eax
mov edx, dword [eax]
mov byte [ebp - 4], 8
call dword [edx + 0x18]
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x34], edi
push ecx
mov edx, dword [eax]
push eax
call dword [edx + 0x1c]
push 0x10
call sub.MFC42.DLL_operatornew
mov esi, eax
add esp, 4
mov dword [ebp - 0x3c], esi
test esi, esi
mov byte [ebp - 4], 9
je 0x41eb00
lea ecx, [esi + 4]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 8]
mov byte [ebp - 4], 0xa
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esi + 0xc]
mov byte [ebp - 4], 0xb
call sub.MFC42.DLL_CString::CString_3
mov ebx, esi
jmp 0x41eb02
xor ebx, ebx
mov edx, dword [ebp - 0x24]
lea ecx, [ebx + 4]
push edx
mov byte [ebp - 4], 8
call sub.MFC42.DLL_CString::operator
mov eax, dword [ebp - 0x20]
lea ecx, [ebx + 8]
push eax
call sub.MFC42.DLL_CString::operator
mov ecx, dword [ebp - 0x14]
push ecx
lea ecx, [ebx + 0xc]
call sub.MFC42.DLL_CString::operator
mov edx, dword [ebp - 0x34]
mov eax, str.FILES
mov dword [ebx], edx
test eax, eax
mov eax, dword [ebp - 0x14]
jne 0x41eb41
test eax, eax
je 0x41eb9e
jmp 0x41ebc0
test eax, eax
je 0x41ebc0
mov ecx, str.FILES
test ecx, ecx
jne 0x41eb52
xor edi, edi
jmp 0x41eb87
push str.FILES
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
inc esi
lea eax, [esi + esi]
add eax, 3
and al, 0xfc
call fcn.004e2cf0
mov edi, esp
push esi
push edi
push 0xffffffffffffffff
push str.FILES
push 0
push 0
mov word [edi], 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov edx, dword [ebp - 0x14]
push edi
push edx
call dword [sym.imp.MSVCRT.dll_wcscmp]
add esp, 8
test eax, eax
sete al
test al, al
je 0x41ebc0
mov eax, dword [ebp - 0x2c]
push 0xffffffffffffffff
mov esi, dword [eax + 0xa8]
lea edi, [eax + 0xa0]
lea ecx, [esi + 1]
push ecx
mov ecx, edi
call fcn.004092b0
mov edx, dword [edi + 4]
mov dword [edx + esi*4], ebx
mov eax, dword [ebp - 0x14]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push eax
call esi
mov ecx, dword [ebp - 0x20]
push ecx
call esi
mov edx, dword [ebp - 0x24]
push edx
call esi
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x38]
xor edi, edi
cmp eax, edi
mov byte [ebp - 4], 4
je 0x41ebf1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x28]
inc esi
cmp esi, eax
mov dword [ebp - 0x38], esi
jl 0x41ea54
mov eax, dword [ebp - 0x18]
cmp eax, edi
mov byte [ebp - 4], 3
je 0x41ec11
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [ebp - 0x1c]
cmp eax, edi
mov byte [ebp - 4], 2
je 0x41ec22
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebx + 0xa8]
mov dword [ebp - 0x34], edi
cmp eax, edi
jle 0x41ee10
mov edx, dword [ebx + 0xa4]
lea ecx, [ebp - 0x14]
mov esi, dword [edx + edi*4]
call sub.MFC42.DLL_CString::CString_3
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xc
call sub.MFC42.DLL_CString::CString_3
mov eax, dword [esi + 0xc]
push str.FILES
push eax
mov byte [ebp - 4], 0xd
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x41ed30
mov ecx, dword [esi]
mov eax, 0x10624dd3
imul ecx
sar edx, 6
mov eax, edx
mov edi, 0xe10
shr eax, 0x1f
add edx, eax
mov eax, 0x91a2b3c5
mov ecx, edx
imul ecx
add edx, ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov ebx, edx
cdq
idiv edi
mov eax, 0x88888889
mov edi, edx
imul edi
add edx, edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, ecx
mov edi, edx
mov ecx, 0x3c
cdq
idiv ecx
cmp ebx, 9
mov dword [ebp - 0x38], edx
jle 0x41ecd2
push str.__d:
jmp 0x41ecd7
push str._0_d:
lea ecx, [ebp - 0x10]
call fcn.004e22e8
cmp edi, 9
jle 0x41eceb
push 0x530aa0
jmp 0x41ecf0
push str.0_d:
lea ecx, [ebp - 0x10]
call fcn.004e22e8
cmp dword [ebp - 0x38], 9
jle 0x41ed05
push 0x52f478
jmp 0x41ed0a
push 0x530a94
lea ecx, [ebp - 0x10]
call fcn.004e22e8
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x10]
push edx
push edi
push ebx
lea ecx, [ebp - 0x14]
push eax
push ecx
call sub.MFC42.DLL_CString::Format
mov edi, dword [ebp - 0x34]
mov ebx, dword [ebp - 0x2c]
add esp, 0x14
jmp 0x41ed5a
mov eax, dword [esi + 0xc]
push str.FLASH
push eax
call dword [sym.imp.MSVCRT.dll__mbsicmp]
add esp, 8
test eax, eax
jne 0x41ed5a
mov edx, dword [esi]
lea eax, [ebp - 0x14]
push edx
push 0x530a90
push eax
call sub.MFC42.DLL_CString::Format
add esp, 0xc
push 0x20
lea ecx, [ebp - 0x14]
call sub.MFC42.DLL_CString::TrimLeft
add esi, 4
push 0x530a8c
lea ecx, [ebp - 0x20]
push esi
push ecx
call sub.MFC42.DLL_operator_2
lea edx, [ebp - 0x14]
mov byte [ebp - 4], 0xe
push edx
push eax
lea eax, [ebp - 0x24]
push eax
call sub.MFC42.DLL_operator_3
push 0x530a88
lea ecx, [ebp - 0x28]
push eax
push ecx
mov byte [ebp - 4], 0xf
call sub.MFC42.DLL_operator_2
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 0x10
call fcn.004e2330
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xf
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0xe
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xd
call sub.MFC42.DLL_CString::CString
mov edx, dword [ebp - 0x14]
mov eax, dword [ebx + 0x80]
push edx
push 0
push 0x180
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [ebp - 0x10]
mov byte [ebp - 4], 0xc
call sub.MFC42.DLL_CString::CString
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call sub.MFC42.DLL_CString::CString
mov eax, dword [ebx + 0xa8]
inc edi
cmp edi, eax
mov dword [ebp - 0x34], edi
jl 0x41ec33
xor edi, edi
mov eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
cmp eax, edi
je 0x41ee24
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0x58]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret