Function at 0x4bf7d0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push ebx
push esi
push edi
push 0
call fcn.004c2b10
add esp, 4
call fcn.004c0d80
test eax, eax
mov dword [ebp - 8], eax
jne 0x4bf7f9
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 8]
cmp edi, 0x400
jl 0x4bf812
mov eax, dword [0x635af0]
add eax, 0x400
cmp edi, eax
jle 0x4bf82b
cmp edi, 0xffffffff
je 0x4bf830
push 0xffffffffffffffff
call fcn.004c2b10
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, 0xffffffff
jne 0x4bf844
push 0xffffffffffffffff
call fcn.004c2b10
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x598dd4]
push 0
mov esi, dword [ecx + edi*4 - 0x1000]
push esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
mov ebx, eax
test ebx, ebx
mov dword [ebp - 4], ebx
jne 0x4bf86d
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 4], 1
jne 0x4bf885
cmp dword [0x5b3094], edi
jne 0x4bf885
mov dword [0x5b3094], 0
test esi, esi
je 0x4bfa48
mov eax, dword [ebx + 0x188]
test eax, eax
je 0x4bf8ab
cmp esi, eax
je 0x4bf8ab
push 0
push 0xd
push 0x106
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4bf9f8
push 0
push esi
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov edi, dword [sym.imp.USER32.dll_AppendMenuA]
push 0x5b30a4
mov esi, eax
push 0
push 0x800
push esi
call edi
push str.Close_tCtrlF4
push 0xf060
push 0
push esi
call edi
mov edi, dword [ebx + 0x10]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov edi, dword [0x635b04]
not ecx
dec ecx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
lea eax, [edx + ecx + 1]
push eax
call fcn.004a4e45
mov edx, eax
add esp, 4
test edx, edx
mov dword [ebp + 0xc], edx
jne 0x4bf936
push 0x8d
push 0x598bf4
push 4
call fcn.004bfc20
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebx + 0x10]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov eax, ecx
mov edi, edx
mov ebx, edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
test ebx, ebx
rep movsb byte es:[edi], byte [esi]
jne 0x4bf97a
push 0x94
push 0x598c18
push 5
call fcn.004bfc20
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [0x635b04]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebx, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
test edx, edx
rep movsb byte es:[edi], byte [esi]
jne 0x4bf9c7
push 0x9a
push str.E:_forrtl_buildqwnbuildqwgclose.c
push 5
call fcn.004bfc20
add esp, 0xc
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 4]
mov ecx, dword [ebp + 0xc]
mov eax, dword [esi + 0x10]
mov dword [esi + 0x10], ecx
push eax
call fcn.004a4dfd
mov edx, dword [esi + 0x10]
mov eax, dword [esi]
add esp, 4
push edx
push eax
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov edi, dword [ebp + 8]
mov dword [esi + 0x17c], 1
jmp 0x4bfa37
mov ecx, dword [ebx]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4bfa37
mov edx, dword [0x598dd4]
push 0
mov eax, dword [edx + edi*4 - 0x1000]
push eax
push 0x221
call fcn.004bb590
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
mov ecx, dword [0x598dd4]
mov dword [ecx + edi*4 - 0x1000], 0
mov edx, dword [ebp - 8]
cmp dword [edx], edi
jne 0x4bfa48
push 0xffffffffffffffff
call fcn.004b5610
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret