Code:
private static unsafe void smethod_20()
{
void* voidPtr = (void*) stackalloc byte[2];
if (GlobalSettings.Instance.KeepGameInForeground)
{
*((sbyte*) voidPtr) = ZetaDia.Memory.Read<byte>(ZetaDia.Offsets.struct11_0.intptr_0, false) == 1;
if (*(((sbyte*) voidPtr)) == 0)
{
object obj2; <- #1 object declaration World
Executor executor = ZetaDia.Memory.Executor;
*((sbyte*) (voidPtr + 1)) = 0;
try
{
Monitor.Enter(obj2 = executor.AssemblyLock, ref (bool) ref (voidPtr + 1));
executor.Clear();
executor.AddRandomLine("push 1");
executor.AddRandomLine("call {0}", new object[] { ZetaDia.Offsets.struct9_0.intptr_581 });
executor.AddRandomLine("add esp, 4");
executor.AddRandomLine("retn");
executor.Execute(null);
}
finally
{
if (*(((sbyte*) (voidPtr + 1))) != 0)
{
Monitor.Exit(obj2);
}
}
}
}
}