SmKmIssueFileIo

__int64 __fastcall SmKmIssueFileIo(
        __int64 *a1,
        __int64 a2,
        _LARGE_INTEGER *a3,
        void (__stdcall *a4)(PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, ULONG Reserved),
        PVOID ApcContext){
  _IO_STATUS_BLOCK *v6; 
  void *v7; 
  __int64 v8; 
  NTSTATUS File; 
  ULONG v11; 

  v6 = *(_IO_STATUS_BLOCK **)a2;
  v7 = *(void **)(a2 + 8);
  v8 = *a1;
  v11 = *(_DWORD *)(a2 + 16);
  if( (*(_DWORD *)(a2 + 32) & 1) != 0 )
    File = NtReadFile(v8, 0, a4, ApcContext, v6, v7, v11, a3, 0i64);
  else
    File = NtWriteFile(v8, 0, a4, ApcContext, v6, v7, v11, a3, 0i64);
  if( (File & 0xC0000000) == -1073741824 )
  {
    v6->Status = File;
    ((void(__fastcall *)(PVOID, _IO_STATUS_BLOCK *, _QWORD))a4)(ApcContext, v6, 0i64);
  }
  return 259i64;
}

Referenced by:

SmKmIssueIo