// File: /workspace/github_c_makefile_star2_O0/MikeGray-APH[P]LibLouisAPH/source/languages/generic-forward.c
// Function: translate_generic_forward
int translate_generic_forward(struct translate *translate)
{
	int processed;

	processed = 0;

	if(translate_get_init_chars_hash_cnt(translate))
	{
		CHANGE_RESET
		if(!generic_process(translate, TABLE_HASH_INIT, FORWARD))
			return 0;
		CHANGE_CHECK
		processed = 1;
	}

	CHANGE_CHECK
	if(!translate_output_to_input(translate))
		return 0;

	CHANGE_RESET
	convert_user_indicators(translate);
	CHANGE_CHECK
	processed = 1;

	if(translate_get_emphases_cnt(translate))
	{
		CHANGE_CHECK
		if(!translate_output_to_input(translate))
			return 0;

		CHANGE_RESET
		if(!add_indicators_emphases(translate))
			return 0;
		CHANGE_CHECK
		processed = 1;
	}

	if(translate_get_premode_chars_hash_cnt(translate))
	{
		CHANGE_CHECK
		if(!translate_output_to_input(translate))
			return 0;

		CHANGE_RESET
		if(!generic_process(translate, TABLE_HASH_PREMODE, FORWARD))
			return 0;
		CHANGE_CHECK
		processed = 1;
	}

	if(translate_is_capital_set(translate))
	{
		CHANGE_CHECK
		if(!translate_output_to_input(translate))
			return 0;

		CHANGE_RESET
		add_indicators_capital(translate);
		CHANGE_CHECK
		processed = 1;
	}

	if(translate_is_numeric_set(translate))
	{
		CHANGE_CHECK
		if(!translate_output_to_input(translate))
			return 0;

		CHANGE_RESET
		add_indicators_numeric(translate);
		CHANGE_CHECK
		processed = 1;
	}

	if(translate_get_postmode_chars_hash_cnt(translate))
	{
		CHANGE_CHECK
		if(!translate_output_to_input(translate))
			return 0;

		CHANGE_RESET
		if(!generic_process(translate, TABLE_HASH_POSTMODE, FORWARD))
			return 0;
		CHANGE_CHECK
		processed = 1;
	}

	if(translate_get_pretrans_chars_hash_cnt(translate))
	{
		CHANGE_CHECK
		if(!translate_output_to_input(translate))
			return 0;

		CHANGE_RESET
		if(!generic_process(translate, TABLE_HASH_PRETRANS, FORWARD))
			return 0;
		CHANGE_CHECK
		processed = 1;
	}

	if(translate_get_trans_chars_hash_cnt(translate))
	{
		CHANGE_CHECK
		if(!translate_output_to_input(translate))
			return 0;

		CHANGE_RESET
		if(!generic_process(translate, TABLE_HASH_TRANS, FORWARD))
			return 0;
		CHANGE_CHECK
		processed = 1;
	}

	if(translate_get_posttrans_chars_hash_cnt(translate))
	{
		CHANGE_CHECK
		if(!translate_output_to_input(translate))
			return 0;

		CHANGE_RESET
		if(!generic_process(translate, TABLE_HASH_POSTTRANS, FORWARD))
			return 0;
		CHANGE_CHECK
		processed = 1;
	}

	CHANGE_CHECK
	if(!translate_output_to_input(translate))
		return 0;

	CHANGE_RESET
	if(!generic_remove_soft_delimiters(translate))
		return 0;
	CHANGE_CHECK
	processed = 1;


	CHANGE_CHECK
	if(!translate_output_to_input(translate))
		return 0;

	CHANGE_RESET
	if(!generic_remove_hard_and_modifier_delimiters(translate))
		return 0;
	CHANGE_CHECK
	processed = 1;

	if(translate_get_fini_chars_hash_cnt(translate))
	{
		CHANGE_CHECK
		if(!translate_output_to_input(translate))
			return 0;

		CHANGE_RESET
		if(!generic_process(translate, TABLE_HASH_FINI, FORWARD))
			return 0;
		CHANGE_CHECK
		processed = 1;
	}

	return processed;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rdi
callq 0x119a0
cmpl $0x0, %eax
je 0x11436
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
movl $0x1, %edx
movl %edx, %esi
callq 0x10920
cmpl $0x0, %eax
jne 0x11420
movl $0x0, -0x4(%rbp)
jmp 0x1198b
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x11434
movl $0x1, -0x14(%rbp)
jmp 0x11436
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x1145f
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x1145d
movl $0x0, -0x4(%rbp)
jmp 0x1198b
jmp 0x1145f
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
callq 0x119f0
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x1148a
movl $0x1, -0x14(%rbp)
movq -0x10(%rbp), %rdi
callq 0x11fc0
cmpl $0x0, %eax
je 0x114ff
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x114c1
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x114bf
movl $0x0, -0x4(%rbp)
jmp 0x1198b
jmp 0x114c1
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
callq 0x11ff0
cmpl $0x0, %eax
jne 0x114e9
movl $0x0, -0x4(%rbp)
jmp 0x1198b
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x114fd
movl $0x1, -0x14(%rbp)
jmp 0x114ff
movq -0x10(%rbp), %rdi
callq 0x122b0
cmpl $0x0, %eax
je 0x1157e
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x11536
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x11534
movl $0x0, -0x4(%rbp)
jmp 0x1198b
jmp 0x11536
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
movl $0x2, %esi
movl $0x1, %edx
callq 0x10920
cmpl $0x0, %eax
jne 0x11568
movl $0x0, -0x4(%rbp)
jmp 0x1198b
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x1157c
movl $0x1, -0x14(%rbp)
jmp 0x1157e
movq -0x10(%rbp), %rdi
callq 0x12300
cmpl $0x0, %eax
je 0x115e2
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x115b5
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x115b3
movl $0x0, -0x4(%rbp)
jmp 0x1198b
jmp 0x115b5
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
callq 0x12330
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x115e0
movl $0x1, -0x14(%rbp)
jmp 0x115e2
movq -0x10(%rbp), %rdi
callq 0x12560
cmpl $0x0, %eax
je 0x11646
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x11619
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x11617
movl $0x0, -0x4(%rbp)
jmp 0x1198b
jmp 0x11619
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
callq 0x12590
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x11644
movl $0x1, -0x14(%rbp)
jmp 0x11646
movq -0x10(%rbp), %rdi
callq 0x12df0
cmpl $0x0, %eax
je 0x116c5
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x1167d
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x1167b
movl $0x0, -0x4(%rbp)
jmp 0x1198b
jmp 0x1167d
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
movl $0x3, %esi
movl $0x1, %edx
callq 0x10920
cmpl $0x0, %eax
jne 0x116af
movl $0x0, -0x4(%rbp)
jmp 0x1198b
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x116c3
movl $0x1, -0x14(%rbp)
jmp 0x116c5
movq -0x10(%rbp), %rdi
callq 0x12e40
cmpl $0x0, %eax
je 0x11744
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x116fc
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x116fa
movl $0x0, -0x4(%rbp)
jmp 0x1198b
jmp 0x116fc
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0x10920
cmpl $0x0, %eax
jne 0x1172e
movl $0x0, -0x4(%rbp)
jmp 0x1198b
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x11742
movl $0x1, -0x14(%rbp)
jmp 0x11744
movq -0x10(%rbp), %rdi
callq 0x12e90
cmpl $0x0, %eax
je 0x117c3
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x1177b
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x11779
movl $0x0, -0x4(%rbp)
jmp 0x1198b
jmp 0x1177b
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
movl $0x5, %esi
movl $0x1, %edx
callq 0x10920
cmpl $0x0, %eax
jne 0x117ad
movl $0x0, -0x4(%rbp)
jmp 0x1198b
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x117c1
movl $0x1, -0x14(%rbp)
jmp 0x117c3
movq -0x10(%rbp), %rdi
callq 0x12ee0
cmpl $0x0, %eax
je 0x11842
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x117fa
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x117f8
movl $0x0, -0x4(%rbp)
jmp 0x1198b
jmp 0x117fa
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
movl $0x6, %esi
movl $0x1, %edx
callq 0x10920
cmpl $0x0, %eax
jne 0x1182c
movl $0x0, -0x4(%rbp)
jmp 0x1198b
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x11840
movl $0x1, -0x14(%rbp)
jmp 0x11842
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x1186b
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x11869
movl $0x0, -0x4(%rbp)
jmp 0x1198b
jmp 0x1186b
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
callq 0x10570
cmpl $0x0, %eax
jne 0x11893
movl $0x0, -0x4(%rbp)
jmp 0x1198b
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x118a7
movl $0x1, -0x14(%rbp)
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x118d0
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x118ce
movl $0x0, -0x4(%rbp)
jmp 0x1198b
jmp 0x118d0
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
callq 0x107f0
cmpl $0x0, %eax
jne 0x118f8
movl $0x0, -0x4(%rbp)
jmp 0x1198b
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x1190c
movl $0x1, -0x14(%rbp)
movq -0x10(%rbp), %rdi
callq 0x12f30
cmpl $0x0, %eax
je 0x11985
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x11940
movq -0x10(%rbp), %rdi
callq 0xb370
cmpl $0x0, %eax
jne 0x1193e
movl $0x0, -0x4(%rbp)
jmp 0x1198b
jmp 0x11940
movq -0x10(%rbp), %rax
movl $0x0, 0x94(%rax)
movq -0x10(%rbp), %rdi
movl $0x7, %esi
movl $0x1, %edx
callq 0x10920
cmpl $0x0, %eax
jne 0x1196f
movl $0x0, -0x4(%rbp)
jmp 0x1198b
movq -0x10(%rbp), %rax
cmpl $0x0, 0x94(%rax)
je 0x11983
movl $0x1, -0x14(%rbp)
jmp 0x11985
movl -0x14(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)