// File: /workspace/github_cpp_makefile_star2_O1/jliesch[P]ofxget/pugixml/pugixml.cpp
// Function: pugi::impl::(anonymous namespace)::xpath_ast_node::eval_boolean(pugi::impl::(anonymous namespace)::xpath_context const&, pugi::impl::(anonymous namespace)::xpath_stack const&)
bool eval_boolean(const xpath_context& c, const xpath_stack& stack)
		{
			switch (_type)
			{
			case ast_op_or:
				return _left->eval_boolean(c, stack) || _right->eval_boolean(c, stack);

			case ast_op_and:
				return _left->eval_boolean(c, stack) && _right->eval_boolean(c, stack);

			case ast_op_equal:
				return compare_eq(_left, _right, c, stack, equal_to());

			case ast_op_not_equal:
				return compare_eq(_left, _right, c, stack, not_equal_to());

			case ast_op_less:
				return compare_rel(_left, _right, c, stack, less());

			case ast_op_greater:
				return compare_rel(_right, _left, c, stack, less());

			case ast_op_less_or_equal:
				return compare_rel(_left, _right, c, stack, less_equal());

			case ast_op_greater_or_equal:
				return compare_rel(_right, _left, c, stack, less_equal());

			case ast_func_starts_with:
			{
				xpath_allocator_capture cr(stack.result);

				xpath_string lr = _left->eval_string(c, stack);
				xpath_string rr = _right->eval_string(c, stack);

				return starts_with(lr.c_str(), rr.c_str());
			}

			case ast_func_contains:
			{
				xpath_allocator_capture cr(stack.result);

				xpath_string lr = _left->eval_string(c, stack);
				xpath_string rr = _right->eval_string(c, stack);

				return find_substring(lr.c_str(), rr.c_str()) != 0;
			}

			case ast_func_boolean:
				return _left->eval_boolean(c, stack);

			case ast_func_not:
				return !_left->eval_boolean(c, stack);

			case ast_func_true:
				return true;

			case ast_func_false:
				return false;

			case ast_func_lang:
			{
				if (c.n.attribute()) return false;

				xpath_allocator_capture cr(stack.result);

				xpath_string lang = _left->eval_string(c, stack);

				for (xml_node n = c.n.node(); n; n = n.parent())
				{
					xml_attribute a = n.attribute(PUGIXML_TEXT("xml:lang"));

					if (a)
					{
						const char_t* value = a.value();

						// strnicmp / strncasecmp is not portable
						for (const char_t* lit = lang.c_str(); *lit; ++lit)
						{
							if (tolower_ascii(*lit) != tolower_ascii(*value)) return false;
							++value;
						}

						return *value == 0 || *value == '-';
					}
				}

				return false;
			}

			case ast_opt_compare_attribute:
			{
				const char_t* value = (_right->_type == ast_string_constant) ? _right->_data.string : _right->_data.variable->get_string();

				xml_attribute attr = c.n.node().attribute(_left->_data.nodetest);

				return attr && strequal(attr.value(), value) && is_xpath_attribute(attr.name());
			}

			case ast_variable:
			{
				assert(_rettype == _data.variable->type());

				if (_rettype == xpath_type_boolean)
					return _data.variable->get_boolean();
			}

			// fallthrough
			default:
			{
				switch (_rettype)
				{
				case xpath_type_number:
					return convert_number_to_boolean(eval_number(c, stack));

				case xpath_type_string:
				{
					xpath_allocator_capture cr(stack.result);

					return !eval_string(c, stack).empty();
				}

				case xpath_type_node_set:
				{
					xpath_allocator_capture cr(stack.result);

					return !eval_node_set(c, stack, nodeset_eval_any).empty();
				}

				default:
					assert(false && "Wrong expression for return type boolean"); // unreachable
					return false;
				}
			}
			}
		}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
movq %rdx, %rbx
movq %rsi, %r15
movq %rdi, %r12
movl $0x0, 0x24(%rsp)
leaq 0xd3bd(%rip), %r13      # 0x32830
leaq 0xd366(%rip), %rbp      # 0x327e0
movzbl (%r12), %eax
movb $0x1, %r14b
leal -0x1(%rax), %ecx
cmpl $0x13, %ecx
ja 0x254ad
movslq (%rbp,%rcx,4), %rax
addq %rbp, %rax
jmpq *%rax
movq 0x8(%r12), %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2544a
testb %al, %al
je 0x254e2
jmp 0x25ba6
leal -0x22(%rax), %ecx
cmpl $0xf, %ecx
ja 0x2553e
movslq (%r13,%rcx,4), %rax
addq %r13, %rax
jmpq *%rax
movq 0x8(%r12), %r12
jmp 0x2547a
movq 0x8(%r12), %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2544a
testb %al, %al
je 0x25ba3
movq 0x10(%r12), %r12
jmp 0x2547a
movq 0x8(%r12), %rsi
movq 0x10(%r12), %r12
movb 0x1(%rsi), %al
movb 0x1(%r12), %cl
cmpb $0x1, %al
je 0x25db8
cmpb $0x1, %cl
je 0x25db8
cmpb $0x4, %al
setne %dl
cmpb $0x4, %cl
setne %dil
testb %dil, %dl
jne 0x25ebf
movq %rsi, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2544a
movl 0x24(%rsp), %ecx
xorb %al, %cl
movl %ecx, 0x24(%rsp)
jmp 0x2547a
cmpl $0x3b, %eax
jne 0x25608
movq 0x10(%r12), %rax
cmpb $0x12, (%rax)
movq 0x20(%rax), %rbx
je 0x25b40
cmpl $0x3, (%rbx)
jne 0x25b30
movq 0x10(%rbx), %rax
jmp 0x25b32
movq 0x8(%r12), %rsi
movq 0x10(%r12), %r14
movb 0x1(%rsi), %al
movb 0x1(%r14), %cl
cmpb $0x1, %al
sete %dl
cmpb $0x1, %cl
sete %dil
orb %dl, %dil
jne 0x2585c
cmpb $0x4, %al
sete %dl
cmpb $0x4, %cl
sete %dil
orb %dl, %dil
je 0x25963
movq %rsi, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2544a
movl %eax, %ebp
movq %r14, %rdi
jmp 0x259f5
movq 0x8(%r12), %rsi
movq 0x10(%r12), %rdi
jmp 0x25666
movq 0x8(%r12), %rdi
movq 0x10(%r12), %rsi
jmp 0x2567d
movsbl 0x1(%r12), %edx
movq 0x20(%r12), %rax
movl (%rax), %ecx
cmpl %edx, %ecx
jne 0x2615a
cmpb $0x4, %dl
jne 0x25608
cmpl $0x4, %ecx
jne 0x25ba3
movb 0x10(%rax), %r14b
jmp 0x25ba6
movzbl 0x1(%r12), %eax
cmpl $0x1, %eax
je 0x25816
cmpl $0x3, %eax
je 0x257df
cmpl $0x2, %eax
jne 0x26179
movq %r12, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2636c
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jne 0x25647
jnp 0x25ba3
movsd %xmm0, (%rsp)
movsd (%rsp), %xmm0
cmpeqsd (%rsp), %xmm0
jmp 0x259a1
movq 0x8(%r12), %rdi
movq 0x10(%r12), %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x2d2ae
jmp 0x25688
movq 0x8(%r12), %rsi
movq 0x10(%r12), %rdi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x2cebc
movl %eax, %r14d
jmp 0x25ba6
cmpq $0x0, 0x8(%r15)
jne 0x25ba3
movq (%rbx), %rax
movq %rax, (%rsp)
movupd (%rax), %xmm0
movupd %xmm0, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x8(%r12), %rsi
leaq 0x28(%rsp), %rdi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x26a66
xorl %r14d, %r14d
cmpq $0x0, 0x8(%r15)
jne 0x25a14
movq (%r15), %r12
jmp 0x25a17
movq 0x8(%r12), %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2544a
movl %eax, %r14d
jmp 0x25a06
movq (%rbx), %rax
movq %rax, (%rsp)
movupd (%rax), %xmm0
movupd %xmm0, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x8(%r12), %rsi
leaq 0x28(%rsp), %rdi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x26a66
movq 0x10(%r12), %rsi
leaq 0x48(%rsp), %rdi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x26a66
movq 0x28(%rsp), %rdi
movq 0x48(%rsp), %rsi
callq 0x62f0
testq %rax, %rax
jmp 0x25853
movq (%rbx), %rax
movq %rax, (%rsp)
movupd (%rax), %xmm0
movupd %xmm0, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq 0x8(%r12), %rsi
leaq 0x28(%rsp), %rdi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x26a66
movq 0x10(%r12), %rsi
leaq 0x48(%rsp), %rdi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x26a66
movq 0x48(%rsp), %rax
movb (%rax), %dl
testb %dl, %dl
sete %r14b
je 0x25b26
movq 0x28(%rsp), %rcx
cmpb %dl, (%rcx)
jne 0x25b23
movl $0x1, %edx
movb (%rax,%rdx), %sil
testb %sil, %sil
sete %r14b
je 0x25b26
leaq 0x1(%rdx), %rdi
cmpb %sil, (%rcx,%rdx)
movq %rdi, %rdx
je 0x257bc
jmp 0x25b23
movq (%rbx), %rax
movq %rax, (%rsp)
movupd (%rax), %xmm0
movupd %xmm0, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
leaq 0x28(%rsp), %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x26a66
movq 0x28(%rsp), %rax
cmpb $0x0, (%rax)
jmp 0x25853
movq (%rbx), %rax
movq %rax, (%rsp)
movupd (%rax), %xmm0
movupd %xmm0, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
leaq 0x28(%rsp), %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %rbx, %rcx
movl $0x1, %r8d
callq 0x27cf4
movq 0x30(%rsp), %rax
cmpq 0x38(%rsp), %rax
setne %r14b
jmp 0x25b26
movl %eax, %edx
xorb $0x1, %dl
movl %ecx, %edi
xorb $0x1, %dil
orb %dl, %dil
jne 0x259af
movq (%rbx), %rax
movq %rax, (%rsp)
movupd (%rax), %xmm0
movupd %xmm0, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
leaq 0x28(%rsp), %rdi
movq %r15, %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
callq 0x27cf4
leaq 0x48(%rsp), %rdi
movq %r14, %rsi
movq %r15, %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
callq 0x27cf4
movq 0x30(%rsp), %r15
cmpq 0x38(%rsp), %r15
setne %r14b
je 0x25b26
movb $0x1, %r14b
leaq 0x80(%rsp), %rbp
movq 0x50(%rsp), %r12
cmpq 0x58(%rsp), %r12
je 0x2594b
movq (%rbx), %rdx
movq %rdx, 0x78(%rsp)
movq 0x10(%rdx), %rax
movq %rax, 0x10(%rbp)
movupd (%rdx), %xmm0
movupd %xmm0, (%rbp)
leaq 0x98(%rsp), %rdi
movq %r15, %rsi
callq 0x2d721
movq (%rbx), %rdx
leaq 0xb0(%rsp), %rdi
movq %r12, %rsi
callq 0x2d721
movq 0x98(%rsp), %rdi
movq 0xb0(%rsp), %rsi
callq 0x1d71d
movl %eax, %r13d
leaq 0x78(%rsp), %rdi
callq 0x2d6a0
testb %r13b, %r13b
jne 0x25b26
addq $0x10, %r12
jmp 0x258d7
addq $0x10, %r15
cmpq 0x38(%rsp), %r15
setne %r14b
jne 0x258d2
jmp 0x25b26
cmpb $0x2, %al
setne %dl
cmpb $0x2, %cl
setne %dil
testb %dil, %dl
jne 0x25bc4
movq %rsi, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2636c
movsd %xmm0, 0x68(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2636c
cmpeqsd 0x68(%rsp), %xmm0
movq %xmm0, %r14
andl $0x1, %r14d
jmp 0x25ba6
cmpb $0x1, %al
movzbl %cl, %ecx
movzbl %al, %eax
cmovel %ecx, %eax
movq %r14, %r12
cmoveq %rsi, %r12
cmoveq %r14, %rsi
cmpb $0x2, %al
je 0x25cec
movzbl %al, %eax
cmpl $0x3, %eax
je 0x25c29
cmpl $0x4, %eax
jne 0x26198
movq %rsi, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2544a
movl %eax, %ebp
movq %r12, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2544a
movl %eax, %r14d
xorb %bpl, %r14b
xorb 0x24(%rsp), %r14b
xorb $0x1, %r14b
jmp 0x25bab
xorl %r12d, %r12d
movq %r12, 0x48(%rsp)
testq %r12, %r12
je 0x25b26
leaq 0xf915(%rip), %rbx      # 0x35341
leaq 0x48(%rsp), %r15
leaq 0xb6d1(%rip), %r13      # 0x31109
movq %r15, %rdi
movq %rbx, %rsi
callq 0x1d754
testq %rax, %rax
je 0x25b0b
movq 0x10(%rax), %rcx
testq %rcx, %rcx
cmoveq %r13, %rcx
movq 0x28(%rsp), %rsi
movsbl (%rsi), %edi
testl %edi, %edi
sete %dl
je 0x25af6
leal -0x41(%rdi), %r8d
movl %edi, %r9d
orb $0x20, %r9b
cmpl $0x1a, %r8d
movzbl %r9b, %r8d
cmovael %edi, %r8d
movsbl (%rcx), %edi
leal -0x41(%rdi), %r9d
movl %edi, %r10d
orb $0x20, %r10b
cmpl $0x1a, %r9d
movzbl %r10b, %r9d
cmovael %edi, %r9d
cmpb %r9b, %r8b
jne 0x25af3
incq %rcx
incq %rsi
movq %rcx, %rdi
movq %rdi, %rcx
movsbl (%rsi), %edi
testl %edi, %edi
sete %dl
je 0x25af6
leal -0x41(%rdi), %r8d
movl %edi, %r9d
orb $0x20, %r9b
cmpl $0x1a, %r8d
movzbl %r9b, %r8d
cmovael %edi, %r8d
movsbl (%rcx), %edi
leal -0x41(%rdi), %r9d
movl %edi, %r10d
orb $0x20, %r10b
cmpl $0x1a, %r9d
movzbl %r10b, %r9d
cmovael %edi, %r9d
leaq 0x1(%rcx), %rdi
incq %rsi
cmpb %r9b, %r8b
je 0x25aa9
xorl %r14d, %r14d
testb %dl, %dl
je 0x25b0b
movb (%rcx), %cl
testb %cl, %cl
sete %dl
cmpb $0x2d, %cl
sete %r14b
orb %dl, %r14b
testq %rax, %rax
jne 0x25b26
movq 0x18(%r12), %r12
movq %r12, 0x48(%rsp)
testq %r12, %r12
jne 0x25a38
xorl %r14d, %r14d
movq %rsp, %rdi
callq 0x2d6a0
jmp 0x25ba6
xorl %eax, %eax
testq %rax, %rax
leaq 0xb5cd(%rip), %rbx      # 0x31109
cmovneq %rax, %rbx
xorl %r14d, %r14d
cmpq $0x0, 0x8(%r15)
jne 0x25b4f
movq (%r15), %rax
jmp 0x25b51
xorl %eax, %eax
movq %rsp, %rdi
movq %rax, (%rdi)
movq 0x8(%r12), %rax
movq 0x20(%rax), %rsi
callq 0x1d754
testq %rax, %rax
je 0x25ba6
movq %rax, %r15
movq 0x10(%rax), %rdi
testq %rdi, %rdi
leaq 0xb58e(%rip), %r14      # 0x31109
cmoveq %r14, %rdi
movq %rbx, %rsi
callq 0x1d71d
testb %al, %al
je 0x25ba3
movq 0x8(%r15), %rax
testq %rax, %rax
cmovneq %rax, %r14
movq %r14, %rdi
callq 0x2d6e2
jmp 0x25688
xorl %r14d, %r14d
xorb 0x24(%rsp), %r14b
andb $0x1, %r14b
movl %r14d, %eax
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
cmpb $0x3, %al
setne %al
cmpb $0x3, %cl
setne %cl
testb %cl, %al
jne 0x26198
movq (%rbx), %rax
movq %rax, (%rsp)
movups (%rax), %xmm0
movups %xmm0, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
leaq 0x28(%rsp), %rdi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x26a66
leaq 0x48(%rsp), %rdi
movq %r14, %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x26a66
movq 0x28(%rsp), %rdi
movq 0x48(%rsp), %rsi
callq 0x1d71d
movl %eax, %r14d
jmp 0x25b26
movq (%rbx), %rax
movq %rax, (%rsp)
movups (%rax), %xmm0
movups %xmm0, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
leaq 0x78(%rsp), %rdi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x26a66
leaq 0x28(%rsp), %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
callq 0x27cf4
movq 0x30(%rsp), %r15
cmpq 0x38(%rsp), %r15
setne %r14b
je 0x25b26
movb $0x1, %r14b
leaq 0x50(%rsp), %r12
leaq 0x48(%rsp), %r13
movq (%rbx), %rdx
movq %rdx, 0x48(%rsp)
movq 0x10(%rdx), %rax
movq %rax, 0x10(%r12)
movupd (%rdx), %xmm0
movupd %xmm0, (%r12)
leaq 0x98(%rsp), %rdi
movq %r15, %rsi
callq 0x2d721
movq 0x78(%rsp), %rdi
movq 0x98(%rsp), %rsi
callq 0x1d71d
movl %eax, %ebp
movq %r13, %rdi
callq 0x2d6a0
testb %bpl, %bpl
jne 0x25b26
addq $0x10, %r15
cmpq 0x38(%rsp), %r15
setne %r14b
jne 0x25c88
jmp 0x25b26
movq (%rbx), %rax
movq %rax, (%rsp)
movups (%rax), %xmm0
movups %xmm0, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq %rsi, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2636c
movsd %xmm0, 0x70(%rsp)
leaq 0x28(%rsp), %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
callq 0x27cf4
movq 0x30(%rsp), %r15
cmpq 0x38(%rsp), %r15
setne %r14b
je 0x25b26
movb $0x1, %r14b
leaq 0x50(%rsp), %rbp
leaq 0x78(%rsp), %r12
leaq 0x48(%rsp), %r13
movq (%rbx), %rdx
movq %rdx, 0x48(%rsp)
movq 0x10(%rdx), %rax
movq %rax, 0x10(%rbp)
movupd (%rdx), %xmm0
movupd %xmm0, (%rbp)
movq %r12, %rdi
movq %r15, %rsi
callq 0x2d721
movq 0x78(%rsp), %rdi
callq 0x2c5ae
movsd %xmm0, 0x68(%rsp)
movq %r13, %rdi
callq 0x2d6a0
movsd 0x70(%rsp), %xmm0
ucomisd 0x68(%rsp), %xmm0
jne 0x25da4
jnp 0x25b26
addq $0x10, %r15
cmpq 0x38(%rsp), %r15
setne %r14b
jne 0x25d54
jmp 0x25b26
movl %eax, %edx
xorb $0x1, %dl
movl %ecx, %edi
xorb $0x1, %dil
orb %dl, %dil
jne 0x25f02
movq (%rbx), %rax
movq %rax, (%rsp)
movupd (%rax), %xmm0
movupd %xmm0, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
leaq 0x28(%rsp), %rdi
movq %r15, %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
callq 0x27cf4
leaq 0x48(%rsp), %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
callq 0x27cf4
movq 0x30(%rsp), %r15
cmpq 0x38(%rsp), %r15
setne %r14b
je 0x25b26
movb $0x1, %r14b
leaq 0x80(%rsp), %rbp
movq 0x50(%rsp), %r12
cmpq 0x58(%rsp), %r12
je 0x25ea7
movq (%rbx), %rdx
movq %rdx, 0x78(%rsp)
movq 0x10(%rdx), %rax
movq %rax, 0x10(%rbp)
movupd (%rdx), %xmm0
movupd %xmm0, (%rbp)
leaq 0x98(%rsp), %rdi
movq %r15, %rsi
callq 0x2d721
movq (%rbx), %rdx
leaq 0xb0(%rsp), %rdi
movq %r12, %rsi
callq 0x2d721
movq 0x98(%rsp), %rdi
movq 0xb0(%rsp), %rsi
callq 0x1d71d
movl %eax, %r13d
leaq 0x78(%rsp), %rdi
callq 0x2d6a0
testb %r13b, %r13b
je 0x25b26
addq $0x10, %r12
jmp 0x25e33
addq $0x10, %r15
cmpq 0x38(%rsp), %r15
setne %r14b
jne 0x25e2e
jmp 0x25b26
cmpb $0x2, %al
setne %dl
cmpb $0x2, %cl
setne %dil
testb %dil, %dl
jne 0x25f5e
movq %rsi, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2636c
movsd %xmm0, 0x68(%rsp)
movq %r12, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2636c
cmpneqsd 0x68(%rsp), %xmm0
jmp 0x259a1
cmpb $0x1, %al
movzbl %cl, %ecx
movzbl %al, %eax
cmovel %ecx, %eax
movq %r12, %r14
cmoveq %rsi, %r14
cmoveq %r12, %rsi
cmpb $0x2, %al
je 0x2608a
movzbl %al, %eax
cmpl $0x3, %eax
je 0x25fc7
cmpl $0x4, %eax
jne 0x261b7
movq %rsi, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2544a
movl %eax, %ebp
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2544a
movl %eax, %r14d
xorb %bpl, %r14b
jmp 0x25ba6
cmpb $0x3, %al
setne %al
cmpb $0x3, %cl
setne %cl
testb %cl, %al
jne 0x261b7
movq (%rbx), %rax
movq %rax, (%rsp)
movups (%rax), %xmm0
movups %xmm0, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
leaq 0x28(%rsp), %rdi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x26a66
leaq 0x48(%rsp), %rdi
movq %r12, %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x26a66
movq 0x28(%rsp), %rdi
movq 0x48(%rsp), %rsi
callq 0x1d71d
movl %eax, %r14d
xorb $0x1, %r14b
jmp 0x25b26
movq (%rbx), %rax
movq %rax, (%rsp)
movups (%rax), %xmm0
movups %xmm0, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
leaq 0x78(%rsp), %rdi
movq %r15, %rdx
movq %rbx, %rcx
callq 0x26a66
leaq 0x28(%rsp), %rdi
movq %r14, %rsi
movq %r15, %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
callq 0x27cf4
movq 0x30(%rsp), %r15
cmpq 0x38(%rsp), %r15
setne %r14b
je 0x25b26
movb $0x1, %r14b
leaq 0x50(%rsp), %r12
leaq 0x48(%rsp), %r13
movq (%rbx), %rdx
movq %rdx, 0x48(%rsp)
movq 0x10(%rdx), %rax
movq %rax, 0x10(%r12)
movupd (%rdx), %xmm0
movupd %xmm0, (%r12)
leaq 0x98(%rsp), %rdi
movq %r15, %rsi
callq 0x2d721
movq 0x78(%rsp), %rdi
movq 0x98(%rsp), %rsi
callq 0x1d71d
movl %eax, %ebp
movq %r13, %rdi
callq 0x2d6a0
testb %bpl, %bpl
je 0x25b26
addq $0x10, %r15
cmpq 0x38(%rsp), %r15
setne %r14b
jne 0x26026
jmp 0x25b26
movq (%rbx), %rax
movq %rax, (%rsp)
movups (%rax), %xmm0
movups %xmm0, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x18(%rsp)
movq %rsi, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2636c
movsd %xmm0, 0x70(%rsp)
leaq 0x28(%rsp), %rdi
movq %r14, %rsi
movq %r15, %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
callq 0x27cf4
movq 0x30(%rsp), %r15
cmpq 0x38(%rsp), %r15
setne %r14b
je 0x25b26
movb $0x1, %r14b
leaq 0x50(%rsp), %rbp
leaq 0x78(%rsp), %r12
leaq 0x48(%rsp), %r13
movq (%rbx), %rdx
movq %rdx, 0x48(%rsp)
movq 0x10(%rdx), %rax
movq %rax, 0x10(%rbp)
movupd (%rdx), %xmm0
movupd %xmm0, (%rbp)
movq %r12, %rdi
movq %r15, %rsi
callq 0x2d721
movq 0x78(%rsp), %rdi
callq 0x2c5ae
movsd %xmm0, 0x68(%rsp)
movq %r13, %rdi
callq 0x2d6a0
movsd 0x70(%rsp), %xmm0
ucomisd 0x68(%rsp), %xmm0
jne 0x25b26
jp 0x25b26
addq $0x10, %r15
cmpq 0x38(%rsp), %r15
setne %r14b
jne 0x260f2
jmp 0x25b26
leaq 0xf1e9(%rip), %rdi      # 0x3534a
leaq 0xcd8d(%rip), %rsi      # 0x32ef5
leaq 0xf1fe(%rip), %rcx      # 0x3536d
movl $0x2821, %edx           # imm = 0x2821
callq 0x6120
leaq 0xf25e(%rip), %rdi      # 0x353de
leaq 0xcd6e(%rip), %rsi      # 0x32ef5
leaq 0xf1df(%rip), %rcx      # 0x3536d
movl $0x283e, %edx           # imm = 0x283E
callq 0x6120
leaq 0xf273(%rip), %rdi      # 0x35412
leaq 0xcd4f(%rip), %rsi      # 0x32ef5
leaq 0xf27c(%rip), %rcx      # 0x35429
movl $0x2514, %edx           # imm = 0x2514
callq 0x6120
leaq 0xf254(%rip), %rdi      # 0x35412
leaq 0xcd30(%rip), %rsi      # 0x32ef5
leaq 0xf41d(%rip), %rcx      # 0x355e9
jmp 0x261ad
jmp 0x2620e
jmp 0x2620e
jmp 0x2620e
jmp 0x2620e
jmp 0x2620e
jmp 0x2620e
jmp 0x2620e
jmp 0x2620e
jmp 0x261fe
jmp 0x261fe
jmp 0x2620e
jmp 0x2620e
jmp 0x2620e
jmp 0x2620e
jmp 0x2620e
jmp 0x2620e
jmp 0x2620e
jmp 0x2620e
jmp 0x26215
jmp 0x26215
jmp 0x2620e
jmp 0x2620e
jmp 0x2620e
jmp 0x261fe
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
jmp 0x2621d
jmp 0x2620e
jmp 0x2620e
jmp 0x2620e
movq %rax, %rbx
jmp 0x26222
jmp 0x26215
movq %rax, %rbx
leaq 0x78(%rsp), %rdi
callq 0x2d6a0
movq %rsp, %rdi
callq 0x2d6a0
movq %rbx, %rdi
callq 0x6430