Function at 0x4cc080
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x7d0
push ebx
push esi
mov esi, edx
mov ebx, ecx
call fcn.005612a0
test eax, eax
jne 0x4cc0a5
xor ecx, ecx
call fcn.0053b590
pop esi
pop ebx
add esp, 0x7d0
ret
push ebp
push edi
mov edx, 0x3e7
lea ecx, [esp + 0x10]
call fcn.00420e60
mov eax, dword [ebx + 0x71c]
sub eax, 0
je 0x4cc4dd
dec eax
je 0x4cc382
dec eax
jne 0x4cc4f7
mov eax, dword [ebx + 0x720]
cmp eax, 1
jne 0x4cc246
test esi, esi
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
je 0x4cc144
mov esi, dword [esi + 0xddc]
test esi, esi
je 0x4cc144
cmp byte [esi], 0
je 0x4cc144
lea edi, [ebx + 0x206]
push esi
mov edx, 0x64
mov ecx, edi
call fcn.00420d70
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 0x4cc118
mov edx, dword [ebx + 0xbe8]
lea ecx, [esp + 0x10]
call fcn.004c92b0
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4cc138
jmp 0x4cc1ca
mov ecx, dword [ebx + 0xbe8]
lea esi, [ebx + 8]
push ecx
lea edx, [esp + 0x14]
mov ecx, esi
call fcn.0049df80
test eax, eax
je 0x4cc23f
lea edx, [esp + 0x10]
push 0x21
push edx
call fcn.005912e0
add esp, 8
test eax, eax
je 0x4cc23f
inc eax
je 0x4cc23f
cmp byte [eax], 0
je 0x4cc23f
lea edi, [ebx + 0x206]
push eax
mov edx, 0x64
mov ecx, edi
call fcn.00420d70
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 0x4cc1a3
mov edx, dword [ebx + 0xbe8]
lea ecx, [esp + 0x10]
call fcn.004c92b0
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4cc1c3
sub eax, edx
push edi
lea eax, [esp + eax + 0x14]
push 0x5a4d9c
push eax
call ebp
mov al, byte [esp + 0x1c]
add esp, 0xc
test al, al
jne 0x4cc4ff
push esi
mov edx, 0x3e7
lea ecx, [esp + 0x14]
call fcn.00420d70
mov edx, dword [ebx + 0xbe8]
lea ecx, [esp + 0x10]
call fcn.004c92b0
mov al, byte [ebx + 0x206]
test al, al
lea edx, [ebx + 0x206]
je 0x4cc4f7
lea eax, [esp + 0x10]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4cc221
push edx
sub eax, esi
lea ecx, [esp + eax + 0x14]
push 0x5a4d9c
push ecx
call ebp
add esp, 0xc
jmp 0x4cc4f7
mov byte [esp + 0x10], 0
jmp 0x4cc1e8
cmp eax, 2
jne 0x4cc4f7
test esi, esi
je 0x4cc318
mov ecx, dword [esi]
test ecx, ecx
je 0x4cc318
mov eax, dword [esi + 0xddc]
test eax, eax
je 0x4cc318
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
push ecx
lea edx, [esp + 0x18]
push 0x5a5d90
push edx
call edi
add esp, 0x10
lea eax, [esp + 0x10]
push eax
lea ecx, [ebx + 0x206]
mov edx, 0x64
call fcn.00420d70
mov ecx, dword [str.Messages]
mov edx, dword [0x5aa60c]
mov al, byte [0x5aa610]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov edx, dword [ebx + 0xbe8]
lea ecx, [esp + 0x10]
mov byte [esp + 0x18], al
call fcn.004c92b0
mov ecx, dword [esi + 0xddc]
cmp byte [ecx], 0
je 0x4cc301
lea eax, [esp + 0x10]
lea ebp, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4cc2e0
push ecx
mov ecx, dword [esi]
push ecx
sub eax, ebp
lea edx, [esp + eax + 0x18]
push str.___s__s_
push edx
call edi
add esp, 0x10
jmp 0x4cc4f7
mov eax, dword [esi]
push eax
lea ecx, [esp + 0x14]
push str.temp_strlen_temp_____s_
push ecx
call edi
add esp, 0xc
jmp 0x4cc4f7
mov edx, dword [str.Messages]
mov cl, byte [0x5aa610]
mov eax, dword [0x5aa60c]
mov dword [esp + 0x10], edx
mov edx, dword [ebx + 0xbe8]
mov byte [esp + 0x18], cl
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], eax
call fcn.004c92b0
mov al, byte [ebx + 0x206]
test al, al
lea edx, [ebx + 0x206]
je 0x4cc4f7
lea eax, [esp + 0x10]
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4cc360
push edx
sub eax, esi
lea edx, [esp + eax + 0x14]
push 0x5a4d9c
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4cc4f7
lea eax, [ebx + 8]
lea edx, [esp + 0x10]
sub edx, eax
jmp 0x4cc390
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4cc390
mov edx, dword [ebx + 0xbe8]
lea ecx, [esp + 0x10]
call fcn.004c92b0
mov eax, dword [ebx + 0x6b8]
xor ecx, ecx
test eax, eax
je 0x4cc3bd
mov eax, dword [eax + 0x40]
inc ecx
test eax, eax
jne 0x4cc3b5
lea eax, [esp + 0x10]
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4cc3c4
push ecx
sub eax, esi
lea eax, [esp + eax + 0x14]
push 0x5a4da4
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
mov cl, byte [ebx + 0x10c]
lea eax, [ebx + 0x10c]
add esp, 0xc
test cl, cl
je 0x4cc44a
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4cc3f6
sub ecx, esi
cmp ecx, 3
jbe 0x4cc44a
lea edi, [esp + 0x10]
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4cc410
mov cx, word [0x5a5348]
mov word [edi], cx
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4cc424
lea edi, [esp + 0x10]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4cc432
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 0x4cc4f7
lea edx, [esp + 0x3f8]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4cc467
mov edx, 0xf
lea ecx, [esp + 0x3f8]
call fcn.00537560
mov al, byte [esp + 0x3f8]
test al, al
je 0x4cc4f7
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4cc492
mov dx, word [0x5aa5dc]
mov al, byte [0x5aa5de]
mov word [edi], dx
mov byte [edi + 2], al
lea eax, [esp + 0x3f8]
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4cc4b5
lea edi, [esp + 0x10]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4cc4c3
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 0x4cc4f7
mov ecx, dword [ebx + 0xbe8]
call fcn.004c93b0
push eax
mov edx, 0x3e7
lea ecx, [esp + 0x14]
call fcn.00420d70
mov al, byte [esp + 0x10]
test al, al
je 0x4cc56c
mov edx, 0x3e7
lea ecx, [esp + 0x3f8]
call fcn.00420e60
mov edx, dword [ebx]
push 0x3e7
lea ecx, [esp + 0x3fc]
push ecx
push edx
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 0x4cc555
test cl, cl
je 0x4cc551
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4cc555
add eax, 2
add esi, 2
test cl, cl
jne 0x4cc531
xor eax, eax
jmp 0x4cc55a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4cc56c
mov ecx, dword [ebx]
lea eax, [esp + 0x10]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
xor ecx, ecx
call fcn.0053b590
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x7d0
ret