// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: d_dd_ok
static bool d_dd_ok(s7_scheme *sc, opt_info *opc, s7_pointer s_func, s7_pointer car_x)
                {
                    s7_d_dd_t func;
                    s7_d_7dd_t func7 = NULL;
                    func = s7_d_dd_function(s_func);
                    if (!func) func7 = s7_d_7dd_function(s_func);
                    if ((func) || (func7))
                    {
                        s7_pointer arg1, arg2, slot;
                        int32_t start;
                        start = sc->pc;
                        arg1 = cadr(car_x);
                        arg2 = caddr(car_x);
                        if (func)
                            opc->v[3].d_dd_f = func;
                        else opc->v[3].d_7dd_f = func7;

                        /* arg1 = real constant */
                        if (is_real(arg1))
                        {
                            if (is_real(arg2))
                            {
                                if ((!is_float(arg1)) && (!is_float(arg2)))
                                    return(return_false(sc, car_x, __func__, __LINE__));
                                opc->v[1].x = s7_number_to_real(sc, arg1);
                                opc->v[2].x = s7_number_to_real(sc, arg2);
                                if (func)
                                    opc->v[0].fd = opt_d_dd_cc;
                                else opc->v[0].fd = opt_d_7dd_cc;
                                return(oo_set_type_0(opc, 4));
                            }
                            slot = opt_float_symbol(sc, arg2);
                            if (slot)
                            {
                                opc->v[1].p = slot;
                                opc->v[2].x = s7_number_to_real(sc, arg1); /* move arg1? */
                                if (func)
                                    opc->v[0].fd = opt_d_dd_cs;
                                else opc->v[0].fd = opt_d_7dd_cs;
                                return(oo_set_type_1(opc, 4, 1, OO_D));
                            }
                            if (float_optimize(sc, cddr(car_x)))
                            {
                                opc->v[1].x = s7_number_to_real(sc, arg1);
                                if (d_dd_call_combinable(sc, opc, func))
                                    return(true);
                                if (func)
                                {
                                    opc->v[0].fd = opt_d_dd_cf;
                                    opc->v[4].o1 = sc->opts[start];
                                    opc->v[5].fd = sc->opts[start]->v[0].fd;
                                    return(oo_set_type_0(opc, 6));
                                }
                                opc->v[0].fd = opt_d_7dd_cf;
                                return(oo_set_type_0(opc, 4));
                            }
                            pc_fallback(sc, start);
                            return(return_false(sc, car_x, __func__, __LINE__));
                        }

                        /* arg1 = float symbol */
                        slot = opt_float_symbol(sc, arg1);
                        if (slot)
                        {
                            opc->v[1].p = slot;
                            if (is_real(arg2))
                            {
                                opc->v[2].x = s7_number_to_real(sc, arg2);
                                if (func)
                                    opc->v[0].fd = opt_d_dd_sc;
                                else opc->v[0].fd = opt_d_7dd_sc;
                                return(oo_set_type_1(opc, 4, 1, OO_D));
                            }
                            slot = opt_float_symbol(sc, arg2);
                            if (slot)
                            {
                                opc->v[2].p = slot;
                                if (func)
                                {
                                    if (func == multiply_d_dd)
                                        opc->v[0].fd = opt_d_dd_ss_mul;
                                    else opc->v[0].fd = opt_d_dd_ss;
                                }
                                else opc->v[0].fd = opt_d_7dd_ss;
                                return(oo_set_type_2(opc, 4, 1, 2, OO_R, OO_D));
                            }
                            if (float_optimize(sc, cddr(car_x)))
                            {
                                if (d_dd_sf_combinable(sc, opc, func))
                                    return(true);
                                if (func)
                                {
                                    if (func == multiply_d_dd)
                                        opc->v[0].fd = opt_d_dd_sf_mul;
                                    else opc->v[0].fd = opt_d_dd_sf;
                                    opc->v[4].o1 = sc->opts[start];
                                    opc->v[5].fd = sc->opts[start]->v[0].fd;
                                    return(oo_set_type_1(opc, 6, 1, OO_D));
                                }
                                else opc->v[0].fd = opt_d_7dd_sf;
                                return(oo_set_type_1(opc, 4, 1, OO_D));
                            }
                            pc_fallback(sc, start);
                            return(return_false(sc, car_x, __func__, __LINE__));
                        }

                        /* arg1 = float expr or non-float */
                        if (float_optimize(sc, cdr(car_x)))
                        {
                            int32_t start2;
                            start2 = sc->pc;
                            if (is_real(arg2))
                            {
                                opc->v[2].x = s7_number_to_real(sc, arg2);
                                if (func)
                                {
                                    if (func == add_d_dd)
                                        opc->v[0].fd = opt_d_dd_fc_add; /* opt_i_7i_c o->v[2].i_7i_f = random_i_7i else as below except add_i_ii in opt_i_ii_cf = (+ i1 (random i2)) */
                                    else
                                    {
                                        if (func == subtract_d_dd)
                                        {
                                            opc->v[0].fd = opt_d_dd_fc_subtract; /* if o1->v[0].fd = opt_d_7d_c and its o->v[3].d_7d_f = random_d_7d it's (- (random f1) f2) */
#if (!WITH_GMP)
                                            if ((opc == sc->opts[sc->pc - 2]) &&
                                                    (sc->opts[start]->v[0].fd == opt_d_7d_c) &&
                                                    (sc->opts[start]->v[3].d_7d_f == random_d_7d))
                                            {
                                                opc->v[0].fd = opt_subtract_random_f_f;
                                                opc->v[1].x = sc->opts[start]->v[1].x; /* random arg */
                                                backup_pc(sc);
                                            }
#endif
                                        }
                                        else opc->v[0].fd = opt_d_dd_fc;
                                    }
                                }
                                else opc->v[0].fd = opt_d_7dd_fc;
                                return(oo_set_type_0(opc, 4));
                            }
                            slot = opt_float_symbol(sc, arg2);
                            if (slot)
                            {
                                opc->v[1].p = slot;
                                if (d_dd_fs_combinable(sc, opc, func))
                                    return(true);
                                if (func)
                                {
                                    if (func == multiply_d_dd)
                                        opc->v[0].fd = opt_d_dd_fs_mul;
                                    else opc->v[0].fd = opt_d_dd_fs;
                                    opc->v[4].o1 = sc->opts[start];
                                    opc->v[5].fd = sc->opts[start]->v[0].fd;
                                    return(oo_set_type_1(opc, 6, 1, OO_D));
                                }
                                else opc->v[0].fd = opt_d_7dd_fs;
                                return(oo_set_type_1(opc, 4, 1, OO_D));
                            }
                            if (float_optimize(sc, cddr(car_x)))
                            {
                                if (func)
                                {
                                    if (d_dd_ff_combinable(sc, start))
                                        return(true);
                                    opc->v[0].fd = opt_d_dd_ff;
                                    if (func == multiply_d_dd)
                                        opc->v[0].fd = opt_d_dd_ff_mul;
                                    else
                                    {
                                        if (func == add_d_dd)
                                        {
                                            opt_info *o2;
                                            o2 = sc->opts[start2];

                                            if (o2->v[0].fd == opt_d_dd_ff_mul)
                                            {
                                                opc->v[0].fd = opt_d_dd_ff_add_mul;
                                                opc->v[4].o1 = sc->opts[start];
                                                opc->v[5].fd = sc->opts[start]->v[0].fd;
                                                opc->v[10].o1 = sc->opts[start2 + 1];
                                                opc->v[11].fd = sc->opts[start2 + 1]->v[0].fd;
                                                return(oo_set_type_0(opc, 12));
                                            }
                                            if ((o2->v[0].fd == opt_d_7pi_sf) &&
                                                    (o2->v[3].d_7pi_f == float_vector_ref_d_7pi))
                                                opc->v[0].fd = opt_d_dd_ff_add_fv_ref;
                                            else
                                            {
                                                opc->v[0].fd = opt_d_dd_ff_add;
                                                opc->v[4].o1 = sc->opts[start];
                                                opc->v[5].fd = sc->opts[start]->v[0].fd;
                                                opc->v[10].o1 = o2;
                                                opc->v[11].fd = o2->v[0].fd;
                                                return(oo_set_type_0(opc, 12));
                                            }
                                        }
                                        else
                                        {
                                            if (func == subtract_d_dd)
                                                opc->v[0].fd = opt_d_dd_ff_sub;
                                        }
                                    }
                                }
                                else opc->v[0].fd = opt_d_7dd_ff;
                                return(oo_set_type_0(opc, 4));
                            }
                        }
                        pc_fallback(sc, start);
                    }
                    return(return_false(sc, car_x, __func__, __LINE__));
                }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rcx, %r12
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r13
movq %rdx, %rdi
callq 0x473a5
movq %rax, %r15
testq %rax, %rax
je 0xa4065
xorl %ecx, %ecx
movq %r15, %rax
jmp 0xa40a3
cmpb $0x30, (%rbx)
jb 0xa409f
movq 0x8(%rbx), %rax
movq 0x20(%rax), %rcx
testq %rcx, %rcx
sete %dl
je 0xa4098
cmpl $0xe, (%rcx)
je 0xa4090
movq 0x10(%rcx), %rcx
testq %rcx, %rcx
sete %dl
je 0xa4098
cmpl $0xe, (%rcx)
jne 0xa407f
movq 0x8(%rcx), %rax
xorl %edx, %edx
jmp 0xa4098
movq %rax, %rcx
testb %dl, %dl
je 0xa40a3
xorl %eax, %eax
xorl %ecx, %ecx
orq %r15, %rcx
je 0xa45ba
movl 0x2258(%r13), %esi
movslq %esi, %rdx
movq 0x10(%r12), %rcx
movq 0x8(%rcx), %rbx
movq 0x10(%rcx), %rcx
movq 0x8(%rcx), %rbp
movq %r14, 0x10(%rsp)
movq %rax, 0x18(%r14)
movzbl (%rbx), %eax
leaq 0xae8d6(%rip), %r14     # 0x1529b0
cmpb $0x1, (%rax,%r14)
jne 0xa4156
movzbl (%rbp), %ecx
cmpb $0x1, (%rcx,%r14)
jne 0xa41d4
cmpb $0xd, %al
movq 0x10(%rsp), %r14
je 0xa4102
cmpb $0xd, %cl
jne 0xa444c
leaq 0x6ee38(%rip), %r12     # 0x112f41
movq %r13, %rdi
movq %rbx, %rsi
movq %r12, %rdx
callq 0xe212
movsd %xmm0, 0x8(%r14)
movq %r13, %rdi
movq %rbp, %rsi
movq %r12, %rdx
callq 0xe212
testq %r15, %r15
movsd %xmm0, 0x10(%r14)
leaq 0x1ef6f(%rip), %rax     # 0xc30aa
leaq 0x1ef78(%rip), %rcx     # 0xc30ba
cmovneq %rax, %rcx
movq %rcx, (%r14)
movq $0x4, 0x60(%r14)
jmp 0xa45b2
movl %esi, 0xc(%rsp)
movq %rdx, 0x18(%rsp)
movq %r13, %rdi
movq %rbx, %rsi
callq 0xa6424
testq %rax, %rax
je 0xa4245
movq 0x10(%rsp), %rbx
movq %rax, 0x8(%rbx)
movzbl (%rbp), %eax
cmpb $0x1, (%rax,%r14)
jne 0xa42bd
leaq 0x6edaf(%rip), %rdx     # 0x112f41
movq %r13, %rdi
movq %rbp, %rsi
callq 0xe212
testq %r15, %r15
movsd %xmm0, 0x10(%rbx)
leaq 0x1efe2(%rip), %rax     # 0xc318e
leaq 0x1eff3(%rip), %rcx     # 0xc31a6
cmovneq %rax, %rcx
movq %rcx, (%rbx)
movabsq $0x100000004, %rax      # imm = 0x100000004
movq %rax, 0x60(%rbx)
movl $0x2, 0x70(%rbx)
jmp 0xa45b2
movl %esi, 0xc(%rsp)
movq %rdx, 0x18(%rsp)
movq %r13, %rdi
movq %rbp, %rsi
callq 0xa6424
testq %rax, %rax
movq 0x10(%rsp), %r14
je 0xa4328
movq %rax, 0x8(%r14)
leaq 0x6ed40(%rip), %rdx     # 0x112f41
movq %r13, %rdi
movq %rbx, %rsi
callq 0xe212
testq %r15, %r15
movsd %xmm0, 0x10(%r14)
leaq 0x1eeb5(%rip), %rax     # 0xc30d1
leaq 0x1eec6(%rip), %rcx     # 0xc30e9
cmovneq %rax, %rcx
movq %rcx, (%r14)
movabsq $0x100000004, %rax      # imm = 0x100000004
movq %rax, 0x60(%r14)
movl $0x2, 0x70(%r14)
jmp 0xa45b2
movq 0x10(%r12), %rsi
movq %r13, %rdi
callq 0x47b96
testb %al, %al
je 0xa4580
movq %r13, %rbx
movzbl (%rbp), %eax
cmpb $0x1, (%rax,%r14)
jne 0xa4455
leaq 0x6ecce(%rip), %rdx     # 0x112f41
movq %rbx, %rdi
movq %rbp, %rsi
callq 0xe212
movq 0x10(%rsp), %rdx
movsd %xmm0, 0x10(%rdx)
testq %r15, %r15
je 0xa44f2
leaq -0x172aa(%rip), %rax    # 0x8cfee
cmpq %rax, %r15
je 0xa45a0
leaq -0x172b5(%rip), %rax    # 0x8cff3
cmpq %rax, %r15
je 0xa465e
leaq 0x1f153(%rip), %rax     # 0xc340b
jmp 0xa45a7
movq %r13, %rdi
movq %rbp, %rsi
callq 0xa6424
testq %rax, %rax
je 0xa43b6
leaq -0x172e0(%rip), %rcx    # 0x8cff8
cmpq %rcx, %r15
leaq 0x1eee3(%rip), %rcx     # 0xc31c5
leaq 0x1eef7(%rip), %rdx     # 0xc31e0
cmoveq %rcx, %rdx
testq %r15, %r15
leaq 0x1ef09(%rip), %rcx     # 0xc3200
cmovneq %rdx, %rcx
movq 0x10(%rsp), %rdx
movq %rax, 0x10(%rdx)
movq %rcx, (%rdx)
movabsq $0x200000004, %rax      # imm = 0x200000004
movq %rax, 0x60(%rdx)
movabsq $0x200000007, %rax      # imm = 0x200000007
movq %rax, 0x70(%rdx)
jmp 0xa45b2
movq 0x10(%r12), %rax
movq 0x10(%rax), %rsi
movq %r13, %rdi
callq 0x47b96
testb %al, %al
je 0xa4441
leaq 0x6ebf9(%rip), %rdx     # 0x112f41
movq %r13, %rdi
movq %rbx, %rsi
callq 0xe212
movsd %xmm0, 0x8(%r14)
movl 0x2258(%r13), %eax
cmpl $0x2, %eax
jl 0xa4376
leal -0x2(%rax), %ecx
cmpq %r14, 0x2260(%r13,%rcx,8)
je 0xa45cb
testq %r15, %r15
je 0xa4591
leaq 0x1ed82(%rip), %rax     # 0xc3108
movq %rax, (%r14)
movq 0x18(%rsp), %rcx
movq 0x2260(%r13,%rcx,8), %rax
movq %rax, 0x20(%r14)
movq 0x2260(%r13,%rcx,8), %rax
movq (%rax), %rax
movq %rax, 0x28(%r14)
movq $0x6, 0x60(%r14)
jmp 0xa45b2
movq 0x10(%r12), %rax
movq 0x10(%rax), %rsi
movq %r13, %rdi
callq 0x47b96
testb %al, %al
movq 0x10(%rsp), %rbx
je 0xa4441
movq %r13, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0xc3227
movl %eax, %ecx
movb $0x1, %al
testb %cl, %cl
jne 0xa45b4
testq %r15, %r15
je 0xa46d7
leaq -0x17402(%rip), %rcx    # 0x8cff8
cmpq %rcx, %r15
leaq 0x1eeb2(%rip), %rcx     # 0xc32b6
leaq 0x1eed9(%rip), %rdx     # 0xc32e4
cmoveq %rcx, %rdx
movq %rdx, (%rbx)
movq 0x18(%rsp), %rdx
movq 0x2260(%r13,%rdx,8), %rcx
movq %rcx, 0x20(%rbx)
movq 0x2260(%r13,%rdx,8), %rcx
movq (%rcx), %rcx
movq %rcx, 0x28(%rbx)
movabsq $0x100000006, %rcx      # imm = 0x100000006
jmp 0xa46eb
movl 0xc(%rsp), %eax
movl %eax, 0x2258(%r13)
xorl %ecx, %ecx
xorl %eax, %eax
jmp 0xa45b6
movq %rbx, %r13
movslq 0x2258(%rbx), %rax
movq %rax, 0x20(%rsp)
movq %rbx, %rdi
movq %rbp, %rsi
callq 0xa6424
testq %rax, %rax
movq 0x10(%rsp), %r14
je 0xa44fe
movq %rax, 0x8(%r14)
movq %r13, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0xc3484
movl %eax, %ecx
movb $0x1, %al
testb %cl, %cl
jne 0xa45b4
testq %r15, %r15
je 0xa46fb
leaq -0x174b3(%rip), %rcx    # 0x8cff8
cmpq %rcx, %r15
leaq 0x1f05e(%rip), %rcx     # 0xc3513
leaq 0x1f07b(%rip), %rdx     # 0xc3537
cmoveq %rcx, %rdx
movq %rdx, (%r14)
movq 0x18(%rsp), %rdx
movq 0x2260(%r13,%rdx,8), %rcx
movq %rcx, 0x20(%r14)
movq 0x2260(%r13,%rdx,8), %rcx
movq (%rcx), %rcx
movq %rcx, 0x28(%r14)
movabsq $0x100000006, %rcx      # imm = 0x100000006
jmp 0xa470f
leaq 0x1ef4d(%rip), %rax     # 0xc3446
jmp 0xa45a7
movq 0x20(%rsp), %r14
movq 0x10(%r12), %rax
movq 0x10(%rax), %rsi
movq %r13, %rdi
callq 0x47b96
testb %al, %al
je 0xa4580
testq %r15, %r15
je 0xa4720
movq %rbx, %rdi
movl 0xc(%rsp), %esi
callq 0xc35b2
movl %eax, %ecx
movb $0x1, %al
testb %cl, %cl
movq 0x10(%rsp), %rdi
jne 0xa45b4
leaq 0x1f368(%rip), %rcx     # 0xc38a9
movq %rcx, (%rdi)
leaq -0x17553(%rip), %rcx    # 0x8cff8
cmpq %rcx, %r15
je 0xa4786
leaq -0x1756d(%rip), %rcx    # 0x8cfee
cmpq %rcx, %r15
je 0xa479d
leaq -0x17578(%rip), %rax    # 0x8cff3
cmpq %rax, %r15
jne 0xa4790
leaq 0x1f4f9(%rip), %rax     # 0xc3a74
jmp 0xa478d
movl 0xc(%rsp), %eax
movl %eax, 0x2258(%r13)
movb $0x1, %cl
movb $0x1, %al
jmp 0xa45b6
leaq 0x1ebab(%rip), %rax     # 0xc3143
movq %rax, (%r14)
jmp 0xa4149
leaq 0x1edd3(%rip), %rax     # 0xc337a
movq %rax, (%rdx)
movq $0x4, 0x60(%rdx)
movb $0x1, %al
xorl %ecx, %ecx
testb %cl, %cl
je 0xa45bc
xorl %eax, %eax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
decl %eax
movq 0x2260(%r13,%rax,8), %rax
movq (%rax), %rcx
leaq 0x2acb(%rip), %rdx      # 0xa70aa
cmpq %rdx, %rcx
je 0xa472e
leaq 0x1f5a9(%rip), %rdx     # 0xc3b98
cmpq %rdx, %rcx
jne 0xa4376
movsd %xmm0, 0x20(%r14)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%r14)
movq 0x28(%rax), %rcx
movq %rcx, 0x30(%r14)
movq 0x10(%rax), %rcx
movq %rcx, 0x10(%r14)
movq 0x18(%rax), %rax
movq %rax, 0x28(%r14)
testq %r15, %r15
leaq 0x1f5c5(%rip), %rax     # 0xc3bed
leaq 0x1f580(%rip), %rcx     # 0xc3baf
cmoveq %rax, %rcx
movq %rcx, (%r14)
decl 0x2258(%r13)
movabsq $0x200000007, %rax      # imm = 0x200000007
movq %rax, 0x60(%r14)
movabsq $0x200000003, %rax      # imm = 0x200000003
movq %rax, 0x70(%r14)
jmp 0xa45b2
leaq 0x1ed3f(%rip), %rax     # 0xc33a4
movq %rax, (%rdx)
movslq 0x2258(%rbx), %rax
cmpq %rdx, 0x2250(%rbx,%rax,8)
jne 0xa45aa
movq 0x18(%rsp), %rax
movq 0x2260(%rbx,%rax,8), %rax
leaq 0x1e93c(%rip), %rcx     # 0xc2fcd
cmpq %rcx, (%rax)
jne 0xa45aa
leaq -0x18c0e(%rip), %rcx    # 0x8ba93
cmpq %rcx, 0x18(%rax)
jne 0xa45aa
leaq 0x1ed1c(%rip), %rax     # 0xc33ce
movq %rax, (%rdx)
movq 0x18(%rsp), %rax
movq 0x2260(%rbx,%rax,8), %rax
movsd 0x8(%rax), %xmm0
movsd %xmm0, 0x8(%rdx)
decl 0x2258(%rbx)
jmp 0xa45aa
leaq 0x1ec49(%rip), %rcx     # 0xc3327
movq %rcx, (%rbx)
movabsq $0x100000004, %rcx      # imm = 0x100000004
movq %rcx, 0x60(%rbx)
movl $0x2, 0x70(%rbx)
jmp 0xa45b4
leaq 0x1ee6a(%rip), %rcx     # 0xc356c
movq %rcx, (%r14)
movabsq $0x100000004, %rcx      # imm = 0x100000004
movq %rcx, 0x60(%r14)
movl $0x2, 0x70(%r14)
jmp 0xa45b4
leaq 0x1f3a6(%rip), %rax     # 0xc3acd
movq 0x10(%rsp), %rdi
jmp 0xa478d
movsd %xmm0, 0x10(%r14)
movq 0x8(%rax), %rcx
movq %rcx, 0x30(%r14)
movq 0x28(%rax), %rcx
movq %rcx, 0x8(%r14)
movq 0x18(%rax), %rax
movq %rax, 0x20(%r14)
testq %r15, %r15
leaq 0x1f40b(%rip), %rax     # 0xc3b61
leaq 0x1f3d3(%rip), %rcx     # 0xc3b30
cmoveq %rax, %rcx
movq %rcx, (%r14)
decl 0x2258(%r13)
movabsq $0x100000007, %rax      # imm = 0x100000007
movq %rax, 0x60(%r14)
movl $0x3, 0x70(%r14)
jmp 0xa45b2
leaq 0x1f17c(%rip), %rax     # 0xc3909
movq %rax, (%rdi)
movq $0x4, 0x60(%rdi)
jmp 0xa45b2
movq 0x2260(%rbx,%r14,8), %rcx
movq (%rcx), %rdx
leaq 0x1f15a(%rip), %rsi     # 0xc3909
cmpq %rsi, %rdx
je 0xa4801
leaq 0x1e721(%rip), %rsi     # 0xc2edc
cmpq %rsi, %rdx
jne 0xa47d1
leaq -0x1d773(%rip), %rdx    # 0x87054
cmpq %rdx, 0x18(%rcx)
je 0xa4853
leaq 0x1f260(%rip), %rdx     # 0xc3a38
movq %rdx, (%rdi)
movq 0x18(%rsp), %rsi
movq 0x2260(%rbx,%rsi,8), %rdx
movq %rdx, 0x20(%rdi)
movq 0x2260(%rbx,%rsi,8), %rdx
movq (%rdx), %rdx
movq %rdx, 0x28(%rdi)
movq %rcx, 0x50(%rdi)
jmp 0xa483f
leaq 0x1f152(%rip), %rcx     # 0xc395a
movq %rcx, (%rdi)
movq 0x18(%rsp), %rdx
movq 0x2260(%rbx,%rdx,8), %rcx
movq %rcx, 0x20(%rdi)
movq 0x2260(%rbx,%rdx,8), %rcx
movq (%rcx), %rcx
movq %rcx, 0x28(%rdi)
movq 0x2268(%rbx,%r14,8), %rcx
movq %rcx, 0x50(%rdi)
movq 0x2268(%rbx,%r14,8), %rcx
movq (%rcx), %rcx
movq %rcx, 0x58(%rdi)
movq $0xc, 0x60(%rdi)
jmp 0xa45b4
leaq 0x1f166(%rip), %rax     # 0xc39c0
jmp 0xa478d