{"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"}]}
{"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": "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": "htmlParseStartTag", "code": "__int64 __fastcall htmlParseStartTag ( __int64 @@a1@@ ) { __int64 result ; int v2 ; int v3 ; __int64 @@v4@@ ; __int64 * @@v5@@ ; __int64 @@v6@@ ; __int64 @@v7@@ ; __int64 @@v8@@ ; int @@i@@ ; unsigned int @@v10@@ ; int @@j@@ ; int @@v12@@ ; int @@v13@@ ; int @@v14@@ ; __int64 * @@v15@@ ; @@v14@@ = Number ; @@v12@@ = Number ; @@v10@@ = Number ; if ( @@a1@@ && * ( _QWORD * ) ( @@a1@@ + Number ) ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) == Number ) { result = Number ; } else if ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) == Number ) { xmlNextChar ( @@a1@@ ) ; @@v15@@ = * ( __int64 * * ) ( @@a1@@ + Number ) ; @@v13@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) && ( __int64 ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) - * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) <= Number ) { xmlParserInputGrow ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L ) ; } @@v8@@ = htmlParseHTMLName ( @@a1@@ ) ; if ( @@v8@@ ) { if ( ( unsigned int ) xmlStrEqual ( @@v8@@ , String ) ) @@v12@@ = Number ; htmlAutoClose ( ( __int64 * ) @@a1@@ , @@v8@@ ) ; htmlCheckImplied ( @@a1@@ , @@v8@@ ) ; if ( * ( int * ) ( @@a1@@ + Number ) > Number && ( unsigned int ) xmlStrEqual ( @@v8@@ , String ) ) { htmlParseErr ( ( _DWORD * ) @@a1@@ , Number , String , @@v8@@ , Number L ) ; @@v10@@ = Number ; ++ * ( _DWORD * ) ( @@a1@@ + Number ) ; } if ( * ( _DWORD * ) ( @@a1@@ + Number ) != Number && ( unsigned int ) xmlStrEqual ( @@v8@@ , String ) ) { htmlParseErr ( ( _DWORD * ) @@a1@@ , Number , String , @@v8@@ , Number L ) ; @@v10@@ = Number ; ++ * ( _DWORD * ) ( @@a1@@ + Number ) ; } if ( ( unsigned int ) xmlStrEqual ( @@v8@@ , String ) ) { for ( @@i@@ = Number ; @@i@@ < * ( _DWORD * ) ( @@a1@@ + Number ) ; ++ @@i@@ ) { if ( ( unsigned int ) xmlStrEqual ( * ( _QWORD * ) ( Number L * @@i@@ + * ( _QWORD * ) ( @@a1@@ + Number ) ) , String ) ) { htmlParseErr ( ( _DWORD * ) @@a1@@ , Number , String , @@v8@@ , Number L ) ; @@v10@@ = Number ; ++ * ( _DWORD * ) ( @@a1@@ + Number ) ; } } } htmlSkipBlankChars ( @@a1@@ ) ; while ( ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) > Number && * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) <= Number || * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) == Number || * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) > Number ) && * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) != Number && ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) != Number || * ( _BYTE * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) != Number ) ) { @@v7@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) && ( __int64 ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) - * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) <= Number ) { xmlParserInputGrow ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L ) ; } @@v6@@ = htmlParseAttribute ( @@a1@@ , & @@v4@@ ) ; if ( @@v6@@ ) { for ( @@j@@ = Number ; @@j@@ < @@v14@@ ; @@j@@ += Number ) { if ( ( unsigned int ) xmlStrEqual ( @@v15@@ [ @@j@@ ] , @@v6@@ ) ) { htmlParseErr ( ( _DWORD * ) @@a1@@ , Number , String , @@v6@@ , Number L ) ; if ( ! @@v4@@ ) goto LABEL_81 ; LABEL_64 : xmlFree ( @@v4@@ ) ; goto LABEL_81 ; } } if ( @@v15@@ ) { if ( @@v13@@ <= @@v14@@ + Number ) { @@v13@@ *= Number ; @@v5@@ = ( __int64 * ) xmlRealloc ( @@v15@@ , Number L * @@v13@@ ) ; if ( ! @@v5@@ ) { htmlErrMemory ( ( _DWORD * ) @@a1@@ , Number L ) ; if ( ! @@v4@@ ) goto LABEL_81 ; goto LABEL_64 ; } @@v15@@ = @@v5@@ ; * ( _QWORD * ) ( @@a1@@ + Number ) = @@v5@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v13@@ ; } } else { @@v13@@ = Number ; @@v15@@ = ( __int64 * ) xmlMalloc ( Number L ) ; if ( ! @@v15@@ ) { htmlErrMemory ( ( _DWORD * ) @@a1@@ , Number L ) ; if ( ! @@v4@@ ) goto LABEL_81 ; goto LABEL_64 ; } * ( _QWORD * ) ( @@a1@@ + Number ) = @@v15@@ ; * ( _DWORD * ) ( @@a1@@ + Number ) = @@v13@@ ; } v2 = @@v14@@ ++ ; @@v15@@ [ v2 ] = @@v6@@ ; v3 = @@v14@@ ++ ; @@v15@@ [ v3 ] = @@v4@@ ; @@v15@@ [ @@v14@@ ] = Number L ; @@v15@@ [ @@v14@@ + Number ] = Number L ; } else { if ( @@v4@@ ) xmlFree ( @@v4@@ ) ; while ( ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) > Number && * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) <= Number || * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) == Number || * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) > Number ) && * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) != Number && ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) <= Number || * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) > Number ) && * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) != Number && * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) != Number && ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) != Number || * ( _BYTE * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) != Number ) ) xmlNextChar ( @@a1@@ ) ; } LABEL_81 : htmlSkipBlankChars ( @@a1@@ ) ; if ( @@v7@@ == * ( _QWORD * ) ( @@a1@@ + Number ) ) { htmlParseErr ( ( _DWORD * ) @@a1@@ , Number , String , Number L , Number L ) ; break ; } } if ( @@v12@@ && @@v14@@ ) htmlCheckMeta ( @@a1@@ , @@v15@@ ) ; if ( ! @@v10@@ ) { htmlnamePush ( @@a1@@ , @@v8@@ ) ; if ( * ( _QWORD * ) @@a1@@ ) { if ( * ( _QWORD * ) ( * ( _QWORD * ) @@a1@@ + Number L ) ) { if ( @@v14@@ ) ( * ( void ( __fastcall * * ) ( _QWORD , __int64 , __int64 * ) ) ( * ( _QWORD * ) @@a1@@ + Number L ) ) ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@v8@@ , @@v15@@ ) ; else ( * ( void ( __fastcall * * ) ( _QWORD , __int64 , _QWORD ) ) ( * ( _QWORD * ) @@a1@@ + Number L ) ) ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@v8@@ , Number L ) ; } } } if ( @@v15@@ ) { for ( @@j@@ = Number ; @@j@@ < @@v14@@ ; @@j@@ += Number ) { if ( @@v15@@ [ @@j@@ ] ) xmlFree ( @@v15@@ [ @@j@@ ] ) ; } } result = @@v10@@ ; } else { htmlParseErr ( ( _DWORD * ) @@a1@@ , Number , String , Number L , Number L ) ; if ( * ( _DWORD * ) ( @@a1@@ + Number ) && ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) == Number || * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) > Number && * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) <= Number || * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) == Number || * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) == Number || * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) == Number || * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) == Number || * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) > Number && * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) <= Number ) ) { htmlParseCharDataInternal ( @@a1@@ , Number ) ; result = Number ; } else { while ( ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) > Number && * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) <= Number || * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) == Number || * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) > Number ) && * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) != Number && * ( _DWORD * ) ( @@a1@@ + Number ) != Number ) xmlNextChar ( @@a1@@ ) ; result = Number ; } } } else { result = Number ; } } else { htmlParseErr ( ( _DWORD * ) @@a1@@ , Number , String , Number L , Number L ) ; result = Number ; } return result ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v14", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v13", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}, {"n": "v12", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "j", "t": {"T": 1, "n": "int", "s": 4}, "location": "s24"}, {"n": "v10", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s28"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s32"}, {"n": "v8", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "v5", "t": {"T": 3, "t": "__int64"}, "location": "s64"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s72"}, {"n": "v15", "t": {"T": 3, "t": "__int64"}, "location": "s8"}]}