{"name": "gen_helper_fildl_FT0", "code": "unsigned __int64 __fastcall gen_helper_fildl_FT0 ( int @@a1@@ ) { __int64 @@v2@@ ; unsigned __int64 @@v3@@ ; @@v3@@ = __readfsqword ( Number ) ; @@v2@@ = @@a1@@ ; tcg_gen_helperN ( ( __int64 ) & helper_fildl_FT0 , Number , Number , Number , Number , ( __int64 ) & @@v2@@ ) ; return __readfsqword ( Number ) ^ @@v3@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v3", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}
{"name": "tcg_gen_helperN", "code": "unsigned __int64 __fastcall tcg_gen_helperN ( __int64 @@a1@@ , unsigned int @@a2@@ , unsigned int @@a3@@ , __int64 @@a4@@ , unsigned int @@a5@@ , __int64 @@a6@@ ) { unsigned int @@v11@@ ; unsigned __int64 @@v12@@ ; @@v12@@ = __readfsqword ( Number ) ; @@v11@@ = tcg_const_i64 ( @@a1@@ ) ; tcg_gen_callN ( & tcg_ctx , @@v11@@ , @@a2@@ , @@a3@@ , @@a4@@ , @@a5@@ , @@a6@@ ) ; tcg_temp_free_i64 ( @@v11@@ ) ; return __readfsqword ( Number ) ^ @@v12@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r72"}, {"n": "a6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r80"}, {"n": "v11", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "v12", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "disas_insn", "code": "__int64 __fastcall disas_insn ( __int64 @@a1@@ , __int64 @@a2@@ ) { __int64 v2 ; int v3 ; __int64 v4 ; __int64 v5 ; __int64 v6 ; int v7 ; int v8 ; __int64 v9 ; __int64 v10 ; int v11 ; int v12 ; int v13 ; int v14 ; int v15 ; int v16 ; int v17 ; __int64 v18 ; __int64 v19 ; __int64 v20 ; __int64 v21 ; __int64 v22 ; int v23 ; int v24 ; int v25 ; __int64 v26 ; __int64 v27 ; int v28 ; __int64 v29 ; __int64 v30 ; __int64 v31 ; __int64 v32 ; __int64 v33 ; __int64 v34 ; int v35 ; __int64 v36 ; int v37 ; __int64 v38 ; int v39 ; __int64 v40 ; __int64 v41 ; __int64 v42 ; __int64 v43 ; __int64 v44 ; __int64 v45 ; int v46 ; int v47 ; int v48 ; int v49 ; int v50 ; int v51 ; int v52 ; int v53 ; int v54 ; int v55 ; int v56 ; int v57 ; int v58 ; int v59 ; int v60 ; int v61 ; int v62 ; int v63 ; int v64 ; int v65 ; int v66 ; int v67 ; int v68 ; int v69 ; int v70 ; int v71 ; int v72 ; int v73 ; int v74 ; int v75 ; __int64 v76 ; int v77 ; int v78 ; __int64 v79 ; unsigned int v80 ; int v81 ; int v82 ; int v83 ; unsigned int v84 ; int v85 ; int v86 ; int v87 ; int v88 ; int v89 ; int v90 ; int v91 ; __int64 v92 ; __int64 v93 ; int v94 ; __int64 v95 ; __int64 v96 ; __int64 v97 ; __int64 v98 ; int v99 ; int v100 ; int v101 ; __int64 v102 ; int v103 ; __int64 v104 ; int v105 ; __int64 v106 ; int v107 ; int v108 ; __int64 v109 ; int v110 ; int v111 ; int v112 ; int v113 ; __int64 v114 ; __int64 v115 ; int v116 ; int v117 ; int v118 ; int v119 ; int v120 ; int v121 ; unsigned int v122 ; unsigned int v123 ; __int64 v124 ; __int64 v125 ; int v126 ; __int64 v127 ; __int64 v128 ; __int64 v129 ; __int64 v130 ; int v131 ; int v132 ; int v133 ; __int64 v134 ; int v135 ; int v136 ; int v137 ; __int64 v138 ; __int64 v139 ; int v140 ; int v141 ; __int64 v142 ; __int64 v143 ; int v144 ; int @@v146@@ ; int @@v147@@ ; int @@v148@@ ; int @@v149@@ ; int @@v150@@ ; unsigned int @@v151@@ ; int @@v152@@ ; int @@v153@@ ; unsigned int @@v154@@ ; int @@v155@@ ; int @@v156@@ ; int @@v157@@ ; unsigned int @@v158@@ ; unsigned int @@v159@@ ; int @@v160@@ ; int @@v161@@ ; int @@v162@@ ; unsigned int @@v163@@ ; int @@v164@@ ; unsigned int @@v165@@ ; int @@v166@@ ; int @@v167@@ ; unsigned int @@v168@@ ; unsigned int @@v169@@ ; unsigned int @@v170@@ ; unsigned int @@v171@@ ; int @@v172@@ ; int @@v173@@ ; unsigned int @@v174@@ ; int @@v175@@ ; unsigned int @@v176@@ ; int @@v177@@ ; unsigned int @@v178@@ ; int @@v179@@ ; int @@v180@@ ; int @@v181@@ ; int @@v182@@ ; int @@v183@@ ; int @@v184@@ ; int @@v185@@ ; int @@v186@@ ; int @@v187@@ ; unsigned int @@v188@@ ; int @@v189@@ ; unsigned int @@v190@@ ; unsigned int @@v191@@ ; unsigned int @@v192@@ ; int @@v193@@ ; int @@v194@@ ; int @@v195@@ ; int @@v196@@ ; int @@v197@@ ; __int64 @@v198@@ ; __int64 @@v199@@ ; __int64 @@v200@@ ; __int64 @@v201@@ ; unsigned __int64 @@v202@@ ; @@v202@@ = __readfsqword ( Number ) ; if ( ( loglevel & Number ) != Number ) tcg_gen_debug_insn_start ( @@a2@@ ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@a2@@ ; @@v149@@ = Number ; @@v150@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v151@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; * ( _DWORD * ) @@a1@@ = Number ; @@v160@@ = Number ; @@v161@@ = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; x86_64_hregs = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; while ( Number ) { while ( Number ) { while ( Number ) { @@v148@@ = ldub_p ( ( unsigned __int8 * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + guest_base ) ) ; ++ * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) break ; if ( @@v148@@ == Number ) { @@v149@@ |= Number ; } else { if ( @@v148@@ > Number ) goto LABEL_25 ; if ( @@v148@@ == Number ) { @@v149@@ |= Number ; } else { if ( @@v148@@ <= Number ) { if ( @@v148@@ >= Number ) { switch ( @@v148@@ ) { case String : * ( _DWORD * ) @@a1@@ = Number ; continue ; case String : * ( _DWORD * ) @@a1@@ = Number ; continue ; case String : * ( _DWORD * ) @@a1@@ = Number ; continue ; case String : * ( _DWORD * ) @@a1@@ = Number ; continue ; case String : case String : case String : case String : case String : case String : case String : case String : case String : case String : case String : case String : case String : case String : case String : case String : @@v160@@ = ( @@v148@@ >> Number ) & Number ; @@v161@@ = ( Number * ( _BYTE ) @@v148@@ ) & Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = ( Number * ( _BYTE ) @@v148@@ ) & Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = ( Number * ( _BYTE ) @@v148@@ ) & Number ; x86_64_hregs = Number ; continue ; case String : * ( _DWORD * ) @@a1@@ = Number ; continue ; case String : * ( _DWORD * ) @@a1@@ = Number ; continue ; case String : @@v149@@ |= Number ; continue ; case String : @@v149@@ |= Number ; continue ; default : break ; } } LABEL_25 : if ( @@v160@@ == Number ) { @@v151@@ = Number ; } else if ( ( @@v149@@ & Number ) != Number ) { @@v151@@ ^= Number ; } if ( ( @@v149@@ & Number ) == Number ) @@v150@@ = Number ; goto LABEL_63 ; } if ( @@v148@@ != Number ) goto LABEL_25 ; @@v149@@ |= Number ; } } } if ( @@v148@@ != Number ) break ; @@v149@@ |= Number ; } if ( @@v148@@ > Number ) break ; if ( @@v148@@ == Number ) { @@v149@@ |= Number ; } else if ( @@v148@@ == Number ) { @@v149@@ |= Number ; } else { if ( @@v148@@ > Number ) break ; if ( @@v148@@ == Number ) { @@v149@@ |= Number ; } else { if ( @@v148@@ > Number ) break ; switch ( @@v148@@ ) { case String : @@v149@@ |= Number ; break ; case String : * ( _DWORD * ) @@a1@@ = Number ; break ; case String : * ( _DWORD * ) @@a1@@ = Number ; break ; case String : * ( _DWORD * ) @@a1@@ = Number ; break ; default : if ( @@v148@@ > Number ) goto LABEL_59 ; if ( @@v148@@ == Number ) { * ( _DWORD * ) @@a1@@ = Number ; } else { if ( @@v148@@ > Number ) goto LABEL_59 ; if ( @@v148@@ == Number ) { * ( _DWORD * ) @@a1@@ = Number ; } else { if ( @@v148@@ != Number ) goto LABEL_59 ; * ( _DWORD * ) @@a1@@ = Number ; } } break ; } } } } LABEL_59 : if ( ( @@v149@@ & Number ) != Number ) @@v151@@ ^= Number ; if ( ( @@v149@@ & Number ) != Number ) @@v150@@ ^= Number ; LABEL_63 : * ( _DWORD * ) ( @@a1@@ + Number ) = @@v149@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v150@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v151@@ ; if ( ( @@v149@@ & Number ) != Number ) gen_helper_lock ( ) ; while ( Number ) { switch ( @@v148@@ ) { case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : @@v195@@ = ( @@v148@@ >> Number ) & Number ; @@v196@@ = ( @@v148@@ >> Number ) & Number ; if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; if ( @@v196@@ == Number ) { @@v197@@ = insn_get ( @@a1@@ , @@v153@@ ) ; gen_op_movl_T1_im ( @@v197@@ ) ; gen_op ( @@a1@@ , @@v195@@ , @@v153@@ , Number ) ; goto LABEL_1244 ; } if ( @@v196@@ > Number ) goto LABEL_1244 ; if ( ! @@v196@@ ) { v4 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v4 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v4 ) ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v155@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( @@v156@@ != Number ) { gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; @@v158@@ = Number ; LABEL_79 : gen_op_mov_TN_reg ( @@v153@@ , Number , @@v154@@ ) ; gen_op ( @@a1@@ , @@v195@@ , @@v153@@ , @@v158@@ ) ; LABEL_1244 : if ( ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) != Number ) gen_helper_unlock ( ) ; return * ( _QWORD * ) ( @@a1@@ + Number ) ; } if ( @@v195@@ != Number || @@v155@@ != @@v154@@ ) { @@v158@@ = @@v155@@ ; goto LABEL_79 ; } LABEL_77 : gen_op_movl_T0_0 ( ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v153@@ + Number ; gen_op_mov_reg_T0 ( @@v153@@ , @@v154@@ ) ; gen_op_update1_cc ( ) ; goto LABEL_1244 ; } v5 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v5 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v5 ) ) ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; @@v155@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( @@v156@@ == Number ) { if ( @@v195@@ == Number && @@v155@@ == @@v154@@ ) goto LABEL_77 ; gen_op_mov_TN_reg ( @@v153@@ , Number , @@v155@@ ) ; } else { gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; gen_op_ld_T1_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; } gen_op ( @@a1@@ , @@v195@@ , @@v153@@ , @@v154@@ ) ; goto LABEL_1244 ; case Number : case Number : case Number : case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; gen_op_movl_T0_seg ( @@v148@@ >> Number ) ; gen_push_T0 ( ( _DWORD * ) @@a1@@ ) ; goto LABEL_1244 ; case Number : case Number : case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; @@v154@@ = @@v148@@ >> Number ; gen_pop_T0 ( ( _DWORD * ) @@a1@@ ) ; gen_movl_seg_T0 ( ( _DWORD * ) @@a1@@ , @@v148@@ >> Number , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_pop_update ( @@a1@@ ) ; if ( @@v148@@ >> Number == Number ) { if ( ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) & Number L ) == Number ) gen_helper_set_inhibit_irq ( ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_362 ; goto LABEL_1244 ; case Number : v2 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v2 + Number ; v3 = ldub_p ( ( unsigned __int8 * ) ( guest_base + v2 ) ) ; BYTE1 ( v3 ) |= Number ; @@v148@@ = v3 ; continue ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_daa ( ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_das ( ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_aaa ( ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_aas ( ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : if ( @@v151@@ ) v7 = Number ; else v7 = Number ; @@v153@@ = v7 ; gen_inc ( @@a1@@ , v7 , @@v148@@ & Number , Number ) ; goto LABEL_1244 ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : if ( @@v151@@ ) v8 = Number ; else v8 = Number ; @@v153@@ = v8 ; gen_inc ( @@a1@@ , v8 , @@v148@@ & Number , Number ) ; goto LABEL_1244 ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : gen_op_mov_TN_reg ( Number , Number , @@v148@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_push_T0 ( ( _DWORD * ) @@a1@@ ) ; goto LABEL_1244 ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { if ( @@v151@@ ) v23 = Number ; else v23 = Number ; @@v153@@ = v23 ; } else { @@v153@@ = @@v151@@ + Number ; } gen_pop_T0 ( ( _DWORD * ) @@a1@@ ) ; gen_pop_update ( @@a1@@ ) ; gen_op_mov_reg_T0 ( @@v153@@ , * ( _DWORD * ) ( @@a1@@ + Number ) | @@v148@@ & Number ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; gen_pusha ( ( _DWORD * ) @@a1@@ ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; gen_popa ( ( _DWORD * ) @@a1@@ ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; v108 = @@v151@@ ? Number : Number ; @@v153@@ = v108 ; v109 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v109 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v109 ) ) ; @@v154@@ = ( @@v164@@ >> Number ) & Number ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; if ( @@v156@@ == Number ) goto LABEL_1247 ; gen_op_mov_TN_reg ( @@v153@@ , Number , @@v154@@ ) ; gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp2_i32 , cpu_T [ Number ] ) ; if ( @@v153@@ == Number ) gen_helper_boundw ( cpu_A0 , cpu_tmp2_i32 ) ; else gen_helper_boundl ( cpu_A0 , cpu_tmp2_i32 ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { @@v194@@ = @@v151@@ + Number ; v124 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v124 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v124 ) ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v155@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( @@v156@@ == Number ) { gen_op_mov_TN_reg ( Number , Number , @@v155@@ ) ; if ( @@v194@@ == Number ) tcg_gen_ext32s_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; gen_op_mov_reg_T0 ( @@v194@@ , @@v154@@ ) ; } else { gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; if ( @@v194@@ == Number ) gen_op_lds_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; else gen_op_ld_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; gen_op_mov_reg_T0 ( @@v194@@ , @@v154@@ ) ; } } else { if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) || * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; @@v190@@ = tcg_temp_local_new_i64 ( ) ; @@v191@@ = tcg_temp_local_new_i64 ( ) ; @@v192@@ = tcg_temp_local_new_i64 ( ) ; @@v153@@ = Number ; v125 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v125 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v125 ) ) ; @@v154@@ = ( @@v164@@ >> Number ) & Number ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v155@@ = @@v164@@ & Number ; if ( @@v156@@ == Number ) { gen_op_mov_v_reg ( @@v153@@ , @@v190@@ , @@v155@@ ) ; @@v163@@ = Number ; } else { gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; gen_op_ld_v ( @@v153@@ + * ( _DWORD * ) ( @@a1@@ + Number ) , @@v190@@ , cpu_A0 ) ; @@v163@@ = tcg_temp_local_new_i64 ( ) ; tcg_gen_mov_i64 ( @@v163@@ , cpu_A0 ) ; } gen_op_mov_v_reg ( @@v153@@ , @@v191@@ , @@v154@@ ) ; tcg_gen_andi_i64 ( cpu_tmp0 , @@v190@@ , Number L ) ; tcg_gen_andi_i64 ( @@v191@@ , @@v191@@ , Number L ) ; tcg_gen_movi_i64 ( @@v192@@ , Number L ) ; @@v193@@ = gen_new_label ( ) ; tcg_gen_brcond_i64 ( Number , cpu_tmp0 , @@v191@@ , @@v193@@ ) ; tcg_gen_andi_i64 ( @@v190@@ , @@v190@@ , Number ) ; tcg_gen_or_i64 ( @@v190@@ , @@v190@@ , @@v191@@ ) ; tcg_gen_movi_i64 ( @@v192@@ , Number L ) ; gen_set_label ( @@v193@@ ) ; if ( @@v156@@ == Number ) { gen_op_mov_reg_v ( @@v153@@ , @@v155@@ , @@v190@@ ) ; } else { gen_op_st_v ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ , @@v190@@ , @@v163@@ ) ; tcg_temp_free_i64 ( @@v163@@ ) ; } if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_compute_eflags ( cpu_cc_src ) ; tcg_gen_andi_i64 ( cpu_cc_src , cpu_cc_src , Number ) ; tcg_gen_or_i64 ( cpu_cc_src , cpu_cc_src , @@v192@@ ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; tcg_temp_free_i64 ( @@v190@@ ) ; tcg_temp_free_i64 ( @@v191@@ ) ; tcg_temp_free_i64 ( @@v192@@ ) ; } goto LABEL_1244 ; case Number : case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { if ( @@v151@@ ) v24 = Number ; else v24 = Number ; @@v153@@ = v24 ; } else { @@v153@@ = @@v151@@ + Number ; } if ( @@v148@@ == Number ) @@v159@@ = insn_get ( @@a1@@ , @@v153@@ ) ; else @@v159@@ = ( char ) insn_get ( @@a1@@ , Number ) ; gen_op_movl_T0_im ( @@v159@@ ) ; gen_push_T0 ( ( _DWORD * ) @@a1@@ ) ; goto LABEL_1244 ; case Number : case Number : case Number : @@v153@@ = @@v151@@ + Number ; v19 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v19 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v19 ) ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; if ( @@v148@@ == Number ) { * ( _DWORD * ) ( @@a1@@ + Number ) = insn_const_size ( @@v153@@ ) ; } else if ( @@v148@@ == Number ) { * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } gen_ldst_modrm ( @@a1@@ , @@v164@@ , @@v153@@ , Number , Number ) ; if ( @@v148@@ == Number ) { @@v159@@ = insn_get ( @@a1@@ , @@v153@@ ) ; gen_op_movl_T1_im ( @@v159@@ ) ; } else if ( @@v148@@ == Number ) { @@v159@@ = ( char ) insn_get ( @@a1@@ , Number ) ; gen_op_movl_T1_im ( @@v159@@ ) ; } else { gen_op_mov_TN_reg ( @@v153@@ , Number , @@v154@@ ) ; } if ( @@v153@@ == Number ) { gen_helper_imulq_T0_T1 ( cpu_T [ Number ] , cpu_T [ Number ] , dword_2E2A4 ) ; } else { if ( @@v153@@ == Number ) { tcg_gen_ext32s_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; tcg_gen_ext32s_i64 ( dword_2E2A4 , dword_2E2A4 ) ; tcg_gen_mul_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , dword_2E2A4 ) ; tcg_gen_mov_i64 ( cpu_cc_dst , cpu_T [ Number ] ) ; tcg_gen_ext32s_i64 ( cpu_tmp0 , cpu_T [ Number ] ) ; } else { tcg_gen_ext16s_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; tcg_gen_ext16s_i64 ( dword_2E2A4 , dword_2E2A4 ) ; tcg_gen_mul_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , dword_2E2A4 ) ; tcg_gen_mov_i64 ( cpu_cc_dst , cpu_T [ Number ] ) ; tcg_gen_ext16s_i64 ( cpu_tmp0 , cpu_T [ Number ] ) ; } tcg_gen_sub_i64 ( cpu_cc_src , cpu_T [ Number ] , cpu_tmp0 ) ; } gen_op_mov_reg_T0 ( @@v153@@ , @@v154@@ ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v153@@ + Number ; goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) { if ( @@v151@@ ) v71 = Number ; else v71 = Number ; @@v153@@ = v71 ; } else { @@v153@@ = Number ; } gen_op_mov_TN_reg ( Number , Number , Number ) ; gen_op_andl_T0_ffff ( ) ; v72 = svm_is_rep ( @@v149@@ ) ; gen_check_io ( @@a1@@ , @@v153@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) , v72 | Number ) ; if ( ( @@v149@@ & Number ) != Number ) { gen_repz_ins ( @@a1@@ , @@v153@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; goto LABEL_1244 ; } gen_ins ( @@a1@@ , @@v153@@ ) ; if ( use_icount ) goto LABEL_656 ; goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) { if ( @@v151@@ ) v73 = Number ; else v73 = Number ; @@v153@@ = v73 ; } else { @@v153@@ = Number ; } gen_op_mov_TN_reg ( Number , Number , Number ) ; gen_op_andl_T0_ffff ( ) ; v74 = svm_is_rep ( @@v149@@ ) ; gen_check_io ( @@a1@@ , @@v153@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) , v74 | Number ) ; if ( ( @@v149@@ & Number ) != Number ) { gen_repz_outs ( ( int * ) @@a1@@ , @@v153@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; } else { gen_outs ( ( int * ) @@a1@@ , @@v153@@ ) ; if ( use_icount ) LABEL_656 : gen_jmp ( @@a1@@ , * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; } goto LABEL_1244 ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : @@v198@@ = ( char ) insn_get ( @@a1@@ , Number ) ; goto LABEL_768 ; case Number : case Number : case Number : goto LABEL_88 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; LABEL_88 : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; v6 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v6 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v6 ) ) ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v155@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v157@@ = ( @@v164@@ >> Number ) & Number ; if ( @@v156@@ == Number ) { @@v158@@ = @@v155@@ ; } else { if ( @@v148@@ == Number ) * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; else * ( _DWORD * ) ( @@a1@@ + Number ) = insn_const_size ( @@v153@@ ) ; gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; @@v158@@ = Number ; } if ( @@v148@@ == Number ) @@v162@@ = ( char ) insn_get ( @@a1@@ , Number ) ; else @@v162@@ = insn_get ( @@a1@@ , @@v153@@ ) ; gen_op_movl_T1_im ( @@v162@@ ) ; gen_op ( @@a1@@ , @@v157@@ , @@v153@@ , @@v158@@ ) ; goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; v18 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v18 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v18 ) ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; gen_ldst_modrm ( @@a1@@ , @@v164@@ , @@v153@@ , Number , Number ) ; gen_op_mov_TN_reg ( @@v153@@ , Number , @@v154@@ ) ; gen_op_testl_T0_T1_cc ( ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v153@@ + Number ; goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; v38 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v38 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v38 ) ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; if ( @@v156@@ == Number ) { @@v155@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; goto LABEL_415 ; } gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; gen_op_mov_TN_reg ( @@v153@@ , Number , @@v154@@ ) ; if ( ( @@v149@@ & Number ) == Number ) gen_helper_lock ( ) ; gen_op_ld_T1_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; gen_op_st_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; if ( ( @@v149@@ & Number ) == Number ) gen_helper_unlock ( ) ; gen_op_mov_reg_T1 ( @@v153@@ , @@v154@@ ) ; goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; v29 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v29 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v29 ) ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; gen_ldst_modrm ( @@a1@@ , @@v164@@ , @@v153@@ , @@v154@@ , Number ) ; goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; v31 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v31 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v31 ) ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; gen_ldst_modrm ( @@a1@@ , @@v164@@ , @@v153@@ , Number , Number ) ; gen_op_mov_reg_T0 ( @@v153@@ , @@v154@@ ) ; goto LABEL_1244 ; case Number : v33 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v33 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v33 ) ) ; @@v154@@ = ( @@v164@@ >> Number ) & Number ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; if ( @@v154@@ > Number ) goto LABEL_1247 ; gen_op_movl_T0_seg ( @@v154@@ ) ; if ( @@v156@@ == Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; LABEL_1002 : gen_ldst_modrm ( @@a1@@ , @@v164@@ , @@v153@@ , Number , Number ) ; goto LABEL_1244 ; case Number : @@v153@@ = @@v151@@ + Number ; v36 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v36 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v36 ) ) ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; if ( @@v156@@ == Number ) goto LABEL_1247 ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; * ( _DWORD * ) @@a1@@ = Number ; @@v159@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v159@@ ; gen_op_mov_reg_A0 ( @@v153@@ - Number , @@v154@@ ) ; goto LABEL_1244 ; case Number : v32 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v32 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v32 ) ) ; @@v154@@ = ( @@v164@@ >> Number ) & Number ; if ( @@v154@@ > Number || @@v154@@ == Number ) goto LABEL_1247 ; gen_ldst_modrm ( @@a1@@ , @@v164@@ , Number , Number , Number ) ; gen_movl_seg_T0 ( ( _DWORD * ) @@a1@@ , @@v154@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; if ( @@v154@@ == Number ) { if ( ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) & Number L ) == Number ) gen_helper_set_inhibit_irq ( ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_362 ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { if ( @@v151@@ ) v25 = Number ; else v25 = Number ; @@v153@@ = v25 ; } else { @@v153@@ = @@v151@@ + Number ; } v26 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v26 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v26 ) ) ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; gen_pop_T0 ( ( _DWORD * ) @@a1@@ ) ; if ( @@v156@@ == Number ) { gen_pop_update ( @@a1@@ ) ; @@v155@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; gen_op_mov_reg_T0 ( @@v153@@ , @@v155@@ ) ; } else { * ( _DWORD * ) ( @@a1@@ + Number ) = Number << @@v153@@ ; gen_ldst_modrm ( @@a1@@ , @@v164@@ , @@v153@@ , Number , Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; gen_pop_update ( @@a1@@ ) ; } goto LABEL_1244 ; case Number : if ( ( @@v149@@ & Number ) != Number ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { LABEL_409 : @@v153@@ = @@v151@@ + Number ; @@v154@@ = @@v148@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v155@@ = Number ; LABEL_415 : gen_op_mov_TN_reg ( @@v153@@ , Number , @@v154@@ ) ; gen_op_mov_TN_reg ( @@v153@@ , Number , @@v155@@ ) ; gen_op_mov_reg_T0 ( @@v153@@ , @@v155@@ ) ; gen_op_mov_reg_T1 ( @@v153@@ , @@v154@@ ) ; } else if ( ( @@v149@@ & Number ) != Number ) { gen_svm_check_intercept ( @@a1@@ , @@a2@@ , Number ) ; } goto LABEL_1244 ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : goto LABEL_409 ; case Number : if ( @@v151@@ == Number ) { gen_op_mov_TN_reg ( Number , Number , Number ) ; tcg_gen_ext32s_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; gen_op_mov_reg_T0 ( Number , Number ) ; } else if ( @@v151@@ == Number ) { gen_op_mov_TN_reg ( Number , Number , Number ) ; tcg_gen_ext16s_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; gen_op_mov_reg_T0 ( Number , Number ) ; } else { gen_op_mov_TN_reg ( Number , Number , Number ) ; tcg_gen_ext8s_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; gen_op_mov_reg_T0 ( Number , Number ) ; } goto LABEL_1244 ; case Number : if ( @@v151@@ == Number ) { gen_op_mov_TN_reg ( Number , Number , Number ) ; tcg_gen_sari_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , Number L ) ; gen_op_mov_reg_T0 ( Number , Number ) ; } else if ( @@v151@@ == Number ) { gen_op_mov_TN_reg ( Number , Number , Number ) ; tcg_gen_ext32s_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; tcg_gen_sari_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , Number L ) ; gen_op_mov_reg_T0 ( Number , Number ) ; } else { gen_op_mov_TN_reg ( Number , Number , Number ) ; tcg_gen_ext16s_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; tcg_gen_sari_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , Number L ) ; gen_op_mov_reg_T0 ( Number , Number ) ; } goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( @@v151@@ ) v90 = Number ; else v90 = Number ; @@v153@@ = v90 ; @@v188@@ = insn_get ( @@a1@@ , v90 ) ; @@v189@@ = insn_get ( @@a1@@ , Number ) ; gen_op_movl_T0_im ( @@v189@@ ) ; gen_op_movl_T1_imu ( @@v188@@ ) ; LABEL_202 : if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) || * ( _DWORD * ) ( @@a1@@ + Number ) ) { tcg_gen_trunc_i64_i32 ( cpu_tmp2_i32 , cpu_T [ Number ] ) ; v15 = tcg_const_i32 ( ( unsigned int ) * ( _QWORD * ) ( @@a1@@ + Number ) - ( unsigned int ) * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v16 = tcg_const_i32 ( @@v151@@ ) ; gen_helper_lcall_real ( cpu_tmp2_i32 , dword_2E2A4 , v16 , v15 ) ; } else { if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp2_i32 , cpu_T [ Number ] ) ; v13 = tcg_const_i32 ( ( unsigned int ) * ( _QWORD * ) ( @@a1@@ + Number ) - ( unsigned int ) @@a2@@ ) ; v14 = tcg_const_i32 ( @@v151@@ ) ; gen_helper_lcall_protected ( cpu_tmp2_i32 , dword_2E2A4 , v14 , v13 ) ; } goto LABEL_208 ; case Number : if ( ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) == Number ) goto LABEL_1211 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; LABEL_892 : gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_fwait ( ) ; goto LABEL_1244 ; case Number : gen_svm_check_intercept ( @@a1@@ , @@a2@@ , Number ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) && * ( _DWORD * ) ( @@a1@@ + Number ) != Number ) goto LABEL_1103 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_read_eflags ( cpu_T [ Number ] ) ; gen_push_T0 ( ( _DWORD * ) @@a1@@ ) ; goto LABEL_1244 ; case Number : gen_svm_check_intercept ( @@a1@@ , @@a2@@ , Number ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) && * ( _DWORD * ) ( @@a1@@ + Number ) != Number ) goto LABEL_1103 ; gen_pop_T0 ( ( _DWORD * ) @@a1@@ ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) > * ( _DWORD * ) ( @@a1@@ + Number ) ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) v94 = tcg_const_i32 ( Number L ) ; else v94 = tcg_const_i32 ( Number L ) ; } else if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { v94 = tcg_const_i32 ( Number L ) ; } else { v94 = tcg_const_i32 ( Number L ) ; } } else if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { v94 = tcg_const_i32 ( Number L ) ; } else { v94 = tcg_const_i32 ( Number L ) ; } gen_helper_write_eflags ( cpu_T [ Number ] , v94 ) ; gen_pop_update ( @@a1@@ ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; gen_jmp_im ( * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_eob ( @@a1@@ ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) && ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) == Number ) goto LABEL_1247 ; gen_op_mov_TN_reg ( Number , Number , Number ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_compute_eflags ( cpu_cc_src ) ; tcg_gen_andi_i64 ( cpu_cc_src , cpu_cc_src , Number L ) ; tcg_gen_andi_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , Number L ) ; tcg_gen_or_i64 ( cpu_cc_src , cpu_cc_src , cpu_T [ Number ] ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) && ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) == Number ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_compute_eflags ( cpu_T [ Number ] ) ; tcg_gen_ori_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , Number L ) ; gen_op_mov_reg_T0 ( Number , Number ) ; goto LABEL_1244 ; case Number : case Number : case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) { @@v199@@ = ldq_le_p ( * ( _QWORD * ) ( @@a1@@ + Number ) + guest_base ) ; * ( _QWORD * ) ( @@a1@@ + Number ) += Number L ; gen_op_movq_A0_im ( @@v199@@ ) ; } else { if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) @@v199@@ = ( unsigned int ) insn_get ( @@a1@@ , Number ) ; else @@v199@@ = ( unsigned int ) insn_get ( @@a1@@ , Number ) ; gen_op_movl_A0_im ( @@v199@@ ) ; } gen_add_A0_ds_seg ( ( int * ) @@a1@@ ) ; if ( ( @@v148@@ & Number ) != Number ) { gen_op_mov_TN_reg ( @@v153@@ , Number , Number ) ; gen_op_st_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; } else { gen_op_ld_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; gen_op_mov_reg_T0 ( @@v153@@ , Number ) ; } goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; if ( ( @@v149@@ & Number ) != Number ) gen_repz_movs ( ( int * ) @@a1@@ , @@v153@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; else gen_movs ( ( int * ) @@a1@@ , @@v153@@ ) ; goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; if ( ( @@v149@@ & Number ) != Number ) { gen_repz_cmps ( ( int * ) @@a1@@ , @@v153@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) , Number ) ; } else if ( ( @@v149@@ & Number ) != Number ) { gen_repz_cmps ( ( int * ) @@a1@@ , @@v153@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) , Number ) ; } else { gen_cmps ( ( int * ) @@a1@@ , @@v153@@ ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v153@@ + Number ; } goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; @@v159@@ = insn_get ( @@a1@@ , @@v153@@ ) ; gen_op_mov_TN_reg ( @@v153@@ , Number , Number ) ; gen_op_movl_T1_im ( @@v159@@ ) ; gen_op_testl_T0_T1_cc ( ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v153@@ + Number ; goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; if ( ( @@v149@@ & Number ) != Number ) gen_repz_stos ( @@a1@@ , @@v153@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; else gen_stos ( @@a1@@ , @@v153@@ ) ; goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; if ( ( @@v149@@ & Number ) != Number ) gen_repz_lods ( ( int * ) @@a1@@ , @@v153@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; else gen_lods ( ( int * ) @@a1@@ , @@v153@@ ) ; goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; if ( ( @@v149@@ & Number ) != Number ) { gen_repz_scas ( @@a1@@ , @@v153@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) , Number ) ; } else if ( ( @@v149@@ & Number ) != Number ) { gen_repz_scas ( @@a1@@ , @@v153@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) , Number ) ; } else { gen_scas ( @@a1@@ , @@v153@@ ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v153@@ + Number ; } goto LABEL_1244 ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : @@v159@@ = insn_get ( @@a1@@ , Number ) ; gen_op_movl_T0_im ( @@v159@@ ) ; gen_op_mov_reg_T0 ( Number , @@v148@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ) ; goto LABEL_1244 ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : if ( @@v151@@ == Number ) { @@v201@@ = ldq_le_p ( * ( _QWORD * ) ( @@a1@@ + Number ) + guest_base ) ; * ( _QWORD * ) ( @@a1@@ + Number ) += Number L ; @@v154@@ = @@v148@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; gen_movtl_T0_im ( @@v201@@ ) ; gen_op_mov_reg_T0 ( Number , @@v154@@ ) ; } else { if ( @@v151@@ ) v37 = Number ; else v37 = Number ; @@v153@@ = v37 ; @@v159@@ = insn_get ( @@a1@@ , v37 ) ; @@v154@@ = @@v148@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; gen_op_movl_T0_im ( @@v159@@ ) ; gen_op_mov_reg_T0 ( @@v153@@ , @@v154@@ ) ; } goto LABEL_1244 ; case Number : case Number : @@v152@@ = Number ; goto LABEL_435 ; case Number : @@v159@@ = ldsw_le_p ( ( __int16 * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + guest_base ) ) ; * ( _QWORD * ) ( @@a1@@ + Number ) += Number L ; gen_pop_T0 ( ( _DWORD * ) @@a1@@ ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) && * ( _DWORD * ) ( @@a1@@ + Number ) ) * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; gen_stack_update ( @@a1@@ , @@v159@@ + ( Number << * ( _DWORD * ) ( @@a1@@ + Number ) ) ) ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_andl_T0_ffff ( ) ; goto LABEL_712 ; case Number : gen_pop_T0 ( ( _DWORD * ) @@a1@@ ) ; gen_pop_update ( @@a1@@ ) ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_andl_T0_ffff ( ) ; LABEL_712 : gen_op_jmp_T0 ( ) ; gen_eob ( @@a1@@ ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; @@v157@@ = Number ; goto LABEL_428 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; @@v157@@ = Number ; goto LABEL_428 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; v30 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v30 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v30 ) ) ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; if ( @@v156@@ != Number ) { * ( _DWORD * ) ( @@a1@@ + Number ) = insn_const_size ( @@v153@@ ) ; gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; } @@v159@@ = insn_get ( @@a1@@ , @@v153@@ ) ; gen_op_movl_T0_im ( @@v159@@ ) ; if ( @@v156@@ == Number ) gen_op_mov_reg_T0 ( @@v153@@ , * ( _DWORD * ) ( @@a1@@ + Number ) | @@v164@@ & Number ) ; else LABEL_349 : gen_op_st_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; goto LABEL_1244 ; case Number : @@v159@@ = lduw_le_p ( ( unsigned __int16 * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + guest_base ) ) ; * ( _QWORD * ) ( @@a1@@ + Number ) += Number L ; v27 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v27 + Number ; @@v187@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v27 ) ) ; gen_enter ( ( _DWORD * ) @@a1@@ , @@v159@@ , @@v187@@ ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { gen_op_mov_TN_reg ( Number , Number , Number ) ; gen_op_mov_reg_T0 ( Number , Number ) ; } else if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { gen_op_mov_TN_reg ( Number , Number , Number ) ; gen_op_mov_reg_T0 ( Number , Number ) ; } else { gen_op_mov_TN_reg ( Number , Number , Number ) ; gen_op_mov_reg_T0 ( Number , Number ) ; } gen_pop_T0 ( ( _DWORD * ) @@a1@@ ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { if ( @@v151@@ ) v28 = Number ; else v28 = Number ; @@v153@@ = v28 ; } else { @@v153@@ = @@v151@@ + Number ; } gen_op_mov_reg_T0 ( @@v153@@ , Number ) ; gen_pop_update ( @@a1@@ ) ; goto LABEL_1244 ; case Number : @@v159@@ = ldsw_le_p ( ( __int16 * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + guest_base ) ) ; * ( _QWORD * ) ( @@a1@@ + Number ) += Number L ; goto LABEL_717 ; case Number : @@v159@@ = Number ; LABEL_717 : if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) || * ( _DWORD * ) ( @@a1@@ + Number ) ) { gen_stack_A0 ( @@a1@@ ) ; gen_op_ld_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number + * ( _DWORD * ) ( @@a1@@ + Number ) ) ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_andl_T0_ffff ( ) ; gen_op_jmp_T0 ( ) ; gen_op_addl_A0_im ( Number << * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_op_ld_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number + * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_op_movl_seg_T0_vm ( Number ) ; gen_stack_update ( @@a1@@ , @@v159@@ + ( Number << * ( _DWORD * ) ( @@a1@@ + Number ) ) ) ; } else { if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v85 = tcg_const_i32 ( @@v159@@ ) ; v86 = tcg_const_i32 ( * ( unsigned int * ) ( @@a1@@ + Number ) ) ; gen_helper_lret_protected ( v86 , v85 ) ; } goto LABEL_979 ; case Number : gen_interrupt ( @@a1@@ , Number , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _DWORD * ) ( @@a1@@ + Number ) - * ( _DWORD * ) ( @@a1@@ + Number ) ) ; goto LABEL_1244 ; case Number : v106 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v106 + Number ; @@v159@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v106 ) ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) && * ( _DWORD * ) ( @@a1@@ + Number ) != Number ) goto LABEL_1103 ; gen_interrupt ( @@a1@@ , @@v159@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _DWORD * ) ( @@a1@@ + Number ) - * ( _DWORD * ) ( @@a1@@ + Number ) ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v107 = tcg_const_i32 ( ( unsigned int ) * ( _QWORD * ) ( @@a1@@ + Number ) - ( unsigned int ) @@a2@@ ) ; gen_helper_into ( v107 ) ; goto LABEL_1244 ; case Number : gen_svm_check_intercept ( @@a1@@ , @@a2@@ , Number ) ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_727 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) { LABEL_727 : v87 = tcg_const_i32 ( * ( unsigned int * ) ( @@a1@@ + Number ) ) ; gen_helper_iret_real ( v87 ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } else { gen_exception ( @@a1@@ , Number , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; } } else { if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v88 = tcg_const_i32 ( ( unsigned int ) * ( _QWORD * ) ( @@a1@@ + Number ) - ( unsigned int ) * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v89 = tcg_const_i32 ( * ( unsigned int * ) ( @@a1@@ + Number ) ) ; gen_helper_iret_protected ( v89 , v88 ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } goto LABEL_979 ; case Number : case Number : @@v152@@ = Number ; goto LABEL_435 ; case Number : case Number : @@v152@@ = Number ; LABEL_435 : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; v41 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v41 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v41 ) ) ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v157@@ = ( @@v164@@ >> Number ) & Number ; if ( @@v156@@ == Number ) { @@v158@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; } else { if ( @@v152@@ == Number ) * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; @@v158@@ = Number ; } if ( @@v152@@ ) { if ( @@v152@@ == Number ) { v42 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v42 + Number ; @@v152@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v42 ) ) ; } gen_shifti ( @@a1@@ , @@v157@@ , @@v153@@ , @@v158@@ , @@v152@@ ) ; } else { gen_shift ( @@a1@@ , @@v157@@ , @@v153@@ , @@v158@@ , Number ) ; } goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; v102 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v102 + Number ; @@v159@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v102 ) ) ; if ( @@v159@@ ) { v103 = tcg_const_i32 ( @@v159@@ ) ; gen_helper_aam ( v103 ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } else { gen_exception ( @@a1@@ , Number , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; } goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; v104 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v104 + Number ; @@v159@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v104 ) ) ; v105 = tcg_const_i32 ( @@v159@@ ) ; gen_helper_aad ( v105 ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_compute_eflags_c ( cpu_T [ Number ] ) ; tcg_gen_neg_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; gen_op_mov_reg_T0 ( Number , Number ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) { gen_op_movq_A0_reg ( Number ) ; gen_op_mov_TN_reg ( Number , Number , Number ) ; tcg_gen_andi_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , Number L ) ; tcg_gen_add_i64 ( cpu_A0 , cpu_A0 , cpu_T [ Number ] ) ; } else { gen_op_movl_A0_reg ( Number ) ; gen_op_mov_TN_reg ( Number , Number , Number ) ; tcg_gen_andi_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , Number L ) ; tcg_gen_add_i64 ( cpu_A0 , cpu_A0 , cpu_T [ Number ] ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) tcg_gen_andi_i64 ( cpu_A0 , cpu_A0 , Number ) ; else gen_op_andl_A0_ffff ( ) ; } gen_add_A0_ds_seg ( ( int * ) @@a1@@ ) ; gen_op_ldu_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_op_mov_reg_T0 ( Number , Number ) ; goto LABEL_1244 ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : if ( ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) != Number ) { LABEL_1211 : gen_exception ( @@a1@@ , Number , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; goto LABEL_1244 ; } v45 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v45 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v45 ) ) ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v155@@ = @@v164@@ & Number ; @@v157@@ = ( Number * ( _BYTE ) @@v148@@ ) & Number | ( @@v164@@ >> Number ) & Number ; if ( @@v156@@ == Number ) { @@v158@@ = @@v155@@ ; switch ( @@v157@@ ) { case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : @@v185@@ = @@v157@@ & Number ; if ( @@v157@@ <= Number ) { v55 = tcg_const_i32 ( @@v158@@ ) ; gen_helper_fmov_FT0_STN ( v55 ) ; gen_helper_fp_arith_ST0_FT0 ( @@v185@@ ) ; } else { gen_helper_fp_arith_STN_ST0 ( @@v185@@ , @@v158@@ ) ; if ( @@v157@@ > Number ) gen_helper_fpop ( ) ; } goto LABEL_1244 ; case Number : case Number : v56 = tcg_const_i32 ( @@v158@@ ) ; gen_helper_fmov_FT0_STN ( v56 ) ; gen_helper_fcom_ST0_FT0 ( ) ; goto LABEL_1244 ; case Number : case Number : case Number : v57 = tcg_const_i32 ( @@v158@@ ) ; gen_helper_fmov_FT0_STN ( v57 ) ; gen_helper_fcom_ST0_FT0 ( ) ; gen_helper_fpop ( ) ; goto LABEL_1244 ; case Number : gen_helper_fpush ( ) ; v53 = tcg_const_i32 ( ( ( _BYTE ) @@v158@@ + Number ) & Number ) ; gen_helper_fmov_ST0_STN ( v53 ) ; goto LABEL_1244 ; case Number : case Number : case Number : v54 = tcg_const_i32 ( @@v158@@ ) ; gen_helper_fxchg_ST0_STN ( v54 ) ; goto LABEL_1244 ; case Number : if ( @@v155@@ ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; goto LABEL_892 ; case Number : case Number : case Number : case Number : v63 = tcg_const_i32 ( @@v158@@ ) ; gen_helper_fmov_STN_ST0 ( v63 ) ; gen_helper_fpop ( ) ; goto LABEL_1244 ; case Number : if ( @@v155@@ == Number ) { gen_helper_fxam_ST0 ( ) ; } else { if ( @@v155@@ > Number ) goto LABEL_1247 ; if ( @@v155@@ == Number ) { gen_helper_fldz_FT0 ( ) ; gen_helper_fcom_ST0_FT0 ( ) ; } else if ( @@v155@@ ) { if ( @@v155@@ != Number ) goto LABEL_1247 ; gen_helper_fabs_ST0 ( ) ; } else { gen_helper_fchs_ST0 ( ) ; } } break ; case Number : switch ( @@v155@@ ) { case Number : gen_helper_fpush ( ) ; gen_helper_fld1_ST0 ( ) ; goto LABEL_1244 ; case Number : gen_helper_fpush ( ) ; gen_helper_fldl2t_ST0 ( ) ; goto LABEL_1244 ; case Number : gen_helper_fpush ( ) ; gen_helper_fldl2e_ST0 ( ) ; goto LABEL_1244 ; case Number : gen_helper_fpush ( ) ; gen_helper_fldpi_ST0 ( ) ; goto LABEL_1244 ; case Number : gen_helper_fpush ( ) ; gen_helper_fldlg2_ST0 ( ) ; goto LABEL_1244 ; case Number : gen_helper_fpush ( ) ; gen_helper_fldln2_ST0 ( ) ; goto LABEL_1244 ; case Number : gen_helper_fpush ( ) ; gen_helper_fldz_ST0 ( ) ; goto LABEL_1244 ; default : goto LABEL_1247 ; } case Number : switch ( @@v155@@ ) { case Number : gen_helper_f2xm1 ( ) ; break ; case Number : gen_helper_fyl2x ( ) ; break ; case Number : gen_helper_fptan ( ) ; break ; case Number : gen_helper_fpatan ( ) ; break ; case Number : gen_helper_fxtract ( ) ; break ; case Number : gen_helper_fprem1 ( ) ; break ; case Number : gen_helper_fdecstp ( ) ; break ; default : gen_helper_fincstp ( ) ; break ; } goto LABEL_1244 ; case Number : switch ( @@v155@@ ) { case Number : gen_helper_fprem ( ) ; break ; case Number : gen_helper_fyl2xp1 ( ) ; break ; case Number : gen_helper_fsqrt ( ) ; break ; case Number : gen_helper_fsincos ( ) ; break ; case Number : gen_helper_frndint ( ) ; break ; case Number : gen_helper_fscale ( ) ; break ; case Number : gen_helper_fsin ( ) ; break ; default : gen_helper_fcos ( ) ; break ; } goto LABEL_1244 ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : @@v183@@ = ( unsigned __int8 ) fcmov_cc_17866 [ @@v157@@ & Number ] | ( ( @@v157@@ & Number ) == Number ) ; @@v184@@ = gen_new_label ( ) ; gen_jcc1 ( @@a1@@ , * ( _DWORD * ) ( @@a1@@ + Number ) , @@v183@@ , @@v184@@ ) ; v70 = tcg_const_i32 ( @@v158@@ ) ; gen_helper_fmov_ST0_STN ( v70 ) ; gen_set_label ( @@v184@@ ) ; goto LABEL_1244 ; case Number : if ( @@v155@@ != Number ) goto LABEL_1247 ; v58 = tcg_const_i32 ( Number L ) ; gen_helper_fmov_FT0_STN ( v58 ) ; gen_helper_fucom_ST0_FT0 ( ) ; gen_helper_fpop ( ) ; gen_helper_fpop ( ) ; goto LABEL_1244 ; case Number : switch ( @@v155@@ ) { case Number : case Number : case Number : goto LABEL_1244 ; case Number : gen_helper_fclex ( ) ; goto LABEL_1244 ; case Number : gen_helper_fninit ( ) ; goto LABEL_1244 ; default : goto LABEL_1247 ; } case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; v59 = tcg_const_i32 ( @@v158@@ ) ; gen_helper_fmov_FT0_STN ( v59 ) ; gen_helper_fucomi_ST0_FT0 ( ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; v60 = tcg_const_i32 ( @@v158@@ ) ; gen_helper_fmov_FT0_STN ( v60 ) ; gen_helper_fcomi_ST0_FT0 ( ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; case Number : v61 = tcg_const_i32 ( @@v158@@ ) ; gen_helper_ffree_STN ( v61 ) ; goto LABEL_1244 ; case Number : v62 = tcg_const_i32 ( @@v158@@ ) ; gen_helper_fmov_STN_ST0 ( v62 ) ; goto LABEL_1244 ; case Number : v64 = tcg_const_i32 ( @@v158@@ ) ; gen_helper_fmov_FT0_STN ( v64 ) ; gen_helper_fucom_ST0_FT0 ( ) ; goto LABEL_1244 ; case Number : v65 = tcg_const_i32 ( @@v158@@ ) ; gen_helper_fmov_FT0_STN ( v65 ) ; gen_helper_fucom_ST0_FT0 ( ) ; gen_helper_fpop ( ) ; goto LABEL_1244 ; case Number : if ( @@v155@@ != Number ) goto LABEL_1247 ; v66 = tcg_const_i32 ( Number L ) ; gen_helper_fmov_FT0_STN ( v66 ) ; gen_helper_fcom_ST0_FT0 ( ) ; gen_helper_fpop ( ) ; gen_helper_fpop ( ) ; goto LABEL_1244 ; case Number : v67 = tcg_const_i32 ( @@v158@@ ) ; gen_helper_ffree_STN ( v67 ) ; gen_helper_fpop ( ) ; goto LABEL_1244 ; case Number : if ( @@v155@@ ) goto LABEL_1247 ; gen_helper_fnstsw ( cpu_tmp2_i32 ) ; tcg_gen_extu_i32_i64 ( cpu_T [ Number ] , cpu_tmp2_i32 ) ; gen_op_mov_reg_T0 ( Number , Number ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; v68 = tcg_const_i32 ( @@v158@@ ) ; gen_helper_fmov_FT0_STN ( v68 ) ; gen_helper_fucomi_ST0_FT0 ( ) ; gen_helper_fpop ( ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; v69 = tcg_const_i32 ( @@v158@@ ) ; gen_helper_fmov_FT0_STN ( v69 ) ; gen_helper_fcomi_ST0_FT0 ( ) ; gen_helper_fpop ( ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; default : goto LABEL_1247 ; } goto LABEL_1244 ; } gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; switch ( @@v157@@ ) { case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : @@v186@@ = @@v157@@ & Number ; v46 = @@v157@@ >> Number ; if ( @@v157@@ >> Number == Number ) { tcg_gen_qemu_ld64 ( cpu_tmp1_i64 , cpu_A0 , ( * ( int * ) ( @@a1@@ + Number ) >> Number ) - Number ) ; gen_helper_fldl_FT0 ( cpu_tmp1_i64 ) ; } else { if ( v46 > Number ) goto LABEL_473 ; if ( ! v46 ) { gen_op_ld_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp2_i32 , cpu_T [ Number ] ) ; gen_helper_flds_FT0 ( cpu_tmp2_i32 ) ; goto LABEL_474 ; } if ( v46 == Number ) { gen_op_ld_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp2_i32 , cpu_T [ Number ] ) ; gen_helper_fildl_FT0 ( cpu_tmp2_i32 ) ; } else { LABEL_473 : gen_op_lds_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp2_i32 , cpu_T [ Number ] ) ; gen_helper_fildl_FT0 ( cpu_tmp2_i32 ) ; } } LABEL_474 : gen_helper_fp_arith_ST0_FT0 ( @@v186@@ ) ; if ( @@v186@@ == Number ) goto LABEL_475 ; goto LABEL_1244 ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : if ( ( @@v157@@ & Number ) == Number ) { v47 = @@v157@@ >> Number ; if ( @@v157@@ >> Number == Number ) { tcg_gen_qemu_ld64 ( cpu_tmp1_i64 , cpu_A0 , ( * ( int * ) ( @@a1@@ + Number ) >> Number ) - Number ) ; gen_helper_fldl_ST0 ( cpu_tmp1_i64 ) ; } else { if ( v47 > Number ) goto LABEL_487 ; if ( ! v47 ) { gen_op_ld_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp2_i32 , cpu_T [ Number ] ) ; gen_helper_flds_ST0 ( cpu_tmp2_i32 ) ; goto LABEL_1244 ; } if ( v47 == Number ) { gen_op_ld_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp2_i32 , cpu_T [ Number ] ) ; gen_helper_fildl_ST0 ( cpu_tmp2_i32 ) ; } else { LABEL_487 : gen_op_lds_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp2_i32 , cpu_T [ Number ] ) ; gen_helper_fildl_ST0 ( cpu_tmp2_i32 ) ; } } goto LABEL_1244 ; } if ( ( @@v157@@ & Number ) == Number ) { if ( @@v157@@ >> Number == Number ) { gen_helper_fisttl_ST0 ( cpu_tmp2_i32 ) ; tcg_gen_extu_i32_i64 ( cpu_T [ Number ] , cpu_tmp2_i32 ) ; gen_op_st_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; } else if ( @@v157@@ >> Number == Number ) { gen_helper_fisttll_ST0 ( cpu_tmp1_i64 ) ; tcg_gen_qemu_st64 ( cpu_tmp1_i64 , cpu_A0 , ( * ( int * ) ( @@a1@@ + Number ) >> Number ) - Number ) ; } else { gen_helper_fistt_ST0 ( cpu_tmp2_i32 ) ; tcg_gen_extu_i32_i64 ( cpu_T [ Number ] , cpu_tmp2_i32 ) ; gen_op_st_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; } LABEL_475 : gen_helper_fpop ( ) ; goto LABEL_1244 ; } v48 = @@v157@@ >> Number ; if ( @@v157@@ >> Number == Number ) { gen_helper_fstl_ST0 ( cpu_tmp1_i64 ) ; tcg_gen_qemu_st64 ( cpu_tmp1_i64 , cpu_A0 , ( * ( int * ) ( @@a1@@ + Number ) >> Number ) - Number ) ; } else { if ( v48 > Number ) goto LABEL_501 ; if ( ! v48 ) { gen_helper_fsts_ST0 ( cpu_tmp2_i32 ) ; tcg_gen_extu_i32_i64 ( cpu_T [ Number ] , cpu_tmp2_i32 ) ; gen_op_st_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; goto LABEL_502 ; } if ( v48 == Number ) { gen_helper_fistl_ST0 ( cpu_tmp2_i32 ) ; tcg_gen_extu_i32_i64 ( cpu_T [ Number ] , cpu_tmp2_i32 ) ; gen_op_st_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; } else { LABEL_501 : gen_helper_fist_ST0 ( cpu_tmp2_i32 ) ; tcg_gen_extu_i32_i64 ( cpu_T [ Number ] , cpu_tmp2_i32 ) ; gen_op_st_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; } } LABEL_502 : if ( ( @@v157@@ & Number ) == Number ) gen_helper_fpop ( ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v49 = tcg_const_i32 ( * ( unsigned int * ) ( @@a1@@ + Number ) ) ; gen_helper_fldenv ( cpu_A0 , v49 ) ; goto LABEL_1244 ; case Number : gen_op_ld_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp2_i32 , cpu_T [ Number ] ) ; gen_helper_fldcw ( cpu_tmp2_i32 ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v50 = tcg_const_i32 ( * ( unsigned int * ) ( @@a1@@ + Number ) ) ; gen_helper_fstenv ( cpu_A0 , v50 ) ; goto LABEL_1244 ; case Number : gen_helper_fnstcw ( cpu_tmp2_i32 ) ; tcg_gen_extu_i32_i64 ( cpu_T [ Number ] , cpu_tmp2_i32 ) ; gen_op_st_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_fldt_ST0 ( cpu_A0 ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_fstt_ST0 ( cpu_A0 ) ; gen_helper_fpop ( ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v51 = tcg_const_i32 ( * ( unsigned int * ) ( @@a1@@ + Number ) ) ; gen_helper_frstor ( cpu_A0 , v51 ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v52 = tcg_const_i32 ( * ( unsigned int * ) ( @@a1@@ + Number ) ) ; gen_helper_fsave ( cpu_A0 , v52 ) ; goto LABEL_1244 ; case Number : gen_helper_fnstsw ( cpu_tmp2_i32 ) ; tcg_gen_extu_i32_i64 ( cpu_T [ Number ] , cpu_tmp2_i32 ) ; gen_op_st_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_fbld_ST0 ( cpu_A0 ) ; goto LABEL_1244 ; case Number : tcg_gen_qemu_ld64 ( cpu_tmp1_i64 , cpu_A0 , ( * ( int * ) ( @@a1@@ + Number ) >> Number ) - Number ) ; gen_helper_fildll_ST0 ( cpu_tmp1_i64 ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_fbst_ST0 ( cpu_A0 ) ; gen_helper_fpop ( ) ; goto LABEL_1244 ; case Number : gen_helper_fistll_ST0 ( cpu_tmp1_i64 ) ; tcg_gen_qemu_st64 ( cpu_tmp1_i64 , cpu_A0 , ( * ( int * ) ( @@a1@@ + Number ) >> Number ) - Number ) ; gen_helper_fpop ( ) ; goto LABEL_1244 ; default : goto LABEL_1247 ; } case Number : case Number : case Number : case Number : @@v198@@ = ( char ) insn_get ( @@a1@@ , Number ) ; @@v200@@ = * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v198@@ += @@v200@@ ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) @@v198@@ = ( unsigned __int16 ) @@v198@@ ; @@v180@@ = gen_new_label ( ) ; @@v181@@ = gen_new_label ( ) ; @@v182@@ = gen_new_label ( ) ; @@v148@@ &= Number ; if ( @@v148@@ <= Number ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_op_add_reg_im ( * ( _DWORD * ) ( @@a1@@ + Number ) , Number , Number ) ; gen_op_jz_ecx ( * ( _DWORD * ) ( @@a1@@ + Number ) , @@v182@@ ) ; gen_compute_eflags ( cpu_tmp0 ) ; tcg_gen_andi_i64 ( cpu_tmp0 , cpu_tmp0 , Number L ) ; if ( @@v148@@ ) tcg_gen_brcondi_i64 ( Number , cpu_tmp0 , Number L , @@v180@@ ) ; else tcg_gen_brcondi_i64 ( Number , cpu_tmp0 , Number L , @@v180@@ ) ; } else if ( @@v148@@ == Number ) { gen_op_add_reg_im ( * ( _DWORD * ) ( @@a1@@ + Number ) , Number , Number ) ; gen_op_jnz_ecx ( * ( _DWORD * ) ( @@a1@@ + Number ) , @@v180@@ ) ; } else { gen_op_jz_ecx ( * ( _DWORD * ) ( @@a1@@ + Number ) , @@v180@@ ) ; } gen_set_label ( @@v182@@ ) ; gen_jmp_im ( @@v200@@ ) ; tcg_gen_br ( @@v181@@ ) ; gen_set_label ( @@v180@@ ) ; gen_jmp_im ( @@v198@@ ) ; gen_set_label ( @@v181@@ ) ; gen_eob ( @@a1@@ ) ; goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) { if ( @@v151@@ ) v75 = Number ; else v75 = Number ; @@v153@@ = v75 ; } else { @@v153@@ = Number ; } v76 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v76 + Number ; @@v159@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v76 ) ) ; gen_op_movl_T0_im ( @@v159@@ ) ; v77 = svm_is_rep ( @@v149@@ ) ; gen_check_io ( @@a1@@ , @@v153@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) , v77 | Number ) ; if ( use_icount ) gen_io_start ( ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp2_i32 , cpu_T [ Number ] ) ; gen_helper_in_func ( @@v153@@ , dword_2E2A4 , cpu_tmp2_i32 ) ; gen_op_mov_reg_T1 ( @@v153@@ , Number ) ; if ( use_icount ) goto LABEL_953 ; goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) { if ( @@v151@@ ) v78 = Number ; else v78 = Number ; @@v153@@ = v78 ; } else { @@v153@@ = Number ; } v79 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v79 + Number ; @@v159@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v79 ) ) ; gen_op_movl_T0_im ( @@v159@@ ) ; v80 = svm_is_rep ( @@v149@@ ) ; gen_check_io ( @@a1@@ , @@v153@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) , v80 ) ; gen_op_mov_TN_reg ( @@v153@@ , Number , Number ) ; if ( use_icount ) gen_io_start ( ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp2_i32 , cpu_T [ Number ] ) ; tcg_gen_andi_i32 ( cpu_tmp2_i32 , cpu_tmp2_i32 , Number ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp3_i32 , dword_2E2A4 ) ; gen_helper_out_func ( @@v153@@ , cpu_tmp2_i32 , cpu_tmp3_i32 ) ; if ( use_icount ) goto LABEL_953 ; goto LABEL_1244 ; case Number : if ( @@v151@@ ) @@v198@@ = ( int ) insn_get ( @@a1@@ , Number ) ; else @@v198@@ = ( __int16 ) insn_get ( @@a1@@ , Number ) ; @@v200@@ = * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v198@@ += @@v200@@ ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) @@v198@@ = ( unsigned int ) @@v198@@ ; } else { @@v198@@ = ( unsigned __int16 ) @@v198@@ ; } gen_movtl_T0_im ( @@v200@@ ) ; gen_push_T0 ( ( _DWORD * ) @@a1@@ ) ; gen_jmp ( @@a1@@ , @@v198@@ ) ; goto LABEL_1244 ; case Number : if ( @@v151@@ ) @@v198@@ = ( int ) insn_get ( @@a1@@ , Number ) ; else @@v198@@ = ( __int16 ) insn_get ( @@a1@@ , Number ) ; @@v198@@ += * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) @@v198@@ = ( unsigned int ) @@v198@@ ; } else { @@v198@@ = ( unsigned __int16 ) @@v198@@ ; } goto LABEL_763 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( @@v151@@ ) v91 = Number ; else v91 = Number ; @@v153@@ = v91 ; @@v178@@ = insn_get ( @@a1@@ , v91 ) ; @@v179@@ = insn_get ( @@a1@@ , Number ) ; gen_op_movl_T0_im ( @@v179@@ ) ; gen_op_movl_T1_imu ( @@v178@@ ) ; LABEL_213 : if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) || * ( _DWORD * ) ( @@a1@@ + Number ) ) { gen_op_movl_seg_T0_vm ( Number ) ; gen_op_movl_T0_T1 ( ) ; gen_op_jmp_T0 ( ) ; } else { if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp2_i32 , cpu_T [ Number ] ) ; v17 = tcg_const_i32 ( ( unsigned int ) * ( _QWORD * ) ( @@a1@@ + Number ) - ( unsigned int ) @@a2@@ ) ; gen_helper_ljmp_protected ( cpu_tmp2_i32 , dword_2E2A4 , v17 ) ; } LABEL_208 : gen_eob ( @@a1@@ ) ; goto LABEL_1244 ; case Number : @@v198@@ = * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) + ( char ) insn_get ( @@a1@@ , Number ) ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) @@v198@@ = ( unsigned __int16 ) @@v198@@ ; LABEL_763 : gen_jmp ( @@a1@@ , @@v198@@ ) ; goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) { if ( @@v151@@ ) v81 = Number ; else v81 = Number ; @@v153@@ = v81 ; } else { @@v153@@ = Number ; } gen_op_mov_TN_reg ( Number , Number , Number ) ; gen_op_andl_T0_ffff ( ) ; v82 = svm_is_rep ( @@v149@@ ) ; gen_check_io ( @@a1@@ , @@v153@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) , v82 | Number ) ; if ( use_icount ) gen_io_start ( ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp2_i32 , cpu_T [ Number ] ) ; gen_helper_in_func ( @@v153@@ , dword_2E2A4 , cpu_tmp2_i32 ) ; gen_op_mov_reg_T1 ( @@v153@@ , Number ) ; if ( use_icount ) goto LABEL_953 ; goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) { if ( @@v151@@ ) v83 = Number ; else v83 = Number ; @@v153@@ = v83 ; } else { @@v153@@ = Number ; } gen_op_mov_TN_reg ( Number , Number , Number ) ; gen_op_andl_T0_ffff ( ) ; v84 = svm_is_rep ( @@v149@@ ) ; gen_check_io ( @@a1@@ , @@v153@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) , v84 ) ; gen_op_mov_TN_reg ( @@v153@@ , Number , Number ) ; if ( use_icount ) gen_io_start ( ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp2_i32 , cpu_T [ Number ] ) ; tcg_gen_andi_i32 ( cpu_tmp2_i32 , cpu_tmp2_i32 , Number ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp3_i32 , dword_2E2A4 ) ; gen_helper_out_func ( @@v153@@ , cpu_tmp2_i32 , cpu_tmp3_i32 ) ; if ( use_icount ) goto LABEL_953 ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v113 = tcg_const_i32 ( ( unsigned int ) * ( _QWORD * ) ( @@a1@@ + Number ) - ( unsigned int ) @@a2@@ ) ; gen_helper_hlt ( v113 ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_compute_eflags ( cpu_cc_src ) ; tcg_gen_xori_i64 ( cpu_cc_src , cpu_cc_src , Number L ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; v9 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v9 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v9 ) ) ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v155@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v157@@ = ( @@v164@@ >> Number ) & Number ; if ( @@v156@@ == Number ) { gen_op_mov_TN_reg ( @@v153@@ , Number , @@v155@@ ) ; } else { if ( ! @@v157@@ ) * ( _DWORD * ) ( @@a1@@ + Number ) = insn_const_size ( @@v153@@ ) ; gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; gen_op_ld_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; } switch ( @@v157@@ ) { case Number : @@v159@@ = insn_get ( @@a1@@ , @@v153@@ ) ; gen_op_movl_T1_im ( @@v159@@ ) ; gen_op_testl_T0_T1_cc ( ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v153@@ + Number ; goto LABEL_1244 ; case Number : tcg_gen_not_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; if ( @@v156@@ != Number ) goto LABEL_349 ; gen_op_mov_reg_T0 ( @@v153@@ , @@v155@@ ) ; goto LABEL_1244 ; case Number : tcg_gen_neg_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; if ( @@v156@@ == Number ) gen_op_mov_reg_T0 ( @@v153@@ , @@v155@@ ) ; else gen_op_st_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; gen_op_update_neg_cc ( ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v153@@ + Number ; goto LABEL_1244 ; case Number : if ( @@v153@@ == Number ) { gen_helper_mulq_EAX_T0 ( cpu_T [ Number ] ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } else { if ( @@v153@@ > Number ) goto LABEL_132 ; if ( ! @@v153@@ ) { gen_op_mov_TN_reg ( Number , Number , Number ) ; tcg_gen_ext8u_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; tcg_gen_ext8u_i64 ( dword_2E2A4 , dword_2E2A4 ) ; tcg_gen_mul_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , dword_2E2A4 ) ; gen_op_mov_reg_T0 ( Number , Number ) ; tcg_gen_mov_i64 ( cpu_cc_dst , cpu_T [ Number ] ) ; tcg_gen_andi_i64 ( cpu_cc_src , cpu_T [ Number ] , Number L ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; } if ( @@v153@@ == Number ) { gen_op_mov_TN_reg ( Number , Number , Number ) ; tcg_gen_ext16u_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; tcg_gen_ext16u_i64 ( dword_2E2A4 , dword_2E2A4 ) ; tcg_gen_mul_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , dword_2E2A4 ) ; gen_op_mov_reg_T0 ( Number , Number ) ; tcg_gen_mov_i64 ( cpu_cc_dst , cpu_T [ Number ] ) ; tcg_gen_shri_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , Number L ) ; gen_op_mov_reg_T0 ( Number , Number ) ; tcg_gen_mov_i64 ( cpu_cc_src , cpu_T [ Number ] ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } else { LABEL_132 : gen_op_mov_TN_reg ( Number , Number , Number ) ; tcg_gen_ext32u_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; tcg_gen_ext32u_i64 ( dword_2E2A4 , dword_2E2A4 ) ; tcg_gen_mul_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , dword_2E2A4 ) ; gen_op_mov_reg_T0 ( Number , Number ) ; tcg_gen_mov_i64 ( cpu_cc_dst , cpu_T [ Number ] ) ; tcg_gen_shri_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , Number L ) ; gen_op_mov_reg_T0 ( Number , Number ) ; tcg_gen_mov_i64 ( cpu_cc_src , cpu_T [ Number ] ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } } goto LABEL_1244 ; case Number : if ( @@v153@@ == Number ) { gen_helper_imulq_EAX_T0 ( cpu_T [ Number ] ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } else { if ( @@v153@@ > Number ) goto LABEL_141 ; if ( ! @@v153@@ ) { gen_op_mov_TN_reg ( Number , Number , Number ) ; tcg_gen_ext8s_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; tcg_gen_ext8s_i64 ( dword_2E2A4 , dword_2E2A4 ) ; tcg_gen_mul_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , dword_2E2A4 ) ; gen_op_mov_reg_T0 ( Number , Number ) ; tcg_gen_mov_i64 ( cpu_cc_dst , cpu_T [ Number ] ) ; tcg_gen_ext8s_i64 ( cpu_tmp0 , cpu_T [ Number ] ) ; tcg_gen_sub_i64 ( cpu_cc_src , cpu_T [ Number ] , cpu_tmp0 ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; } if ( @@v153@@ == Number ) { gen_op_mov_TN_reg ( Number , Number , Number ) ; tcg_gen_ext16s_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; tcg_gen_ext16s_i64 ( dword_2E2A4 , dword_2E2A4 ) ; tcg_gen_mul_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , dword_2E2A4 ) ; gen_op_mov_reg_T0 ( Number , Number ) ; tcg_gen_mov_i64 ( cpu_cc_dst , cpu_T [ Number ] ) ; tcg_gen_ext16s_i64 ( cpu_tmp0 , cpu_T [ Number ] ) ; tcg_gen_sub_i64 ( cpu_cc_src , cpu_T [ Number ] , cpu_tmp0 ) ; tcg_gen_shri_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , Number L ) ; gen_op_mov_reg_T0 ( Number , Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } else { LABEL_141 : gen_op_mov_TN_reg ( Number , Number , Number ) ; tcg_gen_ext32s_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; tcg_gen_ext32s_i64 ( dword_2E2A4 , dword_2E2A4 ) ; tcg_gen_mul_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , dword_2E2A4 ) ; gen_op_mov_reg_T0 ( Number , Number ) ; tcg_gen_mov_i64 ( cpu_cc_dst , cpu_T [ Number ] ) ; tcg_gen_ext32s_i64 ( cpu_tmp0 , cpu_T [ Number ] ) ; tcg_gen_sub_i64 ( cpu_cc_src , cpu_T [ Number ] , cpu_tmp0 ) ; tcg_gen_shri_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , Number L ) ; gen_op_mov_reg_T0 ( Number , Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } } goto LABEL_1244 ; case Number : if ( @@v153@@ == Number ) { gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_divq_EAX ( cpu_T [ Number ] ) ; } else { if ( @@v153@@ > Number ) goto LABEL_150 ; if ( ! @@v153@@ ) { gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_divb_AL ( cpu_T [ Number ] ) ; goto LABEL_1244 ; } if ( @@v153@@ == Number ) { gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_divw_AX ( cpu_T [ Number ] ) ; } else { LABEL_150 : gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_divl_EAX ( cpu_T [ Number ] ) ; } } goto LABEL_1244 ; case Number : if ( @@v153@@ == Number ) { gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_idivq_EAX ( cpu_T [ Number ] ) ; } else { if ( @@v153@@ > Number ) goto LABEL_159 ; if ( ! @@v153@@ ) { gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_idivb_AL ( cpu_T [ Number ] ) ; goto LABEL_1244 ; } if ( @@v153@@ == Number ) { gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_idivw_AX ( cpu_T [ Number ] ) ; } else { LABEL_159 : gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_idivl_EAX ( cpu_T [ Number ] ) ; } } break ; default : goto LABEL_1247 ; } goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_compute_eflags ( cpu_cc_src ) ; tcg_gen_andi_i64 ( cpu_cc_src , cpu_cc_src , Number ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_compute_eflags ( cpu_cc_src ) ; tcg_gen_ori_i64 ( cpu_cc_src , cpu_cc_src , Number L ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) != Number ) { LABEL_1103 : gen_exception ( @@a1@@ , Number , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; goto LABEL_1244 ; } } else if ( * ( _DWORD * ) ( @@a1@@ + Number ) > * ( _DWORD * ) ( @@a1@@ + Number ) ) { goto LABEL_1103 ; } gen_helper_cli ( ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) != Number ) goto LABEL_1103 ; } else if ( * ( _DWORD * ) ( @@a1@@ + Number ) > * ( _DWORD * ) ( @@a1@@ + Number ) ) { goto LABEL_1103 ; } gen_helper_sti ( ) ; if ( ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) & Number L ) == Number ) gen_helper_set_inhibit_irq ( ) ; LABEL_362 : gen_jmp_im ( * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_eob ( @@a1@@ ) ; goto LABEL_1244 ; case Number : tcg_gen_movi_i32 ( cpu_tmp2_i32 , Number ) ; tcg_gen_st_i32 ( cpu_tmp2_i32 , cpu_env , Number L ) ; goto LABEL_1244 ; case Number : tcg_gen_movi_i32 ( cpu_tmp2_i32 , Number ) ; tcg_gen_st_i32 ( cpu_tmp2_i32 , cpu_env , Number L ) ; goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; v10 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v10 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v10 ) ) ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v155@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v157@@ = ( @@v164@@ >> Number ) & Number ; if ( ( unsigned int ) @@v157@@ <= Number || @@v148@@ != Number ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { switch ( @@v157@@ ) { case Number : case Number : @@v153@@ = Number ; break ; case Number : case Number : if ( @@v151@@ ) { if ( @@v160@@ == Number ) v11 = Number ; else v11 = Number ; } else { v11 = Number ; } @@v153@@ = v11 ; break ; case Number : if ( @@v151@@ ) v12 = Number ; else v12 = Number ; @@v153@@ = v12 ; break ; } } if ( @@v156@@ == Number ) { gen_op_mov_TN_reg ( @@v153@@ , Number , @@v155@@ ) ; } else { gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; if ( @@v157@@ > Number && @@v157@@ != Number && @@v157@@ != Number ) gen_op_ld_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; } switch ( @@v157@@ ) { case Number : if ( @@v156@@ == Number ) @@v158@@ = @@v155@@ ; else @@v158@@ = Number ; gen_inc ( @@a1@@ , @@v153@@ , @@v158@@ , Number ) ; goto LABEL_1244 ; case Number : if ( @@v156@@ == Number ) @@v158@@ = @@v155@@ ; else @@v158@@ = Number ; gen_inc ( @@a1@@ , @@v153@@ , @@v158@@ , Number ) ; goto LABEL_1244 ; case Number : if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_andl_T0_ffff ( ) ; @@v200@@ = * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ; gen_movtl_T1_im ( @@v200@@ ) ; gen_push_T1 ( ( _DWORD * ) @@a1@@ ) ; gen_op_jmp_T0 ( ) ; gen_eob ( @@a1@@ ) ; goto LABEL_1244 ; case Number : gen_op_ld_T1_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; gen_add_A0_im ( @@a1@@ , Number << @@v153@@ ) ; gen_op_ldu_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; goto LABEL_202 ; case Number : if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_andl_T0_ffff ( ) ; gen_op_jmp_T0 ( ) ; gen_eob ( @@a1@@ ) ; goto LABEL_1244 ; case Number : gen_op_ld_T1_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; gen_add_A0_im ( @@a1@@ , Number << @@v153@@ ) ; gen_op_ldu_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; goto LABEL_213 ; case Number : gen_push_T0 ( ( _DWORD * ) @@a1@@ ) ; goto LABEL_1244 ; default : goto LABEL_1247 ; } } goto LABEL_1247 ; case Number : v114 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v114 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v114 ) ) ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v157@@ = ( @@v164@@ >> Number ) & Number ; switch ( @@v157@@ ) { case Number : if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) || * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; gen_svm_check_intercept ( @@a1@@ , @@a2@@ , Number ) ; tcg_gen_ld32u_i64 ( cpu_T [ Number ] , cpu_env , Number L ) ; @@v153@@ = Number ; if ( @@v156@@ == Number ) @@v153@@ += * ( _DWORD * ) ( @@a1@@ + Number ) ; goto LABEL_1002 ; case Number : if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) || * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; gen_svm_check_intercept ( @@a1@@ , @@a2@@ , Number ) ; tcg_gen_ld32u_i64 ( cpu_T [ Number ] , cpu_env , Number L ) ; @@v153@@ = Number ; if ( @@v156@@ == Number ) @@v153@@ += * ( _DWORD * ) ( @@a1@@ + Number ) ; goto LABEL_1002 ; case Number : if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) || * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; gen_svm_check_intercept ( @@a1@@ , @@a2@@ , Number ) ; gen_ldst_modrm ( @@a1@@ , @@v164@@ , Number , Number , Number ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp2_i32 , cpu_T [ Number ] ) ; gen_helper_lldt ( cpu_tmp2_i32 ) ; break ; case Number : if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) || * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; gen_svm_check_intercept ( @@a1@@ , @@a2@@ , Number ) ; gen_ldst_modrm ( @@a1@@ , @@v164@@ , Number , Number , Number ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; tcg_gen_trunc_i64_i32 ( cpu_tmp2_i32 , cpu_T [ Number ] ) ; gen_helper_ltr ( cpu_tmp2_i32 ) ; break ; case Number : case Number : if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) || * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; gen_ldst_modrm ( @@a1@@ , @@v164@@ , Number , Number , Number ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; if ( @@v157@@ == Number ) gen_helper_verr ( cpu_T [ Number ] ) ; else gen_helper_verw ( cpu_T [ Number ] ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; default : goto LABEL_1247 ; } goto LABEL_1244 ; case Number : v115 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v115 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v115 ) ) ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v157@@ = ( @@v164@@ >> Number ) & Number ; @@v155@@ = @@v164@@ & Number ; switch ( @@v157@@ ) { case Number : if ( @@v156@@ == Number ) goto LABEL_1247 ; gen_svm_check_intercept ( @@a1@@ , @@a2@@ , Number ) ; gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; tcg_gen_ld32u_i64 ( cpu_T [ Number ] , cpu_env , Number L ) ; gen_op_st_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; gen_add_A0_im ( @@a1@@ , Number ) ; tcg_gen_ld_i64 ( cpu_T [ Number ] , cpu_env , Number L ) ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_andl_T0_im ( Number ) ; goto LABEL_1019 ; case Number : if ( @@v156@@ == Number ) { if ( @@v155@@ ) { if ( @@v155@@ != Number || ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) == Number || * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v116 = tcg_const_i32 ( ( unsigned int ) * ( _QWORD * ) ( @@a1@@ + Number ) - ( unsigned int ) @@a2@@ ) ; gen_helper_mwait ( v116 ) ; gen_eob ( @@a1@@ ) ; } else { if ( ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) == Number || * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) { gen_op_movq_A0_reg ( Number ) ; } else { gen_op_movl_A0_reg ( Number ) ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_andl_A0_ffff ( ) ; } gen_add_A0_ds_seg ( ( int * ) @@a1@@ ) ; gen_helper_monitor ( cpu_A0 ) ; } } else { gen_svm_check_intercept ( @@a1@@ , @@a2@@ , Number ) ; gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; tcg_gen_ld32u_i64 ( cpu_T [ Number ] , cpu_env , Number L ) ; gen_op_st_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; gen_add_A0_im ( @@a1@@ , Number ) ; tcg_gen_ld_i64 ( cpu_T [ Number ] , cpu_env , Number L ) ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_andl_T0_im ( Number ) ; LABEL_1019 : gen_op_st_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number + * ( _DWORD * ) ( @@a1@@ + Number ) ) ; } goto LABEL_1244 ; case Number : case Number : if ( @@v156@@ == Number ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; switch ( @@v155@@ ) { case Number : if ( ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) == Number || ! * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; v117 = tcg_const_i32 ( ( unsigned int ) * ( _QWORD * ) ( @@a1@@ + Number ) - ( unsigned int ) @@a2@@ ) ; v118 = tcg_const_i32 ( * ( unsigned int * ) ( @@a1@@ + Number ) ) ; gen_helper_vmrun ( v118 , v117 ) ; tcg_gen_exit_tb ( Number L ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; break ; case Number : if ( ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) == Number ) goto LABEL_1247 ; gen_helper_vmmcall ( ) ; goto LABEL_1244 ; case Number : if ( ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) == Number || ! * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; v119 = tcg_const_i32 ( * ( unsigned int * ) ( @@a1@@ + Number ) ) ; gen_helper_vmload ( v119 ) ; break ; case Number : if ( ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) == Number || ! * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; v120 = tcg_const_i32 ( * ( unsigned int * ) ( @@a1@@ + Number ) ) ; gen_helper_vmsave ( v120 ) ; break ; case Number : if ( ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) == Number && ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) == Number || ! * ( _DWORD * ) ( @@a1@@ + Number ) ) { goto LABEL_1247 ; } if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; gen_helper_stgi ( ) ; break ; case Number : if ( ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) == Number || ! * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; gen_helper_clgi ( ) ; break ; case Number : if ( ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) == Number && ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) == Number || ! * ( _DWORD * ) ( @@a1@@ + Number ) ) { goto LABEL_1247 ; } gen_helper_skinit ( ) ; goto LABEL_1244 ; case Number : if ( ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) == Number || ! * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; v121 = tcg_const_i32 ( * ( unsigned int * ) ( @@a1@@ + Number ) ) ; gen_helper_invlpga ( v121 ) ; break ; default : goto LABEL_1247 ; } } else { if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; if ( @@v157@@ == Number ) v122 = Number ; else v122 = Number ; gen_svm_check_intercept ( @@a1@@ , @@a2@@ , v122 ) ; gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; gen_op_ld_T1_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; gen_add_A0_im ( @@a1@@ , Number ) ; gen_op_ld_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number + * ( _DWORD * ) ( @@a1@@ + Number ) ) ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_andl_T0_im ( Number ) ; if ( @@v157@@ == Number ) { tcg_gen_st_i64 ( cpu_T [ Number ] , cpu_env , Number L ) ; tcg_gen_st32_i64 ( dword_2E2A4 , cpu_env , Number L ) ; } else { tcg_gen_st_i64 ( cpu_T [ Number ] , cpu_env , Number L ) ; tcg_gen_st32_i64 ( dword_2E2A4 , cpu_env , Number L ) ; } } goto LABEL_1244 ; case Number : gen_svm_check_intercept ( @@a1@@ , @@a2@@ , Number ) ; tcg_gen_ld32u_i64 ( cpu_T [ Number ] , cpu_env , Number L ) ; gen_ldst_modrm ( @@a1@@ , @@v164@@ , Number , Number , Number ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; gen_svm_check_intercept ( @@a1@@ , @@a2@@ , Number ) ; gen_ldst_modrm ( @@a1@@ , @@v164@@ , Number , Number , Number ) ; gen_helper_lmsw ( cpu_T [ Number ] ) ; gen_jmp_im ( * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_eob ( @@a1@@ ) ; goto LABEL_1244 ; case Number : if ( @@v156@@ != Number ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; gen_helper_invlpg ( cpu_A0 ) ; gen_jmp_im ( * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_eob ( @@a1@@ ) ; goto LABEL_1244 ; } if ( ! @@v155@@ ) { if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) { tcg_gen_ld_i64 ( cpu_T [ Number ] , cpu_env , Number L ) ; tcg_gen_ld_i64 ( dword_2E2A4 , cpu_env , Number L ) ; tcg_gen_st_i64 ( dword_2E2A4 , cpu_env , Number L ) ; tcg_gen_st_i64 ( cpu_T [ Number ] , cpu_env , Number L ) ; goto LABEL_1244 ; } goto LABEL_1103 ; } if ( @@v155@@ != Number || ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) == Number ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; if ( use_icount ) gen_io_start ( ) ; gen_helper_rdtscp ( ) ; if ( use_icount ) { gen_io_end ( ) ; gen_jmp ( @@a1@@ , * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; } break ; default : goto LABEL_1247 ; } goto LABEL_1244 ; case Number : case Number : if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) || * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1247 ; if ( @@v151@@ ) v126 = Number ; else v126 = Number ; @@v153@@ = v126 ; v127 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v127 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v127 ) ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; gen_ldst_modrm ( @@a1@@ , @@v164@@ , Number , Number , Number ) ; @@v176@@ = tcg_temp_local_new_i64 ( ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; if ( @@v148@@ == Number ) gen_helper_lar ( @@v176@@ , cpu_T [ Number ] ) ; else gen_helper_lsl ( @@v176@@ , cpu_T [ Number ] ) ; tcg_gen_andi_i64 ( cpu_tmp0 , cpu_cc_src , Number L ) ; @@v177@@ = gen_new_label ( ) ; tcg_gen_brcondi_i64 ( Number , cpu_tmp0 , Number L , @@v177@@ ) ; gen_op_mov_reg_v ( @@v153@@ , @@v154@@ , @@v176@@ ) ; gen_set_label ( @@v177@@ ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; tcg_temp_free_i64 ( @@v176@@ ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v111 = tcg_const_i32 ( ( unsigned int ) * ( _QWORD * ) ( @@a1@@ + Number ) - ( unsigned int ) @@a2@@ ) ; gen_helper_syscall ( v111 ) ; gen_eob ( @@a1@@ ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; gen_svm_check_intercept ( @@a1@@ , @@a2@@ , Number ) ; gen_helper_clts ( ) ; gen_jmp_im ( * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_eob ( @@a1@@ ) ; goto LABEL_1244 ; case Number : if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v112 = tcg_const_i32 ( * ( unsigned int * ) ( @@a1@@ + Number ) ) ; gen_helper_sysret ( v112 ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; LABEL_979 : gen_eob ( @@a1@@ ) ; goto LABEL_1244 ; case Number : case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; if ( ( @@v148@@ & Number ) != Number ) v123 = Number ; else v123 = Number ; gen_svm_check_intercept ( @@a1@@ , @@a2@@ , v123 ) ; goto LABEL_1244 ; case Number : v142 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v142 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v142 ) ) ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; if ( @@v156@@ != Number ) goto LABEL_1225 ; goto LABEL_1247 ; case Number : case Number : * ( _DWORD * ) ( @@a1@@ + Number ) &= Number ; goto LABEL_1243 ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : LABEL_1243 : gen_sse ( @@a1@@ , @@v148@@ , @@a2@@ , @@v161@@ ) ; goto LABEL_1244 ; case Number : v128 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v128 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v128 ) ) ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v157@@ = ( @@v164@@ >> Number ) & Number ; if ( ( unsigned int ) @@v157@@ > Number ) { gen_nop_modrm ( @@a1@@ , @@v164@@ ) ; } else { if ( @@v156@@ == Number ) goto LABEL_1247 ; LABEL_1225 : gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; } goto LABEL_1244 ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : v129 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v129 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v129 ) ) ; gen_nop_modrm ( @@a1@@ , @@v164@@ ) ; goto LABEL_1244 ; case Number : case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; v130 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v130 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v130 ) ) ; if ( ( @@v164@@ & Number ) != Number ) goto LABEL_1247 ; @@v155@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) @@v153@@ = Number ; else @@v153@@ = Number ; if ( ( @@v149@@ & Number ) != Number && ! @@v154@@ && ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) != Number ) @@v154@@ = Number ; if ( @@v154@@ > Number || ( ( Number L << @@v154@@ ) & Number ) == Number ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; if ( ( @@v148@@ & Number ) != Number ) { gen_op_mov_TN_reg ( @@v153@@ , Number , @@v155@@ ) ; v131 = cpu_T [ Number ] ; v132 = tcg_const_i32 ( @@v154@@ ) ; gen_helper_write_crN ( v132 , v131 ) ; gen_jmp_im ( * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_eob ( @@a1@@ ) ; } else { v133 = tcg_const_i32 ( @@v154@@ ) ; gen_helper_read_crN ( cpu_T [ Number ] , v133 ) ; gen_op_mov_reg_T0 ( @@v153@@ , @@v155@@ ) ; } goto LABEL_1244 ; case Number : case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; v134 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v134 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v134 ) ) ; if ( ( @@v164@@ & Number ) != Number ) goto LABEL_1247 ; @@v155@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; @@v153@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ? Number : Number ; if ( @@v154@@ == Number || @@v154@@ == Number || ( int ) @@v154@@ > Number ) goto LABEL_1247 ; if ( ( @@v148@@ & Number ) != Number ) { gen_svm_check_intercept ( @@a1@@ , @@a2@@ , @@v154@@ + Number ) ; gen_op_mov_TN_reg ( @@v153@@ , Number , @@v155@@ ) ; v135 = cpu_T [ Number ] ; v136 = tcg_const_i32 ( @@v154@@ ) ; gen_helper_movl_drN_T0 ( v136 , v135 ) ; gen_jmp_im ( * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_eob ( @@a1@@ ) ; } else { gen_svm_check_intercept ( @@a1@@ , @@a2@@ , @@v154@@ + Number ) ; tcg_gen_ld_i64 ( cpu_T [ Number ] , cpu_env , Number * ( ( int ) @@v154@@ + Number L ) ) ; gen_op_mov_reg_T0 ( @@v153@@ , @@v155@@ ) ; } goto LABEL_1244 ; case Number : case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; if ( ( @@v148@@ & Number ) != Number ) gen_helper_rdmsr ( ) ; else gen_helper_wrmsr ( ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; if ( use_icount ) gen_io_start ( ) ; gen_helper_rdtsc ( ) ; if ( use_icount ) { LABEL_953 : gen_io_end ( ) ; gen_jmp ( @@a1@@ , * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; } goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_rdpmc ( ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) && * ( _DWORD * ) ( cpu_single_env + Number L ) != Number ) goto LABEL_1247 ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_sysenter ( ) ; gen_eob ( @@a1@@ ) ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) && * ( _DWORD * ) ( cpu_single_env + Number L ) != Number ) goto LABEL_1247 ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_1103 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v110 = tcg_const_i32 ( @@v151@@ ) ; gen_helper_sysexit ( v110 ) ; gen_eob ( @@a1@@ ) ; goto LABEL_1244 ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : @@v153@@ = @@v151@@ + Number ; v93 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v93 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v93 ) ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v174@@ = tcg_temp_local_new_i64 ( ) ; if ( @@v156@@ == Number ) { @@v155@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; gen_op_mov_v_reg ( @@v153@@ , @@v174@@ , @@v155@@ ) ; } else { gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; gen_op_ld_v ( @@v153@@ + * ( _DWORD * ) ( @@a1@@ + Number ) , @@v174@@ , cpu_A0 ) ; } if ( @@v153@@ == Number ) { @@v175@@ = gen_new_label ( ) ; gen_jcc1 ( @@a1@@ , * ( _DWORD * ) ( @@a1@@ + Number ) , @@v148@@ ^ Number , @@v175@@ ) ; tcg_gen_mov_i64 ( cpu_regs [ @@v154@@ ] , @@v174@@ ) ; gen_set_label ( @@v175@@ ) ; tcg_gen_ext32u_i64 ( cpu_regs [ @@v154@@ ] , cpu_regs [ @@v154@@ ] ) ; } else { @@v175@@ = gen_new_label ( ) ; gen_jcc1 ( @@a1@@ , * ( _DWORD * ) ( @@a1@@ + Number ) , @@v148@@ ^ Number , @@v175@@ ) ; gen_op_mov_reg_v ( @@v153@@ , @@v154@@ , @@v174@@ ) ; gen_set_label ( @@v175@@ ) ; } tcg_temp_free_i64 ( @@v174@@ ) ; goto LABEL_1244 ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : if ( @@v151@@ ) @@v198@@ = ( int ) insn_get ( @@a1@@ , Number ) ; else @@v198@@ = ( __int16 ) insn_get ( @@a1@@ , Number ) ; LABEL_768 : @@v200@@ = * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v198@@ += @@v200@@ ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) ) @@v198@@ = ( unsigned __int16 ) @@v198@@ ; gen_jcc ( @@a1@@ , @@v148@@ , @@v198@@ , @@v200@@ ) ; goto LABEL_1244 ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : v92 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v92 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v92 ) ) ; gen_setcc ( @@a1@@ , @@v148@@ ) ; gen_ldst_modrm ( @@a1@@ , @@v164@@ , Number , Number , Number ) ; goto LABEL_1244 ; case Number : case Number : gen_op_movl_T0_seg ( ( @@v148@@ >> Number ) & Number ) ; gen_push_T0 ( ( _DWORD * ) @@a1@@ ) ; goto LABEL_1244 ; case Number : case Number : gen_pop_T0 ( ( _DWORD * ) @@a1@@ ) ; gen_movl_seg_T0 ( ( _DWORD * ) @@a1@@ , ( @@v148@@ >> Number ) & Number , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_pop_update ( @@a1@@ ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) goto LABEL_362 ; goto LABEL_1244 ; case Number : if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_cpuid ( ) ; goto LABEL_1244 ; case Number : @@v157@@ = Number ; goto LABEL_829 ; case Number : @@v157@@ = Number ; @@v152@@ = Number ; goto LABEL_454 ; case Number : @@v157@@ = Number ; @@v152@@ = Number ; goto LABEL_454 ; case Number : gen_svm_check_intercept ( @@a1@@ , @@a2@@ , Number ) ; if ( ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) == Number ) goto LABEL_1247 ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } gen_jmp_im ( * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_helper_rsm ( ) ; gen_eob ( @@a1@@ ) ; goto LABEL_1244 ; case Number : @@v157@@ = Number ; goto LABEL_829 ; case Number : @@v157@@ = Number ; @@v152@@ = Number ; goto LABEL_454 ; case Number : @@v157@@ = Number ; @@v152@@ = Number ; LABEL_454 : @@v153@@ = @@v151@@ + Number ; v43 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v43 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v43 ) ) ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v155@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; if ( @@v156@@ == Number ) { @@v158@@ = @@v155@@ ; } else { gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; @@v158@@ = Number ; } gen_op_mov_TN_reg ( @@v153@@ , Number , @@v154@@ ) ; if ( @@v152@@ ) { v44 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v44 + Number ; @@v159@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v44 ) ) ; tcg_gen_movi_i64 ( cpu_T3 , ( int ) @@v159@@ ) ; } else { tcg_gen_mov_i64 ( cpu_T3 , dword_2E264 ) ; } gen_shiftd_rm_T1_T3 ( @@a1@@ , @@v153@@ , @@v158@@ , @@v157@@ ) ; goto LABEL_1244 ; case Number : v139 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v139 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v139 ) ) ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v157@@ = ( @@v164@@ >> Number ) & Number ; switch ( @@v157@@ ) { case Number : if ( @@v156@@ == Number || ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) == Number || ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) != Number ) goto LABEL_1247 ; if ( ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) != Number || ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) != Number ) goto LABEL_1211 ; gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v140 = tcg_const_i32 ( * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) ; gen_helper_fxsave ( cpu_A0 , v140 ) ; goto LABEL_1244 ; case Number : if ( @@v156@@ == Number || ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) == Number || ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) != Number ) goto LABEL_1247 ; if ( ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) != Number || ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) != Number ) goto LABEL_1211 ; gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v141 = tcg_const_i32 ( * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) ; gen_helper_fxrstor ( cpu_A0 , v141 ) ; goto LABEL_1244 ; case Number : case Number : if ( ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) != Number ) goto LABEL_1211 ; if ( ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) != Number || ( * ( _QWORD * ) ( @@a1@@ + Number ) & Number ) == Number || @@v156@@ == Number ) goto LABEL_1247 ; gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; if ( @@v157@@ == Number ) { gen_op_ld_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; tcg_gen_st32_i64 ( cpu_T [ Number ] , cpu_env , Number L ) ; } else { tcg_gen_ld32u_i64 ( cpu_T [ Number ] , cpu_env , Number L ) ; gen_op_st_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; } goto LABEL_1244 ; case Number : case Number : if ( ( @@v164@@ & Number ) != Number || ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) == Number ) goto LABEL_1247 ; goto LABEL_1244 ; case Number : if ( ( @@v164@@ & Number ) == Number ) { if ( ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) != Number ) goto LABEL_1244 ; goto LABEL_1247 ; } if ( ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) == Number ) goto LABEL_1247 ; break ; default : goto LABEL_1247 ; } goto LABEL_1225 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; v21 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v21 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v21 ) ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v168@@ = tcg_temp_local_new_i64 ( ) ; @@v169@@ = tcg_temp_local_new_i64 ( ) ; @@v170@@ = tcg_temp_local_new_i64 ( ) ; @@v171@@ = tcg_temp_local_new_i64 ( ) ; gen_op_mov_v_reg ( @@v153@@ , @@v169@@ , @@v154@@ ) ; if ( @@v156@@ == Number ) { @@v155@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; gen_op_mov_v_reg ( @@v153@@ , @@v168@@ , @@v155@@ ) ; } else { gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; tcg_gen_mov_i64 ( @@v171@@ , cpu_A0 ) ; gen_op_ld_v ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ , @@v168@@ , @@v171@@ ) ; @@v155@@ = Number ; } @@v172@@ = gen_new_label ( ) ; tcg_gen_sub_i64 ( @@v170@@ , cpu_regs [ Number ] , @@v168@@ ) ; gen_extu ( @@v153@@ , @@v170@@ ) ; tcg_gen_brcondi_i64 ( Number , @@v170@@ , Number L , @@v172@@ ) ; if ( @@v156@@ == Number ) { @@v173@@ = gen_new_label ( ) ; gen_op_mov_reg_v ( @@v153@@ , Number , @@v168@@ ) ; tcg_gen_br ( @@v173@@ ) ; gen_set_label ( @@v172@@ ) ; gen_op_mov_reg_v ( @@v153@@ , @@v155@@ , @@v169@@ ) ; gen_set_label ( @@v173@@ ) ; } else { tcg_gen_mov_i64 ( @@v169@@ , @@v168@@ ) ; gen_op_mov_reg_v ( @@v153@@ , Number , @@v168@@ ) ; gen_set_label ( @@v172@@ ) ; gen_op_st_v ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ , @@v169@@ , @@v171@@ ) ; } tcg_gen_mov_i64 ( cpu_cc_src , @@v168@@ ) ; tcg_gen_mov_i64 ( cpu_cc_dst , @@v170@@ ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v153@@ + Number ; tcg_temp_free_i64 ( @@v168@@ ) ; tcg_temp_free_i64 ( @@v169@@ ) ; tcg_temp_free_i64 ( @@v170@@ ) ; tcg_temp_free_i64 ( @@v171@@ ) ; goto LABEL_1244 ; case Number : @@v157@@ = Number ; goto LABEL_428 ; case Number : @@v157@@ = Number ; goto LABEL_829 ; case Number : @@v157@@ = Number ; goto LABEL_428 ; case Number : @@v157@@ = Number ; LABEL_428 : if ( @@v151@@ ) v39 = Number ; else v39 = Number ; @@v153@@ = v39 ; v40 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v40 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v40 ) ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; if ( @@v156@@ == Number ) goto LABEL_1247 ; gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; gen_op_ld_T1_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; gen_add_A0_im ( @@a1@@ , Number << @@v153@@ ) ; gen_op_ldu_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + Number ) ; gen_movl_seg_T0 ( ( _DWORD * ) @@a1@@ , @@v157@@ , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_op_mov_reg_T1 ( @@v153@@ , @@v154@@ ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { gen_jmp_im ( * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; gen_eob ( @@a1@@ ) ; } goto LABEL_1244 ; case Number : case Number : case Number : case Number : @@v167@@ = @@v151@@ + Number ; @@v153@@ = @@v148@@ & Number ; v34 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v34 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v34 ) ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v155@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( @@v156@@ != Number ) { gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; if ( ( @@v148@@ & Number ) != Number ) gen_op_lds_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; else gen_op_ldu_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; gen_op_mov_reg_T0 ( @@v167@@ , @@v154@@ ) ; goto LABEL_1244 ; } gen_op_mov_TN_reg ( @@v153@@ , Number , @@v155@@ ) ; v35 = @@v153@@ | @@v148@@ & Number ; if ( v35 == Number ) { tcg_gen_ext8s_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; } else { if ( v35 > Number ) { LABEL_376 : tcg_gen_ext16s_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; goto LABEL_377 ; } if ( v35 ) { if ( v35 != Number ) goto LABEL_376 ; tcg_gen_ext16u_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; } else { tcg_gen_ext8u_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; } } LABEL_377 : gen_op_mov_reg_T0 ( @@v167@@ , @@v154@@ ) ; goto LABEL_1244 ; case Number : if ( ( @@v149@@ & Number ) != Number || ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) == Number ) goto LABEL_1247 ; v143 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v143 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v143 ) ) ; @@v154@@ = ( @@v164@@ >> Number ) & Number ; if ( ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) != Number ) { @@v153@@ = Number ; } else if ( * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) { @@v153@@ = Number ; } else { @@v153@@ = Number ; } gen_ldst_modrm ( @@a1@@ , @@v164@@ , @@v153@@ , Number , Number ) ; v144 = tcg_const_i32 ( ( unsigned int ) @@v153@@ ) ; gen_helper_popcnt ( cpu_T [ Number ] , cpu_T [ Number ] , v144 ) ; gen_op_mov_reg_T0 ( @@v153@@ , @@v154@@ ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; case Number : @@v153@@ = @@v151@@ + Number ; v95 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v95 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v95 ) ) ; @@v157@@ = ( @@v164@@ >> Number ) & Number ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v155@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( @@v156@@ == Number ) { gen_op_mov_TN_reg ( @@v153@@ , Number , @@v155@@ ) ; } else { * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; gen_op_ld_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; } v96 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v96 + Number ; @@v159@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v96 ) ) ; gen_op_movl_T1_im ( @@v159@@ ) ; if ( @@v157@@ <= Number ) goto LABEL_1247 ; @@v157@@ -= Number ; LABEL_832 : tcg_gen_andi_i64 ( dword_2E2A4 , dword_2E2A4 , ( Number << ( @@v153@@ + Number ) ) - Number ) ; if ( @@v157@@ == Number ) { tcg_gen_shr_i64 ( cpu_tmp4 , cpu_T [ Number ] , dword_2E2A4 ) ; tcg_gen_movi_i64 ( cpu_tmp0 , Number L ) ; tcg_gen_shl_i64 ( cpu_tmp0 , cpu_tmp0 , dword_2E2A4 ) ; tcg_gen_not_i64 ( cpu_tmp0 , cpu_tmp0 ) ; tcg_gen_and_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , cpu_tmp0 ) ; } else { if ( @@v157@@ > Number ) goto LABEL_840 ; if ( ! @@v157@@ ) { tcg_gen_shr_i64 ( cpu_cc_src , cpu_T [ Number ] , dword_2E2A4 ) ; tcg_gen_movi_i64 ( cpu_cc_dst , Number L ) ; goto LABEL_841 ; } if ( @@v157@@ == Number ) { tcg_gen_shr_i64 ( cpu_tmp4 , cpu_T [ Number ] , dword_2E2A4 ) ; tcg_gen_movi_i64 ( cpu_tmp0 , Number L ) ; tcg_gen_shl_i64 ( cpu_tmp0 , cpu_tmp0 , dword_2E2A4 ) ; tcg_gen_or_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , cpu_tmp0 ) ; } else { LABEL_840 : tcg_gen_shr_i64 ( cpu_tmp4 , cpu_T [ Number ] , dword_2E2A4 ) ; tcg_gen_movi_i64 ( cpu_tmp0 , Number L ) ; tcg_gen_shl_i64 ( cpu_tmp0 , cpu_tmp0 , dword_2E2A4 ) ; tcg_gen_xor_i64 ( cpu_T [ Number ] , cpu_T [ Number ] , cpu_tmp0 ) ; } } LABEL_841 : * ( _DWORD * ) ( @@a1@@ + Number ) = @@v153@@ + Number ; if ( @@v157@@ ) { if ( @@v156@@ == Number ) gen_op_mov_reg_T0 ( @@v153@@ , @@v155@@ ) ; else gen_op_st_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; tcg_gen_mov_i64 ( cpu_cc_src , cpu_tmp4 ) ; tcg_gen_movi_i64 ( cpu_cc_dst , Number L ) ; } goto LABEL_1244 ; case Number : @@v157@@ = Number ; LABEL_829 : @@v153@@ = @@v151@@ + Number ; v97 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v97 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v97 ) ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; @@v155@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; gen_op_mov_TN_reg ( Number , Number , @@v154@@ ) ; if ( @@v156@@ == Number ) { gen_op_mov_TN_reg ( @@v153@@ , Number , @@v155@@ ) ; } else { gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; gen_exts ( @@v153@@ , dword_2E2A4 ) ; tcg_gen_sari_i64 ( cpu_tmp0 , dword_2E2A4 , @@v153@@ + Number ) ; tcg_gen_shli_i64 ( cpu_tmp0 , cpu_tmp0 , @@v153@@ ) ; tcg_gen_add_i64 ( cpu_A0 , cpu_A0 , cpu_tmp0 ) ; gen_op_ld_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; } goto LABEL_832 ; case Number : case Number : @@v153@@ = @@v151@@ + Number ; v98 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v98 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v98 ) ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; gen_ldst_modrm ( @@a1@@ , @@v164@@ , @@v153@@ , Number , Number ) ; gen_extu ( @@v153@@ , cpu_T [ Number ] ) ; @@v165@@ = tcg_temp_local_new_i64 ( ) ; tcg_gen_mov_i64 ( @@v165@@ , cpu_T [ Number ] ) ; if ( ( @@v148@@ & Number ) != Number && ( @@v149@@ & Number ) != Number && ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) != Number ) { if ( @@v153@@ == Number ) { v101 = tcg_const_i32 ( Number L ) ; gen_helper_lzcnt ( cpu_T [ Number ] , @@v165@@ , v101 ) ; } else if ( @@v153@@ <= Number ) { if ( @@v153@@ == Number ) { v99 = tcg_const_i32 ( Number L ) ; gen_helper_lzcnt ( cpu_T [ Number ] , @@v165@@ , v99 ) ; } else if ( @@v153@@ == Number ) { v100 = tcg_const_i32 ( Number L ) ; gen_helper_lzcnt ( cpu_T [ Number ] , @@v165@@ , v100 ) ; } } gen_op_mov_reg_T0 ( @@v153@@ , @@v154@@ ) ; } else { @@v166@@ = gen_new_label ( ) ; tcg_gen_movi_i64 ( cpu_cc_dst , Number L ) ; tcg_gen_brcondi_i64 ( Number , @@v165@@ , Number L , @@v166@@ ) ; if ( ( @@v148@@ & Number ) != Number ) gen_helper_bsr ( cpu_T [ Number ] , @@v165@@ ) ; else gen_helper_bsf ( cpu_T [ Number ] , @@v165@@ ) ; gen_op_mov_reg_T0 ( @@v153@@ , @@v154@@ ) ; tcg_gen_movi_i64 ( cpu_cc_dst , Number L ) ; gen_set_label ( @@v166@@ ) ; tcg_gen_discard_i64 ( cpu_cc_src ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v153@@ + Number ; } tcg_temp_free_i64 ( @@v165@@ ) ; goto LABEL_1244 ; case Number : case Number : if ( ( @@v148@@ & Number ) != Number ) @@v153@@ = @@v151@@ + Number ; else @@v153@@ = Number ; v20 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v20 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v20 ) ) ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; if ( @@v156@@ == Number ) { @@v155@@ = @@v164@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; gen_op_mov_TN_reg ( @@v153@@ , Number , @@v154@@ ) ; gen_op_mov_TN_reg ( @@v153@@ , Number , @@v155@@ ) ; gen_op_addl_T0_T1 ( ) ; gen_op_mov_reg_T1 ( @@v153@@ , @@v154@@ ) ; gen_op_mov_reg_T0 ( @@v153@@ , @@v155@@ ) ; } else { gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; gen_op_mov_TN_reg ( @@v153@@ , Number , @@v154@@ ) ; gen_op_ld_T1_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; gen_op_addl_T0_T1 ( ) ; gen_op_st_T0_A0 ( * ( _DWORD * ) ( @@a1@@ + Number ) + @@v153@@ ) ; gen_op_mov_reg_T1 ( @@v153@@ , @@v154@@ ) ; } gen_op_update2_cc ( ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v153@@ + Number ; goto LABEL_1244 ; case Number : if ( ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) == Number ) goto LABEL_1247 ; v137 = * ( _DWORD * ) ( @@a1@@ + Number ) == Number ? Number : Number ; @@v153@@ = v137 ; v138 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v138 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v138 ) ) ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; if ( @@v156@@ == Number ) goto LABEL_1247 ; @@v154@@ = @@v161@@ | ( @@v164@@ >> Number ) & Number ; gen_ldst_modrm ( @@a1@@ , @@v164@@ , @@v153@@ , @@v154@@ , Number ) ; goto LABEL_1244 ; case Number : v22 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = v22 + Number ; @@v164@@ = ldub_p ( ( unsigned __int8 * ) ( guest_base + v22 ) ) ; @@v156@@ = ( @@v164@@ >> Number ) & Number ; if ( @@v156@@ == Number || ( @@v164@@ & Number ) != Number ) goto LABEL_1247 ; if ( @@v151@@ == Number ) { if ( ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) != Number ) { gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; gen_helper_cmpxchg16b ( cpu_A0 ) ; LABEL_282 : * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; goto LABEL_1244 ; } } else if ( ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) != Number ) { gen_jmp_im ( @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_op_set_cc_op ( * ( _DWORD * ) ( @@a1@@ + Number ) ) ; gen_lea_modrm ( @@a1@@ , @@v164@@ , & @@v146@@ , & @@v147@@ ) ; gen_helper_cmpxchg8b ( cpu_A0 ) ; goto LABEL_282 ; } LABEL_1247 : if ( ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) != Number ) gen_helper_unlock ( ) ; gen_exception ( @@a1@@ , Number , @@a2@@ - * ( _QWORD * ) ( @@a1@@ + Number ) ) ; return * ( _QWORD * ) ( @@a1@@ + Number ) ; case Number : case Number : case Number : case Number : case Number : case Number : case Number : case Number : @@v154@@ = @@v148@@ & Number | * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( @@v151@@ == Number ) { gen_op_mov_TN_reg ( Number , Number , @@v154@@ ) ; tcg_gen_bswap64_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; gen_op_mov_reg_T0 ( Number , @@v154@@ ) ; } else { gen_op_mov_TN_reg ( Number , Number , @@v154@@ ) ; tcg_gen_ext32u_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; tcg_gen_bswap32_i64 ( cpu_T [ Number ] , cpu_T [ Number ] ) ; gen_op_mov_reg_T0 ( Number , @@v154@@ ) ; } goto LABEL_1244 ; default : goto LABEL_1247 ; } } }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v187", "t": {"T": 1, "n": "int", "s": 4}, "location": "s100"}, {"n": "v186", "t": {"T": 1, "n": "int", "s": 4}, "location": "s104"}, {"n": "v185", "t": {"T": 1, "n": "int", "s": 4}, "location": "s108"}, {"n": "v184", "t": {"T": 1, "n": "int", "s": 4}, "location": "s112"}, {"n": "v183", "t": {"T": 1, "n": "int", "s": 4}, "location": "s116"}, {"n": "v182", "t": {"T": 1, "n": "int", "s": 4}, "location": "s120"}, {"n": "v181", "t": {"T": 1, "n": "int", "s": 4}, "location": "s124"}, {"n": "v180", "t": {"T": 1, "n": "int", "s": 4}, "location": "s128"}, {"n": "v179", "t": {"T": 1, "n": "int", "s": 4}, "location": "s132"}, {"n": "v178", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s136"}, {"n": "v177", "t": {"T": 1, "n": "int", "s": 4}, "location": "s140"}, {"n": "v176", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s144"}, {"n": "v175", "t": {"T": 1, "n": "int", "s": 4}, "location": "s148"}, {"n": "v174", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s152"}, {"n": "v173", "t": {"T": 1, "n": "int", "s": 4}, "location": "s156"}, {"n": "v172", "t": {"T": 1, "n": "int", "s": 4}, "location": "s160"}, {"n": "v171", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s164"}, {"n": "v170", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s168"}, {"n": "v169", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s172"}, {"n": "v168", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s176"}, {"n": "v167", "t": {"T": 1, "n": "int", "s": 4}, "location": "s180"}, {"n": "v166", "t": {"T": 1, "n": "int", "s": 4}, "location": "s184"}, {"n": "v165", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s188"}, {"n": "v164", "t": {"T": 1, "n": "int", "s": 4}, "location": "s192"}, {"n": "v163", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s196"}, {"n": "v162", "t": {"T": 1, "n": "int", "s": 4}, "location": "s200"}, {"n": "v161", "t": {"T": 1, "n": "int", "s": 4}, "location": "s204"}, {"n": "v160", "t": {"T": 1, "n": "int", "s": 4}, "location": "s208"}, {"n": "v159", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s212"}, {"n": "v158", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s216"}, {"n": "v157", "t": {"T": 1, "n": "int", "s": 4}, "location": "s220"}, {"n": "v156", "t": {"T": 1, "n": "int", "s": 4}, "location": "s224"}, {"n": "v155", "t": {"T": 1, "n": "int", "s": 4}, "location": "s228"}, {"n": "v154", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s232"}, {"n": "v153", "t": {"T": 1, "n": "int", "s": 4}, "location": "s236"}, {"n": "v202", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s24"}, {"n": "v152", "t": {"T": 1, "n": "int", "s": 4}, "location": "s240"}, {"n": "v151", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s244"}, {"n": "v150", "t": {"T": 1, "n": "int", "s": 4}, "location": "s248"}, {"n": "v149", "t": {"T": 1, "n": "int", "s": 4}, "location": "s252"}, {"n": "v148", "t": {"T": 1, "n": "int", "s": 4}, "location": "s256"}, {"n": "v147", "t": {"T": 1, "n": "int", "s": 4}, "location": "s260"}, {"n": "v146", "t": {"T": 1, "n": "int", "s": 4}, "location": "s264"}, {"n": "v201", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v200", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v199", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v198", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "v197", "t": {"T": 1, "n": "int", "s": 4}, "location": "s60"}, {"n": "v196", "t": {"T": 1, "n": "int", "s": 4}, "location": "s64"}, {"n": "v195", "t": {"T": 1, "n": "int", "s": 4}, "location": "s68"}, {"n": "v194", "t": {"T": 1, "n": "int", "s": 4}, "location": "s72"}, {"n": "v193", "t": {"T": 1, "n": "int", "s": 4}, "location": "s76"}, {"n": "v192", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s80"}, {"n": "v191", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s84"}, {"n": "v190", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s88"}, {"n": "v189", "t": {"T": 1, "n": "int", "s": 4}, "location": "s92"}, {"n": "v188", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s96"}]}