{"name": "io_readline", "code": "__int64 __fastcall io_readline ( __int64 @@a1@@ ) { int * v1 ; char * v2 ; __int64 result ; _BOOL4 @@v4@@ ; FILE * @@stream@@ ; @@stream@@ = * ( FILE * * ) lua_touserdata ( @@a1@@ , Number L ) ; if ( ! @@stream@@ ) luaL_error ( @@a1@@ , String ) ; @@v4@@ = read_line ( @@a1@@ , @@stream@@ ) ; if ( ferror ( @@stream@@ ) ) { v1 = _errno_location ( ) ; v2 = strerror ( * v1 ) ; result = luaL_error ( @@a1@@ , String , v2 ) ; } else if ( @@v4@@ ) { result = Number L ; } else { if ( ( unsigned int ) lua_toboolean ( @@a1@@ , Number L ) ) { lua_settop ( @@a1@@ , Number L ) ; lua_pushvalue ( @@a1@@ , Number L ) ; aux_close ( @@a1@@ ) ; } result = Number L ; } return result ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v4", "t": {"T": 1, "n": "_BOOL4", "s": 4}, "location": "s12"}, {"n": "stream", "t": {"T": 3, "t": "FILE"}, "location": "s8"}]}
{"name": "aux_close", "code": "__int64 __fastcall aux_close ( __int64 @@a1@@ ) { __int64 ( __fastcall * @@v1@@ ) ( __int64 ) ; lua_getfenv ( @@a1@@ , Number L ) ; lua_getfield ( @@a1@@ , Number , String ) ; @@v1@@ = ( __int64 ( __fastcall * ) ( __int64 ) ) lua_tocfunction ( @@a1@@ , Number ) ; return @@v1@@ ( @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v1", "t": {"T": 9, "n": "__int64 (__fastcall *)(__int64)"}, "location": "r8"}]} {"name": "aux_lines", "code": "__int64 __fastcall aux_lines ( __int64 @@a1@@ , unsigned int @@a2@@ , unsigned int @@a3@@ ) { lua_pushvalue ( @@a1@@ , @@a2@@ ) ; lua_pushboolean ( @@a1@@ , @@a3@@ ) ; return lua_pushcclosure ( @@a1@@ , io_readline , Number L ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}]} {"name": "read_line", "code": "_BOOL8 __fastcall read_line ( __int64 @@a1@@ , FILE * @@a2@@ ) { __int64 @@v3@@ [ Number ] ; size_t @@v4@@ ; char * @@s@@ ; luaL_buffinit ( @@a1@@ , @@v3@@ ) ; while ( Number ) { @@s@@ = ( char * ) luaL_prepbuffer ( @@v3@@ ) ; if ( ! fgets ( @@s@@ , Number , @@a2@@ ) ) { luaL_pushresult ( @@v3@@ ) ; return lua_objlen ( @@a1@@ , Number ) != Number ; } @@v4@@ = strlen ( @@s@@ ) ; if ( @@v4@@ ) { if ( @@s@@ [ @@v4@@ - Number ] == Number ) break ; } @@v3@@ [ Number ] += @@v4@@ ; } @@v3@@ [ Number ] += @@v4@@ - Number ; luaL_pushresult ( @@v3@@ ) ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "FILE"}, "location": "r64"}, {"n": "v4", "t": {"T": 1, "n": "size_t", "s": 8}, "location": "s16"}, {"n": "s", "t": {"T": 3, "t": "char"}, "location": "s8"}, {"n": "v3", "t": {"T": 2, "n": 1028, "s": 8, "t": "__int64"}, "location": "s8240"}]} {"name": "io_read", "code": "__int64 __fastcall io_read ( __int64 @@a1@@ ) { FILE * @@v1@@ ; @@v1@@ = ( FILE * ) getiofile ( @@a1@@ , Number ) ; return g_read ( @@a1@@ , @@v1@@ , Number ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v1", "t": {"T": 3, "t": "FILE"}, "location": "r8"}]}