// File: /workspace/github_c_makefile_star2_O1/mijallen[P]SimpleHTTPServer/lib/libyaml/src/emitter.c
// Function: yaml_emitter_write_block_scalar_hints
static int
yaml_emitter_write_block_scalar_hints(yaml_emitter_t *emitter,
        yaml_string_t string)
{
    char indent_hint[2];
    char *chomp_hint = NULL;

    if (IS_SPACE(string) || IS_BREAK(string))
    {
        indent_hint[0] = '0' + (char)emitter->best_indent;
        indent_hint[1] = '\0';
        if (!yaml_emitter_write_indicator(emitter, indent_hint, 0, 0, 0))
            return 0;
    }

    emitter->open_ended = 0;

    string.pointer = string.end;
    if (string.start == string.pointer)
    {
        chomp_hint = "-";
    }
    else
    {
        do {
            string.pointer --;
        } while ((*string.pointer & 0xC0) == 0x80);
        if (!IS_BREAK(string))
        {
            chomp_hint = "-";
        }
        else if (string.start == string.pointer)
        {
            chomp_hint = "+";
            emitter->open_ended = 1;
        }
        else
        {
            do {
                string.pointer --;
            } while ((*string.pointer & 0xC0) == 0x80);
            if (IS_BREAK(string))
            {
                chomp_hint = "+";
                emitter->open_ended = 1;
            }
        }
    }

    if (chomp_hint)
    {
        if (!yaml_emitter_write_indicator(emitter, chomp_hint, 0, 0, 0))
            return 0;
    }

    return 1;
}

// Assembly:
pushq %rbp
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x30(%rsp), %rax
movzbl (%rax), %ecx
cmpq $0x20, %rcx
ja 0x1689c
movabsq $0x100002400, %rdx      # imm = 0x100002400
btq %rcx, %rdx
jae 0x1689c
movb 0x80(%rbx), %al
addb $0x30, %al
leaq 0x6(%rsp), %rsi
movb %al, (%rsi)
movb $0x0, 0x1(%rsi)
xorl %ebp, %ebp
movq %rbx, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x13c6a
testl %eax, %eax
jne 0x168ce
jmp 0x169f2
cmpl $0xc2, %ecx
jne 0x168aa
cmpb $-0x7b, 0x1(%rax)
je 0x1686f
cmpb $-0x1e, %cl
jne 0x168ce
xorl %edx, %edx
cmpb 0x1(%rax), %dl
jno 0x168bc
cmpb $-0x58, 0x2(%rax)
je 0x1686f
cmpb $-0x1e, %cl
jne 0x168ce
xorl %ecx, %ecx
cmpb 0x1(%rax), %cl
jno 0x168ce
cmpb $-0x57, 0x2(%rax)
je 0x1686f
leaq 0x20(%rsp), %rax
movl $0x0, 0x128(%rbx)
movq (%rax), %rdx
movq 0x8(%rax), %rcx
movq %rcx, 0x10(%rax)
leaq 0x344e(%rip), %rsi      # 0x19d3d
cmpq %rcx, %rdx
je 0x169d2
movq 0x10(%rax), %rdi
movzbl -0x1(%rdi), %ecx
decq %rdi
movl %ecx, %r8d
andb $-0x40, %r8b
negb %r8b
jo 0x168fc
movq %rdi, 0x10(%rax)
cmpl $0xa, %ecx
je 0x1695f
cmpl $0xd, %ecx
je 0x1695f
cmpl $0xc2, %ecx
jne 0x1692b
cmpb $-0x7b, 0x1(%rdi)
je 0x1695f
cmpl $0xe2, %ecx
jne 0x169d2
xorl %r8d, %r8d
cmpb 0x1(%rdi), %r8b
jno 0x16946
cmpb $-0x58, 0x2(%rdi)
je 0x1695f
cmpl $0xe2, %ecx
jne 0x169d2
xorl %ecx, %ecx
cmpb 0x1(%rdi), %cl
jno 0x169d4
cmpb $-0x57, 0x2(%rdi)
jne 0x169d2
cmpq %rdx, %rdi
je 0x169c1
movq 0x10(%rax), %rdx
movzbl -0x1(%rdx), %esi
decq %rdx
movl %esi, %ecx
andb $-0x40, %cl
negb %cl
jo 0x16968
movq %rdx, 0x10(%rax)
cmpl $0xa, %esi
je 0x169c1
cmpl $0xd, %esi
je 0x169c1
cmpl $0xc2, %esi
jne 0x16994
cmpb $-0x7b, 0x1(%rdx)
je 0x169c1
movb $0x1, %cl
cmpl $0xe2, %esi
jne 0x169fb
xorl %eax, %eax
cmpb 0x1(%rdx), %al
jno 0x169ab
cmpb $-0x58, 0x2(%rdx)
je 0x169c1
cmpl $0xe2, %esi
jne 0x169fb
xorl %esi, %esi
cmpb 0x1(%rdx), %sil
jno 0x169d4
cmpb $-0x57, 0x2(%rdx)
jne 0x169fb
movl $0x1, 0x128(%rbx)
leaq 0x34ce(%rip), %rsi      # 0x19ea0
xorl %ecx, %ecx
testb %cl, %cl
jne 0x169ed
xorl %ebp, %ebp
movq %rbx, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x13c6a
testl %eax, %eax
je 0x169f2
movl $0x1, %ebp
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %rbp
retq
xorl %esi, %esi
jmp 0x169d4