{"name": "tcg_gen_exit_tb", "code": "unsigned __int64 __fastcall tcg_gen_exit_tb ( __int64 @@a1@@ ) { unsigned __int64 @@v2@@ ; @@v2@@ = __readfsqword ( Number ) ; tcg_gen_op1i ( Number , @@a1@@ ) ; return __readfsqword ( Number ) ^ @@v2@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v2", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}
{"name": "tcg_gen_op1i", "code": "unsigned __int64 __fastcall tcg_gen_op1i ( __int16 @@a1@@ , __int64 @@a2@@ ) { _WORD * v2 ; _QWORD * v3 ; unsigned __int64 @@v5@@ ; @@v5@@ = __readfsqword ( Number ) ; v2 = ( _WORD * ) gen_opc_ptr ; gen_opc_ptr += Number L ; * v2 = @@a1@@ ; v3 = ( _QWORD * ) gen_opparam_ptr ; gen_opparam_ptr += Number L ; * v3 = @@a2@@ ; return __readfsqword ( Number ) ^ @@v5@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v5", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "gen_icount_end", "code": "unsigned __int64 __fastcall gen_icount_end ( __int64 @@a1@@ , int @@a2@@ ) { unsigned __int64 @@v3@@ ; @@v3@@ = __readfsqword ( Number ) ; if ( use_icount ) { * ( _QWORD * ) icount_arg = @@a2@@ ; gen_set_label ( icount_label ) ; tcg_gen_exit_tb ( @@a1@@ + Number ) ; } return __readfsqword ( Number ) ^ @@v3@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "gen_goto_tb", "code": "unsigned __int64 __fastcall gen_goto_tb ( __int64 @@a1@@ , int @@a2@@ , int @@a3@@ ) { _DWORD * @@v5@@ ; unsigned __int64 @@v6@@ ; @@v6@@ = __readfsqword ( Number ) ; @@v5@@ = * ( _DWORD * * ) @@a1@@ ; if ( ( ( @@a3@@ ^ * * ( _DWORD * * ) @@a1@@ ) & Number ) != Number || * ( _DWORD * ) ( @@a1@@ + Number ) ) { tcg_gen_movi_i32 ( cpu_pc , @@a3@@ ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_helper_debug ( ) ; tcg_gen_exit_tb ( Number L ) ; } else { tcg_gen_goto_tb ( @@a2@@ ) ; tcg_gen_movi_i32 ( cpu_pc , @@a3@@ ) ; tcg_gen_exit_tb ( ( __int64 ) @@v5@@ + @@a2@@ ) ; } return __readfsqword ( Number ) ^ @@v6@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v5", "t": {"T": 3, "t": "_DWORD"}, "location": "s16"}, {"n": "v6", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "gen_jump", "code": "unsigned __int64 __fastcall gen_jump ( __int64 @@a1@@ ) { unsigned __int64 @@v2@@ ; @@v2@@ = __readfsqword ( Number ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) { tcg_gen_mov_i32 ( cpu_pc , cpu_delayed_pc ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) gen_helper_debug ( ) ; tcg_gen_exit_tb ( Number L ) ; } else { gen_goto_tb ( @@a1@@ , Number , * ( _DWORD * ) ( @@a1@@ + Number ) ) ; } return __readfsqword ( Number ) ^ @@v2@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v2", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "gen_intermediate_code_internal", "code": "unsigned __int64 __fastcall gen_intermediate_code_internal ( __int64 @@a1@@ , __int64 @@a2@@ , int @@a3@@ ) { int v3 ; int v4 ; int v7 ; int j ; int @@v9@@ ; int @@v10@@ ; unsigned int @@v11@@ ; int v12 ; int v13 ; __int64 @@i@@ ; __int64 @@v15@@ ; unsigned int @@v16@@ ; int @@v17@@ ; int @@v18@@ ; __int16 @@v19@@ ; int @@v20@@ ; int @@v21@@ ; _BOOL4 @@v22@@ ; int @@v23@@ ; int @@v24@@ ; int @@v25@@ ; int @@v26@@ ; unsigned __int64 @@v27@@ ; @@v27@@ = __readfsqword ( Number ) ; @@v11@@ = * ( _DWORD * ) @@a2@@ ; gen_opc_end_12970 = ( unsigned int ) ( ( _DWORD ) & gen_opc_buf + Number ) ; @@v16@@ = @@v11@@ ; @@v20@@ = * ( _QWORD * ) ( @@a2@@ + Number ) ; @@v21@@ = Number ; @@v17@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v18@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v22@@ = ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) == Number ; @@v23@@ = Number ; @@v15@@ = @@a2@@ ; @@v24@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v25@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@v26@@ = * ( _QWORD * ) ( @@a2@@ + Number ) & Number ; v7 = Number ; @@v9@@ = Number ; @@v10@@ = * ( _WORD * ) ( @@a2@@ + Number ) & Number ; if ( ( * ( _WORD * ) ( @@a2@@ + Number ) & Number ) == Number ) @@v10@@ = Number ; gen_icount_start ( ) ; do { if ( @@v21@@ || gen_opc_ptr >= ( unsigned __int64 ) gen_opc_end_12970 ) break ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) { for ( @@i@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@i@@ ; @@i@@ = * ( _QWORD * ) ( @@i@@ + Number ) ) { if ( @@v16@@ == * ( _DWORD * ) @@i@@ ) { tcg_gen_movi_i32 ( cpu_pc , @@v16@@ ) ; gen_helper_debug ( ) ; @@v21@@ = Number ; break ; } } } if ( @@a3@@ ) { v12 = ( __int64 ) ( gen_opc_ptr - ( _QWORD ) & gen_opc_buf ) >> Number ; if ( v7 < v12 ) { ++ v7 ; while ( v7 < v12 ) { v3 = v7 ++ ; * ( ( _BYTE * ) & gen_opc_instr_start + v3 ) = Number ; } } * ( ( _DWORD * ) & gen_opc_pc + v7 ) = @@v16@@ ; gen_opc_hflags [ v7 ] = @@v20@@ ; * ( ( _BYTE * ) & gen_opc_instr_start + v7 ) = Number ; * ( ( _WORD * ) & gen_opc_icount + v7 ) = @@v9@@ ; } if ( @@v10@@ == @@v9@@ + Number && * ( __int16 * ) ( @@a2@@ + Number ) < Number ) gen_io_start ( ) ; @@v19@@ = lduw_be_p ( ( unsigned __int8 * ) ( @@v16@@ + guest_base ) ) ; decode_opc ( ( __int64 ) & @@v15@@ ) ; ++ @@v9@@ ; @@v16@@ += Number ; if ( ( @@v16@@ & Number ) == Number ) break ; } while ( ! * ( _DWORD * ) ( @@a1@@ + Number ) && @@v9@@ < @@v10@@ && ! singlestep ) ; if ( * ( __int16 * ) ( @@a2@@ + Number ) < Number ) gen_io_end ( ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { tcg_gen_movi_i32 ( cpu_pc , @@v16@@ ) ; gen_helper_debug ( ) ; } else if ( @@v21@@ > Number ) { if ( @@v21@@ == Number ) tcg_gen_exit_tb ( Number L ) ; } else if ( @@v21@@ >= Number ) { if ( @@v20@@ ) gen_store_flags ( @@v20@@ | Number ) ; gen_goto_tb ( ( __int64 ) & @@v15@@ , Number , @@v16@@ ) ; } gen_icount_end ( @@a2@@ , @@v9@@ ) ; * gen_opc_ptr = Number ; if ( @@a3@@ ) { v13 = ( __int64 ) ( gen_opc_ptr - ( _QWORD ) & gen_opc_buf ) >> Number ; for ( j = v7 + Number ; j <= v13 ; ++ j ) { v4 = j ; * ( ( _BYTE * ) & gen_opc_instr_start + v4 ) = Number ; } } else { * ( _WORD * ) ( @@a2@@ + Number ) = @@v16@@ - @@v11@@ ; * ( _DWORD * ) ( @@a2@@ + Number ) = @@v9@@ ; } if ( ( loglevel & Number ) != Number ) fputc ( Number , logfile ) ; if ( ( loglevel & Number ) != Number ) { if ( logfile ) fwrite ( String , Number , Number , logfile ) ; target_disas ( logfile , @@v11@@ , @@v16@@ - @@v11@@ , Number L ) ; if ( logfile ) fputc ( Number , logfile ) ; } return __readfsqword ( Number ) ^ @@v27@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v26", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}, {"n": "v25", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v24", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "v23", "t": {"T": 1, "n": "int", "s": 4}, "location": "s28"}, {"n": "v22", "t": {"T": 1, "n": "_BOOL4", "s": 4}, "location": "s32"}, {"n": "v21", "t": {"T": 1, "n": "int", "s": 4}, "location": "s36"}, {"n": "v20", "t": {"T": 1, "n": "int", "s": 4}, "location": "s40"}, {"n": "v19", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "s44"}, {"n": "v18", "t": {"T": 1, "n": "int", "s": 4}, "location": "s48"}, {"n": "v17", "t": {"T": 1, "n": "int", "s": 4}, "location": "s52"}, {"n": "v16", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s56"}, {"n": "v15", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s64"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s72"}, {"n": "v27", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}, {"n": "v11", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s80"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s84"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s88"}]}