HvpReadHiveDataFromFile

NTSTATUS __stdcall HvpReadHiveDataFromFile(PVOID Context, UINT8 **Data, UINT64 *a3){
  NTSTATUS v3; 
  unsigned int v7; 
  UINT8 *v8; 
  v3 = 0;
  *Data = 0i64;
  *(_DWORD *)a3 = 0;
  v7 = *((_DWORD *)Context + 6);
  if( *((_DWORD *)Context + 8) - *((_DWORD *)Context + 7) <= v7 )
    v7 = *((_DWORD *)Context + 8) - *((_DWORD *)Context + 7);
  if( !v7 )
    return -1073741807;
  if( (*(int(__fastcall **)(_QWORD, _QWORD, _QWORD, _QWORD, unsigned int))(*(_QWORD *)Context + 48i64))(
         *(_QWORD *)Context,
         *((unsigned int *)Context + 2),
         *((unsigned int *)Context + 3),
         *((_QWORD *)Context + 2),
         v7) < 0 )
    return -1073741491;
  *((_DWORD *)Context + 3) += v7;
  v8 = (UINT8 *)*((_QWORD *)Context + 2);
  *((_DWORD *)Context + 7) += v7;
  *Data = v8;
  *(_DWORD *)a3 = v7;
  return v3;
}

Referenced by:

HvpMapHiveImage