// File: /workspace/github_c_makefile_star2_O0/BernardTatin[P]s7sh/s7.c
// Function: hash_table_to_port
static void hash_table_to_port(s7_scheme *sc, s7_pointer hash, s7_pointer port, use_write_t use_write, shared_info *ci)
    {
        s7_int i, len, gc_iter;
        bool too_long = false;
        s7_pointer iterator, p;
        int32_t href;

        /* if hash is a member of ci, just print its number
         * (let ((ht (hash-table '(a . 1)))) (hash-table-set! ht 'b ht))
         *
         * since equal? does not care about the hash-table lengths, we can ignore that complication in the :readable case
         * there's no way to make a truly :readable version of a weak hash-table (or a normal hash-table that uses eq? with pairs, for example)
         */
        len = hash_table_entries(hash);
        if (len == 0)
        {
            if (is_weak_hash_table(hash))
                port_write_string(port)(sc, "(weak-hash-table)", 17, port);
            else port_write_string(port)(sc, "(hash-table)", 12, port);
            return;
        }

        if (use_write != P_READABLE)
        {
            s7_int plen;
            plen = sc->print_length;
            if (plen <= 0)
            {
                port_write_string(port)(sc, "(hash-table ...)", 16, port);
                return;
            }
            if (len > plen)
            {
                too_long = true;
                len = plen;
            }
        }

        if ((use_write == P_READABLE) &&
                (ci))
        {
            href = peek_shared_ref(ci, hash);
            if (href != 0)
            {
                if (href < 0) href = -href;
                if ((ci->defined[href]) || (port == ci->cycle_port))
                {
                    char buf[128];
                    int32_t plen;
                    plen = catstrs_direct(buf, "<", pos_int_to_str_direct(sc, href), ">", NULL);
                    port_write_string(port)(sc, buf, plen, port);
                    return;
                }
            }
        }

        iterator = s7_make_iterator(sc, hash);
        gc_iter = s7_gc_protect_1(sc, iterator);
        p = cons(sc, sc->F, sc->F);
        iterator_current(iterator) = p;
        set_mark_seq(iterator);

        if ((use_write == P_READABLE) &&
                (is_immutable(hash)))
            port_write_string(port)(sc, "(immutable! ", 12, port);

        if ((use_write == P_READABLE) &&
                (ci) &&
                (is_cyclic(hash)) &&
                ((href = peek_shared_ref(ci, hash)) != 0))
        {
            if (href < 0) href = -href;

            if (is_weak_hash_table(hash))
                port_write_string(port)(sc, "(weak-hash-table", 16, port);
            else port_write_string(port)(sc, "(hash-table", 11, port); /* top level let */
            for (i = 0; i < len; i++)
            {
                s7_pointer key_val, key, val;

                key_val = hash_table_iterate(sc, iterator);
                key = car(key_val);
                val = cdr(key_val);
                if ((has_structure(val)) ||
                        (has_structure(key)))
                {
                    char buf[128];
                    int32_t eref, kref, plen;
                    eref = peek_shared_ref(ci, val);
                    kref = peek_shared_ref(ci, key);
                    plen = catstrs_direct(buf, "  (set! (<", pos_int_to_str_direct(sc, href), "> ", NULL);
                    port_write_string(ci->cycle_port)(sc, buf, plen, ci->cycle_port);

                    if (kref != 0)
                    {
                        if (kref < 0) kref = -kref;
                        plen = catstrs_direct(buf, "<", pos_int_to_str_direct(sc, kref), ">", NULL);
                        port_write_string(ci->cycle_port)(sc, buf, plen, ci->cycle_port);
                    }
                    else object_to_port(sc, key, ci->cycle_port, P_READABLE, ci);

                    if (eref != 0)
                    {
                        if (eref < 0) eref = -eref;
                        plen = catstrs_direct(buf, ") <", pos_int_to_str_direct(sc, eref), ">)\n", NULL);
                        port_write_string(ci->cycle_port)(sc, buf, plen, ci->cycle_port);
                    }
                    else
                    {
                        port_write_string(ci->cycle_port)(sc, ") ", 2, ci->cycle_port);
                        object_to_port_with_circle_check(sc, val, ci->cycle_port, P_READABLE, ci);
                        port_write_string(ci->cycle_port)(sc, ")\n", 2, ci->cycle_port);
                    }
                }
                else
                {
                    port_write_character(port)(sc, ' ', port);
                    object_to_port_with_circle_check(sc, key, port, P_READABLE, ci);
                    port_write_character(port)(sc, ' ', port);
                    object_to_port_with_circle_check(sc, val, port, P_READABLE, ci);
                }
            }
            port_write_character(port)(sc, ')', port);
        }
        else
        {
            if (is_weak_hash_table(hash))
                port_write_string(port)(sc, "(weak-hash-table", 16, port);
            else port_write_string(port)(sc, "(hash-table", 11, port);
            for (i = 0; i < len; i++)
            {
                s7_pointer key_val;
                port_write_character(port)(sc, ' ', port);
                key_val = hash_table_iterate(sc, iterator);
#if S7_DEBUGGING
                if (!is_pair(key_val))
                {
                    fprintf(stderr, "hash entries clobbered\n");
                    hash_table_entries(hash) = i;
                    break;
                }
#endif
                if (use_write != P_READABLE)
                {
                    if (is_normal_symbol(car(key_val)))
                        port_write_character(port)(sc, '\'', port);
                }
                object_to_port_with_circle_check(sc, car(key_val), port, NOT_P_DISPLAY(use_write), ci);
                port_write_character(port)(sc, ' ', port);
                object_to_port_with_circle_check(sc, cdr(key_val), port, NOT_P_DISPLAY(use_write), ci);
            }
            if (too_long)
                port_write_string(port)(sc, " ...)", 5, port);
            else port_write_character(port)(sc, ')', port);
        }

        if ((use_write == P_READABLE) &&
                (is_immutable(hash)))
            port_write_character(port)(sc, ')', port);

        s7_gc_unprotect_at(sc, gc_iter);
        iterator_current(iterator) = sc->nil;
        free_cell(sc, p);
        /* free_cell(sc, iterator); */ /* 18-Dec-18 removed */
    }

// Assembly:
subq $0x298, %rsp            # imm = 0x298
movq %rdi, 0x290(%rsp)
movq %rsi, 0x288(%rsp)
movq %rdx, 0x280(%rsp)
movl %ecx, 0x27c(%rsp)
movq %r8, 0x270(%rsp)
movb $0x0, 0x257(%rsp)
movq 0x288(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x18(%rax), %rax
movq %rax, 0x260(%rsp)
cmpq $0x0, 0x260(%rsp)
jne 0x1a5cef
movq 0x288(%rsp), %rax
movq (%rax), %rax
andq $0x8000000, %rax        # imm = 0x8000000
cmpq $0x0, %rax
je 0x1a5cb8
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x280(%rsp), %rcx
leaq 0x4c8c4(%rip), %rsi     # 0x1f2573
movl $0x11, %edx
callq *%rax
jmp 0x1a5cea
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x280(%rsp), %rcx
leaq 0x4c8a2(%rip), %rsi     # 0x1f2585
movl $0xc, %edx
callq *%rax
jmp 0x1a6d65
cmpl $0x2, 0x27c(%rsp)
je 0x1a5d82
movq 0x290(%rsp), %rax
movq 0x280(%rax), %rax
movq %rax, 0x230(%rsp)
cmpq $0x0, 0x230(%rsp)
jg 0x1a5d56
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x280(%rsp), %rcx
leaq 0x4c848(%rip), %rsi     # 0x1f2592
movl $0x10, %edx
callq *%rax
jmp 0x1a6d65
movq 0x260(%rsp), %rax
cmpq 0x230(%rsp), %rax
jle 0x1a5d80
movb $0x1, 0x257(%rsp)
movq 0x230(%rsp), %rax
movq %rax, 0x260(%rsp)
jmp 0x1a5d82
cmpl $0x2, 0x27c(%rsp)
jne 0x1a5ea7
cmpq $0x0, 0x270(%rsp)
je 0x1a5ea7
movq 0x270(%rsp), %rdi
movq 0x288(%rsp), %rsi
callq 0xd2740
movl %eax, 0x23c(%rsp)
cmpl $0x0, 0x23c(%rsp)
je 0x1a5ea5
cmpl $0x0, 0x23c(%rsp)
jge 0x1a5de3
xorl %eax, %eax
subl 0x23c(%rsp), %eax
movl %eax, 0x23c(%rsp)
movq 0x270(%rsp), %rax
movq 0x48(%rax), %rax
movslq 0x23c(%rsp), %rcx
testb $0x1, (%rax,%rcx)
jne 0x1a5e17
movq 0x280(%rsp), %rax
movq 0x270(%rsp), %rcx
cmpq 0x28(%rcx), %rax
jne 0x1a5ea3
leaq 0x1b0(%rsp), %rax
movq %rax, 0xa8(%rsp)
movq 0x290(%rsp), %rdi
movslq 0x23c(%rsp), %rsi
callq 0xae30
movq 0xa8(%rsp), %rdi
movq %rax, %rdx
leaq 0x4c943(%rip), %rsi     # 0x1f2791
leaq 0x4cc12(%rip), %rcx     # 0x1f2a67
xorl %eax, %eax
movl %eax, %r8d
movb $0x0, %al
callq 0x10540
movl %eax, 0x1ac(%rsp)
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
movq 0x290(%rsp), %rdi
leaq 0x1b0(%rsp), %rsi
movslq 0x1ac(%rsp), %rdx
movq 0x280(%rsp), %rcx
callq *%rax
jmp 0x1a6d65
jmp 0x1a5ea5
jmp 0x1a5ea7
movq 0x290(%rsp), %rdi
movq 0x288(%rsp), %rsi
callq 0xdb80
movq %rax, 0x248(%rsp)
movq 0x290(%rsp), %rdi
movq 0x248(%rsp), %rsi
callq 0x9cb0
movq %rax, 0x258(%rsp)
movq 0x290(%rsp), %rax
movq 0x120(%rax), %rax
movq %rax, 0x198(%rsp)
movq 0x290(%rsp), %rax
movq 0x120(%rax), %rax
movq %rax, 0x190(%rsp)
movq 0x290(%rsp), %rax
movq 0x90(%rax), %rax
movq 0x290(%rsp), %rcx
cmpq 0x98(%rcx), %rax
ja 0x1a5f3c
movq 0x290(%rsp), %rdi
callq 0xc670
movq 0x290(%rsp), %rcx
movq 0x90(%rcx), %rax
movq %rax, %rdx
addq $-0x8, %rdx
movq %rdx, 0x90(%rcx)
movq -0x8(%rax), %rax
movq %rax, 0x1a0(%rsp)
movq 0x1a0(%rsp), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq 0x198(%rsp), %rcx
movq 0x1a0(%rsp), %rax
movq %rcx, 0x8(%rax)
movq 0x190(%rsp), %rcx
movq 0x1a0(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x1a0(%rsp), %rax
movq %rax, 0x188(%rsp)
movq 0x188(%rsp), %rax
movq %rax, 0x240(%rsp)
movq 0x240(%rsp), %rcx
movq 0x248(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x248(%rsp), %rax
movq (%rax), %rcx
orq $0x4000000, %rcx        # imm = 0x4000000
movq %rcx, (%rax)
cmpl $0x2, 0x27c(%rsp)
jne 0x1a6038
movq 0x288(%rsp), %rax
movq (%rax), %rax
andq $0x1000000, %rax        # imm = 0x1000000
cmpq $0x0, %rax
je 0x1a6038
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x280(%rsp), %rcx
leaq 0x485d3(%rip), %rsi     # 0x1ee604
movl $0xc, %edx
callq *%rax
cmpl $0x2, 0x27c(%rsp)
jne 0x1a6813
cmpq $0x0, 0x270(%rsp)
je 0x1a6813
movq 0x288(%rsp), %rax
movzwl 0x6(%rax), %eax
andl $0x20, %eax
cmpl $0x0, %eax
je 0x1a6813
movq 0x270(%rsp), %rdi
movq 0x288(%rsp), %rsi
callq 0xd2740
movl %eax, 0x23c(%rsp)
cmpl $0x0, %eax
je 0x1a6813
cmpl $0x0, 0x23c(%rsp)
jge 0x1a60ac
xorl %eax, %eax
subl 0x23c(%rsp), %eax
movl %eax, 0x23c(%rsp)
movq 0x288(%rsp), %rax
movq (%rax), %rax
andq $0x8000000, %rax        # imm = 0x8000000
cmpq $0x0, %rax
je 0x1a60f7
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x280(%rsp), %rcx
leaq 0x4c4b5(%rip), %rsi     # 0x1f25a3
movl $0x10, %edx
callq *%rax
jmp 0x1a6129
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x280(%rsp), %rcx
leaq 0x4c492(%rip), %rsi     # 0x1f25b4
movl $0xb, %edx
callq *%rax
movq $0x0, 0x268(%rsp)
movq 0x268(%rsp), %rax
cmpq 0x260(%rsp), %rax
jge 0x1a67e3
movq 0x290(%rsp), %rdi
movq 0x248(%rsp), %rsi
callq 0x2be50
movq %rax, 0x180(%rsp)
movq 0x180(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0x178(%rsp)
movq 0x180(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0x170(%rsp)
movq 0x170(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x7bcec(%rip), %rax     # 0x221e90
testb $0x1, (%rax,%rcx)
je 0x1a61d0
movq 0x170(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x15, %eax
jne 0x1a6218
movq 0x170(%rsp), %rax
movzwl 0x6(%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
je 0x1a6218
movq 0x178(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x7bcac(%rip), %rax     # 0x221e90
testb $0x1, (%rax,%rcx)
je 0x1a65e0
movq 0x178(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x15, %eax
jne 0x1a6218
movq 0x178(%rsp), %rax
movzwl 0x6(%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
jne 0x1a65e0
movq 0x270(%rsp), %rdi
movq 0x170(%rsp), %rsi
callq 0xd2740
movl %eax, 0xec(%rsp)
movq 0x270(%rsp), %rdi
movq 0x178(%rsp), %rsi
callq 0xd2740
movl %eax, 0xe8(%rsp)
leaq 0xf0(%rsp), %rax
movq %rax, 0xa0(%rsp)
movq 0x290(%rsp), %rdi
movslq 0x23c(%rsp), %rsi
callq 0xae30
movq 0xa0(%rsp), %rdi
movq %rax, %rdx
leaq 0x4c243(%rip), %rsi     # 0x1f24ca
leaq 0x48371(%rip), %rcx     # 0x1ee5ff
xorl %eax, %eax
movl %eax, %r8d
movb $0x0, %al
callq 0x10540
movl %eax, 0xe4(%rsp)
movq 0x270(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
movq 0x290(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
movslq 0xe4(%rsp), %rdx
movq 0x270(%rsp), %rcx
movq 0x28(%rcx), %rcx
callq *%rax
cmpl $0x0, 0xe8(%rsp)
je 0x1a6398
cmpl $0x0, 0xe8(%rsp)
jge 0x1a6307
xorl %eax, %eax
subl 0xe8(%rsp), %eax
movl %eax, 0xe8(%rsp)
leaq 0xf0(%rsp), %rax
movq %rax, 0x98(%rsp)
movq 0x290(%rsp), %rdi
movslq 0xe8(%rsp), %rsi
callq 0xae30
movq 0x98(%rsp), %rdi
movq %rax, %rdx
leaq 0x4c453(%rip), %rsi     # 0x1f2791
leaq 0x4c722(%rip), %rcx     # 0x1f2a67
xorl %eax, %eax
movl %eax, %r8d
movb $0x0, %al
callq 0x10540
movl %eax, 0xe4(%rsp)
movq 0x270(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
movq 0x290(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
movslq 0xe4(%rsp), %rdx
movq 0x270(%rsp), %rcx
movq 0x28(%rcx), %rcx
callq *%rax
jmp 0x1a63db
movq 0x178(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x7bb24(%rip), %rax     # 0x221ed0
movq (%rax,%rcx,8), %rax
movq 0x290(%rsp), %rdi
movq 0x178(%rsp), %rsi
movq 0x270(%rsp), %rcx
movq 0x28(%rcx), %rdx
movq 0x270(%rsp), %r8
movl $0x2, %ecx
callq *%rax
cmpl $0x0, 0xec(%rsp)
je 0x1a6497
cmpl $0x0, 0xec(%rsp)
jge 0x1a6403
xorl %eax, %eax
subl 0xec(%rsp), %eax
movl %eax, 0xec(%rsp)
leaq 0xf0(%rsp), %rax
movq %rax, 0x90(%rsp)
movq 0x290(%rsp), %rdi
movslq 0xec(%rsp), %rsi
callq 0xae30
movq 0x90(%rsp), %rdi
movq %rax, %rdx
leaq 0x4c09b(%rip), %rsi     # 0x1f24d5
leaq 0x4c09d(%rip), %rcx     # 0x1f24de
xorl %eax, %eax
movl %eax, %r8d
movb $0x0, %al
callq 0x10540
movl %eax, 0xe4(%rsp)
movq 0x270(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
movq 0x290(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
movslq 0xe4(%rsp), %rdx
movq 0x270(%rsp), %rcx
movq 0x28(%rcx), %rcx
callq *%rax
jmp 0x1a65db
movq 0x270(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x270(%rsp), %rcx
movq 0x28(%rcx), %rcx
leaq 0x4c211(%rip), %rsi     # 0x1f26db
movl $0x2, %edx
callq *%rax
movq 0x170(%rsp), %rax
movq %rax, 0xd8(%rsp)
cmpq $0x0, 0x270(%rsp)
je 0x1a655c
movq 0xd8(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x7b990(%rip), %rax     # 0x221e90
testb $0x1, (%rax,%rcx)
je 0x1a655c
movq 0xd8(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x15, %eax
jne 0x1a652c
movq 0xd8(%rsp), %rax
movzwl 0x6(%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
jne 0x1a655c
movq 0x290(%rsp), %rdi
movq 0xd8(%rsp), %rsi
movq 0x270(%rsp), %rax
movq 0x28(%rax), %rdx
movq 0x270(%rsp), %r8
movl $0x2, %ecx
callq 0xd0220
jmp 0x1a659f
movq 0xd8(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x7b960(%rip), %rax     # 0x221ed0
movq (%rax,%rcx,8), %rax
movq 0x290(%rsp), %rdi
movq 0xd8(%rsp), %rsi
movq 0x270(%rsp), %rcx
movq 0x28(%rcx), %rdx
movq 0x270(%rsp), %r8
movl $0x2, %ecx
callq *%rax
jmp 0x1a65a1
movq 0x270(%rsp), %rax
movq 0x28(%rax), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x270(%rsp), %rcx
movq 0x28(%rcx), %rcx
leaq 0x4bf2b(%rip), %rsi     # 0x1f24ff
movl $0x2, %edx
callq *%rax
jmp 0x1a67c8
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x280(%rsp), %rdx
movl $0x20, %esi
callq *%rax
movq 0x178(%rsp), %rax
movq %rax, 0xd0(%rsp)
cmpq $0x0, 0x270(%rsp)
je 0x1a6692
movq 0xd0(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x7b856(%rip), %rax     # 0x221e90
testb $0x1, (%rax,%rcx)
je 0x1a6692
movq 0xd0(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x15, %eax
jne 0x1a6666
movq 0xd0(%rsp), %rax
movzwl 0x6(%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
jne 0x1a6692
movq 0x290(%rsp), %rdi
movq 0xd0(%rsp), %rsi
movq 0x280(%rsp), %rdx
movq 0x270(%rsp), %r8
movl $0x2, %ecx
callq 0xd0220
jmp 0x1a66d1
movq 0xd0(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x7b82a(%rip), %rax     # 0x221ed0
movq (%rax,%rcx,8), %rax
movq 0x290(%rsp), %rdi
movq 0xd0(%rsp), %rsi
movq 0x280(%rsp), %rdx
movq 0x270(%rsp), %r8
movl $0x2, %ecx
callq *%rax
jmp 0x1a66d3
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x280(%rsp), %rdx
movl $0x20, %esi
callq *%rax
movq 0x170(%rsp), %rax
movq %rax, 0xc8(%rsp)
cmpq $0x0, 0x270(%rsp)
je 0x1a6785
movq 0xc8(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x7b763(%rip), %rax     # 0x221e90
testb $0x1, (%rax,%rcx)
je 0x1a6785
movq 0xc8(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x15, %eax
jne 0x1a6759
movq 0xc8(%rsp), %rax
movzwl 0x6(%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
jne 0x1a6785
movq 0x290(%rsp), %rdi
movq 0xc8(%rsp), %rsi
movq 0x280(%rsp), %rdx
movq 0x270(%rsp), %r8
movl $0x2, %ecx
callq 0xd0220
jmp 0x1a67c4
movq 0xc8(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x7b737(%rip), %rax     # 0x221ed0
movq (%rax,%rcx,8), %rax
movq 0x290(%rsp), %rdi
movq 0xc8(%rsp), %rsi
movq 0x280(%rsp), %rdx
movq 0x270(%rsp), %r8
movl $0x2, %ecx
callq *%rax
jmp 0x1a67c6
jmp 0x1a67c8
jmp 0x1a67ca
movq 0x268(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x268(%rsp)
jmp 0x1a6135
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x280(%rsp), %rdx
movl $0x29, %esi
callq *%rax
jmp 0x1a6cd4
movq 0x288(%rsp), %rax
movq (%rax), %rax
andq $0x8000000, %rax        # imm = 0x8000000
cmpq $0x0, %rax
je 0x1a685e
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x280(%rsp), %rcx
leaq 0x4bd4e(%rip), %rsi     # 0x1f25a3
movl $0x10, %edx
callq *%rax
jmp 0x1a6890
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x280(%rsp), %rcx
leaq 0x4bd2b(%rip), %rsi     # 0x1f25b4
movl $0xb, %edx
callq *%rax
movq $0x0, 0x268(%rsp)
movq 0x268(%rsp), %rax
cmpq 0x260(%rsp), %rax
jge 0x1a6c69
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x280(%rsp), %rdx
movl $0x20, %esi
callq *%rax
movq 0x290(%rsp), %rdi
movq 0x248(%rsp), %rsi
callq 0x2be50
movq %rax, 0xc0(%rsp)
cmpl $0x2, 0x27c(%rsp)
je 0x1a695f
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movzbl (%rax), %eax
cmpl $0xa, %eax
jne 0x1a695d
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movzwl 0x6(%rax), %eax
andl $0x80, %eax
cmpl $0x0, %eax
jne 0x1a695d
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x280(%rsp), %rdx
movl $0x27, %esi
callq *%rax
jmp 0x1a695f
jmp 0x1a6961
movq 0xc0(%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, 0xb8(%rsp)
cmpq $0x0, 0x270(%rsp)
je 0x1a6a40
movq 0xb8(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x7b4f8(%rip), %rax     # 0x221e90
testb $0x1, (%rax,%rcx)
je 0x1a6a40
movq 0xb8(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x15, %eax
jne 0x1a69c8
movq 0xb8(%rsp), %rax
movzwl 0x6(%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
jne 0x1a6a40
movq 0x290(%rsp), %rax
movq %rax, 0x78(%rsp)
movq 0xb8(%rsp), %rax
movq %rax, 0x80(%rsp)
movq 0x280(%rsp), %rax
movq %rax, 0x88(%rsp)
cmpl $0x0, 0x27c(%rsp)
jne 0x1a6a0a
movl $0x1, %eax
movl %eax, 0x74(%rsp)
jmp 0x1a6a15
movl 0x27c(%rsp), %eax
movl %eax, 0x74(%rsp)
movq 0x88(%rsp), %rdx
movq 0x80(%rsp), %rsi
movq 0x78(%rsp), %rdi
movl 0x74(%rsp), %ecx
movq 0x270(%rsp), %r8
callq 0xd0220
jmp 0x1a6ac6
movq 0xb8(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x7b47c(%rip), %rax     # 0x221ed0
movq (%rax,%rcx,8), %rax
movq %rax, 0x50(%rsp)
movq 0x290(%rsp), %rax
movq %rax, 0x58(%rsp)
movq 0xb8(%rsp), %rax
movq %rax, 0x60(%rsp)
movq 0x280(%rsp), %rax
movq %rax, 0x68(%rsp)
cmpl $0x0, 0x27c(%rsp)
jne 0x1a6a99
movl $0x1, %eax
movl %eax, 0x4c(%rsp)
jmp 0x1a6aa4
movl 0x27c(%rsp), %eax
movl %eax, 0x4c(%rsp)
movq 0x50(%rsp), %rax
movq 0x68(%rsp), %rdx
movq 0x60(%rsp), %rsi
movq 0x58(%rsp), %rdi
movl 0x4c(%rsp), %ecx
movq 0x270(%rsp), %r8
callq *%rax
jmp 0x1a6ac8
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x280(%rsp), %rdx
movl $0x20, %esi
callq *%rax
movq 0xc0(%rsp), %rax
movq 0x10(%rax), %rax
movq %rax, 0xb0(%rsp)
cmpq $0x0, 0x270(%rsp)
je 0x1a6bc6
movq 0xb0(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x7b366(%rip), %rax     # 0x221e90
testb $0x1, (%rax,%rcx)
je 0x1a6bc6
movq 0xb0(%rsp), %rax
movzbl (%rax), %eax
cmpl $0x15, %eax
jne 0x1a6b5a
movq 0xb0(%rsp), %rax
movzwl 0x6(%rax), %eax
andl $0x100, %eax            # imm = 0x100
cmpl $0x0, %eax
jne 0x1a6bc6
movq 0x290(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0xb0(%rsp), %rax
movq %rax, 0x38(%rsp)
movq 0x280(%rsp), %rax
movq %rax, 0x40(%rsp)
cmpl $0x0, 0x27c(%rsp)
jne 0x1a6b96
movl $0x1, %eax
movl %eax, 0x2c(%rsp)
jmp 0x1a6ba1
movl 0x27c(%rsp), %eax
movl %eax, 0x2c(%rsp)
movq 0x40(%rsp), %rdx
movq 0x38(%rsp), %rsi
movq 0x30(%rsp), %rdi
movl 0x2c(%rsp), %ecx
movq 0x270(%rsp), %r8
callq 0xd0220
jmp 0x1a6c4c
movq 0xb0(%rsp), %rax
movzbl (%rax), %eax
movl %eax, %ecx
leaq 0x7b2f6(%rip), %rax     # 0x221ed0
movq (%rax,%rcx,8), %rax
movq %rax, 0x8(%rsp)
movq 0x290(%rsp), %rax
movq %rax, 0x10(%rsp)
movq 0xb0(%rsp), %rax
movq %rax, 0x18(%rsp)
movq 0x280(%rsp), %rax
movq %rax, 0x20(%rsp)
cmpl $0x0, 0x27c(%rsp)
jne 0x1a6c1f
movl $0x1, %eax
movl %eax, 0x4(%rsp)
jmp 0x1a6c2a
movl 0x27c(%rsp), %eax
movl %eax, 0x4(%rsp)
movq 0x8(%rsp), %rax
movq 0x20(%rsp), %rdx
movq 0x18(%rsp), %rsi
movq 0x10(%rsp), %rdi
movl 0x4(%rsp), %ecx
movq 0x270(%rsp), %r8
callq *%rax
jmp 0x1a6c4e
jmp 0x1a6c50
movq 0x268(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x268(%rsp)
jmp 0x1a689c
testb $0x1, 0x257(%rsp)
je 0x1a6ca7
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x10(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x280(%rsp), %rcx
leaq 0x4996a(%rip), %rsi     # 0x1f0608
movl $0x5, %edx
callq *%rax
jmp 0x1a6cd2
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x280(%rsp), %rdx
movl $0x29, %esi
callq *%rax
jmp 0x1a6cd4
cmpl $0x2, 0x27c(%rsp)
jne 0x1a6d20
movq 0x288(%rsp), %rax
movq (%rax), %rax
andq $0x1000000, %rax        # imm = 0x1000000
cmpq $0x0, %rax
je 0x1a6d20
movq 0x280(%rsp), %rax
movq 0x8(%rax), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rax
movq 0x290(%rsp), %rdi
movq 0x280(%rsp), %rdx
movl $0x29, %esi
callq *%rax
movq 0x290(%rsp), %rdi
movq 0x258(%rsp), %rsi
callq 0x9f60
movq 0x290(%rsp), %rax
movq 0x110(%rax), %rcx
movq 0x248(%rsp), %rax
movq %rcx, 0x10(%rax)
movq 0x290(%rsp), %rdi
movq 0x240(%rsp), %rsi
callq 0x2bcd0
addq $0x298, %rsp            # imm = 0x298
retq
nopl (%rax)