{"name": "_ZN7cocos2dL11valueForKeyEPKcPSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_St4lessIS8_ESaISt4pairIKS8_S8_EEE.part.0", "code": "void * __fastcall cocos2d valueForKey ( void * @@src@@ , __int64 @@a2@@ ) { size_t v3 ; size_t v4 ; __int64 * v5 ; __int64 @@v6@@ ; size_t v7 ; __int64 * v8 ; __int64 @@v9@@ ; size_t @@v10@@ ; size_t v11 ; signed __int64 v12 ; size_t @@v13@@ ; size_t v14 ; int v15 ; __int64 v16 ; __int64 * v18 ; size_t @@v19@@ ; __int64 @@v20@@ ; void * @@s2@@ ; size_t @@n@@ ; __int64 @@v23@@ [ Number ] ; @@s2@@ = @@v23@@ ; if ( ! @@src@@ ) std __throw_logic_error ( String ) ; v3 = strlen ( ( const char * ) @@src@@ ) ; @@v20@@ = v3 ; v4 = v3 ; if ( v3 > Number ) { @@s2@@ = ( void * ) std __cxx11 basic_string < char , std char_traits < char > , std allocator < char >> _M_create ( & @@s2@@ , & @@v20@@ , Number L ) ; v18 = ( __int64 * ) @@s2@@ ; @@v23@@ [ Number ] = @@v20@@ ; goto LABEL_35 ; } if ( v3 != Number ) { if ( ! v3 ) { v5 = @@v23@@ ; goto LABEL_5 ; } v18 = @@v23@@ ; LABEL_35 : memcpy ( v18 , @@src@@ , v4 ) ; v3 = @@v20@@ ; v5 = ( __int64 * ) @@s2@@ ; goto LABEL_5 ; } LOBYTE ( @@v23@@ [ Number ] ) = * ( _BYTE * ) @@src@@ ; v5 = @@v23@@ ; LABEL_5 : @@n@@ = v3 ; * ( ( _BYTE * ) v5 + v3 ) = Number ; @@v6@@ = * ( _QWORD * ) ( @@a2@@ + Number ) ; if ( ! @@v6@@ ) { v8 = ( __int64 * ) @@s2@@ ; goto LABEL_31 ; } v7 = @@n@@ ; v8 = ( __int64 * ) @@s2@@ ; @@v9@@ = @@a2@@ + Number ; do { while ( Number ) { @@v10@@ = * ( _QWORD * ) ( @@v6@@ + Number ) ; v11 = v7 ; if ( @@v10@@ <= v7 ) v11 = * ( _QWORD * ) ( @@v6@@ + Number ) ; if ( v11 ) { @@v19@@ = * ( _QWORD * ) ( @@v6@@ + Number ) ; LODWORD ( v12 ) = memcmp ( * ( const void * * ) ( @@v6@@ + Number ) , v8 , v11 ) ; @@v10@@ = @@v19@@ ; if ( ( _DWORD ) v12 ) goto LABEL_14 ; } v12 = @@v10@@ - v7 ; if ( ( __int64 ) ( @@v10@@ - v7 ) >= Number ) break ; if ( v12 > ( __int64 ) Number ) { LABEL_14 : if ( ( int ) v12 >= Number ) break ; } @@v6@@ = * ( _QWORD * ) ( @@v6@@ + Number ) ; if ( ! @@v6@@ ) goto LABEL_16 ; } @@v9@@ = @@v6@@ ; @@v6@@ = * ( _QWORD * ) ( @@v6@@ + Number ) ; } while ( @@v6@@ ) ; LABEL_16 : if ( @@a2@@ + Number == @@v9@@ ) goto LABEL_31 ; @@v13@@ = * ( _QWORD * ) ( @@v9@@ + Number ) ; v14 = @@v13@@ ; if ( v7 <= @@v13@@ ) v14 = v7 ; if ( v14 ) { v15 = memcmp ( v8 , * ( const void * * ) ( @@v9@@ + Number ) , v14 ) ; if ( v15 ) { LABEL_24 : if ( v15 < Number ) goto LABEL_31 ; goto LABEL_25 ; } } v16 = v7 - @@v13@@ ; if ( v16 > Number ) { LABEL_25 : if ( v8 != @@v23@@ ) operator delete ( v8 ) ; return * ( void * * ) ( @@v9@@ + Number ) ; } if ( v16 >= ( __int64 ) Number ) { v15 = v16 ; goto LABEL_24 ; } LABEL_31 : if ( v8 != @@v23@@ ) operator delete ( v8 ) ; return & LC1 ; }", "source": [{"n": "v6", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r112"}, {"n": "v9", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r128"}, {"n": "v13", "t": {"T": 1, "n": "size_t", "s": 8}, "location": "r48"}, {"n": "src", "t": {"T": 3, "t": "void"}, "location": "r56"}, {"n": "a2", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "r64"}, {"n": "v10", "t": {"T": 1, "n": "size_t", "s": 8}, "location": "r80"}, {"n": "v19", "t": {"T": 1, "n": "size_t", "s": 8}, "location": "s112"}, {"n": "v23", "t": {"T": 2, "n": 9, "s": 8, "t": "__int64"}, "location": "s72"}, {"n": "n", "t": {"T": 1, "n": "size_t", "s": 8}, "location": "s80"}, {"n": "s2", "t": {"T": 3, "t": "void"}, "location": "s88"}, {"n": "v20", "t": {"T": 1, "n": "__int64", "s": 8}, "location": "s96"}]}