// File: /workspace/github_c_makefile_star2_O3/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 $0x28, %rsp
movq %rdi, %rbx
callq 0x2120
movl %eax, %ebp
cmpl $0x3c, %eax
je 0x400b
cmpl $-0x1, %ebp
jne 0x3ffa
leaq 0x894(%rbx), %r14
leaq 0x88(%rbx), %r13
leaq 0x494(%rbx), %rax
movq %rax, 0x18(%rsp)
movq %r13, 0x10(%rsp)
cmpl $0x3c, %ebp
je 0x4195
cmpl $-0x1, %ebp
je 0x4b23
movq 0x68(%rbx), %rax
testq %rax, %rax
je 0x404a
movq %rbx, %rdi
callq *%rax
xorl %r15d, %r15d
callq 0x2120
cmpl $0x26, %eax
je 0x4080
movl %eax, %ebp
cmpl $-0x1, %eax
je 0x402a
cmpl $0x3c, %ebp
je 0x4151
cmpq $0x1ffe, %r15           # imm = 0x1FFE
ja 0x4105
movb %bpl, (%r14,%r15)
incq %r15
jmp 0x4148
testq %r15, %r15
je 0x40a2
movb $0x0, 0x894(%rbx,%r15)
movq 0x50(%rbx), %rax
testq %rax, %rax
je 0x40a2
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq *%rax
movb $0x26, (%r14)
movl $0x895, %r15d           # imm = 0x895
callq 0x2120
movl %eax, %ebp
cmpl $-0x1, %eax
je 0x40fc
cmpl $0x3c, %ebp
je 0x40fc
cmpq $0x2893, %r15           # imm = 0x2893
je 0x4122
movb %bpl, (%rbx,%r15)
incq %r15
cmpl $0x3b, %ebp
jne 0x40ac
movb $0x0, (%rbx,%r15)
movq 0x60(%rbx), %rax
movl $0x3b, %ebp
testq %rax, %rax
je 0x40f7
addq $-0x894, %r15           # imm = 0xF76C
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq *%rax
xorl %r15d, %r15d
jmp 0x4148
addq $-0x894, %r15           # imm = 0xF76C
jmp 0x4148
movb $0x0, 0x894(%rbx,%r15)
movq 0x50(%rbx), %rax
testq %rax, %rax
je 0x413f
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
jmp 0x413d
movb $0x0, 0x2893(%rbx)
movq 0x50(%rbx), %rax
testq %rax, %rax
je 0x413f
movl $0x1fff, %edx           # imm = 0x1FFF
movq %rbx, %rdi
movq %r14, %rsi
callq *%rax
movb %bpl, (%r14)
movl $0x1, %r15d
cmpl $0x3c, %ebp
jne 0x404d
movb $0x0, 0x894(%rbx,%r15)
movq 0x50(%rbx), %rax
testq %rax, %rax
sete %cl
testq %r15, %r15
sete %dl
orb %cl, %dl
jne 0x4179
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq *%rax
movq 0x58(%rbx), %rax
movl $0x3c, %ebp
testq %rax, %rax
je 0x402a
movq %rbx, %rdi
callq *%rax
jmp 0x402a
callq 0x2120
cmpl $0x21, %eax
je 0x423a
cmpl $-0x1, %eax
je 0x4b23
movb %al, 0x88(%rbx)
movq $0x1, 0x488(%rbx)
movl $0x0, 0x490(%rbx)
cmpl $0x2f, %eax
je 0x47f4
movb $0x1, %r15b
cmpl $0x3f, %eax
jne 0x41e2
movl $0x1, 0x490(%rbx)
callq 0x2120
cmpl $0x2f, %eax
je 0x41d8
movl %eax, %ebp
cmpl $-0x1, %eax
je 0x402a
cmpl $0x3e, %ebp
je 0x42c4
callq 0x21d0
movq (%rax), %rax
movslq %ebp, %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x42c4
movq 0x488(%rbx), %rax
cmpq $0x3fe, %rax            # imm = 0x3FE
ja 0x41e2
leaq 0x1(%rax), %rcx
movq %rcx, 0x488(%rbx)
movb %bpl, 0x88(%rbx,%rax)
jmp 0x41e2
callq 0x2120
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
cmpl $-0x1, %eax
je 0x402a
xorl %r15d, %r15d
cmpq $0x7, %r15
ja 0x425d
movb %al, (%r14,%r15)
incq %r15
cmpl $0x3e, %eax
je 0x48a3
cmpl $0x2d, %eax
sete %cl
cmpq $0x2, %r15
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x4285
cmpb $0x2d, (%r14)
jne 0x42b5
jmp 0x48ad
cmpl $0x5b, %eax
sete %al
cmpq $0x7, %r15
sete %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x42b5
movl $0x7, %edx
movq %r14, %rdi
leaq 0x1020(%rip), %rsi      # 0x52c8
callq 0x2060
testl %eax, %eax
je 0x49d7
callq 0x2120
cmpl $-0x1, %eax
jne 0x4250
jmp 0x402a
movq 0x488(%rbx), %rax
movb $0x0, 0x88(%rbx,%rax)
testb %r15b, %r15b
je 0x480e
movq 0x78(%rbx), %rax
testq %rax, %rax
je 0x42f4
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq %r13, %rsi
callq *%rax
callq 0x21d0
movq %rax, 0x20(%rsp)
movq (%rax), %rax
movslq %ebp, %rcx
testb $0x20, 0x1(%rax,%rcx,2)
je 0x4840
callq 0x2120
cmpl $-0x1, %eax
je 0x4840
movl %eax, %r13d
movq $0x0, 0x8(%rsp)
xorl %r12d, %r12d
xorl %r15d, %r15d
movq 0x20(%rsp), %rax
movq (%rax), %rax
movslq %r13d, %rcx
movzwl (%rax,%rcx,2), %eax
btl $0xd, %eax
jae 0x4362
testq %r15, %r15
movl $0x1, %eax
cmovnel %eax, %r12d
callq 0x2120
movl %eax, %r13d
cmpl $-0x1, %eax
jne 0x432f
jmp 0x4840
cmpl $0x3f, %r13d
je 0x4350
movq %r15, %r8
cmpl $0x3d, %r13d
jne 0x438d
movq 0x18(%rsp), %rax
movb $0x0, (%rax,%r8)
movl $0x1, %eax
movq %rax, 0x8(%rsp)
movl $0x1, %r12d
jmp 0x4350
testq %r8, %r8
je 0x44c3
testl %r12d, %r12d
sete %cl
cmpl $0x0, 0x8(%rsp)
setne %dl
orb %cl, %dl
je 0x4412
cmpl $0x3e, %r13d
je 0x4428
cmpl $0x2f, %r13d
je 0x4428
cmpl $0x0, 0x8(%rsp)
je 0x44b6
movq 0x10(%rbx), %rax
testq %rax, %rax
movq 0x18(%rsp), %r12
je 0x43e7
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
movq %r12, %rcx
movq %r15, %r8
callq *%rax
movq %r15, %r8
cmpl $0x27, %r13d
je 0x4500
movl $0x20, 0x8(%rsp)
movl $0x0, %esi
movl $0x0, %eax
cmpl $0x22, %r13d
je 0x4502
jmp 0x4522
btl $0xa, %eax
jb 0x4428
cmpl $0x2f, %r13d
je 0x4428
cmpl $0x3e, %r13d
jne 0x44b6
movb $0x0, 0x494(%rbx,%r8)
movq 0x10(%rbx), %rax
testq %rax, %rax
movq 0x18(%rsp), %r12
je 0x4459
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
movq %r12, %rcx
movq %r15, %r8
callq *%rax
movq %r15, %r8
movq (%rbx), %rax
testq %rax, %rax
je 0x448a
movq 0x488(%rbx), %rdx
movq $0x0, (%rsp)
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
movq %r12, %rcx
movq %r15, %r8
leaq 0xcb0(%rip), %r9        # 0x5135
callq *%rax
movq %r15, %r8
movq 0x8(%rbx), %rax
testq %rax, %rax
je 0x44a7
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
movq %r12, %rcx
callq *%rax
movb %r13b, (%r12)
xorl %r12d, %r12d
movl $0x1, %r8d
jmp 0x44cf
cmpq $0x3fe, %r8             # imm = 0x3FE
ja 0x47aa
movq 0x18(%rsp), %rax
movb %r13b, (%rax,%r8)
incq %r8
cmpl $0x2f, %r13d
je 0x44e7
movq %r8, %r15
cmpl $0x3e, %r13d
jne 0x4350
jmp 0x4840
movl $0x1, 0x490(%rbx)
movb $0x0, 0x494(%rbx)
xorl %r15d, %r15d
jmp 0x4350
xorl %esi, %esi
movl %r13d, 0x8(%rsp)
movq %rsi, %r12
callq 0x2120
movq %r15, %r8
movl %eax, %r13d
movq %r12, %rax
cmpl $-0x1, %r13d
je 0x462e
cmpl $0x26, %r13d
jne 0x4618
movb $0x0, (%r14,%rax)
testq %rax, %rax
movq 0x10(%rsp), %r12
je 0x4562
movq (%rbx), %r10
testq %r10, %r10
je 0x4562
movq 0x488(%rbx), %rdx
movq %rax, (%rsp)
movq %rbx, %rdi
movq %r12, %rsi
movq 0x18(%rsp), %rcx
movq %r15, %r8
movq %r14, %r9
callq *%r10
movb $0x26, (%r14)
movl $0x895, %esi            # imm = 0x895
movq %rsi, %r13
callq 0x2120
cmpl $-0x1, %eax
je 0x4665
movl %eax, %r12d
movl 0x8(%rsp), %edx
cmpl %edx, %eax
movq %r13, %rsi
je 0x467a
cmpl $0x20, %edx
movq %r15, %r8
jne 0x45b6
cmpl $0x3e, %r12d
je 0x4739
movq 0x20(%rsp), %rax
movq (%rax), %rax
movslq %r12d, %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x473f
cmpq $0x2893, %rsi           # imm = 0x2893
je 0x468c
movb %r12b, (%rbx,%rsi)
incq %rsi
cmpl $0x3b, %r12d
jne 0x456b
movb $0x0, (%rbx,%rsi)
movq 0x18(%rbx), %rax
movl $0x3b, %r12d
testq %rax, %rax
je 0x4611
addq $-0x894, %rsi           # imm = 0xF76C
movq 0x488(%rbx), %rdx
movq %rsi, (%rsp)
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rcx
movq %r15, %r8
movq %r14, %r9
callq *%rax
movl 0x8(%rsp), %edx
movq %r15, %r8
xorl %esi, %esi
jmp 0x4746
movl 0x8(%rsp), %ecx
cmpl %ecx, %r13d
jne 0x463f
movq %rax, %rsi
movl %r13d, %r12d
movl %ecx, %edx
jmp 0x4746
movq $0x0, 0x8(%rsp)
xorl %r12d, %r12d
jmp 0x44f8
cmpl $0x20, %ecx
movq 0x18(%rsp), %r9
jne 0x46e2
cmpl $0x3e, %r13d
jne 0x46d0
movq %rax, %rsi
movl 0x8(%rsp), %edx
movl $0x3e, %r12d
jmp 0x4746
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movq %r15, %r8
movq %r13, %rsi
movl 0x8(%rsp), %edx
jmp 0x473f
addq $-0x894, %rsi           # imm = 0xF76C
movl %edx, %r12d
movq %r15, %r8
jmp 0x474e
movb $0x0, 0x2893(%rbx)
movq (%rbx), %rax
testq %rax, %rax
je 0x46c6
movq 0x488(%rbx), %rdx
movq $0x1fff, (%rsp)         # imm = 0x1FFF
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
movq 0x18(%rsp), %rcx
movq %r15, %r8
movq %r14, %r9
callq *%rax
movl 0x8(%rsp), %edx
movq %r15, %r8
movb %r12b, (%r14)
movl $0x1, %esi
jmp 0x4746
movq 0x20(%rsp), %rcx
movq (%rcx), %rcx
movslq %r13d, %rdx
testb $0x20, 0x1(%rcx,%rdx,2)
jne 0x46f1
cmpq $0x1ffe, %rax           # imm = 0x1FFE
ja 0x46f6
movb %r13b, (%r14,%rax)
incq %rax
movq %rax, %rsi
jmp 0x4730
movb $0x0, 0x894(%rbx,%rax)
movq (%rbx), %r10
testq %r10, %r10
je 0x4728
movq 0x488(%rbx), %rdx
movq %rax, (%rsp)
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
movq %r9, %rcx
movq %r15, %r8
movq %r14, %r9
callq *%r10
movq %r15, %r8
movb %r13b, (%r14)
movl $0x1, %esi
movl %r13d, %r12d
movl 0x8(%rsp), %edx
jmp 0x4746
movl $0x3e, %r12d
addq $-0x894, %rsi           # imm = 0xF76C
cmpl %edx, %r12d
jne 0x47b8
movl %edx, %r12d
movl %r12d, %r13d
movb $0x0, 0x894(%rbx,%rsi)
movq (%rbx), %rax
testq %rax, %rax
movq 0x10(%rsp), %r12
je 0x4787
movq 0x488(%rbx), %rdx
movq %rsi, (%rsp)
movq %rbx, %rdi
movq %r12, %rsi
movq 0x18(%rsp), %rcx
movq %r15, %r8
movq %r14, %r9
callq *%rax
movq %r15, %r8
movq 0x8(%rbx), %rax
testq %rax, %rax
je 0x47a4
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq %r12, %rsi
movq 0x18(%rsp), %rcx
callq *%rax
xorl %r8d, %r8d
xorl %r12d, %r12d
movq $0x0, 0x8(%rsp)
jmp 0x44cf
cmpl $0x20, %edx
jne 0x47cb
cmpl $0x3e, %r12d
jne 0x47d3
movl $0x3e, %r12d
jmp 0x474e
movl %edx, %r13d
jmp 0x4502
movq 0x20(%rsp), %rax
movq (%rax), %rax
movslq %r12d, %rcx
movl $0x20, %r13d
testb $0x20, 0x1(%rax,%rcx,2)
je 0x4502
jmp 0x474e
callq 0x2120
cmpl $-0x1, %eax
je 0x4b23
movb %al, (%r13)
xorl %r15d, %r15d
jmp 0x41e2
movq 0x70(%rbx), %rax
testq %rax, %rax
je 0x482c
movq 0x488(%rbx), %rdx
movl 0x490(%rbx), %ecx
movq %rbx, %rdi
movq %r13, %rsi
callq *%rax
movb $0x0, 0x88(%rbx)
movq $0x0, 0x488(%rbx)
jmp 0x4866
movq 0x80(%rbx), %rax
testq %rax, %rax
movq 0x10(%rsp), %r13
je 0x4866
movq 0x488(%rbx), %rdx
movl 0x490(%rbx), %ecx
movq %rbx, %rdi
movq %r13, %rsi
callq *%rax
movl 0x490(%rbx), %ecx
testl %ecx, %ecx
je 0x402a
movq 0x70(%rbx), %rax
testq %rax, %rax
je 0x488c
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq %r13, %rsi
callq *%rax
movb $0x0, 0x88(%rbx)
movq $0x0, 0x488(%rbx)
jmp 0x402a
movl $0x3e, %ebp
jmp 0x402a
movq 0x38(%rbx), %rax
testq %rax, %rax
je 0x48bb
movq %rbx, %rdi
callq *%rax
callq 0x2120
movl $0x2d, %ebp
cmpl $-0x1, %eax
je 0x402a
movl %eax, %r12d
xorl %r15d, %r15d
xorl %r13d, %r13d
cmpl $0x3e, %r12d
je 0x48e3
cmpl $0x2d, %r12d
jne 0x4902
cmpq $0x0, 0x40(%rbx)
je 0x4902
movb $0x0, 0x894(%rbx,%r15)
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq *0x40(%rbx)
xorl %r15d, %r15d
cmpl $0x2d, %r12d
jne 0x493b
cmpq $0x2, %r13
jb 0x4993
movq 0x40(%rbx), %rax
movl $0x2, %r13d
testq %rax, %rax
leaq 0x9c9(%rip), %rsi       # 0x52ef
je 0x49c1
movl $0x1, %edx
movq %rbx, %rdi
callq *%rax
jmp 0x49c1
cmpl $0x3e, %r12d
setne %al
cmpq $0x2, %r13
setne %cl
orb %al, %cl
je 0x4b06
movq %r15, 0x20(%rsp)
testq %r13, %r13
leaq 0x98f(%rip), %r15       # 0x52ef
je 0x497c
cmpq $0x0, 0x40(%rbx)
je 0x497c
movl $0x1, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq *0x40(%rbx)
decq %r13
jne 0x4969
movq 0x20(%rsp), %r15
cmpq $0x1ffe, %r15           # imm = 0x1FFE
ja 0x4998
movb %r12b, (%r14,%r15)
incq %r15
jmp 0x49be
incq %r13
jmp 0x49c1
movb $0x0, 0x894(%rbx,%r15)
movq 0x40(%rbx), %rax
testq %rax, %rax
je 0x49b5
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq *%rax
movb %r12b, (%r14)
movl $0x1, %r15d
xorl %r13d, %r13d
callq 0x2120
movl %eax, %r12d
cmpl $-0x1, %eax
jne 0x48d7
jmp 0x4afc
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x49e5
movq %rbx, %rdi
callq *%rax
callq 0x2120
movl $0x5b, %ebp
cmpl $-0x1, %eax
je 0x402a
movl %eax, %r12d
xorl %r15d, %r15d
xorl %r13d, %r13d
cmpl $0x5d, %r12d
je 0x4a0d
cmpl $0x3e, %r12d
jne 0x4a2c
cmpq $0x0, 0x28(%rbx)
je 0x4a2c
movb $0x0, 0x894(%rbx,%r15)
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq *0x28(%rbx)
xorl %r15d, %r15d
cmpl $0x5d, %r12d
jne 0x4a65
cmpq $0x2, %r13
jb 0x4abd
movq 0x28(%rbx), %rax
movl $0x2, %r13d
testq %rax, %rax
leaq 0x8a1(%rip), %rsi       # 0x52f1
je 0x4aeb
movl $0x1, %edx
movq %rbx, %rdi
callq *%rax
jmp 0x4aeb
cmpl $0x3e, %r12d
setne %al
cmpq $0x2, %r13
setne %cl
orb %al, %cl
je 0x4b0c
movq %r15, 0x20(%rsp)
testq %r13, %r13
leaq 0x867(%rip), %r15       # 0x52f1
je 0x4aa6
cmpq $0x0, 0x28(%rbx)
je 0x4aa6
movl $0x1, %edx
movq %rbx, %rdi
movq %r15, %rsi
callq *0x28(%rbx)
decq %r13
jne 0x4a93
movq 0x20(%rsp), %r15
cmpq $0x1ffe, %r15           # imm = 0x1FFE
ja 0x4ac2
movb %r12b, (%r14,%r15)
incq %r15
jmp 0x4ae8
incq %r13
jmp 0x4aeb
movb $0x0, 0x894(%rbx,%r15)
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x4adf
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq *%rax
movb %r12b, (%r14)
movl $0x1, %r15d
xorl %r13d, %r13d
callq 0x2120
movl %eax, %r12d
cmpl $-0x1, %eax
jne 0x4a01
movq 0x10(%rsp), %r13
jmp 0x402a
movq 0x48(%rbx), %rax
jmp 0x4b10
movq 0x30(%rbx), %rax
testq %rax, %rax
movq 0x10(%rsp), %r13
jne 0x418b
jmp 0x402a
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop