DbgkpLkmdSnapPendingIrps

VOID __fastcall DbgkpLkmdSnapPendingIrps(_DUMP_FILE_DESCRIPTOR *DumpFile, INT64 a2, INT64 *a3){
  INT64 v3; 
  _QWORD *v5; 
  int v7; 
  _QWORD *v8; 
  VOID *v9; 
  VOID *v10; 
  VOID *v11; 

  v3 = a2 + 1200;
  v5 = *(_QWORD **)(a2 + 1200);
  if( v5 == (_QWORD *)(a2 + 1200) )
  {
    *((_DWORD *)a3 + 1) |= 8u;
  }
  else
  {
    while( 1 )
    {
      ++*((_DWORD *)a3 + 2);
      DbgkpLkmdSnapData(DumpFile, v5, 0x10ui64);
      if( v7 < 0 )
        break;
      if( *((_WORD *)v5 - 16) != 6 )
      {
        v7 = -1073741503;
        break;
      }
      DbgkpLkmdSnapData(DumpFile, v5 - 4, *((unsigned __int16 *)v5 - 15));
      if( v7 < 0 )
        break;
      ++*((_DWORD *)a3 + 3);
      if( *((_BYTE *)v5 + 35) <= *((_BYTE *)v5 + 34) )
      {
        v8 = (_QWORD *)v5[19];
        DbgkpLkmdSnapData(DumpFile, v8, 0x48ui64);
        if( v7 != -1073741819 )
        {
          if( v7 == -1073741670 )
            break;
          v9 = (VOID *)v8[6];
          if( v9 )
            DbgkpLkmdSnapObject(DumpFile, v9, 5ui64);
          v10 = (VOID *)v8[5];
          if( v10 )
          {
            DbgkpLkmdSnapObject(DumpFile, v10, 3ui64);
            v11 = *(VOID **)(v8[5] + 8i64);
            if( v11 )
              DbgkpLkmdSnapObject(DumpFile, v11, 4ui64);
          }
        }
      }
      v5 = (_QWORD *)*v5;
      if( v5 == (_QWORD *)v3 )
      {
        *((_DWORD *)a3 + 1) |= 8u;
        v7 = 0;
        break;
      }
    }
    *(_DWORD *)a3 = v7;
  }
}

Referenced by:

DbgkpLkmdSnapThreadApc