ole32: Move the low-level functionality of ReadProperty to a new function.
diff --git a/dlls/ole32/storage32.c b/dlls/ole32/storage32.c
index 64039cc..4ff9f89 100644
--- a/dlls/ole32/storage32.c
+++ b/dlls/ole32/storage32.c
@@ -3046,6 +3046,32 @@
 }
 
 /******************************************************************************
+ *      StorageImpl_ReadRawDirEntry
+ *
+ * This method will read the raw data from a directory entry in the file.
+ *
+ * buffer must be PROPSET_BLOCK_SIZE bytes long.
+ */
+HRESULT StorageImpl_ReadRawDirEntry(StorageImpl *This, ULONG index, BYTE *buffer)
+{
+  ULARGE_INTEGER offset;
+  HRESULT hr;
+  ULONG bytesRead;
+
+  offset.u.HighPart = 0;
+  offset.u.LowPart  = index * PROPSET_BLOCK_SIZE;
+
+  hr = BlockChainStream_ReadAt(
+                    This->rootBlockChain,
+                    offset,
+                    PROPSET_BLOCK_SIZE,
+                    buffer,
+                    &bytesRead);
+
+  return hr;
+}
+
+/******************************************************************************
  *      Storage32Impl_ReadProperty
  *
  * This method will read the specified property from the property chain.
@@ -3056,19 +3082,9 @@
   StgProperty*   buffer)
 {
   BYTE           currentProperty[PROPSET_BLOCK_SIZE];
-  ULARGE_INTEGER offsetInPropSet;
   HRESULT        readRes;
-  ULONG          bytesRead;
 
-  offsetInPropSet.u.HighPart = 0;
-  offsetInPropSet.u.LowPart  = index * PROPSET_BLOCK_SIZE;
-
-  readRes = BlockChainStream_ReadAt(
-                    This->rootBlockChain,
-                    offsetInPropSet,
-                    PROPSET_BLOCK_SIZE,
-                    currentProperty,
-                    &bytesRead);
+  readRes = StorageImpl_ReadRawDirEntry(This, index, currentProperty);
 
   if (SUCCEEDED(readRes))
   {
diff --git a/dlls/ole32/storage32.h b/dlls/ole32/storage32.h
index 8dd44fa..281948e 100644
--- a/dlls/ole32/storage32.h
+++ b/dlls/ole32/storage32.h
@@ -290,6 +290,11 @@
   BigBlockFile* bigBlockFile;
 };
 
+HRESULT StorageImpl_ReadRawDirEntry(
+            StorageImpl *This,
+            ULONG index,
+            BYTE *buffer);
+
 BOOL StorageImpl_ReadProperty(
             StorageImpl*    This,
             ULONG           index,