{"name": "temp_save", "code": "unsigned __int64 __fastcall temp_save ( __int64 @@a1@@ , int @@a2@@ , int @@a3@@ ) { int @@v3@@ ; int @@v5@@ ; __int64 @@v6@@ ; unsigned __int64 @@v7@@ ; @@v7@@ = __readfsqword ( Number ) ; @@v6@@ = * ( _QWORD * ) ( @@a1@@ + Number ) + Number L * @@a2@@ ; if ( ( * ( _BYTE * ) ( @@v6@@ + Number ) & Number ) == Number ) { @@v3@@ = * ( _DWORD * ) ( @@v6@@ + Number ) ; if ( @@v3@@ == Number ) { @@v5@@ = tcg_reg_alloc ( @@a1@@ , tcg_target_available_regs [ * ( unsigned int * ) ( @@v6@@ + Number ) ] , @@a3@@ ) ; if ( ( * ( _BYTE * ) ( @@v6@@ + Number ) & Number ) == Number ) temp_allocate_frame ( @@a1@@ , @@a2@@ ) ; tcg_out_movi ( @@a1@@ , * ( _DWORD * ) ( @@v6@@ + Number ) , @@v5@@ , * ( _QWORD * ) ( @@v6@@ + Number ) ) ; tcg_out_st ( @@a1@@ , * ( _DWORD * ) ( @@v6@@ + Number ) , @@v5@@ , * ( _DWORD * ) ( @@v6@@ + Number ) , * ( _QWORD * ) ( @@v6@@ + Number ) ) ; * ( _DWORD * ) ( @@v6@@ + Number ) = Number ; } else { if ( @@v3@@ > Number ) goto LABEL_12 ; if ( @@v3@@ != Number ) { if ( ! @@v3@@ ) { * ( _DWORD * ) ( @@v6@@ + Number ) = Number ; return __readfsqword ( Number ) ^ @@v7@@ ; } if ( @@v3@@ == Number ) { tcg_reg_free ( @@a1@@ , * ( _DWORD * ) ( @@v6@@ + Number ) ) ; return __readfsqword ( Number ) ^ @@v7@@ ; } LABEL_12 : fprintf ( stderr , String , String , Number L ) ; abort ( ) ; } } } return __readfsqword ( Number ) ^ @@v7@@ ; }", "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": "v3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r8"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v7", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}
{"name": "tcg_out_mov", "code": "unsigned __int64 __fastcall tcg_out_mov ( __int64 @@a1@@ , int @@a2@@ , int @@a3@@ , int @@a4@@ ) { int @@v4@@ ; unsigned __int64 @@v6@@ ; @@v6@@ = __readfsqword ( Number ) ; if ( @@a4@@ != @@a3@@ ) { if ( @@a2@@ == Number ) @@v4@@ = Number ; else @@v4@@ = Number ; tcg_out_modrm ( @@a1@@ , @@v4@@ , @@a3@@ , @@a4@@ ) ; } return __readfsqword ( Number ) ^ @@v6@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r8"}, {"n": "v6", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "tcg_out_movi", "code": "unsigned __int64 __fastcall tcg_out_movi ( __int64 @@a1@@ , int @@a2@@ , int @@a3@@ , __int64 @@a4@@ ) { unsigned __int64 @@v6@@ ; @@v6@@ = __readfsqword ( Number ) ; if ( @@a4@@ ) { if ( @@a4@@ != ( unsigned int ) @@a4@@ && @@a2@@ ) { if ( @@a4@@ == ( int ) @@a4@@ ) { tcg_out_modrm ( @@a1@@ , Number , Number , @@a3@@ ) ; tcg_out32 ( @@a1@@ , @@a4@@ ) ; } else { tcg_out_opc ( @@a1@@ , ( @@a3@@ & Number ) + Number , Number , @@a3@@ , Number ) ; tcg_out32 ( @@a1@@ , @@a4@@ ) ; tcg_out32 ( @@a1@@ , SHIDWORD ( @@a4@@ ) ) ; } } else { tcg_out_opc ( @@a1@@ , ( @@a3@@ & Number ) + Number , Number , @@a3@@ , Number ) ; tcg_out32 ( @@a1@@ , @@a4@@ ) ; } } else { tgen_arithr ( @@a1@@ , Number , @@a3@@ , @@a3@@ ) ; } return __readfsqword ( Number ) ^ @@v6@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "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": "int", "s": 4}, "location": "r64"}, {"n": "v6", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "tcg_out_st", "code": "unsigned __int64 __fastcall tcg_out_st ( __int64 @@a1@@ , int @@a2@@ , char @@a3@@ , int @@a4@@ , __int64 @@a5@@ ) { int @@v5@@ ; unsigned __int64 @@v7@@ ; @@v7@@ = __readfsqword ( Number ) ; if ( @@a2@@ == Number ) @@v5@@ = Number ; else @@v5@@ = Number ; tcg_out_modrm_offset ( @@a1@@ , @@v5@@ , @@a3@@ , @@a4@@ , @@a5@@ ) ; return __readfsqword ( Number ) ^ @@v7@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "char", "s": 1}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "v5", "t": {"T": 1, "n": "int", "s": 4}, "location": "r8"}, {"n": "v7", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "temp_allocate_frame", "code": "unsigned __int64 __fastcall temp_allocate_frame ( __int64 @@a1@@ , int @@a2@@ ) { __int64 @@v3@@ ; unsigned __int64 @@v4@@ ; @@v4@@ = __readfsqword ( Number ) ; @@v3@@ = * ( _QWORD * ) ( @@a1@@ + Number ) + Number L * @@a2@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) & Number ; if ( ( unsigned __int64 ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) > * ( _QWORD * ) ( @@a1@@ + Number ) ) { fprintf ( stderr , String , String , Number L ) ; abort ( ) ; } * ( _QWORD * ) ( @@v3@@ + Number ) = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _DWORD * ) ( @@v3@@ + Number ) = * ( _DWORD * ) ( @@a1@@ + Number ) ; * ( _BYTE * ) ( @@v3@@ + Number ) |= Number ; * ( _QWORD * ) ( @@a1@@ + Number ) += Number L ; return __readfsqword ( Number ) ^ @@v4@@ ; }", "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": "__int64", "s": 8}, "location": "s16"}, {"n": "v4", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "tcg_reg_free", "code": "unsigned __int64 __fastcall tcg_reg_free ( __int64 @@a1@@ , int @@a2@@ ) { int @@v3@@ ; __int64 @@v4@@ ; unsigned __int64 @@v5@@ ; @@v5@@ = __readfsqword ( Number ) ; @@v3@@ = * ( _DWORD * ) ( @@a1@@ + Number * ( @@a2@@ + Number L ) + Number ) ; if ( @@v3@@ != Number ) { @@v4@@ = * ( _QWORD * ) ( @@a1@@ + Number ) + Number L * @@v3@@ ; if ( ( * ( _BYTE * ) ( @@v4@@ + Number ) & Number ) == Number ) { if ( ( * ( _BYTE * ) ( @@v4@@ + Number ) & Number ) == Number ) temp_allocate_frame ( @@a1@@ , @@v3@@ ) ; tcg_out_st ( @@a1@@ , * ( _DWORD * ) ( @@v4@@ + Number ) , @@a2@@ , * ( _DWORD * ) ( @@v4@@ + Number ) , * ( _QWORD * ) ( @@v4@@ + Number ) ) ; } * ( _DWORD * ) ( @@v4@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number * ( @@a2@@ + Number L ) + Number ) = Number ; } return __readfsqword ( Number ) ^ @@v5@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v3", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v5", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "tcg_reg_alloc", "code": "__int64 __fastcall tcg_reg_alloc ( __int64 @@a1@@ , int @@a2@@ , int @@a3@@ ) { unsigned int i ; unsigned int j ; unsigned int @@v6@@ ; int v7 ; unsigned int v8 ; @@v6@@ = @@a2@@ & ~ @@a3@@ ; for ( i = Number ; i <= Number ; ++ i ) { v7 = tcg_target_reg_alloc_order [ i ] ; if ( ( ( @@v6@@ >> v7 ) & Number ) != Number && * ( _DWORD * ) ( @@a1@@ + Number * ( v7 + Number L ) + Number ) == Number ) return ( unsigned int ) v7 ; } for ( j = Number ; ; ++ j ) { if ( j > Number ) { fprintf ( stderr , String , String , Number L ) ; abort ( ) ; } v8 = tcg_target_reg_alloc_order [ j ] ; if ( ( ( @@v6@@ >> v8 ) & Number ) != Number ) break ; } tcg_reg_free ( @@a1@@ , v8 ) ; return v8 ; }", "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": "v6", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s16"}]} {"name": "save_globals", "code": "unsigned __int64 __fastcall save_globals ( __int64 @@a1@@ , int @@a2@@ ) { int @@i@@ ; unsigned __int64 @@v4@@ ; @@v4@@ = __readfsqword ( Number ) ; for ( @@i@@ = Number ; @@i@@ < * ( _DWORD * ) ( @@a1@@ + Number ) ; ++ @@i@@ ) temp_save ( @@a1@@ , @@i@@ , @@a2@@ ) ; return __readfsqword ( Number ) ^ @@v4@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v4", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "tcg_reg_alloc_bb_end", "code": "unsigned __int64 __fastcall tcg_reg_alloc_bb_end ( __int64 @@a1@@ , int @@a2@@ ) { int @@i@@ ; __int64 @@v4@@ ; unsigned __int64 @@v5@@ ; @@v5@@ = __readfsqword ( Number ) ; for ( @@i@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; @@i@@ < * ( _DWORD * ) ( @@a1@@ + Number ) ; ++ @@i@@ ) { @@v4@@ = * ( _QWORD * ) ( @@a1@@ + Number ) + Number L * @@i@@ ; if ( ( * ( _BYTE * ) ( @@v4@@ + Number ) & Number ) != Number ) { temp_save ( @@a1@@ , @@i@@ , @@a2@@ ) ; } else { if ( * ( _DWORD * ) ( @@v4@@ + Number ) == Number ) * ( _DWORD * ) ( @@a1@@ + Number * ( * ( int * ) ( @@v4@@ + Number ) + Number L ) + Number ) = Number ; * ( _DWORD * ) ( @@v4@@ + Number ) = Number ; } } save_globals ( @@a1@@ , @@a2@@ ) ; return __readfsqword ( Number ) ^ @@v5@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v5", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}