{"name": "gcov_read_words", "code": "unsigned int * __fastcall gcov_read_words ( unsigned int @@a1@@ ) { __int64 v2 ; __int64 v3 ; FILE * @@v4@@ ; unsigned int v5 ; unsigned int * result ; unsigned int @@v7@@ ; v2 = _gcov_var [ Number ] ; v3 = _gcov_var [ Number ] - ( unsigned int ) v2 ; if ( ( int ) _gcov_var [ Number ] <= Number ) return Number L ; if ( ( unsigned int ) v3 >= @@a1@@ ) { LABEL_7 : _gcov_var [ Number ] = @@a1@@ + v2 ; return & _gcov_var [ ( unsigned int ) v2 + Number ] ; } _gcov_var [ Number ] += v2 ; if ( ( _DWORD ) v3 ) _gcov_var [ Number ] = _gcov_var [ v2 + Number ] ; @@v4@@ = * ( FILE * * ) _gcov_var ; _gcov_var [ Number ] = v3 ; _gcov_var [ Number ] = Number ; v5 = _gcov_var [ Number ] + ( fread ( & _gcov_var [ v3 + Number ] , Number , Number , @@v4@@ ) >> Number ) ; _gcov_var [ Number ] = v5 ; if ( v5 >= @@a1@@ ) { LODWORD ( v2 ) = _gcov_var [ Number ] ; goto LABEL_7 ; } @@v7@@ = @@a1@@ - v5 ; _gcov_var [ Number ] = Number ; result = Number L ; _gcov_var [ Number ] += @@v7@@ ; return result ; }", "source": [{"n": "v4", "t": {"T": 3, "t": "FILE"}, "location": "r24"}, {"n": "v7", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r48"}, {"n": "a1", "t": {"T": 1, "n": "unsigned int", "s": 4}, "location": "r56"}]}
{"name": "__gcov_read_summary", "code": "__int64 __fastcall _gcov_read_summary ( __int64 @@a1@@ ) { unsigned int * v1 ; unsigned int v2 ; unsigned int * v3 ; __int64 result ; v1 = gcov_read_words ( Number ) ; if ( v1 ) v2 = * v1 ; else v2 = Number ; * ( _DWORD * ) @@a1@@ = v2 ; v3 = gcov_read_words ( Number ) ; if ( v3 ) { result = * v3 ; * ( _QWORD * ) ( @@a1@@ + Number ) = result ; } else { result = Number L ; * ( _QWORD * ) ( @@a1@@ + Number ) = Number L ; } return result ; }", "source": [{"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}]} {"name": "gcov_do_dump", "code": "void __fastcall gcov_do_dump ( __int64 @@a1@@ , int @@a2@@ ) { __int64 v2 ; __int64 v3 ; __int64 @@v4@@ ; int v5 ; __int64 * v6 ; __int64 * v7 ; __int64 v8 ; __int64 v9 ; int v10 ; __int64 * v11 ; __int64 v12 ; __int64 * v13 ; __int64 v14 ; __int64 v15 ; char * v16 ; int v17 ; int v18 ; char * v19 ; const char * v20 ; size_t v21 ; size_t v22 ; size_t v23 ; bool @@v24@@ ; __int64 v25 ; __int64 v26 ; __int64 v27 ; char * v28 ; char v29 ; char * v30 ; int v31 ; size_t v32 ; int * v33 ; char v34 ; int v35 ; unsigned int v36 ; signed __int64 v37 ; _BYTE * v38 ; _BYTE * v39 ; unsigned __int64 v40 ; char v41 ; char * v42 ; char v43 ; const void * v44 ; int v45 ; char * @@v46@@ ; unsigned int v47 ; size_t v48 ; unsigned int v49 ; char * v50 ; char * v51 ; char * v52 ; int v53 ; int v54 ; __int64 v55 ; __int64 v56 ; int v57 ; unsigned int * v58 ; unsigned int v59 ; __int64 * j ; int v61 ; char * v62 ; unsigned int v63 ; unsigned int * v64 ; unsigned int v65 ; unsigned int * v66 ; unsigned int v67 ; FILE * v68 ; unsigned int v69 ; __int64 v70 ; unsigned int v71 ; __int64 v72 ; unsigned int v73 ; unsigned int v74 ; __int64 i ; int v76 ; unsigned int * v77 ; __int64 * v78 ; __int64 v79 ; __int64 v80 ; char * v81 ; char v82 ; _BYTE * v83 ; char * v84 ; char * v85 ; unsigned int * v86 ; unsigned int * v87 ; unsigned int * v88 ; unsigned int v89 ; __int64 v90 ; unsigned int * v91 ; unsigned int v92 ; _QWORD * v93 ; int v94 ; size_t v95 ; __int64 * v96 ; __int64 * v97 ; unsigned int * v98 ; unsigned int v99 ; unsigned int * v100 ; unsigned int v101 ; unsigned int * v102 ; unsigned int v103 ; __int64 v104 ; unsigned int v105 ; unsigned int * v106 ; unsigned int * v107 ; size_t v108 ; unsigned int v109 ; _QWORD * v110 ; __int64 * v111 ; __int64 v112 ; unsigned int * v113 ; __int64 * v114 ; unsigned int * v115 ; const char * v116 ; const char * v117 ; char * v118 ; size_t v119 ; unsigned int * v120 ; unsigned int v121 ; unsigned int * v122 ; int v123 ; unsigned int * v124 ; int v125 ; __int64 v126 ; void ( __fastcall * * v127 ) ( __int64 ) ; int v128 ; void ( __fastcall * v129 ) ( __int64 ) ; unsigned int * v130 ; unsigned int v131 ; unsigned int * v132 ; unsigned int v133 ; __int64 v134 ; int v135 ; const char * v136 ; __int64 v137 ; unsigned int v138 ; unsigned int v139 ; char * ptra ; char * ptr ; int s ; unsigned int sa ; __int64 * @@v144@@ ; void * @@src@@ ; __int64 @@v146@@ ; __int64 * @@v147@@ ; int @@v148@@ ; __int64 @@v150@@ ; char @@v151@@ ; __int128 @@v152@@ ; char @@v153@@ [ Number ] ; v2 = @@a1@@ ; v3 = @@a1@@ ; if ( @@a1@@ ) { @@v4@@ = @@a1@@ ; v2 = Number L ; do { v5 = * ( _DWORD * ) ( @@v4@@ + Number ) ; if ( v5 ) { v6 = * ( __int64 * * ) ( @@v4@@ + Number ) ; v7 = v6 + Number ; v8 = ( __int64 ) & v6 [ ( unsigned int ) ( v5 - Number ) + Number ] ; while ( Number ) { v9 = * v6 ; v10 = * ( _DWORD * ) ( * v6 + Number ) ; if ( v10 ) { v11 = * ( __int64 * * ) ( v9 + Number ) ; v12 = ( unsigned int ) ( v10 - Number ) ; v13 = v11 + Number ; v14 = ( __int64 ) & v11 [ v12 + Number ] ; while ( Number ) { v15 = * v11 ; if ( v2 < v15 ) v2 = v15 ; v11 = v13 ; if ( ( __int64 * ) v14 == v13 ) break ; ++ v13 ; } } v6 = v7 ; if ( ( __int64 * ) v8 == v7 ) break ; ++ v7 ; } } @@v4@@ = * ( _QWORD * ) ( @@v4@@ + Number ) ; } while ( @@v4@@ ) ; } v16 = getenv ( String ) ; if ( ! v16 ) { v118 = getenv ( String ) ; v20 = v118 ; if ( ! v118 ) goto LABEL_189 ; v119 = strlen ( v118 ) ; v22 = v119 ; if ( ! v119 ) goto LABEL_189 ; @@v148@@ = Number ; v23 = v119 - Number ; if ( v20 [ v119 - Number ] != Number ) goto LABEL_20 ; goto LABEL_186 ; } v17 = strtol ( v16 , Number L , Number ) ; v18 = Number ; if ( v17 >= Number ) v18 = v17 ; @@v148@@ = v18 ; v19 = getenv ( String ) ; v20 = v19 ; if ( ! v19 || ( v21 = strlen ( v19 ) , ( v22 = v21 ) == Number ) ) { LABEL_187 : if ( @@v148@@ ) { v22 = Number L ; v23 = Number L ; v20 = String ; goto LABEL_21 ; } LABEL_189 : @@v148@@ = Number ; @@src@@ = Number L ; goto LABEL_22 ; } v23 = v21 - Number ; if ( v20 [ v21 - Number ] == Number ) { LABEL_186 : if ( v23 ) goto LABEL_21 ; goto LABEL_187 ; } LABEL_20 : v23 = v22 ++ ; LABEL_21 : @@src@@ = malloc ( v22 ) ; * ( ( _BYTE * ) memcpy ( @@src@@ , v20 , v23 ) + v23 ) = Number ; LABEL_22 : if ( ! v3 ) goto LABEL_80 ; @@v150@@ = v2 ; do { @@v24@@ = * ( _QWORD * ) ( v3 + Number ) == Number L ; fn_buffer = Number L ; @@v152@@ = Number L ; if ( @@v24@@ || ! * ( _DWORD * ) ( v3 + Number ) ) goto LABEL_33 ; v25 = Number L ; do { LABEL_27 : v26 = Number L ; v27 = * ( _QWORD * ) ( * ( _QWORD * ) ( v3 + Number ) + Number * v25 ) + Number L ; while ( ! * ( _QWORD * ) ( v3 + Number * v26 + Number ) ) { LABEL_31 : if ( ++ v26 == Number ) goto LABEL_32 ; } if ( v26 != Number ) { v27 += Number L ; goto LABEL_31 ; } v53 = * ( _DWORD * ) v27 ; v54 = * ( _DWORD * ) v27 % Number ; if ( v54 ) goto LABEL_235 ; v55 = * ( _QWORD * ) ( v27 + Number ) + Number L ; if ( v53 <= Number ) { LABEL_32 : if ( * ( _DWORD * ) ( v3 + Number ) == ( _DWORD ) ++ v25 ) break ; goto LABEL_27 ; } do { v56 = v55 ; v54 += Number ; v55 += Number L ; _gcov_sort_n_vals ( v56 , Number ) ; } while ( v53 > v54 ) ; ++ v25 ; } while ( * ( _DWORD * ) ( v3 + Number ) != ( _DWORD ) v25 ) ; LABEL_33 : v28 = * ( char * * ) ( v3 + Number ) ; if ( @@v148@@ ) { v29 = * v28 ; v30 = * ( char * * ) ( v3 + Number ) ; if ( * v28 == Number ) { v29 = v28 [ Number ] ; v30 = v28 + Number ; } v31 = @@v148@@ ; do { if ( ! v29 ) break ; if ( v29 == Number ) { -- v31 ; v28 = v30 ; } v29 = * ++ v30 ; } while ( v31 ) ; } v32 = strlen ( v28 ) ; v33 = ( int * ) @@src@@ ; if ( @@src@@ ) { v34 = * v28 ; do { v35 = * v33 ++ ; v36 = ~ v35 & ( v35 - Number ) & Number ; } while ( ! v36 ) ; if ( ( ~ v35 & ( v35 - Number ) & Number ) == Number ) LOBYTE ( v36 ) = ( ~ v35 & ( v35 - Number ) & Number ) >> Number ; if ( ( ~ v35 & ( v35 - Number ) & Number ) == Number ) v33 = ( int * ) ( ( char * ) v33 + Number ) ; v37 = ( char * ) v33 - __CFADD__ ( ( _BYTE ) v36 , ( _BYTE ) v36 ) - Number - ( _BYTE * ) @@src@@ ; v38 = malloc ( v37 + v32 + Number ) ; * v38 = Number ; v39 = v38 ; if ( v37 ) v39 = memcpy ( v38 , @@src@@ , v37 + Number ) ; if ( v34 == Number ) { v40 = ( unsigned __int64 ) v39 ; } else { * v39 = Number ; v40 = ( unsigned __int64 ) ( v39 + Number ) ; } } else { v83 = malloc ( v32 + Number ) ; * v83 = Number ; v40 = ( unsigned __int64 ) v83 ; } strcat ( ( char * ) v40 , v28 ) ; v41 = * ( _BYTE * ) v40 ; @@v151@@ = Number ; if ( v41 ) { v137 = v3 ; v42 = ( char * ) v40 ; while ( Number ) { v43 = * ( _BYTE * ) ( v40 + Number ) ; v44 = ( const void * ) ( v40 + Number ) ; if ( v41 == Number ) { if ( ! v43 ) goto LABEL_67 ; v45 = strlen ( v42 ) ; if ( v43 == Number ) { v63 = getpid ( ) ; v44 = ( const void * ) ( v40 + Number ) ; sprintf ( @@v153@@ , String , v63 ) ; @@v46@@ = @@v153@@ ; } else { if ( v43 != Number ) goto LABEL_67 ; @@v46@@ = Number L ; if ( * ( _BYTE * ) ( v40 + Number ) == Number ) { v84 = strchr ( ( const char * ) ( v40 + Number ) , Number ) ; v85 = v84 ; if ( ! v84 ) { LABEL_67 : ptr = v42 ; v3 = v137 ; v57 = _gcov_open ( v42 ) ; goto LABEL_68 ; } * v84 = Number ; @@v46@@ = getenv ( ( const char * ) ( v40 + Number ) ) ; if ( ! @@v46@@ ) @@v46@@ = & @@v151@@ ; v44 = v85 + Number ; } } ptra = @@v46@@ ; v47 = v40 - ( _DWORD ) v42 ; v48 = ( unsigned int ) ( v45 - ( ( _DWORD ) v44 - ( _DWORD ) v42 ) ) ; v49 = strlen ( @@v46@@ ) ; v50 = ( char * ) malloc ( v47 + v49 + Number + ( unsigned int ) v48 ) ; memcpy ( v50 , v42 , v47 ) ; v51 = ( char * ) memcpy ( & v50 [ v47 ] , ptra , v49 ) ; v40 = ( unsigned __int64 ) & v50 [ v49 + Number + ( unsigned __int64 ) v47 ] ; v52 = v42 ; v42 = v50 ; * ( ( _BYTE * ) memcpy ( & v51 [ v49 ] , v44 , v48 ) + v48 ) = Number ; free ( v52 ) ; v41 = * ( _BYTE * ) v40 ; } else { ++ v40 ; v41 = v43 ; } if ( ! v41 ) goto LABEL_67 ; } } ptr = ( char * ) v40 ; v57 = _gcov_open ( ( char * ) v40 ) ; LABEL_68 : if ( ! v57 ) { v81 = ptr ; v82 = * ptr ; if ( * ptr == Number ) { v81 = ptr + Number ; v82 = ptr [ Number ] ; } for ( ; v82 ; ++ v81 ) { while ( v82 != Number ) { v82 = * ++ v81 ; if ( ! v82 ) goto LABEL_117 ; } * v81 = Number ; if ( access ( ptr , Number ) == Number && mkdir ( ptr , Number ) == Number && * __errno_location ( ) != Number ) { gcov_error ( String , ptr ) ; * v81 = Number ; fprintf ( stderr , String , ptr ) ; goto LABEL_79 ; } * v81 = Number ; v82 = v81 [ Number ] ; } LABEL_117 : if ( ! ( unsigned int ) _gcov_open ( ptr ) ) { fprintf ( stderr , String , ptr ) ; goto LABEL_79 ; } } v58 = gcov_read_words ( Number ) ; if ( ! v58 ) goto LABEL_88 ; v59 = * v58 ; if ( ! v59 ) goto LABEL_88 ; if ( v59 != Number ) { gcov_error ( String , ptr ) ; goto LABEL_73 ; } v64 = gcov_read_words ( Number ) ; if ( v64 ) { v65 = * v64 ; if ( * v64 == Number ) { v66 = gcov_read_words ( Number ) ; if ( v66 ) goto LABEL_85 ; LABEL_182 : v67 = Number ; goto LABEL_86 ; } } else { v65 = Number ; } if ( ! ( unsigned int ) gcov_version_isra_0_part_0 ( ( const char * * ) ( v3 + Number ) , v65 , ptr ) ) goto LABEL_73 ; v66 = gcov_read_words ( Number ) ; if ( ! v66 ) goto LABEL_182 ; LABEL_85 : v67 = * v66 ; LABEL_86 : if ( * ( _DWORD * ) ( v3 + Number ) != v67 ) { gcov_error ( String , ptr ) ; goto LABEL_88 ; } v86 = gcov_read_words ( Number ) ; if ( ! v86 || * v86 != Number ) { v139 = Number ; v116 = String ; goto LABEL_169 ; } v87 = gcov_read_words ( Number ) ; if ( ! v87 || ! * v87 ) LABEL_235 : gcov_do_dump_cold ( ) ; _gcov_read_summary ( ( __int64 ) & @@v152@@ ) ; v88 = gcov_read_words ( Number ) ; if ( ! v88 ) { if ( ! * ( _DWORD * ) ( v3 + Number ) ) goto LABEL_88 ; LABEL_219 : v139 = Number ; v116 = String ; goto LABEL_169 ; } v89 = * v88 ; if ( ! * ( _DWORD * ) ( v3 + Number ) ) { v139 = Number ; LABEL_232 : if ( v89 ) goto LABEL_168 ; LABEL_88 : * ( _QWORD * ) & _gcov_var [ Number ] = Number L ; v68 = * ( FILE * * ) _gcov_var ; _gcov_var [ Number ] = Number ; fseek ( v68 , Number L , Number ) ; if ( ! @@a2@@ ) { LODWORD ( @@v152@@ ) = @@v152@@ + Number ; * ( ( _QWORD * ) & @@v152@@ + Number ) += @@v150@@ ; } * ( _QWORD * ) gcov_write_words ( Number ) = Number ; v69 = * ( _DWORD * ) ( v3 + Number ) ; * gcov_write_words ( Number ) = v69 ; _gcov_write_summary ( Number , ( __int64 ) & @@v152@@ ) ; v138 = Number ; if ( ! * ( _DWORD * ) ( v3 + Number ) ) { LABEL_107 : * gcov_write_words ( Number ) = Number ; goto LABEL_73 ; } while ( Number ) { if ( fn_buffer && * ( _DWORD * ) ( fn_buffer + Number ) == v138 ) { v70 = fn_buffer + Number ; s = Number ; * ( _QWORD * ) gcov_write_words ( Number ) = Number ; } else { v70 = * ( _QWORD * ) ( * ( _QWORD * ) ( v3 + Number ) + Number L * v138 ) ; if ( ! v70 || * ( _QWORD * ) v70 != v3 ) { * ( _QWORD * ) gcov_write_words ( Number ) = Number ; LABEL_95 : if ( ++ v138 == * ( _DWORD * ) ( v3 + Number ) ) goto LABEL_107 ; continue ; } s = Number ; * ( _QWORD * ) gcov_write_words ( Number ) = Number ; } v71 = * ( _DWORD * ) ( v70 + Number ) ; v72 = v70 + Number ; * gcov_write_words ( Number ) = v71 ; v73 = * ( _DWORD * ) ( v72 - Number ) ; * gcov_write_words ( Number ) = v73 ; v74 = * ( _DWORD * ) ( v72 - Number ) ; * gcov_write_words ( Number ) = v74 ; for ( i = Number L ; i != Number ; i += Number L ) { while ( ! * ( _QWORD * ) ( v3 + i + Number ) ) { i += Number L ; if ( i == Number ) goto LABEL_105 ; } v76 = * ( _DWORD * ) v72 ; v77 = gcov_write_words ( Number ) ; v78 = * ( __int64 * * ) ( v72 + Number ) ; * v77 = ( ( _DWORD ) i << Number ) + Number ; v77 [ Number ] = Number * v76 ; v79 = ( __int64 ) & v78 [ ( unsigned int ) ( v76 - Number ) + Number ] ; if ( v76 ) { do { v80 = * v78 ++ ; * ( _QWORD * ) gcov_write_words ( Number ) = v80 ; } while ( v78 != ( __int64 * ) v79 ) ; } v72 += Number L ; } LABEL_105 : if ( ! s ) goto LABEL_95 ; ++ v138 ; fn_buffer = free_fn_data ( v3 , ( __int64 * ) fn_buffer , Number ) ; if ( v138 == * ( _DWORD * ) ( v3 + Number ) ) goto LABEL_107 ; } } if ( v89 != Number ) goto LABEL_219 ; v139 = Number ; v90 = * * ( _QWORD * * ) ( v3 + Number ) ; @@v147@@ = & fn_buffer ; @@v146@@ = Number L ; while ( Number ) { v91 = gcov_read_words ( Number ) ; if ( ! v91 ) goto LABEL_165 ; v92 = * v91 ; if ( ! v92 ) goto LABEL_165 ; if ( v92 != Number ) goto LABEL_168 ; if ( ! v90 || * ( _QWORD * ) v90 != v3 ) { v93 = ( _QWORD * ) ( v3 + Number ) ; v94 = Number ; do v94 -= ( * v93 -- == Number L ) - Number ; while ( ( _QWORD * ) ( v3 + Number ) != v93 ) ; v95 = ( unsigned int ) ( Number * v94 + Number ) ; v96 = ( __int64 * ) malloc ( v95 ) ; v97 = v96 ; if ( v96 ) { * v96 = Number L ; * ( ( _DWORD * ) v96 + Number ) = v139 ; v98 = gcov_read_words ( Number ) ; if ( v98 ) v99 = * v98 ; else v99 = Number ; * ( ( _DWORD * ) v97 + Number ) = v99 ; v100 = gcov_read_words ( Number ) ; if ( v100 ) v101 = * v100 ; else v101 = Number ; * ( ( _DWORD * ) v97 + Number ) = v101 ; v102 = gcov_read_words ( Number ) ; if ( v102 ) v103 = * v102 ; else v103 = Number ; * ( ( _DWORD * ) v97 + Number ) = v103 ; v104 = Number L ; sa = Number ; @@v144@@ = v97 ; while ( Number ) { while ( Number ) { v105 = v104 ; if ( * ( _QWORD * ) ( v3 + Number * v104 + Number ) ) break ; if ( ++ v104 == Number ) goto LABEL_164 ; } v106 = gcov_read_words ( Number ) ; if ( ! v106 || * v106 != ( ( _DWORD ) v104 << Number ) + Number ) { v97 = @@v144@@ ; v117 = String ; goto LABEL_171 ; } v107 = gcov_read_words ( Number ) ; if ( v107 ) { v108 = Number * ( * v107 >> Number ) ; v109 = * v107 >> Number ; LODWORD ( v95 ) = Number * v109 ; } else { v108 = Number L ; LODWORD ( v95 ) = Number ; v109 = Number ; } v110 = malloc ( v108 ) ; if ( ! v110 ) break ; v111 = & @@v144@@ [ Number * sa ] ; * ( ( _DWORD * ) v111 + Number ) = v109 ; v111 [ Number ] = ( __int64 ) v110 ; v112 = ( __int64 ) & v110 [ v109 ] ; if ( v109 ) { do { while ( Number ) { ++ v110 ; v113 = gcov_read_words ( Number ) ; if ( ! v113 ) break ; * ( v110 - Number ) = * ( _QWORD * ) v113 ; if ( v110 == ( _QWORD * ) v112 ) goto LABEL_163 ; } * ( v110 - Number ) = Number L ; } while ( v110 != ( _QWORD * ) v112 ) ; } LABEL_163 : ++ v104 ; ++ sa ; if ( v104 == Number ) { LABEL_164 : v114 = @@v147@@ ; @@v147@@ = @@v144@@ ; * v114 = ( __int64 ) @@v144@@ ; goto LABEL_165 ; } } v97 = @@v144@@ ; } else { LODWORD ( v104 ) = Number ; } v117 = String ; v105 = v95 ; if ( ! ( _DWORD ) v95 ) v105 = v104 ; if ( ( _DWORD ) v95 ) v117 = String ; LABEL_171 : gcov_error ( String , ptr , v139 , v117 , v105 ) ; @@v147@@ = ( __int64 * ) free_fn_data ( v3 , v97 , v104 ) ; if ( ! @@v147@@ ) goto LABEL_168 ; LABEL_165 : ++ v139 ; v115 = gcov_read_words ( Number ) ; if ( v115 ) { v89 = * v115 ; if ( * ( _DWORD * ) ( v3 + Number ) == v139 ) goto LABEL_232 ; v90 = * ( _QWORD * ) ( * ( _QWORD * ) ( v3 + Number ) + @@v146@@ ) ; @@v146@@ += Number L ; if ( v89 != Number ) goto LABEL_168 ; continue ; } if ( v139 == * ( _DWORD * ) ( v3 + Number ) ) goto LABEL_88 ; LABEL_168 : v116 = String ; LABEL_169 : gcov_error ( String , ptr , v116 , v139 ) ; goto LABEL_73 ; } break ; } v120 = gcov_read_words ( Number ) ; if ( v120 ) v121 = * v120 ; else v121 = Number ; if ( * ( _DWORD * ) ( v90 + Number ) != v121 ) goto LABEL_168 ; v122 = gcov_read_words ( Number ) ; v123 = v122 ? * v122 : Number ; if ( * ( _DWORD * ) ( v90 + Number ) != v123 ) goto LABEL_168 ; v124 = gcov_read_words ( Number ) ; v125 = v124 ? * v124 : Number ; if ( * ( _DWORD * ) ( v90 + Number ) != v125 ) goto LABEL_168 ; v126 = v90 + Number ; v127 = ( void ( __fastcall * * ) ( __int64 ) ) ( v3 + Number ) ; v128 = Number ; while ( Number ) { v129 = * v127 ; if ( * v127 ) { v130 = gcov_read_words ( Number ) ; if ( v130 ) { v131 = * v130 ; v132 = gcov_read_words ( Number ) ; if ( v132 ) goto LABEL_204 ; v133 = Number ; } else { v132 = gcov_read_words ( Number ) ; if ( ! v132 ) goto LABEL_168 ; v131 = Number ; LABEL_204 : v133 = * v132 ; } if ( v131 != v128 || Number * * ( _DWORD * ) v126 != v133 ) goto LABEL_168 ; v134 = * ( _QWORD * ) ( v126 + Number ) ; v126 += Number L ; v129 ( v134 ) ; } v128 += Number ; ++ v127 ; if ( v128 != Number ) continue ; break ; } if ( ! * ( _QWORD * ) _gcov_var ) { v136 = String ; goto LABEL_221 ; } v135 = _gcov_var [ Number ] ; if ( ! v135 ) goto LABEL_165 ; v136 = String ; if ( v135 < Number ) v136 = String ; LABEL_221 : gcov_error ( String , ptr , v136 ) ; LABEL_73 : for ( j = ( __int64 * ) fn_buffer ; fn_buffer ; j = ( __int64 * ) fn_buffer ) fn_buffer = free_fn_data ( v3 , j , Number ) ; v61 = _gcov_close ( ) ; if ( v61 ) { v62 = String ; if ( v61 < Number ) v62 = String ; gcov_error ( v62 , ptr ) ; } LABEL_79 : free ( ptr ) ; v3 = * ( _QWORD * ) ( v3 + Number ) ; } while ( v3 ) ; LABEL_80 : free ( @@src@@ ) ; }", "source": [{"n": "v24", "t": {"T": 1, "n": "bool", "s": 1}, "location": "r1"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "int", "s": 4}, "location": "r64"}, {"n": "v4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "v46", "t": {"T": 3, "t": "char"}, "location": "r80"}, {"n": "v150", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s112"}, {"n": "v148", "t": {"T": 1, "n": "int", "s": 4}, "location": "s128"}, {"n": "v147", "t": {"T": 3, "t": "__int64"}, "location": "s136"}, {"n": "v146", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s152"}, {"n": "src", "t": {"T": 3, "t": "void"}, "location": "s160"}, {"n": "v144", "t": {"T": 3, "t": "__int64"}, "location": "s168"}, {"n": "v153", "t": {"T": 2, "n": 72, "s": 1, "t": "char"}, "location": "s72"}, {"n": "v152", "t": {"T": 1, "n": "__int128", "s": 16}, "location": "s88"}, {"n": "v151", "t": {"T": 1, "n": "char", "s": 1}, "location": "s89"}]}