// File: /workspace/github_c_makefile_star2_O3/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 0x159a4
movabsq $0x100002400, %rdx      # imm = 0x100002400
btq %rcx, %rdx
jae 0x159a4
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 0x12d29
testl %eax, %eax
jne 0x159cf
jmp 0x15ad8
cmpl $0xe2, %ecx
je 0x159bc
cmpl $0xc2, %ecx
jne 0x159cf
cmpb $-0x7b, 0x1(%rax)
je 0x15977
jmp 0x159cf
xorl %ecx, %ecx
cmpb 0x1(%rax), %cl
jno 0x159cf
cmpb $-0x58, 0x2(%rax)
je 0x15977
cmpb $-0x57, 0x2(%rax)
je 0x15977
leaq 0x20(%rsp), %rcx
movl $0x0, 0x128(%rbx)
movq (%rcx), %rdx
movq 0x8(%rcx), %rax
leaq 0x33c1(%rip), %rsi      # 0x18dad
cmpq %rax, %rdx
je 0x15abe
movzbl -0x1(%rax), %edi
decq %rax
movl %edi, %r8d
andb $-0x40, %r8b
negb %r8b
jo 0x159f5
movq %rax, 0x10(%rcx)
cmpl $0xc1, %edi
jg 0x15a23
cmpl $0xa, %edi
je 0x15a53
cmpl $0xd, %edi
je 0x15a53
jmp 0x15abe
cmpl $0xe2, %edi
je 0x15a3f
cmpl $0xc2, %edi
jne 0x15abe
cmpb $-0x7b, 0x1(%rax)
je 0x15a53
jmp 0x15abe
xorl %edi, %edi
cmpb 0x1(%rax), %dil
jno 0x15abe
cmpb $-0x58, 0x2(%rax)
je 0x15a53
cmpb $-0x57, 0x2(%rax)
jne 0x15abe
cmpq %rdx, %rax
je 0x15aad
movzbl -0x1(%rax), %edx
decq %rax
movl %edx, %esi
andb $-0x40, %sil
negb %sil
jo 0x15a58
movq %rax, 0x10(%rcx)
cmpl $0xc1, %edx
jg 0x15a82
cmpl $0xa, %edx
je 0x15aad
cmpl $0xd, %edx
je 0x15aad
jmp 0x15ad3
cmpl $0xe2, %edx
je 0x15a9a
cmpl $0xc2, %edx
jne 0x15ad3
cmpb $-0x7b, 0x1(%rax)
je 0x15aad
jmp 0x15ad3
xorl %ecx, %ecx
cmpb 0x1(%rax), %cl
jno 0x15ad3
cmpb $-0x58, 0x2(%rax)
je 0x15aad
cmpb $-0x57, 0x2(%rax)
jne 0x15ad3
movl $0x1, 0x128(%rbx)
leaq 0x3452(%rip), %rsi      # 0x18f10
xorl %ebp, %ebp
movq %rbx, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
callq 0x12d29
testl %eax, %eax
je 0x15ad8
movl $0x1, %ebp
movl %ebp, %eax
addq $0x8, %rsp
popq %rbx
popq %rbp
retq