// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/external/tre/lib/tre-compile.c
// Function: tre_set_union
static tre_pos_and_tags_t *
tre_set_union(tre_mem_t mem, tre_pos_and_tags_t *set1, tre_pos_and_tags_t *set2,
	      int *tags, int assertions, int *params)
{
  int s1, s2, i, j;
  tre_pos_and_tags_t *new_set;
  int *new_tags;
  int num_tags;

  for (num_tags = 0; tags != NULL && tags[num_tags] >= 0; num_tags++);
  for (s1 = 0; set1[s1].position >= 0; s1++);
  for (s2 = 0; set2[s2].position >= 0; s2++);
  new_set = tre_mem_calloc(mem, sizeof(*new_set) * (s1 + s2 + 1));
  if (!new_set )
    return NULL;

  for (s1 = 0; set1[s1].position >= 0; s1++)
    {
      new_set[s1].position = set1[s1].position;
      new_set[s1].code_min = set1[s1].code_min;
      new_set[s1].code_max = set1[s1].code_max;
      new_set[s1].assertions = set1[s1].assertions | assertions;
      new_set[s1].class = set1[s1].class;
      new_set[s1].neg_classes = set1[s1].neg_classes;
      new_set[s1].backref = set1[s1].backref;
      if (set1[s1].tags == NULL && tags == NULL)
	new_set[s1].tags = NULL;
      else
	{
	  for (i = 0; set1[s1].tags != NULL && set1[s1].tags[i] >= 0; i++);
	  new_tags = tre_mem_alloc(mem, (sizeof(*new_tags)
					 * (i + num_tags + 1)));
	  if (new_tags == NULL)
	    return NULL;
	  for (j = 0; j < i; j++)
	    new_tags[j] = set1[s1].tags[j];
	  for (i = 0; i < num_tags; i++)
	    new_tags[j + i] = tags[i];
	  new_tags[j + i] = -1;
	  new_set[s1].tags = new_tags;
	}
      if (set1[s1].params)
	new_set[s1].params = set1[s1].params;
      if (params)
	{
	  if (!new_set[s1].params)
	    new_set[s1].params = params;
	  else
	    {
	      new_set[s1].params = tre_mem_alloc(mem, sizeof(*params) *
						 TRE_PARAM_LAST);
	      if (!new_set[s1].params)
		return NULL;
	      for (i = 0; i < TRE_PARAM_LAST; i++)
		if (params[i] != TRE_PARAM_UNSET)
		  new_set[s1].params[i] = params[i];
	    }
	}
    }

  for (s2 = 0; set2[s2].position >= 0; s2++)
    {
      new_set[s1 + s2].position = set2[s2].position;
      new_set[s1 + s2].code_min = set2[s2].code_min;
      new_set[s1 + s2].code_max = set2[s2].code_max;
      /* XXX - why not | assertions here as well? */
      new_set[s1 + s2].assertions = set2[s2].assertions;
      new_set[s1 + s2].class = set2[s2].class;
      new_set[s1 + s2].neg_classes = set2[s2].neg_classes;
      new_set[s1 + s2].backref = set2[s2].backref;
      if (set2[s2].tags == NULL)
	new_set[s1 + s2].tags = NULL;
      else
	{
	  for (i = 0; set2[s2].tags[i] >= 0; i++);
	  new_tags = tre_mem_alloc(mem, sizeof(*new_tags) * (i + 1));
	  if (new_tags == NULL)
	    return NULL;
	  for (j = 0; j < i; j++)
	    new_tags[j] = set2[s2].tags[j];
	  new_tags[j] = -1;
	  new_set[s1 + s2].tags = new_tags;
	}
      if (set2[s2].params)
	new_set[s1 + s2].params = set2[s2].params;
      if (params)
	{
	  if (!new_set[s1 + s2].params)
	    new_set[s1 + s2].params = params;
	  else
	    {
	      new_set[s1 + s2].params = tre_mem_alloc(mem, sizeof(*params) *
						      TRE_PARAM_LAST);
	      if (!new_set[s1 + s2].params)
		return NULL;
	      for (i = 0; i < TRE_PARAM_LAST; i++)
		if (params[i] != TRE_PARAM_UNSET)
		  new_set[s1 + s2].params[i] = params[i];
	    }
	}
    }
  new_set[s1 + s2].position = -1;
  return new_set;
}

// Assembly:
subq $0x68, %rsp
movq %rdi, 0x58(%rsp)
movq %rsi, 0x50(%rsp)
movq %rdx, 0x48(%rsp)
movq %rcx, 0x40(%rsp)
movl %r8d, 0x3c(%rsp)
movq %r9, 0x30(%rsp)
movl $0x0, 0xc(%rsp)
xorl %eax, %eax
cmpq $0x0, 0x40(%rsp)
movb %al, 0xb(%rsp)
je 0xbe57d
movq 0x40(%rsp), %rax
movslq 0xc(%rsp), %rcx
cmpl $0x0, (%rax,%rcx,4)
setge %al
movb %al, 0xb(%rsp)
movb 0xb(%rsp), %al
testb $0x1, %al
jne 0xbe587
jmp 0xbe596
jmp 0xbe589
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
jmp 0xbe55a
movl $0x0, 0x2c(%rsp)
movq 0x50(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
cmpl $0x0, (%rax)
jl 0xbe5c3
jmp 0xbe5b6
movl 0x2c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2c(%rsp)
jmp 0xbe59e
movl $0x0, 0x28(%rsp)
movq 0x48(%rsp), %rax
movslq 0x28(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
cmpl $0x0, (%rax)
jl 0xbe5f0
jmp 0xbe5e3
movl 0x28(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x28(%rsp)
jmp 0xbe5cb
movq 0x58(%rsp), %rdi
movl 0x2c(%rsp), %eax
addl 0x28(%rsp), %eax
addl $0x1, %eax
movslq %eax, %r8
shlq $0x6, %r8
xorl %esi, %esi
xorl %eax, %eax
movl %eax, %edx
movl $0x1, %ecx
callq 0xc3270
movq %rax, 0x18(%rsp)
cmpq $0x0, 0x18(%rsp)
jne 0xbe632
movq $0x0, 0x60(%rsp)
jmp 0xbee77
movl $0x0, 0x2c(%rsp)
movq 0x50(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
cmpl $0x0, (%rax)
jl 0xbea55
movq 0x50(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movl (%rax), %ecx
movq 0x18(%rsp), %rax
movslq 0x2c(%rsp), %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movl %ecx, (%rax)
movq 0x50(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movl 0x4(%rax), %ecx
movq 0x18(%rsp), %rax
movslq 0x2c(%rsp), %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movl %ecx, 0x4(%rax)
movq 0x50(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movl 0x8(%rax), %ecx
movq 0x18(%rsp), %rax
movslq 0x2c(%rsp), %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movl %ecx, 0x8(%rax)
movq 0x50(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movl 0x18(%rax), %ecx
orl 0x3c(%rsp), %ecx
movq 0x18(%rsp), %rax
movslq 0x2c(%rsp), %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movl %ecx, 0x18(%rax)
movq 0x50(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq 0x20(%rax), %rcx
movq 0x18(%rsp), %rax
movslq 0x2c(%rsp), %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movq %rcx, 0x20(%rax)
movq 0x50(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq 0x28(%rax), %rcx
movq 0x18(%rsp), %rax
movslq 0x2c(%rsp), %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movq %rcx, 0x28(%rax)
movq 0x50(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movl 0x30(%rax), %ecx
movq 0x18(%rsp), %rax
movslq 0x2c(%rsp), %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movl %ecx, 0x30(%rax)
movq 0x50(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
cmpq $0x0, 0x10(%rax)
jne 0xbe7b0
cmpq $0x0, 0x40(%rsp)
jne 0xbe7b0
movq 0x18(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq $0x0, 0x10(%rax)
jmp 0xbe90c
movl $0x0, 0x24(%rsp)
movq 0x50(%rsp), %rcx
movslq 0x2c(%rsp), %rax
shlq $0x6, %rax
addq %rax, %rcx
xorl %eax, %eax
cmpq $0x0, 0x10(%rcx)
movb %al, 0xa(%rsp)
je 0xbe7fb
movq 0x50(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
movslq 0x24(%rsp), %rcx
cmpl $0x0, (%rax,%rcx,4)
setge %al
movb %al, 0xa(%rsp)
movb 0xa(%rsp), %al
testb $0x1, %al
jne 0xbe805
jmp 0xbe814
jmp 0xbe807
movl 0x24(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x24(%rsp)
jmp 0xbe7b8
movq 0x58(%rsp), %rdi
movl 0x24(%rsp), %eax
addl 0xc(%rsp), %eax
addl $0x1, %eax
movslq %eax, %r8
shlq $0x2, %r8
xorl %ecx, %ecx
xorl %eax, %eax
movl %eax, %edx
movl %ecx, %esi
callq 0xc3270
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xbe853
movq $0x0, 0x60(%rsp)
jmp 0xbee77
movl $0x0, 0x20(%rsp)
movl 0x20(%rsp), %eax
cmpl 0x24(%rsp), %eax
jge 0xbe89c
movq 0x50(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
movslq 0x20(%rsp), %rcx
movl (%rax,%rcx,4), %edx
movq 0x10(%rsp), %rax
movslq 0x20(%rsp), %rcx
movl %edx, (%rax,%rcx,4)
movl 0x20(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x20(%rsp)
jmp 0xbe85b
movl $0x0, 0x24(%rsp)
movl 0x24(%rsp), %eax
cmpl 0xc(%rsp), %eax
jge 0xbe8db
movq 0x40(%rsp), %rax
movslq 0x24(%rsp), %rcx
movl (%rax,%rcx,4), %edx
movq 0x10(%rsp), %rax
movl 0x20(%rsp), %ecx
addl 0x24(%rsp), %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
movl 0x24(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x24(%rsp)
jmp 0xbe8a4
movq 0x10(%rsp), %rax
movl 0x20(%rsp), %ecx
addl 0x24(%rsp), %ecx
movslq %ecx, %rcx
movl $0xffffffff, (%rax,%rcx,4) # imm = 0xFFFFFFFF
movq 0x10(%rsp), %rcx
movq 0x18(%rsp), %rax
movslq 0x2c(%rsp), %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movq %rcx, 0x10(%rax)
movq 0x50(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
cmpq $0x0, 0x38(%rax)
je 0xbe94e
movq 0x50(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq 0x38(%rax), %rcx
movq 0x18(%rsp), %rax
movslq 0x2c(%rsp), %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movq %rcx, 0x38(%rax)
cmpq $0x0, 0x30(%rsp)
je 0xbea43
movq 0x18(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
cmpq $0x0, 0x38(%rax)
jne 0xbe991
movq 0x30(%rsp), %rcx
movq 0x18(%rsp), %rax
movslq 0x2c(%rsp), %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movq %rcx, 0x38(%rax)
jmp 0xbea41
movq 0x58(%rsp), %rdi
xorl %ecx, %ecx
xorl %eax, %eax
movl %eax, %edx
movl $0x24, %r8d
movl %ecx, %esi
callq 0xc3270
movq %rax, %rcx
movq 0x18(%rsp), %rax
movslq 0x2c(%rsp), %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movq %rcx, 0x38(%rax)
movq 0x18(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
cmpq $0x0, 0x38(%rax)
jne 0xbe9e7
movq $0x0, 0x60(%rsp)
jmp 0xbee77
movl $0x0, 0x24(%rsp)
cmpl $0x9, 0x24(%rsp)
jge 0xbea3f
movq 0x30(%rsp), %rax
movslq 0x24(%rsp), %rcx
cmpl $-0x1, (%rax,%rcx,4)
je 0xbea30
movq 0x30(%rsp), %rax
movslq 0x24(%rsp), %rcx
movl (%rax,%rcx,4), %edx
movq 0x18(%rsp), %rax
movslq 0x2c(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq 0x38(%rax), %rax
movslq 0x24(%rsp), %rcx
movl %edx, (%rax,%rcx,4)
jmp 0xbea32
movl 0x24(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x24(%rsp)
jmp 0xbe9ef
jmp 0xbea41
jmp 0xbea43
jmp 0xbea45
movl 0x2c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x2c(%rsp)
jmp 0xbe63a
movl $0x0, 0x28(%rsp)
movq 0x48(%rsp), %rax
movslq 0x28(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
cmpl $0x0, (%rax)
jl 0xbee50
movq 0x48(%rsp), %rax
movslq 0x28(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movl (%rax), %ecx
movq 0x18(%rsp), %rax
movl 0x2c(%rsp), %edx
addl 0x28(%rsp), %edx
movslq %edx, %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movl %ecx, (%rax)
movq 0x48(%rsp), %rax
movslq 0x28(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movl 0x4(%rax), %ecx
movq 0x18(%rsp), %rax
movl 0x2c(%rsp), %edx
addl 0x28(%rsp), %edx
movslq %edx, %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movl %ecx, 0x4(%rax)
movq 0x48(%rsp), %rax
movslq 0x28(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movl 0x8(%rax), %ecx
movq 0x18(%rsp), %rax
movl 0x2c(%rsp), %edx
addl 0x28(%rsp), %edx
movslq %edx, %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movl %ecx, 0x8(%rax)
movq 0x48(%rsp), %rax
movslq 0x28(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movl 0x18(%rax), %ecx
movq 0x18(%rsp), %rax
movl 0x2c(%rsp), %edx
addl 0x28(%rsp), %edx
movslq %edx, %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movl %ecx, 0x18(%rax)
movq 0x48(%rsp), %rax
movslq 0x28(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq 0x20(%rax), %rcx
movq 0x18(%rsp), %rax
movl 0x2c(%rsp), %edx
addl 0x28(%rsp), %edx
movslq %edx, %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movq %rcx, 0x20(%rax)
movq 0x48(%rsp), %rax
movslq 0x28(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq 0x28(%rax), %rcx
movq 0x18(%rsp), %rax
movl 0x2c(%rsp), %edx
addl 0x28(%rsp), %edx
movslq %edx, %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movq %rcx, 0x28(%rax)
movq 0x48(%rsp), %rax
movslq 0x28(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movl 0x30(%rax), %ecx
movq 0x18(%rsp), %rax
movl 0x2c(%rsp), %edx
addl 0x28(%rsp), %edx
movslq %edx, %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movl %ecx, 0x30(%rax)
movq 0x48(%rsp), %rax
movslq 0x28(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
cmpq $0x0, 0x10(%rax)
jne 0xbebf7
movq 0x18(%rsp), %rax
movl 0x2c(%rsp), %ecx
addl 0x28(%rsp), %ecx
movslq %ecx, %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq $0x0, 0x10(%rax)
jmp 0xbece3
movl $0x0, 0x24(%rsp)
movq 0x48(%rsp), %rax
movslq 0x28(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
movslq 0x24(%rsp), %rcx
cmpl $0x0, (%rax,%rcx,4)
jl 0xbec2e
jmp 0xbec21
movl 0x24(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x24(%rsp)
jmp 0xbebff
movq 0x58(%rsp), %rdi
movl 0x24(%rsp), %eax
addl $0x1, %eax
movslq %eax, %r8
shlq $0x2, %r8
xorl %ecx, %ecx
xorl %eax, %eax
movl %eax, %edx
movl %ecx, %esi
callq 0xc3270
movq %rax, 0x10(%rsp)
cmpq $0x0, 0x10(%rsp)
jne 0xbec69
movq $0x0, 0x60(%rsp)
jmp 0xbee77
movl $0x0, 0x20(%rsp)
movl 0x20(%rsp), %eax
cmpl 0x24(%rsp), %eax
jge 0xbecb2
movq 0x48(%rsp), %rax
movslq 0x28(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rax
movslq 0x20(%rsp), %rcx
movl (%rax,%rcx,4), %edx
movq 0x10(%rsp), %rax
movslq 0x20(%rsp), %rcx
movl %edx, (%rax,%rcx,4)
movl 0x20(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x20(%rsp)
jmp 0xbec71
movq 0x10(%rsp), %rax
movslq 0x20(%rsp), %rcx
movl $0xffffffff, (%rax,%rcx,4) # imm = 0xFFFFFFFF
movq 0x10(%rsp), %rcx
movq 0x18(%rsp), %rax
movl 0x2c(%rsp), %edx
addl 0x28(%rsp), %edx
movslq %edx, %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movq %rcx, 0x10(%rax)
movq 0x48(%rsp), %rax
movslq 0x28(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
cmpq $0x0, 0x38(%rax)
je 0xbed2b
movq 0x48(%rsp), %rax
movslq 0x28(%rsp), %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq 0x38(%rax), %rcx
movq 0x18(%rsp), %rax
movl 0x2c(%rsp), %edx
addl 0x28(%rsp), %edx
movslq %edx, %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movq %rcx, 0x38(%rax)
cmpq $0x0, 0x30(%rsp)
je 0xbee3e
movq 0x18(%rsp), %rax
movl 0x2c(%rsp), %ecx
addl 0x28(%rsp), %ecx
movslq %ecx, %rcx
shlq $0x6, %rcx
addq %rcx, %rax
cmpq $0x0, 0x38(%rax)
jne 0xbed7a
movq 0x30(%rsp), %rcx
movq 0x18(%rsp), %rax
movl 0x2c(%rsp), %edx
addl 0x28(%rsp), %edx
movslq %edx, %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movq %rcx, 0x38(%rax)
jmp 0xbee3c
movq 0x58(%rsp), %rdi
xorl %ecx, %ecx
xorl %eax, %eax
movl %eax, %edx
movl $0x24, %r8d
movl %ecx, %esi
callq 0xc3270
movq %rax, %rcx
movq 0x18(%rsp), %rax
movl 0x2c(%rsp), %edx
addl 0x28(%rsp), %edx
movslq %edx, %rdx
shlq $0x6, %rdx
addq %rdx, %rax
movq %rcx, 0x38(%rax)
movq 0x18(%rsp), %rax
movl 0x2c(%rsp), %ecx
addl 0x28(%rsp), %ecx
movslq %ecx, %rcx
shlq $0x6, %rcx
addq %rcx, %rax
cmpq $0x0, 0x38(%rax)
jne 0xbeddc
movq $0x0, 0x60(%rsp)
jmp 0xbee77
movl $0x0, 0x24(%rsp)
cmpl $0x9, 0x24(%rsp)
jge 0xbee3a
movq 0x30(%rsp), %rax
movslq 0x24(%rsp), %rcx
cmpl $-0x1, (%rax,%rcx,4)
je 0xbee2b
movq 0x30(%rsp), %rax
movslq 0x24(%rsp), %rcx
movl (%rax,%rcx,4), %edx
movq 0x18(%rsp), %rax
movl 0x2c(%rsp), %ecx
addl 0x28(%rsp), %ecx
movslq %ecx, %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movq 0x38(%rax), %rax
movslq 0x24(%rsp), %rcx
movl %edx, (%rax,%rcx,4)
jmp 0xbee2d
movl 0x24(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x24(%rsp)
jmp 0xbede4
jmp 0xbee3c
jmp 0xbee3e
jmp 0xbee40
movl 0x28(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x28(%rsp)
jmp 0xbea5d
movq 0x18(%rsp), %rax
movl 0x2c(%rsp), %ecx
addl 0x28(%rsp), %ecx
movslq %ecx, %rcx
shlq $0x6, %rcx
addq %rcx, %rax
movl $0xffffffff, (%rax)     # imm = 0xFFFFFFFF
movq 0x18(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0x60(%rsp), %rax
addq $0x68, %rsp
retq
nopw %cs:(%rax,%rax)