KiTpWriteRegisterValue
CHAR __stdcall KiTpWriteRegisterValue(INT64 a1, INT64 a2, UINT64 a3, CHAR a4, INT64 a5){
_BYTE *v5;
_BYTE *v6;
__int64 v7;
CHAR result;
LODWORD(v5) = KiTpGetRegisterAddressByIndex(a1, a2, a3, a4, 1);
v6 = v5;
result = *(_BYTE *)(v7 + 1);
switch( result )
{
case 8:
result = a5;
*v6 = a5;
break;
case 16:
result = a5;
*(_WORD *)v6 = a5;
break;
case 32:
result = a5;
*(_QWORD *)v6 = (unsigned int)a5;
break;
default:
*(_QWORD *)v6 = a5;
break;
}
return result;
}Referenced by:
KiTpEmulateGroup0Instruction
KiTpEmulateInstruction
KiTpEmulateMovRegImm