Function at 0x401000
Capabilities:
Find taskbar

Disassembly:
sub esp, 0x1a4
mov ecx, dword [esp + 0x1ac]
mov edx, dword [esp + 0x1a8]
push ebx
push ebp
push esi
lea eax, [esp + 0x5c]
push edi
push eax
xor ebp, ebp
xor ebx, ebx
push ecx
push edx
mov dword [esp + 0x20], 1
mov dword [esp + 0x58], ebp
mov dword [esp + 0x30], ebx
call fcn.004016f0
mov eax, dword [esp + 0x84]
add esp, 0xc
dec eax
cmp eax, 0x19
ja case.0x401054.12
xor ecx, ecx
mov cl, byte [eax + 0x40158c]
jmp dword [ecx*4 + 0x40155c]
mov edx, dword [esp + 0x178]
push edx
call fcn.00403e30
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a4
ret
push 0x409de0
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebp
je 0x40154c
push ebp
push 0x193
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1a4
ret
push 0x409de0
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebp
je 0x40154c
push ebp
push 0x195
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1a4
ret
push 0x409de0
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebp
je 0x40154c
push ebp
push 0x194
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1a4
ret
call fcn.00403d40
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1a4
ret
push 0x409de0
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebp
je 0x40154c
push ebp
push 0x19f
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1a4
ret
push 0x409de0
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowA]
cmp eax, ebp
je 0x40154c
push ebp
push 0x1a0
push 0x111
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1a4
ret
mov dword [esp + 0x14], ebp
push str.SetConsoleDisplayMode
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov esi, eax
cmp esi, ebp
je 0x40154c
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x14]
push eax
push ecx
push 0xfffffffffffffff5
call dword [sym.imp.KERNEL32.dll_GetStdHandle]
push eax
call esi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1a4
ret
lea edx, [esp + 0x28]
push edx
call fcn.00403200
lea eax, [esp + 0x2c]
add esp, 4
test eax, eax
lea esi, [esp + 0x28]
je 0x40154c
lea ecx, [esp + 0x60]
push ecx
push esi
call fcn.00403550
mov esi, dword [esi + 0x24]
add esp, 8
cmp esi, ebp
jne 0x401201
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1a4
ret
lea edx, [esp + 0x60]
lea eax, [esp + 0x28]
push edx
push eax
call fcn.00403d00
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1a4
ret
mov eax, dword [esp + 0x70]
lea ecx, [esp + 0x17c]
cmp eax, ebp
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1a0], ebp
je 0x401273
lea edx, [esp + 0x28]
push edx
push eax
call fcn.004032a0
add esp, 8
lea ebp, [esp + 0x28]
jmp 0x401449
call sub.KERNEL32.dll_GetConsoleWindow
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x60]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov edi, eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x10], ebp
cmp byte [eax + edi - 1], 0x2a
jne 0x4012aa
dec edi
mov ebp, 1
mov dword [esp + 0x10], ebp
mov byte [eax + edi], 0
mov eax, dword [esp + 0x60]
cmp byte [eax], 0x2a
jne 0x4012bc
inc eax
dec edi
or ebp, 2
mov dword [esp + 0x60], eax
mov dword [esp + 0x10], ebp
mov ebx, dword [sym.imp.KERNEL32.dll_CompareStringA]
lea ecx, [esp + 0x28]
push ecx
call fcn.00403200
lea edx, [esp + 0x2c]
add esp, 4
test edx, edx
lea esi, [esp + 0x28]
je 0x4013d2
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], 0
test eax, eax
jne 0x40130b
mov eax, dword [esp + 0x60]
mov ecx, dword [esi + 0x1c]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4013bc
jmp 0x4013a4
mov edx, dword [esp + 0x20]
mov eax, dword [esi]
cmp eax, edx
je 0x4013bc
mov eax, dword [esi + 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov ebp, eax
cmp ebp, edi
jl 0x4013bc
mov eax, dword [esp + 0x10]
cmp eax, 1
jne 0x401352
mov ecx, dword [esp + 0x60]
mov edx, dword [esi + 0x1c]
push edi
push ecx
push edi
push edx
push eax
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
push eax
call ebx
sub eax, 2
jne 0x4013bc
jmp 0x4013a4
cmp eax, 2
jne 0x401370
mov ecx, dword [esi + 0x1c]
mov eax, dword [esp + 0x60]
sub ecx, edi
push eax
add ecx, ebp
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x4013bc
jmp 0x4013a4
sub ebp, edi
js 0x4013bc
mov edx, dword [esp + 0x60]
mov eax, dword [esi + 0x1c]
push edi
push edx
add eax, ebp
push edi
push eax
push 1
call dword [sym.imp.KERNEL32.dll_GetThreadLocale]
push eax
call ebx
sub eax, 2
jne 0x401399
mov dword [esp + 0x1c], 1
dec ebp
jns 0x401374
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x4013bc
mov ecx, dword [esp + 0x18]
lea eax, [esi + 0x24]
mov dword [esp + 0x18], esi
mov dword [ecx + 0x24], esi
mov esi, dword [eax]
mov dword [eax], 0
jmp 0x4013bf
mov esi, dword [esi + 0x24]
test esi, esi
jne 0x4012df
mov ebp, dword [esp + 0x1a0]
test ebp, ebp
jne 0x401445
mov eax, dword [esp + 0x164]
test eax, eax
jne 0x4013e7
push 8
call fcn.00402250
add esp, 4
mov eax, dword [esp + 0x78]
test eax, eax
je 0x401435
mov eax, dword [esp + 0x168]
test eax, eax
jl 0x401410
sub eax, 0x32
mov dword [esp + 0x168], eax
jns 0x401410
push 8
call fcn.00402250
add esp, 4
lea edx, [esp + 0x28]
push edx
call fcn.00403450
add esp, 4
lea eax, [esp + 0x17c]
mov dword [esp + 0x18], eax
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x4012c2
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x1a4
ret
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x78]
mov esi, dword [esp + 0x144]
xor eax, eax
test esi, esi
sete al
test ebx, eax
jne 0x40154c
cmp ecx, 2
je 0x401469
inc ebx
test ecx, ecx
je 0x401541
lea edi, [esp + 0x78]
mov eax, dword [edi]
add edi, 4
sub eax, 2
cmp eax, 0x1c
ja case.0x401486.3
jmp dword [eax*4 + 0x4015a8]
mov esi, 0x403980
jmp 0x40150d
mov esi, fcn.00403550
jmp 0x40150d
mov esi, 0x403860
jmp 0x40150d
mov esi, 0x403830
jmp 0x40150d
mov esi, fcn.00403890
jmp 0x40150d
mov esi, 0x4038c0
jmp 0x40150d
mov esi, 0x4038f0
jmp 0x40150d
mov esi, 0x4038d0
jmp 0x40150d
mov esi, 0x403900
jmp 0x40150d
mov esi, 0x403910
jmp 0x40150d
mov esi, 0x403920
jmp 0x40150d
mov esi, 0x403b30
jmp 0x40150d
mov esi, 0x403c10
jmp 0x40150d
mov esi, 0x403930
jmp 0x40150d
mov esi, 0x403950
jmp 0x40150d
mov esi, 0x403dd0
jmp 0x40150d
mov esi, 0x403df0
jmp 0x40150d
mov esi, 0x403e10
jmp 0x40150d
xor esi, esi
mov ecx, dword [ebp]
push ebp
push ecx
call fcn.004032a0
add esp, 8
test eax, eax
jne 0x401528
push 8
call fcn.00402250
add esp, 4
lea edx, [esp + 0x60]
push edx
push ebp
call esi
mov eax, dword [edi]
add esp, 8
test eax, eax
jne 0x401475
mov ecx, dword [esp + 0x78]
mov ebp, dword [ebp + 0x24]
test ebp, ebp
jne 0x40144d
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x1a4
ret