IopMarkApcRoutineIfAsynchronousIo32

INT64 __fastcall IopMarkApcRoutineIfAsynchronousIo32(UINT64 **a1, INT64 *a2, CHAR a3){
  UINT64 *v4; 
  INT64 result; 
  __int16 v6; 
  UINT64 *v7; 
  INT64 v8; 
  v4 = *a1;
  result = *(_QWORD *)(*((_QWORD *)KeGetCurrentThread() + 23) + 1408i64);
  if( result )
  {
    v6 = *(_WORD *)(result + 8);
    result = 332i64;
    if( v6 == 332 || (result = 452i64, v6 == 452) )
    {
      if( !a3 )
      {
        v7 = (UINT64 *)*(unsigned int *)v4;
        v8 = *a2 | 1;
        result = *(unsigned int *)v7;
        *(_DWORD *)v7 = result;
        *a1 = v7;
        *a2 = v8;
      }
    }
  }
  return result;
}

Referenced by:

BuildQueryDirectoryIrp
IopXxxControlFile
NtLockFile
NtNotifyChangeDirectoryFileEx
NtReadFile
NtReadFileScatter
NtWriteFile
NtWriteFileGather