Newer
Older
AMI-Aptio-BIOS-Reversed / PurleySktPkg / SouthClusterLbg / SiInit / Pei / SiInitPreMem / decompiled / ffd8245b.c
@Ajax Dong Ajax Dong 2 days ago 3 KB Restructure the repo
// 0xffd8245b
{"addr":"0xffd8245b","code":"int __cdecl sub_FFD8245B(int n2)\n{\n  int v1; // ecx\n  int v2; // ebx\n  int v3; // edi\n  int v4; // esi\n  unsigned int n6; // ebp\n  int v6; // eax\n  unsigned __int8 n6_1; // cl\n  int v8; // eax\n\n  v2 = 0; /*0xffd82460*/\n  v3 = v1; /*0xffd8246c*/\n  if ( (_BYTE)n2 == 1 ) /*0xffd8246e*/\n  {\n    sub_FFD7F9AF(64, (int)\"ConfigurePchHSata() - First Controller - Start\\n\"); /*0xffd82477*/\n    v4 = sub_FFD8CBBA(0, 23, 0); /*0xffd8248a*/\n    n6 = (unsigned __int8)sub_FFD8C019(); /*0xffd82491*/\n  }\n  else\n  {\n    sub_FFD7F9AF(64, (int)\"ConfigurePchHSata() - Second Controller - Start\\n\"); /*0xffd8249d*/\n    v4 = sub_FFD8CBBA(0, 17, 5); /*0xffd824b1*/\n    n6 = 6; /*0xffd824b5*/\n  }\n  v6 = sub_FFD8CBBA(0, 31, 0); /*0xffd824bc*/\n  sub_FFD8CCA5((unsigned __int16 *)(v6 + 2)); /*0xffd824c5*/\n  sub_FFD81B92(n2); /*0xffd824d4*/\n  if ( (*(_BYTE *)v3 & 8) != 0 ) /*0xffd824dd*/\n  {\n    n6_1 = 0; /*0xffd824e3*/\n    if ( n6 ) /*0xffd824e7*/\n    {\n      v8 = 0; /*0xffd824e9*/\n      do /*0xffd82506*/\n      {\n        if ( (*(_BYTE *)(v3 + 8 * v8 + 12) & 1) != 0 && (*(_DWORD *)(v3 + 8 * v8 + 12) & 0x40000A) != 0 ) /*0xffd824fa*/\n          v2 |= 1 << v8; /*0xffd824fc*/\n        v8 = ++n6_1; /*0xffd82501*/\n      }\n      while ( n6_1 < n6 ); /*0xffd82506*/\n    }\n    *(_BYTE *)(v4 + 160) = -112; /*0xffd82508*/\n    *(_DWORD *)(v4 + 164) |= (unsigned __int8)~(_BYTE)v2; /*0xffd82521*/\n    *(_BYTE *)(v4 + 160) = 0x80; /*0xffd8252c*/\n    *(_DWORD *)(v4 + 164) |= v2 << 16; /*0xffd8253b*/\n    *(_BYTE *)(v4 + 160) = -116; /*0xffd82541*/\n    *(_DWORD *)(v4 + 164) |= 0xFF00FFu; /*0xffd82550*/\n    *(_BYTE *)(v4 + 160) = -96; /*0xffd82556*/\n    *(_DWORD *)(v4 + 164) = *(_DWORD *)(v4 + 164) & 0xFF037FFF | 0x588000; /*0xffd8256d*/\n    *(_BYTE *)(v4 + 160) = -124; /*0xffd82573*/\n    *(_DWORD *)(v4 + 164) |= 0xFF00FFu; /*0xffd82582*/\n    *(_BYTE *)(v4 + 160) = -92; /*0xffd82588*/\n    *(_DWORD *)(v4 + 164) |= 0x4000u; /*0xffd8259a*/\n    *(_BYTE *)(v4 + 160) = -52; /*0xffd825a0*/\n    *(_DWORD *)(v4 + 164) = -2009296895; /*0xffd825a7*/\n    *(_BYTE *)(v4 + 160) = -48; /*0xffd825b1*/\n    *(_DWORD *)(v4 + 164) = *(_DWORD *)(v4 + 164) & 0xFFFF0000 | 0x8828; /*0xffd825c8*/\n    *(_BYTE *)(v4 + 160) = -56; /*0xffd825ce*/\n    *(_DWORD *)(v4 + 164) |= 8u; /*0xffd825de*/\n    *(_BYTE *)(v4 + 160) = -56; /*0xffd825e4*/\n    *(_DWORD *)(v4 + 164) |= 1u; /*0xffd825f4*/\n    *(_BYTE *)(v4 + 160) = -56; /*0xffd825fa*/\n    *(_DWORD *)(v4 + 164) |= 2u; /*0xffd8260a*/\n  }\n  *(_BYTE *)(v4 + 160) = -88; /*0xffd82610*/\n  *(_DWORD *)(v4 + 164) &= 0xFFF0FFFF; /*0xffd82622*/\n  *(_BYTE *)(v4 + 160) = -44; /*0xffd82628*/\n  *(_DWORD *)(v4 + 164) = *(_DWORD *)(v4 + 164) & 0xC0C0E0E0 | 0x2C1E1108; /*0xffd8263f*/\n  *(_BYTE *)(v4 + 158) &= ~1u; /*0xffd8264d*/\n  if ( *(_DWORD *)(v3 + 4) == 1 ) /*0xffd82657*/\n    *(_BYTE *)(v4 + 158) |= 1u; /*0xffd82661*/\n  if ( (_BYTE)n2 == 1 ) /*0xffd8266c*/\n    return sub_FFD7F9AF(64, (int)\"ConfigurePchHSata() - First Controller - End\\n\"); /*0xffd82673*/\n  else\n    return sub_FFD7F9AF(64, (int)\"ConfigurePchHSata() - Second Controller - End\\n\"); /*0xffd8267c*/\n}","refs":[{"addr":"0xffd7f9af","name":"sub_FFD7F9AF"},{"addr":"0xffd930b0","name":"aConfigurepchhs","string":"ConfigurePchHSata() - First Controller - Start\n"},{"addr":"0xffd8cbba","name":"sub_FFD8CBBA"},{"addr":"0xffd8c019","name":"sub_FFD8C019"},{"addr":"0xffd930e0","name":"aConfigurepchhs_0","string":"ConfigurePchHSata() - Second Controller - Start\n"},{"addr":"0xffd8cca5","name":"sub_FFD8CCA5"},{"addr":"0xffd81b92","name":"sub_FFD81B92"},{"addr":"0xffd93114","name":"aConfigurepchhs_3","string":"ConfigurePchHSata() - First Controller - End\n"},{"addr":"0xffd93144","name":"aConfigurepchhs_4","string":"ConfigurePchHSata() - Second Controller - End\n"}]}