{"name": "tcg_out_reloc", "code": "unsigned __int64 __fastcall tcg_out_reloc ( __int64 @@a1@@ , __int64 @@a2@@ , unsigned int @@a3@@ , int @@a4@@ , __int64 @@a5@@ ) { __int64 @@v8@@ ; __int64 @@v9@@ ; unsigned __int64 @@v10@@ ; @@v10@@ = __readfsqword ( Number ) ; @@v8@@ = Number L * @@a4@@ + * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( * ( _DWORD * ) @@v8@@ ) { patch_reloc ( @@a2@@ , @@a3@@ , * ( _QWORD * ) ( @@v8@@ + Number ) , @@a5@@ ) ; } else { @@v9@@ = tcg_malloc ( Number ) ; * ( _DWORD * ) ( @@v9@@ + Number ) = @@a3@@ ; * ( _QWORD * ) ( @@v9@@ + Number ) = @@a2@@ ; * ( _QWORD * ) ( @@v9@@ + Number ) = @@a5@@ ; * ( _QWORD * ) @@v9@@ = * ( _QWORD * ) ( @@v8@@ + Number ) ; * ( _QWORD * ) ( @@v8@@ + Number ) = @@v9@@ ; } return __readfsqword ( Number ) ^ @@v10@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "int", "s": 4}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v8", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v10", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}
{"name": "tcg_malloc", "code": "__int64 __fastcall tcg_malloc ( int @@a1@@ ) { __int64 @@v2@@ ; @@v2@@ = tcg_ctx [ Number ] ; if ( ( unsigned __int64 ) ( ( int ) ( ( @@a1@@ + Number ) & Number ) + tcg_ctx [ Number ] ) > tcg_ctx [ Number ] ) return tcg_malloc_internal ( tcg_ctx , ( @@a1@@ + Number ) & Number ) ; tcg_ctx [ Number ] += ( int ) ( ( @@a1@@ + Number ) & Number ) ; return @@v2@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "int", "s": 4}, "location": "r56"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}]} {"name": "patch_reloc", "code": "unsigned __int64 __fastcall patch_reloc ( _DWORD * @@a1@@ , int @@a2@@ , __int64 @@a3@@ , __int64 @@a4@@ ) { __int64 v5 ; __int64 v6 ; __int64 v7 ; unsigned __int64 @@v8@@ ; @@v8@@ = __readfsqword ( Number ) ; v5 = @@a4@@ + @@a3@@ ; if ( @@a2@@ == Number ) { v6 = v5 - ( _QWORD ) @@a1@@ ; if ( v6 != ( int ) v6 ) { fprintf ( stderr , String , String , Number L ) ; abort ( ) ; } * @@a1@@ = v6 ; } else { if ( @@a2@@ != Number ) { fprintf ( stderr , String , String , Number L ) ; abort ( ) ; } v7 = v5 - ( _QWORD ) @@a1@@ ; if ( v7 != ( char ) v7 ) { fprintf ( stderr , String , String , Number L ) ; abort ( ) ; } * ( _BYTE * ) @@a1@@ = v7 ; } return __readfsqword ( Number ) ^ @@v8@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "_DWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v8", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]} {"name": "tcg_out_jxx", "code": "unsigned __int64 __fastcall tcg_out_jxx ( __int64 @@a1@@ , int @@a2@@ , int @@a3@@ , int @@a4@@ ) { int @@v6@@ ; __int64 @@v7@@ ; unsigned __int64 @@v8@@ ; @@v8@@ = __readfsqword ( Number ) ; @@v7@@ = Number L * @@a3@@ + * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( * ( _DWORD * ) @@v7@@ ) { @@v6@@ = * ( _QWORD * ) ( @@v7@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( @@v6@@ - Number == ( char ) ( @@v6@@ - Number ) ) { if ( @@a2@@ == Number ) tcg_out8 ( @@a1@@ , Number ) ; else tcg_out8 ( @@a1@@ , @@a2@@ + Number ) ; tcg_out8 ( @@a1@@ , @@v6@@ - Number ) ; } else { if ( @@a4@@ ) { fprintf ( stderr , String , String , Number L ) ; abort ( ) ; } if ( @@a2@@ == Number ) { tcg_out8 ( @@a1@@ , Number ) ; tcg_out32 ( @@a1@@ , @@v6@@ - Number ) ; } else { tcg_out_opc ( @@a1@@ , @@a2@@ + Number , Number , Number , Number ) ; tcg_out32 ( @@a1@@ , @@v6@@ - Number ) ; } } } else if ( @@a4@@ ) { if ( @@a2@@ == Number ) tcg_out8 ( @@a1@@ , Number ) ; else tcg_out8 ( @@a1@@ , @@a2@@ + Number ) ; tcg_out_reloc ( @@a1@@ , * ( _QWORD * ) ( @@a1@@ + Number ) , Number , @@a3@@ , Number ) ; ++ * ( _QWORD * ) ( @@a1@@ + Number ) ; } else { if ( @@a2@@ == Number ) tcg_out8 ( @@a1@@ , Number ) ; else tcg_out_opc ( @@a1@@ , @@a2@@ + Number , Number , Number , Number ) ; tcg_out_reloc ( @@a1@@ , * ( _QWORD * ) ( @@a1@@ + Number ) , Number , @@a3@@ , Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) += Number L ; } return __readfsqword ( Number ) ^ @@v8@@ ; }", "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": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "v8", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}