HalWriteBootRegister

NTSTATUS __stdcall HalWriteBootRegister(UINT8 a1){
  char v1; 
  unsigned int v3; 
  char i; 
  char v5; 
  char v6; 
  INT64 v8; 

  v1 = 0;
  if( !qword_140C507D8 )
    return -1073741810;
  v3 = *(unsigned __int8 *)(qword_140C507D8 + 36);
  for( i = 1; (unsigned __int8)i < 0x80u; i *= 2 )
  {
    v5 = v1 + 1;
    if( (a1 & (unsigned __int8)i) == 0 )
      v5 = v1;
    v1 = v5;
  }
  if( (v5 & 1) != 0 )
    v6 = a1 & 0x7F;
  else
    v6 = a1 | 0x80;
  LOBYTE(v8) = v6;
  HalpSetCmosData(0i64, v3, (INT64)&v8, 1i64);
  return 0;
}

Referenced by:

HalpInitBootTable
HalpResetSBF