// File: /workspace/github_c_makefile_star2_O1/johsteffens[P]beth/lib/bcore/bcore_spect_array.c
// Function: test_string_array
static void test_string_array( sc_t type_sc )
{
    vd_t arr = bcore_inst_t_create( typeof( type_sc ) );
    const bcore_array_s* arr_p = bcore_array_s_get_aware( arr );

    bl_t is_dynamic = !bcore_array_p_is_fixed( arr_p );
    bl_t is_of_links = bcore_array_p_is_of_links( arr_p );

    if( is_dynamic ) bcore_array_p_set_gtype( arr_p, arr, typeof( "st_s" ) );
    if( is_dynamic ) bcore_array_p_set_size( arr_p, arr, 5 );
    bcore_array_p_set( arr_p, arr, 0, sr_asm( st_s_createf( "test line a" ) ) );
    bcore_array_p_set( arr_p, arr, 1, sr_asm( st_s_createf( "some nonsense: sakjd" ) ) );
    bcore_array_p_set( arr_p, arr, 2, sr_asm( st_s_createf( "some nonsense: dspaud" ) ) );
    bcore_array_p_set( arr_p, arr, 7, sr_asm( st_s_createf( "test line x" ) ) );
    if( is_dynamic )
    {
        bcore_array_p_push( arr_p, arr, sr_asm( st_s_createf( "test line p" ) ) );
    }
    else
    {
        bcore_array_p_set( arr_p, arr, 8, sr_asm( st_s_createf( "test line p" ) ) );
    }

    if( is_dynamic ) bcore_array_p_set_space( arr_p, arr, 20 );

    ASSERT( bcore_array_p_max_index( arr_p, arr, 0, -1, 1 ) == 7 );

    bcore_array_p_sort( arr_p, arr, 0, -1, 1 );
    {
        bcore_arr_uz_s* order = bcore_array_p_create_sorted_order( arr_p, arr, 0, -1, -1 );
        bcore_array_p_reorder( arr_p, arr, order );
        bcore_arr_uz_s_discard( order );
    }

    ASSERT( bcore_array_p_max_index( arr_p, arr, 0, -1, 1 ) == 0 );

    ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 0 ).o, "test line x" ) == 0 );
    ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 1 ).o, "test line p" ) == 0 );
    ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 2 ).o, "test line a" ) == 0 );
    ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 3 ).o, "some nonsense: sakjd" ) == 0 );
    ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 4 ).o, "some nonsense: dspaud" ) == 0 );

    /// testing swap
    {
        bcore_msg_fa( "testing #<sc_t>\n", type_sc );
        uz_t size = get_size( arr_p, arr );
        bcore_array_p_swap( arr_p, arr, 2, 1 );
        bcore_array_p_swap( arr_p, arr, 2, 3 );
        ASSERT( get_size( arr_p, arr ) == size );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 0 ).o, "test line x" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 1 ).o, "test line a" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 2 ).o, "some nonsense: sakjd" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 3 ).o, "test line p" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 4 ).o, "some nonsense: dspaud" ) == 0 );
        bcore_array_p_swap( arr_p, arr, 2, 3 ); // undo above swap
        bcore_array_p_swap( arr_p, arr, 2, 1 ); // undo above swap
    }

    if( is_dynamic ) ASSERT( get_size( arr_p, arr ) == 9 );

    bcore_arr_uz_s* order = bcore_arr_uz_s_create();
    bcore_arr_uz_s_push( order, 2 );
    bcore_arr_uz_s_push( order, 2 );
    bcore_arr_uz_s_push( order, 1 );
    bcore_arr_uz_s_push( order, 0 );
    bcore_arr_uz_s_push( order, 3 );
    bcore_arr_uz_s_push( order, 4 );

    if( is_dynamic )
    {
        bcore_array_p_reorder( arr_p, arr, order );
        ASSERT( get_size( arr_p, arr ) == order->size );

        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 0 ).o, "test line a" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 1 ).o, "test line a" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 2 ).o, "test line p" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 3 ).o, "test line x" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 4 ).o, "some nonsense: sakjd" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 5 ).o, "some nonsense: dspaud" ) == 0 );
    }

    /// testing removal
    if( is_dynamic )
    {
        ASSERT( bcore_array_p_get_size( arr_p, arr ) == 6 );
        bcore_array_p_remove( arr_p, arr, 4 );
        bcore_array_p_remove( arr_p, arr, 1 );
        ASSERT( bcore_array_p_get_size( arr_p, arr ) == 4 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 0 ).o, "test line a" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 1 ).o, "test line p" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 2 ).o, "test line x" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 3 ).o, "some nonsense: dspaud" ) == 0 );
    }

    /// testing insertion
    if( is_dynamic )
    {
        bcore_array_p_insert( arr_p, arr, 2, sr_asm( st_s_createf( "insertion at line 2" ) ) );
        bcore_array_p_insert( arr_p, arr, 4, sr_asm( st_s_createf( "insertion at line 4" ) ) );
        ASSERT( bcore_array_p_get_size( arr_p, arr ) == 6 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 0 ).o, "test line a" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 1 ).o, "test line p" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 2 ).o, "insertion at line 2" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 3 ).o, "test line x" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 4 ).o, "insertion at line 4" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 5 ).o, "some nonsense: dspaud" ) == 0 );
    }

    /// testing remove_null_elements
    if( is_dynamic && is_of_links )
    {
        bcore_array_p_set( arr_p, arr, 2, sr_null() );
        bcore_array_p_set( arr_p, arr, 4, sr_null() );
        bcore_array_p_remove_null_elements( arr_p, arr );
        ASSERT( bcore_array_p_get_size( arr_p, arr ) == 4 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 0 ).o, "test line a" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 1 ).o, "test line p" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 2 ).o, "test line x" ) == 0 );
        ASSERT( st_s_cmp_sc( ( const st_s* )arr_p->get( arr_p, arr, 3 ).o, "some nonsense: dspaud" ) == 0 );
    }

    bcore_arr_uz_s_discard( order );
    bcore_inst_a_discard( arr );

}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x308, %rsp            # imm = 0x308
movq %rdi, %r15
testq %rdi, %rdi
je 0xfcc53
movabsq $-0x340d631b7bdddcdb, %rsi # imm = 0xCBF29CE484222325
movb (%r15), %dl
testb %dl, %dl
je 0xfcc5f
leaq 0x1(%r15), %rax
movabsq $0x100000001b3, %rcx    # imm = 0x100000001B3
movzbl %dl, %ebx
xorq %rsi, %rbx
imulq %rcx, %rbx
movb (%rax), %dl
incq %rax
movq %rbx, %rsi
testb %dl, %dl
jne 0xfcc3b
jmp 0xfcc62
movabsq $-0x509c42b379fe4821, %rbx # imm = 0xAF63BD4C8601B7DF
jmp 0xfcc62
movq %rsi, %rbx
testq %rbx, %rbx
je 0xfcd0b
leaq 0xac7f6(%rip), %rax     # 0x1a9468
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %rbx, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %rbx, %rdx
je 0xfcccc
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbx, %rdx
je 0xfcccc
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbx, %rdx
je 0xfcccc
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbx, %rdx
jne 0xfe137
movq (%rax,%rcx), %r14
testq %r14, %r14
jne 0xfccfc
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %rbx, %rsi
callq 0xf3f85
movq %rax, %r14
leaq 0xac777(%rip), %rdi     # 0x1a9468
movq %rbx, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r14, %rdi
callq *0xa8(%r14)
movq %rax, %rbx
jmp 0xfcd0d
xorl %ebx, %ebx
movq (%rbx), %r12
leaq 0xac109(%rip), %rax     # 0x1a8e20
movl 0xac103(%rip), %ecx     # 0x1a8e20
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r12, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0xfcd75
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0xfcd75
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0xfcd75
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0xfe12f
movq (%rax,%rcx), %r14
testq %r14, %r14
jne 0xfcda5
movabsq $-0x5073d588c3beb52e, %rdi # imm = 0xAF8C2A773C414AD2
movq %r12, %rsi
callq 0xf3f85
movq %rax, %r14
leaq 0xac086(%rip), %rdi     # 0x1a8e20
movq %r12, %rsi
movq %rax, %rdx
callq 0x12128c
movq 0x18(%r14), %rbp
movb 0x42(%r14), %al
movb %al, 0x1f(%rsp)
testq %rbp, %rbp
jne 0xfcddb
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
movq %r14, %rdi
movq %rbx, %rsi
callq 0xf7f7c
movl $0x5, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xf69d8
leaq 0x578af(%rip), %rdi     # 0x154691
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x114c1e
movq %rax, %r13
testq %rax, %rax
je 0xfce00
movq (%r13), %rdi
callq 0x1123e1
movq %rax, %r12
movq %r13, 0x20(%rsp)
movq %r12, 0x28(%rsp)
movq $0x2, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
xorl %r12d, %r12d
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq *0x38(%r14)
leaq 0x57861(%rip), %rdi     # 0x15469d
xorl %eax, %eax
callq 0x114c1e
movq %rax, %r13
testq %rax, %rax
je 0xfce57
movq (%r13), %rdi
callq 0x1123e1
movq %rax, %r12
movq %r13, 0x20(%rsp)
movq %r12, 0x28(%rsp)
movq $0x2, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq *0x38(%r14)
leaq 0x5781f(%rip), %rdi     # 0x1546b2
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x114c1e
movq %rax, %r13
testq %rax, %rax
je 0xfceb1
movq (%r13), %rdi
callq 0x1123e1
movq %rax, %r12
movq %r13, 0x20(%rsp)
movq %r12, 0x28(%rsp)
movq $0x2, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movl $0x2, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq *0x38(%r14)
leaq 0x577db(%rip), %rdi     # 0x1546c8
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x114c1e
movq %rax, %r13
testq %rax, %rax
je 0xfcf0b
movq (%r13), %rdi
callq 0x1123e1
movq %rax, %r12
movq %r13, 0x20(%rsp)
movq %r12, 0x28(%rsp)
movq $0x2, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movl $0x7, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq *0x38(%r14)
leaq 0x5778d(%rip), %rdi     # 0x1546d4
xorl %eax, %eax
callq 0x114c1e
movq %rax, %r12
testq %rbp, %rbp
je 0xfcf66
testq %r12, %r12
je 0xfcf76
movq (%r12), %rdi
callq 0x1123e1
jmp 0xfcf78
testq %r12, %r12
je 0xfcfa5
movq (%r12), %rdi
callq 0x1123e1
jmp 0xfcfa7
xorl %eax, %eax
movq %r12, 0x20(%rsp)
movq %rax, 0x28(%rsp)
movq $0x2, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movl $0x8, %edx
jmp 0xfcfdf
xorl %eax, %eax
movq %r12, 0x20(%rsp)
movq %rax, 0x28(%rsp)
movq $0x2, 0x30(%rsp)
movq 0x18(%r14), %rdx
testq %rdx, %rdx
jne 0xfcfcc
movq 0x20(%r14), %rax
movq 0x8(%rbx,%rax), %rdx
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movq %r14, %rdi
movq %rbx, %rsi
callq *0x38(%r14)
testq %rbp, %rbp
jne 0xfcffe
movl $0x14, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xf6359
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq $-0x1, %rcx
movl $0x1, %r8d
callq 0xf8b0b
cmpq $0x7, %rax
je 0xfd047
leaq 0x3b622(%rip), %rdi     # 0x138647
leaq 0x576b4(%rip), %rsi     # 0x1546e0
leaq 0x576e2(%rip), %rdx     # 0x154715
leaq 0x56b46(%rip), %rcx     # 0x153b80
movl $0x91e, %r8d            # imm = 0x91E
xorl %eax, %eax
callq 0xc8053
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq $-0x1, %rcx
movl $0x1, %r8d
callq 0xf914f
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq $-0x1, %rcx
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0xf973e
movq %rax, %r12
movq %r14, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0xf9848
movq %r12, %rdi
callq 0xbf561
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq $-0x1, %rcx
movl $0x1, %r8d
callq 0xf8b0b
testq %rax, %rax
je 0xfd0dc
leaq 0x3b58d(%rip), %rdi     # 0x138647
leaq 0x57666(%rip), %rsi     # 0x154727
leaq 0x5764d(%rip), %rdx     # 0x154715
leaq 0x56ab1(%rip), %rcx     # 0x153b80
movl $0x927, %r8d            # imm = 0x927
xorl %eax, %eax
callq 0xc8053
xorl %r12d, %r12d
leaq 0x2f0(%rsp), %r13
movq %r13, %rdi
movq %r14, %rsi
movq %rbx, %rdx
xorl %ecx, %ecx
callq *0x30(%r14)
movq (%r13), %rax
testq %rax, %rax
je 0xfd103
movq 0x8(%rax), %r12
leaq 0x575be(%rip), %rsi     # 0x1546c8
movq %r12, %rdi
callq 0xc84cd
testl %eax, %eax
je 0xfd13f
leaq 0x3b52a(%rip), %rdi     # 0x138647
leaq 0x57638(%rip), %rsi     # 0x15475c
leaq 0x575ea(%rip), %rdx     # 0x154715
leaq 0x56a4e(%rip), %rcx     # 0x153b80
movl $0x929, %r8d            # imm = 0x929
xorl %eax, %eax
callq 0xc8053
leaq 0x2d8(%rsp), %r12
movl $0x1, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfd168
movq 0x8(%rax), %rdi
jmp 0xfd16a
xorl %edi, %edi
leaq 0x57563(%rip), %rsi     # 0x1546d4
callq 0xc84cd
testl %eax, %eax
je 0xfd1a3
leaq 0x3b4c6(%rip), %rdi     # 0x138647
leaq 0x57624(%rip), %rsi     # 0x1547ac
leaq 0x57586(%rip), %rdx     # 0x154715
leaq 0x569ea(%rip), %rcx     # 0x153b80
movl $0x92a, %r8d            # imm = 0x92A
xorl %eax, %eax
callq 0xc8053
leaq 0x2c0(%rsp), %r12
movl $0x2, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfd1cc
movq 0x8(%rax), %rdi
jmp 0xfd1ce
xorl %edi, %edi
leaq 0x574bc(%rip), %rsi     # 0x154691
callq 0xc84cd
testl %eax, %eax
je 0xfd207
leaq 0x3b462(%rip), %rdi     # 0x138647
leaq 0x57610(%rip), %rsi     # 0x1547fc
leaq 0x57522(%rip), %rdx     # 0x154715
leaq 0x56986(%rip), %rcx     # 0x153b80
movl $0x92b, %r8d            # imm = 0x92B
xorl %eax, %eax
callq 0xc8053
leaq 0x2a8(%rsp), %r12
movl $0x3, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfd230
movq 0x8(%rax), %rdi
jmp 0xfd232
xorl %edi, %edi
leaq 0x57464(%rip), %rsi     # 0x15469d
callq 0xc84cd
testl %eax, %eax
je 0xfd26b
leaq 0x3b3fe(%rip), %rdi     # 0x138647
leaq 0x575fc(%rip), %rsi     # 0x15484c
leaq 0x574be(%rip), %rdx     # 0x154715
leaq 0x56922(%rip), %rcx     # 0x153b80
movl $0x92c, %r8d            # imm = 0x92C
xorl %eax, %eax
callq 0xc8053
leaq 0x290(%rsp), %r12
movl $0x4, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfd294
movq 0x8(%rax), %rdi
jmp 0xfd296
xorl %edi, %edi
leaq 0x57415(%rip), %rsi     # 0x1546b2
callq 0xc84cd
testl %eax, %eax
je 0xfd2cf
leaq 0x3b39a(%rip), %rdi     # 0x138647
leaq 0x575f1(%rip), %rsi     # 0x1548a5
leaq 0x5745a(%rip), %rdx     # 0x154715
leaq 0x568be(%rip), %rcx     # 0x153b80
movl $0x92d, %r8d            # imm = 0x92D
xorl %eax, %eax
callq 0xc8053
leaq 0x57629(%rip), %rdi     # 0x1548ff
movq %r15, %rsi
xorl %eax, %eax
callq 0xc7ec8
movq 0x18(%r14), %r15
testq %r15, %r15
jne 0xfd2f2
movq 0x20(%r14), %rax
movq 0x8(%rbx,%rax), %r15
movl $0x2, %edx
movl $0x1, %ecx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xf75c6
movl $0x2, %edx
movl $0x3, %ecx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xf75c6
movq 0x18(%r14), %rax
testq %rax, %rax
jne 0xfd32e
movq 0x20(%r14), %rax
movq 0x8(%rbx,%rax), %rax
cmpq %r15, %rax
je 0xfd35c
leaq 0x3b30d(%rip), %rdi     # 0x138647
leaq 0x575cf(%rip), %rsi     # 0x154910
leaq 0x573cd(%rip), %rdx     # 0x154715
leaq 0x56831(%rip), %rcx     # 0x153b80
movl $0x935, %r8d            # imm = 0x935
xorl %eax, %eax
callq 0xc8053
xorl %r15d, %r15d
leaq 0x278(%rsp), %r12
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
xorl %ecx, %ecx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfd383
movq 0x8(%rax), %r15
leaq 0x5733e(%rip), %rsi     # 0x1546c8
movq %r15, %rdi
callq 0xc84cd
testl %eax, %eax
je 0xfd3bf
leaq 0x3b2aa(%rip), %rdi     # 0x138647
leaq 0x573b8(%rip), %rsi     # 0x15475c
leaq 0x5736a(%rip), %rdx     # 0x154715
leaq 0x567ce(%rip), %rcx     # 0x153b80
movl $0x936, %r8d            # imm = 0x936
xorl %eax, %eax
callq 0xc8053
leaq 0x260(%rsp), %r15
movl $0x1, %ecx
movq %r15, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r15), %rax
testq %rax, %rax
je 0xfd3e7
movq 0x8(%rax), %rdi
jmp 0xfd3e9
xorl %edi, %edi
leaq 0x572a1(%rip), %rsi     # 0x154691
callq 0xc84cd
testl %eax, %eax
je 0xfd422
leaq 0x3b247(%rip), %rdi     # 0x138647
leaq 0x57528(%rip), %rsi     # 0x15492f
leaq 0x57307(%rip), %rdx     # 0x154715
leaq 0x5676b(%rip), %rcx     # 0x153b80
movl $0x937, %r8d            # imm = 0x937
xorl %eax, %eax
callq 0xc8053
leaq 0x248(%rsp), %r15
movl $0x2, %ecx
movq %r15, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r15), %rax
testq %rax, %rax
je 0xfd44a
movq 0x8(%rax), %rdi
jmp 0xfd44c
xorl %edi, %edi
leaq 0x5724a(%rip), %rsi     # 0x15469d
callq 0xc84cd
testl %eax, %eax
je 0xfd485
leaq 0x3b1e4(%rip), %rdi     # 0x138647
leaq 0x57515(%rip), %rsi     # 0x15497f
leaq 0x572a4(%rip), %rdx     # 0x154715
leaq 0x56708(%rip), %rcx     # 0x153b80
movl $0x938, %r8d            # imm = 0x938
xorl %eax, %eax
callq 0xc8053
leaq 0x230(%rsp), %r15
movl $0x3, %ecx
movq %r15, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r15), %rax
testq %rax, %rax
je 0xfd4ad
movq 0x8(%rax), %rdi
jmp 0xfd4af
xorl %edi, %edi
leaq 0x5721e(%rip), %rsi     # 0x1546d4
callq 0xc84cd
testl %eax, %eax
je 0xfd4e8
leaq 0x3b181(%rip), %rdi     # 0x138647
leaq 0x5750b(%rip), %rsi     # 0x1549d8
leaq 0x57241(%rip), %rdx     # 0x154715
leaq 0x566a5(%rip), %rcx     # 0x153b80
movl $0x939, %r8d            # imm = 0x939
xorl %eax, %eax
callq 0xc8053
leaq 0x218(%rsp), %r15
movl $0x4, %ecx
movq %r15, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r15), %rax
testq %rax, %rax
je 0xfd510
movq 0x8(%rax), %rdi
jmp 0xfd512
xorl %edi, %edi
leaq 0x57199(%rip), %rsi     # 0x1546b2
callq 0xc84cd
testl %eax, %eax
je 0xfd54b
leaq 0x3b11e(%rip), %rdi     # 0x138647
leaq 0x57375(%rip), %rsi     # 0x1548a5
leaq 0x571de(%rip), %rdx     # 0x154715
leaq 0x56642(%rip), %rcx     # 0x153b80
movl $0x93a, %r8d            # imm = 0x93A
xorl %eax, %eax
callq 0xc8053
movl $0x2, %edx
movl $0x3, %ecx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xf75c6
movl $0x2, %edx
movl $0x1, %ecx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xf75c6
testq %rbp, %rbp
jne 0xfd5bb
movq 0x18(%r14), %rax
testq %rax, %rax
jne 0xfd58c
movq 0x20(%r14), %rax
movq 0x8(%rbx,%rax), %rax
cmpq $0x9, %rax
je 0xfd5bb
leaq 0x3b0ae(%rip), %rdi     # 0x138647
leaq 0x57488(%rip), %rsi     # 0x154a28
leaq 0x5716e(%rip), %rdx     # 0x154715
leaq 0x565d2(%rip), %rcx     # 0x153b80
movl $0x93f, %r8d            # imm = 0x93F
xorl %eax, %eax
callq 0xc8053
xorl %eax, %eax
callq 0xbf532
movq %rax, %r15
movl $0x2, %esi
movq %rax, %rdi
callq 0xbf737
movl $0x2, %esi
movq %r15, %rdi
callq 0xbf737
movl $0x1, %esi
movq %r15, %rdi
callq 0xbf737
movq %r15, %rdi
xorl %esi, %esi
callq 0xbf737
movl $0x3, %esi
movq %r15, %rdi
callq 0xbf737
movl $0x4, %esi
movq %r15, %rdi
callq 0xbf737
testq %rbp, %rbp
jne 0xfe06f
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0xf9848
movq 0x18(%r14), %rax
testq %rax, %rax
jne 0xfd639
movq 0x20(%r14), %rax
movq 0x8(%rbx,%rax), %rax
cmpq 0x10(%r15), %rax
je 0xfd668
leaq 0x3b001(%rip), %rdi     # 0x138647
leaq 0x573f7(%rip), %rsi     # 0x154a44
leaq 0x570c1(%rip), %rdx     # 0x154715
leaq 0x56525(%rip), %rcx     # 0x153b80
movl $0x94c, %r8d            # imm = 0x94C
xorl %eax, %eax
callq 0xc8053
xorl %r12d, %r12d
leaq 0x200(%rsp), %r13
movq %r13, %rdi
movq %r14, %rsi
movq %rbx, %rdx
xorl %ecx, %ecx
callq *0x30(%r14)
movq (%r13), %rax
testq %rax, %rax
je 0xfd68f
movq 0x8(%rax), %r12
leaq 0x56ffb(%rip), %rsi     # 0x154691
movq %r12, %rdi
callq 0xc84cd
testl %eax, %eax
je 0xfd6cb
leaq 0x3af9e(%rip), %rdi     # 0x138647
leaq 0x573ba(%rip), %rsi     # 0x154a6a
leaq 0x5705e(%rip), %rdx     # 0x154715
leaq 0x564c2(%rip), %rcx     # 0x153b80
movl $0x94e, %r8d            # imm = 0x94E
xorl %eax, %eax
callq 0xc8053
leaq 0x1e8(%rsp), %r12
movl $0x1, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfd6f4
movq 0x8(%rax), %rdi
jmp 0xfd6f6
xorl %edi, %edi
leaq 0x56f94(%rip), %rsi     # 0x154691
callq 0xc84cd
testl %eax, %eax
je 0xfd72f
leaq 0x3af3a(%rip), %rdi     # 0x138647
leaq 0x5721b(%rip), %rsi     # 0x15492f
leaq 0x56ffa(%rip), %rdx     # 0x154715
leaq 0x5645e(%rip), %rcx     # 0x153b80
movl $0x94f, %r8d            # imm = 0x94F
xorl %eax, %eax
callq 0xc8053
leaq 0x1d0(%rsp), %r12
movl $0x2, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfd758
movq 0x8(%rax), %rdi
jmp 0xfd75a
xorl %edi, %edi
leaq 0x56f73(%rip), %rsi     # 0x1546d4
callq 0xc84cd
testl %eax, %eax
je 0xfd793
leaq 0x3aed6(%rip), %rdi     # 0x138647
leaq 0x57342(%rip), %rsi     # 0x154aba
leaq 0x56f96(%rip), %rdx     # 0x154715
leaq 0x563fa(%rip), %rcx     # 0x153b80
movl $0x950, %r8d            # imm = 0x950
xorl %eax, %eax
callq 0xc8053
leaq 0x1b8(%rsp), %r12
movl $0x3, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfd7bc
movq 0x8(%rax), %rdi
jmp 0xfd7be
xorl %edi, %edi
leaq 0x56f03(%rip), %rsi     # 0x1546c8
callq 0xc84cd
testl %eax, %eax
je 0xfd7f7
leaq 0x3ae72(%rip), %rdi     # 0x138647
leaq 0x5732e(%rip), %rsi     # 0x154b0a
leaq 0x56f32(%rip), %rdx     # 0x154715
leaq 0x56396(%rip), %rcx     # 0x153b80
movl $0x951, %r8d            # imm = 0x951
xorl %eax, %eax
callq 0xc8053
leaq 0x1a0(%rsp), %r12
movl $0x4, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfd820
movq 0x8(%rax), %rdi
jmp 0xfd822
xorl %edi, %edi
leaq 0x56e74(%rip), %rsi     # 0x15469d
callq 0xc84cd
testl %eax, %eax
je 0xfd85b
leaq 0x3ae0e(%rip), %rdi     # 0x138647
leaq 0x5731a(%rip), %rsi     # 0x154b5a
leaq 0x56ece(%rip), %rdx     # 0x154715
leaq 0x56332(%rip), %rcx     # 0x153b80
movl $0x952, %r8d            # imm = 0x952
xorl %eax, %eax
callq 0xc8053
leaq 0x188(%rsp), %r12
movl $0x5, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfd884
movq 0x8(%rax), %rdi
jmp 0xfd886
xorl %edi, %edi
leaq 0x56e25(%rip), %rsi     # 0x1546b2
callq 0xc84cd
testl %eax, %eax
je 0xfd8bf
leaq 0x3adaa(%rip), %rdi     # 0x138647
leaq 0x5730f(%rip), %rsi     # 0x154bb3
leaq 0x56e6a(%rip), %rdx     # 0x154715
leaq 0x562ce(%rip), %rcx     # 0x153b80
movl $0x953, %r8d            # imm = 0x953
xorl %eax, %eax
callq 0xc8053
movq 0x18(%r14), %rax
testq %rax, %rax
jne 0xfd8d1
movq 0x20(%r14), %rax
movq 0x8(%rbx,%rax), %rax
cmpq $0x6, %rax
je 0xfd900
leaq 0x3ad69(%rip), %rdi     # 0x138647
leaq 0x57328(%rip), %rsi     # 0x154c0d
leaq 0x56e29(%rip), %rdx     # 0x154715
leaq 0x5628d(%rip), %rcx     # 0x153b80
movl $0x959, %r8d            # imm = 0x959
xorl %eax, %eax
callq 0xc8053
movl $0x4, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xf6f5e
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xf6f5e
movq 0x18(%r14), %rax
testq %rax, %rax
jne 0xfd932
movq 0x20(%r14), %rax
movq 0x8(%rbx,%rax), %rax
cmpq $0x4, %rax
je 0xfd961
leaq 0x3ad08(%rip), %rdi     # 0x138647
leaq 0x572f1(%rip), %rsi     # 0x154c37
leaq 0x56dc8(%rip), %rdx     # 0x154715
leaq 0x5622c(%rip), %rcx     # 0x153b80
movl $0x95c, %r8d            # imm = 0x95C
xorl %eax, %eax
callq 0xc8053
xorl %r12d, %r12d
leaq 0x170(%rsp), %r13
movq %r13, %rdi
movq %r14, %rsi
movq %rbx, %rdx
xorl %ecx, %ecx
callq *0x30(%r14)
movq (%r13), %rax
testq %rax, %rax
je 0xfd988
movq 0x8(%rax), %r12
leaq 0x56d02(%rip), %rsi     # 0x154691
movq %r12, %rdi
callq 0xc84cd
testl %eax, %eax
je 0xfd9c4
leaq 0x3aca5(%rip), %rdi     # 0x138647
leaq 0x570c1(%rip), %rsi     # 0x154a6a
leaq 0x56d65(%rip), %rdx     # 0x154715
leaq 0x561c9(%rip), %rcx     # 0x153b80
movl $0x95d, %r8d            # imm = 0x95D
xorl %eax, %eax
callq 0xc8053
leaq 0x158(%rsp), %r12
movl $0x1, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfd9ed
movq 0x8(%rax), %rdi
jmp 0xfd9ef
xorl %edi, %edi
leaq 0x56cde(%rip), %rsi     # 0x1546d4
callq 0xc84cd
testl %eax, %eax
je 0xfda28
leaq 0x3ac41(%rip), %rdi     # 0x138647
leaq 0x56d9f(%rip), %rsi     # 0x1547ac
leaq 0x56d01(%rip), %rdx     # 0x154715
leaq 0x56165(%rip), %rcx     # 0x153b80
movl $0x95e, %r8d            # imm = 0x95E
xorl %eax, %eax
callq 0xc8053
leaq 0x140(%rsp), %r12
movl $0x2, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfda51
movq 0x8(%rax), %rdi
jmp 0xfda53
xorl %edi, %edi
leaq 0x56c6e(%rip), %rsi     # 0x1546c8
callq 0xc84cd
testl %eax, %eax
je 0xfda8c
leaq 0x3abdd(%rip), %rdi     # 0x138647
leaq 0x571f0(%rip), %rsi     # 0x154c61
leaq 0x56c9d(%rip), %rdx     # 0x154715
leaq 0x56101(%rip), %rcx     # 0x153b80
movl $0x95f, %r8d            # imm = 0x95F
xorl %eax, %eax
callq 0xc8053
leaq 0x128(%rsp), %r12
movl $0x3, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfdab5
movq 0x8(%rax), %rdi
jmp 0xfdab7
xorl %edi, %edi
leaq 0x56bf4(%rip), %rsi     # 0x1546b2
callq 0xc84cd
testl %eax, %eax
je 0xfdaf0
leaq 0x3ab79(%rip), %rdi     # 0x138647
leaq 0x571dc(%rip), %rsi     # 0x154cb1
leaq 0x56c39(%rip), %rdx     # 0x154715
leaq 0x5609d(%rip), %rcx     # 0x153b80
movl $0x960, %r8d            # imm = 0x960
xorl %eax, %eax
callq 0xc8053
leaq 0x57214(%rip), %rdi     # 0x154d0b
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x114c1e
movq %rax, %r13
testq %rax, %rax
je 0xfdb15
movq (%r13), %rdi
callq 0x1123e1
movq %rax, %r12
movq %r13, 0x20(%rsp)
movq %r12, 0x28(%rsp)
movl $0x2, %ebp
movq %rbp, 0x30(%rsp)
movq %rbp, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movl $0x2, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xf735f
leaq 0x571d1(%rip), %rdi     # 0x154d1f
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x114c1e
movq %rax, %r13
testq %rax, %rax
je 0xfdb6c
movq (%r13), %rdi
callq 0x1123e1
movq %rax, %r12
movq %r13, 0x20(%rsp)
movq %r12, 0x28(%rsp)
movq %rbp, 0x30(%rsp)
movq %rbp, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movl $0x4, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xf735f
movq 0x18(%r14), %rax
testq %rax, %rax
jne 0xfdbab
movq 0x20(%r14), %rax
movq 0x8(%rbx,%rax), %rax
cmpq $0x6, %rax
je 0xfdbda
leaq 0x3aa8f(%rip), %rdi     # 0x138647
leaq 0x5704e(%rip), %rsi     # 0x154c0d
leaq 0x56b4f(%rip), %rdx     # 0x154715
leaq 0x55fb3(%rip), %rcx     # 0x153b80
movl $0x968, %r8d            # imm = 0x968
xorl %eax, %eax
callq 0xc8053
xorl %r12d, %r12d
leaq 0x110(%rsp), %r13
movq %r13, %rdi
movq %r14, %rsi
movq %rbx, %rdx
xorl %ecx, %ecx
callq *0x30(%r14)
movq (%r13), %rax
testq %rax, %rax
je 0xfdc01
movq 0x8(%rax), %r12
leaq 0x56a89(%rip), %rsi     # 0x154691
movq %r12, %rdi
callq 0xc84cd
testl %eax, %eax
je 0xfdc3d
leaq 0x3aa2c(%rip), %rdi     # 0x138647
leaq 0x56e48(%rip), %rsi     # 0x154a6a
leaq 0x56aec(%rip), %rdx     # 0x154715
leaq 0x55f50(%rip), %rcx     # 0x153b80
movl $0x969, %r8d            # imm = 0x969
xorl %eax, %eax
callq 0xc8053
leaq 0xf8(%rsp), %r12
movl $0x1, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfdc66
movq 0x8(%rax), %rdi
jmp 0xfdc68
xorl %edi, %edi
leaq 0x56a65(%rip), %rsi     # 0x1546d4
callq 0xc84cd
testl %eax, %eax
je 0xfdca1
leaq 0x3a9c8(%rip), %rdi     # 0x138647
leaq 0x56b26(%rip), %rsi     # 0x1547ac
leaq 0x56a88(%rip), %rdx     # 0x154715
leaq 0x55eec(%rip), %rcx     # 0x153b80
movl $0x96a, %r8d            # imm = 0x96A
xorl %eax, %eax
callq 0xc8053
leaq 0xe0(%rsp), %r12
movl $0x2, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfdcca
movq 0x8(%rax), %rdi
jmp 0xfdccc
xorl %edi, %edi
leaq 0x57038(%rip), %rsi     # 0x154d0b
callq 0xc84cd
testl %eax, %eax
je 0xfdd05
leaq 0x3a964(%rip), %rdi     # 0x138647
leaq 0x57049(%rip), %rsi     # 0x154d33
leaq 0x56a24(%rip), %rdx     # 0x154715
leaq 0x55e88(%rip), %rcx     # 0x153b80
movl $0x96b, %r8d            # imm = 0x96B
xorl %eax, %eax
callq 0xc8053
leaq 0xc8(%rsp), %r12
movl $0x3, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfdd2e
movq 0x8(%rax), %rdi
jmp 0xfdd30
xorl %edi, %edi
leaq 0x56991(%rip), %rsi     # 0x1546c8
callq 0xc84cd
testl %eax, %eax
je 0xfdd69
leaq 0x3a900(%rip), %rdi     # 0x138647
leaq 0x56dbc(%rip), %rsi     # 0x154b0a
leaq 0x569c0(%rip), %rdx     # 0x154715
leaq 0x55e24(%rip), %rcx     # 0x153b80
movl $0x96c, %r8d            # imm = 0x96C
xorl %eax, %eax
callq 0xc8053
leaq 0xb0(%rsp), %r12
movl $0x4, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfdd92
movq 0x8(%rax), %rdi
jmp 0xfdd94
xorl %edi, %edi
leaq 0x56f84(%rip), %rsi     # 0x154d1f
callq 0xc84cd
testl %eax, %eax
je 0xfddcd
leaq 0x3a89c(%rip), %rdi     # 0x138647
leaq 0x56fd9(%rip), %rsi     # 0x154d8b
leaq 0x5695c(%rip), %rdx     # 0x154715
leaq 0x55dc0(%rip), %rcx     # 0x153b80
movl $0x96d, %r8d            # imm = 0x96D
xorl %eax, %eax
callq 0xc8053
leaq 0x98(%rsp), %r12
movl $0x5, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfddf6
movq 0x8(%rax), %rdi
jmp 0xfddf8
xorl %edi, %edi
leaq 0x568b3(%rip), %rsi     # 0x1546b2
callq 0xc84cd
testl %eax, %eax
je 0xfde31
leaq 0x3a838(%rip), %rdi     # 0x138647
leaq 0x56d9d(%rip), %rsi     # 0x154bb3
leaq 0x568f8(%rip), %rdx     # 0x154715
leaq 0x55d5c(%rip), %rcx     # 0x153b80
movl $0x96e, %r8d            # imm = 0x96E
xorl %eax, %eax
callq 0xc8053
cmpb $0x0, 0x1f(%rsp)
je 0xfe06f
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
xorl %r12d, %r12d
movq %r12, 0x30(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movaps 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movl $0x2, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq *0x38(%r14)
movq %r12, 0x30(%rsp)
xorps %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movaps 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
movl $0x4, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq *0x38(%r14)
movq %r14, %rdi
movq %rbx, %rsi
callq 0xf720b
movq 0x18(%r14), %rax
testq %rax, %rax
jne 0xfdeba
movq 0x20(%r14), %rax
movq 0x8(%rbx,%rax), %rax
cmpq $0x4, %rax
je 0xfdee9
leaq 0x3a780(%rip), %rdi     # 0x138647
leaq 0x56d69(%rip), %rsi     # 0x154c37
leaq 0x56840(%rip), %rdx     # 0x154715
leaq 0x55ca4(%rip), %rcx     # 0x153b80
movl $0x977, %r8d            # imm = 0x977
xorl %eax, %eax
callq 0xc8053
xorl %r12d, %r12d
leaq 0x80(%rsp), %r13
movq %r13, %rdi
movq %r14, %rsi
movq %rbx, %rdx
xorl %ecx, %ecx
callq *0x30(%r14)
movq (%r13), %rax
testq %rax, %rax
je 0xfdf10
movq 0x8(%rax), %r12
leaq 0x5677a(%rip), %rsi     # 0x154691
movq %r12, %rdi
callq 0xc84cd
testl %eax, %eax
je 0xfdf4c
leaq 0x3a71d(%rip), %rdi     # 0x138647
leaq 0x56b39(%rip), %rsi     # 0x154a6a
leaq 0x567dd(%rip), %rdx     # 0x154715
leaq 0x55c41(%rip), %rcx     # 0x153b80
movl $0x978, %r8d            # imm = 0x978
xorl %eax, %eax
callq 0xc8053
leaq 0x68(%rsp), %r12
movl $0x1, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfdf72
movq 0x8(%rax), %rdi
jmp 0xfdf74
xorl %edi, %edi
leaq 0x56759(%rip), %rsi     # 0x1546d4
callq 0xc84cd
testl %eax, %eax
je 0xfdfad
leaq 0x3a6bc(%rip), %rdi     # 0x138647
leaq 0x5681a(%rip), %rsi     # 0x1547ac
leaq 0x5677c(%rip), %rdx     # 0x154715
leaq 0x55be0(%rip), %rcx     # 0x153b80
movl $0x979, %r8d            # imm = 0x979
xorl %eax, %eax
callq 0xc8053
leaq 0x50(%rsp), %r12
movl $0x2, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfdfd3
movq 0x8(%rax), %rdi
jmp 0xfdfd5
xorl %edi, %edi
leaq 0x566ec(%rip), %rsi     # 0x1546c8
callq 0xc84cd
testl %eax, %eax
je 0xfe00e
leaq 0x3a65b(%rip), %rdi     # 0x138647
leaq 0x56c6e(%rip), %rsi     # 0x154c61
leaq 0x5671b(%rip), %rdx     # 0x154715
leaq 0x55b7f(%rip), %rcx     # 0x153b80
movl $0x97a, %r8d            # imm = 0x97A
xorl %eax, %eax
callq 0xc8053
leaq 0x38(%rsp), %r12
movl $0x3, %ecx
movq %r12, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq *0x30(%r14)
movq (%r12), %rax
testq %rax, %rax
je 0xfe034
movq 0x8(%rax), %rdi
jmp 0xfe036
xorl %edi, %edi
leaq 0x56675(%rip), %rsi     # 0x1546b2
callq 0xc84cd
testl %eax, %eax
je 0xfe06f
leaq 0x3a5fa(%rip), %rdi     # 0x138647
leaq 0x56c5d(%rip), %rsi     # 0x154cb1
leaq 0x566ba(%rip), %rdx     # 0x154715
leaq 0x55b1e(%rip), %rcx     # 0x153b80
movl $0x97b, %r8d            # imm = 0x97B
xorl %eax, %eax
callq 0xc8053
movq %r15, %rdi
callq 0xbf561
testq %rbx, %rbx
je 0xfe11d
movq (%rbx), %r14
leaq 0xab3de(%rip), %rax     # 0x1a9468
movl (%rax), %ecx
movslq %ecx, %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movq 0x18(%rax,%rcx,8), %rcx
andq %r14, %rcx
shlq $0x4, %rcx
leaq (%rdx,%rcx), %rax
movq (%rdx,%rcx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0xfe0e0
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0xfe0e0
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0xfe0e0
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0xfe13f
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0xfe110
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %r14, %rsi
callq 0xf3f85
movq %rax, %r15
leaq 0xab363(%rip), %rdi     # 0x1a9468
movq %r14, %rsi
movq %rax, %rdx
callq 0x12128c
movq %r15, %rdi
movq %rbx, %rsi
callq *0xb8(%r15)
addq $0x308, %rsp            # imm = 0x308
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
xorl %r14d, %r14d
jmp 0xfcd79
xorl %r14d, %r14d
jmp 0xfccd0
xorl %r15d, %r15d
jmp 0xfe0e4