ntdll: Implemented RtlPcToFileHeader.
diff --git a/dlls/ntdll/loader.c b/dlls/ntdll/loader.c
index aac48dc..eaf7cfa 100644
--- a/dlls/ntdll/loader.c
+++ b/dlls/ntdll/loader.c
@@ -2225,6 +2225,22 @@
 
 
 /***********************************************************************
+ *           RtlPcToFileHeader   (NTDLL.@)
+ */
+PVOID WINAPI RtlPcToFileHeader( PVOID pc, PVOID *address )
+{
+    LDR_MODULE *module;
+    PVOID ret = NULL;
+
+    RtlEnterCriticalSection( &loader_section );
+    if (!LdrFindEntryForAddress( pc, &module )) ret = module->BaseAddress;
+    RtlLeaveCriticalSection( &loader_section );
+    *address = ret;
+    return ret;
+}
+
+
+/***********************************************************************
  *           NtLoadDriver   (NTDLL.@)
  *           ZwLoadDriver   (NTDLL.@)
  */
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 90afeb2..2950453 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -753,7 +753,7 @@
 @ stdcall RtlOemStringToUnicodeString(ptr ptr long)
 @ stdcall RtlOemToUnicodeN(ptr long ptr ptr long)
 @ stdcall RtlOpenCurrentUser(long ptr)
-@ stub RtlPcToFileHeader
+@ stdcall RtlPcToFileHeader(ptr ptr)
 @ stdcall RtlPinAtomInAtomTable(ptr long)
 # @ stub RtlPopFrame
 @ stdcall RtlPrefixString(ptr ptr long)
diff --git a/include/winternl.h b/include/winternl.h
index 38d13c6..9eb270a 100644
--- a/include/winternl.h
+++ b/include/winternl.h
@@ -2120,6 +2120,7 @@
 NTSTATUS  WINAPI RtlOemToUnicodeN(LPWSTR,DWORD,LPDWORD,LPCSTR,DWORD);
 NTSTATUS  WINAPI RtlOpenCurrentUser(ACCESS_MASK,PHANDLE);
 
+PVOID     WINAPI RtlPcToFileHeader(PVOID,PVOID*);
 NTSTATUS  WINAPI RtlPinAtomInAtomTable(RTL_ATOM_TABLE,RTL_ATOM);
 BOOLEAN   WINAPI RtlPrefixString(const STRING*,const STRING*,BOOLEAN);
 BOOLEAN   WINAPI RtlPrefixUnicodeString(const UNICODE_STRING*,const UNICODE_STRING*,BOOLEAN);