// File: /workspace/github_cpp_makefile_star2_O2/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 %r15
pushq %r14
pushq %r12
pushq %rbx
testq %rdx, %rdx
je 0x24e53
movq %rdx, %rax
movq %rdi, %rbx
movl 0x2810(%rdi), %r15d
cmpl $0x1, %r15d
jne 0x24e5c
movq 0x2800(%rbx), %rdi
movq (%rdi), %rcx
movq 0x10(%rcx), %rcx
movq %rax, %rdx
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmpq *%rcx
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x800(%rbx), %r14
movl %r15d, %ecx
andl $-0x2, %ecx
cmpl $0x2, %ecx
jne 0x250a9
pushq $0x3
popq %rcx
movq %r14, %rdx
movq %rsi, %rdi
movq %rcx, %r9
xorl %r8d, %r8d
leaq (%rax,%r8), %r10
movq %r10, %r11
subq $0x1, %r11
jb 0x250dd
movzbl -0x3(%rdi,%r9), %esi
testb %sil, %sil
jns 0x24f76
testq %r11, %r11
je 0x24ece
movl %esi, %r11d
andl $-0x20, %r11d
cmpl $0xc0, %r11d
jne 0x24ece
movzbl -0x2(%rdi,%r9), %r11d
movl %r11d, %ebp
andl $-0x40, %ebp
cmpl $0x80, %ebp
je 0x24fe7
cmpq $0x3, %r10
jb 0x24f12
movl %esi, %r11d
andl $-0x10, %r11d
cmpl $0xe0, %r11d
jne 0x24f12
movzbl -0x2(%rdi,%r9), %r11d
movl %r11d, %ebp
andl $-0x40, %ebp
cmpl $0x80, %ebp
jne 0x24f12
movzbl -0x1(%rdi,%r9), %ebp
movl %ebp, %r12d
andl $-0x40, %r12d
cmpl $0x80, %r12d
je 0x25012
cmpq $0x4, %r10
jb 0x24f6b
movl %esi, %r10d
andl $-0x8, %r10d
cmpl $0xf0, %r10d
jne 0x24f6b
movzbl -0x2(%rdi,%r9), %r10d
movl %r10d, %r11d
andl $-0x40, %r11d
cmpl $0x80, %r11d
jne 0x24f6b
movzbl -0x1(%rdi,%r9), %r12d
movl %r12d, %r11d
andl $-0x40, %r11d
cmpl $0x80, %r11d
jne 0x24f6b
movzbl (%rdi,%r9), %r11d
movl %r11d, %ebp
andl $-0x40, %ebp
cmpl $0x80, %ebp
je 0x25043
decq %r8
incq %r9
jmp 0x24e81
movw %si, (%rdx)
addq $0x2, %rdx
movq %rdi, %rsi
subq %r8, %rsi
incq %rsi
addq %r8, %rax
decq %rax
cmpq $0x4, %rax
jb 0x24e78
subl %r8d, %edi
incl %edi
andl $0x3, %edi
jne 0x24e78
movl (%rsi), %edi
testl $0x80808080, %edi       # imm = 0x80808080
jne 0x24e78
andl $0x7f, %edi
movw %di, (%rdx)
movzbl 0x1(%rsi), %edi
movw %di, 0x2(%rdx)
movzbl 0x2(%rsi), %edi
movw %di, 0x4(%rdx)
movzbl 0x3(%rsi), %edi
movw %di, 0x6(%rdx)
addq $0x8, %rdx
addq $0x4, %rsi
addq $-0x4, %rax
cmpq $0x3, %rax
ja 0x24fa4
jmp 0x24e78
andl $0x1f, %esi
shll $0x6, %esi
andl $0x3f, %r11d
orl %esi, %r11d
movw %r11w, (%rdx)
addq $0x2, %rdx
subq %r8, %rdi
addq $0x2, %rdi
addq %r8, %rax
addq $-0x2, %rax
movq %rdi, %rsi
jmp 0x24e78
shll $0xc, %esi
andl $0x3f, %r11d
shll $0x6, %r11d
orl %esi, %r11d
andl $0x3f, %ebp
orl %r11d, %ebp
movw %bp, (%rdx)
addq $0x2, %rdx
subq %r8, %rdi
addq $0x3, %rdi
addq %r8, %rax
addq $-0x3, %rax
movq %rdi, %rsi
jmp 0x24e78
andl $0x7, %esi
shll $0x12, %esi
andl $0x3f, %r10d
shll $0xc, %r10d
orl %esi, %r10d
shll $0x6, %r12d
andl $0x3f, %r11d
orl %r12d, %r11d
andl $0xc00, %r12d           # imm = 0xC00
leal (%r12,%r10), %esi
addl $0x3ff0000, %esi        # imm = 0x3FF0000
shrl $0xa, %esi
addl $0xffffd800, %esi       # imm = 0xFFFFD800
movw %si, (%rdx)
andl $0x3ff, %r11d           # imm = 0x3FF
orl $0xdc00, %r11d          # imm = 0xDC00
movw %r11w, 0x2(%rdx)
addq $0x4, %rdx
subq %r8, %rdi
addq $0x4, %rdi
addq %r8, %rax
addq $-0x4, %rax
movq %rdi, %rsi
jmp 0x24e78
leal -0x5(%r15), %ecx
cmpl $0x1, %ecx
ja 0x25112
movq %rsi, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0x25356
movq %rax, %rdx
cmpl $0x5, %r15d
je 0x250e7
movq %r14, %rax
cmpq %rdx, %rax
je 0x250e7
movl (%rax), %ecx
bswapl %ecx
movl %ecx, (%rax)
addq $0x4, %rax
jmp 0x250cc
cmpl $0x2, %r15d
jne 0x25301
subq %r14, %rdx
cmpq $0x2001, %rdx           # imm = 0x2001
jae 0x25317
movq 0x2800(%rbx), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
movq %r14, %rsi
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
jmpq *%rax
cmpl $0x9, %r15d
jne 0x25336
pushq $0x3
popq %rcx
pushq $0x3f
popq %rdi
movq %r14, %rdx
movq %rsi, %r8
movq %rcx, %rsi
xorl %r9d, %r9d
leaq (%rax,%r9), %r11
movq %r11, %r15
subq $0x1, %r15
jb 0x250e7
movb -0x3(%r8,%rsi), %bpl
testb %bpl, %bpl
jns 0x25206
movzbl %bpl, %r10d
testq %r15, %r15
je 0x25177
movl %r10d, %r15d
andl $-0x20, %r15d
cmpl $0xc0, %r15d
jne 0x25177
movb -0x2(%r8,%rsi), %r15b
movl %r15d, %r12d
andb $-0x40, %r12b
negb %r12b
jo 0x25277
cmpq $0x3, %r11
jb 0x251bb
movl %r10d, %ebp
andl $-0x10, %ebp
cmpl $0xe0, %ebp
jne 0x251bb
movzbl -0x2(%r8,%rsi), %ebp
movl %ebp, %r15d
andl $-0x40, %r15d
cmpl $0x80, %r15d
jne 0x251bb
movzbl -0x1(%r8,%rsi), %r15d
movl %r15d, %r12d
andl $-0x40, %r12d
cmpl $0x80, %r12d
je 0x252ab
cmpq $0x4, %r11
jb 0x251fb
andl $-0x8, %r10d
cmpl $0xf0, %r10d
jne 0x251fb
movb -0x2(%r8,%rsi), %r10b
andb $-0x40, %r10b
negb %r10b
jno 0x251fb
movb -0x1(%r8,%rsi), %r10b
andb $-0x40, %r10b
negb %r10b
jno 0x251fb
movb (%r8,%rsi), %r10b
andb $-0x40, %r10b
negb %r10b
jo 0x252e5
decq %r9
incq %rsi
jmp 0x2512e
movb %bpl, (%rdx)
incq %rdx
movq %r8, %rsi
subq %r9, %rsi
incq %rsi
addq %r9, %rax
decq %rax
cmpq $0x4, %rax
jb 0x25125
subl %r9d, %r8d
incl %r8d
andl $0x3, %r8d
jne 0x25125
movl (%rsi), %r8d
testl $0x80808080, %r8d       # imm = 0x80808080
jne 0x25125
movb %r8b, (%rdx)
movb 0x1(%rsi), %r8b
movb %r8b, 0x1(%rdx)
movb 0x2(%rsi), %r8b
movb %r8b, 0x2(%rdx)
movb 0x3(%rsi), %r8b
movb %r8b, 0x3(%rdx)
addq $0x4, %rdx
addq $0x4, %rsi
addq $-0x4, %rax
cmpq $0x3, %rax
ja 0x25235
jmp 0x25125
movl %ebp, %esi
shlb $0x6, %sil
andb $0x3f, %r15b
orb %sil, %r15b
testb $0x1c, %bpl
movzbl %r15b, %esi
cmovnel %edi, %esi
movb %sil, (%rdx)
incq %rdx
subq %r9, %r8
addq $0x2, %r8
addq %r9, %rax
addq $-0x2, %rax
movq %r8, %rsi
jmp 0x25125
shll $0xc, %r10d
movzwl %r10w, %esi
shll $0x6, %ebp
andl $0x3f, %r15d
orl %ebp, %r15d
andl $0xf00, %ebp            # imm = 0xF00
orl %esi, %ebp
cmovnel %edi, %r15d
movb %r15b, (%rdx)
incq %rdx
subq %r9, %r8
addq $0x3, %r8
addq %r9, %rax
addq $-0x3, %rax
movq %r8, %rsi
jmp 0x25125
movb $0x3f, (%rdx)
incq %rdx
subq %r9, %r8
addq $0x4, %r8
addq %r9, %rax
addq $-0x4, %rax
movq %r8, %rsi
jmp 0x25125
movq %r14, %rax
cmpq %rdx, %rax
je 0x250e7
rolw $0x8, (%rax)
addq $0x2, %rax
jmp 0x25304
leaq 0x83fa(%rip), %rdi      # 0x2d718
leaq 0x6c10(%rip), %rsi      # 0x2bf35
leaq 0x8406(%rip), %rcx      # 0x2d732
movl $0xe89, %edx            # imm = 0xE89
callq 0x6100
leaq 0x79f4(%rip), %rdi      # 0x2cd31
leaq 0x6bf1(%rip), %rsi      # 0x2bf35
leaq 0x8442(%rip), %rcx      # 0x2d78d
movl $0xe67, %edx            # imm = 0xE67
callq 0x6100
nop