_WORD *__fastcall XmBsrOp(_DWORD *a1){
int v1;
unsigned int v3;
unsigned int v4;
v1 = a1[30];
a1[4] |= 0x40u;
v3 = 8 * v1 + 7;
v4 = a1[27];
if( v4 )
{
while( ((v4 >> v3) & 1) == 0 )
--v3;
a1[4] &= ~0x40u;
}
return XmStoreResult((INT64)a1, v3);
}