// File: /workspace/github_c_makefile_star2_O3/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 0xf2640
movabsq $-0x340d631b7bdddcdb, %rbx # imm = 0xCBF29CE484222325
movb (%r15), %dl
testb %dl, %dl
je 0xf264a
leaq 0x1(%r15), %rax
movabsq $0x100000001b3, %rcx    # imm = 0x100000001B3
movq %rbx, %rsi
movzbl %dl, %edi
xorq %rdi, %rbx
imulq %rcx, %rbx
movb (%rax), %dl
incq %rax
testb %dl, %dl
jne 0xf261e
cmpq %rdi, %rsi
jne 0xf264a
xorl %ebx, %ebx
jmp 0xf26e4
movabsq $-0x509c42b379fe4821, %rbx # imm = 0xAF63BD4C8601B7DF
leaq 0xa9e17(%rip), %rax     # 0x19c468
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 0xf26a7
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbx, %rdx
je 0xf26a7
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbx, %rdx
je 0xf26a7
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbx, %rdx
jne 0xf26b0
movq (%rax,%rcx), %r14
testq %r14, %r14
jne 0xf26d7
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %rbx, %rsi
callq 0xe9bc5
movq %rax, %r14
leaq 0xa9d9c(%rip), %rdi     # 0x19c468
movq %rbx, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r14, %rdi
callq *0xa8(%r14)
movq %rax, %rbx
movq (%rbx), %r12
leaq 0xa9732(%rip), %rax     # 0x19be20
movl 0xa972c(%rip), %ecx     # 0x19be20
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 0xf2748
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0xf2748
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0xf2748
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0xf2751
movq (%rax,%rcx), %r14
testq %r14, %r14
jne 0xf2778
movabsq $-0x5073d588c3beb52e, %rdi # imm = 0xAF8C2A773C414AD2
movq %r12, %rsi
callq 0xe9bc5
movq %rax, %r14
leaq 0xa96b3(%rip), %rdi     # 0x19be20
movq %r12, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x18(%r14), %rbp
movb 0x42(%r14), %al
movb %al, 0x1f(%rsp)
testq %rbp, %rbp
jne 0xf27ae
movabsq $-0x503db0e6e1c2e704, %rdx # imm = 0xAFC24F191E3D18FC
movq %r14, %rdi
movq %rbx, %rsi
callq 0xeda54
movl $0x5, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xec548
leaq 0x56f04(%rip), %rdi     # 0x1496b9
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x109ce5
movq %rax, %r13
testq %rax, %rax
je 0xf27d3
movq (%r13), %rdi
callq 0x1074f1
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 0x56eb6(%rip), %rdi     # 0x1496c5
xorl %eax, %eax
callq 0x109ce5
movq %rax, %r13
testq %rax, %rax
je 0xf282a
movq (%r13), %rdi
callq 0x1074f1
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 0x56e74(%rip), %rdi     # 0x1496da
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x109ce5
movq %rax, %r13
testq %rax, %rax
je 0xf2884
movq (%r13), %rdi
callq 0x1074f1
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 0x56e30(%rip), %rdi     # 0x1496f0
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x109ce5
movq %rax, %r13
testq %rax, %rax
je 0xf28de
movq (%r13), %rdi
callq 0x1074f1
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 0x56de2(%rip), %rdi     # 0x1496fc
xorl %eax, %eax
callq 0x109ce5
movq %rax, %r12
testq %rbp, %rbp
je 0xf2939
testq %r12, %r12
je 0xf2949
movq (%r12), %rdi
callq 0x1074f1
jmp 0xf294b
testq %r12, %r12
je 0xf2982
movq (%r12), %rdi
callq 0x1074f1
jmp 0xf2984
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
movq %r14, %rdi
movq %rbx, %rsi
callq *0x38(%r14)
jmp 0xf29d6
xorl %eax, %eax
movq %r12, 0x20(%rsp)
movq %rax, 0x28(%rsp)
movq $0x2, 0x30(%rsp)
movq 0x18(%r14), %rdx
testq %rdx, %rdx
jne 0xf29a9
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)
movl $0x14, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xebeb6
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq $-0x1, %rcx
movl $0x1, %r8d
callq 0xee5d0
cmpq $0x7, %rax
je 0xf2a1f
leaq 0x3ac4a(%rip), %rdi     # 0x12d647
leaq 0x56d04(%rip), %rsi     # 0x149708
leaq 0x56d32(%rip), %rdx     # 0x14973d
leaq 0x56196(%rip), %rcx     # 0x148ba8
movl $0x91e, %r8d            # imm = 0x91E
xorl %eax, %eax
callq 0xbe4ef
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq $-0x1, %rcx
movl $0x1, %r8d
callq 0xeec21
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq $-0x1, %rcx
movl $0xffffffff, %r8d       # imm = 0xFFFFFFFF
callq 0xef1df
movq %rax, %r12
movq %r14, %rdi
movq %rbx, %rsi
movq %rax, %rdx
callq 0xef2dc
movq %r12, %rdi
callq 0xb5b11
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq $-0x1, %rcx
movl $0x1, %r8d
callq 0xee5d0
testq %rax, %rax
je 0xf2ab4
leaq 0x3abb5(%rip), %rdi     # 0x12d647
leaq 0x56cb6(%rip), %rsi     # 0x14974f
leaq 0x56c9d(%rip), %rdx     # 0x14973d
leaq 0x56101(%rip), %rcx     # 0x148ba8
movl $0x927, %r8d            # imm = 0x927
xorl %eax, %eax
callq 0xbe4ef
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 0xf2adb
movq 0x8(%rax), %r12
leaq 0x56c0e(%rip), %rsi     # 0x1496f0
movq %r12, %rdi
callq 0xbe959
testl %eax, %eax
je 0xf2b17
leaq 0x3ab52(%rip), %rdi     # 0x12d647
leaq 0x56c88(%rip), %rsi     # 0x149784
leaq 0x56c3a(%rip), %rdx     # 0x14973d
leaq 0x5609e(%rip), %rcx     # 0x148ba8
movl $0x929, %r8d            # imm = 0x929
xorl %eax, %eax
callq 0xbe4ef
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 0xf2b40
movq 0x8(%rax), %rdi
jmp 0xf2b42
xorl %edi, %edi
leaq 0x56bb3(%rip), %rsi     # 0x1496fc
callq 0xbe959
testl %eax, %eax
je 0xf2b7b
leaq 0x3aaee(%rip), %rdi     # 0x12d647
leaq 0x56c74(%rip), %rsi     # 0x1497d4
leaq 0x56bd6(%rip), %rdx     # 0x14973d
leaq 0x5603a(%rip), %rcx     # 0x148ba8
movl $0x92a, %r8d            # imm = 0x92A
xorl %eax, %eax
callq 0xbe4ef
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 0xf2ba4
movq 0x8(%rax), %rdi
jmp 0xf2ba6
xorl %edi, %edi
leaq 0x56b0c(%rip), %rsi     # 0x1496b9
callq 0xbe959
testl %eax, %eax
je 0xf2bdf
leaq 0x3aa8a(%rip), %rdi     # 0x12d647
leaq 0x56c60(%rip), %rsi     # 0x149824
leaq 0x56b72(%rip), %rdx     # 0x14973d
leaq 0x55fd6(%rip), %rcx     # 0x148ba8
movl $0x92b, %r8d            # imm = 0x92B
xorl %eax, %eax
callq 0xbe4ef
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 0xf2c08
movq 0x8(%rax), %rdi
jmp 0xf2c0a
xorl %edi, %edi
leaq 0x56ab4(%rip), %rsi     # 0x1496c5
callq 0xbe959
testl %eax, %eax
je 0xf2c43
leaq 0x3aa26(%rip), %rdi     # 0x12d647
leaq 0x56c4c(%rip), %rsi     # 0x149874
leaq 0x56b0e(%rip), %rdx     # 0x14973d
leaq 0x55f72(%rip), %rcx     # 0x148ba8
movl $0x92c, %r8d            # imm = 0x92C
xorl %eax, %eax
callq 0xbe4ef
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 0xf2c6c
movq 0x8(%rax), %rdi
jmp 0xf2c6e
xorl %edi, %edi
leaq 0x56a65(%rip), %rsi     # 0x1496da
callq 0xbe959
testl %eax, %eax
je 0xf2ca7
leaq 0x3a9c2(%rip), %rdi     # 0x12d647
leaq 0x56c41(%rip), %rsi     # 0x1498cd
leaq 0x56aaa(%rip), %rdx     # 0x14973d
leaq 0x55f0e(%rip), %rcx     # 0x148ba8
movl $0x92d, %r8d            # imm = 0x92D
xorl %eax, %eax
callq 0xbe4ef
leaq 0x56c79(%rip), %rdi     # 0x149927
movq %r15, %rsi
xorl %eax, %eax
callq 0xbe364
movq 0x18(%r14), %r15
testq %r15, %r15
jne 0xf2cca
movq 0x20(%r14), %rax
movq 0x8(%rbx,%rax), %r15
movl $0x2, %edx
movl $0x1, %ecx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xed0d0
movl $0x2, %edx
movl $0x3, %ecx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xed0d0
movq 0x18(%r14), %rax
testq %rax, %rax
jne 0xf2d06
movq 0x20(%r14), %rax
movq 0x8(%rbx,%rax), %rax
cmpq %r15, %rax
je 0xf2d34
leaq 0x3a935(%rip), %rdi     # 0x12d647
leaq 0x56c1f(%rip), %rsi     # 0x149938
leaq 0x56a1d(%rip), %rdx     # 0x14973d
leaq 0x55e81(%rip), %rcx     # 0x148ba8
movl $0x935, %r8d            # imm = 0x935
xorl %eax, %eax
callq 0xbe4ef
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 0xf2d5b
movq 0x8(%rax), %r15
leaq 0x5698e(%rip), %rsi     # 0x1496f0
movq %r15, %rdi
callq 0xbe959
testl %eax, %eax
je 0xf2d97
leaq 0x3a8d2(%rip), %rdi     # 0x12d647
leaq 0x56a08(%rip), %rsi     # 0x149784
leaq 0x569ba(%rip), %rdx     # 0x14973d
leaq 0x55e1e(%rip), %rcx     # 0x148ba8
movl $0x936, %r8d            # imm = 0x936
xorl %eax, %eax
callq 0xbe4ef
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 0xf2dbf
movq 0x8(%rax), %rdi
jmp 0xf2dc1
xorl %edi, %edi
leaq 0x568f1(%rip), %rsi     # 0x1496b9
callq 0xbe959
testl %eax, %eax
je 0xf2dfa
leaq 0x3a86f(%rip), %rdi     # 0x12d647
leaq 0x56b78(%rip), %rsi     # 0x149957
leaq 0x56957(%rip), %rdx     # 0x14973d
leaq 0x55dbb(%rip), %rcx     # 0x148ba8
movl $0x937, %r8d            # imm = 0x937
xorl %eax, %eax
callq 0xbe4ef
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 0xf2e22
movq 0x8(%rax), %rdi
jmp 0xf2e24
xorl %edi, %edi
leaq 0x5689a(%rip), %rsi     # 0x1496c5
callq 0xbe959
testl %eax, %eax
je 0xf2e5d
leaq 0x3a80c(%rip), %rdi     # 0x12d647
leaq 0x56b65(%rip), %rsi     # 0x1499a7
leaq 0x568f4(%rip), %rdx     # 0x14973d
leaq 0x55d58(%rip), %rcx     # 0x148ba8
movl $0x938, %r8d            # imm = 0x938
xorl %eax, %eax
callq 0xbe4ef
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 0xf2e85
movq 0x8(%rax), %rdi
jmp 0xf2e87
xorl %edi, %edi
leaq 0x5686e(%rip), %rsi     # 0x1496fc
callq 0xbe959
testl %eax, %eax
je 0xf2ec0
leaq 0x3a7a9(%rip), %rdi     # 0x12d647
leaq 0x56b5b(%rip), %rsi     # 0x149a00
leaq 0x56891(%rip), %rdx     # 0x14973d
leaq 0x55cf5(%rip), %rcx     # 0x148ba8
movl $0x939, %r8d            # imm = 0x939
xorl %eax, %eax
callq 0xbe4ef
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 0xf2ee8
movq 0x8(%rax), %rdi
jmp 0xf2eea
xorl %edi, %edi
leaq 0x567e9(%rip), %rsi     # 0x1496da
callq 0xbe959
testl %eax, %eax
je 0xf2f23
leaq 0x3a746(%rip), %rdi     # 0x12d647
leaq 0x569c5(%rip), %rsi     # 0x1498cd
leaq 0x5682e(%rip), %rdx     # 0x14973d
leaq 0x55c92(%rip), %rcx     # 0x148ba8
movl $0x93a, %r8d            # imm = 0x93A
xorl %eax, %eax
callq 0xbe4ef
movl $0x2, %edx
movl $0x3, %ecx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xed0d0
movl $0x2, %edx
movl $0x1, %ecx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xed0d0
testq %rbp, %rbp
jne 0xf2f93
movq 0x18(%r14), %rax
testq %rax, %rax
jne 0xf2f64
movq 0x20(%r14), %rax
movq 0x8(%rbx,%rax), %rax
cmpq $0x9, %rax
je 0xf2f93
leaq 0x3a6d6(%rip), %rdi     # 0x12d647
leaq 0x56ad8(%rip), %rsi     # 0x149a50
leaq 0x567be(%rip), %rdx     # 0x14973d
leaq 0x55c22(%rip), %rcx     # 0x148ba8
movl $0x93f, %r8d            # imm = 0x93F
xorl %eax, %eax
callq 0xbe4ef
xorl %eax, %eax
callq 0xb5ae2
movq %rax, %r15
movl $0x2, %esi
movq %rax, %rdi
callq 0xb5ce7
movl $0x2, %esi
movq %r15, %rdi
callq 0xb5ce7
movl $0x1, %esi
movq %r15, %rdi
callq 0xb5ce7
movq %r15, %rdi
xorl %esi, %esi
callq 0xb5ce7
movl $0x3, %esi
movq %r15, %rdi
callq 0xb5ce7
movl $0x4, %esi
movq %r15, %rdi
callq 0xb5ce7
testq %rbp, %rbp
jne 0xf3a47
movq %r14, %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0xef2dc
movq 0x18(%r14), %rax
testq %rax, %rax
jne 0xf3011
movq 0x20(%r14), %rax
movq 0x8(%rbx,%rax), %rax
cmpq 0x10(%r15), %rax
je 0xf3040
leaq 0x3a629(%rip), %rdi     # 0x12d647
leaq 0x56a47(%rip), %rsi     # 0x149a6c
leaq 0x56711(%rip), %rdx     # 0x14973d
leaq 0x55b75(%rip), %rcx     # 0x148ba8
movl $0x94c, %r8d            # imm = 0x94C
xorl %eax, %eax
callq 0xbe4ef
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 0xf3067
movq 0x8(%rax), %r12
leaq 0x5664b(%rip), %rsi     # 0x1496b9
movq %r12, %rdi
callq 0xbe959
testl %eax, %eax
je 0xf30a3
leaq 0x3a5c6(%rip), %rdi     # 0x12d647
leaq 0x56a0a(%rip), %rsi     # 0x149a92
leaq 0x566ae(%rip), %rdx     # 0x14973d
leaq 0x55b12(%rip), %rcx     # 0x148ba8
movl $0x94e, %r8d            # imm = 0x94E
xorl %eax, %eax
callq 0xbe4ef
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 0xf30cc
movq 0x8(%rax), %rdi
jmp 0xf30ce
xorl %edi, %edi
leaq 0x565e4(%rip), %rsi     # 0x1496b9
callq 0xbe959
testl %eax, %eax
je 0xf3107
leaq 0x3a562(%rip), %rdi     # 0x12d647
leaq 0x5686b(%rip), %rsi     # 0x149957
leaq 0x5664a(%rip), %rdx     # 0x14973d
leaq 0x55aae(%rip), %rcx     # 0x148ba8
movl $0x94f, %r8d            # imm = 0x94F
xorl %eax, %eax
callq 0xbe4ef
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 0xf3130
movq 0x8(%rax), %rdi
jmp 0xf3132
xorl %edi, %edi
leaq 0x565c3(%rip), %rsi     # 0x1496fc
callq 0xbe959
testl %eax, %eax
je 0xf316b
leaq 0x3a4fe(%rip), %rdi     # 0x12d647
leaq 0x56992(%rip), %rsi     # 0x149ae2
leaq 0x565e6(%rip), %rdx     # 0x14973d
leaq 0x55a4a(%rip), %rcx     # 0x148ba8
movl $0x950, %r8d            # imm = 0x950
xorl %eax, %eax
callq 0xbe4ef
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 0xf3194
movq 0x8(%rax), %rdi
jmp 0xf3196
xorl %edi, %edi
leaq 0x56553(%rip), %rsi     # 0x1496f0
callq 0xbe959
testl %eax, %eax
je 0xf31cf
leaq 0x3a49a(%rip), %rdi     # 0x12d647
leaq 0x5697e(%rip), %rsi     # 0x149b32
leaq 0x56582(%rip), %rdx     # 0x14973d
leaq 0x559e6(%rip), %rcx     # 0x148ba8
movl $0x951, %r8d            # imm = 0x951
xorl %eax, %eax
callq 0xbe4ef
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 0xf31f8
movq 0x8(%rax), %rdi
jmp 0xf31fa
xorl %edi, %edi
leaq 0x564c4(%rip), %rsi     # 0x1496c5
callq 0xbe959
testl %eax, %eax
je 0xf3233
leaq 0x3a436(%rip), %rdi     # 0x12d647
leaq 0x5696a(%rip), %rsi     # 0x149b82
leaq 0x5651e(%rip), %rdx     # 0x14973d
leaq 0x55982(%rip), %rcx     # 0x148ba8
movl $0x952, %r8d            # imm = 0x952
xorl %eax, %eax
callq 0xbe4ef
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 0xf325c
movq 0x8(%rax), %rdi
jmp 0xf325e
xorl %edi, %edi
leaq 0x56475(%rip), %rsi     # 0x1496da
callq 0xbe959
testl %eax, %eax
je 0xf3297
leaq 0x3a3d2(%rip), %rdi     # 0x12d647
leaq 0x5695f(%rip), %rsi     # 0x149bdb
leaq 0x564ba(%rip), %rdx     # 0x14973d
leaq 0x5591e(%rip), %rcx     # 0x148ba8
movl $0x953, %r8d            # imm = 0x953
xorl %eax, %eax
callq 0xbe4ef
movq 0x18(%r14), %rax
testq %rax, %rax
jne 0xf32a9
movq 0x20(%r14), %rax
movq 0x8(%rbx,%rax), %rax
cmpq $0x6, %rax
je 0xf32d8
leaq 0x3a391(%rip), %rdi     # 0x12d647
leaq 0x56978(%rip), %rsi     # 0x149c35
leaq 0x56479(%rip), %rdx     # 0x14973d
leaq 0x558dd(%rip), %rcx     # 0x148ba8
movl $0x959, %r8d            # imm = 0x959
xorl %eax, %eax
callq 0xbe4ef
movl $0x4, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xeca90
movl $0x1, %edx
movq %r14, %rdi
movq %rbx, %rsi
callq 0xeca90
movq 0x18(%r14), %rax
testq %rax, %rax
jne 0xf330a
movq 0x20(%r14), %rax
movq 0x8(%rbx,%rax), %rax
cmpq $0x4, %rax
je 0xf3339
leaq 0x3a330(%rip), %rdi     # 0x12d647
leaq 0x56941(%rip), %rsi     # 0x149c5f
leaq 0x56418(%rip), %rdx     # 0x14973d
leaq 0x5587c(%rip), %rcx     # 0x148ba8
movl $0x95c, %r8d            # imm = 0x95C
xorl %eax, %eax
callq 0xbe4ef
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 0xf3360
movq 0x8(%rax), %r12
leaq 0x56352(%rip), %rsi     # 0x1496b9
movq %r12, %rdi
callq 0xbe959
testl %eax, %eax
je 0xf339c
leaq 0x3a2cd(%rip), %rdi     # 0x12d647
leaq 0x56711(%rip), %rsi     # 0x149a92
leaq 0x563b5(%rip), %rdx     # 0x14973d
leaq 0x55819(%rip), %rcx     # 0x148ba8
movl $0x95d, %r8d            # imm = 0x95D
xorl %eax, %eax
callq 0xbe4ef
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 0xf33c5
movq 0x8(%rax), %rdi
jmp 0xf33c7
xorl %edi, %edi
leaq 0x5632e(%rip), %rsi     # 0x1496fc
callq 0xbe959
testl %eax, %eax
je 0xf3400
leaq 0x3a269(%rip), %rdi     # 0x12d647
leaq 0x563ef(%rip), %rsi     # 0x1497d4
leaq 0x56351(%rip), %rdx     # 0x14973d
leaq 0x557b5(%rip), %rcx     # 0x148ba8
movl $0x95e, %r8d            # imm = 0x95E
xorl %eax, %eax
callq 0xbe4ef
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 0xf3429
movq 0x8(%rax), %rdi
jmp 0xf342b
xorl %edi, %edi
leaq 0x562be(%rip), %rsi     # 0x1496f0
callq 0xbe959
testl %eax, %eax
je 0xf3464
leaq 0x3a205(%rip), %rdi     # 0x12d647
leaq 0x56840(%rip), %rsi     # 0x149c89
leaq 0x562ed(%rip), %rdx     # 0x14973d
leaq 0x55751(%rip), %rcx     # 0x148ba8
movl $0x95f, %r8d            # imm = 0x95F
xorl %eax, %eax
callq 0xbe4ef
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 0xf348d
movq 0x8(%rax), %rdi
jmp 0xf348f
xorl %edi, %edi
leaq 0x56244(%rip), %rsi     # 0x1496da
callq 0xbe959
testl %eax, %eax
je 0xf34c8
leaq 0x3a1a1(%rip), %rdi     # 0x12d647
leaq 0x5682c(%rip), %rsi     # 0x149cd9
leaq 0x56289(%rip), %rdx     # 0x14973d
leaq 0x556ed(%rip), %rcx     # 0x148ba8
movl $0x960, %r8d            # imm = 0x960
xorl %eax, %eax
callq 0xbe4ef
leaq 0x56864(%rip), %rdi     # 0x149d33
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x109ce5
movq %rax, %r13
testq %rax, %rax
je 0xf34ed
movq (%r13), %rdi
callq 0x1074f1
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 0xece7a
leaq 0x56821(%rip), %rdi     # 0x149d47
xorl %r12d, %r12d
xorl %eax, %eax
callq 0x109ce5
movq %rax, %r13
testq %rax, %rax
je 0xf3544
movq (%r13), %rdi
callq 0x1074f1
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 0xece7a
movq 0x18(%r14), %rax
testq %rax, %rax
jne 0xf3583
movq 0x20(%r14), %rax
movq 0x8(%rbx,%rax), %rax
cmpq $0x6, %rax
je 0xf35b2
leaq 0x3a0b7(%rip), %rdi     # 0x12d647
leaq 0x5669e(%rip), %rsi     # 0x149c35
leaq 0x5619f(%rip), %rdx     # 0x14973d
leaq 0x55603(%rip), %rcx     # 0x148ba8
movl $0x968, %r8d            # imm = 0x968
xorl %eax, %eax
callq 0xbe4ef
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 0xf35d9
movq 0x8(%rax), %r12
leaq 0x560d9(%rip), %rsi     # 0x1496b9
movq %r12, %rdi
callq 0xbe959
testl %eax, %eax
je 0xf3615
leaq 0x3a054(%rip), %rdi     # 0x12d647
leaq 0x56498(%rip), %rsi     # 0x149a92
leaq 0x5613c(%rip), %rdx     # 0x14973d
leaq 0x555a0(%rip), %rcx     # 0x148ba8
movl $0x969, %r8d            # imm = 0x969
xorl %eax, %eax
callq 0xbe4ef
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 0xf363e
movq 0x8(%rax), %rdi
jmp 0xf3640
xorl %edi, %edi
leaq 0x560b5(%rip), %rsi     # 0x1496fc
callq 0xbe959
testl %eax, %eax
je 0xf3679
leaq 0x39ff0(%rip), %rdi     # 0x12d647
leaq 0x56176(%rip), %rsi     # 0x1497d4
leaq 0x560d8(%rip), %rdx     # 0x14973d
leaq 0x5553c(%rip), %rcx     # 0x148ba8
movl $0x96a, %r8d            # imm = 0x96A
xorl %eax, %eax
callq 0xbe4ef
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 0xf36a2
movq 0x8(%rax), %rdi
jmp 0xf36a4
xorl %edi, %edi
leaq 0x56688(%rip), %rsi     # 0x149d33
callq 0xbe959
testl %eax, %eax
je 0xf36dd
leaq 0x39f8c(%rip), %rdi     # 0x12d647
leaq 0x56699(%rip), %rsi     # 0x149d5b
leaq 0x56074(%rip), %rdx     # 0x14973d
leaq 0x554d8(%rip), %rcx     # 0x148ba8
movl $0x96b, %r8d            # imm = 0x96B
xorl %eax, %eax
callq 0xbe4ef
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 0xf3706
movq 0x8(%rax), %rdi
jmp 0xf3708
xorl %edi, %edi
leaq 0x55fe1(%rip), %rsi     # 0x1496f0
callq 0xbe959
testl %eax, %eax
je 0xf3741
leaq 0x39f28(%rip), %rdi     # 0x12d647
leaq 0x5640c(%rip), %rsi     # 0x149b32
leaq 0x56010(%rip), %rdx     # 0x14973d
leaq 0x55474(%rip), %rcx     # 0x148ba8
movl $0x96c, %r8d            # imm = 0x96C
xorl %eax, %eax
callq 0xbe4ef
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 0xf376a
movq 0x8(%rax), %rdi
jmp 0xf376c
xorl %edi, %edi
leaq 0x565d4(%rip), %rsi     # 0x149d47
callq 0xbe959
testl %eax, %eax
je 0xf37a5
leaq 0x39ec4(%rip), %rdi     # 0x12d647
leaq 0x56629(%rip), %rsi     # 0x149db3
leaq 0x55fac(%rip), %rdx     # 0x14973d
leaq 0x55410(%rip), %rcx     # 0x148ba8
movl $0x96d, %r8d            # imm = 0x96D
xorl %eax, %eax
callq 0xbe4ef
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 0xf37ce
movq 0x8(%rax), %rdi
jmp 0xf37d0
xorl %edi, %edi
leaq 0x55f03(%rip), %rsi     # 0x1496da
callq 0xbe959
testl %eax, %eax
je 0xf3809
leaq 0x39e60(%rip), %rdi     # 0x12d647
leaq 0x563ed(%rip), %rsi     # 0x149bdb
leaq 0x55f48(%rip), %rdx     # 0x14973d
leaq 0x553ac(%rip), %rcx     # 0x148ba8
movl $0x96e, %r8d            # imm = 0x96E
xorl %eax, %eax
callq 0xbe4ef
cmpb $0x0, 0x1f(%rsp)
je 0xf3a47
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 0xecd2a
movq 0x18(%r14), %rax
testq %rax, %rax
jne 0xf3892
movq 0x20(%r14), %rax
movq 0x8(%rbx,%rax), %rax
cmpq $0x4, %rax
je 0xf38c1
leaq 0x39da8(%rip), %rdi     # 0x12d647
leaq 0x563b9(%rip), %rsi     # 0x149c5f
leaq 0x55e90(%rip), %rdx     # 0x14973d
leaq 0x552f4(%rip), %rcx     # 0x148ba8
movl $0x977, %r8d            # imm = 0x977
xorl %eax, %eax
callq 0xbe4ef
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 0xf38e8
movq 0x8(%rax), %r12
leaq 0x55dca(%rip), %rsi     # 0x1496b9
movq %r12, %rdi
callq 0xbe959
testl %eax, %eax
je 0xf3924
leaq 0x39d45(%rip), %rdi     # 0x12d647
leaq 0x56189(%rip), %rsi     # 0x149a92
leaq 0x55e2d(%rip), %rdx     # 0x14973d
leaq 0x55291(%rip), %rcx     # 0x148ba8
movl $0x978, %r8d            # imm = 0x978
xorl %eax, %eax
callq 0xbe4ef
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 0xf394a
movq 0x8(%rax), %rdi
jmp 0xf394c
xorl %edi, %edi
leaq 0x55da9(%rip), %rsi     # 0x1496fc
callq 0xbe959
testl %eax, %eax
je 0xf3985
leaq 0x39ce4(%rip), %rdi     # 0x12d647
leaq 0x55e6a(%rip), %rsi     # 0x1497d4
leaq 0x55dcc(%rip), %rdx     # 0x14973d
leaq 0x55230(%rip), %rcx     # 0x148ba8
movl $0x979, %r8d            # imm = 0x979
xorl %eax, %eax
callq 0xbe4ef
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 0xf39ab
movq 0x8(%rax), %rdi
jmp 0xf39ad
xorl %edi, %edi
leaq 0x55d3c(%rip), %rsi     # 0x1496f0
callq 0xbe959
testl %eax, %eax
je 0xf39e6
leaq 0x39c83(%rip), %rdi     # 0x12d647
leaq 0x562be(%rip), %rsi     # 0x149c89
leaq 0x55d6b(%rip), %rdx     # 0x14973d
leaq 0x551cf(%rip), %rcx     # 0x148ba8
movl $0x97a, %r8d            # imm = 0x97A
xorl %eax, %eax
callq 0xbe4ef
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 0xf3a0c
movq 0x8(%rax), %rdi
jmp 0xf3a0e
xorl %edi, %edi
leaq 0x55cc5(%rip), %rsi     # 0x1496da
callq 0xbe959
testl %eax, %eax
je 0xf3a47
leaq 0x39c22(%rip), %rdi     # 0x12d647
leaq 0x562ad(%rip), %rsi     # 0x149cd9
leaq 0x55d0a(%rip), %rdx     # 0x14973d
leaq 0x5516e(%rip), %rcx     # 0x148ba8
movl $0x97b, %r8d            # imm = 0x97B
xorl %eax, %eax
callq 0xbe4ef
movq %r15, %rdi
callq 0xb5b11
movq (%rbx), %r14
leaq 0xa8a0f(%rip), %rax     # 0x19c468
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 0xf3aaf
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0xf3aaf
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0xf3aaf
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0xf3ab8
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0xf3adf
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0xa8994(%rip), %rdi     # 0x19c468
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
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