Function at 0x4153e0
Capabilities:
Get graphical window text

Disassembly:
push 0xffffffffffffffff
push 0x450717
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb0
push ebx
push ebp
push esi
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
mov ebp, ecx
xor ebx, ebx
push edi
push ebx
mov eax, dword [ebp + 0xad0]
push ebx
push 0x1009
push eax
mov dword [esp + 0x30], ebp
mov dword [ebp + 0xae8], 1
call esi
mov ecx, dword [ebp + 0xadc]
mov eax, dword [ebp + 0xae0]
cmp ecx, eax
mov dword [esp + 0x24], ecx
je 0x415c79
lea ecx, [esp + 0x40]
push ebx
push ecx
call fcn.00429980
add esp, 8
push str.xmlToolStartupCleaner.xml
lea edx, [esp + 0x64]
push eax
push edx
mov dword [esp + 0xd4], ebx
call fcn.004261b0
mov eax, dword [eax]
push 0xffffffffffffffff
push eax
call fcn.00408b10
mov edi, eax
add esp, 8
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0x60]
mov edx, dword [0x45c054]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4154a6
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4154a6
mov edx, dword [esp + 0x60]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
mov eax, dword [esp + 0x40]
mov edx, dword [0x45c054]
mov byte [esp + 0xc8], 2
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4154dd
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4154dd
mov edx, dword [esp + 0x40]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
push ecx
mov dword [esp + 0x4c], esp
mov esi, esp
push edi
call dword [sym.imp.OLEAUT32.dll_VariantInit]
push eax
push edi
call dword [sym.imp.OLEAUT32.dll_SysReAllocStringLen]
lea ecx, [esp + 0x6c]
mov dword [esi], eax
call fcn.00435f70
mov dword [esp + 0x28], ebx
push str._config_toolstartupcleaner_disabledstartupfolderitem
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ecx, eax
mov dword [esp + 0x48], ecx
mov eax, dword [esp + 0x68]
mov byte [esp + 0xc8], 5
cmp eax, ebx
je 0x415532
mov edx, dword [eax]
lea esi, [esp + 0x28]
push esi
push ecx
push eax
call dword [edx + 0x90]
mov eax, dword [esp + 0x28]
cmp eax, ebx
je 0x4159c1
mov dword [esp + 0x14], ebx
mov ecx, dword [eax]
lea edx, [esp + 0x14]
push edx
push eax
mov byte [esp + 0xd0], 6
call dword [ecx + 0x24]
mov ecx, dword [esp + 0x14]
cmp ecx, ebx
je 0x4159af
xor eax, eax
mov dword [esp + 0x18], eax
cmp ecx, ebx
mov byte [esp + 0xc8], 7
je 0x415582
mov eax, dword [ecx]
lea edx, [esp + 0x18]
push edx
push ecx
call dword [eax + 0x44]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x2c], ebx
mov ecx, dword [eax]
lea edx, [esp + 0x34]
push edx
push str.path
push eax
mov byte [esp + 0xd4], 0xa
call dword [ecx + 0x1c]
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x30]
push edx
push str.valuename
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x2c]
push edx
push str.valuedata
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
mov word [esp + 0x80], bx
mov word [esp + 0x90], bx
mov word [esp + 0x70], bx
mov eax, dword [esp + 0x34]
lea edx, [esp + 0x80]
push edx
push eax
mov ecx, dword [eax]
mov byte [esp + 0xd0], 0xd
call dword [ecx + 0x20]
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x90]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x70]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantTimeToDosDateTime]
push 8
lea eax, [esp + 0x84]
push ebx
lea ecx, [esp + 0x88]
push eax
push ecx
call esi
push 8
lea edx, [esp + 0x94]
push ebx
lea eax, [esp + 0x98]
push edx
push eax
call esi
push 8
lea ecx, [esp + 0x74]
push ebx
lea edx, [esp + 0x78]
push ecx
push edx
call esi
mov eax, dword [esp + 0x24]
mov ecx, dword [0x45c050]
mov dword [esp + 0x10], ecx
mov edi, dword [eax]
mov eax, dword [esp + 0x88]
mov esi, eax
cmp eax, ebx
je 0x4156b7
push eax
call fcn.00445b8b
add esp, 4
cmp eax, ebx
je 0x4156b7
lea ebp, [eax + eax]
lea ecx, [esp + 0x10]
push ebp
call fcn.00425830
test eax, eax
je 0x4156b3
mov edx, dword [esp + 0x10]
inc ebp
push ebp
push esi
push edx
call fcn.00425700
add esp, 0xc
lea ecx, [esp + 0x10]
push 0xffffffffffffffff
call fcn.004036e0
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
mov edx, dword [0x45c054]
test eax, eax
mov eax, dword [esp + 0x10]
sete byte [esp + 0x1e]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4156f9
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4156f9
mov edx, dword [esp + 0x10]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
cmp byte [esp + 0x1e], bl
je 0x415909
mov eax, dword [esp + 0x98]
mov ecx, dword [0x45c050]
cmp eax, ebx
mov edi, eax
mov dword [esp + 0x10], ecx
je 0x415753
push eax
call fcn.00445b8b
add esp, 4
cmp eax, ebx
je 0x415753
lea esi, [eax + eax]
lea ecx, [esp + 0x10]
push esi
call fcn.00425830
test eax, eax
je 0x415753
mov edx, dword [esp + 0x10]
inc esi
push esi
push edi
push edx
call fcn.00425700
add esp, 0xc
lea ecx, [esp + 0x10]
push 0xffffffffffffffff
call fcn.004036e0
mov eax, dword [ebp + 0xad0]
mov esi, dword [esp + 0x10]
add ebp, 0xad0
push ebx
push ebx
push 0x1004
push eax
mov byte [esp + 0xd8], 0xe
call dword [sym.imp.USER32.dll_SendMessageA]
push ebx
push ebx
push ebx
push ebx
push esi
push eax
push 1
mov ecx, ebp
call fcn.00424810
mov edx, dword [0x45c054]
mov esi, eax
mov eax, dword [esp + 0x10]
mov byte [esp + 0xc8], 0xd
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x4157c1
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4157c1
mov edx, dword [esp + 0x10]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push str.LNG01295
call fcn.00425b80
lea eax, [esp + 0x6c]
mov ecx, 0x460650
push eax
call fcn.00429000
mov eax, dword [eax]
push ebx
push ebx
push ebx
push ebx
push eax
push 1
push 1
push esi
mov ecx, ebp
mov byte [esp + 0xe8], 0xf
call fcn.0042ad90
mov eax, dword [esp + 0x64]
mov edx, dword [0x45c054]
mov byte [esp + 0xc8], 0xd
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x415835
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x415835
mov edx, dword [esp + 0x64]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
mov eax, dword [esp + 0x78]
mov ecx, dword [0x45c050]
cmp eax, ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x10], ecx
je 0x415888
push eax
call fcn.00445b8b
add esp, 4
cmp eax, ebx
je 0x415888
lea edi, [eax + eax]
lea ecx, [esp + 0x10]
push edi
call fcn.00425830
test eax, eax
je 0x415888
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
inc edi
push edi
push edx
push eax
call fcn.00425700
add esp, 0xc
lea ecx, [esp + 0x10]
push 0xffffffffffffffff
call fcn.004036e0
mov ecx, dword [esp + 0x10]
push ebx
push ebx
push ebx
push ebx
push ecx
push 1
push 2
push esi
mov ecx, ebp
mov byte [esp + 0xe8], 0x10
call fcn.0042ad90
mov eax, dword [esp + 0x10]
mov ecx, dword [0x45c054]
mov byte [esp + 0xc8], 0xd
lea edx, [eax - 0xc]
cmp edx, ecx
je 0x4158dc
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x4158dc
mov eax, dword [esp + 0x10]
add eax, 0xfffffff4
push eax
call fcn.004447ea
add esp, 4
mov ecx, dword [esp + 0x24]
push ebx
push ebx
push ebx
mov eax, dword [ecx]
push ebx
push eax
push 1
push 3
push esi
mov ecx, ebp
call fcn.0042ad90
push 0xf000
push 0x1000
push esi
mov ecx, ebp
call fcn.0042ae10
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x41591b
mov dword [esp + 0x14], ebx
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x14]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
mov esi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
lea eax, [esp + 0x70]
push eax
call esi
lea ecx, [esp + 0x90]
push ecx
call esi
lea edx, [esp + 0x80]
push edx
call esi
mov eax, dword [esp + 0x2c]
mov byte [esp + 0xc8], 9
cmp eax, ebx
je 0x415961
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x30]
mov byte [esp + 0xc8], 8
cmp eax, ebx
je 0x415977
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov eax, dword [esp + 0x34]
mov byte [esp + 0xc8], 7
cmp eax, ebx
je 0x41598d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x18]
mov byte [esp + 0xc8], 6
cmp eax, ebx
je 0x4159a3
mov edx, dword [eax]
push eax
call dword [edx + 8]
mov ecx, dword [esp + 0x14]
cmp ecx, ebx
jne 0x415561
cmp ecx, ebx
mov byte [esp + 0xc8], 5
je 0x4159c1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
lea ecx, [esp + 0x3f]
lea edx, [esp + 0x1f]
push ecx
push ebx
push edx
lea ecx, [esp + 0xb4]
call fcn.0042b6d0
mov eax, dword [0x45c050]
mov ecx, 0x45cc4c
test ecx, ecx
mov byte [esp + 0xc8], 0x11
mov dword [esp + 0x14], eax
je 0x415a42
mov edx, ecx
shr edx, 0x10
jne 0x415a0a
xor eax, eax
mov ax, cx
lea ecx, [esp + 0x14]
push eax
call fcn.00427770
jmp 0x415a42
push 0x45cc4c
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, eax
cmp esi, ebx
je 0x415a42
push esi
lea ecx, [esp + 0x18]
call fcn.00425830
test eax, eax
je 0x415a42
mov edi, dword [esp + 0x14]
mov ecx, esi
mov edx, ecx
mov esi, 0x45cc4c
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x40], esp
push 0x460718
mov byte [esp + 0xd4], 0x12
call fcn.00425b80
lea eax, [esp + 0x64]
mov ecx, 0x460650
push eax
call fcn.00429000
mov edi, eax
mov ecx, dword [0x45c050]
mov dword [esp + 0x18], ecx
lea edx, [esp + 0x18]
lea eax, [esp + 0x14]
push edx
push eax
lea ecx, [esp + 0xa8]
mov byte [esp + 0xd0], 0x14
call fcn.0042b7e0
lea ecx, [esp + 0xb8]
push eax
push ecx
lea ecx, [esp + 0xb0]
mov byte [esp + 0xd0], 0x15
call fcn.0042b5d0
mov esi, dword [eax]
lea ecx, [esp + 0xa0]
mov byte [esp + 0xc8], 0x14
call fcn.004037c0
lea ecx, [esp + 0x18]
mov byte [esp + 0xc8], 0x13
call fcn.00429590
mov ecx, dword [esi + 0x10]
mov eax, dword [edi]
add esi, 0x10
cmp ecx, eax
je 0x415b20
cmp dword [ecx - 0xc], ebx
jge 0x415af8
mov edx, dword [0x45c054]
add ecx, 0xfffffff4
cmp ecx, edx
jne 0x415afd
cmp dword [eax - 0xc], ebx
jge 0x415b0b
mov edx, dword [eax - 8]
push eax
push edx
mov ecx, esi
call fcn.00403580
jmp 0x415b20
mov ecx, esi
call fcn.00425890
mov edi, dword [edi]
mov dword [esi], edi
add edi, 0xfffffff4
push edi
call dword [sym.imp.KERNEL32.dll_InterlockedIncrement]
mov eax, dword [esp + 0x5c]
mov edx, dword [0x45c054]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x415b4f
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x415b4f
mov edx, dword [esp + 0x5c]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
mov eax, dword [esp + 0x14]
mov edx, dword [0x45c054]
lea ecx, [eax - 0xc]
cmp ecx, edx
je 0x415b7e
add eax, 0xfffffff4
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jg 0x415b7e
mov edx, dword [esp + 0x14]
lea eax, [edx - 0xc]
push eax
call fcn.004447ea
add esp, 4
mov al, byte [esp + 0x1f]
mov dword [esp + 0x50], ebx
mov byte [esp + 0x4c], al
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
push ebx
push ebx
mov edi, dword [esp + 0x2c]
push ebx
push ebx
push ebx
mov eax, dword [edi]
push ebx
push ebx
push 1
push 1
push 1
lea ecx, [esp + 0x74]
push ebx
push ecx
push ebp
lea edx, [esp + 0xdc]
push 0x415d00
push edx
push eax
mov byte [esp + 0x108], 0x16
call fcn.0042dc10
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x90]
add esp, 0x40
mov byte [esp + 0xc8], 0x11
push eax
push ecx
lea ecx, [esp + 0x54]
call fcn.0042b540
mov edx, dword [esp + 0x50]
push edx
call fcn.004447ea
add esp, 4
lea ecx, [esp + 0xa8]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov byte [esp + 0xc8], 5
call fcn.00424ee0
mov eax, dword [esp + 0x48]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push eax
call esi
mov eax, dword [esp + 0x28]
mov byte [esp + 0xc8], 3
cmp eax, ebx
je 0x415c3b
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [esp + 0x68]
mov byte [esp + 0xc8], 2
call fcn.00435ff0
mov edx, dword [esp + 0x44]
mov dword [esp + 0xc8], 0xffffffff
push edx
call esi
mov eax, dword [ebp + 0xae0]
add edi, 4
cmp edi, eax
mov dword [esp + 0x24], edi
jne 0x41543f
mov esi, dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp + 0xad0]
lea edi, [ebp + 0xad0]
push ebx
push ebx
push 0x1004
push eax
call esi
test eax, eax
jle 0x415cda
lea ecx, [esp + 0x44]
push ecx
mov ecx, edi
call fcn.00424760
mov edx, dword [eax]
push ebx
push ebx
push 0x1200
push edx
call esi
mov ebp, eax
xor esi, esi
cmp ebp, ebx
jle 0x415cce
push 0xffffffffffffffff
push esi
mov ecx, edi
call fcn.00424740
inc esi
cmp esi, ebp
jl 0x415cb3
mov eax, dword [esp + 0x20]
mov dword [eax + 0xae8], ebx
jmp 0x415ce0
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0xae8], ebx
jmp 0x415ce0
mov dword [ebp + 0xae8], ebx
mov ecx, dword [esp + 0xc0]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xbc
ret