// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/styles.c
// Function: write_alignment
STATIC void
_write_alignment(lxw_styles *self, lxw_format *format)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;
    int16_t rotation = format->rotation;

    LXW_INIT_ATTRIBUTES();

    /* Indent is only allowed for horizontal left, right and distributed. */
    /* If it is defined for any other alignment or no alignment has been  */
    /* set then default to left alignment. */
    if (format->indent
        && format->text_h_align != LXW_ALIGN_LEFT
        && format->text_h_align != LXW_ALIGN_RIGHT
        && format->text_h_align != LXW_ALIGN_DISTRIBUTED) {
        format->text_h_align = LXW_ALIGN_LEFT;
    }

    /* Check for properties that are mutually exclusive. */
    if (format->text_wrap)
        format->shrink = 0;

    if (format->text_h_align == LXW_ALIGN_FILL)
        format->shrink = 0;

    if (format->text_h_align == LXW_ALIGN_JUSTIFY)
        format->shrink = 0;

    if (format->text_h_align == LXW_ALIGN_DISTRIBUTED)
        format->shrink = 0;

    if (format->text_h_align != LXW_ALIGN_DISTRIBUTED)
        format->just_distrib = 0;

    if (format->indent)
        format->just_distrib = 0;

    if (format->text_h_align == LXW_ALIGN_LEFT)
        LXW_PUSH_ATTRIBUTES_STR("horizontal", "left");

    if (format->text_h_align == LXW_ALIGN_CENTER)
        LXW_PUSH_ATTRIBUTES_STR("horizontal", "center");

    if (format->text_h_align == LXW_ALIGN_RIGHT)
        LXW_PUSH_ATTRIBUTES_STR("horizontal", "right");

    if (format->text_h_align == LXW_ALIGN_FILL)
        LXW_PUSH_ATTRIBUTES_STR("horizontal", "fill");

    if (format->text_h_align == LXW_ALIGN_JUSTIFY)
        LXW_PUSH_ATTRIBUTES_STR("horizontal", "justify");

    if (format->text_h_align == LXW_ALIGN_CENTER_ACROSS)
        LXW_PUSH_ATTRIBUTES_STR("horizontal", "centerContinuous");

    if (format->text_h_align == LXW_ALIGN_DISTRIBUTED)
        LXW_PUSH_ATTRIBUTES_STR("horizontal", "distributed");

    if (format->just_distrib)
        LXW_PUSH_ATTRIBUTES_STR("justifyLastLine", "1");

    if (format->text_v_align == LXW_ALIGN_VERTICAL_TOP)
        LXW_PUSH_ATTRIBUTES_STR("vertical", "top");

    if (format->text_v_align == LXW_ALIGN_VERTICAL_CENTER)
        LXW_PUSH_ATTRIBUTES_STR("vertical", "center");

    if (format->text_v_align == LXW_ALIGN_VERTICAL_JUSTIFY)
        LXW_PUSH_ATTRIBUTES_STR("vertical", "justify");

    if (format->text_v_align == LXW_ALIGN_VERTICAL_DISTRIBUTED)
        LXW_PUSH_ATTRIBUTES_STR("vertical", "distributed");

    if (format->indent)
        LXW_PUSH_ATTRIBUTES_INT("indent", format->indent);

    /* Map rotation to Excel values. */
    if (rotation) {
        if (rotation == 270)
            rotation = 255;
        else if (rotation < 0)
            rotation = -rotation + 90;

        LXW_PUSH_ATTRIBUTES_INT("textRotation", rotation);
    }

    if (format->text_wrap)
        LXW_PUSH_ATTRIBUTES_STR("wrapText", "1");

    if (format->shrink)
        LXW_PUSH_ATTRIBUTES_STR("shrinkToFit", "1");

    if (format->reading_order == 1)
        LXW_PUSH_ATTRIBUTES_STR("readingOrder", "1");

    if (format->reading_order == 2)
        LXW_PUSH_ATTRIBUTES_STR("readingOrder", "2");

    if (!STAILQ_EMPTY(&attributes))
        lxw_xml_empty_tag(self->file, "alignment", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x10(%rbp), %rax
movw 0x1e2(%rax), %ax
movw %ax, -0x2a(%rbp)
movq $0x0, -0x20(%rbp)
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movzbl 0x228(%rax), %eax
cmpl $0x0, %eax
je 0x3533a
movq -0x10(%rbp), %rax
movzbl 0x1dd(%rax), %eax
cmpl $0x1, %eax
je 0x3533a
movq -0x10(%rbp), %rax
movzbl 0x1dd(%rax), %eax
cmpl $0x3, %eax
je 0x3533a
movq -0x10(%rbp), %rax
movzbl 0x1dd(%rax), %eax
cmpl $0x7, %eax
je 0x3533a
movq -0x10(%rbp), %rax
movb $0x1, 0x1dd(%rax)
movq -0x10(%rbp), %rax
cmpb $0x0, 0x1de(%rax)
je 0x35352
movq -0x10(%rbp), %rax
movb $0x0, 0x229(%rax)
movq -0x10(%rbp), %rax
movzbl 0x1dd(%rax), %eax
cmpl $0x4, %eax
jne 0x3536d
movq -0x10(%rbp), %rax
movb $0x0, 0x229(%rax)
movq -0x10(%rbp), %rax
movzbl 0x1dd(%rax), %eax
cmpl $0x5, %eax
jne 0x35388
movq -0x10(%rbp), %rax
movb $0x0, 0x229(%rax)
movq -0x10(%rbp), %rax
movzbl 0x1dd(%rax), %eax
cmpl $0x7, %eax
jne 0x353a3
movq -0x10(%rbp), %rax
movb $0x0, 0x229(%rax)
movq -0x10(%rbp), %rax
movzbl 0x1dd(%rax), %eax
cmpl $0x7, %eax
je 0x353be
movq -0x10(%rbp), %rax
movb $0x0, 0x22c(%rax)
movq -0x10(%rbp), %rax
cmpb $0x0, 0x228(%rax)
je 0x353d6
movq -0x10(%rbp), %rax
movb $0x0, 0x22c(%rax)
movq -0x10(%rbp), %rax
movzbl 0x1dd(%rax), %eax
cmpl $0x1, %eax
jne 0x3542b
jmp 0x353e8
leaq 0x34190(%rip), %rdi     # 0x6957f
leaq 0x35f97(%rip), %rsi     # 0x6b38d
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x35429
jmp 0x3542b
movq -0x10(%rbp), %rax
movzbl 0x1dd(%rax), %eax
cmpl $0x2, %eax
jne 0x35480
jmp 0x3543d
leaq 0x3413b(%rip), %rdi     # 0x6957f
leaq 0x35ddf(%rip), %rsi     # 0x6b22a
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x3547e
jmp 0x35480
movq -0x10(%rbp), %rax
movzbl 0x1dd(%rax), %eax
cmpl $0x3, %eax
jne 0x354d5
jmp 0x35492
leaq 0x340e6(%rip), %rdi     # 0x6957f
leaq 0x340c5(%rip), %rsi     # 0x69565
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x354d3
jmp 0x354d5
movq -0x10(%rbp), %rax
movzbl 0x1dd(%rax), %eax
cmpl $0x4, %eax
jne 0x3552a
jmp 0x354e7
leaq 0x34091(%rip), %rdi     # 0x6957f
leaq 0x35ced(%rip), %rsi     # 0x6b1e2
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x35528
jmp 0x3552a
movq -0x10(%rbp), %rax
movzbl 0x1dd(%rax), %eax
cmpl $0x5, %eax
jne 0x3557f
jmp 0x3553c
leaq 0x3403c(%rip), %rdi     # 0x6957f
leaq 0x3414c(%rip), %rsi     # 0x69696
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x3557d
jmp 0x3557f
movq -0x10(%rbp), %rax
movzbl 0x1dd(%rax), %eax
cmpl $0x6, %eax
jne 0x355d4
jmp 0x35591
leaq 0x33fe7(%rip), %rdi     # 0x6957f
leaq 0x340ff(%rip), %rsi     # 0x6969e
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x355d2
jmp 0x355d4
movq -0x10(%rbp), %rax
movzbl 0x1dd(%rax), %eax
cmpl $0x7, %eax
jne 0x35629
jmp 0x355e6
leaq 0x33f92(%rip), %rdi     # 0x6957f
leaq 0x340bb(%rip), %rsi     # 0x696af
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x35627
jmp 0x35629
movq -0x10(%rbp), %rax
cmpb $0x0, 0x22c(%rax)
je 0x3567b
jmp 0x35638
leaq 0x3407c(%rip), %rdi     # 0x696bb
leaq 0x35e2a(%rip), %rsi     # 0x6b470
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x35679
jmp 0x3567b
movq -0x10(%rbp), %rax
movzbl 0x1df(%rax), %eax
cmpl $0x8, %eax
jne 0x356d0
jmp 0x3568d
leaq 0x33ee2(%rip), %rdi     # 0x69576
leaq 0x33ed0(%rip), %rsi     # 0x6956b
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x356ce
jmp 0x356d0
movq -0x10(%rbp), %rax
movzbl 0x1df(%rax), %eax
cmpl $0xa, %eax
jne 0x35725
jmp 0x356e2
leaq 0x33e8d(%rip), %rdi     # 0x69576
leaq 0x35b3a(%rip), %rsi     # 0x6b22a
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x35723
jmp 0x35725
movq -0x10(%rbp), %rax
movzbl 0x1df(%rax), %eax
cmpl $0xb, %eax
jne 0x3577a
jmp 0x35737
leaq 0x33e38(%rip), %rdi     # 0x69576
leaq 0x33f51(%rip), %rsi     # 0x69696
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x35778
jmp 0x3577a
movq -0x10(%rbp), %rax
movzbl 0x1df(%rax), %eax
cmpl $0xc, %eax
jne 0x357cf
jmp 0x3578c
leaq 0x33de3(%rip), %rdi     # 0x69576
leaq 0x33f15(%rip), %rsi     # 0x696af
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x357cd
jmp 0x357cf
movq -0x10(%rbp), %rax
cmpb $0x0, 0x228(%rax)
je 0x35827
jmp 0x357de
movq -0x10(%rbp), %rax
movzbl 0x228(%rax), %eax
movl %eax, %esi
leaq 0x33ed9(%rip), %rdi     # 0x696cb
callq 0xc1b0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x35825
jmp 0x35827
cmpw $0x0, -0x2a(%rbp)
je 0x3589e
movswl -0x2a(%rbp), %eax
cmpl $0x10e, %eax            # imm = 0x10E
jne 0x35841
movw $0xff, -0x2a(%rbp)
jmp 0x3585b
movswl -0x2a(%rbp), %eax
cmpl $0x0, %eax
jge 0x35859
movswl -0x2a(%rbp), %ecx
xorl %eax, %eax
subl %ecx, %eax
addl $0x5a, %eax
movw %ax, -0x2a(%rbp)
jmp 0x3585b
jmp 0x3585d
movswq -0x2a(%rbp), %rsi
leaq 0x33e69(%rip), %rdi     # 0x696d2
callq 0xc1b0
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x3589c
jmp 0x3589e
movq -0x10(%rbp), %rax
cmpb $0x0, 0x1de(%rax)
je 0x358f0
jmp 0x358ad
leaq 0x33e2b(%rip), %rdi     # 0x696df
leaq 0x35bb5(%rip), %rsi     # 0x6b470
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x358ee
jmp 0x358f0
movq -0x10(%rbp), %rax
cmpb $0x0, 0x229(%rax)
je 0x35942
jmp 0x358ff
leaq 0x33de2(%rip), %rdi     # 0x696e8
leaq 0x35b63(%rip), %rsi     # 0x6b470
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x35940
jmp 0x35942
movq -0x10(%rbp), %rax
movzbl 0x22b(%rax), %eax
cmpl $0x1, %eax
jne 0x35997
jmp 0x35954
leaq 0x33d99(%rip), %rdi     # 0x696f4
leaq 0x35b0e(%rip), %rsi     # 0x6b470
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x35995
jmp 0x35997
movq -0x10(%rbp), %rax
movzbl 0x22b(%rax), %eax
cmpl $0x2, %eax
jne 0x359ec
jmp 0x359a9
leaq 0x33d44(%rip), %rdi     # 0x696f4
leaq 0x35a7b(%rip), %rsi     # 0x6b432
callq 0xc030
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x28(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x18(%rbp)
jmp 0x359ea
jmp 0x359ec
cmpq $0x0, -0x20(%rbp)
je 0x35a0a
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x33c66(%rip), %rsi     # 0x69667
leaq -0x20(%rbp), %rdx
callq 0xcca0
jmp 0x35a0c
jmp 0x35a0e
cmpq $0x0, -0x20(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x35a1e
jmp 0x35a50
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
jne 0x35a43
leaq -0x20(%rbp), %rax
movq %rax, -0x18(%rbp)
jmp 0x35a45
movq -0x28(%rbp), %rdi
callq 0xc0d0
jmp 0x35a0e
jmp 0x35a52
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax,%rax)