// File: /workspace/github_c_makefile_star2_O0/mijallen[P]SimpleHTTPServer/lib/libyaml/src/emitter.c
// Function: yaml_emitter_analyze_anchor
static int
yaml_emitter_analyze_anchor(yaml_emitter_t *emitter,
        yaml_char_t *anchor, int alias)
{
    size_t anchor_length;
    yaml_string_t string;
    
    anchor_length = strlen((char *)anchor);
    STRING_ASSIGN(string, anchor, anchor_length);

    if (string.start == string.end) {
        return yaml_emitter_set_emitter_error(emitter, alias ?
                "alias value must not be empty" :
                "anchor value must not be empty");
    }

    while (string.pointer != string.end) {
        if (!IS_ALPHA(string)) {
            return yaml_emitter_set_emitter_error(emitter, alias ?
                    "alias value must contain alphanumerical characters only" :
                    "anchor value must contain alphanumerical characters only");
        }
        MOVE(string);
    }

    emitter->anchor_data.anchor = string.start;
    emitter->anchor_data.anchor_length = string.end - string.start;
    emitter->anchor_data.alias = alias;

    return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movl %edx, -0x1c(%rbp)
movq -0x18(%rbp), %rdi
callq 0x20d0
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rax
addq -0x28(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x40(%rbp), %rax
cmpq -0x38(%rbp), %rax
jne 0x2776f
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %ecx
leaq 0x57b6(%rip), %rsi      # 0x2cf0a
leaq 0x5791(%rip), %rax      # 0x2ceec
cmpl $0x0, %ecx
cmovneq %rax, %rsi
callq 0x20b90
movl %eax, -0x4(%rbp)
jmp 0x278d8
jmp 0x27771
movq -0x30(%rbp), %rax
cmpq -0x38(%rbp), %rax
je 0x2789f
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
cmpl $0x30, %eax
jl 0x27797
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
cmpl $0x39, %eax
jle 0x27808
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
cmpl $0x41, %eax
jl 0x277af
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
cmpl $0x5a, %eax
jle 0x27808
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
cmpl $0x61, %eax
jl 0x277c7
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
cmpl $0x7a, %eax
jle 0x27808
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
cmpl $0x5f, %eax
je 0x27808
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
cmpl $0x2d, %eax
je 0x27808
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %ecx
leaq 0x5774(%rip), %rsi      # 0x2cf61
leaq 0x5735(%rip), %rax      # 0x2cf29
cmpl $0x0, %ecx
cmovneq %rax, %rsi
callq 0x20b90
movl %eax, -0x4(%rbp)
jmp 0x278d8
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
andl $0x80, %eax
cmpl $0x0, %eax
jne 0x27823
movl $0x1, %eax
movl %eax, -0x44(%rbp)
jmp 0x27889
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
andl $0xe0, %eax
cmpl $0xc0, %eax
jne 0x27840
movl $0x2, %eax
movl %eax, -0x48(%rbp)
jmp 0x27883
movq -0x30(%rbp), %rax
movzbl (%rax), %eax
andl $0xf0, %eax
cmpl $0xe0, %eax
jne 0x2785d
movl $0x3, %eax
movl %eax, -0x4c(%rbp)
jmp 0x2787d
movq -0x30(%rbp), %rax
movzbl (%rax), %edx
andl $0xf8, %edx
xorl %eax, %eax
movl $0x4, %ecx
cmpl $0xf0, %edx
cmovel %ecx, %eax
movl %eax, -0x4c(%rbp)
movl -0x4c(%rbp), %eax
movl %eax, -0x48(%rbp)
movl -0x48(%rbp), %eax
movl %eax, -0x44(%rbp)
movl -0x44(%rbp), %ecx
movq -0x30(%rbp), %rax
movslq %ecx, %rcx
addq %rcx, %rax
movq %rax, -0x30(%rbp)
jmp 0x27771
movq -0x40(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x130(%rax)
movq -0x38(%rbp), %rcx
movq -0x40(%rbp), %rax
subq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x138(%rax)
movl -0x1c(%rbp), %ecx
movq -0x10(%rbp), %rax
movl %ecx, 0x140(%rax)
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)