// File: /workspace/github_c_makefile_star2_O2/johsteffens[P]beth/lib/bcore/bcore_st.c
// Function: st_s_quicktest
static void st_s_quicktest( void )
{
    uz_t granted_space = bcore_tbman_total_granted_space();

    bcore_life_s* life = bcore_life_s_create();
    st_s* s = bcore_life_s_push( life, ( bcore_fp_discard )st_s_discard, st_s_create() );

    ASSERT( s->size == 0 );
    ASSERT( s->space == 0 );
    st_s_copy_sc( s, "My little white elephant!" );
    ASSERT( st_s_equal_sc( s, "My little white elephant!" ) );
    st_s_replace_sc_sc( s, "white", "green" );
    ASSERT( st_s_equal_sc( s, "My little green elephant!" ) );

    bool is_green = false;
    bool is_blue  = false;
    st_s* name = bcore_life_s_push( life, ( bcore_fp_discard )st_s_discard, st_s_create() );
    uz_t idx = st_s_parse_fa( s, 0, s->size, "My #name #?w'blue' #?w'green' eleph", name, &is_blue, &is_green );
    ASSERT( st_s_equal_sc( name, "little" ) );
    ASSERT( is_green );
    ASSERT( !is_blue );
    ASSERT( bcore_strcmp( s->sc + idx, "ant!" ) == 0 );

    s2_t num0 = -12345;
    st_s_copy_sc( s, "This number is " );
    st_s_push_typed( s, typeof( "s2_t" ), &num0 );
    st_s_push_sc( s, " and an integer" );
    s3_t num1 = 0;
    idx = st_s_parse_fa( s, 0, s->size, "This number is #<s3_t*>", &num1 );
    ASSERT( num1 == -12345 );
    ASSERT( bcore_strcmp( s->sc + idx, " and an integer" ) == 0 );

    idx = st_s_parse_fa( s, 0, s->size, "This number is #s3_t", &num1 );
    ASSERT( num1 == -12345 );
    ASSERT( bcore_strcmp( s->sc + idx, " and an integer" ) == 0 );

    st_s* ws = bcore_life_s_push( life, ( bcore_fp_discard )st_s_discard, st_s_create() );
    st_s_assign_sc( ws, "This is a weak string" );

    ASSERT( st_s_cmp_sc( ws, "This is a weak string" ) == 0 );
    ASSERT( ws->space == 0 );

    // replacing data forces weak strings to become strong
    st_s_replace_sc_sc( ws, "weak", "strong" );
    ASSERT( st_s_cmp_sc( ws, "This is a strong string" ) == 0 );
    ASSERT( ws->space > 0 );

    // advanced formatting
    {
        s2_t v = -100;
        st_s_clear( s );
        st_s_push_fa( s, "abc#<s2_t>def", v );
        ASSERT( st_s_cmp_sc( s, "abc-100def" ) == 0 );
        st_s_clear( s );
        st_s_push_fa( s, "abc#s2_tdef", v );
        ASSERT( st_s_cmp_sc( s, "abc-100def" ) == 0 );
        st_s_clear( s );
        st_s_push_fa( s, "abc#<s2_t*>def", &v );
        ASSERT( st_s_cmp_sc( s, "abc-100def" ) == 0 );
        st_s_clear( s );
        st_s_push_fa( s, "#p10.{#<s2_t*>}\n", &v );
        ASSERT( st_s_cmp_sc( s, "-100......\n" ) == 0 );
        st_s_clear( s );
        st_s_push_fa( s, "#pl10.{#<s2_t*>}\n", &v );
        ASSERT( st_s_cmp_sc( s, "......-100\n" ) == 0 );
        st_s_clear( s );
        st_s_push_fa( s, "#p3.{#<s2_t*>}\n", &v );
        ASSERT( st_s_cmp_sc( s, "-100\n" ) == 0 );
        st_s_clear( s );
        st_s_push_fa( s, "#pl10.{#pn*{#<s2_t*>}}\n", ( uz_t )6, &v );
        ASSERT( st_s_cmp_sc( s, "....-100**\n" ) == 0 );
        st_s_clear( s );
        st_s_push_fa( s, "#r3{#<s2_t*>}\n", &v );
        ASSERT( st_s_cmp_sc( s, "-100-100-100\n" ) == 0 );
        st_s_clear( s );
        st_s_push_fa( s, "#t3{#<s2_t*>}\n", &v );
        ASSERT( st_s_cmp_sc( s, "-10\n" ) == 0 );
        st_s_clear( s );
        st_s_push_fa( s, "#tl3{#<s2_t*>}\n", &v );
        ASSERT( st_s_cmp_sc( s, "100\n" ) == 0 );
        st_s_clear( s );
        st_s_push_fa( s, "#tl5{#<s2_t*>}\n", &v );
        ASSERT( st_s_cmp_sc( s, "-100\n" ) == 0 );
    }

    // advanced parsing
    {
        st_s_clear( s );
        st_s_push_fa( s, "This is my string." );
        bl_t flag = false;
        uz_t idx;
        idx = st_s_parse_fa( s, 0, s->size, "This is #?([0]=='m'&&[3]=='s')my string.", &flag );
        ASSERT( idx == s->size );
        ASSERT( flag );
        idx = st_s_parse_fa( s, 0, s->size, "This is #?!([0]=='m'&&![3]=='k')my string.", &flag );
        ASSERT( idx == s->size );
        ASSERT( !flag );
        idx = st_s_parse_fa( s, 0, s->size, "This is #?([0]<=[3])my string.", &flag );
        ASSERT( idx == s->size );
        ASSERT( flag );
        idx = st_s_parse_fa( s, 0, s->size, "This is #?!([0]>='0'&&[0]<='9')my string.", &flag );
        ASSERT( idx == s->size );
        ASSERT( flag );
    }

    bcore_life_s_discard( life );

    ASSERT( granted_space == bcore_tbman_total_granted_space() );
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
callq 0x9536f
movq %rax, %rbx
xorl %eax, %eax
callq 0x717ac
movq %rax, %r14
callq 0x8eb65
leaq -0x3764(%rip), %rsi     # 0x8edd4
movq %r14, %rdi
movq %rax, %rdx
callq 0x718cb
movq %rax, %r15
cmpq $0x0, 0x10(%rax)
je 0x92576
leaq 0x180f3(%rip), %rdi     # 0xaa647
leaq 0x38100(%rip), %rsi     # 0xca65b
leaq 0x38106(%rip), %rdx     # 0xca668
leaq 0x37a4f(%rip), %rcx     # 0xc9fb8
movl $0x95f, %r8d            # imm = 0x95F
xorl %eax, %eax
callq 0x5ffac
cmpq $0x0, 0x18(%r15)
je 0x925a6
leaq 0x180c3(%rip), %rdi     # 0xaa647
leaq 0x382e3(%rip), %rsi     # 0xca86e
leaq 0x380d6(%rip), %rdx     # 0xca668
leaq 0x37a1f(%rip), %rcx     # 0xc9fb8
movl $0x960, %r8d            # imm = 0x960
xorl %eax, %eax
callq 0x5ffac
leaq 0x380ca(%rip), %r12     # 0xca677
movq %r15, %rdi
movq %r12, %rsi
callq 0x8e611
movq %r15, %rdi
movq %r12, %rsi
callq 0x93659
testb %al, %al
jne 0x925f0
leaq 0x18079(%rip), %rdi     # 0xaa647
leaq 0x380bc(%rip), %rsi     # 0xca691
leaq 0x3808c(%rip), %rdx     # 0xca668
leaq 0x379d5(%rip), %rcx     # 0xc9fb8
movl $0x962, %r8d            # imm = 0x962
xorl %eax, %eax
callq 0x5ffac
leaq 0x380ca(%rip), %rsi     # 0xca6c1
leaq 0x38161(%rip), %rdx     # 0xca75f
movq %r15, %rdi
callq 0x8fec2
leaq 0x380ba(%rip), %rsi     # 0xca6c7
movq %r15, %rdi
callq 0x93659
testb %al, %al
jne 0x92642
leaq 0x18027(%rip), %rdi     # 0xaa647
leaq 0x380ba(%rip), %rsi     # 0xca6e1
leaq 0x3803a(%rip), %rdx     # 0xca668
leaq 0x37983(%rip), %rcx     # 0xc9fb8
movl $0x964, %r8d            # imm = 0x964
xorl %eax, %eax
callq 0x5ffac
xorl %eax, %eax
leaq 0x17(%rsp), %rbp
movb %al, (%rbp)
leaq 0x16(%rsp), %r12
movb %al, (%r12)
callq 0x8eb65
leaq -0x388d(%rip), %rsi     # 0x8edd4
movq %r14, %rdi
movq %rax, %rdx
callq 0x718cb
movq %rax, %r13
movq 0x10(%r15), %rdx
movq %rbp, (%rsp)
leaq 0x38093(%rip), %rcx     # 0xca711
movq %r15, %rdi
xorl %esi, %esi
movq %rax, %r8
movq %r12, %r9
xorl %eax, %eax
callq 0x91e11
movq %rax, %r12
leaq 0x3809b(%rip), %rsi     # 0xca735
movq %r13, %rdi
callq 0x93659
testb %al, %al
jne 0x926cf
leaq 0x17f9a(%rip), %rdi     # 0xaa647
leaq 0x38088(%rip), %rsi     # 0xca73c
leaq 0x37fad(%rip), %rdx     # 0xca668
leaq 0x378f6(%rip), %rcx     # 0xc9fb8
movl $0x96a, %r8d            # imm = 0x96A
xorl %eax, %eax
callq 0x5ffac
cmpb $0x0, 0x17(%rsp)
jne 0x926ff
leaq 0x17f6a(%rip), %rdi     # 0xaa647
leaq 0x38078(%rip), %rsi     # 0xca75c
leaq 0x37f7d(%rip), %rdx     # 0xca668
leaq 0x378c6(%rip), %rcx     # 0xc9fb8
movl $0x96b, %r8d            # imm = 0x96B
xorl %eax, %eax
callq 0x5ffac
cmpb $0x1, 0x16(%rsp)
jne 0x9272f
leaq 0x17f3a(%rip), %rdi     # 0xaa647
leaq 0x38051(%rip), %rsi     # 0xca765
leaq 0x37f4d(%rip), %rdx     # 0xca668
leaq 0x37896(%rip), %rcx     # 0xc9fb8
movl $0x96c, %r8d            # imm = 0x96C
xorl %eax, %eax
callq 0x5ffac
addq 0x8(%r15), %r12
leaq 0x37f52(%rip), %rsi     # 0xca68c
movq %r12, %rdi
callq 0x6036f
testl %eax, %eax
je 0x9276f
leaq 0x17efa(%rip), %rdi     # 0xaa647
leaq 0x3801a(%rip), %rsi     # 0xca76e
leaq 0x37f0d(%rip), %rdx     # 0xca668
leaq 0x37856(%rip), %rcx     # 0xc9fb8
movl $0x96d, %r8d            # imm = 0x96D
xorl %eax, %eax
callq 0x5ffac
leaq 0x24(%rsp), %r12
movl $0xffffcfc7, (%r12)     # imm = 0xFFFFCFC7
leaq 0x38014(%rip), %rsi     # 0xca797
movq %r15, %rdi
callq 0x8e611
leaq 0x304ec(%rip), %rdi     # 0xc2c7e
callq 0x921bb
movq %r15, %rdi
movq %rax, %rsi
movq %r12, %rdx
callq 0x8f3b9
leaq 0x37ffb(%rip), %rsi     # 0xca7a7
movq %r15, %rdi
callq 0x8f392
leaq 0x18(%rsp), %r13
andq $0x0, (%r13)
movq 0x10(%r15), %rdx
leaq 0x37fee(%rip), %rcx     # 0xca7b7
movq %r15, %rdi
xorl %esi, %esi
movq %r13, %r8
xorl %eax, %eax
callq 0x91e11
movq %rax, %r12
cmpq $-0x3039, (%r13)        # imm = 0xCFC7
je 0x9280e
leaq 0x17e5b(%rip), %rdi     # 0xaa647
leaq 0x37fdc(%rip), %rsi     # 0xca7cf
leaq 0x37e6e(%rip), %rdx     # 0xca668
leaq 0x377b7(%rip), %rcx     # 0xc9fb8
movl $0x975, %r8d            # imm = 0x975
xorl %eax, %eax
callq 0x5ffac
addq 0x8(%r15), %r12
leaq 0x37f8e(%rip), %rsi     # 0xca7a7
movq %r12, %rdi
callq 0x6036f
testl %eax, %eax
je 0x9284e
leaq 0x17e1b(%rip), %rdi     # 0xaa647
leaq 0x37fab(%rip), %rsi     # 0xca7de
leaq 0x37e2e(%rip), %rdx     # 0xca668
leaq 0x37777(%rip), %rcx     # 0xc9fb8
movl $0x976, %r8d            # imm = 0x976
xorl %eax, %eax
callq 0x5ffac
movq 0x10(%r15), %rdx
leaq 0x37fb9(%rip), %rcx     # 0xca812
leaq 0x18(%rsp), %r13
movq %r15, %rdi
xorl %esi, %esi
movq %r13, %r8
xorl %eax, %eax
callq 0x91e11
movq %rax, %r12
cmpq $-0x3039, (%r13)        # imm = 0xCFC7
je 0x928a3
leaq 0x17dc6(%rip), %rdi     # 0xaa647
leaq 0x37f47(%rip), %rsi     # 0xca7cf
leaq 0x37dd9(%rip), %rdx     # 0xca668
leaq 0x37722(%rip), %rcx     # 0xc9fb8
movl $0x979, %r8d            # imm = 0x979
xorl %eax, %eax
callq 0x5ffac
addq 0x8(%r15), %r12
leaq 0x37ef9(%rip), %rsi     # 0xca7a7
movq %r12, %rdi
callq 0x6036f
testl %eax, %eax
je 0x928e3
leaq 0x17d86(%rip), %rdi     # 0xaa647
leaq 0x37f16(%rip), %rsi     # 0xca7de
leaq 0x37d99(%rip), %rdx     # 0xca668
leaq 0x376e2(%rip), %rcx     # 0xc9fb8
movl $0x97a, %r8d            # imm = 0x97A
xorl %eax, %eax
callq 0x5ffac
callq 0x8eb65
leaq -0x3b1b(%rip), %rsi     # 0x8edd4
movq %r14, %rdi
movq %rax, %rdx
callq 0x718cb
movq %rax, %r12
leaq 0x37f23(%rip), %r13     # 0xca827
movq %rax, %rdi
movq %r13, %rsi
callq 0x8e68d
movq %r12, %rdi
movq %r13, %rsi
callq 0x93673
testl %eax, %eax
je 0x92947
leaq 0x17d22(%rip), %rdi     # 0xaa647
leaq 0x37f11(%rip), %rsi     # 0xca83d
leaq 0x37d35(%rip), %rdx     # 0xca668
leaq 0x3767e(%rip), %rcx     # 0xc9fb8
movl $0x97f, %r8d            # imm = 0x97F
xorl %eax, %eax
callq 0x5ffac
cmpq $0x0, 0x18(%r12)
je 0x92978
leaq 0x17cf1(%rip), %rdi     # 0xaa647
leaq 0x37f10(%rip), %rsi     # 0xca86d
leaq 0x37d04(%rip), %rdx     # 0xca668
leaq 0x3764d(%rip), %rcx     # 0xc9fb8
movl $0x980, %r8d            # imm = 0x980
xorl %eax, %eax
callq 0x5ffac
leaq 0x29398(%rip), %rsi     # 0xbbd17
leaq 0x340e3(%rip), %rdx     # 0xc6a69
movq %r12, %rdi
callq 0x8fec2
leaq 0x37ee7(%rip), %rsi     # 0xca87c
movq %r12, %rdi
callq 0x93673
testl %eax, %eax
je 0x929ca
leaq 0x17c9f(%rip), %rdi     # 0xaa647
leaq 0x37ee5(%rip), %rsi     # 0xca894
leaq 0x37cb2(%rip), %rdx     # 0xca668
leaq 0x375fb(%rip), %rcx     # 0xc9fb8
movl $0x984, %r8d            # imm = 0x984
xorl %eax, %eax
callq 0x5ffac
cmpq $0x0, 0x18(%r12)
jne 0x929fb
leaq 0x17c6e(%rip), %rdi     # 0xaa647
leaq 0x37ee6(%rip), %rsi     # 0xca8c6
leaq 0x37c81(%rip), %rdx     # 0xca668
leaq 0x375ca(%rip), %rcx     # 0xc9fb8
movl $0x985, %r8d            # imm = 0x985
xorl %eax, %eax
callq 0x5ffac
movl $0xffffff9c, 0x10(%rsp) # imm = 0xFFFFFF9C
movq %r15, %rdi
callq 0x8f0c3
movl 0x10(%rsp), %edx
leaq 0x37ebe(%rip), %rsi     # 0xca8d4
movq %r15, %rdi
xorl %eax, %eax
callq 0x8f4ef
leaq 0x37ebb(%rip), %rsi     # 0xca8e2
movq %r15, %rdi
callq 0x93673
testl %eax, %eax
je 0x92a5c
leaq 0x17c0d(%rip), %rdi     # 0xaa647
leaq 0x37eac(%rip), %rsi     # 0xca8ed
leaq 0x37c20(%rip), %rdx     # 0xca668
leaq 0x37569(%rip), %rcx     # 0xc9fb8
movl $0x98c, %r8d            # imm = 0x98C
xorl %eax, %eax
callq 0x5ffac
movq %r15, %rdi
callq 0x8f0c3
movl 0x10(%rsp), %edx
leaq 0x37ea2(%rip), %rsi     # 0xca911
movq %r15, %rdi
xorl %eax, %eax
callq 0x8f4ef
leaq 0x37e62(%rip), %rsi     # 0xca8e2
movq %r15, %rdi
callq 0x93673
testl %eax, %eax
je 0x92ab5
leaq 0x17bb4(%rip), %rdi     # 0xaa647
leaq 0x37e53(%rip), %rsi     # 0xca8ed
leaq 0x37bc7(%rip), %rdx     # 0xca668
leaq 0x37510(%rip), %rcx     # 0xc9fb8
movl $0x98f, %r8d            # imm = 0x98F
xorl %eax, %eax
callq 0x5ffac
movq %r15, %rdi
callq 0x8f0c3
leaq 0x37e59(%rip), %rsi     # 0xca91d
leaq 0x10(%rsp), %rdx
movq %r15, %rdi
xorl %eax, %eax
callq 0x8f4ef
leaq 0x37e08(%rip), %rsi     # 0xca8e2
movq %r15, %rdi
callq 0x93673
testl %eax, %eax
je 0x92b0f
leaq 0x17b5a(%rip), %rdi     # 0xaa647
leaq 0x37df9(%rip), %rsi     # 0xca8ed
leaq 0x37b6d(%rip), %rdx     # 0xca668
leaq 0x374b6(%rip), %rcx     # 0xc9fb8
movl $0x992, %r8d            # imm = 0x992
xorl %eax, %eax
callq 0x5ffac
movq %r15, %rdi
callq 0x8f0c3
leaq 0x37e0e(%rip), %rsi     # 0xca92c
leaq 0x10(%rsp), %rdx
movq %r15, %rdi
xorl %eax, %eax
callq 0x8f4ef
leaq 0x37e09(%rip), %rsi     # 0xca93d
movq %r15, %rdi
callq 0x93673
testl %eax, %eax
je 0x92b69
leaq 0x17b00(%rip), %rdi     # 0xaa647
leaq 0x37dfb(%rip), %rsi     # 0xca949
leaq 0x37b13(%rip), %rdx     # 0xca668
leaq 0x3745c(%rip), %rcx     # 0xc9fb8
movl $0x995, %r8d            # imm = 0x995
xorl %eax, %eax
callq 0x5ffac
movq %r15, %rdi
callq 0x8f0c3
leaq 0x37df7(%rip), %rsi     # 0xca96f
leaq 0x10(%rsp), %rdx
movq %r15, %rdi
xorl %eax, %eax
callq 0x8f4ef
leaq 0x37df3(%rip), %rsi     # 0xca981
movq %r15, %rdi
callq 0x93673
testl %eax, %eax
je 0x92bc3
leaq 0x17aa6(%rip), %rdi     # 0xaa647
leaq 0x37de5(%rip), %rsi     # 0xca98d
leaq 0x37ab9(%rip), %rdx     # 0xca668
leaq 0x37402(%rip), %rcx     # 0xc9fb8
movl $0x998, %r8d            # imm = 0x998
xorl %eax, %eax
callq 0x5ffac
movq %r15, %rdi
callq 0x8f0c3
leaq 0x37de1(%rip), %rsi     # 0xca9b3
leaq 0x10(%rsp), %rdx
movq %r15, %rdi
xorl %eax, %eax
callq 0x8f4ef
leaq 0x37d9f(%rip), %rsi     # 0xca987
movq %r15, %rdi
callq 0x93673
testl %eax, %eax
je 0x92c1d
leaq 0x17a4c(%rip), %rdi     # 0xaa647
leaq 0x37dc1(%rip), %rsi     # 0xca9c3
leaq 0x37a5f(%rip), %rdx     # 0xca668
leaq 0x373a8(%rip), %rcx     # 0xc9fb8
movl $0x99b, %r8d            # imm = 0x99B
xorl %eax, %eax
callq 0x5ffac
movq %r15, %rdi
callq 0x8f0c3
leaq 0x37db7(%rip), %rsi     # 0xca9e3
pushq $0x6
popq %rdx
leaq 0x10(%rsp), %rcx
movq %r15, %rdi
xorl %eax, %eax
callq 0x8f4ef
leaq 0x37db6(%rip), %rsi     # 0xca9fb
movq %r15, %rdi
callq 0x93673
testl %eax, %eax
je 0x92c7a
leaq 0x179ef(%rip), %rdi     # 0xaa647
leaq 0x37da8(%rip), %rsi     # 0xcaa07
leaq 0x37a02(%rip), %rdx     # 0xca668
leaq 0x3734b(%rip), %rcx     # 0xc9fb8
movl $0x99e, %r8d            # imm = 0x99E
xorl %eax, %eax
callq 0x5ffac
movq %r15, %rdi
callq 0x8f0c3
leaq 0x37da4(%rip), %rsi     # 0xcaa2d
leaq 0x10(%rsp), %rdx
movq %r15, %rdi
xorl %eax, %eax
callq 0x8f4ef
leaq 0x37d9d(%rip), %rsi     # 0xcaa3c
movq %r15, %rdi
callq 0x93673
testl %eax, %eax
je 0x92cd4
leaq 0x17995(%rip), %rdi     # 0xaa647
leaq 0x37d91(%rip), %rsi     # 0xcaa4a
leaq 0x379a8(%rip), %rdx     # 0xca668
leaq 0x372f1(%rip), %rcx     # 0xc9fb8
movl $0x9a1, %r8d            # imm = 0x9A1
xorl %eax, %eax
callq 0x5ffac
movq %r15, %rdi
callq 0x8f0c3
leaq 0x37d8f(%rip), %rsi     # 0xcaa72
leaq 0x10(%rsp), %rdx
movq %r15, %rdi
xorl %eax, %eax
callq 0x8f4ef
leaq 0x37d88(%rip), %rsi     # 0xcaa81
movq %r15, %rdi
callq 0x93673
testl %eax, %eax
je 0x92d2e
leaq 0x1793b(%rip), %rdi     # 0xaa647
leaq 0x37d73(%rip), %rsi     # 0xcaa86
leaq 0x3794e(%rip), %rdx     # 0xca668
leaq 0x37297(%rip), %rcx     # 0xc9fb8
movl $0x9a4, %r8d            # imm = 0x9A4
xorl %eax, %eax
callq 0x5ffac
movq %r15, %rdi
callq 0x8f0c3
leaq 0x37d68(%rip), %rsi     # 0xcaaa5
leaq 0x10(%rsp), %rdx
movq %r15, %rdi
xorl %eax, %eax
callq 0x8f4ef
leaq 0x37c35(%rip), %rsi     # 0xca988
movq %r15, %rdi
callq 0x93673
testl %eax, %eax
je 0x92d88
leaq 0x178e1(%rip), %rdi     # 0xaa647
leaq 0x37d48(%rip), %rsi     # 0xcaab5
leaq 0x378f4(%rip), %rdx     # 0xca668
leaq 0x3723d(%rip), %rcx     # 0xc9fb8
movl $0x9a7, %r8d            # imm = 0x9A7
xorl %eax, %eax
callq 0x5ffac
movq %r15, %rdi
callq 0x8f0c3
leaq 0x37d3d(%rip), %rsi     # 0xcaad4
leaq 0x10(%rsp), %rdx
movq %r15, %rdi
xorl %eax, %eax
callq 0x8f4ef
leaq 0x37bda(%rip), %rsi     # 0xca987
movq %r15, %rdi
callq 0x93673
testl %eax, %eax
je 0x92de2
leaq 0x17887(%rip), %rdi     # 0xaa647
leaq 0x37bfc(%rip), %rsi     # 0xca9c3
leaq 0x3789a(%rip), %rdx     # 0xca668
leaq 0x371e3(%rip), %rcx     # 0xc9fb8
movl $0x9aa, %r8d            # imm = 0x9AA
xorl %eax, %eax
callq 0x5ffac
movq %r15, %rdi
callq 0x8f0c3
leaq 0x37cf3(%rip), %rsi     # 0xcaae4
movq %r15, %rdi
xorl %eax, %eax
callq 0x8f4ef
leaq 0x10(%rsp), %r8
movb $0x0, (%r8)
movq 0x10(%r15), %rdx
leaq 0x37ce8(%rip), %rcx     # 0xcaaf7
movq %r15, %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x91e11
cmpq 0x10(%r15), %rax
je 0x92e4a
leaq 0x1781f(%rip), %rdi     # 0xaa647
leaq 0x37cf1(%rip), %rsi     # 0xcab20
leaq 0x37832(%rip), %rdx     # 0xca668
leaq 0x3717b(%rip), %rcx     # 0xc9fb8
movl $0x9b4, %r8d            # imm = 0x9B4
xorl %eax, %eax
callq 0x5ffac
cmpb $0x0, 0x10(%rsp)
jne 0x92e7a
leaq 0x177ef(%rip), %rdi     # 0xaa647
leaq 0x37cfc(%rip), %rsi     # 0xcab5b
leaq 0x37802(%rip), %rdx     # 0xca668
leaq 0x3714b(%rip), %rcx     # 0xc9fb8
movl $0x9b5, %r8d            # imm = 0x9B5
xorl %eax, %eax
callq 0x5ffac
movq 0x10(%r15), %rdx
leaq 0x37caa(%rip), %rcx     # 0xcab2f
leaq 0x10(%rsp), %r8
movq %r15, %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x91e11
cmpq 0x10(%r15), %rax
je 0x92ec5
leaq 0x177a4(%rip), %rdi     # 0xaa647
leaq 0x37c76(%rip), %rsi     # 0xcab20
leaq 0x377b7(%rip), %rdx     # 0xca668
leaq 0x37100(%rip), %rcx     # 0xc9fb8
movl $0x9b7, %r8d            # imm = 0x9B7
xorl %eax, %eax
callq 0x5ffac
cmpb $0x1, 0x10(%rsp)
jne 0x92ef5
leaq 0x17774(%rip), %rdi     # 0xaa647
leaq 0x37c80(%rip), %rsi     # 0xcab5a
leaq 0x37787(%rip), %rdx     # 0xca668
leaq 0x370d0(%rip), %rcx     # 0xc9fb8
movl $0x9b8, %r8d            # imm = 0x9B8
xorl %eax, %eax
callq 0x5ffac
movq 0x10(%r15), %rdx
leaq 0x37c60(%rip), %rcx     # 0xcab60
leaq 0x10(%rsp), %r8
movq %r15, %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x91e11
cmpq 0x10(%r15), %rax
je 0x92f40
leaq 0x17729(%rip), %rdi     # 0xaa647
leaq 0x37bfb(%rip), %rsi     # 0xcab20
leaq 0x3773c(%rip), %rdx     # 0xca668
leaq 0x37085(%rip), %rcx     # 0xc9fb8
movl $0x9ba, %r8d            # imm = 0x9BA
xorl %eax, %eax
callq 0x5ffac
cmpb $0x0, 0x10(%rsp)
jne 0x92f70
leaq 0x176f9(%rip), %rdi     # 0xaa647
leaq 0x37c06(%rip), %rsi     # 0xcab5b
leaq 0x3770c(%rip), %rdx     # 0xca668
leaq 0x37055(%rip), %rcx     # 0xc9fb8
movl $0x9bb, %r8d            # imm = 0x9BB
xorl %eax, %eax
callq 0x5ffac
movq 0x10(%r15), %rdx
leaq 0x37c04(%rip), %rcx     # 0xcab7f
leaq 0x10(%rsp), %r8
movq %r15, %rdi
xorl %esi, %esi
xorl %eax, %eax
callq 0x91e11
cmpq 0x10(%r15), %rax
je 0x92fbb
leaq 0x176ae(%rip), %rdi     # 0xaa647
leaq 0x37b80(%rip), %rsi     # 0xcab20
leaq 0x376c1(%rip), %rdx     # 0xca668
leaq 0x3700a(%rip), %rcx     # 0xc9fb8
movl $0x9bd, %r8d            # imm = 0x9BD
xorl %eax, %eax
callq 0x5ffac
cmpb $0x0, 0x10(%rsp)
jne 0x92feb
leaq 0x1767e(%rip), %rdi     # 0xaa647
leaq 0x37b8b(%rip), %rsi     # 0xcab5b
leaq 0x37691(%rip), %rdx     # 0xca668
leaq 0x36fda(%rip), %rcx     # 0xc9fb8
movl $0x9be, %r8d            # imm = 0x9BE
xorl %eax, %eax
callq 0x5ffac
movq %r14, %rdi
callq 0x717c7
callq 0x9536f
cmpq %rax, %rbx
je 0x93026
leaq 0x17643(%rip), %rdi     # 0xaa647
leaq 0x37b9e(%rip), %rsi     # 0xcaba9
leaq 0x37656(%rip), %rdx     # 0xca668
leaq 0x36f9f(%rip), %rcx     # 0xc9fb8
movl $0x9c3, %r8d            # imm = 0x9C3
xorl %eax, %eax
callq 0x5ffac
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq