// File: /workspace/github_c_makefile_star2_O1/BernardTatin[P]s7sh/s7.c
// Function: set_implicit
static goto_t set_implicit(s7_scheme *sc) /* sc->code incoming is (set! (...) ...) */
                {
                    s7_pointer caar_code, cx, form;

                    form = sc->code;
                    sc->code = cdr(sc->code);
                    caar_code = caar(sc->code);
                    if (is_pair(caar_code))
                    {
                        push_stack(sc, OP_SET2, cdar(sc->code), cdr(sc->code));
                        sc->code = caar_code;
                        sc->cur_op = optimize_op(sc->code);
                        return(goto_top_no_pop);
                    }

                    if (is_symbol(caar_code))
                    {
                        /* this was cx = s7_symbol_value(sc, caar_code) but the function call overhead is noticeable */
                        cx = symbol_to_slot(sc, caar_code);
                        if (is_slot(cx))
                            cx = slot_value(cx);
                        else s7_error(sc, sc->syntax_error_symbol, set_elist_3(sc, no_setter_string, caar_code, prepackaged_type_names[type(cx)]));
                    }
                    else cx = caar_code;

                    /* code here is the setter and the value without the "set!": ((window-width) 800) */
                    /*    (set! (hi 0) (* 2 3)) -> ((hi 0) (* 2 3)) */
                    /* for gmp case, indices need to be decoded via s7_integer, not just integer */

                    switch (type(cx))
                    {
                        case T_C_OBJECT:
                            return(set_implicit_c_object(sc, cx));

                        case T_INT_VECTOR: case T_FLOAT_VECTOR: case T_VECTOR: case T_BYTE_VECTOR:
                            return(set_implicit_vector(sc, cx, form));

                        case T_STRING:
                            return(set_implicit_string(sc, cx));

                        case T_PAIR:
                            return(set_implicit_pair(sc, cx));

                        case T_HASH_TABLE:
                            return(set_implicit_hash_table(sc, cx));

                        case T_LET:
                            return(set_implicit_let(sc, cx));

                        case T_C_MACRO: case T_C_OPT_ARGS_FUNCTION: case T_C_RST_ARGS_FUNCTION:
                        case T_C_ANY_ARGS_FUNCTION: case T_C_FUNCTION: case T_C_FUNCTION_STAR:
                            return(set_implicit_function(sc, cx));

                        case T_MACRO: case T_MACRO_STAR: case T_BACRO: case T_BACRO_STAR:
                        case T_CLOSURE: case T_CLOSURE_STAR:
                            return(set_implicit_closure(sc, cx));

                        case T_ITERATOR:     /* not sure this makes sense */
                            return(set_implicit_iterator(sc, cx));

                        case T_SYNTAX:
                            return(set_implicit_syntax(sc, cx));

                        default:                                         /* (set! (1 2) 3) */
                            s7_error(sc, sc->syntax_error_symbol, set_elist_3(sc, no_setter_string, caar_code, prepackaged_type_names[type(cx)]));
                    }
                    return(goto_top_no_pop);
                }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
movq (%rdi), %rbp
movq 0x10(%rbp), %rax
movq %rax, (%rdi)
movq 0x8(%rax), %rcx
movq 0x8(%rcx), %r15
movzbl (%r15), %ecx
cmpl $0xa, %ecx
je 0xd0849
movq %r15, %r14
cmpl $0x1, %ecx
jne 0xd0901
movq 0x10(%rax), %rax
movq 0x50(%rbx), %rcx
movq %rax, (%rcx)
movq 0x8(%rbx), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq (%rbx), %rax
movq 0x50(%rbx), %rcx
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, 0x10(%rcx)
movq 0x50(%rbx), %rax
movq $0x1ac, 0x18(%rax)      # imm = 0x1AC
addq $0x20, 0x50(%rbx)
movq %r15, (%rbx)
movzwl 0x4(%r15), %eax
jmp 0xd23fe
movq 0x8(%rbx), %rcx
movq 0x18(%rcx), %rsi
movq 0x20(%r15), %rdx
movl $0x18, %eax
cmpq %rdx, %rsi
je 0xd08aa
jle 0xd086e
movq 0x10(%rcx), %rcx
movq 0x18(%rcx), %rsi
cmpq %rsi, %rdx
jl 0xd0861
cmpq %rdx, %rsi
je 0xd08aa
movl $0x10, %eax
cmpb $0x1c, (%rcx)
jne 0xd08aa
movq 0x8(%rcx), %r14
testq %r14, %r14
sete %sil
je 0xd0896
cmpq %r15, 0x8(%r14)
je 0xd0899
movq 0x18(%r14), %r14
jmp 0xd0881
movq %rdx, %r14
testb %sil, %sil
je 0xd08ae
movq 0x10(%rcx), %rcx
cmpb $0x1c, (%rcx)
movq %r14, %rdx
je 0xd087d
movq (%r15,%rax), %r14
movzbl (%r14), %eax
cmpq $0x20, %rax
jne 0xd08be
movq 0x10(%r14), %r14
jmp 0xd0901
movq 0x1918(%rbx), %rsi
movq 0x8cb44(%rip), %rcx     # 0x15d410
leaq 0x8218d(%rip), %rdx     # 0x152a60
movq (%rdx,%rax,8), %rax
movq 0x6e8(%rbx), %rdx
movq %rcx, 0x8(%rdx)
movq 0x10(%rdx), %rcx
movq %r15, 0x8(%rcx)
movq 0x10(%rcx), %rcx
movq %rax, 0x8(%rcx)
movq 0x6e8(%rbx), %rdx
movq %rbx, %rdi
callq 0x3b366
movzbl (%r14), %eax
movl %eax, %ecx
decl %ecx
cmpl $0x32, %ecx
ja 0xd1528
leaq 0x40f67(%rip), %rdx     # 0x111880
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
movq 0x20(%r14), %r15
cmpq 0x120(%rbx), %r15
jne 0xd0953
testb $0x4, 0x2(%r14)
jne 0xd0953
movq 0x700(%rbx), %rax
movq %r14, 0x8(%rax)
movq 0x700(%rbx), %rsi
movq %rbx, %rdi
callq 0x421fa
movq %rax, %r15
movzbl (%r15), %eax
leaq 0x839d2(%rip), %rcx     # 0x154330
cmpb $0x1, (%rax,%rcx)
jne 0xd0b57
movq 0x68(%rbx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x68(%rbx)
movq %r15, (%rax)
movq (%rbx), %rax
movq 0x110(%rbx), %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rdx), %rdx
cmpq %rcx, %rdx
je 0xd0f03
movq 0x10(%rdx), %rsi
movq 0x10(%rax), %rax
cmpq %rcx, %rsi
je 0xd0a47
movq %rbx, %rdi
movq %rax, %rdx
jmp 0xd0a42
movq 0x8(%r14), %rcx
movq 0x30(%rcx), %rcx
movzbl (%rcx), %edx
leaq 0x83970(%rip), %rsi     # 0x154330
cmpb $0x1, (%rdx,%rsi)
jne 0xd0c79
movq (%rbx), %rax
movq 0x8(%rax), %rsi
movq 0x10(%rax), %rdx
movq 0x10(%rsi), %rax
cmpb $0x1, (%rax)
jne 0xd0ec7
movq 0x8(%rdx), %rdx
cmpb $0xa, (%rdx)
jne 0xd0a1d
movq 0x8(%rax), %r12
cmpb $0xa, (%r12)
jne 0xd0a1d
movq 0x10(%rax), %rax
movq 0x110(%rbx), %rdx
cmpq %rdx, %rax
je 0xd217a
movq 0x8(%rax), %rsi
cmpb $0xa, (%rsi)
jne 0xd0a1d
cmpq %rdx, 0x10(%rax)
je 0xd261f
movq 0x68(%rbx), %rax
leaq 0x8(%rax), %rdx
movq %rdx, 0x68(%rbx)
movq %rcx, (%rax)
movq (%rbx), %rax
movq 0x8(%rax), %rcx
movq 0x10(%rax), %rdx
movq 0x10(%rcx), %rax
movq 0x10(%rax), %rsi
movq %rbx, %rdi
callq 0x3c191
movq 0x50(%rbx), %rcx
movq %rax, (%rcx)
movq 0x8(%rbx), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x50(%rbx), %rax
movq 0x110(%rbx), %rcx
movq %rcx, 0x10(%rax)
movq 0x50(%rbx), %rax
movq $0x193, 0x18(%rax)      # imm = 0x193
addq $0x20, 0x50(%rbx)
movq (%rbx), %rax
movq 0x8(%rax), %rax
jmp 0xd1d8d
movq (%rbx), %rdx
movq 0x10(%rdx), %rax
cmpq 0x110(%rbx), %rax
jne 0xd0aa5
leaq 0x50bc6(%rip), %rsi     # 0x121663
movq %rbx, %rdi
callq 0x3cbe3
movq (%rbx), %rdx
movq 0x10(%rdx), %rax
movq 0x10(%rax), %rax
cmpq 0x110(%rbx), %rax
je 0xd0ac8
leaq 0x50bc0(%rip), %rsi     # 0x121680
movq %rbx, %rdi
callq 0x3cbe3
movq (%rbx), %rdx
movq 0x8(%rdx), %r13
movq 0x10(%r13), %rax
cmpq 0x110(%rbx), %rax
jne 0xd0aeb
leaq 0x50bc1(%rip), %rsi     # 0x1216a4
movq %rbx, %rdi
callq 0x3cbe3
testb $0x1, 0x3(%r14)
je 0xd0b31
movq 0x81e6f(%rip), %rax     # 0x152968
movq 0x1668(%rbx), %rcx
movq 0x6e8(%rbx), %rdx
movq %rax, 0x8(%rdx)
movq 0x10(%rdx), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rax), %rax
movq %r14, 0x8(%rax)
movq 0x6e8(%rbx), %rdx
movq 0xea8(%rbx), %rsi
movq %rbx, %rdi
callq 0x3b366
movq 0x10(%r13), %r12
cmpb $0x1, (%r12)
jne 0xd0d9b
xorl %r15d, %r15d
movq %r12, %rax
incq %r15
movq 0x10(%rax), %rax
cmpb $0x1, (%rax)
je 0xd0b46
jmp 0xd0d9e
leaq 0x83812(%rip), %rcx     # 0x154370
cmpb $0x1, (%rax,%rcx)
jne 0xd0e7f
movq (%rbx), %rax
movq 0x110(%rbx), %rbp
movq 0x8(%rax), %rcx
movq 0x10(%rax), %r13
movq 0x10(%rcx), %rsi
cmpq %rbp, %rsi
je 0xd1570
cmpb $0x1, (%r13)
jne 0xd158a
movq %rsi, 0x10(%rsp)
movq %r13, 0x4c8(%rbx)
movq 0x8(%r13), %r14
movq 0x90(%rbx), %rax
cmpq 0x98(%rbx), %rax
ja 0xd0bba
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq %r14, 0x8(%rax)
movq %rbp, 0x10(%rax)
movq %rax, 0x8(%rsp)
movq %rax, 0x4e8(%rbx)
movq 0x10(%r13), %r13
cmpb $0x1, (%r13)
jne 0xd0c55
movq 0x8(%rsp), %rbp
movq 0x8(%r13), %r14
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %r12
cmpq 0x98(%rbx), %rax
ja 0xd0c1e
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq %r14, 0x8(%rax)
movq %r12, 0x10(%rax)
movq %rax, 0x10(%rbp)
movq 0x10(%r13), %r13
cmpb $0x1, (%r13)
movq %rax, %rbp
je 0xd0bfb
movq 0x110(%rbx), %rax
movq %rax, 0x4e8(%rbx)
movq %rax, 0x4c8(%rbx)
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
jmp 0xd158d
leaq 0x836f0(%rip), %rcx     # 0x154370
cmpb $0x1, (%rdx,%rcx)
jne 0xd1e11
movq (%rbx), %rax
movq 0x110(%rbx), %rbp
movq 0x8(%rax), %rcx
movq 0x10(%rax), %r13
movq 0x10(%rcx), %rsi
cmpq %rbp, %rsi
je 0xd157d
cmpb $0x1, (%r13)
jne 0xd159e
movq %rsi, 0x10(%rsp)
movq %r13, 0x4c8(%rbx)
movq 0x8(%r13), %r15
movq 0x90(%rbx), %rax
cmpq 0x98(%rbx), %rax
ja 0xd0cdc
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq %r15, 0x8(%rax)
movq %rbp, 0x10(%rax)
movq %rax, 0x8(%rsp)
movq %rax, 0x4e8(%rbx)
movq 0x10(%r13), %r13
cmpb $0x1, (%r13)
jne 0xd0d77
movq 0x8(%rsp), %rbp
movq 0x8(%r13), %r15
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %r12
cmpq 0x98(%rbx), %rax
ja 0xd0d40
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq %r15, 0x8(%rax)
movq %r12, 0x10(%rax)
movq %rax, 0x10(%rbp)
movq 0x10(%r13), %r13
cmpb $0x1, (%r13)
movq %rax, %rbp
je 0xd0d1d
movq 0x110(%rbx), %rax
movq %rax, 0x4e8(%rbx)
movq %rax, 0x4c8(%rbx)
movq 0x10(%rsp), %rsi
movq 0x8(%rsp), %rdx
jmp 0xd15a1
xorl %r15d, %r15d
cmpq $0x2, %r15
jl 0xd0dc8
cmpb $0x15, (%r14)
jne 0xd17a0
movq 0x18(%r14), %rax
movq 0x20(%rax), %rax
testq %rax, %rax
je 0xd1792
movq 0x10(%rax), %rax
jmp 0xd1797
movq 0x18(%r14), %rax
movq 0x20(%rax), %rax
testq %rax, %rax
je 0xd0de0
cmpq $0x2, 0x10(%rax)
jge 0xd17a0
movq %r13, 0x8(%rsp)
movq 0x8(%r12), %r13
movq %rbx, %rdi
movq %r13, %rsi
callq 0xd5a05
testb %al, %al
je 0xd0e3e
movq (%rbx), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xd5a05
testb %al, %al
je 0xd0e3e
movq 0x8(%rbx), %rdx
movq %rbx, %rdi
movq %r12, %rsi
callq 0xd5a53
movq (%rbx), %rax
movq 0x8(%rbx), %rdx
movq 0x10(%rax), %rsi
movq %rbx, %rdi
callq 0xd5a53
movw $0x17d, 0x4(%rbp)       # imm = 0x17D
movw $0x201, (%rbp)          # imm = 0x201
movzbl (%r13), %eax
cmpl $0x1, %eax
je 0xd15c2
cmpl $0xa, %eax
jne 0xd1659
movq %rbx, %rdi
movq %r13, %rsi
callq 0xa2e84
movq %rax, %r15
testq %rax, %rax
jne 0xd165c
movq %rbx, %rdi
movq %r13, %rsi
callq 0xa2ee9
movq %rax, %r15
jmp 0xd165c
movq 0x1918(%rbx), %rsi
movq 0x8c583(%rip), %rax     # 0x15d410
movq (%rbx), %rcx
movq 0x8(%rcx), %rcx
movq 0x8(%rcx), %rcx
movzbl (%r14), %edx
leaq 0x81bbd(%rip), %rdi     # 0x152a60
movq (%rdi,%rdx,8), %rdx
movq 0x6e8(%rbx), %rdi
movq %rax, 0x8(%rdi)
movq 0x10(%rdi), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rax), %rax
movq %rdx, 0x8(%rax)
jmp 0xd1e50
movq 0x10(%rdx), %rax
cmpq 0x110(%rbx), %rax
jne 0xd0ee3
movq 0x8(%rdx), %r15
movb (%r15), %al
cmpb $0x1, %al
jne 0xd1cf0
movq 0x68(%rbx), %rax
leaq 0x8(%rax), %rdx
movq %rdx, 0x68(%rbx)
movq %rcx, (%rax)
movq (%rbx), %rax
movq 0x50(%rbx), %rcx
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
jmp 0xd0f0f
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x50(%rbx), %rcx
movq %rax, (%rcx)
jmp 0xd1d5e
movq 0x8(%r14), %rcx
movzbl (%rcx), %edx
leaq 0x89cbb(%rip), %rsi     # 0x15abe0
cmpb $0x0, (%rdx,%rsi)
jne 0xd0f3c
leaq 0x8343e(%rip), %rsi     # 0x154370
cmpb $0x1, (%rdx,%rsi)
jne 0xd1d26
addq $0x20, %rcx
jmp 0xd1d2d
movq (%rbx), %rdx
movq 0x10(%rdx), %rax
cmpq 0x110(%rbx), %rax
jne 0xd0f64
leaq 0x50765(%rip), %rsi     # 0x1216c1
movq %rbx, %rdi
callq 0x3cbe3
movq (%rbx), %rdx
movq 0x10(%rdx), %rax
movq 0x10(%rax), %rax
cmpq 0x110(%rbx), %rax
je 0xd0f87
leaq 0x5075f(%rip), %rsi     # 0x1216de
movq %rbx, %rdi
callq 0x3cbe3
movq (%rbx), %rdx
movq 0x8(%rdx), %r15
movq 0x10(%r15), %rax
cmpq 0x110(%rbx), %rax
jne 0xd0faa
leaq 0x50760(%rip), %rsi     # 0x121702
movq %rbx, %rdi
callq 0x3cbe3
movq 0x10(%r15), %rax
movq 0x10(%rax), %rax
cmpq 0x110(%rbx), %rax
je 0xd0fcd
movq (%rbx), %rdx
leaq 0x5075a(%rip), %rsi     # 0x12171f
movq %rbx, %rdi
callq 0x3cbe3
movq 0x10(%r15), %rax
movq 0x8(%rax), %r12
movzbl (%r12), %eax
cmpl $0x1, %eax
je 0xd1a5d
cmpl $0xa, %eax
jne 0xd1ae0
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2e84
movq %rax, %r15
testq %rax, %rax
jne 0xd1ae3
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2ee9
movq %rax, %r15
jmp 0xd1ae3
movq (%rbx), %rdx
movq 0x10(%rdx), %rax
cmpq 0x110(%rbx), %rax
jne 0xd1035
leaq 0x50717(%rip), %rsi     # 0x121744
movq %rbx, %rdi
callq 0x3cbe3
movq (%rbx), %rdx
movq 0x10(%rdx), %rax
movq 0x10(%rax), %rax
cmpq 0x110(%rbx), %rax
je 0xd1058
leaq 0x5070f(%rip), %rsi     # 0x12175f
movq %rbx, %rdi
callq 0x3cbe3
movq (%rbx), %rdx
movq 0x8(%rdx), %r13
movq 0x10(%r13), %rax
cmpq 0x110(%rbx), %rax
jne 0xd107b
leaq 0x5070e(%rip), %rsi     # 0x121781
movq %rbx, %rdi
callq 0x3cbe3
movq 0x10(%r13), %rax
movq 0x10(%rax), %rcx
cmpq 0x110(%rbx), %rcx
jne 0xd182b
movq 0x8(%rax), %r15
movb (%r15), %al
cmpb $0x1, %al
je 0xd10b1
movq (%rbx), %rcx
movq 0x10(%rcx), %rcx
movq 0x8(%rcx), %r12
cmpb $0x1, (%r12)
jne 0xd2312
movq 0x1eb8(%rbx), %rax
movq 0x68(%rbx), %rcx
leaq 0x8(%rcx), %rdx
movq %rdx, 0x68(%rbx)
movq %rax, (%rcx)
movq 0x10(%r13), %rax
movq 0x10(%rax), %rsi
movq (%rbx), %rax
movq 0x10(%rax), %rdx
movq %rbx, %rdi
callq 0x3c191
movq 0x50(%rbx), %rcx
movq %rax, (%rcx)
movq 0x8(%rbx), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %r12
cmpq 0x98(%rbx), %rax
ja 0xd1110
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq %r14, 0x8(%rax)
movq %r12, 0x10(%rax)
movq 0x50(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x50(%rbx), %rax
movq $0x193, 0x18(%rax)      # imm = 0x193
jmp 0xd0837
movq (%rbx), %rdx
movq 0x10(%rdx), %rax
cmpq 0x110(%rbx), %rax
jne 0xd116d
leaq 0x504bd(%rip), %rsi     # 0x121622
movq %rbx, %rdi
callq 0x3cbe3
movq (%rbx), %rdx
movq 0x10(%rdx), %rax
movq 0x10(%rax), %rax
cmpq 0x110(%rbx), %rax
je 0xd1190
leaq 0x504b7(%rip), %rsi     # 0x12163f
movq %rbx, %rdi
callq 0x3cbe3
movq (%rbx), %rax
movq 0x110(%rbx), %rdx
movq 0x8(%rax), %r15
movq 0x10(%r15), %rcx
addq $0x10, %r15
cmpq %rdx, %rcx
je 0xd11b5
cmpq %rdx, 0x10(%rcx)
je 0xd1e67
movq 0x1ed0(%rbx), %rax
movq 0x68(%rbx), %rcx
leaq 0x8(%rcx), %rdx
movq %rdx, 0x68(%rbx)
movq %rax, (%rcx)
movq (%r15), %rax
cmpq 0x110(%rbx), %rax
je 0xd1c69
movq 0x10(%rax), %rsi
movq (%rbx), %rax
movq 0x10(%rax), %rdx
movq %rbx, %rdi
callq 0x3c191
movq 0x50(%rbx), %rcx
movq %rax, (%rcx)
movq 0x8(%rbx), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %r12
cmpq 0x98(%rbx), %rax
ja 0xd1220
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq %r14, 0x8(%rax)
movq %r12, 0x10(%rax)
movq 0x50(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x50(%rbx), %rax
movq $0x193, 0x18(%rax)      # imm = 0x193
addq $0x20, 0x50(%rbx)
jmp 0xd23f0
movq 0x17e0(%rbx), %rcx
movq 0x10(%rcx), %rcx
cmpq %r14, 0x10(%rcx)
je 0xd19c9
movq 0x1918(%rbx), %rsi
movq 0x8c18a(%rip), %rcx     # 0x15d410
movq (%rbx), %rdx
movq 0x8(%rdx), %rdx
movq 0x8(%rdx), %rdx
leaq 0x817c8(%rip), %rdi     # 0x152a60
movq (%rdi,%rax,8), %rax
movq 0x6e8(%rbx), %rdi
movq %rcx, 0x8(%rdi)
movq 0x10(%rdi), %rcx
movq %rdx, 0x8(%rcx)
jmp 0xd1554
movq (%rbx), %rdx
movq 0x10(%rdx), %rax
cmpq 0x110(%rbx), %rax
jne 0xd12d3
leaq 0x50559(%rip), %rsi     # 0x121824
movq %rbx, %rdi
callq 0x3cbe3
movq (%rbx), %rdx
movq 0x10(%rdx), %rax
movq 0x10(%rax), %rax
cmpq 0x110(%rbx), %rax
je 0xd12f6
leaq 0x50550(%rip), %rsi     # 0x12183e
movq %rbx, %rdi
callq 0x3cbe3
movq (%rbx), %rdx
movq 0x8(%rdx), %r15
movq 0x10(%r15), %rax
cmpq 0x110(%rbx), %rax
jne 0xd1319
leaq 0x5054e(%rip), %rsi     # 0x12185f
movq %rbx, %rdi
callq 0x3cbe3
testb $0x1, 0x3(%r14)
je 0xd135f
movq 0x81641(%rip), %rax     # 0x152968
movq 0x1240(%rbx), %rcx
movq 0x6e8(%rbx), %rdx
movq %rax, 0x8(%rdx)
movq 0x10(%rdx), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rax), %rax
movq %r14, 0x8(%rax)
movq 0x6e8(%rbx), %rdx
movq 0xea8(%rbx), %rsi
movq %rbx, %rdi
callq 0x3b366
movq 0x10(%r15), %rcx
movq 0x110(%rbx), %rax
cmpq %rax, 0x10(%rcx)
jne 0xd14e0
movq 0x8(%rcx), %rcx
cmpb $0x1, (%rcx)
jne 0xd139d
movq 0x8(%rcx), %rdx
cmpq 0x17b0(%rbx), %rdx
jne 0xd139d
movq 0x10(%rcx), %rdx
cmpb $0x1, (%rdx)
jne 0xd139d
cmpq %rax, 0x10(%rdx)
je 0xd27cc
movq (%rbx), %rax
movq 0x50(%rbx), %rcx
movq 0x10(%rax), %rax
movq %rax, (%rcx)
movq 0x8(%rbx), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %r15
cmpq 0x98(%rbx), %rax
ja 0xd13d6
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq %r14, 0x8(%rax)
movq %r15, 0x10(%rax)
movq 0x50(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x50(%rbx), %rax
movq $0x193, 0x18(%rax)      # imm = 0x193
addq $0x20, 0x50(%rbx)
movq 0x1ec8(%rbx), %rax
jmp 0xd229f
movq (%rbx), %rdx
movq 0x10(%rdx), %rax
cmpq 0x110(%rbx), %rax
jne 0xd143f
leaq 0x50385(%rip), %rsi     # 0x1217bc
movq %rbx, %rdi
callq 0x3cbe3
movq (%rbx), %rdx
movq 0x10(%rdx), %rax
movq 0x10(%rax), %rax
cmpq 0x110(%rbx), %rax
je 0xd1462
leaq 0x50383(%rip), %rsi     # 0x1217dd
movq %rbx, %rdi
callq 0x3cbe3
movq (%rbx), %rdx
movq 0x8(%rdx), %r15
movq 0x10(%r15), %rax
cmpq 0x110(%rbx), %rax
jne 0xd1485
leaq 0x50388(%rip), %rsi     # 0x121805
movq %rbx, %rdi
callq 0x3cbe3
testb $0x1, 0x3(%r14)
je 0xd14cb
movq 0x814d5(%rip), %rax     # 0x152968
movq 0xf70(%rbx), %rcx
movq 0x6e8(%rbx), %rdx
movq %rax, 0x8(%rdx)
movq 0x10(%rdx), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rax), %rax
movq %r14, 0x8(%rax)
movq 0x6e8(%rbx), %rdx
movq 0xea8(%rbx), %rsi
movq %rbx, %rdi
callq 0x3b366
movq 0x10(%r15), %rax
movq 0x10(%rax), %rcx
cmpq 0x110(%rbx), %rcx
je 0xd1a18
movq (%rbx), %rax
movq 0x50(%rbx), %rcx
movq 0x10(%rax), %rax
movq %rax, (%rcx)
movq 0x8(%rbx), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x10(%r15), %rax
movq 0x10(%rax), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x50(%rbx), %rax
movq $0x1ac, 0x18(%rax)      # imm = 0x1AC
addq $0x20, 0x50(%rbx)
movq 0x8(%r15), %r14
movq 0x10(%r15), %rax
jmp 0xd186e
movq 0x1918(%rbx), %rsi
movq 0x8beda(%rip), %rcx     # 0x15d410
leaq 0x81523(%rip), %rdx     # 0x152a60
movq (%rdx,%rax,8), %rax
movq 0x6e8(%rbx), %rdx
movq %rcx, 0x8(%rdx)
movq 0x10(%rdx), %rcx
movq %r15, 0x8(%rcx)
movq 0x10(%rcx), %rcx
movq %rax, 0x8(%rcx)
movq 0x6e8(%rbx), %rdx
movq %rbx, %rdi
callq 0x3b366
jmp 0xd2402
movq %rbx, %rdi
movq %r13, %rsi
callq 0x45a8d
jmp 0xd1595
movq %rbx, %rdi
movq %r13, %rsi
callq 0x45a8d
jmp 0xd15a9
movq %rbp, %rdx
movq %rbx, %rdi
callq 0x3c191
movq %rax, 0x10(%rbx)
movq %r15, (%rbx)
jmp 0xd15b8
movq %rbp, %rdx
movq %rbx, %rdi
callq 0x3c191
movq %rax, 0x10(%rbx)
movq 0x8(%r14), %rax
movq 0x30(%rax), %rax
movq %rax, (%rbx)
movl $0xa, %eax
jmp 0xd2407
movq (%rbx), %rax
movq 0x50(%rbx), %rcx
movq 0x10(%rax), %rax
movq %rax, (%rcx)
movq 0x8(%rbx), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %r15
cmpq 0x98(%rbx), %rax
ja 0xd15fb
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq %r14, 0x8(%rax)
movq %r15, 0x10(%rax)
movq 0x50(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x50(%rbx), %rax
movq $0x193, 0x18(%rax)      # imm = 0x193
addq $0x20, 0x50(%rbx)
movq 0x1ea8(%rbx), %rax
movq 0x68(%rbx), %rcx
leaq 0x8(%rcx), %rdx
movq %rdx, 0x68(%rbx)
movq %rax, (%rcx)
movq 0x8(%rsp), %rax
jmp 0xd22b5
movq %r13, %r15
cmpb $0xb, (%r15)
je 0xd16c5
movq 0x1940(%rbx), %rsi
movq 0x820(%rbx), %rax
movslq 0x7dc(%rbx), %rcx
movq (%rax,%rcx,8), %rax
incl %ecx
andl $0x7, %ecx
movl %ecx, 0x7dc(%rbx)
leaq 0x4fd3d(%rip), %rcx     # 0x1213ca
movq %rcx, 0x10(%rax)
movq $0x29, 0x8(%rax)
movq (%rbx), %rcx
movq 0x6e0(%rbx), %rdx
movq %rax, 0x8(%rdx)
movq 0x6e0(%rbx), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x6e0(%rbx), %rdx
movq %rbx, %rdi
callq 0x3b366
cmpb $0xb, (%r15)
jne 0xd16d1
movq 0x8(%r15), %r12
jmp 0xd16d4
xorl %r12d, %r12d
testq %r12, %r12
js 0xd16df
cmpq 0x8(%r14), %r12
jl 0xd1746
testq %r12, %r12
movq 0x1668(%rbx), %rax
movq 0x8(%rax), %rax
movq 0x7d26c(%rip), %rcx     # 0x14e960
leaq 0x8134d(%rip), %rdx     # 0x152a48
leaq 0x8133e(%rip), %rsi     # 0x152a40
cmovsq %rdx, %rsi
movq (%rsi), %rdx
movq 0x1ee8(%rbx), %rsi
movq 0x10(%rsi), %rsi
movq %rax, 0x8(%rsi)
movq 0x10(%rsi), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rax), %rax
movq %r15, 0x8(%rax)
movq 0x10(%rax), %rax
movq %rdx, 0x8(%rax)
movq 0x1948(%rbx), %rsi
movq 0x1ee8(%rbx), %rdx
movq %rbx, %rdi
callq 0x3b366
movq (%rbx), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r13
movzbl (%r13), %eax
cmpl $0x1, %eax
je 0xd1c27
cmpl $0xa, %eax
jne 0xd1c33
movq %rbx, %rdi
movq %r13, %rsi
callq 0xa2e84
movq %rax, %r15
testq %rax, %rax
jne 0xd1c36
movq %rbx, %rdi
movq %r13, %rsi
callq 0xa2ee9
movq %rax, %r15
jmp 0xd1c36
movl $0x1, %eax
cmpq %rax, %r15
jne 0xd182b
cmpq $0x2, %r15
jne 0xd1811
movq 0x8(%r12), %rsi
movq %rbx, %rdi
callq 0xd5a05
testb %al, %al
je 0xd1811
movq 0x10(%r12), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xd5a05
testb %al, %al
je 0xd1811
movq (%rbx), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq %rbx, %rdi
callq 0xd5a05
testb %al, %al
je 0xd1811
movq 0x8(%rbx), %rdx
movq %rbx, %rdi
movq %r12, %rsi
callq 0xd9cf3
movq (%rbx), %rax
movq 0x8(%rbx), %rdx
movq 0x10(%rax), %rsi
movq %rbx, %rdi
callq 0xd5a53
movw $0x17e, 0x4(%rbp)       # imm = 0x17E
movw $0x201, (%rbp)          # imm = 0x201
movq 0x18(%r14), %rax
movq 0x20(%rax), %rax
testq %rax, %rax
je 0xd18e4
movq 0x10(%rax), %rax
jmp 0xd18e9
movq (%rbx), %rax
movq 0x50(%rbx), %rcx
movq 0x10(%rax), %rax
movq %rax, (%rcx)
movq 0x8(%rbx), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x10(%r13), %rax
movq 0x10(%rax), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x50(%rbx), %rax
movq $0x1ac, 0x18(%rax)      # imm = 0x1AC
addq $0x20, 0x50(%rbx)
movq 0x8(%r13), %r14
movq 0x10(%r13), %rax
movq 0x8(%rax), %r15
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %r12
cmpq 0x98(%rbx), %rax
ja 0xd1891
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movl $0x200001, %ecx         # imm = 0x200001
movq %rcx, (%rax)
movq %r15, 0x8(%rax)
movq %r12, 0x10(%rax)
movq 0x90(%rbx), %rdx
leaq -0x8(%rdx), %rsi
movq %rsi, 0x90(%rbx)
movq -0x8(%rdx), %rdx
movq %rcx, (%rdx)
movq %r14, 0x8(%rdx)
movq %rax, 0x10(%rdx)
movq %rdx, (%rbx)
movzwl 0x4(%rdx), %eax
jmp 0xd23fe
movl $0x1, %eax
cmpq %rax, %r15
jne 0xd1923
movq (%rbx), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
cmpb $0x1, (%rax)
je 0xd1923
movq 0x10(%r13), %rax
cmpb $0x1, (%rax)
jne 0xd1916
movq 0x8(%rax), %rcx
cmpb $0x1, (%rcx)
je 0xd1916
movq 0x10(%rax), %rax
jmp 0xd1902
cmpq 0x110(%rbx), %rax
je 0xd1fbb
movq 0x1ea8(%rbx), %rax
movq 0x68(%rbx), %rcx
leaq 0x8(%rcx), %rdx
movq %rdx, 0x68(%rbx)
movq %rax, (%rcx)
movq 0x10(%r13), %rax
movq 0x10(%rax), %rsi
movq (%rbx), %rax
movq 0x10(%rax), %rdx
movq %rbx, %rdi
callq 0x3c191
movq 0x50(%rbx), %rcx
movq %rax, (%rcx)
movq 0x8(%rbx), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %r15
cmpq 0x98(%rbx), %rax
ja 0xd1982
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq %r14, 0x8(%rax)
movq %r15, 0x10(%rax)
movq 0x50(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x50(%rbx), %rax
movq $0x193, 0x18(%rax)      # imm = 0x193
addq $0x20, 0x50(%rbx)
movq 0x10(%r13), %rax
jmp 0xd23f3
movq (%rbx), %rax
movq 0x50(%rbx), %rcx
movq 0x8(%rax), %rdx
movq 0x10(%rdx), %rdx
movq %rdx, 0x10(%rbx)
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, (%rbx)
movq %rax, (%rcx)
movq 0x8(%rbx), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x10(%rbx), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x50(%rbx), %rax
movq $0x32c, 0x18(%rax)      # imm = 0x32C
addq $0x20, 0x50(%rbx)
jmp 0xd1e5f
movq 0x8(%rax), %r12
movzbl (%r12), %eax
cmpl $0x1, %eax
je 0xd2221
cmpl $0xa, %eax
jne 0xd22be
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2e84
movq %rax, %r15
testq %rax, %rax
jne 0xd22c1
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2ee9
movq %rax, %r15
jmp 0xd22c1
movq (%rbx), %rax
movq 0x50(%rbx), %rcx
movq 0x10(%rax), %rax
movq %rax, (%rcx)
movq 0x8(%rbx), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %r15
cmpq 0x98(%rbx), %rax
ja 0xd1a96
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq %r14, 0x8(%rax)
movq %r15, 0x10(%rax)
movq 0x50(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x50(%rbx), %rax
movq $0x193, 0x18(%rax)      # imm = 0x193
addq $0x20, 0x50(%rbx)
movq 0x1eb0(%rbx), %rax
jmp 0xd229f
movq %r12, %r15
cmpb $0xb, (%r15)
je 0xd1b4c
movq 0x1940(%rbx), %rsi
movq 0x820(%rbx), %rax
movslq 0x7dc(%rbx), %rcx
movq (%rax,%rcx,8), %rax
incl %ecx
andl $0x7, %ecx
movl %ecx, 0x7dc(%rbx)
leaq 0x4f8c3(%rip), %rcx     # 0x1213d7
movq %rcx, 0x10(%rax)
movq $0x1c, 0x8(%rax)
movq (%rbx), %rcx
movq 0x6e0(%rbx), %rdx
movq %rax, 0x8(%rdx)
movq 0x6e0(%rbx), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x6e0(%rbx), %rdx
movq %rbx, %rdi
callq 0x3b366
cmpb $0xb, (%r15)
jne 0xd1b58
movq 0x8(%r15), %r13
jmp 0xd1b5b
xorl %r13d, %r13d
testq %r13, %r13
js 0xd1b66
cmpq 0x8(%r14), %r13
jl 0xd1b9b
testq %r13, %r13
movq 0x1550(%rbx), %rax
movq 0x8(%rax), %rsi
movq 0x7cde5(%rip), %rdx     # 0x14e960
leaq 0x80ec6(%rip), %rax     # 0x152a48
leaq 0x80eb7(%rip), %rcx     # 0x152a40
cmovsq %rax, %rcx
movq (%rcx), %r8
movq %rbx, %rdi
movq %r15, %rcx
callq 0xef7f
testb $0x1, 0x3(%r14)
je 0xd1be1
movq 0x80dbf(%rip), %rax     # 0x152968
movq 0x1550(%rbx), %rcx
movq 0x6e8(%rbx), %rdx
movq %rax, 0x8(%rdx)
movq 0x10(%rdx), %rax
movq %rcx, 0x8(%rax)
movq 0x10(%rax), %rax
movq %r14, 0x8(%rax)
movq 0x6e8(%rbx), %rdx
movq 0xea8(%rbx), %rsi
movq %rbx, %rdi
callq 0x3b366
movq (%rbx), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r12
movzbl (%r12), %eax
cmpl $0x1, %eax
je 0xd1f27
cmpl $0xa, %eax
jne 0xd1eac
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2e84
testq %rax, %rax
jne 0xd1eaf
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2ee9
jmp 0xd1eaf
movq 0x1ea8(%rbx), %rax
jmp 0xd1f2e
movq %r13, %r15
testb $0x2, 0x6(%r14)
jne 0xd1c4f
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
movq %r15, %rcx
callq *0x28(%r14)
jmp 0xd1c60
movq %rbx, %rdi
movq %r14, %rsi
movq %r12, %rdx
movq %r15, %rcx
callq 0x3db91
movq %r15, 0x20(%rbx)
jmp 0xd2618
movq (%rbx), %rax
movq 0x50(%rbx), %rcx
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, (%rcx)
movq 0x8(%rbx), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %r15
cmpq 0x98(%rbx), %rax
ja 0xd1ca6
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq %r14, 0x8(%rax)
movq %r15, 0x10(%rax)
movq 0x50(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x50(%rbx), %rax
movq $0x193, 0x18(%rax)      # imm = 0x193
addq $0x20, 0x50(%rbx)
movq (%rbx), %r15
addq $0x10, %r15
jmp 0xd23f0
testb $0x10, 0x3(%rcx)
jne 0xd21ef
cmpb $0xa, %al
jne 0xd245f
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa2e84
testq %rax, %rax
jne 0xd2462
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa2ee9
jmp 0xd2462
leaq 0x120(%rbx), %rcx
movq (%rcx), %r14
movzbl (%r14), %ecx
leaq 0x825f5(%rip), %rdx     # 0x154330
cmpb $0x0, (%rcx,%rdx)
je 0xd1d9d
movq 0x68(%rbx), %rax
leaq 0x8(%rax), %rcx
movq %rcx, 0x68(%rbx)
movq %r14, (%rax)
movq 0x50(%rbx), %rax
movq 0x110(%rbx), %rcx
movq %rcx, (%rax)
movq 0x8(%rbx), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x50(%rbx), %rax
movq 0x110(%rbx), %rcx
movq %rcx, 0x10(%rax)
movq 0x50(%rbx), %rax
movq $0x193, 0x18(%rax)      # imm = 0x193
addq $0x20, 0x50(%rbx)
movq (%rbx), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rax
movq %rax, (%rbx)
jmp 0xd1e5f
cmpl $0x14, %ecx
jne 0xd1da9
testb $0x20, 0x2(%r14)
jne 0xd1d41
leaq 0x825c0(%rip), %rdx     # 0x154370
cmpb $0x1, (%rcx,%rdx)
jne 0xd1e11
movq (%rbx), %rax
movq 0x90(%rbx), %rcx
movq 0x10(%rax), %rax
movq 0x8(%rax), %r15
movq 0x110(%rbx), %r12
cmpq 0x98(%rbx), %rcx
ja 0xd1de0
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq %r15, 0x8(%rax)
movq %r12, 0x10(%rax)
movq %rax, 0x10(%rbx)
movq %r14, (%rbx)
jmp 0xd15b8
movq 0x1918(%rbx), %rsi
movq 0x8b5f1(%rip), %rcx     # 0x15d410
movq (%rbx), %rdx
movq 0x8(%rdx), %rdx
movq 0x8(%rdx), %rdx
leaq 0x80c2f(%rip), %rdi     # 0x152a60
movq (%rdi,%rax,8), %rax
movq 0x6e8(%rbx), %rdi
movq %rcx, 0x8(%rdi)
movq 0x10(%rdi), %rcx
movq %rdx, 0x8(%rcx)
movq 0x10(%rcx), %rcx
movq %rax, 0x8(%rcx)
movq 0x6e8(%rbx), %rdx
movq %rbx, %rdi
callq 0x3b366
movq (%rbx), %rax
jmp 0xd23fa
movq 0x8(%rcx), %r12
movzbl (%r12), %ecx
cmpl $0x1, %ecx
je 0xd2366
cmpl $0xa, %ecx
jne 0xd2416
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2e84
movq %rax, %r15
testq %rax, %rax
jne 0xd2419
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2ee9
movq %rax, %r15
jmp 0xd2419
movq %r12, %rax
cmpb $0x8, (%rax)
jne 0xd1ec4
movb 0x8(%rax), %cl
movq 0x10(%r14), %rdx
movb %cl, (%rdx,%r13)
jmp 0xd2614
movq 0x1940(%rbx), %rsi
movq 0x820(%rbx), %rax
movslq 0x7dc(%rbx), %rcx
movq (%rax,%rcx,8), %rax
incl %ecx
andl $0x7, %ecx
movl %ecx, 0x7dc(%rbx)
leaq 0x4f5a3(%rip), %rcx     # 0x121492
movq %rcx, 0x10(%rax)
movq $0x1d, 0x8(%rax)
movq (%rbx), %rcx
movq 0x6e0(%rbx), %rdx
movq %rax, 0x8(%rdx)
movq 0x6e0(%rbx), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x6e0(%rbx), %rdx
movq %rbx, %rdi
callq 0x3b366
movq 0x1eb0(%rbx), %rax
movq 0x68(%rbx), %rcx
leaq 0x8(%rcx), %rdx
movq %rdx, 0x68(%rbx)
movq %rax, (%rcx)
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %r12
cmpq 0x98(%rbx), %rax
ja 0xd1f5c
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movl $0x200001, %ecx         # imm = 0x200001
movq %rcx, (%rax)
movq %r14, 0x8(%rax)
movq %r12, 0x10(%rax)
movq 0x90(%rbx), %rdx
leaq -0x8(%rdx), %rsi
movq %rsi, 0x90(%rbx)
movq -0x8(%rdx), %rdx
movq %rcx, (%rdx)
movq %r15, 0x8(%rdx)
movq %rax, 0x10(%rdx)
movq %rdx, 0x10(%rbx)
movq (%rbx), %rax
movq 0x10(%rax), %rax
movq %rax, (%rbx)
movl $0xb, %eax
jmp 0xd2407
addq $0x2, %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0xb5858
movq %rax, %r15
testb $0x40, 0x7(%rax)
jne 0xd1fef
movq 0x50(%rbx), %rax
movq $0x1, 0x18(%rax)
movq 0x50(%rbx), %rax
leaq 0x20(%rax), %rcx
movq %rcx, 0x50(%rbx)
movq %r15, 0x10(%rax)
movq %r14, 0x8(%r15)
movq 0x10(%r13), %r13
movq 0x10(%r15), %r12
cmpb $0x1, (%r13)
jne 0xd2120
leaq 0x4f3bd(%rip), %rbp     # 0x1213ca
movq 0x8(%r13), %rsi
cmpb $0xa, (%rsi)
jne 0xd2059
movq 0x8(%rbx), %rax
movq 0x18(%rax), %rdx
movq 0x20(%rsi), %rcx
cmpq %rcx, %rdx
je 0xd203f
jle 0xd2036
movq 0x10(%rax), %rax
movq 0x18(%rax), %rdx
cmpq %rdx, %rcx
jl 0xd2029
cmpq %rcx, %rdx
jne 0xd20d9
movq 0x18(%rsi), %rax
movq 0x10(%rax), %r14
testq %r14, %r14
jne 0xd205c
movq %rbx, %rdi
callq 0xa2ee9
movq %rax, %r14
jmp 0xd205c
movq %rsi, %r14
cmpb $0xb, (%r14)
je 0xd20be
movq 0x1940(%rbx), %rsi
movq 0x820(%rbx), %rax
movslq 0x7dc(%rbx), %rcx
movq (%rax,%rcx,8), %rax
incl %ecx
andl $0x7, %ecx
movl %ecx, 0x7dc(%rbx)
movq %rbp, 0x10(%rax)
movq $0x29, 0x8(%rax)
movq (%rbx), %rcx
movq 0x6e0(%rbx), %rdx
movq %rax, 0x8(%rdx)
movq 0x6e0(%rbx), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x8(%rax)
movq 0x6e0(%rbx), %rdx
movq %rbx, %rdi
callq 0x3b366
movq %r14, 0x8(%r12)
movq 0x10(%r13), %r13
movq 0x10(%r12), %r12
cmpb $0x1, (%r13)
je 0xd200d
jmp 0xd2120
cmpb $0x1c, (%rax)
jne 0xd210b
movq 0x8(%rax), %rdx
testq %rdx, %rdx
sete %cl
je 0xd20fa
cmpq %rsi, 0x8(%rdx)
je 0xd20f6
movq 0x18(%rdx), %rdx
jmp 0xd20e2
movq 0x10(%rdx), %r14
testb %cl, %cl
je 0xd2047
movq 0x10(%rax), %rax
cmpb $0x1c, (%rax)
je 0xd20de
movq 0x10(%rsi), %rax
cmpb $0x20, (%rax)
je 0xd2043
xorl %r14d, %r14d
jmp 0xd2047
movq (%rbx), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r14
movq %r14, 0x8(%r12)
cmpb $0xa, (%r14)
jne 0xd2156
movq %rbx, %rdi
movq %r14, %rsi
callq 0xa2e84
testq %rax, %rax
jne 0xd2151
movq %rbx, %rdi
movq %r14, %rsi
callq 0xa2ee9
movq %rax, 0x8(%r12)
movq %rbx, %rdi
movq %r15, %rsi
callq 0x7fcf5
movq %rax, 0x20(%rbx)
testb $0x40, 0x7(%r15)
jne 0xd22fe
addq $-0x20, 0x50(%rbx)
jmp 0xd2618
movl (%rcx), %ebp
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2e84
movq %rax, %r15
btl $0x1c, %ebp
jb 0xd2479
testq %r15, %r15
jne 0xd21a7
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2ee9
movq %rax, %r15
movq 0x570(%rbx), %rax
movq %r15, 0x8(%rax)
movq (%rbx), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa2e84
testq %rax, %rax
jne 0xd21d8
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa2ee9
movq 0x578(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x570(%rbx), %rax
jmp 0xd15a9
cmpb $0xa, %al
jne 0xd2523
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa2e84
movq %rax, %r12
testq %rax, %rax
jne 0xd2526
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa2ee9
movq %rax, %r12
jmp 0xd2526
movq (%rbx), %rax
movq 0x50(%rbx), %rcx
movq 0x10(%rax), %rax
movq %rax, (%rcx)
movq 0x8(%rbx), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %r15
cmpq 0x98(%rbx), %rax
ja 0xd225a
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq %r14, 0x8(%rax)
movq %r15, 0x10(%rax)
movq 0x50(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x50(%rbx), %rax
movq $0x193, 0x18(%rax)      # imm = 0x193
addq $0x20, 0x50(%rbx)
movq 0x1ec0(%rbx), %rax
movq 0x68(%rbx), %rcx
leaq 0x8(%rcx), %rdx
movq %rdx, 0x68(%rbx)
movq %rax, (%rcx)
movq (%rbx), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
jmp 0xd23f3
movq %r12, %r15
movq (%rbx), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r12
movzbl (%r12), %eax
cmpl $0x1, %eax
je 0xd2344
cmpl $0xa, %eax
jne 0xd2350
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2e84
movq %rax, %rcx
testq %rax, %rax
jne 0xd2353
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2ee9
movq %rax, %rcx
jmp 0xd2353
andb $-0x5, 0x1(%r15)
movl $0x0, 0x2138(%rbx)
jmp 0xd2618
cmpb $0xa, %al
jne 0xd25bd
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa2e84
movq %rax, %r13
testq %rax, %rax
jne 0xd25c0
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa2ee9
movq %rax, %r13
jmp 0xd25c0
movq 0x1ec0(%rbx), %rax
jmp 0xd1f2e
movq %r12, %rcx
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x38db7
jmp 0xd2614
movq 0x10(%rax), %rax
movq 0x50(%rbx), %rcx
movq %rax, (%rcx)
movq 0x8(%rbx), %rax
movq 0x50(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %r12
cmpq 0x98(%rbx), %rax
ja 0xd239c
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq %r14, 0x8(%rax)
movq %r12, 0x10(%rax)
movq 0x50(%rbx), %rcx
movq %rax, 0x10(%rcx)
movq 0x50(%rbx), %rax
movq $0x193, 0x18(%rax)      # imm = 0x193
addq $0x20, 0x50(%rbx)
movq 0x1ed0(%rbx), %rax
movq 0x68(%rbx), %rcx
leaq 0x8(%rcx), %rdx
movq %rdx, 0x68(%rbx)
movq %rax, (%rcx)
movq (%r15), %rax
movq 0x8(%rax), %rax
movq %rax, (%rbx)
movzwl 0x4(%rax), %eax
movq %rax, 0x18(%rbx)
movl $0x9, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r12, %r15
movq (%rbx), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r12
movzbl (%r12), %eax
cmpl $0x1, %eax
je 0xd256f
cmpl $0xa, %eax
jne 0xd257b
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2e84
testq %rax, %rax
jne 0xd257e
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2ee9
jmp 0xd257e
movq %r15, %rax
movq 0x568(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x568(%rbx), %rax
jmp 0xd15a9
testq %r15, %r15
jne 0xd248c
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2ee9
movq %rax, %r15
movq (%rbx), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r13
movq %rbx, %rdi
movq %r13, %rsi
callq 0xa2e84
movq %rax, %r12
testq %rax, %rax
jne 0xd24b8
movq %rbx, %rdi
movq %r13, %rsi
callq 0xa2ee9
movq %rax, %r12
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %r13
cmpq 0x98(%rbx), %rax
ja 0xd24d7
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rcx
movl $0x200001, %edx         # imm = 0x200001
movq %rdx, (%rcx)
movq %r12, 0x8(%rcx)
movq %r13, 0x10(%rcx)
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rsi
movq %rsi, 0x90(%rbx)
movq -0x8(%rax), %rax
movq %rdx, (%rax)
movq %r15, 0x8(%rax)
movq %rcx, 0x10(%rax)
jmp 0xd15a9
movq %r15, %r12
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %r15
cmpq 0x98(%rbx), %rax
ja 0xd2545
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movq $0x200001, (%rax)       # imm = 0x200001
movq %r12, 0x8(%rax)
movq %r15, 0x10(%rax)
jmp 0xd15a9
movq 0x1ed0(%rbx), %rax
jmp 0xd1f2e
movq %r12, %rax
movq 0x580(%rbx), %rcx
movq %r14, 0x8(%rcx)
movq 0x588(%rbx), %rcx
movq %r15, 0x8(%rcx)
movq 0x590(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x8d8(%rbx), %rax
movq 0x8(%r14), %rcx
movq (%rax,%rcx,8), %rax
movq 0x580(%rbx), %rsi
movq %rbx, %rdi
callq *0x50(%rax)
jmp 0xd2614
movq %r15, %r13
cmpb $0xa, (%r12)
jne 0xd25e4
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2e84
testq %rax, %rax
jne 0xd25e7
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2ee9
jmp 0xd25e7
movq %r12, %rax
movq 0x570(%rbx), %rcx
movq %r13, 0x8(%rcx)
movq 0x578(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x570(%rbx), %rdx
movq %rbx, %rdi
movq %r14, %rsi
movl $0x2, %ecx
callq 0xefca0
movq %rax, 0x20(%rbx)
xorl %eax, %eax
jmp 0xd2407
movl (%rcx), %ebp
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2e84
movq %rax, %r15
btl $0x1c, %ebp
jb 0xd26cd
testq %r15, %r15
jne 0xd264c
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2ee9
movq %rax, %r15
movq 0x580(%rbx), %rax
movq %r15, 0x8(%rax)
movq (%rbx), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa2e84
testq %rax, %rax
jne 0xd2685
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa2ee9
movq 0x588(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq (%rbx), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r15
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa2e84
testq %rax, %rax
jne 0xd26b6
movq %rbx, %rdi
movq %r15, %rsi
callq 0xa2ee9
movq 0x590(%rbx), %rcx
movq %rax, 0x8(%rcx)
movq 0x580(%rbx), %rax
jmp 0xd15a9
testq %r15, %r15
jne 0xd26e0
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2ee9
movq %rax, %r15
movq (%rbx), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r13
movq %rbx, %rdi
movq %r13, %rsi
callq 0xa2e84
movq %rax, %r12
testq %rax, %rax
jne 0xd2714
movq %rbx, %rdi
movq %r13, %rsi
callq 0xa2ee9
movq %rax, %r12
movq (%rbx), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rbp
movq %rbx, %rdi
movq %rbp, %rsi
callq 0xa2e84
movq %rax, %r13
testq %rax, %rax
jne 0xd2740
movq %rbx, %rdi
movq %rbp, %rsi
callq 0xa2ee9
movq %rax, %r13
movq 0x90(%rbx), %rax
movq 0x110(%rbx), %rbp
cmpq 0x98(%rbx), %rax
ja 0xd275f
movq %rbx, %rdi
callq 0xb389
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rcx
movq %rcx, 0x90(%rbx)
movq -0x8(%rax), %rax
movl $0x200001, %ecx         # imm = 0x200001
movq %rcx, (%rax)
movq %r13, 0x8(%rax)
movq %rbp, 0x10(%rax)
movq 0x90(%rbx), %rdx
leaq -0x8(%rdx), %rsi
movq %rsi, 0x90(%rbx)
movq -0x8(%rdx), %rdx
movq %rcx, (%rdx)
movq %r12, 0x8(%rdx)
movq %rax, 0x10(%rdx)
movq 0x90(%rbx), %rax
leaq -0x8(%rax), %rsi
movq %rsi, 0x90(%rbx)
movq -0x8(%rax), %rax
movq %rcx, (%rax)
movq %r15, 0x8(%rax)
movq %rdx, 0x10(%rax)
jmp 0xd15a9
movq 0x10(%rcx), %rax
movq 0x8(%rax), %r15
movq (%rbx), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r12
movzbl (%r12), %eax
cmpl $0x1, %eax
je 0xd2811
cmpl $0xa, %eax
jne 0xd281d
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2e84
movq %rax, %rcx
testq %rax, %rax
jne 0xd2820
movq %rbx, %rdi
movq %r12, %rsi
callq 0xa2ee9
movq %rax, %rcx
jmp 0xd2820
movq 0x1ec8(%rbx), %rax
jmp 0xd1f2e
movq %r12, %rcx
movq %rbx, %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0xc645
jmp 0xd2614