{"name": "htmlCheckEncodingDirect", "code": "void __fastcall htmlCheckEncodingDirect ( __int64 @@a1@@ , _BYTE * @@a2@@ ) { __int64 @@v2@@ ; _BYTE * @@v3@@ ; int @@v4@@ ; __int64 @@v5@@ ; unsigned int @@v6@@ ; @@v3@@ = @@a2@@ ; if ( @@a1@@ && @@a2@@ && ( * ( _DWORD * ) ( @@a1@@ + Number ) & Number ) == Number && ! * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) { while ( * @@v3@@ == Number || * @@v3@@ == Number ) ++ @@v3@@ ; if ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) xmlFree ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) ; @@v2@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( @@v2@@ + Number ) = xmlStrdup ( @@v3@@ ) ; @@v6@@ = xmlParseCharEncoding ( @@v3@@ ) ; if ( @@v6@@ == Number ) { @@v5@@ = xmlFindCharEncodingHandler ( @@v3@@ ) ; if ( @@v5@@ ) { xmlSwitchToEncoding ( @@a1@@ , @@v5@@ ) ; * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } else { htmlParseErr ( ( _DWORD * ) @@a1@@ , Number , String , ( __int64 ) @@v3@@ , Number L ) ; } } else { if ( ( @@v6@@ == Number || @@v6@@ == Number || @@v6@@ == Number || @@v6@@ == Number ) && * * ( _QWORD * * ) ( @@a1@@ + Number ) && ! * ( _QWORD * ) ( * * ( _QWORD * * ) ( @@a1@@ + Number ) + Number L ) ) { htmlParseErr ( ( _DWORD * ) @@a1@@ , Number , String , Number L , Number L ) ; } else { xmlSwitchEncoding ( @@a1@@ , @@v6@@ ) ; } * ( _DWORD * ) ( @@a1@@ + Number ) = Number ; } if ( * * ( _QWORD * * ) ( @@a1@@ + Number ) && * ( _QWORD * ) ( * * ( _QWORD * * ) ( @@a1@@ + Number ) + Number L ) && * ( _QWORD * ) ( * * ( _QWORD * * ) ( @@a1@@ + Number ) + Number L ) && * ( _QWORD * ) ( * * ( _QWORD * * ) ( @@a1@@ + Number ) + Number L ) ) { xmlBufShrink ( * ( _QWORD * ) ( * * ( _QWORD * * ) ( @@a1@@ + Number ) + Number L ) , ( int ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) - * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) ) ; @@v4@@ = xmlCharEncInput ( * * ( _QWORD * * ) ( @@a1@@ + Number ) , Number L ) ; xmlBufResetInput ( * ( _QWORD * ) ( * * ( _QWORD * * ) ( @@a1@@ + Number ) + Number L ) , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; if ( @@v4@@ < Number ) htmlParseErr ( ( _DWORD * ) @@a1@@ , Number , String , Number L , Number L ) ; } } }", "source": [{"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r32"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "_BYTE"}, "location": "r64"}, {"n": "v6", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s20"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v4", "t": {"T": 1, "n": "int", "s": 4}, "location": "s40"}, {"n": "v3", "t": {"T": 3, "t": "_BYTE"}, "location": "s64"}]}
{"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": "htmlCheckEncoding", "code": "void __fastcall htmlCheckEncoding ( __int64 @@a1@@ , __int64 @@a2@@ ) { _BYTE * @@v2@@ ; if ( @@a2@@ ) { @@v2@@ = ( _BYTE * ) xmlStrcasestr ( @@a2@@ , String ) ; if ( @@v2@@ ) @@v2@@ += Number ; if ( @@v2@@ && ( * @@v2@@ == Number || * @@v2@@ > Number && * @@v2@@ <= Number || * @@v2@@ == Number ) ) @@v2@@ = ( _BYTE * ) xmlStrcasestr ( @@a2@@ , String ) ; if ( @@v2@@ ) { if ( * @@v2@@ == Number ) htmlCheckEncodingDirect ( @@a1@@ , @@v2@@ + Number ) ; } } }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v2", "t": {"T": 3, "t": "_BYTE"}, "location": "s8"}]} {"name": "htmlCheckMeta", "code": "void __fastcall htmlCheckMeta ( __int64 @@a1@@ , __int64 * @@a2@@ ) { int v2 ; int v3 ; _BYTE * @@v4@@ ; __int64 @@v5@@ ; int @@v6@@ ; __int64 @@i@@ ; int v8 ; int v9 ; @@v6@@ = Number ; @@v5@@ = Number L ; if ( @@a1@@ && @@a2@@ ) { v8 = Number ; for ( @@i@@ = * @@a2@@ ; @@i@@ ; @@i@@ = @@a2@@ [ v3 ] ) { v2 = v8 ; v9 = v8 + Number ; @@v4@@ = ( _BYTE * ) @@a2@@ [ v2 ] ; if ( ! @@v4@@ || ( unsigned int ) xmlStrcasecmp ( @@i@@ , String ) || ( unsigned int ) xmlStrcasecmp ( @@v4@@ , String ) ) { if ( ! @@v4@@ || ( unsigned int ) xmlStrcasecmp ( @@i@@ , String ) ) { if ( @@v4@@ && ! ( unsigned int ) xmlStrcasecmp ( @@i@@ , String ) ) @@v5@@ = ( __int64 ) @@v4@@ ; } else { htmlCheckEncodingDirect ( @@a1@@ , @@v4@@ ) ; } } else { @@v6@@ = Number ; } v3 = v9 ; v8 = v9 + Number ; } if ( @@v6@@ ) { if ( @@v5@@ ) htmlCheckEncoding ( @@a1@@ , @@v5@@ ) ; } } }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "__int64"}, "location": "r64"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v6", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v4", "t": {"T": 3, "t": "_BYTE"}, "location": "s40"}]}