{"name": "luaD_protectedparser", "code": "__int64 __fastcall luaD_protectedparser ( _QWORD * @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ ) { __int64 @@v4@@ ; __int64 @@v5@@ ; __int64 @@v6@@ ; __int64 @@v7@@ ; unsigned int @@v8@@ ; @@v4@@ = @@a2@@ ; @@v7@@ = @@a3@@ ; @@v5@@ = Number L ; @@v6@@ = Number L ; @@v8@@ = luaD_pcall ( ( __int64 ) @@a1@@ , ( void ( __fastcall * ) ( __int64 , __int64 ) ) f_parser , ( __int64 ) & @@v4@@ , @@a1@@ [ Number ] - @@a1@@ [ Number ] , @@a1@@ [ Number ] ) ; luaM_realloc_ ( @@a1@@ , @@v5@@ , @@v6@@ , Number L ) ; return @@v8@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v8", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}]}
{"name": "luaD_pcall", "code": "__int64 __fastcall luaD_pcall ( __int64 @@a1@@ , void ( __fastcall * @@a2@@ ) ( __int64 , __int64 ) , __int64 @@a3@@ , __int64 @@a4@@ , __int64 @@a5@@ ) { __int64 @@v7@@ ; unsigned int @@v8@@ ; __int64 @@v9@@ ; char @@v10@@ ; __int64 @@v11@@ ; __int16 @@v12@@ ; @@v12@@ = * ( _WORD * ) ( @@a1@@ + Number ) ; @@v11@@ = * ( _QWORD * ) ( @@a1@@ + Number ) - * ( _QWORD * ) ( @@a1@@ + Number ) ; @@v10@@ = * ( _BYTE * ) ( @@a1@@ + Number ) ; @@v9@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@a5@@ ; @@v8@@ = luaD_rawrunprotected ( @@a1@@ , @@a2@@ , @@a3@@ ) ; if ( @@v8@@ ) { @@v7@@ = * ( _QWORD * ) ( @@a1@@ + Number ) + @@a4@@ ; luaF_close ( @@a1@@ , @@v7@@ ) ; luaD_seterrorobj ( @@a1@@ , @@v8@@ , @@v7@@ ) ; * ( _WORD * ) ( @@a1@@ + Number ) = @@v12@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@v11@@ + * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = * * ( _QWORD * * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; * ( _BYTE * ) ( @@a1@@ + Number ) = @@v10@@ ; restore_stack_limit ( @@a1@@ ) ; } * ( _QWORD * ) ( @@a1@@ + Number ) = @@v9@@ ; return @@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": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 9, "n": "void (__fastcall *)(__int64, __int64)"}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "v11", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v10", "t": {"T": 1, "n": "char", "s": 1}, "location": "s17"}, {"n": "v12", "t": {"T": 1, "n": "__int16", "s": 2}, "location": "s2"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v8", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s36"}, {"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}]} {"name": "f_parser", "code": "_QWORD * __fastcall f_parser ( _QWORD * @@a1@@ , _QWORD * @@a2@@ ) { __int64 v2 ; _QWORD * result ; __int64 @@v4@@ ; __int64 @@v5@@ ; __int64 @@v6@@ ; int @@v7@@ ; int @@i@@ ; @@v7@@ = luaZ_lookahead ( * @@a2@@ ) ; if ( * ( _QWORD * ) ( @@a1@@ [ Number ] + Number L ) >= * ( _QWORD * ) ( @@a1@@ [ Number ] + Number L ) ) luaC_step ( @@a1@@ ) ; if ( @@v7@@ == Number ) v2 = luaU_undump ( @@a1@@ , * @@a2@@ , @@a2@@ + Number , @@a2@@ [ Number ] ) ; else v2 = ( ( __int64 ( __fastcall * ) ( _QWORD * , _QWORD , _QWORD * , _QWORD ) ) luaY_parser ) ( @@a1@@ , * @@a2@@ , @@a2@@ + Number , @@a2@@ [ Number ] ) ; @@v6@@ = v2 ; @@v5@@ = luaF_newLclosure ( @@a1@@ , * ( unsigned __int8 * ) ( v2 + Number ) , @@a1@@ [ Number ] ) ; * ( _QWORD * ) ( @@v5@@ + Number ) = @@v6@@ ; for ( @@i@@ = Number ; @@i@@ < * ( unsigned __int8 * ) ( @@v6@@ + Number ) ; ++ @@i@@ ) * ( _QWORD * ) ( @@v5@@ + Number * ( @@i@@ + Number L ) + Number ) = luaF_newupval ( @@a1@@ ) ; @@v4@@ = @@a1@@ [ Number ] ; * ( _QWORD * ) @@v4@@ = @@v5@@ ; * ( _DWORD * ) ( @@v4@@ + Number ) = Number ; if ( ( __int64 ) ( @@a1@@ [ Number ] - @@a1@@ [ Number ] ) <= Number ) luaD_growstack ( ( __int64 ) @@a1@@ , Number ) ; result = @@a1@@ ; @@a1@@ [ Number ] += Number L ; return result ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_QWORD"}, "location": "r64"}, {"n": "v7", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}]}