unsafe static void WriteChar(EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL* ConOut, char data)
 {
     char* x = stackalloc char[2];
     x[0] = data;
     x[1] = '\0';
     ConOut->OutputString(ConOut, x);
 }
        private static long EfiMain(EFI_HANDLE imageHandle, EFI_SYSTEM_TABLE *systemTable)
        {
            ImageHandle = imageHandle;
            SystemTable = systemTable;
            //Prevent system reboot after 5 minutes
            SystemTable->BootServices->SetWatchdogTimer(0, 0);
            //Console Setup
            SetupExtendedConsoleinput(out In);
            Out = SystemTable->ConOut;
            Internal.Console.ConsoleSetup();

            Main();
            while (true)
            {
                ;
            }
        }