Function at 0x4016a0
Capabilities:
Find taskbar

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84c
mov eax, dword [0x40c1a0]
xor eax, ebp
mov dword [esp + 0x848], eax
xor eax, eax
mov dword [esp + 0x25], eax
mov dword [esp + 0x29], eax
mov dword [esp + 0x2d], eax
mov dword [esp + 0x31], eax
xor ecx, ecx
mov dword [esp + 0x35], eax
mov dword [esp + 0x11], ecx
push ebx
mov dword [esp + 0x3d], eax
mov dword [esp + 0x19], ecx
mov dword [esp + 0x41], eax
push esi
mov dword [esp + 0x21], ecx
push edi
mov byte [esp + 0x30], 0
mov word [esp + 0x4d], ax
mov byte [esp + 0x1c], al
mov dword [esp + 0x29], ecx
jmp 0x401700
mov ebx, dword [sym.imp.USER32.dll_FindWindowA]
push 0
push str.NotifyIconOverflowWindow
call ebx
mov edi, dword [sym.imp.USER32.dll_FindWindowExA]
push 0
push str.ToolbarWindow32
push 0
push eax
call edi
push 0
push str.Shell_TrayWnd
mov esi, eax
call ebx
push 0
push str.TrayNotifyWnd
push 0
push eax
call edi
push 0
push str.SysPager
push 0
push eax
call edi
push 0
push str.ToolbarWindow32
push 0
push eax
call edi
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x418
push eax
call edi
push 0
push 0
push 0x418
push esi
mov ebx, eax
call edi
mov dword [esp + 0x14], eax
xor eax, eax
mov word [esp + 0x50], 0
mov ecx, 0x1ff
lea edi, [esp + 0x52]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
xor edi, edi
test ebx, ebx
jl 0x40183a
lea edx, [esp + 0x50]
push edx
push edi
call fcn.00401210
mov esi, eax
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x5c]
push ecx
call fcn.00401000
add esp, 0x10
test eax, eax
jl 0x401831
lea edx, [esp + 0x10]
push edx
push esi
mov dword [esp + 0x18], 0
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
lea eax, [esp + 0x30]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4017d2
sub eax, edx
je 0x4017f6
xor edx, edx
test eax, eax
jle 0x4017f6
mov cl, byte [esp + edx + 0x30]
cmp cl, 0x30
jl 0x4017f6
cmp cl, 0x39
jg 0x4017f6
inc edx
cmp edx, eax
jl 0x4017e3
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.00402bc0
lea eax, [esp + 0x1c]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x401810
sub eax, edx
mov dword [esp + 0x18], eax
je 0x401831
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x34]
push eax
call fcn.00401d00
add esp, 8
inc edi
cmp edi, ebx
jle 0x401794
mov eax, dword [esp + 0x14]
xor edi, edi
test eax, eax
jl 0x4018d8
lea ecx, [esp + 0x50]
push ecx
push edi
call fcn.00401460
lea edx, [esp + 0x38]
mov esi, eax
push edx
lea eax, [esp + 0x5c]
push eax
call fcn.00401000
add esp, 0x10
test eax, eax
jl 0x4018cb
lea ecx, [esp + 0x10]
push ecx
push esi
mov dword [esp + 0x18], 0
call dword [sym.imp.USER32.dll_GetWindowThreadProcessId]
lea eax, [esp + 0x30]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x401886
sub eax, edx
je 0x4018aa
xor edx, edx
test eax, eax
jle 0x4018aa
mov cl, byte [esp + edx + 0x30]
cmp cl, 0x30
jl 0x4018aa
cmp cl, 0x39
jg 0x4018aa
inc edx
cmp edx, eax
jl 0x401897
mov edx, dword [esp + 0x10]
push edx
lea eax, [esp + 0x20]
push eax
call fcn.00402bc0
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x34]
push edx
call fcn.00401d00
add esp, 8
mov eax, dword [esp + 0x14]
inc edi
cmp edi, eax
jle 0x401848
push 0x2710
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x401700