HalpAcpiSetupPmRegisterLegacy

NTSTATUS __fastcall HalpAcpiSetupPmRegisterLegacy(
        __int64 a1,
        int a2,
        __int64 a3,
        unsigned int a4,
        unsigned int a5,
        __int64 a6){
  unsigned __int8 v6; 
  int v7; 
  INT64 a3a; 
  int v10; 

  v6 = *(_BYTE *)(a1 + 8);
  if( v6 < 5u && !a2 )
    return -1073741823;
  a3a = 0i64;
  v10 = 0;
  if( v6 < 5u )
  {
    BYTE2(a3a) = 0;
    HIDWORD(a3a) = a2;
    LOBYTE(a3a) = 1;
    switch( (unsigned __int8)a4 )
    {
      case 1u:
        BYTE3(a3a) = 1;
        break;
      case 2u:
        BYTE3(a3a) = 2;
        break;
      case 4u:
        BYTE3(a3a) = 3;
        break;
      case 8u:
        BYTE3(a3a) = 4;
        break;
      default:
        BYTE3(a3a) = 0;
        break;
    }
    if( 8 * a4 <= 0xFF )
      BYTE1(a3a) = 8 * a4;
    else
      BYTE1(a3a) = -1;
  }
  else
  {
    v7 = *(_DWORD *)(a3 + 8);
    a3a = *(_QWORD *)a3;
    v10 = v7;
  }
  return HalpAcpiSetupPmRegister(a4, a5, (INT64)&a3a, a6);
}

Referenced by:

HalpAcpiInitializePmRegisters