// File: /workspace/github_cpp_makefile_star2_O1/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, %r14
movq %rdi, %r13
movb 0x1419d(%rip), %al      # 0x3fb50
testb %al, %al
je 0x2bbb8
movq 0x10(%r13), %rax
addq $0x8, %r13
testq %rax, %rax
je 0x2bab0
movq (%r13), %rcx
movb (%rcx), %bl
leal -0x61(%rbx), %edx
cmpb $0x19, %dl
ja 0x2b9fa
movl $0x1, %edx
movl %edx, %edx
cmpq %rdx, %rax
jbe 0x2bab0
movb (%rcx,%rdx), %sil
addb $-0x61, %sil
incl %edx
cmpb $0x1a, %sil
jb 0x2b9df
addb $-0x41, %bl
leaq -0x48(%rbp), %rdi
movl $0x1, %edx
movq %r13, %rsi
movq $-0x1, %rcx
callq 0x5310
cmpb $0x19, %bl
ja 0x2ba8d
movq -0x40(%rbp), %rax
testq %rax, %rax
sete %dl
je 0x2ba56
movq -0x48(%rbp), %rcx
movb (%rcx), %dl
addb $-0x61, %dl
cmpb $0x19, %dl
ja 0x2ba54
movl $0x1, %edx
movl %edx, %esi
cmpq %rsi, %rax
setbe %dl
jbe 0x2ba56
movb (%rcx,%rsi), %dil
addb $-0x61, %dil
leal 0x1(%rsi), %edx
cmpb $0x1a, %dil
jb 0x2ba39
xorl %edx, %edx
testq %rax, %rax
sete %bl
orb %dl, %bl
jne 0x2ba8f
movq -0x48(%rbp), %rcx
movb (%rcx), %dl
addb $-0x41, %dl
cmpb $0x19, %dl
ja 0x2ba8d
movl $0x1, %edx
movl %edx, %edx
cmpq %rdx, %rax
setbe %bl
jbe 0x2ba8f
movb (%rcx,%rdx), %sil
addb $-0x41, %sil
incl %edx
cmpb $0x1a, %sil
jb 0x2ba73
xorl %ebx, %ebx
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2baa8
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x52e0
testb %bl, %bl
je 0x2bb9f
movq %r14, -0x50(%rbp)
movb $0x1, %r15b
leaq 0x13fba(%rip), %rbx     # 0x3fa78
xorl %r14d, %r14d
movq %r13, %r12
leaq -0x48(%rbp), %rdi
movq %r13, %rsi
callq 0x2be83
movq -0x20(%rbx), %rdx
cmpq -0x40(%rbp), %rdx
jne 0x2baf4
testq %rdx, %rdx
je 0x2baf9
movq -0x48(%rbp), %rsi
movq -0x28(%rbx), %rdi
callq 0x5300
testl %eax, %eax
sete %r13b
jmp 0x2bafc
xorl %r13d, %r13d
jmp 0x2bafc
movb $0x1, %r13b
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x2bb15
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x52e0
testb %r13b, %r13b
jne 0x2bb91
leaq -0x48(%rbp), %rdi
movq %r12, %rsi
callq 0x2be83
movq (%rbx), %rdx
cmpq -0x40(%rbp), %rdx
jne 0x2bb49
testq %rdx, %rdx
je 0x2bb4e
movq -0x48(%rbp), %rsi
movq -0x8(%rbx), %rdi
callq 0x5300
testl %eax, %eax
sete %r13b
jmp 0x2bb51
xorl %r13d, %r13d
jmp 0x2bb51
movb $0x1, %r13b
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x2bb6a
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x52e0
testb %r13b, %r13b
jne 0x2bb95
cmpq $0x3, %r14
leaq 0x1(%r14), %rax
setb %r15b
addq $0x40, %rbx
movq %rax, %r14
cmpq $0x4, %rax
movq %r12, %r13
jne 0x2bac4
jmp 0x2bba2
movb $0x1, %al
jmp 0x2bb97
xorl %eax, %eax
movq -0x50(%rbp), %rcx
movb %al, (%rcx)
jmp 0x2bba2
xorl %r15d, %r15d
andb $0x1, %r15b
movl %r15d, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x13f91(%rip), %rdi     # 0x3fb50
callq 0x5580
testl %eax, %eax
je 0x2b9bb
leaq 0x13e8d(%rip), %rax     # 0x3fa60
movq %rax, 0x13e76(%rip)     # 0x3fa50
leaq 0x13e6f(%rip), %rdi     # 0x3fa50
leaq 0x56ec(%rip), %rsi      # 0x312d4
leaq 0x56e6(%rip), %rdx      # 0x312d5
callq 0x1a774
leaq 0x13e85(%rip), %rax     # 0x3fa80
movq %rax, 0x13e6e(%rip)     # 0x3fa70
leaq 0x13e67(%rip), %rdi     # 0x3fa70
leaq 0x62d1(%rip), %rsi      # 0x31ee1
leaq 0x62cb(%rip), %rdx      # 0x31ee2
callq 0x1a774
leaq 0x13e7d(%rip), %rax     # 0x3faa0
movq %rax, 0x13e66(%rip)     # 0x3fa90
leaq 0x13e5f(%rip), %r12     # 0x3fa90
leaq 0x62b1(%rip), %rsi      # 0x31ee9
leaq 0x62ad(%rip), %rdx      # 0x31eec
movq %r12, %rdi
callq 0x1a774
leaq 0x13e72(%rip), %rax     # 0x3fac0
movq %rax, 0x13e5b(%rip)     # 0x3fab0
leaq 0x13e54(%rip), %rdi     # 0x3fab0
leaq 0x628a(%rip), %rsi      # 0x31eed
leaq 0x6285(%rip), %rdx      # 0x31eef
callq 0x1a774
leaq 0x13e6a(%rip), %r15     # 0x3fae0
movq %r15, 0x13e53(%rip)     # 0x3fad0
leaq 0x13e4c(%rip), %r12     # 0x3fad0
leaq 0x6265(%rip), %rsi      # 0x31ef0
leaq 0x6262(%rip), %rdx      # 0x31ef4
movq %r12, %rdi
callq 0x1a774
leaq 0x13e5f(%rip), %rax     # 0x3fb00
movq %rax, 0x13e48(%rip)     # 0x3faf0
leaq 0x13e41(%rip), %rdi     # 0x3faf0
leaq 0x623f(%rip), %rsi      # 0x31ef5
leaq 0x623d(%rip), %rdx      # 0x31efa
callq 0x1a774
leaq 0x13e57(%rip), %rbx     # 0x3fb20
movq %rbx, 0x13e40(%rip)     # 0x3fb10
leaq 0x13e39(%rip), %r12     # 0x3fb10
leaq 0x55c0(%rip), %rsi      # 0x3129e
leaq 0x55bb(%rip), %rdx      # 0x312a0
movq %r12, %rdi
callq 0x1a774
leaq 0x13e4c(%rip), %rax     # 0x3fb40
movq %rax, 0x13e35(%rip)     # 0x3fb30
leaq 0x13e2e(%rip), %rdi     # 0x3fb30
leaq 0x61f2(%rip), %rsi      # 0x31efb
leaq 0x61ee(%rip), %rdx      # 0x31efe
callq 0x1a774
leaq -0x1d71e(%rip), %rdi    # 0xe5fe
leaq 0x105dd(%rip), %rdx     # 0x3c300
xorl %esi, %esi
callq 0x52a0
leaq 0x13e1f(%rip), %rdi     # 0x3fb50
callq 0x51a0
jmp 0x2b9bb
movq %rax, %r14
movq 0x13dcb(%rip), %rdi     # 0x3fb10
cmpq %rbx, %rdi
je 0x2bd54
callq 0x5685
jmp 0x2bd54
movq %rax, %r14
xorl %eax, %eax
jmp 0x2bd64
movq %rax, %r14
movb $0x1, %al
leaq 0x13d6c(%rip), %r12     # 0x3fad0
testb %al, %al
je 0x2bd88
movq 0x13d61(%rip), %rdi     # 0x3fad0
cmpq %r15, %rdi
je 0x2bd88
movq 0x13d65(%rip), %rsi     # 0x3fae0
incq %rsi
callq 0x52e0
jmp 0x2bd88
movq %rax, %r14
xorl %eax, %eax
jmp 0x2bd98
movq %rax, %r14
movb $0x1, %al
leaq 0x13cf8(%rip), %r12     # 0x3fa90
testb %al, %al
je 0x2bdc3
movq 0x13ced(%rip), %rdi     # 0x3fa90
leaq 0x13cf6(%rip), %rax     # 0x3faa0
cmpq %rax, %rdi
je 0x2bdc3
movq 0x13cea(%rip), %rsi     # 0x3faa0
incq %rsi
callq 0x52e0
jmp 0x2bdc3
movq %rax, %r14
xorl %eax, %eax
testb %al, %al
je 0x2be05
movq 0x13c80(%rip), %rdi     # 0x3fa50
leaq 0x13c89(%rip), %rax     # 0x3fa60
cmpq %rax, %rdi
je 0x2be05
movq 0x13c7d(%rip), %rsi     # 0x3fa60
incq %rsi
callq 0x52e0
jmp 0x2be05
movq %rax, %r14
movb $0x1, %al
leaq 0x13c57(%rip), %r12     # 0x3fa50
jmp 0x2bdc5
movq %rax, %r14
leaq 0x13c4b(%rip), %r12     # 0x3fa50
leaq 0x13c44(%rip), %rax     # 0x3fa50
cmpq %rax, %r12
je 0x2be29
leaq 0x13c38(%rip), %rbx     # 0x3fa50
addq $-0x40, %r12
movq %r12, %rdi
callq 0x2be3e
cmpq %rbx, %r12
jne 0x2be18
leaq 0x13d20(%rip), %rdi     # 0x3fb50
callq 0x5190
movq %r14, %rdi
callq 0x5560
nop