// File: /workspace/github_c_makefile_star2_O0/dxwc[P]sfeed/xml.c
// Function: xml_parseattrs
static void
xml_parseattrs(XMLParser *x)
{
	size_t namelen = 0, valuelen;
	int c, endsep, endname = 0, valuestart = 0;

	while ((c = GETNEXT()) != EOF) {
		if (isspace(c)) {
			if (namelen)
				endname = 1;
			continue;
		} else if (c == '?')
			; /* ignore */
		else if (c == '=') {
			x->name[namelen] = '\0';
			valuestart = 1;
			endname = 1;
		} else if (namelen && ((endname && !valuestart && isalpha(c)) || (c == '>' || c == '/'))) {
			/* attribute without value */
			x->name[namelen] = '\0';
			if (x->xmlattrstart)
				x->xmlattrstart(x, x->tag, x->taglen, x->name, namelen);
			if (x->xmlattr)
				x->xmlattr(x, x->tag, x->taglen, x->name, namelen, "", 0);
			if (x->xmlattrend)
				x->xmlattrend(x, x->tag, x->taglen, x->name, namelen);
			endname = 0;
			x->name[0] = c;
			namelen = 1;
		} else if (namelen && valuestart) {
			/* attribute with value */
			if (x->xmlattrstart)
				x->xmlattrstart(x, x->tag, x->taglen, x->name, namelen);

			valuelen = 0;
			if (c == '\'' || c == '"') {
				endsep = c;
			} else {
				endsep = ' '; /* isspace() */
				goto startvalue;
			}

			while ((c = GETNEXT()) != EOF) {
startvalue:
				if (c == '&') { /* entities */
					x->data[valuelen] = '\0';
					/* call data function with data before entity if there is data */
					if (valuelen && x->xmlattr)
						x->xmlattr(x, x->tag, x->taglen, x->name, namelen, x->data, valuelen);
					x->data[0] = c;
					valuelen = 1;
					while ((c = GETNEXT()) != EOF) {
						if (c == endsep || (endsep == ' ' && (c == '>' || isspace(c))))
							break;
						if (valuelen < sizeof(x->data) - 1)
							x->data[valuelen++] = c;
						else {
							/* entity too long for buffer, handle as normal data */
							x->data[valuelen] = '\0';
							if (x->xmlattr)
								x->xmlattr(x, x->tag, x->taglen, x->name, namelen, x->data, valuelen);
							x->data[0] = c;
							valuelen = 1;
							break;
						}
						if (c == ';') {
							x->data[valuelen] = '\0';
							if (x->xmlattrentity)
								x->xmlattrentity(x, x->tag, x->taglen, x->name, namelen, x->data, valuelen);
							valuelen = 0;
							break;
						}
					}
				} else if (c != endsep && !(endsep == ' ' && (c == '>' || isspace(c)))) {
					if (valuelen < sizeof(x->data) - 1) {
						x->data[valuelen++] = c;
					} else {
						x->data[valuelen] = '\0';
						if (x->xmlattr)
							x->xmlattr(x, x->tag, x->taglen, x->name, namelen, x->data, valuelen);
						x->data[0] = c;
						valuelen = 1;
					}
				}
				if (c == endsep || (endsep == ' ' && (c == '>' || isspace(c)))) {
					x->data[valuelen] = '\0';
					if (x->xmlattr)
						x->xmlattr(x, x->tag, x->taglen, x->name, namelen, x->data, valuelen);
					if (x->xmlattrend)
						x->xmlattrend(x, x->tag, x->taglen, x->name, namelen);
					break;
				}
			}
			namelen = endname = valuestart = 0;
		} else if (namelen < sizeof(x->name) - 1) {
			x->name[namelen++] = c;
		}
		if (c == '>') {
			break;
		} else if (c == '/') {
			x->isshorttag = 1;
			x->name[0] = '\0';
			namelen = 0;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
movl $0x0, -0x24(%rbp)
movl $0x0, -0x28(%rbp)
callq 0x2140
movl %eax, -0x1c(%rbp)
cmpl $-0x1, %eax
je 0x626f
callq 0x21f0
movq (%rax), %rax
movslq -0x1c(%rbp), %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x5c4d
cmpq $0x0, -0x10(%rbp)
je 0x5c4b
movl $0x1, -0x24(%rbp)
jmp 0x5c12
cmpl $0x3f, -0x1c(%rbp)
jne 0x5c58
jmp 0x6237
cmpl $0x3d, -0x1c(%rbp)
jne 0x5c81
movq -0x8(%rbp), %rax
movq -0x10(%rbp), %rcx
movb $0x0, 0x494(%rax,%rcx)
movl $0x1, -0x28(%rbp)
movl $0x1, -0x24(%rbp)
jmp 0x6235
cmpq $0x0, -0x10(%rbp)
je 0x5dbf
cmpl $0x0, -0x24(%rbp)
je 0x5cb2
cmpl $0x0, -0x28(%rbp)
jne 0x5cb2
callq 0x21f0
movq (%rax), %rax
movslq -0x1c(%rbp), %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x400, %eax            # imm = 0x400
cmpl $0x0, %eax
jne 0x5cc2
cmpl $0x3e, -0x1c(%rbp)
je 0x5cc2
cmpl $0x2f, -0x1c(%rbp)
jne 0x5dbf
movq -0x8(%rbp), %rax
movq -0x10(%rbp), %rcx
movb $0x0, 0x494(%rax,%rcx)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x5d10
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x88, %rsi
movq -0x8(%rbp), %rcx
movq 0x488(%rcx), %rdx
movq -0x8(%rbp), %rcx
addq $0x494, %rcx            # imm = 0x494
movq -0x10(%rbp), %r8
callq *%rax
movq -0x8(%rbp), %rax
cmpq $0x0, (%rax)
je 0x5d5e
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x88, %rsi
movq -0x8(%rbp), %rcx
movq 0x488(%rcx), %rdx
movq -0x8(%rbp), %rcx
addq $0x494, %rcx            # imm = 0x494
movq -0x10(%rbp), %r8
leaq 0x1318(%rip), %r9       # 0x7069
xorl %r10d, %r10d
movq $0x0, (%rsp)
callq *%rax
movq -0x8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x5d9c
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x88, %rsi
movq -0x8(%rbp), %rcx
movq 0x488(%rcx), %rdx
movq -0x8(%rbp), %rcx
addq $0x494, %rcx            # imm = 0x494
movq -0x10(%rbp), %r8
callq *%rax
movl $0x0, -0x24(%rbp)
movl -0x1c(%rbp), %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x494(%rax)
movq $0x1, -0x10(%rbp)
jmp 0x6233
cmpq $0x0, -0x10(%rbp)
je 0x6206
cmpl $0x0, -0x28(%rbp)
je 0x6206
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x5e12
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x88, %rsi
movq -0x8(%rbp), %rcx
movq 0x488(%rcx), %rdx
movq -0x8(%rbp), %rcx
addq $0x494, %rcx            # imm = 0x494
movq -0x10(%rbp), %r8
callq *%rax
movq $0x0, -0x18(%rbp)
cmpl $0x27, -0x1c(%rbp)
je 0x5e26
cmpl $0x22, -0x1c(%rbp)
jne 0x5e2e
movl -0x1c(%rbp), %eax
movl %eax, -0x20(%rbp)
jmp 0x5e37
movl $0x20, -0x20(%rbp)
jmp 0x5e4c
jmp 0x5e39
callq 0x2140
movl %eax, -0x1c(%rbp)
cmpl $-0x1, %eax
je 0x61ee
jmp 0x5e4c
cmpl $0x26, -0x1c(%rbp)
jne 0x6035
movq -0x8(%rbp), %rax
movq -0x18(%rbp), %rcx
movb $0x0, 0x894(%rax,%rcx)
cmpq $0x0, -0x18(%rbp)
je 0x5ebc
movq -0x8(%rbp), %rax
cmpq $0x0, (%rax)
je 0x5ebc
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x88, %rsi
movq -0x8(%rbp), %rcx
movq 0x488(%rcx), %rdx
movq -0x8(%rbp), %rcx
addq $0x494, %rcx            # imm = 0x494
movq -0x10(%rbp), %r8
movq -0x8(%rbp), %r9
addq $0x894, %r9             # imm = 0x894
movq -0x18(%rbp), %r10
movq %r10, (%rsp)
callq *%rax
movl -0x1c(%rbp), %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x894(%rax)
movq $0x1, -0x18(%rbp)
callq 0x2140
movl %eax, -0x1c(%rbp)
cmpl $-0x1, %eax
je 0x6030
movl -0x1c(%rbp), %eax
cmpl -0x20(%rbp), %eax
je 0x5f12
cmpl $0x20, -0x20(%rbp)
jne 0x5f17
cmpl $0x3e, -0x1c(%rbp)
je 0x5f12
callq 0x21f0
movq (%rax), %rax
movslq -0x1c(%rbp), %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x5f17
jmp 0x6030
cmpq $0x1fff, -0x18(%rbp)    # imm = 0x1FFF
jae 0x5f42
movl -0x1c(%rbp), %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq -0x18(%rbp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, -0x18(%rbp)
movb %dl, 0x894(%rax,%rcx)
jmp 0x5fba
movq -0x8(%rbp), %rax
movq -0x18(%rbp), %rcx
movb $0x0, 0x894(%rax,%rcx)
movq -0x8(%rbp), %rax
cmpq $0x0, (%rax)
je 0x5fa1
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x88, %rsi
movq -0x8(%rbp), %rcx
movq 0x488(%rcx), %rdx
movq -0x8(%rbp), %rcx
addq $0x494, %rcx            # imm = 0x494
movq -0x10(%rbp), %r8
movq -0x8(%rbp), %r9
addq $0x894, %r9             # imm = 0x894
movq -0x18(%rbp), %r10
movq %r10, (%rsp)
callq *%rax
movl -0x1c(%rbp), %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x894(%rax)
movq $0x1, -0x18(%rbp)
jmp 0x6030
cmpl $0x3b, -0x1c(%rbp)
jne 0x602b
movq -0x8(%rbp), %rax
movq -0x18(%rbp), %rcx
movb $0x0, 0x894(%rax,%rcx)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x6021
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x88, %rsi
movq -0x8(%rbp), %rcx
movq 0x488(%rcx), %rdx
movq -0x8(%rbp), %rcx
addq $0x494, %rcx            # imm = 0x494
movq -0x10(%rbp), %r8
movq -0x8(%rbp), %r9
addq $0x894, %r9             # imm = 0x894
movq -0x18(%rbp), %r10
movq %r10, (%rsp)
callq *%rax
movq $0x0, -0x18(%rbp)
jmp 0x6030
jmp 0x5ed3
jmp 0x6114
movl -0x1c(%rbp), %eax
cmpl -0x20(%rbp), %eax
je 0x6112
cmpl $0x20, -0x20(%rbp)
jne 0x606f
cmpl $0x3e, -0x1c(%rbp)
je 0x6112
callq 0x21f0
movq (%rax), %rax
movslq -0x1c(%rbp), %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
jne 0x6112
cmpq $0x1fff, -0x18(%rbp)    # imm = 0x1FFF
jae 0x609a
movl -0x1c(%rbp), %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq -0x18(%rbp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, -0x18(%rbp)
movb %dl, 0x894(%rax,%rcx)
jmp 0x6110
movq -0x8(%rbp), %rax
movq -0x18(%rbp), %rcx
movb $0x0, 0x894(%rax,%rcx)
movq -0x8(%rbp), %rax
cmpq $0x0, (%rax)
je 0x60f9
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x88, %rsi
movq -0x8(%rbp), %rcx
movq 0x488(%rcx), %rdx
movq -0x8(%rbp), %rcx
addq $0x494, %rcx            # imm = 0x494
movq -0x10(%rbp), %r8
movq -0x8(%rbp), %r9
addq $0x894, %r9             # imm = 0x894
movq -0x18(%rbp), %r10
movq %r10, (%rsp)
callq *%rax
movl -0x1c(%rbp), %eax
movb %al, %cl
movq -0x8(%rbp), %rax
movb %cl, 0x894(%rax)
movq $0x1, -0x18(%rbp)
jmp 0x6112
jmp 0x6114
movl -0x1c(%rbp), %eax
cmpl -0x20(%rbp), %eax
je 0x614a
cmpl $0x20, -0x20(%rbp)
jne 0x61e9
cmpl $0x3e, -0x1c(%rbp)
je 0x614a
callq 0x21f0
movq (%rax), %rax
movslq -0x1c(%rbp), %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x61e9
movq -0x8(%rbp), %rax
movq -0x18(%rbp), %rcx
movb $0x0, 0x894(%rax,%rcx)
movq -0x8(%rbp), %rax
cmpq $0x0, (%rax)
je 0x61a9
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x88, %rsi
movq -0x8(%rbp), %rcx
movq 0x488(%rcx), %rdx
movq -0x8(%rbp), %rcx
addq $0x494, %rcx            # imm = 0x494
movq -0x10(%rbp), %r8
movq -0x8(%rbp), %r9
addq $0x894, %r9             # imm = 0x894
movq -0x18(%rbp), %r10
movq %r10, (%rsp)
callq *%rax
movq -0x8(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x61e7
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rsi
addq $0x88, %rsi
movq -0x8(%rbp), %rcx
movq 0x488(%rcx), %rdx
movq -0x8(%rbp), %rcx
addq $0x494, %rcx            # imm = 0x494
movq -0x10(%rbp), %r8
callq *%rax
jmp 0x61ee
jmp 0x5e39
movl $0x0, -0x28(%rbp)
movl $0x0, -0x24(%rbp)
movq $0x0, -0x10(%rbp)
jmp 0x6231
cmpq $0x3ff, -0x10(%rbp)     # imm = 0x3FF
jae 0x622f
movl -0x1c(%rbp), %eax
movb %al, %dl
movq -0x8(%rbp), %rax
movq -0x10(%rbp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, -0x10(%rbp)
movb %dl, 0x494(%rax,%rcx)
jmp 0x6231
jmp 0x6233
jmp 0x6235
jmp 0x6237
jmp 0x6239
cmpl $0x3e, -0x1c(%rbp)
jne 0x6241
jmp 0x626f
cmpl $0x2f, -0x1c(%rbp)
jne 0x6268
movq -0x8(%rbp), %rax
movl $0x1, 0x490(%rax)
movq -0x8(%rbp), %rax
movb $0x0, 0x494(%rax)
movq $0x0, -0x10(%rbp)
jmp 0x626a
jmp 0x5c12
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)