{"name": "DecodeT2SOImm", "code": "__int64 __fastcall DecodeT2SOImm ( __int64 @@a1@@ , unsigned int @@a2@@ ) { int @@v2@@ ; unsigned int @@v4@@ ; unsigned int @@v5@@ ; char @@v6@@ ; int @@v7@@ ; if ( ( unsigned int ) fieldFromInstruction_4 ( @@a2@@ , Number , Number ) ) { @@v2@@ = fieldFromInstruction_4 ( @@a2@@ , Number , Number ) ; LOBYTE ( @@v2@@ ) = @@v2@@ | Number ; @@v7@@ = @@v2@@ ; @@v6@@ = fieldFromInstruction_4 ( @@a2@@ , Number , Number ) ; MCOperand_CreateImm0 ( @@a1@@ , ( unsigned int ) __ROR4__ ( @@v7@@ , @@v6@@ ) ) ; } else { @@v5@@ = fieldFromInstruction_4 ( @@a2@@ , Number , Number ) ; @@v4@@ = fieldFromInstruction_4 ( @@a2@@ , Number , Number ) ; if ( @@v5@@ == Number ) { MCOperand_CreateImm0 ( @@a1@@ , @@v4@@ | ( @@v4@@ << Number ) | ( @@v4@@ << Number ) | ( @@v4@@ << Number ) ) ; } else if ( @@v5@@ <= Number ) { if ( @@v5@@ == Number ) { MCOperand_CreateImm0 ( @@a1@@ , ( @@v4@@ << Number ) | ( @@v4@@ << Number ) ) ; } else if ( @@v5@@ ) { MCOperand_CreateImm0 ( @@a1@@ , @@v4@@ | ( @@v4@@ << Number ) ) ; } else { MCOperand_CreateImm0 ( @@a1@@ , @@v4@@ ) ; } } } return Number L ; }", "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": "v2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r8"}, {"n": "v6", "t": {"T": 1, "n": "char", "s": 1}, "location": "s12"}, {"n": "v5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}, {"n": "v4", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s24"}, {"n": "v7", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]}
{"name": "fieldFromInstruction_4", "code": "__int64 __fastcall fieldFromInstruction_4 ( unsigned int @@a1@@ , char @@a2@@ , int @@a3@@ ) { int @@v4@@ ; if ( @@a3@@ == Number ) @@v4@@ = Number ; else @@v4@@ = ( ( Number << @@a3@@ ) - Number ) << @@a2@@ ; return ( @@v4@@ & @@a1@@ ) >> @@a2@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "char", "s": 1}, "location": "r64"}, {"n": "v4", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}]}