// File: /workspace/github_c_makefile_star2_O0/MikeGray-APH[P]LibLouisAPH/source/compile.c
// Function: compile_control
static int compile_control(void)
{
	unichar *type;
	int type_len;

	if(!token_parse())
	{
		log_message(LOG_ERROR, "%s:%d  missing control type", table_file_names[include_depth], table_file_lines[include_depth]);
		return 0;
	}

	type = token_crs;
	type_len = token_len;

	if(!token_parse())
	{
		log_message(LOG_ERROR, "%s:%d  missing control character", table_file_names[include_depth], table_file_lines[include_depth]);
		return 0;
	}
	token_convert_escapes();

	     if(utf16_are_equal(u"user", 4, type, type_len))
		table->marker_user = *token_crs;
	else if(utf16_are_equal(u"begin", 5, type, type_len))
		table->marker_begin = *token_crs;
	else if(utf16_are_equal(u"end", 3, type, type_len))
		table->marker_end = *token_crs;
	else if(utf16_are_equal(u"modifier", 8, type, type_len))
		table->marker_modifier = *token_crs;
	else if(utf16_are_equal(u"hard", 4, type, type_len))
		table->marker_hard = *token_crs;
	else if(utf16_are_equal(u"soft", 4, type, type_len))
		table->marker_soft = *token_crs;
	else if(utf16_are_equal(u"internal", 8, type, type_len))
		table->marker_modifier = *token_crs;
	else
	{
		log_message(LOG_ERROR, "%s:%d  invalid control type %#S", table_file_names[include_depth], table_file_lines[include_depth], token_crs, token_len);
		return 0;
	}

	return 1;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
callq 0x6190
cmpl $0x0, %eax
jne 0x9404
movslq 0x1adcf(%rip), %rcx     # 0x24198
leaq 0x1adf0(%rip), %rax     # 0x241c0
movq (%rax,%rcx,8), %rdx
movslq 0x1adbd(%rip), %rcx     # 0x24198
leaq 0x1adbe(%rip), %rax     # 0x241a0
movl (%rax,%rcx,4), %ecx
movl $0x6, %edi
leaq 0x15238(%rip), %rsi     # 0x1e629
movb $0x0, %al
callq 0xf610
movl $0x0, -0x4(%rbp)
jmp 0x965c
movq 0x1cdfd(%rip), %rax     # 0x26208
movq %rax, -0x10(%rbp)
movl 0x1cdeb(%rip), %eax     # 0x26200
movl %eax, -0x14(%rbp)
callq 0x6190
cmpl $0x0, %eax
jne 0x9464
movslq 0x1ad6f(%rip), %rcx     # 0x24198
leaq 0x1ad90(%rip), %rax     # 0x241c0
movq (%rax,%rcx,8), %rdx
movslq 0x1ad5d(%rip), %rcx     # 0x24198
leaq 0x1ad5e(%rip), %rax     # 0x241a0
movl (%rax,%rcx,4), %ecx
movl $0x6, %edi
leaq 0x151f4(%rip), %rsi     # 0x1e645
movb $0x0, %al
callq 0xf610
movl $0x0, -0x4(%rbp)
jmp 0x965c
callq 0x9670
movq -0x10(%rbp), %rdx
movl -0x14(%rbp), %ecx
leaq 0x15587(%rip), %rdi     # 0x1e9fe
movl $0x4, %esi
callq 0x9140
cmpl $0x0, %eax
je 0x94a3
movq 0x1cd7b(%rip), %rax     # 0x26208
movw (%rax), %cx
movq 0x1acc9(%rip), %rax     # 0x24160
movw %cx, 0x1e8(%rax)
jmp 0x9655
movq -0x10(%rbp), %rdx
movl -0x14(%rbp), %ecx
leaq 0x15557(%rip), %rdi     # 0x1ea08
movl $0x5, %esi
callq 0x9140
cmpl $0x0, %eax
je 0x94dd
movq 0x1cd41(%rip), %rax     # 0x26208
movw (%rax), %cx
movq 0x1ac8f(%rip), %rax     # 0x24160
movw %cx, 0x1ea(%rax)
jmp 0x9653
movq -0x10(%rbp), %rdx
movl -0x14(%rbp), %ecx
leaq 0x15529(%rip), %rdi     # 0x1ea14
movl $0x3, %esi
callq 0x9140
cmpl $0x0, %eax
je 0x9517
movq 0x1cd07(%rip), %rax     # 0x26208
movw (%rax), %cx
movq 0x1ac55(%rip), %rax     # 0x24160
movw %cx, 0x1ec(%rax)
jmp 0x9651
movq -0x10(%rbp), %rdx
movl -0x14(%rbp), %ecx
leaq 0x154f7(%rip), %rdi     # 0x1ea1c
movl $0x8, %esi
callq 0x9140
cmpl $0x0, %eax
je 0x9551
movq 0x1cccd(%rip), %rax     # 0x26208
movw (%rax), %cx
movq 0x1ac1b(%rip), %rax     # 0x24160
movw %cx, 0x1ee(%rax)
jmp 0x964f
movq -0x10(%rbp), %rdx
movl -0x14(%rbp), %ecx
leaq 0x154cf(%rip), %rdi     # 0x1ea2e
movl $0x4, %esi
callq 0x9140
cmpl $0x0, %eax
je 0x958b
movq 0x1cc93(%rip), %rax     # 0x26208
movw (%rax), %cx
movq 0x1abe1(%rip), %rax     # 0x24160
movw %cx, 0x1f0(%rax)
jmp 0x964d
movq -0x10(%rbp), %rdx
movl -0x14(%rbp), %ecx
leaq 0x1549f(%rip), %rdi     # 0x1ea38
movl $0x4, %esi
callq 0x9140
cmpl $0x0, %eax
je 0x95c5
movq 0x1cc59(%rip), %rax     # 0x26208
movw (%rax), %cx
movq 0x1aba7(%rip), %rax     # 0x24160
movw %cx, 0x1f2(%rax)
jmp 0x964b
movq -0x10(%rbp), %rdx
movl -0x14(%rbp), %ecx
leaq 0x1546f(%rip), %rdi     # 0x1ea42
movl $0x8, %esi
callq 0x9140
cmpl $0x0, %eax
je 0x95fc
movq 0x1cc1f(%rip), %rax     # 0x26208
movw (%rax), %cx
movq 0x1ab6d(%rip), %rax     # 0x24160
movw %cx, 0x1ee(%rax)
jmp 0x9649
movslq 0x1ab95(%rip), %rcx     # 0x24198
leaq 0x1abb6(%rip), %rax     # 0x241c0
movq (%rax,%rcx,8), %rdx
movslq 0x1ab83(%rip), %rcx     # 0x24198
leaq 0x1ab84(%rip), %rax     # 0x241a0
movl (%rax,%rcx,4), %ecx
movq 0x1cbe2(%rip), %r8      # 0x26208
movl 0x1cbd3(%rip), %r9d     # 0x26200
movl $0x6, %edi
leaq 0x1502d(%rip), %rsi     # 0x1e666
movb $0x0, %al
callq 0xf610
movl $0x0, -0x4(%rbp)
jmp 0x965c
jmp 0x964b
jmp 0x964d
jmp 0x964f
jmp 0x9651
jmp 0x9653
jmp 0x9655
movl $0x1, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)