HalpAcpiPmRegisterWrite

NTSTATUS __stdcall HalpAcpiPmRegisterWrite(
        _ACPI_PM_REGISTER Register,
        UINT64 Offset,
        VOID *Input,
        UINT64 BufferSize,
        UINT64 *BytesWritten){
  unsigned int v5; 
  __int64 v6; 
  __int64 v7; 

  v5 = Offset;
  v6 = 6i64 * (int)Register;
  v7 = *((unsigned int *)&CmpDummyThreadEvent + 12 * Register + 1254);
  if( (unsigned int)v7 > (unsigned int)BufferSize )
    return -1073741789;
  (*((void(__fastcall **)(_QWORD, __int64, VOID *))&CmpDummyThreadEvent + 6 * Register + 629))(
    *((_QWORD *)&CmpDummyThreadEvent + 6 * Register + 625) + v5,
    v7,
    Input);
  if( BytesWritten )
    *(_DWORD *)BytesWritten = *((_DWORD *)&CmpDummyThreadEvent + 2 * v6 + 1254);
  return 0;
}

Referenced by:

HaliAcpiSleep
HalpAcpiPostSleep
HalpAcpiPreSleep
HalpCheckWakeupTimeAndAdjust
HalpDpPostReplace
HalpDpPreReplace
HalpPowerWriteResetCommand
HalpShutdown