// File: /workspace/github_c_makefile_star2_O3/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 %r14
pushq %rbx
subq $0x68, %rsp
testq %rdi, %rdi
je 0x15fce
movq %rsi, %r14
testq %rsi, %rsi
je 0x15fed
movq %rdi, %rbx
movq %r14, 0x1a8(%rdi)
cmpl $0x0, 0x190(%rdi)
jne 0x15ea4
movq %rbx, %rdi
callq 0x20b0
testl %eax, %eax
je 0x15fbc
movq (%r14), %rax
movq 0x10(%r14), %rdi
cmpq %rdi, %rax
je 0x15fa1
cmpl $0x0, 0x190(%rbx)
je 0x1600c
subq %rax, %rdi
sarq $0x3, %rdi
callq 0x2080
movq %rax, 0x198(%rbx)
testq %rax, %rax
je 0x15fbc
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, 0x10(%rsi)
movaps %xmm0, 0x20(%rsi)
movq $0x0, 0x30(%rsi)
movl $0x3, (%rsi)
movups %xmm0, 0x38(%rsi)
movups %xmm0, 0x48(%rsi)
movups %xmm0, 0x58(%rsi)
movups 0x18(%r14), %xmm0
movups %xmm0, 0x8(%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 0x15fbc
movq %rbx, %rdi
movl $0x1, %esi
callq 0x16110
movq %rbx, %rdi
movl $0x1, %esi
callq 0x161b7
testl %eax, %eax
je 0x15fbc
leaq 0x38(%rsp), %rax
xorps %xmm0, %xmm0
movaps %xmm0, -0x38(%rax)
movaps %xmm0, -0x18(%rax)
movaps %xmm0, -0x28(%rax)
movq $0x0, -0x8(%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 0x15fa9
movq %rbx, %rdi
callq 0x2180
testl %eax, %eax
je 0x15fbc
movq %rbx, %rdi
callq 0x1602b
movl $0x1, %eax
jmp 0x15fc6
movq %rbx, %rdi
callq 0x1602b
xorl %eax, %eax
addq $0x68, %rsp
popq %rbx
popq %r14
retq
leaq 0x1208(%rip), %rdi      # 0x171dd
leaq 0x3022(%rip), %rsi      # 0x18ffe
leaq 0x3086(%rip), %rcx      # 0x19069
movl $0x75, %edx
callq 0x2100
leaq 0x28fa(%rip), %rdi      # 0x188ee
leaq 0x3003(%rip), %rsi      # 0x18ffe
leaq 0x3067(%rip), %rcx      # 0x19069
movl $0x76, %edx
callq 0x2100
leaq 0x301d(%rip), %rdi      # 0x19030
leaq 0x2fe4(%rip), %rsi      # 0x18ffe
leaq 0x3048(%rip), %rcx      # 0x19069
movl $0x84, %edx
callq 0x2100