// File: oknenavin[P]cxon/test/../src/cxon/lang/common/cio/string.hxx
// Function: std::enable_if<!has_traits<cxon::JSON<cxon::cio::key::quoted_traits<cxon::cxcf::format_traits>>, cxon::cio::str::raw_traits>::value, bool>::type cxon::cio::str::imp::imp::string_read_tail_<cxon::JSON<cxon::cio::key::quoted_traits<cxon::cxcf::format_traits>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, char const*, cxon::context<cxon::JSON<cxon::cxcf::format_traits>>, char>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, char const*&, char const*, cxon::context<cxon::JSON<cxon::cxcf::format_traits>>&)
inline auto string_read_tail_(C& c, II& i, II e, Cx& cx)
                    -> enable_if_t<!has_traits<X, str::raw_traits>::value, bool>
                {
                    II l = i;
                        constexpr bool HANDLE_ESCAPES = is_unquoted_key_context<X>::value || !X::assume_no_escapes;
                        for ( ; i != e; ++i) {
                            if (HANDLE_ESCAPES && *i == '\\') {
                                if (l != i && !cxon::cnt::append(c, l, i))
                                    return rewind(i, l), cx/X::read_error::overflow;
                                CXON_IF_CONSTEXPR (is_unquoted_key_context<X>::value) {
                                    II const f = i;
                                        if (++i != e && *i == X::string::del)
                                            return ++i, true;
                                    i = f;
                                }
                                II const o = i;
                                    char32_t const c32 = chr::esc_to_utf32<X>(++i, e, cx);
                                        if (c32 == chr::bad_utf32) return rewind(i, o), false;
                                    if (!char_append_(c, c32))
                                        return rewind(i, o), cx/X::read_error::overflow;
                                l = i, --i;
                            }
                            else {
                                CXON_IF_CONSTEXPR (!is_unquoted_key_context<X>::value) {
                                    if (delim_en_check<X>(*i)) {
                                        if (l == i || cxon::cnt::append(c, l, i))
                                            return delim_en_read<X>(i, e);
                                        return rewind(i, l), cx/X::read_error::overflow;
                                    }
                                }
                                CXON_IF_CONSTEXPR (X::validate_string_encoding) {
                                    if ((unsigned char)*i > 0x7F) {
                                        auto bs = chr::utf8_check(i, e);
                                        if (bs == 0)
                                            return cx/X::read_error::character_invalid;
                                        while ((bs = chr::utf8_check(i += bs, e)))
                                            ;
                                        --i;
                                    }
                                    else CXON_IF_CONSTEXPR (X::validate_string_escapes) {
                                        if (chr::is<X>::ctrl(*i))
                                            return cx/X::read_error::unexpected;
                                    }
                                }
                                else CXON_IF_CONSTEXPR (X::validate_string_escapes) {
                                    if (chr::is<X>::ctrl(*i))
                                        return cx/X::read_error::unexpected;
                                }
                            }
                        }
                    return cx/X::read_error::unexpected;
                }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa0, %rsp
movq %rdi, -0x60(%rbp)
movq %rsi, -0x68(%rbp)
movq %rdx, -0x70(%rbp)
movq %rcx, -0x78(%rbp)
movq -0x68(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x80(%rbp)
movb $0x1, -0x81(%rbp)
movq -0x68(%rbp), %rax
movq (%rax), %rax
cmpq -0x70(%rbp), %rax
je 0x14f27
movq -0x68(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
cmpl $0x5c, %eax
jne 0x14575
movq -0x80(%rbp), %rax
movq -0x68(%rbp), %rcx
cmpq (%rcx), %rax
je 0x144cb
movq -0x60(%rbp), %rdi
movq -0x80(%rbp), %rsi
movq -0x68(%rbp), %rax
movq (%rax), %rdx
callq 0x14f50
testb $0x1, %al
jne 0x144cb
movq -0x68(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x12050
movq -0x78(%rbp), %rdi
movl $0x8, %esi
callq 0x12080
andb $0x1, %al
movb %al, -0x51(%rbp)
jmp 0x14f3a
movq -0x68(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x90(%rbp)
movq -0x68(%rbp), %rdi
movq (%rdi), %rax
addq $0x1, %rax
movq %rax, (%rdi)
movq -0x70(%rbp), %rsi
movq -0x78(%rbp), %rdx
callq 0x14f80
movl %eax, -0x94(%rbp)
cmpl $-0x1, -0x94(%rbp)
jne 0x1451c
movq -0x68(%rbp), %rdi
movq -0x90(%rbp), %rsi
callq 0x12050
movb $0x0, -0x51(%rbp)
jmp 0x14f3a
movq -0x60(%rbp), %rdi
movl -0x94(%rbp), %esi
callq 0x150a0
testb $0x1, %al
jne 0x14557
movq -0x68(%rbp), %rdi
movq -0x90(%rbp), %rsi
callq 0x12050
movq -0x78(%rbp), %rdi
movl $0x8, %esi
callq 0x12080
andb $0x1, %al
movb %al, -0x51(%rbp)
jmp 0x14f3a
movq -0x68(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x80(%rbp)
movq -0x68(%rbp), %rax
movq (%rax), %rcx
addq $-0x1, %rcx
movq %rcx, (%rax)
jmp 0x14f12
movq -0x68(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %edi
callq 0x150f0
testb $0x1, %al
jne 0x1458a
jmp 0x145ed
movq -0x80(%rbp), %rax
movq -0x68(%rbp), %rcx
cmpq (%rcx), %rax
je 0x145b1
movq -0x60(%rbp), %rdi
movq -0x80(%rbp), %rsi
movq -0x68(%rbp), %rax
movq (%rax), %rdx
callq 0x14f50
testb $0x1, %al
jne 0x145b1
jmp 0x145c8
movq -0x68(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0x15130
andb $0x1, %al
movb %al, -0x51(%rbp)
jmp 0x14f3a
movq -0x68(%rbp), %rdi
movq -0x80(%rbp), %rsi
callq 0x12050
movq -0x78(%rbp), %rdi
movl $0x8, %esi
callq 0x12080
andb $0x1, %al
movb %al, -0x51(%rbp)
jmp 0x14f3a
movq -0x68(%rbp), %rax
movq (%rax), %rax
movzbl (%rax), %eax
cmpl $0x7f, %eax
jle 0x14ee4
movq -0x68(%rbp), %rax
movq (%rax), %rcx
movq -0x70(%rbp), %rax
movq %rcx, -0x10(%rbp)
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movzbl (%rax), %eax
movl %eax, -0x1c(%rbp)
cmpl $0xe0, -0x1c(%rbp)
jae 0x1468d
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
subq %rcx, %rax
cmpq $0x2, %rax
jge 0x14643
movl $0x0, -0x4(%rbp)
jmp 0x14a43
cmpl $0xc2, -0x1c(%rbp)
jb 0x14688
cmpl $0xdf, -0x1c(%rbp)
ja 0x14688
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157b0
movzbl %al, %eax
movl %eax, -0x20(%rbp)
cmpl $0x80, -0x20(%rbp)
jb 0x14686
cmpl $0xbf, -0x20(%rbp)
ja 0x14686
movl $0x2, -0x4(%rbp)
jmp 0x14a43
jmp 0x14688
jmp 0x14a3c
cmpl $0xf0, -0x1c(%rbp)
jae 0x1485e
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
subq %rcx, %rax
cmpq $0x3, %rax
jge 0x146b7
movl $0x0, -0x4(%rbp)
jmp 0x14a43
cmpl $0xe0, -0x1c(%rbp)
jne 0x1471b
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157b0
movzbl %al, %eax
movl %eax, -0x20(%rbp)
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x24(%rbp)
cmpl $0xa0, -0x20(%rbp)
jb 0x14716
cmpl $0xbf, -0x20(%rbp)
ja 0x14716
cmpl $0x80, -0x24(%rbp)
jb 0x14716
cmpl $0xbf, -0x24(%rbp)
ja 0x14716
movl $0x3, -0x4(%rbp)
jmp 0x14a43
jmp 0x14859
cmpl $0xe1, -0x1c(%rbp)
jb 0x14788
cmpl $0xec, -0x1c(%rbp)
ja 0x14788
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157b0
movzbl %al, %eax
movl %eax, -0x20(%rbp)
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x24(%rbp)
cmpl $0x80, -0x20(%rbp)
jb 0x14783
cmpl $0xbf, -0x20(%rbp)
ja 0x14783
cmpl $0x80, -0x24(%rbp)
jb 0x14783
cmpl $0xbf, -0x24(%rbp)
ja 0x14783
movl $0x3, -0x4(%rbp)
jmp 0x14a43
jmp 0x14857
cmpl $0xed, -0x1c(%rbp)
jne 0x147e9
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157b0
movzbl %al, %eax
movl %eax, -0x20(%rbp)
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x24(%rbp)
cmpl $0x80, -0x20(%rbp)
jb 0x147e7
cmpl $0x9f, -0x20(%rbp)
ja 0x147e7
cmpl $0x80, -0x24(%rbp)
jb 0x147e7
cmpl $0xbf, -0x24(%rbp)
ja 0x147e7
movl $0x3, -0x4(%rbp)
jmp 0x14a43
jmp 0x14855
cmpl $0xee, -0x1c(%rbp)
jb 0x14853
cmpl $0xef, -0x1c(%rbp)
ja 0x14853
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157b0
movzbl %al, %eax
movl %eax, -0x20(%rbp)
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x24(%rbp)
cmpl $0x80, -0x20(%rbp)
jb 0x14851
cmpl $0xbf, -0x20(%rbp)
ja 0x14851
cmpl $0x80, -0x24(%rbp)
jb 0x14851
cmpl $0xbf, -0x24(%rbp)
ja 0x14851
movl $0x3, -0x4(%rbp)
jmp 0x14a43
jmp 0x14853
jmp 0x14855
jmp 0x14857
jmp 0x14859
jmp 0x14a3a
cmpl $0xf8, -0x1c(%rbp)
jae 0x14a38
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
subq %rcx, %rax
cmpq $0x4, %rax
jge 0x14888
movl $0x0, -0x4(%rbp)
jmp 0x14a43
cmpl $0xf0, -0x1c(%rbp)
jne 0x14915
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157b0
movzbl %al, %eax
movl %eax, -0x20(%rbp)
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x24(%rbp)
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x28(%rbp)
cmpl $0x90, -0x20(%rbp)
jb 0x14910
cmpl $0xbf, -0x20(%rbp)
ja 0x14910
cmpl $0x80, -0x24(%rbp)
jb 0x14910
cmpl $0xbf, -0x24(%rbp)
ja 0x14910
cmpl $0x80, -0x28(%rbp)
jb 0x14910
cmpl $0xbf, -0x28(%rbp)
ja 0x14910
movl $0x4, -0x4(%rbp)
jmp 0x14a43
jmp 0x14a36
cmpl $0xf1, -0x1c(%rbp)
jb 0x149af
cmpl $0xf3, -0x1c(%rbp)
ja 0x149af
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157b0
movzbl %al, %eax
movl %eax, -0x20(%rbp)
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x24(%rbp)
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x28(%rbp)
cmpl $0x80, -0x20(%rbp)
jb 0x149aa
cmpl $0xbf, -0x20(%rbp)
ja 0x149aa
cmpl $0x80, -0x24(%rbp)
jb 0x149aa
cmpl $0xbf, -0x24(%rbp)
ja 0x149aa
cmpl $0x80, -0x28(%rbp)
jb 0x149aa
cmpl $0xbf, -0x28(%rbp)
ja 0x149aa
movl $0x4, -0x4(%rbp)
jmp 0x14a43
jmp 0x14a34
cmpl $0xf4, -0x1c(%rbp)
jne 0x14a32
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157b0
movzbl %al, %eax
movl %eax, -0x20(%rbp)
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x24(%rbp)
movq -0x18(%rbp), %rsi
leaq -0x10(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x28(%rbp)
cmpl $0x80, -0x20(%rbp)
jb 0x14a30
cmpl $0x8f, -0x20(%rbp)
ja 0x14a30
cmpl $0x80, -0x24(%rbp)
jb 0x14a30
cmpl $0xbf, -0x24(%rbp)
ja 0x14a30
cmpl $0x80, -0x28(%rbp)
jb 0x14a30
cmpl $0xbf, -0x28(%rbp)
ja 0x14a30
movl $0x4, -0x4(%rbp)
jmp 0x14a43
jmp 0x14a32
jmp 0x14a34
jmp 0x14a36
jmp 0x14a38
jmp 0x14a3a
jmp 0x14a3c
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
movl %eax, -0x98(%rbp)
cmpl $0x0, -0x98(%rbp)
jne 0x14a6d
movq -0x78(%rbp), %rdi
movl $0x2, %esi
callq 0x12080
andb $0x1, %al
movb %al, -0x51(%rbp)
jmp 0x14f3a
jmp 0x14a6f
movl -0x98(%rbp), %edx
movq -0x68(%rbp), %rax
movq (%rax), %rcx
movslq %edx, %rdx
addq %rdx, %rcx
movq %rcx, (%rax)
movq -0x70(%rbp), %rax
movq %rcx, -0x38(%rbp)
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rax
movzbl (%rax), %eax
movl %eax, -0x44(%rbp)
cmpl $0xe0, -0x44(%rbp)
jae 0x14b0b
movq -0x40(%rbp), %rax
movq -0x38(%rbp), %rcx
subq %rcx, %rax
cmpq $0x2, %rax
jge 0x14ac1
movl $0x0, -0x2c(%rbp)
jmp 0x14ec1
cmpl $0xc2, -0x44(%rbp)
jb 0x14b06
cmpl $0xdf, -0x44(%rbp)
ja 0x14b06
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157b0
movzbl %al, %eax
movl %eax, -0x48(%rbp)
cmpl $0x80, -0x48(%rbp)
jb 0x14b04
cmpl $0xbf, -0x48(%rbp)
ja 0x14b04
movl $0x2, -0x2c(%rbp)
jmp 0x14ec1
jmp 0x14b06
jmp 0x14eba
cmpl $0xf0, -0x44(%rbp)
jae 0x14cdc
movq -0x40(%rbp), %rax
movq -0x38(%rbp), %rcx
subq %rcx, %rax
cmpq $0x3, %rax
jge 0x14b35
movl $0x0, -0x2c(%rbp)
jmp 0x14ec1
cmpl $0xe0, -0x44(%rbp)
jne 0x14b99
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157b0
movzbl %al, %eax
movl %eax, -0x48(%rbp)
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x4c(%rbp)
cmpl $0xa0, -0x48(%rbp)
jb 0x14b94
cmpl $0xbf, -0x48(%rbp)
ja 0x14b94
cmpl $0x80, -0x4c(%rbp)
jb 0x14b94
cmpl $0xbf, -0x4c(%rbp)
ja 0x14b94
movl $0x3, -0x2c(%rbp)
jmp 0x14ec1
jmp 0x14cd7
cmpl $0xe1, -0x44(%rbp)
jb 0x14c06
cmpl $0xec, -0x44(%rbp)
ja 0x14c06
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157b0
movzbl %al, %eax
movl %eax, -0x48(%rbp)
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x4c(%rbp)
cmpl $0x80, -0x48(%rbp)
jb 0x14c01
cmpl $0xbf, -0x48(%rbp)
ja 0x14c01
cmpl $0x80, -0x4c(%rbp)
jb 0x14c01
cmpl $0xbf, -0x4c(%rbp)
ja 0x14c01
movl $0x3, -0x2c(%rbp)
jmp 0x14ec1
jmp 0x14cd5
cmpl $0xed, -0x44(%rbp)
jne 0x14c67
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157b0
movzbl %al, %eax
movl %eax, -0x48(%rbp)
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x4c(%rbp)
cmpl $0x80, -0x48(%rbp)
jb 0x14c65
cmpl $0x9f, -0x48(%rbp)
ja 0x14c65
cmpl $0x80, -0x4c(%rbp)
jb 0x14c65
cmpl $0xbf, -0x4c(%rbp)
ja 0x14c65
movl $0x3, -0x2c(%rbp)
jmp 0x14ec1
jmp 0x14cd3
cmpl $0xee, -0x44(%rbp)
jb 0x14cd1
cmpl $0xef, -0x44(%rbp)
ja 0x14cd1
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157b0
movzbl %al, %eax
movl %eax, -0x48(%rbp)
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x4c(%rbp)
cmpl $0x80, -0x48(%rbp)
jb 0x14ccf
cmpl $0xbf, -0x48(%rbp)
ja 0x14ccf
cmpl $0x80, -0x4c(%rbp)
jb 0x14ccf
cmpl $0xbf, -0x4c(%rbp)
ja 0x14ccf
movl $0x3, -0x2c(%rbp)
jmp 0x14ec1
jmp 0x14cd1
jmp 0x14cd3
jmp 0x14cd5
jmp 0x14cd7
jmp 0x14eb8
cmpl $0xf8, -0x44(%rbp)
jae 0x14eb6
movq -0x40(%rbp), %rax
movq -0x38(%rbp), %rcx
subq %rcx, %rax
cmpq $0x4, %rax
jge 0x14d06
movl $0x0, -0x2c(%rbp)
jmp 0x14ec1
cmpl $0xf0, -0x44(%rbp)
jne 0x14d93
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157b0
movzbl %al, %eax
movl %eax, -0x48(%rbp)
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x4c(%rbp)
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x50(%rbp)
cmpl $0x90, -0x48(%rbp)
jb 0x14d8e
cmpl $0xbf, -0x48(%rbp)
ja 0x14d8e
cmpl $0x80, -0x4c(%rbp)
jb 0x14d8e
cmpl $0xbf, -0x4c(%rbp)
ja 0x14d8e
cmpl $0x80, -0x50(%rbp)
jb 0x14d8e
cmpl $0xbf, -0x50(%rbp)
ja 0x14d8e
movl $0x4, -0x2c(%rbp)
jmp 0x14ec1
jmp 0x14eb4
cmpl $0xf1, -0x44(%rbp)
jb 0x14e2d
cmpl $0xf3, -0x44(%rbp)
ja 0x14e2d
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157b0
movzbl %al, %eax
movl %eax, -0x48(%rbp)
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x4c(%rbp)
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x50(%rbp)
cmpl $0x80, -0x48(%rbp)
jb 0x14e28
cmpl $0xbf, -0x48(%rbp)
ja 0x14e28
cmpl $0x80, -0x4c(%rbp)
jb 0x14e28
cmpl $0xbf, -0x4c(%rbp)
ja 0x14e28
cmpl $0x80, -0x50(%rbp)
jb 0x14e28
cmpl $0xbf, -0x50(%rbp)
ja 0x14e28
movl $0x4, -0x2c(%rbp)
jmp 0x14ec1
jmp 0x14eb2
cmpl $0xf4, -0x44(%rbp)
jne 0x14eb0
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157b0
movzbl %al, %eax
movl %eax, -0x48(%rbp)
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x4c(%rbp)
movq -0x40(%rbp), %rsi
leaq -0x38(%rbp), %rdi
callq 0x157e0
movzbl %al, %eax
movl %eax, -0x50(%rbp)
cmpl $0x80, -0x48(%rbp)
jb 0x14eae
cmpl $0x8f, -0x48(%rbp)
ja 0x14eae
cmpl $0x80, -0x4c(%rbp)
jb 0x14eae
cmpl $0xbf, -0x4c(%rbp)
ja 0x14eae
cmpl $0x80, -0x50(%rbp)
jb 0x14eae
cmpl $0xbf, -0x50(%rbp)
ja 0x14eae
movl $0x4, -0x2c(%rbp)
jmp 0x14ec1
jmp 0x14eb0
jmp 0x14eb2
jmp 0x14eb4
jmp 0x14eb6
jmp 0x14eb8
jmp 0x14eba
movl $0x0, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
movl %eax, -0x98(%rbp)
cmpl $0x0, %eax
je 0x14ed4
jmp 0x14a6f
movq -0x68(%rbp), %rax
movq (%rax), %rcx
addq $-0x1, %rcx
movq %rcx, (%rax)
jmp 0x14f10
movq -0x68(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %edi
callq 0x15150
testb $0x1, %al
jne 0x14ef9
jmp 0x14f0e
movq -0x78(%rbp), %rdi
movl $0x1, %esi
callq 0x12080
andb $0x1, %al
movb %al, -0x51(%rbp)
jmp 0x14f3a
jmp 0x14f10
jmp 0x14f12
jmp 0x14f14
movq -0x68(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
jmp 0x1445d
movq -0x78(%rbp), %rdi
movl $0x1, %esi
callq 0x12080
andb $0x1, %al
movb %al, -0x51(%rbp)
movb -0x51(%rbp), %al
andb $0x1, %al
addq $0xa0, %rsp
popq %rbp
retq
nopl (%rax,%rax)