EtwpTraceOpticalIoInit

VOID __stdcall EtwpTraceOpticalIoInit(_IRP *Irp){
  unsigned __int8 MajorFunction; 
  _CDB *ScsiPassThroughCdb; 
  char v4; 
  UINT16 v5; 
  _ETHREAD *Thread; 
  int UniqueThread; 
  _IRP *v8; 
  int v9; 
  int v10; 
  _IRP **v11; 
  int v12; 
  int v13; 

  v10 = 0;
  MajorFunction = Irp->Tail.CurrentStackLocation->MajorFunction;
  if( MajorFunction == 3 )
    goto LABEL_11;
  if( MajorFunction == 4 )
    goto LABEL_10;
  if( MajorFunction != 9 )
  {
    if( MajorFunction != 14 )
      return;
    ScsiPassThroughCdb = EtwpGetScsiPassThroughCdb(Irp);
    if( !ScsiPassThroughCdb )
      return;
    v4 = *(_BYTE *)ScsiPassThroughCdb;
    if( ((*(_BYTE *)ScsiPassThroughCdb - 40) & 0x7F) != 0 )
    {
      if( ((v4 - 42) & 0x7F) != 0 )
      {
        if( v4 != 53 )
          return;
        goto LABEL_9;
      }
LABEL_10:
      v5 = 315;
      goto LABEL_12;
    }
LABEL_11:
    v5 = 314;
    goto LABEL_12;
  }
LABEL_9:
  v5 = 316;
LABEL_12:
  Thread = Irp->Tail.Thread;
  v8 = Irp;
  if( Thread )
    UniqueThread = (int)Thread->Cid.UniqueThread;
  else
    UniqueThread = -1;
  v13 = 0;
  v11 = &v8;
  v9 = UniqueThread;
  v12 = 12;
  EtwTraceKernelEvent((__int64)&v11, 1u, 0x80000002, v5, 0x501903u);
}

Referenced by:

No references.