// File: /workspace/github_c_makefile_star2_O1/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 0x24206(%rip), %rdx     # 0x42753
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 0x2ab0f(%rip), %rdi     # 0x49090
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 0x22dbb(%rip), %rdi     # 0x41367
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 0x1e860
movq 0x60(%r14), %rsi
testq %rsi, %rsi
je 0x1e612
cmpb $0x0, (%rsi)
je 0x1e612
cmpb $0x0, 0x70(%r14)
jne 0x1e612
leaq 0x2416b(%rip), %rdi     # 0x42759
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 0x1e624
cmpb $0x0, 0x70(%r14)
je 0x1e860
movq (%rbx), %rdi
leaq 0x24131(%rip), %rsi     # 0x4275f
leaq 0x8(%rsp), %rdx
callq 0xc350
movl 0x58(%r14), %eax
testl %eax, %eax
je 0x1e763
movq 0x68(%r14), %rcx
movq %rcx, 0x28(%rsp)
leaq 0x2359c(%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 0x240f5(%rip), %rdx     # 0x42769
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 0x2314d(%rip), %rdi     # 0x417ed
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 0x240a4(%rip), %rdi     # 0x4276f
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 0x1e722
leaq 0x24076(%rip), %rdi     # 0x42774
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 0x24050(%rip), %rsi     # 0x4277c
leaq 0x18(%rsp), %r15
movq %r15, %rdx
callq 0xcc00
movq (%r15), %rdi
testq %rdi, %rdi
je 0x1e763
movq 0x1040(%rdi), %rax
movq %rax, 0x18(%rsp)
testq %rax, %rax
jne 0x1e757
movq %r15, 0x20(%rsp)
callq 0xc0c0
movq 0x18(%rsp), %rdi
jmp 0x1e73c
cmpb $0x0, 0x70(%r14)
je 0x1e97c
movq (%rbx), %rdi
leaq 0x24011(%rip), %rsi     # 0x42789
xorl %r12d, %r12d
xorl %edx, %edx
callq 0xc350
leaq 0x24009(%rip), %rsi     # 0x42792
movq %rbx, %rdi
callq 0x1e9c4
movaps 0x24248(%rip), %xmm0    # 0x429e0
leaq 0x90(%rsp), %rsi
movaps %xmm0, 0x20(%rsi)
movaps 0x24225(%rip), %xmm0    # 0x429d0
movaps %xmm0, 0x10(%rsi)
movaps 0x2420a(%rip), %xmm0    # 0x429c0
movaps %xmm0, (%rsi)
movabsq $0x6e69616d2f3431, %rax # imm = 0x6E69616D2F3431
movq %rax, 0x2e(%rsi)
leaq 0x30(%rsp), %r14
movq %r12, (%r14)
movq %r14, 0x8(%r14)
leaq 0x24010(%rip), %rdi     # 0x427ea
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 0x2a88e(%rip), %rdi     # 0x49090
leaq 0x23feb(%rip), %rsi     # 0x427f4
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 0x23fed(%rip), %rsi     # 0x4281b
movq %r14, %rdx
callq 0xcc00
movq (%r14), %rdi
testq %rdi, %rdi
je 0x1e879
movq 0x1040(%rdi), %rax
movq %rax, 0x30(%rsp)
testq %rax, %rax
jne 0x1e854
movq %r14, 0x38(%rsp)
callq 0xc0c0
movq 0x30(%rsp), %rdi
jmp 0x1e839
movq (%rbx), %rdi
leaq 0x23ef5(%rip), %rsi     # 0x4275f
leaq 0x8(%rsp), %rdx
callq 0xcc00
jmp 0x1e9a8
movq (%rbx), %rdi
leaq 0x23f36(%rip), %rsi     # 0x427b9
callq 0xc060
leaq 0x23f30(%rip), %rsi     # 0x427bf
movq %rbx, %rdi
callq 0x1e9c4
movups 0x2418e(%rip), %xmm0    # 0x42a2c
leaq 0x90(%rsp), %rsi
movups %xmm0, 0x2c(%rsi)
movaps 0x2416f(%rip), %xmm0    # 0x42a20
movaps %xmm0, 0x20(%rsi)
movaps 0x24154(%rip), %xmm0    # 0x42a10
movaps %xmm0, 0x10(%rsi)
movaps 0x24139(%rip), %xmm0    # 0x42a00
movaps %xmm0, (%rsi)
xorl %r12d, %r12d
movq %r12, 0x30(%rsp)
movq %r14, 0x38(%rsp)
leaq 0x23f4c(%rip), %rdi     # 0x4282a
callq 0xc030
leaq (%rax,%r15), %rcx
movq %r12, 0x1040(%rax)
movq 0x38(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x38(%rsp)
leaq 0x22b52(%rip), %rdi     # 0x41454
leaq 0x26e2f(%rip), %rsi     # 0x45738
callq 0xc030
addq %rax, %r15
movq %r12, 0x1040(%rax)
movq 0x38(%rsp), %rcx
movq %rax, (%rcx)
movq %r15, 0x38(%rsp)
movq (%rbx), %rdi
leaq 0x23f06(%rip), %rsi     # 0x42835
movq %r14, %rdx
callq 0xcc00
movq 0x30(%rsp), %rdi
testq %rdi, %rdi
je 0x1e95e
movq 0x1040(%rdi), %rax
movq %rax, 0x30(%rsp)
testq %rax, %rax
jne 0x1e957
movq %r14, 0x38(%rsp)
callq 0xc0c0
jmp 0x1e937
movq (%rbx), %rdi
leaq 0x23e51(%rip), %rsi     # 0x427b9
callq 0xc060
movq (%rbx), %rdi
leaq 0x23e12(%rip), %rsi     # 0x42789
callq 0xc060
movq (%rbx), %rdi
leaq 0x23dd9(%rip), %rsi     # 0x4275f
callq 0xc060
jmp 0x1e9a8
movq 0x1040(%rdi), %rax
movq %rax, 0x8(%rsp)
testq %rax, %rax
jne 0x1e9a3
movq %rbp, 0x10(%rsp)
callq 0xc0c0
movq 0x8(%rsp), %rdi
testq %rdi, %rdi
jne 0x1e98d
addq $0x8b8, %rsp            # imm = 0x8B8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq