KiTpWriteRegisterValue

CHAR __fastcall KiTpWriteRegisterValue(INT64 a1, INT64 a2, UINT64 a3, CHAR a4, INT64 a5){
  _BYTE *RegisterAddressByIndex; 
  __int64 v6; 
  CHAR result; 
  RegisterAddressByIndex = (_BYTE *)KiTpGetRegisterAddressByIndex(a1, a2, a3, a4, 1);
  result = *(_BYTE *)(v6 + 1);
  switch( result )
  {
    case 8:
      result = a5;
      *RegisterAddressByIndex = a5;
      break;
    case 16:
      result = a5;
      *(_WORD *)RegisterAddressByIndex = a5;
      break;
    case 32:
      result = a5;
      *(_QWORD *)RegisterAddressByIndex = (unsigned int)a5;
      break;
    default:
      *(_QWORD *)RegisterAddressByIndex = a5;
      break;
  }
  return result;
}

Referenced by:

KiTpEmulateGroup0Instruction
KiTpEmulateInstruction
KiTpEmulateMovRegImm