// File: /workspace/github_c_makefile_star2_O0/baskerville[P]sxhkd/src/parse.c
// Function: render_next
void render_next(chunk_t *chunks, char *dest)
{
	if (chunks == NULL)
		return;
	int i = 0;
	bool incr = false;
	for (chunk_t *c = chunks; c != NULL; c = c->next) {
		if (c->sequence) {
			if (!incr) {
				if (c->range_cur < c->range_max) {
					c->range_cur++;
					incr = true;
				} else {
					c->range_cur = 1, c->range_max = 0;
				}
			}
			if (c->advance == NULL) {
				incr = true;
				c->advance = get_token(c->item, NULL, c->text, SEQ_SEP);
			} else if (!incr && c->range_cur > c->range_max) {
				if (c->advance[0] == '\0') {
					c->advance = get_token(c->item, NULL, c->text, SEQ_SEP);
				} else {
					c->advance = get_token(c->item, NULL, c->advance, SEQ_SEP);
					incr = true;
				}
			}
			if (c->range_cur > c->range_max && strlen(c->item) == 3)
				sscanf(c->item, "%c-%c", &c->range_cur, &c->range_max);
			if (c->range_cur <= c->range_max) {
				dest[i++] = c->range_cur;
			} else {
				if (c->item[0] == SEQ_NONE && c->item[1] == '\0')
					continue;
				strcpy(dest + i, c->item);
				i += strlen(c->item);
			}
		} else {
			strcpy(dest + i, c->text);
			i += strlen(c->text);
		}
	}
	dest[i] = '\0';
	if (!incr)
		dest[0] = '\0';
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x1054c
jmp 0x10801
movl $0x0, -0x14(%rbp)
movb $0x0, -0x15(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
je 0x107e8
movq -0x20(%rbp), %rax
testb $0x1, 0x408(%rax)
je 0x107a8
testb $0x1, -0x15(%rbp)
jne 0x105cc
movq -0x20(%rbp), %rax
movsbl 0x409(%rax), %eax
movq -0x20(%rbp), %rcx
movsbl 0x40a(%rcx), %ecx
cmpl %ecx, %eax
jge 0x105b4
movq -0x20(%rbp), %rax
movb 0x409(%rax), %cl
addb $0x1, %cl
movb %cl, 0x409(%rax)
movb $0x1, -0x15(%rbp)
jmp 0x105ca
movq -0x20(%rbp), %rax
movb $0x1, 0x409(%rax)
movq -0x20(%rbp), %rax
movb $0x0, 0x40a(%rax)
jmp 0x105cc
movq -0x20(%rbp), %rax
cmpq $0x0, 0x400(%rax)
jne 0x10610
movb $0x1, -0x15(%rbp)
movq -0x20(%rbp), %rdi
addq $0x200, %rdi            # imm = 0x200
movq -0x20(%rbp), %rdx
xorl %eax, %eax
movl %eax, %esi
leaq 0x8d2c(%rip), %rcx      # 0x19324
callq 0x10b50
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x400(%rax)
jmp 0x106b2
testb $0x1, -0x15(%rbp)
jne 0x106b0
movq -0x20(%rbp), %rax
movsbl 0x409(%rax), %eax
movq -0x20(%rbp), %rcx
movsbl 0x40a(%rcx), %ecx
cmpl %ecx, %eax
jle 0x106b0
movq -0x20(%rbp), %rax
movq 0x400(%rax), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x10676
movq -0x20(%rbp), %rdi
addq $0x200, %rdi            # imm = 0x200
movq -0x20(%rbp), %rdx
xorl %eax, %eax
movl %eax, %esi
leaq 0x8cc3(%rip), %rcx      # 0x19324
callq 0x10b50
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x400(%rax)
jmp 0x106ae
movq -0x20(%rbp), %rdi
addq $0x200, %rdi            # imm = 0x200
movq -0x20(%rbp), %rax
movq 0x400(%rax), %rdx
xorl %eax, %eax
movl %eax, %esi
leaq 0x8c8d(%rip), %rcx      # 0x19324
callq 0x10b50
movq %rax, %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x400(%rax)
movb $0x1, -0x15(%rbp)
jmp 0x106b0
jmp 0x106b2
movq -0x20(%rbp), %rax
movsbl 0x409(%rax), %eax
movq -0x20(%rbp), %rcx
movsbl 0x40a(%rcx), %ecx
cmpl %ecx, %eax
jle 0x10711
movq -0x20(%rbp), %rdi
addq $0x200, %rdi            # imm = 0x200
callq 0xe120
cmpq $0x3, %rax
jne 0x10711
movq -0x20(%rbp), %rdi
addq $0x200, %rdi            # imm = 0x200
movq -0x20(%rbp), %rdx
addq $0x409, %rdx            # imm = 0x409
movq -0x20(%rbp), %rcx
addq $0x40a, %rcx            # imm = 0x40A
leaq 0x8c1c(%rip), %rsi      # 0x19326
movb $0x0, %al
callq 0xe290
movq -0x20(%rbp), %rax
movsbl 0x409(%rax), %eax
movq -0x20(%rbp), %rcx
movsbl 0x40a(%rcx), %ecx
cmpl %ecx, %eax
jg 0x1074c
movq -0x20(%rbp), %rax
movb 0x409(%rax), %dl
movq -0x10(%rbp), %rax
movl -0x14(%rbp), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x14(%rbp)
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
jmp 0x107a6
movq -0x20(%rbp), %rax
movsbl 0x200(%rax), %eax
cmpl $0x5f, %eax
jne 0x1076e
movq -0x20(%rbp), %rax
movsbl 0x201(%rax), %eax
cmpl $0x0, %eax
jne 0x1076e
jmp 0x107d4
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
movq -0x20(%rbp), %rsi
addq $0x200, %rsi            # imm = 0x200
callq 0xe070
movq -0x20(%rbp), %rdi
addq $0x200, %rdi            # imm = 0x200
callq 0xe120
movq %rax, %rcx
movslq -0x14(%rbp), %rax
addq %rcx, %rax
movl %eax, -0x14(%rbp)
jmp 0x107d2
movq -0x10(%rbp), %rdi
movslq -0x14(%rbp), %rax
addq %rax, %rdi
movq -0x20(%rbp), %rsi
callq 0xe070
movq -0x20(%rbp), %rdi
callq 0xe120
movq %rax, %rcx
movslq -0x14(%rbp), %rax
addq %rcx, %rax
movl %eax, -0x14(%rbp)
jmp 0x107d4
movq -0x20(%rbp), %rax
movq 0x410(%rax), %rax
movq %rax, -0x20(%rbp)
jmp 0x1055f
movq -0x10(%rbp), %rax
movslq -0x14(%rbp), %rcx
movb $0x0, (%rax,%rcx)
testb $0x1, -0x15(%rbp)
jne 0x10801
movq -0x10(%rbp), %rax
movb $0x0, (%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)