{"name": "xps_parse_document_structure", "code": "__int64 __fastcall xps_parse_document_structure ( __int64 @@a1@@ , __int64 @@a2@@ ) { __int64 @@result@@ ; __int64 v3 ; __int64 v4 ; if ( ( unsigned int ) fz_xml_is_tag ( @@a2@@ , String ) && ( v3 = fz_xml_down ( @@a2@@ ) ) != Number && ( unsigned int ) fz_xml_is_tag ( v3 , String ) && ( v4 = fz_xml_down ( v3 ) ) != Number && ( unsigned int ) fz_xml_is_tag ( v4 , String ) ) { @@result@@ = xps_parse_document_outline ( @@a1@@ , v4 ) ; } else { @@result@@ = Number L ; } return @@result@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "result", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r8"}]}
{"name": "xps_parse_document_outline", "code": "__int64 __fastcall xps_parse_document_outline ( __int64 @@a1@@ , __int64 @@a2@@ ) { int @@v2@@ ; __int64 @@v4@@ ; int @@v5@@ ; __int64 @@v6@@ ; __int64 @@v7@@ ; __int64 @@v8@@ ; char * @@nptr@@ ; int @@v10@@ ; __int64 @@v11@@ ; __int64 @@i@@ ; @@v11@@ = Number L ; @@v10@@ = Number ; for ( @@i@@ = fz_xml_down ( @@a2@@ ) ; @@i@@ ; @@i@@ = fz_xml_next ( @@i@@ ) ) { if ( ( unsigned int ) fz_xml_is_tag ( @@i@@ , String ) ) { @@nptr@@ = ( char * ) fz_xml_att ( @@i@@ , String ) ; @@v8@@ = fz_xml_att ( @@i@@ , String ) ; @@v7@@ = fz_xml_att ( @@i@@ , String ) ; if ( @@v8@@ ) { if ( @@v7@@ ) { @@v6@@ = fz_calloc ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L , Number L ) ; * ( _QWORD * ) @@v6@@ = fz_strdup ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@v7@@ ) ; * ( _DWORD * ) ( @@v6@@ + Number ) = Number ; * ( _DWORD * ) ( @@v6@@ + Number ) = Number ; * ( _DWORD * ) ( @@v6@@ + Number ) = xps_lookup_link_target ( @@a1@@ , @@v8@@ ) ; * ( _QWORD * ) ( @@v6@@ + Number ) = Number L ; * ( _QWORD * ) ( @@v6@@ + Number ) = Number L ; if ( @@nptr@@ ) @@v2@@ = atoi ( @@nptr@@ ) ; else @@v2@@ = Number ; @@v5@@ = @@v2@@ ; if ( @@v11@@ ) { @@v4@@ = xps_lookup_last_outline_at_level ( @@v11@@ , Number , @@v2@@ ) ; if ( @@v5@@ <= @@v10@@ ) * ( _QWORD * ) ( @@v4@@ + Number ) = @@v6@@ ; else * ( _QWORD * ) ( @@v4@@ + Number ) = @@v6@@ ; } else { @@v11@@ = @@v6@@ ; } @@v10@@ = @@v5@@ ; } } } } return @@v11@@ ; }", "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": 1, "n": "int", "s": 4}, "location": "r8"}, {"n": "v11", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s20"}, {"n": "nptr", "t": {"T": 3, "t": "char"}, "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": 1, "n": "int", "s": 4}, "location": "s60"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s72"}, {"n": "i", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]} {"name": "xps_load_document_structure", "code": "__int64 __fastcall xps_load_document_structure ( __int64 @@a1@@ , __int64 @@a2@@ ) { __int64 v2 ; _DWORD * v3 ; int v4 ; __int64 v6 ; _DWORD * v7 ; int v8 ; int * @@v9@@ ; int @@v10@@ ; int @@v11@@ ; int * @@v12@@ ; __int64 @@v13@@ ; __int64 @@v14@@ ; __int64 @@v15@@ ; @@v15@@ = xps_read_part ( @@a1@@ , * ( _QWORD * ) ( @@a2@@ + Number ) ) ; if ( ( unsigned int ) fz_push_try ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) ) { @@v12@@ = * ( int * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; @@v11@@ = * @@v12@@ ; @@v12@@ [ Number * @@v11@@ + Number ] = _sigsetjmp ( ( struct __jmp_buf_tag * ) & @@v12@@ [ Number * * @@v12@@ + Number ] , Number ) ; if ( ! @@v12@@ [ Number * @@v11@@ + Number ] ) @@v14@@ = fz_parse_xml ( * ( _QWORD * ) ( @@a1@@ + Number ) , * ( _QWORD * ) ( @@v15@@ + Number ) , * ( unsigned int * ) ( @@v15@@ + Number ) , Number L ) ; } if ( * ( int * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L * * * ( int * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number ) <= Number ) { v2 = * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L * * * ( int * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; ++ * ( _DWORD * ) ( v2 + Number ) ; xps_free_part ( @@a1@@ , @@v15@@ ) ; } v3 = * ( _DWORD * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; v4 = ( * v3 ) -- ; if ( ( int ) v3 [ Number * v4 + Number ] > Number ) fz_rethrow ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; if ( ! @@v14@@ ) return Number L ; if ( ( unsigned int ) fz_push_try ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) ) { @@v9@@ = * ( int * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; @@v10@@ = * @@v9@@ ; @@v9@@ [ Number * @@v10@@ + Number ] = _sigsetjmp ( ( struct __jmp_buf_tag * ) & @@v9@@ [ Number * * @@v9@@ + Number ] , Number ) ; if ( ! @@v9@@ [ Number * @@v10@@ + Number ] ) @@v13@@ = xps_parse_document_structure ( @@a1@@ , @@v14@@ ) ; } if ( * ( int * ) ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L * * * ( int * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number ) <= Number ) { v6 = * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) + Number L * * * ( int * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; ++ * ( _DWORD * ) ( v6 + Number ) ; fz_free_xml ( * ( _QWORD * ) ( @@a1@@ + Number ) , @@v14@@ ) ; } v7 = * ( _DWORD * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; v8 = ( * v7 ) -- ; if ( ( int ) v7 [ Number * v8 + Number ] > Number ) fz_rethrow ( * ( _QWORD * ) ( @@a1@@ + Number ) ) ; return @@v13@@ ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v14", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v13", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v12", "t": {"T": 3, "t": "int"}, "location": "s56"}, {"n": "v11", "t": {"T": 1, "n": "int", "s": 4}, "location": "s60"}, {"n": "v10", "t": {"T": 1, "n": "int", "s": 4}, "location": "s64"}, {"n": "v9", "t": {"T": 3, "t": "int"}, "location": "s72"}, {"n": "v15", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s8"}]}