// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: sweep
static void sweep(s7_scheme *sc)
    {
        s7_int i, j;
        s7_pointer s1;
        gc_list *gp;

#define process_gc_list(Code)			\
        if (gp->loc > 0)				\
        {						\
            for (i = 0, j = 0; i < gp->loc; i++)		\
            {						\
                s1 = gp->list[i];				\
                if (is_free_and_clear(s1))			\
                {						\
                    Code;					\
                }						\
                else gp->list[j++] = s1;			\
            }						\
            gp->loc = j;					\
        }							\

        gp = sc->strings;
        process_gc_list(liberate(sc, string_block(s1)))

            gp = sc->gensyms;
        process_gc_list(remove_gensym_from_symbol_table(sc, s1); liberate(sc, gensym_block(s1)))
            if (gp->loc == 0) mark_function[T_SYMBOL] = mark_noop;

        gp = sc->unknowns;
        process_gc_list(free(unknown_name(s1)))

            gp = sc->c_objects;
        process_gc_list((*(c_object_free(sc, s1)))(c_object_value(s1)))

            gp = sc->lambdas;
        process_gc_list(liberate(sc, c_function_block(s1)))

            gp = sc->vectors;
        process_gc_list(liberate(sc, vector_block(s1)))

            gp = sc->multivectors;
        process_gc_list(process_multivector(sc, s1));

        gp = sc->hash_tables;
        if (gp->loc > 0)
        {
            for (i = 0, j = 0; i < gp->loc; i++)
            {
                s1 = gp->list[i];
                if (is_free_and_clear(s1))
                    free_hash_table(sc, s1);
                else
                {
                    if ((is_weak_hash_table(s1)) &&
                            (weak_hash_iters(s1) == 0))
                        cull_weak_hash_table(sc, s1);
                    gp->list[j++] = s1;
                }
            }
            gp->loc = j;
        }

        gp = sc->weak_hash_iterators;
        process_gc_list(process_iterator(sc, s1));

        gp = sc->input_ports;
        process_gc_list(process_input_port(sc, s1));

        gp = sc->input_string_ports;
        process_gc_list(process_input_string_port(sc, s1));

        gp = sc->output_ports;
        process_gc_list(process_output_port(sc, s1));

        gp = sc->continuations;
        process_gc_list(process_continuation(sc, s1));

        gp = sc->lamlets;
        process_gc_list(process_noop());

        gp = sc->weak_refs;
        if (gp->loc > 0)
        {
            for (i = 0, j = 0; i < gp->loc; i++)
            {
                s1 = gp->list[i];
                if (!is_free_and_clear(s1))
                {
                    if (is_free_and_clear(c_pointer_weak1(s1)))
                        c_pointer_weak1(s1) = sc->F;
                    if (is_free_and_clear(c_pointer_weak2(s1)))
                        c_pointer_weak2(s1) = sc->F;
                    if ((c_pointer_weak1(s1) != sc->F) ||
                            (c_pointer_weak2(s1) != sc->F))
                        gp->list[j++] = s1;
                }
            }
            gp->loc = j;
        }

#if WITH_GMP
        gp = sc->big_integers;
        process_gc_list(mpz_clear(big_integer(s1)))

            gp = sc->big_ratios;
        process_gc_list(mpq_clear(big_ratio(s1)))

            gp = sc->big_reals;
        process_gc_list(mpfr_clear(big_real(s1)))

            gp = sc->big_complexes;
        process_gc_list(mpc_clear(big_complex(s1)))

            gp = sc->big_random_states;
        process_gc_list(gmp_randclear(random_gmp_state(s1)))
#endif
    }

// Assembly:
subq $0x28, %rsp
movq %rdi, 0x20(%rsp)
movq 0x20(%rsp), %rax
movq 0x738(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
cmpq $0x0, 0x10(%rax)
jle 0xc400e
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
cmpq 0x10(%rcx), %rax
jge 0xc4001
movq (%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xc3fce
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rsi
callq 0xb230
jmp 0xc3fef
movq 0x8(%rsp), %rdx
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rsp)
movq %rdx, (%rax,%rcx,8)
jmp 0xc3ff1
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0xc3f8a
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x778(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
cmpq $0x0, 0x10(%rax)
jle 0xc40d9
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
cmpq 0x10(%rcx), %rax
jge 0xc40cc
movq (%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xc4096
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xc4c00
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x28(%rax), %rsi
callq 0xb230
jmp 0xc40b7
movq 0x8(%rsp), %rdx
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rsp)
movq %rdx, (%rax,%rcx,8)
jmp 0xc40b9
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0xc403f
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq (%rsp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xc40f2
leaq -0x31bb(%rip), %rax     # 0xc0f30
movq %rax, 0x1521fe(%rip)    # 0x2162f0
movq 0x20(%rsp), %rax
movq 0x780(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
cmpq $0x0, 0x10(%rax)
jle 0xc41a2
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
cmpq 0x10(%rcx), %rax
jge 0xc4195
movq (%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xc4162
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rdi
callq 0x9050
jmp 0xc4183
movq 0x8(%rsp), %rdx
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rsp)
movq %rdx, (%rax,%rcx,8)
jmp 0xc4185
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0xc4123
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x768(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
cmpq $0x0, 0x10(%rax)
jle 0xc4273
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
cmpq 0x10(%rcx), %rax
jge 0xc4266
movq (%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xc4230
movq 0x20(%rsp), %rax
movq 0x8d8(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x8(%rcx), %rcx
movq (%rax,%rcx,8), %rax
movq 0x28(%rax), %rax
movq 0x8(%rsp), %rcx
movq 0x10(%rcx), %rdi
callq *%rax
jmp 0xc4251
movq 0x8(%rsp), %rdx
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rsp)
movq %rdx, (%rax,%rcx,8)
jmp 0xc4253
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0xc41d3
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x788(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
cmpq $0x0, 0x10(%rax)
jle 0xc432c
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
cmpq 0x10(%rcx), %rax
jge 0xc431f
movq (%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xc42ec
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x18(%rax), %rsi
callq 0xb230
jmp 0xc430d
movq 0x8(%rsp), %rdx
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rsp)
movq %rdx, (%rax,%rcx,8)
jmp 0xc430f
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0xc42a4
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x740(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
cmpq $0x0, 0x10(%rax)
jle 0xc43e1
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
cmpq 0x10(%rcx), %rax
jge 0xc43d4
movq (%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xc43a1
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rax
movq 0x18(%rax), %rsi
callq 0xb230
jmp 0xc43c2
movq 0x8(%rsp), %rdx
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rsp)
movq %rdx, (%rax,%rcx,8)
jmp 0xc43c4
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0xc435d
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x790(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
cmpq $0x0, 0x10(%rax)
jle 0xc4492
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
cmpq 0x10(%rcx), %rax
jge 0xc4485
movq (%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xc4452
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xc4cf0
jmp 0xc4473
movq 0x8(%rsp), %rdx
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rsp)
movq %rdx, (%rax,%rcx,8)
jmp 0xc4475
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0xc4412
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x770(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
cmpq $0x0, 0x10(%rax)
jle 0xc457c
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
cmpq 0x10(%rcx), %rax
jge 0xc456f
movq (%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xc4507
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xc4d80
jmp 0xc455a
movq 0x8(%rsp), %rax
movq (%rax), %rax
andq $0x8000000, %rax        # imm = 0x8000000
cmpq $0x0, %rax
je 0xc4539
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rax
cmpl $0x0, 0xc(%rax)
jne 0xc4539
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xc4ea0
movq 0x8(%rsp), %rdx
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rsp)
movq %rdx, (%rax,%rcx,8)
jmp 0xc455c
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0xc44c3
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x7a0(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
cmpq $0x0, 0x10(%rax)
jle 0xc462d
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
cmpq 0x10(%rcx), %rax
jge 0xc4620
movq (%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xc45ed
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xc5040
jmp 0xc460e
movq 0x8(%rsp), %rdx
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rsp)
movq %rdx, (%rax,%rcx,8)
jmp 0xc4610
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0xc45ad
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x748(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
cmpq $0x0, 0x10(%rax)
jle 0xc46de
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
cmpq 0x10(%rcx), %rax
jge 0xc46d1
movq (%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xc469e
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xc50a0
jmp 0xc46bf
movq 0x8(%rsp), %rdx
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rsp)
movq %rdx, (%rax,%rcx,8)
jmp 0xc46c1
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0xc465e
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x758(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
cmpq $0x0, 0x10(%rax)
jle 0xc478f
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
cmpq 0x10(%rcx), %rax
jge 0xc4782
movq (%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xc474f
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xc51c0
jmp 0xc4770
movq 0x8(%rsp), %rdx
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rsp)
movq %rdx, (%rax,%rcx,8)
jmp 0xc4772
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0xc470f
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x750(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
cmpq $0x0, 0x10(%rax)
jle 0xc4840
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
cmpq 0x10(%rcx), %rax
jge 0xc4833
movq (%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xc4800
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xc5220
jmp 0xc4821
movq 0x8(%rsp), %rdx
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rsp)
movq %rdx, (%rax,%rcx,8)
jmp 0xc4823
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0xc47c0
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x760(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
cmpq $0x0, 0x10(%rax)
jle 0xc48f1
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
cmpq 0x10(%rcx), %rax
jge 0xc48e4
movq (%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xc48b1
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rsi
callq 0xc52b0
jmp 0xc48d2
movq 0x8(%rsp), %rdx
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rsp)
movq %rdx, (%rax,%rcx,8)
jmp 0xc48d4
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0xc4871
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x7a8(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
cmpq $0x0, 0x10(%rax)
jle 0xc4998
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
cmpq 0x10(%rcx), %rax
jge 0xc498b
movq (%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
jne 0xc4958
callq 0xc52f0
jmp 0xc4979
movq 0x8(%rsp), %rdx
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rsp)
movq %rdx, (%rax,%rcx,8)
jmp 0xc497b
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0xc4922
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x20(%rsp), %rax
movq 0x798(%rax), %rax
movq %rax, (%rsp)
movq (%rsp), %rax
cmpq $0x0, 0x10(%rax)
jle 0xc4abb
movq $0x0, 0x18(%rsp)
movq $0x0, 0x10(%rsp)
movq 0x18(%rsp), %rax
movq (%rsp), %rcx
cmpq 0x10(%rcx), %rax
jge 0xc4aae
movq (%rsp), %rax
movq (%rax), %rax
movq 0x18(%rsp), %rcx
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rax
cmpq $0x0, (%rax)
je 0xc4a99
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
cmpq $0x0, (%rax)
jne 0xc4a24
movq 0x20(%rsp), %rax
movq 0x120(%rax), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x20(%rax)
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rax
cmpq $0x0, (%rax)
jne 0xc4a48
movq 0x20(%rsp), %rax
movq 0x120(%rax), %rcx
movq 0x8(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x8(%rsp), %rax
movq 0x20(%rax), %rax
movq 0x20(%rsp), %rcx
cmpq 0x120(%rcx), %rax
jne 0xc4a76
movq 0x8(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x20(%rsp), %rcx
cmpq 0x120(%rcx), %rax
je 0xc4a97
movq 0x8(%rsp), %rdx
movq (%rsp), %rax
movq (%rax), %rax
movq 0x10(%rsp), %rcx
movq %rcx, %rsi
addq $0x1, %rsi
movq %rsi, 0x10(%rsp)
movq %rdx, (%rax,%rcx,8)
jmp 0xc4a99
jmp 0xc4a9b
movq 0x18(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x18(%rsp)
jmp 0xc49c9
movq 0x10(%rsp), %rcx
movq (%rsp), %rax
movq %rcx, 0x10(%rax)
addq $0x28, %rsp
retq