// File: 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
subq $0x120, %rsp            # imm = 0x120
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x90(%rbp)
cmpb $0x0, 0x2c32b(%rip)     # 0x6bc10
jne 0x3fb3b
leaq 0x2c31e(%rip), %rdi     # 0x6bc10
callq 0x56f0
cmpl $0x0, %eax
je 0x3fb3b
movb $0x1, -0x40(%rbp)
leaq 0x2c205(%rip), %rax     # 0x6bb10
movq %rax, -0xa0(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x21(%rbp), %rdi
movq %rdi, -0x98(%rbp)
callq 0x56d0
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rdx
leaq 0xb999(%rip), %rsi      # 0x4b2d4
callq 0x20460
jmp 0x3f942
movb $0x1, -0x36(%rbp)
leaq -0x35(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
callq 0x56d0
movq -0xa8(%rbp), %rdx
leaq 0x2c1cc(%rip), %rdi     # 0x6bb30
leaq 0xc642(%rip), %rsi      # 0x4bfad
callq 0x20460
jmp 0x3f972
movb $0x0, -0x36(%rbp)
leaq 0x2c1d3(%rip), %rax     # 0x6bb50
movq %rax, -0xb8(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x37(%rbp), %rdi
movq %rdi, -0xb0(%rbp)
callq 0x56d0
movq -0xb8(%rbp), %rdi
movq -0xb0(%rbp), %rdx
leaq 0xc608(%rip), %rsi      # 0x4bfb5
callq 0x20460
jmp 0x3f9b4
movb $0x1, -0x39(%rbp)
leaq -0x38(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x56d0
movq -0xc0(%rbp), %rdx
leaq 0x2c19a(%rip), %rdi     # 0x6bb70
leaq 0xc5dc(%rip), %rsi      # 0x4bfb9
callq 0x20460
jmp 0x3f9e4
movb $0x0, -0x39(%rbp)
leaq 0x2c1a1(%rip), %rax     # 0x6bb90
movq %rax, -0xd0(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x3a(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
callq 0x56d0
movq -0xd0(%rbp), %rdi
movq -0xc8(%rbp), %rdx
leaq 0xc59d(%rip), %rsi      # 0x4bfbc
callq 0x20460
jmp 0x3fa26
movb $0x1, -0x3c(%rbp)
leaq -0x3b(%rbp), %rdi
movq %rdi, -0xd8(%rbp)
callq 0x56d0
movq -0xd8(%rbp), %rdx
leaq 0x2c168(%rip), %rdi     # 0x6bbb0
leaq 0xc572(%rip), %rsi      # 0x4bfc1
callq 0x20460
jmp 0x3fa56
movb $0x0, -0x3c(%rbp)
leaq 0x2c16f(%rip), %rax     # 0x6bbd0
movq %rax, -0xe8(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x3d(%rbp), %rdi
movq %rdi, -0xe0(%rbp)
callq 0x56d0
movq -0xe8(%rbp), %rdi
movq -0xe0(%rbp), %rdx
leaq 0xb80d(%rip), %rsi      # 0x4b29e
callq 0x20460
jmp 0x3fa98
movb $0x1, -0x3f(%rbp)
leaq -0x3e(%rbp), %rdi
movq %rdi, -0xf0(%rbp)
callq 0x56d0
movq -0xf0(%rbp), %rdx
leaq 0x2c136(%rip), %rdi     # 0x6bbf0
leaq 0xc506(%rip), %rsi      # 0x4bfc7
callq 0x20460
jmp 0x3fac8
movb $0x0, -0x3f(%rbp)
movb $0x0, -0x40(%rbp)
leaq -0x3e(%rbp), %rdi
callq 0x5420
leaq -0x3d(%rbp), %rdi
callq 0x5420
leaq -0x3b(%rbp), %rdi
callq 0x5420
leaq -0x3a(%rbp), %rdi
callq 0x5420
leaq -0x38(%rbp), %rdi
callq 0x5420
leaq -0x37(%rbp), %rdi
callq 0x5420
leaq -0x35(%rbp), %rdi
callq 0x5420
leaq -0x21(%rbp), %rdi
callq 0x5420
leaq -0x2d23f(%rip), %rdi    # 0x128e0
xorl %eax, %eax
movl %eax, %esi
leaq 0x2889e(%rip), %rdx     # 0x683c8
callq 0x5350
leaq 0x2c0da(%rip), %rdi     # 0x6bc10
callq 0x5240
movq -0x90(%rbp), %rdi
addq $0x8, %rdi
callq 0x3fe40
testb $0x1, %al
jne 0x3fceb
movb $0x0, -0x1(%rbp)
jmp 0x3fdef
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x3fc7f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x3fc60
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x3fc57
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x3fc34
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x3fc2b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x3fc05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
jmp 0x3fbfc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x30(%rbp)
movl %eax, -0x34(%rbp)
leaq -0x3e(%rbp), %rdi
callq 0x5420
testb $0x1, -0x3f(%rbp)
jne 0x3fbe7
jmp 0x3fbfa
leaq 0x2bf22(%rip), %rdi     # 0x6bb10
addq $0xc0, %rdi
callq 0x5788
jmp 0x3fbfc
leaq -0x3d(%rbp), %rdi
callq 0x5420
leaq -0x3b(%rbp), %rdi
callq 0x5420
testb $0x1, -0x3c(%rbp)
jne 0x3fc16
jmp 0x3fc29
leaq 0x2bef3(%rip), %rdi     # 0x6bb10
addq $0x80, %rdi
callq 0x5788
jmp 0x3fc2b
leaq -0x3a(%rbp), %rdi
callq 0x5420
leaq -0x38(%rbp), %rdi
callq 0x5420
testb $0x1, -0x39(%rbp)
jne 0x3fc45
jmp 0x3fc55
leaq 0x2bec4(%rip), %rdi     # 0x6bb10
addq $0x40, %rdi
callq 0x5788
jmp 0x3fc57
leaq -0x37(%rbp), %rdi
callq 0x5420
leaq -0x35(%rbp), %rdi
callq 0x5420
testb $0x1, -0x36(%rbp)
jne 0x3fc71
jmp 0x3fc7d
leaq 0x2be98(%rip), %rdi     # 0x6bb10
callq 0x5788
jmp 0x3fc7f
leaq -0x21(%rbp), %rdi
callq 0x5420
testb $0x1, -0x40(%rbp)
jne 0x3fc90
jmp 0x3fcda
movq -0x20(%rbp), %rax
leaq 0x2be75(%rip), %rcx     # 0x6bb10
cmpq %rax, %rcx
movq %rax, -0xf8(%rbp)
je 0x3fcd8
movq -0xf8(%rbp), %rdi
addq $-0x40, %rdi
movq %rdi, -0x100(%rbp)
callq 0x3fe10
movq -0x100(%rbp), %rax
leaq 0x2be44(%rip), %rcx     # 0x6bb10
cmpq %rcx, %rax
movq %rax, -0xf8(%rbp)
jne 0x3fca7
jmp 0x3fcda
leaq 0x2bf2f(%rip), %rdi     # 0x6bc10
callq 0x5230
jmp 0x3fdfd
movl $0x0, -0x44(%rbp)
movl -0x44(%rbp), %eax
cmpq $0x4, %rax
jae 0x3fdeb
movq -0x90(%rbp), %rsi
movl -0x44(%rbp), %eax
movl %eax, %ecx
leaq 0x2bdfe(%rip), %rax     # 0x6bb10
shlq $0x6, %rcx
addq %rcx, %rax
movq %rax, -0x110(%rbp)
addq $0x8, %rsi
leaq -0x68(%rbp), %rdi
callq 0x3ff50
movq -0x110(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x21d70
movb %al, -0x101(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x5788
movb -0x101(%rbp), %al
testb $0x1, %al
jne 0x3fd58
jmp 0x3fd68
movq -0x18(%rbp), %rax
movb $0x1, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x3fdef
movq -0x90(%rbp), %rsi
movl -0x44(%rbp), %eax
movl %eax, %ecx
leaq 0x2bd95(%rip), %rax     # 0x6bb10
shlq $0x6, %rcx
addq %rcx, %rax
addq $0x20, %rax
movq %rax, -0x120(%rbp)
addq $0x8, %rsi
leaq -0x88(%rbp), %rdi
callq 0x3ff50
movq -0x120(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x21d70
movb %al, -0x111(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x5788
movb -0x111(%rbp), %al
testb $0x1, %al
jne 0x3fdce
jmp 0x3fddb
movq -0x18(%rbp), %rax
movb $0x0, (%rax)
movb $0x1, -0x1(%rbp)
jmp 0x3fdef
jmp 0x3fddd
movl -0x44(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0x3fcf2
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
movq -0x30(%rbp), %rdi
callq 0x56c0
nopw %cs:(%rax,%rax)