{"name": "adjust_varargs", "code": "__int64 __fastcall adjust_varargs ( _QWORD * @@a1@@ , unsigned __int8 * @@a2@@ , int @@a3@@ ) { __int64 v3 ; __int64 v4 ; __int64 v5 ; __int64 v6 ; __int64 @@v9@@ ; __int64 @@v10@@ ; __int64 @@v11@@ ; __int64 @@v12@@ ; __int64 @@v13@@ ; __int64 @@v14@@ ; int @@v15@@ ; int @@v16@@ ; __int64 @@v17@@ ; int i ; int j ; @@v16@@ = @@a2@@ [ Number ] ; @@v17@@ = Number L ; while ( @@a3@@ < @@v16@@ ) { v3 = @@a1@@ [ Number ] ; @@a1@@ [ Number ] = v3 + Number ; * ( _DWORD * ) ( v3 + Number ) = Number ; ++ @@a3@@ ; } if ( ( @@a2@@ [ Number ] & Number ) != Number ) { @@v15@@ = @@a3@@ - @@v16@@ ; if ( * ( _QWORD * ) ( @@a1@@ [ Number ] + Number L ) >= * ( _QWORD * ) ( @@a1@@ [ Number ] + Number L ) ) luaC_step ( @@a1@@ ) ; if ( @@a1@@ [ Number ] - @@a1@@ [ Number ] <= Number * @@a2@@ [ Number ] ) luaD_growstack ( ( __int64 ) @@a1@@ , @@a2@@ [ Number ] ) ; @@v17@@ = luaH_new ( @@a1@@ , ( unsigned int ) @@v15@@ , Number L ) ; for ( i = Number ; i < @@v15@@ ; ++ i ) { @@v13@@ = Number * ( i - ( __int64 ) @@v15@@ ) + @@a1@@ [ Number ] ; @@v12@@ = luaH_setnum ( @@a1@@ , @@v17@@ , ( unsigned int ) ( i + Number ) ) ; * ( _QWORD * ) @@v12@@ = * ( _QWORD * ) @@v13@@ ; * ( _DWORD * ) ( @@v12@@ + Number ) = * ( _DWORD * ) ( @@v13@@ + Number ) ; } v4 = luaS_newlstr ( @@a1@@ , String , Number L ) ; @@v14@@ = luaH_setstr ( @@a1@@ , @@v17@@ , v4 ) ; * ( double * ) @@v14@@ = ( double ) @@v15@@ ; * ( _DWORD * ) ( @@v14@@ + Number ) = Number ; } @@v11@@ = Number * @@a3@@ + @@a1@@ [ Number ] ; @@v10@@ = @@a1@@ [ Number ] ; for ( j = Number ; j < @@v16@@ ; ++ j ) { @@v9@@ = Number L * j + @@v11@@ ; v5 = @@a1@@ [ Number ] ; @@a1@@ [ Number ] = v5 + Number ; * ( _QWORD * ) v5 = * ( _QWORD * ) @@v9@@ ; * ( _DWORD * ) ( v5 + Number ) = * ( _DWORD * ) ( @@v9@@ + Number ) ; * ( _DWORD * ) ( @@v9@@ + Number ) = Number ; } if ( @@v17@@ ) { v6 = @@a1@@ [ Number ] ; @@a1@@ [ Number ] = v6 + Number ; * ( _QWORD * ) v6 = @@v17@@ ; * ( _DWORD * ) ( v6 + Number ) = Number ; } return @@v10@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "unsigned __int8"}, "location": "r64"}, {"n": "v17", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v16", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v15", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "v14", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v13", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v12", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v11", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "v10", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s64"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s80"}]}
{"name": "luaD_growstack", "code": "_QWORD * __fastcall luaD_growstack ( __int64 @@a1@@ , int @@a2@@ ) { _QWORD * @@result@@ ; if ( @@a2@@ > * ( _DWORD * ) ( @@a1@@ + Number ) ) @@result@@ = luaD_reallocstack ( @@a1@@ , @@a2@@ + * ( _DWORD * ) ( @@a1@@ + Number ) ) ; else @@result@@ = luaD_reallocstack ( @@a1@@ , Number * * ( _DWORD * ) ( @@a1@@ + Number ) ) ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "result", "t": {"T": 3, "t": "_QWORD"}, "location": "r8"}]} {"name": "luaD_precall", "code": "__int64 __fastcall luaD_precall ( __int64 @@a1@@ , unsigned __int64 @@a2@@ , int @@a3@@ ) { __int64 v3 ; __int64 result ; __int64 v5 ; __int64 * v7 ; char * v8 ; __int64 @@v9@@ ; int @@v10@@ ; __int64 @@v11@@ ; char * @@v12@@ ; __int64 @@v13@@ ; unsigned __int64 @@i@@ ; v7 = ( __int64 * ) @@a2@@ ; if ( * ( _DWORD * ) ( @@a2@@ + Number ) != Number ) v7 = ( __int64 * ) tryfuncTM ( ( _QWORD * ) @@a1@@ , @@a2@@ ) ; @@v12@@ = ( char * ) v7 - * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v11@@ = * v7 ; * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( * ( _BYTE * ) ( @@v11@@ + Number ) ) { if ( ( __int64 ) ( * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ) <= Number ) luaD_growstack ( @@a1@@ , Number ) ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) == * ( _QWORD * ) ( @@a1@@ + Number ) ) { v5 = growCI ( @@a1@@ ) ; } else { * ( _QWORD * ) ( @@a1@@ + Number ) += Number L ; v5 = * ( _QWORD * ) ( @@a1@@ + Number ) ; } * ( _QWORD * ) ( v5 + Number ) = & @@v12@@ [ * ( _QWORD * ) ( @@a1@@ + Number ) ] ; * ( _QWORD * ) v5 = * ( _QWORD * ) ( v5 + Number ) + Number L ; * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) v5 ; * ( _QWORD * ) ( v5 + Number ) = * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ; * ( _DWORD * ) ( v5 + Number ) = @@a3@@ ; if ( ( * ( _BYTE * ) ( @@a1@@ + Number ) & Number ) != Number ) luaD_callhook ( @@a1@@ , Number , Number ) ; @@v10@@ = ( * ( __int64 ( __fastcall * * ) ( __int64 ) ) ( * * ( _QWORD * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) ) ( @@a1@@ ) ; if ( @@v10@@ >= Number ) { luaD_poscall ( @@a1@@ , * ( _QWORD * ) ( @@a1@@ + Number ) - Number L * @@v10@@ ) ; result = Number L ; } else { result = Number L ; } } else { @@v9@@ = * ( _QWORD * ) ( @@v11@@ + Number ) ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) <= Number * * ( unsigned __int8 * ) ( @@v9@@ + Number ) ) luaD_growstack ( @@a1@@ , * ( unsigned __int8 * ) ( @@v9@@ + Number ) ) ; v8 = & @@v12@@ [ * ( _QWORD * ) ( @@a1@@ + Number ) ] ; if ( * ( _BYTE * ) ( @@v9@@ + Number ) ) { @@v13@@ = adjust_varargs ( ( _QWORD * ) @@a1@@ , ( unsigned __int8 * ) @@v9@@ , ( unsigned int ) ( ( __int64 ) ( * ( _QWORD * ) ( @@a1@@ + Number ) - ( _QWORD ) v8 ) >> Number ) - Number ) ; v8 = & @@v12@@ [ * ( _QWORD * ) ( @@a1@@ + Number ) ] ; } else { @@v13@@ = ( __int64 ) ( v8 + Number ) ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) > ( unsigned __int64 ) & v8 [ Number * * ( unsigned __int8 * ) ( @@v9@@ + Number ) + Number ] ) * ( _QWORD * ) ( @@a1@@ + Number ) = @@v13@@ + Number L * * ( unsigned __int8 * ) ( @@v9@@ + Number ) ; } if ( * ( _QWORD * ) ( @@a1@@ + Number ) == * ( _QWORD * ) ( @@a1@@ + Number ) ) { v3 = growCI ( @@a1@@ ) ; } else { * ( _QWORD * ) ( @@a1@@ + Number ) += Number L ; v3 = * ( _QWORD * ) ( @@a1@@ + Number ) ; } * ( _QWORD * ) ( v3 + Number ) = v8 ; * ( _QWORD * ) v3 = @@v13@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) v3 ; * ( _QWORD * ) ( v3 + Number ) = Number L * * ( unsigned __int8 * ) ( @@v9@@ + Number ) + * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) ( @@v9@@ + Number ) ; * ( _DWORD * ) ( v3 + Number ) = Number ; * ( _DWORD * ) ( v3 + Number ) = @@a3@@ ; for ( @@i@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@i@@ < * ( _QWORD * ) ( v3 + Number ) ; @@i@@ += Number L ) * ( _DWORD * ) ( @@i@@ + Number ) = Number ; * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) ( v3 + Number ) ; if ( ( * ( _BYTE * ) ( @@a1@@ + Number ) & Number ) != Number ) { * ( _QWORD * ) ( @@a1@@ + Number ) += Number L ; luaD_callhook ( @@a1@@ , Number , Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) -= Number L ; } result = Number L ; } return result ; }", "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": "unsigned __int64", "s": 8}, "location": "r64"}, {"n": "v13", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v12", "t": {"T": 3, "t": "char"}, "location": "s24"}, {"n": "v11", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s44"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "i", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}]}