Function at 0x416610
Capabilities:
Find taskbar

Disassembly:
lea ecx, [esp + 4]
and esp, 0xfffffff0
push dword [ecx - 4]
push ebp
mov ebp, esp
push edi
push esi
push ebx
push ecx
sub esp, 0x1b8
mov ebx, dword [ecx]
mov esi, dword [ecx + 4]
call fcn.0040e7c0
lea eax, [ebp - 0x120]
mov dword [esp + 8], eax
mov dword [esp], ebx
mov dword [esp + 4], esi
mov dword [ebp - 0x194], 1
mov dword [ebp - 0x16c], 0
call fcn.004016d0
cmp dword [ebp - 0x108], 0x1a
ja case.0x41666e.0
mov eax, dword [ebp - 0x108]
jmp dword [eax*4 + 0x41b6d4]
mov dword [ebp - 0x194], 0
mov dword [esp], str.kernel32.dll
call sub.KERNEL32.dll_GetModuleHandleA
push ebx
mov dword [esp + 4], str.SetConsoleDisplayMode
mov dword [esp], eax
call sub.KERNEL32.dll_GetProcAddress
test eax, eax
mov ebx, eax
push esi
push esi
je 0x4166cd
mov dword [esp], 0xfffffff5
mov esi, dword [ebp - 0x194]
call sub.KERNEL32.dll_GetStdHandle
lea edx, [ebp - 0x194]
push ecx
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], eax
call ebx
sub esp, 0xc
lea esp, [ebp - 0x10]
xor eax, eax
pop ecx
pop ebx
pop esi
pop edi
pop ebp
lea esp, [ecx - 4]
ret
lea eax, [ebp - 0x120]
mov dword [esp + 4], eax
lea eax, [ebp - 0x190]
mov dword [esp], eax
call fcn.004040c0
jmp 0x4166cd
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call fcn.00402680
jmp 0x4166cd
lea ebx, [ebp - 0x190]
mov dword [esp], ebx
call fcn.004035d0
lea eax, [ebp - 0x120]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.00403800
mov ebx, dword [ebx + 0x24]
test ebx, ebx
jne 0x416710
jmp 0x4166cd
mov dword [esp + 4], 0x41b6a0
mov dword [esp], str.Shell_TrayWnd
call sub.USER32.dll_FindWindowA
test eax, eax
push esi
push esi
je 0x4166cd
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x193
mov dword [esp + 4], 0x111
mov dword [esp], eax
call sub.USER32.dll_PostMessageA
sub esp, 0x10
jmp 0x4166cd
mov dword [esp + 4], 0x41b6a0
mov dword [esp], str.Shell_TrayWnd
call sub.USER32.dll_FindWindowA
test eax, eax
push ebx
push ebx
je 0x4166cd
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x195
mov dword [esp + 4], 0x111
mov dword [esp], eax
call sub.USER32.dll_PostMessageA
sub esp, 0x10
jmp 0x4166cd
mov dword [esp + 4], 0x41b6a0
mov dword [esp], str.Shell_TrayWnd
call sub.USER32.dll_FindWindowA
test eax, eax
push ecx
push ecx
je 0x4166cd
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x194
mov dword [esp + 4], 0x111
mov dword [esp], eax
call sub.USER32.dll_PostMessageA
sub esp, 0x10
jmp 0x4166cd
mov dword [esp + 4], 0x41b6a0
mov dword [esp], str.Shell_TrayWnd
call sub.USER32.dll_FindWindowA
test eax, eax
push edx
push edx
je 0x4166cd
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x19f
mov dword [esp + 4], 0x111
mov dword [esp], eax
call sub.USER32.dll_PostMessageA
sub esp, 0x10
jmp 0x4166cd
mov dword [esp + 4], 0x41b6a0
mov dword [esp], str.Shell_TrayWnd
call sub.USER32.dll_FindWindowA
test eax, eax
push edi
push edi
je 0x4166cd
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1a0
mov dword [esp + 4], 0x111
mov dword [esp], eax
call sub.USER32.dll_PostMessageA
sub esp, 0x10
jmp 0x4166cd
call fcn.00404120
jmp 0x4166cd
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x134], 0
test eax, eax
je 0x416966
lea ebx, [ebp - 0x190]
mov dword [esp + 4], ebx
mov dword [esp], eax
call fcn.00403260
mov dword [ebp - 0x134], ebx
mov ebx, dword [ebp - 0x134]
mov dword [ebp - 0x19c], 0
nop
mov eax, dword [ebp - 0x108]
cmp eax, 2
je 0x4168e6
add dword [ebp - 0x19c], 1
test eax, eax
je 0x416940
lea esi, [ebp - 0x104]
jmp 0x416909
lea eax, [ebp - 0x120]
add esi, 4
mov dword [esp + 4], eax
mov dword [esp], ebx
call edi
mov eax, dword [esi - 4]
test eax, eax
je 0x416940
sub eax, 2
xor edi, edi
cmp eax, 0x1b
ja 0x41691a
mov edi, dword [eax*4 + 0x41b740]
mov dword [esp + 4], ebx
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.00403260
test eax, eax
jne 0x4168f0
mov dword [esp], 8
call fcn.00401410
mov ebx, dword [ebx + 0x24]
test ebx, ebx
je 0x4166cd
mov edx, dword [ebp - 0x3c]
xor eax, eax
test edx, edx
sete al
test dword [ebp - 0x19c], eax
je 0x4168d0
jmp 0x4166cd
lea ebx, [ebp - 0x190]
mov dword [esp], ebx
call fcn.004035d0
call fcn.00403250
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x120]
mov dword [esp], eax
call sub.KERNEL32.dll_lstrlenA
mov dword [ebp - 0x1a4], 0
mov esi, eax
mov eax, dword [ebp - 0x120]
push edx
cmp byte [eax + esi - 1], 0x2a
jne 0x4169be
sub esi, 1
mov byte [eax + esi], 0
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x1a4], 1
cmp byte [eax], 0x2a
jne 0x4169d6
or dword [ebp - 0x1a4], 2
add eax, 1
sub esi, 1
mov dword [ebp - 0x120], eax
lea eax, [ebp - 0x158]
mov edi, ebx
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x1a4]
test eax, eax
je 0x416b42
mov eax, dword [ebp - 0x1ac]
cmp eax, dword [edi]
je 0x416b3d
mov eax, dword [edi + 0x1c]
mov dword [esp], eax
call sub.KERNEL32.dll_lstrlenA
cmp eax, esi
push ebx
jl 0x416b3d
cmp dword [ebp - 0x1a4], 1
je 0x416af7
cmp dword [ebp - 0x1a4], 2
je 0x416b63
sub eax, esi
mov ebx, eax
js 0x416b3d
xor edx, edx
mov dword [ebp - 0x1a8], edi
mov edi, edx
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x120]
mov edx, dword [eax + 0x1c]
mov dword [ebp - 0x1a0], ecx
add edx, ebx
mov dword [ebp - 0x19c], edx
call sub.KERNEL32.dll_GetThreadLocale
mov ecx, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x19c]
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], 1
mov dword [esp], eax
call sub.KERNEL32.dll_CompareStringA
sub esp, 0x18
cmp eax, 2
mov eax, 1
cmove edi, eax
sub ebx, 1
cmp ebx, 0xffffffff
jne 0x416a42
mov edx, edi
mov edi, dword [ebp - 0x1a8]
test edx, edx
je 0x416b3d
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x1b0], edi
mov dword [eax + 0x24], edi
mov eax, dword [edi + 0x24]
mov dword [edi + 0x24], 0
mov edi, eax
test edi, edi
jne 0x4169e4
cmp dword [ebp - 0x134], 0
jne 0x4168bf
mov dword [esp], 8
call fcn.00401410
mov edx, dword [ebp - 0x120]
mov ebx, dword [edi + 0x1c]
mov dword [ebp - 0x19c], edx
call sub.KERNEL32.dll_GetThreadLocale
mov edx, dword [ebp - 0x19c]
mov dword [esp + 0x14], esi
mov dword [esp + 0xc], esi
mov dword [esp + 8], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 4], 1
mov dword [esp], eax
call sub.KERNEL32.dll_CompareStringA
sub esp, 0x18
cmp eax, 2
je 0x416ab6
mov edi, dword [edi + 0x24]
jmp 0x416ad1
mov eax, dword [ebp - 0x120]
mov dword [esp + 4], eax
mov eax, dword [edi + 0x1c]
mov dword [esp], eax
call sub.KERNEL32.dll_lstrcmpiA
test eax, eax
push ecx
push ecx
je 0x416ab6
jmp 0x416b3d
mov edx, dword [ebp - 0x120]
sub eax, esi
mov dword [esp + 4], edx
add eax, dword [edi + 0x1c]
jmp 0x416b4f