// File: /workspace/github_c_makefile_star2_O2/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 0x151f9
movq %rsi, %r14
testq %rsi, %rsi
je 0x15212
movq %rdi, %rbx
movq %r14, 0x1a8(%rdi)
cmpl $0x0, 0x190(%rdi)
jne 0x150cb
movq %rbx, %rdi
callq 0x20b0
testl %eax, %eax
je 0x151e4
movq (%r14), %rax
movq 0x10(%r14), %rdi
cmpq %rdi, %rax
je 0x151cb
cmpl $0x0, 0x190(%rbx)
je 0x1522f
subq %rax, %rdi
sarq $0x3, %rdi
callq 0x2080
movq %rax, 0x198(%rbx)
testq %rax, %rax
je 0x151e4
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)
andq $0x0, 0x30(%rsi)
movaps %xmm0, 0x10(%rsi)
movaps %xmm0, 0x20(%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 0x151e4
pushq $0x1
popq %rbp
movq %rbx, %rdi
movl %ebp, %esi
callq 0x15317
movq %rbx, %rdi
movl %ebp, %esi
callq 0x153ba
testl %eax, %eax
je 0x151e4
leaq 0x38(%rsp), %rax
xorps %xmm0, %xmm0
movaps %xmm0, -0x38(%rax)
andq $0x0, -0x8(%rax)
movaps %xmm0, -0x18(%rax)
movaps %xmm0, -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
testl %eax, %eax
je 0x151e4
movq %rbx, %rdi
callq 0x1524e
jmp 0x151ee
movq %rbx, %rdi
callq 0x2180
testl %eax, %eax
je 0x151e4
movq %rbx, %rdi
callq 0x1524e
pushq $0x1
popq %rbp
jmp 0x151ee
movq %rbx, %rdi
callq 0x1524e
xorl %ebp, %ebp
movl %ebp, %eax
addq $0x70, %rsp
popq %rbx
popq %r14
popq %rbp
retq
leaq 0xfdd(%rip), %rdi       # 0x161dd
leaq 0x2de7(%rip), %rsi      # 0x17fee
leaq 0x2e4b(%rip), %rcx      # 0x18059
pushq $0x75
jmp 0x15229
leaq 0x26c5(%rip), %rdi      # 0x178de
leaq 0x2dce(%rip), %rsi      # 0x17fee
leaq 0x2e32(%rip), %rcx      # 0x18059
pushq $0x76
popq %rdx
callq 0x2100
leaq 0x2dea(%rip), %rdi      # 0x18020
leaq 0x2db1(%rip), %rsi      # 0x17fee
leaq 0x2e15(%rip), %rcx      # 0x18059
movl $0x84, %edx
callq 0x2100