// File: /workspace/github_c_makefile_star2_O0/mijallen[P]SimpleHTTPServer/lib/libyaml/src/scanner.c
// Function: yaml_parser_scan_version_directive_number
static int
yaml_parser_scan_version_directive_number(yaml_parser_t *parser,
        yaml_mark_t start_mark, int *number)
{
    int value = 0;
    size_t length = 0;

    /* Repeat while the next character is digit. */

    if (!CACHE(parser, 1)) return 0;

    while (IS_DIGIT(parser->buffer))
    {
        /* Check if the number is too long. */

        if (++length > MAX_NUMBER_LENGTH) {
            return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive",
                    start_mark, "found extremely long version number");
        }

        value = value*10 + AS_DIGIT(parser->buffer);

        SKIP(parser);

        if (!CACHE(parser, 1)) return 0;
    }

    /* Check if the number was present. */

    if (!length) {
        return yaml_parser_set_scanner_error(parser, "while scanning a %YAML directive",
                start_mark, "did not find expected version number");
    }

    *number = value;

    return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
leaq 0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x1, 0xa8(%rax)
jb 0xd60d
movb $0x1, %al
testb $0x1, %al
jne 0xd62c
jmp 0xd620
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x2060
cmpl $0x0, %eax
jne 0xd62c
movl $0x0, -0x4(%rbp)
jmp 0xd852
jmp 0xd62e
movq -0x10(%rbp), %rax
movq 0x98(%rax), %rax
movzbl (%rax), %ecx
xorl %eax, %eax
cmpl $0x30, %ecx
movb %al, -0x31(%rbp)
jl 0xd65d
movq -0x10(%rbp), %rax
movq 0x98(%rax), %rax
movzbl (%rax), %eax
cmpl $0x39, %eax
setle %al
movb %al, -0x31(%rbp)
movb -0x31(%rbp), %al
testb $0x1, %al
jne 0xd669
jmp 0xd802
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
cmpq $0x9, %rax
jbe 0xd6b7
movq -0x30(%rbp), %rax
movq -0x10(%rbp), %rdi
leaq 0x1ec1a(%rip), %rsi     # 0x2c2a4
leaq 0x1ec61(%rip), %rdx     # 0x2c2f2
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 0xd852
imull $0xa, -0x1c(%rbp), %eax
movq -0x10(%rbp), %rcx
movq 0x98(%rcx), %rcx
movzbl (%rcx), %ecx
subl $0x30, %ecx
addl %ecx, %eax
movl %eax, -0x1c(%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 0xd735
movl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0xd7b0
movq -0x10(%rbp), %rax
movq 0x98(%rax), %rax
movzbl (%rax), %eax
andl $0xe0, %eax
cmpl $0xc0, %eax
jne 0xd759
movl $0x2, %eax
movl %eax, -0x3c(%rbp)
jmp 0xd7aa
movq -0x10(%rbp), %rax
movq 0x98(%rax), %rax
movzbl (%rax), %eax
andl $0xf0, %eax
cmpl $0xe0, %eax
jne 0xd77d
movl $0x3, %eax
movl %eax, -0x40(%rbp)
jmp 0xd7a4
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, -0x40(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x3c(%rbp)
movl -0x3c(%rbp), %eax
movl %eax, -0x38(%rbp)
movl -0x38(%rbp), %edx
movq -0x10(%rbp), %rax
movq 0x98(%rax), %rcx
movslq %edx, %rdx
addq %rdx, %rcx
movq %rcx, 0x98(%rax)
movq -0x10(%rbp), %rax
cmpq $0x1, 0xa8(%rax)
jb 0xd7e1
movb $0x1, %al
testb $0x1, %al
jne 0xd7fd
jmp 0xd7f4
movq -0x10(%rbp), %rdi
movl $0x1, %esi
callq 0x2060
cmpl $0x0, %eax
jne 0xd7fd
movl $0x0, -0x4(%rbp)
jmp 0xd852
jmp 0xd62e
cmpq $0x0, -0x28(%rbp)
jne 0xd842
movq -0x30(%rbp), %rax
movq -0x10(%rbp), %rdi
leaq 0x1ea8c(%rip), %rsi     # 0x2c2a4
leaq 0x1eaf7(%rip), %rdx     # 0x2c316
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 0xd852
movl -0x1c(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax,%rax)