// File: jliesch[P]ofxget/pugixml/pugixml.cpp
// Function: pugi::impl::(anonymous namespace)::node_output_simple(pugi::impl::(anonymous namespace)::xml_buffered_writer&, pugi::xml_node_struct*, unsigned int)
PUGI__FN void node_output_simple(xml_buffered_writer& writer, xml_node_struct* node, unsigned int flags)
	{
		const char_t* default_name = PUGIXML_TEXT(":anonymous");

		switch (PUGI__NODETYPE(node))
		{
			case node_pcdata:
				text_output(writer, node->value ? node->value + 0 : PUGIXML_TEXT(""), ctx_special_pcdata, flags);
				break;

			case node_cdata:
				text_output_cdata(writer, node->value ? node->value + 0 : PUGIXML_TEXT(""));
				break;

			case node_comment:
				node_output_comment(writer, node->value ? node->value + 0 : PUGIXML_TEXT(""));
				break;

			case node_pi:
				writer.write('<', '?');
				writer.write_string(node->name ? node->name + 0 : default_name);

				if (node->value)
				{
					writer.write(' ');
					node_output_pi_value(writer, node->value);
				}

				writer.write('?', '>');
				break;

			case node_declaration:
				writer.write('<', '?');
				writer.write_string(node->name ? node->name + 0 : default_name);
				node_output_attributes(writer, node, PUGIXML_TEXT(""), 0, flags | format_raw, 0);
				writer.write('?', '>');
				break;

			case node_doctype:
				writer.write('<', '!', 'D', 'O', 'C');
				writer.write('T', 'Y', 'P', 'E');

				if (node->value)
				{
					writer.write(' ');
					writer.write_string(node->value);
				}

				writer.write('>');
				break;

			default:
				assert(false && "Invalid node type"); // unreachable
		}
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
leaq 0x15dc8(%rip), %rax     # 0x6cc35
movq %rax, -0x20(%rbp)
movq -0x10(%rbp), %rax
movl (%rax), %eax
andl $0xf, %eax
addl $-0x3, %eax
movl %eax, %ecx
movq %rcx, -0x28(%rbp)
subl $0x5, %eax
ja 0x570f3
movq -0x28(%rbp), %rax
leaq 0x13d69(%rip), %rcx     # 0x6ac00
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x56ec1
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x38(%rbp)
jmp 0x56ece
leaq 0x12241(%rip), %rax     # 0x69109
movq %rax, -0x38(%rbp)
jmp 0x56ece
movq -0x30(%rbp), %rdi
movq -0x38(%rbp), %rsi
movl -0x14(%rbp), %ecx
movl $0x1, %edx
callq 0x574d0
jmp 0x57112
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x56f09
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x48(%rbp)
jmp 0x56f16
leaq 0x121f9(%rip), %rax     # 0x69109
movq %rax, -0x48(%rbp)
jmp 0x56f16
movq -0x40(%rbp), %rdi
movq -0x48(%rbp), %rsi
callq 0x57520
jmp 0x57112
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x56f49
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x58(%rbp)
jmp 0x56f56
leaq 0x121b9(%rip), %rax     # 0x69109
movq %rax, -0x58(%rbp)
jmp 0x56f56
movq -0x50(%rbp), %rdi
movq -0x58(%rbp), %rsi
callq 0x57630
jmp 0x57112
movq -0x8(%rbp), %rdi
movl $0x3c, %esi
movl $0x3f, %edx
callq 0x48c80
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x56f9c
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x68(%rbp)
jmp 0x56fa4
movq -0x20(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x60(%rbp), %rdi
movq -0x68(%rbp), %rsi
callq 0x48b60
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x56fdb
movq -0x8(%rbp), %rdi
movl $0x20, %esi
callq 0x48cf0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x57770
movq -0x8(%rbp), %rdi
movl $0x3f, %esi
movl $0x3e, %edx
callq 0x48c80
jmp 0x57112
movq -0x8(%rbp), %rdi
movl $0x3c, %esi
movl $0x3f, %edx
callq 0x48c80
movq -0x8(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x57027
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x78(%rbp)
jmp 0x5702f
movq -0x20(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x70(%rbp), %rdi
movq -0x78(%rbp), %rsi
callq 0x48b60
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x14(%rbp), %r8d
orl $0x4, %r8d
leaq 0x120b6(%rip), %rdx     # 0x69109
xorl %eax, %eax
movl %eax, %ecx
xorl %r9d, %r9d
callq 0x57880
movq -0x8(%rbp), %rdi
movl $0x3f, %esi
movl $0x3e, %edx
callq 0x48c80
jmp 0x57112
movq -0x8(%rbp), %rdi
movl $0x3c, %esi
movl $0x21, %edx
movl $0x44, %ecx
movl $0x4f, %r8d
movl $0x43, %r9d
callq 0x579a0
movq -0x8(%rbp), %rdi
movl $0x54, %esi
movl $0x59, %edx
movl $0x50, %ecx
movl $0x45, %r8d
callq 0x57a60
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x570e3
movq -0x8(%rbp), %rdi
movl $0x20, %esi
callq 0x48cf0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
callq 0x48b60
movq -0x8(%rbp), %rdi
movl $0x3e, %esi
callq 0x48cf0
jmp 0x57112
leaq 0x143d4(%rip), %rdi     # 0x6b4ce
leaq 0x14254(%rip), %rsi     # 0x6b355
movl $0x1076, %edx           # imm = 0x1076
leaq 0x15b33(%rip), %rcx     # 0x6cc40
callq 0x7180
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax,%rax)