// File: /workspace/github_c_makefile_star2_O0/lyda[P]tz/zic.c
// Function: inzsub
static int
inzsub(fields, nfields, iscont)
register char ** const	fields;
const int		nfields;
const int		iscont;
{
	register char *		cp;
	static struct zone	z;
	register int		i_gmtoff, i_rule, i_format;
	register int		i_untilyear, i_untilmonth;
	register int		i_untilday, i_untiltime;
	register int		hasuntil;

	if (iscont) {
		i_gmtoff = ZFC_GMTOFF;
		i_rule = ZFC_RULE;
		i_format = ZFC_FORMAT;
		i_untilyear = ZFC_TILYEAR;
		i_untilmonth = ZFC_TILMONTH;
		i_untilday = ZFC_TILDAY;
		i_untiltime = ZFC_TILTIME;
		z.z_name = NULL;
	} else {
		i_gmtoff = ZF_GMTOFF;
		i_rule = ZF_RULE;
		i_format = ZF_FORMAT;
		i_untilyear = ZF_TILYEAR;
		i_untilmonth = ZF_TILMONTH;
		i_untilday = ZF_TILDAY;
		i_untiltime = ZF_TILTIME;
		z.z_name = ecpyalloc(fields[ZF_NAME]);
	}
	z.z_filename = filename;
	z.z_linenum = linenum;
	z.z_gmtoff = gethms(fields[i_gmtoff], _("invalid UTC offset"), TRUE);
	if ((cp = strchr(fields[i_format], '%')) != 0) {
		if (*++cp != 's' || strchr(cp, '%') != 0) {
			error(_("invalid abbreviation format"));
			return FALSE;
		}
	}
	z.z_rule = ecpyalloc(fields[i_rule]);
	z.z_format = ecpyalloc(fields[i_format]);
	if (max_format_len < strlen(z.z_format))
		max_format_len = strlen(z.z_format);
	hasuntil = nfields > i_untilyear;
	if (hasuntil) {
		z.z_untilrule.r_filename = filename;
		z.z_untilrule.r_linenum = linenum;
		rulesub(&z.z_untilrule,
			fields[i_untilyear],
			"only",
			"",
			(nfields > i_untilmonth) ?
			fields[i_untilmonth] : "Jan",
			(nfields > i_untilday) ? fields[i_untilday] : "1",
			(nfields > i_untiltime) ? fields[i_untiltime] : "0");
		z.z_untiltime = rpytime(&z.z_untilrule,
			z.z_untilrule.r_loyear);
		if (iscont && nzones > 0 &&
			z.z_untiltime > min_time &&
			z.z_untiltime < max_time &&
			zones[nzones - 1].z_untiltime > min_time &&
			zones[nzones - 1].z_untiltime < max_time &&
			zones[nzones - 1].z_untiltime >= z.z_untiltime) {
				error(_(
"Zone continuation line end time is not after end time of previous line"
					));
				return FALSE;
		}
	}
	zones = (struct zone *) (void *) erealloc((char *) zones,
		(int) ((nzones + 1) * sizeof *zones));
	zones[nzones++] = z;
	/*
	** If there was an UNTIL field on this line,
	** there's more information about the zone on the next line.
	*/
	return hasuntil;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
movl %edx, -0x18(%rbp)
cmpl $0x0, -0x18(%rbp)
je 0x5579
movl $0x0, -0x24(%rbp)
movl $0x1, -0x28(%rbp)
movl $0x2, -0x2c(%rbp)
movl $0x3, -0x30(%rbp)
movl $0x4, -0x34(%rbp)
movl $0x5, -0x38(%rbp)
movl $0x6, -0x3c(%rbp)
movq $0x0, 0xcce9(%rip) # 0x12260
jmp 0x55c6
movl $0x2, -0x24(%rbp)
movl $0x3, -0x28(%rbp)
movl $0x4, -0x2c(%rbp)
movl $0x5, -0x30(%rbp)
movl $0x6, -0x34(%rbp)
movl $0x7, -0x38(%rbp)
movl $0x8, -0x3c(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
callq 0xd140
movq %rax, %rdi
callq 0x40b0
movq %rax, 0xcc9a(%rip)      # 0x12260
movq 0xcc3b(%rip), %rax      # 0x12208
movq %rax, 0xcc7c(%rip)      # 0x12250
movl 0xcc36(%rip), %eax      # 0x12210
movl %eax, 0xcc78(%rip)      # 0x12258
movq -0x10(%rbp), %rax
movslq -0x24(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
leaq 0x90ce(%rip), %rsi      # 0xe6c1
movl $0x1, %edx
callq 0x4370
movq %rax, 0xcc64(%rip)      # 0x12268
movq -0x10(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
movl $0x25, %esi
callq 0x20f0
movq %rax, -0x20(%rbp)
cmpq $0x0, %rax
je 0x566a
movq -0x20(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x20(%rbp)
movsbl 0x1(%rax), %eax
cmpl $0x73, %eax
jne 0x5650
movq -0x20(%rbp), %rdi
movl $0x25, %esi
callq 0x20f0
cmpq $0x0, %rax
je 0x5668
leaq 0x907d(%rip), %rdi      # 0xe6d4
callq 0x4110
movl $0x0, -0x4(%rbp)
jmp 0x593f
jmp 0x566a
movq -0x10(%rbp), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0xd140
movq %rax, %rdi
callq 0x40b0
movq %rax, 0xcbe6(%rip)      # 0x12270
movq -0x10(%rbp), %rax
movslq -0x2c(%rbp), %rcx
movq (%rax,%rcx,8), %rdi
callq 0xd140
movq %rax, %rdi
callq 0x40b0
movq %rax, 0xcbce(%rip)      # 0x12278
movslq 0xcc5f(%rip), %rax      # 0x12310
movq %rax, -0x48(%rbp)
movq 0xcbbc(%rip), %rdi      # 0x12278
callq 0x20d0
movq %rax, %rcx
movq -0x48(%rbp), %rax
cmpq %rcx, %rax
jae 0x56df
movq 0xcba4(%rip), %rdi      # 0x12278
callq 0x20d0
movl %eax, 0xcc31(%rip)      # 0x12310
movl -0x14(%rbp), %eax
cmpl -0x30(%rbp), %eax
setg %al
andb $0x1, %al
movzbl %al, %eax
movl %eax, -0x40(%rbp)
cmpl $0x0, -0x40(%rbp)
je 0x58d5
movq 0xcb07(%rip), %rax      # 0x12208
movq %rax, 0xcb90(%rip)      # 0x12298
movl 0xcb02(%rip), %eax      # 0x12210
movl %eax, 0xcb8c(%rip)      # 0x122a0
movq -0x10(%rbp), %rax
movslq -0x30(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x50(%rbp)
movl -0x14(%rbp), %eax
cmpl -0x34(%rbp), %eax
jle 0x573e
movq -0x10(%rbp), %rax
movslq -0x34(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x58(%rbp)
jmp 0x574b
leaq 0x8fb0(%rip), %rax      # 0xe6f5
movq %rax, -0x58(%rbp)
jmp 0x574b
movq -0x58(%rbp), %rax
movq %rax, -0x60(%rbp)
movl -0x14(%rbp), %eax
cmpl -0x38(%rbp), %eax
jle 0x576d
movq -0x10(%rbp), %rax
movslq -0x38(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x68(%rbp)
jmp 0x577a
leaq 0x8f85(%rip), %rax      # 0xe6f9
movq %rax, -0x68(%rbp)
jmp 0x577a
movq -0x68(%rbp), %rax
movq %rax, -0x70(%rbp)
movl -0x14(%rbp), %eax
cmpl -0x3c(%rbp), %eax
jle 0x579c
movq -0x10(%rbp), %rax
movslq -0x3c(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, -0x78(%rbp)
jmp 0x57a9
leaq 0x977e(%rip), %rax      # 0xef21
movq %rax, -0x78(%rbp)
jmp 0x57a9
movq -0x70(%rbp), %r9
movq -0x60(%rbp), %r8
movq -0x50(%rbp), %rsi
movq -0x78(%rbp), %rax
leaq 0xca90(%rip), %rdi      # 0x12250
addq $0x48, %rdi
leaq 0x8f25(%rip), %rdx      # 0xe6f0
leaq 0x8bfa(%rip), %rcx      # 0xe3cc
movq %rax, (%rsp)
callq 0x5950
movl 0xcacf(%rip), %esi      # 0x122b0
leaq 0xca68(%rip), %rdi      # 0x12250
addq $0x48, %rdi
callq 0x5f00
movq %rax, 0xcb10(%rip)      # 0x12308
cmpl $0x0, -0x18(%rbp)
je 0x58d3
cmpl $0x0, 0xc9df(%rip)      # 0x121e8
jle 0x58d3
movq 0xcaf2(%rip), %rax      # 0x12308
cmpq 0xca0b(%rip), %rax      # 0x12228
jle 0x58d3
movq 0xcade(%rip), %rax      # 0x12308
cmpq 0xc9ff(%rip), %rax      # 0x12230
jge 0x58d3
movq 0xc9b2(%rip), %rax      # 0x121f0
movl 0xc9a4(%rip), %ecx      # 0x121e8
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0xc0, %rcx, %rcx
addq %rcx, %rax
movq 0xb8(%rax), %rax
cmpq 0xc9c6(%rip), %rax      # 0x12228
jle 0x58d3
movq 0xc985(%rip), %rax      # 0x121f0
movl 0xc977(%rip), %ecx      # 0x121e8
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0xc0, %rcx, %rcx
addq %rcx, %rax
movq 0xb8(%rax), %rax
cmpq 0xc9a1(%rip), %rax      # 0x12230
jge 0x58d3
movq 0xc958(%rip), %rax      # 0x121f0
movl 0xc94a(%rip), %ecx      # 0x121e8
subl $0x1, %ecx
movslq %ecx, %rcx
imulq $0xc0, %rcx, %rcx
addq %rcx, %rax
movq 0xb8(%rax), %rax
cmpq 0xca4c(%rip), %rax      # 0x12308
jl 0x58d3
leaq 0x8e36(%rip), %rdi      # 0xe6fb
callq 0x4110
movl $0x0, -0x4(%rbp)
jmp 0x593f
jmp 0x58d5
movq 0xc914(%rip), %rdi      # 0x121f0
movl 0xc906(%rip), %eax      # 0x121e8
addl $0x1, %eax
cltq
imulq $0xc0, %rax, %rax
movl %eax, %esi
callq 0xd030
movq %rax, %rdi
callq 0x40b0
movq %rax, 0xc8ec(%rip)      # 0x121f0
movq 0xc8e5(%rip), %rdi      # 0x121f0
movl 0xc8d7(%rip), %eax      # 0x121e8
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, 0xc8cc(%rip)      # 0x121e8
cltq
imulq $0xc0, %rax, %rax
addq %rax, %rdi
leaq 0xc921(%rip), %rsi      # 0x12250
movl $0xc0, %edx
callq 0x21a0
movl -0x40(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x80, %rsp
popq %rbp
retq
nopl (%rax,%rax)