// File: /workspace/github_c_makefile_star2_O3/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1438, %rsp           # imm = 0x1438
movl $0x1, %eax
movl %eax, 0x30(%rsp)
movabsq $0x3ff0000000000000, %rcx # imm = 0x3FF0000000000000
movq %rcx, 0x38(%rsp)
xorl %ebx, %ebx
movq %rbx, 0x40(%rsp)
leaq 0x8a1a7(%rip), %rdx     # 0x9028e
movq %rdx, 0x48(%rsp)
movl %eax, 0x50(%rsp)
movq %rcx, 0x58(%rsp)
movq %rbx, 0x60(%rsp)
leaq 0x89f3b(%rip), %rdx     # 0x9003c
movq %rdx, 0x68(%rsp)
movl %eax, 0x70(%rsp)
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, 0x78(%rsp)
movq %rbx, 0x80(%rsp)
leaq 0x89f3f(%rip), %rsi     # 0x90067
movq %rsi, 0x88(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
leaq 0x89efc(%rip), %rsi     # 0x90049
movq %rsi, 0xa8(%rsp)
movl %eax, 0xb0(%rsp)
movq %rcx, 0xb8(%rsp)
movq %rbx, 0xc0(%rsp)
leaq 0x89ecc(%rip), %rsi     # 0x9003f
movq %rsi, 0xc8(%rsp)
movl %eax, 0xd0(%rsp)
movq %rcx, 0xd8(%rsp)
movq %rbx, 0xe0(%rsp)
leaq 0x89ea9(%rip), %rsi     # 0x90042
movq %rsi, 0xe8(%rsp)
movl %eax, 0xf0(%rsp)
movq %rcx, 0xf8(%rsp)
movq %rbx, 0x100(%rsp)
leaq 0x89e89(%rip), %rsi     # 0x90048
movq %rsi, 0x108(%rsp)
movl %eax, 0x110(%rsp)
movabsq $0x4014000000000000, %rsi # imm = 0x4014000000000000
movq %rsi, 0x118(%rsp)
movq %rbx, 0x120(%rsp)
leaq 0x89e64(%rip), %rsi     # 0x90053
movq %rsi, 0x128(%rsp)
movl %eax, 0x130(%rsp)
movq %rdx, 0x138(%rsp)
movq %rbx, 0x140(%rsp)
leaq 0x89e37(%rip), %rdx     # 0x9004c
movq %rdx, 0x148(%rsp)
movl %eax, 0x150(%rsp)
movabsq $0x4018000000000000, %rdi # imm = 0x4018000000000000
movq %rdi, 0x158(%rsp)
movq %rbx, 0x160(%rsp)
leaq 0x89e0c(%rip), %rdx     # 0x90051
movq %rdx, 0x168(%rsp)
movl %eax, 0x170(%rsp)
movq %rcx, 0x178(%rsp)
movq %rbx, 0x180(%rsp)
leaq 0x89dec(%rip), %rdx     # 0x90057
movq %rdx, 0x188(%rsp)
movl %ebx, 0x190(%rsp)
movabsq $0x7ff8000000000000, %rdx # imm = 0x7FF8000000000000
movq %rdx, 0x198(%rsp)
movq %rbx, 0x1a0(%rsp)
leaq 0x89dc1(%rip), %rsi     # 0x9005c
movq %rsi, 0x1a8(%rsp)
movl %ebx, 0x1b0(%rsp)
movq %rdx, 0x1b8(%rsp)
movq %rbx, 0x1c0(%rsp)
leaq 0x89da2(%rip), %rsi     # 0x90063
movq %rsi, 0x1c8(%rsp)
movl %ebx, 0x1d0(%rsp)
movq %rdx, 0x1d8(%rsp)
movq %rbx, 0x1e0(%rsp)
leaq 0x89d83(%rip), %rsi     # 0x9006a
movq %rsi, 0x1e8(%rsp)
movl %eax, 0x1f0(%rsp)
movq %rdi, 0x1f8(%rsp)
movq %rbx, 0x200(%rsp)
leaq 0x89d65(%rip), %rsi     # 0x90072
movq %rsi, 0x208(%rsp)
movl %eax, 0x210(%rsp)
movq %rdi, 0x218(%rsp)
movq %rbx, 0x220(%rsp)
leaq 0x89d3d(%rip), %rsi     # 0x90070
movq %rsi, 0x228(%rsp)
movapd %xmm0, 0x240(%rsp)
movapd %xmm0, 0x230(%rsp)
leaq 0x89d22(%rip), %rsi     # 0x90076
movq %rsi, 0x248(%rsp)
movl %eax, 0x250(%rsp)
movabsq $0x401c000000000000, %r8 # imm = 0x401C000000000000
movq %r8, 0x258(%rsp)
movq %rbx, 0x260(%rsp)
leaq 0x89cf6(%rip), %rsi     # 0x9007a
movq %rsi, 0x268(%rsp)
movl %eax, 0x270(%rsp)
movq %r8, 0x278(%rsp)
movq %rbx, 0x280(%rsp)
leaq 0x89cd4(%rip), %rsi     # 0x9007e
movq %rsi, 0x288(%rsp)
movl %eax, 0x290(%rsp)
movabsq $0x4035000000000000, %rsi # imm = 0x4035000000000000
movq %rsi, 0x298(%rsp)
movq %rbx, 0x2a0(%rsp)
leaq 0x89caa(%rip), %rsi     # 0x90084
movq %rsi, 0x2a8(%rsp)
movl %eax, 0x2b0(%rsp)
movabsq $0x402c000000000000, %rsi # imm = 0x402C000000000000
movq %rsi, 0x2b8(%rsp)
movq %rbx, 0x2c0(%rsp)
leaq 0x89c86(%rip), %rsi     # 0x90090
movq %rsi, 0x2c8(%rsp)
movl %ebx, 0x2d0(%rsp)
movq %rdx, 0x2d8(%rsp)
movq %rbx, 0x2e0(%rsp)
leaq 0x89c6e(%rip), %rsi     # 0x9009e
movq %rsi, 0x2e8(%rsp)
movl %ebx, 0x2f0(%rsp)
movq %rdx, 0x2f8(%rsp)
movq %rbx, 0x300(%rsp)
leaq 0x89c4f(%rip), %rsi     # 0x900a5
movq %rsi, 0x308(%rsp)
movl %ebx, 0x310(%rsp)
movq %rdx, 0x318(%rsp)
movq %rbx, 0x320(%rsp)
leaq 0x89c30(%rip), %rsi     # 0x900ac
movq %rsi, 0x328(%rsp)
movl %eax, 0x330(%rsp)
movq %rcx, 0x338(%rsp)
movq %rbx, 0x340(%rsp)
leaq 0x89c0e(%rip), %rsi     # 0x900b0
movq %rsi, 0x348(%rsp)
movl %eax, 0x350(%rsp)
movq %rcx, 0x358(%rsp)
movq %rbx, 0x360(%rsp)
leaq 0x89bf3(%rip), %rsi     # 0x900bb
movq %rsi, 0x368(%rsp)
movapd %xmm0, 0x380(%rsp)
movapd %xmm0, 0x370(%rsp)
leaq 0x89bdd(%rip), %rsi     # 0x900c6
movq %rsi, 0x388(%rsp)
movapd %xmm0, 0x3a0(%rsp)
movapd %xmm0, 0x390(%rsp)
leaq 0x89bc7(%rip), %rsi     # 0x900d1
movq %rsi, 0x3a8(%rsp)
movapd %xmm0, 0x3c0(%rsp)
movapd %xmm0, 0x3b0(%rsp)
leaq 0x89bb1(%rip), %rsi     # 0x900dc
movq %rsi, 0x3c8(%rsp)
movl %eax, 0x3d0(%rsp)
movq %rcx, 0x3d8(%rsp)
movq %rbx, 0x3e0(%rsp)
leaq 0x89b8f(%rip), %rsi     # 0x900e0
movq %rsi, 0x3e8(%rsp)
movapd %xmm0, 0x400(%rsp)
movapd %xmm0, 0x3f0(%rsp)
leaq 0x89b72(%rip), %rsi     # 0x900e4
movq %rsi, 0x408(%rsp)
movapd %xmm0, 0x420(%rsp)
movapd %xmm0, 0x410(%rsp)
leaq 0x89b55(%rip), %rsi     # 0x900e8
movq %rsi, 0x428(%rsp)
movl %eax, 0x430(%rsp)
movq %rcx, 0x438(%rsp)
movq %rbx, 0x440(%rsp)
leaq 0x89b33(%rip), %rsi     # 0x900ec
movq %rsi, 0x448(%rsp)
movl %eax, 0x450(%rsp)
movq %rcx, 0x458(%rsp)
movq %rbx, 0x460(%rsp)
leaq 0x89b12(%rip), %rsi     # 0x900f1
movq %rsi, 0x468(%rsp)
movl %eax, 0x470(%rsp)
movq %rcx, 0x478(%rsp)
movq %rbx, 0x480(%rsp)
leaq 0x89af1(%rip), %rsi     # 0x900f6
movq %rsi, 0x488(%rsp)
movl %eax, 0x490(%rsp)
movq %rcx, 0x498(%rsp)
movq %rbx, 0x4a0(%rsp)
leaq 0x89ad2(%rip), %rsi     # 0x900fd
movq %rsi, 0x4a8(%rsp)
movl %eax, 0x4b0(%rsp)
movq %rcx, 0x4b8(%rsp)
movq %rbx, 0x4c0(%rsp)
leaq 0x89ab5(%rip), %rsi     # 0x90106
movq %rsi, 0x4c8(%rsp)
movl %eax, 0x4d0(%rsp)
movq %rcx, 0x4d8(%rsp)
movq %rbx, 0x4e0(%rsp)
leaq 0x89a97(%rip), %rsi     # 0x9010e
movq %rsi, 0x4e8(%rsp)
movapd %xmm0, 0x500(%rsp)
movapd %xmm0, 0x4f0(%rsp)
leaq 0x89a7e(%rip), %rsi     # 0x90116
movq %rsi, 0x508(%rsp)
movl %eax, 0x510(%rsp)
movq %rcx, 0x518(%rsp)
movq %rbx, 0x520(%rsp)
leaq 0x89a5f(%rip), %rsi     # 0x9011d
movq %rsi, 0x528(%rsp)
movapd %xmm0, 0x540(%rsp)
movapd %xmm0, 0x530(%rsp)
leaq 0x89a46(%rip), %rsi     # 0x90125
movq %rsi, 0x548(%rsp)
movl %eax, 0x550(%rsp)
movabsq $0x4020000000000000, %rsi # imm = 0x4020000000000000
movq %rsi, 0x558(%rsp)
movq %rbx, 0x560(%rsp)
leaq 0x89a1e(%rip), %r9      # 0x9012d
movq %r9, 0x568(%rsp)
movl %eax, 0x570(%rsp)
movq %rcx, 0x578(%rsp)
movq %rbx, 0x580(%rsp)
leaq 0x89a02(%rip), %r9      # 0x90137
movq %r9, 0x588(%rsp)
movl %eax, 0x590(%rsp)
movq %rcx, 0x598(%rsp)
movq %rbx, 0x5a0(%rsp)
leaq 0x899eb(%rip), %r9      # 0x90146
movq %r9, 0x5a8(%rsp)
movl %ebx, 0x5b0(%rsp)
movq %rdx, 0x5b8(%rsp)
movq %rbx, 0x5c0(%rsp)
leaq 0x899d0(%rip), %r9      # 0x90151
movq %r9, 0x5c8(%rsp)
movl %ebx, 0x5d0(%rsp)
movq %rdx, 0x5d8(%rsp)
movq %rbx, 0x5e0(%rsp)
leaq 0x899b4(%rip), %r9      # 0x9015b
movq %r9, 0x5e8(%rsp)
movl %ebx, 0x5f0(%rsp)
movq %rdx, 0x5f8(%rsp)
movq %rbx, 0x600(%rsp)
leaq 0x89998(%rip), %r9      # 0x90165
movq %r9, 0x608(%rsp)
movl %ebx, 0x610(%rsp)
movq %rdx, 0x618(%rsp)
movq %rbx, 0x620(%rsp)
leaq 0x8997b(%rip), %r9      # 0x9016e
movq %r9, 0x628(%rsp)
movl %ebx, 0x630(%rsp)
movq %rdx, 0x638(%rsp)
movq %rbx, 0x640(%rsp)
leaq 0x8995e(%rip), %r9      # 0x90177
movq %r9, 0x648(%rsp)
movl %ebx, 0x650(%rsp)
movq %rdx, 0x658(%rsp)
movq %rbx, 0x660(%rsp)
leaq 0x89945(%rip), %r9      # 0x90184
movq %r9, 0x668(%rsp)
movl %ebx, 0x670(%rsp)
movq %rdx, 0x678(%rsp)
movq %rbx, 0x680(%rsp)
leaq 0x8992c(%rip), %r9      # 0x90191
movq %r9, 0x688(%rsp)
movl %ebx, 0x690(%rsp)
movq %rdx, 0x698(%rsp)
movq %rbx, 0x6a0(%rsp)
leaq 0x89910(%rip), %r9      # 0x9019b
movq %r9, 0x6a8(%rsp)
movl %eax, 0x6b0(%rsp)
movq %rcx, 0x6b8(%rsp)
movq %rbx, 0x6c0(%rsp)
leaq 0x898f4(%rip), %r9      # 0x901a5
movq %r9, 0x6c8(%rsp)
movapd %xmm0, 0x6e0(%rsp)
movapd %xmm0, 0x6d0(%rsp)
leaq 0x898da(%rip), %r9      # 0x901ac
movq %r9, 0x6e8(%rsp)
movapd %xmm0, 0x700(%rsp)
movapd %xmm0, 0x6f0(%rsp)
leaq 0x898c0(%rip), %r9      # 0x901b3
movq %r9, 0x708(%rsp)
movl %eax, 0x710(%rsp)
movq %rcx, 0x718(%rsp)
movq %rbx, 0x720(%rsp)
leaq 0x89a29(%rip), %r9      # 0x90342
movq %r9, 0x728(%rsp)
movl %eax, 0x730(%rsp)
movq %rcx, 0x738(%rsp)
movq %rbx, 0x740(%rsp)
leaq 0x8987b(%rip), %r9      # 0x901ba
movq %r9, 0x748(%rsp)
movl %eax, 0x750(%rsp)
movq %rcx, 0x758(%rsp)
movq %rbx, 0x760(%rsp)
leaq 0x8985c(%rip), %r9      # 0x901c1
movq %r9, 0x768(%rsp)
movl %eax, 0x770(%rsp)
movq %rcx, 0x778(%rsp)
movq %rbx, 0x780(%rsp)
leaq 0x8983d(%rip), %r9      # 0x901c8
movq %r9, 0x788(%rsp)
movl %eax, 0x790(%rsp)
movq %rcx, 0x798(%rsp)
movq %rbx, 0x7a0(%rsp)
leaq 0x89823(%rip), %r9      # 0x901d4
movq %r9, 0x7a8(%rsp)
movl %eax, 0x7b0(%rsp)
movq %rcx, 0x7b8(%rsp)
movq %rbx, 0x7c0(%rsp)
leaq 0x89809(%rip), %r9      # 0x901e0
movq %r9, 0x7c8(%rsp)
movapd %xmm0, 0x7e0(%rsp)
movapd %xmm0, 0x7d0(%rsp)
leaq 0x897f4(%rip), %r9      # 0x901ec
movq %r9, 0x7e8(%rsp)
movapd %xmm0, 0x800(%rsp)
movapd %xmm0, 0x7f0(%rsp)
leaq 0x897df(%rip), %r9      # 0x901f8
movq %r9, 0x808(%rsp)
movapd %xmm0, 0x820(%rsp)
movapd %xmm0, 0x810(%rsp)
leaq 0x897ca(%rip), %r9      # 0x90204
movq %r9, 0x828(%rsp)
movapd %xmm0, 0x840(%rsp)
movapd %xmm0, 0x830(%rsp)
leaq 0x897c0(%rip), %r9      # 0x9021b
movq %r9, 0x848(%rsp)
movapd %xmm0, 0x860(%rsp)
movapd %xmm0, 0x850(%rsp)
leaq 0x89794(%rip), %r9      # 0x90210
movq %r9, 0x868(%rsp)
movl %eax, 0x870(%rsp)
movq %rcx, 0x878(%rsp)
movq %rbx, 0x880(%rsp)
leaq 0x89778(%rip), %r9      # 0x9021a
movq %r9, 0x888(%rsp)
movl %eax, 0x890(%rsp)
movq %rcx, 0x898(%rsp)
movq %rbx, 0x8a0(%rsp)
leaq 0x8975d(%rip), %r9      # 0x90225
movq %r9, 0x8a8(%rsp)
movl %eax, 0x8b0(%rsp)
movq %rcx, 0x8b8(%rsp)
movq %rbx, 0x8c0(%rsp)
leaq 0x89742(%rip), %r9      # 0x90230
movq %r9, 0x8c8(%rsp)
movapd %xmm0, 0x8e0(%rsp)
movapd %xmm0, 0x8d0(%rsp)
leaq 0x8973f(%rip), %r9      # 0x9024e
movq %r9, 0x8e8(%rsp)
movapd %xmm0, 0x900(%rsp)
movapd %xmm0, 0x8f0(%rsp)
leaq 0x89713(%rip), %r9      # 0x90243
movq %r9, 0x908(%rsp)
movl %eax, 0x910(%rsp)
movq %rcx, 0x918(%rsp)
movq %rbx, 0x920(%rsp)
leaq 0x896f7(%rip), %r9      # 0x9024d
movq %r9, 0x928(%rsp)
movl %eax, 0x930(%rsp)
movq %rcx, 0x938(%rsp)
movq %rbx, 0x940(%rsp)
leaq 0x896dc(%rip), %r9      # 0x90258
movq %r9, 0x948(%rsp)
movl %eax, 0x950(%rsp)
movq %rcx, 0x958(%rsp)
movq %rbx, 0x960(%rsp)
leaq 0x896c1(%rip), %r9      # 0x90263
movq %r9, 0x968(%rsp)
movl %eax, 0x970(%rsp)
movq %rcx, 0x978(%rsp)
movq %rbx, 0x980(%rsp)
leaq 0x896ae(%rip), %r9      # 0x90276
movq %r9, 0x988(%rsp)
movl %eax, 0x990(%rsp)
movq %rcx, 0x998(%rsp)
movq %rbx, 0x9a0(%rsp)
leaq 0x89692(%rip), %r9      # 0x90280
movq %r9, 0x9a8(%rsp)
movl %eax, 0x9b0(%rsp)
movq %rcx, 0x9b8(%rsp)
movq %rbx, 0x9c0(%rsp)
leaq 0x89676(%rip), %r9      # 0x9028a
movq %r9, 0x9c8(%rsp)
movl %eax, 0x9d0(%rsp)
movabsq $0x4000000000000000, %r9 # imm = 0x4000000000000000
movq %r9, 0x9d8(%rsp)
movq %rbx, 0x9e0(%rsp)
leaq 0x8964c(%rip), %r10     # 0x90290
movq %r10, 0x9e8(%rsp)
movl %eax, 0x9f0(%rsp)
movabsq $0x4008000000000000, %r10 # imm = 0x4008000000000000
movq %r10, 0x9f8(%rsp)
movq %rbx, 0xa00(%rsp)
leaq 0x89622(%rip), %r11     # 0x90296
movq %r11, 0xa08(%rsp)
movl %eax, 0xa10(%rsp)
movq %r10, 0xa18(%rsp)
movq %rbx, 0xa20(%rsp)
leaq 0x89602(%rip), %r11     # 0x9029c
movq %r11, 0xa28(%rsp)
movl %eax, 0xa30(%rsp)
movq %r8, 0xa38(%rsp)
movq %rbx, 0xa40(%rsp)
leaq 0x895e2(%rip), %r11     # 0x902a2
movq %r11, 0xa48(%rsp)
movl %eax, 0xa50(%rsp)
movq %r9, 0xa58(%rsp)
movq %rbx, 0xa60(%rsp)
leaq 0x895c2(%rip), %r11     # 0x902a8
movq %r11, 0xa68(%rsp)
movl %ebx, 0xa70(%rsp)
movq %rdx, 0xa78(%rsp)
movq %rbx, 0xa80(%rsp)
leaq 0x895a2(%rip), %r11     # 0x902ae
movq %r11, 0xa88(%rsp)
movl %ebx, 0xa90(%rsp)
movq %rdx, 0xa98(%rsp)
movq %rbx, 0xaa0(%rsp)
leaq 0x89585(%rip), %r11     # 0x902b7
movq %r11, 0xaa8(%rsp)
movl %ebx, 0xab0(%rsp)
movq %rdx, 0xab8(%rsp)
movq %rbx, 0xac0(%rsp)
leaq 0x89568(%rip), %r11     # 0x902c0
movq %r11, 0xac8(%rsp)
movl %ebx, 0xad0(%rsp)
movq %rdx, 0xad8(%rsp)
movq %rbx, 0xae0(%rsp)
leaq 0x8954b(%rip), %r11     # 0x902c9
movq %r11, 0xae8(%rsp)
movl %ebx, 0xaf0(%rsp)
movq %rdx, 0xaf8(%rsp)
movq %rbx, 0xb00(%rsp)
leaq 0x8952e(%rip), %r11     # 0x902d2
movq %r11, 0xb08(%rsp)
movl %ebx, 0xb10(%rsp)
movq %rdx, 0xb18(%rsp)
movq %rbx, 0xb20(%rsp)
leaq 0x89511(%rip), %r11     # 0x902db
movq %r11, 0xb28(%rsp)
movl %ebx, 0xb30(%rsp)
movq %rdx, 0xb38(%rsp)
movq %rbx, 0xb40(%rsp)
leaq 0x894f4(%rip), %r11     # 0x902e4
movq %r11, 0xb48(%rsp)
movl %ebx, 0xb50(%rsp)
movq %rdx, 0xb58(%rsp)
movq %rbx, 0xb60(%rsp)
leaq 0x894d7(%rip), %r11     # 0x902ed
movq %r11, 0xb68(%rsp)
movl %eax, 0xb70(%rsp)
movq %rcx, 0xb78(%rsp)
movq %rbx, 0xb80(%rsp)
leaq 0x894ba(%rip), %r11     # 0x902f6
movq %r11, 0xb88(%rsp)
movl %eax, 0xb90(%rsp)
movq %r9, 0xb98(%rsp)
movq %rbx, 0xba0(%rsp)
leaq 0x894a0(%rip), %r11     # 0x90302
movq %r11, 0xba8(%rsp)
movl %eax, 0xbb0(%rsp)
movq %r9, 0xbb8(%rsp)
movq %rbx, 0xbc0(%rsp)
leaq 0x89486(%rip), %r11     # 0x9030e
movq %r11, 0xbc8(%rsp)
movl %eax, 0xbd0(%rsp)
movq %rdi, 0xbd8(%rsp)
movq %rbx, 0xbe0(%rsp)
leaq 0x8946c(%rip), %rdi     # 0x9031a
movq %rdi, 0xbe8(%rsp)
movl %eax, 0xbf0(%rsp)
movq %r8, 0xbf8(%rsp)
movq %rbx, 0xc00(%rsp)
leaq 0x89452(%rip), %rdi     # 0x90326
movq %rdi, 0xc08(%rsp)
movl %eax, 0xc10(%rsp)
movq %r8, 0xc18(%rsp)
movq %rbx, 0xc20(%rsp)
leaq 0x89438(%rip), %rdi     # 0x90332
movq %rdi, 0xc28(%rsp)
movl %eax, 0xc30(%rsp)
movq %rcx, 0xc38(%rsp)
movq %rbx, 0xc40(%rsp)
leaq 0x8941e(%rip), %rdi     # 0x9033e
movq %rdi, 0xc48(%rsp)
movl %eax, 0xc50(%rsp)
movq %rcx, 0xc58(%rsp)
movq %rbx, 0xc60(%rsp)
leaq 0x89403(%rip), %rdi     # 0x90349
movq %rdi, 0xc68(%rsp)
movapd %xmm0, 0xc80(%rsp)
movapd %xmm0, 0xc70(%rsp)
leaq 0x893ef(%rip), %rdi     # 0x90356
movq %rdi, 0xc88(%rsp)
movl %eax, 0xc90(%rsp)
movq %rcx, 0xc98(%rsp)
movq %rbx, 0xca0(%rsp)
leaq 0x893d6(%rip), %rdi     # 0x90363
movq %rdi, 0xca8(%rsp)
movl %eax, 0xcb0(%rsp)
movq %rcx, 0xcb8(%rsp)
movq %rbx, 0xcc0(%rsp)
leaq 0x893bb(%rip), %rdi     # 0x9036e
movq %rdi, 0xcc8(%rsp)
movapd %xmm0, 0xce0(%rsp)
movapd %xmm0, 0xcd0(%rsp)
leaq 0x893a7(%rip), %rdi     # 0x9037b
movq %rdi, 0xce8(%rsp)
movl %eax, 0xcf0(%rsp)
movq %rcx, 0xcf8(%rsp)
movq %rbx, 0xd00(%rsp)
leaq 0x8938e(%rip), %rdi     # 0x90388
movq %rdi, 0xd08(%rsp)
movapd %xmm0, 0xd10(%rsp)
movapd %xmm0, 0xd20(%rsp)
leaq 0x8937b(%rip), %rdi     # 0x90396
movq %rdi, 0xd28(%rsp)
movl %eax, 0xd30(%rsp)
movq %rcx, 0xd38(%rsp)
movq %rbx, 0xd40(%rsp)
leaq 0x89364(%rip), %rdi     # 0x903a5
movq %rdi, 0xd48(%rsp)
movl %eax, 0xd50(%rsp)
movq %rcx, 0xd58(%rsp)
movq %rbx, 0xd60(%rsp)
leaq 0x8934c(%rip), %rdi     # 0x903b3
movq %rdi, 0xd68(%rsp)
movl %eax, 0xd70(%rsp)
movq %rcx, 0xd78(%rsp)
leaq 0x88fab(%rip), %rdi     # 0x90030
movq %rdi, 0xd80(%rsp)
leaq 0x89455(%rip), %rdi     # 0x904e9
movq %rdi, 0xd88(%rsp)
movl %eax, 0xd90(%rsp)
movq %rcx, 0xd98(%rsp)
leaq 0x89eab(%rip), %rdi     # 0x90f5d
movq %rdi, 0xda0(%rsp)
leaq 0x88f75(%rip), %r8      # 0x90036
movq %r8, 0xda8(%rsp)
movl %eax, 0xdb0(%rsp)
movq %rcx, 0xdb8(%rsp)
movq %rbx, 0xdc0(%rsp)
leaq 0x892e6(%rip), %r8      # 0x903cd
movq %r8, 0xdc8(%rsp)
movl %eax, 0xdd0(%rsp)
movq %rcx, 0xdd8(%rsp)
movq %rbx, 0xde0(%rsp)
leaq 0x892d1(%rip), %r8      # 0x903de
movq %r8, 0xde8(%rsp)
movl %eax, 0xdf0(%rsp)
movq %rcx, 0xdf8(%rsp)
movq %rbx, 0xe00(%rsp)
leaq 0x892bc(%rip), %r8      # 0x903ef
movq %r8, 0xe08(%rsp)
movl %eax, 0xe10(%rsp)
movq %rcx, 0xe18(%rsp)
movq %rbx, 0xe20(%rsp)
leaq 0x892a4(%rip), %r8      # 0x903fd
movq %r8, 0xe28(%rsp)
movapd %xmm0, 0xe40(%rsp)
movapd %xmm0, 0xe30(%rsp)
leaq 0x89292(%rip), %r8      # 0x9040c
movq %r8, 0xe48(%rsp)
movapd %xmm0, 0xe60(%rsp)
movapd %xmm0, 0xe50(%rsp)
leaq 0x8927e(%rip), %r8      # 0x90419
movq %r8, 0xe68(%rsp)
movapd %xmm0, 0xe80(%rsp)
movapd %xmm0, 0xe70(%rsp)
leaq 0x8926b(%rip), %r8      # 0x90427
movq %r8, 0xe88(%rsp)
movl %eax, 0xe90(%rsp)
movq %rcx, 0xe98(%rsp)
movq %rbx, 0xea0(%rsp)
leaq 0x89253(%rip), %r8      # 0x90435
movq %r8, 0xea8(%rsp)
movl %eax, 0xeb0(%rsp)
movq %rcx, 0xeb8(%rsp)
movq %rbx, 0xec0(%rsp)
leaq 0x8923c(%rip), %r8      # 0x90444
movq %r8, 0xec8(%rsp)
movl %eax, 0xed0(%rsp)
movq %rcx, 0xed8(%rsp)
movq %rbx, 0xee0(%rsp)
leaq 0x89223(%rip), %r8      # 0x90451
movq %r8, 0xee8(%rsp)
movl %ebx, 0xef0(%rsp)
movq %rdx, 0xef8(%rsp)
movq %rbx, 0xf00(%rsp)
leaq 0x8920b(%rip), %r8      # 0x9045f
movq %r8, 0xf08(%rsp)
movl %ebx, 0xf10(%rsp)
movq %rdx, 0xf18(%rsp)
movq %rbx, 0xf20(%rsp)
leaq 0x891f1(%rip), %r8      # 0x9046b
movq %r8, 0xf28(%rsp)
movl %ebx, 0xf30(%rsp)
movq %rdx, 0xf38(%rsp)
movq %rbx, 0xf40(%rsp)
leaq 0x891d7(%rip), %r8      # 0x90477
movq %r8, 0xf48(%rsp)
movl %ebx, 0xf50(%rsp)
movq %rdx, 0xf58(%rsp)
movq %rbx, 0xf60(%rsp)
leaq 0x891bc(%rip), %r8      # 0x90482
movq %r8, 0xf68(%rsp)
movl %eax, 0xf70(%rsp)
movq %rcx, 0xf78(%rsp)
movq %rbx, 0xf80(%rsp)
leaq 0x891a1(%rip), %r8      # 0x9048d
movq %r8, 0xf88(%rsp)
movapd %xmm0, 0xfa0(%rsp)
movapd %xmm0, 0xf90(%rsp)
leaq 0x89195(%rip), %r8      # 0x904a2
movq %r8, 0xfa8(%rsp)
movl %eax, 0xfb0(%rsp)
movq %rcx, 0xfb8(%rsp)
movq %rbx, 0xfc0(%rsp)
leaq 0x89184(%rip), %r8      # 0x904b7
movq %r8, 0xfc8(%rsp)
movl %eax, 0xfd0(%rsp)
movq %rcx, 0xfd8(%rsp)
movq %rbx, 0xfe0(%rsp)
leaq 0x89173(%rip), %r8      # 0x904cc
movq %r8, 0xfe8(%rsp)
movl %eax, 0xff0(%rsp)
movq %rcx, 0xff8(%rsp)
movq %rdi, 0x1000(%rsp)
leaq 0x89172(%rip), %rdi     # 0x904f1
movq %rdi, 0x1008(%rsp)
movapd %xmm0, 0x1020(%rsp)
movapd %xmm0, 0x1010(%rsp)
leaq 0x89150(%rip), %rdi     # 0x904f0
movq %rdi, 0x1028(%rsp)
movl %eax, 0x1030(%rsp)
movq %rcx, 0x1038(%rsp)
movq %rbx, 0x1040(%rsp)
leaq 0x89129(%rip), %rdi     # 0x904ef
movq %rdi, 0x1048(%rsp)
movl %eax, 0x1050(%rsp)
movq %rcx, 0x1058(%rsp)
movq %rbx, 0x1060(%rsp)
leaq 0x89114(%rip), %rdi     # 0x90500
movq %rdi, 0x1068(%rsp)
movapd %xmm0, 0x1080(%rsp)
movapd %xmm0, 0x1070(%rsp)
leaq 0x8910c(%rip), %rdi     # 0x90519
movq %rdi, 0x1088(%rsp)
movl %ebx, 0x1090(%rsp)
movq %rdx, 0x1098(%rsp)
movq %rbx, 0x10a0(%rsp)
leaq 0x88e91(%rip), %rdi     # 0x902c4
movq %rdi, 0x10a8(%rsp)
movl %eax, 0x10b0(%rsp)
movq %rcx, 0x10b8(%rsp)
movq %rbx, 0x10c0(%rsp)
leaq 0x88dd1(%rip), %rdi     # 0x9022a
movq %rdi, 0x10c8(%rsp)
movapd %xmm0, 0x10e0(%rsp)
movapd %xmm0, 0x10d0(%rsp)
leaq 0x890b8(%rip), %rdi     # 0x90532
movq %rdi, 0x10e8(%rsp)
movapd %xmm0, 0x1100(%rsp)
movapd %xmm0, 0x10f0(%rsp)
leaq 0x8909f(%rip), %rdi     # 0x9053a
movq %rdi, 0x1108(%rsp)
movl %eax, 0x1110(%rsp)
movq %rcx, 0x1118(%rsp)
movq %rbx, 0x1120(%rsp)
leaq 0x89078(%rip), %rdi     # 0x90539
movq %rdi, 0x1128(%rsp)
movl %eax, 0x1130(%rsp)
movq %rdx, 0x1138(%rsp)
movq %rbx, 0x1140(%rsp)
leaq 0x88d4e(%rip), %rdi     # 0x90235
movq %rdi, 0x1148(%rsp)
movapd %xmm0, 0x1160(%rsp)
movapd %xmm0, 0x1150(%rsp)
leaq 0x8903a(%rip), %rdi     # 0x90542
movq %rdi, 0x1168(%rsp)
movl %eax, 0x1170(%rsp)
movq %rcx, 0x1178(%rsp)
movq %rbx, 0x1180(%rsp)
leaq 0x89013(%rip), %rdi     # 0x90541
movq %rdi, 0x1188(%rsp)
movl %eax, 0x1190(%rsp)
movupd %xmm0, 0x1198(%rsp)
leaq 0x89006(%rip), %rdi     # 0x90553
movq %rdi, 0x11a8(%rsp)
movapd %xmm0, 0x11c0(%rsp)
movapd %xmm0, 0x11b0(%rsp)
leaq 0x88fe4(%rip), %rdi     # 0x90552
movq %rdi, 0x11c8(%rsp)
movl %eax, 0x11d0(%rsp)
movq %rcx, 0x11d8(%rsp)
movq %rbx, 0x11e0(%rsp)
leaq 0x88fbd(%rip), %rdi     # 0x90551
movq %rdi, 0x11e8(%rsp)
movl %eax, 0x11f0(%rsp)
movabsq $0x3fe62e42fefa39ef, %rdi # imm = 0x3FE62E42FEFA39EF
movq %rdi, 0x11f8(%rsp)
movq %rbx, 0x1200(%rsp)
leaq 0x88f9d(%rip), %rdi     # 0x90561
movq %rdi, 0x1208(%rsp)
movl %eax, 0x1210(%rsp)
movabsq $0x40bfa7157c470f82, %rdi # imm = 0x40BFA7157C470F82
movq %rdi, 0x1218(%rsp)
movq %rbx, 0x1220(%rsp)
leaq 0x88f74(%rip), %rdi     # 0x90568
movq %rdi, 0x1228(%rsp)
movl %eax, 0x1230(%rsp)
movabsq $0x4022000000000000, %rdi # imm = 0x4022000000000000
movq %rdi, 0x1238(%rsp)
movq %rbx, 0x1240(%rsp)
leaq 0x88f4b(%rip), %rdi     # 0x9056f
movq %rdi, 0x1248(%rsp)
movl %eax, 0x1250(%rsp)
movq %rsi, 0x1258(%rsp)
movq %rbx, 0x1260(%rsp)
leaq 0x88f31(%rip), %rsi     # 0x9057b
movq %rsi, 0x1268(%rsp)
movl %eax, 0x1270(%rsp)
movq %r10, 0x1278(%rsp)
movq %rbx, 0x1280(%rsp)
leaq 0x88f14(%rip), %rsi     # 0x90584
movq %rsi, 0x1288(%rsp)
movl %ebx, 0x1290(%rsp)
movq %rdx, 0x1298(%rsp)
movq %rbx, 0x12a0(%rsp)
leaq 0x88ef6(%rip), %rsi     # 0x9058c
movq %rsi, 0x12a8(%rsp)
movl %eax, 0x12b0(%rsp)
movq %r9, 0x12b8(%rsp)
movq %rbx, 0x12c0(%rsp)
leaq 0x88ed9(%rip), %rsi     # 0x90595
movq %rsi, 0x12c8(%rsp)
movl %eax, 0x12d0(%rsp)
movq %r10, 0x12d8(%rsp)
movq %rbx, 0x12e0(%rsp)
leaq 0x88ec0(%rip), %rsi     # 0x905a2
movq %rsi, 0x12e8(%rsp)
movapd %xmm0, 0x1300(%rsp)
movapd %xmm0, 0x12f0(%rsp)
leaq 0x88eaf(%rip), %rsi     # 0x905b2
movq %rsi, 0x1308(%rsp)
movl %eax, 0x1310(%rsp)
movq %rdx, 0x1318(%rsp)
movq %rbx, 0x1320(%rsp)
leaq 0x88e99(%rip), %rsi     # 0x905c2
movq %rsi, 0x1328(%rsp)
movl %eax, 0x1330(%rsp)
movq %rdx, 0x1338(%rsp)
movq %rbx, 0x1340(%rsp)
leaq 0x88e8c(%rip), %rsi     # 0x905db
movq %rsi, 0x1348(%rsp)
movl %eax, 0x1350(%rsp)
movq %rdx, 0x1358(%rsp)
movq %rbx, 0x1360(%rsp)
leaq 0x88e82(%rip), %rdx     # 0x905f7
movq %rdx, 0x1368(%rsp)
movl %eax, 0x1370(%rsp)
movq %rcx, 0x1378(%rsp)
movq %rbx, 0x1380(%rsp)
leaq 0x88e78(%rip), %rdx     # 0x90613
movq %rdx, 0x1388(%rsp)
movl %eax, 0x1390(%rsp)
movq %rcx, 0x1398(%rsp)
movq %rbx, 0x13a0(%rsp)
leaq 0x88e60(%rip), %rdx     # 0x90621
movq %rdx, 0x13a8(%rsp)
movl %eax, 0x13b0(%rsp)
movq %rcx, 0x13b8(%rsp)
movq %rbx, 0x13c0(%rsp)
leaq 0x88e45(%rip), %rdx     # 0x9062c
movq %rdx, 0x13c8(%rsp)
movl %eax, 0x13d0(%rsp)
movq %rcx, 0x13d8(%rsp)
movq %rbx, 0x13e0(%rsp)
leaq 0x88e2a(%rip), %rdx     # 0x90637
movq %rdx, 0x13e8(%rsp)
movapd %xmm0, 0x1400(%rsp)
movapd %xmm0, 0x13f0(%rsp)
leaq 0x88e13(%rip), %rdx     # 0x90641
movq %rdx, 0x1408(%rsp)
movl %eax, 0x1410(%rsp)
movq %rcx, 0x1418(%rsp)
movq %rbx, 0x1420(%rsp)
leaq 0x88dfa(%rip), %rax     # 0x9064e
movq %rax, 0x1428(%rsp)
leaq 0x8(%rsp), %rax
movq %rbx, 0x18(%rax)
movapd %xmm0, 0x8(%rax)
movapd %xmm0, -0x8(%rax)
movl $0x18, %r15d
movq 0x30(%rsp,%r15), %rdi
callq 0x7ba0
testq %rax, %rax
je 0x7aba
movq %rax, %r12
leaq (%rsp,%r15), %rbp
addq $0x30, %rbp
movq %rax, %rdi
xorl %esi, %esi
leaq -0x1a83(%rip), %rdx     # 0x5e1c
movq %rsp, %rcx
callq 0x7d39
testl %eax, %eax
jne 0x7a64
movzbl (%rsp), %eax
cmpl $0x1, %eax
je 0x7920
testl %eax, %eax
jne 0x792c
movsd 0x20(%rsp), %xmm1
ucomisd %xmm1, %xmm1
jp 0x79e2
movsd 0x20(%rsp,%r15), %xmm0
ucomisd %xmm0, %xmm1
movsbl 0x1(%rsp), %eax
jne 0x78eb
jp 0x78eb
cmpl %eax, 0x18(%rsp,%r15)
je 0x7a2a
movq 0xa96ee(%rip), %rcx     # 0xb0fe0
movq (%rcx), %rdi
movq (%rbp), %rdx
testb %al, %al
leaq 0x8893c(%rip), %rcx     # 0x9023e
leaq 0x88daa(%rip), %rax     # 0x906b3
cmoveq %rax, %rcx
leaq 0x88dd2(%rip), %rsi     # 0x906e6
movb $0x2, %al
callq 0x4700
jmp 0x79db
cmpq $0x0, 0x18(%rsp)
je 0x79e2
movq 0x18(%rsp), %r13
movq 0x28(%rsp,%r15), %r14
movq %r13, %rax
orq %r14, %rax
je 0x795d
testq %r14, %r14
setne %al
testq %r13, %r13
sete %cl
cmpb %al, %cl
je 0x799c
movq %r13, %rdi
movq %r14, %rsi
callq 0x46c0
testl %eax, %eax
jne 0x799c
movsd 0x20(%rsp), %xmm0
movsd 0x20(%rsp,%r15), %xmm1
ucomisd %xmm1, %xmm0
jne 0x7972
jnp 0x798c
xorpd %xmm2, %xmm2
cmpordpd %xmm2, %xmm0
cmpordpd %xmm2, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %eax
testb $0x1, %al
jne 0x799c
movsbl 0x1(%rsp), %eax
cmpl %eax, 0x18(%rsp,%r15)
je 0x7a2a
movq 0xa963d(%rip), %rax     # 0xb0fe0
movq (%rax), %rdi
movq (%rbp), %rdx
cmpb $0x0, 0x1(%rsp)
leaq 0x88888(%rip), %r8      # 0x9023e
leaq 0x88cf6(%rip), %rax     # 0x906b3
cmoveq %rax, %r8
movsd 0x20(%rsp), %xmm0
leaq 0x88ceb(%rip), %rsi     # 0x906b9
movq %r14, %rcx
movq %r13, %r9
movb $0x1, %al
callq 0x4700
movl $0x1, %ebx
jmp 0x7a2a
movsbl 0x1(%rsp), %eax
cmpl %eax, 0x18(%rsp,%r15)
jne 0x7a73
movsd 0x20(%rsp), %xmm1
movsd 0x20(%rsp,%r15), %xmm0
ucomisd %xmm0, %xmm1
jne 0x7a07
jnp 0x7a2a
movapd %xmm1, %xmm2
xorpd %xmm4, %xmm4
cmpordpd %xmm4, %xmm2
movapd %xmm0, %xmm3
cmpordpd %xmm4, %xmm3
orpd %xmm2, %xmm3
movd %xmm3, %ecx
testb $0x1, %cl
jne 0x7a80
movq 0x18(%rsp), %rdi
callq 0x45c0
xorpd %xmm0, %xmm0
leaq 0x8(%rsp), %rax
movupd %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq %r12, %rdi
callq 0x7bf9
addq $0x20, %r15
cmpq $0x1418, %r15           # imm = 0x1418
jne 0x7875
jmp 0x7abf
movq %rbp, %rdi
callq 0x49e0
movl $0x1, %ebx
jmp 0x7a49
movsd 0x20(%rsp,%r15), %xmm0
movsd 0x20(%rsp), %xmm1
movq 0xa9559(%rip), %rcx     # 0xb0fe0
movq (%rcx), %rdi
movq (%rbp), %rdx
testb %al, %al
leaq 0x887a7(%rip), %rcx     # 0x9023e
leaq 0x88c15(%rip), %rax     # 0x906b3
cmoveq %rax, %rcx
movq 0x18(%rsp), %r8
leaq 0x88bd8(%rip), %rsi     # 0x90686
movb $0x2, %al
callq 0x4700
jmp 0x79db
movl $0x1, %ebx
movl %ebx, %eax
addq $0x1438, %rsp           # imm = 0x1438
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq