{"name": "_Z12clean_match2RSt6vectorISt4pairI8keypointS1_ESaIS2_EES5_RS_IS_IfSaIfEESaIS7_EESA_", "code": "void __fastcall clean_match2 ( float * * @@a1@@ , __int64 @@a2@@ , _QWORD * @@a3@@ , __int64 @@a4@@ ) { unsigned __int64 v7 ; unsigned __int64 v8 ; __m128i * v9 ; float * @@v10@@ ; float * v11 ; __m128i * @@v12@@ ; __int64 v13 ; int v14 ; __m128i @@v15@@ ; __m128i * v16 ; __int64 v17 ; __m128i * v18 ; int v19 ; int v20 ; int v21 ; int v22 ; float * v23 ; __int64 v24 ; float v25 ; float v26 ; __int64 v27 ; float v28 ; float v29 ; float * v30 ; int v31 ; __int64 v32 ; const __m128i * v33 ; __m128i v34 ; __int64 v35 ; const __m128i * v36 ; int v37 ; __m128i v38 ; __m128i v39 ; __m128i v40 ; __m128i v41 ; __m128i @@v42@@ ; __m128i @@v43@@ ; __m128i @@v44@@ ; __m128i @@v45@@ ; int v46 ; __m128i v47 ; int v48 ; int v49 ; int v50 ; __int64 v51 ; __int64 v52 ; float * * @@v53@@ ; __int64 @@v54@@ ; _QWORD * v55 ; char * v56 ; __int64 v57 ; __int64 v58 ; signed __int64 v59 ; char * v60 ; __int64 v61 ; char * v62 ; size_t v63 ; char * v64 ; signed __int64 v66 ; size_t v67 ; __int64 v68 ; __int64 v69 ; __int64 v70 ; __int64 v71 ; v7 = ( int ) ( Number * ( ( ( char * ) @@a1@@ [ Number ] - ( char * ) * @@a1@@ ) >> Number ) ) ; v8 = Number * v7 ; if ( v7 > Number ) v8 = Number ; v9 = ( __m128i * ) operator new [ ] ( v8 ) ; @@v10@@ = @@a1@@ [ Number ] ; v11 = * @@a1@@ ; @@v12@@ = v9 ; v13 = Number * ( ( ( char * ) @@v10@@ - ( char * ) * @@a1@@ ) >> Number ) ; v14 = v13 - Number ; if ( ( int ) v13 > Number ) { if ( ( unsigned int ) v14 <= Number ) { v20 = Number ; } else { @@v15@@ = _mm_load_si128 ( ( const __m128i * ) & LC6 ) ; v16 = v9 ; v17 = ( unsigned int ) v13 >> Number ; v18 = & v9 [ v17 ] ; v19 = ( ( unsigned __int8 ) ( ( unsigned __int64 ) ( v17 * Number - Number ) >> Number ) + Number ) & Number ; if ( ! v19 ) goto LABEL_102 ; if ( v19 != Number L ) { if ( v19 != Number L ) { if ( v19 != Number L ) { if ( v19 != Number L ) { if ( v19 != Number L ) { if ( v19 != Number L ) { * v9 = @@v15@@ ; v16 = v9 + Number ; } * v16 ++ = @@v15@@ ; } * v16 ++ = @@v15@@ ; } * v16 ++ = @@v15@@ ; } * v16 ++ = @@v15@@ ; } * v16 ++ = @@v15@@ ; } * v16 ++ = @@v15@@ ; if ( v16 != v18 ) { LABEL_102 : do { * v16 = @@v15@@ ; v16 += Number ; v16 [ Number ] = @@v15@@ ; v16 [ Number ] = @@v15@@ ; v16 [ Number ] = @@v15@@ ; v16 [ Number ] = @@v15@@ ; v16 [ Number ] = @@v15@@ ; v16 [ Number ] = @@v15@@ ; v16 [ Number ] = @@v15@@ ; } while ( v16 != v18 ) ; } v20 = v13 & Number ; if ( ( v13 & Number ) == Number ) { LABEL_24 : if ( v14 <= Number ) goto LABEL_57 ; goto LABEL_25 ; } } v21 = v20 + Number ; @@v12@@ -> m128i_i32 [ v20 ] = Number ; if ( v20 + Number < ( int ) v13 ) { v22 = v20 + Number ; @@v12@@ -> m128i_i32 [ v21 ] = Number ; if ( ( int ) v13 > v22 ) @@v12@@ -> m128i_i32 [ v22 ] = Number ; } goto LABEL_24 ; } if ( v14 <= Number ) goto LABEL_92 ; LABEL_25 : v23 = v11 ; v24 = Number L ; do { v25 = * v23 ; v26 = v23 [ Number ] ; v23 += Number ; v27 = v24 ; v28 = * ( v23 - Number ) ; v29 = * ( v23 - Number ) ; v30 = v23 ; if ( ( int ) v13 > ( int ) v24 ) { v31 = ( ( _BYTE ) v13 - ( _BYTE ) v24 ) & Number ; if ( ( ( ( _BYTE ) v13 - ( _BYTE ) v24 ) & Number ) == Number ) goto LABEL_103 ; if ( v31 != Number ) { if ( v31 != Number ) { if ( ( float ) ( ( float ) ( ( float ) ( v25 - * v23 ) * ( float ) ( v25 - * v23 ) ) + ( float ) ( ( float ) ( v26 - v23 [ Number ] ) * ( float ) ( v26 - v23 [ Number ] ) ) ) > Number && ( float ) ( ( float ) ( ( float ) ( v28 - v23 [ Number ] ) * ( float ) ( v28 - v23 [ Number ] ) ) + ( float ) ( ( float ) ( v29 - v23 [ Number ] ) * ( float ) ( v29 - v23 [ Number ] ) ) ) <= Number ) { @@v12@@ -> m128i_i32 [ v24 - Number ] = Number ; @@v12@@ -> m128i_i32 [ v24 ] = Number ; } v27 = v24 + Number ; v30 = v23 + Number ; } if ( ( float ) ( ( float ) ( ( float ) ( v25 - * v30 ) * ( float ) ( v25 - * v30 ) ) + ( float ) ( ( float ) ( v26 - v30 [ Number ] ) * ( float ) ( v26 - v30 [ Number ] ) ) ) > Number && ( float ) ( ( float ) ( ( float ) ( v28 - v30 [ Number ] ) * ( float ) ( v28 - v30 [ Number ] ) ) + ( float ) ( ( float ) ( v29 - v30 [ Number ] ) * ( float ) ( v29 - v30 [ Number ] ) ) ) <= Number ) { @@v12@@ -> m128i_i32 [ v24 - Number ] = Number ; @@v12@@ -> m128i_i32 [ v27 ] = Number ; } ++ v27 ; v30 += Number ; } if ( ( float ) ( ( float ) ( ( float ) ( v25 - * v30 ) * ( float ) ( v25 - * v30 ) ) + ( float ) ( ( float ) ( v26 - v30 [ Number ] ) * ( float ) ( v26 - v30 [ Number ] ) ) ) > Number && ( float ) ( ( float ) ( ( float ) ( v28 - v30 [ Number ] ) * ( float ) ( v28 - v30 [ Number ] ) ) + ( float ) ( ( float ) ( v29 - v30 [ Number ] ) * ( float ) ( v29 - v30 [ Number ] ) ) ) <= Number ) { @@v12@@ -> m128i_i32 [ v24 - Number ] = Number ; @@v12@@ -> m128i_i32 [ v27 ] = Number ; } ++ v27 ; v30 += Number ; if ( ( int ) v13 > ( int ) v27 ) { LABEL_103 : do { if ( ( float ) ( ( float ) ( ( float ) ( v25 - * v30 ) * ( float ) ( v25 - * v30 ) ) + ( float ) ( ( float ) ( v26 - v30 [ Number ] ) * ( float ) ( v26 - v30 [ Number ] ) ) ) > Number && ( float ) ( ( float ) ( ( float ) ( v28 - v30 [ Number ] ) * ( float ) ( v28 - v30 [ Number ] ) ) + ( float ) ( ( float ) ( v29 - v30 [ Number ] ) * ( float ) ( v29 - v30 [ Number ] ) ) ) <= Number ) { @@v12@@ -> m128i_i32 [ v24 - Number ] = Number ; @@v12@@ -> m128i_i32 [ v27 ] = Number ; } v32 = v27 + Number ; if ( ( float ) ( ( float ) ( ( float ) ( v25 - v30 [ Number ] ) * ( float ) ( v25 - v30 [ Number ] ) ) + ( float ) ( ( float ) ( v26 - v30 [ Number ] ) * ( float ) ( v26 - v30 [ Number ] ) ) ) > Number && ( float ) ( ( float ) ( ( float ) ( v28 - v30 [ Number ] ) * ( float ) ( v28 - v30 [ Number ] ) ) + ( float ) ( ( float ) ( v29 - v30 [ Number ] ) * ( float ) ( v29 - v30 [ Number ] ) ) ) <= Number ) { @@v12@@ -> m128i_i32 [ v24 - Number ] = Number ; @@v12@@ -> m128i_i32 [ v32 ] = Number ; } if ( ( float ) ( ( float ) ( ( float ) ( v25 - v30 [ Number ] ) * ( float ) ( v25 - v30 [ Number ] ) ) + ( float ) ( ( float ) ( v26 - v30 [ Number ] ) * ( float ) ( v26 - v30 [ Number ] ) ) ) > Number && ( float ) ( ( float ) ( ( float ) ( v28 - v30 [ Number ] ) * ( float ) ( v28 - v30 [ Number ] ) ) + ( float ) ( ( float ) ( v29 - v30 [ Number ] ) * ( float ) ( v29 - v30 [ Number ] ) ) ) <= Number ) { @@v12@@ -> m128i_i32 [ v24 - Number ] = Number ; @@v12@@ -> m128i_i32 [ v32 + Number ] = Number ; } if ( ( float ) ( ( float ) ( ( float ) ( v25 - v30 [ Number ] ) * ( float ) ( v25 - v30 [ Number ] ) ) + ( float ) ( ( float ) ( v26 - v30 [ Number ] ) * ( float ) ( v26 - v30 [ Number ] ) ) ) > Number && ( float ) ( ( float ) ( ( float ) ( v28 - v30 [ Number ] ) * ( float ) ( v28 - v30 [ Number ] ) ) + ( float ) ( ( float ) ( v29 - v30 [ Number ] ) * ( float ) ( v29 - v30 [ Number ] ) ) ) <= Number ) { @@v12@@ -> m128i_i32 [ v24 - Number ] = Number ; @@v12@@ -> m128i_i32 [ v32 + Number ] = Number ; } v27 = v32 + Number ; v30 += Number ; } while ( ( int ) v13 > ( int ) v27 ) ; } } ++ v24 ; } while ( v14 > ( int ) v24 - Number ) ; if ( ( int ) v13 <= Number ) goto LABEL_92 ; LABEL_57 : if ( ( unsigned int ) v14 <= Number ) { v48 = Number ; v46 = Number ; LABEL_74 : v48 += @@v12@@ -> m128i_i32 [ v46 ] ; if ( v46 + Number < ( int ) v13 ) { v49 = v46 + Number ; v48 += @@v12@@ -> m128i_i32 [ v46 + Number ] ; if ( ( int ) v13 > v46 + Number ) { v50 = v46 + Number ; v48 += @@v12@@ -> m128i_i32 [ v49 ] ; if ( v50 < ( int ) v13 ) v48 += @@v12@@ -> m128i_i32 [ v50 ] ; } } goto LABEL_78 ; } v33 = @@v12@@ ; v34 = Number L ; v35 = ( unsigned int ) v13 >> Number ; v36 = & @@v12@@ [ v35 ] ; v37 = ( ( unsigned __int8 ) ( ( unsigned __int64 ) ( v35 * Number - Number ) >> Number ) + Number ) & Number ; if ( ! v37 ) goto LABEL_104 ; if ( v37 != Number L ) { if ( v37 != Number L ) { if ( v37 != Number L ) { if ( v37 != Number L ) { if ( v37 != Number L ) { if ( v37 != Number L ) { v34 = _mm_loadu_si128 ( @@v12@@ ) ; v33 = @@v12@@ + Number ; } v38 = _mm_loadu_si128 ( v33 ++ ) ; v34 = _mm_add_epi32 ( v34 , v38 ) ; } v39 = _mm_loadu_si128 ( v33 ++ ) ; v34 = _mm_add_epi32 ( v34 , v39 ) ; } v40 = _mm_loadu_si128 ( v33 ++ ) ; v34 = _mm_add_epi32 ( v34 , v40 ) ; } v41 = _mm_loadu_si128 ( v33 ++ ) ; v34 = _mm_add_epi32 ( v34 , v41 ) ; } @@v42@@ = _mm_loadu_si128 ( v33 ++ ) ; v34 = _mm_add_epi32 ( v34 , @@v42@@ ) ; } @@v43@@ = _mm_loadu_si128 ( v33 ++ ) ; v34 = _mm_add_epi32 ( v34 , @@v43@@ ) ; if ( v33 != v36 ) { LABEL_104 : do { @@v44@@ = _mm_loadu_si128 ( v33 ) ; @@v45@@ = _mm_loadu_si128 ( v33 + Number ) ; v33 += Number ; v34 = _mm_add_epi32 ( _mm_add_epi32 ( _mm_add_epi32 ( _mm_add_epi32 ( _mm_add_epi32 ( _mm_add_epi32 ( _mm_add_epi32 ( _mm_add_epi32 ( v34 , @@v44@@ ) , @@v45@@ ) , _mm_loadu_si128 ( v33 - Number ) ) , _mm_loadu_si128 ( v33 - Number ) ) , _mm_loadu_si128 ( v33 - Number ) ) , _mm_loadu_si128 ( v33 - Number ) ) , _mm_loadu_si128 ( v33 - Number ) ) , _mm_loadu_si128 ( v33 - Number ) ) ; } while ( v33 != v36 ) ; } v46 = v13 & Number ; v47 = _mm_add_epi32 ( v34 , _mm_srli_si128 ( v34 , Number ) ) ; v48 = _mm_cvtsi128_si32 ( _mm_add_epi32 ( v47 , _mm_srli_si128 ( v47 , Number ) ) ) ; if ( ( v13 & Number ) != Number ) goto LABEL_74 ; LABEL_78 : if ( v48 <= Number ) { LABEL_92 : puts ( String String ) ; goto LABEL_93 ; } v51 = @@a2@@ ; v52 = Number L ; @@v53@@ = @@a1@@ ; @@v54@@ = v51 ; do { if ( @@v12@@ -> m128i_i32 [ v52 ] == Number ) { v55 = * ( _QWORD * * ) ( @@v54@@ + Number ) ; v56 = ( char * ) & v11 [ Number * v52 ] ; if ( v55 == * ( _QWORD * * ) ( @@v54@@ + Number ) ) { std vector < std pair < keypoint , keypoint >> _M_realloc_insert ( @@v54@@ , * ( _QWORD * ) ( @@v54@@ + Number ) , v56 ) ; } else { * v55 = * ( _QWORD * ) v56 ; v55 [ Number ] = * ( ( _QWORD * ) v56 + Number ) ; qmemcpy ( ( void * ) ( ( unsigned __int64 ) ( v55 + Number ) & Number ) , ( const void * ) ( v56 - ( ( char * ) v55 - ( ( unsigned __int64 ) ( v55 + Number ) & Number ) ) ) , Number L * ( ( ( unsigned int ) v55 - ( ( ( _DWORD ) v55 + Number ) & Number ) + Number ) >> Number ) ) ; * ( _QWORD * ) ( @@v54@@ + Number ) = v55 + Number ; } v57 = * ( _QWORD * ) ( @@a4@@ + Number ) ; v58 = * @@a3@@ + Number * v52 ; if ( v57 == * ( _QWORD * ) ( @@a4@@ + Number ) ) { std vector < std vector < float >> _M_realloc_insert ( @@a4@@ , * ( _QWORD * ) ( @@a4@@ + Number ) , * @@a3@@ + Number * v52 ) ; v11 = * @@v53@@ ; @@v10@@ = @@v53@@ [ Number ] ; } else { v59 = * ( _QWORD * ) ( v58 + Number ) - * ( _QWORD * ) v58 ; * ( _QWORD * ) ( v57 + Number ) = Number L ; * ( _OWORD * ) v57 = Number L ; if ( v59 >> Number ) { if ( ( unsigned __int64 ) ( v59 >> Number ) > Number ) std __throw_bad_alloc ( ) ; v70 = v57 ; v68 = v58 ; v66 = v59 ; v60 = ( char * ) operator new ( v59 ) ; v61 = * ( _QWORD * ) ( @@a4@@ + Number ) ; v57 = v70 ; v58 = v68 ; v59 = v66 ; v62 = v60 ; } else { v61 = v57 ; v62 = Number L ; } * ( _QWORD * ) ( v57 + Number ) = & v62 [ v59 ] ; * ( __m128i * ) v57 = _mm_unpacklo_epi64 ( ( __m128i ) ( unsigned __int64 ) v62 , ( __m128i ) ( unsigned __int64 ) v62 ) ; v63 = * ( _QWORD * ) ( v58 + Number ) - * ( _QWORD * ) v58 ; if ( * ( _QWORD * ) ( v58 + Number ) != * ( _QWORD * ) v58 ) { v71 = v61 ; v69 = v57 ; v67 = * ( _QWORD * ) ( v58 + Number ) - * ( _QWORD * ) v58 ; v64 = ( char * ) memmove ( v62 , * ( const void * * ) v58 , v63 ) ; v61 = v71 ; v57 = v69 ; v63 = v67 ; v62 = v64 ; } v11 = * @@v53@@ ; @@v10@@ = @@v53@@ [ Number ] ; * ( _QWORD * ) ( v57 + Number ) = & v62 [ v63 ] ; * ( _QWORD * ) ( @@a4@@ + Number ) = v61 + Number ; } } ++ v52 ; } while ( ( int ) v52 < ( int ) ( Number * ( ( ( char * ) @@v10@@ - ( char * ) v11 ) >> Number ) ) ) ; LABEL_93 : operator delete [ ] ( @@v12@@ ) ; }", "source": [{"n": "v54", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r104"}, {"n": "a3", "t": {"T": 3, "t": "_QWORD"}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "v53", "t": {"T": 3, "t": "float *"}, "location": "r32"}, {"n": "v12", "t": {"T": 3, "t": "__m128i"}, "location": "r48"}, {"n": "v15", "t": {"T": 8}, "location": "r496"}, {"n": "a1", "t": {"T": 3, "t": "float *"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v42", "t": {"T": 8}, "location": "r688"}, {"n": "v43", "t": {"T": 8}, "location": "r704"}, {"n": "v44", "t": {"T": 8}, "location": "r720"}, {"n": "v45", "t": {"T": 8}, "location": "r736"}, {"n": "v10", "t": {"T": 3, "t": "float"}, "location": "r96"}]}