// File: /workspace/github_c_makefile_star2_O0/johsteffens[P]beth/lib/bcore/bcore_bin_ml.c
// Function: translate
static void translate( const bcore_bin_ml_translator_s* o, tp_t name, sr_s obj, sr_s sink, uz_t depth )
{
    bcore_life_s* l = bcore_life_s_create();
    sr_s sink_l = sr_cl( sr_cp( sink, TYPEOF_bcore_sink_s ), l );
    sr_s obj_l  = sr_cl( sr_cp( obj, TYPEOF_bcore_via_s ), l );

    if( name ) push_type( sink_l, name );

    // shelving obj_l
    if( obj_l.o && bcore_via_r_defines_shelve( &obj_l ) )
    {
        obj_l = sr_cl( sr_clone( obj_l ), l );
        bcore_via_r_shelve( &obj_l );
    }

    if( !obj_l.o ) // NULL
    {
        if( obj_l.p )
        {
            push_type( sink_l, sr_s_type( &obj_l ) );
            push_flag( &sink_l, false );
            // 'false' specifies that the object is not instantiated.
            // This is to differentiate from the case where the object was instantiated
            // without additional parameters.
        }
        else
        {
            push_type( sink_l, 0 );
        }
    }
    else
    {
        push_type( sink_l, sr_s_type( &obj_l ) );
        push_flag( &sink_l, true ); // true signals that the object is to be instantiated

        if( sr_s_type( &obj_l ) == TYPEOF_st_s ) // strings
        {
            const st_s* string = obj_l.o;
            bcore_sink_x_push_data( sink_l, string->data, string->size + 1 ); // push string including terminating 0
        }
        else if( bcore_via_x_is_leaf( obj_l ) )
        {
            switch( sr_s_type( &obj_l ) )
            {
                case TYPEOF_aware_t : bcore_sink_x_push_data( sink_l, obj_l.o, sizeof( aware_t ) ); break;
                case TYPEOF_bl_t    : bcore_sink_x_push_data( sink_l, obj_l.o, sizeof( bl_t ) ); break;
                case TYPEOF_f2_t    : bcore_sink_x_push_data( sink_l, obj_l.o, sizeof( f2_t ) ); break;
                case TYPEOF_f3_t    : bcore_sink_x_push_data( sink_l, obj_l.o, sizeof( f3_t ) ); break;
                case TYPEOF_s0_t    : bcore_sink_x_push_data( sink_l, obj_l.o, sizeof( s0_t ) ); break;
                case TYPEOF_s1_t    : bcore_sink_x_push_data( sink_l, obj_l.o, sizeof( s1_t ) ); break;
                case TYPEOF_s2_t    : bcore_sink_x_push_data( sink_l, obj_l.o, sizeof( s2_t ) ); break;
                case TYPEOF_s3_t    : bcore_sink_x_push_data( sink_l, obj_l.o, sizeof( s3_t ) ); break;
                case TYPEOF_sc_t    : bcore_sink_x_push_data( sink_l, obj_l.o, bcore_strlen( obj_l.o ) ); break;
                case TYPEOF_sd_t    : bcore_sink_x_push_data( sink_l, obj_l.o, bcore_strlen( obj_l.o ) ); break;
                case TYPEOF_sz_t    : bcore_sink_x_push_data( sink_l, obj_l.o, sizeof( sz_t ) ); break;
                case TYPEOF_uz_t    : bcore_sink_x_push_data( sink_l, obj_l.o, sizeof( uz_t ) ); break;
                case TYPEOF_tp_t    : bcore_sink_x_push_data( sink_l, obj_l.o, sizeof( tp_t ) ); break;
                case TYPEOF_u0_t    : bcore_sink_x_push_data( sink_l, obj_l.o, sizeof( u0_t ) ); break;
                case TYPEOF_u1_t    : bcore_sink_x_push_data( sink_l, obj_l.o, sizeof( u1_t ) ); break;
                case TYPEOF_u2_t    : bcore_sink_x_push_data( sink_l, obj_l.o, sizeof( u2_t ) ); break;
                case TYPEOF_u3_t    : bcore_sink_x_push_data( sink_l, obj_l.o, sizeof( u3_t ) ); break;
                default: ERR( "Cannot convert type '%s' into a binary stream", ifnameof( sr_s_type( &obj_l ) ) );
            }
        }
        else
        {
            if( bcore_via_x_is_pure_array( obj_l ) )
            {
                sr_s arr_l = sr_cp( obj_l, TYPEOF_bcore_array_s );
                uz_t size = bcore_array_x_get_size( arr_l );
                bcore_sink_x_push_data( sink_l, &size, sizeof( uz_t ) );

                if( bcore_array_x_is_mutable_mono_typed( arr_l ) ) translate( o, 0, sr_tp( bcore_array_x_get_mono_type( arr_l ) ), sink_l, depth + 1 );

                for( uz_t i = 0; i < size; i++ )
                {
                    translate( o, 0, bcore_array_x_get( arr_l, i ), sink_l, depth + 1 );
                }
            }
            else
            {
                uz_t size = bcore_via_p_get_size( obj_l.p, NULL );
                bcore_sink_x_push_data( sink_l, &size, sizeof( uz_t ) );
                for( uz_t i = 0; i < size; i++ )
                {
                    translate( o, bcore_via_x_iget_name( obj_l, i ), bcore_via_x_iget( obj_l, i ), sink_l, depth + 1 );
                }
            }
        }
    }

    bcore_life_s_discard( l );
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1b0, %rsp            # imm = 0x1B0
leaq 0x28(%rbp), %rax
movq %rax, -0x148(%rbp)
leaq 0x10(%rbp), %rax
movq %rax, -0x140(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movb $0x0, %al
callq 0xbfdd0
movq %rax, %rcx
movq -0x148(%rbp), %rax
movq %rcx, -0x20(%rbp)
leaq -0x50(%rbp), %rdi
movabsq $0x5ea8cabb93ff3b7e, %rsi # imm = 0x5EA8CABB93FF3B7E
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11ee90
movq -0x20(%rbp), %rsi
leaq -0x38(%rbp), %rdi
leaq -0x50(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xfb970
movq -0x140(%rbp), %rax
leaq -0x80(%rbp), %rdi
movabsq $0x541d0401d4dcff33, %rsi # imm = 0x541D0401D4DCFF33
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11ee90
movq -0x20(%rbp), %rsi
leaq -0x68(%rbp), %rdi
leaq -0x80(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xfb970
cmpq $0x0, -0x10(%rbp)
je 0x11b902
movq -0x10(%rbp), %rdi
leaq -0x38(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11eef0
cmpq $0x0, -0x68(%rbp)
je 0x11b9a2
leaq -0x68(%rbp), %rdi
callq 0x11ef30
testb $0x1, %al
jne 0x11b91f
jmp 0x11b9a2
leaq -0xb0(%rbp), %rdi
leaq -0x68(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xfb740
movq -0x20(%rbp), %rsi
leaq -0x98(%rbp), %rdi
leaq -0xb0(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xfb970
movq -0x98(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x60(%rbp)
movq -0x88(%rbp), %rax
movq %rax, -0x58(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x11efa0
cmpq $0x0, -0x68(%rbp)
jne 0x11ba16
cmpq $0x0, -0x60(%rbp)
je 0x11b9eb
leaq -0x68(%rbp), %rdi
callq 0x11e2a0
movq %rax, %rdi
leaq -0x38(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11eef0
leaq -0x38(%rbp), %rdi
xorl %esi, %esi
callq 0x11f010
jmp 0x11ba11
leaq -0x38(%rbp), %rax
xorl %ecx, %ecx
movl %ecx, %edi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11eef0
jmp 0x11c3e8
leaq -0x68(%rbp), %rdi
callq 0x11e2a0
movq %rax, %rdi
leaq -0x38(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11eef0
leaq -0x38(%rbp), %rdi
movl $0x1, %esi
callq 0x11f010
leaq -0x68(%rbp), %rdi
callq 0x11e2a0
movabsq $-0x503db0e6e1c2e704, %rcx # imm = 0xAFC24F191E3D18FC
cmpq %rcx, %rax
jne 0x11bab6
movq -0x68(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0xb8(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0xb8(%rbp), %rax
movq 0x10(%rax), %rsi
addq $0x1, %rsi
leaq -0x38(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c3e6
leaq -0x68(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f100
testb $0x1, %al
jne 0x11bae1
jmp 0x11c05a
leaq -0x68(%rbp), %rdi
callq 0x11e2a0
movq %rax, %rcx
movq %rcx, -0x150(%rbp)
movabsq $-0x73f6ae1ad309fd45, %rcx # imm = 0x8C0951E52CF602BB
subq %rcx, %rax
je 0x11bf66
jmp 0x11bb09
movq -0x150(%rbp), %rax
movabsq $-0x6bce971ace902370, %rcx # imm = 0x943168E5316FDC90
subq %rcx, %rax
je 0x11bf96
jmp 0x11bb25
movq -0x150(%rbp), %rax
movabsq $-0x6119581ac7eacd63, %rcx # imm = 0x9EE6A7E53815329D
subq %rcx, %rax
je 0x11bfc6
jmp 0x11bb41
movq -0x150(%rbp), %rax
movabsq $-0x5fc2af85f419929b, %rcx # imm = 0xA03D507A0BE66D65
subq %rcx, %rax
je 0x11bd5c
jmp 0x11bb5d
movq -0x150(%rbp), %rax
movabsq $-0x5aa4411ac4e2880e, %rcx # imm = 0xA55BBEE53B1D77F2
subq %rcx, %rax
je 0x11bff3
jmp 0x11bb79
movq -0x150(%rbp), %rax
movabsq $-0x58737885f0577326, %rcx # imm = 0xA78C877A0FA88CDA
subq %rcx, %rax
je 0x11bd2c
jmp 0x11bb95
movq -0x150(%rbp), %rax
movabsq $-0x4882601bdca6aefb, %rcx # imm = 0xB77D9FE423595105
subq %rcx, %rax
je 0x11bf06
jmp 0x11bbb1
movq -0x150(%rbp), %rax
movabsq $-0x3f1363e6d8155aed, %rcx # imm = 0xC0EC9C1927EAA513
subq %rcx, %rax
je 0x11bed6
jmp 0x11bbcd
movq -0x150(%rbp), %rax
movabsq $-0x3ac242643d9c35a8, %rcx # imm = 0xC53DBD9BC263CA58
subq %rcx, %rax
je 0x11bcfc
jmp 0x11bbe9
movq -0x150(%rbp), %rax
movabsq $-0x388c46b188de83fe, %rcx # imm = 0xC773B94E77217C02
subq %rcx, %rax
je 0x11bccc
jmp 0x11bc05
movq -0x150(%rbp), %rax
movabsq $-0x84b14e74a9e1ff0, %rcx # imm = 0xF7B4EB18B561E010
subq %rcx, %rax
je 0x11be4c
jmp 0x11bc21
movq -0x150(%rbp), %rax
movabsq $0x230abe18cdeefc99, %rcx # imm = 0x230ABE18CDEEFC99
subq %rcx, %rax
je 0x11be91
jmp 0x11bc3d
movq -0x150(%rbp), %rax
movabsq $0x510c2417c67dabeb, %rcx # imm = 0x510C2417C67DABEB
subq %rcx, %rax
je 0x11bdec
jmp 0x11bc59
movq -0x150(%rbp), %rax
movabsq $0x585a3b17ca3de200, %rcx # imm = 0x585A3B17CA3DE200
subq %rcx, %rax
je 0x11be1c
jmp 0x11bc75
movq -0x150(%rbp), %rax
movabsq $0x62367a17d02b474d, %rcx # imm = 0x62367A17D02B474D
subq %rcx, %rax
je 0x11bd8c
jmp 0x11bc91
movq -0x150(%rbp), %rax
movabsq $0x69849117d3eb7d62, %rcx # imm = 0x69849117D3EB7D62
subq %rcx, %rax
je 0x11bdbc
jmp 0x11bcad
movq -0x150(%rbp), %rax
movabsq $0x6d07f9ef5b68e8a2, %rcx # imm = 0x6D07F9EF5B68E8A2
subq %rcx, %rax
je 0x11bf36
jmp 0x11c020
movq -0x68(%rbp), %rdi
leaq -0x38(%rbp), %rax
movl $0x8, %esi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c055
movq -0x68(%rbp), %rdi
leaq -0x38(%rbp), %rax
movl $0x1, %esi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c055
movq -0x68(%rbp), %rdi
leaq -0x38(%rbp), %rax
movl $0x4, %esi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c055
movq -0x68(%rbp), %rdi
leaq -0x38(%rbp), %rax
movl $0x8, %esi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c055
movq -0x68(%rbp), %rdi
leaq -0x38(%rbp), %rax
movl $0x1, %esi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c055
movq -0x68(%rbp), %rdi
leaq -0x38(%rbp), %rax
movl $0x2, %esi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c055
movq -0x68(%rbp), %rdi
leaq -0x38(%rbp), %rax
movl $0x4, %esi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c055
movq -0x68(%rbp), %rdi
leaq -0x38(%rbp), %rax
movl $0x8, %esi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c055
movq -0x68(%rbp), %rax
movq %rax, -0x158(%rbp)
movq -0x68(%rbp), %rdi
callq 0x9d770
movq -0x158(%rbp), %rdi
movq %rax, %rsi
leaq -0x38(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c055
movq -0x68(%rbp), %rax
movq %rax, -0x160(%rbp)
movq -0x68(%rbp), %rdi
callq 0x9d770
movq -0x160(%rbp), %rdi
movq %rax, %rsi
leaq -0x38(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c055
movq -0x68(%rbp), %rdi
leaq -0x38(%rbp), %rax
movl $0x8, %esi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c055
movq -0x68(%rbp), %rdi
leaq -0x38(%rbp), %rax
movl $0x8, %esi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c055
movq -0x68(%rbp), %rdi
leaq -0x38(%rbp), %rax
movl $0x8, %esi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c055
movq -0x68(%rbp), %rdi
leaq -0x38(%rbp), %rax
movl $0x1, %esi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c055
movq -0x68(%rbp), %rdi
leaq -0x38(%rbp), %rax
movl $0x2, %esi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c055
movq -0x68(%rbp), %rdi
leaq -0x38(%rbp), %rax
movl $0x4, %esi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c055
movq -0x68(%rbp), %rdi
leaq -0x38(%rbp), %rax
movl $0x8, %esi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
jmp 0x11c055
leaq -0x68(%rbp), %rdi
callq 0x11e2a0
movq %rax, %rdi
callq 0x11f1a0
movq %rax, %r8
leaq 0x1dc12(%rip), %rdi     # 0x139c4d
leaq 0x3cd55(%rip), %rsi     # 0x158d97
movl $0x67, %edx
leaq 0x3cd65(%rip), %rcx     # 0x158db3
movb $0x0, %al
callq 0x9cf40
jmp 0x11c3e4
leaq -0x68(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f1f0
testb $0x1, %al
jne 0x11c085
jmp 0x11c2a4
leaq -0xd0(%rbp), %rdi
leaq -0x68(%rbp), %rax
movabsq $-0x5073d588c3beb52e, %rsi # imm = 0xAF8C2A773C414AD2
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11ee90
leaq -0xd0(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f290
movq %rax, -0xd8(%rbp)
leaq -0x38(%rbp), %rax
leaq -0xd8(%rbp), %rdi
movl $0x8, %esi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
leaq -0xd0(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xdab10
testb $0x1, %al
jne 0x11c140
jmp 0x11c1d5
movq -0x8(%rbp), %rax
movq %rax, -0x168(%rbp)
leaq -0xd0(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0xdad40
movq %rax, %rsi
leaq -0xf0(%rbp), %rdi
callq 0xfbd70
movq -0x168(%rbp), %rdi
movq -0x18(%rbp), %rdx
addq $0x1, %rdx
xorl %eax, %eax
movl %eax, %esi
leaq -0xf0(%rbp), %rcx
leaq -0x38(%rbp), %rax
movq (%rcx), %r8
movq %r8, (%rsp)
movq 0x8(%rcx), %r8
movq %r8, 0x8(%rsp)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rcx
movq %rcx, 0x18(%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x20(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
callq 0x11b7e0
movq $0x0, -0xf8(%rbp)
movq -0xf8(%rbp), %rax
cmpq -0xd8(%rbp), %rax
jae 0x11c29f
movq -0x8(%rbp), %rax
movq %rax, -0x170(%rbp)
movq -0xf8(%rbp), %rsi
leaq -0x110(%rbp), %rdi
leaq -0xd0(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f330
movq -0x170(%rbp), %rdi
movq -0x18(%rbp), %rdx
addq $0x1, %rdx
xorl %eax, %eax
movl %eax, %esi
leaq -0x110(%rbp), %rcx
leaq -0x38(%rbp), %rax
movq (%rcx), %r8
movq %r8, (%rsp)
movq 0x8(%rcx), %r8
movq %r8, 0x8(%rsp)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rcx
movq %rcx, 0x18(%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x20(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
callq 0x11b7e0
movq -0xf8(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xf8(%rbp)
jmp 0x11c1e0
jmp 0x11c3e2
movq -0x60(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x11f3d0
movq %rax, -0x118(%rbp)
leaq -0x38(%rbp), %rax
leaq -0x118(%rbp), %rdi
movl $0x8, %esi
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f050
movq $0x0, -0x120(%rbp)
movq -0x120(%rbp), %rax
cmpq -0x118(%rbp), %rax
jae 0x11c3e0
movq -0x8(%rbp), %rax
movq %rax, -0x180(%rbp)
movq -0x120(%rbp), %rdi
leaq -0x68(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f400
movq %rax, -0x178(%rbp)
movq -0x120(%rbp), %rsi
leaq -0x138(%rbp), %rdi
leaq -0x68(%rbp), %rax
movq (%rax), %rcx
movq %rcx, (%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x11f4a0
movq -0x180(%rbp), %rdi
movq -0x178(%rbp), %rsi
movq -0x18(%rbp), %rdx
addq $0x1, %rdx
leaq -0x138(%rbp), %rcx
leaq -0x38(%rbp), %rax
movq (%rcx), %r8
movq %r8, (%rsp)
movq 0x8(%rcx), %r8
movq %r8, 0x8(%rsp)
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rsp)
movq (%rax), %rcx
movq %rcx, 0x18(%rsp)
movq 0x8(%rax), %rcx
movq %rcx, 0x20(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x28(%rsp)
callq 0x11b7e0
movq -0x120(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x120(%rbp)
jmp 0x11c2f1
jmp 0x11c3e2
jmp 0x11c3e4
jmp 0x11c3e6
jmp 0x11c3e8
movq -0x20(%rbp), %rdi
callq 0xbfe00
addq $0x1b0, %rsp            # imm = 0x1B0
popq %rbp
retq
nopw (%rax,%rax)