// File: tap3edit[P]tap3xml/Asn.cpp
// Function: Asn::_dump_spec_tree(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, tagtype_s*, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, tagtype_s*>>>&)
void Asn::_dump_spec_tree(map<string,tagtype_s *> &spec_tree)
{
    map<string,tagtype_s *>::iterator   mii;
    vector<tagelem_s *>::iterator       vii;
    vector<tagelem_s *>*                children;


    for(mii=spec_tree.begin();mii!=spec_tree.end();mii++)
    {
        if (mii->second!=NULL)
        {
            cout << "type_name:     " << mii->second->type_name << endl;
            cout << "type_type:     " << mii->second->type_name << endl;
            cout << "tagid:         " << mii->second->tagid << endl;
            cout << "action:        " << mii->second->action << endl;
            cout << "modified:      " << mii->second->modified << endl;
            cout << "checked:       " << mii->second->checked << endl;
            if (mii->second->children!=NULL)
            {
                children=mii->second->children;

                for(vii=children->begin();vii!=children->end();vii++)
                {
                    if (*vii!=NULL)
                    {
                        cout << "children:elem_name:    " << (*vii)->elem_name << "\n";
                        cout << "children:elem_type:    " << (*vii)->elem_type << "\n";
                        cout << "children:option:       " << (*vii)->optional << "\n";
                    }
                }
            }
            cout << endl;
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x1f070
leaq -0x20(%rbp), %rdi
callq 0x1edd0
movq -0x10(%rbp), %rdi
callq 0x1f0b0
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0xf5a0
movq %rax, -0x38(%rbp)
leaq -0x18(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x1f0e0
testb $0x1, %al
jne 0x1e56d
jmp 0x1e88d
leaq -0x18(%rbp), %rdi
callq 0x1f110
cmpq $0x0, 0x20(%rax)
je 0x1e877
movq 0x12a38(%rip), %rdi     # 0x30fc0
leaq 0x7b35(%rip), %rsi      # 0x260c4
callq 0x4340
movq %rax, -0x88(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x1f110
movq -0x88(%rbp), %rdi
movq 0x20(%rax), %rsi
callq 0x42e0
movq %rax, %rdi
movq 0x129ea(%rip), %rsi     # 0x30fa8
callq 0x43b0
movq 0x129f6(%rip), %rdi     # 0x30fc0
leaq 0x7b03(%rip), %rsi      # 0x260d4
callq 0x4340
movq %rax, -0x80(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x1f110
movq -0x80(%rbp), %rdi
movq 0x20(%rax), %rsi
callq 0x42e0
movq %rax, %rdi
movq 0x129ae(%rip), %rsi     # 0x30fa8
callq 0x43b0
movq 0x129ba(%rip), %rdi     # 0x30fc0
leaq 0x7ad7(%rip), %rsi      # 0x260e4
callq 0x4340
movq %rax, -0x78(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x1f110
movq -0x78(%rbp), %rdi
movq 0x20(%rax), %rax
movl 0x40(%rax), %esi
callq 0x46a0
movq %rax, %rdi
movq 0x1296f(%rip), %rsi     # 0x30fa8
callq 0x43b0
movq 0x1297b(%rip), %rdi     # 0x30fc0
leaq 0x7aa8(%rip), %rsi      # 0x260f4
callq 0x4340
movq %rax, -0x70(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x1f110
movq -0x70(%rbp), %rdi
movq 0x20(%rax), %rax
movl 0x44(%rax), %esi
callq 0x46a0
movq %rax, %rdi
movq 0x12930(%rip), %rsi     # 0x30fa8
callq 0x43b0
movq 0x1293c(%rip), %rdi     # 0x30fc0
leaq 0x7a79(%rip), %rsi      # 0x26104
callq 0x4340
movq %rax, -0x68(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x1f110
movq -0x68(%rbp), %rdi
movq 0x20(%rax), %rax
movb 0x49(%rax), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x46f0
movq %rax, %rdi
movq 0x128ec(%rip), %rsi     # 0x30fa8
callq 0x43b0
movq 0x128f8(%rip), %rdi     # 0x30fc0
leaq 0x7a45(%rip), %rsi      # 0x26114
callq 0x4340
movq %rax, -0x60(%rbp)
leaq -0x18(%rbp), %rdi
callq 0x1f110
movq -0x60(%rbp), %rdi
movq 0x20(%rax), %rax
movb 0x48(%rax), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x46f0
movq %rax, %rdi
movq 0x128a8(%rip), %rsi     # 0x30fa8
callq 0x43b0
leaq -0x18(%rbp), %rdi
callq 0x1f110
movq 0x20(%rax), %rax
cmpq $0x0, 0x50(%rax)
je 0x1e864
leaq -0x18(%rbp), %rdi
callq 0x1f110
movq 0x20(%rax), %rax
movq 0x50(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rdi
callq 0x10a10
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x28(%rbp), %rdi
callq 0x108a0
movq %rax, -0x48(%rbp)
leaq -0x20(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x1edf0
testb $0x1, %al
jne 0x1e76a
jmp 0x1e862
leaq -0x20(%rbp), %rdi
callq 0x1ee30
cmpq $0x0, (%rax)
je 0x1e84c
movq 0x1283c(%rip), %rdi     # 0x30fc0
leaq 0x7999(%rip), %rsi      # 0x26124
callq 0x4340
movq %rax, -0xa0(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x1ee30
movq -0xa0(%rbp), %rdi
movq (%rax), %rsi
callq 0x42e0
movq %rax, %rdi
leaq 0x7334(%rip), %rsi      # 0x25aed
callq 0x4340
movq 0x127fb(%rip), %rdi     # 0x30fc0
leaq 0x7970(%rip), %rsi      # 0x2613c
callq 0x4340
movq %rax, -0x98(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x1ee30
movq -0x98(%rbp), %rdi
movq (%rax), %rsi
addq $0x20, %rsi
callq 0x42e0
movq %rax, %rdi
leaq 0x72ef(%rip), %rsi      # 0x25aed
callq 0x4340
movq 0x127b6(%rip), %rdi     # 0x30fc0
leaq 0x7943(%rip), %rsi      # 0x26154
callq 0x4340
movq %rax, -0x90(%rbp)
leaq -0x20(%rbp), %rdi
callq 0x1ee30
movq -0x90(%rbp), %rdi
movq (%rax), %rax
movb 0x40(%rax), %al
andb $0x1, %al
movzbl %al, %esi
callq 0x46f0
movq %rax, %rdi
leaq 0x72a6(%rip), %rsi      # 0x25aed
callq 0x4340
jmp 0x1e84e
leaq -0x20(%rbp), %rdi
xorl %esi, %esi
callq 0x1ee50
movq %rax, -0x50(%rbp)
jmp 0x1e747
jmp 0x1e864
movq 0x12755(%rip), %rdi     # 0x30fc0
movq 0x12736(%rip), %rsi     # 0x30fa8
callq 0x43b0
jmp 0x1e879
leaq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x1f190
movq %rax, -0x58(%rbp)
jmp 0x1e54a
addq $0xa0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)