Function at 0x4d4fe0
Capabilities:
Find taskbar

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x68
mov eax, dword [0x6670f4]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
push eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x5c], esi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x4d5057
push 0
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x4d5057
mov edi, dword [sym.imp.USER32.dll_FindWindowExW]
push 0
push str.TrayNotifyWnd
push 0
push eax
call edi
mov ebx, eax
mov dword [ebp - 0x60], ebx
test ebx, ebx
je 0x4d5057
call dword [sym.imp.KERNEL32.dll_GetVersion]
push 0
cmp eax, 0x80000000
jb 0x4d506a
push 0x6058e4
push 0
push ebx
call edi
test eax, eax
jne 0x4d50dd
pop edi
pop esi
xor eax, eax
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050ed5c
mov esp, ebp
pop ebp
ret
push str.Button
push 0
push ebx
call edi
push 0
push str.ToolbarWindow32
push 0
push ebx
mov dword [ebp - 0x44], eax
call edi
mov ebx, eax
mov dword [ebp - 0x58], ebx
test ebx, ebx
je 0x4d5092
cmp dword [ebp - 0x44], 0
jne 0x4d50d6
xor eax, eax
test ebx, ebx
jne 0x4d50bd
push ebx
push str.SysPager
push ebx
push dword [ebp - 0x60]
call edi
mov dword [ebp - 0x48], eax
test eax, eax
je 0x4d50bd
push ebx
push str.ToolbarWindow32
push ebx
push eax
call edi
mov ebx, eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x58], ebx
cmp dword [ebp - 0x44], 0
jne 0x4d50d6
test eax, eax
je 0x4d50d6
push 0
push str.Button
push 0
push eax
call edi
mov dword [ebp - 0x44], eax
test ebx, ebx
jne 0x4d50fb
mov ebx, dword [ebp - 0x60]
push esi
push ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
pop edi
pop esi
mov eax, 1
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0050ed5c
mov esp, ebp
pop ebp
ret
push esi
call dword [sym.imp.USER32.dll_SetRectEmpty]
lea eax, [ebp - 0x64]
mov dword [ebp - 0x64], 0
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
push dword [ebp - 0x64]
push 0
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, eax
test edi, edi
je 0x4d5394
push 0
push 0
push 0x418
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
xor ebx, ebx
mov dword [ebp - 0x54], eax
test eax, eax
jle 0x4d5394
nop dword [eax + eax]
push 4
push 0x1000
push 0x14
push 0
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov esi, eax
mov dword [ebp - 0x48], esi
test esi, esi
je 0x4d5057
push esi
push ebx
push 0x417
push dword [ebp - 0x58]
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 0x68]
mov dword [ebp - 0x68], 0
push eax
push 0x14
lea eax, [ebp - 0x40]
push eax
push esi
mov esi, dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
push edi
call esi
lea eax, [ebp - 0x68]
xorps xmm0, xmm0
push eax
push 8
lea eax, [ebp - 0xc]
movlpd qword [ebp - 0xc], xmm0
push eax
push dword [ebp - 0x34]
push edi
call esi
mov esi, dword [ebp - 0xc]
push 0x4000
push 0x14
push dword [ebp - 0x48]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
cmp esi, dword [ebp - 0x4c]
je 0x4d51da
inc ebx
cmp ebx, dword [ebp - 0x54]
jl 0x4d5150
jmp 0x4d5391
push 4
push 0x1000
push 0x10
push 0
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov dword [ebp - 0x48], eax
test eax, eax
je 0x4d5057
mov esi, dword [ebp - 0x58]
push eax
push ebx
push 0x41d
push esi
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 0x54]
mov dword [ebp - 0x54], 0
push eax
push 0x10
lea eax, [ebp - 0x2c]
push eax
push dword [ebp - 0x48]
push edi
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x14]
push eax
push esi
call dword [sym.imp.USER32.dll_ClientToScreen]
lea eax, [ebp - 0x50]
push eax
push esi
call dword [sym.imp.USER32.dll_ClientToScreen]
push dword [ebp - 0x4c]
mov esi, dword [ebp - 0x5c]
push dword [ebp - 0x50]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push esi
call dword [sym.imp.USER32.dll_SetRect]
push 0x4000
push 0x10
push dword [ebp - 0x48]
push edi
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov eax, dword [esi + 8]
sub eax, dword [esi]
test eax, eax
jle 0x4d528f
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 4]
test eax, eax
jg 0x4d5394
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x4d5301
lea ecx, [ebp - 0x1c]
xorps xmm0, xmm0
push ecx
push eax
movups xmmword [ebp - 0x1c], xmm0
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x18]
neg eax
push eax
mov eax, dword [ebp - 0x1c]
neg eax
push eax
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x18]
cdq
sub eax, edx
sar eax, 1
movzx esi, ax
mov eax, dword [ebp - 0x14]
add eax, dword [ebp - 0x1c]
cdq
sub eax, edx
shl esi, 0x10
sar eax, 1
movzx eax, ax
or esi, eax
push esi
push 0
push 0x201
push dword [ebp - 0x44]
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
push 0
push 0x202
push dword [ebp - 0x44]
call dword [sym.imp.USER32.dll_SendMessageW]
push 4
push 0x1000
push 0x10
push 0
push edi
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov esi, eax
push esi
push ebx
mov ebx, dword [ebp - 0x58]
push 0x41d
push ebx
call dword [sym.imp.USER32.dll_SendMessageW]
lea eax, [ebp - 0x54]
mov dword [ebp - 0x54], 0
push eax
push 0x10
lea eax, [ebp - 0x2c]
push eax
push esi
push edi
call dword [sym.imp.KERNEL32.dll_ReadProcessMemory]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x50]
push eax
push ebx
call dword [sym.imp.USER32.dll_ClientToScreen]
lea eax, [ebp - 0x14]
push eax
push ebx
call dword [sym.imp.USER32.dll_ClientToScreen]
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x5c]
call dword [sym.imp.USER32.dll_SetRect]
push 0x4000
push 0x10
push esi
push edi
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov esi, dword [ebp - 0x5c]
mov eax, dword [esi + 8]
sub eax, dword [esi]
test eax, eax
jle 0x4d53a7
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 4]
test eax, eax
jg 0x4d53b1
push esi
push dword [ebp - 0x60]
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [ebp - 4]
mov eax, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0050ed5c
mov esp, ebp
pop ebp
ret