unsigned __int8 __fastcall VgaModeSetPaletteRange(int a1, int a2)
{
unsigned __int8 *v2; // edi
unsigned int n9; // ecx
unsigned int i; // ebx
unsigned __int8 v5; // al
unsigned __int8 v6; // al
unsigned int n0x19; // esi
unsigned int n0x14; // esi
unsigned __int8 result; // al
unsigned __int8 v10; // [esp+13h] [ebp-11h]
unsigned __int8 v11; // [esp+13h] [ebp-11h]
unsigned __int8 v12; // [esp+13h] [ebp-11h]
unsigned __int8 v13; // [esp+13h] [ebp-11h]
unsigned __int16 n981; // [esp+18h] [ebp-Ch]
unsigned __int8 v15; // [esp+18h] [ebp-Ch]
unsigned __int8 v16; // [esp+18h] [ebp-Ch]
unsigned __int8 v17; // [esp+18h] [ebp-Ch]
v2 = *(unsigned __int8 **)(a2 + 16);
__outbyte(0x3C2u, *v2);
__outbyte(0x3C4u, 0);
__outbyte(0x3C5u, 3u);
n9 = 0;
for ( i = 0; i < 4; ++i )
{
v5 = v2[i + 1];
v10 = v5;
if ( !i )
v10 = v5 | 0x20;
__outbyte(0x3C4u, i + 1);
__outbyte(0x3C5u, v10);
}
__outbyte(0x3D4u, 0x11u);
n981 = 981;
v6 = __inbyte(0x3D5u);
__outbyte(n981, v6 & 0x7F);
n0x19 = 0;
v15 = 0;
do
{
v11 = v2[n0x19 + 5];
__outbyte(0x3D4u, v15);
__outbyte(0x3D5u, v11);
v15 = ++n0x19;
}
while ( n0x19 < 0x19 );
__inbyte(0x3DAu);
n0x14 = 0;
v16 = 0;
do
{
v12 = v2[n0x14 + 30];
__outbyte(0x3C0u, v16);
__outbyte(0x3C0u, v12);
v16 = ++n0x14;
}
while ( n0x14 < 0x14 );
__outbyte(0x3C0u, 0x14u);
__outbyte(0x3C0u, 0);
__inbyte(0x3DAu);
__outbyte(0x3C0u, 0x20u);
v17 = 0;
do
{
v13 = v2[n9 + 50];
__outbyte(0x3CEu, v17);
result = v13;
__outbyte(0x3CFu, v13);
v17 = ++n9;
}
while ( n9 < 9 );
return result;
}