MiApplyDynamicRelocations
NTSTATUS __stdcall MiApplyDynamicRelocations(PVOID Base, UINT64 Size, INT64 a3, INT64 a4){
unsigned int v6;
_DWORD *v8;
NTSTATUS result;
__int64 v10;
__int64 v11;
int a5;
INT64 a6;
int v14;
int a7[5];
v14 = 0;
a7[0] = 0;
v6 = Size;
if( (MiFlags & 0x8000) != 0 )
return VslApplyDynamicRelocations((__int64)Base, a3, a4);
v8 = RtlImageDirectoryEntryToData(Base, 1u, 0xAu, (UINT64 *)&v14);
if( !v8 || v14 != *v8 )
return 0;
LODWORD(a6) = *v8;
result = MiCaptureDynamicRelocationTableRva(Base, v6, 0i64, 523, (INT64)v8, a6, (INT64)a7);
if( result >= 0 )
return LdrApplyDynamicRelocations((__int64)Base, (char *)Base + (unsigned int)a7[0], v10, v11, a5, a3, a4);
if( result == -1073741637 )
return 0;
return result;
}Referenced by:
MiRebaseDynamicRelocationRegions