// File: jliesch[P]ofxget/pugixml/pugixml.cpp
// Function: pugi::impl::(anonymous namespace)::strconv_attribute_impl<pugi::impl::(anonymous namespace)::opt_true>::parse_wnorm(char*, char)
static char_t* parse_wnorm(char_t* s, char_t end_quote)
		{
			gap g;

			// trim leading whitespaces
			if (PUGI__IS_CHARTYPE(*s, ct_space))
			{
				char_t* str = s;

				do ++str;
				while (PUGI__IS_CHARTYPE(*str, ct_space));

				g.push(s, str - s);
			}

			while (true)
			{
				PUGI__SCANWHILE_UNROLL(!PUGI__IS_CHARTYPE(ss, ct_parse_attr_ws | ct_space));

				if (*s == end_quote)
				{
					char_t* str = g.flush(s);

					do *str-- = 0;
					while (PUGI__IS_CHARTYPE(*str, ct_space));

					return s + 1;
				}
				else if (PUGI__IS_CHARTYPE(*s, ct_space))
				{
					*s++ = ' ';

					if (PUGI__IS_CHARTYPE(*s, ct_space))
					{
						char_t* str = s + 1;
						while (PUGI__IS_CHARTYPE(*str, ct_space)) ++str;

						g.push(s, str - s);
					}
				}
				else if (opt_escape::value && *s == '&')
				{
					s = strconv_escape(s, g);
				}
				else if (!*s)
				{
					return 0;
				}
				else ++s;
			}
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movb %sil, %al
movq %rdi, -0x10(%rbp)
movb %al, -0x11(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x54ca0
movq -0x10(%rbp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x166d5(%rip), %rax     # 0x6b0d0
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x54a4f
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x166a5(%rip), %rax     # 0x6b0d0
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
jne 0x54a0f
movq -0x30(%rbp), %rdx
movq -0x10(%rbp), %rax
subq %rax, %rdx
leaq -0x28(%rbp), %rdi
leaq -0x10(%rbp), %rsi
callq 0x55280
jmp 0x54a51
jmp 0x54a53
movq -0x10(%rbp), %rax
movb (%rax), %al
movb %al, -0x31(%rbp)
movzbl -0x31(%rbp), %eax
movl %eax, %ecx
leaq 0x16667(%rip), %rax     # 0x6b0d0
movzbl (%rax,%rcx), %eax
andl $0xc, %eax
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x54a80
jmp 0x54a85
jmp 0x54b4d
movq -0x10(%rbp), %rax
movb 0x1(%rax), %al
movb %al, -0x31(%rbp)
movzbl -0x31(%rbp), %eax
movl %eax, %ecx
leaq 0x16634(%rip), %rax     # 0x6b0d0
movzbl (%rax,%rcx), %eax
andl $0xc, %eax
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x54ab3
jmp 0x54ac4
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x54b4d
movq -0x10(%rbp), %rax
movb 0x2(%rax), %al
movb %al, -0x31(%rbp)
movzbl -0x31(%rbp), %eax
movl %eax, %ecx
leaq 0x165f5(%rip), %rax     # 0x6b0d0
movzbl (%rax,%rcx), %eax
andl $0xc, %eax
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x54af2
jmp 0x54b00
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0x54b4d
movq -0x10(%rbp), %rax
movb 0x3(%rax), %al
movb %al, -0x31(%rbp)
movzbl -0x31(%rbp), %eax
movl %eax, %ecx
leaq 0x165b9(%rip), %rax     # 0x6b0d0
movzbl (%rax,%rcx), %eax
andl $0xc, %eax
cmpl $0x0, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x54b2e
jmp 0x54b3c
movq -0x10(%rbp), %rax
addq $0x3, %rax
movq %rax, -0x10(%rbp)
jmp 0x54b4d
movq -0x10(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x10(%rbp)
jmp 0x54a53
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
movsbl -0x11(%rbp), %ecx
cmpl %ecx, %eax
jne 0x54bac
movq -0x10(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0x54cc0
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x40(%rbp)
movb $0x0, (%rax)
movq -0x40(%rbp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x16541(%rip), %rax     # 0x6b0d0
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
jne 0x54b6d
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x8(%rbp)
jmp 0x54c8f
movq -0x10(%rbp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x16514(%rip), %rax     # 0x6b0d0
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x54c46
movq -0x10(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x10(%rbp)
movb $0x20, (%rax)
movq -0x10(%rbp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x164e6(%rip), %rax     # 0x6b0d0
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x54c44
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x164be(%rip), %rax     # 0x6b0d0
movzbl (%rax,%rcx), %eax
andl $0x8, %eax
cmpl $0x0, %eax
je 0x54c2c
movq -0x48(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x48(%rbp)
jmp 0x54c02
movq -0x48(%rbp), %rdx
movq -0x10(%rbp), %rax
subq %rax, %rdx
leaq -0x28(%rbp), %rdi
leaq -0x10(%rbp), %rsi
callq 0x55280
jmp 0x54c88
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x26, %eax
jne 0x54c65
movq -0x10(%rbp), %rdi
leaq -0x28(%rbp), %rsi
callq 0x54d60
movq %rax, -0x10(%rbp)
jmp 0x54c86
movq -0x10(%rbp), %rax
cmpb $0x0, (%rax)
jne 0x54c78
movq $0x0, -0x8(%rbp)
jmp 0x54c8f
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x54c86
jmp 0x54c88
jmp 0x54c8a
jmp 0x54a51
movq -0x8(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax)