// File: /workspace/github_cpp_makefile_star2_O1/rksdna[P]json/./json.hpp
// Function: std::ostream_iterator<char, char, std::char_traits<char>> json::basic_writer<char, std::char_traits<char>, std::allocator<char>>::write<std::ostream_iterator<char, char, std::char_traits<char>>>(json::item, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::ostream_iterator<char, char, std::char_traits<char>>)
OutputIterator write(json::item item, const string_type &data, OutputIterator output)
    {
        static const string_type object_begin_data = {'{'};
        static const string_type object_end_data = {'}'};
        static const string_type array_begin_data = {'['};
        static const string_type array_end_data = {']'};
        static const string_type comma_data = {','};
        static const string_type colon_data = {':', ' '};
        static const string_type null_data = {'n', 'u', 'l', 'l'};
        static const string_type true_data = {'t', 'r', 'u', 'e'};
        static const string_type false_data = {'f', 'a', 'l', 's', 'e'};

        if (m_state.empty())
        {
            if (item == json::item::object_begin)
                return token(object_begin_data, output), push(object_1_state), output;

            if (item == json::item::array_begin)
                return token(array_begin_data, output), push(array_1_state), output;

            throw json::exception("object or array begin expected");
        }

        switch (m_state.top())
        {
        case object_1_state:
            if (item == json::item::object_end)
                return pop(), token(object_end_data, output), output;

            if (item == json::item::key)
                return endl(output), string(data, output), token(colon_data, output), jump(object_v_state), output;

            throw json::exception("object end or key expected");

        case object_v_state:
            if (item == json::item::object_begin)
                return token(object_begin_data, output), jump(object_n_state), push(object_1_state), output;

            if (item == json::item::array_begin)
                return token(array_begin_data, output), jump(object_n_state), push(array_1_state), output;

            if (item == json::item::string_value)
                return string(data, output), jump(object_n_state), output;

            if (item == json::item::integer_value)
                return token(data, output), jump(object_n_state), output;

            if (item == json::item::real_value)
                return token(data, output), jump(object_n_state), output;

            if (item == json::item::null_value)
                return token(null_data, output), jump(object_n_state), output;

            if (item == json::item::true_value)
                return token(true_data, output), jump(object_n_state), output;

            if (item == json::item::false_value)
                return token(false_data, output), jump(object_n_state), output;

            throw json::exception("value expected");

        case object_n_state:
            if (item == json::item::object_end)
                return pop(), endl(output), token(object_end_data, output), output;

            if (item == json::item::key)
                return token(comma_data, output), endl(output), string(data, output), token(colon_data, output), jump(object_v_state), output;

            throw json::exception("object end of key expected");

        case array_1_state:
            if (item == json::item::array_end)
                return pop(), token(array_end_data, output), output;

            if (item == json::item::object_begin)
                return endl(output), token(object_begin_data, output), jump(array_n_state), push(object_1_state), output;

            if (item == json::item::array_begin)
                return endl(output), token(array_begin_data, output), jump(array_n_state), push(array_1_state), output;

            if (item == json::item::string_value)
                return endl(output), string(data, output), jump(array_n_state), output;

            if (item == json::item::integer_value)
                return endl(output), token(data, output), jump(array_n_state), output;

            if (item == json::item::real_value)
                return endl(output), token(data, output), jump(array_n_state), output;

            if (item == json::item::null_value)
                return endl(output), token(null_data, output), jump(array_n_state), output;

            if (item == json::item::true_value)
                return endl(output), token(true_data, output), jump(array_n_state), output;

            if (item == json::item::false_value)
                return endl(output), token(false_data, output), jump(array_n_state), output;

            throw json::exception("array end of value expected");

        case array_n_state:
            if (item == json::item::array_end)
                return pop(), endl(output), token(array_end_data, output), output;

            if (item == json::item::object_begin)
                return token(comma_data, output), endl(output), token(object_begin_data, output), push(object_1_state), output;

            if (item == json::item::array_begin)
                return token(comma_data, output), endl(output), token(array_begin_data, output), push(array_1_state), output;

            if (item == json::item::string_value)
                return token(comma_data, output), endl(output), string(data, output), output;

            if (item == json::item::integer_value)
                return token(comma_data, output), endl(output), token(data, output), output;

            if (item == json::item::real_value)
                return token(comma_data, output), endl(output), token(data, output), output;

            if (item == json::item::null_value)
                return token(comma_data, output), endl(output), token(null_data, output), output;

            if (item == json::item::true_value)
                return token(comma_data, output), endl(output), token(true_data, output), output;

            if (item == json::item::false_value)
                return token(comma_data, output), endl(output), token(false_data, output), output;

            throw json::exception("array end of value expected");
        }

        throw std::bad_exception();
    }

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %r8, %r14
movq %rcx, %r12
movl %edx, %ebp
movq %rsi, %r15
movq %rdi, %rbx
movb 0x62a2(%rip), %al       # 0x9178
testb %al, %al
je 0x3933
movb 0x62bc(%rip), %al       # 0x91a0
testb %al, %al
je 0x393d
movb 0x62d6(%rip), %al       # 0x91c8
testb %al, %al
je 0x3947
movb 0x62f0(%rip), %al       # 0x91f0
testb %al, %al
je 0x3951
movb 0x630a(%rip), %al       # 0x9218
testb %al, %al
je 0x395b
movb 0x6324(%rip), %al       # 0x9240
testb %al, %al
je 0x3965
movb 0x633e(%rip), %al       # 0x9268
testb %al, %al
je 0x396f
movb 0x6358(%rip), %al       # 0x9290
testb %al, %al
je 0x3979
movb 0x6372(%rip), %al       # 0x92b8
testb %al, %al
je 0x3983
leaq 0x8(%r15), %rdi
movq 0x38(%r15), %rax
cmpq 0x18(%r15), %rax
je 0x3006
cmpq 0x40(%r15), %rax
jne 0x2f73
movq 0x50(%r15), %rcx
movl $0x200, %eax            # imm = 0x200
addq -0x8(%rcx), %rax
movl -0x4(%rax), %eax
cmpq $0x4, %rax
ja 0x39af
leaq 0x307d(%rip), %rcx      # 0x6004
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0x4, %ebp
je 0x33d6
cmpl $0x1, %ebp
jne 0x39dd
movq %rbx, %r13
callq 0x3ed4
movq 0x61cf(%rip), %r15      # 0x9180
movq 0x61d0(%rip), %rbx      # 0x9188
movups (%r14), %xmm0
movups %xmm0, 0x10(%rsp)
testq %rbx, %rbx
jle 0x2fe5
incq %rbx
leaq 0x10(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x3c56
incq %r15
decq %rbx
cmpq $0x1, %rbx
jg 0x2fce
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rax, (%r14)
movq %rcx, 0x8(%r14)
movq %r13, %rbx
movq %rax, (%r13)
movq %rcx, 0x8(%r13)
jmp 0x3906
cmpl $0x2, %ebp
movq %rdi, 0x20(%rsp)
je 0x3080
testl %ebp, %ebp
jne 0x398d
movq %rbx, %r13
movq 0x6136(%rip), %r12      # 0x9158
movq 0x6137(%rip), %rbx      # 0x9160
movups (%r14), %xmm0
movups %xmm0, 0x10(%rsp)
testq %rbx, %rbx
jle 0x3056
incq %rbx
leaq 0x10(%rsp), %rbp
movq %rbp, %rdi
movq %r12, %rsi
callq 0x3c56
incq %r12
decq %rbx
cmpq $0x1, %rbx
jg 0x303f
movups 0x10(%rsp), %xmm0
movups %xmm0, (%r14)
movl $0x0, 0x10(%rsp)
movq 0x38(%r15), %rax
movq 0x48(%r15), %rcx
addq $-0x4, %rcx
cmpq %rcx, %rax
je 0x30f0
movl $0x0, (%rax)
jmp 0x30e6
movq %rbx, %r13
movq 0x611e(%rip), %r12      # 0x91a8
movq 0x611f(%rip), %rbx      # 0x91b0
movups (%r14), %xmm0
movups %xmm0, 0x10(%rsp)
testq %rbx, %rbx
jle 0x30be
incq %rbx
leaq 0x10(%rsp), %rbp
movq %rbp, %rdi
movq %r12, %rsi
callq 0x3c56
incq %r12
decq %rbx
cmpq $0x1, %rbx
jg 0x30a7
movups 0x10(%rsp), %xmm0
movups %xmm0, (%r14)
movl $0x3, 0x10(%rsp)
movq 0x38(%r15), %rax
movq 0x48(%r15), %rcx
addq $-0x4, %rcx
cmpq %rcx, %rax
je 0x30f0
movl $0x3, (%rax)
addq $0x4, %rax
movq %rax, 0x38(%r15)
jmp 0x30ff
leaq 0x10(%rsp), %rsi
movq 0x20(%rsp), %rdi
callq 0x3ca8
movq %r13, %rbx
jmp 0x38f8
cmpl $0xa, %ebp
ja 0x3a57
movl %ebp, %eax
leaq 0x2eff(%rip), %rcx      # 0x6018
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x60cf(%rip), %rsi      # 0x91f8
movq %r15, %rdi
movq %r14, %rdx
callq 0x3ab8
movq %r15, %rdi
movq %r14, %rsi
callq 0x3b3a
movq %r15, %rdi
movq %r12, %rsi
jmp 0x382a
cmpl $0x4, %ebp
je 0x32a9
cmpl $0x1, %ebp
jne 0x39ff
movq %rbx, %rbp
callq 0x3ed4
cmpq $0x0, (%r15)
je 0x31f6
leaq 0x10(%rsp), %r12
movb $0xa, (%r12)
movq %r14, %rdi
movq %r12, %rsi
callq 0x3c56
movq 0x50(%r15), %rax
movq %rax, %rcx
subq 0x30(%r15), %rcx
shrq $0x3, %rcx
cmpq $0x1, %rax
adcq $-0x1, %rcx
shlq $0x7, %rcx
movq 0x28(%r15), %rbx
movq 0x38(%r15), %rax
subq 0x40(%r15), %rax
sarq $0x2, %rax
subq 0x18(%r15), %rbx
sarq $0x2, %rbx
addq %rax, %rbx
addq %rcx, %rbx
imulq (%r15), %rbx
movups (%r14), %xmm0
movups %xmm0, (%r12)
movb $0x20, 0xf(%rsp)
testq %rbx, %rbx
je 0x31ed
leaq 0x10(%rsp), %r15
leaq 0xf(%rsp), %r12
movq %r15, %rdi
movq %r12, %rsi
callq 0x3c56
decq %rbx
jne 0x31dd
movups 0x10(%rsp), %xmm0
movups %xmm0, (%r14)
movq 0x5f83(%rip), %r15      # 0x9180
movq 0x5f84(%rip), %rbx      # 0x9188
movups (%r14), %xmm0
movups %xmm0, 0x10(%rsp)
testq %rbx, %rbx
jle 0x3231
incq %rbx
leaq 0x10(%rsp), %r12
movq %r12, %rdi
movq %r15, %rsi
callq 0x3c56
incq %r15
decq %rbx
cmpq $0x1, %rbx
jg 0x321a
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rax, (%r14)
movq %rcx, 0x8(%r14)
movq %rbp, %rbx
movq %rax, (%rbp)
movq %rcx, 0x8(%rbp)
jmp 0x3906
cmpl $0xa, %ebp
ja 0x3a79
movl %ebp, %eax
leaq 0x2de0(%rip), %rcx      # 0x6044
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %r15, %rdi
movq %r14, %rsi
callq 0x3b3a
movq %r15, %rdi
movq %r12, %rsi
jmp 0x38d2
cmpl $0xa, %ebp
ja 0x3a35
movl %ebp, %eax
leaq 0x2ddb(%rip), %rcx      # 0x6070
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %r15, %rdi
movq %r12, %rsi
jmp 0x35e7
movq %rbx, 0x20(%rsp)
movq 0x5f43(%rip), %r13      # 0x91f8
movq 0x5f44(%rip), %rbx      # 0x9200
movups (%r14), %xmm0
movups %xmm0, 0x10(%rsp)
testq %rbx, %rbx
jle 0x32e9
incq %rbx
leaq 0x10(%rsp), %rbp
movq %rbp, %rdi
movq %r13, %rsi
callq 0x3c56
incq %r13
decq %rbx
cmpq $0x1, %rbx
jg 0x32d2
movups 0x10(%rsp), %xmm0
movups %xmm0, (%r14)
cmpq $0x0, (%r15)
je 0x3384
leaq 0x10(%rsp), %r13
movb $0xa, (%r13)
movq %r14, %rdi
movq %r13, %rsi
callq 0x3c56
movq 0x50(%r15), %rax
movq %rax, %rcx
subq 0x30(%r15), %rcx
shrq $0x3, %rcx
cmpq $0x1, %rax
adcq $-0x1, %rcx
shlq $0x7, %rcx
movq 0x28(%r15), %rbx
movq 0x38(%r15), %rax
subq 0x40(%r15), %rax
sarq $0x2, %rax
subq 0x18(%r15), %rbx
sarq $0x2, %rbx
addq %rax, %rbx
addq %rcx, %rbx
imulq (%r15), %rbx
movups (%r14), %xmm0
movups %xmm0, (%r13)
movb $0x20, 0xf(%rsp)
testq %rbx, %rbx
je 0x337b
leaq 0x10(%rsp), %r13
leaq 0xf(%rsp), %rbp
movq %r13, %rdi
movq %rbp, %rsi
callq 0x3c56
decq %rbx
jne 0x336b
movups 0x10(%rsp), %xmm0
movups %xmm0, (%r14)
movq %r15, %rdi
movq %r12, %rsi
movq %r14, %rdx
callq 0x3be6
movq 0x5e87(%rip), %r12      # 0x9220
movq 0x5e88(%rip), %rbx      # 0x9228
movups (%r14), %xmm0
movups %xmm0, 0x10(%rsp)
testq %rbx, %rbx
jle 0x34b6
incq %rbx
leaq 0x10(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x3c56
incq %r12
decq %rbx
cmpq $0x1, %rbx
jg 0x33ba
jmp 0x34b6
movq %rbx, 0x20(%rsp)
cmpq $0x0, (%r15)
je 0x346d
leaq 0x10(%rsp), %r13
movb $0xa, (%r13)
movq %r14, %rdi
movq %r13, %rsi
callq 0x3c56
movq 0x50(%r15), %rax
movq %rax, %rcx
subq 0x30(%r15), %rcx
shrq $0x3, %rcx
cmpq $0x1, %rax
adcq $-0x1, %rcx
shlq $0x7, %rcx
movq 0x28(%r15), %rbx
movq 0x38(%r15), %rax
subq 0x40(%r15), %rax
sarq $0x2, %rax
subq 0x18(%r15), %rbx
sarq $0x2, %rbx
addq %rax, %rbx
addq %rcx, %rbx
imulq (%r15), %rbx
movups (%r14), %xmm0
movups %xmm0, (%r13)
movb $0x20, 0xf(%rsp)
testq %rbx, %rbx
je 0x3464
leaq 0x10(%rsp), %r13
leaq 0xf(%rsp), %rbp
movq %r13, %rdi
movq %rbp, %rsi
callq 0x3c56
decq %rbx
jne 0x3454
movups 0x10(%rsp), %xmm0
movups %xmm0, (%r14)
movq %r15, %rdi
movq %r12, %rsi
movq %r14, %rdx
callq 0x3be6
movq 0x5d9e(%rip), %r12      # 0x9220
movq 0x5d9f(%rip), %rbx      # 0x9228
movups (%r14), %xmm0
movups %xmm0, 0x10(%rsp)
testq %rbx, %rbx
jle 0x34b6
incq %rbx
leaq 0x10(%rsp), %r13
movq %r13, %rdi
movq %r12, %rsi
callq 0x3c56
incq %r12
decq %rbx
cmpq $0x1, %rbx
jg 0x349f
movq 0x10(%rsp), %rax
movq 0x18(%rsp), %rcx
movq %rax, (%r14)
movq %rcx, 0x8(%r14)
movq 0x38(%r15), %rdx
cmpq 0x40(%r15), %rdx
jne 0x34de
movq 0x50(%r15), %rsi
movl $0x200, %edx            # imm = 0x200
addq -0x8(%rsi), %rdx
movl $0x1, -0x4(%rdx)
movq 0x20(%rsp), %rbx
movq %rax, (%rbx)
movq %rcx, 0x8(%rbx)
jmp 0x3906
leaq 0x5d4b(%rip), %rsi      # 0x9248
jmp 0x35e4
movq %r15, %rdi
movq %r12, %rsi
movq %r14, %rdx
callq 0x3be6
jmp 0x35ef
movq %r14, %rdx
movq %rdi, %r14
leaq 0x5c86(%rip), %rsi      # 0x91a8
movq %r15, %rdi
movq %rdx, %r12
callq 0x3ab8
movq 0x38(%r15), %rax
movq %rax, %rcx
cmpq 0x40(%r15), %rax
jne 0x3547
movq 0x50(%r15), %rdx
movl $0x200, %ecx            # imm = 0x200
addq -0x8(%rdx), %rcx
movl $0x2, -0x4(%rcx)
movl $0x3, 0x10(%rsp)
movq 0x48(%r15), %rcx
addq $-0x4, %rcx
cmpq %rcx, %rax
je 0x3918
movl $0x3, (%rax)
jmp 0x35c7
movq %r14, %rdx
movq %rdi, %r14
leaq 0x5bdc(%rip), %rsi      # 0x9158
movq %r15, %rdi
movq %rdx, %r12
callq 0x3ab8
movq 0x38(%r15), %rax
movq %rax, %rcx
cmpq 0x40(%r15), %rax
jne 0x35a1
movq 0x50(%r15), %rdx
movl $0x200, %ecx            # imm = 0x200
addq -0x8(%rdx), %rcx
movl $0x2, -0x4(%rcx)
movl $0x0, 0x10(%rsp)
movq 0x48(%r15), %rcx
addq $-0x4, %rcx
cmpq %rcx, %rax
je 0x3918
movl $0x0, (%rax)
addq $0x4, %rax
movq %rax, 0x38(%r15)
jmp 0x3925
leaq 0x5cbd(%rip), %rsi      # 0x9298
jmp 0x35e4
leaq 0x5c8c(%rip), %rsi      # 0x9270
movq %r15, %rdi
movq %r14, %rdx
callq 0x3ab8
movq 0x38(%r15), %rax
cmpq 0x40(%r15), %rax
jne 0x3606
movq 0x50(%r15), %rcx
movl $0x200, %eax            # imm = 0x200
addq -0x8(%rcx), %rax
movl $0x2, -0x4(%rax)
jmp 0x38f8
leaq 0x5bdf(%rip), %rsi      # 0x91f8
movq %r15, %rdi
movq %r14, %rdx
callq 0x3ab8
movq %r15, %rdi
movq %r14, %rsi
callq 0x3b3a
leaq 0x5c62(%rip), %rsi      # 0x9298
jmp 0x3827
movq %r15, %rdi
movq %r14, %rsi
callq 0x3b3a
leaq 0x5c4b(%rip), %rsi      # 0x9298
jmp 0x38cf
callq 0x3ed4
movq %r15, %rdi
movq %r14, %rsi
callq 0x3b3a
jmp 0x370e
leaq 0x5b8a(%rip), %rsi      # 0x91f8
movq %r15, %rdi
movq %r14, %rdx
callq 0x3ab8
movq %r15, %rdi
movq %r14, %rsi
callq 0x3b3a
movq %r15, %rdi
movq %r12, %rsi
movq %r14, %rdx
callq 0x3be6
jmp 0x38f8
leaq 0x5b5a(%rip), %rsi      # 0x91f8
movq %r15, %rdi
movq %r14, %rdx
callq 0x3ab8
movq %r15, %rdi
movq %r14, %rsi
callq 0x3b3a
leaq 0x5bb5(%rip), %rsi      # 0x9270
jmp 0x3827
movq %r14, %r12
movq %rdi, %r14
leaq 0x5b2b(%rip), %rsi      # 0x91f8
movq %r15, %rdi
movq %r12, %rdx
callq 0x3ab8
movq %r15, %rdi
movq %r12, %rsi
callq 0x3b3a
leaq 0x5abe(%rip), %rsi      # 0x91a8
movq %r15, %rdi
movq %r12, %r13
movq %r12, %rdx
callq 0x3ab8
movl $0x3, 0x10(%rsp)
movq 0x38(%r15), %rax
jmp 0x37e7
callq 0x3ed4
leaq 0x5abb(%rip), %rsi      # 0x91d0
jmp 0x3827
movq %r14, %r12
movq %rdi, %r14
leaq 0x5ad1(%rip), %rsi      # 0x91f8
movq %r15, %rdi
movq %r12, %rdx
callq 0x3ab8
movq %r15, %rdi
movq %r12, %rsi
callq 0x3b3a
leaq 0x5a14(%rip), %rsi      # 0x9158
movq %r15, %rdi
movq %r12, %r13
movq %r12, %rdx
callq 0x3ab8
movl $0x0, 0x10(%rsp)
movq 0x38(%r15), %rax
jmp 0x3886
movq %r15, %rdi
movq %r14, %rsi
callq 0x3b3a
movq %r15, %rdi
movq %r12, %rsi
movq %r14, %rdx
callq 0x3be6
jmp 0x38da
movq %r15, %rdi
movq %r14, %rsi
callq 0x3b3a
leaq 0x5add(%rip), %rsi      # 0x9270
jmp 0x38cf
movq %r14, %r12
movq %rdi, %r14
movq %r15, %rdi
movq %r12, %rsi
callq 0x3b3a
leaq 0x59f8(%rip), %rsi      # 0x91a8
movq %r15, %rdi
movq %r12, %r13
movq %r12, %rdx
callq 0x3ab8
movq 0x38(%r15), %rax
movq %rax, %rcx
cmpq 0x40(%r15), %rax
jne 0x37d8
movq 0x50(%r15), %rdx
movl $0x200, %ecx            # imm = 0x200
addq -0x8(%rdx), %rcx
movl $0x4, -0x4(%rcx)
movl $0x3, 0x10(%rsp)
movq 0x48(%r15), %rcx
addq $-0x4, %rcx
cmpq %rcx, %rax
je 0x38a3
movl $0x3, (%rax)
jmp 0x3899
leaq 0x59ee(%rip), %rsi      # 0x91f8
movq %r15, %rdi
movq %r14, %rdx
callq 0x3ab8
movq %r15, %rdi
movq %r14, %rsi
callq 0x3b3a
leaq 0x5a21(%rip), %rsi      # 0x9248
movq %r15, %rdi
movq %r14, %rdx
callq 0x3ab8
jmp 0x38f8
movq %r14, %r12
movq %rdi, %r14
movq %r15, %rdi
movq %r12, %rsi
callq 0x3b3a
leaq 0x5909(%rip), %rsi      # 0x9158
movq %r15, %rdi
movq %r12, %r13
movq %r12, %rdx
callq 0x3ab8
movq 0x38(%r15), %rax
movq %rax, %rcx
cmpq 0x40(%r15), %rax
jne 0x3877
movq 0x50(%r15), %rdx
movl $0x200, %ecx            # imm = 0x200
addq -0x8(%rdx), %rcx
movl $0x4, -0x4(%rcx)
movl $0x0, 0x10(%rsp)
movq 0x48(%r15), %rcx
addq $-0x4, %rcx
cmpq %rcx, %rax
je 0x38a3
movl $0x0, (%rax)
addq $0x4, %rax
movq %rax, 0x38(%r15)
jmp 0x38b0
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x3ca8
movq (%r13), %rax
movq %rax, (%rbx)
movq 0x8(%r13), %rax
jmp 0x3902
movq %r15, %rdi
movq %r14, %rsi
callq 0x3b3a
leaq 0x5979(%rip), %rsi      # 0x9248
movq %r15, %rdi
movq %r14, %rdx
callq 0x3ab8
movq 0x38(%r15), %rax
cmpq 0x40(%r15), %rax
jne 0x38f1
movq 0x50(%r15), %rcx
movl $0x200, %eax            # imm = 0x200
addq -0x8(%rcx), %rax
movl $0x4, -0x4(%rax)
movq (%r14), %rax
movq %rax, (%rbx)
movq 0x8(%r14), %rax
movq %rax, 0x8(%rbx)
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x10(%rsp), %rsi
movq %r14, %rdi
callq 0x3ca8
movq (%r12), %rax
movq %rax, (%rbx)
movq 0x8(%r12), %rax
jmp 0x3902
callq 0x2281
jmp 0x2ede
callq 0x22dd
jmp 0x2eec
callq 0x2339
jmp 0x2efa
callq 0x2395
jmp 0x2f08
callq 0x23f1
jmp 0x2f16
callq 0x244d
jmp 0x2f24
callq 0x24b0
jmp 0x2f32
callq 0x2514
jmp 0x2f40
callq 0x2578
jmp 0x2f4e
movl $0x20, %edi
callq 0x20c0
movq %rax, %rbx
leaq 0x283c(%rip), %rsi      # 0x61dd
movq %rax, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3b0e
jmp 0x3a1f
movl $0x8, %edi
callq 0x20c0
movq 0x55f0(%rip), %rcx      # 0x8fb0
addq $0x10, %rcx
movq %rcx, (%rax)
movq 0x55f2(%rip), %rsi      # 0x8fc0
movq 0x55d3(%rip), %rdx      # 0x8fa8
movq %rax, %rdi
callq 0x2210
movl $0x20, %edi
callq 0x20c0
movq %rax, %rbx
leaq 0x280b(%rip), %rsi      # 0x61fc
movq %rax, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3b0e
jmp 0x3a1f
movl $0x20, %edi
callq 0x20c0
movq %rax, %rbx
leaq 0x2804(%rip), %rsi      # 0x6217
movq %rax, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3b0e
leaq 0x5312(%rip), %rsi      # 0x8d38
movq 0x55ab(%rip), %rdx      # 0x8fd8
movq %rbx, %rdi
callq 0x2210
movl $0x20, %edi
callq 0x20c0
movq %rax, %rbx
leaq 0x27f6(%rip), %rsi      # 0x623f
movq %rax, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3b0e
jmp 0x3a1f
movl $0x20, %edi
callq 0x20c0
movq %rax, %rbx
leaq 0x27c7(%rip), %rsi      # 0x6232
movq %rax, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3b0e
jmp 0x3a1f
movl $0x20, %edi
callq 0x20c0
movq %rax, %rbx
leaq 0x27a5(%rip), %rsi      # 0x6232
movq %rax, %rdi
xorl %edx, %edx
xorl %ecx, %ecx
callq 0x3b0e
jmp 0x3a1f
jmp 0x3aa5
jmp 0x3aa5
jmp 0x3aa5
jmp 0x3aa5
jmp 0x3aa5
movq %rax, %r14
movq %rbx, %rdi
callq 0x2110
movq %r14, %rdi
callq 0x2220