// File: /workspace/github_c_makefile_star2_O1/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 $0x1448, %rsp           # imm = 0x1448
movl $0x1, %eax
movl %eax, 0x40(%rsp)
movabsq $0x3ff0000000000000, %rcx # imm = 0x3FF0000000000000
movq %rcx, 0x48(%rsp)
xorl %ebx, %ebx
movq %rbx, 0x50(%rsp)
leaq 0x8d1da(%rip), %rdx     # 0x93286
movq %rdx, 0x58(%rsp)
movl %eax, 0x60(%rsp)
movq %rcx, 0x68(%rsp)
movq %rbx, 0x70(%rsp)
leaq 0x8cf6e(%rip), %rdx     # 0x93034
movq %rdx, 0x78(%rsp)
movl %eax, 0x80(%rsp)
movabsq $-0x4010000000000000, %rdx # imm = 0xBFF0000000000000
movq %rdx, 0x88(%rsp)
movq %rbx, 0x90(%rsp)
leaq 0x8cf6c(%rip), %rsi     # 0x9305f
movq %rsi, 0x98(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0xb0(%rsp)
movapd %xmm0, 0xa0(%rsp)
leaq 0x8cf29(%rip), %rsi     # 0x93041
movq %rsi, 0xb8(%rsp)
movl %eax, 0xc0(%rsp)
movq %rcx, 0xc8(%rsp)
movq %rbx, 0xd0(%rsp)
leaq 0x8cef9(%rip), %rsi     # 0x93037
movq %rsi, 0xd8(%rsp)
movl %eax, 0xe0(%rsp)
movq %rcx, 0xe8(%rsp)
movq %rbx, 0xf0(%rsp)
leaq 0x8ced6(%rip), %rsi     # 0x9303a
movq %rsi, 0xf8(%rsp)
movl %eax, 0x100(%rsp)
movq %rcx, 0x108(%rsp)
movq %rbx, 0x110(%rsp)
leaq 0x8ceb6(%rip), %rsi     # 0x93040
movq %rsi, 0x118(%rsp)
movl %eax, 0x120(%rsp)
movabsq $0x4014000000000000, %rsi # imm = 0x4014000000000000
movq %rsi, 0x128(%rsp)
movq %rbx, 0x130(%rsp)
leaq 0x8ce91(%rip), %rsi     # 0x9304b
movq %rsi, 0x138(%rsp)
movl %eax, 0x140(%rsp)
movq %rdx, 0x148(%rsp)
movq %rbx, 0x150(%rsp)
leaq 0x8ce64(%rip), %rdx     # 0x93044
movq %rdx, 0x158(%rsp)
movl %eax, 0x160(%rsp)
movabsq $0x4018000000000000, %rdi # imm = 0x4018000000000000
movq %rdi, 0x168(%rsp)
movq %rbx, 0x170(%rsp)
leaq 0x8ce39(%rip), %rdx     # 0x93049
movq %rdx, 0x178(%rsp)
movl %eax, 0x180(%rsp)
movq %rcx, 0x188(%rsp)
movq %rbx, 0x190(%rsp)
leaq 0x8ce19(%rip), %rdx     # 0x9304f
movq %rdx, 0x198(%rsp)
movl %ebx, 0x1a0(%rsp)
movabsq $0x7ff8000000000000, %rdx # imm = 0x7FF8000000000000
movq %rdx, 0x1a8(%rsp)
movq %rbx, 0x1b0(%rsp)
leaq 0x8cdee(%rip), %rsi     # 0x93054
movq %rsi, 0x1b8(%rsp)
movl %ebx, 0x1c0(%rsp)
movq %rdx, 0x1c8(%rsp)
movq %rbx, 0x1d0(%rsp)
leaq 0x8cdcf(%rip), %rsi     # 0x9305b
movq %rsi, 0x1d8(%rsp)
movl %ebx, 0x1e0(%rsp)
movq %rdx, 0x1e8(%rsp)
movq %rbx, 0x1f0(%rsp)
leaq 0x8cdb0(%rip), %rsi     # 0x93062
movq %rsi, 0x1f8(%rsp)
movl %eax, 0x200(%rsp)
movq %rdi, 0x208(%rsp)
movq %rbx, 0x210(%rsp)
leaq 0x8cd92(%rip), %rsi     # 0x9306a
movq %rsi, 0x218(%rsp)
movl %eax, 0x220(%rsp)
movq %rdi, 0x228(%rsp)
movq %rbx, 0x230(%rsp)
leaq 0x8cd6a(%rip), %rsi     # 0x93068
movq %rsi, 0x238(%rsp)
movapd %xmm0, 0x250(%rsp)
movapd %xmm0, 0x240(%rsp)
leaq 0x8cd4f(%rip), %rsi     # 0x9306e
movq %rsi, 0x258(%rsp)
movl %eax, 0x260(%rsp)
movabsq $0x401c000000000000, %r8 # imm = 0x401C000000000000
movq %r8, 0x268(%rsp)
movq %rbx, 0x270(%rsp)
leaq 0x8cd23(%rip), %rsi     # 0x93072
movq %rsi, 0x278(%rsp)
movl %eax, 0x280(%rsp)
movq %r8, 0x288(%rsp)
movq %rbx, 0x290(%rsp)
leaq 0x8cd01(%rip), %rsi     # 0x93076
movq %rsi, 0x298(%rsp)
movl %eax, 0x2a0(%rsp)
movabsq $0x4035000000000000, %rsi # imm = 0x4035000000000000
movq %rsi, 0x2a8(%rsp)
movq %rbx, 0x2b0(%rsp)
leaq 0x8ccd7(%rip), %rsi     # 0x9307c
movq %rsi, 0x2b8(%rsp)
movl %eax, 0x2c0(%rsp)
movabsq $0x402c000000000000, %rsi # imm = 0x402C000000000000
movq %rsi, 0x2c8(%rsp)
movq %rbx, 0x2d0(%rsp)
leaq 0x8ccb3(%rip), %rsi     # 0x93088
movq %rsi, 0x2d8(%rsp)
movl %ebx, 0x2e0(%rsp)
movq %rdx, 0x2e8(%rsp)
movq %rbx, 0x2f0(%rsp)
leaq 0x8cc9b(%rip), %rsi     # 0x93096
movq %rsi, 0x2f8(%rsp)
movl %ebx, 0x300(%rsp)
movq %rdx, 0x308(%rsp)
movq %rbx, 0x310(%rsp)
leaq 0x8cc7c(%rip), %rsi     # 0x9309d
movq %rsi, 0x318(%rsp)
movl %ebx, 0x320(%rsp)
movq %rdx, 0x328(%rsp)
movq %rbx, 0x330(%rsp)
leaq 0x8cc5d(%rip), %rsi     # 0x930a4
movq %rsi, 0x338(%rsp)
movl %eax, 0x340(%rsp)
movq %rcx, 0x348(%rsp)
movq %rbx, 0x350(%rsp)
leaq 0x8cc3b(%rip), %rsi     # 0x930a8
movq %rsi, 0x358(%rsp)
movl %eax, 0x360(%rsp)
movq %rcx, 0x368(%rsp)
movq %rbx, 0x370(%rsp)
leaq 0x8cc20(%rip), %rsi     # 0x930b3
movq %rsi, 0x378(%rsp)
movapd %xmm0, 0x390(%rsp)
movapd %xmm0, 0x380(%rsp)
leaq 0x8cc0a(%rip), %rsi     # 0x930be
movq %rsi, 0x398(%rsp)
movapd %xmm0, 0x3b0(%rsp)
movapd %xmm0, 0x3a0(%rsp)
leaq 0x8cbf4(%rip), %rsi     # 0x930c9
movq %rsi, 0x3b8(%rsp)
movapd %xmm0, 0x3d0(%rsp)
movapd %xmm0, 0x3c0(%rsp)
leaq 0x8cbde(%rip), %rsi     # 0x930d4
movq %rsi, 0x3d8(%rsp)
movl %eax, 0x3e0(%rsp)
movq %rcx, 0x3e8(%rsp)
movq %rbx, 0x3f0(%rsp)
leaq 0x8cbbc(%rip), %rsi     # 0x930d8
movq %rsi, 0x3f8(%rsp)
movapd %xmm0, 0x410(%rsp)
movapd %xmm0, 0x400(%rsp)
leaq 0x8cb9f(%rip), %rsi     # 0x930dc
movq %rsi, 0x418(%rsp)
movapd %xmm0, 0x430(%rsp)
movapd %xmm0, 0x420(%rsp)
leaq 0x8cb82(%rip), %rsi     # 0x930e0
movq %rsi, 0x438(%rsp)
movl %eax, 0x440(%rsp)
movq %rcx, 0x448(%rsp)
movq %rbx, 0x450(%rsp)
leaq 0x8cb60(%rip), %rsi     # 0x930e4
movq %rsi, 0x458(%rsp)
movl %eax, 0x460(%rsp)
movq %rcx, 0x468(%rsp)
movq %rbx, 0x470(%rsp)
leaq 0x8cb3f(%rip), %rsi     # 0x930e9
movq %rsi, 0x478(%rsp)
movl %eax, 0x480(%rsp)
movq %rcx, 0x488(%rsp)
movq %rbx, 0x490(%rsp)
leaq 0x8cb1e(%rip), %rsi     # 0x930ee
movq %rsi, 0x498(%rsp)
movl %eax, 0x4a0(%rsp)
movq %rcx, 0x4a8(%rsp)
movq %rbx, 0x4b0(%rsp)
leaq 0x8caff(%rip), %rsi     # 0x930f5
movq %rsi, 0x4b8(%rsp)
movl %eax, 0x4c0(%rsp)
movq %rcx, 0x4c8(%rsp)
movq %rbx, 0x4d0(%rsp)
leaq 0x8cae2(%rip), %rsi     # 0x930fe
movq %rsi, 0x4d8(%rsp)
movl %eax, 0x4e0(%rsp)
movq %rcx, 0x4e8(%rsp)
movq %rbx, 0x4f0(%rsp)
leaq 0x8cac4(%rip), %rsi     # 0x93106
movq %rsi, 0x4f8(%rsp)
movapd %xmm0, 0x510(%rsp)
movapd %xmm0, 0x500(%rsp)
leaq 0x8caab(%rip), %rsi     # 0x9310e
movq %rsi, 0x518(%rsp)
movl %eax, 0x520(%rsp)
movq %rcx, 0x528(%rsp)
movq %rbx, 0x530(%rsp)
leaq 0x8ca8c(%rip), %rsi     # 0x93115
movq %rsi, 0x538(%rsp)
movapd %xmm0, 0x550(%rsp)
movapd %xmm0, 0x540(%rsp)
leaq 0x8ca73(%rip), %rsi     # 0x9311d
movq %rsi, 0x558(%rsp)
movl %eax, 0x560(%rsp)
movabsq $0x4020000000000000, %rsi # imm = 0x4020000000000000
movq %rsi, 0x568(%rsp)
movq %rbx, 0x570(%rsp)
leaq 0x8ca4b(%rip), %r9      # 0x93125
movq %r9, 0x578(%rsp)
movl %eax, 0x580(%rsp)
movq %rcx, 0x588(%rsp)
movq %rbx, 0x590(%rsp)
leaq 0x8ca2f(%rip), %r9      # 0x9312f
movq %r9, 0x598(%rsp)
movl %eax, 0x5a0(%rsp)
movq %rcx, 0x5a8(%rsp)
movq %rbx, 0x5b0(%rsp)
leaq 0x8ca18(%rip), %r9      # 0x9313e
movq %r9, 0x5b8(%rsp)
movl %ebx, 0x5c0(%rsp)
movq %rdx, 0x5c8(%rsp)
movq %rbx, 0x5d0(%rsp)
leaq 0x8c9fd(%rip), %r9      # 0x93149
movq %r9, 0x5d8(%rsp)
movl %ebx, 0x5e0(%rsp)
movq %rdx, 0x5e8(%rsp)
movq %rbx, 0x5f0(%rsp)
leaq 0x8c9e1(%rip), %r9      # 0x93153
movq %r9, 0x5f8(%rsp)
movl %ebx, 0x600(%rsp)
movq %rdx, 0x608(%rsp)
movq %rbx, 0x610(%rsp)
leaq 0x8c9c5(%rip), %r9      # 0x9315d
movq %r9, 0x618(%rsp)
movl %ebx, 0x620(%rsp)
movq %rdx, 0x628(%rsp)
movq %rbx, 0x630(%rsp)
leaq 0x8c9a8(%rip), %r9      # 0x93166
movq %r9, 0x638(%rsp)
movl %ebx, 0x640(%rsp)
movq %rdx, 0x648(%rsp)
movq %rbx, 0x650(%rsp)
leaq 0x8c98b(%rip), %r9      # 0x9316f
movq %r9, 0x658(%rsp)
movl %ebx, 0x660(%rsp)
movq %rdx, 0x668(%rsp)
movq %rbx, 0x670(%rsp)
leaq 0x8c972(%rip), %r9      # 0x9317c
movq %r9, 0x678(%rsp)
movl %ebx, 0x680(%rsp)
movq %rdx, 0x688(%rsp)
movq %rbx, 0x690(%rsp)
leaq 0x8c959(%rip), %r9      # 0x93189
movq %r9, 0x698(%rsp)
movl %ebx, 0x6a0(%rsp)
movq %rdx, 0x6a8(%rsp)
movq %rbx, 0x6b0(%rsp)
leaq 0x8c93d(%rip), %r9      # 0x93193
movq %r9, 0x6b8(%rsp)
movl %eax, 0x6c0(%rsp)
movq %rcx, 0x6c8(%rsp)
movq %rbx, 0x6d0(%rsp)
leaq 0x8c921(%rip), %r9      # 0x9319d
movq %r9, 0x6d8(%rsp)
movapd %xmm0, 0x6f0(%rsp)
movapd %xmm0, 0x6e0(%rsp)
leaq 0x8c907(%rip), %r9      # 0x931a4
movq %r9, 0x6f8(%rsp)
movapd %xmm0, 0x710(%rsp)
movapd %xmm0, 0x700(%rsp)
leaq 0x8c8ed(%rip), %r9      # 0x931ab
movq %r9, 0x718(%rsp)
movl %eax, 0x720(%rsp)
movq %rcx, 0x728(%rsp)
movq %rbx, 0x730(%rsp)
leaq 0x8ca56(%rip), %r9      # 0x9333a
movq %r9, 0x738(%rsp)
movl %eax, 0x740(%rsp)
movq %rcx, 0x748(%rsp)
movq %rbx, 0x750(%rsp)
leaq 0x8c8a8(%rip), %r9      # 0x931b2
movq %r9, 0x758(%rsp)
movl %eax, 0x760(%rsp)
movq %rcx, 0x768(%rsp)
movq %rbx, 0x770(%rsp)
leaq 0x8c889(%rip), %r9      # 0x931b9
movq %r9, 0x778(%rsp)
movl %eax, 0x780(%rsp)
movq %rcx, 0x788(%rsp)
movq %rbx, 0x790(%rsp)
leaq 0x8c86a(%rip), %r9      # 0x931c0
movq %r9, 0x798(%rsp)
movl %eax, 0x7a0(%rsp)
movq %rcx, 0x7a8(%rsp)
movq %rbx, 0x7b0(%rsp)
leaq 0x8c850(%rip), %r9      # 0x931cc
movq %r9, 0x7b8(%rsp)
movl %eax, 0x7c0(%rsp)
movq %rcx, 0x7c8(%rsp)
movq %rbx, 0x7d0(%rsp)
leaq 0x8c836(%rip), %r9      # 0x931d8
movq %r9, 0x7d8(%rsp)
movapd %xmm0, 0x7f0(%rsp)
movapd %xmm0, 0x7e0(%rsp)
leaq 0x8c821(%rip), %r9      # 0x931e4
movq %r9, 0x7f8(%rsp)
movapd %xmm0, 0x810(%rsp)
movapd %xmm0, 0x800(%rsp)
leaq 0x8c80c(%rip), %r9      # 0x931f0
movq %r9, 0x818(%rsp)
movapd %xmm0, 0x830(%rsp)
movapd %xmm0, 0x820(%rsp)
leaq 0x8c7f7(%rip), %r9      # 0x931fc
movq %r9, 0x838(%rsp)
movapd %xmm0, 0x850(%rsp)
movapd %xmm0, 0x840(%rsp)
leaq 0x8c7ed(%rip), %r9      # 0x93213
movq %r9, 0x858(%rsp)
movapd %xmm0, 0x870(%rsp)
movapd %xmm0, 0x860(%rsp)
leaq 0x8c7c1(%rip), %r9      # 0x93208
movq %r9, 0x878(%rsp)
movl %eax, 0x880(%rsp)
movq %rcx, 0x888(%rsp)
movq %rbx, 0x890(%rsp)
leaq 0x8c7a5(%rip), %r9      # 0x93212
movq %r9, 0x898(%rsp)
movl %eax, 0x8a0(%rsp)
movq %rcx, 0x8a8(%rsp)
movq %rbx, 0x8b0(%rsp)
leaq 0x8c78a(%rip), %r9      # 0x9321d
movq %r9, 0x8b8(%rsp)
movl %eax, 0x8c0(%rsp)
movq %rcx, 0x8c8(%rsp)
movq %rbx, 0x8d0(%rsp)
leaq 0x8c76f(%rip), %r9      # 0x93228
movq %r9, 0x8d8(%rsp)
movapd %xmm0, 0x8f0(%rsp)
movapd %xmm0, 0x8e0(%rsp)
leaq 0x8c76c(%rip), %r9      # 0x93246
movq %r9, 0x8f8(%rsp)
movapd %xmm0, 0x910(%rsp)
movapd %xmm0, 0x900(%rsp)
leaq 0x8c740(%rip), %r9      # 0x9323b
movq %r9, 0x918(%rsp)
movl %eax, 0x920(%rsp)
movq %rcx, 0x928(%rsp)
movq %rbx, 0x930(%rsp)
leaq 0x8c724(%rip), %r9      # 0x93245
movq %r9, 0x938(%rsp)
movl %eax, 0x940(%rsp)
movq %rcx, 0x948(%rsp)
movq %rbx, 0x950(%rsp)
leaq 0x8c709(%rip), %r9      # 0x93250
movq %r9, 0x958(%rsp)
movl %eax, 0x960(%rsp)
movq %rcx, 0x968(%rsp)
movq %rbx, 0x970(%rsp)
leaq 0x8c6ee(%rip), %r9      # 0x9325b
movq %r9, 0x978(%rsp)
movl %eax, 0x980(%rsp)
movq %rcx, 0x988(%rsp)
movq %rbx, 0x990(%rsp)
leaq 0x8c6db(%rip), %r9      # 0x9326e
movq %r9, 0x998(%rsp)
movl %eax, 0x9a0(%rsp)
movq %rcx, 0x9a8(%rsp)
movq %rbx, 0x9b0(%rsp)
leaq 0x8c6bf(%rip), %r9      # 0x93278
movq %r9, 0x9b8(%rsp)
movl %eax, 0x9c0(%rsp)
movq %rcx, 0x9c8(%rsp)
movq %rbx, 0x9d0(%rsp)
leaq 0x8c6a3(%rip), %r9      # 0x93282
movq %r9, 0x9d8(%rsp)
movl %eax, 0x9e0(%rsp)
movabsq $0x4000000000000000, %r9 # imm = 0x4000000000000000
movq %r9, 0x9e8(%rsp)
movq %rbx, 0x9f0(%rsp)
leaq 0x8c679(%rip), %r10     # 0x93288
movq %r10, 0x9f8(%rsp)
movl %eax, 0xa00(%rsp)
movabsq $0x4008000000000000, %r10 # imm = 0x4008000000000000
movq %r10, 0xa08(%rsp)
movq %rbx, 0xa10(%rsp)
leaq 0x8c64f(%rip), %r11     # 0x9328e
movq %r11, 0xa18(%rsp)
movl %eax, 0xa20(%rsp)
movq %r10, 0xa28(%rsp)
movq %rbx, 0xa30(%rsp)
leaq 0x8c62f(%rip), %r11     # 0x93294
movq %r11, 0xa38(%rsp)
movl %eax, 0xa40(%rsp)
movq %r8, 0xa48(%rsp)
movq %rbx, 0xa50(%rsp)
leaq 0x8c60f(%rip), %r11     # 0x9329a
movq %r11, 0xa58(%rsp)
movl %eax, 0xa60(%rsp)
movq %r9, 0xa68(%rsp)
movq %rbx, 0xa70(%rsp)
leaq 0x8c5ef(%rip), %r11     # 0x932a0
movq %r11, 0xa78(%rsp)
movl %ebx, 0xa80(%rsp)
movq %rdx, 0xa88(%rsp)
movq %rbx, 0xa90(%rsp)
leaq 0x8c5cf(%rip), %r11     # 0x932a6
movq %r11, 0xa98(%rsp)
movl %ebx, 0xaa0(%rsp)
movq %rdx, 0xaa8(%rsp)
movq %rbx, 0xab0(%rsp)
leaq 0x8c5b2(%rip), %r11     # 0x932af
movq %r11, 0xab8(%rsp)
movl %ebx, 0xac0(%rsp)
movq %rdx, 0xac8(%rsp)
movq %rbx, 0xad0(%rsp)
leaq 0x8c595(%rip), %r11     # 0x932b8
movq %r11, 0xad8(%rsp)
movl %ebx, 0xae0(%rsp)
movq %rdx, 0xae8(%rsp)
movq %rbx, 0xaf0(%rsp)
leaq 0x8c578(%rip), %r11     # 0x932c1
movq %r11, 0xaf8(%rsp)
movl %ebx, 0xb00(%rsp)
movq %rdx, 0xb08(%rsp)
movq %rbx, 0xb10(%rsp)
leaq 0x8c55b(%rip), %r11     # 0x932ca
movq %r11, 0xb18(%rsp)
movl %ebx, 0xb20(%rsp)
movq %rdx, 0xb28(%rsp)
movq %rbx, 0xb30(%rsp)
leaq 0x8c53e(%rip), %r11     # 0x932d3
movq %r11, 0xb38(%rsp)
movl %ebx, 0xb40(%rsp)
movq %rdx, 0xb48(%rsp)
movq %rbx, 0xb50(%rsp)
leaq 0x8c521(%rip), %r11     # 0x932dc
movq %r11, 0xb58(%rsp)
movl %ebx, 0xb60(%rsp)
movq %rdx, 0xb68(%rsp)
movq %rbx, 0xb70(%rsp)
leaq 0x8c504(%rip), %r11     # 0x932e5
movq %r11, 0xb78(%rsp)
movl %eax, 0xb80(%rsp)
movq %rcx, 0xb88(%rsp)
movq %rbx, 0xb90(%rsp)
leaq 0x8c4e7(%rip), %r11     # 0x932ee
movq %r11, 0xb98(%rsp)
movl %eax, 0xba0(%rsp)
movq %r9, 0xba8(%rsp)
movq %rbx, 0xbb0(%rsp)
leaq 0x8c4cd(%rip), %r11     # 0x932fa
movq %r11, 0xbb8(%rsp)
movl %eax, 0xbc0(%rsp)
movq %r9, 0xbc8(%rsp)
movq %rbx, 0xbd0(%rsp)
leaq 0x8c4b3(%rip), %r11     # 0x93306
movq %r11, 0xbd8(%rsp)
movl %eax, 0xbe0(%rsp)
movq %rdi, 0xbe8(%rsp)
movq %rbx, 0xbf0(%rsp)
leaq 0x8c499(%rip), %rdi     # 0x93312
movq %rdi, 0xbf8(%rsp)
movl %eax, 0xc00(%rsp)
movq %r8, 0xc08(%rsp)
movq %rbx, 0xc10(%rsp)
leaq 0x8c47f(%rip), %rdi     # 0x9331e
movq %rdi, 0xc18(%rsp)
movl %eax, 0xc20(%rsp)
movq %r8, 0xc28(%rsp)
movq %rbx, 0xc30(%rsp)
leaq 0x8c465(%rip), %rdi     # 0x9332a
movq %rdi, 0xc38(%rsp)
movl %eax, 0xc40(%rsp)
movq %rcx, 0xc48(%rsp)
movq %rbx, 0xc50(%rsp)
leaq 0x8c44b(%rip), %rdi     # 0x93336
movq %rdi, 0xc58(%rsp)
movl %eax, 0xc60(%rsp)
movq %rcx, 0xc68(%rsp)
movq %rbx, 0xc70(%rsp)
leaq 0x8c430(%rip), %rdi     # 0x93341
movq %rdi, 0xc78(%rsp)
movapd %xmm0, 0xc90(%rsp)
movapd %xmm0, 0xc80(%rsp)
leaq 0x8c41c(%rip), %rdi     # 0x9334e
movq %rdi, 0xc98(%rsp)
movl %eax, 0xca0(%rsp)
movq %rcx, 0xca8(%rsp)
movq %rbx, 0xcb0(%rsp)
leaq 0x8c403(%rip), %rdi     # 0x9335b
movq %rdi, 0xcb8(%rsp)
movl %eax, 0xcc0(%rsp)
movq %rcx, 0xcc8(%rsp)
movq %rbx, 0xcd0(%rsp)
leaq 0x8c3e8(%rip), %rdi     # 0x93366
movq %rdi, 0xcd8(%rsp)
movapd %xmm0, 0xcf0(%rsp)
movapd %xmm0, 0xce0(%rsp)
leaq 0x8c3d4(%rip), %rdi     # 0x93373
movq %rdi, 0xcf8(%rsp)
movl %eax, 0xd00(%rsp)
movq %rcx, 0xd08(%rsp)
movq %rbx, 0xd10(%rsp)
leaq 0x8c3bb(%rip), %rdi     # 0x93380
movq %rdi, 0xd18(%rsp)
movapd %xmm0, 0xd20(%rsp)
movapd %xmm0, 0xd30(%rsp)
leaq 0x8c3a8(%rip), %rdi     # 0x9338e
movq %rdi, 0xd38(%rsp)
movl %eax, 0xd40(%rsp)
movq %rcx, 0xd48(%rsp)
movq %rbx, 0xd50(%rsp)
leaq 0x8c391(%rip), %rdi     # 0x9339d
movq %rdi, 0xd58(%rsp)
movl %eax, 0xd60(%rsp)
movq %rcx, 0xd68(%rsp)
movq %rbx, 0xd70(%rsp)
leaq 0x8c379(%rip), %rdi     # 0x933ab
movq %rdi, 0xd78(%rsp)
movl %eax, 0xd80(%rsp)
movq %rcx, 0xd88(%rsp)
leaq 0x8bfd4(%rip), %rdi     # 0x93024
movq %rdi, 0xd90(%rsp)
leaq 0x8c482(%rip), %rdi     # 0x934e1
movq %rdi, 0xd98(%rsp)
movl %eax, 0xda0(%rsp)
movq %rcx, 0xda8(%rsp)
leaq 0x8ce80(%rip), %rdi     # 0x93efd
movq %rdi, 0xdb0(%rsp)
leaq 0x8bf9e(%rip), %r8      # 0x9302a
movq %r8, 0xdb8(%rsp)
movl %eax, 0xdc0(%rsp)
movq %rcx, 0xdc8(%rsp)
movq %rbx, 0xdd0(%rsp)
leaq 0x8c313(%rip), %r8      # 0x933c5
movq %r8, 0xdd8(%rsp)
movl %eax, 0xde0(%rsp)
movq %rcx, 0xde8(%rsp)
movq %rbx, 0xdf0(%rsp)
leaq 0x8c2fe(%rip), %r8      # 0x933d6
movq %r8, 0xdf8(%rsp)
movl %eax, 0xe00(%rsp)
movq %rcx, 0xe08(%rsp)
movq %rbx, 0xe10(%rsp)
leaq 0x8c2e9(%rip), %r8      # 0x933e7
movq %r8, 0xe18(%rsp)
movl %eax, 0xe20(%rsp)
movq %rcx, 0xe28(%rsp)
movq %rbx, 0xe30(%rsp)
leaq 0x8c2d1(%rip), %r8      # 0x933f5
movq %r8, 0xe38(%rsp)
movapd %xmm0, 0xe50(%rsp)
movapd %xmm0, 0xe40(%rsp)
leaq 0x8c2bf(%rip), %r8      # 0x93404
movq %r8, 0xe58(%rsp)
movapd %xmm0, 0xe70(%rsp)
movapd %xmm0, 0xe60(%rsp)
leaq 0x8c2ab(%rip), %r8      # 0x93411
movq %r8, 0xe78(%rsp)
movapd %xmm0, 0xe90(%rsp)
movapd %xmm0, 0xe80(%rsp)
leaq 0x8c298(%rip), %r8      # 0x9341f
movq %r8, 0xe98(%rsp)
movl %eax, 0xea0(%rsp)
movq %rcx, 0xea8(%rsp)
movq %rbx, 0xeb0(%rsp)
leaq 0x8c280(%rip), %r8      # 0x9342d
movq %r8, 0xeb8(%rsp)
movl %eax, 0xec0(%rsp)
movq %rcx, 0xec8(%rsp)
movq %rbx, 0xed0(%rsp)
leaq 0x8c269(%rip), %r8      # 0x9343c
movq %r8, 0xed8(%rsp)
movl %eax, 0xee0(%rsp)
movq %rcx, 0xee8(%rsp)
movq %rbx, 0xef0(%rsp)
leaq 0x8c250(%rip), %r8      # 0x93449
movq %r8, 0xef8(%rsp)
movl %ebx, 0xf00(%rsp)
movq %rdx, 0xf08(%rsp)
movq %rbx, 0xf10(%rsp)
leaq 0x8c238(%rip), %r8      # 0x93457
movq %r8, 0xf18(%rsp)
movl %ebx, 0xf20(%rsp)
movq %rdx, 0xf28(%rsp)
movq %rbx, 0xf30(%rsp)
leaq 0x8c21e(%rip), %r8      # 0x93463
movq %r8, 0xf38(%rsp)
movl %ebx, 0xf40(%rsp)
movq %rdx, 0xf48(%rsp)
movq %rbx, 0xf50(%rsp)
leaq 0x8c204(%rip), %r8      # 0x9346f
movq %r8, 0xf58(%rsp)
movl %ebx, 0xf60(%rsp)
movq %rdx, 0xf68(%rsp)
movq %rbx, 0xf70(%rsp)
leaq 0x8c1e9(%rip), %r8      # 0x9347a
movq %r8, 0xf78(%rsp)
movl %eax, 0xf80(%rsp)
movq %rcx, 0xf88(%rsp)
movq %rbx, 0xf90(%rsp)
leaq 0x8c1ce(%rip), %r8      # 0x93485
movq %r8, 0xf98(%rsp)
movapd %xmm0, 0xfb0(%rsp)
movapd %xmm0, 0xfa0(%rsp)
leaq 0x8c1c2(%rip), %r8      # 0x9349a
movq %r8, 0xfb8(%rsp)
movl %eax, 0xfc0(%rsp)
movq %rcx, 0xfc8(%rsp)
movq %rbx, 0xfd0(%rsp)
leaq 0x8c1b1(%rip), %r8      # 0x934af
movq %r8, 0xfd8(%rsp)
movl %eax, 0xfe0(%rsp)
movq %rcx, 0xfe8(%rsp)
movq %rbx, 0xff0(%rsp)
leaq 0x8c1a0(%rip), %r8      # 0x934c4
movq %r8, 0xff8(%rsp)
movl %eax, 0x1000(%rsp)
movq %rcx, 0x1008(%rsp)
movq %rdi, 0x1010(%rsp)
leaq 0x8c19f(%rip), %rdi     # 0x934e9
movq %rdi, 0x1018(%rsp)
movapd %xmm0, 0x1030(%rsp)
movapd %xmm0, 0x1020(%rsp)
leaq 0x8c17d(%rip), %rdi     # 0x934e8
movq %rdi, 0x1038(%rsp)
movl %eax, 0x1040(%rsp)
movq %rcx, 0x1048(%rsp)
movq %rbx, 0x1050(%rsp)
leaq 0x8c156(%rip), %rdi     # 0x934e7
movq %rdi, 0x1058(%rsp)
movl %eax, 0x1060(%rsp)
movq %rcx, 0x1068(%rsp)
movq %rbx, 0x1070(%rsp)
leaq 0x8c141(%rip), %rdi     # 0x934f8
movq %rdi, 0x1078(%rsp)
movapd %xmm0, 0x1090(%rsp)
movapd %xmm0, 0x1080(%rsp)
leaq 0x8c139(%rip), %rdi     # 0x93511
movq %rdi, 0x1098(%rsp)
movl %ebx, 0x10a0(%rsp)
movq %rdx, 0x10a8(%rsp)
movq %rbx, 0x10b0(%rsp)
leaq 0x8bebe(%rip), %rdi     # 0x932bc
movq %rdi, 0x10b8(%rsp)
movl %eax, 0x10c0(%rsp)
movq %rcx, 0x10c8(%rsp)
movq %rbx, 0x10d0(%rsp)
leaq 0x8bdfe(%rip), %rdi     # 0x93222
movq %rdi, 0x10d8(%rsp)
movapd %xmm0, 0x10f0(%rsp)
movapd %xmm0, 0x10e0(%rsp)
leaq 0x8c0e5(%rip), %rdi     # 0x9352a
movq %rdi, 0x10f8(%rsp)
movapd %xmm0, 0x1110(%rsp)
movapd %xmm0, 0x1100(%rsp)
leaq 0x8c0cc(%rip), %rdi     # 0x93532
movq %rdi, 0x1118(%rsp)
movl %eax, 0x1120(%rsp)
movq %rcx, 0x1128(%rsp)
movq %rbx, 0x1130(%rsp)
leaq 0x8c0a5(%rip), %rdi     # 0x93531
movq %rdi, 0x1138(%rsp)
movl %eax, 0x1140(%rsp)
movq %rdx, 0x1148(%rsp)
movq %rbx, 0x1150(%rsp)
leaq 0x8bd7b(%rip), %rdi     # 0x9322d
movq %rdi, 0x1158(%rsp)
movapd %xmm0, 0x1170(%rsp)
movapd %xmm0, 0x1160(%rsp)
leaq 0x8c067(%rip), %rdi     # 0x9353a
movq %rdi, 0x1178(%rsp)
movl %eax, 0x1180(%rsp)
movq %rcx, 0x1188(%rsp)
movq %rbx, 0x1190(%rsp)
leaq 0x8c040(%rip), %rdi     # 0x93539
movq %rdi, 0x1198(%rsp)
movl %eax, 0x11a0(%rsp)
movupd %xmm0, 0x11a8(%rsp)
leaq 0x8c033(%rip), %rdi     # 0x9354b
movq %rdi, 0x11b8(%rsp)
movapd %xmm0, 0x11d0(%rsp)
movapd %xmm0, 0x11c0(%rsp)
leaq 0x8c011(%rip), %rdi     # 0x9354a
movq %rdi, 0x11d8(%rsp)
movl %eax, 0x11e0(%rsp)
movq %rcx, 0x11e8(%rsp)
movq %rbx, 0x11f0(%rsp)
leaq 0x8bfea(%rip), %rdi     # 0x93549
movq %rdi, 0x11f8(%rsp)
movl %eax, 0x1200(%rsp)
movabsq $0x3fe62e42fefa39ef, %rdi # imm = 0x3FE62E42FEFA39EF
movq %rdi, 0x1208(%rsp)
movq %rbx, 0x1210(%rsp)
leaq 0x8bfca(%rip), %rdi     # 0x93559
movq %rdi, 0x1218(%rsp)
movl %eax, 0x1220(%rsp)
movabsq $0x40bfa7157c470f82, %rdi # imm = 0x40BFA7157C470F82
movq %rdi, 0x1228(%rsp)
movq %rbx, 0x1230(%rsp)
leaq 0x8bfa1(%rip), %rdi     # 0x93560
movq %rdi, 0x1238(%rsp)
movl %eax, 0x1240(%rsp)
movabsq $0x4022000000000000, %rdi # imm = 0x4022000000000000
movq %rdi, 0x1248(%rsp)
movq %rbx, 0x1250(%rsp)
leaq 0x8bf78(%rip), %rdi     # 0x93567
movq %rdi, 0x1258(%rsp)
movl %eax, 0x1260(%rsp)
movq %rsi, 0x1268(%rsp)
movq %rbx, 0x1270(%rsp)
leaq 0x8bf5e(%rip), %rsi     # 0x93573
movq %rsi, 0x1278(%rsp)
movl %eax, 0x1280(%rsp)
movq %r10, 0x1288(%rsp)
movq %rbx, 0x1290(%rsp)
leaq 0x8bf41(%rip), %rsi     # 0x9357c
movq %rsi, 0x1298(%rsp)
movl %ebx, 0x12a0(%rsp)
movq %rdx, 0x12a8(%rsp)
movq %rbx, 0x12b0(%rsp)
leaq 0x8bf23(%rip), %rsi     # 0x93584
movq %rsi, 0x12b8(%rsp)
movl %eax, 0x12c0(%rsp)
movq %r9, 0x12c8(%rsp)
movq %rbx, 0x12d0(%rsp)
leaq 0x8bf06(%rip), %rsi     # 0x9358d
movq %rsi, 0x12d8(%rsp)
movl %eax, 0x12e0(%rsp)
movq %r10, 0x12e8(%rsp)
movq %rbx, 0x12f0(%rsp)
leaq 0x8beed(%rip), %rsi     # 0x9359a
movq %rsi, 0x12f8(%rsp)
movapd %xmm0, 0x1310(%rsp)
movapd %xmm0, 0x1300(%rsp)
leaq 0x8bedc(%rip), %rsi     # 0x935aa
movq %rsi, 0x1318(%rsp)
movl %eax, 0x1320(%rsp)
movq %rdx, 0x1328(%rsp)
movq %rbx, 0x1330(%rsp)
leaq 0x8bec6(%rip), %rsi     # 0x935ba
movq %rsi, 0x1338(%rsp)
movl %eax, 0x1340(%rsp)
movq %rdx, 0x1348(%rsp)
movq %rbx, 0x1350(%rsp)
leaq 0x8beb9(%rip), %rsi     # 0x935d3
movq %rsi, 0x1358(%rsp)
movl %eax, 0x1360(%rsp)
movq %rdx, 0x1368(%rsp)
movq %rbx, 0x1370(%rsp)
leaq 0x8beaf(%rip), %rdx     # 0x935ef
movq %rdx, 0x1378(%rsp)
movl %eax, 0x1380(%rsp)
movq %rcx, 0x1388(%rsp)
movq %rbx, 0x1390(%rsp)
leaq 0x8bea5(%rip), %rdx     # 0x9360b
movq %rdx, 0x1398(%rsp)
movl %eax, 0x13a0(%rsp)
movq %rcx, 0x13a8(%rsp)
movq %rbx, 0x13b0(%rsp)
leaq 0x8be8d(%rip), %rdx     # 0x93619
movq %rdx, 0x13b8(%rsp)
movl %eax, 0x13c0(%rsp)
movq %rcx, 0x13c8(%rsp)
movq %rbx, 0x13d0(%rsp)
leaq 0x8be72(%rip), %rdx     # 0x93624
movq %rdx, 0x13d8(%rsp)
movl %eax, 0x13e0(%rsp)
movq %rcx, 0x13e8(%rsp)
movq %rbx, 0x13f0(%rsp)
leaq 0x8be57(%rip), %rdx     # 0x9362f
movq %rdx, 0x13f8(%rsp)
movapd %xmm0, 0x1410(%rsp)
movapd %xmm0, 0x1400(%rsp)
leaq 0x8be40(%rip), %rdx     # 0x93639
movq %rdx, 0x1418(%rsp)
movl %eax, 0x1420(%rsp)
movq %rcx, 0x1428(%rsp)
movq %rbx, 0x1430(%rsp)
leaq 0x8be27(%rip), %rax     # 0x93646
movq %rax, 0x1438(%rsp)
leaq 0x18(%rsp), %r14
movl $0x0, %eax
movq %rax, 0x8(%rsp)
movq %rbx, 0x18(%r14)
movapd %xmm0, 0x8(%r14)
movapd %xmm0, -0x8(%r14)
movl $0x18, %r15d
movq 0x40(%rsp,%r15), %rdi
callq 0x7bf8
testq %rax, %rax
je 0x79cb
movq %rax, %r12
leaq (%rsp,%r15), %rbx
addq $0x40, %rbx
movq %rax, %rdi
xorl %esi, %esi
leaq -0x1a7a(%rip), %rdx     # 0x5dfc
leaq 0x10(%rsp), %rcx
callq 0x7d92
testl %eax, %eax
jne 0x7af3
movzbl 0x10(%rsp), %r13d
testl %r13d, %r13d
je 0x78aa
cmpl $0x1, %r13d
jne 0x78ba
cmpq $0x0, 0x28(%rsp)
je 0x79d5
testb %r13b, %r13b
jne 0x78ba
movsd 0x30(%rsp), %xmm0
ucomisd %xmm0, %xmm0
jp 0x79d5
testb %r13b, %r13b
je 0x794d
movq 0x28(%rsp), %rbp
movq 0x38(%rsp,%r15), %r14
movq %rbp, %rax
orq %r14, %rax
je 0x78fc
testq %r14, %r14
setne %al
testq %rbp, %rbp
sete %cl
cmpb %al, %cl
je 0x7a68
movq %rbp, %rdi
movq %r14, %rsi
callq 0x46c0
testl %eax, %eax
jne 0x7a68
movsd 0x30(%rsp), %xmm0
movsd 0x30(%rsp,%r15), %xmm1
ucomisd %xmm1, %xmm0
jne 0x7911
jnp 0x792f
xorpd %xmm2, %xmm2
cmpordpd %xmm2, %xmm0
cmpordpd %xmm2, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %eax
testb $0x1, %al
jne 0x7a68
movsbl 0x11(%rsp), %eax
cmpl %eax, 0x28(%rsp,%r15)
jne 0x7a68
testb %r13b, %r13b
leaq 0x18(%rsp), %r14
jne 0x7ab5
movsd 0x30(%rsp), %xmm1
movsd 0x30(%rsp,%r15), %xmm0
ucomisd %xmm0, %xmm1
jne 0x7962
jnp 0x7984
movapd %xmm1, %xmm2
xorpd %xmm4, %xmm4
cmpordpd %xmm4, %xmm2
movapd %xmm0, %xmm3
cmpordpd %xmm4, %xmm3
orpd %xmm2, %xmm3
movd %xmm3, %eax
testb $0x1, %al
jne 0x7994
movsbl 0x11(%rsp), %eax
cmpl %eax, 0x28(%rsp,%r15)
je 0x7ab5
movq 0xac645(%rip), %rax     # 0xb3fe0
movq (%rax), %rdi
cmpb $0x0, 0x11(%rsp)
movq (%rbx), %rdx
leaq 0x8b889(%rip), %rcx     # 0x93236
leaq 0x8bcf7(%rip), %rax     # 0x936ab
cmoveq %rax, %rcx
leaq 0x8bd1f(%rip), %rsi     # 0x936de
movb $0x2, %al
callq 0x4700
jmp 0x7a5c
movl $0x1, %ebp
jmp 0x7ada
movsbl 0x11(%rsp), %eax
cmpl %eax, 0x28(%rsp,%r15)
jne 0x7a19
movsd 0x30(%rsp), %xmm0
movsd 0x30(%rsp,%r15), %xmm1
ucomisd %xmm1, %xmm0
jne 0x79fa
jnp 0x7ab5
xorpd %xmm2, %xmm2
cmpordpd %xmm2, %xmm0
cmpordpd %xmm2, %xmm1
orpd %xmm0, %xmm1
movd %xmm1, %ecx
testb $0x1, %cl
je 0x7ab5
movq 0xac5c0(%rip), %rcx     # 0xb3fe0
movq (%rcx), %rdi
movq 0x40(%rsp,%r15), %rdx
movsd 0x30(%rsp,%r15), %xmm0
testb %al, %al
leaq 0x8b7fe(%rip), %rcx     # 0x93236
leaq 0x8bc6c(%rip), %rax     # 0x936ab
cmoveq %rax, %rcx
movq 0x28(%rsp), %r8
movsd 0x30(%rsp), %xmm1
leaq 0x8bc29(%rip), %rsi     # 0x9367e
movb $0x2, %al
callq 0x4700
movl $0x1, %eax
movq %rax, 0x8(%rsp)
jmp 0x7ab5
movq 0xac571(%rip), %rax     # 0xb3fe0
movq (%rax), %rdi
movq (%rbx), %rdx
cmpb $0x0, 0x11(%rsp)
leaq 0x8b7b5(%rip), %r8      # 0x93236
leaq 0x8bc23(%rip), %rax     # 0x936ab
cmoveq %rax, %r8
movsd 0x30(%rsp), %xmm0
leaq 0x8bc18(%rip), %rsi     # 0x936b1
movq %r14, %rcx
movq %rbp, %r9
movb $0x1, %al
callq 0x4700
movl $0x1, %eax
movq %rax, 0x8(%rsp)
leaq 0x18(%rsp), %r14
movq 0x28(%rsp), %rdi
callq 0x45c0
xorpd %xmm0, %xmm0
movupd %xmm0, (%r14)
movq $0x0, 0x10(%r14)
xorl %ebp, %ebp
movq %r12, %rdi
callq 0x7c51
testb $0x3, %bpl
jne 0x7b0c
addq $0x20, %r15
cmpq $0x1418, %r15           # imm = 0x1418
jne 0x784c
jmp 0x7b16
movq %rbx, %rdi
callq 0x49e0
movl $0x4, %ebp
movl $0x1, %eax
movq %rax, 0x8(%rsp)
jmp 0x7ad2
movl $0x1, %eax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
addq $0x1448, %rsp           # imm = 0x1448
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq