// File: /workspace/github_c_makefile_star2_O3/neovim[P]libvterm/src/pen.c
// Function: vterm_state_resetpen
INTERNAL void vterm_state_resetpen(VTermState *state)
{
  state->pen.bold = 0;      setpenattr_bool(state, VTERM_ATTR_BOLD, 0);
  state->pen.underline = 0; setpenattr_int (state, VTERM_ATTR_UNDERLINE, 0);
  state->pen.italic = 0;    setpenattr_bool(state, VTERM_ATTR_ITALIC, 0);
  state->pen.blink = 0;     setpenattr_bool(state, VTERM_ATTR_BLINK, 0);
  state->pen.reverse = 0;   setpenattr_bool(state, VTERM_ATTR_REVERSE, 0);
  state->pen.conceal = 0;   setpenattr_bool(state, VTERM_ATTR_CONCEAL, 0);
  state->pen.strike = 0;    setpenattr_bool(state, VTERM_ATTR_STRIKE, 0);
  state->pen.font = 0;      setpenattr_int (state, VTERM_ATTR_FONT, 0);
  state->pen.small = 0;     setpenattr_bool(state, VTERM_ATTR_SMALL, 0);
  state->pen.baseline = 0;  setpenattr_int (state, VTERM_ATTR_BASELINE, 0);

  state->pen.fg = state->default_fg;  setpenattr_col(state, VTERM_ATTR_FOREGROUND, state->default_fg);
  state->pen.bg = state->default_bg;  setpenattr_col(state, VTERM_ATTR_BACKGROUND, state->default_bg);
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
movzwl 0x13c(%rdi), %eax
movl %eax, %ecx
andl $-0x2, %ecx
movw %cx, 0x13c(%rdi)
movl $0x0, 0x8(%rsp)
movq 0x8(%rdi), %rcx
testq %rcx, %rcx
je 0x3591
movq 0x30(%rcx), %r8
testq %r8, %r8
je 0x3598
movq 0x10(%rbx), %rdx
leaq 0x8(%rsp), %r14
movl $0x1, %edi
movq %r14, %rsi
callq *%r8
movq 0x8(%rbx), %rcx
movzwl 0x13c(%rbx), %eax
andl $-0x7, %eax
movw %ax, 0x13c(%rbx)
movl $0x0, (%r14)
testq %rcx, %rcx
jne 0x35ac
jmp 0x35f2
andl $0xfff8, %eax           # imm = 0xFFF8
jmp 0x35f2
andl $0xfff8, %eax           # imm = 0xFFF8
movw %ax, 0x13c(%rbx)
movl $0x0, 0x8(%rsp)
movq 0x30(%rcx), %r8
testq %r8, %r8
je 0x3643
movq 0x10(%rbx), %rdx
leaq 0x8(%rsp), %r14
movl $0x2, %edi
movq %r14, %rsi
callq *%r8
movzwl 0x13c(%rbx), %edx
movq 0x8(%rbx), %rcx
movl %edx, %eax
andl $-0x9, %eax
movw %ax, 0x13c(%rbx)
movl $0x0, (%r14)
testq %rcx, %rcx
jne 0x3657
movl %edx, %eax
andl $0xffe7, %eax           # imm = 0xFFE7
movw %ax, 0x13c(%rbx)
andl $0xff9f, %eax           # imm = 0xFF9F
movl %eax, %ecx
andl $0xff3f, %ecx           # imm = 0xFF3F
movw %cx, 0x13c(%rbx)
andl $0xf07f, %eax           # imm = 0xF07F
andl $0x8fff, %eax           # imm = 0x8FFF
movw %ax, 0x13c(%rbx)
movl 0x140(%rbx), %eax
movl %eax, 0x134(%rbx)
movl 0x144(%rbx), %eax
movl %eax, 0x138(%rbx)
addq $0x18, %rsp
popq %rbx
popq %r14
retq
andl $0xfff1, %eax           # imm = 0xFFF1
movw %ax, 0x13c(%rbx)
movl $0x0, 0x8(%rsp)
movq 0x30(%rcx), %r8
testq %r8, %r8
je 0x369a
movq 0x10(%rbx), %rdx
leaq 0x8(%rsp), %r14
movl $0x3, %edi
movq %r14, %rsi
callq *%r8
movq 0x8(%rbx), %rcx
movzwl 0x13c(%rbx), %eax
andl $-0x11, %eax
movw %ax, 0x13c(%rbx)
movl $0x0, (%r14)
testq %rcx, %rcx
jne 0x36ae
jmp 0x35fe
andl $0xffe7, %eax           # imm = 0xFFE7
movw %ax, 0x13c(%rbx)
movl $0x0, 0x8(%rsp)
movq 0x30(%rcx), %r8
testq %r8, %r8
je 0x36f5
movq 0x10(%rbx), %rdx
leaq 0x8(%rsp), %r14
movl $0x4, %edi
movq %r14, %rsi
callq *%r8
movzwl 0x13c(%rbx), %edx
movq 0x8(%rbx), %rcx
movl %edx, %eax
andl $-0x21, %eax
movw %ax, 0x13c(%rbx)
movl $0x0, (%r14)
testq %rcx, %rcx
jne 0x3709
movl %edx, %eax
jmp 0x35fe
andl $0xffcf, %eax           # imm = 0xFFCF
movw %ax, 0x13c(%rbx)
movl $0x0, 0x8(%rsp)
movq 0x30(%rcx), %r8
testq %r8, %r8
je 0x374c
movq 0x10(%rbx), %rdx
leaq 0x8(%rsp), %r14
movl $0x5, %edi
movq %r14, %rsi
callq *%r8
movq 0x8(%rbx), %rcx
movzwl 0x13c(%rbx), %eax
andl $-0x41, %eax
movw %ax, 0x13c(%rbx)
movl $0x0, (%r14)
testq %rcx, %rcx
jne 0x3760
jmp 0x3603
andl $0xff9f, %eax           # imm = 0xFF9F
movw %ax, 0x13c(%rbx)
movl $0x0, 0x8(%rsp)
movq 0x30(%rcx), %r8
testq %r8, %r8
je 0x37a9
movq 0x10(%rbx), %rdx
leaq 0x8(%rsp), %r14
movl $0x6, %edi
movq %r14, %rsi
callq *%r8
movzwl 0x13c(%rbx), %edx
movq 0x8(%rbx), %rcx
movl %edx, %eax
andl $0xff7f, %eax           # imm = 0xFF7F
movw %ax, 0x13c(%rbx)
movl $0x0, (%r14)
testq %rcx, %rcx
jne 0x37bd
movl %edx, %eax
jmp 0x3612
andl $0xff3f, %eax           # imm = 0xFF3F
movw %ax, 0x13c(%rbx)
movl $0x0, 0x8(%rsp)
movq 0x30(%rcx), %r8
testq %r8, %r8
je 0x3802
movq 0x10(%rbx), %rdx
leaq 0x8(%rsp), %r14
movl $0x7, %edi
movq %r14, %rsi
callq *%r8
movq 0x8(%rbx), %rcx
movzwl 0x13c(%rbx), %eax
andl $0xf0ff, %eax           # imm = 0xF0FF
movw %ax, 0x13c(%rbx)
movl $0x0, (%r14)
testq %rcx, %rcx
jne 0x3816
jmp 0x3617
andl $0xf07f, %eax           # imm = 0xF07F
movw %ax, 0x13c(%rbx)
movl $0x0, 0x8(%rsp)
movq 0x30(%rcx), %r8
testq %r8, %r8
je 0x385f
movq 0x10(%rbx), %rdx
leaq 0x8(%rsp), %r14
movl $0x8, %edi
movq %r14, %rsi
callq *%r8
movzwl 0x13c(%rbx), %edx
movq 0x8(%rbx), %rcx
movl %edx, %eax
andl $0xefff, %eax           # imm = 0xEFFF
movw %ax, 0x13c(%rbx)
movl $0x0, (%r14)
testq %rcx, %rcx
jne 0x3873
movl %edx, %eax
jmp 0x3617
andl $0xe0ff, %eax           # imm = 0xE0FF
movw %ax, 0x13c(%rbx)
movl $0x0, 0x8(%rsp)
movq 0x30(%rcx), %r8
testq %r8, %r8
je 0x38b7
movq 0x10(%rbx), %rdx
leaq 0x8(%rsp), %r14
movl $0xb, %edi
movq %r14, %rsi
callq *%r8
movw $0x9fff, %ax            # imm = 0x9FFF
andw 0x13c(%rbx), %ax
movq 0x8(%rbx), %rcx
movw %ax, 0x13c(%rbx)
movl $0x0, (%r14)
testq %rcx, %rcx
jne 0x38cb
jmp 0x3623
andl $0x8fff, %eax           # imm = 0x8FFF
movw %ax, 0x13c(%rbx)
movl $0x0, 0x8(%rsp)
movq 0x30(%rcx), %rax
testq %rax, %rax
je 0x3904
movq 0x10(%rbx), %rdx
leaq 0x8(%rsp), %r14
movl $0xc, %edi
movq %r14, %rsi
callq *%rax
movq 0x8(%rbx), %rcx
movl 0x140(%rbx), %eax
movl %eax, 0x134(%rbx)
movl %eax, (%r14)
testq %rcx, %rcx
jne 0x3914
jmp 0x362f
movl 0x140(%rbx), %eax
movl %eax, 0x134(%rbx)
movl %eax, 0x8(%rsp)
movq 0x30(%rcx), %rax
testq %rax, %rax
je 0x394d
movq 0x10(%rbx), %rdx
leaq 0x8(%rsp), %r14
movl $0x9, %edi
movq %r14, %rsi
callq *%rax
movq 0x8(%rbx), %rcx
movl 0x144(%rbx), %eax
movl %eax, 0x138(%rbx)
movl %eax, (%r14)
testq %rcx, %rcx
jne 0x395d
jmp 0x363b
movl 0x144(%rbx), %eax
movl %eax, 0x138(%rbx)
movl %eax, 0x8(%rsp)
movq 0x30(%rcx), %rax
testq %rax, %rax
je 0x363b
movq 0x10(%rbx), %rdx
leaq 0x8(%rsp), %rsi
movl $0xa, %edi
callq *%rax
jmp 0x363b