// File: /workspace/github_cpp_makefile_star2_O1/jliesch[P]ofxget/pugixml/pugixml.cpp
// Function: pugi::impl::(anonymous namespace)::xpath_parser::parse_path_or_unary_expression()
xpath_ast_node* parse_path_or_unary_expression()
		{
			// Clarification.
			// PathExpr begins with either LocationPath or FilterExpr.
			// FilterExpr begins with PrimaryExpr
			// PrimaryExpr begins with '$' in case of it being a variable reference,
			// '(' in case of it being an expression, string literal, number constant or
			// function call.
			if (_lexer.current() == lex_var_ref || _lexer.current() == lex_open_brace ||
				_lexer.current() == lex_quoted_string || _lexer.current() == lex_number ||
				_lexer.current() == lex_string)
			{
				if (_lexer.current() == lex_string)
				{
					// This is either a function call, or not - if not, we shall proceed with location path
					const char_t* state = _lexer.state();

					while (PUGI__IS_CHARTYPE(*state, ct_space)) ++state;

					if (*state != '(')
						return parse_location_path();

					// This looks like a function call; however this still can be a node-test. Check it.
					if (parse_node_test_type(_lexer.contents()) != nodetest_none)
						return parse_location_path();
				}

				xpath_ast_node* n = parse_filter_expression();
				if (!n) return 0;

				if (_lexer.current() == lex_slash || _lexer.current() == lex_double_slash)
				{
					lexeme_t l = _lexer.current();
					_lexer.next();

					if (l == lex_double_slash)
					{
						if (n->rettype() != xpath_type_node_set)
							return error("Step has to be applied to node set");

						n = alloc_node(ast_step, n, axis_descendant_or_self, nodetest_type_node, 0);
						if (!n) return 0;
					}

					// select from location path
					return parse_relative_location_path(n);
				}

				return n;
			}
			else if (_lexer.current() == lex_minus)
			{
				_lexer.next();

				// precedence 7+ - only parses union expressions
				xpath_ast_node* n = parse_expression(7);
				if (!n) return 0;

				return alloc_node(ast_op_negate, xpath_type_number, n);
			}
			else
			{
				return parse_location_path();
			}
		}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
movl 0x28(%rdi), %eax
cmpl $0x14, %eax
ja 0x2b3c8
leaq 0x8(%rbx), %r14
movl $0xd800, %ecx           # imm = 0xD800
btl %eax, %ecx
jae 0x2b360
movl 0x28(%rbx), %eax
addl $-0xb, %eax
cmpl $0x9, %eax
ja 0x2b42e
leaq 0x781d(%rip), %rcx      # 0x32af8
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x38(%rbx), %r15
testq %r15, %r15
je 0x2b5c4
movq 0x18(%rbx), %rbp
movq 0x20(%rbx), %r12
leaq 0x48(%rbx), %r13
subq %rbp, %r12
movq %r13, 0x20(%rsp)
cmpq $0x20, %r12
jb 0x2b322
leaq 0x1(%r12), %rdi
callq *0x1c542(%rip)          # 0x47858
movq %rax, %r13
testq %rax, %rax
je 0x2b705
movq %r13, %rdi
movq %rbp, %rsi
movq %r12, %rdx
callq 0x6090
movb $0x0, (%r13,%r12)
movq %r15, %rdi
movq %r13, %rsi
callq 0x24ad6
movq %rax, %r12
movb $0x1, %r15b
cmpq 0x20(%rsp), %r13
je 0x2b70b
movq %r13, %rdi
callq *0x1c4f5(%rip)          # 0x47850
jmp 0x2b70b
cmpl $0x8, %eax
je 0x2b3de
cmpl $0x14, %eax
jne 0x2b3c8
movq (%r14), %rcx
leaq 0x790c(%rip), %rdx      # 0x32c80
movzbl (%rcx), %esi
incq %rcx
testb $0x8, (%rsi,%rdx)
jne 0x2b374
cmpb $0x28, %sil
jne 0x2b3ae
cmpl $0x14, %eax
ja 0x2c194
movl $0x10c800, %ecx         # imm = 0x10C800
btl %eax, %ecx
jae 0x2c194
leaq 0x18(%rbx), %rdi
callq 0x2c3c0
testl %eax, %eax
je 0x2b5e4
movq %rbx, %rdi
callq 0x2c2ce
movq %rax, %r15
xorl %eax, %eax
testb %al, %al
jne 0x2b2c5
jmp 0x2c153
movq %rbx, %rdi
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2c2ce
movq %r14, %rdi
callq 0x2af4e
movq %rbx, %rdi
movl $0x7, %esi
callq 0x2b264
testq %rax, %rax
je 0x2c150
movq %rax, %r14
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2c150
movq %rax, %r15
movl $0x20e, (%rax)          # imm = 0x20E
movq %r14, 0x8(%rax)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
jmp 0x2c153
movq 0x40(%rbx), %rax
leaq 0x9ab1(%rip), %rcx      # 0x34eea
jmp 0x2bfd8
movq 0x18(%rbx), %rax
testq %rax, %rax
je 0x2b5bb
movq (%rbx), %rdi
movq 0x20(%rbx), %r15
subq %rax, %r15
leaq 0x1(%r15), %rsi
callq 0x2c52c
testq %rax, %rax
je 0x2b5eb
movq %rax, %r12
movq 0x18(%rbx), %rsi
movq %rax, %rdi
movq %r15, %rdx
callq 0x6090
movb $0x0, (%r12,%r15)
jmp 0x2b5ee
movq %r14, %rdi
callq 0x2af4e
xorl %r15d, %r15d
movq %rbx, %rdi
xorl %esi, %esi
callq 0x2b264
testq %rax, %rax
je 0x2bfea
cmpl $0xd, 0x28(%rbx)
jne 0x2b5d4
movq %rax, %r12
movq %r14, %rdi
callq 0x2af4e
movq %r12, %r15
jmp 0x2bfea
leaq 0x48(%rbx), %rbp
movq 0x18(%rbx), %r13
movq 0x20(%rbx), %r12
subq %r13, %r12
movq %rbp, %r15
cmpq $0x20, %r12
jb 0x2b4ed
leaq 0x1(%r12), %rdi
callq *0x1c377(%rip)          # 0x47858
movq %rax, %r15
testq %rax, %rax
je 0x2b69a
movq %r15, %rdi
movq %r13, %rsi
movq %r12, %rdx
callq 0x6090
movb $0x0, (%r15,%r12)
movq %r15, %rdi
callq 0x2c5ae
movsd %xmm0, 0x20(%rsp)
movb $0x1, %r12b
cmpq %rbp, %r15
je 0x2b6a6
movq %r15, %rdi
callq *0x1c32d(%rip)          # 0x47850
jmp 0x2b6a6
xorps %xmm0, %xmm0
movaps %xmm0, (%rsp)
movups 0x18(%rbx), %xmm0
movaps %xmm0, 0x10(%rsp)
movq %r14, %rdi
callq 0x2af4e
cmpl $0xc, 0x28(%rbx)
jne 0x2b5ab
movq %r14, %rdi
callq 0x2af4e
xorl %r15d, %r15d
xorl %r12d, %r12d
xorl %r13d, %r13d
movl 0x28(%rbx), %eax
cmpl $0xd, %eax
je 0x2b623
testq %r12, %r12
je 0x2b579
cmpl $0x15, %eax
jne 0x2b6f5
movq %r14, %rdi
callq 0x2af4e
movq %rbx, %rdi
xorl %esi, %esi
callq 0x2b264
testq %rax, %rax
je 0x2b5a1
addq $0x18, %r13
cmpq $0x2, %r12
leaq (%rsp,%r12,8), %rcx
cmovaeq %r13, %rcx
movq %rax, (%rcx)
incq %r12
movq %rax, %r13
testq %rax, %rax
jne 0x2b557
jmp 0x2bfea
movq 0x40(%rbx), %rax
leaq 0x98f5(%rip), %rcx      # 0x34eab
jmp 0x2bfd8
leaq 0x5b47(%rip), %r12      # 0x31109
jmp 0x2b5ee
movq 0x40(%rbx), %rax
leaq 0x9849(%rip), %rcx      # 0x34e18
jmp 0x2bfd8
movq 0x40(%rbx), %rax
leaq 0x98a7(%rip), %rcx      # 0x34e86
jmp 0x2bfd8
movb $0x1, %al
jmp 0x2b3bb
xorl %r12d, %r12d
testq %r12, %r12
je 0x2bfe7
movq %r14, %rdi
callq 0x2af4e
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x312, (%rax)          # imm = 0x312
jmp 0x2b747
movq %r14, %rdi
callq 0x2af4e
movq 0x10(%rsp), %rax
movzbl (%rax), %eax
addl $-0x62, %eax
cmpl $0x12, %eax
ja 0x2bfcd
leaq 0x74da(%rip), %rcx      # 0x32b20
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x9912(%rip), %rsi      # 0x34f68
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x1, %r12
jne 0x2bfcd
testb %al, %al
je 0x2bfcd
movq (%rsp), %r12
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x42d, (%rax)          # imm = 0x42D
jmp 0x2be36
xorps %xmm0, %xmm0
movsd %xmm0, 0x20(%rsp)
xorl %r12d, %r12d
testb %r12b, %r12b
je 0x2b760
movq %r14, %rdi
callq 0x2af4e
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x213, (%rax)          # imm = 0x213
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%rax)
movq $0x0, 0x18(%rax)
movsd 0x20(%rsp), %xmm0
movsd %xmm0, 0x20(%rax)
jmp 0x2bfea
movq 0x40(%rbx), %rax
leaq 0x97c6(%rip), %rcx      # 0x34ec6
jmp 0x2bfd8
xorl %r12d, %r12d
xorl %r15d, %r15d
testb %r15b, %r15b
je 0x2b760
testq %r12, %r12
je 0x2b778
movq %r14, %rdi
callq 0x2af4e
movl (%r12), %ebp
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movb $0x14, (%rax)
movb %bpl, 0x1(%rax)
movw $0x0, 0x2(%rax)
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r15)
movq $0x0, 0x18(%r15)
movq %r12, 0x20(%r15)
jmp 0x2bfea
movq (%rbx), %rax
movq 0x10(%rax), %rax
testq %rax, %rax
je 0x2c175
movb $0x1, (%rax)
jmp 0x2bfe7
movq 0x40(%rbx), %rax
leaq 0x96c4(%rip), %rcx      # 0x34e47
jmp 0x2bfd8
leaq 0x8b99(%rip), %rsi      # 0x34328
leaq 0x10(%rsp), %rdi
callq 0x2c4da
testq %r12, %r12
jne 0x2ba41
testb %al, %al
je 0x2ba41
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x430, (%rax)          # imm = 0x430
jmp 0x2bbc7
leaq 0x96ac(%rip), %rsi      # 0x34e81
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x1, %r12
ja 0x2ba8c
testb %al, %al
je 0x2ba8c
cmpq $0x1, %r12
jne 0x2b805
movq (%rsp), %rax
cmpb $0x1, 0x1(%rax)
jne 0x2c165
movq (%rsp), %r13
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
cmpq $0x1, %r12
movb $0x1e, %al
jmp 0x2bd3e
leaq 0xa27a(%rip), %rsi      # 0x35aae
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x1, %r12
jne 0x2baeb
testb %al, %al
je 0x2baeb
movq (%rsp), %r12
cmpb $0x1, 0x1(%r12)
jne 0x2c165
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x217, (%rax)          # imm = 0x217
jmp 0x2be36
leaq 0x975c(%rip), %rsi      # 0x34fe7
leaq 0x10(%rsp), %rdi
callq 0x2c4da
testq %r12, %r12
jne 0x2bfcd
testb %al, %al
je 0x2bfcd
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x216, (%rax)          # imm = 0x216
jmp 0x2bbc7
leaq 0x971f(%rip), %rsi      # 0x34ff0
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x1, %r12
jne 0x2bfcd
testb %al, %al
je 0x2bfcd
movq (%rsp), %r12
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x237, (%rax)          # imm = 0x237
jmp 0x2be36
leaq 0x57c8(%rip), %rsi      # 0x310e4
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x1, %r12
jne 0x2bfcd
testb %al, %al
je 0x2bfcd
movq (%rsp), %r12
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x118, (%rax)          # imm = 0x118
jmp 0x2be36
leaq 0x964e(%rip), %rsi      # 0x34fb5
leaq 0x10(%rsp), %rdi
callq 0x2c4da
testq %r12, %r12
jne 0x2bb3b
testb %al, %al
je 0x2bb3b
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x215, (%rax)          # imm = 0x215
jmp 0x2bbc7
leaq 0x9692(%rip), %rsi      # 0x3503f
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x3, %r12
jne 0x2bb86
testb %al, %al
je 0x2bb86
movq (%rsp), %r12
movq 0x8(%rsp), %r13
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x32c, (%rax)          # imm = 0x32C
jmp 0x2bf1f
leaq 0x936c(%rip), %rsi      # 0x34d69
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x1, %r12
ja 0x2bbd4
testb %al, %al
je 0x2bbd4
movq (%rsp), %r13
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
cmpq $0x1, %r12
movb $0x20, %al
jmp 0x2bd3e
leaq 0x9567(%rip), %rsi      # 0x34faf
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x1, %r12
jne 0x2bfcd
testb %al, %al
je 0x2bfcd
movq (%rsp), %r12
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x235, (%rax)          # imm = 0x235
jmp 0x2be36
leaq 0x9532(%rip), %rsi      # 0x34fc5
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x1, %r12
ja 0x2bc2b
testb %al, %al
je 0x2bc2b
cmpq $0x1, %r12
jne 0x2bac3
movq (%rsp), %rax
cmpb $0x1, 0x1(%rax)
jne 0x2c165
movq (%rsp), %r13
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
cmpq $0x1, %r12
movb $0x1c, %al
jmp 0x2bd3e
leaq 0x94a5(%rip), %rsi      # 0x34f97
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x2, %r12
jne 0x2bc94
testb %al, %al
je 0x2bc94
movq (%rsp), %r12
movq 0x8(%rsp), %r13
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x423, (%rax)          # imm = 0x423
jmp 0x2bf1f
leaq 0x9803(%rip), %rsi      # 0x35345
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x1, %r12
jne 0x2bce4
testb %al, %al
je 0x2bce4
movq (%rsp), %r12
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x431, (%rax)          # imm = 0x431
jmp 0x2be36
leaq 0x94bc(%rip), %rsi      # 0x35049
leaq 0x10(%rsp), %rdi
callq 0x2c4da
testq %r12, %r12
jne 0x2bfcd
testb %al, %al
je 0x2bfcd
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x42f, (%rax)          # imm = 0x42F
xorps %xmm0, %xmm0
movups %xmm0, 0x8(%r15)
jmp 0x2bf27
leaq 0x941b(%rip), %rsi      # 0x34ff6
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x1, %r12
ja 0x2bd58
testb %al, %al
je 0x2bd58
movq (%rsp), %r13
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
testq %r12, %r12
sete %al
xorb $0x29, %al
movb %al, (%r15)
movw $0x2, 0x1(%r15)
jmp 0x2bd4a
leaq 0x93a1(%rip), %rsi      # 0x34fd3
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x1, %r12
ja 0x2bda8
testb %al, %al
je 0x2bda8
movq (%rsp), %r13
movq 0x8(%rsp), %rbp
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
testq %r12, %r12
sete %al
xorb $0x2b, %al
movb %al, (%r15)
movw $0x3, 0x1(%r15)
movb $0x0, 0x3(%r15)
movq %r13, 0x8(%r15)
movq %rbp, 0x10(%r15)
jmp 0x2bf27
leaq 0x9305(%rip), %rsi      # 0x34fa0
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x2, %r12
jb 0x2bdf0
testb %al, %al
je 0x2bdf0
movq (%rsp), %r12
movq 0x8(%rsp), %r13
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x321, (%rax)          # imm = 0x321
jmp 0x2bf1f
leaq 0x92cf(%rip), %rsi      # 0x34fba
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x1, %r12
ja 0x2bfcd
testb %al, %al
je 0x2bfcd
cmpq $0x1, %r12
jne 0x2bd1b
movq (%rsp), %rax
cmpb $0x1, 0x1(%rax)
jne 0x2c165
movq (%rsp), %r13
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
cmpq $0x1, %r12
movb $0x1a, %al
sbbb $0x0, %al
movb %al, (%r15)
movw $0x3, 0x1(%r15)
movb $0x0, 0x3(%r15)
movq %r13, 0x8(%r15)
jmp 0x2be3a
leaq 0x92a5(%rip), %rsi      # 0x35004
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x2, %r12
jne 0x2be47
testb %al, %al
je 0x2be47
movq (%rsp), %r12
movq 0x8(%rsp), %r13
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x422, (%rax)          # imm = 0x422
jmp 0x2bf1f
leaq 0x9234(%rip), %rsi      # 0x34fe3
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x1, %r12
jne 0x2be8f
testb %al, %al
je 0x2be8f
movq (%rsp), %r12
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x42e, (%rax)          # imm = 0x42E
jmp 0x2be36
leaq 0x91b0(%rip), %rsi      # 0x34fa7
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x1, %r12
jne 0x2bfcd
testb %al, %al
je 0x2bfcd
movq (%rsp), %r12
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x236, (%rax)          # imm = 0x236
movq %r12, 0x8(%r15)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r15)
jmp 0x2bfea
leaq 0x91c2(%rip), %rsi      # 0x35010
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x2, %r12
jne 0x2bedc
testb %al, %al
je 0x2bedc
movq (%rsp), %r12
movq 0x8(%rsp), %r13
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x324, (%rax)          # imm = 0x324
jmp 0x2bf1f
leaq 0xa14f(%rip), %rsi      # 0x35fe5
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x1, %r12
ja 0x2bfcd
testb %al, %al
je 0x2bfcd
movq (%rsp), %r13
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
testq %r12, %r12
sete %al
xorb $0x33, %al
jmp 0x2bc1c
leaq 0x913e(%rip), %rsi      # 0x35021
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x2, %r12
jne 0x2bf34
testb %al, %al
je 0x2bf34
movq (%rsp), %r12
movq 0x8(%rsp), %r13
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x325, (%rax)          # imm = 0x325
movq %r12, 0x8(%r15)
movq %r13, 0x10(%r15)
movq $0x0, 0x18(%r15)
jmp 0x2bfea
leaq 0x90f6(%rip), %rsi      # 0x35031
leaq 0x10(%rsp), %rdi
callq 0x2c4da
movq %r12, %rcx
andq $-0x2, %rcx
cmpq $0x2, %rcx
jne 0x2bf82
testb %al, %al
je 0x2bf82
movq (%rsp), %r13
movq 0x8(%rsp), %rbp
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
cmpq $0x2, %r12
sete %al
xorb $0x27, %al
jmp 0x2bc78
leaq 0x90b2(%rip), %rsi      # 0x3503b
leaq 0x10(%rsp), %rdi
callq 0x2c4da
cmpq $0x1, %r12
jne 0x2bfcd
testb %al, %al
je 0x2bfcd
movq (%rsp), %r12
cmpb $0x1, 0x1(%r12)
jne 0x2c165
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2bfe7
movq %rax, %r15
movl $0x234, (%rax)          # imm = 0x234
jmp 0x2be36
movq 0x40(%rbx), %rax
leaq 0x9076(%rip), %rcx      # 0x3504e
movq %rcx, (%rax)
movq 0x10(%rbx), %rcx
subq 0x30(%rbx), %rcx
movq %rcx, 0x8(%rax)
xorl %r15d, %r15d
testq %r15, %r15
je 0x2c0b2
leaq 0x8df9(%rip), %r13      # 0x34df3
cmpl $0x12, 0x28(%rbx)
jne 0x2c0b5
movq %r14, %rdi
callq 0x2af4e
cmpb $0x1, 0x1(%r15)
jne 0x2c098
xorl %ebp, %ebp
movq %rbx, %rdi
xorl %esi, %esi
callq 0x2b264
testq %rax, %rax
je 0x2c08d
movq %rax, %r12
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2c058
movl $0x111, (%rax)          # imm = 0x111
movq %r15, 0x8(%rax)
movq %r12, 0x10(%rax)
movq $0x0, 0x18(%rax)
movq %rax, %r15
jmp 0x2c05b
xorl %r15d, %r15d
testq %r15, %r15
je 0x2c073
cmpl $0x13, 0x28(%rbx)
jne 0x2c078
movq %r14, %rdi
callq 0x2af4e
movb $0x1, %bpl
jmp 0x2c08d
xorl %r15d, %r15d
jmp 0x2c08b
movq 0x40(%rbx), %rax
movq %r13, (%rax)
movq 0x10(%rbx), %rcx
subq 0x30(%rbx), %rcx
movq %rcx, 0x8(%rax)
xorl %ebp, %ebp
testb %bpl, %bpl
jne 0x2bffa
jmp 0x2c0b2
movq 0x40(%rbx), %rax
leaq 0x8d28(%rip), %rcx      # 0x34dcb
movq %rcx, (%rax)
movq 0x10(%rbx), %rcx
subq 0x30(%rbx), %rcx
movq %rcx, 0x8(%rax)
xorl %r15d, %r15d
testq %r15, %r15
je 0x2c150
movl 0x28(%rbx), %ebp
movl %ebp, %eax
andl $-0x2, %eax
cmpl $0x10, %eax
jne 0x2c153
movq %r14, %rdi
callq 0x2af4e
cmpl $0x11, %ebp
jne 0x2c137
cmpb $0x1, 0x1(%r15)
jne 0x2c113
movq (%rbx), %rdi
movl $0x28, %esi
callq 0x2c52c
testq %rax, %rax
je 0x2c12f
movl $0x2050138, (%rax)      # imm = 0x2050138
movq %r15, 0x8(%rax)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
movq $0x0, 0x20(%rax)
movq %rax, %r15
jmp 0x2c132
movq 0x40(%rbx), %rax
leaq 0x8b9a(%rip), %rcx      # 0x34cb8
movq %rcx, (%rax)
movq 0x10(%rbx), %rcx
subq 0x30(%rbx), %rcx
movq %rcx, 0x8(%rax)
jmp 0x2c150
xorl %r15d, %r15d
testq %r15, %r15
je 0x2c150
movq %rbx, %rdi
movq %r15, %rsi
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2c43a
xorl %r15d, %r15d
movq %r15, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x40(%rbx), %rax
leaq 0x8e00(%rip), %rcx      # 0x34f70
jmp 0x2bfd8
leaq 0x8d90(%rip), %rdi      # 0x34f0c
leaq 0x6d72(%rip), %rsi      # 0x32ef5
leaq 0x8d91(%rip), %rcx      # 0x34f1b
movl $0x2afa, %edx           # imm = 0x2AFA
callq 0x6120
leaq 0x8b5c(%rip), %rdi      # 0x34cf7
leaq 0x6d53(%rip), %rsi      # 0x32ef5
leaq 0x8bc7(%rip), %rcx      # 0x34d70
movl $0x2422, %edx           # imm = 0x2422
callq 0x6120
nop