{"name": "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES5_St9_IdentityIS5_ESt4lessIS5_ESaIS5_EE16_M_insert_uniqueIRKS5_EESt4pairISt17_Rb_tree_iteratorIS5_EbEOT_", "code": "_QWORD * __fastcall std _Rb_tree < std __cxx11 basic_string < char , std char_traits < char > , std allocator < char >> , std __cxx11 basic_string < char , std char_traits < char > , std allocator < char >> , std _Identity < std __cxx11 basic_string < char , std char_traits < char > , std allocator < char >> > , std less < std __cxx11 basic_string < char , std char_traits < char > , std allocator < char >> > , std allocator < std __cxx11 basic_string < char , std char_traits < char > , std allocator < char >> >> _M_insert_unique < std __cxx11 basic_string < char , std char_traits < char > , std allocator < char >> const & > ( _QWORD * @@a1@@ , __int64 @@a2@@ , size_t @@a3@@ , __int64 @@a4@@ , __int64 @@a5@@ , const void * @@a6@@ ) { __int64 v7 ; _QWORD * v8 ; size_t v9 ; const void * @@v10@@ ; _QWORD * v11 ; size_t v12 ; signed __int64 v13 ; _QWORD * @@v14@@ ; int v15 ; unsigned int v17 ; _QWORD * v18 ; _BYTE * v19 ; size_t v20 ; void * v21 ; _QWORD * v22 ; __int64 v23 ; __int64 v24 ; size_t v25 ; size_t v26 ; size_t v27 ; unsigned int v28 ; __int64 v29 ; _QWORD * @@v30@@ ; const void * @@v31@@ ; const void * @@v32@@ ; size_t @@n@@ ; size_t @@v34@@ [ Number ] ; v7 = @@a2@@ ; v8 = ( _QWORD * ) @@a1@@ [ Number ] ; @@v30@@ = @@a1@@ + Number ; if ( ! v8 ) { v8 = @@a1@@ + Number ; goto LABEL_30 ; } v9 = * ( _QWORD * ) ( @@a2@@ + Number ) ; @@v10@@ = * ( const void * * ) @@a2@@ ; while ( Number ) { v12 = v8 [ Number ] ; @@a6@@ = ( const void * ) v8 [ Number ] ; @@a3@@ = v12 ; if ( v9 <= v12 ) @@a3@@ = v9 ; if ( @@a3@@ ) { @@n@@ = @@a3@@ ; @@v32@@ = ( const void * ) v8 [ Number ] ; @@v31@@ = @@v10@@ ; LODWORD ( v13 ) = memcmp ( @@v10@@ , @@v32@@ , @@a3@@ ) ; @@v10@@ = @@v31@@ ; @@a6@@ = @@v32@@ ; @@a3@@ = @@n@@ ; if ( ( _DWORD ) v13 ) goto LABEL_11 ; } @@a4@@ = Number ; v13 = v9 - v12 ; if ( ( __int64 ) ( v9 - v12 ) >= Number ) break ; if ( v13 > ( __int64 ) Number ) { LABEL_11 : if ( ( int ) v13 >= Number ) break ; } v11 = ( _QWORD * ) v8 [ Number ] ; @@a2@@ = Number L ; if ( ! v11 ) goto LABEL_13 ; LABEL_4 : v8 = v11 ; } v11 = ( _QWORD * ) v8 [ Number ] ; @@a2@@ = Number L ; if ( v11 ) goto LABEL_4 ; LABEL_13 : @@v14@@ = v8 ; if ( ! ( _BYTE ) @@a2@@ ) goto LABEL_14 ; LABEL_30 : if ( ( _QWORD * ) @@a1@@ [ Number ] == v8 ) { @@v14@@ = v8 ; LOBYTE ( v17 ) = Number ; if ( @@v30@@ != v8 ) goto LABEL_39 ; goto LABEL_23 ; } @@v14@@ = v8 ; v23 = std _Rb_tree_decrement ( v8 , @@a2@@ , @@a3@@ , @@a4@@ , @@a5@@ , @@a6@@ ) ; v9 = * ( _QWORD * ) ( v7 + Number ) ; @@v10@@ = * ( const void * * ) v7 ; v12 = * ( _QWORD * ) ( v23 + Number ) ; @@a6@@ = * ( const void * * ) ( v23 + Number ) ; v8 = ( _QWORD * ) v23 ; @@a3@@ = v12 ; if ( v9 <= v12 ) @@a3@@ = * ( _QWORD * ) ( v7 + Number ) ; LABEL_14 : if ( @@a3@@ ) { v15 = memcmp ( @@a6@@ , @@v10@@ , @@a3@@ ) ; if ( v15 ) { LABEL_19 : if ( v15 < Number ) goto LABEL_21 ; return v8 ; } } if ( ( __int64 ) ( v12 - v9 ) > Number ) return v8 ; if ( ( __int64 ) ( v12 - v9 ) >= ( __int64 ) Number ) { v15 = v12 - v9 ; goto LABEL_19 ; } LABEL_21 : if ( ! @@v14@@ ) return Number L ; LOBYTE ( v17 ) = Number ; if ( @@v30@@ == @@v14@@ ) goto LABEL_23 ; LABEL_39 : v25 = * ( _QWORD * ) ( v7 + Number ) ; v26 = @@v14@@ [ Number ] ; v27 = v26 ; if ( v25 <= v26 ) v27 = * ( _QWORD * ) ( v7 + Number ) ; if ( v27 && ( v28 = memcmp ( * ( const void * * ) v7 , ( const void * ) @@v14@@ [ Number ] , v27 ) ) != Number ) { LABEL_46 : v17 = v28 >> Number ; } else { v29 = v25 - v26 ; LOBYTE ( v17 ) = Number ; if ( v29 <= Number ) { if ( v29 >= ( __int64 ) Number ) { v28 = v29 ; goto LABEL_46 ; } LOBYTE ( v17 ) = Number ; } } LABEL_23 : v18 = ( _QWORD * ) operator new ( Number ) ; v19 = * ( _BYTE * * ) v7 ; v20 = * ( _QWORD * ) ( v7 + Number ) ; v21 = v18 + Number ; v22 = v18 ; v18 [ Number ] = v18 + Number ; if ( & v19 [ v20 ] ) { if ( ! v19 ) std __throw_logic_error ( String ) ; } @@v34@@ [ Number ] = v20 ; if ( v20 > Number ) { v24 = std __cxx11 basic_string < char , std char_traits < char > , std allocator < char >> _M_create ( v18 + Number , @@v34@@ , Number L ) ; v22 [ Number ] = v24 ; v21 = ( void * ) v24 ; v22 [ Number ] = @@v34@@ [ Number ] ; goto LABEL_37 ; } if ( v20 == Number ) { * ( ( _BYTE * ) v18 + Number ) = * v19 ; goto LABEL_28 ; } if ( v20 ) { LABEL_37 : memcpy ( v21 , v19 , v20 ) ; v20 = @@v34@@ [ Number ] ; v21 = ( void * ) v22 [ Number ] ; } LABEL_28 : v22 [ Number ] = v20 ; * ( ( _BYTE * ) v21 + v20 ) = Number ; std _Rb_tree_insert_and_rebalance ( ( unsigned __int8 ) v17 , v22 , @@v14@@ , @@v30@@ ) ; ++ @@a1@@ [ Number ] ; return v22 ; }", "source": [{"n": "v14", "t": {"T": 3, "t": "_QWORD"}, "location": "r112"}, {"n": "a3", "t": {"T": 1, "n": "size_t", "s": 8}, "location": "r16"}, {"n": "a4", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r24"}, {"n": "a1", "t": {"T": 3, "t": "_QWORD"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "a5", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r72"}, {"n": "a6", "t": {"T": 3, "t": "const void"}, "location": "r80"}, {"n": "v10", "t": {"T": 3, "t": "const void"}, "location": "r88"}, {"n": "v30", "t": {"T": 3, "t": "_QWORD"}, "location": "s104"}, {"n": "v34", "t": {"T": 2, "n": 8, "s": 8, "t": "size_t"}, "location": "s64"}, {"n": "n", "t": {"T": 1, "n": "size_t", "s": 8}, "location": "s80"}, {"n": "v32", "t": {"T": 3, "t": "const void"}, "location": "s88"}, {"n": "v31", "t": {"T": 3, "t": "const void"}, "location": "s96"}]}