// File: /workspace/github_c_makefile_star2_O2/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:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movq %rdi, %rbx
movq 0x84b0(%rip), %rax      # 0xb2f0
cmpb $0x1, 0xe(%rax)
jne 0x2ed7
leaq 0x4527(%rip), %r12      # 0x7378
leaq 0x44e4(%rip), %r13      # 0x733c
leaq 0x4515(%rip), %rbp      # 0x7374
leaq 0x4502(%rip), %r14      # 0x7368
leaq 0x44ff(%rip), %r15      # 0x736c
movzbl (%rbx), %eax
leal -0x31(%rax), %ecx
cmpl $0x8, %ecx
ja 0x2e8b
movslq (%r13,%rcx,4), %rcx
addq %r13, %rcx
jmpq *%rcx
leaq 0x44e7(%rip), %rdi      # 0x7370
jmp 0x2ecb
cmpl $0x2d, %eax
je 0x2ebb
cmpl $0x7c, %eax
je 0x2ec4
testl %eax, %eax
je 0x2fc7
movsbl %al, %esi
movq %r12, %rdi
xorl %eax, %eax
callq 0x2d2c
jmp 0x2ed2
movq %r14, %rdi
jmp 0x2ecb
movq %rbp, %rdi
jmp 0x2ecb
movq %r15, %rdi
jmp 0x2ecb
leaq 0x44a2(%rip), %rdi      # 0x7364
jmp 0x2ecb
leaq 0x4495(%rip), %rdi      # 0x7360
xorl %eax, %eax
callq 0x2d2c
incq %rbx
jmp 0x2e6d
cmpb $0x0, 0xf(%rax)
je 0x2f7c
leaq 0x4493(%rip), %rdi      # 0x737b
xorl %eax, %eax
callq 0x2d2c
leaq 0x4482(%rip), %r12      # 0x7378
leaq 0x441b(%rip), %r13      # 0x7318
leaq 0x447f(%rip), %rbp      # 0x7383
leaq 0x44ba(%rip), %r14      # 0x73c5
leaq 0x4f9a(%rip), %r15      # 0x7eac
movzbl (%rbx), %eax
leal -0x31(%rax), %ecx
cmpl $0x8, %ecx
ja 0x2f30
movslq (%r13,%rcx,4), %rcx
addq %r13, %rcx
jmpq *%rcx
leaq 0x447c(%rip), %rdi      # 0x73aa
jmp 0x2f70
cmpl $0x2d, %eax
je 0x2f60
cmpl $0x7c, %eax
je 0x2f69
testl %eax, %eax
je 0x2fd6
movsbl %al, %esi
movq %r12, %rdi
xorl %eax, %eax
callq 0x2d2c
jmp 0x2f77
movq %r14, %rdi
jmp 0x2f70
movq %rbp, %rdi
jmp 0x2f70
movq %r15, %rdi
jmp 0x2f70
leaq 0x441a(%rip), %rdi      # 0x7381
jmp 0x2f70
leaq 0x440f(%rip), %rdi      # 0x737f
xorl %eax, %eax
callq 0x2d2c
incq %rbx
jmp 0x2f12
leaq 0x43f5(%rip), %r14      # 0x7378
leaq 0x436a(%rip), %r12      # 0x72f4
leaq 0x43f8(%rip), %r15      # 0x7389
movzbl (%rbx), %eax
leal -0x31(%rax), %ecx
cmpl $0x8, %ecx
ja 0x2fb1
movslq (%r12,%rcx,4), %rcx
addq %r12, %rcx
jmpq *%rcx
movq %r15, %rdi
xorl %eax, %eax
callq 0x2d2c
jmp 0x2fc2
testl %eax, %eax
je 0x2fc7
movsbl %al, %esi
movq %r14, %rdi
xorl %eax, %eax
callq 0x2d2c
incq %rbx
jmp 0x2f91
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x43a8(%rip), %rdi      # 0x7385
xorl %eax, %eax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2d2c