// File: /workspace/github_cpp_makefile_star2_O1/jliesch[P]ofxget/pugixml/pugixml.cpp
// Function: pugi::impl::(anonymous namespace)::xml_buffered_writer::flush(char const*, unsigned long)
void flush(const char_t* data, size_t size)
		{
			if (size == 0) return;

			// fast path, just write data
			if (encoding == get_write_native_encoding())
				writer.write(data, size * sizeof(char_t));
			else
			{
				// convert chunk
				size_t result = convert_buffer_output(scratch.data_char, scratch.data_u8, scratch.data_u16, scratch.data_u32, data, size, encoding);
				assert(result <= sizeof(scratch));

				// write data
				writer.write(scratch.data_u8, result);
			}
		}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
testq %rdx, %rdx
je 0x2a3f9
movq %rdx, %rax
movq %rdi, %rbx
movl 0x2810(%rdi), %ecx
cmpl $0x1, %ecx
jne 0x2a3fe
movq 0x2800(%rbx), %rdi
movq (%rdi), %rcx
movq 0x10(%rcx), %rcx
movq %rax, %rdx
popq %rbx
popq %r14
popq %rbp
jmpq *%rcx
popq %rbx
popq %r14
popq %rbp
retq
leaq 0x800(%rbx), %r14
movl %ecx, %edx
andl $-0x2, %edx
cmpl $0x2, %edx
jne 0x2a643
movl $0x800, %edx            # imm = 0x800
movzbl (%rsi), %edi
testb %dil, %dil
js 0x2a488
movw %di, (%rbx,%rdx)
addq $0x2, %rdx
incq %rsi
decq %rax
cmpq $0x4, %rax
jb 0x2a604
movl %esi, %edi
andl $0x3, %edi
jne 0x2a604
testl $0x80808080, (%rsi)     # imm = 0x80808080
jne 0x2a604
movzbl (%rsi), %edi
movw %di, (%rbx,%rdx)
movzbl 0x1(%rsi), %edi
movw %di, 0x2(%rbx,%rdx)
movzbl 0x2(%rsi), %edi
movw %di, 0x4(%rbx,%rdx)
movzbl 0x3(%rsi), %edi
movw %di, 0x6(%rbx,%rdx)
addq $0x8, %rdx
addq $0x4, %rsi
addq $-0x4, %rax
cmpq $0x3, %rax
ja 0x2a443
jmp 0x2a604
cmpq $0x1, %rax
je 0x2a4d6
movl %edi, %r8d
andl $-0x20, %r8d
cmpl $0xc0, %r8d
jne 0x2a4d6
movzbl 0x1(%rsi), %r8d
movl %r8d, %r9d
andl $-0x40, %r9d
cmpl $0x80, %r9d
jne 0x2a4d6
andl $0x1f, %edi
shll $0x6, %edi
andl $0x3f, %r8d
orl %edi, %r8d
movw %r8w, (%rbx,%rdx)
addq $0x2, %rdx
addq $0x2, %rsi
addq $-0x2, %rax
jmp 0x2a604
cmpq $0x3, %rax
jb 0x2a541
movl %edi, %r8d
andl $-0x10, %r8d
cmpl $0xe0, %r8d
jne 0x2a541
movzbl 0x1(%rsi), %r8d
movl %r8d, %r9d
andl $-0x40, %r9d
cmpl $0x80, %r9d
jne 0x2a541
movzbl 0x2(%rsi), %r9d
movl %r9d, %r10d
andl $-0x40, %r10d
cmpl $0x80, %r10d
jne 0x2a541
shll $0xc, %edi
andl $0x3f, %r8d
shll $0x6, %r8d
orl %edi, %r8d
andl $0x3f, %r9d
orl %r8d, %r9d
movw %r9w, (%rbx,%rdx)
addq $0x2, %rdx
addq $0x3, %rsi
addq $-0x3, %rax
jmp 0x2a604
cmpq $0x4, %rax
jb 0x2a5fe
movl %edi, %r8d
andl $-0x8, %r8d
cmpl $0xf0, %r8d
jne 0x2a5fe
movzbl 0x1(%rsi), %r8d
movl %r8d, %r9d
andl $-0x40, %r9d
cmpl $0x80, %r9d
jne 0x2a5fe
movzbl 0x2(%rsi), %r10d
movl %r10d, %r9d
andl $-0x40, %r9d
cmpl $0x80, %r9d
jne 0x2a5fe
movzbl 0x3(%rsi), %r9d
movl %r9d, %r11d
andl $-0x40, %r11d
cmpl $0x80, %r11d
jne 0x2a5fe
andl $0x7, %edi
shll $0x12, %edi
andl $0x3f, %r8d
shll $0xc, %r8d
orl %edi, %r8d
shll $0x6, %r10d
andl $0x3f, %r9d
orl %r10d, %r9d
andl $0xc00, %r10d           # imm = 0xC00
leal (%r10,%r8), %edi
addl $0x3ff0000, %edi        # imm = 0x3FF0000
shrl $0xa, %edi
addl $0xffffd800, %edi       # imm = 0xFFFFD800
movw %di, (%rbx,%rdx)
andl $0x3ff, %r9d            # imm = 0x3FF
orl $0xdc00, %r9d           # imm = 0xDC00
movw %r9w, 0x2(%rbx,%rdx)
addq $0x4, %rdx
addq $0x4, %rsi
addq $-0x4, %rax
jmp 0x2a604
incq %rsi
decq %rax
testq %rax, %rax
jne 0x2a418
cmpl $0x2, %ecx
setne %al
cmpq $0x800, %rdx            # imm = 0x800
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x2a637
movl $0x800, %eax            # imm = 0x800
rolw $0x8, (%rbx,%rax)
addq $0x2, %rax
cmpq %rax, %rdx
jne 0x2a629
addq $-0x800, %rdx           # imm = 0xF800
jmp 0x2a823
leal -0x5(%rcx), %edx
cmpl $0x1, %edx
ja 0x2a689
cmpl $0x5, %ecx
sete %bpl
movq %rsi, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x2a882
movq %rax, %rdx
subq %r14, %rdx
sete %cl
orb %bpl, %cl
jne 0x2a823
movq %r14, %rcx
movl (%rcx), %esi
bswapl %esi
movl %esi, (%rcx)
addq $0x4, %rcx
cmpq %rax, %rcx
jne 0x2a675
jmp 0x2a823
cmpl $0x9, %ecx
jne 0x2a862
movl $0x3f, %ecx
movq %r14, %rdx
movb (%rsi), %r8b
testb %r8b, %r8b
js 0x2a704
movb %r8b, (%rdx)
incq %rdx
incq %rsi
decq %rax
cmpq $0x4, %rax
jb 0x2a817
movl %esi, %edi
andl $0x3, %edi
jne 0x2a817
testl $0x80808080, (%rsi)     # imm = 0x80808080
jne 0x2a817
movb (%rsi), %dil
movb %dil, (%rdx)
movb 0x1(%rsi), %dil
movb %dil, 0x1(%rdx)
movb 0x2(%rsi), %dil
movb %dil, 0x2(%rdx)
movb 0x3(%rsi), %dil
movb %dil, 0x3(%rdx)
addq $0x4, %rdx
addq $0x4, %rsi
addq $-0x4, %rax
cmpq $0x3, %rax
ja 0x2a6c3
jmp 0x2a817
movzbl %r8b, %edi
cmpq $0x1, %rax
je 0x2a75a
movl %edi, %r9d
andl $-0x20, %r9d
cmpl $0xc0, %r9d
jne 0x2a75a
movb 0x1(%rsi), %r9b
movl %r9d, %r10d
andb $-0x40, %r10b
negb %r10b
jno 0x2a75a
movl %r8d, %edi
shlb $0x6, %dil
andb $0x3f, %r9b
orb %dil, %r9b
testb $0x1c, %r8b
movzbl %r9b, %edi
cmovnel %ecx, %edi
movb %dil, (%rdx)
incq %rdx
addq $0x2, %rsi
addq $-0x2, %rax
jmp 0x2a817
cmpq $0x3, %rax
jb 0x2a7c9
movl %edi, %r8d
andl $-0x10, %r8d
cmpl $0xe0, %r8d
jne 0x2a7c9
movzbl 0x1(%rsi), %r8d
movl %r8d, %r9d
andl $-0x40, %r9d
cmpl $0x80, %r9d
jne 0x2a7c9
movzbl 0x2(%rsi), %r9d
movl %r9d, %r10d
andl $-0x40, %r10d
cmpl $0x80, %r10d
jne 0x2a7c9
shll $0xc, %edi
movzwl %di, %edi
shll $0x6, %r8d
andl $0x3f, %r9d
orl %r8d, %r9d
andl $0xf00, %r8d            # imm = 0xF00
orl %edi, %r8d
cmovnel %ecx, %r9d
movb %r9b, (%rdx)
incq %rdx
addq $0x3, %rsi
addq $-0x3, %rax
jmp 0x2a817
cmpq $0x4, %rax
jb 0x2a811
andl $-0x8, %edi
cmpl $0xf0, %edi
jne 0x2a811
movb 0x1(%rsi), %dil
andb $-0x40, %dil
negb %dil
jno 0x2a811
movb 0x2(%rsi), %dil
andb $-0x40, %dil
negb %dil
jno 0x2a811
movb 0x3(%rsi), %dil
andb $-0x40, %dil
negb %dil
jno 0x2a811
movb $0x3f, (%rdx)
incq %rdx
addq $0x4, %rsi
addq $-0x4, %rax
jmp 0x2a817
incq %rsi
decq %rax
testq %rax, %rax
jne 0x2a69a
subq %r14, %rdx
cmpq $0x2001, %rdx           # imm = 0x2001
jae 0x2a843
movq 0x2800(%rbx), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
movq %r14, %rsi
popq %rbx
popq %r14
popq %rbp
jmpq *%rax
leaq 0x9f0e(%rip), %rdi      # 0x34758
leaq 0x86a4(%rip), %rsi      # 0x32ef5
leaq 0x9f1a(%rip), %rcx      # 0x34772
movl $0xe89, %edx            # imm = 0xE89
callq 0x6120
leaq 0x9488(%rip), %rdi      # 0x33cf1
leaq 0x8685(%rip), %rsi      # 0x32ef5
leaq 0x9f56(%rip), %rcx      # 0x347cd
movl $0xe67, %edx            # imm = 0xE67
callq 0x6120
nop