INT64 __fastcall KeSynchronizeUmsThread(__int64 a1, char a2){
__int64 v2;
v2 = *(_QWORD *)(a1 + 496);
if( a2 )
{
KeInsertQueue(*(PRKQUEUE *)(v2 + 32), *(PLIST_ENTRY *)(v2 + 40));
*(_DWORD *)(v2 + 80) |= 2u;
*(_QWORD *)(v2 + 72) = 0i64;
return KiLeaveGuardedRegionUnsafe(a1);
}
else
{
KiCopyUchToStagingArea(a1, *(INT64 **)(v2 + 72));
*(_QWORD *)(v2 + 72) = 0i64;
return KiSwapToUmsThreadContinue();
}
}