// File: /workspace/github_c_makefile_star2_O1/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, %r15d
cmpl $0x3c, %eax
je 0x4089
cmpl $-0x1, %r15d
jne 0x4076
leaq 0x894(%rbx), %r14
leaq 0x88(%rbx), %r13
leaq 0x494(%rbx), %rax
movq %rax, 0x18(%rsp)
movq %r13, 0x8(%rsp)
cmpl $0x3c, %r15d
je 0x4224
cmpl $-0x1, %r15d
je 0x4b71
movq 0x68(%rbx), %rax
testq %rax, %rax
je 0x40ca
movq %rbx, %rdi
callq *%rax
xorl %r12d, %r12d
callq 0x2120
cmpl $0x26, %eax
je 0x4106
movl %eax, %r15d
cmpl $0x3c, %eax
je 0x41d2
cmpl $-0x1, %r15d
je 0x40a8
cmpq $0x1ffe, %r12           # imm = 0x1FFE
ja 0x418f
movb %r15b, 0x894(%rbx,%r12)
incq %r12
jmp 0x41d2
testq %r12, %r12
je 0x4128
movb $0x0, 0x894(%rbx,%r12)
movq 0x50(%rbx), %rax
testq %rax, %rax
je 0x4128
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 0x4186
cmpl $0x3c, %r15d
je 0x4186
cmpq $0x2893, %r12           # imm = 0x2893
je 0x41ac
movb %r15b, (%rbx,%r12)
incq %r12
cmpl $0x3b, %r15d
jne 0x4132
movb $0x0, (%rbx,%r12)
movq 0x60(%rbx), %rax
movl $0x3b, %r15d
testq %rax, %rax
je 0x4181
addq $-0x894, %r12           # imm = 0xF76C
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq *%rax
xorl %r12d, %r12d
jmp 0x41d2
addq $-0x894, %r12           # imm = 0xF76C
jmp 0x41d2
movb $0x0, 0x894(%rbx,%r12)
movq 0x50(%rbx), %rax
testq %rax, %rax
je 0x41c9
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
jmp 0x41c7
movb $0x0, 0x2893(%rbx)
movq 0x50(%rbx), %rax
testq %rax, %rax
je 0x41c9
movl $0x1fff, %edx           # imm = 0x1FFF
movq %rbx, %rdi
movq %r14, %rsi
callq *%rax
movb %r15b, (%r14)
movl $0x1, %r12d
cmpl $0x3c, %r15d
jne 0x40cd
movb $0x0, 0x894(%rbx,%r12)
movq 0x50(%rbx), %rax
testq %rax, %rax
setne %cl
testq %r12, %r12
setne %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x4207
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq *%rax
movq 0x58(%rbx), %rax
movl $0x3c, %r15d
testq %rax, %rax
je 0x40a8
movq %rbx, %rdi
callq *%rax
jmp 0x40a8
callq 0x2120
cmpl $0x21, %eax
je 0x42cb
cmpl $-0x1, %eax
je 0x4b71
movb %al, 0x88(%rbx)
movq $0x1, 0x488(%rbx)
movl $0x0, 0x490(%rbx)
cmpl $0x2f, %eax
je 0x484c
movb $0x1, %bpl
cmpl $0x3f, %eax
jne 0x4271
movl $0x1, 0x490(%rbx)
callq 0x2120
cmpl $0x2f, %eax
je 0x4267
movl %eax, %r15d
cmpl $-0x1, %eax
je 0x40a8
cmpl $0x3e, %r15d
je 0x435c
callq 0x21d0
movq (%rax), %rax
movslq %r15d, %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x435c
movq 0x488(%rbx), %rax
cmpq $0x3fe, %rax            # imm = 0x3FE
ja 0x4271
leaq 0x1(%rax), %rcx
movq %rcx, 0x488(%rbx)
movb %r15b, 0x88(%rbx,%rax)
jmp 0x4271
callq 0x2120
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
cmpl $-0x1, %eax
je 0x40a8
xorl %r12d, %r12d
cmpq $0x7, %r12
ja 0x42f3
movb %al, 0x894(%rbx,%r12)
incq %r12
cmpl $0x3e, %eax
je 0x48fa
cmpl $0x2d, %eax
sete %cl
cmpq $0x2, %r12
sete %dl
andb %cl, %dl
cmpb $0x1, %dl
jne 0x431d
cmpb $0x2d, 0x894(%rbx)
je 0x4905
cmpl $0x5b, %eax
sete %al
cmpq $0x7, %r12
sete %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x434d
movl $0x7, %edx
movq %r14, %rdi
leaq 0xf3c(%rip), %rsi       # 0x527c
callq 0x2060
testl %eax, %eax
je 0x4a2a
callq 0x2120
cmpl $-0x1, %eax
jne 0x42e2
jmp 0x40a8
movq 0x488(%rbx), %rax
movb $0x0, 0x88(%rbx,%rax)
testb %bpl, %bpl
je 0x4865
movq 0x78(%rbx), %rax
testq %rax, %rax
je 0x438c
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq %r13, %rsi
callq *%rax
callq 0x21d0
movq %rax, 0x20(%rsp)
movq (%rax), %rax
movslq %r15d, %rcx
testb $0x20, 0x1(%rax,%rcx,2)
je 0x4897
callq 0x2120
cmpl $-0x1, %eax
je 0x4897
movl %eax, %r13d
movq $0x0, 0x10(%rsp)
xorl %r12d, %r12d
xorl %ebp, %ebp
movq 0x20(%rsp), %rax
movq (%rax), %rax
movslq %r13d, %rcx
movzwl (%rax,%rcx,2), %eax
btl $0xd, %eax
jae 0x43f9
testq %rbp, %rbp
movl $0x1, %eax
cmovnel %eax, %r12d
callq 0x2120
movl %eax, %r13d
cmpl $-0x1, %eax
jne 0x43c6
jmp 0x4897
cmpl $0x3f, %r13d
movq %rbp, %r8
je 0x47ef
cmpl $0x3d, %r13d
jne 0x4431
movq 0x18(%rsp), %rax
movb $0x0, (%rax,%r8)
movl $0x1, %r12d
movl $0x3d, %r13d
movl $0x1, %eax
movq %rax, 0x10(%rsp)
jmp 0x47ef
testq %r8, %r8
je 0x4502
testl %r12d, %r12d
sete %cl
cmpl $0x0, 0x10(%rsp)
setne %dl
orb %cl, %dl
je 0x445d
cmpl $0x3e, %r13d
je 0x4473
cmpl $0x2f, %r13d
je 0x4473
jmp 0x4502
btl $0xa, %eax
jb 0x4473
cmpl $0x2f, %r13d
je 0x4473
cmpl $0x3e, %r13d
jne 0x4502
movb $0x0, 0x494(%rbx,%r8)
movq 0x10(%rbx), %rax
testq %rax, %rax
je 0x449e
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %rcx
callq *%rax
movq %rbp, %r8
movq (%rbx), %rax
testq %rax, %rax
je 0x44ce
movq 0x488(%rbx), %rdx
movq $0x0, (%rsp)
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %rcx
leaq 0xba0(%rip), %r9        # 0x5069
callq *%rax
movq %rbp, %r8
movq 0x8(%rbx), %rax
testq %rax, %rax
movq 0x18(%rsp), %r12
je 0x44f0
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
movq %r12, %rcx
callq *%rax
movb %r13b, (%r12)
xorl %r12d, %r12d
movl $0x1, %r8d
jmp 0x47ef
testq %r8, %r8
setne %al
cmpl $0x0, 0x10(%rsp)
setne %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x4557
movq 0x10(%rbx), %rax
testq %rax, %rax
je 0x4539
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %rcx
callq *%rax
movq %rbp, %r8
cmpl $0x27, %r13d
je 0x4575
movl $0x20, %esi
movl $0x0, %r12d
movl $0x0, %eax
cmpl $0x22, %r13d
je 0x4578
jmp 0x4593
cmpq $0x3fe, %r8             # imm = 0x3FE
ja 0x47ef
movq 0x18(%rsp), %rax
movb %r13b, (%rax,%r8)
incq %r8
jmp 0x47ef
xorl %r12d, %r12d
callq 0x2120
movl %r13d, %esi
movq %rbp, %r8
movl %eax, %r13d
movq %r12, %rax
cmpl $-0x1, %r13d
je 0x46aa
cmpl $0x26, %r13d
movl %esi, 0x10(%rsp)
jne 0x4684
movb $0x0, (%r14,%rax)
testq %rax, %rax
je 0x45d4
movq (%rbx), %r10
testq %r10, %r10
je 0x45d4
movq 0x488(%rbx), %rdx
movq %rax, (%rsp)
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %rcx
movq %rbp, %r8
movq %r14, %r9
callq *%r10
movb $0x26, (%r14)
movl $0x895, %r12d           # imm = 0x895
callq 0x2120
cmpl $-0x1, %eax
je 0x46b8
movl %eax, %r13d
movl 0x10(%rsp), %esi
cmpl %esi, %eax
je 0x4771
cmpl $0x20, %esi
jne 0x4620
cmpl $0x3e, %r13d
je 0x476b
movq 0x20(%rsp), %rax
movq (%rax), %rax
movslq %r13d, %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x4771
cmpq $0x2893, %r12           # imm = 0x2893
je 0x46c7
movb %r13b, (%rbx,%r12)
incq %r12
cmpl $0x3b, %r13d
jne 0x45de
movb $0x0, (%rbx,%r12)
movq 0x18(%rbx), %rax
movl $0x3b, %r13d
testq %rax, %rax
je 0x477d
addq $-0x894, %r12           # imm = 0xF76C
movq 0x488(%rbx), %rdx
movq %r12, (%rsp)
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %rcx
movq %rbp, %r8
movq %r14, %r9
callq *%rax
movq %rbp, %r8
xorl %r12d, %r12d
jmp 0x4783
cmpl %esi, %r13d
je 0x472a
cmpl $0x20, %esi
jne 0x471b
cmpl $0x3e, %r13d
jne 0x4709
movq %rax, %r12
movl $0x3e, %r13d
jmp 0x4787
xorl %r8d, %r8d
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
jmp 0x47e3
movl $0xffffffff, %r13d      # imm = 0xFFFFFFFF
movl 0x10(%rsp), %esi
jmp 0x4771
movb $0x0, 0x2893(%rbx)
movq (%rbx), %rax
testq %rax, %rax
je 0x46fe
movq 0x488(%rbx), %rdx
movq $0x1fff, (%rsp)         # imm = 0x1FFF
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %rcx
movq %rbp, %r8
movq %r14, %r9
callq *%rax
movl 0x10(%rsp), %esi
movb %r13b, (%r14)
movl $0x1, %r12d
jmp 0x4778
movq 0x20(%rsp), %rcx
movq (%rcx), %rcx
movslq %r13d, %rdx
testb $0x20, 0x1(%rcx,%rdx,2)
jne 0x472a
cmpq $0x1ffe, %rax           # imm = 0x1FFE
ja 0x472f
movb %r13b, (%r14,%rax)
incq %rax
movq %rax, %r12
jmp 0x4787
movb $0x0, 0x894(%rbx,%rax)
movq (%rbx), %r10
testq %r10, %r10
je 0x4760
movq 0x488(%rbx), %rdx
movq %rax, (%rsp)
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %rcx
movq %rbp, %r8
movq %r14, %r9
callq *%r10
movb %r13b, (%r14)
movl $0x1, %r12d
jmp 0x4780
movl $0x3e, %r13d
addq $-0x894, %r12           # imm = 0xF76C
movq %rbp, %r8
jmp 0x4787
xorl %r12d, %r12d
movq %rbp, %r8
movl 0x10(%rsp), %esi
cmpl %esi, %r13d
jne 0x481f
movb $0x0, 0x894(%rbx,%r12)
movq (%rbx), %rax
testq %rax, %rax
je 0x47c1
movq 0x488(%rbx), %rdx
movq %r12, (%rsp)
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %rcx
movq %r14, %r9
callq *%rax
movq %rbp, %r8
movq 0x8(%rbx), %rax
testq %rax, %rax
je 0x47e0
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq 0x8(%rsp), %rsi
movq 0x18(%rsp), %rcx
callq *%rax
xorl %r8d, %r8d
xorl %r12d, %r12d
movq $0x0, 0x10(%rsp)
cmpl $0x2f, %r13d
je 0x4807
movq %r8, %rbp
cmpl $0x3e, %r13d
jne 0x43e7
jmp 0x4897
movl $0x1, 0x490(%rbx)
movb $0x0, 0x494(%rbx)
xorl %ebp, %ebp
jmp 0x43e7
cmpl $0x20, %esi
jne 0x4844
cmpl $0x3e, %r13d
je 0x4790
movq 0x20(%rsp), %rax
movq (%rax), %rax
movslq %r13d, %rcx
testb $0x20, 0x1(%rax,%rcx,2)
jne 0x4790
movl %esi, %r13d
jmp 0x4578
callq 0x2120
cmpl $-0x1, %eax
je 0x4b71
movb %al, (%r13)
xorl %ebp, %ebp
jmp 0x4271
movq 0x70(%rbx), %rax
testq %rax, %rax
je 0x4883
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 0x48bd
movq 0x80(%rbx), %rax
testq %rax, %rax
movq 0x8(%rsp), %r13
je 0x48bd
movq 0x488(%rbx), %rdx
movl 0x490(%rbx), %ecx
movq %rbx, %rdi
movq %r13, %rsi
callq *%rax
movl 0x490(%rbx), %ecx
testl %ecx, %ecx
je 0x40a8
movq 0x70(%rbx), %rax
testq %rax, %rax
je 0x48e3
movq 0x488(%rbx), %rdx
movq %rbx, %rdi
movq %r13, %rsi
callq *%rax
movb $0x0, 0x88(%rbx)
movq $0x0, 0x488(%rbx)
jmp 0x40a8
movl $0x3e, %r15d
jmp 0x40a8
movq 0x38(%rbx), %rax
testq %rax, %rax
je 0x4913
movq %rbx, %rdi
callq *%rax
callq 0x2120
movl $0x2d, %r15d
cmpl $-0x1, %eax
je 0x40a8
movl %eax, %ebp
xorl %r12d, %r12d
xorl %r13d, %r13d
cmpl $0x3e, %ebp
je 0x4939
cmpl $0x2d, %ebp
jne 0x4958
cmpq $0x0, 0x40(%rbx)
je 0x4958
movb $0x0, 0x894(%rbx,%r12)
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq *0x40(%rbx)
xorl %r12d, %r12d
cmpl $0x2d, %ebp
jne 0x4990
cmpq $0x2, %r13
jb 0x49e7
movq 0x40(%rbx), %rax
movl $0x2, %r13d
testq %rax, %rax
leaq 0x928(%rip), %rsi       # 0x52a3
je 0x4a15
movl $0x1, %edx
movq %rbx, %rdi
callq *%rax
jmp 0x4a15
cmpl $0x3e, %ebp
setne %al
cmpq $0x2, %r13
setne %cl
orb %al, %cl
je 0x4b54
movq %r12, 0x20(%rsp)
testq %r13, %r13
leaq 0x8ef(%rip), %r12       # 0x52a3
je 0x49d0
cmpq $0x0, 0x40(%rbx)
je 0x49d0
movl $0x1, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq *0x40(%rbx)
decq %r13
jne 0x49bd
movq 0x20(%rsp), %r12
cmpq $0x1ffe, %r12           # imm = 0x1FFE
ja 0x49ec
movb %bpl, (%r14,%r12)
incq %r12
jmp 0x4a12
incq %r13
jmp 0x4a15
movb $0x0, 0x894(%rbx,%r12)
movq 0x40(%rbx), %rax
testq %rax, %rax
je 0x4a09
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq *%rax
movb %bpl, (%r14)
movl $0x1, %r12d
xorl %r13d, %r13d
callq 0x2120
movl %eax, %ebp
cmpl $-0x1, %eax
jne 0x492f
jmp 0x4b4a
movq 0x20(%rbx), %rax
testq %rax, %rax
je 0x4a38
movq %rbx, %rdi
callq *%rax
callq 0x2120
movl $0x5b, %r15d
cmpl $-0x1, %eax
je 0x40a8
movl %eax, %ebp
xorl %r12d, %r12d
xorl %r13d, %r13d
cmpl $0x5d, %ebp
je 0x4a5e
cmpl $0x3e, %ebp
jne 0x4a7d
cmpq $0x0, 0x28(%rbx)
je 0x4a7d
movb $0x0, 0x894(%rbx,%r12)
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq *0x28(%rbx)
xorl %r12d, %r12d
cmpl $0x5d, %ebp
jne 0x4ab5
cmpq $0x2, %r13
jb 0x4b0c
movq 0x28(%rbx), %rax
movl $0x2, %r13d
testq %rax, %rax
leaq 0x805(%rip), %rsi       # 0x52a5
je 0x4b3a
movl $0x1, %edx
movq %rbx, %rdi
callq *%rax
jmp 0x4b3a
cmpl $0x3e, %ebp
setne %al
cmpq $0x2, %r13
setne %cl
orb %al, %cl
je 0x4b5a
movq %r12, 0x20(%rsp)
testq %r13, %r13
leaq 0x7cc(%rip), %r12       # 0x52a5
je 0x4af5
cmpq $0x0, 0x28(%rbx)
je 0x4af5
movl $0x1, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq *0x28(%rbx)
decq %r13
jne 0x4ae2
movq 0x20(%rsp), %r12
cmpq $0x1ffe, %r12           # imm = 0x1FFE
ja 0x4b11
movb %bpl, (%r14,%r12)
incq %r12
jmp 0x4b37
incq %r13
jmp 0x4b3a
movb $0x0, 0x894(%rbx,%r12)
movq 0x28(%rbx), %rax
testq %rax, %rax
je 0x4b2e
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq *%rax
movb %bpl, (%r14)
movl $0x1, %r12d
xorl %r13d, %r13d
callq 0x2120
movl %eax, %ebp
cmpl $-0x1, %eax
jne 0x4a54
movq 0x8(%rsp), %r13
jmp 0x40a8
movq 0x48(%rbx), %rax
jmp 0x4b5e
movq 0x30(%rbx), %rax
testq %rax, %rax
movq 0x8(%rsp), %r13
jne 0x421a
jmp 0x40a8
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq