// File: /workspace/github_c_makefile_star2_O0/moefh[P]hed/src/screen.c
// Function: hed_scr_box_draw
void hed_scr_box_draw(const char *str)
{
  if (screen->utf8_box_draw) {
    for (const char *p = str; *p != '\0'; p++) {
      switch (*p) {
      case '|': hed_scr_out("\u2502"); break;
      case '-': hed_scr_out("\u2500"); break;
      case '7': hed_scr_out("\u250c"); break;
      case '9': hed_scr_out("\u2510"); break;
      case '1': hed_scr_out("\u2514"); break;
      case '3': hed_scr_out("\u2518"); break;
      default: hed_scr_out("%c", *p); break;
      }
    }
  } else if (screen->vt100_box_draw) {
    hed_scr_out("\x1b(0");
    for (const char *p = str; *p != '\0'; p++) {
      switch (*p) {
      case '|': hed_scr_out("\x78"); break;
      case '-': hed_scr_out("\x71"); break;
      case '7': hed_scr_out("\x6c"); break;
      case '9': hed_scr_out("\x6b"); break;
      case '1': hed_scr_out("\x6d"); break;
      case '3': hed_scr_out("\x6a"); break;
      default: hed_scr_out("%c", *p); break;
      }
    }
    hed_scr_out("\x1b(B");
  } else {
    for (const char *p = str; *p != '\0'; p++) {
      switch (*p) {
      case '7': hed_scr_out("+"); break;
      case '9': hed_scr_out("+"); break;
      case '1': hed_scr_out("+"); break;
      case '3': hed_scr_out("+"); break;
      default: hed_scr_out("%c", *p); break;
      }
    }
  }
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movq 0xa950(%rip), %rax      # 0xe2f0
testb $0x1, 0xe(%rax)
je 0x3a9f
movq 0x30(%rsp), %rax
movq %rax, 0x28(%rsp)
movq 0x28(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x3a9a
movq 0x28(%rsp), %rax
movsbl (%rax), %eax
movl %eax, 0x14(%rsp)
subl $0x2d, %eax
je 0x3a1f
jmp 0x39d8
movl 0x14(%rsp), %eax
subl $0x31, %eax
je 0x3a4f
jmp 0x39e3
movl 0x14(%rsp), %eax
subl $0x33, %eax
je 0x3a5f
jmp 0x39ee
movl 0x14(%rsp), %eax
subl $0x37, %eax
je 0x3a2f
jmp 0x39f9
movl 0x14(%rsp), %eax
subl $0x39, %eax
je 0x3a3f
jmp 0x3a04
movl 0x14(%rsp), %eax
subl $0x7c, %eax
jne 0x3a6f
jmp 0x3a0f
leaq 0x78f2(%rip), %rdi      # 0xb308
movb $0x0, %al
callq 0x3850
jmp 0x3a85
leaq 0x78e6(%rip), %rdi      # 0xb30c
movb $0x0, %al
callq 0x3850
jmp 0x3a85
leaq 0x78da(%rip), %rdi      # 0xb310
movb $0x0, %al
callq 0x3850
jmp 0x3a85
leaq 0x78ce(%rip), %rdi      # 0xb314
movb $0x0, %al
callq 0x3850
jmp 0x3a85
leaq 0x78c2(%rip), %rdi      # 0xb318
movb $0x0, %al
callq 0x3850
jmp 0x3a85
leaq 0x78b6(%rip), %rdi      # 0xb31c
movb $0x0, %al
callq 0x3850
jmp 0x3a85
movq 0x28(%rsp), %rax
movsbl (%rax), %esi
leaq 0x78a2(%rip), %rdi      # 0xb320
movb $0x0, %al
callq 0x3850
jmp 0x3a87
movq 0x28(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x28(%rsp)
jmp 0x39b4
jmp 0x3c77
movq 0xa84a(%rip), %rax      # 0xe2f0
testb $0x1, 0xf(%rax)
je 0x3bc1
leaq 0x786c(%rip), %rdi      # 0xb323
movb $0x0, %al
callq 0x3850
movq 0x30(%rsp), %rax
movq %rax, 0x20(%rsp)
movq 0x20(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x3bae
movq 0x20(%rsp), %rax
movsbl (%rax), %eax
movl %eax, 0x10(%rsp)
subl $0x2d, %eax
je 0x3b33
jmp 0x3aec
movl 0x10(%rsp), %eax
subl $0x31, %eax
je 0x3b63
jmp 0x3af7
movl 0x10(%rsp), %eax
subl $0x33, %eax
je 0x3b73
jmp 0x3b02
movl 0x10(%rsp), %eax
subl $0x37, %eax
je 0x3b43
jmp 0x3b0d
movl 0x10(%rsp), %eax
subl $0x39, %eax
je 0x3b53
jmp 0x3b18
movl 0x10(%rsp), %eax
subl $0x7c, %eax
jne 0x3b83
jmp 0x3b23
leaq 0x77fd(%rip), %rdi      # 0xb327
movb $0x0, %al
callq 0x3850
jmp 0x3b99
leaq 0x77ef(%rip), %rdi      # 0xb329
movb $0x0, %al
callq 0x3850
jmp 0x3b99
leaq 0x7823(%rip), %rdi      # 0xb36d
movb $0x0, %al
callq 0x3850
jmp 0x3b99
leaq 0x810f(%rip), %rdi      # 0xbc69
movb $0x0, %al
callq 0x3850
jmp 0x3b99
leaq 0x77e8(%rip), %rdi      # 0xb352
movb $0x0, %al
callq 0x3850
jmp 0x3b99
leaq 0x77b1(%rip), %rdi      # 0xb32b
movb $0x0, %al
callq 0x3850
jmp 0x3b99
movq 0x20(%rsp), %rax
movsbl (%rax), %esi
leaq 0x778e(%rip), %rdi      # 0xb320
movb $0x0, %al
callq 0x3850
jmp 0x3b9b
movq 0x20(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x20(%rsp)
jmp 0x3ac8
leaq 0x7778(%rip), %rdi      # 0xb32d
movb $0x0, %al
callq 0x3850
jmp 0x3c75
movq 0x30(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x3c73
movq 0x18(%rsp), %rax
movsbl (%rax), %eax
addl $-0x31, %eax
movl %eax, %ecx
movq %rcx, 0x8(%rsp)
subl $0x8, %eax
ja 0x3c48
movq 0x8(%rsp), %rax
leaq 0x76e5(%rip), %rcx      # 0xb2e4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x7722(%rip), %rdi      # 0xb331
movb $0x0, %al
callq 0x3850
jmp 0x3c5e
leaq 0x7712(%rip), %rdi      # 0xb331
movb $0x0, %al
callq 0x3850
jmp 0x3c5e
leaq 0x7702(%rip), %rdi      # 0xb331
movb $0x0, %al
callq 0x3850
jmp 0x3c5e
leaq 0x76f2(%rip), %rdi      # 0xb331
movb $0x0, %al
callq 0x3850
jmp 0x3c5e
movq 0x18(%rsp), %rax
movsbl (%rax), %esi
leaq 0x76c9(%rip), %rdi      # 0xb320
movb $0x0, %al
callq 0x3850
jmp 0x3c60
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0x3bcb
jmp 0x3c75
jmp 0x3c77
addq $0x38, %rsp
retq
nopl (%rax)