// File: /workspace/github_c_makefile_star2_O0/samtools[P]htslib/test/test_expr.c
// Function: test
int test(void) {
    // These are all valid expressions that should work
    test_ev tests[] = {
        { 1,  1,   NULL, "1"},
        { 1,  1,   NULL, "+1"},
        { 1, -1,   NULL, "-1"},
        { 0,  0,   NULL, "!7"},
        { 1,  1,   NULL, "!0"},
        { 1,  1,   NULL, "!(!7)"},
        { 1,  1,   NULL, "!!7"},

        { 1,  5,   NULL, "2+3"},
        { 1, -1,   NULL, "2+-3"},
        { 1,  6,   NULL, "1+2+3"},
        { 1,  1,   NULL, "-2+3"},
        { 0,  NAN, NULL, "1+null" },
        { 0,  NAN, NULL, "null-1" },
        { 0,  NAN, NULL, "-null" },

        { 1,  6,   NULL, "2*3"},
        { 1,  6,   NULL, "1*2*3"},
        { 0,  0,   NULL, "2*0"},

        { 1,  7,   NULL, "(7)"},
        { 1,  7,   NULL, "((7))"},
        { 1, 21,   NULL, "(1+2)*(3+4)"},
        { 1, 14,   NULL, "(4*5)-(-2*-3)"},

        { 0,  NAN, NULL, "2*null"},
        { 0,  NAN, NULL, "null/2"},
        { 0,  NAN, NULL, "0/0"},

        { 1,  1,   NULL, "(1+2)*3==9"},
        { 1,  1,   NULL, "(1+2)*3!=8"},
        { 0,  0,   NULL, "(1+2)*3!=9"},
        { 0,  0,   NULL, "(1+2)*3==8"},

        { 0,  0,   NULL, "1>2"},
        { 1,  1,   NULL, "1<2"},
        { 0,  0,   NULL, "3<3"},
        { 0,  0,   NULL, "3>3"},
        { 1,  1,   NULL, "9<=9"},
        { 1,  1,   NULL, "9>=9"},
        { 1,  1,   NULL, "2*4==8"},
        { 1,  1,   NULL, "16==0x10"},
        { 1,  1,   NULL, "15<0x10"},
        { 1,  1,   NULL, "17>0x10"},
        { 0,  0,   NULL, "2*4!=8"},
        { 1,  1,   NULL, "4+2<3+4"},
        { 0,  0,   NULL, "4*2<3+4"},
        { 1,  8,   NULL, "4*(2<3)+4"}, // boolean; 4*(1)+4

        { 1,  1,   NULL, "(1<2) == (3>2)"},
        { 1,  1,   NULL, "1<2 == 3>2"},

        { 0,  NAN, NULL, "null <= 0" },
        { 0,  NAN, NULL, "null >= 0" },
        { 0,  NAN, NULL, "null < 0" },
        { 0,  NAN, NULL, "null > 0" },
        { 0,  NAN, NULL, "null == null" },
        { 0,  NAN, NULL, "null != null" },
        { 0,  NAN, NULL, "null < 10" },
        { 0,  NAN, NULL, "10 > null" },

        { 1,  1,   NULL, "2 && 1"},
        { 0,  0,   NULL, "2 && 0"},
        { 0,  0,   NULL, "0 && 2"},
        { 1,  1,   NULL, "2 || 1"},
        { 1,  1,   NULL, "2 || 0"},
        { 1,  1,   NULL, "0 || 2"},
        { 1,  1,   NULL, "1 || 2 && 3"},
        { 1,  1,   NULL, "2 && 3 || 1"},
        { 1,  1,   NULL, "0 && 3 || 2"},
        { 0,  0,   NULL, "0 && 3 || 0"},
        { 0,  0,   NULL, " 5 - 5 && 1"},
        { 0,  0,   NULL, "+5 - 5 && 1"},
        { 0,  0,   NULL, "null && 1"}, // null && x == null
        { 0,  0,   NULL, "1 && null"},
        { 1,  1,   NULL, "!null && 1"},
        { 1,  1,   NULL, "1 && !null"},
        { 1,  1,   NULL, "1 && null-but-true"},
        { 0,  0,   NULL, "null || 0"}, // null || 0 == null
        { 0,  0,   NULL, "0 || null"},
        { 1,  1,   NULL, "!null || 0"},
        { 1,  1,   NULL, "0 || !null"},
        { 1,  1,   NULL, "0 || null-but-true"},
        { 1,  1,   NULL, "null || 1"}, // null || 1 == 1
        { 1,  1,   NULL, "1 || null"},

        { 1,  1,   NULL, "3 & 1"},
        { 1,  2,   NULL, "3 & 2"},
        { 1,  3,   NULL, "1 | 2"},
        { 1,  3,   NULL, "1 | 3"},
        { 1,  7,   NULL, "1 | 6"},
        { 1,  2,   NULL, "1 ^ 3"},
        { 0,  NAN, NULL, "1 | null"},
        { 0,  NAN, NULL, "null | 1"},
        { 0,  NAN, NULL, "1 & null"},
        { 0,  NAN, NULL, "null & 1"},
        { 0,  NAN, NULL, "0 ^ null"},
        { 0,  NAN, NULL, "null ^ 0"},
        { 0,  NAN, NULL, "1 ^ null"},
        { 0,  NAN, NULL, "null ^ 1"},

        { 1,  1,   NULL, "(1^0)&(4^3)"},
        { 1,  2,   NULL, "1 ^(0&4)^ 3"},
        { 1,  2,   NULL, "1 ^ 0&4 ^ 3"},  // precedence, & before ^

        { 1,  6,   NULL, "(1|0)^(4|3)"},
        { 1,  7,   NULL, "1 |(0^4)| 3"},
        { 1,  7,   NULL, "1 | 0^4 | 3"},  // precedence, ^ before |

        { 1,  1,   NULL, "4 & 2 || 1"},
        { 1,  1,   NULL, "(4 & 2) || 1"},
        { 0,  0,   NULL, "4 & (2 || 1)"},
        { 1,  1,   NULL, "1 || 4 & 2"},
        { 1,  1,   NULL, "1 || (4 & 2)"},
        { 0,  0,   NULL, "(1 || 4) & 2"},

        { 1,  1,   NULL, " (2*3)&7  > 4"},
        { 0,  0,   NULL, " (2*3)&(7 > 4)"}, // C precedence equiv
        { 1,  1,   NULL, "((2*3)&7) > 4"},  // Python precedence equiv
        { 1,  1,   NULL, "((2*3)&7) > 4 && 2*2 <= 4"},

        { 1,  1,   "plugh", "magic"},
        { 1,  1,   "",   "empty"},
        { 1,  1,   NULL, "magic == \"plugh\""},
        { 1,  1,   NULL, "magic != \"xyzzy\""},

        { 1,  1,   NULL, "\"abc\" < \"def\""},
        { 1,  1,   NULL, "\"abc\" <= \"abc\""},
        { 0,  0,   NULL, "\"abc\" < \"ab\""},
        { 0,  0,   NULL, "\"abc\" <= \"ab\""},

        { 0,  0,   NULL, "\"abc\" > \"def\""},
        { 1,  1,   NULL, "\"abc\" >= \"abc\""},
        { 1,  1,   NULL, "\"abc\" > \"ab\""},
        { 1,  1,   NULL, "\"abc\" >= \"ab\""},

        { 0,  NAN, NULL, "null == \"x\"" },
        { 0,  NAN, NULL, "null != \"x\"" },
        { 0,  NAN, NULL, "null < \"x\"" },
        { 0,  NAN, NULL, "null > \"x\"" },

        { 1,  1,   NULL, "\"abbc\" =~ \"^a+b+c+$\""},
        { 0,  0,   NULL, "\"aBBc\" =~ \"^a+b+c+$\""},
        { 1,  1,   NULL, "\"aBBc\" !~ \"^a+b+c+$\""},
        { 1,  1,   NULL, "\"xyzzy plugh abracadabra\" =~ magic"},

        { 1,  1,   "",   "empty-but-true"   },
        { 0,  0,   NULL, "!empty-but-true"  },
        { 1,  1,   NULL, "!!empty-but-true" },
        { 1,  1,   NULL, "1 && empty-but-true && 1" },
        { 0,  0,   NULL, "1 && empty-but-true && 0" },

        { 0,  NAN, NULL, "null"    },
        { 1,  1,   NULL, "!null"   },
        { 0,  0,   NULL, "!!null", },
        { 0,  0,   NULL, "!\"foo\""   },
        { 1,  1,   NULL, "!!\"foo\""   },

        { 1,  NAN, NULL, "null-but-true"   },
        { 0,  0,   NULL, "!null-but-true"  },
        { 1,  1,   NULL, "!!null-but-true" },
        { 1,  0,   NULL, "zero-but-true"   },
        { 0,  0,   NULL, "!zero-but-true"  },
        { 1,  1,   NULL, "!!zero-but-true" },

        { 1,  log(2), NULL, "log(2)"},
        { 1,  exp(9), NULL, "exp(9)"},
        { 1,  9,      NULL, "log(exp(9))"},
        { 1,  8,      NULL, "pow(2,3)"},
        { 1,  3,      NULL, "sqrt(9)"},
        { 0,  NAN,    NULL, "sqrt(-9)"},

        { 1,  2,      NULL, "default(2,3)"},
        { 1,  3,      NULL, "default(null,3)"},
        { 0,  0,      NULL, "default(null,0)"},
        { 1,  NAN,    NULL, "default(null-but-true,0)"},
        { 1,  NAN,    NULL, "default(null-but-true,null)"},
        { 1,  NAN,    NULL, "default(null,null-but-true)"},

        { 1,  1,      NULL, "exists(\"foo\")"},
        { 1,  1,      NULL, "exists(12)"},
        { 1,  1,      NULL, "exists(\"\")"},
        { 1,  1,      NULL, "exists(0)"},
        { 0,  0,      NULL, "exists(null)"},
        { 1,  1,      NULL, "exists(null-but-true)"},
    };

    int i, res = 0;
    hts_expr_val_t r = HTS_EXPR_VAL_INIT;
    for (i = 0; i < sizeof(tests) / sizeof(*tests); i++) {
        hts_filter_t *filt = hts_filter_init(tests[i].str);
        if (!filt)
            return 1;
        if (hts_filter_eval2(filt, NULL, lookup, &r)) {
            fprintf(stderr, "Failed to parse filter string %s\n",
                    tests[i].str);
            res = 1;
            hts_filter_free(filt);
            continue;
        }

        if (!hts_expr_val_exists(&r)) {
            if (r.is_true != tests[i].truth_val ||
                !cmpfloat(r.d, tests[i].dval)) {
                fprintf(stderr,
                        "Failed test: \"%s\" == \"%f\", got %s, \"%s\", %f\n",
                        tests[i].str, tests[i].dval,
                        r.is_true ? "true" : "false", r.s.s, r.d);
                res = 1;
            }
        } else if (r.is_str && (strcmpnull(r.s.s, tests[i].sval) != 0
                         || !cmpfloat(r.d, tests[i].dval)
                         || r.is_true != tests[i].truth_val)) {
            fprintf(stderr,
                    "Failed test: \"%s\" == \"%s\", got %s, \"%s\", %f\n",
                    tests[i].str, tests[i].sval,
                    r.is_true ? "true" : "false", r.s.s, r.d);
            res = 1;
        } else if (!r.is_str && (!cmpfloat(r.d, tests[i].dval)
                                 || r.is_true != tests[i].truth_val)) {
            fprintf(stderr, "Failed test: %s == %f, got %s, %f\n",
                    tests[i].str, tests[i].dval,
                    r.is_true ? "true" : "false", r.d);
            res = 1;
        }

        hts_expr_val_free(&r);
        hts_filter_free(filt);
    }

    return res;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1450, %rsp           # imm = 0x1450
movl $0x1, -0x1410(%rbp)
movsd 0xe2163(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x1408(%rbp)
movq $0x0, -0x1400(%rbp)
leaq 0xe2407(%rip), %rax     # 0xe82ce
movq %rax, -0x13f8(%rbp)
movl $0x1, -0x13f0(%rbp)
movsd 0xe2130(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x13e8(%rbp)
movq $0x0, -0x13e0(%rbp)
leaq 0xe2182(%rip), %rax     # 0xe807c
movq %rax, -0x13d8(%rbp)
movl $0x1, -0x13d0(%rbp)
movsd 0xe2145(%rip), %xmm0    # 0xe8058
movsd %xmm0, -0x13c8(%rbp)
movq $0x0, -0x13c0(%rbp)
leaq 0xe217a(%rip), %rax     # 0xe80a7
movq %rax, -0x13b8(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x60, %rdi
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe2137(%rip), %rax     # 0xe8089
movq %rax, -0x1398(%rbp)
movl $0x1, -0x1390(%rbp)
movsd 0xe20a5(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x1388(%rbp)
movq $0x0, -0x1380(%rbp)
leaq 0xe20fa(%rip), %rax     # 0xe807f
movq %rax, -0x1378(%rbp)
movl $0x1, -0x1370(%rbp)
movsd 0xe2072(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x1368(%rbp)
movq $0x0, -0x1360(%rbp)
leaq 0xe20ca(%rip), %rax     # 0xe8082
movq %rax, -0x1358(%rbp)
movl $0x1, -0x1350(%rbp)
movsd 0xe203f(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x1348(%rbp)
movq $0x0, -0x1340(%rbp)
leaq 0xe209d(%rip), %rax     # 0xe8088
movq %rax, -0x1338(%rbp)
movl $0x1, -0x1330(%rbp)
movsd 0xe205c(%rip), %xmm0    # 0xe8060
movsd %xmm0, -0x1328(%rbp)
movq $0x0, -0x1320(%rbp)
leaq 0xe2075(%rip), %rax     # 0xe8093
movq %rax, -0x1318(%rbp)
movl $0x1, -0x1310(%rbp)
movsd 0xe2021(%rip), %xmm0    # 0xe8058
movsd %xmm0, -0x1308(%rbp)
movq $0x0, -0x1300(%rbp)
leaq 0xe203b(%rip), %rax     # 0xe808c
movq %rax, -0x12f8(%rbp)
movl $0x1, -0x12f0(%rbp)
movsd 0xe1fd6(%rip), %xmm0    # 0xe8040
movsd %xmm0, -0x12e8(%rbp)
movq $0x0, -0x12e0(%rbp)
leaq 0xe200d(%rip), %rax     # 0xe8091
movq %rax, -0x12d8(%rbp)
movl $0x1, -0x12d0(%rbp)
movsd 0xe1f73(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x12c8(%rbp)
movq $0x0, -0x12c0(%rbp)
leaq 0xe1fe0(%rip), %rax     # 0xe8097
movq %rax, -0x12b8(%rbp)
movl $0x0, -0x12b0(%rbp)
movsd 0xe1f38(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x12a8(%rbp)
movq $0x0, -0x12a0(%rbp)
leaq 0xe1fb2(%rip), %rax     # 0xe809c
movq %rax, -0x1298(%rbp)
movl $0x0, -0x1290(%rbp)
movsd 0xe1f05(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x1288(%rbp)
movq $0x0, -0x1280(%rbp)
leaq 0xe1f86(%rip), %rax     # 0xe80a3
movq %rax, -0x1278(%rbp)
movl $0x0, -0x1270(%rbp)
movsd 0xe1ed2(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x1268(%rbp)
movq $0x0, -0x1260(%rbp)
leaq 0xe1f5a(%rip), %rax     # 0xe80aa
movq %rax, -0x1258(%rbp)
movl $0x1, -0x1250(%rbp)
movsd 0xe1ed7(%rip), %xmm0    # 0xe8040
movsd %xmm0, -0x1248(%rbp)
movq $0x0, -0x1240(%rbp)
leaq 0xe1f2f(%rip), %rax     # 0xe80b2
movq %rax, -0x1238(%rbp)
movl $0x1, -0x1230(%rbp)
movsd 0xe1ea4(%rip), %xmm0    # 0xe8040
movsd %xmm0, -0x1228(%rbp)
movq $0x0, -0x1220(%rbp)
leaq 0xe1efa(%rip), %rax     # 0xe80b0
movq %rax, -0x1218(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x200, %rdi            # imm = 0x200
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe1ed8(%rip), %rax     # 0xe80b6
movq %rax, -0x11f8(%rbp)
movl $0x1, -0x11f0(%rbp)
movsd 0xe1e41(%rip), %xmm0    # 0xe8038
movsd %xmm0, -0x11e8(%rbp)
movq $0x0, -0x11e0(%rbp)
leaq 0xe1ea9(%rip), %rax     # 0xe80ba
movq %rax, -0x11d8(%rbp)
movl $0x1, -0x11d0(%rbp)
movsd 0xe1e0e(%rip), %xmm0    # 0xe8038
movsd %xmm0, -0x11c8(%rbp)
movq $0x0, -0x11c0(%rbp)
leaq 0xe1e7a(%rip), %rax     # 0xe80be
movq %rax, -0x11b8(%rbp)
movl $0x1, -0x11b0(%rbp)
movsd 0xe1df3(%rip), %xmm0    # 0xe8050
movsd %xmm0, -0x11a8(%rbp)
movq $0x0, -0x11a0(%rbp)
leaq 0xe1e4d(%rip), %rax     # 0xe80c4
movq %rax, -0x1198(%rbp)
movl $0x1, -0x1190(%rbp)
movsd 0xe1db8(%rip), %xmm0    # 0xe8048
movsd %xmm0, -0x1188(%rbp)
movq $0x0, -0x1180(%rbp)
leaq 0xe1e26(%rip), %rax     # 0xe80d0
movq %rax, -0x1178(%rbp)
movl $0x0, -0x1170(%rbp)
movsd 0xe1d45(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x1168(%rbp)
movq $0x0, -0x1160(%rbp)
leaq 0xe1e01(%rip), %rax     # 0xe80de
movq %rax, -0x1158(%rbp)
movl $0x0, -0x1150(%rbp)
movsd 0xe1d12(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x1148(%rbp)
movq $0x0, -0x1140(%rbp)
leaq 0xe1dd5(%rip), %rax     # 0xe80e5
movq %rax, -0x1138(%rbp)
movl $0x0, -0x1130(%rbp)
movsd 0xe1cdf(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x1128(%rbp)
movq $0x0, -0x1120(%rbp)
leaq 0xe1da9(%rip), %rax     # 0xe80ec
movq %rax, -0x1118(%rbp)
movl $0x1, -0x1110(%rbp)
movsd 0xe1cb4(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x1108(%rbp)
movq $0x0, -0x1100(%rbp)
leaq 0xe1d7a(%rip), %rax     # 0xe80f0
movq %rax, -0x10f8(%rbp)
movl $0x1, -0x10f0(%rbp)
movsd 0xe1c81(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x10e8(%rbp)
movq $0x0, -0x10e0(%rbp)
leaq 0xe1d52(%rip), %rax     # 0xe80fb
movq %rax, -0x10d8(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x340, %rdi            # imm = 0x340
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe1d35(%rip), %rax     # 0xe8106
movq %rax, -0x10b8(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x360, %rdi            # imm = 0x360
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe1d18(%rip), %rax     # 0xe8111
movq %rax, -0x1098(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x380, %rdi            # imm = 0x380
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe1cfb(%rip), %rax     # 0xe811c
movq %rax, -0x1078(%rbp)
movl $0x1, -0x1070(%rbp)
movsd 0xe1bd6(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x1068(%rbp)
movq $0x0, -0x1060(%rbp)
leaq 0xe1ccc(%rip), %rax     # 0xe8120
movq %rax, -0x1058(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x3c0, %rdi            # imm = 0x3C0
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe1ca8(%rip), %rax     # 0xe8124
movq %rax, -0x1038(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x3e0, %rdi            # imm = 0x3E0
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe1c84(%rip), %rax     # 0xe8128
movq %rax, -0x1018(%rbp)
movl $0x1, -0x1010(%rbp)
movsd 0xe1b53(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x1008(%rbp)
movq $0x0, -0x1000(%rbp)
leaq 0xe1c55(%rip), %rax     # 0xe812c
movq %rax, -0xff8(%rbp)
movl $0x1, -0xff0(%rbp)
movsd 0xe1b20(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xfe8(%rbp)
movq $0x0, -0xfe0(%rbp)
leaq 0xe1c27(%rip), %rax     # 0xe8131
movq %rax, -0xfd8(%rbp)
movl $0x1, -0xfd0(%rbp)
movsd 0xe1aed(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xfc8(%rbp)
movq $0x0, -0xfc0(%rbp)
leaq 0xe1bf9(%rip), %rax     # 0xe8136
movq %rax, -0xfb8(%rbp)
movl $0x1, -0xfb0(%rbp)
movsd 0xe1aba(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xfa8(%rbp)
movq $0x0, -0xfa0(%rbp)
leaq 0xe1bcd(%rip), %rax     # 0xe813d
movq %rax, -0xf98(%rbp)
movl $0x1, -0xf90(%rbp)
movsd 0xe1a87(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xf88(%rbp)
movq $0x0, -0xf80(%rbp)
leaq 0xe1ba3(%rip), %rax     # 0xe8146
movq %rax, -0xf78(%rbp)
movl $0x1, -0xf70(%rbp)
movsd 0xe1a54(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xf68(%rbp)
movq $0x0, -0xf60(%rbp)
leaq 0xe1b78(%rip), %rax     # 0xe814e
movq %rax, -0xf58(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x4c0, %rdi            # imm = 0x4C0
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe1b58(%rip), %rax     # 0xe8156
movq %rax, -0xf38(%rbp)
movl $0x1, -0xf30(%rbp)
movsd 0xe19f9(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xf28(%rbp)
movq $0x0, -0xf20(%rbp)
leaq 0xe1b2c(%rip), %rax     # 0xe815d
movq %rax, -0xf18(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x500, %rdi            # imm = 0x500
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe1b0c(%rip), %rax     # 0xe8165
movq %rax, -0xef8(%rbp)
movl $0x1, -0xef0(%rbp)
movsd 0xe19b6(%rip), %xmm0    # 0xe8028
movsd %xmm0, -0xee8(%rbp)
movq $0x0, -0xee0(%rbp)
leaq 0xe1ae1(%rip), %rax     # 0xe816d
movq %rax, -0xed8(%rbp)
movl $0x1, -0xed0(%rbp)
movsd 0xe196b(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xec8(%rbp)
movq $0x0, -0xec0(%rbp)
leaq 0xe1ab8(%rip), %rax     # 0xe8177
movq %rax, -0xeb8(%rbp)
movl $0x1, -0xeb0(%rbp)
movsd 0xe1938(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xea8(%rbp)
movq $0x0, -0xea0(%rbp)
leaq 0xe1a94(%rip), %rax     # 0xe8186
movq %rax, -0xe98(%rbp)
movl $0x0, -0xe90(%rbp)
movsd 0xe18fd(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0xe88(%rbp)
movq $0x0, -0xe80(%rbp)
leaq 0xe1a6c(%rip), %rax     # 0xe8191
movq %rax, -0xe78(%rbp)
movl $0x0, -0xe70(%rbp)
movsd 0xe18ca(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0xe68(%rbp)
movq $0x0, -0xe60(%rbp)
leaq 0xe1a43(%rip), %rax     # 0xe819b
movq %rax, -0xe58(%rbp)
movl $0x0, -0xe50(%rbp)
movsd 0xe1897(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0xe48(%rbp)
movq $0x0, -0xe40(%rbp)
leaq 0xe1a1a(%rip), %rax     # 0xe81a5
movq %rax, -0xe38(%rbp)
movl $0x0, -0xe30(%rbp)
movsd 0xe1864(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0xe28(%rbp)
movq $0x0, -0xe20(%rbp)
leaq 0xe19f0(%rip), %rax     # 0xe81ae
movq %rax, -0xe18(%rbp)
movl $0x0, -0xe10(%rbp)
movsd 0xe1831(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0xe08(%rbp)
movq $0x0, -0xe00(%rbp)
leaq 0xe19c6(%rip), %rax     # 0xe81b7
movq %rax, -0xdf8(%rbp)
movl $0x0, -0xdf0(%rbp)
movsd 0xe17fe(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0xde8(%rbp)
movq $0x0, -0xde0(%rbp)
leaq 0xe19a0(%rip), %rax     # 0xe81c4
movq %rax, -0xdd8(%rbp)
movl $0x0, -0xdd0(%rbp)
movsd 0xe17cb(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0xdc8(%rbp)
movq $0x0, -0xdc0(%rbp)
leaq 0xe197a(%rip), %rax     # 0xe81d1
movq %rax, -0xdb8(%rbp)
movl $0x0, -0xdb0(%rbp)
movsd 0xe1798(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0xda8(%rbp)
movq $0x0, -0xda0(%rbp)
leaq 0xe1951(%rip), %rax     # 0xe81db
movq %rax, -0xd98(%rbp)
movl $0x1, -0xd90(%rbp)
movsd 0xe176d(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xd88(%rbp)
movq $0x0, -0xd80(%rbp)
leaq 0xe1928(%rip), %rax     # 0xe81e5
movq %rax, -0xd78(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x6a0, %rdi            # imm = 0x6A0
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe1907(%rip), %rax     # 0xe81ec
movq %rax, -0xd58(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x6c0, %rdi            # imm = 0x6C0
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe18e6(%rip), %rax     # 0xe81f3
movq %rax, -0xd38(%rbp)
movl $0x1, -0xd30(%rbp)
movsd 0xe16ea(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xd28(%rbp)
movq $0x0, -0xd20(%rbp)
leaq 0xe1a42(%rip), %rax     # 0xe8382
movq %rax, -0xd18(%rbp)
movl $0x1, -0xd10(%rbp)
movsd 0xe16b7(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xd08(%rbp)
movq $0x0, -0xd00(%rbp)
leaq 0xe1887(%rip), %rax     # 0xe81fa
movq %rax, -0xcf8(%rbp)
movl $0x1, -0xcf0(%rbp)
movsd 0xe1684(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xce8(%rbp)
movq $0x0, -0xce0(%rbp)
leaq 0xe185b(%rip), %rax     # 0xe8201
movq %rax, -0xcd8(%rbp)
movl $0x1, -0xcd0(%rbp)
movsd 0xe1651(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xcc8(%rbp)
movq $0x0, -0xcc0(%rbp)
leaq 0xe182f(%rip), %rax     # 0xe8208
movq %rax, -0xcb8(%rbp)
movl $0x1, -0xcb0(%rbp)
movsd 0xe161e(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xca8(%rbp)
movq $0x0, -0xca0(%rbp)
leaq 0xe1808(%rip), %rax     # 0xe8214
movq %rax, -0xc98(%rbp)
movl $0x1, -0xc90(%rbp)
movsd 0xe15eb(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xc88(%rbp)
movq $0x0, -0xc80(%rbp)
leaq 0xe17e1(%rip), %rax     # 0xe8220
movq %rax, -0xc78(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x7a0, %rdi            # imm = 0x7A0
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe17c5(%rip), %rax     # 0xe822c
movq %rax, -0xc58(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x7c0, %rdi            # imm = 0x7C0
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe17a9(%rip), %rax     # 0xe8238
movq %rax, -0xc38(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x7e0, %rdi            # imm = 0x7E0
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe178d(%rip), %rax     # 0xe8244
movq %rax, -0xc18(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x800, %rdi            # imm = 0x800
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe177c(%rip), %rax     # 0xe825b
movq %rax, -0xbf8(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x820, %rdi            # imm = 0x820
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe1749(%rip), %rax     # 0xe8250
movq %rax, -0xbd8(%rbp)
movl $0x1, -0xbd0(%rbp)
movsd 0xe14f0(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xbc8(%rbp)
movq $0x0, -0xbc0(%rbp)
leaq 0xe1720(%rip), %rax     # 0xe825a
movq %rax, -0xbb8(%rbp)
movl $0x1, -0xbb0(%rbp)
movsd 0xe14bd(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xba8(%rbp)
movq $0x0, -0xba0(%rbp)
leaq 0xe16f8(%rip), %rax     # 0xe8265
movq %rax, -0xb98(%rbp)
movl $0x1, -0xb90(%rbp)
movsd 0xe148a(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xb88(%rbp)
movq $0x0, -0xb80(%rbp)
leaq 0xe16d0(%rip), %rax     # 0xe8270
movq %rax, -0xb78(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x8a0, %rdi            # imm = 0x8A0
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe16c6(%rip), %rax     # 0xe828e
movq %rax, -0xb58(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x8c0, %rdi            # imm = 0x8C0
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe1693(%rip), %rax     # 0xe8283
movq %rax, -0xb38(%rbp)
movl $0x1, -0xb30(%rbp)
movsd 0xe1407(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xb28(%rbp)
movq $0x0, -0xb20(%rbp)
leaq 0xe166a(%rip), %rax     # 0xe828d
movq %rax, -0xb18(%rbp)
movl $0x1, -0xb10(%rbp)
movsd 0xe13d4(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xb08(%rbp)
movq $0x0, -0xb00(%rbp)
leaq 0xe1642(%rip), %rax     # 0xe8298
movq %rax, -0xaf8(%rbp)
movl $0x1, -0xaf0(%rbp)
movsd 0xe13a1(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xae8(%rbp)
movq $0x0, -0xae0(%rbp)
leaq 0xe161a(%rip), %rax     # 0xe82a3
movq %rax, -0xad8(%rbp)
movl $0x1, -0xad0(%rbp)
movsd 0xe136e(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xac8(%rbp)
movq $0x0, -0xac0(%rbp)
leaq 0xe15fa(%rip), %rax     # 0xe82b6
movq %rax, -0xab8(%rbp)
movl $0x1, -0xab0(%rbp)
movsd 0xe133b(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xaa8(%rbp)
movq $0x0, -0xaa0(%rbp)
leaq 0xe15d1(%rip), %rax     # 0xe82c0
movq %rax, -0xa98(%rbp)
movl $0x1, -0xa90(%rbp)
movsd 0xe1308(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xa88(%rbp)
movq $0x0, -0xa80(%rbp)
leaq 0xe15a8(%rip), %rax     # 0xe82ca
movq %rax, -0xa78(%rbp)
movl $0x1, -0xa70(%rbp)
movsd 0xe12e5(%rip), %xmm0    # 0xe8020
movsd %xmm0, -0xa68(%rbp)
movq $0x0, -0xa60(%rbp)
leaq 0xe157b(%rip), %rax     # 0xe82d0
movq %rax, -0xa58(%rbp)
movl $0x1, -0xa50(%rbp)
movsd 0xe12aa(%rip), %xmm0    # 0xe8018
movsd %xmm0, -0xa48(%rbp)
movq $0x0, -0xa40(%rbp)
leaq 0xe154e(%rip), %rax     # 0xe82d6
movq %rax, -0xa38(%rbp)
movl $0x1, -0xa30(%rbp)
movsd 0xe1277(%rip), %xmm0    # 0xe8018
movsd %xmm0, -0xa28(%rbp)
movq $0x0, -0xa20(%rbp)
leaq 0xe1521(%rip), %rax     # 0xe82dc
movq %rax, -0xa18(%rbp)
movl $0x1, -0xa10(%rbp)
movsd 0xe1264(%rip), %xmm0    # 0xe8038
movsd %xmm0, -0xa08(%rbp)
movq $0x0, -0xa00(%rbp)
leaq 0xe14f4(%rip), %rax     # 0xe82e2
movq %rax, -0x9f8(%rbp)
movl $0x1, -0x9f0(%rbp)
movsd 0xe1219(%rip), %xmm0    # 0xe8020
movsd %xmm0, -0x9e8(%rbp)
movq $0x0, -0x9e0(%rbp)
leaq 0xe14c7(%rip), %rax     # 0xe82e8
movq %rax, -0x9d8(%rbp)
movl $0x0, -0x9d0(%rbp)
movsd 0xe11ce(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x9c8(%rbp)
movq $0x0, -0x9c0(%rbp)
leaq 0xe149a(%rip), %rax     # 0xe82ee
movq %rax, -0x9b8(%rbp)
movl $0x0, -0x9b0(%rbp)
movsd 0xe119b(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x9a8(%rbp)
movq $0x0, -0x9a0(%rbp)
leaq 0xe1470(%rip), %rax     # 0xe82f7
movq %rax, -0x998(%rbp)
movl $0x0, -0x990(%rbp)
movsd 0xe1168(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x988(%rbp)
movq $0x0, -0x980(%rbp)
leaq 0xe1446(%rip), %rax     # 0xe8300
movq %rax, -0x978(%rbp)
movl $0x0, -0x970(%rbp)
movsd 0xe1135(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x968(%rbp)
movq $0x0, -0x960(%rbp)
leaq 0xe141c(%rip), %rax     # 0xe8309
movq %rax, -0x958(%rbp)
movl $0x0, -0x950(%rbp)
movsd 0xe1102(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x948(%rbp)
movq $0x0, -0x940(%rbp)
leaq 0xe13f2(%rip), %rax     # 0xe8312
movq %rax, -0x938(%rbp)
movl $0x0, -0x930(%rbp)
movsd 0xe10cf(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x928(%rbp)
movq $0x0, -0x920(%rbp)
leaq 0xe13c8(%rip), %rax     # 0xe831b
movq %rax, -0x918(%rbp)
movl $0x0, -0x910(%rbp)
movsd 0xe109c(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x908(%rbp)
movq $0x0, -0x900(%rbp)
leaq 0xe139e(%rip), %rax     # 0xe8324
movq %rax, -0x8f8(%rbp)
movl $0x0, -0x8f0(%rbp)
movsd 0xe1069(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x8e8(%rbp)
movq $0x0, -0x8e0(%rbp)
leaq 0xe1374(%rip), %rax     # 0xe832d
movq %rax, -0x8d8(%rbp)
movl $0x1, -0x8d0(%rbp)
movsd 0xe103e(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x8c8(%rbp)
movq $0x0, -0x8c0(%rbp)
leaq 0xe134a(%rip), %rax     # 0xe8336
movq %rax, -0x8b8(%rbp)
movl $0x1, -0x8b0(%rbp)
movsd 0xe101b(%rip), %xmm0    # 0xe8020
movsd %xmm0, -0x8a8(%rbp)
movq $0x0, -0x8a0(%rbp)
leaq 0xe1323(%rip), %rax     # 0xe8342
movq %rax, -0x898(%rbp)
movl $0x1, -0x890(%rbp)
movsd 0xe0fe8(%rip), %xmm0    # 0xe8020
movsd %xmm0, -0x888(%rbp)
movq $0x0, -0x880(%rbp)
leaq 0xe12fc(%rip), %rax     # 0xe834e
movq %rax, -0x878(%rbp)
movl $0x1, -0x870(%rbp)
movsd 0xe0fd5(%rip), %xmm0    # 0xe8040
movsd %xmm0, -0x868(%rbp)
movq $0x0, -0x860(%rbp)
leaq 0xe12d5(%rip), %rax     # 0xe835a
movq %rax, -0x858(%rbp)
movl $0x1, -0x850(%rbp)
movsd 0xe0f9a(%rip), %xmm0    # 0xe8038
movsd %xmm0, -0x848(%rbp)
movq $0x0, -0x840(%rbp)
leaq 0xe12ae(%rip), %rax     # 0xe8366
movq %rax, -0x838(%rbp)
movl $0x1, -0x830(%rbp)
movsd 0xe0f67(%rip), %xmm0    # 0xe8038
movsd %xmm0, -0x828(%rbp)
movq $0x0, -0x820(%rbp)
leaq 0xe1287(%rip), %rax     # 0xe8372
movq %rax, -0x818(%rbp)
movl $0x1, -0x810(%rbp)
movsd 0xe0f0c(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x808(%rbp)
movq $0x0, -0x800(%rbp)
leaq 0xe1260(%rip), %rax     # 0xe837e
movq %rax, -0x7f8(%rbp)
movl $0x1, -0x7f0(%rbp)
movsd 0xe0ed9(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x7e8(%rbp)
movq $0x0, -0x7e0(%rbp)
leaq 0xe1238(%rip), %rax     # 0xe8389
movq %rax, -0x7d8(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0xc40, %rdi            # imm = 0xC40
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe121d(%rip), %rax     # 0xe8396
movq %rax, -0x7b8(%rbp)
movl $0x1, -0x7b0(%rbp)
movsd 0xe0e7e(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x7a8(%rbp)
movq $0x0, -0x7a0(%rbp)
leaq 0xe11f7(%rip), %rax     # 0xe83a3
movq %rax, -0x798(%rbp)
movl $0x1, -0x790(%rbp)
movsd 0xe0e4b(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x788(%rbp)
movq $0x0, -0x780(%rbp)
leaq 0xe11cf(%rip), %rax     # 0xe83ae
movq %rax, -0x778(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0xca0, %rdi            # imm = 0xCA0
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe11b4(%rip), %rax     # 0xe83bb
movq %rax, -0x758(%rbp)
movl $0x1, -0x750(%rbp)
movsd 0xe0df0(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x748(%rbp)
movq $0x0, -0x740(%rbp)
leaq 0xe118e(%rip), %rax     # 0xe83c8
movq %rax, -0x738(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0xce0, %rdi            # imm = 0xCE0
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe1174(%rip), %rax     # 0xe83d6
movq %rax, -0x718(%rbp)
movl $0x1, -0x710(%rbp)
movsd 0xe0d95(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x708(%rbp)
movq $0x0, -0x700(%rbp)
leaq 0xe1150(%rip), %rax     # 0xe83e5
movq %rax, -0x6f8(%rbp)
movl $0x1, -0x6f0(%rbp)
movsd 0xe0d62(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x6e8(%rbp)
movq $0x0, -0x6e0(%rbp)
leaq 0xe112b(%rip), %rax     # 0xe83f3
movq %rax, -0x6d8(%rbp)
movl $0x1, -0x6d0(%rbp)
movsd 0xe0d2f(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x6c8(%rbp)
leaq 0xe0d7c(%rip), %rax     # 0xe806c
movq %rax, -0x6c0(%rbp)
leaq 0xe122b(%rip), %rax     # 0xe8529
movq %rax, -0x6b8(%rbp)
movl $0x1, -0x6b0(%rbp)
movsd 0xe0cf9(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x6a8(%rbp)
leaq 0xe1c14(%rip), %rax     # 0xe8f3a
movq %rax, -0x6a0(%rbp)
leaq 0xe0d3e(%rip), %rax     # 0xe8072
movq %rax, -0x698(%rbp)
movl $0x1, -0x690(%rbp)
movsd 0xe0cc3(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x688(%rbp)
movq $0x0, -0x680(%rbp)
leaq 0xe10a6(%rip), %rax     # 0xe840d
movq %rax, -0x678(%rbp)
movl $0x1, -0x670(%rbp)
movsd 0xe0c90(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x668(%rbp)
movq $0x0, -0x660(%rbp)
leaq 0xe1084(%rip), %rax     # 0xe841e
movq %rax, -0x658(%rbp)
movl $0x1, -0x650(%rbp)
movsd 0xe0c5d(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x648(%rbp)
movq $0x0, -0x640(%rbp)
leaq 0xe1062(%rip), %rax     # 0xe842f
movq %rax, -0x638(%rbp)
movl $0x1, -0x630(%rbp)
movsd 0xe0c2a(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x628(%rbp)
movq $0x0, -0x620(%rbp)
leaq 0xe103d(%rip), %rax     # 0xe843d
movq %rax, -0x618(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0xe00, %rdi            # imm = 0xE00
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe1024(%rip), %rax     # 0xe844c
movq %rax, -0x5f8(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0xe20, %rdi            # imm = 0xE20
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe1009(%rip), %rax     # 0xe8459
movq %rax, -0x5d8(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0xe40, %rdi            # imm = 0xE40
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe0fef(%rip), %rax     # 0xe8467
movq %rax, -0x5b8(%rbp)
movl $0x1, -0x5b0(%rbp)
movsd 0xe0b7f(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x5a8(%rbp)
movq $0x0, -0x5a0(%rbp)
leaq 0xe0fca(%rip), %rax     # 0xe8475
movq %rax, -0x598(%rbp)
movl $0x1, -0x590(%rbp)
movsd 0xe0b4c(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x588(%rbp)
movq $0x0, -0x580(%rbp)
leaq 0xe0fa6(%rip), %rax     # 0xe8484
movq %rax, -0x578(%rbp)
movl $0x1, -0x570(%rbp)
movsd 0xe0b19(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x568(%rbp)
movq $0x0, -0x560(%rbp)
leaq 0xe0f80(%rip), %rax     # 0xe8491
movq %rax, -0x558(%rbp)
movl $0x0, -0x550(%rbp)
movsd 0xe0ade(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x548(%rbp)
movq $0x0, -0x540(%rbp)
leaq 0xe0f5b(%rip), %rax     # 0xe849f
movq %rax, -0x538(%rbp)
movl $0x0, -0x530(%rbp)
movsd 0xe0aab(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x528(%rbp)
movq $0x0, -0x520(%rbp)
leaq 0xe0f34(%rip), %rax     # 0xe84ab
movq %rax, -0x518(%rbp)
movl $0x0, -0x510(%rbp)
movsd 0xe0a78(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x508(%rbp)
movq $0x0, -0x500(%rbp)
leaq 0xe0f0d(%rip), %rax     # 0xe84b7
movq %rax, -0x4f8(%rbp)
movl $0x0, -0x4f0(%rbp)
movsd 0xe0a45(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x4e8(%rbp)
movq $0x0, -0x4e0(%rbp)
leaq 0xe0ee5(%rip), %rax     # 0xe84c2
movq %rax, -0x4d8(%rbp)
movl $0x1, -0x4d0(%rbp)
movsd 0xe0a1a(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x4c8(%rbp)
movq $0x0, -0x4c0(%rbp)
leaq 0xe0ebd(%rip), %rax     # 0xe84cd
movq %rax, -0x4b8(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0xf60, %rdi            # imm = 0xF60
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe0eaa(%rip), %rax     # 0xe84e2
movq %rax, -0x498(%rbp)
movl $0x1, -0x490(%rbp)
movsd 0xe09bf(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x488(%rbp)
movq $0x0, -0x480(%rbp)
leaq 0xe0e8c(%rip), %rax     # 0xe84f7
movq %rax, -0x478(%rbp)
movl $0x1, -0x470(%rbp)
movsd 0xe098c(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x468(%rbp)
movq $0x0, -0x460(%rbp)
leaq 0xe0e6e(%rip), %rax     # 0xe850c
movq %rax, -0x458(%rbp)
movl $0x1, -0x450(%rbp)
movsd 0xe0959(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x448(%rbp)
leaq 0xe1874(%rip), %rax     # 0xe8f3a
movq %rax, -0x440(%rbp)
leaq 0xe0e5d(%rip), %rax     # 0xe8531
movq %rax, -0x438(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0xfe0, %rdi            # imm = 0xFE0
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe0e34(%rip), %rax     # 0xe8530
movq %rax, -0x418(%rbp)
movl $0x1, -0x410(%rbp)
movsd 0xe08fb(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x408(%rbp)
movq $0x0, -0x400(%rbp)
leaq 0xe0e00(%rip), %rax     # 0xe852f
movq %rax, -0x3f8(%rbp)
movl $0x1, -0x3f0(%rbp)
movsd 0xe08c8(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x3e8(%rbp)
movq $0x0, -0x3e0(%rbp)
leaq 0xe0dde(%rip), %rax     # 0xe8540
movq %rax, -0x3d8(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x1040, %rdi           # imm = 0x1040
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe0dcf(%rip), %rax     # 0xe8559
movq %rax, -0x3b8(%rbp)
movl $0x0, -0x3b0(%rbp)
movsd 0xe0865(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x3a8(%rbp)
movq $0x0, -0x3a0(%rbp)
leaq 0xe0b47(%rip), %rax     # 0xe8304
movq %rax, -0x398(%rbp)
movl $0x1, -0x390(%rbp)
movsd 0xe083a(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x388(%rbp)
movq $0x0, -0x380(%rbp)
leaq 0xe0a7a(%rip), %rax     # 0xe826a
movq %rax, -0x378(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x10a0, %rdi           # imm = 0x10A0
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe0d5a(%rip), %rax     # 0xe8572
movq %rax, -0x358(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x10c0, %rdi           # imm = 0x10C0
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe0d3a(%rip), %rax     # 0xe857a
movq %rax, -0x338(%rbp)
movl $0x1, -0x330(%rbp)
movsd 0xe07b7(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x328(%rbp)
movq $0x0, -0x320(%rbp)
leaq 0xe0d06(%rip), %rax     # 0xe8579
movq %rax, -0x318(%rbp)
movl $0x1, -0x310(%rbp)
movsd 0xe077c(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x308(%rbp)
movq $0x0, -0x300(%rbp)
leaq 0xe09cf(%rip), %rax     # 0xe8275
movq %rax, -0x2f8(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x1120, %rdi           # imm = 0x1120
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe0cb4(%rip), %rax     # 0xe8582
movq %rax, -0x2d8(%rbp)
movl $0x1, -0x2d0(%rbp)
movsd 0xe0729(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x2c8(%rbp)
movq $0x0, -0x2c0(%rbp)
leaq 0xe0c80(%rip), %rax     # 0xe8581
movq %rax, -0x2b8(%rbp)
movl $0x1, -0x2b0(%rbp)
xorps %xmm0, %xmm0
movsd %xmm0, -0x2a8(%rbp)
movq $0x0, -0x2a0(%rbp)
leaq 0xe0c64(%rip), %rax     # 0xe8593
movq %rax, -0x298(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x1180, %rdi           # imm = 0x1180
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe0c3b(%rip), %rax     # 0xe8592
movq %rax, -0x278(%rbp)
movl $0x1, -0x270(%rbp)
movsd 0xe06a0(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x268(%rbp)
movq $0x0, -0x260(%rbp)
leaq 0xe0c07(%rip), %rax     # 0xe8591
movq %rax, -0x258(%rbp)
movl $0x1, -0x250(%rbp)
movsd 0xe067d(%rip), %xmm0    # 0xe8020
callq 0x4380
movsd %xmm0, -0x248(%rbp)
movq $0x0, -0x240(%rbp)
leaq 0xe0bdf(%rip), %rax     # 0xe85a1
movq %rax, -0x238(%rbp)
movl $0x1, -0x230(%rbp)
movsd 0xe0655(%rip), %xmm0    # 0xe8030
callq 0x48e0
movsd %xmm0, -0x228(%rbp)
movq $0x0, -0x220(%rbp)
leaq 0xe0bae(%rip), %rax     # 0xe85a8
movq %rax, -0x218(%rbp)
movl $0x1, -0x210(%rbp)
movsd 0xe061d(%rip), %xmm0    # 0xe8030
movsd %xmm0, -0x208(%rbp)
movq $0x0, -0x200(%rbp)
leaq 0xe0b82(%rip), %rax     # 0xe85af
movq %rax, -0x1f8(%rbp)
movl $0x1, -0x1f0(%rbp)
movsd 0xe05e2(%rip), %xmm0    # 0xe8028
movsd %xmm0, -0x1e8(%rbp)
movq $0x0, -0x1e0(%rbp)
leaq 0xe0b5b(%rip), %rax     # 0xe85bb
movq %rax, -0x1d8(%rbp)
movl $0x1, -0x1d0(%rbp)
movsd 0xe059f(%rip), %xmm0    # 0xe8018
movsd %xmm0, -0x1c8(%rbp)
movq $0x0, -0x1c0(%rbp)
leaq 0xe0b31(%rip), %rax     # 0xe85c4
movq %rax, -0x1b8(%rbp)
movl $0x0, -0x1b0(%rbp)
movsd 0xe055c(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x1a8(%rbp)
movq $0x0, -0x1a0(%rbp)
leaq 0xe0b06(%rip), %rax     # 0xe85cc
movq %rax, -0x198(%rbp)
movl $0x1, -0x190(%rbp)
movsd 0xe0541(%rip), %xmm0    # 0xe8020
movsd %xmm0, -0x188(%rbp)
movq $0x0, -0x180(%rbp)
leaq 0xe0adc(%rip), %rax     # 0xe85d5
movq %rax, -0x178(%rbp)
movl $0x1, -0x170(%rbp)
movsd 0xe0506(%rip), %xmm0    # 0xe8018
movsd %xmm0, -0x168(%rbp)
movq $0x0, -0x160(%rbp)
leaq 0xe0ab6(%rip), %rax     # 0xe85e2
movq %rax, -0x158(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x12c0, %rdi           # imm = 0x12C0
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe0a9e(%rip), %rax     # 0xe85f2
movq %rax, -0x138(%rbp)
movl $0x1, -0x130(%rbp)
movsd 0xe049b(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x128(%rbp)
movq $0x0, -0x120(%rbp)
leaq 0xe0a7b(%rip), %rax     # 0xe8602
movq %rax, -0x118(%rbp)
movl $0x1, -0x110(%rbp)
movsd 0xe0468(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0x108(%rbp)
movq $0x0, -0x100(%rbp)
leaq 0xe0a61(%rip), %rax     # 0xe861b
movq %rax, -0xf8(%rbp)
movl $0x1, -0xf0(%rbp)
movsd 0xe0435(%rip), %xmm0    # 0xe8008
movsd %xmm0, -0xe8(%rbp)
movq $0x0, -0xe0(%rbp)
leaq 0xe0a4a(%rip), %rax     # 0xe8637
movq %rax, -0xd8(%rbp)
movl $0x1, -0xd0(%rbp)
movsd 0xe040a(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xc8(%rbp)
movq $0x0, -0xc0(%rbp)
leaq 0xe0a33(%rip), %rax     # 0xe8653
movq %rax, -0xb8(%rbp)
movl $0x1, -0xb0(%rbp)
movsd 0xe03d7(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0xa8(%rbp)
movq $0x0, -0xa0(%rbp)
leaq 0xe0a0e(%rip), %rax     # 0xe8661
movq %rax, -0x98(%rbp)
movl $0x1, -0x90(%rbp)
movsd 0xe03a4(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x88(%rbp)
movq $0x0, -0x80(%rbp)
leaq 0xe09e9(%rip), %rax     # 0xe866c
movq %rax, -0x78(%rbp)
movl $0x1, -0x70(%rbp)
movsd 0xe037a(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x68(%rbp)
movq $0x0, -0x60(%rbp)
leaq 0xe09cd(%rip), %rax     # 0xe8677
movq %rax, -0x58(%rbp)
leaq -0x1410(%rbp), %rdi
addq $0x13c0, %rdi           # imm = 0x13C0
xorl %esi, %esi
movl $0x20, %edx
callq 0x4250
leaq 0xe09b2(%rip), %rax     # 0xe8681
movq %rax, -0x38(%rbp)
movl $0x1, -0x30(%rbp)
movsd 0xe032e(%rip), %xmm0    # 0xe8010
movsd %xmm0, -0x28(%rbp)
movq $0x0, -0x20(%rbp)
leaq 0xe0998(%rip), %rax     # 0xe868e
movq %rax, -0x18(%rbp)
movl $0x0, -0x1418(%rbp)
leaq -0x1440(%rbp), %rdi
xorl %esi, %esi
movl $0x28, %edx
callq 0x4250
movl $0x0, -0x1414(%rbp)
movslq -0x1414(%rbp), %rax
cmpq $0xa0, %rax
jae 0x80d8
movslq -0x1414(%rbp), %rcx
leaq -0x1410(%rbp), %rax
shlq $0x5, %rcx
addq %rcx, %rax
movq 0x18(%rax), %rdi
callq 0x84e0
movq %rax, -0x1448(%rbp)
cmpq $0x0, -0x1448(%rbp)
jne 0x7d6f
movl $0x1, -0x4(%rbp)
jmp 0x80e1
movq -0x1448(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
leaq -0x22c1(%rip), %rdx     # 0x5ac0
leaq -0x1440(%rbp), %rcx
callq 0x8790
cmpl $0x0, %eax
je 0x7dde
movq 0xfe247(%rip), %rax     # 0x105fe0
movq (%rax), %rdi
movslq -0x1414(%rbp), %rcx
leaq -0x1410(%rbp), %rax
shlq $0x5, %rcx
addq %rcx, %rax
movq 0x18(%rax), %rdx
leaq 0xe08e8(%rip), %rsi     # 0xe86a4
movb $0x0, %al
callq 0x46d0
movl $0x1, -0x1418(%rbp)
movq -0x1448(%rbp), %rdi
callq 0x8570
jmp 0x80c4
leaq -0x1440(%rbp), %rdi
callq 0x80f0
cmpl $0x0, %eax
jne 0x7ec8
movsbl -0x143f(%rbp), %eax
movslq -0x1414(%rbp), %rdx
leaq -0x1410(%rbp), %rcx
shlq $0x5, %rdx
addq %rdx, %rcx
cmpl (%rcx), %eax
jne 0x7e43
movsd -0x1420(%rbp), %xmm0
movslq -0x1414(%rbp), %rcx
leaq -0x1410(%rbp), %rax
shlq $0x5, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm1
callq 0x8160
cmpl $0x0, %eax
jne 0x7ec3
movq 0xfe196(%rip), %rax     # 0x105fe0
movq (%rax), %rdi
movslq -0x1414(%rbp), %rcx
leaq -0x1410(%rbp), %rax
shlq $0x5, %rcx
addq %rcx, %rax
movq 0x18(%rax), %rdx
movslq -0x1414(%rbp), %rcx
leaq -0x1410(%rbp), %rax
shlq $0x5, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm0
movsbl -0x143f(%rbp), %esi
leaq 0xe0865(%rip), %rcx     # 0xe86f3
leaq 0xe03e9(%rip), %rax     # 0xe827e
cmpl $0x0, %esi
cmovneq %rax, %rcx
movq -0x1428(%rbp), %r8
movsd -0x1420(%rbp), %xmm1
leaq 0xe0814(%rip), %rsi     # 0xe86c6
movb $0x2, %al
callq 0x46d0
movl $0x1, -0x1418(%rbp)
jmp 0x80ac
movsbl -0x1440(%rbp), %eax
cmpl $0x0, %eax
je 0x7fd6
movq -0x1428(%rbp), %rdi
movslq -0x1414(%rbp), %rcx
leaq -0x1410(%rbp), %rax
shlq $0x5, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rsi
callq 0x81c0
cmpl $0x0, %eax
jne 0x7f52
movsd -0x1420(%rbp), %xmm0
movslq -0x1414(%rbp), %rcx
leaq -0x1410(%rbp), %rax
shlq $0x5, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm1
callq 0x8160
cmpl $0x0, %eax
je 0x7f52
movsbl -0x143f(%rbp), %eax
movslq -0x1414(%rbp), %rdx
leaq -0x1410(%rbp), %rcx
shlq $0x5, %rdx
addq %rdx, %rcx
cmpl (%rcx), %eax
je 0x7fd6
movq 0xfe087(%rip), %rax     # 0x105fe0
movq (%rax), %rdi
movslq -0x1414(%rbp), %rcx
leaq -0x1410(%rbp), %rax
shlq $0x5, %rcx
addq %rcx, %rax
movq 0x18(%rax), %rdx
movslq -0x1414(%rbp), %rcx
leaq -0x1410(%rbp), %rax
shlq $0x5, %rcx
addq %rcx, %rax
movq 0x10(%rax), %rcx
movsbl -0x143f(%rbp), %esi
leaq 0xe0757(%rip), %r8      # 0xe86f3
leaq 0xe02db(%rip), %rax     # 0xe827e
cmpl $0x0, %esi
cmovneq %rax, %r8
movq -0x1428(%rbp), %r9
movsd -0x1420(%rbp), %xmm0
leaq 0xe0739(%rip), %rsi     # 0xe86f9
movb $0x1, %al
callq 0x46d0
movl $0x1, -0x1418(%rbp)
jmp 0x80aa
cmpb $0x0, -0x1440(%rbp)
jne 0x80a8
movsd -0x1420(%rbp), %xmm0
movslq -0x1414(%rbp), %rcx
leaq -0x1410(%rbp), %rax
shlq $0x5, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm1
callq 0x8160
cmpl $0x0, %eax
je 0x802f
movsbl -0x143f(%rbp), %eax
movslq -0x1414(%rbp), %rdx
leaq -0x1410(%rbp), %rcx
shlq $0x5, %rdx
addq %rdx, %rcx
cmpl (%rcx), %eax
je 0x80a8
movq 0xfdfaa(%rip), %rax     # 0x105fe0
movq (%rax), %rdi
movslq -0x1414(%rbp), %rcx
leaq -0x1410(%rbp), %rax
shlq $0x5, %rcx
addq %rcx, %rax
movq 0x18(%rax), %rdx
movslq -0x1414(%rbp), %rcx
leaq -0x1410(%rbp), %rax
shlq $0x5, %rcx
addq %rcx, %rax
movsd 0x8(%rax), %xmm0
movsbl -0x143f(%rbp), %esi
leaq 0xe0679(%rip), %rcx     # 0xe86f3
leaq 0xe01fd(%rip), %rax     # 0xe827e
cmpl $0x0, %esi
cmovneq %rax, %rcx
movsd -0x1420(%rbp), %xmm1
leaq 0xe068f(%rip), %rsi     # 0xe8726
movb $0x2, %al
callq 0x46d0
movl $0x1, -0x1418(%rbp)
jmp 0x80aa
jmp 0x80ac
leaq -0x1440(%rbp), %rdi
callq 0x8230
movq -0x1448(%rbp), %rdi
callq 0x8570
movl -0x1414(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1414(%rbp)
jmp 0x7d21
movl -0x1418(%rbp), %eax
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
addq $0x1450, %rsp           # imm = 0x1450
popq %rbp
retq
nopl (%rax)