// File: tdv[P]boss/boss/include/other/rapidxml-1.13/rapidxml_print.hpp
// Function: std::ostream_iterator<char, char, std::char_traits<char>> rapidxml::internal::print_element_node<std::ostream_iterator<char, char, std::char_traits<char>>, char>(std::ostream_iterator<char, char, std::char_traits<char>>, rapidxml::xml_node<char> const*, int, int)
inline OutIt print_element_node(OutIt out, const xml_node<Ch> *node, int flags, int indent)
        {
            assert(node->type() == node_element);

            // Print element name and attributes, if any
            if (!(flags & print_no_indenting))
                out = fill_chars(out, indent, Ch('\t'));
            *out = Ch('<'), ++out;
            out = copy_chars(node->name(), node->name() + node->name_size(), out);
            out = print_attributes(out, node, flags);
            
            // If node is childless
            if (node->value_size() == 0 && !node->first_node())
            {
                // Print childless node tag ending
                *out = Ch('/'), ++out;
                *out = Ch('>'), ++out;
            }
            else
            {
                // Print normal node tag ending
                *out = Ch('>'), ++out;

                // Test if node contains a single data node only (and no other nodes)
                xml_node<Ch> *child = node->first_node();
                if (!child)
                {
                    // If node has no children, only print its value without indenting
                    out = copy_and_expand_chars(node->value(), node->value() + node->value_size(), Ch(0), out);
                }
                else if (child->next_sibling() == 0 && child->type() == node_data)
                {
                    // If node has a sole data child, only print its value without indenting
                    out = copy_and_expand_chars(child->value(), child->value() + child->value_size(), Ch(0), out);
                }
                else
                {
                    // Print all children with full indenting
                    if (!(flags & print_no_indenting))
                        *out = Ch('\n'), ++out;
                    out = print_children(out, node, flags, indent + 1);
                    if (!(flags & print_no_indenting))
                        out = fill_chars(out, indent, Ch('\t'));
                }

                // Print node end
                *out = Ch('<'), ++out;
                *out = Ch('/'), ++out;
                out = copy_chars(node->name(), node->name() + node->name_size(), out);
                *out = Ch('>'), ++out;
            }
            return out;
        }

// Assembly:
subq $0x1c8, %rsp            # imm = 0x1C8
movq %rsi, 0x60(%rsp)
movq %rdi, 0x68(%rsp)
movq %rdi, %rax
movq %rax, 0x70(%rsp)
movq %rdi, 0x1c0(%rsp)
movq %rsi, 0x1b8(%rsp)
movq %rdx, 0x1b0(%rsp)
movl %ecx, 0x1ac(%rsp)
movl %r8d, 0x1a8(%rsp)
movq 0x1b0(%rsp), %rdi
callq 0x37730
cmpl $0x1, %eax
jne 0x3a3c4
jmp 0x3a3e3
leaq 0xbc8b2(%rip), %rdi     # 0xf6c7d
leaq 0xbc7fa(%rip), %rsi     # 0xf6bcc
movl $0x114, %edx            # imm = 0x114
leaq 0xbc8bc(%rip), %rcx     # 0xf6c9a
callq 0x1c150
movl 0x1ac(%rsp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x3a441
movq 0x60(%rsp), %rsi
leaq 0x188(%rsp), %rdi
callq 0x3a270
movl 0x1a8(%rsp), %edx
leaq 0x198(%rsp), %rdi
leaq 0x188(%rsp), %rsi
movl $0x9, %ecx
callq 0x3b8b0
movq 0x60(%rsp), %rax
movq 0x198(%rsp), %rcx
movq %rcx, (%rax)
movq 0x1a0(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0x60(%rsp), %rdi
movb $0x3c, 0x187(%rsp)
callq 0x3b840
movq %rax, %rdi
leaq 0x187(%rsp), %rsi
callq 0x3b850
movq 0x60(%rsp), %rdi
callq 0x3b8a0
movq 0x1b0(%rsp), %rdi
callq 0x33040
movq %rax, 0x50(%rsp)
movq 0x1b0(%rsp), %rdi
callq 0x33040
movq %rax, 0x48(%rsp)
movq 0x1b0(%rsp), %rdi
callq 0x33080
movq 0x60(%rsp), %rsi
movq %rax, %rcx
movq 0x48(%rsp), %rax
addq %rcx, %rax
movq %rax, 0x58(%rsp)
leaq 0x160(%rsp), %rdi
callq 0x3a270
movq 0x50(%rsp), %rsi
movq 0x58(%rsp), %rdx
leaq 0x170(%rsp), %rdi
leaq 0x160(%rsp), %rcx
callq 0x3b930
movq 0x60(%rsp), %rsi
movq 0x170(%rsp), %rax
movq %rax, (%rsi)
movq 0x178(%rsp), %rax
movq %rax, 0x8(%rsi)
leaq 0x140(%rsp), %rdi
callq 0x3a270
movq 0x1b0(%rsp), %rdx
movl 0x1ac(%rsp), %ecx
leaq 0x150(%rsp), %rdi
leaq 0x140(%rsp), %rsi
callq 0x3b9c0
movq 0x60(%rsp), %rax
movq 0x150(%rsp), %rcx
movq %rcx, (%rax)
movq 0x158(%rsp), %rcx
movq %rcx, 0x8(%rax)
movq 0x1b0(%rsp), %rdi
callq 0x36da0
cmpq $0x0, %rax
jne 0x3a5d7
movq 0x1b0(%rsp), %rdi
xorl %eax, %eax
movl %eax, %edx
movl $0x1, %ecx
movq %rdx, %rsi
callq 0x32f50
cmpq $0x0, %rax
jne 0x3a5d7
movq 0x60(%rsp), %rdi
movb $0x2f, 0x13f(%rsp)
callq 0x3b840
movq %rax, %rdi
leaq 0x13f(%rsp), %rsi
callq 0x3b850
movq 0x60(%rsp), %rdi
callq 0x3b8a0
movq 0x60(%rsp), %rdi
movb $0x3e, 0x13e(%rsp)
callq 0x3b840
movq %rax, %rdi
leaq 0x13e(%rsp), %rsi
callq 0x3b850
movq 0x60(%rsp), %rdi
callq 0x3b8a0
jmp 0x3a996
movq 0x60(%rsp), %rdi
movb $0x3e, 0x13d(%rsp)
callq 0x3b840
movq %rax, %rdi
leaq 0x13d(%rsp), %rsi
callq 0x3b850
movq 0x60(%rsp), %rdi
callq 0x3b8a0
movq 0x1b0(%rsp), %rdi
xorl %eax, %eax
movl %eax, %edx
movl $0x1, %ecx
movq %rdx, %rsi
callq 0x32f50
movq %rax, 0x130(%rsp)
cmpq $0x0, 0x130(%rsp)
jne 0x3a6c8
movq 0x1b0(%rsp), %rdi
callq 0x36d60
movq %rax, 0x38(%rsp)
movq 0x1b0(%rsp), %rdi
callq 0x36d60
movq %rax, 0x30(%rsp)
movq 0x1b0(%rsp), %rdi
callq 0x36da0
movq 0x60(%rsp), %rsi
movq %rax, %rcx
movq 0x30(%rsp), %rax
addq %rcx, %rax
movq %rax, 0x40(%rsp)
leaq 0x110(%rsp), %rdi
callq 0x3a270
movq 0x38(%rsp), %rsi
movq 0x40(%rsp), %rdx
leaq 0x120(%rsp), %rdi
xorl %ecx, %ecx
leaq 0x110(%rsp), %r8
callq 0x3bd90
movq 0x60(%rsp), %rax
movq 0x120(%rsp), %rcx
movq %rcx, (%rax)
movq 0x128(%rsp), %rcx
movq %rcx, 0x8(%rax)
jmp 0x3a891
movq 0x130(%rsp), %rdi
xorl %eax, %eax
movl %eax, %edx
movl $0x1, %ecx
movq %rdx, %rsi
callq 0x33cf0
cmpq $0x0, %rax
jne 0x3a796
movq 0x130(%rsp), %rdi
callq 0x37730
cmpl $0x2, %eax
jne 0x3a796
movq 0x130(%rsp), %rdi
callq 0x36d60
movq %rax, 0x20(%rsp)
movq 0x130(%rsp), %rdi
callq 0x36d60
movq %rax, 0x18(%rsp)
movq 0x130(%rsp), %rdi
callq 0x36da0
movq 0x60(%rsp), %rsi
movq %rax, %rcx
movq 0x18(%rsp), %rax
addq %rcx, %rax
movq %rax, 0x28(%rsp)
leaq 0xf0(%rsp), %rdi
callq 0x3a270
movq 0x20(%rsp), %rsi
movq 0x28(%rsp), %rdx
leaq 0x100(%rsp), %rdi
xorl %ecx, %ecx
leaq 0xf0(%rsp), %r8
callq 0x3bd90
movq 0x60(%rsp), %rax
movq 0x100(%rsp), %rcx
movq %rcx, (%rax)
movq 0x108(%rsp), %rcx
movq %rcx, 0x8(%rax)
jmp 0x3a88f
movl 0x1ac(%rsp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x3a7d1
movq 0x60(%rsp), %rdi
movb $0xa, 0xef(%rsp)
callq 0x3b840
movq %rax, %rdi
leaq 0xef(%rsp), %rsi
callq 0x3b850
movq 0x60(%rsp), %rdi
callq 0x3b8a0
movq 0x60(%rsp), %rsi
leaq 0xc8(%rsp), %rdi
callq 0x3a270
movq 0x1b0(%rsp), %rdx
movl 0x1ac(%rsp), %ecx
movl 0x1a8(%rsp), %r8d
addl $0x1, %r8d
leaq 0xd8(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
callq 0x3a2a0
movq 0x60(%rsp), %rax
movq 0xd8(%rsp), %rcx
movq %rcx, (%rax)
movq 0xe0(%rsp), %rcx
movq %rcx, 0x8(%rax)
movl 0x1ac(%rsp), %eax
andl $0x1, %eax
cmpl $0x0, %eax
jne 0x3a88d
movq 0x60(%rsp), %rsi
leaq 0xa8(%rsp), %rdi
callq 0x3a270
movl 0x1a8(%rsp), %edx
leaq 0xb8(%rsp), %rdi
leaq 0xa8(%rsp), %rsi
movl $0x9, %ecx
callq 0x3b8b0
movq 0x60(%rsp), %rax
movq 0xb8(%rsp), %rcx
movq %rcx, (%rax)
movq 0xc0(%rsp), %rcx
movq %rcx, 0x8(%rax)
jmp 0x3a88f
jmp 0x3a891
movq 0x60(%rsp), %rdi
movb $0x3c, 0xa7(%rsp)
callq 0x3b840
movq %rax, %rdi
leaq 0xa7(%rsp), %rsi
callq 0x3b850
movq 0x60(%rsp), %rdi
callq 0x3b8a0
movq 0x60(%rsp), %rdi
movb $0x2f, 0xa6(%rsp)
callq 0x3b840
movq %rax, %rdi
leaq 0xa6(%rsp), %rsi
callq 0x3b850
movq 0x60(%rsp), %rdi
callq 0x3b8a0
movq 0x1b0(%rsp), %rdi
callq 0x33040
movq %rax, 0x8(%rsp)
movq 0x1b0(%rsp), %rdi
callq 0x33040
movq %rax, (%rsp)
movq 0x1b0(%rsp), %rdi
callq 0x33080
movq 0x60(%rsp), %rsi
movq %rax, %rcx
movq (%rsp), %rax
addq %rcx, %rax
movq %rax, 0x10(%rsp)
leaq 0x80(%rsp), %rdi
callq 0x3a270
movq 0x8(%rsp), %rsi
movq 0x10(%rsp), %rdx
leaq 0x90(%rsp), %rdi
leaq 0x80(%rsp), %rcx
callq 0x3b930
movq 0x60(%rsp), %rdi
movq 0x90(%rsp), %rax
movq %rax, (%rdi)
movq 0x98(%rsp), %rax
movq %rax, 0x8(%rdi)
movb $0x3e, 0x7f(%rsp)
callq 0x3b840
movq %rax, %rdi
leaq 0x7f(%rsp), %rsi
callq 0x3b850
movq 0x60(%rsp), %rdi
callq 0x3b8a0
movq 0x60(%rsp), %rsi
movq 0x68(%rsp), %rdi
callq 0x3a270
movq 0x70(%rsp), %rax
addq $0x1c8, %rsp            # imm = 0x1C8
retq
nopw %cs:(%rax,%rax)
nopl (%rax)