Function at 0x40c8e0
Capabilities:
Find taskbar
Hide graphical window
Hide the windows taskbar

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [0x45a080]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov ebx, ecx
mov ecx, 0x4690e3
push edi
mov edi, edx
call fcn.00447953
cmp byte [ebp + 8], 0
je 0x40c9f7
lea eax, [ebp - 0x24]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov eax, dword [ebp - 0x24]
mov edx, dword [ebx + 0x94]
mov ecx, dword [ebx + 0x90]
mov dword [ebx + 0x98], eax
mov eax, dword [ebp - 0x20]
mov dword [ebx + 0x9c], eax
call fcn.0040c850
cmp byte [ebx + 0x160c], 0
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
je 0x40c95c
push 0
push dword [0x462438]
mov dword [0x462434], 0
call esi
push 0
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x40c9a9
push 0
push str.Button
push 0
push eax
call dword [sym.imp.USER32.dll_FindWindowExA]
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x40c996
push eax
push str.Button
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [ebp - 0x38], eax
push 0
push dword [ebp - 0x3c]
call esi
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x40c9a9
push 0
push eax
call esi
push closesocket
push 0xfffffffffffffff0
push edi
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 3
push edi
call esi
push 5
push edi
call esi
push 1
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push edi
call dword [sym.imp.USER32.dll_SetWindowPos]
push dword [ebx + 0x94]
push dword [ebx + 0x90]
call dword [sym.imp.USER32.dll_SetCursorPos]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0042195a
mov esp, ebp
pop ebp
ret
push 0xcf0000
push 0xfffffffffffffff0
push edi
call dword [sym.imp.USER32.dll_SetWindowLongA]
cmp byte [ebp + 0xc], 0
je 0x40ca25
cmp byte [0x461855], 0
je 0x40ca25
mov edx, dword [0x461878]
mov ecx, dword [0x46187c]
call fcn.0040c850
cmp byte [ebx + 0x160c], 0
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
je 0x40ca48
mov eax, dword [0x462070]
push 5
push dword [0x462438]
mov dword [0x462434], eax
call esi
push 0
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [ebp - 0x3c], eax
test eax, eax
je 0x40caa6
push 0
push str.Button
push 0
push eax
call dword [sym.imp.USER32.dll_FindWindowExA]
mov dword [ebp - 0x38], eax
test eax, eax
jne 0x40ca82
push eax
push str.Button
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [ebp - 0x38], eax
push 0xa
push dword [ebp - 0x3c]
call esi
push 0xa
push dword [ebp - 0x38]
call esi
push dword [ebp - 0x38]
mov esi, dword [sym.imp.USER32.dll_DestroyWindow]
call esi
push dword [ebp - 0x3c]
call esi
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 1
push 0
push 0
push dword [ebx + 0x9c]
push dword [ebx + 0x98]
push 0xfffffffffffffffe
push edi
call dword [sym.imp.USER32.dll_SetWindowPos]
push 9
push edi
call esi
lea eax, [ebp - 0x14]
push eax
push edi
call dword [sym.imp.USER32.dll_GetWindowRect]
mov esi, dword [sym.imp.USER32.dll_GetClientRect]
lea eax, [ebp - 0x34]
push eax
push edi
call esi
lea eax, [ebp - 0x24]
push eax
push dword [ebx + 0x1550]
call esi
mov esi, dword [0x462434]
sub esi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
sub esi, dword [ebp - 0x10]
sub eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x18]
mov ebx, dword [ebp - 8]
add esi, ebx
sub edx, dword [ebp - 0x20]
sub eax, dword [ebp - 0x14]
add edx, esi
mov ecx, dword [ebp - 0xc]
add eax, ecx
mov esi, dword [ebp - 0x14]
sub ecx, esi
mov dword [ebp - 0x3c], eax
cmp eax, ecx
mov eax, dword [ebp - 0x10]
jne 0x40cb29
sub ebx, eax
cmp edx, ebx
je 0x40cb38
push 1
push edx
push dword [ebp - 0x3c]
push eax
push esi
push edi
call dword [sym.imp.USER32.dll_MoveWindow]
push 5
push edi
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0042195a
mov esp, ebp
pop ebp
ret