Function at 0x4c0b60
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x7d0
push ebx
push esi
mov esi, edx
mov ebx, ecx
call fcn.00542ed0
test eax, eax
jne 0x4c0b85
xor ecx, ecx
call fcn.00527d80
pop esi
pop ebx
add esp, 0x7d0
ret
push ebp
push edi
mov edx, 0x3e7
lea ecx, [esp + 0x10]
call fcn.0041ef30
mov eax, dword [ebx + 0x708]
sub eax, 0
je 0x4c0fbd
dec eax
je 0x4c0e62
dec eax
jne 0x4c0fd9
mov eax, dword [ebx + 0x70c]
cmp eax, 1
jne 0x4c0d26
test esi, esi
mov ebp, dword [sym.imp.USER32.dll_wsprintfA]
je 0x4c0c24
mov esi, dword [esi + 0xddc]
test esi, esi
je 0x4c0c24
cmp byte [esi], 0
je 0x4c0c24
lea edi, [ebx + 0x206]
push esi
mov edx, 0x64
mov ecx, edi
call fcn.0041ee40
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 0x4c0bf8
mov edx, dword [ebx + 0xbbc]
lea ecx, [esp + 0x10]
call fcn.004be000
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c0c18
jmp 0x4c0caa
mov ecx, dword [ebx + 0xbbc]
lea esi, [ebx + 8]
push ecx
lea edx, [esp + 0x14]
mov ecx, esi
call fcn.0049a970
test eax, eax
je 0x4c0d1f
lea edx, [esp + 0x10]
push 0x21
push edx
call fcn.00570260
add esp, 8
test eax, eax
je 0x4c0d1f
inc eax
je 0x4c0d1f
cmp byte [eax], 0
je 0x4c0d1f
lea edi, [ebx + 0x206]
push eax
mov edx, 0x64
mov ecx, edi
call fcn.0041ee40
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 0x4c0c83
mov edx, dword [ebx + 0xbbc]
lea ecx, [esp + 0x10]
call fcn.004be000
lea eax, [esp + 0x10]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c0ca3
sub eax, edx
push edi
lea eax, [esp + eax + 0x14]
push 0x583d24
push eax
call ebp
mov al, byte [esp + 0x1c]
add esp, 0xc
test al, al
jne 0x4c0fe1
push esi
mov edx, 0x3e7
lea ecx, [esp + 0x14]
call fcn.0041ee40
mov edx, dword [ebx + 0xbbc]
lea ecx, [esp + 0x10]
call fcn.004be000
mov al, byte [ebx + 0x206]
test al, al
lea edx, [ebx + 0x206]
je 0x4c0fd9
lea eax, [esp + 0x10]
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c0d01
push edx
sub eax, esi
lea ecx, [esp + eax + 0x14]
push 0x583d24
push ecx
call ebp
add esp, 0xc
jmp 0x4c0fd9
mov byte [esp + 0x10], 0
jmp 0x4c0cc8
cmp eax, 2
jne 0x4c0fd9
test esi, esi
je 0x4c0df8
mov ecx, dword [esi]
test ecx, ecx
je 0x4c0df8
mov eax, dword [esi + 0xddc]
test eax, eax
je 0x4c0df8
mov edi, dword [sym.imp.USER32.dll_wsprintfA]
push eax
push ecx
lea edx, [esp + 0x18]
push 0x584c54
push edx
call edi
add esp, 0x10
lea eax, [esp + 0x10]
push eax
lea ecx, [ebx + 0x206]
mov edx, 0x64
call fcn.0041ee40
mov ecx, dword [str.Messages]
mov edx, dword [0x588df4]
mov al, byte [0x588df8]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov edx, dword [ebx + 0xbbc]
lea ecx, [esp + 0x10]
mov byte [esp + 0x18], al
call fcn.004be000
mov ecx, dword [esi + 0xddc]
cmp byte [ecx], 0
je 0x4c0de1
lea eax, [esp + 0x10]
lea ebp, [eax + 1]
lea esp, [esp]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4c0dc0
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 0x4c0fd9
mov eax, dword [esi]
push eax
lea ecx, [esp + 0x14]
push str.temp_strlen_temp_____s_
push ecx
call edi
add esp, 0xc
jmp 0x4c0fd9
mov edx, dword [str.Messages]
mov cl, byte [0x588df8]
mov eax, dword [0x588df4]
mov dword [esp + 0x10], edx
mov edx, dword [ebx + 0xbbc]
mov byte [esp + 0x18], cl
lea ecx, [esp + 0x10]
mov dword [esp + 0x14], eax
call fcn.004be000
mov al, byte [ebx + 0x206]
test al, al
lea edx, [ebx + 0x206]
je 0x4c0fd9
lea eax, [esp + 0x10]
lea esi, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c0e40
push edx
sub eax, esi
lea edx, [esp + eax + 0x14]
push 0x583d24
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
jmp 0x4c0fd9
lea eax, [ebx + 8]
lea edx, [esp + 0x10]
sub edx, eax
jmp 0x4c0e70
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4c0e70
mov edx, dword [ebx + 0xbbc]
lea ecx, [esp + 0x10]
call fcn.004be000
mov eax, dword [ebx + 0x6b8]
xor ecx, ecx
test eax, eax
je 0x4c0e9d
mov eax, dword [eax + 0x40]
inc ecx
test eax, eax
jne 0x4c0e95
lea eax, [esp + 0x10]
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x4c0ea4
push ecx
sub eax, esi
lea eax, [esp + eax + 0x14]
push 0x583d2c
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 0x4c0f2a
mov ecx, eax
lea esi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x4c0ed6
sub ecx, esi
cmp ecx, 3
jbe 0x4c0f2a
lea edi, [esp + 0x10]
dec edi
lea esp, [esp]
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4c0ef0
mov cx, word [0x5842b8]
mov word [edi], cx
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4c0f04
lea edi, [esp + 0x10]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4c0f12
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 0x4c0fd9
lea edx, [esp + 0x3f8]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4c0f47
mov edx, 0xf
lea ecx, [esp + 0x3f8]
call fcn.00524b30
mov al, byte [esp + 0x3f8]
test al, al
je 0x4c0fd9
lea edi, [esp + 0x10]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4c0f72
mov dx, word [0x588dc4]
mov al, byte [0x588dc6]
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 0x4c0f95
lea edi, [esp + 0x10]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4c0fa3
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 0x4c0fd9
mov edx, dword [ebx + 0xbbc]
xor ecx, ecx
call fcn.004be100
push eax
mov edx, 0x3e7
lea ecx, [esp + 0x14]
call fcn.0041ee40
mov al, byte [esp + 0x10]
test al, al
je 0x4c104e
mov edx, 0x3e7
lea ecx, [esp + 0x3f8]
call fcn.0041ef30
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 0x4c1037
test cl, cl
je 0x4c1033
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4c1037
add eax, 2
add esi, 2
test cl, cl
jne 0x4c1013
xor eax, eax
jmp 0x4c103c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4c104e
mov ecx, dword [ebx]
lea eax, [esp + 0x10]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
xor ecx, ecx
call fcn.00527d80
pop edi
pop ebp
pop esi
pop ebx
add esp, 0x7d0
ret