// File: /workspace/github_cpp_makefile_star2_O1/mhe[P]raytracerframework_cpp/yaml/scantoken.cpp
// Function: YAML::Scanner::ScanQuotedScalar()
void Scanner::ScanQuotedScalar()
	{
		std::string scalar;

		// eat single or double quote
		char quote = INPUT.get();
		bool single = (quote == '\'');

		// setup the scanning parameters
		ScanScalarParams params;
		params.end = (single ? RegEx(quote) && !Exp::EscSingleQuote : RegEx(quote));
		params.eatEnd = true;
		params.escape = (single ? '\'' : '\\');
		params.indent = 0;
		params.fold = true;
		params.eatLeadingWhitespace = true;
		params.trimTrailingSpaces = false;
		params.chomp = CLIP;
		params.onDocIndicator = THROW;

		// insert a potential simple key
		if(m_simpleKeyAllowed)
			InsertSimpleKey();

		int line = INPUT.line, column = INPUT.column;
		scalar = ScanScalar(INPUT, params);
		m_simpleKeyAllowed = false;

		Token token(TT_SCALAR, line, column);
		token.value = scalar;
		m_tokens.push(token);
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x118, %rsp            # imm = 0x118
movq %rdi, %rbx
leaq -0x38(%rbp), %r15
movq %r15, -0x10(%r15)
movq $0x0, -0x8(%r15)
movb $0x0, (%r15)
callq 0x30904
movl %eax, %r14d
cmpb $0x27, %al
sete %r12b
leaq -0xe0(%rbp), %rdi
callq 0x2a12a
xorl %eax, %eax
movb %al, -0xb0(%rbp)
movq %rax, -0xac(%rbp)
movb %al, -0xa4(%rbp)
movq %rax, -0xa0(%rbp)
movq %rax, -0x9b(%rbp)
movsbl %r14b, %esi
cmpb $0x27, %r14b
jne 0x2ed65
leaq -0x140(%rbp), %rdi
callq 0x2a16a
leaq 0x12e93(%rip), %rsi     # 0x41bd0
leaq -0x110(%rbp), %rdi
callq 0x2a4a3
leaq -0x90(%rbp), %rdi
leaq -0x140(%rbp), %rsi
leaq -0x110(%rbp), %rdx
callq 0x2a562
jmp 0x2ed71
leaq -0x90(%rbp), %rdi
callq 0x2a16a
leaq -0xe0(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x2a2ea
leaq -0x90(%rbp), %rdi
callq 0x2a2c0
movb $0x5c, %al
cmpb $0x27, %r14b
jne 0x2edb2
leaq -0x110(%rbp), %rdi
callq 0x2a2c0
leaq -0x140(%rbp), %rdi
callq 0x2a2c0
movb $0x27, %al
movb $0x1, %cl
movb %cl, -0xb0(%rbp)
movb %al, -0xa6(%rbp)
movl $0x0, -0xac(%rbp)
movw $0x1, -0xa5(%rbp)
movb %cl, -0xa7(%rbp)
movabsq $0x200000000, %rax      # imm = 0x200000000
movq %rax, -0xa0(%rbp)
cmpb %cl, 0x62(%rbx)
jne 0x2edf7
movq %rbx, %rdi
callq 0x303c2
movl 0x8(%rbx), %r12d
movl 0xc(%rbx), %r13d
leaq -0x90(%rbp), %rdi
leaq -0xe0(%rbp), %rdx
movq %rbx, %rsi
callq 0x2d624
leaq -0x48(%rbp), %rdi
leaq -0x90(%rbp), %r14
movq %r14, %rsi
callq 0x53c0
movq (%r14), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x2ee40
movq -0x80(%rbp), %rsi
incq %rsi
callq 0x52e0
xorl %eax, %eax
movb %al, 0x62(%rbx)
movabsq $0x1100000000, %rcx     # imm = 0x1100000000
leaq -0x80(%rbp), %rdi
movq %rcx, -0x10(%rdi)
movl %r12d, -0x8(%rdi)
movl %r13d, -0x4(%rdi)
leaq -0x70(%rbp), %r14
movq %r14, -0x10(%r14)
movq %rax, -0x8(%r14)
movb %al, (%r14)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%r14)
movq %rax, 0x20(%r14)
leaq -0x48(%rbp), %rsi
callq 0x5160
addq $0x10, %rbx
leaq -0x90(%rbp), %rsi
movq %rbx, %rdi
callq 0x2f83e
leaq -0x60(%rbp), %rbx
movq %rbx, %rdi
callq 0x27ca8
movq -0x20(%rbx), %rdi
cmpq %r14, %rdi
je 0x2eeb7
movq -0x70(%rbp), %rsi
incq %rsi
callq 0x52e0
leaq -0xe0(%rbp), %rdi
callq 0x2a2c0
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x2eed8
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x52e0
addq $0x118, %rsp            # imm = 0x118
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x2eef9
movq %rax, %rbx
jmp 0x2ef24
movq %rax, %rbx
movb $0x1, %r12b
jmp 0x2ef38
movq %rax, %rbx
jmp 0x2ef53
movq %rax, %rbx
leaq -0x90(%rbp), %rdi
callq 0x2a2c0
jmp 0x2ef12
movq %rax, %rbx
cmpb $0x27, %r14b
jne 0x2ef27
leaq -0x110(%rbp), %rdi
callq 0x2a2c0
movb $0x1, %r12b
testb %r12b, %r12b
je 0x2ef38
leaq -0x140(%rbp), %rdi
callq 0x2a2c0
testb %r12b, %r12b
jmp 0x2ef53
jmp 0x2ef3f
movq %rax, %rbx
jmp 0x2ef5f
movq %rax, %rbx
leaq -0x90(%rbp), %rdi
callq 0x27a7c
leaq -0xe0(%rbp), %rdi
callq 0x2a2c0
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x2ef74
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x52e0
movq %rbx, %rdi
callq 0x5560