MiApplyRawFixups

VOID __stdcall MiApplyRawFixups(ULONG_PTR ControlArea, VOID *MappingVa, _IMAGE_BASE_RELOCATION *NextBlock, UINT64 Diff){
  _DWORD *v4; 
  UINT8 *v6; 
  void *v7; 
  _WORD *v8; 
  __int64 v9; 
  _WORD *BugCheckParameter4; 
  int v11; 
  int v12; 

  v4 = (_DWORD *)((unsigned __int64)NextBlock & 0xFFFFFFFFFFFFFFFEui64);
  v6 = (UINT8 *)MappingVa;
  v7 = *(void **)&ControlArea;
  v8 = v4 + 2;
  if( (unsigned int)(v4[1] - 8) >> 1 )
  {
    v9 = *v4 & 0xFFF;
    do
    {
      MiDoSingleFixup(&v6[v9 + (*v8 & 0xFFF)], *v8 >> 12, Diff);
      if( !v12 )
        KeBugCheckEx(0x1Au, (PVOID)0x30, v7, v6, BugCheckParameter4);
      v8 = BugCheckParameter4 + 1;
    }
    while( v11 );
  }
}

Referenced by:

MiPerformFixups