PopBatteryReadTag

NTSTATUS __stdcall PopBatteryReadTag(POP_BATTERY *Battery){
  POP_BATTERY *v1; 
  int v3; 
  UINT64 InputSize; 
  UINT64 OutputSize; 

  v1 = Battery + 42;
  Battery[42] = 0;
  LODWORD(OutputSize) = 4;
  LODWORD(InputSize) = 4;
  PopPrepareIoctl(*((_IRP **)Battery + 7), 0x294040ui64, 0, Battery + 42, InputSize, OutputSize);
  v3 = IoSynchronousCallDriver(*((PDEVICE_OBJECT *)Battery + 6), *((PIRP *)Battery + 7));
  if( v3 >= 0 )
  {
    v3 = 0;
    Battery[27] = *v1;
    Battery[26] = 1;
    KeSetEvent((PRKEVENT)(Battery + 20), 0, 0);
  }
  return v3;
}

Referenced by:

PopBatteryWorker