{"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"}]}
{"name": "getiofile", "code": "__int64 __fastcall getiofile ( __int64 @@a1@@ , unsigned int @@a2@@ ) { __int64 @@v3@@ ; lua_rawgeti ( @@a1@@ , Number L , @@a2@@ ) ; @@v3@@ = * ( _QWORD * ) lua_touserdata ( @@a1@@ , Number ) ; if ( ! @@v3@@ ) luaL_error ( @@a1@@ , String , fnames [ @@a2@@ - Number ] ) ; return @@v3@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"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": "g_read", "code": "__int64 __fastcall g_read ( __int64 @@a1@@ , FILE * @@a2@@ , unsigned int @@a3@@ ) { _BOOL4 v3 ; int v4 ; int v6 ; size_t @@v8@@ ; _BYTE * @@v9@@ ; unsigned int @@i@@ ; int @@v11@@ ; int @@v12@@ ; @@v12@@ = lua_gettop ( @@a1@@ ) - Number ; clearerr ( @@a2@@ ) ; if ( @@v12@@ ) { luaL_checkstack ( @@a1@@ , ( unsigned int ) ( @@v12@@ + Number ) , String ) ; @@v11@@ = Number ; for ( @@i@@ = @@a3@@ ; ; ++ @@i@@ ) { v6 = @@v12@@ -- ; if ( ! v6 || ! @@v11@@ ) break ; if ( ( unsigned int ) lua_type ( @@a1@@ , @@i@@ ) == Number ) { @@v8@@ = lua_tointeger ( @@a1@@ , @@i@@ ) ; if ( @@v8@@ ) v3 = read_chars ( @@a1@@ , @@a2@@ , @@v8@@ ) ; else v3 = test_eof ( @@a1@@ , @@a2@@ ) ; @@v11@@ = v3 ; } else { @@v9@@ = ( _BYTE * ) lua_tolstring ( @@a1@@ , @@i@@ , Number L ) ; if ( ! @@v9@@ || * @@v9@@ != Number ) luaL_argerror ( @@a1@@ , @@i@@ , String ) ; v4 = ( char ) @@v9@@ [ Number ] ; if ( v4 == Number ) { @@v11@@ = read_number ( @@a1@@ , ( __int64 ) @@a2@@ ) ; } else { if ( v4 > Number ) return luaL_argerror ( @@a1@@ , @@i@@ , String ) ; if ( v4 == Number ) { read_chars ( @@a1@@ , @@a2@@ , Number ) ; @@v11@@ = Number ; } else { if ( v4 != Number ) return luaL_argerror ( @@a1@@ , @@i@@ , String ) ; @@v11@@ = read_line ( @@a1@@ , @@a2@@ ) ; } } } } } else { @@v11@@ = read_line ( @@a1@@ , @@a2@@ ) ; @@i@@ = @@a3@@ + Number ; } if ( ferror ( @@a2@@ ) ) return pushresult ( @@a1@@ , Number , Number L ) ; if ( ! @@v11@@ ) { lua_settop ( @@a1@@ , Number L ) ; lua_pushnil ( @@a1@@ ) ; } return @@i@@ - @@a3@@ ; }", "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": 3, "t": "FILE"}, "location": "r64"}, {"n": "i", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "v9", "t": {"T": 3, "t": "_BYTE"}, "location": "s24"}, {"n": "v8", "t": {"T": 1, "n": "size_t", "s": 8}, "location": "s32"}, {"n": "v12", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v11", "t": {"T": 1, "n": "int", "s": 4}, "location": "s8"}]} {"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"}]}