// File: /workspace/github_c_makefile_star2_O0/cogbee[P]vmir-latest/src/vmir_vm.c
// Function: emit_cast
static void
emit_cast(ir_unit_t *iu, ir_instr_unary_t *ii)
{
  const ir_value_t *src = value_get(iu, ii->value.value);
  const ir_value_t *ret = value_get(iu, ii->super.ii_ret.value);

  const ir_type_t *srcty = type_get(iu, ii->value.type);
  const ir_type_t *dstty = type_get(iu, ii->super.ii_ret.type);
  const int srccode = legalize_type(srcty);
  const int dstcode = legalize_type(dstty);
  const int castop = ii->op;

  vm_op_t op;
  switch(COMBINE3(dstcode, castop, srccode)) {

  case COMBINE3(IR_TYPE_INT1, CAST_TRUNC, IR_TYPE_INT8):
    op = VM_CAST_1_TRUNC_8;
    break;

  case COMBINE3(IR_TYPE_INT1, CAST_TRUNC, IR_TYPE_INT16):
    op = VM_CAST_1_TRUNC_16;
    break;

  case COMBINE3(IR_TYPE_INT8, CAST_SEXT,  IR_TYPE_INT1):
    op = VM_CAST_8_SEXT_1;
    break;

  case COMBINE3(IR_TYPE_INT8, CAST_TRUNC, IR_TYPE_INT16):
    op = VM_CAST_8_TRUNC_16;
    break;
  case COMBINE3(IR_TYPE_INT8, CAST_TRUNC, IR_TYPE_INT32):
  case COMBINE3(IR_TYPE_INT8, CAST_ZEXT,  IR_TYPE_INT1):
    op = VM_CAST_8_TRUNC_32;
    break;
  case COMBINE3(IR_TYPE_INT8, CAST_TRUNC, IR_TYPE_INT64):
    op = VM_CAST_8_TRUNC_64;
    break;

  case COMBINE3(IR_TYPE_INT16, CAST_ZEXT, IR_TYPE_INT1):
    op = VM_CAST_16_ZEXT_1;
    break;
  case COMBINE3(IR_TYPE_INT16, CAST_ZEXT, IR_TYPE_INT8):
    op = VM_CAST_16_ZEXT_8;
    break;
  case COMBINE3(IR_TYPE_INT16, CAST_SEXT, IR_TYPE_INT8):
    op = VM_CAST_16_SEXT_8;
    break;
  case COMBINE3(IR_TYPE_INT16, CAST_TRUNC, IR_TYPE_INT32):
    op = VM_CAST_16_TRUNC_32;
    break;
  case COMBINE3(IR_TYPE_INT16, CAST_TRUNC, IR_TYPE_INT64):
    op = VM_CAST_16_TRUNC_64;
    break;
  case COMBINE3(IR_TYPE_INT16, CAST_FPTOSI, IR_TYPE_FLOAT):
    op = VM_CAST_16_FPTOSI_FLT;
    break;
  case COMBINE3(IR_TYPE_INT16, CAST_FPTOUI, IR_TYPE_FLOAT):
    op = VM_CAST_16_FPTOUI_FLT;
    break;
  case COMBINE3(IR_TYPE_INT16, CAST_FPTOSI, IR_TYPE_DOUBLE):
    op = VM_CAST_16_FPTOSI_DBL;
    break;
  case COMBINE3(IR_TYPE_INT16, CAST_FPTOUI, IR_TYPE_DOUBLE):
    op = VM_CAST_16_FPTOUI_DBL;
    break;


  case COMBINE3(IR_TYPE_INT32, CAST_TRUNC, IR_TYPE_INT64):
    op = VM_CAST_32_TRUNC_64;
    break;
  case COMBINE3(IR_TYPE_INT32, CAST_SEXT, IR_TYPE_INT1):
    op = VM_CAST_32_SEXT_1;
    break;

  case COMBINE3(IR_TYPE_INT32, CAST_ZEXT, IR_TYPE_INT8):
    op = VM_CAST_32_ZEXT_8;
    break;
  case COMBINE3(IR_TYPE_INT32, CAST_SEXT, IR_TYPE_INT8):
    op = VM_CAST_32_SEXT_8;
    break;
  case COMBINE3(IR_TYPE_INT32, CAST_ZEXT, IR_TYPE_INT16):
    op = VM_CAST_32_ZEXT_16;
    break;
  case COMBINE3(IR_TYPE_INT32, CAST_SEXT, IR_TYPE_INT16):
    op = VM_CAST_32_SEXT_16;
    break;
  case COMBINE3(IR_TYPE_INT32, CAST_FPTOSI, IR_TYPE_FLOAT):
    op = VM_CAST_32_FPTOSI_FLT;
    break;
  case COMBINE3(IR_TYPE_INT32, CAST_FPTOUI, IR_TYPE_FLOAT):
    op = VM_CAST_32_FPTOUI_FLT;
    break;
  case COMBINE3(IR_TYPE_INT32, CAST_FPTOSI, IR_TYPE_DOUBLE):
    op = VM_CAST_32_FPTOSI_DBL;
    break;
  case COMBINE3(IR_TYPE_INT32, CAST_FPTOUI, IR_TYPE_DOUBLE):
    op = VM_CAST_32_FPTOUI_DBL;
    break;



  case COMBINE3(IR_TYPE_INT64, CAST_ZEXT, IR_TYPE_INT1):
    op = VM_CAST_64_ZEXT_1;
    break;
  case COMBINE3(IR_TYPE_INT64, CAST_SEXT, IR_TYPE_INT1):
    op = VM_CAST_64_SEXT_1;
    break;
  case COMBINE3(IR_TYPE_INT64, CAST_ZEXT, IR_TYPE_INT8):
    op = VM_CAST_64_ZEXT_8;
    break;
  case COMBINE3(IR_TYPE_INT64, CAST_SEXT, IR_TYPE_INT8):
    op = VM_CAST_64_SEXT_8;
    break;
  case COMBINE3(IR_TYPE_INT64, CAST_ZEXT, IR_TYPE_INT16):
    op = VM_CAST_64_ZEXT_16;
    break;
  case COMBINE3(IR_TYPE_INT64, CAST_SEXT, IR_TYPE_INT16):
    op = VM_CAST_64_SEXT_16;
    break;
  case COMBINE3(IR_TYPE_INT64, CAST_ZEXT, IR_TYPE_INT32):
    op = VM_CAST_64_ZEXT_32;
    break;
  case COMBINE3(IR_TYPE_INT64, CAST_SEXT, IR_TYPE_INT32):
    op = VM_CAST_64_SEXT_32;
    break;
  case COMBINE3(IR_TYPE_INT64, CAST_FPTOSI, IR_TYPE_FLOAT):
    op = VM_CAST_64_FPTOSI_FLT;
    break;
  case COMBINE3(IR_TYPE_INT64, CAST_FPTOUI, IR_TYPE_FLOAT):
    op = VM_CAST_64_FPTOUI_FLT;
    break;
  case COMBINE3(IR_TYPE_INT64, CAST_FPTOSI, IR_TYPE_DOUBLE):
    op = VM_CAST_64_FPTOSI_DBL;
    break;
  case COMBINE3(IR_TYPE_INT64, CAST_FPTOUI, IR_TYPE_DOUBLE):
    op = VM_CAST_64_FPTOUI_DBL;
    break;


  case COMBINE3(IR_TYPE_FLOAT, CAST_FPTRUNC, IR_TYPE_DOUBLE):
    op = VM_CAST_FLT_FPTRUNC_DBL;
    break;
  case COMBINE3(IR_TYPE_FLOAT, CAST_SITOFP, IR_TYPE_INT8):
    op = VM_CAST_FLT_SITOFP_8;
    break;
  case COMBINE3(IR_TYPE_FLOAT, CAST_UITOFP, IR_TYPE_INT8):
    op = VM_CAST_FLT_UITOFP_8;
    break;
  case COMBINE3(IR_TYPE_FLOAT, CAST_SITOFP, IR_TYPE_INT16):
    op = VM_CAST_FLT_SITOFP_16;
    break;
  case COMBINE3(IR_TYPE_FLOAT, CAST_UITOFP, IR_TYPE_INT16):
    op = VM_CAST_FLT_UITOFP_16;
    break;
  case COMBINE3(IR_TYPE_FLOAT, CAST_SITOFP, IR_TYPE_INT32):
    op = VM_CAST_FLT_SITOFP_32;
    break;
  case COMBINE3(IR_TYPE_FLOAT, CAST_UITOFP, IR_TYPE_INT32):
    op = VM_CAST_FLT_UITOFP_32;
    break;
  case COMBINE3(IR_TYPE_FLOAT, CAST_SITOFP, IR_TYPE_INT64):
    op = VM_CAST_FLT_SITOFP_64;
    break;
  case COMBINE3(IR_TYPE_FLOAT, CAST_UITOFP, IR_TYPE_INT64):
    op = VM_CAST_FLT_UITOFP_64;
    break;

  case COMBINE3(IR_TYPE_DOUBLE, CAST_SITOFP, IR_TYPE_INT8):
    op = VM_CAST_DBL_SITOFP_8;
    break;
  case COMBINE3(IR_TYPE_DOUBLE, CAST_UITOFP, IR_TYPE_INT8):
    op = VM_CAST_DBL_UITOFP_8;
    break;
  case COMBINE3(IR_TYPE_DOUBLE, CAST_SITOFP, IR_TYPE_INT16):
    op = VM_CAST_DBL_SITOFP_16;
    break;
  case COMBINE3(IR_TYPE_DOUBLE, CAST_UITOFP, IR_TYPE_INT16):
    op = VM_CAST_DBL_UITOFP_16;
    break;
  case COMBINE3(IR_TYPE_DOUBLE, CAST_SITOFP, IR_TYPE_INT32):
    op = VM_CAST_DBL_SITOFP_32;
    break;
  case COMBINE3(IR_TYPE_DOUBLE, CAST_UITOFP, IR_TYPE_INT32):
    op = VM_CAST_DBL_UITOFP_32;
    break;
  case COMBINE3(IR_TYPE_DOUBLE, CAST_SITOFP, IR_TYPE_INT64):
    op = VM_CAST_DBL_SITOFP_64;
    break;
  case COMBINE3(IR_TYPE_DOUBLE, CAST_UITOFP, IR_TYPE_INT64):
    op = VM_CAST_DBL_UITOFP_64;
    break;
  case COMBINE3(IR_TYPE_DOUBLE, CAST_FPEXT, IR_TYPE_FLOAT):
    op = VM_CAST_DBL_FPEXT_FLT;
    break;


  case COMBINE3(IR_TYPE_INT32, CAST_ZEXT, IR_TYPE_INT1):
  case COMBINE3(IR_TYPE_INT32, CAST_BITCAST, IR_TYPE_FLOAT):
  case COMBINE3(IR_TYPE_FLOAT, CAST_BITCAST, IR_TYPE_INT32):
    emit_op2(iu, VM_MOV32, value_reg(ret), value_reg(src));
    return;

  case COMBINE3(IR_TYPE_DOUBLE, CAST_BITCAST, IR_TYPE_INT64):
  case COMBINE3(IR_TYPE_INT64,  CAST_BITCAST, IR_TYPE_DOUBLE):
    emit_op2(iu, VM_MOV64, value_reg(ret), value_reg(src));
    return;

  case COMBINE3(IR_TYPE_INT64, CAST_PTRTOINT, IR_TYPE_POINTER):
    op = VM_CAST_64_ZEXT_32;
    return;

  default:
    parser_error(iu, "Unable to convert to %s from %s using castop %d",
                 type_str(iu, dstty),
                 type_str(iu, srcty),
                 castop);
  }
  emit_op2(iu, op, value_reg(ret), value_reg(src));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x90, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x58(%rax), %esi
callq 0x20ee0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x2c(%rax), %esi
callq 0x20ee0
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x5c(%rax), %esi
callq 0x1ee20
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movl 0x30(%rax), %esi
callq 0x1ee20
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rdi
callq 0x45d0
movl %eax, -0x34(%rbp)
movq -0x30(%rbp), %rdi
callq 0x45d0
movl %eax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movl 0x60(%rax), %eax
movl %eax, -0x3c(%rbp)
movl -0x38(%rbp), %eax
shll $0x10, %eax
movl -0x3c(%rbp), %ecx
shll $0x8, %ecx
orl %ecx, %eax
movl -0x34(%rbp), %ecx
orl %ecx, %eax
movl %eax, -0x44(%rbp)
subl $0x20003, %eax          # imm = 0x20003
je 0x2f72b
jmp 0x2f358
movl -0x44(%rbp), %eax
subl $0x20004, %eax          # imm = 0x20004
je 0x2f737
jmp 0x2f368
movl -0x44(%rbp), %eax
subl $0x30004, %eax          # imm = 0x30004
je 0x2f74f
jmp 0x2f378
movl -0x44(%rbp), %eax
subl $0x30005, %eax          # imm = 0x30005
je 0x2f75b
jmp 0x2f388
movl -0x44(%rbp), %eax
subl $0x30006, %eax          # imm = 0x30006
je 0x2f767
jmp 0x2f398
movl -0x44(%rbp), %eax
subl $0x30102, %eax          # imm = 0x30102
je 0x2f75b
jmp 0x2f3a8
movl -0x44(%rbp), %eax
subl $0x30202, %eax          # imm = 0x30202
je 0x2f743
jmp 0x2f3b8
movl -0x44(%rbp), %eax
subl $0x40005, %eax          # imm = 0x40005
je 0x2f797
jmp 0x2f3c8
movl -0x44(%rbp), %eax
subl $0x40006, %eax          # imm = 0x40006
je 0x2f7a3
jmp 0x2f3d8
movl -0x44(%rbp), %eax
subl $0x40102, %eax          # imm = 0x40102
je 0x2f773
jmp 0x2f3e8
movl -0x44(%rbp), %eax
subl $0x40103, %eax          # imm = 0x40103
je 0x2f77f
jmp 0x2f3f8
movl -0x44(%rbp), %eax
subl $0x40203, %eax          # imm = 0x40203
je 0x2f78b
jmp 0x2f408
movl -0x44(%rbp), %eax
subl $0x40308, %eax          # imm = 0x40308
je 0x2f7bb
jmp 0x2f418
movl -0x44(%rbp), %eax
subl $0x40309, %eax          # imm = 0x40309
je 0x2f7d3
jmp 0x2f428
movl -0x44(%rbp), %eax
subl $0x40408, %eax          # imm = 0x40408
je 0x2f7af
jmp 0x2f438
movl -0x44(%rbp), %eax
subl $0x40409, %eax          # imm = 0x40409
je 0x2f7c7
jmp 0x2f448
movl -0x44(%rbp), %eax
subl $0x50006, %eax          # imm = 0x50006
je 0x2f7df
jmp 0x2f458
movl -0x44(%rbp), %eax
subl $0x50102, %eax          # imm = 0x50102
je 0x2f9bf
jmp 0x2f468
movl -0x44(%rbp), %eax
subl $0x50103, %eax          # imm = 0x50103
je 0x2f7f7
jmp 0x2f478
movl -0x44(%rbp), %eax
subl $0x50104, %eax          # imm = 0x50104
je 0x2f80f
jmp 0x2f488
movl -0x44(%rbp), %eax
subl $0x50202, %eax          # imm = 0x50202
je 0x2f7eb
jmp 0x2f498
movl -0x44(%rbp), %eax
subl $0x50203, %eax          # imm = 0x50203
je 0x2f803
jmp 0x2f4a8
movl -0x44(%rbp), %eax
subl $0x50204, %eax          # imm = 0x50204
je 0x2f81b
jmp 0x2f4b8
movl -0x44(%rbp), %eax
subl $0x50308, %eax          # imm = 0x50308
je 0x2f833
jmp 0x2f4c8
movl -0x44(%rbp), %eax
subl $0x50309, %eax          # imm = 0x50309
je 0x2f84b
jmp 0x2f4d8
movl -0x44(%rbp), %eax
subl $0x50408, %eax          # imm = 0x50408
je 0x2f827
jmp 0x2f4e8
movl -0x44(%rbp), %eax
subl $0x50409, %eax          # imm = 0x50409
je 0x2f83f
jmp 0x2f4f8
movl -0x44(%rbp), %eax
subl $0x50b08, %eax          # imm = 0x50B08
je 0x2f9bf
jmp 0x2f508
movl -0x44(%rbp), %eax
subl $0x60102, %eax          # imm = 0x60102
je 0x2f857
jmp 0x2f518
movl -0x44(%rbp), %eax
subl $0x60103, %eax          # imm = 0x60103
je 0x2f86f
jmp 0x2f528
movl -0x44(%rbp), %eax
subl $0x60104, %eax          # imm = 0x60104
je 0x2f887
jmp 0x2f538
movl -0x44(%rbp), %eax
subl $0x60105, %eax          # imm = 0x60105
je 0x2f89f
jmp 0x2f548
movl -0x44(%rbp), %eax
subl $0x60202, %eax          # imm = 0x60202
je 0x2f863
jmp 0x2f558
movl -0x44(%rbp), %eax
subl $0x60203, %eax          # imm = 0x60203
je 0x2f87b
jmp 0x2f568
movl -0x44(%rbp), %eax
subl $0x60204, %eax          # imm = 0x60204
je 0x2f893
jmp 0x2f578
movl -0x44(%rbp), %eax
subl $0x60205, %eax          # imm = 0x60205
je 0x2f8ab
jmp 0x2f588
movl -0x44(%rbp), %eax
subl $0x60308, %eax          # imm = 0x60308
je 0x2f8c3
jmp 0x2f598
movl -0x44(%rbp), %eax
subl $0x60309, %eax          # imm = 0x60309
je 0x2f8db
jmp 0x2f5a8
movl -0x44(%rbp), %eax
subl $0x60408, %eax          # imm = 0x60408
je 0x2f8b7
jmp 0x2f5b8
movl -0x44(%rbp), %eax
subl $0x60409, %eax          # imm = 0x60409
je 0x2f8cf
jmp 0x2f5c8
movl -0x44(%rbp), %eax
subl $0x6090b, %eax          # imm = 0x6090B
je 0x2fa35
jmp 0x2f5d8
movl -0x44(%rbp), %eax
subl $0x60b09, %eax          # imm = 0x60B09
je 0x2f9fa
jmp 0x2f5e8
movl -0x44(%rbp), %eax
subl $0x80503, %eax          # imm = 0x80503
je 0x2f8ff
jmp 0x2f5f8
movl -0x44(%rbp), %eax
subl $0x80504, %eax          # imm = 0x80504
je 0x2f917
jmp 0x2f608
movl -0x44(%rbp), %eax
subl $0x80505, %eax          # imm = 0x80505
je 0x2f92f
jmp 0x2f618
movl -0x44(%rbp), %eax
subl $0x80506, %eax          # imm = 0x80506
je 0x2f947
jmp 0x2f628
movl -0x44(%rbp), %eax
subl $0x80603, %eax          # imm = 0x80603
je 0x2f8f3
jmp 0x2f638
movl -0x44(%rbp), %eax
subl $0x80604, %eax          # imm = 0x80604
je 0x2f90b
jmp 0x2f648
movl -0x44(%rbp), %eax
subl $0x80605, %eax          # imm = 0x80605
je 0x2f923
jmp 0x2f658
movl -0x44(%rbp), %eax
subl $0x80606, %eax          # imm = 0x80606
je 0x2f93b
jmp 0x2f668
movl -0x44(%rbp), %eax
subl $0x80709, %eax          # imm = 0x80709
je 0x2f8e7
jmp 0x2f678
movl -0x44(%rbp), %eax
subl $0x80b05, %eax          # imm = 0x80B05
je 0x2f9bf
jmp 0x2f688
movl -0x44(%rbp), %eax
subl $0x90503, %eax          # imm = 0x90503
je 0x2f95f
jmp 0x2f698
movl -0x44(%rbp), %eax
subl $0x90504, %eax          # imm = 0x90504
je 0x2f977
jmp 0x2f6a8
movl -0x44(%rbp), %eax
subl $0x90505, %eax          # imm = 0x90505
je 0x2f98f
jmp 0x2f6b8
movl -0x44(%rbp), %eax
subl $0x90506, %eax          # imm = 0x90506
je 0x2f9a7
jmp 0x2f6c8
movl -0x44(%rbp), %eax
subl $0x90603, %eax          # imm = 0x90603
je 0x2f953
jmp 0x2f6d8
movl -0x44(%rbp), %eax
subl $0x90604, %eax          # imm = 0x90604
je 0x2f96b
jmp 0x2f6e8
movl -0x44(%rbp), %eax
subl $0x90605, %eax          # imm = 0x90605
je 0x2f983
jmp 0x2f6f8
movl -0x44(%rbp), %eax
subl $0x90606, %eax          # imm = 0x90606
je 0x2f99b
jmp 0x2f708
movl -0x44(%rbp), %eax
subl $0x90808, %eax          # imm = 0x90808
je 0x2f9b3
jmp 0x2f718
movl -0x44(%rbp), %eax
subl $0x90b06, %eax          # imm = 0x90B06
je 0x2f9fa
jmp 0x2fa41
movl $0x185, -0x40(%rbp)     # imm = 0x185
jmp 0x2fa92
movl $0x186, -0x40(%rbp)     # imm = 0x186
jmp 0x2fa92
movl $0x188, -0x40(%rbp)     # imm = 0x188
jmp 0x2fa92
movl $0x189, -0x40(%rbp)     # imm = 0x189
jmp 0x2fa92
movl $0x18a, -0x40(%rbp)     # imm = 0x18A
jmp 0x2fa92
movl $0x18b, -0x40(%rbp)     # imm = 0x18B
jmp 0x2fa92
movl $0x18c, -0x40(%rbp)     # imm = 0x18C
jmp 0x2fa92
movl $0x18d, -0x40(%rbp)     # imm = 0x18D
jmp 0x2fa92
movl $0x18e, -0x40(%rbp)     # imm = 0x18E
jmp 0x2fa92
movl $0x18f, -0x40(%rbp)     # imm = 0x18F
jmp 0x2fa92
movl $0x190, -0x40(%rbp)     # imm = 0x190
jmp 0x2fa92
movl $0x191, -0x40(%rbp)     # imm = 0x191
jmp 0x2fa92
movl $0x192, -0x40(%rbp)     # imm = 0x192
jmp 0x2fa92
movl $0x193, -0x40(%rbp)     # imm = 0x193
jmp 0x2fa92
movl $0x194, -0x40(%rbp)     # imm = 0x194
jmp 0x2fa92
movl $0x195, -0x40(%rbp)     # imm = 0x195
jmp 0x2fa92
movl $0x196, -0x40(%rbp)     # imm = 0x196
jmp 0x2fa92
movl $0x197, -0x40(%rbp)     # imm = 0x197
jmp 0x2fa92
movl $0x198, -0x40(%rbp)     # imm = 0x198
jmp 0x2fa92
movl $0x199, -0x40(%rbp)     # imm = 0x199
jmp 0x2fa92
movl $0x19a, -0x40(%rbp)     # imm = 0x19A
jmp 0x2fa92
movl $0x19b, -0x40(%rbp)     # imm = 0x19B
jmp 0x2fa92
movl $0x19c, -0x40(%rbp)     # imm = 0x19C
jmp 0x2fa92
movl $0x19d, -0x40(%rbp)     # imm = 0x19D
jmp 0x2fa92
movl $0x19e, -0x40(%rbp)     # imm = 0x19E
jmp 0x2fa92
movl $0x19f, -0x40(%rbp)     # imm = 0x19F
jmp 0x2fa92
movl $0x1a0, -0x40(%rbp)     # imm = 0x1A0
jmp 0x2fa92
movl $0x1a1, -0x40(%rbp)     # imm = 0x1A1
jmp 0x2fa92
movl $0x1a2, -0x40(%rbp)     # imm = 0x1A2
jmp 0x2fa92
movl $0x1a3, -0x40(%rbp)     # imm = 0x1A3
jmp 0x2fa92
movl $0x1a4, -0x40(%rbp)     # imm = 0x1A4
jmp 0x2fa92
movl $0x1a5, -0x40(%rbp)     # imm = 0x1A5
jmp 0x2fa92
movl $0x1a6, -0x40(%rbp)     # imm = 0x1A6
jmp 0x2fa92
movl $0x1a7, -0x40(%rbp)     # imm = 0x1A7
jmp 0x2fa92
movl $0x1a8, -0x40(%rbp)     # imm = 0x1A8
jmp 0x2fa92
movl $0x1a9, -0x40(%rbp)     # imm = 0x1A9
jmp 0x2fa92
movl $0x1aa, -0x40(%rbp)     # imm = 0x1AA
jmp 0x2fa92
movl $0x1ab, -0x40(%rbp)     # imm = 0x1AB
jmp 0x2fa92
movl $0x1ac, -0x40(%rbp)     # imm = 0x1AC
jmp 0x2fa92
movl $0x1ad, -0x40(%rbp)     # imm = 0x1AD
jmp 0x2fa92
movl $0x1ae, -0x40(%rbp)     # imm = 0x1AE
jmp 0x2fa92
movl $0x1af, -0x40(%rbp)     # imm = 0x1AF
jmp 0x2fa92
movl $0x1b0, -0x40(%rbp)     # imm = 0x1B0
jmp 0x2fa92
movl $0x1b1, -0x40(%rbp)     # imm = 0x1B1
jmp 0x2fa92
movl $0x1b2, -0x40(%rbp)     # imm = 0x1B2
jmp 0x2fa92
movl $0x1b3, -0x40(%rbp)     # imm = 0x1B3
jmp 0x2fa92
movl $0x1b5, -0x40(%rbp)     # imm = 0x1B5
jmp 0x2fa92
movl $0x1b6, -0x40(%rbp)     # imm = 0x1B6
jmp 0x2fa92
movl $0x1b7, -0x40(%rbp)     # imm = 0x1B7
jmp 0x2fa92
movl $0x1b8, -0x40(%rbp)     # imm = 0x1B8
jmp 0x2fa92
movl $0x1b9, -0x40(%rbp)     # imm = 0x1B9
jmp 0x2fa92
movl $0x1ba, -0x40(%rbp)     # imm = 0x1BA
jmp 0x2fa92
movl $0x1bb, -0x40(%rbp)     # imm = 0x1BB
jmp 0x2fa92
movl $0x1bc, -0x40(%rbp)     # imm = 0x1BC
jmp 0x2fa92
movl $0x1b4, -0x40(%rbp)     # imm = 0x1B4
jmp 0x2fa92
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x20(%rbp), %rdi
callq 0x321a0
movw %ax, -0x46(%rbp)
movq -0x18(%rbp), %rdi
callq 0x321a0
movq -0x50(%rbp), %rdi
movw -0x46(%rbp), %cx
movl $0x17b, %esi            # imm = 0x17B
movzwl %cx, %edx
movzwl %ax, %ecx
callq 0x324a0
jmp 0x2facc
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x20(%rbp), %rdi
callq 0x321a0
movw %ax, -0x52(%rbp)
movq -0x18(%rbp), %rdi
callq 0x321a0
movq -0x60(%rbp), %rdi
movw -0x52(%rbp), %cx
movl $0x17c, %esi            # imm = 0x17C
movzwl %cx, %edx
movzwl %ax, %ecx
callq 0x324a0
jmp 0x2facc
movl $0x1a5, -0x40(%rbp)     # imm = 0x1A5
jmp 0x2facc
movq -0x8(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x8(%rbp), %rdi
movq -0x30(%rbp), %rsi
callq 0x4760
movq %rax, -0x68(%rbp)
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rsi
callq 0x4760
movq -0x70(%rbp), %rdi
movq -0x68(%rbp), %r8
movq %rax, %r9
movl -0x3c(%rbp), %eax
leaq 0x104a3(%rip), %rsi     # 0x3ff1f
movl $0x1061, %edx           # imm = 0x1061
leaq 0x10999(%rip), %rcx     # 0x40421
movl %eax, (%rsp)
movb $0x0, %al
callq 0x18220
movq -0x8(%rbp), %rax
movq %rax, -0x80(%rbp)
movl -0x40(%rbp), %eax
movl %eax, -0x78(%rbp)
movq -0x20(%rbp), %rdi
callq 0x321a0
movw %ax, -0x72(%rbp)
movq -0x18(%rbp), %rdi
callq 0x321a0
movq -0x80(%rbp), %rdi
movl -0x78(%rbp), %esi
movw -0x72(%rbp), %cx
movzwl %cx, %edx
movzwl %ax, %ecx
callq 0x324a0
addq $0x90, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)