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