unsigned __int8 __fastcall VgaSeqProgram(int a1, int a2)
{
char n4; // al
unsigned int n32; // esi
unsigned __int8 n47; // al
int v7; // eax
int v8; // ecx
int n47_2; // ebx
unsigned __int8 v10; // [esp+10h] [ebp-10h]
unsigned __int8 v11; // [esp+10h] [ebp-10h]
unsigned __int8 n47_1; // [esp+10h] [ebp-10h]
char n112; // [esp+14h] [ebp-Ch]
char n2; // [esp+18h] [ebp-8h]
char v15; // [esp+1Ch] [ebp-4h]
n2 = 0;
n4 = 0;
n112 = 0;
n32 = *(_DWORD *)(a2 + 8);
if ( n32 == 1 )
{
n4 = 0;
n112 = 0;
n2 = 0;
}
else if ( n32 == 8 )
{
n112 = 112;
n4 = 1;
n2 = 1;
}
else if ( n32 > 0xE )
{
if ( n32 <= 0x10 )
{
n2 = 2;
n4 = 4;
n112 = 112;
}
else if ( n32 == 32 )
{
n2 = 3;
n4 = 8;
n112 = 112;
}
}
v15 = n4 | 0x80;
VgaSeqRegReadModifyWrite(0x3D4u, 0xA0u, 143, n112);
VgaSeqRegReadModifyWrite(0x3D4u, 0xA3u, 0, v15);
VgaSeqRegReadModifyWrite(0x3D4u, 0xA8u, 253, 0);
__outbyte(0x3D4u, 0xA7u);
if ( *(_BYTE *)(a1 + 28) < 0x20u )
{
__outbyte(0x3D5u, 0x3Fu);
__outbyte(0x3D4u, 0xA6u);
n47 = 47;
__outbyte(0x3D5u, 0x2Fu);
}
else
{
__outbyte(0x3D5u, 0x78u);
__outbyte(0x3D4u, 0xA6u);
n47 = 96;
__outbyte(0x3D5u, 0x60u);
}
if ( *(_DWORD *)(a2 + 8) > 1u )
{
v7 = *(_DWORD *)(a2 + 20);
v8 = *(_DWORD *)(v7 + 44);
n47_2 = *(_DWORD *)(v7 + 48);
v10 = 16 * n2;
__outbyte(0x3D4u, 0x8Cu);
__outbyte(0x3D5u, v10);
v11 = v8;
__outbyte(0x3D4u, 0x8Du);
__outbyte(0x3D5u, v11);
n47_1 = n47_2;
__outbyte(0x3D4u, 0x8Eu);
n47 = n47_1;
__outbyte(0x3D5u, n47_1);
}
return n47;
}