KiOp_MOVDQA

NTSTATUS __stdcall KiOp_MOVDQA(INT64 a1){
  __int64 CurrentThread; 
  NTSTATUS result; 

  if( *(_BYTE *)(a1 + 58) )
    return 0;
  if( *(_BYTE *)(a1 + 81) != 1 )
    return 0;
  CurrentThread = (__int64)KeGetCurrentThread();
  if( (*(_DWORD *)(CurrentThread + 120) & 4) == 0 )
  {
    CurrentThread = *(unsigned int *)(*(_QWORD *)(CurrentThread + 184) + 632i64);
    if( (CurrentThread & 1) == 0 )
      return 0;
  }
  result = KiOpPatchCode(CurrentThread, *(_QWORD *)a1, 243);
  if( (int)(result + 0x80000000) < 0 || result == -1073741267 )
  {
    *(_BYTE *)(a1 + 96) = 1;
    return 0;
  }
  return result;
}

Referenced by:

No references.