// File: /workspace/github_c_makefile_star2_O3/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 0x1efa6(%rip), %xmm0    # 0x41e2a
leaq 0x10(%rsp), %r14
movups %xmm0, 0x2a(%r14)
movaps 0x1ef8b(%rip), %xmm0    # 0x41e20
movaps %xmm0, 0x20(%r14)
movaps 0x1ef6f(%rip), %xmm0    # 0x41e10
movaps %xmm0, 0x10(%r14)
movaps 0x1ef53(%rip), %xmm0    # 0x41e00
movaps %xmm0, (%r14)
xorl %r12d, %r12d
movq %rsp, %r15
movq %r12, (%r15)
movq %r15, 0x8(%r15)
leaq 0x1d24c(%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 0x1fbe2(%rip), %rdi     # 0x42ad5
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 0x203fb(%rip), %rdi     # 0x43313
callq 0xc180
addq %rax, %r13
movq %r12, 0x1040(%rax)
movq 0x8(%r15), %rcx
movq %rax, (%rcx)
movq %r13, 0x8(%r15)
movq (%rbx), %rdi
leaq 0x203d3(%rip), %rsi     # 0x4330f
movq %r15, %rdx
callq 0xc350
movq (%r15), %rdi
testq %rdi, %rdi
je 0x22f6c
movq 0x1040(%rdi), %rax
movq %rax, (%rsp)
testq %rax, %rax
jne 0x22f61
movq %r15, 0x8(%rsp)
callq 0xc0c0
movq (%rsp), %rdi
jmp 0x22f47
movq 0x10(%rbx), %rax
movq (%rax), %r12
testq %r12, %r12
je 0x2309f
leaq 0x1f560(%rip), %r15     # 0x424e3
cmpb $0x0, 0x10(%r12)
movq 0x8(%r12), %r13
movq (%rbx), %rdi
je 0x22fa0
movq %r13, %rsi
callq 0xcb90
jmp 0x23091
movq %r15, %rsi
xorl %edx, %edx
callq 0xc350
movq %r13, %rdi
callq 0xc920
movl %eax, %ebp
testb %al, %al
je 0x22fc3
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 0x22ffc
movq %r13, %rdi
callq 0xc480
movzbl -0x1(%r13,%rax), %eax
testb $0x20, 0x1(%r15,%rax,2)
je 0x2302e
leaq 0x2031c(%rip), %rdi     # 0x4331f
leaq 0x2031f(%rip), %rsi     # 0x43329
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 0x1e251(%rip), %rsi     # 0x41289
movq %r13, %rdx
movq %r14, %rcx
callq 0xcb30
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
leaq 0x1f491(%rip), %r15     # 0x424e3
je 0x23079
movq 0x1040(%rdi), %rax
movq %rax, 0x10(%rsp)
testq %rax, %rax
jne 0x2306a
movq %r14, 0x18(%rsp)
callq 0xc0c0
movq 0x10(%rsp), %rdi
testq %rdi, %rdi
jne 0x23054
movq (%rbx), %rdi
movq %r15, %rsi
callq 0xc060
testb %bpl, %bpl
je 0x23091
movq %r13, %rdi
callq 0xc0c0
movq 0x18(%r12), %r12
testq %r12, %r12
jne 0x22f83
movq (%rbx), %rdi
leaq 0x20266(%rip), %rsi     # 0x4330f
callq 0xc060
addq $0x58, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq