Newer
Older
AMI-Aptio-BIOS-Reversed / PurleyPlatPkg / Platform / Pei / EarlyVideoPei / VgaModeSetPaletteRange.c
@Ajax Dong Ajax Dong 2 days ago 1 KB Full restructure
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;
}