_WORD *__fastcall XmBsfOp(INT64 a1){
INT64 v1;
unsigned int v2;
*(_DWORD *)(a1 + 16) |= 0x40u;
v1 = 0i64;
v2 = *(_DWORD *)(a1 + 108);
if( v2 )
{
while( (v2 & 1) == 0 )
{
v1 = (unsigned int)(v1 + 1);
v2 >>= 1;
if( !v2 )
return XmStoreResult(a1, v1);
}
*(_DWORD *)(a1 + 16) &= ~0x40u;
}
return XmStoreResult(a1, v1);
}