PopBatteryWaitTag

UINT64 __fastcall PopBatteryWaitTag(){
  __int64 v0; 
  __int64 v1; 
  __int64 v2; 
  UINT64 result; 
  UINT64 InputSize; 
  UINT64 OutputSize; 
  *(_DWORD *)(v0 + 104) = 0;
  *(_DWORD *)(v0 + 168) = -1;
  v1 = v0;
  LODWORD(OutputSize) = 4;
  LODWORD(InputSize) = 4;
  PopPrepareIoctl(*(IRP **)(v0 + 56), 0x294040ui64, 0, (PVOID)(v0 + 168), InputSize, OutputSize);
  v2 = *(_QWORD *)(*(_QWORD *)(v1 + 56) + 184i64);
  *(_QWORD *)(v2 - 16) = PopBatteryIrpComplete;
  *(_QWORD *)(v2 - 8) = v1;
  *(_BYTE *)(v2 - 69) = -32;
  LODWORD(result) = IofCallDriver(*(PDEVICE_OBJECT *)(v1 + 48), *(PIRP *)(v1 + 56));
  return result;
}

Referenced by:

PopBatteryAdd
PopBatteryWorker