// File: /workspace/github_c_makefile_star2_O3/johsteffens[P]beth/lib/bcore/bcore.xo.c
// Function: x_bbml_t_translate_recursive
void x_bbml_t_translate_recursive( const x_bbml* o, tp_t t, tp_t name, bl_t shelve, x_sink* sink )
{
    // bcore_x_bbml.h:356:1
    
    // shelving obj_l
    if( o && shelve && bcore_via_call_t_defines_shelve(t ) )
    {
        x_bbml* o_clone =((x_bbml*)( x_inst_t_clone(((const x_inst*)(o)),t ))); // no scoping (o_clone is obliv)
        x_stamp_t_shelve(((x_stamp*)(o_clone)),t );
        x_bbml_t_translate_recursive(o_clone,t, name, false, sink );
        x_inst_discard(((x_inst*)(o_clone)));
        return ;
    }
    
    if( name ) x_bbml_push_type(sink, name );
    
    x_bbml_push_type(sink, t );
    x_bbml_push_flag(sink, o != NULL );
    
    if( o )
    {
        if( x_bbml_t_defines_bbml_body_to_sink(t ) )
        {
            x_bbml_t_bbml_body_to_sink(o,t, sink );
        }
        else if( t == TYPEOF_st_s ) // strings
        {
            const st_s* string = ((const st_s*)(o));
            x_sink_push_data(sink,( vc_t )string->data, string->size + 1 ); // push string including terminating 0
        }
        else if( x_stamp_t_is_leaf(t ) )
        {
            x_bbml_push_leaf(sink, t,((const x_inst*)( o )));
        }
        else
        {
            if( x_stamp_t_is_pure_array(t ) )
            {
                const x_array* arr =((const x_array*)( o));
                if( x_array_t_is_mutable_mono_typed(t ) ) x_bbml_push_type(sink, x_array_t_get_mono_type(arr,t ) );
                sz_t size = x_array_t_size(arr,t );
                x_bbml_push_size(sink, size );
                for(sz_t i = 0; i < size; i++ )
                {
                    sr_s sr = x_array_t_c_get_sr(arr,t, i );
                    x_bbml_t_translate_recursive(((const x_bbml*)( sr.o)),sr_s_o_type(&(sr)), 0, true, sink );
                    sr_down( sr );
                }
            }
            else
            {
                const x_stamp* stamp =((const x_stamp*)( o));
                sz_t size = x_stamp_t_size(t );
                for(sz_t i = 0; i < size; i++ )
                {
                    sr_s sr = x_stamp_t_c_get_sr_i(stamp,t, i );
                    tp_t name = x_stamp_t_name(t, i );
                    x_bbml_t_translate_recursive(((const x_bbml*)( sr.o)),sr_s_o_type(&(sr)), name, true, sink );
                    sr_down( sr );
                }
    
                /// we push a terminating '0' to indicate the end of the parameter list
                x_bbml_push_type(sink, 0 );
            }
        }
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x48, %rsp
movq %r8, %rbx
movq %rdx, %r13
movq %rsi, %r14
movq %rdi, %r15
xorb $0x1, %cl
testq %rdi, %rdi
sete %al
orb %cl, %al
jne 0x748b2
leaq 0x1235ff(%rip), %rax    # 0x197cb0
movl 0x1235f9(%rip), %ecx    # 0x197cb0
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 0x7470b
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x7470b
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x7470b
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x74714
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x7473b
movabsq $-0x220988275314685e, %rdi # imm = 0xDDF677D8ACEB97A2
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0x123580(%rip), %rdi    # 0x197cb0
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
cmpq $0x0, 0x20(%r12)
je 0x748b2
leaq 0x127d1a(%rip), %rbp    # 0x19c468
movl (%rbp), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rbp,%rax,8), %rcx
movq 0x18(%rbp,%rax,8), %rdx
andq %r14, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x747a4
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x747a4
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x747a4
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x747ad
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x747d4
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0x127c9f(%rip), %rdi    # 0x19c468
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r12, %rdi
movq %r15, %rsi
callq *0xc0(%r12)
movq %rax, %r15
movq %rax, %rdi
movq %r14, %rsi
callq 0x73815
movq %r15, %rdi
movq %r14, %rsi
movq %r13, %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x7467f
testq %r15, %r15
je 0x750c2
movq (%r15), %rbx
movl (%rbp), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rbp,%rax,8), %rcx
movq 0x18(%rbp,%rax,8), %rdx
andq %rbx, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %rbx, %rdx
je 0x74865
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %rbx, %rdx
je 0x74865
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %rbx, %rdx
je 0x74865
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %rbx, %rdx
jne 0x7486e
movq (%rax,%rcx), %r14
testq %r14, %r14
jne 0x74895
movabsq $0x782b96602f424981, %rdi # imm = 0x782B96602F424981
movq %rbx, %rsi
callq 0xe9bc5
movq %rax, %r14
leaq 0x127bde(%rip), %rdi    # 0x19c468
movq %rbx, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0xb8(%r14), %rax
movq %r14, %rdi
movq %r15, %rsi
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmpq *%rax
movabsq $0x5ea8cabb93ff3b7e, %rbp # imm = 0x5EA8CABB93FF3B7E
testq %r13, %r13
je 0x7497e
movq %r13, 0x20(%rsp)
movq (%rbx), %r12
leaq 0x1281dc(%rip), %rax    # 0x19cab0
movl (%rax), %ecx
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 0x7492a
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x7492a
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x7492a
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x74933
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x74953
movq %rbp, %rdi
movq %r12, %rsi
callq 0xe9bc5
movq %rax, %r13
leaq 0x128168(%rip), %rdi    # 0x19cab0
movq %r12, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x10(%r13), %rax
testq %rax, %rax
jne 0x7496f
leaq 0xc57d3(%rip), %rsi     # 0x13a136
movq %r13, %rdi
callq 0xeb49c
movq 0x10(%r13), %rax
leaq 0x20(%rsp), %rsi
movl $0x8, %edx
movq %rbx, %rdi
callq *%rax
movq %r14, 0x20(%rsp)
movq (%rbx), %r12
leaq 0x128123(%rip), %rdx    # 0x19cab0
movl (%rdx), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rdx,%rax,8), %rcx
movq 0x18(%rdx,%rax,8), %rdx
andq %r12, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x749e2
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x749e2
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x749e2
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x749eb
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x74a0b
movq %rbp, %rdi
movq %r12, %rsi
callq 0xe9bc5
movq %rax, %r13
leaq 0x1280b0(%rip), %rdi    # 0x19cab0
movq %r12, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x10(%r13), %rax
testq %rax, %rax
jne 0x74a27
leaq 0xc571b(%rip), %rsi     # 0x13a136
movq %r13, %rdi
callq 0xeb49c
movq 0x10(%r13), %rax
leaq 0x20(%rsp), %r12
movl $0x8, %r13d
movl $0x8, %edx
movq %rbx, %rdi
movq %r12, %rsi
callq *%rax
testq %r15, %r15
setne (%r12)
movq (%rbx), %r12
leaq 0x12805f(%rip), %rdx    # 0x19cab0
movl (%rdx), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rdx,%rax,8), %rcx
movq 0x18(%rdx,%rax,8), %rdx
andq %r12, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rcx
cmpq %r12, %rcx
je 0x74aa4
movq 0x10(%rax), %rcx
movl $0x18, %r13d
cmpq %r12, %rcx
je 0x74aa4
movq 0x20(%rax), %rcx
movl $0x28, %r13d
cmpq %r12, %rcx
je 0x74aa4
movq 0x30(%rax), %rcx
movl $0x38, %r13d
cmpq %r12, %rcx
jne 0x74aad
movq (%rax,%r13), %r13
testq %r13, %r13
jne 0x74acd
movq %rbp, %rdi
movq %r12, %rsi
callq 0xe9bc5
movq %rax, %r13
leaq 0x127fee(%rip), %rdi    # 0x19cab0
movq %r12, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x10(%r13), %rax
testq %rax, %rax
jne 0x74ae9
leaq 0xc5659(%rip), %rsi     # 0x13a136
movq %r13, %rdi
callq 0xeb49c
movq 0x10(%r13), %rax
leaq 0x20(%rsp), %rsi
movl $0x1, %edx
movq %rbx, %rdi
callq *%rax
testq %r15, %r15
je 0x750c2
leaq 0x125540(%rip), %r13    # 0x19a048
movl 0x12553a(%rip), %eax    # 0x19a048
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r13,%rax,8), %rcx
movq 0x18(%r13,%rax,8), %rdx
andq %r14, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x74b61
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x74b61
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x74b61
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x74b6a
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x74b91
movabsq $-0x7910b450c18f5d4f, %rdi # imm = 0x86EF4BAF3E70A2B1
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0x1254c2(%rip), %rdi    # 0x19a048
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
cmpq $0x0, 0x18(%r12)
je 0x74c36
movl 0x1254a5(%rip), %eax    # 0x19a048
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r13,%rax,8), %rcx
movq 0x18(%r13,%rax,8), %rdx
andq %r14, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x74bf6
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x74bf6
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x74bf6
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x74bff
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x74c26
movabsq $-0x7910b450c18f5d4f, %rdi # imm = 0x86EF4BAF3E70A2B1
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0x12542d(%rip), %rdi    # 0x19a048
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r15, %rdi
movq %rbx, %rsi
callq *0x18(%r12)
jmp 0x750c2
movabsq $-0x503db0e6e1c2e704, %rax # imm = 0xAFC24F191E3D18FC
cmpq %rax, %r14
jne 0x74d08
movq 0x8(%r15), %r14
movq 0x10(%r15), %r15
movq (%rbx), %r12
leaq 0x127e55(%rip), %rdx    # 0x19cab0
movl (%rdx), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rdx,%rax,8), %rcx
movq 0x18(%rdx,%rax,8), %rdx
andq %r12, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x74cb0
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x74cb0
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x74cb0
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x74cb9
movq (%rax,%rcx), %r13
testq %r13, %r13
jne 0x74cd9
movq %rbp, %rdi
movq %r12, %rsi
callq 0xe9bc5
movq %rax, %r13
leaq 0x127de2(%rip), %rdi    # 0x19cab0
movq %r12, %rsi
movq %rax, %rdx
callq 0x115fac
incq %r15
movq 0x10(%r13), %rax
testq %rax, %rax
jne 0x74cf8
leaq 0xc544a(%rip), %rsi     # 0x13a136
movq %r13, %rdi
callq 0xeb49c
movq 0x10(%r13), %rax
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq *%rax
jmp 0x750c2
leaq 0x1283e9(%rip), %rdx    # 0x19d0f8
movl (%rdx), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rdx,%rax,8), %rcx
movq 0x18(%rdx,%rax,8), %rdx
andq %r14, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x74d64
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x74d64
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x74d64
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x74d6d
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x74d94
movabsq $0x541d0401d4dcff33, %rdi # imm = 0x541D0401D4DCFF33
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0x12836f(%rip), %rdi    # 0x19d0f8
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r12, %rdi
xorl %esi, %esi
callq 0x10326d
testb %al, %al
je 0x74db5
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x778d7
jmp 0x750c2
leaq 0x12833c(%rip), %rdx    # 0x19d0f8
movl (%rdx), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rdx,%rax,8), %rcx
movq 0x18(%rdx,%rax,8), %rdx
andq %r14, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x74e11
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x74e11
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x74e11
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x74e1a
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x74e41
movabsq $0x541d0401d4dcff33, %rdi # imm = 0x541D0401D4DCFF33
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0x1282c2(%rip), %rdi    # 0x19d0f8
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r12, %rdi
xorl %esi, %esi
callq 0x103275
testb %al, %al
je 0x750d1
leaq 0x126fc6(%rip), %r13    # 0x19be20
movl (%r13), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r13,%rax,8), %rcx
movq 0x18(%r13,%rax,8), %rdx
andq %r14, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x74eb1
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x74eb1
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x74eb1
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x74eba
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x74ee1
movabsq $-0x5073d588c3beb52e, %rdi # imm = 0xAF8C2A773C414AD2
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0x126f4a(%rip), %rdi    # 0x19be20
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r12, %rdi
callq 0xee166
testb %al, %al
je 0x74f03
movq %r15, %rdi
movq %r14, %rsi
callq 0x730f7
movq %rbx, %rdi
movq %rax, %rsi
callq 0x789f8
movl (%r13), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%r13,%rax,8), %rcx
movq 0x18(%r13,%rax,8), %rdx
andq %r14, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x74f5a
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x74f5a
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x74f5a
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x74f63
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x74f8a
movabsq $-0x5073d588c3beb52e, %rdi # imm = 0xAF8C2A773C414AD2
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0x126ea1(%rip), %rdi    # 0x19be20
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
movq %r12, %rdi
movq %r15, %rsi
callq 0xede4d
movq %rax, %r13
movq %rax, 0x20(%rsp)
movq (%rbx), %r12
leaq 0x127b09(%rip), %rdx    # 0x19cab0
movl (%rdx), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rdx,%rax,8), %rcx
movq 0x18(%rdx,%rax,8), %rdx
andq %r12, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r12, %rdx
je 0x74ffc
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r12, %rdx
je 0x74ffc
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r12, %rdx
je 0x74ffc
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r12, %rdx
jne 0x75005
movq (%rax,%rcx), %rbp
testq %rbp, %rbp
jne 0x7502c
movabsq $0x5ea8cabb93ff3b7e, %rdi # imm = 0x5EA8CABB93FF3B7E
movq %r12, %rsi
callq 0xe9bc5
movq %rax, %rbp
leaq 0x127a8f(%rip), %rdi    # 0x19cab0
movq %r12, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x10(%rbp), %rax
testq %rax, %rax
jne 0x75048
leaq 0xc50fa(%rip), %rsi     # 0x13a136
movq %rbp, %rdi
callq 0xeb49c
movq 0x10(%rbp), %rax
leaq 0x20(%rsp), %rsi
movl $0x8, %edx
movq %rbx, %rdi
callq *%rax
testq %r13, %r13
jle 0x750c2
xorl %r12d, %r12d
leaq 0x20(%rsp), %rbp
movq %rbp, %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %r12, %rcx
callq 0x5694d
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x75085
movq 0x8(%rax), %rsi
jmp 0x75087
xorl %esi, %esi
movq 0x20(%rsp), %rdi
xorl %edx, %edx
movl $0x1, %ecx
movq %rbx, %r8
callq 0x7467f
testb $0x2, 0x30(%rsp)
je 0x750ba
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0x107590
incq %r12
cmpq %r12, %r13
jne 0x75064
addq $0x48, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r15, 0x40(%rsp)
leaq 0x12801b(%rip), %rdx    # 0x19d0f8
movl (%rdx), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rdx,%rax,8), %rcx
movq 0x18(%rdx,%rax,8), %rdx
andq %r14, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x75132
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x75132
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x75132
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x7513b
movq (%rax,%rcx), %r12
testq %r12, %r12
jne 0x75162
movabsq $0x541d0401d4dcff33, %rdi # imm = 0x541D0401D4DCFF33
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %r12
leaq 0x127fa1(%rip), %rdi    # 0x19d0f8
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x20(%r12), %rax
movq %rax, 0x38(%rsp)
testq %rax, %rax
jle 0x752c1
movl $0x8, %r13d
xorl %r12d, %r12d
movq %rbp, %r15
leaq 0x20(%rsp), %rdi
movq 0x40(%rsp), %rsi
movq %r14, %rdx
movq %r12, %rcx
callq 0x5858a
movq 0x30(%rsp), %rax
testb $0x2, %al
jne 0x751a8
orq $0x1, %rax
movq %rax, 0x30(%rsp)
leaq 0x127f49(%rip), %rdx    # 0x19d0f8
movl (%rdx), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rdx,%rax,8), %rcx
movq 0x18(%rdx,%rax,8), %rdx
andq %r14, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x75204
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x75204
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x75204
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x7520d
movq (%rax,%rcx), %rbp
testq %rbp, %rbp
jne 0x75234
movabsq $0x541d0401d4dcff33, %rdi # imm = 0x541D0401D4DCFF33
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %rbp
leaq 0x127ecf(%rip), %rdi    # 0x19d0f8
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x20(%rbp), %r9
cmpq %r12, %r9
ja 0x75261
leaq 0xc9ed8(%rip), %rdi     # 0x13f11c
leaq 0xc9eed(%rip), %rsi     # 0x13f138
movl $0x4e, %edx
leaq 0xc9ef5(%rip), %rcx     # 0x13f14c
movq %r12, %r8
xorl %eax, %eax
callq 0xbe592
movq 0x30(%rbp), %rax
movq (%rax,%r13), %rdx
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
testq %rax, %rax
je 0x7527e
movq 0x8(%rax), %rsi
jmp 0x75280
xorl %esi, %esi
movq %r15, %rbp
movl $0x1, %ecx
movq %rbx, %r8
callq 0x7467f
testb $0x2, 0x30(%rsp)
je 0x752af
movq 0x30(%rsp), %rax
movq %rax, 0x10(%rsp)
movups 0x20(%rsp), %xmm0
movups %xmm0, (%rsp)
callq 0x107590
incq %r12
addq $0x38, %r13
cmpq %r12, 0x38(%rsp)
jne 0x7517e
movq $0x0, 0x20(%rsp)
movq (%rbx), %r14
leaq 0x1277dc(%rip), %rdx    # 0x19cab0
movl (%rdx), %eax
cltq
leaq (%rax,%rax,2), %rax
movq 0x20(%rdx,%rax,8), %rcx
movq 0x18(%rdx,%rax,8), %rdx
andq %r14, %rdx
shlq $0x4, %rdx
leaq (%rcx,%rdx), %rax
movq (%rcx,%rdx), %rdx
movl $0x8, %ecx
cmpq %r14, %rdx
je 0x75329
movq 0x10(%rax), %rdx
movl $0x18, %ecx
cmpq %r14, %rdx
je 0x75329
movq 0x20(%rax), %rdx
movl $0x28, %ecx
cmpq %r14, %rdx
je 0x75329
movq 0x30(%rax), %rdx
movl $0x38, %ecx
cmpq %r14, %rdx
jne 0x75332
movq (%rax,%rcx), %r15
testq %r15, %r15
jne 0x75352
movq %rbp, %rdi
movq %r14, %rsi
callq 0xe9bc5
movq %rax, %r15
leaq 0x127769(%rip), %rdi    # 0x19cab0
movq %r14, %rsi
movq %rax, %rdx
callq 0x115fac
movq 0x10(%r15), %rax
testq %rax, %rax
jne 0x7536e
leaq 0xc4dd4(%rip), %rsi     # 0x13a136
movq %r15, %rdi
callq 0xeb49c
movq 0x10(%r15), %rax
leaq 0x20(%rsp), %rsi
movl $0x8, %edx
movq %rbx, %rdi
jmp 0x74d01