{"name": "_Z13unique_match1RSt6vectorISt4pairI8keypointS1_ESaIS2_EES5_RS_IS_IfSaIfEESaIS7_EESA_", "code": "float * __fastcall unique_match1 ( __int64 @@a1@@ , __int64 @@a2@@ , const void * * * @@a3@@ , __int64 @@a4@@ ) { char * v7 ; _QWORD * v8 ; const void * * v9 ; __int64 @@v10@@ ; signed __int64 v11 ; char * v12 ; __int64 v13 ; char * v14 ; _BYTE * v15 ; _BYTE * v16 ; size_t v17 ; char * v18 ; float * result ; __int64 v20 ; char * v21 ; unsigned __int64 v22 ; float * v23 ; char * v24 ; __int64 v25 ; _QWORD * v26 ; float * v27 ; float @@v28@@ ; float @@v29@@ ; float @@v30@@ ; float @@v31@@ ; __int64 v32 ; _BOOL4 v33 ; unsigned __int64 v34 ; __int64 v35 ; int v36 ; float * v37 ; __int64 v38 ; char * v39 ; __int64 v40 ; const void * * v41 ; signed __int64 v42 ; float * v43 ; __int64 v44 ; float * v45 ; _BYTE * v46 ; _BYTE * v47 ; size_t v48 ; __int64 v50 ; char * v51 ; signed __int64 v52 ; size_t v53 ; __int64 v54 ; __int64 v55 ; const void * * v56 ; __int64 v57 ; __int64 v58 ; __int64 v59 ; __int64 v60 ; __int64 v61 ; v7 = * ( char * * ) @@a1@@ ; v8 = * ( _QWORD * * ) ( @@a2@@ + Number ) ; if ( v8 == * ( _QWORD * * ) ( @@a2@@ + Number ) ) { std vector < std pair < keypoint , keypoint >> _M_realloc_insert ( @@a2@@ , v8 , v7 ) ; } else { * v8 = * ( _QWORD * ) v7 ; v8 [ Number ] = * ( ( _QWORD * ) v7 + Number ) ; qmemcpy ( ( void * ) ( ( unsigned __int64 ) ( v8 + Number ) & Number ) , ( const void * ) ( v7 - ( ( char * ) v8 - ( ( unsigned __int64 ) ( v8 + Number ) & Number ) ) ) , Number L * ( ( ( unsigned int ) v8 - ( ( ( _DWORD ) v8 + Number ) & Number ) + Number ) >> Number ) ) ; * ( _QWORD * ) ( @@a2@@ + Number ) = v8 + Number ; } v9 = * @@a3@@ ; @@v10@@ = * ( _QWORD * ) ( @@a4@@ + Number ) ; if ( @@v10@@ == * ( _QWORD * ) ( @@a4@@ + Number ) ) { result = ( float * ) std vector < std vector < float >> _M_realloc_insert ( @@a4@@ , * ( _QWORD * ) ( @@a4@@ + Number ) , * @@a3@@ ) ; } else { v11 = ( _BYTE * ) v9 [ Number ] - ( _BYTE * ) * v9 ; * ( _QWORD * ) ( @@v10@@ + Number ) = Number L ; * ( _OWORD * ) @@v10@@ = Number L ; if ( v11 >> Number ) { if ( ( unsigned __int64 ) ( v11 >> Number ) > Number ) LABEL_59 : std __throw_bad_alloc ( ) ; v12 = ( char * ) operator new ( v11 ) ; v13 = * ( _QWORD * ) ( @@a4@@ + Number ) ; v14 = v12 ; } else { v13 = @@v10@@ ; v14 = Number L ; } * ( _QWORD * ) ( @@v10@@ + Number ) = & v14 [ v11 ] ; * ( __m128i * ) @@v10@@ = _mm_unpacklo_epi64 ( ( __m128i ) ( unsigned __int64 ) v14 , ( __m128i ) ( unsigned __int64 ) v14 ) ; v15 = v9 [ Number ] ; v16 = * v9 ; v17 = v15 - ( _BYTE * ) * v9 ; if ( v15 != v16 ) { v50 = v13 ; v18 = ( char * ) memmove ( v14 , v16 , v17 ) ; v13 = v50 ; v14 = v18 ; } result = ( float * ) ( v13 + Number ) ; * ( _QWORD * ) ( @@v10@@ + Number ) = & v14 [ v17 ] ; * ( _QWORD * ) ( @@a4@@ + Number ) = v13 + Number ; } v20 = * ( _QWORD * ) ( @@a1@@ + Number ) ; v21 = * ( char * * ) @@a1@@ ; v51 = * ( char * * ) @@a1@@ ; v22 = Number * ( ( v20 - * ( _QWORD * ) @@a1@@ ) >> Number ) ; if ( v22 > Number ) { v23 = ( float * ) ( v21 + Number ) ; if ( ( int ) v22 > Number ) { v24 = v21 ; v25 = Number L ; do { v26 = * ( _QWORD * * ) ( @@a2@@ + Number ) ; v27 = * ( float * * ) @@a2@@ ; @@v28@@ = * v23 ; @@v29@@ = v23 [ Number ] ; @@v30@@ = v23 [ Number ] ; @@v31@@ = v23 [ Number ] ; v32 = Number * ( ( ( __int64 ) v26 - * ( _QWORD * ) @@a2@@ ) >> Number ) ; if ( ( int ) v32 <= Number ) goto LABEL_45 ; result = * ( float * * ) @@a2@@ ; v33 = Number ; v34 = Number L * ( unsigned int ) ( v32 - Number ) ; v35 = ( __int64 ) & v27 [ v34 + Number ] ; v36 = ( ( unsigned __int8 ) ( ( v34 * Number ) >> Number ) + Number ) & Number ; if ( ! v36 ) goto LABEL_62 ; if ( v36 != Number L ) { if ( v36 != Number L ) { if ( ( float ) ( ( float ) ( ( float ) ( @@v28@@ - * v27 ) * ( float ) ( @@v28@@ - * v27 ) ) + ( float ) ( ( float ) ( @@v29@@ - v27 [ Number ] ) * ( float ) ( @@v29@@ - v27 [ Number ] ) ) ) <= Number ) v33 = ( float ) ( ( float ) ( ( float ) ( @@v30@@ - v27 [ Number ] ) * ( float ) ( @@v30@@ - v27 [ Number ] ) ) + ( float ) ( ( float ) ( @@v31@@ - v27 [ Number ] ) * ( float ) ( @@v31@@ - v27 [ Number ] ) ) ) > Number ; result = v27 + Number ; } if ( ( float ) ( ( float ) ( ( float ) ( @@v28@@ - * result ) * ( float ) ( @@v28@@ - * result ) ) + ( float ) ( ( float ) ( @@v29@@ - result [ Number ] ) * ( float ) ( @@v29@@ - result [ Number ] ) ) ) <= Number && ( float ) ( ( float ) ( ( float ) ( @@v30@@ - result [ Number ] ) * ( float ) ( @@v30@@ - result [ Number ] ) ) + ( float ) ( ( float ) ( @@v31@@ - result [ Number ] ) * ( float ) ( @@v31@@ - result [ Number ] ) ) ) <= Number ) { v33 = Number ; } result += Number ; } if ( ( float ) ( ( float ) ( ( float ) ( @@v28@@ - * result ) * ( float ) ( @@v28@@ - * result ) ) + ( float ) ( ( float ) ( @@v29@@ - result [ Number ] ) * ( float ) ( @@v29@@ - result [ Number ] ) ) ) <= Number && ( float ) ( ( float ) ( ( float ) ( @@v30@@ - result [ Number ] ) * ( float ) ( @@v30@@ - result [ Number ] ) ) + ( float ) ( ( float ) ( @@v31@@ - result [ Number ] ) * ( float ) ( @@v31@@ - result [ Number ] ) ) ) <= Number ) { v33 = Number ; } result += Number ; if ( ( float * ) v35 != result ) { LABEL_62 : do { if ( ( float ) ( ( float ) ( ( float ) ( @@v28@@ - * result ) * ( float ) ( @@v28@@ - * result ) ) + ( float ) ( ( float ) ( @@v29@@ - result [ Number ] ) * ( float ) ( @@v29@@ - result [ Number ] ) ) ) <= Number && ( float ) ( ( float ) ( ( float ) ( @@v30@@ - result [ Number ] ) * ( float ) ( @@v30@@ - result [ Number ] ) ) + ( float ) ( ( float ) ( @@v31@@ - result [ Number ] ) * ( float ) ( @@v31@@ - result [ Number ] ) ) ) <= Number ) { v33 = Number ; } v37 = result + Number ; if ( ( float ) ( ( float ) ( ( float ) ( @@v28@@ - result [ Number ] ) * ( float ) ( @@v28@@ - result [ Number ] ) ) + ( float ) ( ( float ) ( @@v29@@ - result [ Number ] ) * ( float ) ( @@v29@@ - result [ Number ] ) ) ) <= Number && ( float ) ( ( float ) ( ( float ) ( @@v30@@ - result [ Number ] ) * ( float ) ( @@v30@@ - result [ Number ] ) ) + ( float ) ( ( float ) ( @@v31@@ - result [ Number ] ) * ( float ) ( @@v31@@ - result [ Number ] ) ) ) <= Number ) { v33 = Number ; } if ( ( float ) ( ( float ) ( ( float ) ( @@v28@@ - result [ Number ] ) * ( float ) ( @@v28@@ - result [ Number ] ) ) + ( float ) ( ( float ) ( @@v29@@ - result [ Number ] ) * ( float ) ( @@v29@@ - result [ Number ] ) ) ) <= Number && ( float ) ( ( float ) ( ( float ) ( @@v30@@ - result [ Number ] ) * ( float ) ( @@v30@@ - result [ Number ] ) ) + ( float ) ( ( float ) ( @@v31@@ - result [ Number ] ) * ( float ) ( @@v31@@ - result [ Number ] ) ) ) <= Number ) { v33 = Number ; } if ( ( float ) ( ( float ) ( ( float ) ( @@v28@@ - result [ Number ] ) * ( float ) ( @@v28@@ - result [ Number ] ) ) + ( float ) ( ( float ) ( @@v29@@ - result [ Number ] ) * ( float ) ( @@v29@@ - result [ Number ] ) ) ) <= Number && ( float ) ( ( float ) ( ( float ) ( @@v30@@ - result [ Number ] ) * ( float ) ( @@v30@@ - result [ Number ] ) ) + ( float ) ( ( float ) ( @@v31@@ - result [ Number ] ) * ( float ) ( @@v31@@ - result [ Number ] ) ) ) <= Number ) { v33 = Number ; } result += Number ; } while ( ( float * ) v35 != v37 + Number ) ; } v38 = v25 + Number ; if ( v33 ) { LABEL_45 : v39 = & v24 [ ( char * ) v23 - v51 ] ; if ( * ( _QWORD * * ) ( @@a2@@ + Number ) == v26 ) { v55 = v25 ; std vector < std pair < keypoint , keypoint >> _M_realloc_insert ( @@a2@@ , * ( _QWORD * ) ( @@a2@@ + Number ) , v39 ) ; v25 = v55 ; } else { * v26 = * ( _QWORD * ) v39 ; v26 [ Number ] = * ( ( _QWORD * ) v39 + Number ) ; qmemcpy ( ( void * ) ( ( unsigned __int64 ) ( v26 + Number ) & Number ) , ( const void * ) ( v39 - ( ( char * ) v26 - ( ( unsigned __int64 ) ( v26 + Number ) & Number ) ) ) , Number L * ( ( ( unsigned int ) v26 - ( ( ( _DWORD ) v26 + Number ) & Number ) + Number ) >> Number ) ) ; * ( _QWORD * ) ( @@a2@@ + Number ) = v26 + Number ; } v38 = v25 + Number ; v40 = * ( _QWORD * ) ( @@a4@@ + Number ) ; v41 = & ( * @@a3@@ ) [ Number * v25 + Number ] ; if ( v40 == * ( _QWORD * ) ( @@a4@@ + Number ) ) { v54 = v25 + Number ; result = ( float * ) std vector < std vector < float >> _M_realloc_insert ( @@a4@@ , * ( _QWORD * ) ( @@a4@@ + Number ) , v41 ) ; v24 = * ( char * * ) @@a1@@ ; v20 = * ( _QWORD * ) ( @@a1@@ + Number ) ; v38 = v54 ; } else { v42 = ( _BYTE * ) v41 [ Number ] - ( _BYTE * ) * v41 ; * ( _QWORD * ) ( v40 + Number ) = Number L ; * ( _OWORD * ) v40 = Number L ; if ( v42 >> Number ) { v58 = v40 ; v60 = v25 + Number ; v56 = v41 ; if ( ( unsigned __int64 ) ( v42 >> Number ) > Number ) goto LABEL_59 ; v52 = v42 ; v43 = ( float * ) operator new ( v42 ) ; v44 = * ( _QWORD * ) ( @@a4@@ + Number ) ; v38 = v60 ; v45 = v43 ; v40 = v58 ; v41 = v56 ; v42 = v52 ; } else { v44 = v40 ; v45 = Number L ; } result = ( float * ) ( ( char * ) v45 + v42 ) ; * ( _QWORD * ) ( v40 + Number ) = result ; * ( __m128i * ) v40 = _mm_unpacklo_epi64 ( ( __m128i ) ( unsigned __int64 ) v45 , ( __m128i ) ( unsigned __int64 ) v45 ) ; v46 = v41 [ Number ] ; v47 = * v41 ; v48 = v46 - ( _BYTE * ) * v41 ; if ( v46 != v47 ) { v61 = v38 ; v59 = v44 ; v57 = v40 ; v53 = v48 ; result = ( float * ) memmove ( v45 , v47 , v48 ) ; v38 = v61 ; v44 = v59 ; v40 = v57 ; v48 = v53 ; v45 = result ; } v24 = * ( char * * ) @@a1@@ ; v20 = * ( _QWORD * ) ( @@a1@@ + Number ) ; * ( _QWORD * ) ( v40 + Number ) = ( char * ) v45 + v48 ; * ( _QWORD * ) ( @@a4@@ + Number ) = v44 + Number ; } } v23 += Number ; v25 = v38 ; } while ( ( int ) v38 + Number < ( int ) ( Number * ( ( v20 - ( __int64 ) v24 ) >> Number ) ) ) ; } } return result ; }", "source": [{"n": "a3", "t": {"T": 3, "t": "const void **"}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "v10", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r48"}, {"n": "v28", "t": {"T": 1, "n": "float", "s": 4}, "location": "r528"}, {"n": "v29", "t": {"T": 1, "n": "float", "s": 4}, "location": "r544"}, {"n": "a1", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r56"}, {"n": "v30", "t": {"T": 1, "n": "float", "s": 4}, "location": "r560"}, {"n": "v31", "t": {"T": 1, "n": "float", "s": 4}, "location": "r576"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]}