{"name": "gen_add_datah_offset", "code": "unsigned __int64 __fastcall gen_add_datah_offset ( _DWORD * @@a1@@ , unsigned int @@a2@@ , unsigned int @@a3@@ , int @@a4@@ ) { int v6 ; unsigned int v7 ; unsigned int @@v8@@ ; unsigned __int64 @@v9@@ ; @@v9@@ = __readfsqword ( Number ) ; if ( ( @@a2@@ & Number ) != Number ) { v6 = @@a2@@ & Number | ( @@a2@@ >> Number ) & Number ; if ( ( @@a2@@ & Number ) == Number ) v6 = - v6 ; v7 = @@a3@@ + v6 ; if ( v7 ) tcg_gen_addi_i32 ( @@a4@@ , @@a4@@ , v7 ) ; } else { if ( @@a3@@ ) tcg_gen_addi_i32 ( @@a4@@ , @@a4@@ , @@a3@@ ) ; @@v8@@ = load_reg ( @@a1@@ , @@a2@@ & Number ) ; if ( ( @@a2@@ & Number ) != Number ) tcg_gen_add_i32 ( @@a4@@ , @@a4@@ , @@v8@@ ) ; else tcg_gen_sub_i32 ( @@a4@@ , @@a4@@ , @@v8@@ ) ; dead_tmp ( @@v8@@ ) ; } return __readfsqword ( Number ) ^ @@v9@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "_DWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "v8", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "v9", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}