Function at 0x401ed1
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x490
push esi
push edi
mov dword [ebp - 0x360], 0
mov dword [ebp - 0x364], 0
lea edi, [ebp - 0x305]
lea esi, [0x40d2f2]
mov ecx, 0xc0
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov dword [ebp - 4], 0
lea edi, [ebp - 0x48d]
lea esi, [0x40d5f3]
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov dword [ebp - 0x30c], 0
push 0x4c
push 0
lea eax, [ebp - 0x35c]
push eax
call fcn.004033c0
add esp, 0xc
mov dword [ebp - 0x35c], 0x4c
mov eax, dword [ebp + 8]
mov dword [ebp - 0x358], eax
lea eax, [ebp - 0x468]
mov dword [ebp - 0x340], eax
mov edx, dword [ebp - 0x340]
mov byte [edx], 0
mov dword [ebp - 0x33c], 0x104
mov dword [ebp - 0x350], 0x40a569
mov dword [ebp - 0x344], 1
mov dword [ebp - 0x338], 0
mov dword [ebp - 0x334], 0
mov dword [ebp - 0x330], 0
mov dword [ebp - 0x328], 0x1800
lea eax, [ebp - 0x35c]
push eax
call dword [sym.imp.comdlg32.dll_GetOpenFileNameA]
cmp eax, 1
je 0x401fc5
jmp 0x40226d
push 0x40a566
lea eax, [ebp - 0x468]
push eax
call fcn.00403620
add esp, 8
mov dword [ebp - 0x360], eax
cmp dword [ebp - 0x360], 0
jne 0x402007
push 0
push str.error_
push str.file_open_error_
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
jmp 0x40226d
push 0
push 0
mov eax, dword [ebp - 0x360]
push eax
call fcn.004036a0
add esp, 0xc
mov dword [ebp - 0x364], eax
cmp dword [ebp - 0x364], 0
je 0x402057
push 0
push str.error_
push str.get_to_file_start_error_
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0x360]
push eax
call fcn.00403840
add esp, 4
jmp 0x40226d
mov eax, dword [ebp - 0x360]
push eax
push 0x300
push 1
lea eax, [ebp - 0x305]
push eax
call fcn.004038b0
add esp, 0x10
mov dword [ebp - 0x364], eax
cmp dword [ebp - 0x364], 0x300
je 0x4020b4
push 0
push str.error_
push str.get_to_file_start_error_
mov eax, dword [ebp + 8]
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, dword [ebp - 0x360]
push eax
call fcn.00403840
add esp, 4
jmp 0x40226d
push 0x40a522
call section..text
push 3
push 0x40c40c
mov eax, dword [0x40dd9c]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov byte [0x40c40e], 0
push 0xa
push 0
push 0x40c40c
call fcn.004034a0
add esp, 0xc
mov dword [ebp - 0x46c], eax
mov dword [ebp - 0x310], 0
mov eax, dword [ebp - 0x310]
cmp eax, 8
jl 0x40211a
cmp eax, 0x1f
jle 0x40211f
cmp eax, 0x28
jge 0x40211f
jmp 0x402219
mov eax, dword [ebp - 0x310]
push eax
push 0x40a57d
push 0x40c40c
call fcn.00403460
add esp, 0xc
push 0x40c40c
mov eax, dword [0x40dd9c]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
call fcn.004015a8
cmp dword [0x41deac], 0
je 0x402160
jmp 0x40222c
mov byte [0x40c40c], 0
mov dword [0x41debc], 0
mov eax, dword [ebp - 4]
movzx eax, byte [ebp + eax - 0x305]
push eax
push 0x40c40c
push str._s_02X
push 0x40c40c
call fcn.00403460
add esp, 0x10
mov eax, dword [ebp - 4]
movzx eax, byte [ebp + eax - 0x305]
mov edx, dword [0x41debc]
movzx edx, byte [edx + 0x41dee4]
cmp eax, edx
je 0x4021be
mov dword [ebp - 0x30c], 1
inc dword [ebp - 4]
inc dword [0x41debc]
cmp dword [0x41debc], 0x10
jl 0x402171
mov byte [0x40c42d], 0
push 0x40c40c
push 0x40a4e7
push str.______________s__s
push 0x40c48c
call fcn.00403460
add esp, 0x10
push 0x40c48c
call section..text
cmp dword [ebp - 0x30c], 1
jne 0x402219
push 0x40a4da
call section..text
jmp 0x40222c
inc dword [ebp - 0x310]
cmp dword [ebp - 0x310], 0x40
jl 0x4020f9
mov eax, dword [ebp - 0x46c]
push eax
push 0x40a57d
push 0x40c40c
call fcn.00403460
add esp, 0xc
push 0x40c40c
mov eax, dword [0x40dd9c]
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
cmp dword [ebp - 0x30c], 0
jne 0x40226d
push 0x40a4cf
call section..text
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4