// File: /workspace/github_c_makefile_star2_O0/mijallen[P]SimpleHTTPServer/lib/libyaml/src/scanner.c
// Function: yaml_parser_fetch_value
static int
yaml_parser_fetch_value(yaml_parser_t *parser)
{
    yaml_mark_t start_mark, end_mark;
    yaml_token_t token;
    yaml_simple_key_t *simple_key = parser->simple_keys.top-1;

    /* Have we found a simple key? */

    if (simple_key->possible)
    {

        /* Create the KEY token and insert it into the queue. */

        TOKEN_INIT(token, YAML_KEY_TOKEN, simple_key->mark, simple_key->mark);

        if (!QUEUE_INSERT(parser, parser->tokens,
                    simple_key->token_number - parser->tokens_parsed, token))
            return 0;

        /* In the block context, we may need to add the BLOCK-MAPPING-START token. */

        if (!yaml_parser_roll_indent(parser, simple_key->mark.column,
                    simple_key->token_number,
                    YAML_BLOCK_MAPPING_START_TOKEN, simple_key->mark))
            return 0;

        /* Remove the simple key. */

        simple_key->possible = 0;

        /* A simple key cannot follow another simple key. */

        parser->simple_key_allowed = 0;
    }
    else
    {
        /* The ':' indicator follows a complex key. */

        /* In the block context, extra checks are required. */

        if (!parser->flow_level)
        {
            /* Check if we are allowed to start a complex value. */

            if (!parser->simple_key_allowed) {
                return yaml_parser_set_scanner_error(parser, NULL, parser->mark,
                        "mapping values are not allowed in this context");
            }

            /* Add the BLOCK-MAPPING-START token if needed. */

            if (!yaml_parser_roll_indent(parser, parser->mark.column, -1,
                        YAML_BLOCK_MAPPING_START_TOKEN, parser->mark))
                return 0;
        }

        /* Simple keys after ':' are allowed in the block context. */

        parser->simple_key_allowed = (!parser->flow_level);
    }

    /* Consume the token. */

    start_mark = parser->mark;
    SKIP(parser);
    end_mark = parser->mark;

    /* Create the VALUE token and append it to the queue. */

    TOKEN_INIT(token, YAML_VALUE_TOKEN, start_mark, end_mark);

    if (!ENQUEUE(parser, parser->tokens, token))
        return 0;

    return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xc0, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x168(%rax), %rax
addq $-0x28, %rax
movq %rax, -0x98(%rbp)
movq -0x98(%rbp), %rax
cmpl $0x0, (%rax)
je 0xaed3
leaq -0x90(%rbp), %rdi
xorl %esi, %esi
movl $0x50, %edx
callq 0x2120
movl $0x10, -0x90(%rbp)
movq -0x98(%rbp), %rax
movq 0x10(%rax), %rcx
movq %rcx, -0x70(%rbp)
movq 0x18(%rax), %rcx
movq %rcx, -0x68(%rbp)
movq 0x20(%rax), %rax
movq %rax, -0x60(%rbp)
movq -0x98(%rbp), %rax
movq 0x10(%rax), %rcx
movq %rcx, -0x58(%rbp)
movq 0x18(%rax), %rcx
movq %rcx, -0x50(%rbp)
movq 0x20(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq 0x120(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0x110(%rcx), %rax
jne 0xad4e
movq -0x10(%rbp), %rdi
addq $0x108, %rdi            # imm = 0x108
movq -0x10(%rbp), %rsi
addq $0x108, %rsi            # imm = 0x108
addq $0x10, %rsi
movq -0x10(%rbp), %rdx
addq $0x108, %rdx            # imm = 0x108
addq $0x18, %rdx
movq -0x10(%rbp), %rcx
addq $0x108, %rcx            # imm = 0x108
addq $0x8, %rcx
callq 0x2170
cmpl $0x0, %eax
je 0xae3e
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rdi
movq -0x98(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x10(%rbp), %rcx
subq 0x128(%rcx), %rax
imulq $0x50, %rax, %rax
addq %rax, %rdi
addq $0x50, %rdi
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rsi
movq -0x98(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x10(%rbp), %rcx
subq 0x128(%rcx), %rax
imulq $0x50, %rax, %rax
addq %rax, %rsi
movq -0x10(%rbp), %rax
movq 0x120(%rax), %rax
movq -0x10(%rbp), %rcx
movq 0x118(%rcx), %rcx
subq %rcx, %rax
movl $0x50, %ecx
cqto
idivq %rcx
movq -0x98(%rbp), %rcx
movq 0x8(%rcx), %rcx
movq -0x10(%rbp), %rdx
subq 0x128(%rdx), %rcx
subq %rcx, %rax
imulq $0x50, %rax, %rdx
callq 0x21e0
movq -0x10(%rbp), %rax
movq 0x118(%rax), %rdi
movq -0x98(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x10(%rbp), %rcx
subq 0x128(%rcx), %rax
imulq $0x50, %rax, %rax
addq %rax, %rdi
leaq -0x90(%rbp), %rsi
movl $0x50, %edx
callq 0x2180
movq -0x10(%rbp), %rax
movq 0x120(%rax), %rcx
addq $0x50, %rcx
movq %rcx, 0x120(%rax)
movb $0x1, %al
testb $0x1, %al
jne 0xae5a
jmp 0xae4e
movq -0x10(%rbp), %rax
movl $0x1, (%rax)
xorl %eax, %eax
testb $0x1, %al
jne 0xae5a
movl $0x0, -0x4(%rbp)
jmp 0xb200
movq -0x10(%rbp), %rdi
movq -0x98(%rbp), %rax
movq 0x20(%rax), %rsi
movq -0x98(%rbp), %rax
movq 0x8(%rax), %rdx
movq -0x98(%rbp), %rax
addq $0x10, %rax
movl $0x8, %ecx
movq (%rax), %r8
movq %r8, (%rsp)
movq 0x8(%rax), %r8
movq %r8, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xf740
cmpl $0x0, %eax
jne 0xaeb3
movl $0x0, -0x4(%rbp)
jmp 0xb200
movq -0x98(%rbp), %rax
movl $0x0, (%rax)
movq -0x10(%rbp), %rax
movl $0x0, 0x154(%rax)
jmp 0xafa5
movq -0x10(%rbp), %rax
cmpl $0x0, 0x100(%rax)
jne 0xaf86
movq -0x10(%rbp), %rax
cmpl $0x0, 0x154(%rax)
jne 0xaf30
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
addq $0xe0, %rax
xorl %ecx, %ecx
movl %ecx, %esi
leaq 0x21630(%rip), %rdx     # 0x2c53a
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xb790
movl %eax, -0x4(%rbp)
jmp 0xb200
movq -0x10(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0xf0(%rax), %rsi
movq -0x10(%rbp), %rax
addq $0xe0, %rax
movq $-0x1, %rdx
movl $0x8, %ecx
movq (%rax), %r8
movq %r8, (%rsp)
movq 0x8(%rax), %r8
movq %r8, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xf740
cmpl $0x0, %eax
jne 0xaf84
movl $0x0, -0x4(%rbp)
jmp 0xb200
jmp 0xaf86
movq -0x10(%rbp), %rax
cmpl $0x0, 0x100(%rax)
setne %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x154(%rax)
movq -0x10(%rbp), %rax
movq 0xe0(%rax), %rcx
movq %rcx, -0x28(%rbp)
movq 0xe8(%rax), %rcx
movq %rcx, -0x20(%rbp)
movq 0xf0(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0xe0(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0xe0(%rax)
movq -0x10(%rbp), %rax
movq 0xf0(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0xf0(%rax)
movq -0x10(%rbp), %rax
movq 0xa8(%rax), %rcx
addq $-0x1, %rcx
movq %rcx, 0xa8(%rax)
movq -0x10(%rbp), %rax
movq 0x98(%rax), %rax
movzbl (%rax), %eax
andl $0x80, %eax
cmpl $0x0, %eax
jne 0xb034
movl $0x1, %eax
movl %eax, -0x9c(%rbp)
jmp 0xb0c4
movq -0x10(%rbp), %rax
movq 0x98(%rax), %rax
movzbl (%rax), %eax
andl $0xe0, %eax
cmpl $0xc0, %eax
jne 0xb05b
movl $0x2, %eax
movl %eax, -0xa0(%rbp)
jmp 0xb0b8
movq -0x10(%rbp), %rax
movq 0x98(%rax), %rax
movzbl (%rax), %eax
andl $0xf0, %eax
cmpl $0xe0, %eax
jne 0xb082
movl $0x3, %eax
movl %eax, -0xa4(%rbp)
jmp 0xb0ac
movq -0x10(%rbp), %rax
movq 0x98(%rax), %rax
movzbl (%rax), %edx
andl $0xf8, %edx
xorl %eax, %eax
movl $0x4, %ecx
cmpl $0xf0, %edx
cmovel %ecx, %eax
movl %eax, -0xa4(%rbp)
movl -0xa4(%rbp), %eax
movl %eax, -0xa0(%rbp)
movl -0xa0(%rbp), %eax
movl %eax, -0x9c(%rbp)
movl -0x9c(%rbp), %edx
movq -0x10(%rbp), %rax
movq 0x98(%rax), %rcx
movslq %edx, %rdx
addq %rdx, %rcx
movq %rcx, 0x98(%rax)
movq -0x10(%rbp), %rax
movq 0xe0(%rax), %rcx
movq %rcx, -0x40(%rbp)
movq 0xe8(%rax), %rcx
movq %rcx, -0x38(%rbp)
movq 0xf0(%rax), %rax
movq %rax, -0x30(%rbp)
leaq -0x90(%rbp), %rdi
xorl %esi, %esi
movl $0x50, %edx
callq 0x2120
movl $0x11, -0x90(%rbp)
movq -0x28(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x40(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq 0x120(%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0x110(%rcx), %rax
jne 0xb1ae
movq -0x10(%rbp), %rdi
addq $0x108, %rdi            # imm = 0x108
movq -0x10(%rbp), %rsi
addq $0x108, %rsi            # imm = 0x108
addq $0x10, %rsi
movq -0x10(%rbp), %rdx
addq $0x108, %rdx            # imm = 0x108
addq $0x18, %rdx
movq -0x10(%rbp), %rcx
addq $0x108, %rcx            # imm = 0x108
addq $0x8, %rcx
callq 0x2170
cmpl $0x0, %eax
je 0xb1e0
movq -0x10(%rbp), %rax
movq 0x120(%rax), %rdi
movq %rdi, %rcx
addq $0x50, %rcx
movq %rcx, 0x120(%rax)
leaq -0x90(%rbp), %rsi
movl $0x50, %edx
callq 0x2180
movb $0x1, %al
testb $0x1, %al
jne 0xb1f9
jmp 0xb1f0
movq -0x10(%rbp), %rax
movl $0x1, (%rax)
xorl %eax, %eax
testb $0x1, %al
jne 0xb1f9
movl $0x0, -0x4(%rbp)
jmp 0xb200
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0xc0, %rsp
popq %rbp
retq
nopl (%rax)