// File: /workspace/github_c_makefile_star2_O1/mbitsnbites[P]SoftFP/./softfptest_template.h
// Function: test_cvt_int_sf64
void test_cvt_int_sf(F_UINT a, RoundingModeEnum rm, int it)
{
    int32_t i32, i32_ref;
    int64_t i64, i64_ref;
    float_status st;
    uint32_t fflags;
    F_UINT a_ref;

    /* to int32 */
    fflags = 0;
    i32 = glue(glue(cvt_sf, F_SIZE), _i32)(a, rm, &fflags);

    softfloat_init_ctx(&st, rm);
    i32_ref = glue(glue(float, F_SIZE), _to_int32)(sf_to_softfloat(a), &st);
    if (i32 != i32_ref || softfloat_to_fflags(&st) != fflags) {
        printf("ERROR op=cvt_sf_i32 size=%d rm=%s it=%d:\n",
               F_SIZE, rm_to_str[rm], it);
        printf("a  = "); print_sf(a); printf("\n");
        printf("ref= %d", i32_ref);
        printf(" fflags=0x%02x\n", softfloat_to_fflags(&st));
        printf("r  = %d", i32); 
        printf(" fflags=0x%02x\n", fflags);
        exit(1);
    }

#if F_SIZE <= 64
    /* XXX: softfloat_to_uint32() not available */
    /* to uint32 */
    fflags = 0;
    i32 = glue(glue(cvt_sf, F_SIZE), _u32)(a, rm, &fflags);

    softfloat_init_ctx(&st, rm);
    i32_ref = glue(glue(float, F_SIZE), _to_uint32)(sf_to_softfloat(a), &st);
    if (i32 != i32_ref || softfloat_to_fflags(&st) != fflags) {
        printf("ERROR op=cvt_sf_u32 size=%d rm=%s it=%d:\n",
               F_SIZE, rm_to_str[rm], it);
        printf("a  = "); print_sf(a); printf("\n");
        printf("ref= %u", i32_ref);
        printf(" fflags=0x%02x\n", softfloat_to_fflags(&st));
        printf("r  = %u", i32); 
        printf(" fflags=0x%02x\n", fflags);
        exit(1);
    }
#endif

    /* to int64 */
    fflags = 0;
    i64 = glue(glue(cvt_sf, F_SIZE), _i64)(a, rm, &fflags);

    softfloat_init_ctx(&st, rm);
    i64_ref = glue(glue(float, F_SIZE), _to_int64)(sf_to_softfloat(a), &st);
    if (i64 != i64_ref || softfloat_to_fflags(&st) != fflags) {
        printf("ERROR op=cvt_sf_i64 size=%d rm=%s it=%d:\n",
               F_SIZE, rm_to_str[rm], it);
        printf("a  = "); print_sf(a); printf("\n");
        printf("ref= %" PRId64 , i64_ref);
        printf(" fflags=0x%02x\n", softfloat_to_fflags(&st));
        printf("r  = %" PRId64, i64); 
        printf(" fflags=0x%02x\n", fflags);
        exit(1);
    }

#if F_SIZE <= 64
    /* XXX: softfloat_to_uint64() not available */
    /* to uint64 */
    fflags = 0;
    i64 = glue(glue(cvt_sf, F_SIZE), _u64)(a, rm, &fflags);

    softfloat_init_ctx(&st, rm);
    i64_ref = glue(glue(float, F_SIZE), _to_uint64)(sf_to_softfloat(a), &st);
    if (i64 != i64_ref || softfloat_to_fflags(&st) != fflags) {
        printf("ERROR op=cvt_sf_u64 size=%d rm=%s it=%d:\n",
               F_SIZE, rm_to_str[rm], it);
        printf("a  = "); print_sf(a); printf("\n");
        printf("ref= %" PRIu64 , i64_ref);
        printf(" fflags=0x%02x\n", softfloat_to_fflags(&st));
        printf("r  = %" PRIu64, i64); 
        printf(" fflags=0x%02x\n", fflags);
        exit(1);
    }
#endif

    /* from int32 */
    i32 = rrandom_u32(32);

    fflags = 0;
    a = glue(cvt_i32_sf, F_SIZE)(i32, rm, &fflags);
    
    softfloat_init_ctx(&st, rm);
    a_ref = softfloat_to_sf(glue(int32_to_float, F_SIZE)(i32, &st));
    if (a != a_ref || softfloat_to_fflags(&st) != fflags) {
        printf("ERROR op=cvt_i32_sf size=%d rm=%s it=%d\n",
               F_SIZE, rm_to_str[rm], it);
        printf("a  = %d", i32); printf("\n");
        printf("ref= "); print_sf(a_ref);
        printf(" fflags=0x%02x\n", softfloat_to_fflags(&st));
        printf("r  = "); print_sf(a);
        printf(" fflags=0x%02x\n", fflags);
        exit(1);
    }

#if F_SIZE <= 64
    /* from uint32 */
    fflags = 0;
    a = glue(cvt_u32_sf, F_SIZE)(i32, rm, &fflags);
    
    softfloat_init_ctx(&st, rm);
    a_ref = softfloat_to_sf(glue(uint32_to_float, F_SIZE)(i32, &st));
    if (a != a_ref || softfloat_to_fflags(&st) != fflags) {
        printf("ERROR op=cvt_u32_sf size=%d rm=%s it=%d\n",
               F_SIZE, rm_to_str[rm], it);
        printf("a  = %ud", i32); printf("\n");
        printf("ref= "); print_sf(a_ref);
        printf(" fflags=0x%02x\n", softfloat_to_fflags(&st));
        printf("r  = "); print_sf(a);
        printf(" fflags=0x%02x\n", fflags);
        exit(1);
    }
#endif

    /* from int64 */
    i64 = rrandom_u64(64);

    fflags = 0;
    a = glue(cvt_i64_sf, F_SIZE)(i64, rm, &fflags);
    
    softfloat_init_ctx(&st, rm);
    a_ref = softfloat_to_sf(glue(int64_to_float, F_SIZE)(i64, &st));
    if (a != a_ref || softfloat_to_fflags(&st) != fflags) {
        printf("ERROR op=cvt_i64_sf size=%d rm=%s it=%d\n",
               F_SIZE, rm_to_str[rm], it);
        printf("a  = %" PRId64, i64); printf("\n");
        printf("ref= "); print_sf(a_ref);
        printf(" fflags=0x%02x\n", softfloat_to_fflags(&st));
        printf("r  = "); print_sf(a);
        printf(" fflags=0x%02x\n", fflags);
        exit(1);
    }

#if F_SIZE <= 64
    /* from uint64 */
    fflags = 0;
    a = glue(cvt_u64_sf, F_SIZE)(i64, rm, &fflags);
    
    softfloat_init_ctx(&st, rm);
    a_ref = softfloat_to_sf(glue(uint64_to_float, F_SIZE)(i64, &st));
    if (a != a_ref || softfloat_to_fflags(&st) != fflags) {
        printf("ERROR op=cvt_u64_sf size=%d rm=%s it=%d\n",
               F_SIZE, rm_to_str[rm], it);
        printf("a  = %" PRIu64, i64); printf("\n");
        printf("ref= "); print_sf(a_ref);
        printf(" fflags=0x%02x\n", softfloat_to_fflags(&st));
        printf("r  = "); print_sf(a);
        printf(" fflags=0x%02x\n", fflags);
        exit(1);
    }
#endif

#ifdef HAVE_INT128
    {
    int128_t i128, i128_ref;
    /* to/from int128 */
    /* XXX: no reference */
    fflags = 0;
    i128_ref = rrandom_u128(128) & (((uint128_t)1 << (MANT_SIZE + 1)) - 1);
    if (random() & 1)
        i128_ref = -i128_ref;
    a = glue(cvt_i128_sf, F_SIZE)(i128_ref, rm, &fflags);
    fflags = 0;
    i128 = glue(glue(cvt_sf, F_SIZE), _i128)(a, rm, &fflags);

    if (i128 != i128_ref) {
        printf("ERROR op=cvt_sf_i128 size=%d rm=%s it=%d:\n",
               F_SIZE, rm_to_str[rm], it);
        printf("a  = "); print_sf(a); printf("\n");
        printf("ref= "); print_u128(i128_ref); printf("\n");
        printf(" fflags=0x%02x\n", softfloat_to_fflags(&st));
        printf("r  = "); print_u128(i128); printf("\n");
        printf(" fflags=0x%02x\n", fflags);
        exit(1);
    }
    }
#endif
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %edx, %r13d
movl %esi, %ebp
movq %rdi, %r14
xorl %ebx, %ebx
leaq 0xc(%rsp), %rdx
movl %ebx, (%rdx)
callq 0x728d
movl %eax, %r15d
leaq 0x10(%rsp), %rsi
movl %ebx, (%rsi)
movl %ebx, 0x3(%rsi)
movl %ebp, %ecx
leaq 0x134e3(%rip), %rax     # 0x160d0
movq %rcx, 0x18(%rsp)
movb (%rax,%rcx,4), %bl
movb %bl, 0x1(%rsi)
movb $0x1, 0x6(%rsi)
movq %r14, %rdi
callq 0xcded
movl %eax, %r12d
cmpl %eax, %r15d
jne 0x304f
movb 0x12(%rsp), %al
movl %eax, %ecx
shlb $0x4, %cl
andb $0x10, %cl
leal (%rax,%rax), %edx
andb $0x8, %dl
orb %cl, %dl
movl %eax, %ecx
shrb %cl
andb $0x4, %cl
orb %dl, %cl
movl %eax, %edx
shrb $0x3, %dl
andb $0x2, %dl
orb %cl, %dl
shrb $0x5, %al
andb $0x1, %al
orb %dl, %al
movzbl %al, %eax
cmpl %eax, 0xc(%rsp)
jne 0x304f
xorl %r12d, %r12d
leaq 0xc(%rsp), %rdx
movl %r12d, (%rdx)
movq %r14, %rdi
movl %ebp, %esi
callq 0x73a3
movl %eax, %r15d
leaq 0x10(%rsp), %rsi
movl %r12d, (%rsi)
movl %r12d, 0x3(%rsi)
movb %bl, 0x1(%rsi)
movb $0x1, 0x6(%rsi)
movq %r14, %rdi
callq 0x142b9
movl %eax, %r12d
cmpl %eax, %r15d
jne 0x30cc
movb 0x12(%rsp), %al
movl %eax, %ecx
shlb $0x4, %cl
andb $0x10, %cl
leal (%rax,%rax), %edx
andb $0x8, %dl
orb %cl, %dl
movl %eax, %ecx
shrb %cl
andb $0x4, %cl
orb %dl, %cl
movl %eax, %edx
shrb $0x3, %dl
andb $0x2, %dl
orb %cl, %dl
shrb $0x5, %al
andb $0x1, %al
orb %dl, %al
movzbl %al, %eax
cmpl %eax, 0xc(%rsp)
jne 0x30cc
xorl %r12d, %r12d
leaq 0xc(%rsp), %rdx
movl %r12d, (%rdx)
movq %r14, %rdi
movl %ebp, %esi
callq 0x73d9
movq %rax, %r15
leaq 0x10(%rsp), %rsi
movl %r12d, (%rsi)
movl %r12d, 0x3(%rsi)
movb %bl, 0x1(%rsi)
movb $0x1, 0x6(%rsi)
movq %r14, %rdi
callq 0xd01d
movq %rax, %r12
cmpq %rax, %r15
jne 0x3156
movb 0x12(%rsp), %al
movl %eax, %ecx
shlb $0x4, %cl
andb $0x10, %cl
leal (%rax,%rax), %edx
andb $0x8, %dl
orb %cl, %dl
movl %eax, %ecx
shrb %cl
andb $0x4, %cl
orb %dl, %cl
movl %eax, %edx
shrb $0x3, %dl
andb $0x2, %dl
orb %cl, %dl
shrb $0x5, %al
andb $0x1, %al
orb %dl, %al
movzbl %al, %eax
cmpl %eax, 0xc(%rsp)
jne 0x3156
xorl %r12d, %r12d
leaq 0xc(%rsp), %rdx
movl %r12d, (%rdx)
movq %r14, %rdi
movl %ebp, %esi
callq 0x750f
movq %rax, %r15
leaq 0x10(%rsp), %rsi
movl %r12d, (%rsi)
movl %r12d, 0x3(%rsi)
movb %bl, 0x1(%rsi)
movb $0x1, 0x6(%rsi)
movq %r14, %rdi
callq 0x142e5
movq %rax, %r12
cmpq %rax, %r15
jne 0x31d3
movb 0x12(%rsp), %al
movl %eax, %ecx
shlb $0x4, %cl
andb $0x10, %cl
leal (%rax,%rax), %edx
andb $0x8, %dl
orb %cl, %dl
movl %eax, %ecx
shrb %cl
andb $0x4, %cl
orb %dl, %cl
movl %eax, %edx
shrb $0x3, %dl
andb $0x2, %dl
orb %cl, %dl
shrb $0x5, %al
andb $0x1, %al
orb %dl, %al
movzbl %al, %eax
cmpl %eax, 0xc(%rsp)
jne 0x31d3
movl $0x20, %edi
callq 0x11bc
movl %eax, %r14d
xorl %r12d, %r12d
leaq 0xc(%rsp), %rdx
movl %r12d, (%rdx)
movl %eax, %edi
movl %ebp, %esi
callq 0x73ad
movq %rax, %r15
leaq 0x10(%rsp), %rsi
movl %r12d, (%rsi)
movl %r12d, 0x3(%rsi)
movb %bl, 0x1(%rsi)
movb $0x1, 0x6(%rsi)
movl %r14d, %edi
callq 0x9d4d
movq %rax, %r12
cmpq %rax, %r15
jne 0x325d
movb 0x12(%rsp), %al
movl %eax, %ecx
shlb $0x4, %cl
andb $0x10, %cl
leal (%rax,%rax), %edx
andb $0x8, %dl
orb %cl, %dl
movl %eax, %ecx
shrb %cl
andb $0x4, %cl
orb %dl, %cl
movl %eax, %edx
shrb $0x3, %dl
andb $0x2, %dl
orb %cl, %dl
shrb $0x5, %al
andb $0x1, %al
orb %dl, %al
movzbl %al, %eax
cmpl %eax, 0xc(%rsp)
jne 0x325d
xorl %r12d, %r12d
leaq 0xc(%rsp), %rdx
movl %r12d, (%rdx)
movl %r14d, %edi
movl %ebp, %esi
callq 0x73c6
movq %rax, %r15
leaq 0x10(%rsp), %rsi
movl %r12d, (%rsi)
movl %r12d, 0x3(%rsi)
movb %bl, 0x1(%rsi)
movb $0x1, 0x6(%rsi)
movl %r14d, %edi
callq 0x1418d
movq %rax, %r12
cmpq %rax, %r15
jne 0x328c
movb 0x12(%rsp), %al
movl %eax, %ecx
shlb $0x4, %cl
andb $0x10, %cl
leal (%rax,%rax), %edx
andb $0x8, %dl
orb %cl, %dl
movl %eax, %ecx
shrb %cl
andb $0x4, %cl
orb %dl, %cl
movl %eax, %edx
shrb $0x3, %dl
andb $0x2, %dl
orb %cl, %dl
shrb $0x5, %al
andb $0x1, %al
orb %dl, %al
movzbl %al, %eax
cmpl %eax, 0xc(%rsp)
jne 0x328c
movl $0x40, %edi
callq 0x1e9e
movq %rax, %r14
xorl %r12d, %r12d
leaq 0xc(%rsp), %rdx
movl %r12d, (%rdx)
movq %rax, %rdi
movl %ebp, %esi
callq 0x7519
movq %rax, %r15
leaq 0x10(%rsp), %rsi
movl %r12d, (%rsi)
movl %r12d, 0x3(%rsi)
movb %bl, 0x1(%rsi)
movb $0x1, 0x6(%rsi)
movq %r14, %rdi
callq 0x9fd4
movq %rax, %r12
cmpq %rax, %r15
jne 0x32c5
movb 0x12(%rsp), %al
movl %eax, %ecx
shlb $0x4, %cl
andb $0x10, %cl
leal (%rax,%rax), %edx
andb $0x8, %dl
orb %cl, %dl
movl %eax, %ecx
shrb %cl
andb $0x4, %cl
orb %dl, %cl
movl %eax, %edx
shrb $0x3, %dl
andb $0x2, %dl
orb %cl, %dl
shrb $0x5, %al
andb $0x1, %al
orb %dl, %al
movzbl %al, %eax
cmpl %eax, 0xc(%rsp)
jne 0x32c5
movl %r13d, 0x24(%rsp)
xorl %r12d, %r12d
leaq 0xc(%rsp), %rdx
movl %r12d, (%rdx)
movq %r14, %rdi
movl %ebp, %esi
callq 0x7552
movq %rax, %r15
leaq 0x10(%rsp), %rsi
movl %r12d, (%rsi)
movl %r12d, 0x3(%rsi)
movb %bl, 0x1(%rsi)
movb $0x1, 0x6(%rsi)
movq %r14, %rdi
callq 0xa16e
movq %rax, %r12
cmpq %rax, %r15
jne 0x32f4
movb 0x12(%rsp), %al
movl %eax, %ecx
shlb $0x4, %cl
andb $0x10, %cl
leal (%rax,%rax), %edx
andb $0x8, %dl
orb %cl, %dl
movl %eax, %ecx
shrb %cl
andb $0x4, %cl
orb %dl, %cl
movl %eax, %edx
shrb $0x3, %dl
andb $0x2, %dl
orb %cl, %dl
shrb $0x5, %al
andb $0x1, %al
orb %dl, %al
movzbl %al, %eax
cmpl %eax, 0xc(%rsp)
jne 0x32f4
xorl %r15d, %r15d
leaq 0xc(%rsp), %r14
movl %r15d, (%r14)
movl $0x80, %edi
callq 0x1f17
movabsq $0x1fffffffffffff, %rbx # imm = 0x1FFFFFFFFFFFFF
andq %rax, %rbx
callq 0x1090
andl $0x1, %eax
movq %rax, %rcx
negq %rcx
movq %rbx, %r12
negq %r12
movl $0x0, %r13d
sbbq %r13, %r13
testq %rax, %rax
cmoveq %rbx, %r12
andq %rcx, %r13
movq %r12, %rdi
movq %r13, %rsi
movl %ebp, %edx
movq %r14, %rcx
callq 0x7707
movq %rax, %rbx
movl %r15d, (%r14)
movq %rax, %rdi
movl %ebp, %esi
movq %r14, %rdx
callq 0x757f
movq %rax, %r14
xorq %r12, %rax
movq %rdx, %rcx
xorq %r13, %rcx
orq %rax, %rcx
jne 0x3397
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x18d6a(%rip), %rax     # 0x1bdc0
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x1315c(%rip), %rdi     # 0x161c2
movl $0x40, %esi
movl %r13d, %ecx
xorl %eax, %eax
callq 0x1070
leaq 0x1311e(%rip), %rdi     # 0x1619a
xorl %eax, %eax
callq 0x1070
movq %r14, %rdi
callq 0x2949
movl $0xa, %edi
callq 0x1030
leaq 0x13150(%rip), %rdi     # 0x161ec
movl %r12d, %esi
xorl %eax, %eax
callq 0x1070
leaq 0x10(%rsp), %rdi
callq 0x13dc
leaq 0x130f5(%rip), %rbx     # 0x161ac
movq %rbx, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x1070
leaq 0x1312a(%rip), %rdi     # 0x161f4
jmp 0x3147
leaq 0x18ced(%rip), %rax     # 0x1bdc0
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x13119(%rip), %rdi     # 0x161fc
movl $0x40, %esi
movl %r13d, %ecx
xorl %eax, %eax
callq 0x1070
leaq 0x130a1(%rip), %rdi     # 0x1619a
xorl %eax, %eax
callq 0x1070
movq %r14, %rdi
callq 0x2949
movl $0xa, %edi
callq 0x1030
leaq 0x1310d(%rip), %rdi     # 0x16226
movl %r12d, %esi
xorl %eax, %eax
callq 0x1070
leaq 0x10(%rsp), %rdi
callq 0x13dc
leaq 0x13078(%rip), %rbx     # 0x161ac
movq %rbx, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x1070
leaq 0x130e7(%rip), %rdi     # 0x1622e
movl %r15d, %esi
xorl %eax, %eax
callq 0x1070
jmp 0x337f
leaq 0x18c63(%rip), %rax     # 0x1bdc0
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x130c9(%rip), %rdi     # 0x16236
movl $0x40, %esi
movl %r13d, %ecx
xorl %eax, %eax
callq 0x1070
leaq 0x13017(%rip), %rdi     # 0x1619a
xorl %eax, %eax
callq 0x1070
movq %r14, %rdi
callq 0x2949
movl $0xa, %edi
callq 0x1030
leaq 0x130bd(%rip), %rdi     # 0x16260
movq %r12, %rsi
xorl %eax, %eax
callq 0x1070
leaq 0x10(%rsp), %rdi
callq 0x13dc
leaq 0x12fee(%rip), %rbx     # 0x161ac
movq %rbx, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x1070
leaq 0x13098(%rip), %rdi     # 0x16269
jmp 0x324e
leaq 0x18be6(%rip), %rax     # 0x1bdc0
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x13088(%rip), %rdi     # 0x16272
movl $0x40, %esi
movl %r13d, %ecx
xorl %eax, %eax
callq 0x1070
leaq 0x12f9a(%rip), %rdi     # 0x1619a
xorl %eax, %eax
callq 0x1070
movq %r14, %rdi
callq 0x2949
movl $0xa, %edi
callq 0x1030
leaq 0x1307c(%rip), %rdi     # 0x1629c
movq %r12, %rsi
xorl %eax, %eax
callq 0x1070
leaq 0x10(%rsp), %rdi
callq 0x13dc
leaq 0x12f71(%rip), %rbx     # 0x161ac
movq %rbx, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x1070
leaq 0x13057(%rip), %rdi     # 0x162a5
movq %r15, %rsi
xorl %eax, %eax
callq 0x1070
jmp 0x337f
leaq 0x18b5c(%rip), %rax     # 0x1bdc0
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x1303a(%rip), %rdi     # 0x162ae
movl $0x40, %esi
movl %r13d, %ecx
xorl %eax, %eax
callq 0x1070
leaq 0x1304d(%rip), %rdi     # 0x162d7
jmp 0x32b9
leaq 0x18b2d(%rip), %rax     # 0x1bdc0
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x1303c(%rip), %rdi     # 0x162df
movl $0x40, %esi
movl %r13d, %ecx
xorl %eax, %eax
callq 0x1070
leaq 0x1304f(%rip), %rdi     # 0x16308
movl %r14d, %esi
xorl %eax, %eax
callq 0x1070
jmp 0x332c
leaq 0x18af4(%rip), %rax     # 0x1bdc0
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x13035(%rip), %rdi     # 0x16311
movl $0x40, %esi
movl %r13d, %ecx
xorl %eax, %eax
callq 0x1070
leaq 0x13048(%rip), %rdi     # 0x1633a
jmp 0x3322
leaq 0x18ac5(%rip), %rax     # 0x1bdc0
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x13038(%rip), %rdi     # 0x16343
movl $0x40, %esi
movl 0x24(%rsp), %ecx
xorl %eax, %eax
callq 0x1070
leaq 0x1304a(%rip), %rdi     # 0x1636c
movq %r14, %rsi
xorl %eax, %eax
callq 0x1070
movl $0xa, %edi
callq 0x1030
leaq 0x12e69(%rip), %rdi     # 0x161a6
xorl %eax, %eax
callq 0x1070
movq %r12, %rdi
callq 0x2949
leaq 0x10(%rsp), %rdi
callq 0x13dc
leaq 0x12e4f(%rip), %rbx     # 0x161ac
movq %rbx, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x1070
leaq 0x12e4c(%rip), %rdi     # 0x161bc
xorl %eax, %eax
callq 0x1070
movq %r15, %rdi
callq 0x2949
movl 0xc(%rsp), %esi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x1070
movl $0x1, %edi
callq 0x10b0
movq %rdx, %r15
leaq 0x18a1f(%rip), %rax     # 0x1bdc0
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rdx
leaq 0x12fc4(%rip), %rdi     # 0x16375
movl $0x40, %esi
movl 0x24(%rsp), %ecx
xorl %eax, %eax
callq 0x1070
leaq 0x12dd2(%rip), %rdi     # 0x1619a
xorl %eax, %eax
callq 0x1070
movq %rbx, %rdi
callq 0x2949
movl $0xa, %edi
callq 0x1030
leaq 0x12dbe(%rip), %rdi     # 0x161a6
xorl %eax, %eax
callq 0x1070
movq %r12, %rdi
movq %r13, %rsi
callq 0x1fd8
movl $0xa, %edi
callq 0x1030
leaq 0x10(%rsp), %rdi
callq 0x13dc
leaq 0x12d97(%rip), %rbx     # 0x161ac
movq %rbx, %rdi
movl %eax, %esi
xorl %eax, %eax
callq 0x1070
leaq 0x12d94(%rip), %rdi     # 0x161bc
xorl %eax, %eax
callq 0x1070
movq %r14, %rdi
movq %r15, %rsi
callq 0x1fd8
movl $0xa, %edi
callq 0x1030
jmp 0x337f