{"name": "xps_load_outline", "code": "__int64 __fastcall xps_load_outline ( __int64 @@a1@@ ) { _DWORD * @@v1@@ ; int @@v2@@ ; int @@v4@@ ; int * @@v5@@ ; __int64 @@v6@@ ; __int64 @@v7@@ ; __int64 @@v8@@ ; __int64 @@i@@ ; @@v8@@ = Number L ; for ( @@i@@ = * ( _QWORD * ) ( @@a1@@ + Number ) ; @@i@@ ; @@i@@ = * ( _QWORD * ) ( @@i@@ + Number ) ) { if ( * ( _QWORD * ) ( @@i@@ + Number ) ) { if ( ( unsigned int ) fz_push_try ( * ( _QWORD * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ) ) { @@v5@@ = * ( int * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; @@v4@@ = * @@v5@@ ; @@v5@@ [ Number * @@v4@@ + Number ] = _sigsetjmp ( ( struct __jmp_buf_tag * ) & @@v5@@ [ Number * * @@v5@@ + Number ] , Number ) ; if ( ! @@v5@@ [ Number * @@v4@@ + Number ] ) @@v6@@ = xps_load_document_structure ( @@a1@@ , @@i@@ ) ; } @@v1@@ = * ( _DWORD * * ) ( * ( _QWORD * ) ( @@a1@@ + Number ) + Number L ) ; @@v2@@ = ( * @@v1@@ ) -- ; if ( ( int ) @@v1@@ [ Number * @@v2@@ + Number ] > Number ) { fz_rethrow_if ( * ( _QWORD * ) ( @@a1@@ + Number ) , Number L ) ; @@v6@@ = Number L ; } if ( @@v6@@ ) { if ( @@v8@@ ) { while ( * ( _QWORD * ) ( @@v7@@ + Number ) ) @@v7@@ = * ( _QWORD * ) ( @@v7@@ + Number ) ; * ( _QWORD * ) ( @@v7@@ + Number ) = @@v6@@ ; } else { @@v8@@ = @@v6@@ ; } @@v7@@ = @@v6@@ ; } } } return @@v8@@ ; }", "source": [{"n": "v2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r16"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v1", "t": {"T": 3, "t": "_DWORD"}, "location": "r64"}, {"n": "v8", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s16"}, {"n": "v7", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s24"}, {"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s32"}, {"n": "v5", "t": {"T": 3, "t": "int"}, "location": "s48"}, {"n": "v4", "t": {"T": 1, "n": "int", "s": 4}, "location": "s52"}, {"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"}]}