// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/chart.c
// Function: chart_write_cat_val_axis
STATIC void
_chart_write_cat_val_axis(lxw_chart *self)
{
    lxw_xml_start_tag(self->file, "c:valAx", NULL);

    _chart_write_axis_id(self, self->axis_id_1);

    /* Write the c:scaling element. */
    _chart_write_scaling(self,
                         self->x_axis->reverse,
                         self->x_axis->has_min, self->x_axis->min,
                         self->x_axis->has_max, self->x_axis->max,
                         self->x_axis->log_base);

    /* Write the c:delete element to hide axis. */
    if (self->x_axis->hidden)
        _chart_write_delete(self);

    /* Write the c:axPos element. */
    _chart_write_axis_pos(self, self->x_axis->axis_position,
                          self->y_axis->reverse);

    /* Write the c:majorGridlines element. */
    _chart_write_major_gridlines(self, self->x_axis);

    /* Write the c:minorGridlines element. */
    _chart_write_minor_gridlines(self, self->x_axis);

    /* Write the axis title elements. */
    self->x_axis->title.is_horizontal = self->has_horiz_val_axis;
    _chart_write_title(self, &self->x_axis->title);

    /* Write the c:numFmt element. */
    _chart_write_number_format(self, self->x_axis);

    /* Write the c:majorTickMark element. */
    _chart_write_major_tick_mark(self, self->x_axis);

    /* Write the c:minorTickMark element. */
    _chart_write_minor_tick_mark(self, self->x_axis);

    /* Write the c:tickLblPos element. */
    _chart_write_tick_label_pos(self, self->x_axis);

    /* Write the c:spPr element for the axis line. */
    _chart_write_sp_pr(self, self->x_axis->line, self->x_axis->fill,
                       self->x_axis->pattern);

    /* Write the axis font elements. */
    _chart_write_axis_font(self, self->x_axis->num_font);

    /* Write the c:crossAx element. */
    _chart_write_cross_axis(self, self->axis_id_2);

    /* Write the c:crosses element. */
    if (!self->y_axis->has_crossing || self->y_axis->crossing_min
        || self->y_axis->crossing_max)
        _chart_write_crosses(self, self->y_axis);
    else
        _chart_write_crosses_at(self, self->y_axis);

    /* Write the c:crossBetween element. */
    _chart_write_cross_between(self, self->y_axis->position_axis);

    /* Write the c:majorUnit element. */
    _chart_write_major_unit(self, self->x_axis);

    /* Write the c:minorUnit element. */
    _chart_write_minor_unit(self, self->x_axis);

    /* Write the c:dispUnits element. */
    _chart_write_disp_units(self, self->x_axis);

    lxw_xml_end_tag(self->file, "c:valAx");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x46248(%rip), %rsi     # 0x67402
xorl %eax, %eax
movl %eax, %edx
callq 0xc390
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x84(%rax), %esi
callq 0x1d420
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movb 0xb0(%rax), %sil
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movb 0xb1(%rax), %dl
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movsd 0xb8(%rax), %xmm0
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movb 0xc0(%rax), %cl
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movsd 0xc8(%rax), %xmm1
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movzbl %sil, %esi
movzbl %dl, %edx
movzbl %cl, %ecx
movzwl 0xf4(%rax), %r8d
callq 0x1db40
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
cmpb $0x0, 0xaf(%rax)
je 0x2125e
movq -0x8(%rbp), %rdi
callq 0x1ab00
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movb 0xab(%rax), %cl
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movzbl %cl, %esi
movzbl 0xb0(%rax), %edx
callq 0x1dbe0
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x1ddc0
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x1de50
movq -0x8(%rbp), %rax
movb 0x99(%rax), %cl
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movb %cl, 0x19(%rax)
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x1dee0
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x1f420
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x1e0b0
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x1e290
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x1e470
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x90(%rax), %rsi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x98(%rax), %rdx
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq 0xa0(%rax), %rcx
callq 0x15030
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x88(%rax), %rsi
callq 0x1e650
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movl 0x88(%rax), %esi
callq 0x1e700
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
cmpb $0x0, 0xf8(%rax)
je 0x213ad
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movzbl 0xf9(%rax), %eax
cmpl $0x0, %eax
jne 0x213ad
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movzbl 0xfa(%rax), %eax
cmpl $0x0, %eax
je 0x213c0
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rsi
callq 0x1e7d0
jmp 0x213d1
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rsi
callq 0x1e950
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x28(%rax), %rax
movzbl 0xac(%rax), %esi
callq 0x1f580
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x1f6b0
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x1f790
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rsi
callq 0x1f870
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0x45fd8(%rip), %rsi     # 0x67402
callq 0xc060
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)