// DebugPrint - decompiled from Platform.efi
void DebugPrint(UINTN ErrorLevel, const CHAR8 *Format, ...)
{
__int64 v3; // rax
__int64 v4; // r8
void (__fastcall **v5)(UINTN, const CHAR8 *, __int64 *); // r9
unsigned __int8 v6; // al
char n3_1; // al
char n3; // cl
va_list va; // [rsp+40h] [rbp+18h] BYREF
va_start(va, Format);
v3 = CalculateCrc(); /*0x5fbb*/
v4 = 0; /*0x5fc0*/
v5 = (void (__fastcall **)(UINTN, const CHAR8 *, __int64 *))v3; /*0x5fc3*/
if ( v3 ) /*0x5fc9*/
{
v6 = __inbyte(0x70u); /*0x5fcf*/
__outbyte(0x70u, v6 & 0x80 | 0x4B); /*0x5fd4*/
n3_1 = __inbyte(0x71u); /*0x5fd9*/
n3 = n3_1; /*0x5fda*/
if ( (unsigned __int8)n3_1 > 3u ) /*0x5fe0*/
{
n3 = n3_0; /*0x5fe2*/
if ( !n3_0 ) /*0x5fea*/
n3 = MEMORY[0xFDAF0490] & 2 | 1; /*0x5ff6*/
}
if ( (unsigned __int8)(n3 - 1) <= 0xFDu ) /*0x5ffe*/
{
v4 = 2147483718LL; /*0x6007*/
if ( n3 == 1 ) /*0x600d*/
v4 = 2147483652LL; /*0x600d*/
}
if ( (v4 & ErrorLevel) != 0 ) /*0x6014*/
(*v5)(ErrorLevel, Format, (__int64 *)va); /*0x6023*/
}
}