Function at 0x450864
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff0
push ebx
push esi
push edi
mov ebx, edx
mov esi, eax
mov edi, 0xff
mov eax, edi
call fcn.00408194
mov dword [ebp - 8], eax
mov eax, edi
call fcn.00408194
mov dword [ebp - 4], eax
xor edx, edx
push ebp
push 0x450f36
push dword fs:[edx]
mov dword fs:[edx], esp
lea eax, [ebp - 0xc]
push eax
push esi
call sub.user32.dll_GetWindowThreadProcessId
mov dword [ebp - 0x10], eax
push edi
mov eax, dword [ebp - 4]
push eax
push esi
call sub.user32.dll_GetClassNameA
push edi
mov eax, dword [ebp - 8]
push eax
push esi
call sub.user32.dll_GetWindowTextA
mov eax, ebx
mov edx, dword [ebp - 4]
call fcn.00402b58
lea eax, [ebx + 0x100]
mov edx, dword [ebp - 8]
call fcn.00402b58
mov dword [ebx + 0x200], esi
mov eax, dword [ebp - 0xc]
mov dword [ebx + 0x204], eax
mov eax, dword [ebp - 0x10]
mov dword [ebx + 0x208], eax
push 0xfffffffffffffff8
push esi
call sub.user32.dll_GetWindowLongA
mov dword [ebx + 0x20c], eax
push 0xfffffffffffffffc
push esi
call sub.user32.dll_GetWindowLongA
mov dword [ebx + 0x210], eax
push 0xfffffffffffffffa
push esi
call sub.user32.dll_GetWindowLongA
mov dword [ebx + 0x214], eax
push 0xfffffffffffffff4
push esi
call sub.user32.dll_GetWindowLongA
mov dword [ebx + 0x218], eax
push 0xffffffffffffffeb
push esi
call sub.user32.dll_GetWindowLongA
mov dword [ebx + 0x21c], eax
push 0xfffffffffffffff0
push esi
call sub.user32.dll_GetWindowLongA
mov dword [ebx + 0x220], eax
push 0xffffffffffffffec
push esi
call sub.user32.dll_GetWindowLongA
mov dword [ebx + 0x224], eax
lea eax, [ebx + 0x228]
push eax
push esi
call sub.user32.dll_GetWindowRect
lea eax, [ebx + 0x238]
push eax
push esi
call sub.user32.dll_GetClientRect
push 0xffffffffffffffe0
push esi
call sub.user32.dll_GetClassLongA
mov dword [ebx + 0x248], eax
push 0xffffffffffffffec
push esi
call sub.user32.dll_GetClassLongA
mov dword [ebx + 0x24c], eax
push 0xffffffffffffffee
push esi
call sub.user32.dll_GetClassLongA
mov dword [ebx + 0x250], eax
push 0xffffffffffffffe8
push esi
call sub.user32.dll_GetClassLongA
mov dword [ebx + 0x254], eax
push 0xfffffffffffffff0
push esi
call sub.user32.dll_GetClassLongA
mov dword [ebx + 0x258], eax
push 0xfffffffffffffff6
push esi
call sub.user32.dll_GetClassLongA
mov dword [ebx + 0x25c], eax
push 0xfffffffffffffff4
push esi
call sub.user32.dll_GetClassLongA
mov dword [ebx + 0x260], eax
push 0xfffffffffffffff2
push esi
call sub.user32.dll_GetClassLongA
mov dword [ebx + 0x264], eax
push 0xffffffffffffffe6
push esi
call sub.user32.dll_GetClassLongA
mov dword [ebx + 0x268], eax
mov dl, 1
mov eax, dword [0x40e2b0]
call fcn.00402d2c
mov dword [ebx + 0x26c], eax
push esi
call sub.user32.dll_IsWindowVisible
neg eax
sbb eax, eax
neg eax
mov byte [ebx + 0x278], al
test byte [ebx + 0x222], 0x80
je 0x450a22
mov eax, dword [ebx + 0x26c]
mov edx, 0x450f4c
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x223], 0x40
je 0x450a3b
mov eax, dword [ebx + 0x26c]
mov edx, 0x450f60
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x223], 2
je 0x450a54
mov eax, dword [ebx + 0x26c]
mov edx, 0x450f74
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x223], 4
je 0x450a6d
mov eax, dword [ebx + 0x26c]
mov edx, 0x450f8c
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x223], 8
je 0x450a86
mov eax, dword [ebx + 0x26c]
mov edx, 0x450fa4
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x222], 0x40
je 0x450a9f
mov eax, dword [ebx + 0x26c]
mov edx, 0x450fb8
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x222], 2
je 0x450ab8
mov eax, dword [ebx + 0x26c]
mov edx, 0x450fcc
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x222], 0x10
je 0x450ad1
mov eax, dword [ebx + 0x26c]
mov edx, 0x450fe0
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x223], 1
je 0x450aea
mov eax, dword [ebx + 0x26c]
mov edx, 0x450ff4
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x222], 1
je 0x450b03
mov eax, dword [ebx + 0x26c]
mov edx, 0x451008
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x223], 0x20
je 0x450b1c
mov eax, dword [ebx + 0x26c]
mov edx, 0x451020
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x222], 2
je 0x450b35
mov eax, dword [ebx + 0x26c]
mov edx, 0x451034
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x220], 0
je 0x450b4e
mov eax, dword [ebx + 0x26c]
mov edx, 0x45104c
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x223], 0x80
je 0x450b67
mov eax, dword [ebx + 0x26c]
mov edx, 0x451064
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x222], 8
je 0x450b80
mov eax, dword [ebx + 0x26c]
mov edx, 0x451078
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x222], 1
je 0x450b99
mov eax, dword [ebx + 0x26c]
mov edx, 0x45108c
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x222], 4
je 0x450bb2
mov eax, dword [ebx + 0x26c]
mov edx, 0x4510a0
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x223], 0x10
je 0x450bcb
mov eax, dword [ebx + 0x26c]
mov edx, 0x4510b8
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x222], 0x20
je 0x450be4
mov eax, dword [ebx + 0x26c]
mov edx, 0x4510cc
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov dl, 1
mov eax, dword [0x40e2b0]
call fcn.00402d2c
mov esi, eax
mov dword [ebx + 0x270], esi
mov eax, dword [ebx + 0x224]
test eax, eax
jle 0x450dc3
test al, 0x10
je 0x450c16
mov eax, esi
mov edx, 0x4510e0
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x224], 1
je 0x450c2f
mov eax, dword [ebx + 0x270]
mov edx, 0x4510fc
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x224], 4
je 0x450c48
mov eax, dword [ebx + 0x270]
mov edx, 0x451118
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x224], 8
je 0x450c61
mov eax, dword [ebx + 0x270]
mov edx, 0x451138
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x224], 0x20
je 0x450c7a
mov eax, dword [ebx + 0x270]
mov edx, 0x451150
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x224], 0x40
je 0x450c93
mov eax, dword [ebx + 0x270]
mov edx, 0x45116c
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x224], 0x80
je 0x450cac
mov eax, dword [ebx + 0x270]
mov edx, 0x451184
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x225], 1
je 0x450cc5
mov eax, dword [ebx + 0x270]
mov edx, 0x4511a0
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x225], 2
je 0x450cde
mov eax, dword [ebx + 0x270]
mov edx, 0x4511bc
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x225], 4
je 0x450cf7
mov eax, dword [ebx + 0x270]
mov edx, 0x4511d8
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x225], 0x10
je 0x450d12
mov eax, dword [ebx + 0x270]
mov edx, 0x4511f4
mov ecx, dword [eax]
call dword [ecx + 0x34]
jmp 0x450d22
mov eax, dword [ebx + 0x270]
mov edx, 0x451208
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x225], 0x20
je 0x450d3d
mov eax, dword [ebx + 0x270]
mov edx, 0x45121c
mov ecx, dword [eax]
call dword [ecx + 0x34]
jmp 0x450d4d
mov eax, dword [ebx + 0x270]
mov edx, 0x451238
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x225], 0x40
je 0x450d68
mov eax, dword [ebx + 0x270]
mov edx, 0x451254
mov ecx, dword [eax]
call dword [ecx + 0x34]
jmp 0x450d78
mov eax, dword [ebx + 0x270]
mov edx, 0x451270
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x226], 1
je 0x450d91
mov eax, dword [ebx + 0x270]
mov edx, 0x451290
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x226], 2
je 0x450daa
mov eax, dword [ebx + 0x270]
mov edx, 0x4512ac
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x226], 4
je 0x450dc3
mov eax, dword [ebx + 0x270]
mov edx, 0x4512c8
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov dl, 1
mov eax, dword [0x40e2b0]
call fcn.00402d2c
mov esi, eax
mov dword [ebx + 0x274], esi
test byte [ebx + 0x269], 0x10
je 0x450dec
mov eax, esi
mov edx, 0x4512e0
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x268], 1
je 0x450e05
mov eax, dword [ebx + 0x274]
mov edx, 0x4512fc
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x268], 2
je 0x450e1e
mov eax, dword [ebx + 0x274]
mov edx, 0x451310
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x268], 4
je 0x450e37
mov eax, dword [ebx + 0x274]
mov edx, 0x451324
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x268], 8
je 0x450e50
mov eax, dword [ebx + 0x274]
mov edx, 0x45133c
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x268], 0x20
je 0x450e69
mov eax, dword [ebx + 0x274]
mov edx, 0x451350
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x268], 0x40
je 0x450e82
mov eax, dword [ebx + 0x274]
mov edx, 0x451364
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x268], 0x80
je 0x450e9b
mov eax, dword [ebx + 0x274]
mov edx, 0x451378
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x269], 1
je 0x450eb4
mov eax, dword [ebx + 0x274]
mov edx, 0x45138c
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x269], 2
je 0x450ecd
mov eax, dword [ebx + 0x274]
mov edx, 0x4513a0
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x269], 8
je 0x450ee6
mov eax, dword [ebx + 0x274]
mov edx, 0x4513b4
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x269], 0x20
je 0x450eff
mov eax, dword [ebx + 0x274]
mov edx, 0x4513c8
mov ecx, dword [eax]
call dword [ecx + 0x34]
test byte [ebx + 0x269], 0x40
je 0x450f18
mov eax, dword [ebx + 0x274]
mov edx, 0x4513e4
mov ecx, dword [eax]
call dword [ecx + 0x34]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x450f3d
mov eax, dword [ebp - 8]
call fcn.004026f4
mov eax, dword [ebp - 4]
call fcn.004026f4
ret