{"name": "UTF8ToHtml", "code": "__int64 __fastcall UTF8ToHtml ( __int64 @@a1@@ , int * @@a2@@ , __int64 @@a3@@ , int * @@a4@@ ) { __int64 result ; unsigned __int8 * v5 ; unsigned __int8 * v6 ; char * v7 ; char * v8 ; char * v9 ; unsigned __int64 @@v11@@ ; char * dest ; char * desta ; char @@s@@ [ Number ] ; int @@v15@@ ; char * @@v16@@ ; unsigned int @@v17@@ ; unsigned __int64 @@v18@@ ; unsigned __int64 @@v19@@ ; __int64 @@v20@@ ; __int64 @@v21@@ ; char * @@v22@@ ; int @@v23@@ ; unsigned int @@v24@@ ; unsigned __int64 @@v25@@ ; dest = ( char * ) @@a1@@ ; @@v11@@ = @@a3@@ ; @@v25@@ = @@a3@@ ; @@v21@@ = @@a1@@ ; @@v20@@ = @@a3@@ ; if ( ! @@a1@@ || ! @@a2@@ || ! @@a4@@ ) return Number ; if ( @@a3@@ ) { @@v19@@ = * @@a4@@ + @@a3@@ ; @@v18@@ = * @@a2@@ + @@a1@@ ; while ( @@v11@@ < @@v19@@ ) { v5 = ( unsigned __int8 * ) @@v11@@ ++ ; @@v17@@ = * v5 ; if ( @@v17@@ > Number ) { if ( @@v17@@ <= Number ) { * @@a2@@ = ( _DWORD ) dest - @@v21@@ ; * @@a4@@ = @@v25@@ - @@v20@@ ; return Number L ; } if ( @@v17@@ > Number ) { if ( @@v17@@ > Number ) { if ( @@v17@@ > Number ) { * @@a2@@ = ( _DWORD ) dest - @@v21@@ ; * @@a4@@ = @@v25@@ - @@v20@@ ; return Number L ; } @@v24@@ = @@v17@@ & Number ; @@v23@@ = Number ; } else { @@v24@@ = @@v17@@ & Number ; @@v23@@ = Number ; } } else { @@v24@@ = @@v17@@ & Number ; @@v23@@ = Number ; } } else { @@v24@@ = @@v17@@ ; @@v23@@ = Number ; } if ( ( __int64 ) ( @@v19@@ - @@v11@@ ) < @@v23@@ ) break ; while ( @@v23@@ ) { if ( @@v11@@ >= @@v19@@ ) break ; v6 = ( unsigned __int8 * ) @@v11@@ ++ ; @@v17@@ = * v6 ; if ( ( @@v17@@ & Number ) != Number ) break ; @@v24@@ <<= Number ; @@v24@@ |= @@v17@@ & Number ; -- @@v23@@ ; } if ( @@v24@@ > Number ) { @@v16@@ = htmlEntityValueLookup ( @@v24@@ ) ; if ( @@v16@@ ) { @@v22@@ = ( char * ) * ( ( _QWORD * ) @@v16@@ + Number ) ; } else { snprintf ( @@s@@ , Number , String , @@v24@@ ) ; @@v22@@ = @@s@@ ; } @@v15@@ = strlen ( @@v22@@ ) ; if ( @@v18@@ <= ( unsigned __int64 ) & dest [ @@v15@@ + Number ] ) break ; v8 = dest ; desta = dest + Number ; * v8 = Number ; memcpy ( desta , @@v22@@ , @@v15@@ ) ; v9 = & desta [ @@v15@@ ] ; dest = v9 + Number ; * v9 = Number ; } else { if ( @@v18@@ <= ( unsigned __int64 ) ( dest + Number ) ) break ; v7 = dest ++ ; * v7 = @@v24@@ ; } @@v25@@ = @@v11@@ ; } * @@a2@@ = ( _DWORD ) dest - @@v21@@ ; * @@a4@@ = @@v25@@ - @@v20@@ ; result = Number L ; } else { * @@a2@@ = Number ; * @@a4@@ = Number ; result = Number L ; } return result ; }", "source": [{"n": "a3", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 3, "t": "int"}, "location": "r24"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 3, "t": "int"}, "location": "r64"}, {"n": "v24", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s12"}, {"n": "v11", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s120"}, {"n": "v23", "t": {"T": 1, "n": "int", "s": 4}, "location": "s16"}, {"n": "v22", "t": {"T": 3, "t": "char"}, "location": "s24"}, {"n": "v21", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v20", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s40"}, {"n": "v19", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s48"}, {"n": "v18", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s56"}, {"n": "v17", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s60"}, {"n": "v16", "t": {"T": 3, "t": "char"}, "location": "s72"}, {"n": "v15", "t": {"T": 1, "n": "int", "s": 4}, "location": "s76"}, {"n": "v25", "t": {"T": 1, "n": "unsigned __int64", "s": 8}, "location": "s8"}, {"n": "s", "t": {"T": 2, "n": 20, "s": 1, "t": "char"}, "location": "s96"}]}
{"name": "htmlEntityValueLookup", "code": "char * __fastcall htmlEntityValueLookup ( unsigned int @@a1@@ ) { unsigned int @@i@@ ; for ( @@i@@ = Number ; @@i@@ <= Number ; ++ @@i@@ ) { if ( @@a1@@ <= * ( _DWORD * ) & html40EntitiesTable [ Number * @@i@@ ] ) { if ( @@a1@@ >= * ( _DWORD * ) & html40EntitiesTable [ Number * @@i@@ ] ) return & html40EntitiesTable [ Number * @@i@@ ] ; return Number L ; } } return Number L ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}, {"n": "i", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "s4"}]}