// File: /workspace/github_cpp_makefile_star2_O3/mhe[P]raytracerframework_cpp/yaml/scalar.cpp
// Function: YAML::Scalar::Read(bool&) const
bool Scalar::Read(bool& b) const
	{
		// we can't use iostream bool extraction operators as they don't
		// recognize all possible values in the table below (taken from
		// http://yaml.org/type/bool.html)
		static const struct {
			std::string truename, falsename;
		} names[] = {
			{ "y", "n" },
			{ "yes", "no" },
			{ "true", "false" },
			{ "on", "off" },
		};

		if(!IsFlexibleCase(m_data))
			return false;

		for(unsigned i=0;i<sizeof(names)/sizeof(names[0]);i++) {
			if(names[i].truename == tolower(m_data)) {
				b = true;
				return true;
			}

			if(names[i].falsename == tolower(m_data)) {
				b = false;
				return true;
			}
		}

		return false;
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %r15
movq %rdi, %r14
movb 0x146f5(%rip), %al      # 0x3eb40
testb %al, %al
je 0x2a648
movq 0x10(%r14), %rax
testq %rax, %rax
je 0x2a4f9
leaq 0x8(%r14), %rsi
movq (%rsi), %rcx
movl $0x1, %edx
xorl %edi, %edi
movb (%rcx,%rdi), %dil
addb $-0x61, %dil
cmpb $0x1a, %dil
jae 0x2a487
movl %edx, %edi
incl %edx
cmpq %rdi, %rax
ja 0x2a46e
jmp 0x2a4f9
movb (%rcx), %bl
addb $-0x41, %bl
leaq -0x48(%rbp), %rdi
movl $0x1, %edx
movq $-0x1, %rcx
callq 0x4300
cmpb $0x1a, %bl
jae 0x2a4d6
movq -0x48(%rbp), %rdi
movq -0x40(%rbp), %rax
movb $0x1, %bl
testq %rax, %rax
je 0x2a4dc
movl $0x1, %ecx
xorl %edx, %edx
movb (%rdi,%rdx), %dl
addb $-0x61, %dl
cmpb $0x1a, %dl
jae 0x2a621
movl %ecx, %edx
incl %ecx
cmpq %rdx, %rax
ja 0x2a4bc
jmp 0x2a4dc
movq -0x48(%rbp), %rdi
xorl %ebx, %ebx
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x2a4f1
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x42d0
testb %bl, %bl
je 0x2a5fe
movq %r15, -0x50(%rbp)
xorl %ebx, %ebx
leaq -0x48(%rbp), %r15
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rdx
movq %r15, %rdi
callq 0x2a8a3
leaq 0x14526(%rip), %rax     # 0x3ea40
movq 0x8(%rbx,%rax), %rdx
cmpq -0x40(%rbp), %rdx
jne 0x2a549
movq -0x48(%rbp), %r12
testq %rdx, %rdx
je 0x2a552
leaq 0x1450b(%rip), %rax     # 0x3ea40
movq (%rbx,%rax), %rdi
movq %r12, %rsi
callq 0x42f0
testl %eax, %eax
sete %r13b
jmp 0x2a555
movq -0x48(%rbp), %r12
xorl %r13d, %r13d
jmp 0x2a555
movb $0x1, %r13b
leaq -0x38(%rbp), %rax
cmpq %rax, %r12
je 0x2a56d
movq -0x38(%rbp), %rsi
incq %rsi
movq %r12, %rdi
callq 0x42d0
movb $0x1, %r12b
testb %r13b, %r13b
jne 0x2a603
movq 0x8(%r14), %rsi
movq 0x10(%r14), %rdx
movq %r15, %rdi
callq 0x2a8a3
leaq 0x144b0(%rip), %rax     # 0x3ea40
movq 0x28(%rbx,%rax), %rdx
cmpq -0x40(%rbp), %rdx
jne 0x2a5c0
movq -0x48(%rbp), %r13
testq %rdx, %rdx
je 0x2a5c9
leaq 0x14495(%rip), %rax     # 0x3ea40
movq 0x20(%rbx,%rax), %rdi
movq %r13, %rsi
callq 0x42f0
testl %eax, %eax
sete %r15b
jmp 0x2a5cc
movq -0x48(%rbp), %r13
xorl %r15d, %r15d
jmp 0x2a5cc
movb $0x1, %r15b
leaq -0x38(%rbp), %rax
cmpq %rax, %r13
je 0x2a5e4
movq -0x38(%rbp), %rsi
incq %rsi
movq %r13, %rdi
callq 0x42d0
testb %r15b, %r15b
jne 0x2a607
addq $0x40, %rbx
cmpq $0x100, %rbx            # imm = 0x100
leaq -0x48(%rbp), %r15
jne 0x2a503
xorl %r12d, %r12d
jmp 0x2a60f
movb $0x1, %al
jmp 0x2a609
xorl %eax, %eax
movq -0x50(%rbp), %rcx
movb %al, (%rcx)
movl %r12d, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x1, %ecx
xorl %edx, %edx
movb (%rdi,%rdx), %dl
addb $-0x41, %dl
cmpb $0x1a, %dl
setb %bl
jae 0x2a4dc
movl %ecx, %edx
incl %ecx
cmpq %rdx, %rax
ja 0x2a628
jmp 0x2a4dc
leaq 0x144f1(%rip), %rdi     # 0x3eb40
callq 0x4570
testl %eax, %eax
je 0x2a453
movq %r15, %rbx
leaq 0x143ea(%rip), %r12     # 0x3ea50
movq %r12, 0x143d3(%rip)     # 0x3ea40
leaq 0x143cc(%rip), %r15     # 0x3ea40
leaq 0x5c59(%rip), %rsi      # 0x302d4
leaq 0x5c53(%rip), %rdx      # 0x302d5
movq %r15, %rdi
callq 0x1973e
leaq 0x143df(%rip), %rax     # 0x3ea70
movq %rax, 0x143c8(%rip)     # 0x3ea60
leaq 0x143c1(%rip), %rdi     # 0x3ea60
leaq 0x6843(%rip), %rsi      # 0x30ee9
leaq 0x683d(%rip), %rdx      # 0x30eea
callq 0x1973e
leaq 0x143d7(%rip), %r13     # 0x3ea90
movq %r13, 0x143c0(%rip)     # 0x3ea80
leaq 0x143b9(%rip), %r12     # 0x3ea80
leaq 0x6823(%rip), %rsi      # 0x30ef1
leaq 0x681f(%rip), %rdx      # 0x30ef4
movq %r12, %rdi
callq 0x1973e
leaq 0x143cc(%rip), %rax     # 0x3eab0
movq %rax, 0x143b5(%rip)     # 0x3eaa0
leaq 0x143ae(%rip), %rdi     # 0x3eaa0
leaq 0x67fc(%rip), %rsi      # 0x30ef5
leaq 0x67f7(%rip), %rdx      # 0x30ef7
callq 0x1973e
leaq 0x143c4(%rip), %r13     # 0x3ead0
movq %r13, 0x143ad(%rip)     # 0x3eac0
leaq 0x143a6(%rip), %r12     # 0x3eac0
leaq 0x67d7(%rip), %rsi      # 0x30ef8
leaq 0x67d4(%rip), %rdx      # 0x30efc
movq %r12, %rdi
callq 0x1973e
leaq 0x143b9(%rip), %rax     # 0x3eaf0
movq %rax, 0x143a2(%rip)     # 0x3eae0
leaq 0x1439b(%rip), %rdi     # 0x3eae0
leaq 0x67b1(%rip), %rsi      # 0x30efd
leaq 0x67af(%rip), %rdx      # 0x30f02
callq 0x1973e
leaq 0x143b1(%rip), %r13     # 0x3eb10
movq %r13, 0x1439a(%rip)     # 0x3eb00
leaq 0x14393(%rip), %r12     # 0x3eb00
leaq 0x5b2a(%rip), %rsi      # 0x3029e
leaq 0x5b25(%rip), %rdx      # 0x302a0
movq %r12, %rdi
callq 0x1973e
leaq 0x143a6(%rip), %rax     # 0x3eb30
movq %rax, 0x1438f(%rip)     # 0x3eb20
leaq 0x14388(%rip), %rdi     # 0x3eb20
leaq 0x6764(%rip), %rsi      # 0x30f03
leaq 0x6760(%rip), %rdx      # 0x30f06
callq 0x1973e
leaq -0x1d1dc(%rip), %rdi    # 0xd5d6
leaq 0x10b3f(%rip), %rdx     # 0x3b2f8
xorl %esi, %esi
callq 0x4290
leaq 0x14379(%rip), %rdi     # 0x3eb40
callq 0x41a0
movq %rbx, %r15
jmp 0x2a453
movq %rax, %rbx
movq 0x14322(%rip), %rdi     # 0x3eb00
cmpq %r13, %rdi
je 0x2a81d
callq 0x465d
jmp 0x2a81d
jmp 0x2a81a
movq %rax, %rbx
movq 0x142ca(%rip), %rdi     # 0x3eac0
cmpq %r13, %rdi
je 0x2a81d
callq 0x4649
jmp 0x2a81d
jmp 0x2a81a
movq %rax, %rbx
movq 0x14272(%rip), %rdi     # 0x3ea80
cmpq %r13, %rdi
je 0x2a81d
callq 0x4635
jmp 0x2a81d
movq %rax, %rbx
addq $-0x40, %r12
movq %r12, %rdi
callq 0x2a85e
cmpq %r15, %r12
jne 0x2a81d
leaq 0x1430b(%rip), %rdi     # 0x3eb40
callq 0x4190
movq %rbx, %rdi
callq 0x4550
movq %rax, %rbx
movq 0x141f4(%rip), %rdi     # 0x3ea40
cmpq %r12, %rdi
je 0x2a82e
callq 0x4621
jmp 0x2a82e
movq %rax, %rbx
jmp 0x2a82e
nop