// File: /workspace/github_c_makefile_star2_O1/genometools[P]genometools/src/annotationsketch/style.c
// Function: gt_style_unit_test
int gt_style_unit_test(GtError *err)
{
  int had_err = 0;
  GtStyle *sty = NULL, *new_sty = NULL;
  bool val = false;
  GtError *testerr;
  GtStr *test1      = gt_str_new_cstr("mRNA"),
        *str        = gt_str_new(),
        *sty_buffer = gt_str_new();
  GtColor col1, col2, GT_UNUSED col, defcol, tmpcol;
  double num = 10.0;
  gt_error_check(err);

  /* example colors */
  col1.red=.1;col1.green=.2;col1.blue=.3;col1.alpha=0.5;
  col2.red=.4;col2.green=.5;col2.blue=.6;col2.alpha=0.5;
  col.red=1.0;col.green=1.0;col.blue=1.0;col.alpha=0.5;
  defcol.red=.5;defcol.green=.5;defcol.blue=.5;defcol.alpha=0.5;

  testerr = gt_error_new();

  /* instantiate new style object */
  gt_ensure((sty = gt_style_new(testerr)) != NULL);
  gt_ensure(!gt_error_is_set(testerr));

  /* test safe/unsafe mode switching */
  gt_ensure(!gt_style_is_unsafe(sty));
  gt_style_unsafe_mode(sty);
  gt_ensure(gt_style_is_unsafe(sty));
  gt_style_safe_mode(sty);
  gt_ensure(!gt_style_is_unsafe(sty));

  /* at the beginning, all values are defaults, since nothing is defined */
  gt_ensure(gt_style_get_color(sty, "exon", "fill", &tmpcol, NULL,
                                     testerr) != GT_STYLE_QUERY_ERROR);
  gt_ensure(gt_color_equals(&tmpcol, &defcol));
  gt_ensure(!gt_error_is_set(testerr));
  gt_ensure(gt_style_get_color(sty, "cds", "fill", &tmpcol, NULL,
                                     testerr) != GT_STYLE_QUERY_ERROR);
  gt_ensure(gt_color_equals(&tmpcol, &defcol));
  gt_ensure(!gt_error_is_set(testerr));
  gt_ensure(gt_style_get_color(sty, "foo", "fill", &tmpcol, NULL,
                                     testerr) != GT_STYLE_QUERY_ERROR);
  gt_ensure(gt_color_equals(&tmpcol, &defcol));
  gt_ensure(!gt_error_is_set(testerr));
  gt_ensure(gt_style_get_num(sty, "format", "margins", &num, NULL,
                                   testerr) != GT_STYLE_QUERY_ERROR);
  gt_ensure(!gt_error_is_set(testerr));
  gt_ensure(num == MARGINS_DEFAULT);
  gt_ensure(gt_style_get_bool(sty, "exon", "collapse_to_parent", &val,
                                    NULL, testerr) != GT_STYLE_QUERY_ERROR);
  gt_ensure(!gt_error_is_set(testerr));
  gt_ensure(!val);

  /* change some values... */
  (void) gt_style_set_color(sty, "exon", "fill", &col1);
  gt_style_set_num(sty, "format", "margins", 11.0);
  gt_style_set_num(sty, "format", "foo", 2.0);

  /* is it saved correctly? */
  (void) gt_style_get_color(sty, "exon", "fill", &tmpcol, NULL, testerr);
  gt_ensure(!gt_color_equals(&tmpcol, &defcol));
  gt_ensure(gt_color_equals(&tmpcol, &col1));
  gt_ensure(gt_style_get_num(sty, "format", "margins", &num, NULL,
                                   testerr) != GT_STYLE_QUERY_ERROR);
  gt_ensure(num == 11.0);
  gt_ensure(!gt_error_is_set(testerr));
  gt_ensure(gt_style_get_num(sty, "format", "foo", &num, NULL,
                                   testerr) != GT_STYLE_QUERY_ERROR);
  gt_ensure(num == 2.0);
  gt_ensure(!gt_error_is_set(testerr));

  /* create a new color definition */
  gt_style_set_color(sty, "foo", "fill", &col2);
  gt_style_set_str(sty, "bar", "baz", test1);

  /* is it saved correctly? */
  gt_ensure(gt_style_get_color(sty, "foo", "fill", &tmpcol, NULL,
                                     testerr) != GT_STYLE_QUERY_ERROR);
  gt_ensure(!gt_color_equals(&tmpcol, &defcol));
  gt_ensure(gt_color_equals(&tmpcol, &col2));
  gt_str_reset(str);
  gt_ensure(gt_style_get_str(sty, "bar", "baz", str, NULL,
                                   testerr) != GT_STYLE_QUERY_ERROR);
  gt_ensure((strcmp(gt_str_get(str),"")!=0));
  gt_ensure((gt_str_cmp(str,test1)==0));
  gt_str_reset(str);
  gt_ensure(gt_style_get_str(sty, "bar", "test", str, NULL,
                                   testerr) != GT_STYLE_QUERY_ERROR);
  gt_ensure((strcmp(gt_str_get(str),"")==0));

  /* clone a GtStyle object */
  new_sty = gt_style_clone(sty, testerr);
  gt_ensure(new_sty  != NULL);
  gt_ensure(!gt_error_is_set(testerr));

  /* check again */
  gt_ensure(gt_style_get_color(new_sty, "foo", "fill", &tmpcol, NULL,
                                     testerr) == 0);
  gt_ensure(!gt_color_equals(&tmpcol, &defcol));
  gt_ensure(gt_color_equals(&tmpcol, &col2));
  gt_str_reset(str);
  gt_ensure(gt_style_get_str(new_sty, "bar", "baz", str, NULL,
                                   testerr) != GT_STYLE_QUERY_ERROR);
  gt_ensure((strcmp(gt_str_get(str),"")!=0));
  gt_ensure((gt_str_cmp(str,test1)==0));
  gt_str_reset(str);
  gt_ensure(gt_style_get_str(new_sty, "bar", "test", str, NULL,
                                   testerr) != GT_STYLE_QUERY_ERROR);
  gt_ensure((strcmp(gt_str_get(str),"")==0));

  /* mem cleanup */
  gt_error_delete(testerr);
  gt_str_delete(test1);
  gt_str_delete(str);
  gt_str_delete(sty_buffer);
  gt_style_delete(sty);
  gt_style_delete(new_sty);

  return had_err;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0xc8, %rsp
movq %rdi, %rbp
movb $0x0, 0x17(%rsp)
leaq 0x8fff9(%rip), %rdi     # 0xe4c4a
callq 0x3c03d
movq %rax, 0x20(%rsp)
callq 0x3bfe0
movq %rax, %r14
callq 0x3bfe0
movq %rax, %r15
movabsq $0x4024000000000000, %rax # imm = 0x4024000000000000
movq %rax, 0x18(%rsp)
testq %rbp, %rbp
je 0x54c8f
movq %rbp, %rdi
callq 0x3566a
testb %al, %al
jne 0x55c1e
movaps 0x971fa(%rip), %xmm0    # 0xebe90
movaps %xmm0, 0xa0(%rsp)
movaps 0x971fb(%rip), %xmm0    # 0xebea0
movaps %xmm0, 0xb0(%rsp)
movaps 0x971fc(%rip), %xmm0    # 0xebeb0
movaps %xmm0, 0x80(%rsp)
movaps 0x971fd(%rip), %xmm0    # 0xebec0
movaps %xmm0, 0x90(%rsp)
movapd 0x971ad(%rip), %xmm0    # 0xebe80
movapd %xmm0, 0x50(%rsp)
movapd %xmm0, 0x60(%rsp)
callq 0x35584
movq %rax, %r13
movq %rax, %rdi
callq 0x53488
movq %rax, %rbx
movq %rax, %r12
testq %rax, %rax
jne 0x54d29
leaq 0x8e478(%rip), %rsi     # 0xe3179
leaq 0x975e8(%rip), %rdx     # 0xec2f0
leaq 0x975ce(%rip), %rcx     # 0xec2dd
leaq 0x971df(%rip), %r8      # 0xebef5
xorl %r12d, %r12d
movq %rbp, %rdi
movl $0x354, %r9d            # imm = 0x354
xorl %eax, %eax
callq 0x3559f
testq %rbx, %rbx
je 0x54d9d
movq %r13, %rdi
callq 0x3566a
testb %al, %al
je 0x54d61
leaq 0x8e438(%rip), %rsi     # 0xe3179
leaq 0x8fd9e(%rip), %rdx     # 0xe4ae6
leaq 0x9758e(%rip), %rcx     # 0xec2dd
leaq 0x9719f(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x355, %r9d            # imm = 0x355
jmp 0x54d96
movq %r12, %rdi
callq 0x537e9
testb %al, %al
je 0x54e9b
leaq 0x8e401(%rip), %rsi     # 0xe3179
leaq 0x97597(%rip), %rdx     # 0xec316
leaq 0x97557(%rip), %rcx     # 0xec2dd
leaq 0x97168(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x358, %r9d            # imm = 0x358
xorl %eax, %eax
callq 0x3559f
movq %r12, %rdi
callq 0x53734
movq %r12, %rdi
callq 0x53768
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movb $0x1, %cl
testb %cl, %cl
jne 0x54dfb
movsd 0x18(%rsp), %xmm0
ucomisd 0x9710a(%rip), %xmm0    # 0xebed0
jne 0x54dca
jnp 0x54dfb
leaq 0x8e3a8(%rip), %rsi     # 0xe3179
leaq 0x976b5(%rip), %rdx     # 0xec48d
leaq 0x974fe(%rip), %rcx     # 0xec2dd
leaq 0x9710f(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x36e, %r9d            # imm = 0x36E
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
testl %ebx, %ebx
movq %r14, 0x28(%rsp)
movq %r15, 0x78(%rsp)
jne 0x54f2c
movq %r13, (%rsp)
leaq 0xa7b6a(%rip), %rsi     # 0xfc982
leaq 0x95b92(%rip), %rdx     # 0xea9b1
leaq 0x17(%rsp), %rcx
movq %r12, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x5468b
cmpl $0x2, %eax
jne 0x54e61
leaq 0x8e33b(%rip), %rsi     # 0xe3179
leaq 0x9765f(%rip), %rdx     # 0xec4a4
leaq 0x97491(%rip), %rcx     # 0xec2dd
leaq 0x970a2(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x370, %r9d            # imm = 0x370
jmp 0x54f25
movq %r13, %rdi
callq 0x3566a
testb %al, %al
je 0x54ef5
leaq 0x8e301(%rip), %rsi     # 0xe3179
leaq 0x8fc67(%rip), %rdx     # 0xe4ae6
leaq 0x97457(%rip), %rcx     # 0xec2dd
leaq 0x97068(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x371, %r9d            # imm = 0x371
jmp 0x54f25
movq %r12, %rdi
callq 0x53734
movq %r12, %rdi
callq 0x537e9
testb %al, %al
je 0x55342
movq %r12, %rdi
callq 0x53768
movq %r12, %rdi
callq 0x537e9
testb %al, %al
je 0x554eb
leaq 0x8e2a7(%rip), %rsi     # 0xe3179
leaq 0x9743d(%rip), %rdx     # 0xec316
leaq 0x973fd(%rip), %rcx     # 0xec2dd
leaq 0x9700e(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x35c, %r9d            # imm = 0x35C
jmp 0x557e5
cmpb $0x1, 0x17(%rsp)
jne 0x553b4
leaq 0x8e272(%rip), %rsi     # 0xe3179
leaq 0x975f8(%rip), %rdx     # 0xec506
leaq 0x973c8(%rip), %rcx     # 0xec2dd
leaq 0x96fd9(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x372, %r9d            # imm = 0x372
xorl %eax, %eax
callq 0x3559f
leaq 0xa7a4f(%rip), %rbx     # 0xfc982
leaq 0x9c5d5(%rip), %r15     # 0xf150f
leaq 0xa0(%rsp), %rcx
movq %r12, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x53e48
leaq 0x8c23f(%rip), %r14     # 0xe1196
leaq 0x9652a(%rip), %rdx     # 0xeb488
movsd 0x96f72(%rip), %xmm0    # 0xebed8
movq %r12, %rdi
movq %r14, %rsi
callq 0x545ea
leaq 0x9ccb9(%rip), %rdx     # 0xf1c31
movsd 0x96f60(%rip), %xmm0    # 0xebee0
movq %r12, %rdi
movq %r14, %rsi
movq 0x28(%rsp), %r14
callq 0x545ea
movq %r13, (%rsp)
leaq 0x30(%rsp), %rcx
movq %r12, %rdi
movq %rbx, %rsi
movq %r15, %rdx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x53a23
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movb $0x1, %bl
testb %bl, %bl
jne 0x54ffb
movsd 0x18(%rsp), %xmm0
ucomisd 0x96f12(%rip), %xmm0    # 0xebed8
jne 0x54fca
jnp 0x54ffb
leaq 0x8e1a8(%rip), %rsi     # 0xe3179
leaq 0x97576(%rip), %rdx     # 0xec54e
leaq 0x972fe(%rip), %rcx     # 0xec2dd
leaq 0x96f0f(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x37f, %r9d            # imm = 0x37F
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movb $0x1, %bl
testl %ecx, %ecx
jne 0x550a1
movq %r13, %rdi
callq 0x3566a
testb %al, %al
je 0x5503d
leaq 0x8e15c(%rip), %rsi     # 0xe3179
leaq 0x8fac2(%rip), %rdx     # 0xe4ae6
leaq 0x972b2(%rip), %rcx     # 0xec2dd
leaq 0x96ec3(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x380, %r9d            # imm = 0x380
jmp 0x55093
movq %r13, (%rsp)
leaq 0x8c14e(%rip), %rsi     # 0xe1196
leaq 0x9cbe2(%rip), %rdx     # 0xf1c31
xorl %ebx, %ebx
leaq 0x18(%rsp), %rcx
movq %r12, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x543b4
movl $0x0, %edx
cmpl $0x2, %eax
jne 0x550a1
leaq 0x8e104(%rip), %rsi     # 0xe3179
leaq 0x974de(%rip), %rdx     # 0xec55a
leaq 0x9725a(%rip), %rcx     # 0xec2dd
leaq 0x96e6b(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x382, %r9d            # imm = 0x382
xorl %eax, %eax
callq 0x3559f
movb $0x1, %bl
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
testb %bl, %bl
jne 0x550e8
movsd 0x18(%rsp), %xmm0
ucomisd 0x96e2d(%rip), %xmm0    # 0xebee0
jne 0x550b7
jnp 0x550e8
leaq 0x8e0bb(%rip), %rsi     # 0xe3179
leaq 0x974e9(%rip), %rdx     # 0xec5ae
leaq 0x97211(%rip), %rcx     # 0xec2dd
leaq 0x96e22(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x383, %r9d            # imm = 0x383
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
testl %edx, %edx
jne 0x55128
movq %r13, %rdi
callq 0x3566a
testb %al, %al
je 0x5520a
leaq 0x8e076(%rip), %rsi     # 0xe3179
leaq 0x8f9dc(%rip), %rdx     # 0xe4ae6
leaq 0x971cc(%rip), %rcx     # 0xec2dd
leaq 0x96ddd(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x384, %r9d            # imm = 0x384
xorl %eax, %eax
callq 0x3559f
leaq 0x9cb02(%rip), %rsi     # 0xf1c31
leaq 0x9c3d9(%rip), %rdx     # 0xf150f
leaq 0x80(%rsp), %rcx
movq %r12, %rdi
callq 0x53e48
leaq 0x9c17a(%rip), %rsi     # 0xf12c7
leaq 0x9b13c(%rip), %rdx     # 0xf0290
movq %r12, %rdi
movq 0x20(%rsp), %rcx
callq 0x542de
movq %r14, %rdi
callq 0x3c49c
movq %r14, %rdi
callq 0x3c49c
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movb $0x1, %r14b
movq %r12, %rdi
movq %r13, %rsi
callq 0x54b4b
movq %rax, %r15
testq %rax, %rax
setne %al
orb %r14b, %al
jne 0x551c3
leaq 0x8dfe0(%rip), %rsi     # 0xe3179
leaq 0x97535(%rip), %rdx     # 0xec6d5
leaq 0x97136(%rip), %rcx     # 0xec2dd
leaq 0x96d47(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x39b, %r9d            # imm = 0x39B
xorl %eax, %eax
callq 0x3559f
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
testl %ebx, %ebx
movq 0x28(%rsp), %r14
jne 0x556e2
movq %r13, %rdi
callq 0x3566a
testb %al, %al
je 0x552a5
leaq 0x8df92(%rip), %rsi     # 0xe3179
leaq 0x8f8f8(%rip), %rdx     # 0xe4ae6
leaq 0x970e8(%rip), %rcx     # 0xec2dd
leaq 0x96cf9(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x39c, %r9d            # imm = 0x39C
jmp 0x556db
leaq 0x9ca20(%rip), %rbx     # 0xf1c31
leaq 0x9c2f7(%rip), %r14     # 0xf150f
leaq 0x80(%rsp), %rcx
movq %r12, %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x53e48
leaq 0x9c092(%rip), %rsi     # 0xf12c7
leaq 0x9b054(%rip), %rdx     # 0xf0290
movq %r12, %rdi
movq 0x20(%rsp), %rcx
callq 0x542de
movq %r13, (%rsp)
leaq 0x30(%rsp), %rcx
movq %r12, %rdi
movq %rbx, %rsi
movq %r14, %rdx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x53a23
cmpl $0x2, %eax
jne 0x552fc
leaq 0x8df03(%rip), %rsi     # 0xe3179
leaq 0x97161(%rip), %rdx     # 0xec3de
leaq 0x97059(%rip), %rcx     # 0xec2dd
leaq 0x96c6a(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x38c, %r9d            # imm = 0x38C
xorl %eax, %eax
callq 0x3559f
movq 0x28(%rsp), %r14
jmp 0x55161
movq %r13, (%rsp)
leaq 0x9c981(%rip), %rsi     # 0xf1c31
leaq 0x9c258(%rip), %rdx     # 0xf150f
leaq 0x30(%rsp), %rcx
movq %r15, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x53a23
testl %eax, %eax
je 0x55373
leaq 0x8dea0(%rip), %rsi     # 0xe3179
leaq 0x97405(%rip), %rdx     # 0xec6e5
leaq 0x96ff6(%rip), %rcx     # 0xec2dd
leaq 0x96c07(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x3a0, %r9d            # imm = 0x3A0
jmp 0x556db
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x8e139
testb %al, %al
movq 0x28(%rsp), %r14
je 0x55473
leaq 0x8de5a(%rip), %rsi     # 0xe3179
leaq 0x971e5(%rip), %rdx     # 0xec50b
leaq 0x96fb0(%rip), %rcx     # 0xec2dd
leaq 0x96bc1(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x38d, %r9d            # imm = 0x38D
jmp 0x55659
leaq 0x8de30(%rip), %rsi     # 0xe3179
leaq 0x96fc7(%rip), %rdx     # 0xec317
leaq 0x96f86(%rip), %rcx     # 0xec2dd
leaq 0x96b97(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x35a, %r9d            # imm = 0x35A
xorl %eax, %eax
callq 0x3559f
jmp 0x54da5
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x8e139
testb %al, %al
je 0x55543
leaq 0x8dde8(%rip), %rsi     # 0xe3179
leaq 0x97173(%rip), %rdx     # 0xec50b
leaq 0x96f3e(%rip), %rcx     # 0xec2dd
leaq 0x96b4f(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x3a1, %r9d            # imm = 0x3A1
jmp 0x556db
leaq 0xa75c7(%rip), %rsi     # 0xfc982
leaq 0x9c14d(%rip), %r15     # 0xf150f
leaq 0xa0(%rsp), %rcx
movq %r12, %rdi
movq %r15, %rdx
callq 0x53e48
leaq 0x8bdba(%rip), %rbx     # 0xe1196
leaq 0x960a5(%rip), %rdx     # 0xeb488
movsd 0x96aed(%rip), %xmm0    # 0xebed8
movq %r12, %rdi
movq %rbx, %rsi
callq 0x545ea
leaq 0x9c834(%rip), %rdx     # 0xf1c31
movsd 0x96adb(%rip), %xmm0    # 0xebee0
movq %r12, %rdi
movq %rbx, %rsi
callq 0x545ea
movq %r13, (%rsp)
leaq 0x30(%rsp), %rbx
movq %r12, %rdi
leaq 0xa755f(%rip), %rsi     # 0xfc982
movq %r15, %rdx
movq %rbx, %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x53a23
leaq 0x50(%rsp), %rsi
movq %rbx, %rdi
callq 0x8e139
testb %al, %al
je 0x555bb
leaq 0x8dd29(%rip), %rsi     # 0xe3179
leaq 0x970b4(%rip), %rdx     # 0xec50b
leaq 0x96e7f(%rip), %rcx     # 0xec2dd
leaq 0x96a90(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x37b, %r9d            # imm = 0x37B
jmp 0x557b4
leaq 0x30(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x8e139
testb %al, %al
je 0x55634
movq %r14, %rdi
callq 0x3c49c
movq %r13, (%rsp)
leaq 0x9be27(%rip), %rsi     # 0xf12c7
leaq 0x9ade9(%rip), %rdx     # 0xf0290
movq %r12, %rdi
movq %r14, %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x540c7
cmpl $0x2, %eax
jne 0x5573f
leaq 0x8dcb1(%rip), %rsi     # 0xe3179
leaq 0x9710a(%rip), %rdx     # 0xec5d9
leaq 0x96e07(%rip), %rcx     # 0xec2dd
leaq 0x96a18(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x391, %r9d            # imm = 0x391
jmp 0x558be
movq %r13, (%rsp)
leaq 0xa748c(%rip), %rsi     # 0xfc982
leaq 0x9c012(%rip), %rdx     # 0xf150f
leaq 0x30(%rsp), %rcx
movq %r12, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x53a23
cmpl $0x2, %eax
jne 0x55665
leaq 0x8dc59(%rip), %rsi     # 0xe3179
leaq 0x96e08(%rip), %rdx     # 0xec32f
leaq 0x96daf(%rip), %rcx     # 0xec2dd
leaq 0x969c0(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x360, %r9d            # imm = 0x360
jmp 0x557e5
leaq 0x30(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x8e139
testb %al, %al
je 0x556b6
movq %r14, %rdi
callq 0x3c49c
movq %r13, (%rsp)
leaq 0x9bd57(%rip), %rsi     # 0xf12c7
leaq 0x9ad19(%rip), %rdx     # 0xf0290
movq %r15, %rdi
movq %r14, %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x540c7
cmpl $0x2, %eax
jne 0x557f1
leaq 0x8dbe1(%rip), %rsi     # 0xe3179
leaq 0x9718e(%rip), %rdx     # 0xec72d
leaq 0x96d37(%rip), %rcx     # 0xec2dd
leaq 0x96948(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x3a5, %r9d            # imm = 0x3A5
jmp 0x558ef
leaq 0x30(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
callq 0x8e139
testb %al, %al
je 0x5578f
movq %r13, (%rsp)
leaq 0x8bbb6(%rip), %rsi     # 0xe1196
leaq 0x95ea1(%rip), %rdx     # 0xeb488
xorl %ebx, %ebx
leaq 0x18(%rsp), %rcx
movq %r12, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x543b4
movl $0x0, %ecx
cmpl $0x2, %eax
jne 0x54fb4
leaq 0x8db68(%rip), %rsi     # 0xe3179
leaq 0x96e1d(%rip), %rdx     # 0xec435
leaq 0x96cbe(%rip), %rcx     # 0xec2dd
leaq 0x968cf(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x37e, %r9d            # imm = 0x37E
jmp 0x557b4
leaq 0x8db3e(%rip), %rsi     # 0xe3179
leaq 0x96f77(%rip), %rdx     # 0xec5b9
leaq 0x96c94(%rip), %rcx     # 0xec2dd
leaq 0x968a5(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x38e, %r9d            # imm = 0x38E
xorl %eax, %eax
callq 0x3559f
jmp 0x55161
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x8e139
testb %al, %al
je 0x557c0
movq %r13, %rdi
callq 0x3566a
testb %al, %al
je 0x55841
leaq 0x8dae6(%rip), %rsi     # 0xe3179
leaq 0x8f44c(%rip), %rdx     # 0xe4ae6
leaq 0x96c3c(%rip), %rcx     # 0xec2dd
leaq 0x9684d(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x362, %r9d            # imm = 0x362
jmp 0x557e5
leaq 0x8dabc(%rip), %rsi     # 0xe3179
leaq 0x96ef5(%rip), %rdx     # 0xec5b9
leaq 0x96c12(%rip), %rcx     # 0xec2dd
leaq 0x96823(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x3a2, %r9d            # imm = 0x3A2
xorl %eax, %eax
callq 0x3559f
movq %r14, %rdi
callq 0x3c49c
movq %r14, %rdi
callq 0x3c49c
movl $0xffffffff, %ebx       # imm = 0xFFFFFFFF
movq %r13, %rdi
callq 0x35705
movq 0x20(%rsp), %rdi
callq 0x3d1eb
movq %r14, %rdi
callq 0x3d1eb
movq 0x78(%rsp), %rdi
callq 0x3d1eb
movq %r12, %rdi
callq 0x54be4
movq %r15, %rdi
callq 0x54be4
movl %ebx, %eax
addq $0xc8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r14, %rdi
callq 0x3c40b
cmpb $0x0, (%rax)
je 0x55899
movq %r14, %rdi
movq 0x20(%rsp), %rsi
callq 0x3c4b0
testl %eax, %eax
je 0x558fb
leaq 0x8da0d(%rip), %rsi     # 0xe3179
leaq 0x96ed6(%rip), %rdx     # 0xec649
leaq 0x96b63(%rip), %rcx     # 0xec2dd
leaq 0x96774(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x393, %r9d            # imm = 0x393
jmp 0x558be
leaq 0x8d9e3(%rip), %rsi     # 0xe3179
leaq 0x96d91(%rip), %rdx     # 0xec52e
leaq 0x96b39(%rip), %rcx     # 0xec2dd
leaq 0x9674a(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x37c, %r9d            # imm = 0x37C
xorl %eax, %eax
callq 0x3559f
jmp 0x54fad
leaq 0x8d9b2(%rip), %rsi     # 0xe3179
leaq 0x96d3e(%rip), %rdx     # 0xec50c
leaq 0x96b08(%rip), %rcx     # 0xec2dd
leaq 0x96719(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x361, %r9d            # imm = 0x361
xorl %eax, %eax
callq 0x3559f
jmp 0x54dad
movq %r14, %rdi
callq 0x3c40b
cmpb $0x0, (%rax)
je 0x558ca
movq %r14, %rdi
movq 0x20(%rsp), %rsi
callq 0x3c4b0
testl %eax, %eax
je 0x559ac
leaq 0x8d95b(%rip), %rsi     # 0xe3179
leaq 0x96e24(%rip), %rdx     # 0xec649
leaq 0x96ab1(%rip), %rcx     # 0xec2dd
leaq 0x966c2(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x3a7, %r9d            # imm = 0x3A7
jmp 0x558ef
movq %r13, (%rsp)
leaq 0x8ff5d(%rip), %rsi     # 0xe57a9
leaq 0x9bcbc(%rip), %rdx     # 0xf150f
leaq 0x30(%rsp), %rcx
movq %r12, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x53a23
cmpl $0x2, %eax
jne 0x5595b
leaq 0x8d903(%rip), %rsi     # 0xe3179
leaq 0x96b0a(%rip), %rdx     # 0xec387
leaq 0x96a59(%rip), %rcx     # 0xec2dd
leaq 0x9666a(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x364, %r9d            # imm = 0x364
jmp 0x557e5
leaq 0x8d8d9(%rip), %rsi     # 0xe3179
leaq 0x96d82(%rip), %rdx     # 0xec629
leaq 0x96a2f(%rip), %rcx     # 0xec2dd
leaq 0x96640(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x392, %r9d            # imm = 0x392
xorl %eax, %eax
callq 0x3559f
jmp 0x55169
leaq 0x8d8a8(%rip), %rsi     # 0xe3179
leaq 0x96d51(%rip), %rdx     # 0xec629
leaq 0x969fe(%rip), %rcx     # 0xec2dd
leaq 0x9660f(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x3a6, %r9d            # imm = 0x3A6
xorl %eax, %eax
callq 0x3559f
jmp 0x556ea
movq %r14, %rdi
callq 0x3c49c
movq %r13, (%rsp)
leaq 0x9b9b9(%rip), %rsi     # 0xf12c7
leaq 0x8bd6d(%rip), %rdx     # 0xe1682
xorl %ebx, %ebx
movq %r12, %rdi
movq %r14, %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x540c7
cmpl $0x2, %eax
jne 0x55a0c
leaq 0x8d841(%rip), %rsi     # 0xe3179
leaq 0x96d25(%rip), %rdx     # 0xec664
leaq 0x96997(%rip), %rcx     # 0xec2dd
leaq 0x965a8(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x396, %r9d            # imm = 0x396
jmp 0x55a42
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x8e139
testb %al, %al
je 0x55a4e
movq %r13, %rdi
callq 0x3566a
testb %al, %al
je 0x55aba
leaq 0x8d7f0(%rip), %rsi     # 0xe3179
leaq 0x8f156(%rip), %rdx     # 0xe4ae6
leaq 0x96946(%rip), %rcx     # 0xec2dd
leaq 0x96557(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x366, %r9d            # imm = 0x366
jmp 0x557e5
movq %r14, %rdi
callq 0x3c49c
movq %r13, (%rsp)
leaq 0x9b908(%rip), %rsi     # 0xf12c7
leaq 0x8bcbc(%rip), %rdx     # 0xe1682
xorl %ebx, %ebx
movq %r15, %rdi
movq %r14, %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x540c7
cmpl $0x2, %eax
jne 0x55a78
leaq 0x8d790(%rip), %rsi     # 0xe3179
leaq 0x96d91(%rip), %rdx     # 0xec781
leaq 0x968e6(%rip), %rcx     # 0xec2dd
leaq 0x964f7(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x3aa, %r9d            # imm = 0x3AA
jmp 0x55aae
movq %r14, %rdi
callq 0x3c40b
cmpb $0x0, (%rax)
je 0x55b0e
leaq 0x8d755(%rip), %rsi     # 0xe3179
leaq 0x96c8a(%rip), %rdx     # 0xec6b5
leaq 0x968ab(%rip), %rcx     # 0xec2dd
leaq 0x964bc(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x397, %r9d            # imm = 0x397
xorl %eax, %eax
callq 0x3559f
jmp 0x55171
leaq 0x8d724(%rip), %rsi     # 0xe3179
leaq 0x96ab0(%rip), %rdx     # 0xec50c
leaq 0x9687a(%rip), %rcx     # 0xec2dd
leaq 0x9648b(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x365, %r9d            # imm = 0x365
jmp 0x557e5
movq %r14, %rdi
callq 0x3c40b
cmpb $0x0, (%rax)
je 0x556f7
leaq 0x8d6e9(%rip), %rsi     # 0xe3179
leaq 0x96c1e(%rip), %rdx     # 0xec6b5
leaq 0x9683f(%rip), %rcx     # 0xec2dd
leaq 0x96450(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x3ab, %r9d            # imm = 0x3AB
xorl %eax, %eax
callq 0x3559f
jmp 0x556f2
movq %r13, (%rsp)
leaq 0x9c16c(%rip), %rsi     # 0xf1c31
leaq 0x9ba43(%rip), %rdx     # 0xf150f
leaq 0x30(%rsp), %rcx
movq %r12, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x53a23
cmpl $0x2, %eax
jne 0x55b16
leaq 0x8d68e(%rip), %rsi     # 0xe3179
leaq 0x968ec(%rip), %rdx     # 0xec3de
leaq 0x967e4(%rip), %rcx     # 0xec2dd
leaq 0x963f5(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x368, %r9d            # imm = 0x368
jmp 0x557e5
xorl %r14d, %r14d
jmp 0x55179
leaq 0x30(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x8e139
testb %al, %al
je 0x55b5f
movq %r13, %rdi
callq 0x3566a
testb %al, %al
je 0x55b89
leaq 0x8d63d(%rip), %rsi     # 0xe3179
leaq 0x8efa3(%rip), %rdx     # 0xe4ae6
leaq 0x96793(%rip), %rcx     # 0xec2dd
leaq 0x963a4(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x36a, %r9d            # imm = 0x36A
jmp 0x557e5
leaq 0x8d613(%rip), %rsi     # 0xe3179
leaq 0x9699f(%rip), %rdx     # 0xec50c
leaq 0x96769(%rip), %rcx     # 0xec2dd
leaq 0x9637a(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x369, %r9d            # imm = 0x369
jmp 0x557e5
movq %r13, (%rsp)
leaq 0x8b602(%rip), %rsi     # 0xe1196
leaq 0x958ed(%rip), %rdx     # 0xeb488
xorl %ebx, %ebx
leaq 0x18(%rsp), %rcx
movq %r12, %rdi
xorl %r8d, %r8d
xorl %r9d, %r9d
callq 0x543b4
cmpl $0x2, %eax
jne 0x55bdf
leaq 0x8d5bd(%rip), %rsi     # 0xe3179
leaq 0x96872(%rip), %rdx     # 0xec435
leaq 0x96713(%rip), %rcx     # 0xec2dd
leaq 0x96324(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x36c, %r9d            # imm = 0x36C
jmp 0x557e5
movq %r13, %rdi
callq 0x3566a
movl $0x0, %ecx
testb %al, %al
je 0x54db4
leaq 0x8d57e(%rip), %rsi     # 0xe3179
leaq 0x8eee4(%rip), %rdx     # 0xe4ae6
leaq 0x966d4(%rip), %rcx     # 0xec2dd
leaq 0x962e5(%rip), %r8      # 0xebef5
movq %rbp, %rdi
movl $0x36d, %r9d            # imm = 0x36D
jmp 0x557e5
callq 0x187de