// File: /workspace/github_c_makefile_star2_O0/theovosse[P]llgen/regexp.c
// Function: CompileDFA
int CompileDFA(RegExp dfa, int prevLen, unsigned char *code, Boolean generate) {
	RegExp state;
	Transition tr;
	int mCount = charSetSize, count;
	RegExp mState = NULL;
	ESet elt;
	int i, j;
	RegExp cSet[256];
	int nrBytes = 0;
	int tmpJump;

	/* MOVE.L A0,A1
	   MOVE.W #$FFFF,D0
	   CLR.W D1 */
	if (generate) {
		*code++ = 0x22;
		*code++ = 0x48;
		*code++ = 0x30;
		*code++ = 0x3C;
		*code++ = 0xFF;
		*code++ = 0xFF;
		*code++ = 0x42;
		*code++ = 0x41;
	}
	nrBytes += 8;
	for (state = dfa; state != NULL; state = state->next) {
		for (i = 0; i != charSetSize; i++) cSet[i] = NULL;
		for (tr = state->transitions; tr != NULL; tr = tr->next) {
			cSet[tr->transitionChar] = tr->destination;
		}
		mCount = -1; mState = NULL;
		for (i = 0; i != charSetSize; i++) {
			if (cSet[i] != mState) /* not the most efficient check, but ok */ {
				for (count = 0, j = i; j != charSetSize; j++)
					if (cSet[j] == cSet[i] && (j == i || cSet[j] != cSet[j - 1]))
						count++;
				if (count > mCount) {
					mCount = count;
					mState = cSet[i];
				}
			}
		}
		/* mCount is max. nr. of transitions to the same state, mState is that state */
		state->state.number = nrBytes;
		if (state->info != NULL) {
			Answer first;
			for (elt = state->info, first = elt->element; elt != NULL; elt = elt->next) {
				if (first->number > ((Answer) elt->element)->number) {
					first = elt->element;
				}
			}
			/* MOVEA.L #first->info,A0 */
			if (generate) {
				*code++ = 0x20;
				*code++ = 0x7C;
				*code++ = ((long int) first->info) >> 24;
				*code++ = (((long int) first->info) >> 16) & 0xFF;
				*code++ = (((long int) first->info) >> 8) & 0xFF;
				*code++ = ((long int) first->info) & 0xFF;
			}
			nrBytes += 6;
			/* MOVE.W D1,D0 */
			if (generate) {
				*code++ = 0x30;
				*code++ = 0x01;
			}
			nrBytes += 2;
		}
		/* MOVE.B (A1)+,D2
		   ADDQ.W #1,D1 */
		if (generate) {
			*code++ = 0x14;
			*code++ = 0x19;
			*code++ = 0x52;
			*code++ = 0x41;
		}
		nrBytes += 4;
		i = 0;
		while (i != charSetSize) {
			if (cSet[i] != mState) {
				if (i < charSetSize - 2 && cSet[i] == cSet[i + 1] && cSet[i] == cSet[i + 2]) {
					if (i == 0) {
						tmpJump = -1;
					} else {
						/* CMP.B  #i,D2 */
						if (generate) {
							*code++ = 0x0C;
							*code++ = 0x02;
							*code++ = 0x00;
							*code++ = i & 0xFF;
						}
						nrBytes += 4;
						/* BLT    tempLabel */
						if (generate) {
							*code++ = 0x6D;
							*code++ = 0x08;
						}
						nrBytes += 2;
						tmpJump = nrBytes; /* wijzig code[tmpJump - nrBytes - 1] */
					}
					do {
						i++;
					}
					while (i != charSetSize && cSet[i] == cSet[i - 1]);
					i--;
					if (i == charSetSize - 1) {
						/* JMP */
						if (generate) {
							*code++ = 0x4E;
							*code++ = 0xFA;
						}
						nrBytes += 2;
						if (cSet[i] == NULL) {
							/* JMP    FAIL */
							if (generate) {
								*code++ = ((prevLen - nrBytes) >> 8) & 0xFF;
								*code++ = (prevLen - nrBytes) & 0xFF;
							}
							nrBytes += 2;
						} else if (cSet[i] == state && state->info != NULL) {
							/* JMP @cSet[i]->state.number + 6 */
							if (generate) {
								*code++ = ((cSet[i]->state.number + 6 - nrBytes) >> 8) & 0xFF;
								*code++ = (cSet[i]->state.number + 6 - nrBytes) & 0xFF;
							}
							nrBytes += 2;
						} else {
							/* JMP @cSet[i]->state.number */
							if (generate) {
								*code++ = ((cSet[i]->state.number - nrBytes) >> 8) & 0xFF;
								*code++ = (cSet[i]->state.number - nrBytes) & 0xFF;
							}
							nrBytes += 2;
						}
					} else {
						/* CMP.B  #$i,D2 */
						if (generate) {
							*code++ = 0x0C;
							*code++ = 0x02;
							*code++ = 0x00;
							*code++ = i & 0xFF;
						}
						nrBytes += 4;
						/* BLE */
						if (generate) {
							*code++ = 0x6F;
							*code++ = 0x00;
						}
						nrBytes += 2;
						if (cSet[i] == NULL) {
							/* BLE    FAIL */
							if (generate) {
								*code++ = ((prevLen - nrBytes) >> 8) & 0xFF;
								*code++ = (prevLen - nrBytes) & 0xFF;
							}
							nrBytes += 2;
						} else if (cSet[i] == state && state->info != NULL) {
							/* BLE    @cSet[i]->state.number + 6 */
							if (generate) {
								*code++ = ((cSet[i]->state.number + 6 - nrBytes) >> 8) & 0xFF;
								*code++ = (cSet[i]->state.number + 6 - nrBytes) & 0xFF;
							}
							nrBytes += 2;
						} else {
							/* BLE    @cSet[i]->state.number */
							if (generate) {
								*code++ = ((cSet[i]->state.number - nrBytes) >> 8) & 0xFF;
								*code++ = (cSet[i]->state.number - nrBytes) & 0xFF;
							}
							nrBytes += 2;
						}
					}
					/* tempLabel */
					if (generate && tmpJump != -1) {
						code[tmpJump - nrBytes - 1] = nrBytes - tmpJump;
					}
				} else {
					if (i == 0) {
						/* TST.B  D2 */
						if (generate) {
							*code++ = 0x4A;
							*code++ = 0x02;
						}
						nrBytes += 2;
					} else {
						/* CMP.B  #i,D2 */
						if (generate) {
							*code++ = 0x0C;
							*code++ = 0x02;
							*code++ = 0x00;
							*code++ = i & 0xFF;
						}
						nrBytes += 4;
					}
					/* BEQ */
					if (generate) {
						*code++ = 0x67;
						*code++ = 0x00;
					}
					nrBytes += 2;
					if (cSet[i] == NULL) {
						/* BEQ    FAIL */
						if (generate) {
							*code++ = ((prevLen - nrBytes) >> 8) & 0xFF;
							*code++ = (prevLen - nrBytes) & 0xFF;
						}
						nrBytes += 2;
					} else if (cSet[i] == state && state->info != NULL) {
						/* BEQ    @cSet[i]->state.number + 6 */
						if (generate) {
							*code++ = ((cSet[i]->state.number + 6 - nrBytes) >> 8) & 0xFF;
							*code++ = (cSet[i]->state.number + 6 - nrBytes) & 0xFF;
						}
						nrBytes += 2;
					} else {
						/* BEQ    @cSet[i]->state.number */
						if (generate) {
							*code++ = ((cSet[i]->state.number - nrBytes) >> 8) & 0xFF;
							*code++ = (cSet[i]->state.number - nrBytes) & 0xFF;
						}
						nrBytes += 2;
					}
				}
			}
			i++;
		}
		if (mState == NULL) {
			if (state->next != NULL) {
				/* JMP    FAIL */
				if (generate) {
					*code++ = 0x4E;
					*code++ = 0xFA;
					*code++ = ((prevLen - (nrBytes + 2)) >> 8) & 0xFF;
					*code++ = (prevLen - (nrBytes + 2)) & 0xFF;
				}
				nrBytes += 4;
			}
		} else {
			if (mState == state && state->info != NULL) {
				/* JMP    @mState->state.number + 6 */
				if (generate) {
					*code++ = 0x4E;
					*code++ = 0xFA;
					*code++ = ((mState->state.number + 6 - (nrBytes + 2)) >> 8) & 0xFF;
					*code++ = (mState->state.number + 6 - (nrBytes + 2)) & 0xFF;
				}
				nrBytes += 4;
			} else {
				/* JMP    @mState->state.number */
				if (generate) {
					*code++ = 0x4E;
					*code++ = 0xFA;
					*code++ = ((mState->state.number - (nrBytes + 2)) >> 8) & 0xFF;
					*code++ = (mState->state.number - (nrBytes + 2)) & 0xFF;
				}
				nrBytes += 4;
			}
		}
	}
	/* RTS
	 */
 /* if (generate) {
		RenumberDFA(dfa);
	} */
	return (nrBytes);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x7f0, %rsp            # imm = 0x7F0
movw %cx, %ax
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movw %ax, -0x1a(%rbp)
movl 0xb6b1(%rip), %eax      # 0x202a4
movl %eax, -0x34(%rbp)
movq $0x0, -0x40(%rbp)
movl $0x0, -0x854(%rbp)
cmpw $0x0, -0x1a(%rbp)
je 0x14ca3
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x22, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x48, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x30, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x3c, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $-0x1, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $-0x1, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x42, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x41, (%rax)
movl -0x854(%rbp), %eax
addl $0x8, %eax
movl %eax, -0x854(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
cmpq $0x0, -0x28(%rbp)
je 0x15abc
movl $0x0, -0x4c(%rbp)
movl -0x4c(%rbp), %eax
cmpl 0xb5cf(%rip), %eax      # 0x202a4
je 0x14cf2
movslq -0x4c(%rbp), %rax
movq $0x0, -0x850(%rbp,%rax,8)
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0x14ccc
movq -0x28(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x30(%rbp)
je 0x14d29
movq -0x30(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x30(%rbp), %rax
movslq (%rax), %rax
movq %rcx, -0x850(%rbp,%rax,8)
movq -0x30(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x30(%rbp)
jmp 0x14cfd
movl $0xffffffff, -0x34(%rbp) # imm = 0xFFFFFFFF
movq $0x0, -0x40(%rbp)
movl $0x0, -0x4c(%rbp)
movl -0x4c(%rbp), %eax
cmpl 0xb55c(%rip), %eax      # 0x202a4
je 0x14e03
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
cmpq -0x40(%rbp), %rax
je 0x14df3
movl $0x0, -0x38(%rbp)
movl -0x4c(%rbp), %eax
movl %eax, -0x50(%rbp)
movl -0x50(%rbp), %eax
cmpl 0xb52a(%rip), %eax      # 0x202a4
je 0x14dd3
movslq -0x50(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movslq -0x4c(%rbp), %rcx
cmpq -0x850(%rbp,%rcx,8), %rax
jne 0x14dc6
movl -0x50(%rbp), %eax
cmpl -0x4c(%rbp), %eax
je 0x14dbd
movslq -0x50(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movl -0x50(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
cmpq -0x850(%rbp,%rcx,8), %rax
je 0x14dc6
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
jmp 0x14dc8
movl -0x50(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x50(%rbp)
jmp 0x14d71
movl -0x38(%rbp), %eax
cmpl -0x34(%rbp), %eax
jle 0x14df1
movl -0x38(%rbp), %eax
movl %eax, -0x34(%rbp)
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movq %rax, -0x40(%rbp)
jmp 0x14df3
jmp 0x14df5
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0x14d3f
movslq -0x854(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x28(%rax)
movq -0x28(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x14f82
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x48(%rbp)
movq -0x48(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x860(%rbp)
cmpq $0x0, -0x48(%rbp)
je 0x14e74
movq -0x860(%rbp), %rax
movl (%rax), %eax
movq -0x48(%rbp), %rcx
movq (%rcx), %rcx
cmpl (%rcx), %eax
jle 0x14e64
movq -0x48(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x860(%rbp)
jmp 0x14e66
movq -0x48(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x48(%rbp)
jmp 0x14e3b
cmpw $0x0, -0x1a(%rbp)
je 0x14f39
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x20, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x7c, (%rax)
movq -0x860(%rbp), %rax
movq 0x8(%rax), %rax
sarq $0x18, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movq -0x860(%rbp), %rax
movq 0x8(%rax), %rax
sarq $0x10, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movq -0x860(%rbp), %rax
movq 0x8(%rax), %rax
sarq $0x8, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movq -0x860(%rbp), %rax
movq 0x8(%rax), %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0x854(%rbp), %eax
addl $0x6, %eax
movl %eax, -0x854(%rbp)
cmpw $0x0, -0x1a(%rbp)
je 0x14f73
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x30, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x1, (%rax)
movl -0x854(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x854(%rbp)
cmpw $0x0, -0x1a(%rbp)
je 0x14fd1
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x14, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x19, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x52, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x41, (%rax)
movl -0x854(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x854(%rbp)
movl $0x0, -0x4c(%rbp)
movl -0x4c(%rbp), %eax
cmpl 0xb2b4(%rip), %eax      # 0x202a4
je 0x15891
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
cmpq -0x40(%rbp), %rax
je 0x15883
movl -0x4c(%rbp), %eax
movl 0xb28f(%rip), %ecx      # 0x202a4
subl $0x2, %ecx
cmpl %ecx, %eax
jge 0x155f9
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movl -0x4c(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
cmpq -0x850(%rbp,%rcx,8), %rax
jne 0x155f9
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movl -0x4c(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
cmpq -0x850(%rbp,%rcx,8), %rax
jne 0x155f9
cmpl $0x0, -0x4c(%rbp)
jne 0x1507b
movl $0xffffffff, -0x858(%rbp) # imm = 0xFFFFFFFF
jmp 0x15128
cmpw $0x0, -0x1a(%rbp)
je 0x150d3
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0xc, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x2, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x0, (%rax)
movl -0x4c(%rbp), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0x854(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x854(%rbp)
cmpw $0x0, -0x1a(%rbp)
je 0x1510d
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x6d, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x8, (%rax)
movl -0x854(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x854(%rbp)
movl -0x854(%rbp), %eax
movl %eax, -0x858(%rbp)
jmp 0x1512a
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
movl -0x4c(%rbp), %ecx
xorl %eax, %eax
cmpl 0xb166(%rip), %ecx      # 0x202a4
movb %al, -0x861(%rbp)
je 0x1516c
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movl -0x4c(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
cmpq -0x850(%rbp,%rcx,8), %rax
sete %al
movb %al, -0x861(%rbp)
movb -0x861(%rbp), %al
testb $0x1, %al
jne 0x1512a
movl -0x4c(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x4c(%rbp)
movl -0x4c(%rbp), %eax
movl 0xb11c(%rip), %ecx      # 0x202a4
subl $0x1, %ecx
cmpl %ecx, %eax
jne 0x15375
cmpw $0x0, -0x1a(%rbp)
je 0x151be
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x4e, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $-0x6, (%rax)
movl -0x854(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x854(%rbp)
movslq -0x4c(%rbp), %rax
cmpq $0x0, -0x850(%rbp,%rax,8)
jne 0x1523c
cmpw $0x0, -0x1a(%rbp)
je 0x15228
movl -0xc(%rbp), %eax
subl -0x854(%rbp), %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0xc(%rbp), %eax
subl -0x854(%rbp), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0x854(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x854(%rbp)
jmp 0x15370
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
cmpq -0x28(%rbp), %rax
jne 0x152ee
movq -0x28(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x152ee
cmpw $0x0, -0x1a(%rbp)
je 0x152da
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movq 0x28(%rax), %rax
addq $0x6, %rax
movslq -0x854(%rbp), %rcx
subq %rcx, %rax
sarq $0x8, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movq 0x28(%rax), %rax
addq $0x6, %rax
movslq -0x854(%rbp), %rcx
subq %rcx, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0x854(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x854(%rbp)
jmp 0x1536e
cmpw $0x0, -0x1a(%rbp)
je 0x1535f
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movq 0x28(%rax), %rax
movslq -0x854(%rbp), %rcx
subq %rcx, %rax
sarq $0x8, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movq 0x28(%rax), %rax
movslq -0x854(%rbp), %rcx
subq %rcx, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0x854(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x854(%rbp)
jmp 0x15370
jmp 0x155bb
cmpw $0x0, -0x1a(%rbp)
je 0x153cd
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0xc, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x2, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x0, (%rax)
movl -0x4c(%rbp), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0x854(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x854(%rbp)
cmpw $0x0, -0x1a(%rbp)
je 0x15407
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x6f, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x0, (%rax)
movl -0x854(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x854(%rbp)
movslq -0x4c(%rbp), %rax
cmpq $0x0, -0x850(%rbp,%rax,8)
jne 0x15485
cmpw $0x0, -0x1a(%rbp)
je 0x15471
movl -0xc(%rbp), %eax
subl -0x854(%rbp), %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0xc(%rbp), %eax
subl -0x854(%rbp), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0x854(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x854(%rbp)
jmp 0x155b9
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
cmpq -0x28(%rbp), %rax
jne 0x15537
movq -0x28(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x15537
cmpw $0x0, -0x1a(%rbp)
je 0x15523
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movq 0x28(%rax), %rax
addq $0x6, %rax
movslq -0x854(%rbp), %rcx
subq %rcx, %rax
sarq $0x8, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movq 0x28(%rax), %rax
addq $0x6, %rax
movslq -0x854(%rbp), %rcx
subq %rcx, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0x854(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x854(%rbp)
jmp 0x155b7
cmpw $0x0, -0x1a(%rbp)
je 0x155a8
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movq 0x28(%rax), %rax
movslq -0x854(%rbp), %rcx
subq %rcx, %rax
sarq $0x8, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movq 0x28(%rax), %rax
movslq -0x854(%rbp), %rcx
subq %rcx, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0x854(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x854(%rbp)
jmp 0x155b9
jmp 0x155bb
movswl -0x1a(%rbp), %eax
cmpl $0x0, %eax
je 0x155f4
cmpl $-0x1, -0x858(%rbp)
je 0x155f4
movl -0x854(%rbp), %eax
subl -0x858(%rbp), %eax
movb %al, %dl
movq -0x18(%rbp), %rax
movl -0x858(%rbp), %ecx
subl -0x854(%rbp), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movb %dl, (%rax,%rcx)
jmp 0x15881
cmpl $0x0, -0x4c(%rbp)
jne 0x1563b
cmpw $0x0, -0x1a(%rbp)
je 0x1562a
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x4a, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x2, (%rax)
movl -0x854(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x854(%rbp)
jmp 0x156a2
cmpw $0x0, -0x1a(%rbp)
je 0x15693
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0xc, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x2, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x0, (%rax)
movl -0x4c(%rbp), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0x854(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x854(%rbp)
cmpw $0x0, -0x1a(%rbp)
je 0x156cd
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x67, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x0, (%rax)
movl -0x854(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x854(%rbp)
movslq -0x4c(%rbp), %rax
cmpq $0x0, -0x850(%rbp,%rax,8)
jne 0x1574b
cmpw $0x0, -0x1a(%rbp)
je 0x15737
movl -0xc(%rbp), %eax
subl -0x854(%rbp), %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0xc(%rbp), %eax
subl -0x854(%rbp), %eax
andl $0xff, %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0x854(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x854(%rbp)
jmp 0x1587f
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
cmpq -0x28(%rbp), %rax
jne 0x157fd
movq -0x28(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x157fd
cmpw $0x0, -0x1a(%rbp)
je 0x157e9
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movq 0x28(%rax), %rax
addq $0x6, %rax
movslq -0x854(%rbp), %rcx
subq %rcx, %rax
sarq $0x8, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movq 0x28(%rax), %rax
addq $0x6, %rax
movslq -0x854(%rbp), %rcx
subq %rcx, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0x854(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x854(%rbp)
jmp 0x1587d
cmpw $0x0, -0x1a(%rbp)
je 0x1586e
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movq 0x28(%rax), %rax
movslq -0x854(%rbp), %rcx
subq %rcx, %rax
sarq $0x8, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movslq -0x4c(%rbp), %rax
movq -0x850(%rbp,%rax,8), %rax
movq 0x28(%rax), %rax
movslq -0x854(%rbp), %rcx
subq %rcx, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0x854(%rbp), %eax
addl $0x2, %eax
movl %eax, -0x854(%rbp)
jmp 0x1587f
jmp 0x15881
jmp 0x15883
movl -0x4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4c(%rbp)
jmp 0x14fe7
cmpq $0x0, -0x40(%rbp)
jne 0x15939
movq -0x28(%rbp), %rax
cmpq $0x0, 0x18(%rax)
je 0x15934
cmpw $0x0, -0x1a(%rbp)
je 0x15925
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x4e, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $-0x6, (%rax)
movl -0xc(%rbp), %eax
movl -0x854(%rbp), %ecx
addl $0x2, %ecx
subl %ecx, %eax
sarl $0x8, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0xc(%rbp), %eax
movl -0x854(%rbp), %ecx
addl $0x2, %ecx
subl %ecx, %eax
andl $0xff, %eax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0x854(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x854(%rbp)
jmp 0x15aa9
movq -0x40(%rbp), %rax
cmpq -0x28(%rbp), %rax
jne 0x15a05
movq -0x28(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x15a05
cmpw $0x0, -0x1a(%rbp)
je 0x159f1
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x4e, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $-0x6, (%rax)
movq -0x40(%rbp), %rax
movq 0x28(%rax), %rax
addq $0x6, %rax
movl -0x854(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
subq %rcx, %rax
sarq $0x8, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movq -0x40(%rbp), %rax
movq 0x28(%rax), %rax
addq $0x6, %rax
movl -0x854(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
subq %rcx, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0x854(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x854(%rbp)
jmp 0x15aa7
cmpw $0x0, -0x1a(%rbp)
je 0x15a98
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $0x4e, (%rax)
movq -0x18(%rbp), %rax
movq %rax, %rcx
addq $0x1, %rcx
movq %rcx, -0x18(%rbp)
movb $-0x6, (%rax)
movq -0x40(%rbp), %rax
movq 0x28(%rax), %rax
movl -0x854(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
subq %rcx, %rax
sarq $0x8, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movq -0x40(%rbp), %rax
movq 0x28(%rax), %rax
movl -0x854(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
subq %rcx, %rax
andq $0xff, %rax
movb %al, %cl
movq -0x18(%rbp), %rax
movq %rax, %rdx
addq $0x1, %rdx
movq %rdx, -0x18(%rbp)
movb %cl, (%rax)
movl -0x854(%rbp), %eax
addl $0x4, %eax
movl %eax, -0x854(%rbp)
jmp 0x15aa9
jmp 0x15aab
movq -0x28(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x28(%rbp)
jmp 0x14cba
movl -0x854(%rbp), %eax
addq $0x7f0, %rsp            # imm = 0x7F0
popq %rbp
retq
nopl (%rax,%rax)