// File: /workspace/github_c_makefile_star2_O1/mijallen[P]SimpleHTTPServer/lib/libyaml/src/dumper.c
// Function: yaml_emitter_dump
YAML_DECLARE(int)
yaml_emitter_dump(yaml_emitter_t *emitter, yaml_document_t *document)
{
    yaml_event_t event;
    yaml_mark_t mark = { 0, 0, 0 };

    assert(emitter);            /* Non-NULL emitter object is required. */
    assert(document);           /* Non-NULL emitter object is expected. */

    emitter->document = document;

    if (!emitter->opened) {
        if (!yaml_emitter_open(emitter)) goto error;
    }

    if (STACK_EMPTY(emitter, document->nodes)) {
        if (!yaml_emitter_close(emitter)) goto error;
        yaml_emitter_delete_document_and_anchors(emitter);
        return 1;
    }

    assert(emitter->opened);    /* Emitter should be opened. */

    emitter->anchors = yaml_malloc(sizeof(*(emitter->anchors))
            * (document->nodes.top - document->nodes.start));
    if (!emitter->anchors) goto error;
    memset(emitter->anchors, 0, sizeof(*(emitter->anchors))
            * (document->nodes.top - document->nodes.start));

    DOCUMENT_START_EVENT_INIT(event, document->version_directive,
            document->tag_directives.start, document->tag_directives.end,
            document->start_implicit, mark, mark);
    if (!yaml_emitter_emit(emitter, &event)) goto error;

    yaml_emitter_anchor_node(emitter, 1);
    if (!yaml_emitter_dump_node(emitter, 1)) goto error;

    DOCUMENT_END_EVENT_INIT(event, document->end_implicit, mark, mark);
    if (!yaml_emitter_emit(emitter, &event)) goto error;

    yaml_emitter_delete_document_and_anchors(emitter);

    return 1;

error:

    yaml_emitter_delete_document_and_anchors(emitter);

    return 0;
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x70, %rsp
testq %rdi, %rdi
je 0x16f8f
movq %rsi, %r14
testq %rsi, %rsi
je 0x16fae
movq %rdi, %rbx
movq %r14, 0x1a8(%rdi)
cmpl $0x0, 0x190(%rdi)
jne 0x16e44
movq %rbx, %rdi
callq 0x20b0
testl %eax, %eax
je 0x16f7a
movq (%r14), %rax
movq 0x10(%r14), %rdi
cmpq %rdi, %rax
je 0x16f69
cmpl $0x0, 0x190(%rbx)
je 0x16fcd
subq %rax, %rdi
sarq $0x3, %rdi
callq 0x2080
movq %rax, 0x198(%rbx)
testq %rax, %rax
je 0x16f7a
movq 0x10(%r14), %rdx
subq (%r14), %rdx
sarq $0x3, %rdx
movq %rax, %rdi
xorl %esi, %esi
callq 0x2120
xorps %xmm0, %xmm0
movq %rsp, %rsi
movaps %xmm0, (%rsi)
movaps %xmm0, 0x50(%rsi)
movaps %xmm0, 0x40(%rsi)
movaps %xmm0, 0x30(%rsi)
movaps %xmm0, 0x10(%rsi)
movaps %xmm0, 0x20(%rsi)
movq $0x0, 0x60(%rsi)
movl $0x3, (%rsi)
movups %xmm0, 0x48(%rsi)
movups %xmm0, 0x58(%rsi)
movups %xmm0, 0x38(%rsi)
movq 0x18(%r14), %rax
movq %rax, 0x8(%rsi)
movq 0x20(%r14), %rax
movq %rax, 0x10(%rsi)
movq 0x28(%r14), %rax
movq %rax, 0x18(%rsi)
movl 0x30(%r14), %eax
movl %eax, 0x20(%rsi)
movq %rbx, %rdi
callq 0x20f0
testl %eax, %eax
je 0x16f7a
movl $0x1, %ebp
movq %rbx, %rdi
movl $0x1, %esi
callq 0x170fb
movq %rbx, %rdi
movl $0x1, %esi
callq 0x171a2
testl %eax, %eax
je 0x16f7a
leaq 0x38(%rsp), %rax
xorps %xmm0, %xmm0
movaps %xmm0, -0x38(%rax)
movaps %xmm0, 0x18(%rax)
movaps %xmm0, 0x8(%rax)
movaps %xmm0, -0x8(%rax)
movaps %xmm0, -0x18(%rax)
movaps %xmm0, -0x28(%rax)
movq $0x0, 0x28(%rax)
movl $0x4, -0x38(%rax)
movups %xmm0, 0x20(%rax)
movups %xmm0, 0x10(%rax)
movups %xmm0, (%rax)
movl 0x34(%r14), %ecx
movl %ecx, -0x30(%rax)
movq %rsp, %rsi
movq %rbx, %rdi
callq 0x20f0
jmp 0x16f76
movq %rbx, %rdi
callq 0x2180
movl $0x1, %ebp
testl %eax, %eax
jne 0x16f7c
xorl %ebp, %ebp
movq %rbx, %rdi
callq 0x16fec
movl %ebp, %eax
addq $0x70, %rsp
popq %rbx
popq %r14
popq %rbp
retq
leaq 0x1247(%rip), %rdi      # 0x181dd
leaq 0x2ff1(%rip), %rsi      # 0x19f8e
leaq 0x3055(%rip), %rcx      # 0x19ff9
movl $0x75, %edx
callq 0x2100
leaq 0x28bd(%rip), %rdi      # 0x19872
leaq 0x2fd2(%rip), %rsi      # 0x19f8e
leaq 0x3036(%rip), %rcx      # 0x19ff9
movl $0x76, %edx
callq 0x2100
leaq 0x2fec(%rip), %rdi      # 0x19fc0
leaq 0x2fb3(%rip), %rsi      # 0x19f8e
leaq 0x3017(%rip), %rcx      # 0x19ff9
movl $0x84, %edx
callq 0x2100