Newer
Older
AMI-Aptio-BIOS-Reversed / PurleyPlatPkg / Platform / Pei / EarlyVideoPei / ImageDecodeBlock0.c
@Ajax Dong Ajax Dong 2 days ago 1 KB Full restructure
char __fastcall ImageDecodeBlock0(int n510533888, int *p_n981)
{
  unsigned __int8 v2; // al
  unsigned __int8 v3; // al
  unsigned __int8 v4; // al
  unsigned __int8 v5; // ah
  unsigned __int8 v6; // al
  unsigned __int8 v7; // cl
  unsigned __int8 v8; // al
  unsigned __int8 v9; // bl
  unsigned __int8 v10; // al

  __outbyte(0x2Eu, 0xA5u);
  __outbyte(0x2Eu, 0xA5u);
  __outbyte(0x2Eu, 7u);
  __outbyte(0x2Fu, 0xDu);
  __outbyte(0x2Eu, 0x30u);
  v2 = __inbyte(0x2Fu);
  __outbyte(0x2Fu, v2 | 1);
  __outbyte(0x2Eu, 0xF0u);
  __outbyte(0x2Fu, HIBYTE(n510533888));
  __outbyte(0x2Eu, 0xF1u);
  __outbyte(0x2Fu, BYTE2(n510533888));
  __outbyte(0x2Eu, 0xF2u);
  __outbyte(0x2Fu, BYTE1(n510533888));
  __outbyte(0x2Eu, 0xF3u);
  __outbyte(0x2Fu, n510533888);
  __outbyte(0x2Eu, 0xF8u);
  v3 = __inbyte(0x2Fu);
  __outbyte(0x2Fu, v3 & 0xFC | 2);
  __outbyte(0x2Eu, 0xFEu);
  __inbyte(0x2Fu);
  __outbyte(0x2Eu, 0xF4u);
  v4 = __inbyte(0x2Fu);
  v5 = v4;
  __outbyte(0x2Eu, 0xF5u);
  v6 = __inbyte(0x2Fu);
  v7 = v6;
  __outbyte(0x2Eu, 0xF6u);
  v8 = __inbyte(0x2Fu);
  v9 = v8;
  __outbyte(0x2Eu, 0xF7u);
  v10 = __inbyte(0x2Fu);
  *p_n981 = v10 | ((v9 | ((v7 | (v5 << 8)) << 8)) << 8);
  __outbyte(0x2Eu, 0xAAu);
  return -86;
}