Function at 0x501931
Capabilities:
Find taskbar

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4c
mov eax, dword [0x7286bc]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0
push ecx
mov ebx, ecx
mov ecx, esp
push str.Shell_TrayWnd
mov dword [ebp - 0x4c], ebx
call fcn.004177e7
lea ecx, [ebp - 0x18]
call fcn.00442986
lea ecx, [ebp - 0x18]
call fcn.00484e19
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 8]
call dword [sym.imp.USER32.dll_GetWindowRect]
lea esi, [ebp - 0x18]
lea edi, [ebp - 0x48]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edi, edi
push edi
push str._Pcmaster_LunarCalendar_Push_Notice
mov dword [ebp - 0x1c], edi
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x5019b2
xor esi, esi
inc esi
push edi
push str._Pcmaster_LunarCalendar_Push_Notice
push eax
push edi
call dword [sym.imp.USER32.dll_FindWindowExW]
test eax, eax
je 0x5019af
inc esi
jmp 0x50199a
mov dword [ebp - 0x1c], esi
push edi
push 0x186
lea ecx, [ebx + 0x20]
call fcn.005d30ce
push edi
push 0xc3
lea ecx, [ebx + 0x20]
mov dword [ebp - 0x38], eax
call fcn.005d30ce
push edi
mov edi, dword [sym.imp.USER32.dll_GetSystemMetrics]
mov dword [ebp - 0x34], eax
call edi
mov ebx, eax
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x3c]
push 1
mov dword [ebp - 0x20], eax
call edi
mov esi, eax
mov eax, dword [ebp - 0x28]
add esi, dword [ebp - 0x20]
cmp eax, 1
je 0x5019fe
cmp eax, 2
jne 0x501a0f
push 0
call edi
push 1
mov ebx, eax
call edi
mov esi, eax
add esi, dword [ebp - 0x20]
jmp 0x501a2d
cmp eax, 3
je 0x501a19
cmp eax, 4
jne 0x501a2d
push 0
call edi
mov ebx, eax
mov eax, dword [ebp - 0x48]
sub eax, dword [ebp - 0x40]
push 1
add ebx, eax
call edi
mov esi, eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
add eax, 5
mov dword [ebp - 0x2c], eax
add ecx, 5
mov eax, esi
mov edi, dword [ebp - 0x1c]
cdq
idiv ecx
movd xmm1, edi
cvtdq2pd xmm1, xmm1
push ecx
push ecx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], eax
movd xmm0, eax
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [esp], xmm1
call fcn.00641eb0
fstp qword [ebp - 0x40]
cvttsd2si eax, qword [ebp - 0x40]
pop ecx
pop ecx
mov ecx, ebx
mov dword [ebp - 0x1c], esi
mov edx, eax
imul edx, dword [ebp - 0x2c]
sub ecx, edx
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x24]
dec eax
imul eax, edx
mov dword [ebp - 0x20], eax
mov eax, edi
sub eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x28]
sub dword [ebp - 0x1c], eax
test ecx, ecx
jns 0x501ade
mov eax, edx
imul eax, edx
imul edx, dword [ebp - 0x2c]
push 0xfffffffffffffff6
pop ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x3c], eax
jmp 0x501ab5
mov ecx, dword [ebp - 0x24]
sub dword [ebp - 0x20], eax
sub edi, eax
mov eax, dword [ebp - 0x30]
sub dword [ebp - 0x24], 0xa
sub eax, edx
sub ecx, eax
mov dword [ebp - 0x30], eax
mov eax, edi
mov dword [ebp - 0x1c], esi
sub eax, dword [ebp - 0x20]
imul eax, dword [ebp - 0x28]
sub dword [ebp - 0x1c], eax
add ecx, ebx
mov eax, dword [ebp - 0x3c]
js 0x501ab2
mov esi, dword [ebp - 0x4c]
push 0x10
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp - 0x1c]
push ecx
push 0xffffffffffffffff
push dword [esi + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0
push 4
mov ecx, esi
call fcn.005c254d
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00609802
mov esp, ebp
pop ebp
ret