// File: /workspace/github_c_makefile_star2_O0/mbitsnbites[P]SoftFP/./softfptest_template.h
// Function: test_cvt_int_sf32
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
movq %rsp, %rbp
subq $0xd0, %rsp
movl %edi, -0x4(%rbp)
movl %esi, -0x8(%rbp)
movl %edx, -0xc(%rbp)
movl $0x0, -0x34(%rbp)
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
leaq -0x34(%rbp), %rdx
callq 0x81b0
movl %eax, -0x10(%rbp)
movl -0x8(%rbp), %esi
leaq -0x2f(%rbp), %rdi
callq 0x1510
movl -0x4(%rbp), %edi
callq 0x1560
movl %eax, %edi
leaq -0x2f(%rbp), %rsi
callq 0x12750
movl %eax, -0x14(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x14(%rbp), %eax
jne 0x18d9
leaq -0x2f(%rbp), %rdi
callq 0x1580
cmpl -0x34(%rbp), %eax
je 0x1979
movl -0x8(%rbp), %eax
movl %eax, %ecx
leaq 0x2a7bb(%rip), %rax     # 0x2c0a0
movq (%rax,%rcx,8), %rdx
movl -0xc(%rbp), %ecx
leaq 0x2389b(%rip), %rdi     # 0x2518e
movl $0x20, %esi
movb $0x0, %al
callq 0x1050
leaq 0x23860(%rip), %rdi     # 0x25166
movb $0x0, %al
callq 0x1050
movl -0x4(%rbp), %edi
callq 0x1800
leaq 0x23b55(%rip), %rdi     # 0x25471
movb $0x0, %al
callq 0x1050
movl -0x14(%rbp), %esi
leaq 0x2388b(%rip), %rdi     # 0x251b8
movb $0x0, %al
callq 0x1050
leaq -0x2f(%rbp), %rdi
callq 0x1580
movl %eax, %esi
leaq 0x23832(%rip), %rdi     # 0x25178
movb $0x0, %al
callq 0x1050
movl -0x10(%rbp), %esi
leaq 0x23869(%rip), %rdi     # 0x251c0
movb $0x0, %al
callq 0x1050
movl -0x34(%rbp), %esi
leaq 0x23810(%rip), %rdi     # 0x25178
movb $0x0, %al
callq 0x1050
movl $0x1, %edi
callq 0x10a0
movl $0x0, -0x34(%rbp)
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
leaq -0x34(%rbp), %rdx
callq 0x83a0
movl %eax, -0x10(%rbp)
movl -0x8(%rbp), %esi
leaq -0x2f(%rbp), %rdi
callq 0x1510
movl -0x4(%rbp), %edi
callq 0x1560
movl %eax, %edi
leaq -0x2f(%rbp), %rsi
callq 0x22580
movl %eax, -0x14(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x14(%rbp), %eax
jne 0x19ce
leaq -0x2f(%rbp), %rdi
callq 0x1580
cmpl -0x34(%rbp), %eax
je 0x1a6e
movl -0x8(%rbp), %eax
movl %eax, %ecx
leaq 0x2a6c6(%rip), %rax     # 0x2c0a0
movq (%rax,%rcx,8), %rdx
movl -0xc(%rbp), %ecx
leaq 0x237e0(%rip), %rdi     # 0x251c8
movl $0x20, %esi
movb $0x0, %al
callq 0x1050
leaq 0x2376b(%rip), %rdi     # 0x25166
movb $0x0, %al
callq 0x1050
movl -0x4(%rbp), %edi
callq 0x1800
leaq 0x23a60(%rip), %rdi     # 0x25471
movb $0x0, %al
callq 0x1050
movl -0x14(%rbp), %esi
leaq 0x237d0(%rip), %rdi     # 0x251f2
movb $0x0, %al
callq 0x1050
leaq -0x2f(%rbp), %rdi
callq 0x1580
movl %eax, %esi
leaq 0x2373d(%rip), %rdi     # 0x25178
movb $0x0, %al
callq 0x1050
movl -0x10(%rbp), %esi
leaq 0x237ae(%rip), %rdi     # 0x251fa
movb $0x0, %al
callq 0x1050
movl -0x34(%rbp), %esi
leaq 0x2371b(%rip), %rdi     # 0x25178
movb $0x0, %al
callq 0x1050
movl $0x1, %edi
callq 0x10a0
movl $0x0, -0x34(%rbp)
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
leaq -0x34(%rbp), %rdx
callq 0x8500
movq %rax, -0x20(%rbp)
movl -0x8(%rbp), %esi
leaq -0x2f(%rbp), %rdi
callq 0x1510
movl -0x4(%rbp), %edi
callq 0x1560
movl %eax, %edi
leaq -0x2f(%rbp), %rsi
callq 0x12be0
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x28(%rbp), %rax
jne 0x1ac7
leaq -0x2f(%rbp), %rdi
callq 0x1580
cmpl -0x34(%rbp), %eax
je 0x1b69
movl -0x8(%rbp), %eax
movl %eax, %ecx
leaq 0x2a5cd(%rip), %rax     # 0x2c0a0
movq (%rax,%rcx,8), %rdx
movl -0xc(%rbp), %ecx
leaq 0x23721(%rip), %rdi     # 0x25202
movl $0x20, %esi
movb $0x0, %al
callq 0x1050
leaq 0x23672(%rip), %rdi     # 0x25166
movb $0x0, %al
callq 0x1050
movl -0x4(%rbp), %edi
callq 0x1800
leaq 0x23967(%rip), %rdi     # 0x25471
movb $0x0, %al
callq 0x1050
movq -0x28(%rbp), %rsi
leaq 0x23710(%rip), %rdi     # 0x2522c
movb $0x0, %al
callq 0x1050
leaq -0x2f(%rbp), %rdi
callq 0x1580
movl %eax, %esi
leaq 0x23643(%rip), %rdi     # 0x25178
movb $0x0, %al
callq 0x1050
movq -0x20(%rbp), %rsi
leaq 0x236ee(%rip), %rdi     # 0x25235
movb $0x0, %al
callq 0x1050
movl -0x34(%rbp), %esi
leaq 0x23620(%rip), %rdi     # 0x25178
movb $0x0, %al
callq 0x1050
movl $0x1, %edi
callq 0x10a0
movl $0x0, -0x34(%rbp)
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
leaq -0x34(%rbp), %rdx
callq 0x8700
movq %rax, -0x20(%rbp)
movl -0x8(%rbp), %esi
leaq -0x2f(%rbp), %rdi
callq 0x1510
movl -0x4(%rbp), %edi
callq 0x1560
movl %eax, %edi
leaq -0x2f(%rbp), %rsi
callq 0x12f50
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x28(%rbp), %rax
jne 0x1bc2
leaq -0x2f(%rbp), %rdi
callq 0x1580
cmpl -0x34(%rbp), %eax
je 0x1c64
movl -0x8(%rbp), %eax
movl %eax, %ecx
leaq 0x2a4d2(%rip), %rax     # 0x2c0a0
movq (%rax,%rcx,8), %rdx
movl -0xc(%rbp), %ecx
leaq 0x23662(%rip), %rdi     # 0x2523e
movl $0x20, %esi
movb $0x0, %al
callq 0x1050
leaq 0x23577(%rip), %rdi     # 0x25166
movb $0x0, %al
callq 0x1050
movl -0x4(%rbp), %edi
callq 0x1800
leaq 0x2386c(%rip), %rdi     # 0x25471
movb $0x0, %al
callq 0x1050
movq -0x28(%rbp), %rsi
leaq 0x23651(%rip), %rdi     # 0x25268
movb $0x0, %al
callq 0x1050
leaq -0x2f(%rbp), %rdi
callq 0x1580
movl %eax, %esi
leaq 0x23548(%rip), %rdi     # 0x25178
movb $0x0, %al
callq 0x1050
movq -0x20(%rbp), %rsi
leaq 0x2362f(%rip), %rdi     # 0x25271
movb $0x0, %al
callq 0x1050
movl -0x34(%rbp), %esi
leaq 0x23525(%rip), %rdi     # 0x25178
movb $0x0, %al
callq 0x1050
movl $0x1, %edi
callq 0x10a0
movl $0x20, %edi
callq 0x11b0
movl %eax, -0x10(%rbp)
movl $0x0, -0x34(%rbp)
movl -0x10(%rbp), %edi
movl -0x8(%rbp), %esi
leaq -0x34(%rbp), %rdx
callq 0x83d0
movl %eax, -0x4(%rbp)
movl -0x8(%rbp), %esi
leaq -0x2f(%rbp), %rdi
callq 0x1510
movl -0x10(%rbp), %edi
leaq -0x2f(%rbp), %rsi
callq 0x116c0
movl %eax, %edi
callq 0x1570
movl %eax, -0x38(%rbp)
movl -0x4(%rbp), %eax
cmpl -0x38(%rbp), %eax
jne 0x1cc6
leaq -0x2f(%rbp), %rdi
callq 0x1580
cmpl -0x34(%rbp), %eax
je 0x1d6b
movl -0x8(%rbp), %eax
movl %eax, %ecx
leaq 0x2a3ce(%rip), %rax     # 0x2c0a0
movq (%rax,%rcx,8), %rdx
movl -0xc(%rbp), %ecx
leaq 0x2359a(%rip), %rdi     # 0x2527a
movl $0x20, %esi
movb $0x0, %al
callq 0x1050
movl -0x10(%rbp), %esi
leaq 0x235ad(%rip), %rdi     # 0x252a3
movb $0x0, %al
callq 0x1050
leaq 0x2376d(%rip), %rdi     # 0x25471
movb $0x0, %al
callq 0x1050
leaq 0x23460(%rip), %rdi     # 0x25172
movb $0x0, %al
callq 0x1050
movl -0x38(%rbp), %edi
callq 0x1800
leaq -0x2f(%rbp), %rdi
callq 0x1580
movl %eax, %esi
leaq 0x23445(%rip), %rdi     # 0x25178
movb $0x0, %al
callq 0x1050
leaq 0x23447(%rip), %rdi     # 0x25188
movb $0x0, %al
callq 0x1050
movl -0x4(%rbp), %edi
callq 0x1800
movl -0x34(%rbp), %esi
leaq 0x2341e(%rip), %rdi     # 0x25178
movb $0x0, %al
callq 0x1050
movl $0x1, %edi
callq 0x10a0
movl $0x0, -0x34(%rbp)
movl -0x10(%rbp), %edi
movl -0x8(%rbp), %esi
leaq -0x34(%rbp), %rdx
callq 0x84d0
movl %eax, -0x4(%rbp)
movl -0x8(%rbp), %esi
leaq -0x2f(%rbp), %rdi
callq 0x1510
movl -0x10(%rbp), %edi
leaq -0x2f(%rbp), %rsi
callq 0x22520
movl %eax, %edi
callq 0x1570
movl %eax, -0x38(%rbp)
movl -0x4(%rbp), %eax
cmpl -0x38(%rbp), %eax
jne 0x1dc0
leaq -0x2f(%rbp), %rdi
callq 0x1580
cmpl -0x34(%rbp), %eax
je 0x1e65
movl -0x8(%rbp), %eax
movl %eax, %ecx
leaq 0x2a2d4(%rip), %rax     # 0x2c0a0
movq (%rax,%rcx,8), %rdx
movl -0xc(%rbp), %ecx
leaq 0x234d1(%rip), %rdi     # 0x252ab
movl $0x20, %esi
movb $0x0, %al
callq 0x1050
movl -0x10(%rbp), %esi
leaq 0x234e4(%rip), %rdi     # 0x252d4
movb $0x0, %al
callq 0x1050
leaq 0x23673(%rip), %rdi     # 0x25471
movb $0x0, %al
callq 0x1050
leaq 0x23366(%rip), %rdi     # 0x25172
movb $0x0, %al
callq 0x1050
movl -0x38(%rbp), %edi
callq 0x1800
leaq -0x2f(%rbp), %rdi
callq 0x1580
movl %eax, %esi
leaq 0x2334b(%rip), %rdi     # 0x25178
movb $0x0, %al
callq 0x1050
leaq 0x2334d(%rip), %rdi     # 0x25188
movb $0x0, %al
callq 0x1050
movl -0x4(%rbp), %edi
callq 0x1800
movl -0x34(%rbp), %esi
leaq 0x23324(%rip), %rdi     # 0x25178
movb $0x0, %al
callq 0x1050
movl $0x1, %edi
callq 0x10a0
movl $0x40, %edi
callq 0x2280
movq %rax, -0x20(%rbp)
movl $0x0, -0x34(%rbp)
movq -0x20(%rbp), %rdi
movl -0x8(%rbp), %esi
leaq -0x34(%rbp), %rdx
callq 0x8730
movl %eax, -0x4(%rbp)
movl -0x8(%rbp), %esi
leaq -0x2f(%rbp), %rdi
callq 0x1510
movq -0x20(%rbp), %rdi
leaq -0x2f(%rbp), %rsi
callq 0x11ad0
movl %eax, %edi
callq 0x1570
movl %eax, -0x38(%rbp)
movl -0x4(%rbp), %eax
cmpl -0x38(%rbp), %eax
jne 0x1eca
leaq -0x2f(%rbp), %rdi
callq 0x1580
cmpl -0x34(%rbp), %eax
je 0x1f70
movl -0x8(%rbp), %eax
movl %eax, %ecx
leaq 0x2a1ca(%rip), %rax     # 0x2c0a0
movq (%rax,%rcx,8), %rdx
movl -0xc(%rbp), %ecx
leaq 0x233f9(%rip), %rdi     # 0x252dd
movl $0x20, %esi
movb $0x0, %al
callq 0x1050
movq -0x20(%rbp), %rsi
leaq 0x2340b(%rip), %rdi     # 0x25306
movb $0x0, %al
callq 0x1050
leaq 0x23568(%rip), %rdi     # 0x25471
movb $0x0, %al
callq 0x1050
leaq 0x2325b(%rip), %rdi     # 0x25172
movb $0x0, %al
callq 0x1050
movl -0x38(%rbp), %edi
callq 0x1800
leaq -0x2f(%rbp), %rdi
callq 0x1580
movl %eax, %esi
leaq 0x23240(%rip), %rdi     # 0x25178
movb $0x0, %al
callq 0x1050
leaq 0x23242(%rip), %rdi     # 0x25188
movb $0x0, %al
callq 0x1050
movl -0x4(%rbp), %edi
callq 0x1800
movl -0x34(%rbp), %esi
leaq 0x23219(%rip), %rdi     # 0x25178
movb $0x0, %al
callq 0x1050
movl $0x1, %edi
callq 0x10a0
movl $0x0, -0x34(%rbp)
movq -0x20(%rbp), %rdi
movl -0x8(%rbp), %esi
leaq -0x34(%rbp), %rdx
callq 0x8840
movl %eax, -0x4(%rbp)
movl -0x8(%rbp), %esi
leaq -0x2f(%rbp), %rdi
callq 0x1510
movq -0x20(%rbp), %rdi
leaq -0x2f(%rbp), %rsi
callq 0x12240
movl %eax, %edi
callq 0x1570
movl %eax, -0x38(%rbp)
movl -0x4(%rbp), %eax
cmpl -0x38(%rbp), %eax
jne 0x1fc7
leaq -0x2f(%rbp), %rdi
callq 0x1580
cmpl -0x34(%rbp), %eax
je 0x206d
movl -0x8(%rbp), %eax
movl %eax, %ecx
leaq 0x2a0cd(%rip), %rax     # 0x2c0a0
movq (%rax,%rcx,8), %rdx
movl -0xc(%rbp), %ecx
leaq 0x2332e(%rip), %rdi     # 0x2530f
movl $0x20, %esi
movb $0x0, %al
callq 0x1050
movq -0x20(%rbp), %rsi
leaq 0x23340(%rip), %rdi     # 0x25338
movb $0x0, %al
callq 0x1050
leaq 0x2346b(%rip), %rdi     # 0x25471
movb $0x0, %al
callq 0x1050
leaq 0x2315e(%rip), %rdi     # 0x25172
movb $0x0, %al
callq 0x1050
movl -0x38(%rbp), %edi
callq 0x1800
leaq -0x2f(%rbp), %rdi
callq 0x1580
movl %eax, %esi
leaq 0x23143(%rip), %rdi     # 0x25178
movb $0x0, %al
callq 0x1050
leaq 0x23145(%rip), %rdi     # 0x25188
movb $0x0, %al
callq 0x1050
movl -0x4(%rbp), %edi
callq 0x1800
movl -0x34(%rbp), %esi
leaq 0x2311c(%rip), %rdi     # 0x25178
movb $0x0, %al
callq 0x1050
movl $0x1, %edi
callq 0x10a0
movl $0x0, -0x34(%rbp)
movl $0x80, %edi
callq 0x2340
movq %rax, -0x70(%rbp)
movq %rdx, -0x68(%rbp)
movq -0x70(%rbp), %rax
andl $0xffffff, %eax         # imm = 0xFFFFFF
movq %rax, -0x60(%rbp)
movq $0x0, -0x58(%rbp)
callq 0x1080
andq $0x1, %rax
cmpq $0x0, %rax
je 0x20bb
movq -0x58(%rbp), %rcx
xorl %eax, %eax
negq -0x60(%rbp)
sbbq %rcx, %rax
movq %rax, -0x58(%rbp)
movq -0x60(%rbp), %rax
movq -0x58(%rbp), %rcx
movl -0x8(%rbp), %edx
movq %rcx, -0x78(%rbp)
movq %rax, -0x80(%rbp)
movq -0x80(%rbp), %rdi
movq -0x78(%rbp), %rsi
leaq -0x34(%rbp), %rcx
movq %rcx, -0xb8(%rbp)
callq 0x8b60
movq -0xb8(%rbp), %rdx
movl %eax, -0x4(%rbp)
movl $0x0, -0x34(%rbp)
movl -0x4(%rbp), %edi
movl -0x8(%rbp), %esi
callq 0x8870
movq %rax, -0x90(%rbp)
movq %rdx, -0x88(%rbp)
movq -0x90(%rbp), %rax
movq -0x88(%rbp), %rcx
movq %rcx, -0x48(%rbp)
movq %rax, -0x50(%rbp)
movaps -0x50(%rbp), %xmm0
movaps -0x60(%rbp), %xmm1
pcmpeqb %xmm1, %xmm0
pmovmskb %xmm0, %eax
subl $0xffff, %eax           # imm = 0xFFFF
je 0x2270
jmp 0x2143
movl -0x8(%rbp), %eax
movl %eax, %ecx
leaq 0x29f51(%rip), %rax     # 0x2c0a0
movq (%rax,%rcx,8), %rdx
movl -0xc(%rbp), %ecx
leaq 0x231e4(%rip), %rdi     # 0x25341
xorl %eax, %eax
movb %al, -0xb9(%rbp)
movl $0x20, %esi
callq 0x1050
movb -0xb9(%rbp), %al
leaq 0x22fea(%rip), %rdi     # 0x25166
callq 0x1050
movl -0x4(%rbp), %edi
callq 0x1800
movb -0xb9(%rbp), %al
leaq 0x232db(%rip), %rdi     # 0x25471
movq %rdi, -0xc8(%rbp)
callq 0x1050
movb -0xb9(%rbp), %al
leaq 0x22fc3(%rip), %rdi     # 0x25172
callq 0x1050
movq -0x60(%rbp), %rax
movq -0x58(%rbp), %rcx
movq %rcx, -0x98(%rbp)
movq %rax, -0xa0(%rbp)
movq -0xa0(%rbp), %rdi
movq -0x98(%rbp), %rsi
callq 0x2470
movq -0xc8(%rbp), %rdi
movb -0xb9(%rbp), %al
callq 0x1050
leaq -0x2f(%rbp), %rdi
callq 0x1580
movl %eax, %esi
movb -0xb9(%rbp), %al
leaq 0x22f71(%rip), %rdi     # 0x25178
callq 0x1050
movb -0xb9(%rbp), %al
leaq 0x22f6f(%rip), %rdi     # 0x25188
callq 0x1050
movq -0x50(%rbp), %rax
movq -0x48(%rbp), %rcx
movq %rcx, -0xa8(%rbp)
movq %rax, -0xb0(%rbp)
movq -0xb0(%rbp), %rdi
movq -0xa8(%rbp), %rsi
callq 0x2470
leaq 0x23223(%rip), %rdi     # 0x25471
movb $0x0, %al
callq 0x1050
movl -0x34(%rbp), %esi
leaq 0x22f19(%rip), %rdi     # 0x25178
movb $0x0, %al
callq 0x1050
movl $0x1, %edi
callq 0x10a0
addq $0xd0, %rsp
popq %rbp
retq
nopl (%rax)