Function at 0x4167f3
Capabilities:
Find taskbar

Disassembly:
sub esp, 0x30
cmp dword [0x4e78e0], 0
push ebx
push ebp
push esi
push edi
jne 0x41692e
push 0x80000043
call dword [sym.imp.KERNEL32.dll_SetThreadExecutionState]
mov ebx, dword [esp + 0x44]
xor edi, edi
cmp dword [0xed062c], edi
jne 0x416835
push edi
push ebx
call dword [sym.imp.USER32.dll_SetMenu]
push edi
mov dword [0x4e8970], edi
call dword [sym.imp.USER32.dll_ShowCursor]
cmp dword [0x4e78d8], edi
jne 0x416868
push 0xfffffffffffffff0
push ebx
call dword [sym.imp.USER32.dll_GetWindowLongA]
push 0xffffffffffffffec
push ebx
mov dword [0xecb17c], eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xecb188
and eax, 0xfffffff7
push ebx
mov dword [0xecb180], eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push 2
push ebx
call dword [sym.imp.USER32.dll_MonitorFromWindow]
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], 0x28
push ecx
push eax
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
sub eax, dword [esp + 0x20]
sub ebp, dword [esp + 0x1c]
mov esi, dword [sym.imp.USER32.dll_SetWindowLongW]
push 0x90000000
push 0xfffffffffffffff0
push ebx
mov dword [esp + 0x1c], eax
call esi
push 0x40000
push 0xffffffffffffffec
push ebx
call esi
cmp dword [0xed0624], edi
jne 0x4168cf
mov esi, dword [esp + 0x10]
push 0x20
push esi
push ebp
push dword [esp + 0x2c]
push dword [esp + 0x2c]
push 0xffffffffffffffff
jmp 0x4168fc
push edi
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowW]
push edi
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov esi, dword [esp + 0x10]
push 0x20
push esi
push ebp
push dword [esp + 0x2c]
mov byte [0xecb184], 1
push dword [esp + 0x2c]
push 0xfffffffffffffffe
push ebx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [0xecb140]
mov dword [0xecb144], ebp
mov dword [0xecb148], esi
push 0xecb144
mov ecx, dword [eax]
push eax
call dword [ecx + 0x40]
mov dword [0x4e78e0], 1
jmp 0x416a3b
xor ebx, ebx
inc ebx
push ebx
call dword [sym.imp.USER32.dll_ShowCursor]
xor edi, edi
cmp byte [0xecb184], 0
je 0x416958
push edi
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowW]
push 5
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
push 0x80000000
call dword [sym.imp.KERNEL32.dll_SetThreadExecutionState]
mov eax, dword [0xecb190]
sub eax, dword [0xecb188]
mov ecx, dword [0xecb194]
sub ecx, dword [0xecb18c]
mov dword [0xecb144], eax
mov dword [esp + 0x14], eax
mov eax, dword [0xecb140]
mov dword [esp + 0x10], ecx
mov dword [0xecb148], ecx
push 0xecb144
mov ecx, dword [eax]
push eax
call dword [ecx + 0x40]
push dword [0xecb17c]
mov ebp, dword [esp + 0x48]
mov esi, dword [sym.imp.USER32.dll_SetWindowLongW]
push 0xfffffffffffffff0
push ebp
mov dword [0x4e78e0], edi
call esi
push dword [0xecb180]
push 0xffffffffffffffec
push ebp
call esi
mov esi, dword [esp + 0x14]
push 0x20
push dword [esp + 0x14]
push esi
push dword [0xecb18c]
push dword [0xecb188]
push 0xfffffffffffffffe
push ebp
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x37
push edi
push edi
push edi
push edi
push edi
push ebp
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [0xed6240]
cmp eax, ebx
je 0x4169ff
cmp eax, 2
jne 0x416a20
push 0x20
push dword [esp + 0x14]
push esi
push dword [0xecb18c]
push dword [0xecb188]
push 0xffffffffffffffff
push ebp
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [0xed6240]
test eax, eax
je 0x416a28
cmp eax, ebx
jne 0x416a3b
push dword [0xecb104]
push ebp
call dword [sym.imp.USER32.dll_SetMenu]
mov dword [0x4e8970], ebx
mov dword [0x4e78d8], edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret