Newer
Older
AMI-Aptio-BIOS-Reversed / PurleyPlatPkg / Platform / Pei / EarlyVideoPei / BitmapRenderLine.c
@Ajax Dong Ajax Dong 2 days ago 856 bytes Full restructure
int __fastcall BitmapRenderLine(char *i, int *Pool, int n3, int a4)
{
  char *i_1; // esi
  char v6; // dl
  int v7; // edi
  int BitsPerPixel; // eax
  int v9; // ecx
  int v10; // eax
  int v12; // [esp+Ch] [ebp-4h]

  i_1 = i;
  v6 = *i;
  if ( !*i )
    return 0;
  v7 = v12;
  while ( 1 )
  {
    BitsPerPixel = BitmapGetBitsPerPixel(a4, v6);
    if ( !BitsPerPixel )
    {
      v10 = BitmapRender(i_1, Pool, v9, v9);
LABEL_10:
      v7 = v10;
      goto LABEL_11;
    }
    if ( BitsPerPixel == 1 )
    {
      v10 = BitmapDecodeFull(i_1, Pool, v9, v9);
      goto LABEL_10;
    }
    if ( BitsPerPixel != 3 || n3 != 3 )
    {
      v10 = BitmapDecodePixels(i_1, Pool, v9, a4);
      goto LABEL_10;
    }
LABEL_11:
    if ( !v7 )
      return 0;
    if ( v7 < 0 )
      return -1;
    i_1 += v7;
    v6 = *i_1;
    if ( !*i_1 )
      return 0;
  }
}