Newer
Older
AMI-Aptio-BIOS-Reversed / SystemInventory / SystemInventory_sub_8D8.c
@Ajax Dong Ajax Dong 2 days ago 1 KB Init
_BYTE *__fastcall sub_8D8(_BYTE *p_n145_1, _BYTE *a2, unsigned __int64 n62)
{
  unsigned __int64 n62_1; // rdi
  _BYTE *p_n145; // rbx
  _BYTE *p_n145_2; // rbp

  n62_1 = n62; /*0x8ec*/
  p_n145 = p_n145_1; /*0x8f2*/
  if ( !n62 ) /*0x8f8*/
    return p_n145_1; /*0x8fa*/
  if ( !p_n145_1 ) /*0x915*/
    sub_788("e:\\hs\\MdePkg\\Library\\BaseLib\\String.c", 1033, "Destination != ((void *) 0)"); /*0x926*/
  if ( p_n145 - a2 <= (unsigned __int64)sub_9F0(a2) ) /*0x945*/
    sub_788("e:\\hs\\MdePkg\\Library\\BaseLib\\String.c", 1038, "(UINTN)(Destination - Source) > AsciiStrLen (Source)"); /*0x956*/
  if ( a2 - p_n145 < n62_1 ) /*0x96d*/
    sub_788("e:\\hs\\MdePkg\\Library\\BaseLib\\String.c", 1039, "(UINTN)(Source - Destination) >= Length"); /*0x97e*/
  if ( n62_1 > 0xF4240 ) /*0x999*/
    sub_788( /*0x9aa*/
      "e:\\hs\\MdePkg\\Library\\BaseLib\\String.c",
      1042,
      "Length <= _gPcd_FixedAtBuild_PcdMaximumAsciiStringLength");
  p_n145_2 = p_n145; /*0x9af*/
  while ( *a2 && n62_1 ) /*0x9b7*/
  {
    *p_n145++ = *a2++; /*0x9b9*/
    --n62_1; /*0x9c1*/
  }
  sub_63C(p_n145, n62_1); /*0x9d0*/
  return p_n145_2; /*0x9e7*/
}