// File: /workspace/github_c_makefile_star2_O0/mijallen[P]SimpleHTTPServer/lib/libyaml/src/api.c
// Function: yaml_document_delete
YAML_DECLARE(void)
yaml_document_delete(yaml_document_t *document)
{
    struct {
        yaml_error_type_t error;
    } context;
    yaml_tag_directive_t *tag_directive;

    context.error = YAML_NO_ERROR;  /* Eliminate a compliler warning. */

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

    while (!STACK_EMPTY(&context, document->nodes)) {
        yaml_node_t node = POP(&context, document->nodes);
        yaml_free(node.tag);
        switch (node.type) {
            case YAML_SCALAR_NODE:
                yaml_free(node.data.scalar.value);
                break;
            case YAML_SEQUENCE_NODE:
                STACK_DEL(&context, node.data.sequence.items);
                break;
            case YAML_MAPPING_NODE:
                STACK_DEL(&context, node.data.mapping.pairs);
                break;
            default:
                assert(0);  /* Should not happen. */
        }
    }
    STACK_DEL(&context, document->nodes);

    yaml_free(document->version_directive);
    for (tag_directive = document->tag_directives.start;
            tag_directive != document->tag_directives.end;
            tag_directive++) {
        yaml_free(tag_directive->handle);
        yaml_free(tag_directive->prefix);
    }
    yaml_free(document->tag_directives.start);

    memset(document, 0, sizeof(yaml_document_t));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movl $0x0, -0xc(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x596f
jmp 0x598e
leaq 0x26f88(%rip), %rdi     # 0x2c8fe
leaq 0x256f4(%rip), %rsi     # 0x2b071
movl $0x466, %edx            # imm = 0x466
leaq 0x26012(%rip), %rcx     # 0x2b99b
callq 0x2100
jmp 0x5990
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq -0x8(%rbp), %rcx
cmpq 0x10(%rcx), %rax
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x59ad
jmp 0x5a98
movq -0x8(%rbp), %rcx
movq 0x10(%rcx), %rax
movq %rax, %rdx
addq $-0x60, %rdx
movq %rdx, 0x10(%rcx)
movups -0x10(%rax), %xmm0
movaps %xmm0, -0x30(%rbp)
movups -0x20(%rax), %xmm0
movaps %xmm0, -0x40(%rbp)
movups -0x60(%rax), %xmm0
movups -0x50(%rax), %xmm1
movups -0x40(%rax), %xmm2
movups -0x30(%rax), %xmm3
movaps %xmm3, -0x50(%rbp)
movaps %xmm2, -0x60(%rbp)
movaps %xmm1, -0x70(%rbp)
movaps %xmm0, -0x80(%rbp)
movq -0x78(%rbp), %rdi
callq 0x2140
movl -0x80(%rbp), %eax
movl %eax, -0x84(%rbp)
subl $0x1, %eax
je 0x5a23
jmp 0x5a09
movl -0x84(%rbp), %eax
subl $0x2, %eax
je 0x5a2e
jmp 0x5a16
movl -0x84(%rbp), %eax
subl $0x3, %eax
je 0x5a51
jmp 0x5a74
movq -0x70(%rbp), %rdi
callq 0x2140
jmp 0x5a93
movq -0x70(%rbp), %rdi
callq 0x2140
movq $0x0, -0x68(%rbp)
movq $0x0, -0x60(%rbp)
movq $0x0, -0x70(%rbp)
jmp 0x5a93
movq -0x70(%rbp), %rdi
callq 0x2140
movq $0x0, -0x68(%rbp)
movq $0x0, -0x60(%rbp)
movq $0x0, -0x70(%rbp)
jmp 0x5a93
leaq 0x26bb9(%rip), %rdi     # 0x2c634
leaq 0x255ef(%rip), %rsi     # 0x2b071
movl $0x476, %edx            # imm = 0x476
leaq 0x25f0d(%rip), %rcx     # 0x2b99b
callq 0x2100
jmp 0x5990
movq -0x8(%rbp), %rax
movq (%rax), %rdi
callq 0x2140
movq -0x8(%rbp), %rax
movq $0x0, 0x8(%rax)
movq -0x8(%rbp), %rax
movq $0x0, 0x10(%rax)
movq -0x8(%rbp), %rax
movq $0x0, (%rax)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0x2140
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x28(%rcx), %rax
je 0x5b15
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0x2140
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0x2140
movq -0x18(%rbp), %rax
addq $0x10, %rax
movq %rax, -0x18(%rbp)
jmp 0x5ae0
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
callq 0x2140
movq -0x8(%rbp), %rdi
xorl %esi, %esi
movl $0x68, %edx
callq 0x2120
addq $0x90, %rsp
popq %rbp
retq
nopl (%rax,%rax)