PopBatteryIrpComplete

NTSTATUS __stdcall PopBatteryIrpComplete(DEVICE_OBJECT *Device, IRP *Irp, PVOID Context){
  int v3; 
  bool v4; 
  int v5; 
  v3 = *((_DWORD *)Irp + 12);
  if( v3 == -1073741536 )
  {
    v4 = 0;
  }
  else
  {
    v5 = *((_DWORD *)Context + 26);
    v4 = 1;
    if( v3 >= 0 )
    {
      if( !v5 )
      {
        *((_DWORD *)Context + 27) = *((_DWORD *)Context + 42);
        *((_DWORD *)Context + 26) = 1;
      }
    }
    else
    {
      *((_DWORD *)Context + 26) = v5 != 0 ? 2 : 4;
      v4 = v5 != 0;
    }
  }
  KeSetEvent((PRKEVENT)((char *)Context + 80), 0);
  if( v4 )
    PopBatteryQueueWork(1i64);
  return -1073741802;
}

Referenced by:

No references.