Function at 0x4bb450
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x7d0
push ebx
push esi
mov esi, edx
mov ebx, ecx
call fcn.00536900
test eax, eax
jne 0x4bb475
xor ecx, ecx
call fcn.0051c6d0
pop esi
pop ebx
add esp, 0x7d0
ret
push ebp
push edi
mov edx, 0x3e7
lea ecx, [esp + 0x10]
call fcn.0041e210
mov eax, dword [ebx + 0x700]
sub eax, 0
je 0x4bb8ad
dec eax
je 0x4bb755
dec eax
jne 0x4bb8c9
mov eax, dword [ebx + 0x704]
cmp eax, 1
jne 0x4bb616
test esi, esi
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
je 0x4bb514
mov esi, dword [esi + 0x7e0]
test esi, esi
je 0x4bb514
cmp byte [esi], 0
je 0x4bb514
lea edi, [ebx + 0x206]
push esi
mov edx, 0x64
mov ecx, edi
call fcn.0041e120
lea esi, [ebx + 8]
lea edx, [esp + 0x10]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4bb4e8
mov edx, dword [ebx + 0xbb4]
lea ecx, [esp + 0x10]
call fcn.004b88f0
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4bb508
jmp 0x4bb59a
mov ecx, dword [ebx + 0xbb4]
lea esi, [ebx + 8]
push ecx
lea edx, [esp + 0x14]
mov ecx, esi
call fcn.00495820
test eax, eax
je 0x4bb60f
lea edx, [esp + 0x10]
push 0x21
push edx
call fcn.00563730
add esp, 8
test eax, eax
je 0x4bb60f
inc eax
je 0x4bb60f
cmp byte [eax], 0
je 0x4bb60f
lea edi, [ebx + 0x206]
push eax
mov edx, 0x64
mov ecx, edi
call fcn.0041e120
lea edx, [esp + 0x10]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4bb573
mov edx, dword [ebx + 0xbb4]
lea ecx, [esp + 0x10]
call fcn.004b88f0
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4bb593
sub eax, edx
push edi
lea eax, [esp + eax + 0x14]
push 0x574cc0
push eax
call ebp
mov al, byte [esp + 0x1c]
add esp, 0xc
test al, al
jne 0x4bb8d1
push esi
mov edx, 0x3e7
lea ecx, [esp + 0x14]
call fcn.0041e120
mov edx, dword [ebx + 0xbb4]
lea ecx, [esp + 0x10]
call fcn.004b88f0
mov al, byte [ebx + 0x206]
test al, al
lea edx, [ebx + 0x206]
je 0x4bb8c9
lea eax, [esp + 0x10]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4bb5f1
push edx
sub eax, esi
lea ecx, [esp + eax + 0x14]
push 0x574cc0
push ecx
call ebp
add esp, 0xc
jmp 0x4bb8c9
mov byte [esp + 0x10], 0
jmp 0x4bb5b8
cmp eax, 2
jne 0x4bb8c9
test esi, esi
je 0x4bb6ec
mov edx, dword [esi]
mov ecx, dword [edx]
test ecx, ecx
je 0x4bb6ec
mov eax, dword [esi + 0x7e0]
test eax, eax
je 0x4bb6ec
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
push ecx
lea eax, [esp + 0x18]
push 0x575b58
push eax
call edi
add esp, 0x10
lea ecx, [esp + 0x10]
push ecx
lea ecx, [ebx + 0x206]
mov edx, 0x64
call fcn.0041e120
mov edx, dword [str.Messages]
mov cl, byte [0x579b58]
mov eax, dword [0x579b54]
mov dword [esp + 0x10], edx
mov edx, dword [ebx + 0xbb4]
mov byte [esp + 0x18], cl
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], eax
call fcn.004b88f0
mov ecx, dword [esi + 0x7e0]
cmp byte [ecx], 0
je 0x4bb6d3
lea eax, [esp + 0x10]
lea ebp, [eax + 1]
jmp 0x4bb6b0
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4bb6b0
mov edx, dword [esi]
push ecx
mov ecx, dword [edx]
push ecx
sub eax, ebp
lea edx, [esp + eax + 0x18]
push str.___s__s_
push edx
call edi
add esp, 0x10
jmp 0x4bb8c9
mov eax, dword [esi]
mov ecx, dword [eax]
push ecx
lea edx, [esp + 0x14]
push str.temp_strlen_temp_____s_
push edx
call edi
add esp, 0xc
jmp 0x4bb8c9
mov ecx, dword [0x579b54]
mov dl, byte [0x579b58]
mov eax, dword [str.Messages]
mov dword [esp + 0x14], ecx
mov byte [esp + 0x18], dl
mov edx, dword [ebx + 0xbb4]
lea ecx, [esp + 0x10]
mov dword [esp + 0x10], eax
call fcn.004b88f0
mov al, byte [ebx + 0x206]
test al, al
lea edx, [ebx + 0x206]
je 0x4bb8c9
lea eax, [esp + 0x10]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4bb733
push edx
sub eax, esi
lea eax, [esp + eax + 0x14]
push 0x574cc0
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4bb8c9
lea eax, [ebx + 8]
lea edx, [esp + 0x10]
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4bb760
mov edx, dword [ebx + 0xbb4]
lea ecx, [esp + 0x10]
call fcn.004b88f0
mov eax, dword [ebx + 0x6b4]
xor ecx, ecx
test eax, eax
je 0x4bb78d
mov eax, dword [eax + 0x40]
inc ecx
test eax, eax
jne 0x4bb785
lea eax, [esp + 0x10]
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4bb794
push ecx
sub eax, esi
lea ecx, [esp + eax + 0x14]
push 0x574cc8
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov cl, byte [ebx + 0x10c]
lea eax, [ebx + 0x10c]
add esp, 0xc
test cl, cl
je 0x4bb81a
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4bb7c6
sub ecx, esi
cmp ecx, 3
jbe 0x4bb81a
lea edi, [esp + 0x10]
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4bb7e0
mov dx, word [0x575258]
mov word [edi], dx
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4bb7f4
lea edi, [esp + 0x10]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4bb802
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov cl, byte [ebx + 0x26a]
test cl, cl
lea eax, [ebx + 0x26a]
je 0x4bb8c9
lea edx, [esp + 0x3f8]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4bb837
mov edx, 0xf
lea ecx, [esp + 0x3f8]
call fcn.00518d60
mov al, byte [esp + 0x3f8]
test al, al
je 0x4bb8c9
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4bb862
mov ax, word [0x579b24]
mov cl, byte [0x579b26]
mov word [edi], ax
lea eax, [esp + 0x3f8]
mov byte [edi + 2], cl
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4bb885
lea edi, [esp + 0x10]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4bb893
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
jmp 0x4bb8c9
mov edx, dword [ebx + 0xbb4]
xor ecx, ecx
call fcn.004b89f0
push eax
mov edx, 0x3e7
lea ecx, [esp + 0x14]
call fcn.0041e120
mov al, byte [esp + 0x10]
test al, al
je 0x4bb93e
mov edx, 0x3e7
lea ecx, [esp + 0x3f8]
call fcn.0041e210
mov eax, dword [ebx]
push 0x3e7
lea edx, [esp + 0x3fc]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea esi, [esp + 0x3f8]
lea eax, [esp + 0x10]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4bb927
test cl, cl
je 0x4bb923
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4bb927
add eax, 2
add esi, 2
test cl, cl
jne 0x4bb903
xor eax, eax
jmp 0x4bb92c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4bb93e
mov ecx, dword [ebx]
lea eax, [esp + 0x10]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
xor ecx, ecx
call fcn.0051c6d0
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x7d0
ret