Function at 0x402f70
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, ecx
jns 0x402f92
js 0x402f92
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
push 0
call dword [sym.imp.MSVCRT.dll_time]
push eax
call dword [sym.imp.MSVCRT.dll_srand]
mov esi, dword [sym.imp.MSVCRT.dll_rand]
add esp, 8
call esi
cdq
mov ecx, 0x1a
idiv ecx
add dl, 0x41
mov byte [ebp - 1], dl
call esi
cdq
mov ecx, 0x1a
push 0x4e20
idiv ecx
add dl, 0x61
mov byte [ebp - 2], dl
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
jns 0x402ffc
js 0x402ffc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
mov edx, dword [edi + 0x80]
mov esi, dword [sym.imp.USER32.dll_GetWindow]
push 5
push edx
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
mov eax, dword [eax + 0x20]
push 5
push eax
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
mov ecx, dword [eax + 0x20]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push 0x1c0001
push 0xd
push 0x100
push ecx
call ebx
mov edx, dword [edi + 0x80]
push 5
push edx
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
mov eax, dword [eax + 0x20]
push 5
push eax
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
movsx ecx, byte [ebp - 1]
mov edx, dword [eax + 0x20]
push 0x1c0001
push ecx
push 0x102
push edx
call ebx
mov eax, dword [edi + 0x80]
push 5
push eax
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
mov ecx, dword [eax + 0x20]
push 5
push ecx
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
push 0xc01c0001
push 0xd
mov edx, dword [eax + 0x20]
push 0x101
push edx
call ebx
push 0x32
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [edi + 0x80]
push 5
push eax
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
mov ecx, dword [eax + 0x20]
push 5
push ecx
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
mov edx, dword [eax + 0x20]
push 0x1c0001
push 0xd
push 0x100
push edx
call ebx
mov eax, dword [edi + 0x80]
push 5
push eax
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
mov ecx, dword [eax + 0x20]
push 5
push ecx
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
movsx edx, byte [ebp - 2]
mov eax, dword [eax + 0x20]
push 0x1c0001
push edx
push 0x102
push eax
call ebx
mov ecx, dword [edi + 0x80]
push 5
push ecx
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
mov edx, dword [eax + 0x20]
push 5
push edx
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
mov eax, dword [eax + 0x20]
push 0xc01c0001
push 0xd
push 0x101
push eax
call ebx
jns 0x403161
js 0x403161
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
clc
push 0x32
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov ecx, dword [edi + 0x80]
push 5
push ecx
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
mov edx, dword [eax + 0x20]
push 5
push edx
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
push 0x1c0001
mov eax, dword [eax + 0x20]
push 0xd
push 0x100
push eax
call ebx
mov ecx, dword [edi + 0x80]
push 5
push ecx
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
mov edx, dword [eax + 0x20]
push 5
push edx
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
mov eax, dword [eax + 0x20]
push 0x1c0001
push 0xd
push 0x102
push eax
call ebx
mov ecx, dword [edi + 0x80]
push 5
push ecx
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
mov edx, dword [eax + 0x20]
push 5
push edx
call esi
push eax
call sub.MFC42.DLL_CWnd::FromHandle
mov eax, dword [eax + 0x20]
push 0xc01c0001
push 0xd
push 0x101
push eax
call ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret