{"name": "DecodeThumbBLXOffset", "code": "__int64 __fastcall DecodeThumbBLXOffset ( __int64 @@a1@@ , unsigned int @@a2@@ ) { int @@v3@@ ; @@v3@@ = SignExtend32 ( Number * ( ( ( ( ( @@a2@@ >> Number ) & Number ) == ( ( @@a2@@ >> Number ) & Number ) ) << Number ) | @@a2@@ & Number | ( ( ( ( @@a2@@ >> Number ) & Number ) == ( ( @@a2@@ >> Number ) & Number ) ) << Number ) ) , Number ) ; MCOperand_CreateImm0 ( @@a1@@ , @@v3@@ ) ; 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": "v3", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}]}
{"name": "SignExtend32", "code": "__int64 __fastcall SignExtend32 ( int @@a1@@ , char @@a2@@ ) { return ( unsigned int ) ( @@a1@@ << ( Number - @@a2@@ ) >> ( Number - @@a2@@ ) ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "char", "s": 1}, "location": "r64"}]}