// File: xelia-it[P]mustache/test/src/../../src/../third-party/json/single_include/nlohmann/json.hpp
// Function: bool nlohmann::json_abi_v3_11_2::detail::parser<nlohmann::json_abi_v3_11_2::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, long, unsigned long, double, std::allocator, nlohmann::json_abi_v3_11_2::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char>>, void>, nlohmann::json_abi_v3_11_2::detail::iterator_input_adapter<char const*>>::sax_parse_internal<nlohmann::json_abi_v3_11_2::detail::json_sax_dom_callback_parser<nlohmann::json_abi_v3_11_2::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, long, unsigned long, double, std::allocator, nlohmann::json_abi_v3_11_2::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char>>, void>>>(nlohmann::json_abi_v3_11_2::detail::json_sax_dom_callback_parser<nlohmann::json_abi_v3_11_2::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool, long, unsigned long, double, std::allocator, nlohmann::json_abi_v3_11_2::adl_serializer, std::vector<unsigned char, std::allocator<unsigned char>>, void>>*)
bool sax_parse_internal(SAX* sax)
    {
        // stack to remember the hierarchy of structured values we are parsing
        // true = array; false = object
        std::vector<bool> states;
        // value to avoid a goto (see comment where set to true)
        bool skip_to_state_evaluation = false;

        while (true)
        {
            if (!skip_to_state_evaluation)
            {
                // invariant: get_token() was called before each iteration
                switch (last_token)
                {
                    case token_type::begin_object:
                    {
                        if (JSON_HEDLEY_UNLIKELY(!sax->start_object(static_cast<std::size_t>(-1))))
                        {
                            return false;
                        }

                        // closing } -> we are done
                        if (get_token() == token_type::end_object)
                        {
                            if (JSON_HEDLEY_UNLIKELY(!sax->end_object()))
                            {
                                return false;
                            }
                            break;
                        }

                        // parse key
                        if (JSON_HEDLEY_UNLIKELY(last_token != token_type::value_string))
                        {
                            return sax->parse_error(m_lexer.get_position(),
                                                    m_lexer.get_token_string(),
                                                    parse_error::create(101, m_lexer.get_position(), exception_message(token_type::value_string, "object key"), nullptr));
                        }
                        if (JSON_HEDLEY_UNLIKELY(!sax->key(m_lexer.get_string())))
                        {
                            return false;
                        }

                        // parse separator (:)
                        if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::name_separator))
                        {
                            return sax->parse_error(m_lexer.get_position(),
                                                    m_lexer.get_token_string(),
                                                    parse_error::create(101, m_lexer.get_position(), exception_message(token_type::name_separator, "object separator"), nullptr));
                        }

                        // remember we are now inside an object
                        states.push_back(false);

                        // parse values
                        get_token();
                        continue;
                    }

                    case token_type::begin_array:
                    {
                        if (JSON_HEDLEY_UNLIKELY(!sax->start_array(static_cast<std::size_t>(-1))))
                        {
                            return false;
                        }

                        // closing ] -> we are done
                        if (get_token() == token_type::end_array)
                        {
                            if (JSON_HEDLEY_UNLIKELY(!sax->end_array()))
                            {
                                return false;
                            }
                            break;
                        }

                        // remember we are now inside an array
                        states.push_back(true);

                        // parse values (no need to call get_token)
                        continue;
                    }

                    case token_type::value_float:
                    {
                        const auto res = m_lexer.get_number_float();

                        if (JSON_HEDLEY_UNLIKELY(!std::isfinite(res)))
                        {
                            return sax->parse_error(m_lexer.get_position(),
                                                    m_lexer.get_token_string(),
                                                    out_of_range::create(406, concat("number overflow parsing '", m_lexer.get_token_string(), '\''), nullptr));
                        }

                        if (JSON_HEDLEY_UNLIKELY(!sax->number_float(res, m_lexer.get_string())))
                        {
                            return false;
                        }

                        break;
                    }

                    case token_type::literal_false:
                    {
                        if (JSON_HEDLEY_UNLIKELY(!sax->boolean(false)))
                        {
                            return false;
                        }
                        break;
                    }

                    case token_type::literal_null:
                    {
                        if (JSON_HEDLEY_UNLIKELY(!sax->null()))
                        {
                            return false;
                        }
                        break;
                    }

                    case token_type::literal_true:
                    {
                        if (JSON_HEDLEY_UNLIKELY(!sax->boolean(true)))
                        {
                            return false;
                        }
                        break;
                    }

                    case token_type::value_integer:
                    {
                        if (JSON_HEDLEY_UNLIKELY(!sax->number_integer(m_lexer.get_number_integer())))
                        {
                            return false;
                        }
                        break;
                    }

                    case token_type::value_string:
                    {
                        if (JSON_HEDLEY_UNLIKELY(!sax->string(m_lexer.get_string())))
                        {
                            return false;
                        }
                        break;
                    }

                    case token_type::value_unsigned:
                    {
                        if (JSON_HEDLEY_UNLIKELY(!sax->number_unsigned(m_lexer.get_number_unsigned())))
                        {
                            return false;
                        }
                        break;
                    }

                    case token_type::parse_error:
                    {
                        // using "uninitialized" to avoid "expected" message
                        return sax->parse_error(m_lexer.get_position(),
                                                m_lexer.get_token_string(),
                                                parse_error::create(101, m_lexer.get_position(), exception_message(token_type::uninitialized, "value"), nullptr));
                    }

                    case token_type::uninitialized:
                    case token_type::end_array:
                    case token_type::end_object:
                    case token_type::name_separator:
                    case token_type::value_separator:
                    case token_type::end_of_input:
                    case token_type::literal_or_value:
                    default: // the last token was unexpected
                    {
                        return sax->parse_error(m_lexer.get_position(),
                                                m_lexer.get_token_string(),
                                                parse_error::create(101, m_lexer.get_position(), exception_message(token_type::literal_or_value, "value"), nullptr));
                    }
                }
            }
            else
            {
                skip_to_state_evaluation = false;
            }

            // we reached this line after we successfully parsed a value
            if (states.empty())
            {
                // empty stack: we reached the end of the hierarchy: done
                return true;
            }

            if (states.back())  // array
            {
                // comma -> next value
                if (get_token() == token_type::value_separator)
                {
                    // parse a new value
                    get_token();
                    continue;
                }

                // closing ]
                if (JSON_HEDLEY_LIKELY(last_token == token_type::end_array))
                {
                    if (JSON_HEDLEY_UNLIKELY(!sax->end_array()))
                    {
                        return false;
                    }

                    // We are done with this array. Before we can parse a
                    // new value, we need to evaluate the new state first.
                    // By setting skip_to_state_evaluation to false, we
                    // are effectively jumping to the beginning of this if.
                    JSON_ASSERT(!states.empty());
                    states.pop_back();
                    skip_to_state_evaluation = true;
                    continue;
                }

                return sax->parse_error(m_lexer.get_position(),
                                        m_lexer.get_token_string(),
                                        parse_error::create(101, m_lexer.get_position(), exception_message(token_type::end_array, "array"), nullptr));
            }

            // states.back() is false -> object

            // comma -> next value
            if (get_token() == token_type::value_separator)
            {
                // parse key
                if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::value_string))
                {
                    return sax->parse_error(m_lexer.get_position(),
                                            m_lexer.get_token_string(),
                                            parse_error::create(101, m_lexer.get_position(), exception_message(token_type::value_string, "object key"), nullptr));
                }

                if (JSON_HEDLEY_UNLIKELY(!sax->key(m_lexer.get_string())))
                {
                    return false;
                }

                // parse separator (:)
                if (JSON_HEDLEY_UNLIKELY(get_token() != token_type::name_separator))
                {
                    return sax->parse_error(m_lexer.get_position(),
                                            m_lexer.get_token_string(),
                                            parse_error::create(101, m_lexer.get_position(), exception_message(token_type::name_separator, "object separator"), nullptr));
                }

                // parse values
                get_token();
                continue;
            }

            // closing }
            if (JSON_HEDLEY_LIKELY(last_token == token_type::end_object))
            {
                if (JSON_HEDLEY_UNLIKELY(!sax->end_object()))
                {
                    return false;
                }

                // We are done with this object. Before we can parse a
                // new value, we need to evaluate the new state first.
                // By setting skip_to_state_evaluation to false, we
                // are effectively jumping to the beginning of this if.
                JSON_ASSERT(!states.empty());
                states.pop_back();
                skip_to_state_evaluation = true;
                continue;
            }

            return sax->parse_error(m_lexer.get_position(),
                                    m_lexer.get_token_string(),
                                    parse_error::create(101, m_lexer.get_position(), exception_message(token_type::end_object, "object"), nullptr));
        }
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x930, %rsp            # imm = 0x930
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x718(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x11a040
movb $0x0, -0x41(%rbp)
jmp 0x11666d
testb $0x1, -0x41(%rbp)
jne 0x11742e
movq -0x718(%rbp), %rax
movl 0x20(%rax), %eax
movq %rax, -0x720(%rbp)
subq $0x10, %rax
ja 0x117255
movq -0x720(%rbp), %rax
leaq 0x2dcc4(%rip), %rcx     # 0x144364
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x18(%rbp), %rdi
movq $-0x1, %rsi
callq 0x11c010
movb %al, -0x721(%rbp)
jmp 0x1166c1
movb -0x721(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1166d3
jmp 0x1166f4
movb $0x0, -0x1(%rbp)
movl $0x1, -0x58(%rbp)
jmp 0x117e36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x117e4d
movq -0x718(%rbp), %rdi
callq 0x1144f0
movl %eax, -0x728(%rbp)
jmp 0x116708
movl -0x728(%rbp), %eax
cmpl $0xb, %eax
jne 0x11674b
movq -0x18(%rbp), %rdi
callq 0x11c220
movb %al, -0x729(%rbp)
jmp 0x116724
movb -0x729(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x116736
jmp 0x116746
movb $0x0, -0x1(%rbp)
movl $0x1, -0x58(%rbp)
jmp 0x117e36
jmp 0x11742c
movq -0x718(%rbp), %rax
cmpl $0x4, 0x20(%rax)
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x116766
jmp 0x11693a
movq -0x718(%rbp), %rsi
movq -0x18(%rbp), %rax
movq %rax, -0x748(%rbp)
addq $0x28, %rsi
leaq -0x70(%rbp), %rdi
movq %rdi, -0x740(%rbp)
callq 0x117ed0
movq -0x740(%rbp), %rdi
callq 0x117f00
movq %rax, -0x738(%rbp)
jmp 0x1167a1
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0x90(%rbp), %rdi
callq 0x117f20
jmp 0x1167ba
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0xd0(%rbp), %rdi
callq 0x117ed0
leaq -0x111(%rbp), %rdi
movq %rdi, -0x750(%rbp)
callq 0x52ca0
movq -0x750(%rbp), %rdx
leaq 0x2ff17(%rip), %rsi     # 0x146709
leaq -0x110(%rbp), %rdi
callq 0x529e0
jmp 0x116800
movq -0x718(%rbp), %rsi
leaq -0xf0(%rbp), %rdi
movl $0x4, %edx
leaq -0x110(%rbp), %rcx
callq 0x118280
jmp 0x116821
xorl %eax, %eax
movl %eax, %r8d
leaq -0xb8(%rbp), %rdi
movl $0x65, %esi
leaq -0xd0(%rbp), %rdx
leaq -0xf0(%rbp), %rcx
callq 0x118060
jmp 0x116847
movq -0x738(%rbp), %rsi
movq -0x748(%rbp), %rdi
leaq -0x90(%rbp), %rdx
leaq -0xb8(%rbp), %rcx
callq 0x117e60
movb %al, -0x751(%rbp)
jmp 0x116870
movb -0x751(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x118590
leaq -0xf0(%rbp), %rdi
callq 0x52e58
leaq -0x110(%rbp), %rdi
callq 0x52e58
leaq -0x111(%rbp), %rdi
callq 0x527d0
leaq -0x90(%rbp), %rdi
callq 0x52e58
movl $0x1, -0x58(%rbp)
jmp 0x117e36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x11691d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x116911
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x116905
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0x118590
leaq -0xf0(%rbp), %rdi
callq 0x52e58
leaq -0x110(%rbp), %rdi
callq 0x52e58
leaq -0x111(%rbp), %rdi
callq 0x527d0
leaq -0x90(%rbp), %rdi
callq 0x52e58
jmp 0x117e4d
movq -0x718(%rbp), %rdi
movq -0x18(%rbp), %rax
movq %rax, -0x768(%rbp)
addq $0x28, %rdi
callq 0x11c5f0
movq %rax, -0x760(%rbp)
jmp 0x11695e
movq -0x760(%rbp), %rsi
movq -0x768(%rbp), %rdi
callq 0x11c4b0
movb %al, -0x769(%rbp)
jmp 0x116979
movb -0x769(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x11698b
jmp 0x11699b
movb $0x0, -0x1(%rbp)
movl $0x1, -0x58(%rbp)
jmp 0x117e36
movq -0x718(%rbp), %rdi
callq 0x1144f0
movl %eax, -0x770(%rbp)
jmp 0x1169af
movl -0x770(%rbp), %eax
cmpl $0xc, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1169c8
jmp 0x116b9f
movq -0x718(%rbp), %rsi
movq -0x18(%rbp), %rax
movq %rax, -0x788(%rbp)
addq $0x28, %rsi
leaq -0x130(%rbp), %rdi
movq %rdi, -0x780(%rbp)
callq 0x117ed0
movq -0x780(%rbp), %rdi
callq 0x117f00
movq %rax, -0x778(%rbp)
jmp 0x116a06
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0x150(%rbp), %rdi
callq 0x117f20
jmp 0x116a1f
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0x190(%rbp), %rdi
callq 0x117ed0
leaq -0x1d1(%rbp), %rdi
movq %rdi, -0x790(%rbp)
callq 0x52ca0
movq -0x790(%rbp), %rdx
leaq 0x2fcbd(%rip), %rsi     # 0x146714
leaq -0x1d0(%rbp), %rdi
callq 0x529e0
jmp 0x116a65
movq -0x718(%rbp), %rsi
leaq -0x1b0(%rbp), %rdi
movl $0xc, %edx
leaq -0x1d0(%rbp), %rcx
callq 0x118280
jmp 0x116a86
xorl %eax, %eax
movl %eax, %r8d
leaq -0x178(%rbp), %rdi
movl $0x65, %esi
leaq -0x190(%rbp), %rdx
leaq -0x1b0(%rbp), %rcx
callq 0x118060
jmp 0x116aac
movq -0x778(%rbp), %rsi
movq -0x788(%rbp), %rdi
leaq -0x150(%rbp), %rdx
leaq -0x178(%rbp), %rcx
callq 0x117e60
movb %al, -0x791(%rbp)
jmp 0x116ad5
movb -0x791(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x118590
leaq -0x1b0(%rbp), %rdi
callq 0x52e58
leaq -0x1d0(%rbp), %rdi
callq 0x52e58
leaq -0x1d1(%rbp), %rdi
callq 0x527d0
leaq -0x150(%rbp), %rdi
callq 0x52e58
movl $0x1, -0x58(%rbp)
jmp 0x117e36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x116b82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x116b76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x116b6a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x178(%rbp), %rdi
callq 0x118590
leaq -0x1b0(%rbp), %rdi
callq 0x52e58
leaq -0x1d0(%rbp), %rdi
callq 0x52e58
leaq -0x1d1(%rbp), %rdi
callq 0x527d0
leaq -0x150(%rbp), %rdi
callq 0x52e58
jmp 0x117e4d
leaq -0x40(%rbp), %rdi
xorl %esi, %esi
callq 0x11a060
jmp 0x116bac
movq -0x718(%rbp), %rdi
callq 0x1144f0
jmp 0x116bba
jmp 0x11666b
movq -0x18(%rbp), %rdi
movq $-0x1, %rsi
callq 0x11c610
movb %al, -0x792(%rbp)
jmp 0x116bd7
movb -0x792(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x116be9
jmp 0x116bf9
movb $0x0, -0x1(%rbp)
movl $0x1, -0x58(%rbp)
jmp 0x117e36
movq -0x718(%rbp), %rdi
callq 0x1144f0
movl %eax, -0x798(%rbp)
jmp 0x116c0d
movl -0x798(%rbp), %eax
cmpl $0xa, %eax
jne 0x116c50
movq -0x18(%rbp), %rdi
callq 0x11c820
movb %al, -0x799(%rbp)
jmp 0x116c29
movb -0x799(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x116c3b
jmp 0x116c4b
movb $0x0, -0x1(%rbp)
movl $0x1, -0x58(%rbp)
jmp 0x117e36
jmp 0x11742c
leaq -0x40(%rbp), %rdi
movl $0x1, %esi
callq 0x11a060
jmp 0x116c60
jmp 0x11666b
movq -0x718(%rbp), %rdi
addq $0x28, %rdi
callq 0x11c9d0
movsd %xmm0, -0x1e0(%rbp)
movsd -0x1e0(%rbp), %xmm0
callq 0x11c9f0
movb %al, -0x79a(%rbp)
jmp 0x116c92
movb -0x79a(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x116ca7
jmp 0x116e3a
movq -0x718(%rbp), %rsi
movq -0x18(%rbp), %rax
movq %rax, -0x7b8(%rbp)
addq $0x28, %rsi
leaq -0x1f8(%rbp), %rdi
movq %rdi, -0x7b0(%rbp)
callq 0x117ed0
movq -0x7b0(%rbp), %rdi
callq 0x117f00
movq %rax, -0x7a8(%rbp)
jmp 0x116ce5
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0x218(%rbp), %rdi
callq 0x117f20
jmp 0x116cfe
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0x278(%rbp), %rdi
callq 0x117f20
jmp 0x116d17
movb $0x27, -0x279(%rbp)
leaq 0x2fa00(%rip), %rsi     # 0x146725
leaq -0x258(%rbp), %rdi
leaq -0x278(%rbp), %rdx
leaq -0x279(%rbp), %rcx
callq 0x11cc50
jmp 0x116d41
xorl %eax, %eax
movl %eax, %ecx
leaq -0x238(%rbp), %rdi
movl $0x196, %esi            # imm = 0x196
leaq -0x258(%rbp), %rdx
callq 0x11caa0
jmp 0x116d5f
movq -0x7a8(%rbp), %rsi
movq -0x7b8(%rbp), %rdi
leaq -0x218(%rbp), %rdx
leaq -0x238(%rbp), %rcx
callq 0x11ca30
movb %al, -0x7b9(%rbp)
jmp 0x116d88
movb -0x7b9(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x11cd00
leaq -0x258(%rbp), %rdi
callq 0x52e58
leaq -0x278(%rbp), %rdi
callq 0x52e58
leaq -0x218(%rbp), %rdi
callq 0x52e58
movl $0x1, -0x58(%rbp)
jmp 0x117e36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x116e29
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x116e1d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x116e11
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x238(%rbp), %rdi
callq 0x11cd00
leaq -0x258(%rbp), %rdi
callq 0x52e58
leaq -0x278(%rbp), %rdi
callq 0x52e58
leaq -0x218(%rbp), %rdi
callq 0x52e58
jmp 0x117e4d
movq -0x718(%rbp), %rdi
movq -0x18(%rbp), %rax
movq %rax, -0x7d8(%rbp)
movsd -0x1e0(%rbp), %xmm0
movsd %xmm0, -0x7d0(%rbp)
addq $0x28, %rdi
callq 0x11c5f0
movq %rax, -0x7c8(%rbp)
jmp 0x116e6e
movq -0x7c8(%rbp), %rsi
movsd -0x7d0(%rbp), %xmm0
movq -0x7d8(%rbp), %rdi
callq 0x11cd20
movb %al, -0x7d9(%rbp)
jmp 0x116e91
movb -0x7d9(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x116ea3
jmp 0x116eb3
movb $0x0, -0x1(%rbp)
movl $0x1, -0x58(%rbp)
jmp 0x117e36
jmp 0x11742c
movq -0x18(%rbp), %rdi
xorl %esi, %esi
callq 0x11cd60
movb %al, -0x7da(%rbp)
jmp 0x116ecb
movb -0x7da(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x116edd
jmp 0x116eed
movb $0x0, -0x1(%rbp)
movl $0x1, -0x58(%rbp)
jmp 0x117e36
jmp 0x11742c
movq -0x18(%rbp), %rdi
callq 0x11cda0
movb %al, -0x7db(%rbp)
jmp 0x116f03
movb -0x7db(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x116f15
jmp 0x116f25
movb $0x0, -0x1(%rbp)
movl $0x1, -0x58(%rbp)
jmp 0x117e36
jmp 0x11742c
movq -0x18(%rbp), %rdi
movl $0x1, %esi
callq 0x11cd60
movb %al, -0x7dc(%rbp)
jmp 0x116f40
movb -0x7dc(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x116f52
jmp 0x116f62
movb $0x0, -0x1(%rbp)
movl $0x1, -0x58(%rbp)
jmp 0x117e36
jmp 0x11742c
movq -0x718(%rbp), %rdi
movq -0x18(%rbp), %rax
movq %rax, -0x7e8(%rbp)
addq $0x28, %rdi
callq 0x11ce10
movq -0x7e8(%rbp), %rdi
movq %rax, %rsi
callq 0x11cde0
movb %al, -0x7dd(%rbp)
jmp 0x116f99
movb -0x7dd(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x116fab
jmp 0x116fbb
movb $0x0, -0x1(%rbp)
movl $0x1, -0x58(%rbp)
jmp 0x117e36
jmp 0x11742c
movq -0x718(%rbp), %rdi
movq -0x18(%rbp), %rax
movq %rax, -0x7f8(%rbp)
addq $0x28, %rdi
callq 0x11c5f0
movq %rax, -0x7f0(%rbp)
jmp 0x116fe4
movq -0x7f0(%rbp), %rsi
movq -0x7f8(%rbp), %rdi
callq 0x11ce30
movb %al, -0x7f9(%rbp)
jmp 0x116fff
movb -0x7f9(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x117011
jmp 0x117021
movb $0x0, -0x1(%rbp)
movl $0x1, -0x58(%rbp)
jmp 0x117e36
jmp 0x11742c
movq -0x718(%rbp), %rdi
movq -0x18(%rbp), %rax
movq %rax, -0x808(%rbp)
addq $0x28, %rdi
callq 0x11ce90
movq -0x808(%rbp), %rdi
movq %rax, %rsi
callq 0x11ce60
movb %al, -0x7fa(%rbp)
jmp 0x117058
movb -0x7fa(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x11706a
jmp 0x11707a
movb $0x0, -0x1(%rbp)
movl $0x1, -0x58(%rbp)
jmp 0x117e36
jmp 0x11742c
movq -0x718(%rbp), %rsi
movq -0x18(%rbp), %rax
movq %rax, -0x820(%rbp)
addq $0x28, %rsi
leaq -0x298(%rbp), %rdi
movq %rdi, -0x818(%rbp)
callq 0x117ed0
movq -0x818(%rbp), %rdi
callq 0x117f00
movq %rax, -0x810(%rbp)
jmp 0x1170bd
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0x2b8(%rbp), %rdi
callq 0x117f20
jmp 0x1170d6
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0x2f8(%rbp), %rdi
callq 0x117ed0
leaq -0x339(%rbp), %rdi
movq %rdi, -0x828(%rbp)
callq 0x52ca0
movq -0x828(%rbp), %rdx
leaq 0x281cc(%rip), %rsi     # 0x13f2da
leaq -0x338(%rbp), %rdi
callq 0x529e0
jmp 0x11711c
movq -0x718(%rbp), %rsi
leaq -0x318(%rbp), %rdi
xorl %edx, %edx
leaq -0x338(%rbp), %rcx
callq 0x118280
jmp 0x11713a
xorl %eax, %eax
movl %eax, %r8d
leaq -0x2e0(%rbp), %rdi
movl $0x65, %esi
leaq -0x2f8(%rbp), %rdx
leaq -0x318(%rbp), %rcx
callq 0x118060
jmp 0x117160
movq -0x810(%rbp), %rsi
movq -0x820(%rbp), %rdi
leaq -0x2b8(%rbp), %rdx
leaq -0x2e0(%rbp), %rcx
callq 0x117e60
movb %al, -0x829(%rbp)
jmp 0x117189
movb -0x829(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0x118590
leaq -0x318(%rbp), %rdi
callq 0x52e58
leaq -0x338(%rbp), %rdi
callq 0x52e58
leaq -0x339(%rbp), %rdi
callq 0x527d0
leaq -0x2b8(%rbp), %rdi
callq 0x52e58
movl $0x1, -0x58(%rbp)
jmp 0x117e36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x117236
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x11722a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x11721e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0x118590
leaq -0x318(%rbp), %rdi
callq 0x52e58
leaq -0x338(%rbp), %rdi
callq 0x52e58
leaq -0x339(%rbp), %rdi
callq 0x527d0
leaq -0x2b8(%rbp), %rdi
callq 0x52e58
jmp 0x117e4d
jmp 0x117255
movq -0x718(%rbp), %rsi
movq -0x18(%rbp), %rax
movq %rax, -0x848(%rbp)
addq $0x28, %rsi
leaq -0x358(%rbp), %rdi
movq %rdi, -0x840(%rbp)
callq 0x117ed0
movq -0x840(%rbp), %rdi
callq 0x117f00
movq %rax, -0x838(%rbp)
jmp 0x117293
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0x378(%rbp), %rdi
callq 0x117f20
jmp 0x1172ac
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0x3b8(%rbp), %rdi
callq 0x117ed0
leaq -0x3f9(%rbp), %rdi
movq %rdi, -0x850(%rbp)
callq 0x52ca0
movq -0x850(%rbp), %rdx
leaq 0x27ff6(%rip), %rsi     # 0x13f2da
leaq -0x3f8(%rbp), %rdi
callq 0x529e0
jmp 0x1172f2
movq -0x718(%rbp), %rsi
leaq -0x3d8(%rbp), %rdi
movl $0x10, %edx
leaq -0x3f8(%rbp), %rcx
callq 0x118280
jmp 0x117313
xorl %eax, %eax
movl %eax, %r8d
leaq -0x3a0(%rbp), %rdi
movl $0x65, %esi
leaq -0x3b8(%rbp), %rdx
leaq -0x3d8(%rbp), %rcx
callq 0x118060
jmp 0x117339
movq -0x838(%rbp), %rsi
movq -0x848(%rbp), %rdi
leaq -0x378(%rbp), %rdx
leaq -0x3a0(%rbp), %rcx
callq 0x117e60
movb %al, -0x851(%rbp)
jmp 0x117362
movb -0x851(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0x118590
leaq -0x3d8(%rbp), %rdi
callq 0x52e58
leaq -0x3f8(%rbp), %rdi
callq 0x52e58
leaq -0x3f9(%rbp), %rdi
callq 0x527d0
leaq -0x378(%rbp), %rdi
callq 0x52e58
movl $0x1, -0x58(%rbp)
jmp 0x117e36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x11740f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x117403
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x1173f7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x3a0(%rbp), %rdi
callq 0x118590
leaq -0x3d8(%rbp), %rdi
callq 0x52e58
leaq -0x3f8(%rbp), %rdi
callq 0x52e58
leaq -0x3f9(%rbp), %rdi
callq 0x527d0
leaq -0x378(%rbp), %rdi
callq 0x52e58
jmp 0x117e4d
jmp 0x117432
movb $0x0, -0x41(%rbp)
leaq -0x40(%rbp), %rdi
callq 0x11ceb0
testb $0x1, %al
jne 0x117441
jmp 0x117451
movb $0x1, -0x1(%rbp)
movl $0x1, -0x58(%rbp)
jmp 0x117e36
leaq -0x40(%rbp), %rdi
callq 0x11cf30
movq %rdx, -0x868(%rbp)
movq %rax, -0x860(%rbp)
jmp 0x11746a
movq -0x868(%rbp), %rax
movq -0x860(%rbp), %rcx
movq %rcx, -0x410(%rbp)
movq %rax, -0x408(%rbp)
leaq -0x410(%rbp), %rdi
callq 0x11b1c0
testb $0x1, %al
jne 0x11749b
jmp 0x117735
movq -0x718(%rbp), %rdi
callq 0x1144f0
movl %eax, -0x86c(%rbp)
jmp 0x1174af
movl -0x86c(%rbp), %eax
cmpl $0xd, %eax
jne 0x1174cd
movq -0x718(%rbp), %rdi
callq 0x1144f0
jmp 0x1174c8
jmp 0x11666b
movq -0x718(%rbp), %rax
cmpl $0xa, 0x20(%rax)
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1174e5
jmp 0x11755e
movq -0x18(%rbp), %rdi
callq 0x11c820
movb %al, -0x86d(%rbp)
jmp 0x1174f6
movb -0x86d(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x117508
jmp 0x117518
movb $0x0, -0x1(%rbp)
movl $0x1, -0x58(%rbp)
jmp 0x117e36
leaq -0x40(%rbp), %rdi
callq 0x11ceb0
xorb $-0x1, %al
testb $0x1, %al
jne 0x117529
jmp 0x11752b
jmp 0x11754a
leaq 0x2f20d(%rip), %rdi     # 0x14673f
leaq 0x2d3ad(%rip), %rsi     # 0x1448e6
movl $0x30d0, %edx           # imm = 0x30D0
leaq 0x2f20a(%rip), %rcx     # 0x14674f
callq 0x524b0
leaq -0x40(%rbp), %rdi
callq 0x11cfa0
jmp 0x117555
movb $0x1, -0x41(%rbp)
jmp 0x11666b
movq -0x718(%rbp), %rsi
movq -0x18(%rbp), %rax
movq %rax, -0x888(%rbp)
addq $0x28, %rsi
leaq -0x428(%rbp), %rdi
movq %rdi, -0x880(%rbp)
callq 0x117ed0
movq -0x880(%rbp), %rdi
callq 0x117f00
movq %rax, -0x878(%rbp)
jmp 0x11759c
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0x448(%rbp), %rdi
callq 0x117f20
jmp 0x1175b5
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0x488(%rbp), %rdi
callq 0x117ed0
leaq -0x4c9(%rbp), %rdi
movq %rdi, -0x890(%rbp)
callq 0x52ca0
movq -0x890(%rbp), %rdx
leaq 0x32d2b(%rip), %rsi     # 0x14a318
leaq -0x4c8(%rbp), %rdi
callq 0x529e0
jmp 0x1175fb
movq -0x718(%rbp), %rsi
leaq -0x4a8(%rbp), %rdi
movl $0xa, %edx
leaq -0x4c8(%rbp), %rcx
callq 0x118280
jmp 0x11761c
xorl %eax, %eax
movl %eax, %r8d
leaq -0x470(%rbp), %rdi
movl $0x65, %esi
leaq -0x488(%rbp), %rdx
leaq -0x4a8(%rbp), %rcx
callq 0x118060
jmp 0x117642
movq -0x878(%rbp), %rsi
movq -0x888(%rbp), %rdi
leaq -0x448(%rbp), %rdx
leaq -0x470(%rbp), %rcx
callq 0x117e60
movb %al, -0x891(%rbp)
jmp 0x11766b
movb -0x891(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0x470(%rbp), %rdi
callq 0x118590
leaq -0x4a8(%rbp), %rdi
callq 0x52e58
leaq -0x4c8(%rbp), %rdi
callq 0x52e58
leaq -0x4c9(%rbp), %rdi
callq 0x527d0
leaq -0x448(%rbp), %rdi
callq 0x52e58
movl $0x1, -0x58(%rbp)
jmp 0x117e36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x117718
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x11770c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x117700
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x470(%rbp), %rdi
callq 0x118590
leaq -0x4a8(%rbp), %rdi
callq 0x52e58
leaq -0x4c8(%rbp), %rdi
callq 0x52e58
leaq -0x4c9(%rbp), %rdi
callq 0x527d0
leaq -0x448(%rbp), %rdi
callq 0x52e58
jmp 0x117e4d
movq -0x718(%rbp), %rdi
callq 0x1144f0
movl %eax, -0x898(%rbp)
jmp 0x117749
movl -0x898(%rbp), %eax
cmpl $0xd, %eax
jne 0x117bd4
movq -0x718(%rbp), %rdi
callq 0x1144f0
movl %eax, -0x89c(%rbp)
jmp 0x11776c
movl -0x89c(%rbp), %eax
cmpl $0x4, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x117785
jmp 0x11795c
movq -0x718(%rbp), %rsi
movq -0x18(%rbp), %rax
movq %rax, -0x8b8(%rbp)
addq $0x28, %rsi
leaq -0x4e8(%rbp), %rdi
movq %rdi, -0x8b0(%rbp)
callq 0x117ed0
movq -0x8b0(%rbp), %rdi
callq 0x117f00
movq %rax, -0x8a8(%rbp)
jmp 0x1177c3
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0x508(%rbp), %rdi
callq 0x117f20
jmp 0x1177dc
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0x548(%rbp), %rdi
callq 0x117ed0
leaq -0x589(%rbp), %rdi
movq %rdi, -0x8c0(%rbp)
callq 0x52ca0
movq -0x8c0(%rbp), %rdx
leaq 0x2eef5(%rip), %rsi     # 0x146709
leaq -0x588(%rbp), %rdi
callq 0x529e0
jmp 0x117822
movq -0x718(%rbp), %rsi
leaq -0x568(%rbp), %rdi
movl $0x4, %edx
leaq -0x588(%rbp), %rcx
callq 0x118280
jmp 0x117843
xorl %eax, %eax
movl %eax, %r8d
leaq -0x530(%rbp), %rdi
movl $0x65, %esi
leaq -0x548(%rbp), %rdx
leaq -0x568(%rbp), %rcx
callq 0x118060
jmp 0x117869
movq -0x8a8(%rbp), %rsi
movq -0x8b8(%rbp), %rdi
leaq -0x508(%rbp), %rdx
leaq -0x530(%rbp), %rcx
callq 0x117e60
movb %al, -0x8c1(%rbp)
jmp 0x117892
movb -0x8c1(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0x530(%rbp), %rdi
callq 0x118590
leaq -0x568(%rbp), %rdi
callq 0x52e58
leaq -0x588(%rbp), %rdi
callq 0x52e58
leaq -0x589(%rbp), %rdi
callq 0x527d0
leaq -0x508(%rbp), %rdi
callq 0x52e58
movl $0x1, -0x58(%rbp)
jmp 0x117e36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x11793f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x117933
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x117927
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x530(%rbp), %rdi
callq 0x118590
leaq -0x568(%rbp), %rdi
callq 0x52e58
leaq -0x588(%rbp), %rdi
callq 0x52e58
leaq -0x589(%rbp), %rdi
callq 0x527d0
leaq -0x508(%rbp), %rdi
callq 0x52e58
jmp 0x117e4d
movq -0x718(%rbp), %rdi
movq -0x18(%rbp), %rax
movq %rax, -0x8d8(%rbp)
addq $0x28, %rdi
callq 0x11c5f0
movq %rax, -0x8d0(%rbp)
jmp 0x117980
movq -0x8d0(%rbp), %rsi
movq -0x8d8(%rbp), %rdi
callq 0x11c4b0
movb %al, -0x8d9(%rbp)
jmp 0x11799b
movb -0x8d9(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1179ad
jmp 0x1179bd
movb $0x0, -0x1(%rbp)
movl $0x1, -0x58(%rbp)
jmp 0x117e36
movq -0x718(%rbp), %rdi
callq 0x1144f0
movl %eax, -0x8e0(%rbp)
jmp 0x1179d1
movl -0x8e0(%rbp), %eax
cmpl $0xc, %eax
setne %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x1179ea
jmp 0x117bc1
movq -0x718(%rbp), %rsi
movq -0x18(%rbp), %rax
movq %rax, -0x8f8(%rbp)
addq $0x28, %rsi
leaq -0x5a8(%rbp), %rdi
movq %rdi, -0x8f0(%rbp)
callq 0x117ed0
movq -0x8f0(%rbp), %rdi
callq 0x117f00
movq %rax, -0x8e8(%rbp)
jmp 0x117a28
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0x5c8(%rbp), %rdi
callq 0x117f20
jmp 0x117a41
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0x608(%rbp), %rdi
callq 0x117ed0
leaq -0x649(%rbp), %rdi
movq %rdi, -0x900(%rbp)
callq 0x52ca0
movq -0x900(%rbp), %rdx
leaq 0x2ec9b(%rip), %rsi     # 0x146714
leaq -0x648(%rbp), %rdi
callq 0x529e0
jmp 0x117a87
movq -0x718(%rbp), %rsi
leaq -0x628(%rbp), %rdi
movl $0xc, %edx
leaq -0x648(%rbp), %rcx
callq 0x118280
jmp 0x117aa8
xorl %eax, %eax
movl %eax, %r8d
leaq -0x5f0(%rbp), %rdi
movl $0x65, %esi
leaq -0x608(%rbp), %rdx
leaq -0x628(%rbp), %rcx
callq 0x118060
jmp 0x117ace
movq -0x8e8(%rbp), %rsi
movq -0x8f8(%rbp), %rdi
leaq -0x5c8(%rbp), %rdx
leaq -0x5f0(%rbp), %rcx
callq 0x117e60
movb %al, -0x901(%rbp)
jmp 0x117af7
movb -0x901(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0x5f0(%rbp), %rdi
callq 0x118590
leaq -0x628(%rbp), %rdi
callq 0x52e58
leaq -0x648(%rbp), %rdi
callq 0x52e58
leaq -0x649(%rbp), %rdi
callq 0x527d0
leaq -0x5c8(%rbp), %rdi
callq 0x52e58
movl $0x1, -0x58(%rbp)
jmp 0x117e36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x117ba4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x117b98
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x117b8c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x5f0(%rbp), %rdi
callq 0x118590
leaq -0x628(%rbp), %rdi
callq 0x52e58
leaq -0x648(%rbp), %rdi
callq 0x52e58
leaq -0x649(%rbp), %rdi
callq 0x527d0
leaq -0x5c8(%rbp), %rdi
callq 0x52e58
jmp 0x117e4d
movq -0x718(%rbp), %rdi
callq 0x1144f0
jmp 0x117bcf
jmp 0x11666b
movq -0x718(%rbp), %rax
cmpl $0xb, 0x20(%rax)
sete %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x117bec
jmp 0x117c65
movq -0x18(%rbp), %rdi
callq 0x11c220
movb %al, -0x902(%rbp)
jmp 0x117bfd
movb -0x902(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x117c0f
jmp 0x117c1f
movb $0x0, -0x1(%rbp)
movl $0x1, -0x58(%rbp)
jmp 0x117e36
leaq -0x40(%rbp), %rdi
callq 0x11ceb0
xorb $-0x1, %al
testb $0x1, %al
jne 0x117c30
jmp 0x117c32
jmp 0x117c51
leaq 0x2eb06(%rip), %rdi     # 0x14673f
leaq 0x2cca6(%rip), %rsi     # 0x1448e6
movl $0x3106, %edx           # imm = 0x3106
leaq 0x2eb03(%rip), %rcx     # 0x14674f
callq 0x524b0
leaq -0x40(%rbp), %rdi
callq 0x11cfa0
jmp 0x117c5c
movb $0x1, -0x41(%rbp)
jmp 0x11666b
movq -0x718(%rbp), %rsi
movq -0x18(%rbp), %rax
movq %rax, -0x920(%rbp)
addq $0x28, %rsi
leaq -0x668(%rbp), %rdi
movq %rdi, -0x918(%rbp)
callq 0x117ed0
movq -0x918(%rbp), %rdi
callq 0x117f00
movq %rax, -0x910(%rbp)
jmp 0x117ca3
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0x688(%rbp), %rdi
callq 0x117f20
jmp 0x117cbc
movq -0x718(%rbp), %rsi
addq $0x28, %rsi
leaq -0x6c8(%rbp), %rdi
callq 0x117ed0
leaq -0x709(%rbp), %rdi
movq %rdi, -0x928(%rbp)
callq 0x52ca0
movq -0x928(%rbp), %rdx
leaq 0x2eba6(%rip), %rsi     # 0x14689a
leaq -0x708(%rbp), %rdi
callq 0x529e0
jmp 0x117d02
movq -0x718(%rbp), %rsi
leaq -0x6e8(%rbp), %rdi
movl $0xb, %edx
leaq -0x708(%rbp), %rcx
callq 0x118280
jmp 0x117d23
xorl %eax, %eax
movl %eax, %r8d
leaq -0x6b0(%rbp), %rdi
movl $0x65, %esi
leaq -0x6c8(%rbp), %rdx
leaq -0x6e8(%rbp), %rcx
callq 0x118060
jmp 0x117d49
movq -0x910(%rbp), %rsi
movq -0x920(%rbp), %rdi
leaq -0x688(%rbp), %rdx
leaq -0x6b0(%rbp), %rcx
callq 0x117e60
movb %al, -0x929(%rbp)
jmp 0x117d72
movb -0x929(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0x6b0(%rbp), %rdi
callq 0x118590
leaq -0x6e8(%rbp), %rdi
callq 0x52e58
leaq -0x708(%rbp), %rdi
callq 0x52e58
leaq -0x709(%rbp), %rdi
callq 0x527d0
leaq -0x688(%rbp), %rdi
callq 0x52e58
movl $0x1, -0x58(%rbp)
jmp 0x117e36
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x117e1c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x117e10
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
jmp 0x117e04
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x50(%rbp)
movl %eax, -0x54(%rbp)
leaq -0x6b0(%rbp), %rdi
callq 0x118590
leaq -0x6e8(%rbp), %rdi
callq 0x52e58
leaq -0x708(%rbp), %rdi
callq 0x52e58
leaq -0x709(%rbp), %rdi
callq 0x527d0
leaq -0x688(%rbp), %rdi
callq 0x52e58
jmp 0x117e4d
leaq -0x40(%rbp), %rdi
callq 0x11a130
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0x930, %rsp            # imm = 0x930
popq %rbp
retq
leaq -0x40(%rbp), %rdi
callq 0x11a130
movq -0x50(%rbp), %rdi
callq 0x52c90
nop