// File: /workspace/github_c_makefile_star2_O3/Paxa[P]fast_excel/libxlsxwriter/src/drawing.c
// Function: drawing_write_c_nv_pr
STATIC void
_drawing_write_c_nv_pr(lxw_drawing *self, char *object_name, uint32_t index,
                       lxw_drawing_object *drawing_object)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    char name[LXW_OBJ_NAME_LENGTH];
    lxw_snprintf(name, LXW_OBJ_NAME_LENGTH, "%s %d", object_name, index);

    LXW_INIT_ATTRIBUTES();

    LXW_PUSH_ATTRIBUTES_INT("id", index + 1);
    LXW_PUSH_ATTRIBUTES_STR("name", name);

    if (drawing_object && drawing_object->description
        && strlen(drawing_object->description)
        && !drawing_object->decorative) {

        LXW_PUSH_ATTRIBUTES_STR("descr", drawing_object->description);
    }

    if (drawing_object
        && (drawing_object->url_rel_index || drawing_object->decorative)) {
        lxw_xml_start_tag(self->file, "xdr:cNvPr", &attributes);

        if (drawing_object->url_rel_index) {
            /* Write the a:hlinkClick element. */
            _drawing_write_a_hlink_click(self,
                                         drawing_object->url_rel_index,
                                         drawing_object->tip);
        }

        if (drawing_object->decorative) {
            _workbook_write_decorative(self);
        }

        lxw_xml_end_tag(self->file, "xdr:cNvPr");
    }
    else {
        lxw_xml_empty_tag(self->file, "xdr:cNvPr", &attributes);
    }

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x8b8, %rsp            # imm = 0x8B8
movq %rcx, %r14
movl %edx, %r12d
movq %rsi, %rcx
movq %rdi, %rbx
leaq 0x24014(%rip), %rdx     # 0x42763
xorl %r13d, %r13d
leaq 0x82(%rsp), %r15
movl $0xe, %esi
movq %r15, %rdi
movl %r12d, %r8d
xorl %eax, %eax
callq 0xc570
leaq 0x8(%rsp), %rbp
movq %r13, (%rbp)
movq %rbp, 0x8(%rbp)
incl %r12d
leaq 0x2a9f6(%rip), %rdi     # 0x49179
movq %r12, %rsi
callq 0xc180
movl $0x1040, %r12d          # imm = 0x1040
leaq (%rax,%r12), %rcx
movq %r13, 0x1040(%rax)
movq 0x8(%rbp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbp)
leaq 0x22bb1(%rip), %rdi     # 0x4135f
movq %r15, %rsi
callq 0xc030
addq %rax, %r12
movq %r13, 0x1040(%rax)
movq 0x8(%rbp), %rcx
movq %rax, (%rcx)
movq %r12, 0x8(%rbp)
testq %r14, %r14
je 0x1ea62
movq 0x60(%r14), %rsi
testq %rsi, %rsi
je 0x1e814
cmpb $0x0, (%rsi)
je 0x1e814
cmpb $0x0, 0x70(%r14)
jne 0x1e814
leaq 0x23f79(%rip), %rdi     # 0x42769
callq 0xc030
leaq 0x1040(%rax), %rcx
movq $0x0, 0x1040(%rax)
movq 0x10(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x10(%rsp)
cmpl $0x0, 0x58(%r14)
jne 0x1e826
cmpb $0x0, 0x70(%r14)
je 0x1ea62
movq (%rbx), %rdi
leaq 0x23f3f(%rip), %rsi     # 0x4276f
leaq 0x8(%rsp), %rdx
callq 0xc350
movl 0x58(%r14), %eax
testl %eax, %eax
je 0x1e965
movq 0x68(%r14), %rcx
movq %rcx, 0x28(%rsp)
leaq 0x2339a(%rip), %rsi     # 0x41bf0
leaq 0x30(%rsp), %r12
movl $0x8, %ecx
movq %r12, %rdi
rep  movsq (%rsi), %es:(%rdi)
movl $0x737069, 0x40(%r12)   # imm = 0x737069
leaq 0x23f03(%rip), %rdx     # 0x42779
xorl %r13d, %r13d
leaq 0x90(%rsp), %rdi
movl $0x20, %esi
movl %eax, %ecx
xorl %eax, %eax
callq 0xc570
leaq 0x18(%rsp), %r15
movq %r13, (%r15)
movq %r15, 0x8(%r15)
leaq 0x22f43(%rip), %rdi     # 0x417e5
movq %r12, %rsi
callq 0xc030
movl $0x1040, %r12d          # imm = 0x1040
leaq (%rax,%r12), %rcx
movq %r13, 0x1040(%rax)
movq 0x8(%r15), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r15)
leaq 0x23eb2(%rip), %rdi     # 0x4277f
leaq 0x90(%rsp), %rsi
callq 0xc030
movq 0x28(%rsp), %rsi
addq %rax, %r12
movq %r13, 0x1040(%rax)
movq 0x8(%r15), %rcx
movq %rax, (%rcx)
movq %r12, 0x8(%r15)
testq %rsi, %rsi
je 0x1e924
leaq 0x23e84(%rip), %rdi     # 0x42784
callq 0xc030
leaq 0x1040(%rax), %rcx
movq $0x0, 0x1040(%rax)
movq 0x20(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x20(%rsp)
movq (%rbx), %rdi
leaq 0x23e5e(%rip), %rsi     # 0x4278c
leaq 0x18(%rsp), %r15
movq %r15, %rdx
callq 0xcc00
movq (%r15), %rdi
testq %rdi, %rdi
je 0x1e965
movq 0x1040(%rdi), %rax
movq %rax, 0x18(%rsp)
testq %rax, %rax
jne 0x1e959
movq %r15, 0x20(%rsp)
callq 0xc0c0
movq 0x18(%rsp), %rdi
jmp 0x1e93e
cmpb $0x0, 0x70(%r14)
je 0x1eb7e
movq (%rbx), %rdi
leaq 0x23e1f(%rip), %rsi     # 0x42799
xorl %r12d, %r12d
xorl %edx, %edx
callq 0xc350
leaq 0x23e17(%rip), %rsi     # 0x427a2
movq %rbx, %rdi
callq 0x1ebc6
movaps 0x24056(%rip), %xmm0    # 0x429f0
leaq 0x90(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movaps 0x24033(%rip), %xmm0    # 0x429e0
movaps %xmm0, 0x10(%rsi)
movaps 0x24018(%rip), %xmm0    # 0x429d0
movaps %xmm0, (%rsi)
movabsq $0x6e69616d2f3431, %rax # imm = 0x6E69616D2F3431
movq %rax, 0x2e(%rsi)
leaq 0x30(%rsp), %r14
movq %r12, (%r14)
movq %r14, 0x8(%r14)
leaq 0x23e1e(%rip), %rdi     # 0x427fa
callq 0xc030
movl $0x1040, %r15d          # imm = 0x1040
leaq (%rax,%r15), %rcx
movq %r12, 0x1040(%rax)
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
leaq 0x2a775(%rip), %rdi     # 0x49179
leaq 0x23df9(%rip), %rsi     # 0x42804
callq 0xc030
leaq (%rax,%r15), %rcx
movq %r12, 0x1040(%rax)
movq 0x8(%r14), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r14)
movq (%rbx), %rdi
leaq 0x23dfb(%rip), %rsi     # 0x4282b
movq %r14, %rdx
callq 0xcc00
movq (%r14), %rdi
testq %rdi, %rdi
je 0x1ea7b
movq 0x1040(%rdi), %rax
movq %rax, 0x30(%rsp)
testq %rax, %rax
jne 0x1ea56
movq %r14, 0x38(%rsp)
callq 0xc0c0
movq 0x30(%rsp), %rdi
jmp 0x1ea3b
movq (%rbx), %rdi
leaq 0x23d03(%rip), %rsi     # 0x4276f
leaq 0x8(%rsp), %rdx
callq 0xcc00
jmp 0x1ebaa
movq (%rbx), %rdi
leaq 0x23d44(%rip), %rsi     # 0x427c9
callq 0xc060
leaq 0x23d3e(%rip), %rsi     # 0x427cf
movq %rbx, %rdi
callq 0x1ebc6
movups 0x23f9c(%rip), %xmm0    # 0x42a3c
leaq 0x90(%rsp), %rsi
movups %xmm0, 0x2c(%rsi)
movaps 0x23f7d(%rip), %xmm0    # 0x42a30
movaps %xmm0, 0x20(%rsi)
movaps 0x23f62(%rip), %xmm0    # 0x42a20
movaps %xmm0, 0x10(%rsi)
movaps 0x23f47(%rip), %xmm0    # 0x42a10
movaps %xmm0, (%rsi)
xorl %r12d, %r12d
movq %r12, 0x30(%rsp)
movq %r14, 0x38(%rsp)
leaq 0x23d5a(%rip), %rdi     # 0x4283a
callq 0xc030
leaq (%rax,%r15), %rcx
movq %r12, 0x1040(%rax)
movq 0x38(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x38(%rsp)
leaq 0x22948(%rip), %rdi     # 0x4144c
leaq 0x26c3d(%rip), %rsi     # 0x45748
callq 0xc030
addq %rax, %r15
movq %r12, 0x1040(%rax)
movq 0x38(%rsp), %rcx
movq %rax, (%rcx)
movq %r15, 0x38(%rsp)
movq (%rbx), %rdi
leaq 0x23d14(%rip), %rsi     # 0x42845
movq %r14, %rdx
callq 0xcc00
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x1eb60
movq 0x1040(%rdi), %rax
movq %rax, 0x30(%rsp)
testq %rax, %rax
jne 0x1eb59
movq %r14, 0x38(%rsp)
callq 0xc0c0
jmp 0x1eb39
movq (%rbx), %rdi
leaq 0x23c5f(%rip), %rsi     # 0x427c9
callq 0xc060
movq (%rbx), %rdi
leaq 0x23c20(%rip), %rsi     # 0x42799
callq 0xc060
movq (%rbx), %rdi
leaq 0x23be7(%rip), %rsi     # 0x4276f
callq 0xc060
jmp 0x1ebaa
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x1eba5
movq %rbp, 0x10(%rsp)
callq 0xc0c0
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
jne 0x1eb8f
addq $0x8b8, %rsp            # imm = 0x8B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq