// File: /workspace/github_c_makefile_star2_O0/lyda[P]tz/zic.c
// Function: doabbr
static void
doabbr(abbr, format, letters, isdst, doquotes)
char * const		abbr;
const char * const	format;
const char * const	letters;
const int		isdst;
const int		doquotes;
{
	register char *	cp;
	register char *	slashp;
	register int	len;

	slashp = strchr(format, '/');
	if (slashp == NULL) {
		if (letters == NULL)
			(void) strcpy(abbr, format);
		else	(void) sprintf(abbr, format, letters);
	} else if (isdst) {
		(void) strcpy(abbr, slashp + 1);
	} else {
		if (slashp > format)
			(void) strncpy(abbr, format,
				(unsigned) (slashp - format));
		abbr[slashp - format] = '\0';
	}
	if (!doquotes)
		return;
	for (cp = abbr; *cp != '\0'; ++cp)
		if (strchr("ABCDEFGHIJKLMNOPQRSTUVWXYZ", *cp) == NULL &&
			strchr("abcdefghijklmnopqrstuvwxyz", *cp) == NULL)
				break;
	len = strlen(abbr);
	if (len > 0 && *cp == '\0')
		return;
	abbr[len + 2] = '\0';
	abbr[len + 1] = '>';
	for ( ; len > 0; --len)
		abbr[len] = abbr[len - 1];
	abbr[0] = '<';
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movl %r8d, -0x20(%rbp)
movq -0x10(%rbp), %rdi
movl $0x2f, %esi
callq 0x20f0
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
jne 0x6bef
cmpq $0x0, -0x18(%rbp)
jne 0x6bda
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x2080
jmp 0x6bed
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movb $0x0, %al
callq 0x2250
jmp 0x6c43
cmpl $0x0, -0x1c(%rbp)
je 0x6c08
movq -0x8(%rbp), %rdi
movq -0x30(%rbp), %rsi
addq $0x1, %rsi
callq 0x2080
jmp 0x6c41
movq -0x30(%rbp), %rax
cmpq -0x10(%rbp), %rax
jbe 0x6c2e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x30(%rbp), %rax
movq -0x10(%rbp), %rcx
subq %rcx, %rax
movl %eax, %eax
movl %eax, %edx
callq 0x2060
movq -0x8(%rbp), %rax
movq -0x30(%rbp), %rcx
movq -0x10(%rbp), %rdx
subq %rdx, %rcx
movb $0x0, (%rax,%rcx)
jmp 0x6c43
cmpl $0x0, -0x20(%rbp)
jne 0x6c4e
jmp 0x6d1b
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x6ca6
movq -0x28(%rbp), %rax
movsbl (%rax), %esi
leaq 0x7fab(%rip), %rdi      # 0xec1b
callq 0x20f0
cmpq $0x0, %rax
jne 0x6c96
movq -0x28(%rbp), %rax
movsbl (%rax), %esi
leaq 0x7fad(%rip), %rdi      # 0xec36
callq 0x20f0
cmpq $0x0, %rax
jne 0x6c96
jmp 0x6ca6
jmp 0x6c98
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x28(%rbp)
jmp 0x6c56
movq -0x8(%rbp), %rdi
callq 0x20d0
movl %eax, -0x34(%rbp)
cmpl $0x0, -0x34(%rbp)
jle 0x6cc6
movq -0x28(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
jne 0x6cc6
jmp 0x6d1b
movq -0x8(%rbp), %rax
movl -0x34(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
movb $0x0, (%rax,%rcx)
movq -0x8(%rbp), %rax
movl -0x34(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
movb $0x3e, (%rax,%rcx)
cmpl $0x0, -0x34(%rbp)
jle 0x6d14
movq -0x8(%rbp), %rax
movl -0x34(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb (%rax,%rcx), %dl
movq -0x8(%rbp), %rax
movslq -0x34(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x34(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x34(%rbp)
jmp 0x6ce8
movq -0x8(%rbp), %rax
movb $0x3c, (%rax)
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)