Function at 0x486850
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push ecx
push ebx
push esi
push edi
mov edi, ecx
push 0x409
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
mov dword [ebp - 4], eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
test eax, eax
je 0x4868cb
push dword [0x54b7b4]
lea esi, [eax + eax]
lea eax, [esi + 0xa]
push eax
call sym.ProcessHacker.exe_PhCreateObject
mov ebx, eax
xor eax, eax
lea ecx, [ebx + 8]
mov dword [ebx + 4], ecx
mov dword [ebx], esi
mov word [ecx + esi], ax
mov ecx, dword [ebx]
shr ecx, 1
inc ecx
push ecx
push dword [ebx + 4]
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x4868af
mov esi, ebx
jmp 0x4868d2
call sym.ProcessHacker.exe_PhReferenceEmptyString
mov esi, eax
lea ecx, [ebx - 8]
or edx, 0xffffffff
lock xadd dword [ecx + 4], edx
dec edx
jne 0x4868d2
call fcn.004a2a20
jmp 0x4868d2
call sym.ProcessHacker.exe_PhReferenceEmptyString
mov esi, eax
push esi
call sym.ProcessHacker.exe_PhAutoDereferenceObject
mov ecx, str.Auto_start
mov eax, dword [eax + 4]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x486906
test dx, dx
je 0x486902
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x486906
add eax, 4
add ecx, 4
test dx, dx
jne 0x4868e0
xor eax, eax
jmp 0x48690b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x486913
push 1
jmp 0x486915
push 0
push 0x4d2
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0x408
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
mov dword [ebp - 4], eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
test eax, eax
je 0x48699a
push dword [0x54b7b4]
lea esi, [eax + eax]
lea eax, [esi + 0xa]
push eax
call sym.ProcessHacker.exe_PhCreateObject
mov ebx, eax
xor eax, eax
lea ecx, [ebx + 8]
mov dword [ebx + 4], ecx
mov dword [ebx], esi
mov word [ecx + esi], ax
mov ecx, dword [ebx]
shr ecx, 1
inc ecx
push ecx
push dword [ebx + 4]
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x48697e
mov esi, ebx
jmp 0x4869a1
call sym.ProcessHacker.exe_PhReferenceEmptyString
mov esi, eax
lea ecx, [ebx - 8]
or edx, 0xffffffff
lock xadd dword [ecx + 4], edx
dec edx
jne 0x4869a1
call fcn.004a2a20
jmp 0x4869a1
call sym.ProcessHacker.exe_PhReferenceEmptyString
mov esi, eax
push esi
call sym.ProcessHacker.exe_PhAutoDereferenceObject
mov ecx, 0x5316b4
mov eax, dword [eax + 4]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4869d6
test dx, dx
je 0x4869d2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4869d6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4869b0
xor eax, eax
jmp 0x4869db
sbb eax, eax
or eax, 1
test eax, eax
je 0x486ae2
push 0x408
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
mov dword [ebp - 4], eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
test eax, eax
je 0x486a55
push dword [0x54b7b4]
lea esi, [eax + eax]
lea eax, [esi + 0xa]
push eax
call sym.ProcessHacker.exe_PhCreateObject
mov ebx, eax
xor eax, eax
lea ecx, [ebx + 8]
mov dword [ebx + 4], ecx
mov dword [ebx], esi
mov word [ecx + esi], ax
mov ecx, dword [ebx]
shr ecx, 1
inc ecx
push ecx
push dword [ebx + 4]
push dword [ebp - 4]
call dword [sym.imp.USER32.dll_GetWindowTextW]
test eax, eax
je 0x486a39
mov esi, ebx
jmp 0x486a5c
call sym.ProcessHacker.exe_PhReferenceEmptyString
mov esi, eax
lea ecx, [ebx - 8]
or eax, 0xffffffff
lock xadd dword [ecx + 4], eax
dec eax
jne 0x486a5c
call fcn.004a2a20
jmp 0x486a5c
call sym.ProcessHacker.exe_PhReferenceEmptyString
mov esi, eax
push esi
call sym.ProcessHacker.exe_PhAutoDereferenceObject
mov ecx, str.FS_driver
mov eax, dword [eax + 4]
lea ebx, [ebx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x486a96
test dx, dx
je 0x486a92
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x486a96
add eax, 4
add ecx, 4
test dx, dx
jne 0x486a70
xor eax, eax
jmp 0x486a9b
sbb eax, eax
or eax, 1
test eax, eax
je 0x486ae2
push 1
push 0x4d2
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 1
push 0x410
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 1
push 0x411
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 1
jmp 0x486b23
push 0
push 0x40d
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push 0x410
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push 0x411
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
push 0
push 0x412
push edi
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_EnableWindow]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret