Function at 0x402890
Capabilities:
Get graphical window text
Read file on windows

Disassembly:
mov eax, 0x2890
call fcn.00403020
push ebx
push esi
push edi
mov edi, ecx
push 1
push 0
lea ebx, [edi + 0x158]
push 0
mov ecx, ebx
call sub.MFC42.DLL_CWnd::SetScrollPos
mov eax, dword [ebx + 0x20]
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
push 0xffffffffffffffff
push 0
push 0xb1
push eax
call esi
mov ecx, dword [ebx + 0x20]
push 0
push 0
push 0xb7
push ecx
call esi
mov ebx, dword [esp + 0x28a0]
mov edx, dword [edi + 0x178]
push ebx
push 0
push 0xc2
push edx
call esi
lea eax, [esp + 0x44]
push eax
call fcn.00401290
push 0x40607c
push ebx
call dword [sym.imp.MSVCRT.dll_fopen]
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x40296c
mov esi, dword [sym.imp.MSVCRT.dll__errno]
call esi
cmp dword [eax], 0xd
jne 0x402932
lea ecx, [esp + 0x49c]
push 0x406058
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 8
jmp 0x40294d
call esi
mov edx, dword [eax]
lea eax, [esp + 0x49c]
push edx
push 0x406038
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push 0
lea ecx, [esp + 0x4a0]
push 0
push ecx
mov ecx, edi
call sub.MFC42.DLL_CWnd::MessageBoxA
pop edi
pop esi
pop ebx
add esp, 0x2890
ret 8
lea edx, [esp + 0x20]
push ebp
push edx
push ebx
call dword [sym.imp.MSVCRT.dll__fileno]
add esp, 4
push eax
call dword [sym.imp.MSVCRT.dll__fstat]
mov eax, dword [esp + 0x40]
add esp, 8
cdq
and edx, 0x1fff
xor ebp, ebp
add eax, edx
sar eax, 0xd
and eax, 0xffff
shl eax, 0x10
push eax
mov eax, dword [edi + 0x138]
push ebp
push 0x401
push eax
call esi
mov ecx, dword [edi + 0x138]
push ebp
push ebp
push 0x402
push ecx
call esi
push ebx
push 0x2000
lea edx, [esp + 0x8a8]
push 1
push edx
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
test eax, eax
jbe 0x402a22
push eax
lea eax, [esp + 0x8a4]
lea ecx, [esp + 0x4c]
push eax
push ecx
inc ebp
call fcn.004012c0
mov edx, dword [edi + 0x138]
add esp, 0xc
push 0
push ebp
push 0x402
push edx
call esi
push ebx
push 0x2000
lea eax, [esp + 0x8a8]
push 1
push eax
call dword [sym.imp.MSVCRT.dll_fread]
add esp, 0x10
test eax, eax
ja 0x4029dd
push ebx
call dword [sym.imp.MSVCRT.dll_fclose]
lea ecx, [esp + 0x18]
lea edx, [esp + 0x4c]
push ecx
push edx
call fcn.00401ca0
add esp, 0xc
lea ecx, [edi + 0x98]
push 0xffffffffffffffff
push 0xffffffffffffffff
call sub.MFC42.DLL_CRichEditCtrl::SetSel
xor ebx, ebx
lea ebp, [esp + 0xa0]
xor eax, eax
mov al, byte [esp + ebx + 0x14]
push eax
push 0x406030
push ebp
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
inc ebx
add ebp, 2
cmp ebx, 0x10
jl 0x402a53
lea ebx, [edi + 0x98]
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, ebx
call sub.MFC42.DLL_CRichEditCtrl::SetSel
mov edx, dword [edi + 0xb8]
lea ecx, [esp + 0xa0]
push ecx
push 0
push 0xc2
push edx
call esi
mov eax, dword [esp + 0x28a8]
lea ecx, [esp + 0xa0]
push eax
push 0x406028
push ecx
call dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [edi + 0xb8]
add esp, 0xc
lea edx, [esp + 0xa0]
push edx
push 0
push 0xc2
push eax
call esi
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ecx, ebx
mov byte [esp + 0x18], 0xd
mov byte [esp + 0x19], 0xa
mov byte [esp + 0x1a], 0
call sub.MFC42.DLL_CRichEditCtrl::SetSel
mov edx, dword [edi + 0xb8]
lea ecx, [esp + 0x10]
push ecx
push 0
push 0xc2
push edx
call esi
mov eax, dword [edi + 0x178]
push 0xffffffffffffffff
push 0
push 0xb1
push eax
call esi
mov ecx, dword [edi + 0x178]
push 0
push 0
push 0xb7
push ecx
call esi
mov edx, dword [edi + 0x178]
push 0x40614c
push 0
push 0xc2
push edx
call esi
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x2890
ret 8