Function at 0x402773
Capabilities:
Find taskbar

Disassembly:
push 0x74
mov eax, 0x4c7823
call fcn.00496d1f
mov ebx, ecx
xor eax, eax
lea edi, [ebp - 0x20]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
lea ecx, [ebp - 0x20]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
push 0
push str.Shell_TrayWnd
call dword [sym.imp.USER32.dll_FindWindowW]
push 1
push eax
call dword [sym.imp.USER32.dll_MonitorFromWindow]
mov edx, eax
test edx, edx
je 0x402833
push 0xa
pop ecx
xor eax, eax
lea edi, [ebp - 0x6c]
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x6c]
mov dword [ebp - 0x6c], 0x28
push eax
push edx
call dword [sym.imp.USER32.dll_GetMonitorInfoW]
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0x24
lea eax, [ebp - 0x44]
movlpd qword [ebp - 0x40], xmm0
push eax
push 5
movlpd qword [ebp - 0x38], xmm0
movlpd qword [ebp - 0x30], xmm0
movlpd qword [ebp - 0x28], xmm0
call dword [sym.imp.SHELL32.dll_SHAppBarMessage]
mov ecx, dword [ebp - 0x38]
cmp ecx, 3
jne 0x40280d
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x14], eax
jmp 0x402833
cmp ecx, 1
jne 0x40281a
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x1c], eax
jmp 0x402833
cmp ecx, 2
jne 0x402827
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x18], eax
jmp 0x402833
mov eax, dword [ebp - 0x20]
test ecx, ecx
cmove eax, dword [ebp - 0x58]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebx + 0x2c]
test ecx, ecx
je 0x402962
cmp byte [ebx + 0x71], 0
je 0x402937
xor ecx, ecx
lea eax, [ebx + 0x4c]
mov dword [ebp - 0x70], ecx
cmp dword [eax + 0x10], ecx
je 0x4028c6
mov dword [ebp - 0x7c], vtable.JSONStringValueSerializer.0
mov dword [ebp - 0x78], eax
mov word [ebp - 0x74], 1
mov byte [ebp - 0x72], cl
push ecx
mov dword [ebp - 4], ecx
push ecx
lea ecx, [ebp - 0x7c]
call fcn.00436e10
mov esi, eax
mov dword [ebp - 0x80], esi
mov byte [ebp - 4], 1
test esi, esi
je 0x4028b8
cmp dword [esi + 4], 6
jne 0x4028b0
push 0x4d2cec
lea ecx, [ebp - 0x38]
call fcn.00402297
lea eax, [ebp - 0x70]
mov byte [ebp - 4], 2
push eax
lea eax, [ebp - 0x38]
mov ecx, esi
push eax
call fcn.00435690
lea ecx, [ebp - 0x38]
call fcn.0040403b
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x7c]
call fcn.00436e00
jmp 0x4028e0
cmp dword [ebx + 0x44], ecx
je 0x4028e0
lea eax, [ebx + 0x34]
cmp dword [eax + 0x14], 0x10
jb 0x4028d6
mov eax, dword [eax]
push eax
call fcn.004a3362
pop ecx
mov dword [ebp - 0x70], eax
mov ecx, ebx
call fcn.00403457
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x4d2d20]
cvtpd2ps xmm1, xmm0
divss xmm1, dword [0x4d2d10]
cvtps2pd xmm0, xmm1
comisd xmm0, xmmword [str.333333]
jbe 0x402929
movd xmm0, dword [ebp - 0x70]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
cvttss2si ecx, xmm0
mov dword [ebp - 0x70], ecx
jmp 0x40292c
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x18]
sub eax, ecx
mov ecx, dword [ebx + 0x2c]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x14]
sub eax, dword [ebp - 0x1c]
mov edx, dword [ecx]
push eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
push eax
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
call dword [edx + 0xc]
mov ecx, dword [ebx + 0x2c]
mov eax, dword [ecx]
call dword [eax + 0x38]
mov ecx, dword [ebx + 0x2c]
push 1
mov eax, dword [ecx]
call dword [eax + 0x48]
call fcn.00496cc9
ret