{"name": "_Z12clean_match1RSt6vectorISt4pairI8keypointS1_ESaIS2_EES5_RS_IS_IfSaIfEESaIS7_EESA_", "code": "void __fastcall clean_match1 ( float * * @@a1@@ , __int64 @@a2@@ , _QWORD * @@a3@@ , __int64 @@a4@@ ) { unsigned __int64 v8 ; unsigned __int64 v9 ; __m128i * v10 ; float * v11 ; float * v12 ; __m128i * @@v13@@ ; __int64 @@v14@@ ; int v15 ; __m128i v16 ; __m128i * v17 ; __int64 v18 ; __m128i * v19 ; int v20 ; int v21 ; int v22 ; int v23 ; float * v24 ; __int64 v25 ; float v26 ; float v27 ; __int64 v28 ; float v29 ; float v30 ; float * v31 ; int v32 ; float v33 ; float v34 ; float v35 ; float v36 ; float v37 ; float v38 ; const __m128i * v39 ; __m128i v40 ; __int64 v41 ; const __m128i * v42 ; int v43 ; __m128i @@v44@@ ; __m128i v45 ; __m128i v46 ; __m128i v47 ; __m128i v48 ; __m128i v49 ; __m128i v50 ; __m128i v51 ; int v52 ; __m128i v53 ; int v54 ; int v55 ; int v56 ; __int64 @@v57@@ ; char * v58 ; _QWORD * v59 ; __int64 v60 ; __int64 v61 ; signed __int64 v62 ; char * v63 ; __int64 v64 ; char * v65 ; size_t v66 ; char * v67 ; float v68 ; float v69 ; float v70 ; float v71 ; float v72 ; float v73 ; __int64 v74 ; float v75 ; float v76 ; signed __int64 v77 ; size_t v78 ; __int64 v79 ; __int64 v80 ; __int64 v81 ; __int64 v82 ; __int64 v83 ; __int64 v84 ; __int64 v85 ; __int64 v86 ; v8 = ( int ) ( Number * ( ( ( char * ) @@a1@@ [ Number ] - ( char * ) * @@a1@@ ) >> Number ) ) ; v9 = Number * v8 ; if ( v8 > Number ) v9 = Number ; v10 = ( __m128i * ) operator new [ ] ( v9 ) ; v11 = @@a1@@ [ Number ] ; v12 = * @@a1@@ ; @@v13@@ = v10 ; @@v14@@ = Number * ( ( ( char * ) v11 - ( char * ) * @@a1@@ ) >> Number ) ; v15 = @@v14@@ - Number ; if ( ( int ) @@v14@@ > Number ) { if ( ( unsigned int ) v15 <= Number ) { v21 = Number ; } else { v16 = _mm_load_si128 ( ( const __m128i * ) & LC6 ) ; v17 = v10 ; v18 = ( unsigned int ) @@v14@@ >> Number ; v19 = & v10 [ v18 ] ; v20 = ( ( unsigned __int8 ) ( ( unsigned __int64 ) ( v18 * Number - Number ) >> Number ) + Number ) & Number ; if ( ! v20 ) goto LABEL_116 ; if ( v20 != Number L ) { if ( v20 != Number L ) { if ( v20 != Number L ) { if ( v20 != Number L ) { if ( v20 != Number L ) { if ( v20 != Number L ) { * v10 = v16 ; v17 = v10 + Number ; } * v17 ++ = v16 ; } * v17 ++ = v16 ; } * v17 ++ = v16 ; } * v17 ++ = v16 ; } * v17 ++ = v16 ; } * v17 ++ = v16 ; if ( v17 != v19 ) { LABEL_116 : do { * v17 = v16 ; v17 += Number ; v17 [ Number ] = v16 ; v17 [ Number ] = v16 ; v17 [ Number ] = v16 ; v17 [ Number ] = v16 ; v17 [ Number ] = v16 ; v17 [ Number ] = v16 ; v17 [ Number ] = v16 ; } while ( v17 != v19 ) ; } v21 = @@v14@@ & Number ; if ( ( @@v14@@ & Number ) == Number ) { LABEL_24 : if ( v15 <= Number ) goto LABEL_44 ; goto LABEL_25 ; } } v22 = v21 + Number ; @@v13@@ -> m128i_i32 [ v21 ] = Number ; if ( v21 + Number < ( int ) @@v14@@ ) { v23 = v21 + Number ; @@v13@@ -> m128i_i32 [ v22 ] = Number ; if ( ( int ) @@v14@@ > v23 ) @@v13@@ -> m128i_i32 [ v23 ] = Number ; } goto LABEL_24 ; } if ( v15 <= Number ) goto LABEL_106 ; LABEL_25 : v24 = v12 ; v25 = Number L ; do { v26 = * v24 ; v27 = v24 [ Number ] ; v24 += Number ; v28 = v25 ; v29 = * ( v24 - Number ) ; v30 = * ( v24 - Number ) ; v31 = v24 ; if ( ( int ) @@v14@@ > ( int ) v25 ) { v32 = ( ( _BYTE ) @@v14@@ - ( _BYTE ) v25 ) & Number ; if ( ( ( ( _BYTE ) @@v14@@ - ( _BYTE ) v25 ) & Number ) == Number ) goto LABEL_117 ; if ( v32 != Number ) { if ( v32 != Number ) { v33 = ( float ) ( ( float ) ( v26 - * v24 ) * ( float ) ( v26 - * v24 ) ) + ( float ) ( ( float ) ( v27 - v24 [ Number ] ) * ( float ) ( v27 - v24 [ Number ] ) ) ; v34 = ( float ) ( ( float ) ( v29 - v24 [ Number ] ) * ( float ) ( v29 - v24 [ Number ] ) ) + ( float ) ( ( float ) ( v30 - v24 [ Number ] ) * ( float ) ( v30 - v24 [ Number ] ) ) ; if ( v33 <= Number && v34 > Number || v33 > Number && v34 <= Number ) { @@v13@@ -> m128i_i32 [ v25 - Number ] = Number ; @@v13@@ -> m128i_i32 [ v25 ] = Number ; } v28 = v25 + Number ; v31 = v24 + Number ; } v35 = ( float ) ( ( float ) ( v26 - * v31 ) * ( float ) ( v26 - * v31 ) ) + ( float ) ( ( float ) ( v27 - v31 [ Number ] ) * ( float ) ( v27 - v31 [ Number ] ) ) ; v36 = ( float ) ( ( float ) ( v29 - v31 [ Number ] ) * ( float ) ( v29 - v31 [ Number ] ) ) + ( float ) ( ( float ) ( v30 - v31 [ Number ] ) * ( float ) ( v30 - v31 [ Number ] ) ) ; if ( v35 <= Number && v36 > Number || v35 > Number && v36 <= Number ) { @@v13@@ -> m128i_i32 [ v25 - Number ] = Number ; @@v13@@ -> m128i_i32 [ v28 ] = Number ; } ++ v28 ; v31 += Number ; } v37 = ( float ) ( ( float ) ( v26 - * v31 ) * ( float ) ( v26 - * v31 ) ) + ( float ) ( ( float ) ( v27 - v31 [ Number ] ) * ( float ) ( v27 - v31 [ Number ] ) ) ; v38 = ( float ) ( ( float ) ( v29 - v31 [ Number ] ) * ( float ) ( v29 - v31 [ Number ] ) ) + ( float ) ( ( float ) ( v30 - v31 [ Number ] ) * ( float ) ( v30 - v31 [ Number ] ) ) ; if ( v37 <= Number && v38 > Number || v37 > Number && v38 <= Number ) { @@v13@@ -> m128i_i32 [ v25 - Number ] = Number ; @@v13@@ -> m128i_i32 [ v28 ] = Number ; } ++ v28 ; v31 += Number ; if ( ( int ) @@v14@@ > ( int ) v28 ) { LABEL_117 : do { v72 = ( float ) ( ( float ) ( v26 - * v31 ) * ( float ) ( v26 - * v31 ) ) + ( float ) ( ( float ) ( v27 - v31 [ Number ] ) * ( float ) ( v27 - v31 [ Number ] ) ) ; v73 = ( float ) ( ( float ) ( v29 - v31 [ Number ] ) * ( float ) ( v29 - v31 [ Number ] ) ) + ( float ) ( ( float ) ( v30 - v31 [ Number ] ) * ( float ) ( v30 - v31 [ Number ] ) ) ; if ( v72 <= Number && v73 > Number || v72 > Number && v73 <= Number ) { @@v13@@ -> m128i_i32 [ v25 - Number ] = Number ; @@v13@@ -> m128i_i32 [ v28 ] = Number ; } v74 = v28 + Number ; v75 = ( float ) ( ( float ) ( v26 - v31 [ Number ] ) * ( float ) ( v26 - v31 [ Number ] ) ) + ( float ) ( ( float ) ( v27 - v31 [ Number ] ) * ( float ) ( v27 - v31 [ Number ] ) ) ; v76 = ( float ) ( ( float ) ( v29 - v31 [ Number ] ) * ( float ) ( v29 - v31 [ Number ] ) ) + ( float ) ( ( float ) ( v30 - v31 [ Number ] ) * ( float ) ( v30 - v31 [ Number ] ) ) ; if ( v75 <= Number && v76 > Number || v75 > Number && v76 <= Number ) { @@v13@@ -> m128i_i32 [ v25 - Number ] = Number ; @@v13@@ -> m128i_i32 [ v74 ] = Number ; } v68 = ( float ) ( ( float ) ( v26 - v31 [ Number ] ) * ( float ) ( v26 - v31 [ Number ] ) ) + ( float ) ( ( float ) ( v27 - v31 [ Number ] ) * ( float ) ( v27 - v31 [ Number ] ) ) ; v69 = ( float ) ( ( float ) ( v29 - v31 [ Number ] ) * ( float ) ( v29 - v31 [ Number ] ) ) + ( float ) ( ( float ) ( v30 - v31 [ Number ] ) * ( float ) ( v30 - v31 [ Number ] ) ) ; if ( v68 <= Number && v69 > Number || v68 > Number && v69 <= Number ) { @@v13@@ -> m128i_i32 [ v25 - Number ] = Number ; @@v13@@ -> m128i_i32 [ v74 + Number ] = Number ; } v70 = ( float ) ( ( float ) ( v26 - v31 [ Number ] ) * ( float ) ( v26 - v31 [ Number ] ) ) + ( float ) ( ( float ) ( v27 - v31 [ Number ] ) * ( float ) ( v27 - v31 [ Number ] ) ) ; v71 = ( float ) ( ( float ) ( v29 - v31 [ Number ] ) * ( float ) ( v29 - v31 [ Number ] ) ) + ( float ) ( ( float ) ( v30 - v31 [ Number ] ) * ( float ) ( v30 - v31 [ Number ] ) ) ; if ( v70 <= Number && v71 > Number || v70 > Number && v71 <= Number ) { @@v13@@ -> m128i_i32 [ v25 - Number ] = Number ; @@v13@@ -> m128i_i32 [ v74 + Number ] = Number ; } v28 = v74 + Number ; v31 += Number ; } while ( ( int ) @@v14@@ > ( int ) v28 ) ; } } ++ v25 ; } while ( v15 > ( int ) v25 - Number ) ; if ( ( int ) @@v14@@ <= Number ) goto LABEL_106 ; LABEL_44 : if ( ( unsigned int ) v15 <= Number ) { v54 = Number ; v52 = Number ; LABEL_61 : v54 += @@v13@@ -> m128i_i32 [ v52 ] ; if ( v52 + Number < ( int ) @@v14@@ ) { v55 = v52 + Number ; v54 += @@v13@@ -> m128i_i32 [ v52 + Number ] ; if ( ( int ) @@v14@@ > v52 + Number ) { v56 = v52 + Number ; v54 += @@v13@@ -> m128i_i32 [ v55 ] ; if ( v56 < ( int ) @@v14@@ ) v54 += @@v13@@ -> m128i_i32 [ v56 ] ; } } goto LABEL_65 ; } v39 = @@v13@@ ; v40 = Number L ; v41 = ( unsigned int ) @@v14@@ >> Number ; v42 = & @@v13@@ [ v41 ] ; v43 = ( ( unsigned __int8 ) ( ( unsigned __int64 ) ( v41 * Number - Number ) >> Number ) + Number ) & Number ; if ( ! v43 ) goto LABEL_118 ; if ( v43 != Number L ) { if ( v43 != Number L ) { if ( v43 != Number L ) { if ( v43 != Number L ) { if ( v43 != Number L ) { if ( v43 != Number L ) { v40 = _mm_loadu_si128 ( @@v13@@ ) ; v39 = @@v13@@ + Number ; } @@v44@@ = _mm_loadu_si128 ( v39 ++ ) ; v40 = _mm_add_epi32 ( v40 , @@v44@@ ) ; } v45 = _mm_loadu_si128 ( v39 ++ ) ; v40 = _mm_add_epi32 ( v40 , v45 ) ; } v46 = _mm_loadu_si128 ( v39 ++ ) ; v40 = _mm_add_epi32 ( v40 , v46 ) ; } v47 = _mm_loadu_si128 ( v39 ++ ) ; v40 = _mm_add_epi32 ( v40 , v47 ) ; } v48 = _mm_loadu_si128 ( v39 ++ ) ; v40 = _mm_add_epi32 ( v40 , v48 ) ; } v49 = _mm_loadu_si128 ( v39 ++ ) ; v40 = _mm_add_epi32 ( v40 , v49 ) ; if ( v39 != v42 ) { LABEL_118 : do { v50 = _mm_loadu_si128 ( v39 ) ; v51 = _mm_loadu_si128 ( v39 + Number ) ; v39 += Number ; v40 = _mm_add_epi32 ( _mm_add_epi32 ( _mm_add_epi32 ( _mm_add_epi32 ( _mm_add_epi32 ( _mm_add_epi32 ( _mm_add_epi32 ( _mm_add_epi32 ( v40 , v50 ) , v51 ) , _mm_loadu_si128 ( v39 - Number ) ) , _mm_loadu_si128 ( v39 - Number ) ) , _mm_loadu_si128 ( v39 - Number ) ) , _mm_loadu_si128 ( v39 - Number ) ) , _mm_loadu_si128 ( v39 - Number ) ) , _mm_loadu_si128 ( v39 - Number ) ) ; } while ( v39 != v42 ) ; } v52 = @@v14@@ & Number ; v53 = _mm_add_epi32 ( v40 , _mm_srli_si128 ( v40 , Number ) ) ; v54 = _mm_cvtsi128_si32 ( _mm_add_epi32 ( v53 , _mm_srli_si128 ( v53 , Number ) ) ) ; if ( ( @@v14@@ & Number ) != Number ) goto LABEL_61 ; LABEL_65 : if ( v54 <= Number ) { LABEL_106 : puts ( String String ) ; goto LABEL_107 ; } @@v57@@ = Number L ; do { if ( @@v13@@ -> m128i_i32 [ @@v57@@ ] == Number ) { v58 = ( char * ) & v12 [ Number * @@v57@@ ] ; v59 = * ( _QWORD * * ) ( @@a2@@ + Number ) ; if ( v59 == * ( _QWORD * * ) ( @@a2@@ + Number ) ) { v80 = @@v57@@ ; std vector < std pair < keypoint , keypoint >> _M_realloc_insert ( @@a2@@ , * ( _QWORD * ) ( @@a2@@ + Number ) , v58 ) ; @@v57@@ = v80 ; } else { * v59 = * ( _QWORD * ) v58 ; v59 [ Number ] = * ( ( _QWORD * ) v58 + Number ) ; qmemcpy ( ( void * ) ( ( unsigned __int64 ) ( v59 + Number ) & Number ) , ( const void * ) ( v58 - ( ( char * ) v59 - ( ( unsigned __int64 ) ( v59 + Number ) & Number ) ) ) , Number L * ( ( ( unsigned int ) v59 - ( ( ( _DWORD ) v59 + Number ) & Number ) + Number ) >> Number ) ) ; * ( _QWORD * ) ( @@a2@@ + Number ) = v59 + Number ; } v60 = * ( _QWORD * ) ( @@a4@@ + Number ) ; v61 = * @@a3@@ + Number * @@v57@@ ; if ( v60 == * ( _QWORD * ) ( @@a4@@ + Number ) ) { v79 = @@v57@@ ; std vector < std vector < float >> _M_realloc_insert ( @@a4@@ , * ( _QWORD * ) ( @@a4@@ + Number ) , * @@a3@@ + Number * @@v57@@ ) ; v12 = * @@a1@@ ; v11 = @@a1@@ [ Number ] ; @@v57@@ = v79 ; } else { v62 = * ( _QWORD * ) ( v61 + Number ) - * ( _QWORD * ) v61 ; * ( _QWORD * ) ( v60 + Number ) = Number L ; * ( _OWORD * ) v60 = Number L ; if ( v62 >> Number ) { if ( ( unsigned __int64 ) ( v62 >> Number ) > Number ) std __throw_bad_alloc ( ) ; v85 = @@v57@@ ; v83 = v60 ; v81 = v61 ; v77 = v62 ; v63 = ( char * ) operator new ( v62 ) ; v64 = * ( _QWORD * ) ( @@a4@@ + Number ) ; @@v57@@ = v85 ; v60 = v83 ; v61 = v81 ; v65 = v63 ; v62 = v77 ; } else { v64 = v60 ; v65 = Number L ; } * ( _QWORD * ) ( v60 + Number ) = & v65 [ v62 ] ; * ( __m128i * ) v60 = _mm_unpacklo_epi64 ( ( __m128i ) ( unsigned __int64 ) v65 , ( __m128i ) ( unsigned __int64 ) v65 ) ; v66 = * ( _QWORD * ) ( v61 + Number ) - * ( _QWORD * ) v61 ; if ( * ( _QWORD * ) ( v61 + Number ) != * ( _QWORD * ) v61 ) { v86 = v64 ; v84 = @@v57@@ ; v82 = v60 ; v78 = * ( _QWORD * ) ( v61 + Number ) - * ( _QWORD * ) v61 ; v67 = ( char * ) memmove ( v65 , * ( const void * * ) v61 , v66 ) ; v64 = v86 ; @@v57@@ = v84 ; v60 = v82 ; v66 = v78 ; v65 = v67 ; } v11 = @@a1@@ [ Number ] ; * ( _QWORD * ) ( v60 + Number ) = & v65 [ v66 ] ; v12 = * @@a1@@ ; * ( _QWORD * ) ( @@a4@@ + Number ) = v64 + Number ; } } ++ @@v57@@ ; } while ( ( int ) @@v57@@ < ( int ) ( Number * ( ( ( char * ) v11 - ( char * ) v12 ) >> Number ) ) ) ; LABEL_107 : operator delete [ ] ( @@v13@@ ) ; }", "source": [{"n": "v13", "t": {"T": 3, "t": "__m128i"}, "location": "r104"}, {"n": "a3", "t": {"T": 3, "t": "_QWORD"}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "v44", "t": {"T": 8}, "location": "r512"}, {"n": "a1", "t": {"T": 3, "t": "float *"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v57", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "v14", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r80"}]}