// File: /workspace/github_c_makefile_star2_O2/mijallen[P]SimpleHTTPServer/lib/libyaml/src/scanner.c
// Function: yaml_parser_scan_block_scalar_breaks
static int
yaml_parser_scan_block_scalar_breaks(yaml_parser_t *parser,
        int *indent, yaml_string_t *breaks,
        yaml_mark_t start_mark, yaml_mark_t *end_mark)
{
    int max_indent = 0;

    *end_mark = parser->mark;

    /* Eat the intendation spaces and line breaks. */

    while (1)
    {
        /* Eat the intendation spaces. */

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

        while ((!*indent || (int)parser->mark.column < *indent)
                && IS_SPACE(parser->buffer)) {
            SKIP(parser);
            if (!CACHE(parser, 1)) return 0;
        }

        if ((int)parser->mark.column > max_indent)
            max_indent = (int)parser->mark.column;

        /* Check for a tab character messing the intendation. */

        if ((!*indent || (int)parser->mark.column < *indent)
                && IS_TAB(parser->buffer)) {
            return yaml_parser_set_scanner_error(parser, "while scanning a block scalar",
                    start_mark, "found a tab character where an intendation space is expected");
        }

        /* Have we found a non-empty line? */

        if (!IS_BREAK(parser->buffer)) break;

        /* Consume the line break. */

        if (!CACHE(parser, 2)) return 0;
        if (!READ_LINE(parser, *breaks)) return 0;
        *end_mark = parser->mark;
    }

    /* Determine the indentation level if needed. */

    if (!*indent) {
        *indent = max_indent;
        if (*indent < parser->indent + 1)
            *indent = parser->indent + 1;
        if (*indent < 1)
            *indent = 1;
    }

   return 1; 
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %rbx
movq %rdi, %r14
leaq 0xe0(%rdi), %rax
movq %rax, 0x8(%rsp)
movq 0xf0(%rdi), %rax
movq %rax, 0x10(%rcx)
movdqu 0xe0(%rdi), %xmm0
movq %rcx, 0x20(%rsp)
movdqu %xmm0, (%rcx)
leaq 0x10(%rdx), %r13
movq %rdx, 0x18(%rsp)
leaq 0x8(%rdx), %rax
movq %rax, 0x10(%rsp)
pushq $0x1
popq %r12
pushq $0x2
popq %rbp
xorl %r15d, %r15d
cmpq $0x0, 0xa8(%r14)
jne 0xc817
movq %r14, %rdi
movq %r12, %rsi
callq 0x2060
testl %eax, %eax
je 0xcb55
movl (%rbx), %esi
testl %esi, %esi
je 0xc834
movl 0xf0(%r14), %edi
movq 0x98(%r14), %rax
cmpl %edi, %esi
jg 0xc83b
jmp 0xc8cb
movq 0x98(%r14), %rax
movb (%rax), %dl
cmpb $0x20, %dl
jne 0xc8b5
incq 0xe0(%r14)
incq 0xf0(%r14)
movq 0xa8(%r14), %rcx
decq %rcx
movq %rcx, 0xa8(%r14)
movzbl (%rax), %edx
movq %r12, %rsi
testb %dl, %dl
jns 0xc89d
movl %edx, %edi
andl $-0x20, %edi
movq %rbp, %rsi
cmpl $0xc0, %edi
je 0xc89d
movl %edx, %edi
andl $-0x10, %edi
pushq $0x3
popq %rsi
cmpl $0xe0, %edi
je 0xc89d
andl $-0x8, %edx
xorl %esi, %esi
cmpl $0xf0, %edx
sete %sil
shll $0x2, %esi
addq %rsi, %rax
movq %rax, 0x98(%r14)
testq %rcx, %rcx
jne 0xc817
jmp 0xc804
movl 0xf0(%r14), %edi
cmpl %edi, %r15d
cmovlel %edi, %r15d
testl %esi, %esi
jne 0xc8d2
movb $0x1, %cl
jmp 0xc8da
cmpl %edi, %r15d
cmovlel %edi, %r15d
xorl %ecx, %ecx
movb (%rax), %dl
cmpl %edi, %esi
jle 0xc8e3
cmpb $0x9, %dl
je 0xcb05
cmpb $0xa, %dl
je 0xc92a
movzbl %dl, %edx
cmpl $0xd, %edx
je 0xc92a
cmpl $0xe2, %edx
je 0xc90f
cmpl $0xc2, %edx
jne 0xcad2
cmpb $-0x7b, 0x1(%rax)
je 0xc92a
jmp 0xcad2
xorl %edx, %edx
cmpb 0x1(%rax), %dl
jno 0xcad2
cmpb $-0x58, 0x2(%rax)
je 0xc92a
cmpb $-0x57, 0x2(%rax)
jne 0xcad2
cmpq $0x1, 0xa8(%r14)
ja 0xc947
movq %r14, %rdi
movq %rbp, %rsi
callq 0x2060
testl %eax, %eax
je 0xcb55
movq (%r13), %rax
addq $0x5, %rax
movq 0x10(%rsp), %rcx
cmpq (%rcx), %rax
jb 0xc973
movq 0x18(%rsp), %rdi
movq %r13, %rsi
movq 0x10(%rsp), %rdx
callq 0x20a0
testl %eax, %eax
je 0xcb4e
movq 0x98(%r14), %rax
movzbl (%rax), %ecx
cmpl $0xe2, %ecx
je 0xca02
cmpl $0xd, %ecx
je 0xc9a1
cmpl $0xc2, %ecx
je 0xc9df
cmpl $0xa, %ecx
jne 0xcab3
movq (%r13), %rax
jmp 0xc9c8
cmpb $0xa, 0x1(%rax)
movq (%r13), %rax
jne 0xc9c8
leaq 0x1(%rax), %rcx
movq %rcx, (%r13)
movb $0xa, (%rax)
addq $0x2, 0x98(%r14)
movq %rbp, %rcx
pushq $-0x2
jmp 0xca80
leaq 0x1(%rax), %rcx
movq %rcx, (%r13)
movb $0xa, (%rax)
incq 0x98(%r14)
jmp 0xca7b
cmpb $-0x7b, 0x1(%rax)
jne 0xcab3
movq (%r13), %rax
leaq 0x1(%rax), %rcx
movq %rcx, (%r13)
movb $0xa, (%rax)
addq $0x2, 0x98(%r14)
jmp 0xca7b
xorl %ecx, %ecx
cmpb 0x1(%rax), %cl
jno 0xcab3
movb 0x2(%rax), %cl
andb $-0x2, %cl
cmpb $-0x58, %cl
jne 0xcab3
leaq 0x1(%rax), %rcx
movq %rcx, 0x98(%r14)
movb (%rax), %al
movq (%r13), %rcx
leaq 0x1(%rcx), %rdx
movq %rdx, (%r13)
movb %al, (%rcx)
movq 0x98(%r14), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x98(%r14)
movb (%rax), %al
movq (%r13), %rcx
leaq 0x1(%rcx), %rdx
movq %rdx, (%r13)
movb %al, (%rcx)
movq 0x98(%r14), %rax
leaq 0x1(%rax), %rcx
movq %rcx, 0x98(%r14)
movb (%rax), %al
movq (%r13), %rcx
leaq 0x1(%rcx), %rdx
movq %rdx, (%r13)
movb %al, (%rcx)
movq %r12, %rcx
pushq $-0x1
popq %rax
andq $0x0, 0xf0(%r14)
movdqu 0xe0(%r14), %xmm0
movd %ecx, %xmm1
shufpd $0x2, 0xa4b1(%rip), %xmm1 # xmm1 = xmm1[0],mem[1]
paddq %xmm0, %xmm1
movdqu %xmm1, 0xe0(%r14)
addq %rax, 0xa8(%r14)
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rax
movq 0x20(%rsp), %rdx
movq %rax, 0x10(%rdx)
movdqu (%rcx), %xmm0
movdqu %xmm0, (%rdx)
jmp 0xc7fa
pushq $0x1
popq %rax
testb %cl, %cl
je 0xcb57
movl %r15d, (%rbx)
movl 0x150(%r14), %edx
leal 0x1(%rdx), %ecx
cmpl %edx, %r15d
cmovgl %r15d, %ecx
setg %dl
testl %ecx, %ecx
setg %sil
testb %sil, %dl
jne 0xcb57
cmpl $0x2, %ecx
cmovll %eax, %ecx
movl %ecx, (%rbx)
jmp 0xcb57
movl $0x3, (%r14)
leaq 0xaab7(%rip), %rax      # 0x175ca
movq %rax, 0x38(%r14)
leaq 0x60(%rsp), %rax
movups (%rax), %xmm0
movups %xmm0, 0x40(%r14)
movq 0x10(%rax), %rax
movq %rax, 0x50(%r14)
leaq 0xaadf(%rip), %rax      # 0x17612
movq %rax, 0x8(%r14)
movq 0x8(%rsp), %rax
movups (%rax), %xmm0
movups %xmm0, 0x20(%r14)
movq 0x10(%rax), %rax
movq %rax, 0x30(%r14)
jmp 0xcb55
movl $0x1, (%r14)
xorl %eax, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop