{"name": "ARM_AM_getAM5Opc", "code": "__int64 __fastcall ARM_AM_getAM5Opc ( int @@a1@@ , unsigned __int8 @@a2@@ ) { return ( ( @@a1@@ == Number ) << Number ) | ( unsigned int ) @@a2@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned __int8", "s": 1}, "location": "r64"}]}
{"name": "DecodeCopMemInstruction", "code": "__int64 __fastcall DecodeCopMemInstruction ( __int64 @@a1@@ , unsigned int @@a2@@ ) { unsigned int v2 ; unsigned int v4 ; unsigned int v5 ; unsigned int v6 ; unsigned int v7 ; unsigned int @@v8@@ ; int @@v9@@ ; unsigned int @@v10@@ ; unsigned int @@v11@@ ; unsigned int @@v12@@ ; unsigned int @@v13@@ ; unsigned int @@v14@@ ; @@v8@@ = Number ; @@v13@@ = fieldFromInstruction_4 ( @@a2@@ , Number , Number ) ; @@v12@@ = fieldFromInstruction_4 ( @@a2@@ , Number , Number ) ; @@v11@@ = fieldFromInstruction_4 ( @@a2@@ , Number , Number ) ; @@v14@@ = fieldFromInstruction_4 ( @@a2@@ , Number , Number ) ; @@v10@@ = fieldFromInstruction_4 ( @@a2@@ , Number , Number ) ; @@v9@@ = fieldFromInstruction_4 ( @@a2@@ , Number , Number ) ; v2 = MCInst_getOpcode ( @@a1@@ ) ; if ( v2 <= Number ) { if ( v2 < Number ) { if ( v2 > Number ) goto LABEL_12 ; if ( v2 < Number ) { if ( v2 > Number ) { if ( v2 - Number > Number ) goto LABEL_12 ; } else if ( v2 < Number ) { goto LABEL_12 ; } } } if ( @@v11@@ == Number || @@v11@@ == Number ) return Number L ; } LABEL_12 : MCOperand_CreateImm0 ( @@a1@@ , @@v11@@ ) ; MCOperand_CreateImm0 ( @@a1@@ , @@v12@@ ) ; v4 = DecodeGPRRegisterClass ( @@a1@@ , @@v10@@ ) ; if ( ( unsigned __int8 ) Check ( & @@v8@@ , v4 ) != Number ) return Number L ; v5 = MCInst_getOpcode ( @@a1@@ ) ; if ( v5 > Number ) goto LABEL_30 ; if ( v5 < Number ) { if ( v5 <= Number ) { if ( v5 >= Number ) { switch ( v5 ) { case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : goto LABEL_28 ; case Number : case Number : case Number : case Number : goto LABEL_29 ; default : goto LABEL_30 ; } } if ( v5 > Number ) { if ( v5 <= Number && v5 >= Number ) { switch ( v5 ) { case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : goto LABEL_28 ; case Number : case Number : case Number : case Number : goto LABEL_29 ; default : break ; } } } else if ( v5 >= Number ) { switch ( v5 ) { case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : goto LABEL_28 ; case Number : case Number : case Number : case Number : goto LABEL_29 ; default : break ; } } } LABEL_30 : MCOperand_CreateImm0 ( @@a1@@ , @@v14@@ ) ; goto LABEL_31 ; } switch ( v5 ) { case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : LABEL_28 : @@v14@@ = ARM_AM_getAM5Opc ( @@v9@@ != Number , @@v14@@ ) ; MCOperand_CreateImm0 ( @@a1@@ , @@v14@@ ) ; break ; case Number : case Number : case Number : case Number : LABEL_29 : @@v14@@ |= @@v9@@ << Number ; goto LABEL_30 ; default : goto LABEL_30 ; } LABEL_31 : v6 = MCInst_getOpcode ( @@a1@@ ) ; if ( v6 > Number ) { if ( v6 - Number > Number ) return @@v8@@ ; } else if ( v6 < Number ) { return @@v8@@ ; } v7 = DecodePredicateOperand ( @@a1@@ , @@v13@@ ) ; if ( ( unsigned __int8 ) Check ( & @@v8@@ , v7 ) != Number ) return Number L ; return @@v8@@ ; }", "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": "v12", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "v11", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s16"}, {"n": "v10", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "v8", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s28"}, {"n": "v14", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}, {"n": "v13", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s8"}]} {"name": "DecodeAddrMode5Operand", "code": "__int64 __fastcall DecodeAddrMode5Operand ( __int64 @@a1@@ , unsigned int @@a2@@ ) { unsigned int v2 ; unsigned int v4 ; unsigned int @@v5@@ ; int @@v6@@ ; int @@v7@@ ; unsigned int @@v8@@ ; @@v5@@ = Number ; @@v8@@ = fieldFromInstruction_4 ( @@a2@@ , Number , Number ) ; @@v7@@ = fieldFromInstruction_4 ( @@a2@@ , Number , Number ) ; @@v6@@ = fieldFromInstruction_4 ( @@a2@@ , Number , Number ) ; v2 = DecodeGPRRegisterClass ( @@a1@@ , @@v8@@ ) ; if ( ( unsigned __int8 ) Check ( & @@v5@@ , v2 ) != Number ) return Number L ; if ( @@v7@@ ) v4 = ARM_AM_getAM5Opc ( Number , @@v6@@ ) ; else v4 = ARM_AM_getAM5Opc ( Number , @@v6@@ ) ; MCOperand_CreateImm0 ( @@a1@@ , v4 ) ; return @@v5@@ ; }", "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": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s16"}, {"n": "v8", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}, {"n": "v7", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]}