MalwareSourceCode/MSIL/Trojan-Dropper/Win32/S/Trojan-Dropper.Win32.Sysn.awyx-36fae8d04bf5f7d873dd5aa10ad92403f80b9af8b6ef91319e70ea2c9c043024/_0007/_0006.cs

1700 lines
43 KiB
C#
Raw Normal View History

2022-08-18 11:28:56 +00:00
// Decompiled with JetBrains decompiler
// Type: .
// Assembly: AudioHD, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: A79492AA-5FAA-4ED2-ACC6-3D90AD665D99
// Assembly location: C:\Users\Administrateur\Downloads\Virusshare-00000-msil\Trojan-Dropper.Win32.Sysn.awyx-36fae8d04bf5f7d873dd5aa10ad92403f80b9af8b6ef91319e70ea2c9c043024.exe
using \u0004;
using \u0005;
using \u0006;
using \u0007;
using System;
using System.Collections;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.ComTypes;
using System.Threading;
namespace \u0007
{
internal sealed class \u0006 : IDisposable, \u0001
{
private IConnectionPointContainer \u0001;
private ArrayList \u0001;
private IConnectionPoint \u0001;
private void \u000F()
{
IConnectionPoint ppCP = (IConnectionPoint) null;
Guid riid = new Guid(new byte[16]
{
(byte) 91,
(byte) 117,
(byte) 36,
(byte) 56,
(byte) 171,
(byte) 240,
(byte) 154,
(byte) 64,
(byte) 163,
(byte) 13,
(byte) 20,
(byte) 184,
(byte) 16,
(byte) 125,
(byte) 224,
(byte) 234
});
this.\u0001.FindConnectionPoint(ref riid, out ppCP);
this.\u0001 = ppCP;
this.\u0001 = new ArrayList();
}
public virtual void add_OnGroupAdded([In] \u0002 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnGroupAdded([In] \u0002 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnGroupRemoved([In] \u0003 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnGroupRemoved([In] \u0003 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnGroupNameChanged([In] \u0004.\u0004 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnGroupNameChanged([In] \u0004.\u0004 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnContactAddedToGroup([In] \u0004.\u0005 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnContactAddedToGroup([In] \u0004.\u0005 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnContactRemovedFromGroup([In] \u0004.\u0006 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnContactRemovedFromGroup([In] \u0004.\u0006 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnIMWindowCreated([In] \u0004.\u0007 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnIMWindowCreated([In] \u0004.\u0007 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnIMWindowDestroyed([In] \u0008 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnIMWindowDestroyed([In] \u0008 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnIMWindowContactAdded([In] \u0001 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnIMWindowContactAdded([In] \u0001 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnIMWindowContactRemoved([In] \u0002 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnIMWindowContactRemoved([In] \u0002 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnAppShutdown([In] \u0003 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnAppShutdown([In] \u0003 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnSignin([In] \u0005.\u0004 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnSignin([In] \u0005.\u0004 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnSignout([In] \u0005.\u0005 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnSignout([In] \u0005.\u0005 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnContactListAdd([In] \u0005.\u0006 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnContactListAdd([In] \u0005.\u0006 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnContactListRemove([In] \u0005.\u0007 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnContactListRemove([In] \u0005.\u0007 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnMyFriendlyNameChange([In] \u0008 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnMyFriendlyNameChange([In] \u0008 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnMyStatusChange([In] \u0001 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnMyStatusChange([In] \u0001 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnMyPhoneChange([In] \u0002 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnMyPhoneChange([In] \u0002 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnMyPropertyChange([In] \u0003 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnMyPropertyChange([In] \u0003 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnContactFriendlyNameChange([In] \u0006.\u0004 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnContactFriendlyNameChange([In] \u0006.\u0004 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnContactStatusChange([In] \u0006.\u0005 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnContactStatusChange([In] \u0006.\u0005 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnContactPropertyChange([In] \u0006.\u0006 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnContactPropertyChange([In] \u0006.\u0006 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnContactBlockChange([In] \u0006.\u0007 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnContactBlockChange([In] \u0006.\u0007 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnContactPagerChange([In] \u0008 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnContactPagerChange([In] \u0008 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnContactPhoneChange([In] \u0001 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnContactPhoneChange([In] \u0001 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnUnreadEmailChange([In] \u0002 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnUnreadEmailChange([In] \u0002 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void add_OnEmoticonListChange([In] \u0003 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
this.\u000F();
\u0007.\u0005 pUnkSink = new \u0007.\u0005();
int pdwCookie = 0;
this.\u0001.Advise((object) pUnkSink, out pdwCookie);
pUnkSink.\u0001 = pdwCookie;
pUnkSink.\u0001 = obj0;
this.\u0001.Add((object) pUnkSink);
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void remove_OnEmoticonListChange([In] \u0003 obj0)
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 >= count)
return;
do
{
\u0007.\u0005 obj = (\u0007.\u0005) this.\u0001[index];
if (obj.\u0001 != null && ((obj.\u0001.Equals((object) obj0) ? 1 : 0) & (int) byte.MaxValue) != 0)
{
this.\u0001.RemoveAt(index);
this.\u0001.Unadvise(obj.\u0001);
if (count <= 1)
{
Marshal.ReleaseComObject((object) this.\u0001);
this.\u0001 = (IConnectionPoint) null;
this.\u0001 = (ArrayList) null;
return;
}
goto label_4;
}
else
++index;
}
while (index < count);
goto label_11;
label_4:
return;
label_11:;
}
finally
{
Monitor.Exit((object) this);
}
}
public override void Finalize()
{
Monitor.Enter((object) this);
try
{
if (this.\u0001 == null)
return;
int count = this.\u0001.Count;
int index = 0;
if (0 < count)
{
do
{
this.\u0001.Unadvise(((\u0007.\u0005) this.\u0001[index]).\u0001);
++index;
}
while (index < count);
}
Marshal.ReleaseComObject((object) this.\u0001);
}
catch (Exception ex)
{
}
finally
{
Monitor.Exit((object) this);
}
}
public virtual void Dispose()
{
this.Finalize();
GC.SuppressFinalize((object) this);
}
}
}