// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/workbook.c
// Function: workbook_set_properties
lxw_error
workbook_set_properties(lxw_workbook *self, lxw_doc_properties *user_props)
{
    lxw_doc_properties *doc_props;

    /* Free any existing properties. */
    _free_doc_properties(self->properties);

    doc_props = calloc(1, sizeof(lxw_doc_properties));
    GOTO_LABEL_ON_MEM_ERROR(doc_props, mem_error);

    /* Copy the user properties to an internal structure. */
    if (user_props->title) {
        doc_props->title = lxw_strdup(user_props->title);
        GOTO_LABEL_ON_MEM_ERROR(doc_props->title, mem_error);
    }

    if (user_props->subject) {
        doc_props->subject = lxw_strdup(user_props->subject);
        GOTO_LABEL_ON_MEM_ERROR(doc_props->subject, mem_error);
    }

    if (user_props->author) {
        doc_props->author = lxw_strdup(user_props->author);
        GOTO_LABEL_ON_MEM_ERROR(doc_props->author, mem_error);
    }

    if (user_props->manager) {
        doc_props->manager = lxw_strdup(user_props->manager);
        GOTO_LABEL_ON_MEM_ERROR(doc_props->manager, mem_error);
    }

    if (user_props->company) {
        doc_props->company = lxw_strdup(user_props->company);
        GOTO_LABEL_ON_MEM_ERROR(doc_props->company, mem_error);
    }

    if (user_props->category) {
        doc_props->category = lxw_strdup(user_props->category);
        GOTO_LABEL_ON_MEM_ERROR(doc_props->category, mem_error);
    }

    if (user_props->keywords) {
        doc_props->keywords = lxw_strdup(user_props->keywords);
        GOTO_LABEL_ON_MEM_ERROR(doc_props->keywords, mem_error);
    }

    if (user_props->comments) {
        doc_props->comments = lxw_strdup(user_props->comments);
        GOTO_LABEL_ON_MEM_ERROR(doc_props->comments, mem_error);
    }

    if (user_props->status) {
        doc_props->status = lxw_strdup(user_props->status);
        GOTO_LABEL_ON_MEM_ERROR(doc_props->status, mem_error);
    }

    if (user_props->hyperlink_base) {
        doc_props->hyperlink_base = lxw_strdup(user_props->hyperlink_base);
        GOTO_LABEL_ON_MEM_ERROR(doc_props->hyperlink_base, mem_error);
    }

    doc_props->created = user_props->created;

    self->properties = doc_props;

    return LXW_NO_ERROR;

mem_error:
    _free_doc_properties(doc_props);
    return LXW_ERROR_MEMORY_MALLOC_FAILED;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x70(%rax), %rdi
callq 0x3b530
movl $0x1, %edi
movl $0x58, %esi
callq 0xc870
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x3f8c0
movq 0x3d75a(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x26828(%rip), %rsi     # 0x660d0
leaq 0x2bda1(%rip), %rdx     # 0x6b650
movl $0x8fb, %ecx            # imm = 0x8FB
movb $0x0, %al
callq 0xc8f0
jmp 0x3fc6e
jmp 0x3f8c2
movq -0x18(%rbp), %rax
cmpq $0x0, (%rax)
je 0x3f919
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0xcd80
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, (%rax)
movq -0x20(%rbp), %rax
cmpq $0x0, (%rax)
jne 0x3f915
movq 0x3d705(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x267d3(%rip), %rsi     # 0x660d0
leaq 0x2bd4c(%rip), %rdx     # 0x6b650
movl $0x900, %ecx            # imm = 0x900
movb $0x0, %al
callq 0xc8f0
jmp 0x3fc6e
jmp 0x3f917
jmp 0x3f919
movq -0x18(%rbp), %rax
cmpq $0x0, 0x8(%rax)
je 0x3f974
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xcd80
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x3f970
movq 0x3d6aa(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x26778(%rip), %rsi     # 0x660d0
leaq 0x2bcf1(%rip), %rdx     # 0x6b650
movl $0x905, %ecx            # imm = 0x905
movb $0x0, %al
callq 0xc8f0
jmp 0x3fc6e
jmp 0x3f972
jmp 0x3f974
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x3f9cf
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
callq 0xcd80
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x3f9cb
movq 0x3d64f(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x2671d(%rip), %rsi     # 0x660d0
leaq 0x2bc96(%rip), %rdx     # 0x6b650
movl $0x90a, %ecx            # imm = 0x90A
movb $0x0, %al
callq 0xc8f0
jmp 0x3fc6e
jmp 0x3f9cd
jmp 0x3f9cf
movq -0x18(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x3fa2a
movq -0x18(%rbp), %rax
movq 0x18(%rax), %rdi
callq 0xcd80
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x18(%rax)
jne 0x3fa26
movq 0x3d5f4(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x266c2(%rip), %rsi     # 0x660d0
leaq 0x2bc3b(%rip), %rdx     # 0x6b650
movl $0x90f, %ecx            # imm = 0x90F
movb $0x0, %al
callq 0xc8f0
jmp 0x3fc6e
jmp 0x3fa28
jmp 0x3fa2a
movq -0x18(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x3fa85
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rdi
callq 0xcd80
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x20(%rax)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x20(%rax)
jne 0x3fa81
movq 0x3d599(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x26667(%rip), %rsi     # 0x660d0
leaq 0x2bbe0(%rip), %rdx     # 0x6b650
movl $0x914, %ecx            # imm = 0x914
movb $0x0, %al
callq 0xc8f0
jmp 0x3fc6e
jmp 0x3fa83
jmp 0x3fa85
movq -0x18(%rbp), %rax
cmpq $0x0, 0x28(%rax)
je 0x3fae0
movq -0x18(%rbp), %rax
movq 0x28(%rax), %rdi
callq 0xcd80
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x28(%rax)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x28(%rax)
jne 0x3fadc
movq 0x3d53e(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x2660c(%rip), %rsi     # 0x660d0
leaq 0x2bb85(%rip), %rdx     # 0x6b650
movl $0x919, %ecx            # imm = 0x919
movb $0x0, %al
callq 0xc8f0
jmp 0x3fc6e
jmp 0x3fade
jmp 0x3fae0
movq -0x18(%rbp), %rax
cmpq $0x0, 0x30(%rax)
je 0x3fb3b
movq -0x18(%rbp), %rax
movq 0x30(%rax), %rdi
callq 0xcd80
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x30(%rax)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x30(%rax)
jne 0x3fb37
movq 0x3d4e3(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x265b1(%rip), %rsi     # 0x660d0
leaq 0x2bb2a(%rip), %rdx     # 0x6b650
movl $0x91e, %ecx            # imm = 0x91E
movb $0x0, %al
callq 0xc8f0
jmp 0x3fc6e
jmp 0x3fb39
jmp 0x3fb3b
movq -0x18(%rbp), %rax
cmpq $0x0, 0x38(%rax)
je 0x3fb96
movq -0x18(%rbp), %rax
movq 0x38(%rax), %rdi
callq 0xcd80
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x38(%rax)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x38(%rax)
jne 0x3fb92
movq 0x3d488(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x26556(%rip), %rsi     # 0x660d0
leaq 0x2bacf(%rip), %rdx     # 0x6b650
movl $0x923, %ecx            # imm = 0x923
movb $0x0, %al
callq 0xc8f0
jmp 0x3fc6e
jmp 0x3fb94
jmp 0x3fb96
movq -0x18(%rbp), %rax
cmpq $0x0, 0x40(%rax)
je 0x3fbf1
movq -0x18(%rbp), %rax
movq 0x40(%rax), %rdi
callq 0xcd80
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x40(%rax)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x40(%rax)
jne 0x3fbed
movq 0x3d42d(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x264fb(%rip), %rsi     # 0x660d0
leaq 0x2ba74(%rip), %rdx     # 0x6b650
movl $0x928, %ecx            # imm = 0x928
movb $0x0, %al
callq 0xc8f0
jmp 0x3fc6e
jmp 0x3fbef
jmp 0x3fbf1
movq -0x18(%rbp), %rax
cmpq $0x0, 0x48(%rax)
je 0x3fc49
movq -0x18(%rbp), %rax
movq 0x48(%rax), %rdi
callq 0xcd80
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x48(%rax)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x48(%rax)
jne 0x3fc45
movq 0x3d3d2(%rip), %rax     # 0x7cff8
movq (%rax), %rdi
leaq 0x264a0(%rip), %rsi     # 0x660d0
leaq 0x2ba19(%rip), %rdx     # 0x6b650
movl $0x92d, %ecx            # imm = 0x92D
movb $0x0, %al
callq 0xc8f0
jmp 0x3fc6e
jmp 0x3fc47
jmp 0x3fc49
movq -0x18(%rbp), %rax
movq 0x50(%rax), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x50(%rax)
movq -0x20(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x70(%rax)
movl $0x0, -0x4(%rbp)
jmp 0x3fc7e
movq -0x20(%rbp), %rdi
callq 0x3b530
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)