{"name": "DecodeMSRMask", "code": "__int64 __fastcall DecodeMSRMask ( __int64 @@a1@@ , unsigned int @@a2@@ ) { __int64 @@result@@ ; int @@v3@@ ; unsigned __int64 @@v4@@ ; @@v4@@ = ARM_getFeatureBits ( * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) ; if ( ( @@v4@@ & Number ) != Number ) { switch ( ( char ) @@a2@@ ) { case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : goto LABEL_6 ; case Number : case Number : case Number : if ( ( @@v4@@ & Number ) == Number ) return Number L ; LABEL_6 : if ( ( @@v4@@ & Number ) == Number || ( unsigned int ) MCInst_getOpcode ( @@a1@@ ) != Number ) goto LABEL_16 ; @@v3@@ = ( @@a2@@ >> Number ) & Number ; if ( @@v3@@ && ( @@v3@@ == Number || ( unsigned __int8 ) @@a2@@ <= Number ) && ( ( @@v4@@ & Number ) != Number || @@v3@@ != Number ) ) goto LABEL_16 ; @@result@@ = Number L ; break ; default : return Number L ; } } else if ( @@a2@@ ) { LABEL_16 : MCOperand_CreateImm0 ( @@a1@@ , @@a2@@ ) ; @@result@@ = Number L ; } else { @@result@@ = Number L ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v3", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}, {"n": "v4", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}
{"name": "ARM_getFeatureBits", "code": "unsigned __int64 __fastcall ARM_getFeatureBits ( char @@a1@@ ) { unsigned __int64 @@v2@@ ; @@v2@@ = Number ; if ( ( @@a1@@ & Number ) == Number ) @@v2@@ = Number ; if ( ( @@a1@@ & Number ) == Number ) @@v2@@ &= Number ; if ( ( @@a1@@ & Number ) == Number ) @@v2@@ &= Number ; return @@v2@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "char", "s": 1}, "location": "r56"}, {"n": "v2", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}