Function at 0x40e130
Capabilities:
Find taskbar

Disassembly:
push 0xffffffffffffffff
push 0x421e29
mov eax, dword fs:[0]
push eax
sub esp, 0x14
mov eax, dword [0x43501c]
xor eax, esp
mov dword [esp + 0x10], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x43501c]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
xor ebx, ebx
cmp byte [esp + 0x54], bl
mov dword [esp + 0x30], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
push ebx
je 0x40e194
push str.NotifyIconOverflowWindow
call dword [sym.imp.USER32.dll_FindWindowW]
push ebx
push str.ToolbarWindow32
push ebx
push eax
call dword [sym.imp.USER32.dll_FindWindowExW]
mov edi, eax
jmp 0x40e1f8
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowW]
mov esi, dword [sym.imp.USER32.dll_FindWindowExW]
push ebx
push str.TrayNotifyWnd
mov edi, eax
push ebx
push edi
call esi
push ebx
push str.SysPager
mov ebp, eax
push ebx
push ebp
call esi
cmp eax, ebx
push ebx
push str.ToolbarWindow32
push ebx
jne 0x40e1cb
push edi
jmp 0x40e1cc
push eax
call esi
push 0x428d4c
push str.ToolbarWindow32
push ebx
push ebp
mov edi, eax
call esi
cmp eax, ebx
mov dword [esp + 0x1c], eax
jne 0x40e1f8
push str.System_Promoted_Notification_Area
push str.ToolbarWindow32
push ebx
push edi
call esi
mov dword [esp + 0x1c], eax
cmp edi, ebx
je 0x40e338
lea eax, [esp + 0x20]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
cmp eax, ebx
je 0x40e338
cmp eax, 0xffffffff
je 0x40e338
mov ecx, dword [esp + 0x20]
push ecx
push ebx
push 0x1f0fff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
cmp esi, ebx
je 0x40e338
push 4
push 0x1000
push 0x4096
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAllocEx]
push ebx
push ebx
push 0x418
push edi
mov ebp, eax
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
mov ebx, eax
call sub.K8Common.dll_public:_static_bool___cdecl_GameMgr::GMShellUtils::IsWow64ProcessEx_void__
add esp, 4
sub esp, 0x1c
test al, al
mov ecx, esp
mov dword [esp + 0x34], esp
je 0x40e28a
lea edx, [esp + 0x54]
push edx
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
push ebp
push ebx
mov ebx, edi
call fcn.0040eaf0
jmp 0x40e29e
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
push ebp
push ebx
mov ebx, edi
call fcn.0040ed90
mov bl, al
add esp, 0x24
test bl, bl
jne 0x40e306
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x40e306
push 0
push 0
push 0x418
push edi
call dword [sym.imp.USER32.dll_SendMessageW]
push esi
mov ebx, eax
call sub.K8Common.dll_public:_static_bool___cdecl_GameMgr::GMShellUtils::IsWow64ProcessEx_void__
add esp, 4
sub esp, 0x1c
test al, al
mov ecx, esp
mov dword [esp + 0x34], esp
je 0x40e2ed
lea edx, [esp + 0x54]
push edx
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
push ebp
push ebx
mov ebx, edi
call fcn.0040eaf0
jmp 0x40e301
lea eax, [esp + 0x54]
push eax
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::constructor_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__]
push ebp
push ebx
mov ebx, edi
call fcn.0040ed90
mov bl, al
add esp, 0x24
push 0x8000
push 0x4096
push ebp
push esi
call dword [sym.imp.KERNEL32.dll_VirtualFreeEx]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x38]
movzx esi, bl
mov dword [esp + 0x30], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
mov eax, esi
jmp 0x40e34c
lea ecx, [esp + 0x38]
mov dword [esp + 0x30], 0xffffffff
call dword [sym.imp.MSVCP80.dll_public:_void___thiscall_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t__::destructor_void_]
xor eax, eax
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x10]
xor ecx, esp
call fcn.00420f36
add esp, 0x20
ret 0x20