// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: combine_ops
static int32_t combine_ops(s7_scheme *sc, s7_pointer func, s7_pointer expr, combine_op_t cop, s7_pointer e1, s7_pointer e2) /* sc needed for debugger stuff */
                {
                    int32_t arg_op;
                    s7_pointer arg;

                    switch (cop)
                    {
                        case E_C_P:
                            arg_op = op_no_hop(e1);
                            switch (arg_op)
                            {
                                case OP_SAFE_C_S:      return(OP_SAFE_C_opSq);
                                case OP_SAFE_C_D:      return(OP_SAFE_C_opDq);
                                case OP_SAFE_C_SS:     return(OP_SAFE_C_opSSq);
                                case OP_SAFE_C_SC:     return(OP_SAFE_C_opSCq);
                                case OP_SAFE_C_CS:     return(OP_SAFE_C_opCSq);
                                case OP_SAFE_C_opSq:   return(OP_SAFE_C_op_opSq_q);
                                case OP_SAFE_C_S_opSq: return(OP_SAFE_C_op_S_opSq_q);
                                case OP_SAFE_C_opSq_S: return(OP_SAFE_C_op_opSq_S_q);
                                case OP_SAFE_C_A:      return(OP_SAFE_C_opAq);
                                case OP_SAFE_C_AA:     return(OP_SAFE_C_opAAq);
                                case OP_SAFE_C_AAA:    return(OP_SAFE_C_opAAAq);
                                                       /* deeper opA...q nestings are rare */
                            }
                            return(OP_SAFE_C_P); /* this splits out to A in optimize_func one_arg */

                        case E_C_SP:
                            arg = e2;
                            arg_op = op_no_hop(arg);
                            switch (arg_op)
                            {
                                case OP_SAFE_C_S:
                                    set_opt1_sym(cdr(expr), cadr(arg));
                                    return(OP_SAFE_C_S_opSq);

                                case OP_SAFE_C_D:
                                    set_opt1_pair(cdr(expr), cdr(arg));
                                    return(OP_SAFE_C_S_opDq);

                                case OP_SAFE_C_SC:
                                    set_opt1_sym(cdr(expr), cadr(arg));
                                    set_opt2_con(cdr(expr), caddr(arg));
                                    return(OP_SAFE_C_S_opSCq);

                                case OP_SAFE_C_CS:	  /* expr is (* a (- 1 b)), e2 is (- 1 b) */
                                    /* set_opt1_con(cdr(expr), cadr(arg)); */
                                    set_opt2_sym(cdr(expr), caddr(arg));
                                    return(OP_SAFE_C_S_opCSq);

                                case OP_SAFE_C_SS:	  /* (* a (- b c)) */
                                    set_opt1_sym(cdr(expr), cadr(arg));
                                    set_opt2_sym(cdr(expr), caddr(arg));
                                    return(OP_SAFE_C_S_opSSq);

                                case OP_SAFE_C_opSq_C:      return(OP_SAFE_C_S_op_opSq_Cq);
                                case OP_SAFE_C_S_opSSq:	    return(OP_SAFE_C_S_op_S_opSSqq);
                                case OP_SAFE_C_S_opSq:	    return(OP_SAFE_C_S_op_S_opSqq);
                                case OP_SAFE_C_opSSq_opSSq: return(OP_SAFE_C_S_op_opSSq_opSSqq);
                                case OP_SAFE_C_A:	    return(OP_SAFE_C_S_opAq);
                                case OP_SAFE_C_AA:	    return(OP_SAFE_C_S_opAAq);
                                case OP_SAFE_C_AAA:  	    return(OP_SAFE_C_S_opAAAq);
                            }
                            return(OP_SAFE_C_SP); /* if fxable -> AA later */

                        case E_C_PS:
                            arg = e1;
                            arg_op = op_no_hop(arg);
                            switch (arg_op)
                            {
                                case OP_SAFE_C_S:     return(OP_SAFE_C_opSq_S);
                                case OP_SAFE_C_SS:    return(OP_SAFE_C_opSSq_S);
                                case OP_SAFE_C_D:     return(OP_SAFE_C_opDq_S);
                                case OP_SAFE_C_CS:    return(OP_SAFE_C_opCSq_S);
                                case OP_SAFE_C_A:     return(OP_SAFE_C_opAq_S);
                                case OP_SAFE_C_opSSq:
                                                      set_opt1_pair(cdr(expr), cadadr(expr));
                                                      return(OP_SAFE_C_op_opSSq_q_S);
                                case OP_SAFE_C_opSSq_S:
                                                      set_opt3_pair(expr, cadadr(expr));
                                                      return(OP_SAFE_C_op_opSSq_Sq_S);
                            }
                            return(OP_SAFE_C_PS);

                        case E_C_PC:
                            arg = e1;
                            arg_op = op_no_hop(arg);
                            switch (arg_op)
                            {
                                case OP_SAFE_C_S:
                                    set_opt1_con(cdr(expr), (is_quoted_pair(cadr(e1))) ? cadadr(e1) : cadr(e1));
                                    set_opt2_con(cdr(expr), e2);
                                    return(OP_SAFE_C_opSq_C);
                                case OP_SAFE_C_CS:    return(OP_SAFE_C_opCSq_C);
                                case OP_SAFE_C_SC:    return(OP_SAFE_C_opSCq_C);
                                case OP_SAFE_C_opSq:  return(OP_SAFE_C_op_opSq_q_C);
                                case OP_SAFE_C_opSSq: return(OP_SAFE_C_op_opSSq_q_C);
                                case OP_SAFE_C_SS:    return(OP_SAFE_C_opSSq_C);
                            }
                            set_opt2_con(cdr(expr), caddr(expr));
                            return(OP_SAFE_C_PC);

                        case E_C_CP:
                            arg = e2;
                            arg_op = op_no_hop(arg);
                            switch (arg_op)
                            {
                                case OP_SAFE_C_D:
                                    set_opt1_pair(cdr(expr), cdr(arg));
                                    return(OP_SAFE_C_C_opDq);

                                case OP_SAFE_C_S:
                                    set_opt1_sym(cdr(expr), cadr(arg));
                                    return(OP_SAFE_C_C_opSq);

                                case OP_SAFE_C_CS:
                                    /* set_opt1_con(cdr(expr), cadr(arg)); */
                                    set_opt2_sym(cdr(expr), caddr(arg));
                                    return(OP_SAFE_C_C_opCSq);

                                case OP_SAFE_C_SC:
                                    set_opt1_sym(cdr(expr), cadr(arg));
                                    set_opt2_con(cdr(expr), caddr(arg));
                                    return(OP_SAFE_C_C_opSCq);

                                case OP_SAFE_C_SS:
                                    set_opt1_sym(cdr(expr), cadr(arg));
                                    if ((is_real(e1)) &&
                                            (symbol_id(car(arg)) == 0) &&
                                            (s7_d_pd_function(slot_value(global_slot(car(arg))))))
                                    {
                                        s7_p_dd_t fp;
                                        fp = s7_p_dd_function(func);
                                        if (fp)
                                        {
                                            /* direct_c_c_opssq calls number_to_real on e1 */
                                            set_opt3_direct(cddr(expr), s7_d_pd_function(slot_value(global_slot(car(arg)))));
                                            set_opt2_direct(cdr(expr), fp);
                                            set_direct_opt(expr);
                                        }
                                    }
                                    return(OP_SAFE_C_C_opSSq);
                            }
                            return(OP_SAFE_C_CP);

                        case E_C_PP:
                            arg = e2;
                            arg_op = op_no_hop(arg);
                            switch (arg_op)
                            {
                                case OP_SAFE_C_S:
                                    if (is_safe_c_s(e1))
                                    {
                                        s7_p_dd_t fp;
                                        fp = s7_p_dd_function(func);
                                        if (fp)
                                        {
                                            if ((symbol_id(car(e1)) == 0) && (s7_d_p_function(slot_value(global_slot(car(e1))))) &&
                                                    (symbol_id(car(e2)) == 0) && (s7_d_p_function(slot_value(global_slot(car(e2))))))
                                            {
                                                set_opt3_direct(cdr(expr), s7_d_p_function(slot_value(global_slot(car(e1)))));
                                                set_opt3_direct(cddr(expr), s7_d_p_function(slot_value(global_slot(car(e2)))));
                                                set_opt2_direct(cdr(expr), fp);
                                                set_direct_opt(expr);
                                            }
                                        }
                                        return(OP_SAFE_C_opSq_opSq);
                                    }
                                    if (optimize_op_match(e1, OP_SAFE_C_SS))
                                        return(OP_SAFE_C_opSSq_opSq);
                                    break;

                                case OP_SAFE_C_SS:
                                    if (optimize_op_match(e1, OP_SAFE_C_SS))
                                        return(OP_SAFE_C_opSSq_opSSq);
                                    if (is_safe_c_s(e1))
                                        return(OP_SAFE_C_opSq_opSSq);
                                    break;
                            }
                            return(OP_SAFE_C_PP);

                        default:
                            break;
                    }
                    /* fprintf(stderr, "%s[%d]: unopt %s\n", __func__, __LINE__, DISPLAY(expr)); */
                    return(OP_UNOPT);
                }

// Assembly:
subq $0x98, %rsp
movq %rdi, 0x88(%rsp)
movq %rsi, 0x80(%rsp)
movq %rdx, 0x78(%rsp)
movl %ecx, 0x74(%rsp)
movq %r8, 0x68(%rsp)
movq %r9, 0x60(%rsp)
movl 0x74(%rsp), %eax
movq %rax, 0x38(%rsp)
subq $0x5, %rax
ja 0x1821c3
movq 0x38(%rsp), %rax
leaq 0x5f26b(%rip), %rcx     # 0x1e09e4
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x68(%rsp), %rax
movzwl 0x4(%rax), %eax
andl $-0x2, %eax
movl %eax, 0x5c(%rsp)
movl 0x5c(%rsp), %eax
movl %eax, 0x34(%rsp)
subl $0x2, %eax
je 0x18184e
jmp 0x1817a5
movl 0x34(%rsp), %eax
subl $0x4, %eax
je 0x18183e
jmp 0x1817b4
movl 0x34(%rsp), %eax
subl $0x6, %eax
je 0x18185e
jmp 0x1817c3
movl 0x34(%rsp), %eax
subl $0x8, %eax
je 0x18186e
jmp 0x1817d2
movl 0x34(%rsp), %eax
subl $0xa, %eax
je 0x18187e
jmp 0x1817e1
movl 0x34(%rsp), %eax
subl $0x20, %eax
je 0x18188e
jmp 0x1817f0
movl 0x34(%rsp), %eax
subl $0x28, %eax
je 0x18189e
jmp 0x1817ff
movl 0x34(%rsp), %eax
subl $0x30, %eax
je 0x1818ae
jmp 0x18180e
movl 0x34(%rsp), %eax
subl $0x6c, %eax
je 0x1818be
jmp 0x18181d
movl 0x34(%rsp), %eax
subl $0x6e, %eax
je 0x1818ce
jmp 0x18182c
movl 0x34(%rsp), %eax
subl $0x74, %eax
je 0x1818de
jmp 0x1818ee
movl $0x20, 0x94(%rsp)
jmp 0x1821d0
movl $0x1e, 0x94(%rsp)
jmp 0x1821d0
movl $0x22, 0x94(%rsp)
jmp 0x1821d0
movl $0x24, 0x94(%rsp)
jmp 0x1821d0
movl $0x26, 0x94(%rsp)
jmp 0x1821d0
movl $0x64, 0x94(%rsp)
jmp 0x1821d0
movl $0x66, 0x94(%rsp)
jmp 0x1821d0
movl $0x68, 0x94(%rsp)
jmp 0x1821d0
movl $0x86, 0x94(%rsp)
jmp 0x1821d0
movl $0x88, 0x94(%rsp)
jmp 0x1821d0
movl $0x8a, 0x94(%rsp)
jmp 0x1821d0
movl $0x9c, 0x94(%rsp)
jmp 0x1821d0
movq 0x60(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
movzwl 0x4(%rax), %eax
andl $-0x2, %eax
movl %eax, 0x5c(%rsp)
movl 0x5c(%rsp), %eax
addl $-0x2, %eax
movl %eax, %ecx
movq %rcx, 0x28(%rsp)
subl $0x72, %eax
ja 0x181ac2
movq 0x28(%rsp), %rax
leaq 0x5f161(%rip), %rcx     # 0x1e0a9c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movl $0x28, 0x94(%rsp)
jmp 0x1821d0
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movl $0x3e, 0x94(%rsp)
jmp 0x1821d0
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x20(%rax)
movl $0x2c, 0x94(%rsp)
jmp 0x1821d0
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x20(%rax)
movl $0x2e, 0x94(%rsp)
jmp 0x1821d0
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x20(%rax)
movl $0x36, 0x94(%rsp)
jmp 0x1821d0
movl $0x54, 0x94(%rsp)
jmp 0x1821d0
movl $0x56, 0x94(%rsp)
jmp 0x1821d0
movl $0x58, 0x94(%rsp)
jmp 0x1821d0
movl $0x60, 0x94(%rsp)
jmp 0x1821d0
movl $0x8c, 0x94(%rsp)
jmp 0x1821d0
movl $0x90, 0x94(%rsp)
jmp 0x1821d0
movl $0x92, 0x94(%rsp)
jmp 0x1821d0
movl $0x154, 0x94(%rsp) # imm = 0x154
jmp 0x1821d0
movq 0x68(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
movzwl 0x4(%rax), %eax
andl $-0x2, %eax
movl %eax, 0x5c(%rsp)
movl 0x5c(%rsp), %eax
movl %eax, 0x24(%rsp)
subl $0x2, %eax
je 0x181b64
jmp 0x181afb
movl 0x24(%rsp), %eax
subl $0x4, %eax
je 0x181b44
jmp 0x181b06
movl 0x24(%rsp), %eax
subl $0x6, %eax
je 0x181b54
jmp 0x181b11
movl 0x24(%rsp), %eax
subl $0xa, %eax
je 0x181b74
jmp 0x181b1c
movl 0x24(%rsp), %eax
subl $0x22, %eax
je 0x181b94
jmp 0x181b27
movl 0x24(%rsp), %eax
subl $0x4e, %eax
je 0x181bc6
jmp 0x181b36
movl 0x24(%rsp), %eax
subl $0x6c, %eax
je 0x181b84
jmp 0x181c08
movl $0x30, 0x94(%rsp)
jmp 0x1821d0
movl $0x4e, 0x94(%rsp)
jmp 0x1821d0
movl $0x46, 0x94(%rsp)
jmp 0x1821d0
movl $0x50, 0x94(%rsp)
jmp 0x1821d0
movl $0x8e, 0x94(%rsp)
jmp 0x1821d0
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movl $0x5e, 0x94(%rsp)
jmp 0x1821d0
jmp 0x181bc8
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x78(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x78(%rsp), %rax
movq (%rax), %rcx
andq $-0x40001, %rcx         # imm = 0xFFFBFFFF
movq %rcx, (%rax)
movl $0x62, 0x94(%rsp)
jmp 0x1821d0
movl $0x15c, 0x94(%rsp) # imm = 0x15C
jmp 0x1821d0
movq 0x68(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
movzwl 0x4(%rax), %eax
andl $-0x2, %eax
movl %eax, 0x5c(%rsp)
movl 0x5c(%rsp), %eax
addl $-0x4, %eax
movl %eax, %ecx
movq %rcx, 0x18(%rsp)
subl $0x1e, %eax
ja 0x181d47
movq 0x18(%rsp), %rax
leaq 0x5edcb(%rip), %rcx     # 0x1e0a20
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x68(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0x1, %eax
jne 0x181cb1
movq 0x68(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x8(%rax), %rax
movq 0x88(%rsp), %rcx
cmpq 0x17b0(%rcx), %rax
jne 0x181cb1
movq 0x68(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
jmp 0x181cc3
movq 0x68(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movq 0x60(%rsp), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x20(%rax)
movl $0x32, 0x94(%rsp)
jmp 0x1821d0
movl $0x3c, 0x94(%rsp)
jmp 0x1821d0
movl $0x52, 0x94(%rsp)
jmp 0x1821d0
movl $0x5c, 0x94(%rsp)
jmp 0x1821d0
movl $0x5a, 0x94(%rsp)
jmp 0x1821d0
movl $0x40, 0x94(%rsp)
jmp 0x1821d0
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x20(%rax)
movl $0x15e, 0x94(%rsp) # imm = 0x15E
jmp 0x1821d0
movq 0x60(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
movzwl 0x4(%rax), %eax
andl $-0x2, %eax
movl %eax, 0x5c(%rsp)
movl 0x5c(%rsp), %eax
addl $-0x2, %eax
movl %eax, %ecx
movq %rcx, 0x8(%rsp)
subl $0x8, %eax
ja 0x181f80
movq 0x8(%rsp), %rax
leaq 0x5ec4a(%rip), %rcx     # 0x1e09fc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movl $0x44, 0x94(%rsp)
jmp 0x1821d0
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movl $0x38, 0x94(%rsp)
jmp 0x1821d0
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x20(%rax)
movl $0x3a, 0x94(%rsp)
jmp 0x1821d0
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x20(%rax)
movl $0x2a, 0x94(%rsp)
jmp 0x1821d0
movq 0x50(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movq 0x68(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x98634(%rip), %rax     # 0x21a4e0
testb $0x1, (%rax,%rcx)
je 0x181f70
movq 0x50(%rsp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x20(%rax)
jne 0x181f70
movq 0x50(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rdi
callq 0x47020
cmpq $0x0, %rax
je 0x181f70
movq 0x80(%rsp), %rdi
callq 0x101f90
movq %rax, 0x48(%rsp)
cmpq $0x0, 0x48(%rsp)
je 0x181f6e
jmp 0x181f06
movq 0x50(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rdi
callq 0x47020
movq %rax, %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x28(%rax)
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq (%rax), %rcx
andq $-0x40001, %rcx         # imm = 0xFFFBFFFF
movq %rcx, (%rax)
movq 0x48(%rsp), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x20(%rax)
movq 0x78(%rsp), %rax
movq (%rax), %rcx
orq $0x8000000, %rcx        # imm = 0x8000000
movq %rcx, (%rax)
jmp 0x181f70
movl $0x42, 0x94(%rsp)
jmp 0x1821d0
movl $0x156, 0x94(%rsp) # imm = 0x156
jmp 0x1821d0
movq 0x60(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x50(%rsp), %rax
movzwl 0x4(%rax), %eax
andl $-0x2, %eax
movl %eax, 0x5c(%rsp)
movl 0x5c(%rsp), %eax
movl %eax, 0x4(%rsp)
subl $0x4, %eax
je 0x181fcb
jmp 0x181fb9
movl 0x4(%rsp), %eax
subl $0x6, %eax
je 0x18215c
jmp 0x1821b6
movq 0x68(%rsp), %rax
movzwl 0x4(%rax), %eax
cmpl $0x4, %eax
je 0x181feb
movq 0x68(%rsp), %rax
movzwl 0x4(%rax), %eax
cmpl $0x5, %eax
jne 0x18212b
movq 0x80(%rsp), %rdi
callq 0x101f90
movq %rax, 0x40(%rsp)
cmpq $0x0, 0x40(%rsp)
je 0x18211b
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x20(%rax)
jne 0x182119
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rdi
callq 0x47070
cmpq $0x0, %rax
je 0x182119
movq 0x60(%rsp), %rax
movq 0x8(%rax), %rax
cmpq $0x0, 0x20(%rax)
jne 0x182119
movq 0x60(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rdi
callq 0x47070
cmpq $0x0, %rax
je 0x182119
jmp 0x182073
movq 0x68(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rdi
callq 0x47070
movq %rax, %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x28(%rax)
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rcx
andq $-0x40001, %rcx         # imm = 0xFFFBFFFF
movq %rcx, (%rax)
jmp 0x1820b1
movq 0x60(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rdi
callq 0x47070
movq %rax, %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x28(%rax)
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq (%rax), %rcx
andq $-0x40001, %rcx         # imm = 0xFFFBFFFF
movq %rcx, (%rax)
movq 0x40(%rsp), %rcx
movq 0x78(%rsp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x20(%rax)
movq 0x78(%rsp), %rax
movq (%rax), %rcx
orq $0x8000000, %rcx        # imm = 0x8000000
movq %rcx, (%rax)
jmp 0x18211b
movl $0x34, 0x94(%rsp)
jmp 0x1821d0
movq 0x68(%rsp), %rax
movzwl (%rax), %eax
cmpl $0x801, %eax            # imm = 0x801
jne 0x18215a
movq 0x68(%rsp), %rax
movzwl 0x4(%rax), %eax
andl $0xfffe, %eax           # imm = 0xFFFE
cmpl $0x6, %eax
jne 0x18215a
movl $0x4a, 0x94(%rsp)
jmp 0x1821d0
jmp 0x1821b6
movq 0x68(%rsp), %rax
movzwl (%rax), %eax
cmpl $0x801, %eax            # imm = 0x801
jne 0x18218b
movq 0x68(%rsp), %rax
movzwl 0x4(%rax), %eax
andl $0xfffe, %eax           # imm = 0xFFFE
cmpl $0x6, %eax
jne 0x18218b
movl $0x48, 0x94(%rsp)
jmp 0x1821d0
movq 0x68(%rsp), %rax
movzwl 0x4(%rax), %eax
cmpl $0x4, %eax
je 0x1821a7
movq 0x68(%rsp), %rax
movzwl 0x4(%rax), %eax
cmpl $0x5, %eax
jne 0x1821b4
movl $0x4c, 0x94(%rsp)
jmp 0x1821d0
jmp 0x1821b6
movl $0x150, 0x94(%rsp) # imm = 0x150
jmp 0x1821d0
jmp 0x1821c5
movl $0x0, 0x94(%rsp)
movl 0x94(%rsp), %eax
addq $0x98, %rsp
retq
nop