// File: /workspace/github_c_makefile_star2_O0/darwin-on-arm[P]darwin-sdk/developer_cmds/unifdef/unifdef.c
// Function: skipcomment
static const char *
skipcomment(const char *cp)
{
	if (text || ignoring[depth]) {
		for (; isspace((unsigned char)*cp); cp++)
			if (*cp == '\n')
				linestate = LS_START;
		return (cp);
	}
	while (*cp != '\0')
		/* don't reset to LS_START after a line continuation */
		if (strncmp(cp, "\\\r\n", 3) == 0)
			cp += 3;
		else if (strncmp(cp, "\\\n", 2) == 0)
			cp += 2;
		else switch (incomment) {
		case NO_COMMENT:
			if (strncmp(cp, "/\\\r\n", 4) == 0) {
				incomment = STARTING_COMMENT;
				cp += 4;
			} else if (strncmp(cp, "/\\\n", 3) == 0) {
				incomment = STARTING_COMMENT;
				cp += 3;
			} else if (strncmp(cp, "/*", 2) == 0) {
				incomment = C_COMMENT;
				cp += 2;
			} else if (strncmp(cp, "//", 2) == 0) {
				incomment = CXX_COMMENT;
				cp += 2;
			} else if (strncmp(cp, "\'", 1) == 0) {
				incomment = CHAR_LITERAL;
				linestate = LS_DIRTY;
				cp += 1;
			} else if (strncmp(cp, "\"", 1) == 0) {
				incomment = STRING_LITERAL;
				linestate = LS_DIRTY;
				cp += 1;
			} else if (strncmp(cp, "\n", 1) == 0) {
				linestate = LS_START;
				cp += 1;
			} else if (strchr(" \r\t", *cp) != NULL) {
				cp += 1;
			} else
				return (cp);
			continue;
		case CXX_COMMENT:
			if (strncmp(cp, "\n", 1) == 0) {
				incomment = NO_COMMENT;
				linestate = LS_START;
			}
			cp += 1;
			continue;
		case CHAR_LITERAL:
		case STRING_LITERAL:
			if ((incomment == CHAR_LITERAL && cp[0] == '\'') ||
			    (incomment == STRING_LITERAL && cp[0] == '\"')) {
				incomment = NO_COMMENT;
				cp += 1;
			} else if (cp[0] == '\\') {
				if (cp[1] == '\0')
					cp += 1;
				else
					cp += 2;
			} else if (strncmp(cp, "\n", 1) == 0) {
				if (incomment == CHAR_LITERAL)
					error("unterminated char literal");
				else
					error("unterminated string literal");
			} else
				cp += 1;
			continue;
		case C_COMMENT:
			if (strncmp(cp, "*\\\r\n", 4) == 0) {
				incomment = FINISHING_COMMENT;
				cp += 4;
			} else if (strncmp(cp, "*\\\n", 3) == 0) {
				incomment = FINISHING_COMMENT;
				cp += 3;
			} else if (strncmp(cp, "*/", 2) == 0) {
				incomment = NO_COMMENT;
				cp += 2;
			} else
				cp += 1;
			continue;
		case STARTING_COMMENT:
			if (*cp == '*') {
				incomment = C_COMMENT;
				cp += 1;
			} else if (*cp == '/') {
				incomment = CXX_COMMENT;
				cp += 1;
			} else {
				incomment = NO_COMMENT;
				linestate = LS_DIRTY;
			}
			continue;
		case FINISHING_COMMENT:
			if (*cp == '/') {
				incomment = NO_COMMENT;
				cp += 1;
			} else
				incomment = C_COMMENT;
			continue;
		default:
			abort(); /* bug */
		}
	return (cp);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
testb $0x1, 0x500f(%rip)      # 0x9182
jne 0x4189
movslq 0x6144(%rip), %rcx      # 0xa2c0
leaq 0x1027d(%rip), %rax     # 0x14400
testb $0x1, (%rax,%rcx)
je 0x41de
jmp 0x418b
callq 0x3280
movq (%rax), %rax
movq -0x10(%rbp), %rcx
movzbl (%rcx), %ecx
movslq %ecx, %rcx
movzwl (%rax,%rcx,2), %eax
andl $0x2000, %eax           # imm = 0x2000
cmpl $0x0, %eax
je 0x41d1
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0xa, %eax
jne 0x41c1
movl $0x0, 0x712b(%rip)      # 0xb2ec
jmp 0x41c3
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x418b
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x4698
jmp 0x41e0
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x0, %eax
je 0x4690
movq -0x10(%rbp), %rdi
leaq 0x2211(%rip), %rsi      # 0x640c
movl $0x3, %edx
callq 0x3070
cmpl $0x0, %eax
jne 0x421b
movq -0x10(%rbp), %rax
addq $0x3, %rax
movq %rax, -0x10(%rbp)
jmp 0x468b
movq -0x10(%rbp), %rdi
leaq 0x21eb(%rip), %rsi      # 0x6411
movl $0x2, %edx
callq 0x3070
cmpl $0x0, %eax
jne 0x4246
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0x4689
movl 0x709c(%rip), %eax      # 0xb2e8
movq %rax, -0x18(%rbp)
subq $0x6, %rax
ja 0x4684
movq -0x18(%rbp), %rax
leaq 0x1e77(%rip), %rcx      # 0x60dc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x10(%rbp), %rdi
leaq 0x2145(%rip), %rsi      # 0x63be
movl $0x4, %edx
callq 0x3070
cmpl $0x0, %eax
jne 0x42a3
movl $0x3, 0x7056(%rip)      # 0xb2e8
movq -0x10(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x10(%rbp)
jmp 0x4431
movq -0x10(%rbp), %rdi
leaq 0x2115(%rip), %rsi      # 0x63c3
movl $0x3, %edx
callq 0x3070
cmpl $0x0, %eax
jne 0x42d8
movl $0x3, 0x7021(%rip)      # 0xb2e8
movq -0x10(%rbp), %rax
addq $0x3, %rax
movq %rax, -0x10(%rbp)
jmp 0x442f
movq -0x10(%rbp), %rdi
leaq 0x20e4(%rip), %rsi      # 0x63c7
movl $0x2, %edx
callq 0x3070
cmpl $0x0, %eax
jne 0x430d
movl $0x1, 0x6fec(%rip)      # 0xb2e8
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0x442d
movq -0x10(%rbp), %rdi
leaq 0x20b2(%rip), %rsi      # 0x63ca
movl $0x2, %edx
callq 0x3070
cmpl $0x0, %eax
jne 0x4342
movl $0x2, 0x6fb7(%rip)      # 0xb2e8
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0x442b
movq -0x10(%rbp), %rdi
leaq 0x2080(%rip), %rsi      # 0x63cd
movl $0x1, %edx
callq 0x3070
cmpl $0x0, %eax
jne 0x4381
movl $0x5, 0x6f82(%rip)      # 0xb2e8
movl $0x2, 0x6f7c(%rip)      # 0xb2ec
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x4429
movq -0x10(%rbp), %rdi
leaq 0x2043(%rip), %rsi      # 0x63cf
movl $0x1, %edx
callq 0x3070
cmpl $0x0, %eax
jne 0x43bd
movl $0x6, 0x6f43(%rip)      # 0xb2e8
movl $0x2, 0x6f3d(%rip)      # 0xb2ec
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x4427
movq -0x10(%rbp), %rdi
leaq 0x21c6(%rip), %rsi      # 0x658e
movl $0x1, %edx
callq 0x3070
cmpl $0x0, %eax
jne 0x43ef
movl $0x0, 0x6f0b(%rip)      # 0xb2ec
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x4425
movq -0x10(%rbp), %rax
movsbl (%rax), %esi
leaq 0x1fd4(%rip), %rdi      # 0x63d1
callq 0x30f0
cmpq $0x0, %rax
je 0x4416
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x4423
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x4698
jmp 0x4425
jmp 0x4427
jmp 0x4429
jmp 0x442b
jmp 0x442d
jmp 0x442f
jmp 0x4431
jmp 0x41e0
movq -0x10(%rbp), %rdi
leaq 0x214d(%rip), %rsi      # 0x658e
movl $0x1, %edx
callq 0x3070
cmpl $0x0, %eax
jne 0x4464
movl $0x0, 0x6e8e(%rip)      # 0xb2e8
movl $0x0, 0x6e88(%rip)      # 0xb2ec
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x41e0
cmpl $0x5, 0x6e6c(%rip)      # 0xb2e8
jne 0x448a
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x27, %eax
je 0x449f
cmpl $0x6, 0x6e57(%rip)      # 0xb2e8
jne 0x44ba
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x22, %eax
jne 0x44ba
movl $0x0, 0x6e3f(%rip)      # 0xb2e8
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x453e
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x5c, %eax
jne 0x44ef
movq -0x10(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x44e1
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x44ed
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0x453c
movq -0x10(%rbp), %rdi
leaq 0x2094(%rip), %rsi      # 0x658e
movl $0x1, %edx
callq 0x3070
cmpl $0x0, %eax
jne 0x452e
cmpl $0x5, 0x6dd8(%rip)      # 0xb2e8
jne 0x4520
leaq 0x1ebc(%rip), %rdi      # 0x63d5
callq 0x40d0
jmp 0x452c
leaq 0x1ec8(%rip), %rdi      # 0x63ef
callq 0x40d0
jmp 0x453a
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x453c
jmp 0x453e
jmp 0x41e0
movq -0x10(%rbp), %rdi
leaq 0x1ebd(%rip), %rsi      # 0x640b
movl $0x4, %edx
callq 0x3070
cmpl $0x0, %eax
jne 0x4575
movl $0x4, 0x6d81(%rip)      # 0xb2e8
movq -0x10(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x10(%rbp)
jmp 0x45e9
movq -0x10(%rbp), %rdi
leaq 0x1e90(%rip), %rsi      # 0x6410
movl $0x3, %edx
callq 0x3070
cmpl $0x0, %eax
jne 0x45a7
movl $0x4, 0x6d4f(%rip)      # 0xb2e8
movq -0x10(%rbp), %rax
addq $0x3, %rax
movq %rax, -0x10(%rbp)
jmp 0x45e7
movq -0x10(%rbp), %rdi
leaq 0x1e62(%rip), %rsi      # 0x6414
movl $0x2, %edx
callq 0x3070
cmpl $0x0, %eax
jne 0x45d9
movl $0x0, 0x6d1d(%rip)      # 0xb2e8
movq -0x10(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x10(%rbp)
jmp 0x45e5
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x45e7
jmp 0x45e9
jmp 0x41e0
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2a, %eax
jne 0x4612
movl $0x1, 0x6ce4(%rip)      # 0xb2e8
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x464c
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2f, %eax
jne 0x4636
movl $0x2, 0x6cc0(%rip)      # 0xb2e8
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x464a
movl $0x0, 0x6ca8(%rip)      # 0xb2e8
movl $0x2, 0x6ca2(%rip)      # 0xb2ec
jmp 0x464c
jmp 0x41e0
movq -0x10(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x2f, %eax
jne 0x4675
movl $0x0, 0x6c81(%rip)      # 0xb2e8
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0x467f
movl $0x1, 0x6c69(%rip)      # 0xb2e8
jmp 0x41e0
callq 0x3030
jmp 0x468b
jmp 0x41e0
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)