Newer
Older
AMI-Aptio-BIOS-Reversed / PurleySktPkg / SouthClusterLbg / SiInit / Pei / SiInitPreMem / decompiled / ffd806ac.c
@Ajax Dong Ajax Dong 2 days ago 2 KB Restructure the repo
// 0xffd806ac
{"addr":"0xffd806ac","code":"int __thiscall sub_FFD806AC(char *this)\n{\n  char *this_1; // ebx\n  unsigned int v2; // ebp\n  int v3; // eax\n  unsigned int n3; // esi\n  unsigned int v5; // edi\n  _DWORD *v6; // ebx\n  int v7; // edx\n  int v10; // [esp+18h] [ebp-Ch]\n  int v11; // [esp+1Ch] [ebp-8h]\n  int v12; // [esp+20h] [ebp-4h]\n\n  v10 = 0; /*0xffd806b9*/\n  this_1 = this; /*0xffd806ba*/\n  v11 = 0; /*0xffd806c0*/\n  v12 = 0; /*0xffd806c1*/\n  v2 = (unsigned __int8)sub_FFD8BFFD(); /*0xffd806c7*/\n  if ( (v2 & 0xFFFFFFF8) > 0x18 ) /*0xffd806d2*/\n  {\n    v3 = sub_FFD7F97E(); /*0xffd806d4*/\n    if ( v3 ) /*0xffd806db*/\n      (*(void (__cdecl **)(const char *, int, const char *))(v3 + 4))( /*0xffd806ec*/\n        \"e:\\\\hs\\\\PurleySktPkg\\\\SouthClusterLbg\\\\LibraryPrivate\\\\PeiPchInitLib\\\\PchInitPreMem.c\",\n        958,\n        \"(MaxPciePortNum / 8) <= 3\");\n  }\n  n3 = 0; /*0xffd806f2*/\n  v5 = 0; /*0xffd806f4*/\n  if ( v2 ) /*0xffd806f8*/\n  {\n    v6 = this_1 + 28; /*0xffd806fa*/\n    do /*0xffd8072a*/\n    {\n      if ( (*v6 & 0x800) != 0 ) /*0xffd80705*/\n        v7 = (unsigned __int16)*v6 >> 12; /*0xffd8070a*/\n      else\n        v7 = 0; /*0xffd8070f*/\n      v6 += 25; /*0xffd8071e*/\n      *(&v10 + (v5 >> 3)) |= v7 << (4 * (v5 & 7)); /*0xffd80723*/\n      ++v5; /*0xffd80727*/\n    }\n    while ( v5 < v2 ); /*0xffd8072a*/\n    this_1 = this; /*0xffd8072c*/\n  }\n  v12 |= (*(_DWORD *)(this_1 + 2755) & 0xFFFFFF80) << 21; /*0xffd80747*/\n  sub_FFD7F9AF(64, (int)\"DRCRM: 0x%08x 0x%08x 0x%08x\\n\", v10, v11, v12);\n  do /*0xffd80779*/\n    sub_FFD8C497(4, *(&v10 + n3++)); /*0xffd8076e*/\n  while ( n3 < 3 ); /*0xffd80779*/\n  return sub_FFD8C578(-1, -2147254272); /*0xffd8078e*/\n}","refs":[{"addr":"0xffd8bffd","name":"sub_FFD8BFFD"},{"addr":"0xffd7f97e","name":"sub_FFD7F97E"},{"addr":"0xffd91f24","name":"aEHsPurleysktpk_1","string":"e:\\hs\\PurleySktPkg\\SouthClusterLbg\\LibraryPrivate\\PeiPchInitLib\\PchInitPreMem.c"},{"addr":"0xffd92198","name":"aMaxpcieportnum","string":"(MaxPciePortNum / 8) <= 3"},{"addr":"0xffd7f9af","name":"sub_FFD7F9AF"},{"addr":"0xffd921b4","name":"aDrcrm0x08x0x08","string":"DRCRM: 0x%08x 0x%08x 0x%08x\n"},{"addr":"0xffd8c497","name":"sub_FFD8C497"},{"addr":"0xffd8c578","name":"sub_FFD8C578"}]}