{"name": "htmlCreateDocParserCtxt", "code": "_QWORD * __fastcall htmlCreateDocParserCtxt ( __int64 @@a1@@ , __int64 @@a2@@ ) { __int64 @@v3@@ ; __int64 @@v4@@ ; unsigned int @@v5@@ ; _QWORD * @@v6@@ ; int @@v7@@ ; if ( ! @@a1@@ ) return Number L ; @@v7@@ = xmlStrlen ( @@a1@@ ) ; @@v6@@ = htmlCreateMemoryParserCtxt ( @@a1@@ , @@v7@@ ) ; if ( ! @@v6@@ ) return Number L ; if ( @@a2@@ ) { if ( * ( _QWORD * ) ( @@v6@@ [ Number ] + Number L ) ) xmlFree ( * ( _QWORD * ) ( @@v6@@ [ Number ] + Number L ) ) ; @@v3@@ = @@v6@@ [ Number ] ; * ( _QWORD * ) ( @@v3@@ + Number ) = xmlStrdup ( @@a2@@ ) ; @@v5@@ = xmlParseCharEncoding ( @@a2@@ ) ; if ( @@v5@@ == Number ) { @@v4@@ = xmlFindCharEncodingHandler ( @@a2@@ ) ; if ( ! @@v4@@ ) { LABEL_13 : htmlParseErr ( @@v6@@ , Number , String , @@a2@@ , Number L ) ; return @@v6@@ ; } xmlSwitchToEncoding ( @@v6@@ , @@v4@@ ) ; } else { xmlSwitchEncoding ( @@v6@@ , @@v5@@ ) ; if ( * ( ( _DWORD * ) @@v6@@ + Number ) == Number ) goto LABEL_13 ; } } return @@v6@@ ; }", "source": [{"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r32"}, {"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": "int", "s": 4}, "location": "s20"}, {"n": "v6", "t": {"T": 3, "t": "_QWORD"}, "location": "s32"}, {"n": "v5", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s36"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}]}
{"name": "htmlParseErr", "code": "__int64 __fastcall htmlParseErr ( _DWORD * @@a1@@ , unsigned int @@a2@@ , const char * @@a3@@ , __int64 @@a4@@ , __int64 @@a5@@ ) { __int64 @@result@@ ; if ( ! @@a1@@ || ! @@a1@@ [ Number ] || ( @@result@@ = ( unsigned int ) @@a1@@ [ Number ] , ( _DWORD ) @@result@@ != Number ) ) { if ( @@a1@@ ) @@a1@@ [ Number ] = @@a2@@ ; @@result@@ = _xmlRaiseError ( Number L , Number L , Number L , @@a1@@ , Number L , Number L , @@a2@@ , Number L , Number L , Number L , @@a4@@ , @@a5@@ , Number L , Number L , Number L , @@a3@@ , @@a4@@ , @@a5@@ ) ; if ( @@a1@@ ) { @@result@@ = ( __int64 ) @@a1@@ ; @@a1@@ [ Number ] = Number ; } } return @@result@@ ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "const char"}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "_DWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]} {"name": "htmlCreateMemoryParserCtxt", "code": "_QWORD * __fastcall htmlCreateMemoryParserCtxt ( __int64 @@a1@@ , int @@a2@@ ) { _QWORD * @@result@@ ; __int64 * @@v3@@ ; __int64 @@v4@@ ; _QWORD * @@v5@@ ; if ( ! @@a1@@ ) return Number L ; if ( @@a2@@ <= Number ) return Number L ; @@v5@@ = htmlNewParserCtxt ( ) ; if ( ! @@v5@@ ) return Number L ; @@v4@@ = xmlParserInputBufferCreateMem ( @@a1@@ , ( unsigned int ) @@a2@@ , Number L ) ; if ( ! @@v4@@ ) return Number L ; @@v3@@ = ( __int64 * ) xmlNewInputStream ( @@v5@@ ) ; if ( @@v3@@ ) { @@v3@@ [ Number ] = Number L ; * @@v3@@ = @@v4@@ ; xmlBufResetInput ( * ( _QWORD * ) ( @@v4@@ + Number ) , @@v3@@ ) ; inputPush ( @@v5@@ , @@v3@@ ) ; @@result@@ = @@v5@@ ; } else { xmlFreeParserCtxt ( @@v5@@ ) ; @@result@@ = Number L ; } 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"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v3", "t": {"T": 3, "t": "__int64"}, "location": "s24"}, {"n": "v5", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]} {"name": "htmlSAXParseDoc", "code": "__int64 __fastcall htmlSAXParseDoc ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , __int64 @@a4@@ ) { __int64 @@v7@@ ; _QWORD * @@v8@@ ; xmlInitParser ( ) ; if ( ! @@a1@@ ) return Number L ; @@v8@@ = htmlCreateDocParserCtxt ( @@a1@@ , @@a2@@ ) ; if ( ! @@v8@@ ) return Number L ; if ( @@a3@@ ) { if ( * @@v8@@ ) xmlFree ( * @@v8@@ ) ; * @@v8@@ = @@a3@@ ; @@v8@@ [ Number ] = @@a4@@ ; } htmlParseDocument ( ( __int64 ) @@v8@@ ) ; @@v7@@ = @@v8@@ [ Number ] ; if ( @@a3@@ ) { * @@v8@@ = Number L ; @@v8@@ [ Number ] = Number L ; } htmlFreeParserCtxt ( ( __int64 ) @@v8@@ ) ; return @@v7@@ ; }", "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": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v8", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]} {"name": "htmlReadDoc", "code": "__int64 __fastcall htmlReadDoc ( __int64 @@a1@@ , __int64 @@a2@@ , __int64 @@a3@@ , unsigned int @@a4@@ ) { __int64 @@result@@ ; _QWORD * @@v7@@ ; if ( ! @@a1@@ ) return Number L ; xmlInitParser ( ) ; @@v7@@ = htmlCreateDocParserCtxt ( @@a1@@ , Number L ) ; if ( @@v7@@ ) @@result@@ = htmlDoRead ( ( __int64 ) @@v7@@ , @@a2@@ , @@a3@@ , @@a4@@ , Number ) ; else @@result@@ = Number L ; return @@result@@ ; }", "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": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v7", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]}