{"name": "_ZNSt6vectorISt4pairI8keypointS1_ESaIS2_EEaSERKS4_", "code": "char * * __fastcall std vector < std pair < keypoint , keypoint >> operator = ( char * * @@a1@@ , __int64 @@a2@@ ) { _QWORD * @@v3@@ ; _QWORD * @@v4@@ ; char * v5 ; signed __int64 v6 ; unsigned __int64 v7 ; char * v8 ; size_t v9 ; char * v10 ; char * v12 ; char * v13 ; _QWORD * v14 ; char * v15 ; _BYTE * v16 ; _QWORD * v17 ; char * v18 ; signed __int64 v19 ; char * v20 ; _QWORD * v21 ; _QWORD * v22 ; char * v23 ; __int64 v24 ; _QWORD * v25 ; char * v26 ; char * v27 ; char * v28 ; char * v29 ; char * v30 ; __int64 v31 ; char * v32 ; char * v33 ; if ( ( char * * ) @@a2@@ != @@a1@@ ) { @@v3@@ = * ( _QWORD * * ) ( @@a2@@ + Number ) ; @@v4@@ = * ( _QWORD * * ) @@a2@@ ; v5 = * @@a1@@ ; v6 = ( signed __int64 ) @@v3@@ - * ( _QWORD * ) @@a2@@ ; v7 = Number * ( v6 >> Number ) ; if ( v7 > Number * ( ( @@a1@@ [ Number ] - * @@a1@@ ) >> Number ) ) { v12 = Number L ; if ( v7 ) { if ( v7 > Number ) std __throw_bad_alloc ( ) ; v13 = ( char * ) operator new ( * ( _QWORD * ) ( @@a2@@ + Number ) - * ( _QWORD * ) @@a2@@ ) ; v5 = * @@a1@@ ; v12 = v13 ; } v14 = @@v4@@ ; v15 = v12 ; if ( @@v4@@ != @@v3@@ ) { if ( ( ( ( _BYTE ) @@v3@@ - ( _BYTE ) @@v4@@ ) & Number ) == Number || ( v14 = @@v4@@ + Number , * ( _QWORD * ) v12 = * @@v4@@ , v15 = v12 + Number , * ( ( _QWORD * ) v12 + Number ) = @@v4@@ [ Number ] , qmemcpy ( ( void * ) ( ( unsigned __int64 ) ( v12 + Number ) & Number ) , ( const void * ) ( ( char * ) @@v4@@ - & v12 [ - ( ( unsigned __int64 ) ( v12 + Number ) & Number ) ] ) , Number L * ( ( ( unsigned int ) v12 - ( ( ( _DWORD ) v12 + Number ) & Number ) + Number ) >> Number ) ) , @@v3@@ != @@v4@@ + Number ) ) { do { v16 = ( _BYTE * ) ( ( unsigned __int64 ) ( v15 + Number ) & Number ) ; v17 = v14 + Number ; v18 = ( char * ) ( ( unsigned __int64 ) ( v15 + Number ) & Number ) ; * ( _QWORD * ) v15 = * v14 ; v19 = v15 - v16 ; v20 = v15 + Number ; v15 += Number ; * ( ( _QWORD * ) v15 - Number ) = v14 [ Number ] ; v21 = v14 ; v14 += Number ; qmemcpy ( v16 , ( char * ) v21 - v19 , Number L * ( ( unsigned int ) ( v19 + Number ) >> Number ) ) ; * ( ( _QWORD * ) v15 - Number ) = * ( v14 - Number ) ; * ( ( _QWORD * ) v15 - Number ) = * ( v14 - Number ) ; qmemcpy ( v18 , ( char * ) v17 - ( v20 - v18 ) , Number L * ( ( unsigned int ) ( ( _DWORD ) v20 - ( _DWORD ) v18 + Number ) >> Number ) ) ; } while ( @@v3@@ != v14 ) ; } } if ( v5 ) operator delete ( v5 ) ; * @@a1@@ = v12 ; @@a1@@ [ Number ] = & v12 [ v6 ] ; @@a1@@ [ Number ] = & v12 [ v6 ] ; } else { v8 = @@a1@@ [ Number ] ; v9 = v8 - v5 ; if ( v7 > Number * ( ( v8 - v5 ) >> Number ) ) { if ( v9 ) { memmove ( * @@a1@@ , @@v4@@ , v9 ) ; v8 = @@a1@@ [ Number ] ; v5 = * @@a1@@ ; @@v3@@ = * ( _QWORD * * ) ( @@a2@@ + Number ) ; @@v4@@ = * ( _QWORD * * ) @@a2@@ ; v9 = v8 - * @@a1@@ ; } v22 = ( _QWORD * ) ( ( char * ) @@v4@@ + v9 ) ; v10 = & v5 [ v6 ] ; if ( v22 != @@v3@@ ) { if ( ( ( ( _BYTE ) @@v3@@ - ( _BYTE ) v22 ) & Number ) == Number ) goto LABEL_28 ; v23 = v8 ; v24 = * v22 ; v25 = v22 ; v26 = ( char * ) ( ( unsigned __int64 ) ( v8 + Number ) & Number ) ; v22 += Number ; v8 += Number ; * ( ( _QWORD * ) v8 - Number ) = v24 ; * ( ( _QWORD * ) v8 - Number ) = * ( v22 - Number ) ; qmemcpy ( v26 , ( char * ) v25 - ( v23 - v26 ) , Number L * ( ( unsigned int ) ( ( _DWORD ) v23 - ( _DWORD ) v26 + Number ) >> Number ) ) ; if ( v22 != @@v3@@ ) { LABEL_28 : do { v27 = v8 ; v28 = ( char * ) ( ( unsigned __int64 ) ( v8 + Number ) & Number ) ; v29 = v8 + Number ; v30 = v8 + Number ; v8 += Number ; * ( ( _QWORD * ) v8 - Number ) = * v22 ; v31 = v27 - v28 ; v32 = ( char * ) v22 - v31 ; * ( ( _QWORD * ) v8 - Number ) = v22 [ Number ] ; v33 = ( char * ) ( v22 + Number ) ; v22 += Number ; qmemcpy ( v28 , v32 , Number L * ( ( unsigned int ) ( v31 + Number ) >> Number ) ) ; * ( ( _QWORD * ) v8 - Number ) = * ( v22 - Number ) ; * ( ( _QWORD * ) v8 - Number ) = * ( v22 - Number ) ; qmemcpy ( ( void * ) ( ( unsigned __int64 ) v29 & Number ) , ( const void * ) ( v33 - & v30 [ - ( ( unsigned __int64 ) v29 & Number ) ] ) , Number L * ( ( ( unsigned int ) v30 - ( ( unsigned int ) v29 & Number ) + Number ) >> Number ) ) ; } while ( v22 != @@v3@@ ) ; } } } else { v10 = & v5 [ v6 ] ; if ( @@v4@@ != @@v3@@ ) { memmove ( * @@a1@@ , @@v4@@ , v6 ) ; v10 = & ( * @@a1@@ ) [ v6 ] ; } } @@a1@@ [ Number ] = v10 ; } } return @@a1@@ ; }", "source": [{"n": "v4", "t": {"T": 3, "t": "_QWORD"}, "location": "r120"}, {"n": "v3", "t": {"T": 3, "t": "_QWORD"}, "location": "r32"}, {"n": "a1", "t": {"T": 3, "t": "char *"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}]}