Function at 0x402f70
Capabilities:
Get graphical window text

Disassembly:
cmp al, 0x85
idiv byte [esi + 0x34]
mov ecx, dword [ebp + 0xc]
mov ecx, dword [ecx - 8]
cmp esi, ecx
jge 0x402eeb
test eax, eax
jle 0x402eeb
cmp eax, ecx
jge 0x402eeb
lea edx, [ebp + 0xc]
lea ecx, [edi + 0xec]
push edx
call sub.MFC42.DLL_CString::operator_1
mov eax, dword [ebp + 0x20]
mov dword [edi + 0xe8], 0
mov dword [eax], 1
lea ecx, [ebp + 0xc]
mov dword [ebp - 4], 0xffffffff
call fcn.00403650
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret 0x1c
in al, dx
js 0x402f26
jns 0x402f26
out 0x73, al
cmp cl, ch
sar dword [edi], 1
jae 0x402eb2
mov eax, dword [ebp + 0x18]
mov dword [eax], 1
pop ebp
ret 0x14
inc ebp
sbb bh, al
add byte [ecx], al
add byte [eax], al
add byte [ebp - 0x3e], bl
adc al, 0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
push ebp
mov ebp, esp
jnp 0x402f5e
jp 0x402f5e
xchg ecx, eax
xchg byte [ebx + 0x10], bh
mov byte [0xd61342ec], al
xlatb
daa
mov bl, 0x49
enter 0x458b, 0xc
mov eax, dword [ebp + 0xc]
mov dword [eax], 1
pop ebp
ret 8
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, ecx
jae 0x402f92
jb 0x402f92
push cs
push ss
out 0x6a, al
out dx, eax
popal
jl 0x402f12
push edx
bound edi, qword [ebx]
inc esi
push edx
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]
jae 0x402ffc
ret 0x8861
jb 0x402ffc
test byte [ebp + 0x5a], bl
jne 0x402fca
scasd eax, dword es:[edi]
mov al, al
ret 0x4ced
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
jmp 0x403161
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