// File: /workspace/github_c_makefile_star2_O1/Paxa[P]fast_excel/libxlsxwriter/src/shared_strings.c
// Function: lxw_sst_assemble_xml_file
void
lxw_sst_assemble_xml_file(lxw_sst *self)
{
    /* Write the XML declaration. */
    _sst_xml_declaration(self);

    /* Write the sst element. */
    _write_sst(self);

    /* Write the sst strings. */
    _write_sst_strings(self);

    /* Close the sst tag. */
    lxw_xml_end_tag(self->file, "sst");
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x58, %rsp
movq %rdi, %rbx
movq (%rdi), %rdi
callq 0xcf30
movups 0x1eff6(%rip), %xmm0    # 0x41e1a
leaq 0x10(%rsp), %r14
movups %xmm0, 0x2a(%r14)
movaps 0x1efdb(%rip), %xmm0    # 0x41e10
movaps %xmm0, 0x20(%r14)
movaps 0x1efbf(%rip), %xmm0    # 0x41e00
movaps %xmm0, 0x10(%r14)
movaps 0x1efa3(%rip), %xmm0    # 0x41df0
movaps %xmm0, (%r14)
xorl %r12d, %r12d
movq %rsp, %r15
movq %r12, (%r15)
movq %r15, 0x8(%r15)
leaq 0x1d2ac(%rip), %rdi     # 0x40111
movq %r14, %rsi
callq 0xc030
movl $0x1040, %r13d          # imm = 0x1040
leaq (%rax,%r13), %rcx
movq %r12, 0x1040(%rax)
movq 0x8(%r15), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r15)
movl 0x8(%rbx), %esi
leaq 0x1fc32(%rip), %rdi     # 0x42ac5
callq 0xc180
leaq (%rax,%r13), %rcx
movq %r12, 0x1040(%rax)
movq 0x8(%r15), %rdx
movq %rax, (%rdx)
movq %rcx, 0x8(%r15)
movl 0xc(%rbx), %esi
leaq 0x2044b(%rip), %rdi     # 0x43303
callq 0xc180
addq %rax, %r13
movq %r12, 0x1040(%rax)
movq 0x8(%r15), %rcx
movq %rax, (%rcx)
movq %r13, 0x8(%r15)
movq (%rbx), %rdi
leaq 0x20423(%rip), %rsi     # 0x432ff
movq %r15, %rdx
callq 0xc350
movq (%r15), %rdi
testq %rdi, %rdi
je 0x22f0c
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x22f01
movq %r15, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x22ee7
movq 0x10(%rbx), %rax
movq (%rax), %r12
testq %r12, %r12
je 0x2303f
leaq 0x1f5b0(%rip), %r15     # 0x424d3
cmpb $0x0, 0x10(%r12)
movq 0x8(%r12), %r13
movq (%rbx), %rdi
je 0x22f40
movq %r13, %rsi
callq 0xcb90
jmp 0x23031
movq %r15, %rsi
xorl %edx, %edx
callq 0xc350
movq %r13, %rdi
callq 0xc920
movl %eax, %ebp
testb %al, %al
je 0x22f63
movq %r13, %rdi
callq 0xc9a0
movq %rax, %r13
movq $0x0, 0x10(%rsp)
movq %r14, 0x18(%rsp)
callq 0xd0f0
movq (%rax), %r15
movzbl (%r13), %eax
testb $0x20, 0x1(%r15,%rax,2)
jne 0x22f9c
movq %r13, %rdi
callq 0xc480
movzbl -0x1(%r13,%rax), %eax
testb $0x20, 0x1(%r15,%rax,2)
je 0x22fce
leaq 0x2036c(%rip), %rdi     # 0x4330f
leaq 0x2036f(%rip), %rsi     # 0x43319
callq 0xc030
leaq 0x1040(%rax), %rcx
movq $0x0, 0x1040(%rax)
movq 0x18(%rsp), %rdx
movq %rax, (%rdx)
movq %rcx, 0x18(%rsp)
movq (%rbx), %rdi
leaq 0x1e2b9(%rip), %rsi     # 0x41291
movq %r13, %rdx
movq %r14, %rcx
callq 0xcb30
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
leaq 0x1f4e1(%rip), %r15     # 0x424d3
je 0x23019
movq 0x1040(%rdi), %rax
movq %rax, 0x10(%rsp)
testq %rax, %rax
jne 0x2300a
movq %r14, 0x18(%rsp)
callq 0xc0c0
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
jne 0x22ff4
movq (%rbx), %rdi
movq %r15, %rsi
callq 0xc060
testb %bpl, %bpl
je 0x23031
movq %r13, %rdi
callq 0xc0c0
movq 0x18(%r12), %r12
testq %r12, %r12
jne 0x22f23
movq (%rbx), %rdi
leaq 0x202b6(%rip), %rsi     # 0x432ff
callq 0xc060
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq