Function at 0x463250
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4d7f9c
mov eax, dword fs:[0]
push eax
sub esp, 0x480
mov eax, dword [0x510620]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, edx
mov dword [ebp - 0x450], esi
mov dword [ebp - 0x468], ecx
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x45c], eax
mov byte [ebp - 0x470], al
mov eax, dword [ebp + 0x10]
push ecx
lea ecx, [ebp - 0x448]
mov dword [ebp - 0x46c], ebx
mov byte [ebp - 0x458], bl
mov dword [ebp - 0x464], eax
mov byte [ebp - 0x460], al
call fcn.00455d60
mov dword [ebp - 4], 0
xor eax, eax
mov dword [ebp - 0x414], 7
mov dword [ebp - 0x418], 0
mov word [ebp - 0x428], ax
mov dword [ebp - method.UString.virtual_0], vtable.UString.0
mov byte [ebp - 4], 1
test bl, bl
jne 0x46334d
mov edi, dword [ebp - 0x430]
lea ecx, [ebp - 0x444]
mov esi, dword [ebp - 0x444]
lea edx, [ebp - 0x444]
mov eax, dword [ebp - 0x434]
lea ebx, [ebp - 0x444]
cmp edi, 8
cmovae ecx, esi
cmovae edx, esi
cmovae ebx, esi
lea eax, [ecx + eax*2]
cmp edx, eax
je 0x463347
push fcn.0049a4d2
push ebx
push eax
lea ecx, [ebp - 0x454]
call fcn.00406e90
add esp, 0xc
mov esi, dword [ebp - 0x450]
test esi, esi
jne 0x46335f
call dword [sym.imp.USER32.dll_GetDesktopWindow]
mov esi, eax
mov dword [ebp - 0x450], eax
mov edi, dword [sym.imp.USER32.dll_GetWindow]
push 5
push esi
call edi
mov ebx, eax
mov dword [ebp - 0x44c], ebx
test ebx, ebx
je 0x4635d5
lea ebx, [ebx]
xor eax, eax
mov word [ebp - 0x410], ax
lea eax, [ebp - 0x410]
push 0x200
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowTextW]
cmp word [ebp - 0x410], 0
je 0x4635ba
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x410]
xor eax, eax
mov dword [ebp - method.UString.virtual_0], vtable.UString.0
mov dword [ebp - 0x474], 7
lea edx, [ecx + 2]
mov dword [ebp - 0x478], 0
mov word [ebp - 0x488], ax
mov edi, edi
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4633e0
sub ecx, edx
lea eax, [ebp - 0x410]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x488]
call fcn.00402710
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x488]
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp - 0x428]
call fcn.00402990
mov byte [ebp - 4], 1
cmp dword [ebp - 0x474], 8
mov dword [ebp - method.UString.virtual_0], vtable.UString.0
jb 0x463441
push dword [ebp - 0x488]
call fcn.00494c0b
add esp, 4
cmp byte [ebp - 0x46c], 0
jne 0x4634c9
mov edi, dword [ebp - 0x414]
lea ecx, [ebp - 0x428]
mov edx, dword [ebp - 0x428]
lea ebx, [ebp - 0x428]
mov eax, dword [ebp - 0x418]
lea esi, [ebp - 0x428]
cmp edi, 8
cmovae ecx, edx
cmovae ebx, edx
cmovae esi, edx
lea eax, [ecx + eax*2]
cmp ebx, eax
je 0x4634bd
mov ecx, eax
xor edx, edx
sub ecx, ebx
xor edi, edi
inc ecx
shr ecx, 1
cmp ebx, eax
cmova ecx, edx
mov dword [ebp - 0x454], ecx
test ecx, ecx
je 0x4634bd
sub ebx, esi
movzx eax, word [esi + ebx]
push eax
call fcn.0049a4d2
inc edi
mov word [esi], ax
add esp, 4
lea esi, [esi + 2]
cmp edi, dword [ebp - 0x454]
jne 0x4634a1
mov ebx, dword [ebp - 0x44c]
mov edi, dword [sym.imp.USER32.dll_GetWindow]
cmp byte [ebp - 0x45c], 0
je 0x463571
cmp dword [ebp - 0x430], 8
lea eax, [ebp - 0x444]
push dword [ebp - 0x434]
cmovae eax, dword [ebp - 0x444]
push eax
push dword [ebp - 0x418]
push ecx
lea ecx, [ebp - 0x428]
call fcn.00406e10
test eax, eax
jne 0x4635ba
cmp dword [ebp - 0x414], 8
mov dword [ebp - method.UString.virtual_0], vtable.UString.0
jb 0x46352c
push dword [ebp - 0x428]
call fcn.00494c0b
add esp, 4
xor eax, eax
mov dword [ebp - 0x414], 7
cmp dword [ebp - 0x430], 8
mov dword [ebp - 0x418], 0
mov word [ebp - 0x428], ax
mov dword [ebp - method.UString.virtual_0], vtable.UString.0
jb 0x46356a
push dword [ebp - 0x444]
call fcn.00494c0b
add esp, 4
mov eax, ebx
jmp 0x463692
cmp dword [ebp - 0x430], 8
lea edx, [ebp - 0x444]
cmovae edx, dword [ebp - 0x444]
cmp word [edx], 0
jne 0x46358f
xor ecx, ecx
jmp 0x4635a3
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x463594
sub ecx, esi
sar ecx, 1
push ecx
push 0
push edx
lea ecx, [ebp - 0x428]
call fcn.004061d0
test eax, eax
jns 0x46350b
push 2
push ebx
call edi
mov ebx, eax
mov dword [ebp - 0x44c], eax
test ebx, ebx
jne 0x463380
mov esi, dword [ebp - 0x450]
cmp byte [ebp - 0x464], 0
je 0x463631
push 5
push esi
call edi
mov esi, eax
test esi, esi
je 0x463631
mov ebx, dword [ebp - 0x458]
nop
push 5
push esi
call edi
test eax, eax
je 0x463626
push dword [ebp - 0x460]
mov ecx, dword [ebp - 0x468]
mov edx, esi
push dword [ebp - 0x470]
push ebx
call fcn.00463250
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x4636ae
mov edi, dword [sym.imp.USER32.dll_GetWindow]
push 2
push esi
call edi
mov esi, eax
test esi, esi
jne 0x4635f0
cmp dword [ebp - 0x414], 8
mov dword [ebp - method.UString.virtual_0], vtable.UString.0
jb 0x463652
push dword [ebp - 0x428]
call fcn.00494c0b
add esp, 4
xor eax, eax
mov dword [ebp - 0x414], 7
cmp dword [ebp - 0x430], 8
mov dword [ebp - 0x418], 0
mov word [ebp - 0x428], ax
mov dword [ebp - method.UString.virtual_0], vtable.UString.0
jb 0x463690
push dword [ebp - 0x444]
call fcn.00494c0b
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00494c10
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x42c]
call fcn.00416900
lea ecx, [ebp - 0x448]
call fcn.00416900
mov eax, edi
jmp 0x463692