{"name": "htmlParserFinishElementParsing", "code": "__int64 __fastcall htmlParserFinishElementParsing ( __int64 @@a1@@ ) { __int64 @@result@@ ; if ( * ( _QWORD * ) ( @@a1@@ + Number ) && * ( _DWORD * ) ( @@a1@@ + Number ) ) { * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) - * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) = * ( int * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; * * ( _QWORD * * ) ( @@a1@@ + Number ) = * ( _QWORD * ) ( @@a1@@ + Number ) ; xmlParserAddNodeInfo ( @@a1@@ , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; htmlNodeInfoPop ( @@a1@@ ) ; } if ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) <= Number || ( @@result@@ = * * ( unsigned __int8 * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) , ( unsigned __int8 ) @@result@@ > Number ) ) { @@result@@ = * * ( unsigned __int8 * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; if ( ( _BYTE ) @@result@@ != Number ) { @@result@@ = * * ( unsigned __int8 * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; if ( ( unsigned __int8 ) @@result@@ <= Number ) @@result@@ = htmlAutoCloseOnEnd ( @@a1@@ ) ; } } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]}
{"name": "htmlNodeInfoPop", "code": "__int64 __fastcall htmlNodeInfoPop ( __int64 @@a1@@ ) { if ( * ( int * ) ( @@a1@@ + Number ) <= Number ) return Number L ; if ( ( int ) -- * ( _DWORD * ) ( @@a1@@ + Number ) < Number ) return Number L ; if ( * ( int * ) ( @@a1@@ + Number ) <= Number ) * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; else * ( _QWORD * ) ( @@a1@@ + Number ) = * ( _QWORD * ) ( @@a1@@ + Number ) + Number L * * ( int * ) ( @@a1@@ + Number ) - Number ; return * ( _QWORD * ) ( @@a1@@ + Number ) + Number L * * ( int * ) ( @@a1@@ + Number ) ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"name": "htmlAutoCloseOnEnd", "code": "__int64 __fastcall htmlAutoCloseOnEnd ( __int64 @@a1@@ ) { __int64 @@result@@ ; int @@i@@ ; @@result@@ = * ( unsigned int * ) ( @@a1@@ + Number ) ; if ( ( _DWORD ) @@result@@ ) { @@result@@ = ( unsigned int ) ( * ( _DWORD * ) ( @@a1@@ + Number ) - Number ) ; for ( @@i@@ = * ( _DWORD * ) ( @@a1@@ + Number ) - Number ; @@i@@ >= Number ; -- @@i@@ ) { if ( * ( _QWORD * ) @@a1@@ ) { if ( * ( _QWORD * ) ( * ( _QWORD * ) @@a1@@ + Number L ) ) ( * ( void ( __fastcall * * ) ( _QWORD , _QWORD ) ) ( * ( _QWORD * ) @@a1@@ + Number L ) ) ( * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@a1@@ + Number ) ) ; } @@result@@ = htmlnamePop ( @@a1@@ ) ; } } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "i", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}]} {"name": "htmlAutoClose", "code": "void __fastcall htmlAutoClose ( __int64 * @@a1@@ , __int64 @@a2@@ ) { while ( @@a2@@ && @@a1@@ [ Number ] && ( unsigned int ) htmlCheckAutoClose ( @@a2@@ , @@a1@@ [ Number ] ) ) { if ( * @@a1@@ && * ( _QWORD * ) ( * @@a1@@ + Number ) ) ( * ( void ( __fastcall * * ) ( __int64 , __int64 ) ) ( * @@a1@@ + Number ) ) ( @@a1@@ [ Number ] , @@a1@@ [ Number ] ) ; htmlnamePop ( ( __int64 ) @@a1@@ ) ; } if ( ! @@a2@@ ) htmlAutoCloseOnEnd ( ( __int64 ) @@a1@@ ) ; }", "source": [{"n": "a1", "t": {"T": 3, "t": "__int64"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]} {"name": "htmlParseElementInternal", "code": "__int64 __fastcall htmlParseElementInternal ( __int64 @@a1@@ ) { __int64 @@result@@ ; __int64 @@v2@@ ; __int64 @@v3@@ ; __int64 @@v4@@ ; __int64 @@v5@@ ; __int64 @@v6@@ ; char * * @@v7@@ ; __int64 @@v8@@ ; int @@v9@@ ; @@v2@@ = Number L ; @@v3@@ = Number L ; @@v4@@ = Number L ; @@v5@@ = Number L ; @@v6@@ = Number L ; if ( ! @@a1@@ || ! * ( _QWORD * ) ( @@a1@@ + Number ) ) return htmlParseErr ( ( _DWORD * ) @@a1@@ , Number , String , Number L , Number L ) ; @@result@@ = * ( unsigned int * ) ( @@a1@@ + Number ) ; if ( ( _DWORD ) @@result@@ != Number ) { if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) { @@v3@@ = * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) - * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; @@v4@@ = * ( int * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; } @@v9@@ = htmlParseStartTag ( @@a1@@ ) ; @@v8@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( @@v9@@ == Number || ! @@v8@@ ) { @@result@@ = * * ( unsigned __int8 * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; if ( ( _BYTE ) @@result@@ == Number ) @@result@@ = xmlNextChar ( @@a1@@ ) ; return @@result@@ ; } @@v7@@ = htmlTagLookup ( @@v8@@ ) ; if ( ! @@v7@@ ) htmlParseErr ( ( _DWORD * ) @@a1@@ , Number , String , @@v8@@ , Number L ) ; if ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) == Number && * ( _BYTE * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) == Number ) { * ( _QWORD * ) ( @@a1@@ + Number ) += Number L ; * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) += Number L ; * ( _DWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) += Number ; if ( * ( _QWORD * ) @@a1@@ && * ( _QWORD * ) ( * ( _QWORD * ) @@a1@@ + Number L ) ) ( * ( void ( __fastcall * * ) ( _QWORD , __int64 ) ) ( * ( _QWORD * ) @@a1@@ + Number L ) ) ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@v8@@ ) ; return htmlnamePop ( @@a1@@ ) ; } if ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) == Number ) { xmlNextChar ( @@a1@@ ) ; if ( @@v7@@ && * ( ( _BYTE * ) @@v7@@ + Number ) ) { if ( * ( _QWORD * ) @@a1@@ && * ( _QWORD * ) ( * ( _QWORD * ) @@a1@@ + Number L ) ) ( * ( void ( __fastcall * * ) ( _QWORD , __int64 ) ) ( * ( _QWORD * ) @@a1@@ + Number L ) ) ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@v8@@ ) ; return htmlnamePop ( @@a1@@ ) ; } @@result@@ = * ( unsigned int * ) ( @@a1@@ + Number ) ; if ( ( _DWORD ) @@result@@ ) @@result@@ = htmlNodeInfoPush ( @@a1@@ , & @@v2@@ ) ; } else { htmlParseErr ( ( _DWORD * ) @@a1@@ , Number , String , @@v8@@ , Number L ) ; if ( ( unsigned int ) xmlStrEqual ( @@v8@@ , * ( _QWORD * ) ( @@a1@@ + Number ) ) ) { nodePop ( @@a1@@ ) ; htmlnamePop ( @@a1@@ ) ; } if ( * ( _DWORD * ) ( @@a1@@ + Number ) ) htmlNodeInfoPush ( @@a1@@ , & @@v2@@ ) ; @@result@@ = htmlParserFinishElementParsing ( @@a1@@ ) ; } } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v8", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v7", "t": {"T": 3, "t": "char *"}, "location": "s24"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v9", "t": {"T": 1, "n": "int", "s": 4}, "location": "s4"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s48"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s56"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s64"}]} {"name": "htmlParseContentInternal", "code": "__int64 __fastcall htmlParseContentInternal ( __int64 @@a1@@ ) { __int64 @@result@@ ; __int64 @@v2@@ ; __int64 @@v3@@ ; int @@v4@@ ; __int64 @@v5@@ ; htmlParseContentInternal : @@v5@@ = xmlStrdup ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; @@v4@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; while ( Number ) { @@v3@@ = * ( _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 ) ; } @@result@@ = * ( unsigned int * ) ( @@a1@@ + Number ) ; if ( ( _DWORD ) @@result@@ == Number ) break ; if ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) == Number && * ( _BYTE * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) == Number ) { if ( ( unsigned int ) htmlParseEndTag ( @@a1@@ ) && ( @@v5@@ || ! * ( _DWORD * ) ( @@a1@@ + Number ) ) ) { if ( @@v5@@ ) xmlFree ( @@v5@@ ) ; goto htmlParseContentInternal ; } } else { if ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) != Number || ( * ( _BYTE * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) <= Number || * ( _BYTE * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) > Number ) && ( * ( _BYTE * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) <= Number || * ( _BYTE * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) > Number ) && * ( _BYTE * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) != Number && * ( _BYTE * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) != Number ) { goto LABEL_83 ; } @@v2@@ = htmlParseHTMLName_nonInvasive ( @@a1@@ ) ; if ( ! @@v2@@ ) { htmlParseErr ( ( _DWORD * ) @@a1@@ , Number , String , Number L , Number L ) ; 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 ) xmlNextChar ( @@a1@@ ) ; htmlParserFinishElementParsing ( @@a1@@ ) ; if ( @@v5@@ ) xmlFree ( @@v5@@ ) ; goto htmlParseContentInternal ; } if ( * ( _QWORD * ) ( @@a1@@ + Number ) && ( unsigned int ) htmlCheckAutoClose ( @@v2@@ , * ( _QWORD * ) ( @@a1@@ + Number ) ) == Number ) { htmlAutoClose ( ( __int64 * ) @@a1@@ , @@v2@@ ) ; } else { LABEL_83 : if ( * ( int * ) ( @@a1@@ + Number ) > Number && @@v4@@ >= * ( _DWORD * ) ( @@a1@@ + Number ) && ! ( unsigned int ) xmlStrEqual ( @@v5@@ , * ( _QWORD * ) ( @@a1@@ + Number ) ) ) { htmlParserFinishElementParsing ( @@a1@@ ) ; if ( @@v5@@ ) xmlFree ( @@v5@@ ) ; goto htmlParseContentInternal ; } if ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) && ( ( unsigned int ) xmlStrEqual ( @@v5@@ , String ) || ( unsigned int ) xmlStrEqual ( @@v5@@ , String ) ) ) { htmlParseScript ( @@a1@@ ) ; } else { if ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) == Number && * ( _BYTE * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) == Number && toupper ( * ( unsigned __int8 * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) ) == Number && toupper ( * ( unsigned __int8 * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) ) == Number && toupper ( * ( unsigned __int8 * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) ) == Number && toupper ( * ( unsigned __int8 * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) ) == Number && toupper ( * ( unsigned __int8 * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) ) == Number && toupper ( * ( unsigned __int8 * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) ) == Number && toupper ( * ( unsigned __int8 * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) ) == Number ) { htmlParseErr ( ( _DWORD * ) @@a1@@ , Number , String , ( __int64 ) String , Number L ) ; htmlParseDocTypeDecl ( @@a1@@ ) ; } if ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) == Number && * ( _BYTE * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) == Number && * ( _BYTE * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) == Number && * ( _BYTE * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) == Number ) { htmlParseComment ( @@a1@@ ) ; } else if ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) == Number && * ( _BYTE * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L ) == Number ) { htmlParsePI ( @@a1@@ ) ; } else { switch ( * * ( _BYTE * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) { case Number : htmlParseElementInternal ( @@a1@@ ) ; if ( @@v5@@ ) xmlFree ( @@v5@@ ) ; @@v5@@ = xmlStrdup ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; @@v4@@ = * ( _DWORD * ) ( @@a1@@ + Number ) ; break ; case Number : htmlParseReference ( ( __int64 * ) @@a1@@ ) ; break ; case Number : @@result@@ = htmlAutoCloseOnEnd ( @@a1@@ ) ; goto LABEL_79 ; default : htmlParseCharData ( @@a1@@ ) ; break ; } } if ( @@v3@@ == * ( _QWORD * ) ( @@a1@@ + Number ) ) { @@result@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; if ( @@result@@ ) @@result@@ = htmlParseErr ( ( _DWORD * ) @@a1@@ , Number , String , Number L , Number L ) ; break ; } } if ( ! * ( _DWORD * ) ( @@a1@@ + Number ) && ( __int64 ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) - * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) <= Number ) { xmlParserInputGrow ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L ) ; } } } } LABEL_79 : if ( @@v5@@ ) @@result@@ = xmlFree ( @@v5@@ ) ; return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}, {"n": "v4", "t": {"T": 1, "n": "int", "s": 4}, "location": "s12"}, {"n": "v3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}