// RegAccessReadModifyThunk - addr:0xffdaf04f
int __cdecl RegAccessReadModifyThunk(_DWORD *a1, int a2, int a3)
{
int v3; // ebx
int n134480385; // [esp+8h] [ebp-10h]
_DWORD *v6; // [esp+Ch] [ebp-Ch] BYREF
int v7[2]; // [esp+10h] [ebp-8h] BYREF
n134480385 = 134480385;
v6 = 0;
RegAccessTranslateFull(0, 0, a1, (int *)&v6);
IoMemRead((a1[2] >> 8) & 0xF, v6, v7);
v3 = a1[2] >> 8;
BitFieldMerge(v7, a2, a3, *((_BYTE *)&n134480385 + (v3 & 0xF)));
IoMemWrite(v3 & 0xF, v6, v7);
return 0;
}