{"name": "htmlNodeStatus", "code": "__int64 __fastcall htmlNodeStatus ( __int64 @@a1@@ , int @@a2@@ ) { __int64 result ; int v3 ; __int64 v4 ; char * * v5 ; char * * v6 ; char * * v7 ; __int64 v8 ; char * * v9 ; if ( ! @@a1@@ ) return Number L ; v3 = * ( _DWORD * ) ( @@a1@@ + Number ) ; if ( v3 == Number ) { if ( @@a2@@ ) { v4 = * ( _QWORD * ) ( @@a1@@ + Number ) ; v5 = htmlTagLookup ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) ; if ( ( unsigned int ) htmlElementAllowedHere ( ( __int64 ) v5 , v4 ) ) result = Number L ; else result = Number L ; } else { v6 = htmlTagLookup ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; v7 = htmlTagLookup ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) ; result = htmlElementStatusHere ( ( __int64 ) v7 , ( __int64 ) v6 ) ; } } else if ( v3 == Number ) { v8 = * ( _QWORD * ) ( @@a1@@ + Number ) ; v9 = htmlTagLookup ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) ; result = htmlAttrAllowed ( v9 , v8 , @@a2@@ ) ; } else { 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"}]}
{"name": "htmlTagLookup", "code": "char * * __fastcall htmlTagLookup ( __int64 @@a1@@ ) { unsigned int @@i@@ ; for ( @@i@@ = Number ; @@i@@ <= Number ; ++ @@i@@ ) { if ( ! ( unsigned int ) xmlStrcasecmp ( @@a1@@ , ( & html40ElementTable ) [ Number * ( unsigned __int64 ) @@i@@ ] ) ) return & ( & html40ElementTable ) [ Number * ( unsigned __int64 ) @@i@@ ] ; } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "i", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}]} {"name": "htmlElementAllowedHere", "code": "__int64 __fastcall htmlElementAllowedHere ( __int64 @@a1@@ , __int64 @@a2@@ ) { _QWORD * @@i@@ ; if ( ! @@a2@@ || ! @@a1@@ || ! * ( _QWORD * ) ( @@a1@@ + Number ) ) return Number L ; for ( @@i@@ = * ( _QWORD * * ) ( @@a1@@ + Number ) ; * @@i@@ ; ++ @@i@@ ) { if ( ! ( unsigned int ) xmlStrcmp ( * @@i@@ , @@a2@@ ) ) return Number L ; } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "i", "t": {"T": 3, "t": "_QWORD"}, "location": "s8"}]} {"name": "htmlElementStatusHere", "code": "__int64 __fastcall htmlElementStatusHere ( __int64 @@a1@@ , __int64 @@a2@@ ) { if ( ! @@a1@@ || ! @@a2@@ ) return Number L ; if ( ! ( unsigned int ) htmlElementAllowedHere ( @@a1@@ , * ( _QWORD * ) @@a2@@ ) ) return Number L ; if ( * ( _BYTE * ) ( @@a2@@ + Number ) ) return Number L ; return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]} {"name": "htmlAttrAllowed", "code": "__int64 __fastcall htmlAttrAllowed ( _QWORD * @@a1@@ , __int64 @@a2@@ , int @@a3@@ ) { _QWORD * i ; _QWORD * j ; _QWORD * k ; if ( ! @@a1@@ || ! @@a2@@ ) return Number L ; if ( @@a1@@ [ Number ] ) { for ( i = ( _QWORD * ) @@a1@@ [ Number ] ; * i ; ++ i ) { if ( ! ( unsigned int ) xmlStrcmp ( * i , @@a2@@ ) ) return Number L ; } } if ( @@a1@@ [ Number ] ) { for ( j = ( _QWORD * ) @@a1@@ [ Number ] ; * j ; ++ j ) { if ( ! ( unsigned int ) xmlStrcmp ( * j , @@a2@@ ) ) return Number L ; } } if ( @@a3@@ && @@a1@@ [ Number ] ) { for ( k = ( _QWORD * ) @@a1@@ [ Number ] ; * k ; ++ k ) { if ( ! ( unsigned int ) xmlStrcmp ( * k , @@a2@@ ) ) return Number L ; } } return Number L ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]}