Newer
Older
AMI-Aptio-BIOS-Reversed / PurleySktPkg / SouthClusterLbg / SiInit / Pei / SiInitPreMem / decompiled / ffd860b8.c
@Ajax Dong Ajax Dong 2 days ago 2 KB Restructure the repo
// 0xffd860b8
{"addr":"0xffd860b8","code":"int __thiscall sub_FFD860B8(int this)\n{\n  int v2; // esi\n  int v3; // edi\n  int v4; // eax\n  _DWORD *v5; // eax\n  int n8; // edx\n  int v8; // [esp+14h] [ebp-8h] BYREF\n  int n17; // [esp+18h] [ebp-4h] BYREF\n\n  sub_FFD7F9AF(64, (int)\"ConfigureXhci() - Start\\n\"); /*0xffd860c8*/\n  v2 = *(_DWORD *)(this + 3510); /*0xffd860cd*/\n  sub_FFD8BE68(); /*0xffd860d9*/\n  v3 = sub_FFD8CBBA(0, 20, 0); /*0xffd860f1*/\n  sub_FFD8C76F(&v8); /*0xffd860f3*/\n  *(_DWORD *)(v3 + 16) = v2; /*0xffd860fd*/\n  sub_FFD8CC4F(v3 + 4, 6); /*0xffd86101*/\n  if ( (*(_BYTE *)(this + 2263) & 2) != 0 ) /*0xffd86109*/\n    *(_DWORD *)(v2 + 33004) |= 1u; /*0xffd86114*/\n  v4 = sub_FFD8AD54(); /*0xffd8611a*/\n  (*(void (__cdecl **)(int, int *))(*(_DWORD *)v4 + 40))(v4, &n17); /*0xffd86127*/\n  if ( n17 == 17 ) /*0xffd86133*/\n    sub_FFD86747(this + 2263); /*0xffd86137*/\n  else\n    sub_FFD85FBC(); /*0xffd8613e*/\n  sub_FFD861FF(this, v2, v3); /*0xffd86148*/\n  sub_FFD8701A(this, v2); /*0xffd86151*/\n  sub_FFD7F9AF(64, (int)\"xHCI: XhciPostInitDone Start\\n\");\n  *(_DWORD *)(v2 + 32992) &= ~0x10000u; /*0xffd86174*/\n  *(_DWORD *)(v3 + 80) = 265186911; /*0xffd8617c*/\n  sub_FFD7F9AF(64, (int)\"xHCI: XhciPostInitDone End\\n\");\n  if ( (*(_BYTE *)(this + 2263) & 4) != 0 ) /*0xffd8618e*/\n  {\n    sub_FFD86E37(this + 2263, v3); /*0xffd86194*/\n  }\n  else\n  {\n    sub_FFD7F9AF(0x80000000, (int)\"Clear Over-Current registers\\n\"); /*0xffd861a5*/\n    v5 = (_DWORD *)(v3 + 208); /*0xffd861ae*/\n    n8 = 8; /*0xffd861b4*/\n    do /*0xffd861c8*/\n    {\n      *(v5 - 8) = 0; /*0xffd861b5*/\n      *v5++ = 0; /*0xffd861bc*/\n      --n8; /*0xffd861c5*/\n    }\n    while ( n8 ); /*0xffd861c8*/\n  }\n  sub_FFD8687F(this + 2263, v2); /*0xffd861ce*/\n  sub_FFD8CC6A(v3 + 4, 65529); /*0xffd861db*/\n  *(_DWORD *)(v3 + 16) = 0; /*0xffd861e7*/\n  sub_FFD7F9AF(64, (int)\"ConfigureXhciPreMem () - End\\n\"); /*0xffd861ee*/\n  return 0; /*0xffd861f5*/\n}","refs":[{"addr":"0xffd7f9af","name":"sub_FFD7F9AF"},{"addr":"0xffd94008","name":"aConfigurexhciS","string":"ConfigureXhci() - Start\n"},{"addr":"0xffd8be68","name":"sub_FFD8BE68"},{"addr":"0xffd8cbba","name":"sub_FFD8CBBA"},{"addr":"0xffd8c76f","name":"sub_FFD8C76F"},{"addr":"0xffd8cc4f","name":"sub_FFD8CC4F"},{"addr":"0xffd8ad54","name":"sub_FFD8AD54"},{"addr":"0xffd86747","name":"sub_FFD86747"},{"addr":"0xffd85fbc","name":"sub_FFD85FBC"},{"addr":"0xffd861ff","name":"sub_FFD861FF"},{"addr":"0xffd8701a","name":"sub_FFD8701A"},{"addr":"0xffd94420","name":"aXhciXhcipostin","string":"xHCI: XhciPostInitDone Start\n"},{"addr":"0xffd94440","name":"aXhciXhcipostin_0","string":"xHCI: XhciPostInitDone End\n"},{"addr":"0xffd86e37","name":"sub_FFD86E37"},{"addr":"0xffd94024","name":"aClearOverCurre","string":"Clear Over-Current registers\n"},{"addr":"0xffd8687f","name":"sub_FFD8687F"},{"addr":"0xffd8cc6a","name":"sub_FFD8CC6A"},{"addr":"0xffd94044","name":"aConfigurexhcip","string":"ConfigureXhciPreMem () - End\n"}]}