// File: /workspace/github_c_makefile_star2_O0/MikeGray-APH[P]LibLouisAPH/source/outputs/table-output.c
// Function: mode_output
static void mode_output(FILE *output, const struct mode *mode, const char *name)
{
	int i;

	if(!mode)
		return;

	mode_output(output, mode->nxt, name);

	fputs("   ", output);

	if(!mode->begin_len)
		fputs("-", output);
	else
	for(i = 0; i < mode->begin_len; i++)
	if(mode->begin[i])
		utf16_output_char(output, mode->begin[i]);

	fputs("  ", output);


	if(!mode->end_len)
		fputs("-", output);
	else
	for(i = 0; i < mode->end_len; i++)
	if(mode->end[i])
		utf16_output_char(output, mode->end[i]);

	if(mode->word_len)
	{

		fputs("  ", output);

		if(!mode->word_len)
			fputs("-", output);
		else
		for(i = 0; i < mode->word_len; i++)
		if(mode->word[i])
			utf16_output_char(output, mode->word[i]);

		fputs("  ", output);

		if(!mode->term_len)
			fputs("-", output);
		else
		for(i = 0; i < mode->term_len; i++)
		if(mode->term[i])
			utf16_output_char(output, mode->term[i]);

		fputs("  ", output);

		if(!mode->symbol_len)
			fputs("-", output);
		else
		for(i = 0; i < mode->symbol_len; i++)
		if(mode->symbol[i])
			utf16_output_char(output, mode->symbol[i]);

		fprintf(output, "  %d", mode->passage_len);
	}
	else
		fprintf(output, "  -  -  -  %d", mode->passage_len);

	fputs("  ", output);

	if(name)
		fprintf(output, "%s", name);
	else
		utf16_output(output, mode->name, mode->name_len);

	fputs("\n", output);

	mode = mode->nxt;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0x1bd60
jmp 0x1c05c
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
movq -0x18(%rbp), %rdx
callq 0x1bd40
movq -0x8(%rbp), %rsi
leaq 0x3666(%rip), %rdi      # 0x1f3e5
callq 0x10f0
movq -0x10(%rbp), %rax
cmpl $0x0, 0x54(%rax)
jne 0x1bda0
movq -0x8(%rbp), %rsi
leaq 0x363f(%rip), %rdi      # 0x1f3d8
callq 0x10f0
jmp 0x1bde8
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x54(%rcx), %eax
jge 0x1bde6
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
cmpw $0x0, 0xc(%rax,%rcx,2)
je 0x1bdd9
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movzwl 0xc(%rax,%rcx,2), %esi
callq 0x1a2b0
jmp 0x1bddb
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x1bda7
jmp 0x1bde8
movq -0x8(%rbp), %rsi
leaq 0x35f3(%rip), %rdi      # 0x1f3e6
callq 0x10f0
movq -0x10(%rbp), %rax
cmpl $0x0, 0x58(%rax)
jne 0x1be14
movq -0x8(%rbp), %rsi
leaq 0x35cb(%rip), %rdi      # 0x1f3d8
callq 0x10f0
jmp 0x1be5c
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x58(%rcx), %eax
jge 0x1be5a
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
cmpw $0x0, 0x1a(%rax,%rcx,2)
je 0x1be4d
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movzwl 0x1a(%rax,%rcx,2), %esi
callq 0x1a2b0
jmp 0x1be4f
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x1be1b
jmp 0x1be5c
movq -0x10(%rbp), %rax
cmpl $0x0, 0x5c(%rax)
je 0x1bfe1
movq -0x8(%rbp), %rsi
leaq 0x3571(%rip), %rdi      # 0x1f3e6
callq 0x10f0
movq -0x10(%rbp), %rax
cmpl $0x0, 0x5c(%rax)
jne 0x1be96
movq -0x8(%rbp), %rsi
leaq 0x3549(%rip), %rdi      # 0x1f3d8
callq 0x10f0
jmp 0x1bede
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x5c(%rcx), %eax
jge 0x1bedc
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
cmpw $0x0, 0x28(%rax,%rcx,2)
je 0x1becf
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movzwl 0x28(%rax,%rcx,2), %esi
callq 0x1a2b0
jmp 0x1bed1
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x1be9d
jmp 0x1bede
movq -0x8(%rbp), %rsi
leaq 0x34fd(%rip), %rdi      # 0x1f3e6
callq 0x10f0
movq -0x10(%rbp), %rax
cmpl $0x0, 0x60(%rax)
jne 0x1bf0a
movq -0x8(%rbp), %rsi
leaq 0x34d5(%rip), %rdi      # 0x1f3d8
callq 0x10f0
jmp 0x1bf52
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x60(%rcx), %eax
jge 0x1bf50
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
cmpw $0x0, 0x36(%rax,%rcx,2)
je 0x1bf43
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movzwl 0x36(%rax,%rcx,2), %esi
callq 0x1a2b0
jmp 0x1bf45
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x1bf11
jmp 0x1bf52
movq -0x8(%rbp), %rsi
leaq 0x3489(%rip), %rdi      # 0x1f3e6
callq 0x10f0
movq -0x10(%rbp), %rax
cmpl $0x0, 0x64(%rax)
jne 0x1bf7e
movq -0x8(%rbp), %rsi
leaq 0x3461(%rip), %rdi      # 0x1f3d8
callq 0x10f0
jmp 0x1bfc6
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x64(%rcx), %eax
jge 0x1bfc4
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
cmpw $0x0, 0x44(%rax,%rcx,2)
je 0x1bfb7
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movslq -0x1c(%rbp), %rcx
movzwl 0x44(%rax,%rcx,2), %esi
callq 0x1a2b0
jmp 0x1bfb9
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x1bf85
jmp 0x1bfc6
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x68(%rax), %edx
leaq 0x33f8(%rip), %rsi      # 0x1f3d0
movb $0x0, %al
callq 0x1130
jmp 0x1bffa
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x68(%rax), %edx
leaq 0x33d4(%rip), %rsi      # 0x1f3c7
movb $0x0, %al
callq 0x1130
movq -0x8(%rbp), %rsi
leaq 0x33e1(%rip), %rdi      # 0x1f3e6
callq 0x10f0
cmpq $0x0, -0x18(%rbp)
je 0x1c029
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x2c04(%rip), %rsi      # 0x1ec24
movb $0x0, %al
callq 0x1130
jmp 0x1c041
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x70(%rax), %rsi
movq -0x10(%rbp), %rax
movl 0x78(%rax), %edx
callq 0x1a220
movq -0x8(%rbp), %rsi
leaq 0x3184(%rip), %rdi      # 0x1f1d0
callq 0x10f0
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x10(%rbp)
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)