Index: /trunk/src/VBox/Disassembler/DisasmCore.cpp
===================================================================
--- /trunk/src/VBox/Disassembler/DisasmCore.cpp	(revision 41781)
+++ /trunk/src/VBox/Disassembler/DisasmCore.cpp	(revision 41782)
@@ -313,7 +313,5 @@
     }
 
-    if (off <= pCpu->cbCachedInstr)
-        disReadMore(pCpu, off, 1);
-
+    disReadMore(pCpu, off, 1);
     return pCpu->abInstr[off];
 }
@@ -368,7 +366,5 @@
     }
 
-    if (off + 2 < pCpu->cbCachedInstr)
-        disReadMore(pCpu, off, 2);
-
+    disReadMore(pCpu, off, 2);
 #ifdef DIS_HOST_UNALIGNED_ACCESS_OK
     return *(uint16_t const *)&pCpu->abInstr[off];
@@ -422,5 +418,5 @@
 DECL_NO_INLINE(static, uint32_t) disReadDWordSlow(PDISCPUSTATE pCpu, RTUINTPTR off)
 {
-    if (RT_UNLIKELY(off + 2 > DIS_MAX_INSTR_LENGTH))
+    if (RT_UNLIKELY(off + 4 > DIS_MAX_INSTR_LENGTH))
     {
         Log(("disReadDWord: too long instruction...\n"));
@@ -438,7 +434,5 @@
     }
 
-    if (off + 2 < pCpu->cbCachedInstr)
-        disReadMore(pCpu, off, 2);
-
+    disReadMore(pCpu, off, 4);
 #ifdef DIS_HOST_UNALIGNED_ACCESS_OK
     return *(uint32_t const *)&pCpu->abInstr[off];
@@ -458,5 +452,5 @@
 DECLINLINE(uint32_t) disReadDWordByOff(PDISCPUSTATE pCpu, RTUINTPTR off)
 {
-    if (RT_UNLIKELY(off + 2 > pCpu->cbCachedInstr))
+    if (RT_UNLIKELY(off + 4 > pCpu->cbCachedInstr))
         return disReadDWordSlow(pCpu, off);
 
@@ -492,5 +486,5 @@
 DECL_NO_INLINE(static, uint64_t) disReadQWordSlow(PDISCPUSTATE pCpu, RTUINTPTR off)
 {
-    if (RT_UNLIKELY(off + 2 > DIS_MAX_INSTR_LENGTH))
+    if (RT_UNLIKELY(off + 8 > DIS_MAX_INSTR_LENGTH))
     {
         Log(("disReadQWord: too long instruction...\n"));
@@ -517,7 +511,5 @@
     }
 
-    if (off + 2 < pCpu->cbCachedInstr)
-        disReadMore(pCpu, off, 2);
-
+    disReadMore(pCpu, off, 8);
 #ifdef DIS_HOST_UNALIGNED_ACCESS_OK
     return *(uint64_t const *)&pCpu->abInstr[off];
@@ -538,5 +530,5 @@
 DECLINLINE(uint64_t) disReadQWordByOff(PDISCPUSTATE pCpu, RTUINTPTR off)
 {
-    if (RT_UNLIKELY(off + 2 > pCpu->cbCachedInstr))
+    if (RT_UNLIKELY(off + 8 > pCpu->cbCachedInstr))
         return disReadQWordSlow(pCpu, off);
 
