Function at 0x40a6a0
Capabilities:
Find taskbar

Disassembly:
sub esp, 0x58
push ebx
push ebp
push esi
push edi
xor edi, edi
lea eax, [esp + 0x34]
push edi
push eax
push edi
mov ebx, ecx
push 0x30
mov dword [esp + 0x20], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], edi
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
push edi
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
sub esi, ecx
sub ebp, eax
call edi
push 1
mov dword [esp + 0x24], eax
call edi
push 0
push str.Shell_TrayWnd
push 0
push 0
mov dword [esp + 0x2c], eax
call dword [sym.imp.USER32.dll_FindWindowExW]
mov edx, eax
test edx, edx
je 0x40a7ed
mov ecx, 9
xor eax, eax
lea edi, [esp + 0x44]
rep stosd dword es:[edi], eax
mov edi, dword [sym.imp.SHELL32.dll_SHAppBarMessage]
lea ecx, [esp + 0x44]
push ecx
push 4
mov dword [esp + 0x50], edx
call edi
cmp eax, 1
je 0x40a738
cmp eax, 3
jne 0x40a7ed
lea edx, [esp + 0x44]
push edx
push 5
call edi
cmp eax, 1
jne 0x40a7ed
lea eax, [esp + 0x54]
lea ecx, [esp + 0x24]
push eax
push ecx
call dword [sym.imp.USER32.dll_CopyRect]
mov eax, dword [esp + 0x50]
cmp eax, 3
ja case.default.0x40a767
jmp dword [eax*4 + 0x40a914]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
mov eax, 1
sub edx, ecx
mov dword [ebx + 0x60], eax
add ebp, edx
mov dword [esp + 0x14], eax
mov dword [ebx + 0x60], eax
jmp case.default.0x40a767
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
sub eax, edx
mov dword [ebx + 0x60], 2
add esi, eax
mov dword [esp + 0x10], 1
mov dword [ebx + 0x60], 2
jmp 0x40a859
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
sub ecx, edx
mov dword [ebx + 0x60], 3
add esi, ecx
jmp 0x40a852
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
sub edx, ecx
mov dword [ebx + 0x60], 0
add ebp, edx
mov dword [esp + 0x18], 1
jmp 0x40a88c
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
cmp esi, eax
jae 0x40a806
xor edi, edi
cmp edx, edi
jne 0x40a808
mov ecx, 1
jmp 0x40a80a
xor edi, edi
xor ecx, ecx
cmp esi, eax
jae 0x40a81a
cmp edx, edi
mov dword [esp + 0x10], 1
jne 0x40a81e
mov dword [esp + 0x10], edi
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
cmp ebp, edx
jae 0x40a836
cmp eax, edi
mov dword [esp + 0x18], 1
jne 0x40a83a
mov dword [esp + 0x18], edi
cmp ebp, edx
jae 0x40a84a
cmp eax, edi
mov dword [esp + 0x14], 1
je 0x40a84e
mov dword [esp + 0x14], edi
cmp ecx, edi
je 0x40a877
mov dword [ebx + 0x60], 3
mov eax, dword [esp + 0x10]
test eax, eax
je case.default.0x40a767
mov eax, dword [ebx + 0x14c]
mov ecx, dword [esp + 0x3c]
sub eax, esi
add eax, ecx
mov dword [ebx + 0x21c], eax
jmp 0x40a8af
cmp dword [esp + 0x10], edi
je 0x40a886
mov dword [ebx + 0x60], 2
jmp 0x40a859
cmp dword [esp + 0x18], edi
je 0x40a8c5
mov dword [ebx + 0x60], 0
mov edx, dword [ebx + 0x228]
mov ecx, dword [ebx + 0x14c]
mov eax, dword [esp + 0x34]
sub esi, edx
sub esi, ecx
add esi, eax
mov dword [ebx + 0x21c], esi
mov eax, dword [esp + 0x14]
mov dword [ebx + 0x220], ebp
test eax, eax
je 0x40a8d4
mov dword [ebx + 0x220], ebp
jmp 0x40a8e8
cmp dword [esp + 0x14], edi
je case.default.0x40a767
mov dword [ebx + 0x60], 1
jmp case.default.0x40a767
mov eax, dword [esp + 0x18]
test eax, eax
je 0x40a8e8
mov eax, dword [esp + 0x1c]
sub eax, ebp
mov dword [ebx + 0x220], eax
mov ecx, dword [ebx + 0x15c]
mov edx, dword [ebx + 0x21c]
mov eax, dword [ebx + 0x220]
pop edi
pop esi
mov dword [ebx + 0x224], ecx
mov dword [ebx + 0x22c], edx
mov dword [ebx + 0x230], eax
pop ebp
pop ebx
add esp, 0x58
ret