{"name": "cp15_tls_load_store", "code": "__int64 __fastcall cp15_tls_load_store ( __int64 @@a1@@ , _DWORD * @@a2@@ , unsigned int @@a3@@ , int @@a4@@ ) { unsigned int v7 ; unsigned int v8 ; unsigned int v9 ; unsigned int v10 ; int @@v11@@ ; int @@v12@@ ; int @@v13@@ ; @@v11@@ = HIWORD ( @@a3@@ ) & Number ; @@v12@@ = @@a3@@ & Number ; @@v13@@ = ( ( unsigned __int8 ) @@a3@@ >> Number ) | ( @@a3@@ >> Number ) & Number ; if ( ! arm_feature ( @@a1@@ , Number ) ) return Number L ; if ( @@v11@@ != Number || @@v12@@ ) return Number L ; if ( ( @@a3@@ & Number ) != Number ) { if ( @@v13@@ == Number ) { v9 = load_cpu_offset ( Number ) ; store_reg ( ( __int64 ) @@a2@@ , @@a4@@ , v9 ) ; } else { if ( @@v13@@ > Number ) return Number L ; if ( @@v13@@ == Number ) { v7 = load_cpu_offset ( Number ) ; store_reg ( ( __int64 ) @@a2@@ , @@a4@@ , v7 ) ; } else { if ( @@v13@@ != Number ) return Number L ; v8 = load_cpu_offset ( Number ) ; store_reg ( ( __int64 ) @@a2@@ , @@a4@@ , v8 ) ; } } return Number L ; } v10 = load_reg ( @@a2@@ , @@a4@@ ) ; if ( @@v13@@ == Number ) { store_cpu_offset ( v10 , Number ) ; } else { if ( @@v13@@ > Number ) { LABEL_24 : dead_tmp ( v10 ) ; return Number L ; } if ( @@v13@@ == Number ) { store_cpu_offset ( v10 , Number ) ; } else { if ( @@v13@@ != Number ) goto LABEL_24 ; store_cpu_offset ( v10 , Number ) ; } } return Number L ; }", "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": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_DWORD"}, "location": "r64"}, {"n": "v13", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v12", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}, {"n": "v11", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}]}