// File: /workspace/github_c_makefile_star2_O0/justy989[P]ce/main.c
// Function: build_yank_list
static void build_yank_list(CeBuffer_t* buffer, CeVimYank_t* yanks){
     char line[256];
     ce_buffer_empty(buffer);
     for(int64_t i = 0; i < CE_ASCII_PRINTABLE_CHARACTERS; i++){
          CeVimYank_t* yank = yanks + i;
          if(yank->text == NULL) continue;
          char reg = i + ' ';
          const char* yank_type = "string";
          switch(yank->type){
          default:
               break;
          case CE_VIM_YANK_TYPE_LINE:
               yank_type = "line";
               break;
          case CE_VIM_YANK_TYPE_BLOCK:
               yank_type = "block";
               break;
          }

          if(yank->type == CE_VIM_YANK_TYPE_BLOCK){
               snprintf(line, 256, "// register '%c': type: %s\n", reg, yank_type);
               buffer_append_on_new_line(buffer, line);
               for(int64_t l = 0; l < yank->block_line_count; l++){
                    if(yank->block[l]){
                         strncpy(line, yank->block[l], 256);
                         buffer_append_on_new_line(buffer, line);
                    }else{
                         int64_t last_line = buffer->line_count;
                         int64_t line_len = 0;
                         if(last_line) last_line--;
                         if(buffer->lines[last_line]) line_len = ce_utf8_strlen(buffer->lines[last_line]);
                         ce_buffer_insert_string(buffer, "\n\n", (CePoint_t){line_len, last_line});
                    }
               }
          }else{
               snprintf(line, 256, "// register '%c': type: %s\n%s\n", reg, yank_type, yank->text);
               buffer_append_on_new_line(buffer, line);
          }
     }

     buffer->status = CE_BUFFER_STATUS_READONLY;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x160, %rsp            # imm = 0x160
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0xe920
movq $0x0, -0x118(%rbp)
cmpq $0x5f, -0x118(%rbp)
jge 0x41967
movq -0x10(%rbp), %rax
imulq $0x18, -0x118(%rbp), %rcx
addq %rcx, %rax
movq %rax, -0x120(%rbp)
movq -0x120(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0x4172e
jmp 0x41950
movb -0x118(%rbp), %al
addb $0x20, %al
movb %al, -0x121(%rbp)
leaq 0xe4c(%rip), %rax       # 0x4258f
movq %rax, -0x130(%rbp)
movq -0x120(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x15c(%rbp)
subl $0x2, %eax
je 0x4176f
jmp 0x41760
movl -0x15c(%rbp), %eax
subl $0x3, %eax
je 0x4177f
jmp 0x4176d
jmp 0x4178d
leaq 0x14f8(%rip), %rax      # 0x42c6e
movq %rax, -0x130(%rbp)
jmp 0x4178d
leaq 0x4402(%rip), %rax      # 0x45b88
movq %rax, -0x130(%rbp)
movq -0x120(%rbp), %rax
cmpl $0x3, (%rax)
jne 0x4190b
leaq -0x110(%rbp), %rdi
movsbl -0x121(%rbp), %ecx
movq -0x130(%rbp), %r8
movl $0x100, %esi            # imm = 0x100
leaq 0x43d0(%rip), %rdx      # 0x45b8e
movb $0x0, %al
callq 0xd250
movq -0x8(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x14fd0
movq $0x0, -0x138(%rbp)
movq -0x138(%rbp), %rax
movq -0x120(%rbp), %rcx
cmpq 0x10(%rcx), %rax
jge 0x41909
movq -0x120(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x138(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x4184d
leaq -0x110(%rbp), %rdi
movq -0x120(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x138(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
movl $0x100, %edx            # imm = 0x100
callq 0xd0b0
movq -0x8(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x14fd0
jmp 0x418f0
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x140(%rbp)
movq $0x0, -0x148(%rbp)
cmpq $0x0, -0x140(%rbp)
je 0x41883
movq -0x140(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x140(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq -0x140(%rbp), %rcx
cmpq $0x0, (%rax,%rcx,8)
je 0x418b6
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq -0x140(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0xea70
movq %rax, -0x148(%rbp)
movq -0x8(%rbp), %rdi
movq -0x148(%rbp), %rax
movq %rax, -0x158(%rbp)
movq -0x140(%rbp), %rax
movq %rax, -0x150(%rbp)
movq -0x158(%rbp), %rdx
movq -0x150(%rbp), %rcx
leaq 0x25bc(%rip), %rsi      # 0x43ea7
callq 0xda70
jmp 0x418f2
movq -0x138(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x138(%rbp)
jmp 0x417e0
jmp 0x4194e
leaq -0x110(%rbp), %rdi
movsbl -0x121(%rbp), %ecx
movq -0x130(%rbp), %r8
movq -0x120(%rbp), %rax
movq 0x8(%rax), %r9
movl $0x100, %esi            # imm = 0x100
leaq 0x4273(%rip), %rdx      # 0x45baa
movb $0x0, %al
callq 0xd250
movq -0x8(%rbp), %rdi
leaq -0x110(%rbp), %rsi
callq 0x14fd0
jmp 0x41950
movq -0x118(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x118(%rbp)
jmp 0x416f7
movq -0x8(%rbp), %rax
movl $0x2, 0x18(%rax)
addq $0x160, %rsp            # imm = 0x160
popq %rbp
retq
nopl (%rax,%rax)