// File: /workspace/github_c_makefile_star2_O1/MikeGray-APH[P]LibLouisAPH/source/languages/nemeth-forward.c
// Function: translate_nemeth_forward
int translate_nemeth_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;
	}

	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_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;
	}

	/*   handle roots   */
	CHANGE_CHECK
	if(!translate_output_to_input(translate))
		return 0;

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

	/*   handle subscripts   */
	CHANGE_CHECK
	if(!translate_output_to_input(translate))
		return 0;

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

	/*   handle numeric indicator   */
	CHANGE_CHECK
	if(!translate_output_to_input(translate))
		return 0;

	CHANGE_RESET
	if(!add_numeric_indicators(translate))
		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;
	}

	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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1e8, %rsp            # imm = 0x1E8
movq %rdi, %rbx
movslq 0xc(%rdi), %rax
testq %rax, %rax
jle 0xf74a
movq (%rbx), %rcx
xorl %edx, %edx
xorl %esi, %esi
movq (%rcx,%rdx,8), %rdi
addl 0x288(%rdi), %esi
incq %rdx
cmpq %rdx, %rax
jne 0xf700
testl %esi, %esi
je 0xf74a
movl $0x0, 0x94(%rbx)
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0xad13
testl %eax, %eax
je 0x107f7
xorl %r14d, %r14d
cmpl $0x0, 0x94(%rbx)
setne %r14b
jmp 0xf74d
xorl %r14d, %r14d
movslq 0xc(%rbx), %rax
testq %rax, %rax
jle 0xf7c0
movq (%rbx), %rcx
xorl %edx, %edx
xorl %esi, %esi
movq (%rcx,%rdx,8), %rdi
addl 0x2a0(%rdi), %esi
incq %rdx
cmpq %rdx, %rax
jne 0xf75d
testl %esi, %esi
je 0xf7c0
cmpl $0x0, 0x94(%rbx)
je 0xf78c
movq %rbx, %rdi
callq 0x79ae
testl %eax, %eax
je 0x107f7
movl $0x0, 0x94(%rbx)
movl $0x1, %ebp
movq %rbx, %rdi
movl $0x2, %esi
movl $0x1, %edx
callq 0xad13
testl %eax, %eax
je 0x107f7
cmpl $0x0, 0x94(%rbx)
cmovnel %ebp, %r14d
movslq 0xc(%rbx), %rax
testq %rax, %rax
jle 0xf833
movq (%rbx), %rcx
xorl %edx, %edx
xorl %esi, %esi
movq (%rcx,%rdx,8), %rdi
addl 0x2b8(%rdi), %esi
incq %rdx
cmpq %rdx, %rax
jne 0xf7d0
testl %esi, %esi
je 0xf833
cmpl $0x0, 0x94(%rbx)
je 0xf7ff
movq %rbx, %rdi
callq 0x79ae
testl %eax, %eax
je 0x107f7
movl $0x0, 0x94(%rbx)
movl $0x1, %ebp
movq %rbx, %rdi
movl $0x3, %esi
movl $0x1, %edx
callq 0xad13
testl %eax, %eax
je 0x107f7
cmpl $0x0, 0x94(%rbx)
cmovnel %ebp, %r14d
cmpl $0x0, 0x94(%rbx)
je 0xf84c
movq %rbx, %rdi
callq 0x79ae
testl %eax, %eax
je 0x107f7
movl %r14d, 0x1c(%rsp)
xorl %ebp, %ebp
movl %ebp, 0x94(%rbx)
movl 0xc(%rbx), %eax
decl %eax
movl %eax, 0x8(%rbx)
movl %ebp, 0x68(%rbx)
movl %ebp, 0x40(%rbx)
leaq 0x448e(%rip), %r15      # 0x13cfc
leaq 0x20(%rsp), %r14
movslq 0x40(%rbx), %r12
movl 0x44(%rbx), %r13d
cmpl %r13d, %r12d
jge 0xf90c
movq 0x38(%rbx), %rax
movzwl (%rax,%r12,2), %eax
addl $0xffff0a50, %eax       # imm = 0xFFFF0A50
cmpl $0x4, %eax
ja 0xf8f0
movslq (%r15,%rax,4), %rax
addq %r15, %rax
jmpq *%rax
movl $0x1, 0x94(%rbx)
testl %ebp, %ebp
je 0xf8bf
movq %rbx, %rdi
movq %r14, %rsi
movl %ebp, %edx
callq 0x7473
testl %eax, %eax
je 0xf91a
movslq %ebp, %rax
incl %ebp
movw $0x2828, 0x20(%rsp,%rax,2) # imm = 0x2828
jmp 0xf8f0
movl $0x1, 0x94(%rbx)
decl %ebp
je 0xf8ee
movq %rbx, %rdi
movq %r14, %rsi
movl %ebp, %edx
callq 0x7473
testl %eax, %eax
jne 0xf8f0
jmp 0xf91a
xorl %ebp, %ebp
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x7666
testl %eax, %eax
jne 0xf873
jmp 0xf91a
movq 0x60(%rbx), %rax
movslq 0x68(%rbx), %rcx
movw $0x0, (%rax,%rcx,2)
xorl %ebp, %ebp
cmpl %r13d, %r12d
jl 0x107f9
movl 0x94(%rbx), %r14d
testl %r14d, %r14d
je 0xf941
movq %rbx, %rdi
callq 0x79ae
testl %eax, %eax
je 0x107f9
movl %r14d, 0x18(%rsp)
xorl %r13d, %r13d
movl %r13d, 0x94(%rbx)
movl 0xc(%rbx), %eax
movl 0x44(%rbx), %ecx
decl %eax
movl %eax, 0x8(%rbx)
movl %r13d, 0x68(%rbx)
movl %r13d, 0x40(%rbx)
testl %ecx, %ecx
jle 0x105bd
xorl %r12d, %r12d
movl $0x0, 0x8(%rsp)
movq 0x38(%rbx), %rax
movslq %r13d, %rdx
movzwl (%rax,%rdx,2), %esi
movzwl %si, %edi
leal -0xf580(%rdi), %r8d
cmpl $0x8, %r8d
ja 0xfa5e
leaq 0x4374(%rip), %rsi      # 0x13d10
movslq (%rsi,%r8,4), %rdx
addq %rsi, %rdx
jmpq *%rdx
testl %r12d, %r12d
jne 0xfb7a
leal 0x1(%r13), %edx
cmpl $-0x1, %r13d
setl %sil
cmpl %edx, %ecx
setle %cl
orb %sil, %cl
jne 0xfb7a
movq (%rbx), %rcx
movslq 0x8(%rbx), %rsi
movq (%rcx,%rsi,8), %rdi
movl %edx, %ecx
movzwl (%rax,%rcx,2), %esi
callq 0x1e99
testq %rax, %rax
je 0xfb7a
testb $0x4, 0x24(%rax)
je 0xfb7a
leal 0x2(%r13), %ebp
movslq 0x44(%rbx), %rcx
cmpl %ecx, %ebp
jge 0xfb7a
movq 0x38(%rbx), %rax
movslq %ebp, %rsi
movq %rsi, %rdx
shlq $0x20, %rdx
incq %rsi
addl $0x3, %r13d
movb $0x1, %dil
movzwl -0x2(%rax,%rsi,2), %r8d
leal -0x2032(%r8), %r9d
cmpl $0x3, %r9d
jb 0xfa39
cmpl $0x2057, %r8d           # imm = 0x2057
jne 0x10408
cmpq %rcx, %rsi
setl %dil
incl %ebp
movabsq $0x100000000, %r8       # imm = 0x100000000
addq %r8, %rdx
incq %rsi
incl %r13d
cmpl %ebp, %ecx
jne 0xfa19
jmp 0xfb7a
cmpl $0xf007, %edi           # imm = 0xF007
jne 0xfc3a
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x7666
testl %eax, %eax
je 0x107f7
movslq 0x40(%rbx), %rax
movslq 0x44(%rbx), %rdx
cmpl %edx, %eax
jge 0x107f7
movq 0x38(%rbx), %rcx
leal 0x2(%rax), %r14d
movb $0x1, %sil
cmpw $0xf007, (%rcx,%rax,2)  # imm = 0xF007
jne 0xfdb6
movq %rax, %r13
jmp 0xfde5
movl $0x1, 0x94(%rbx)
movl %r12d, %eax
leal 0x1(%r12), %edx
jmp 0xff4d
testl %r12d, %r12d
jne 0xfb72
leal 0x1(%r13), %edx
cmpl $-0x1, %r13d
setl %sil
cmpl %edx, %ecx
setle %cl
orb %sil, %cl
jne 0xfb72
movq (%rbx), %rcx
movslq 0x8(%rbx), %rsi
movq (%rcx,%rsi,8), %rdi
movl %edx, %ecx
movzwl (%rax,%rcx,2), %esi
callq 0x1e99
testq %rax, %rax
je 0xfb72
testb $0x4, 0x24(%rax)
je 0xfb72
leal 0x2(%r13), %ebp
movslq 0x44(%rbx), %rcx
cmpl %ecx, %ebp
jge 0xfb72
movq 0x38(%rbx), %rax
movslq %ebp, %rsi
movq %rsi, %rdx
shlq $0x20, %rdx
incq %rsi
addl $0x3, %r13d
movb $0x1, %dil
movzwl -0x2(%rax,%rsi,2), %r8d
leal -0x2032(%r8), %r9d
cmpl $0x3, %r9d
jb 0xfb52
cmpl $0x2057, %r8d           # imm = 0x2057
jne 0x10303
cmpq %rcx, %rsi
setl %dil
incl %ebp
movabsq $0x100000000, %r8       # imm = 0x100000000
addq %r8, %rdx
incq %rsi
incl %r13d
cmpl %ebp, %ecx
jne 0xfb32
movl $0x0, 0x8(%rsp)
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x73d5
jmp 0x100d0
movl $0x1, 0x94(%rbx)
movl %r12d, %eax
leal 0x1(%r12), %edx
movw $0x2818, %cx            # imm = 0x2818
jmp 0xff51
decl 0x8(%rsp)
leal 0x1(%r13), %r8d
leal -0x1(%r12), %ebp
cmpl %ecx, %r8d
setl %sil
jge 0xfc2f
movslq %r8d, %rdi
movslq %ecx, %r8
leal -0x1(%rcx), %edx
movl %r13d, %r9d
subl %ecx, %r9d
addl %r12d, %r9d
movl %edx, %r10d
subl %r13d, %r10d
leaq (%rax,%rdi,2), %r14
incq %rdi
movb $0x1, %sil
xorl %r11d, %r11d
movl %ebp, %r12d
movzwl (%r14,%r11,2), %ebp
addl $0xffff0a7e, %ebp       # imm = 0xFFFF0A7E
cmpl $0x6, %ebp
ja 0xfea9
movl $0x49, %r15d
btl %ebp, %r15d
jae 0xfea9
leaq (%rdi,%r11), %rsi
decl %r12d
cmpq %r8, %rsi
setl %sil
incq %r11
cmpl %r11d, %r10d
jne 0xfbea
movl %ecx, %r8d
movl %r9d, %r12d
jmp 0xfeb4
movl %r13d, %edx
movl %ebp, %r12d
jmp 0xfeb4
testl %r12d, %r12d
jle 0xfda9
cmpw $0x2c, %si
jne 0xfda9
leal 0x3(%r13), %esi
cmpl %ecx, %esi
setge %cl
cmpl $-0x1, %r13d
setl %sil
orb %cl, %sil
jne 0xfd33
movq (%rbx), %rcx
movslq 0x8(%rbx), %rsi
movq (%rcx,%rsi,8), %rdi
movzwl 0x2(%rax,%rdx,2), %esi
callq 0x1e99
testq %rax, %rax
je 0xfd33
testb $0x2, 0x24(%rax)
je 0xfd33
movl 0x40(%rbx), %eax
cmpl $-0x2, %eax
jl 0xfd33
addl $0x2, %eax
cmpl %eax, 0x44(%rbx)
jle 0xfd33
movslq 0x8(%rbx), %rcx
movq (%rbx), %rdx
movq 0x38(%rbx), %rsi
movq (%rdx,%rcx,8), %rdi
movl %eax, %eax
movzwl (%rsi,%rax,2), %esi
callq 0x1e99
testq %rax, %rax
je 0xfd33
testb $0x2, 0x24(%rax)
je 0xfd33
movl 0x40(%rbx), %eax
cmpl $-0x3, %eax
jl 0xfd33
addl $0x3, %eax
cmpl %eax, 0x44(%rbx)
jle 0xfd33
movslq 0x8(%rbx), %rcx
movq (%rbx), %rdx
movq 0x38(%rbx), %rsi
movq (%rdx,%rcx,8), %rdi
movl %eax, %eax
movzwl (%rsi,%rax,2), %esi
callq 0x1e99
testq %rax, %rax
je 0xfd33
testb $0x2, 0x24(%rax)
je 0xfd33
movslq 0x40(%rbx), %rax
testq %rax, %rax
jle 0xfd33
cmpl %eax, 0x44(%rbx)
jl 0xfd33
movslq 0x8(%rbx), %rcx
movq (%rbx), %rdx
movq 0x38(%rbx), %rsi
movq (%rdx,%rcx,8), %rdi
movzwl -0x2(%rsi,%rax,2), %esi
callq 0x1e99
testq %rax, %rax
je 0xfd33
testb $0x2, 0x24(%rax)
jne 0xfda9
movl $0x1, 0x94(%rbx)
movw $0x282a, 0xe(%rsp)      # imm = 0x282A
movq %rbx, %rdi
leaq 0xe(%rsp), %rsi
movl $0x1, %edx
movl $0x1, %ecx
callq 0x74f9
testl %eax, %eax
je 0x107f7
movslq 0x40(%rbx), %rax
testq %rax, %rax
js 0x100d0
cmpl %eax, 0x44(%rbx)
jle 0x100d0
movslq 0x8(%rbx), %rcx
movq (%rbx), %rdx
movq 0x38(%rbx), %rsi
movq (%rdx,%rcx,8), %rdi
movzwl (%rsi,%rax,2), %esi
callq 0x1e99
testq %rax, %rax
je 0x100d0
testb $0x1, 0x24(%rax)
jne 0xfb7a
jmp 0x100d0
movq %rbx, %rdi
movl $0x1, %esi
jmp 0x100be
movl %edx, %esi
negl %esi
movq %rax, %rdi
leal (%rsi,%r14), %r8d
cmpl $0x1, %r8d
je 0x107f7
incl %r14d
leaq 0x1(%rdi), %r13
cmpw $0xf007, 0x2(%rcx,%rdi,2) # imm = 0xF007
movq %r13, %rdi
jne 0xfdbd
cmpq %rdx, %r13
setl %sil
testb %sil, %sil
je 0x107f7
testl %r12d, %r12d
je 0x100ae
testl %eax, %eax
js 0xfe1e
movq (%rbx), %rdx
movslq 0x8(%rbx), %rsi
movq (%rdx,%rsi,8), %rdi
movzwl (%rcx,%rax,2), %esi
callq 0x1e99
testq %rax, %rax
je 0xfe1e
testb $0x20, 0x24(%rax)
jne 0x10230
movslq 0x40(%rbx), %rax
testq %rax, %rax
js 0xfe53
cmpl %eax, 0x44(%rbx)
jle 0xfe53
movslq 0x8(%rbx), %rcx
movq (%rbx), %rdx
movq 0x38(%rbx), %rsi
movq (%rdx,%rcx,8), %rdi
movzwl (%rsi,%rax,2), %esi
callq 0x1e99
testq %rax, %rax
je 0xfe53
testb $0x40, 0x24(%rax)
jne 0x102dc
movq 0x38(%rbx), %rax
movslq 0x40(%rbx), %rcx
cmpw $0x280c, (%rax,%rcx,2)  # imm = 0x280C
jne 0x100b1
cmpl $-0x1, %ecx
jl 0x100b1
incl %ecx
cmpl %ecx, 0x44(%rbx)
jle 0x100b1
movq (%rbx), %rdx
movslq 0x8(%rbx), %rsi
movq (%rdx,%rsi,8), %rdi
movl %ecx, %ecx
movzwl (%rax,%rcx,2), %esi
callq 0x1e99
testq %rax, %rax
je 0x100b1
testb $0x40, 0x24(%rax)
je 0x100b1
jmp 0x102e6
leal (%r11,%r13), %edx
leal (%r11,%r13), %r8d
incl %r8d
movl %r8d, %ebp
subl %r13d, %ebp
movslq %r8d, %rdi
movzwl (%rax,%rdi,2), %edi
cmpl $0xf587, %edi           # imm = 0xF587
jne 0xfef4
movq %rbx, %rdi
movl %ebp, %esi
movl $0x1, %edx
callq 0x73d5
movl $0x1, 0x94(%rbx)
cmpl $0x0, 0x8(%rsp)
je 0xff3d
leal -0x1(%r12), %eax
movw $0x2818, %cx            # imm = 0x2818
jmp 0xff54
testb $0x1, %sil
je 0xfffa
movzwl %di, %esi
cmpl $0xf007, %esi           # imm = 0xF007
jne 0x10032
leal 0x2(%rdx), %esi
cmpl %ecx, %esi
jge 0x107f7
movslq %esi, %r13
cmpw $0xf007, (%rax,%r13,2)  # imm = 0xF007
jne 0x100e5
leal 0x4(%rdx), %ecx
movl %ecx, 0x14(%rsp)
leal 0x5(%rdx), %ecx
movl %ecx, 0x10(%rsp)
movb $0x1, %cl
jmp 0x10130
movl %r12d, %eax
leal 0x1(%r12), %edx
movl $0x1, 0x8(%rsp)
movw $0x2830, %cx            # imm = 0x2830
movl %edx, %r12d
cltq
movw %cx, 0x20(%rsp,%rax,2)
movq %rbx, %rdi
leaq 0x20(%rsp), %rsi
movl %r12d, %edx
movl $0x1, %ecx
callq 0x74f9
testl %eax, %eax
je 0x107f7
movq 0x38(%rbx), %rax
movslq 0x40(%rbx), %rcx
cmpw $0xf007, (%rax,%rcx,2)  # imm = 0xF007
jne 0x100d0
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x73d5
movl 0x40(%rbx), %eax
movslq 0x44(%rbx), %rcx
cmpl %ecx, %eax
jge 0x107f7
movslq %eax, %rdi
movq 0x38(%rbx), %rdx
movb $0x1, %r8b
cmpw $0xf007, (%rdx,%rdi,2)  # imm = 0xF007
movl %eax, %esi
je 0xffe5
leal -0x1(%rcx), %r8d
cmpl %edi, %r8d
je 0x107f7
leaq 0x1(%rdi), %rsi
cmpw $0xf007, 0x2(%rdx,%rdi,2) # imm = 0xF007
movq %rsi, %rdi
jne 0xffc5
cmpq %rcx, %rsi
setl %r8b
testb %r8b, %r8b
je 0x107f7
subl %eax, %esi
incl %esi
movq %rbx, %rdi
jmp 0x100be
xorl %r13d, %r13d
movb $0x1, %r14b
testb %r14b, %r14b
je 0x10016
movq %rbx, %rdi
movl %ebp, %esi
movl $0x1, %edx
callq 0x73d5
jmp 0x10090
movl $0x1, 0x94(%rbx)
testl %r12d, %r12d
je 0x1006d
movq %rbx, %rdi
leaq 0x20(%rsp), %rsi
movl %r12d, %edx
jmp 0x10081
xorl %r14d, %r14d
movl $0x0, %r13d
cmpl $-0x1, %edx
jl 0x10000
movq (%rbx), %rcx
movslq 0x8(%rbx), %rdx
movq (%rcx,%rdx,8), %rdi
movl %r8d, %ecx
movzwl (%rax,%rcx,2), %esi
callq 0x1e99
xorl %r13d, %r13d
testq %rax, %rax
je 0x10228
movb 0x24(%rax), %r14b
andb $0x1, %r14b
jmp 0x10000
movw $0x2810, 0xe(%rsp)      # imm = 0x2810
movq %rbx, %rdi
leaq 0xe(%rsp), %rsi
movl $0x1, %edx
movl %ebp, %ecx
callq 0x74f9
testl %eax, %eax
je 0x107f7
testl %r13d, %r13d
je 0x100d0
testb %r14b, %r14b
jne 0x100b1
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x73d5
jmp 0x100b1
xorl %r12d, %r12d
subl 0x40(%rbx), %r13d
incl %r13d
movq %rbx, %rdi
movl %r13d, %esi
movl $0x1, %edx
callq 0x7666
testl %eax, %eax
je 0x107f7
movl 0x40(%rbx), %r13d
movl 0x44(%rbx), %ecx
cmpl %ecx, %r13d
jl 0xf976
jmp 0x105bd
movslq %ecx, %rdi
leaq (%rax,%r13,2), %r8
addq $0x2, %r8
subl %edx, %ecx
addl $-0x3, %ecx
xorl %r10d, %r10d
cmpl %r10d, %ecx
je 0x107f7
leaq 0x1(%r10), %r9
cmpw $0xf007, (%r8,%r10,2)   # imm = 0xF007
movq %r9, %r10
jne 0x100f8
addq %r9, %r13
cmpq %rdi, %r13
setl %cl
leal (%rdx,%r9), %edi
addl $0x4, %edi
movl %edi, 0x14(%rsp)
leal (%rdx,%r9), %edi
addl $0x5, %edi
movl %edi, 0x10(%rsp)
testb %cl, %cl
je 0x107f7
movb $0x1, %r14b
cmpl $-0x2, %edx
jl 0x10000
movq (%rbx), %rcx
movslq 0x8(%rbx), %rdx
movq (%rcx,%rdx,8), %rdi
movl %esi, %ecx
movzwl (%rax,%rcx,2), %esi
callq 0x1e99
testq %rax, %rax
je 0x10000
testb $0x20, 0x24(%rax)
je 0x10000
leal 0x1(%r13), %edx
movl 0x44(%rbx), %ecx
cmpl %ecx, %edx
jge 0x10228
movq 0x38(%rbx), %rax
movslq %edx, %rdx
cmpw $0xf007, (%rax,%rdx,2)  # imm = 0xF007
jne 0x10228
leal 0x2(%r13), %r15d
cmpq $-0x2, %r13
setl %dl
cmpl %r15d, %ecx
setle %cl
orb %dl, %cl
jne 0x101ca
movq (%rbx), %rcx
movslq 0x8(%rbx), %rdx
movq (%rcx,%rdx,8), %rdi
movl %r15d, %ecx
movzwl (%rax,%rcx,2), %esi
callq 0x1e99
testq %rax, %rax
je 0x101ca
testb $0x40, 0x24(%rax)
jne 0x1050d
cmpl 0x44(%rbx), %r15d
jge 0x10228
movq 0x38(%rbx), %rax
movslq %r15d, %rcx
cmpw $0x280c, (%rax,%rcx,2)  # imm = 0x280C
jne 0x10228
leal 0x3(%r13), %r15d
movq %rbx, %rdi
movl %r15d, %esi
movl $0x40, %edx
callq 0x10a02
testl %eax, %eax
je 0x10000
movslq 0x44(%rbx), %rax
cmpl %eax, %r15d
jge 0x107f7
movq 0x38(%rbx), %rcx
movslq 0x10(%rsp), %rdx
movb $0x1, %r14b
cmpw $0xf007, (%rcx,%rdx,2)  # imm = 0xF007
jne 0x10559
movb $0x1, %sil
jmp 0x10579
xorl %r14d, %r14d
jmp 0x10000
leal 0x2(%r13), %ebp
cmpl 0x44(%rbx), %ebp
jge 0x100b1
cmpq $-0x2, %r13
jl 0x100b1
movq 0x38(%rbx), %rax
movslq %r13d, %rcx
movzwl 0x2(%rax,%rcx,2), %ecx
cmpl $0xf007, %ecx           # imm = 0xF007
jne 0x100b1
movq (%rbx), %rcx
movslq 0x8(%rbx), %rdx
movq (%rcx,%rdx,8), %rdi
movl %ebp, %ecx
movzwl (%rax,%rcx,2), %esi
callq 0x1e99
testq %rax, %rax
je 0x100b1
testb $0x40, 0x24(%rax)
je 0x100b1
movslq 0x44(%rbx), %rax
cmpl %eax, %ebp
jge 0x107f7
movq 0x38(%rbx), %rcx
movslq %r14d, %rdx
movb $0x1, %sil
cmpw $0xf007, (%rcx,%rdx,2)  # imm = 0xF007
je 0x102c5
incq %rdx
cmpq %rax, %rdx
setl %sil
jge 0x107f7
incl %r14d
cmpw $0xf007, (%rcx,%rdx,2)  # imm = 0xF007
leaq 0x1(%rdx), %rdx
jne 0x102a9
movl $0x0, %r12d
movl %r14d, %r13d
testb %sil, %sil
jne 0x100b1
jmp 0x107f7
movl $0x1, 0x94(%rbx)
movq %rbx, %rdi
leaq 0x20(%rsp), %rsi
movl %r12d, %edx
callq 0x7473
testl %eax, %eax
jne 0x100b1
jmp 0x107f7
testb $0x1, %dil
je 0xfb72
sarq $0x1f, %rdx
cmpw $0xf587, (%rax,%rdx)    # imm = 0xF587
jne 0xfb72
movslq %r13d, %rcx
movq %rcx, %r14
cmpl $-0x1, %ebp
jl 0x10358
cmpl 0x44(%rbx), %r14d
jge 0x10358
movslq 0x8(%rbx), %rax
movq (%rbx), %rcx
movq 0x38(%rbx), %rdx
movq (%rcx,%rax,8), %rdi
movl %r14d, %eax
movzwl (%rdx,%rax,2), %esi
callq 0x1e99
testq %rax, %rax
je 0x10358
leaq 0x1(%r14), %rcx
testb $0x2, 0x24(%rax)
jne 0x10320
cmpl 0x44(%rbx), %r14d
jge 0xfb72
movq 0x38(%rbx), %rax
cmpw $0xf587, (%rax,%r14,2)  # imm = 0xF587
jne 0xfb72
movl $0x1, 0x94(%rbx)
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x73d5
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x7666
testl %eax, %eax
je 0x107f7
movq 0x38(%rbx), %rax
movslq 0x40(%rbx), %rcx
movzwl (%rax,%rcx,2), %eax
leal -0x2032(%rax), %ecx
cmpl $0x3, %ecx
jb 0x1038f
cmpl $0x2057, %eax           # imm = 0x2057
je 0x1038f
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x73d5
movq 0x38(%rbx), %rax
movslq 0x40(%rbx), %rcx
cmpw $0xf587, (%rax,%rcx,2)  # imm = 0xF587
je 0x1058e
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x7666
testl %eax, %eax
jne 0x103d9
jmp 0x107f7
testb $0x1, %dil
je 0xfb7a
sarq $0x1f, %rdx
cmpw $0xf581, (%rax,%rdx)    # imm = 0xF581
jne 0xfb7a
movslq %r13d, %rcx
movq %rcx, %r14
cmpl $-0x1, %ebp
jl 0x1045d
cmpl 0x44(%rbx), %r14d
jge 0x1045d
movslq 0x8(%rbx), %rax
movq (%rbx), %rcx
movq 0x38(%rbx), %rdx
movq (%rcx,%rax,8), %rdi
movl %r14d, %eax
movzwl (%rdx,%rax,2), %esi
callq 0x1e99
testq %rax, %rax
je 0x1045d
leaq 0x1(%r14), %rcx
testb $0x2, 0x24(%rax)
jne 0x10425
cmpl 0x44(%rbx), %r14d
jge 0xfb7a
movq 0x38(%rbx), %rax
cmpw $0xf582, (%rax,%r14,2)  # imm = 0xF582
jne 0xfb7a
movl $0x1, 0x94(%rbx)
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x73d5
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x7666
testl %eax, %eax
je 0x107f7
movq 0x38(%rbx), %rax
movslq 0x40(%rbx), %rcx
movzwl (%rax,%rcx,2), %eax
leal -0x2032(%rax), %ecx
cmpl $0x3, %ecx
jb 0x10494
cmpl $0x2057, %eax           # imm = 0x2057
je 0x10494
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x73d5
movq 0x38(%rbx), %rax
movslq 0x40(%rbx), %rcx
cmpw $0xf582, (%rax,%rcx,2)  # imm = 0xF582
je 0xfb7a
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x7666
testl %eax, %eax
jne 0x104de
jmp 0x107f7
movslq 0x44(%rbx), %rax
cmpl %eax, %r15d
jge 0x107f7
movq 0x38(%rbx), %rcx
movslq 0x14(%rsp), %rdx
movb $0x1, %r14b
cmpw $0xf007, (%rcx,%rdx,2)  # imm = 0xF007
jne 0x10533
movb $0x1, %sil
jmp 0x10553
incq %rdx
cmpq %rax, %rdx
setl %sil
jge 0x107f7
incl 0x14(%rsp)
cmpw $0xf007, (%rcx,%rdx,2)  # imm = 0xF007
leaq 0x1(%rdx), %rdx
jne 0x10536
movl 0x14(%rsp), %eax
jmp 0x1057d
incq %rdx
cmpq %rax, %rdx
setl %sil
jge 0x107f7
incl 0x10(%rsp)
cmpw $0xf007, (%rcx,%rdx,2)  # imm = 0xF007
leaq 0x1(%rdx), %rdx
jne 0x1055c
movl 0x10(%rsp), %eax
movl %eax, %r13d
testb %sil, %sil
jne 0x10000
jmp 0x107f7
movl %r12d, %eax
movw $0x2818, 0x20(%rsp,%rax,2) # imm = 0x2818
movl $0x1, %r12d
movq %rbx, %rdi
leaq 0x20(%rsp), %rsi
movl $0x1, %edx
callq 0x7473
testl %eax, %eax
jne 0xfb7a
jmp 0x107f7
movq 0x60(%rbx), %rax
movslq 0x68(%rbx), %rcx
movw $0x0, (%rax,%rcx,2)
movl 0x94(%rbx), %ebp
testl %ebp, %ebp
je 0x105e5
movq %rbx, %rdi
callq 0x79ae
testl %eax, %eax
je 0x107f7
xorl %ecx, %ecx
movl %ecx, 0x94(%rbx)
movw $0x283c, 0x20(%rsp)     # imm = 0x283C
movslq 0xc(%rbx), %rax
leal -0x1(%rax), %edx
movl %edx, 0x8(%rbx)
movl %ecx, 0x68(%rbx)
movl %ecx, 0x40(%rbx)
cmpl %ecx, 0x44(%rbx)
jle 0x1064c
movq (%rbx), %rcx
movq 0x38(%rbx), %rdx
movq -0x8(%rcx,%rax,8), %rdi
movzwl (%rdx), %esi
callq 0x1e99
testq %rax, %rax
je 0x1064c
testb $0xa, 0x24(%rax)
je 0x1064c
movl $0x1, 0x94(%rbx)
leaq 0x20(%rsp), %rsi
movq %rbx, %rdi
movl $0x1, %edx
callq 0x7473
testl %eax, %eax
je 0x107f7
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x7666
testl %eax, %eax
je 0x107f7
orl 0x18(%rsp), %ebp
leaq 0x20(%rsp), %r14
movl 0x40(%rbx), %eax
cmpl 0x44(%rbx), %eax
jge 0x1080d
testl %eax, %eax
js 0x107dd
movslq 0x8(%rbx), %rcx
movq (%rbx), %rdx
movq 0x38(%rbx), %rsi
movq (%rdx,%rcx,8), %rdi
movzwl (%rsi,%rax,2), %esi
callq 0x1e99
testq %rax, %rax
je 0x107dd
testb $0xa, 0x24(%rax)
je 0x107dd
movslq 0x40(%rbx), %rax
testq %rax, %rax
jle 0x106e0
cmpl %eax, 0x44(%rbx)
jl 0x106e0
movslq 0x8(%rbx), %rcx
movq (%rbx), %rdx
movq 0x38(%rbx), %rsi
movq (%rdx,%rcx,8), %rdi
movzwl -0x2(%rsi,%rax,2), %esi
callq 0x1e99
testq %rax, %rax
je 0x106e0
testb $0x1, 0x24(%rax)
jne 0x106f1
movq 0x38(%rbx), %rax
movslq 0x40(%rbx), %rcx
cmpw $0xf007, -0x2(%rax,%rcx,2) # imm = 0xF007
jne 0x10718
movl $0x1, 0x94(%rbx)
movq %rbx, %rdi
movq %r14, %rsi
movl $0x1, %edx
callq 0x7473
testl %eax, %eax
jne 0x107dd
jmp 0x107f7
testl %ecx, %ecx
jle 0x10745
cmpl %ecx, 0x44(%rbx)
jl 0x10745
decq %rcx
movq (%rbx), %rdx
movslq 0x8(%rbx), %rsi
movq (%rdx,%rsi,8), %rdi
movl %ecx, %ecx
movzwl (%rax,%rcx,2), %esi
callq 0x1e99
testq %rax, %rax
je 0x10745
testb $0x10, 0x24(%rax)
jne 0x10785
movslq 0x40(%rbx), %rax
testq %rax, %rax
jle 0x107dd
cmpl %eax, 0x44(%rbx)
jl 0x107dd
movslq 0x8(%rbx), %rcx
movq (%rbx), %rdx
movq 0x38(%rbx), %rsi
movq (%rdx,%rcx,8), %rdi
movzwl -0x2(%rsi,%rax,2), %esi
callq 0x1e99
testq %rax, %rax
je 0x107dd
testb $-0x80, 0x24(%rax)
jne 0x106f1
jmp 0x107dd
movl 0x40(%rbx), %eax
cmpl $0x2, %eax
jl 0x107be
addl $-0x2, %eax
cmpl %eax, 0x44(%rbx)
jle 0x107be
movslq 0x8(%rbx), %rcx
movq (%rbx), %rdx
movq 0x38(%rbx), %rsi
movq (%rdx,%rcx,8), %rdi
movl %eax, %eax
movzwl (%rsi,%rax,2), %esi
callq 0x1e99
testq %rax, %rax
je 0x107be
testb $0x1, 0x24(%rax)
jne 0x106f1
movslq 0x40(%rbx), %rax
cmpq $0x2, %rax
jl 0x106f1
movq 0x38(%rbx), %rcx
cmpw $0xf007, -0x4(%rcx,%rax,2) # imm = 0xF007
je 0x106f1
movq %rbx, %rdi
movl $0x1, %esi
movl $0x1, %edx
callq 0x7666
testl %eax, %eax
jne 0x1066f
xorl %ebp, %ebp
movl %ebp, %eax
addq $0x1e8, %rsp            # imm = 0x1E8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x60(%rbx), %rax
movslq 0x68(%rbx), %rcx
movw $0x0, (%rax,%rcx,2)
movl 0x94(%rbx), %eax
orl %eax, %ebp
movl $0x1, %ebp
cmovel 0x1c(%rsp), %ebp
movslq 0xc(%rbx), %rcx
testq %rcx, %rcx
jle 0x10899
movq (%rbx), %rdx
xorl %esi, %esi
xorl %edi, %edi
movq (%rdx,%rsi,8), %r8
addl 0x2d0(%r8), %edi
incq %rsi
cmpq %rsi, %rcx
jne 0x1083d
testl %edi, %edi
je 0x10899
testl %eax, %eax
je 0x10864
movq %rbx, %rdi
callq 0x79ae
testl %eax, %eax
je 0x107f7
movl $0x0, 0x94(%rbx)
movl $0x1, %r14d
movq %rbx, %rdi
movl $0x4, %esi
movl $0x1, %edx
callq 0xad13
testl %eax, %eax
je 0x107f7
cmpl $0x0, 0x94(%rbx)
cmovnel %r14d, %ebp
movslq 0xc(%rbx), %rax
testq %rax, %rax
jle 0x1090d
movq (%rbx), %rcx
xorl %edx, %edx
xorl %esi, %esi
movq (%rcx,%rdx,8), %rdi
addl 0x2e8(%rdi), %esi
incq %rdx
cmpq %rdx, %rax
jne 0x108a9
testl %esi, %esi
je 0x1090d
cmpl $0x0, 0x94(%rbx)
je 0x108d8
movq %rbx, %rdi
callq 0x79ae
testl %eax, %eax
je 0x107f7
movl $0x0, 0x94(%rbx)
movl $0x1, %r14d
movq %rbx, %rdi
movl $0x5, %esi
movl $0x1, %edx
callq 0xad13
testl %eax, %eax
je 0x107f7
cmpl $0x0, 0x94(%rbx)
cmovnel %r14d, %ebp
movslq 0xc(%rbx), %rax
testq %rax, %rax
jle 0x10981
movq (%rbx), %rcx
xorl %edx, %edx
xorl %esi, %esi
movq (%rcx,%rdx,8), %rdi
addl 0x300(%rdi), %esi
incq %rdx
cmpq %rdx, %rax
jne 0x1091d
testl %esi, %esi
je 0x10981
cmpl $0x0, 0x94(%rbx)
je 0x1094c
movq %rbx, %rdi
callq 0x79ae
testl %eax, %eax
je 0x107f7
movl $0x0, 0x94(%rbx)
movl $0x1, %r14d
movq %rbx, %rdi
movl $0x6, %esi
movl $0x1, %edx
callq 0xad13
testl %eax, %eax
je 0x107f7
cmpl $0x0, 0x94(%rbx)
cmovnel %r14d, %ebp
movslq 0xc(%rbx), %rax
testq %rax, %rax
jle 0x107f9
movq (%rbx), %rcx
xorl %edx, %edx
xorl %esi, %esi
movq (%rcx,%rdx,8), %rdi
addl 0x318(%rdi), %esi
incq %rdx
cmpq %rdx, %rax
jne 0x10995
testl %esi, %esi
je 0x107f9
cmpl $0x0, 0x94(%rbx)
je 0x109c8
movq %rbx, %rdi
callq 0x79ae
testl %eax, %eax
je 0x107f7
movl $0x0, 0x94(%rbx)
movl $0x1, %r14d
movq %rbx, %rdi
movl $0x7, %esi
movl $0x1, %edx
callq 0xad13
testl %eax, %eax
je 0x107f7
cmpl $0x0, 0x94(%rbx)
cmovnel %r14d, %ebp
jmp 0x107f9