// File: /workspace/github_c_makefile_star2_O1/Paxa[P]fast_excel/libxlsxwriter/src/drawing.c
// Function: lxw_drawing_assemble_xml_file
void
lxw_drawing_assemble_xml_file(lxw_drawing *self)
{
    uint32_t index;
    lxw_drawing_object *drawing_object;

    /* Write the XML declaration. */
    _drawing_xml_declaration(self);

    /* Write the xdr:wsDr element. */
    _write_drawing_workspace(self);

    if (self->embedded) {
        index = 1;

        STAILQ_FOREACH(drawing_object, self->drawing_objects, list_pointers) {
            _drawing_write_two_cell_anchor(self, index, drawing_object);
            index++;
        }
    }
    else {
        /* Write the xdr:absoluteAnchor element. Mainly for chartsheets. */
        _drawing_write_absolute_anchor(self, 1);
    }

    lxw_xml_end_tag(self->file, "xdr:wsDr");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x8a8, %rsp            # imm = 0x8A8
movq %rdi, %rbx
movq (%rdi), %rdi
callq 0xcf30
leaq 0x25203(%rip), %rsi     # 0x42970
leaq 0x80(%rsp), %r14
movl $0x8, %ecx
movq %r14, %rdi
rep  movsq (%rsi), %es:(%rdi)
movl $0x676e69, 0x40(%r14)   # imm = 0x676E69
movaps 0x24441(%rip), %xmm0    # 0x41bd0
leaq 0x30(%rsp), %r12
movaps %xmm0, 0x20(%r12)
movaps 0x2441f(%rip), %xmm0    # 0x41bc0
movaps %xmm0, 0x10(%r12)
movaps 0x24402(%rip), %xmm0    # 0x41bb0
movaps %xmm0, (%r12)
movabsq $0x6e69616d2f3630, %rax # imm = 0x6E69616D2F3630
movq %rax, 0x2e(%r12)
xorl %r15d, %r15d
leaq 0x10(%rsp), %rbp
movq %r15, (%rbp)
movq %rbp, 0x8(%rbp)
leaq 0x24ee1(%rip), %rdi     # 0x426ba
movq %r14, %rsi
callq 0xc030
movl $0x1040, %r13d          # imm = 0x1040
leaq (%rax,%r13), %rcx
movq %r15, 0x1040(%rax)
movq 0x8(%rbp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%rbp)
leaq 0x23fe1(%rip), %rdi     # 0x417e5
movq %r12, %rsi
callq 0xc030
addq %rax, %r13
movq %r15, 0x1040(%rax)
movq 0x8(%rbp), %rcx
movq %rax, (%rcx)
movq %r13, 0x8(%rbp)
movq (%rbx), %rdi
leaq 0x24e86(%rip), %rsi     # 0x426b1
movq %rbp, %rdx
callq 0xc350
movq (%rbp), %rdi
testq %rdi, %rdi
je 0x1d85e
movq 0x1040(%rdi), %rax
movq %rax, 0x10(%rsp)
testq %rax, %rax
jne 0x1d852
movq %rbp, 0x18(%rsp)
callq 0xc0c0
movq 0x10(%rsp), %rdi
jmp 0x1d837
cmpb $0x0, 0x8(%rbx)
je 0x1de7e
movq 0x10(%rbx), %rax
movq (%rax), %r12
testq %r12, %r12
je 0x1df01
movl $0x1, %ebp
leaq 0x20(%rsp), %r13
movq $0x0, 0x20(%rsp)
movq %r13, 0x28(%rsp)
movzbl 0x1(%r12), %eax
leaq 0x24e2e(%rip), %rsi     # 0x426cb
cmpl $0x2, %eax
je 0x1d8ae
cmpl $0x3, %eax
jne 0x1d8d9
leaq 0x24e25(%rip), %rsi     # 0x426d3
leaq 0x24e0f(%rip), %rdi     # 0x426c4
callq 0xc030
leaq 0x1040(%rax), %rcx
movq $0x0, 0x1040(%rax)
movq 0x28(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x28(%rsp)
movl %ebp, 0xc(%rsp)
movq %r14, %rbp
movq %r13, %rdx
movq (%rbx), %rdi
leaq 0x24def(%rip), %rsi     # 0x426dc
callq 0xc350
leaq 0x8(%r12), %r15
movq (%rbx), %rdi
leaq 0x24ded(%rip), %r14     # 0x426ee
movq %r14, %rsi
xorl %edx, %edx
callq 0xc350
movq %rbx, %rdi
movq %r15, %rsi
callq 0x1e453
movq (%rbx), %rdi
movq %r14, %rsi
callq 0xc060
leaq 0x20(%r12), %r15
movq (%rbx), %rdi
leaq 0x24df0(%rip), %r14     # 0x42720
movq %r14, %rsi
xorl %edx, %edx
callq 0xc350
movq %rbx, %rdi
movq %r15, %rsi
callq 0x1e453
movq (%rbx), %rdi
movq %r14, %rsi
callq 0xc060
movzbl (%r12), %eax
cmpl $0x1, %eax
je 0x1d986
cmpl $0x2, %eax
leaq 0x20(%rsp), %r13
movq %rbp, %r14
movl 0xc(%rsp), %ebp
jne 0x1de22
movl 0x54(%r12), %edx
movq %rbx, %rdi
movl %ebp, %esi
movq %r12, %rcx
callq 0x1df22
jmp 0x1de22
movq (%rbx), %rdi
leaq 0x24f12(%rip), %rsi     # 0x428a2
xorl %edx, %edx
callq 0xc350
movq (%rbx), %rdi
leaq 0x24f09(%rip), %rsi     # 0x428aa
xorl %edx, %edx
callq 0xc350
movq %rbx, %rdi
leaq 0x24f04(%rip), %rsi     # 0x428b6
movl 0xc(%rsp), %edx
movq %r12, %rcx
callq 0x1e529
movq (%rbx), %rdi
leaq 0x24ef6(%rip), %rsi     # 0x428be
xorl %edx, %edx
callq 0xc350
xorl %r15d, %r15d
movq %r15, 0x80(%rsp)
movq %rbp, %r14
movq %rbp, 0x88(%rsp)
leaq 0x24edf(%rip), %rdi     # 0x428cb
leaq 0x27d45(%rip), %rsi     # 0x45738
callq 0xc030
leaq 0x1040(%rax), %rcx
movq %r15, 0x1040(%rax)
movq 0x88(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x88(%rsp)
movq (%rbx), %rdi
leaq 0x24eb7(%rip), %rsi     # 0x428da
movq %rbp, %rdx
callq 0xcc00
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x1da5b
movq 0x1040(%rdi), %rax
movq %rax, 0x80(%rsp)
testq %rax, %rax
jne 0x1da54
movq %r14, 0x88(%rsp)
callq 0xc0c0
jmp 0x1da2b
movq (%rbx), %rdi
leaq 0x24e59(%rip), %rsi     # 0x428be
callq 0xc060
movq (%rbx), %rdi
leaq 0x24e36(%rip), %rsi     # 0x428aa
callq 0xc060
movl 0x54(%r12), %r15d
movq (%rbx), %rdi
leaq 0x24e5d(%rip), %rsi     # 0x428e5
xorl %edx, %edx
callq 0xc350
movl $0x8, %ecx
leaq 0x30(%rsp), %r13
movq %r13, %rdi
leaq 0x2414d(%rip), %rsi     # 0x41bf0
rep  movsq (%rsi), %es:(%rdi)
movl $0x737069, 0x70(%rsp)   # imm = 0x737069
movl $0x20, %esi
movq %r14, %rdi
leaq 0x24cac(%rip), %rdx     # 0x42769
movl %r15d, %ecx
xorl %eax, %eax
callq 0xc570
xorl %ebp, %ebp
movq %rbp, 0x10(%rsp)
leaq 0x10(%rsp), %r15
movq %r15, 0x18(%rsp)
leaq 0x23d0e(%rip), %rdi     # 0x417ed
movq %r13, %rsi
callq 0xc030
movl $0x1040, %r13d          # imm = 0x1040
leaq (%rax,%r13), %rcx
movq %rbp, 0x1040(%rax)
movq 0x18(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x18(%rsp)
leaq 0x24de6(%rip), %rdi     # 0x428f2
movq %r14, %rsi
callq 0xc030
leaq (%rax,%r13), %rcx
movq %rbp, 0x1040(%rax)
movq 0x18(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x18(%rsp)
movq (%rbx), %rdi
leaq 0x24dc4(%rip), %rsi     # 0x428fa
movq %r15, %rdx
callq 0xcc00
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
leaq 0x20(%rsp), %r13
movl 0xc(%rsp), %ebp
je 0x1db76
movq 0x1040(%rdi), %rax
movq %rax, 0x10(%rsp)
testq %rax, %rax
jne 0x1db67
movq %r15, 0x18(%rsp)
callq 0xc0c0
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
jne 0x1db51
movq (%rbx), %rdi
leaq 0x24d81(%rip), %r15     # 0x42901
movq %r15, %rsi
xorl %edx, %edx
callq 0xc350
movq (%rbx), %rdi
leaq 0x24d77(%rip), %rsi     # 0x4290b
xorl %edx, %edx
callq 0xcc00
movq (%rbx), %rdi
movq %r15, %rsi
callq 0xc060
movq (%rbx), %rdi
leaq 0x24d35(%rip), %rsi     # 0x428e5
callq 0xc060
movq (%rbx), %rdi
leaq 0x24d57(%rip), %rsi     # 0x42916
xorl %edx, %edx
callq 0xc350
movq (%rbx), %rdi
leaq 0x24d4f(%rip), %rsi     # 0x4291f
xorl %edx, %edx
callq 0xc350
xorl %r15d, %r15d
movq %r15, 0x80(%rsp)
movq %r14, 0x88(%rsp)
movq 0x38(%r12), %rsi
leaq 0x2ba53(%rip), %rdi     # 0x49649
callq 0xc180
movl $0x1040, %ecx           # imm = 0x1040
addq %rax, %rcx
movq %r15, 0x1040(%rax)
movq 0x88(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x88(%rsp)
movq 0x40(%r12), %rsi
leaq 0x24921(%rip), %rdi     # 0x4254a
callq 0xc180
movl $0x1040, %ecx           # imm = 0x1040
addq %rax, %rcx
movq %r15, 0x1040(%rax)
movq 0x88(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x88(%rsp)
movq (%rbx), %rdi
leaq 0x24c24(%rip), %rsi     # 0x4287e
movq %r14, %rdx
callq 0xcc00
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x1dc92
movq 0x1040(%rdi), %rax
movq %rax, 0x80(%rsp)
testq %rax, %rax
jne 0x1dc8b
movq %r14, 0x88(%rsp)
callq 0xc0c0
jmp 0x1dc62
xorl %r15d, %r15d
movq %r15, 0x80(%rsp)
movq %r14, 0x88(%rsp)
movl 0x48(%r12), %esi
leaq 0x24bd3(%rip), %rdi     # 0x42884
callq 0xc180
movl $0x1040, %ecx           # imm = 0x1040
addq %rax, %rcx
movq %r15, 0x1040(%rax)
movq 0x88(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x88(%rsp)
movl 0x4c(%r12), %esi
leaq 0x24ba3(%rip), %rdi     # 0x42887
callq 0xc180
movl $0x1040, %ecx           # imm = 0x1040
addq %rax, %rcx
movq %r15, 0x1040(%rax)
movq 0x88(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x88(%rsp)
movq (%rbx), %rdi
leaq 0x24aa4(%rip), %rsi     # 0x427b9
movq %r14, %rdx
callq 0xcc00
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x1dd4d
movq 0x1040(%rdi), %rax
movq %rax, 0x80(%rsp)
testq %rax, %rax
jne 0x1dd46
movq %r14, 0x88(%rsp)
callq 0xc0c0
jmp 0x1dd1d
movq (%rbx), %rdi
leaq 0x24bc8(%rip), %rsi     # 0x4291f
callq 0xc060
xorl %r15d, %r15d
movq %r15, 0x80(%rsp)
movq %r14, 0x88(%rsp)
leaq 0x23b17(%rip), %rdi     # 0x4188d
leaq 0x24ba9(%rip), %rsi     # 0x42926
callq 0xc030
leaq 0x1040(%rax), %rcx
movq %r15, 0x1040(%rax)
movq 0x88(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x88(%rsp)
movq (%rbx), %rdi
leaq 0x24b7e(%rip), %r15     # 0x4292b
movq %r15, %rsi
movq %r14, %rdx
callq 0xc350
movq (%rbx), %rdi
leaq 0x24b74(%rip), %rsi     # 0x42936
xorl %edx, %edx
callq 0xcc00
movq (%rbx), %rdi
movq %r15, %rsi
callq 0xc060
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x1de04
movq 0x1040(%rdi), %rax
movq %rax, 0x80(%rsp)
testq %rax, %rax
jne 0x1ddfd
movq %r14, 0x88(%rsp)
callq 0xc0c0
jmp 0x1ddd4
movq (%rbx), %rdi
leaq 0x24b08(%rip), %rsi     # 0x42916
callq 0xc060
movq (%rbx), %rdi
leaq 0x24a85(%rip), %rsi     # 0x428a2
callq 0xc060
movq (%rbx), %rdi
leaq 0x24b12(%rip), %rsi     # 0x4293e
xorl %edx, %edx
callq 0xcc00
movq (%rbx), %rdi
leaq 0x2489f(%rip), %rsi     # 0x426dc
callq 0xc060
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x1de69
movq 0x1040(%rdi), %rax
movq %rax, 0x20(%rsp)
testq %rax, %rax
jne 0x1de62
movq %r13, 0x28(%rsp)
callq 0xc0c0
jmp 0x1de42
incl %ebp
movq 0x78(%r12), %r12
testq %r12, %r12
jne 0x1d882
jmp 0x1df01
movq (%rbx), %rdi
leaq 0x24ac5(%rip), %rsi     # 0x4294d
xorl %edx, %edx
callq 0xc350
cmpb $0x0, 0x9(%rbx)
je 0x1deb1
movq %rbx, %rdi
movl $0xffff45f7, %esi       # imm = 0xFFFF45F7
callq 0x1ea46
movq %rbx, %rdi
movl $0x5e08f3, %esi         # imm = 0x5E08F3
movl $0x5d741f, %edx         # imm = 0x5D741F
jmp 0x1dec8
movq %rbx, %rdi
xorl %esi, %esi
callq 0x1ea46
movq %rbx, %rdi
movl $0x8e0b29, %esi         # imm = 0x8E0B29
movl $0x5cbf75, %edx         # imm = 0x5CBF75
callq 0x1eaf9
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
xorl %ecx, %ecx
callq 0x1df22
movq (%rbx), %rdi
leaq 0x24a53(%rip), %rsi     # 0x4293e
xorl %edx, %edx
callq 0xcc00
movq (%rbx), %rdi
leaq 0x24a51(%rip), %rsi     # 0x4294d
callq 0xc060
movq (%rbx), %rdi
leaq 0x247a6(%rip), %rsi     # 0x426b1
callq 0xc060
addq $0x8a8, %rsp            # imm = 0x8A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq