// File: /workspace/github_c_makefile_star2_O0/neovim[P]libvterm/src/pen.c
// Function: vterm_state_get_penattr
int vterm_state_get_penattr(const VTermState *state, VTermAttr attr, VTermValue *val)
{
  switch(attr) {
  case VTERM_ATTR_BOLD:
    val->boolean = state->pen.bold;
    return 1;

  case VTERM_ATTR_UNDERLINE:
    val->number = state->pen.underline;
    return 1;

  case VTERM_ATTR_ITALIC:
    val->boolean = state->pen.italic;
    return 1;

  case VTERM_ATTR_BLINK:
    val->boolean = state->pen.blink;
    return 1;

  case VTERM_ATTR_REVERSE:
    val->boolean = state->pen.reverse;
    return 1;

  case VTERM_ATTR_CONCEAL:
    val->boolean = state->pen.conceal;
    return 1;

  case VTERM_ATTR_STRIKE:
    val->boolean = state->pen.strike;
    return 1;

  case VTERM_ATTR_FONT:
    val->number = state->pen.font;
    return 1;

  case VTERM_ATTR_FOREGROUND:
    val->color = state->pen.fg;
    return 1;

  case VTERM_ATTR_BACKGROUND:
    val->color = state->pen.bg;
    return 1;

  case VTERM_ATTR_SMALL:
    val->boolean = state->pen.small;
    return 1;

  case VTERM_ATTR_BASELINE:
    val->number = state->pen.baseline;
    return 1;

  case VTERM_N_ATTRS:
    return 0;
  }

  return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movq %rdx, -0x20(%rbp)
movl -0x14(%rbp), %eax
decl %eax
movl %eax, %ecx
movq %rcx, -0x28(%rbp)
subl $0xc, %eax
ja 0x61e7
movq -0x28(%rbp), %rax
leaq 0xd292(%rip), %rcx      # 0x132b0
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rax
movw 0x13c(%rax), %ax
andw $0x1, %ax
movzwl %ax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movl $0x1, -0x4(%rbp)
jmp 0x61ee
movq -0x10(%rbp), %rax
movw 0x13c(%rax), %ax
shrw %ax
andw $0x3, %ax
movzwl %ax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movl $0x1, -0x4(%rbp)
jmp 0x61ee
movq -0x10(%rbp), %rax
movw 0x13c(%rax), %ax
shrw $0x3, %ax
andw $0x1, %ax
movzwl %ax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movl $0x1, -0x4(%rbp)
jmp 0x61ee
movq -0x10(%rbp), %rax
movw 0x13c(%rax), %ax
shrw $0x4, %ax
andw $0x1, %ax
movzwl %ax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movl $0x1, -0x4(%rbp)
jmp 0x61ee
movq -0x10(%rbp), %rax
movw 0x13c(%rax), %ax
shrw $0x5, %ax
andw $0x1, %ax
movzwl %ax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movl $0x1, -0x4(%rbp)
jmp 0x61ee
movq -0x10(%rbp), %rax
movw 0x13c(%rax), %ax
shrw $0x6, %ax
andw $0x1, %ax
movzwl %ax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movl $0x1, -0x4(%rbp)
jmp 0x61ee
movq -0x10(%rbp), %rax
movw 0x13c(%rax), %ax
shrw $0x7, %ax
andw $0x1, %ax
movzwl %ax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movl $0x1, -0x4(%rbp)
jmp 0x61ee
movq -0x10(%rbp), %rax
movw 0x13c(%rax), %ax
shrw $0x8, %ax
andw $0xf, %ax
movzwl %ax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movl $0x1, -0x4(%rbp)
jmp 0x61ee
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
movl 0x134(%rcx), %ecx
movl %ecx, (%rax)
movl $0x1, -0x4(%rbp)
jmp 0x61ee
movq -0x20(%rbp), %rax
movq -0x10(%rbp), %rcx
movl 0x138(%rcx), %ecx
movl %ecx, (%rax)
movl $0x1, -0x4(%rbp)
jmp 0x61ee
movq -0x10(%rbp), %rax
movw 0x13c(%rax), %ax
shrw $0xc, %ax
andw $0x1, %ax
movzwl %ax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movl $0x1, -0x4(%rbp)
jmp 0x61ee
movq -0x10(%rbp), %rax
movw 0x13c(%rax), %ax
shrw $0xd, %ax
andw $0x3, %ax
movzwl %ax, %ecx
movq -0x20(%rbp), %rax
movl %ecx, (%rax)
movl $0x1, -0x4(%rbp)
jmp 0x61ee
movl $0x0, -0x4(%rbp)
jmp 0x61ee
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopw %cs:(%rax,%rax)