// File: /workspace/github_c_makefile_star2_O2/dxwc[P]sfeed/xml.c
// Function: xml_parse
void
xml_parse(XMLParser *x)
{
	size_t datalen, tagdatalen;
	int c, isend;

	while ((c = GETNEXT()) != EOF && c != '<')
		; /* skip until < */

	while (c != EOF) {
		if (c == '<') { /* parse tag */
			if ((c = GETNEXT()) == EOF)
				return;

			if (c == '!') { /* cdata and comments */
				for (tagdatalen = 0; (c = GETNEXT()) != EOF;) {
					/* NOTE: sizeof(x->data) must be atleast sizeof("[CDATA[") */
					if (tagdatalen <= sizeof("[CDATA[") - 1)
						x->data[tagdatalen++] = c;
					if (c == '>')
						break;
					else if (c == '-' && tagdatalen == sizeof("--") - 1 &&
							(x->data[0] == '-')) {
						xml_parsecomment(x);
						break;
					} else if (c == '[') {
						if (tagdatalen == sizeof("[CDATA[") - 1 &&
						    !strncmp(x->data, "[CDATA[", tagdatalen)) {
							xml_parsecdata(x);
							break;
						}
					}
				}
			} else {
				/* normal tag (open, short open, close), processing instruction. */
				x->tag[0] = c;
				x->taglen = 1;
				x->isshorttag = isend = 0;

				/* treat processing instruction as shorttag, don't strip "?" prefix. */
				if (c == '?') {
					x->isshorttag = 1;
				} else if (c == '/') {
					if ((c = GETNEXT()) == EOF)
						return;
					x->tag[0] = c;
					isend = 1;
				}

				while ((c = GETNEXT()) != EOF) {
					if (c == '/')
						x->isshorttag = 1; /* short tag */
					else if (c == '>' || isspace(c)) {
						x->tag[x->taglen] = '\0';
						if (isend) { /* end tag, starts with </ */
							if (x->xmltagend)
								x->xmltagend(x, x->tag, x->taglen, x->isshorttag);
							x->tag[0] = '\0';
							x->taglen = 0;
						} else {
							/* start tag */
							if (x->xmltagstart)
								x->xmltagstart(x, x->tag, x->taglen);
							if (isspace(c))
								xml_parseattrs(x);
							if (x->xmltagstartparsed)
								x->xmltagstartparsed(x, x->tag, x->taglen, x->isshorttag);
						}
						/* call tagend for shortform or processing instruction */
						if (x->isshorttag) {
							if (x->xmltagend)
								x->xmltagend(x, x->tag, x->taglen, x->isshorttag);
							x->tag[0] = '\0';
							x->taglen = 0;
						}
						break;
					} else if (x->taglen < sizeof(x->tag) - 1)
						x->tag[x->taglen++] = c; /* NOTE: tag name truncation */
				}
			}
		} else {
			/* parse tag data */
			datalen = 0;
			if (x->xmldatastart)
				x->xmldatastart(x);
			while ((c = GETNEXT()) != EOF) {
				if (c == '&') {
					if (datalen) {
						x->data[datalen] = '\0';
						if (x->xmldata)
							x->xmldata(x, x->data, datalen);
					}
					x->data[0] = c;
					datalen = 1;
					while ((c = GETNEXT()) != EOF) {
						if (c == '<')
							break;
						if (datalen < sizeof(x->data) - 1)
							x->data[datalen++] = c;
						else {
							/* entity too long for buffer, handle as normal data */
							x->data[datalen] = '\0';
							if (x->xmldata)
								x->xmldata(x, x->data, datalen);
							x->data[0] = c;
							datalen = 1;
							break;
						}
						if (c == ';') {
							x->data[datalen] = '\0';
							if (x->xmldataentity)
								x->xmldataentity(x, x->data, datalen);
							datalen = 0;
							break;
						}
					}
				} else if (c != '<') {
					if (datalen < sizeof(x->data) - 1) {
						x->data[datalen++] = c;
					} else {
						x->data[datalen] = '\0';
						if (x->xmldata)
							x->xmldata(x, x->data, datalen);
						x->data[0] = c;
						datalen = 1;
					}
				}
				if (c == '<') {
					x->data[datalen] = '\0';
					if (x->xmldata && datalen)
						x->xmldata(x, x->data, datalen);
					if (x->xmldataend)
						x->xmldataend(x);
					break;
				}
			}
		}
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdi, %rbx
callq 0x2120
movl %eax, %r15d
cmpl $0x3c, %eax
je 0x3e17
cmpl $-0x1, %r15d
jne 0x3e04
leaq 0x894(%rbx), %r14
leaq 0x88(%rbx), %rax
movq %rax, 0x18(%rsp)
leaq 0x494(%rbx), %rax
movq %rax, 0x20(%rsp)
pushq $0x1
popq %rbp
movq %r14, 0x30(%rsp)
cmpl $0x3c, %r15d
je 0x3fb0
cmpl $-0x1, %r15d
je 0x48f4
movq 0x68(%rbx), %rax
testq %rax, %rax
je 0x3e60
movq %rbx, %rdi
callq *%rax
xorl %r12d, %r12d
callq 0x2120
cmpl $0x26, %eax
je 0x3e98
movl %eax, %r15d
cmpl $-0x1, %eax
je 0x3e3e
cmpl $0x3c, %r15d
je 0x3f69
cmpq $0x1ffe, %r12           # imm = 0x1FFE
ja 0x3f1f
movb %r15b, (%r14,%r12)
incq %r12
jmp 0x3f5f
testq %r12, %r12
je 0x3eba
movb $0x0, 0x894(%rbx,%r12)
movq 0x50(%rbx), %rax
testq %rax, %rax
je 0x3eba
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq *%rax
movb $0x26, (%r14)
movl $0x895, %r12d           # imm = 0x895
callq 0x2120
movl %eax, %r15d
cmpl $-0x1, %eax
je 0x3f16
cmpl $0x3c, %r15d
je 0x3f16
cmpq $0x2893, %r12           # imm = 0x2893
je 0x3f3c
movb %r15b, (%rbx,%r12)
incq %r12
cmpl $0x3b, %r15d
jne 0x3ec4
movb $0x0, (%rbx,%r12)
movq 0x60(%rbx), %rax
testq %rax, %rax
je 0x3f0d
addq $-0x894, %r12           # imm = 0xF76C
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq *%rax
xorl %r12d, %r12d
pushq $0x3b
popq %r15
jmp 0x3f5f
addq $-0x894, %r12           # imm = 0xF76C
jmp 0x3f5f
movb $0x0, 0x894(%rbx,%r12)
movq 0x50(%rbx), %rax
testq %rax, %rax
je 0x3f59
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
jmp 0x3f57
movb $0x0, 0x2893(%rbx)
movq 0x50(%rbx), %rax
testq %rax, %rax
je 0x3f59
movl $0x1fff, %edx           # imm = 0x1FFF
movq %rbx, %rdi
movq %r14, %rsi
callq *%rax
movb %r15b, (%r14)
movq %rbp, %r12
cmpl $0x3c, %r15d
jne 0x3e63
movb $0x0, 0x894(%rbx,%r12)
movq 0x50(%rbx), %rax
testq %rax, %rax
sete %cl
testq %r12, %r12
sete %dl
orb %cl, %dl
jne 0x3f91
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq *%rax
movq 0x58(%rbx), %rax
pushq $0x3c
popq %r15
testq %rax, %rax
je 0x3e3e
movq %rbx, %rdi
callq *%rax
pushq $0x3c
popq %r15
jmp 0x3e3e
callq 0x2120
cmpl $0x21, %eax
je 0x4055
cmpl $-0x1, %eax
je 0x48f4
movb %al, 0x88(%rbx)
movq $0x1, 0x488(%rbx)
andl $0x0, 0x490(%rbx)
cmpl $0x2f, %eax
je 0x4258
movb $0x1, %r12b
cmpl $0x3f, %eax
jne 0x3ffa
movl $0x1, 0x490(%rbx)
callq 0x2120
cmpl $0x2f, %eax
je 0x3ff0
movl %eax, %r15d
cmpl $-0x1, %eax
je 0x3e3e
movslq %r15d, %r13
cmpl $0x3e, %r15d
je 0x41d6
callq 0x21e0
movq (%rax), %rax
testb $0x20, 0x1(%rax,%r13,2)
jne 0x41d6
movq 0x488(%rbx), %rax
cmpq $0x3fe, %rax            # imm = 0x3FE
ja 0x3ffa
leaq 0x1(%rax), %rcx
movq %rcx, 0x488(%rbx)
movb %r15b, 0x88(%rbx,%rax)
jmp 0x3ffa
xorl %r15d, %r15d
callq 0x2120
cmpl $-0x1, %eax
je 0x4246
cmpq $0x7, %r15
ja 0x4073
movb %al, (%r14,%r15)
incq %r15
cmpl $0x3e, %eax
je 0x424f
cmpl $0x2d, %eax
sete %cl
cmpq $0x2, %r15
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x409b
cmpb $0x2d, (%r14)
jne 0x4058
jmp 0x42e0
cmpl $0x5b, %eax
sete %al
cmpq $0x7, %r15
sete %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x4058
movq %r14, %rdi
leaq 0x11bf(%rip), %rsi      # 0x5278
pushq $0x7
popq %rdx
callq 0x2060
testl %eax, %eax
jne 0x4058
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x40d3
movq %rbx, %rdi
callq *%rax
xorl %r13d, %r13d
xorl %r15d, %r15d
callq 0x2120
cmpl $-0x1, %eax
je 0x48eb
movl %eax, %r12d
cmpl $0x5d, %eax
je 0x40f5
cmpl $0x3e, %r12d
jne 0x4114
cmpq $0x0, 0x28(%rbx)
je 0x4114
movb $0x0, 0x894(%rbx,%r15)
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq *0x28(%rbx)
xorl %r15d, %r15d
cmpl $0x5d, %r12d
jne 0x4149
leaq 0x1(%r13), %rax
cmpq $0x2, %r13
movq %rax, %r13
jb 0x40d9
movq 0x28(%rbx), %rax
pushq $0x2
popq %r13
testq %rax, %rax
je 0x40d9
movq %rbx, %rdi
leaq 0x1163(%rip), %rsi      # 0x52a1
movq %rbp, %rdx
callq *%rax
pushq $0x2
popq %r13
jmp 0x40d9
cmpl $0x3e, %r12d
setne %al
cmpq $0x2, %r13
setne %cl
orb %al, %cl
je 0x48d5
movq %r15, 0x28(%rsp)
testq %r13, %r13
movq %rbp, %r15
leaq 0x1130(%rip), %rbp      # 0x52a1
je 0x418b
cmpq $0x0, 0x28(%rbx)
je 0x418b
movq %rbx, %rdi
movq %rbp, %rsi
movq %r15, %rdx
callq *0x28(%rbx)
decq %r13
jne 0x417a
movq %r15, %rbp
movq 0x28(%rsp), %r15
cmpq $0x1ffe, %r15           # imm = 0x1FFE
ja 0x41ab
movb %r12b, (%r14,%r15)
incq %r15
xorl %r13d, %r13d
jmp 0x40d9
movb $0x0, 0x894(%rbx,%r15)
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x41c8
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq *%rax
movb %r12b, (%r14)
xorl %r13d, %r13d
movq %rbp, %r15
jmp 0x40d9
movq 0x488(%rbx), %rax
movb $0x0, 0x88(%rbx,%rax)
testb %r12b, %r12b
je 0x4275
movq 0x78(%rbx), %rax
testq %rax, %rax
je 0x4208
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq 0x18(%rsp), %rsi
callq *%rax
callq 0x21e0
movq %rax, 0x28(%rsp)
movq (%rax), %rax
testb $0x20, 0x1(%rax,%r13,2)
jne 0x43f1
movq 0x80(%rbx), %rax
testq %rax, %rax
je 0x42a4
movq 0x488(%rbx), %rdx
movl 0x490(%rbx), %ecx
movq %rbx, %rdi
movq 0x18(%rsp), %rsi
callq *%rax
jmp 0x42a4
pushq $-0x1
popq %r15
jmp 0x3e3e
pushq $0x3e
popq %r15
jmp 0x3e3e
callq 0x2120
cmpl $-0x1, %eax
je 0x48f4
movq 0x18(%rsp), %rcx
movb %al, (%rcx)
xorl %r12d, %r12d
jmp 0x3ffa
movq 0x70(%rbx), %rax
testq %rax, %rax
je 0x4295
movq 0x488(%rbx), %rdx
movl 0x490(%rbx), %ecx
movq %rbx, %rdi
movq 0x18(%rsp), %rsi
callq *%rax
movb $0x0, 0x88(%rbx)
andq $0x0, 0x488(%rbx)
movl 0x490(%rbx), %ecx
testl %ecx, %ecx
je 0x3e3e
movq 0x70(%rbx), %rax
testq %rax, %rax
je 0x42cc
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq 0x18(%rsp), %rsi
callq *%rax
movb $0x0, 0x88(%rbx)
andq $0x0, 0x488(%rbx)
jmp 0x3e3e
movq 0x38(%rbx), %rax
testq %rax, %rax
je 0x42ee
movq %rbx, %rdi
callq *%rax
xorl %r13d, %r13d
xorl %r15d, %r15d
callq 0x2120
cmpl $-0x1, %eax
je 0x48cc
movl %eax, %r12d
cmpl $0x3e, %eax
je 0x4310
cmpl $0x2d, %r12d
jne 0x432f
cmpq $0x0, 0x40(%rbx)
je 0x432f
movb $0x0, 0x894(%rbx,%r15)
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq *0x40(%rbx)
xorl %r15d, %r15d
cmpl $0x2d, %r12d
jne 0x4364
leaq 0x1(%r13), %rax
cmpq $0x2, %r13
movq %rax, %r13
jb 0x42f4
movq 0x40(%rbx), %rax
pushq $0x2
popq %r13
testq %rax, %rax
je 0x42f4
movq %rbx, %rdi
leaq 0xf46(%rip), %rsi       # 0x529f
movq %rbp, %rdx
callq *%rax
pushq $0x2
popq %r13
jmp 0x42f4
cmpl $0x3e, %r12d
setne %al
cmpq $0x2, %r13
setne %cl
orb %al, %cl
je 0x48b6
testq %r13, %r13
movq %rbp, %r14
leaq 0xf18(%rip), %rbp       # 0x529f
je 0x43a1
cmpq $0x0, 0x40(%rbx)
je 0x43a1
movq %rbx, %rdi
movq %rbp, %rsi
movq %r14, %rdx
callq *0x40(%rbx)
decq %r13
jne 0x4390
movq %r14, %rbp
cmpq $0x1ffe, %r15           # imm = 0x1FFE
ja 0x43c1
movq 0x30(%rsp), %r14
movb %r12b, (%r14,%r15)
incq %r15
xorl %r13d, %r13d
jmp 0x42f4
movb $0x0, 0x894(%rbx,%r15)
movq 0x40(%rbx), %rax
testq %rax, %rax
movq 0x30(%rsp), %r14
je 0x43e3
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq *%rax
movb %r12b, (%r14)
xorl %r13d, %r13d
movq %rbp, %r15
jmp 0x42f4
movq $0x0, 0x10(%rsp)
xorl %r12d, %r12d
movl $0x0, 0xc(%rsp)
callq 0x2120
cmpl $-0x1, %eax
je 0x4221
movl %eax, %r13d
movq 0x28(%rsp), %rax
movq (%rax), %rax
movslq %r13d, %rcx
movzwl (%rax,%rcx,2), %eax
btl $0xd, %eax
jae 0x443a
cmpq $0x0, 0x10(%rsp)
pushq $0x1
popq %rax
cmovnel %eax, %r12d
jmp 0x4405
cmpl $0x3f, %r13d
je 0x4405
cmpl $0x3d, %r13d
jne 0x4460
movq 0x20(%rsp), %rax
movq 0x10(%rsp), %rcx
movb $0x0, (%rax,%rcx)
pushq $0x1
popq %rax
movl %eax, %r12d
movl %eax, 0xc(%rsp)
jmp 0x4405
movq 0x10(%rsp), %rcx
testq %rcx, %rcx
je 0x459c
testl %r12d, %r12d
sete %cl
cmpl $0x0, 0xc(%rsp)
setne %dl
orb %cl, %dl
je 0x44e2
cmpl $0x3e, %r13d
je 0x44f8
cmpl $0x2f, %r13d
je 0x44f8
cmpl $0x0, 0xc(%rsp)
je 0x458a
movq 0x10(%rbx), %rax
testq %rax, %rax
movq 0x10(%rsp), %r8
je 0x44bb
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rcx
callq *%rax
cmpl $0x27, %r13d
je 0x45e1
movl $0x0, %r12d
movl $0x0, %eax
pushq $0x20
popq %rsi
cmpl $0x22, %r13d
je 0x45e4
jmp 0x45fc
btl $0xa, %eax
jb 0x44f8
cmpl $0x2f, %r13d
je 0x44f8
cmpl $0x3e, %r13d
jne 0x458a
movq 0x10(%rsp), %r12
movb $0x0, 0x494(%rbx,%r12)
movq 0x10(%rbx), %rax
testq %rax, %rax
je 0x4528
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rcx
movq %r12, %r8
callq *%rax
movq (%rbx), %rax
testq %rax, %rax
je 0x4555
movq 0x488(%rbx), %rdx
andq $0x0, (%rsp)
movq %rbx, %rdi
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rcx
movq %r12, %r8
leaq 0xb16(%rip), %r9        # 0x5069
callq *%rax
movq 0x8(%rbx), %rax
testq %rax, %rax
movq 0x20(%rsp), %r12
je 0x457c
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq 0x18(%rsp), %rsi
movq %r12, %rcx
movq 0x10(%rsp), %r8
callq *%rax
movb %r13b, (%r12)
xorl %r12d, %r12d
movq %rbp, 0x10(%rsp)
jmp 0x45ad
movq 0x10(%rsp), %rcx
cmpq $0x3fe, %rcx            # imm = 0x3FE
ja 0x4882
movq 0x20(%rsp), %rax
movb %r13b, (%rax,%rcx)
incq %rcx
movq %rcx, 0x10(%rsp)
cmpl $0x2f, %r13d
je 0x45c2
cmpl $0x3e, %r13d
jne 0x4405
jmp 0x4221
movl $0x1, 0x490(%rbx)
movb $0x0, 0x494(%rbx)
movq $0x0, 0x10(%rsp)
jmp 0x4405
xorl %r12d, %r12d
callq 0x2120
movl %r13d, %esi
movl %eax, %r13d
movq %r12, %rax
cmpl $-0x1, %r13d
je 0x43f1
cmpl $0x26, %r13d
movq 0x10(%rsp), %r12
movl %esi, 0xc(%rsp)
jne 0x46f8
movb $0x0, (%r14,%rax)
testq %rax, %rax
je 0x4642
movq (%rbx), %r10
testq %r10, %r10
je 0x4642
movq 0x488(%rbx), %rdx
movq %rax, (%rsp)
movq %rbx, %rdi
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rcx
movq %r12, %r8
movq %r14, %r9
callq *%r10
movb $0x26, (%r14)
movl $0x895, %r13d           # imm = 0x895
callq 0x2120
cmpl $-0x1, %eax
je 0x471b
movl %eax, %edx
movl 0xc(%rsp), %esi
cmpl %esi, %eax
je 0x4727
cmpl $0x20, %esi
jne 0x468c
cmpl $0x3e, %edx
je 0x47e6
movq 0x28(%rsp), %rax
movq (%rax), %rax
movslq %edx, %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x47e9
cmpq $0x2893, %r13           # imm = 0x2893
je 0x4738
movb %dl, (%rbx,%r13)
incq %r13
cmpl $0x3b, %edx
jne 0x464c
movb $0x0, (%rbx,%r13)
movq 0x18(%rbx), %rax
movl $0x0, %r12d
pushq $0x3b
popq %rdx
testq %rax, %rax
movl 0xc(%rsp), %esi
je 0x47f3
addq $-0x894, %r13           # imm = 0xF76C
movq 0x488(%rbx), %rdx
movq %r13, (%rsp)
movq %rbx, %rdi
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rcx
movq 0x10(%rsp), %r8
movq %r14, %r9
callq *%rax
movl 0xc(%rsp), %esi
xorl %r12d, %r12d
pushq $0x3b
jmp 0x4715
cmpl %esi, %r13d
je 0x479e
cmpl $0x20, %esi
jne 0x478f
cmpl $0x3e, %r13d
jne 0x477d
movq %rax, %r12
pushq $0x3e
popq %rdx
jmp 0x47f3
pushq $-0x1
popq %rdx
movl 0xc(%rsp), %esi
jmp 0x47e9
addq $-0x894, %r13           # imm = 0xF76C
movl %esi, %edx
movq %r13, %r12
jmp 0x47f9
movb $0x0, 0x2893(%rbx)
movq (%rbx), %rax
testq %rax, %rax
je 0x4775
movl %edx, %r13d
movq 0x488(%rbx), %rdx
movq $0x1fff, (%rsp)         # imm = 0x1FFF
movq %rbx, %rdi
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rcx
movq %r12, %r8
movq %r14, %r9
callq *%rax
movl %r13d, %edx
movl 0xc(%rsp), %esi
movb %dl, (%r14)
movq %rbp, %r12
jmp 0x47f3
movq 0x28(%rsp), %rcx
movq (%rcx), %rcx
movslq %r13d, %rdx
testb $0x20, 0x1(%rcx,%rdx,2)
jne 0x479e
cmpq $0x1ffe, %rax           # imm = 0x1FFE
ja 0x47a6
movb %r13b, (%r14,%rax)
incq %rax
movq %rax, %r12
movl %r13d, %edx
jmp 0x47f3
movb $0x0, 0x894(%rbx,%rax)
movq (%rbx), %r10
testq %r10, %r10
je 0x47d7
movq 0x488(%rbx), %rdx
movq %rax, (%rsp)
movq %rbx, %rdi
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rcx
movq %r12, %r8
movq %r14, %r9
callq *%r10
movb %r13b, (%r14)
movq %rbp, %r12
movl %r13d, %edx
movl 0xc(%rsp), %esi
jmp 0x47f3
pushq $0x3e
popq %rdx
addq $-0x894, %r13           # imm = 0xF76C
movq %r13, %r12
cmpl %esi, %edx
jne 0x4864
movl %esi, %edx
movb $0x0, 0x894(%rbx,%r12)
movq (%rbx), %rax
testq %rax, %rax
je 0x4832
movl %edx, %r13d
movq 0x488(%rbx), %rdx
movq %r12, (%rsp)
movq %rbx, %rdi
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rcx
movq 0x10(%rsp), %r8
movq %r14, %r9
callq *%rax
movl %r13d, %edx
movq 0x8(%rbx), %rax
testq %rax, %rax
je 0x4873
movl %edx, %r13d
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rcx
movq 0x10(%rsp), %r8
callq *%rax
movq $0x0, 0x10(%rsp)
jmp 0x487f
cmpl $0x20, %esi
jne 0x488f
cmpl $0x3e, %edx
jne 0x4897
pushq $0x3e
popq %rdx
jmp 0x47f9
movq $0x0, 0x10(%rsp)
movl %edx, %r13d
xorl %r12d, %r12d
movl $0x0, 0xc(%rsp)
jmp 0x45ad
movl %esi, %r13d
jmp 0x45e4
movq 0x28(%rsp), %rax
movq (%rax), %rax
movslq %edx, %rcx
testb $0x20, 0x1(%rax,%rcx,2)
pushq $0x20
popq %r13
je 0x45e4
jmp 0x47f9
movq 0x48(%rbx), %rax
pushq $0x2d
popq %r15
testq %rax, %rax
je 0x3e3e
movq %rbx, %rdi
callq *%rax
pushq $0x2d
popq %r15
jmp 0x3e3e
movq 0x30(%rbx), %rax
pushq $0x5b
popq %r15
testq %rax, %rax
je 0x3e3e
movq %rbx, %rdi
callq *%rax
pushq $0x5b
popq %r15
jmp 0x3e3e
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop