// File: WShabti-Team[P]WShabtiPict/wshabtilib/api/trie.h
// Function: trie<std::vector<std::pair<pictcore::Parameter*, int>, std::allocator<std::pair<pictcore::Parameter*, int>>>>::insert(std::vector<std::pair<pictcore::Parameter*, int>, std::allocator<std::pair<pictcore::Parameter*, int>>>&)
bool insert( Col &t )
    {
        trienode<typename Col::value_type>* current = m_root;
        for( typename Col::iterator ic = t.begin(); ic != t.end(); ++ic )
        {
            typename TNodeCol::iterator found;
            found = current->children.find( *ic );
            if( found == current->children.end() )
            {
                trienode< typename Col::value_type > *node = NULL;

                try
                {
                    node = new trienode < typename Col::value_type >;
                }
                catch( std::bad_alloc e )
                {
                    return( false );
                }

                std::pair<typename TNodeCol::iterator, bool> ret = current->children.insert( make_pair( *ic, node ) );
                if( !ret.second ) return( false );

                found = ret.first;
            }
            current = found->second;
        }
        current->valid = true;

        return( true );
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0xbe50
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rdi
callq 0xbea0
movq %rax, -0x30(%rbp)
leaq -0x28(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0xcc60
testb $0x1, %al
jne 0xacde
jmp 0xae7e
leaq -0x38(%rbp), %rdi
callq 0x12aa0
movq -0x20(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq -0x28(%rbp), %rdi
callq 0xccd0
movq -0xa8(%rbp), %rdi
movq %rax, %rsi
callq 0xcca0
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x20(%rbp), %rdi
callq 0xbd60
movq %rax, -0x48(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0xccf0
testb $0x1, %al
jne 0xad39
jmp 0xae5f
movq $0x0, -0x50(%rbp)
movl $0x38, %edi
callq 0x75e0
movq %rax, -0xb0(%rbp)
jmp 0xad54
movq -0xb0(%rbp), %rdi
callq 0x12ac0
jmp 0xad62
movq -0xb0(%rbp), %rax
movq %rax, -0x50(%rbp)
jmp 0xade9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0xad9a
movq -0xb0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
movl $0x38, %esi
callq 0x7600
movl -0x5c(%rbp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0xae98
movq -0x58(%rbp), %rdi
movq %rdi, -0xb8(%rbp)
callq 0x7740
movq %rax, %rsi
leaq -0x68(%rbp), %rdi
callq 0x12af0
movq -0xb8(%rbp), %rdi
callq 0x7220
movb $0x0, -0x1(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x7410
callq 0x7900
jmp 0xae8a
movq -0x20(%rbp), %rax
movq %rax, -0xc8(%rbp)
leaq -0x28(%rbp), %rdi
callq 0xccd0
movq %rax, %rsi
leaq -0x90(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
leaq -0x50(%rbp), %rdx
callq 0x12b70
movq -0xc8(%rbp), %rdi
movq -0xc0(%rbp), %rsi
callq 0x12b30
movb %dl, -0x98(%rbp)
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rax
movq %rax, -0x78(%rbp)
movb -0x98(%rbp), %al
movb %al, -0x70(%rbp)
testb $0x1, -0x70(%rbp)
jne 0xae57
movb $0x0, -0x1(%rbp)
jmp 0xae8a
movq -0x78(%rbp), %rax
movq %rax, -0x38(%rbp)
leaq -0x38(%rbp), %rdi
callq 0xbd90
movq 0x10(%rax), %rax
movq %rax, -0x20(%rbp)
leaq -0x28(%rbp), %rdi
callq 0xcd20
jmp 0xacbb
movq -0x20(%rbp), %rax
movb $0x1, 0x30(%rax)
movb $0x1, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0xd0, %rsp
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x79d0
nopw %cs:(%rax,%rax)
nopl (%rax,%rax)