Function at 0x4aa670
Capabilities:
Get graphical window text

Disassembly:
push ebp
lea ebp, [esp - 0x620]
sub esp, 0x620
push 0xffffffffffffffff
push 0x628178
mov eax, dword fs:[0]
push eax
sub esp, 0x20
mov eax, dword [0x70a308]
xor eax, ebp
mov dword [ebp + 0x61c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
cmp byte [esi + 0x354], 0
jne 0x4aa93b
xor edi, edi
mov dword [ebp - 4], edi
push 0x104
mov ecx, dword [esi + 0x230]
cmp dword [esi + 0x238], edi
je 0x4aa6fd
lea eax, [ebp + 0x20c]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x4aa93b
lea edx, [ebp + 0x20c]
push edx
lea ecx, [esi + 0x32c]
call fcn.004017d0
jmp 0x4aa726
lea eax, [ebp + 0x510]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextA]
test eax, eax
je 0x4aa93b
push edi
lea edx, [ebp + 0x510]
push edx
lea ecx, [esi + 0x32c]
call fcn.00401960
xor ebx, ebx
mov dword [ebp - 0x14], ebx
cmp ebx, dword [esi + 0x84]
jge 0x4aa934
mov dword [ebp], edi
mov dword [ebp + 8], edi
xor eax, eax
mov word [ebp + 4], ax
mov byte [ebp - 4], 1
lea edi, [esi + 0x7c]
push ebx
mov ecx, edi
call fcn.00458380
mov eax, dword [eax + 8]
add eax, 0x54
cmp dword [eax], 0
je 0x4aa761
mov eax, dword [eax]
jmp 0x4aa764
add eax, 4
push 0x100
lea ecx, [ebp + 0x414]
push ecx
push 0x100
lea edx, [ebp + 0xc]
push edx
push 0x100
lea ecx, [ebp + 0x214]
push ecx
push 3
lea edx, [ebp + 0x614]
push edx
push eax
call fcn.005fb587
add esp, 0x24
test eax, eax
jne 0x4aa920
cmp dword [esi + 0x32c], eax
je 0x4aa7af
mov eax, dword [esi + 0x32c]
jmp 0x4aa7b5
lea eax, [esi + 0x330]
lea edx, [eax + 2]
jmp 0x4aa7c0
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4aa7c0
sub eax, edx
sar eax, 1
cmp dword [esi + 0x32c], 0
je 0x4aa7e0
mov ecx, dword [esi + 0x32c]
jmp 0x4aa7e6
lea ecx, [esi + 0x330]
cmp word [ecx + eax*2 - 2], 0x5c
mov ecx, 0x64fbb8
je 0x4aa7f8
mov ecx, 0x64f8c0
cmp dword [esi + 0x32c], 0
je 0x4aa809
mov eax, dword [esi + 0x32c]
jmp 0x4aa80f
lea eax, [esi + 0x330]
push 0
lea edx, [ebp + 0x414]
push edx
lea edx, [ebp + 0xc]
push edx
push ecx
push eax
push str._s_s_s_s
lea ecx, [ebp]
call fcn.0043a620
push 0
push ebx
mov ecx, edi
call fcn.00458380
mov eax, dword [eax + 0x18]
push eax
mov ecx, dword [esi + 0x78]
push ecx
lea edx, [ebp]
push edx
mov ecx, dword [0x70f5c8]
call fcn.0048de30
mov eax, dword [ebp]
test eax, eax
jne 0x4aa856
lea eax, [ebp + 4]
push eax
push ebx
mov ecx, edi
call fcn.00458380
mov ecx, dword [eax + 8]
call fcn.005a1460
push ebx
mov ecx, edi
call fcn.00458380
mov eax, dword [eax + 8]
mov byte [eax + 0x19a], 1
mov dword [ebp - 0x2c], 1
mov dword [ebp - 0x24], ebx
lea ecx, [ebp - 0x2c]
push ecx
push 0xffffffffffffffff
push 0x100d
mov edx, dword [esi + 0x1fc]
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
mov edi, eax
test edi, edi
jl 0x4aa920
cmp dword [0x70f608], 0
je 0x4aa8d2
mov eax, dword [0x70f784]
test eax, eax
mov ecx, eax
jne 0x4aa8ba
mov ecx, 0x70f788
mov eax, dword [0x70f6ec]
test eax, eax
jne 0x4aa8c8
mov eax, 0x70f6f0
push ecx
push eax
lea ecx, [ebp]
call fcn.0043a8a0
cmp dword [0x70f60c], 0
je 0x4aa903
mov eax, dword [0x70f79c]
test eax, eax
mov ecx, eax
jne 0x4aa8eb
mov ecx, 0x70f7a0
mov eax, dword [0x70f790]
test eax, eax
jne 0x4aa8f9
mov eax, 0x70f794
push ecx
push eax
lea ecx, [ebp]
call fcn.0043a8a0
mov eax, dword [ebp]
test eax, eax
jne 0x4aa90d
lea eax, [ebp + 4]
push eax
push edi
push 4
mov eax, dword [esi + 0x1fc]
push eax
call fcn.0044e630
add esp, 0x10
mov byte [ebp - 4], 0
lea ecx, [ebp]
call fcn.004011f0
inc ebx
xor edi, edi
jmp 0x4aa728
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x61c]
xor ecx, ebp
call fcn.005f85e7
add ebp, 0x620
mov esp, ebp
pop ebp
ret