SmKmIssueIo

__int64 __fastcall SmKmIssueIo(
        struct _SMKM_FILE_INFO *a1,
        __int64 a2,
        void (__stdcall *a3)(void *, struct _IO_STATUS_BLOCK *, unsigned int),
        void *a4,
        int a5){
  __int64 v5; 
  __int64 i; 
  union _LARGE_INTEGER v8; 
  v5 = *(unsigned int *)(a2 + 24);
  for( i = *((_QWORD *)a1 + 6); (unsigned int)v5 >= *(_DWORD *)i; i += 16i64 )
    v5 = (unsigned int)(v5 - *(_DWORD *)i);
  v8.QuadPart = *(_QWORD *)(i + 8) + *(unsigned int *)(a2 + 20) + v5 * *(unsigned int *)(a2 + 28);
  if( a5 )
    return SmKmIssueFileIo(a1, (struct _SMKM_ISSUE_IO_PARAMS *)a2, &v8, a3, a4);
  else
    return SmKmIssueVolumeIo((INT64)a1, a2, &v8, (INT64)a3, (INT64)a4);
}

Referenced by:

SmIssueIo