{"name": "htmlCtxtReset", "code": "void __fastcall htmlCtxtReset ( __int64 @@a1@@ ) { __int64 @@v1@@ ; __int64 @@v2@@ ; if ( @@a1@@ ) { xmlInitParser ( ) ; @@v2@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; while ( Number ) { @@v1@@ = inputPop ( @@a1@@ ) ; if ( ! @@v1@@ ) break ; xmlFreeInputStream ( @@v1@@ ) ; } * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) { * * ( _DWORD * * ) ( @@a1@@ + Number ) = Number ; * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) ( @@a1@@ + Number ) ; } else { * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; } * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) && ( ! @@v2@@ || ! ( unsigned int ) xmlDictOwns ( @@v2@@ , * ( _QWORD * ) ( @@a1@@ + Number ) ) ) ) xmlFree ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) && ( ! @@v2@@ || ! ( unsigned int ) xmlDictOwns ( @@v2@@ , * ( _QWORD * ) ( @@a1@@ + Number ) ) ) ) xmlFree ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) && ( ! @@v2@@ || ! ( unsigned int ) xmlDictOwns ( @@v2@@ , * ( _QWORD * ) ( @@a1@@ + Number ) ) ) ) xmlFree ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) && ( ! @@v2@@ || ! ( unsigned int ) xmlDictOwns ( @@v2@@ , * ( _QWORD * ) ( @@a1@@ + Number ) ) ) ) xmlFree ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) && ( ! @@v2@@ || ! ( unsigned int ) xmlDictOwns ( @@v2@@ , * ( _QWORD * ) ( @@a1@@ + Number ) ) ) ) xmlFree ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) xmlFreeDoc ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@a1@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = & xmlParserValidityError ; * ( _QWORD * ) ( @@a1@@ + Number ) = & xmlParserValidityWarning ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; xmlInitNodeInfoSeq ( @@a1@@ + Number ) ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) { xmlHashFree ( * ( _QWORD * ) ( @@a1@@ + Number ) , & xmlHashDefaultDeallocator ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; } if ( * ( _QWORD * ) ( @@a1@@ + Number ) ) { xmlHashFree ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L ) ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; } } }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}
{"name": "htmlCtxtReadDoc", "code": "__int64 __fastcall htmlCtxtReadDoc ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , __int64 @@a4@@ , unsigned int @@a5@@ ) { __int64 @@v9@@ ; if ( ! @@a2@@ ) return Number L ; if ( ! @@a1@@ ) return Number L ; xmlInitParser ( ) ; htmlCtxtReset ( @@a1@@ ) ; @@v9@@ = xmlNewStringInputStream ( @@a1@@ , @@a2@@ ) ; if ( ! @@v9@@ ) return Number L ; inputPush ( @@a1@@ , @@v9@@ ) ; return htmlDoRead ( @@a1@@ , @@a3@@ , @@a4@@ , @@a5@@ , Number ) ; }", "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": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r72"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "htmlCtxtReadFile", "code": "__int64 __fastcall htmlCtxtReadFile ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , unsigned int @@a4@@ ) { __int64 @@v7@@ ; if ( ! @@a2@@ ) return Number L ; if ( ! @@a1@@ ) return Number L ; xmlInitParser ( ) ; htmlCtxtReset ( @@a1@@ ) ; @@v7@@ = xmlLoadExternalEntity ( @@a2@@ , Number L , @@a1@@ ) ; if ( ! @@v7@@ ) return Number L ; inputPush ( @@a1@@ , @@v7@@ ) ; return htmlDoRead ( @@a1@@ , Number L , @@a3@@ , @@a4@@ , Number ) ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "unsigned 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": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "htmlCtxtReadMemory", "code": "__int64 __fastcall htmlCtxtReadMemory ( __int64 @@a1@@ , __int64 @@a2@@ , unsigned int @@a3@@ , __int64 @@a4@@ , __int64 @@a5@@ , unsigned int @@a6@@ ) { __int64 @@result@@ ; __int64 @@v11@@ ; __int64 @@v12@@ ; if ( ! @@a1@@ ) return Number L ; if ( ! @@a2@@ ) return Number L ; xmlInitParser ( ) ; htmlCtxtReset ( @@a1@@ ) ; @@v12@@ = xmlParserInputBufferCreateMem ( @@a2@@ , @@a3@@ , Number L ) ; if ( ! @@v12@@ ) return Number L ; @@v11@@ = xmlNewIOInputStream ( @@a1@@ , @@v12@@ , Number L ) ; if ( @@v11@@ ) { inputPush ( @@a1@@ , @@v11@@ ) ; @@result@@ = htmlDoRead ( @@a1@@ , @@a4@@ , @@a5@@ , @@a6@@ , Number ) ; } else { xmlFreeParserInputBuffer ( @@v12@@ ) ; @@result@@ = Number L ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "unsigned int", "s": 4}, "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": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "a6", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r80"}, {"n": "v11", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v12", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "htmlCtxtReadFd", "code": "__int64 __fastcall htmlCtxtReadFd ( __int64 @@a1@@ , int @@a2@@ , __int64 @@a3@@ , __int64 @@a4@@ , unsigned int @@a5@@ ) { __int64 @@result@@ ; __int64 @@v9@@ ; __int64 @@v10@@ ; if ( @@a2@@ < Number ) return Number L ; if ( ! @@a1@@ ) return Number L ; xmlInitParser ( ) ; htmlCtxtReset ( @@a1@@ ) ; @@v10@@ = xmlParserInputBufferCreateFd ( ( unsigned int ) @@a2@@ , Number L ) ; if ( ! @@v10@@ ) return Number L ; @@v9@@ = xmlNewIOInputStream ( @@a1@@ , @@v10@@ , Number L ) ; if ( @@v9@@ ) { inputPush ( @@a1@@ , @@v9@@ ) ; @@result@@ = htmlDoRead ( @@a1@@ , @@a3@@ , @@a4@@ , @@a5@@ , Number ) ; } else { xmlFreeParserInputBuffer ( @@v10@@ ) ; @@result@@ = Number L ; } return @@result@@ ; }", "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": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r72"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v10", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "htmlCtxtReadIO", "code": "__int64 __fastcall htmlCtxtReadIO ( __int64 @@a1@@ , __int64 @@a2@@ , void ( __fastcall * @@a3@@ ) ( __int64 ) , __int64 @@a4@@ , __int64 @@a5@@ , __int64 @@a6@@ , unsigned int @@a7@@ ) { __int64 @@result@@ ; __int64 @@v12@@ ; __int64 @@v13@@ ; if ( ! @@a2@@ ) return Number L ; if ( ! @@a1@@ ) return Number L ; xmlInitParser ( ) ; htmlCtxtReset ( @@a1@@ ) ; @@v13@@ = xmlParserInputBufferCreateIO ( @@a2@@ , @@a3@@ , @@a4@@ , Number L ) ; if ( @@v13@@ ) { @@v12@@ = xmlNewIOInputStream ( @@a1@@ , @@v13@@ , Number L ) ; if ( @@v12@@ ) { inputPush ( @@a1@@ , @@v12@@ ) ; @@result@@ = htmlDoRead ( @@a1@@ , @@a5@@ , @@a6@@ , @@a7@@ , Number ) ; } else { xmlFreeParserInputBuffer ( @@v13@@ ) ; @@result@@ = Number L ; } } else { if ( @@a3@@ ) @@a3@@ ( @@a4@@ ) ; @@result@@ = Number L ; } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 9, "n": "void (__fastcall *)(__int64)"}, "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": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "a6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r80"}, {"n": "a7", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s-16"}, {"n": "v12", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v13", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}