// File: /workspace/github_cpp_makefile_star2_O2/lukasz-wiecaszek[P]h264iframedecoder/./ref_pic_list_modification.hpp
// Function: ymn::h264::ref_pic_list_modification::to_string[abi:cxx11]() const
inline std::string ref_pic_list_modification::to_string() const
{
    std::ostringstream stream;

    stream << "  reference picture list modification:" << std::endl;

    stream << P2(ref_pic_list_modification_flag_lx);
    if (ref_pic_list_modification_flag_lx) {
        uint32_t modification_of_pic_nums_idc;
        std::size_t i = 0;

        do {
            modification_of_pic_nums_idc = m[i].modification_of_pic_nums_idc;

            stream << P3(m[i].modification_of_pic_nums_idc);

            if (modification_of_pic_nums_idc == 0 || modification_of_pic_nums_idc == 1)
                stream << P3(m[i].u.abs_diff_pic_num_minus1);
            else
            if (modification_of_pic_nums_idc == 2)
                stream << P3(m[i].u.long_term_pic_num);

            i++;
        } while ((i < TABLE_ELEMENTS(m)) && (modification_of_pic_nums_idc != 3));
    }

    return stream.str();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x188, %rsp            # imm = 0x188
movq %rsi, %r14
movq %rdi, 0x8(%rsp)
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x21e0
leaq 0xac4f(%rip), %rsi      # 0x1815a
movq %rbx, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x20b0
movq (%rbx), %rax
movq -0x18(%rax), %rax
movq $0x4, 0x20(%rsp,%rax)
leaq 0xb7f9(%rip), %rsi      # 0x18d2b
movq %rbx, %rdi
callq 0x2120
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq $0x2c, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl $0xffffff4f, %esi       # imm = 0xFFFFFF4F
movl 0x18(%rax,%rcx), %edx
andl %esi, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0xac1a(%rip), %rsi      # 0x18181
movq %rax, %rdi
callq 0x2120
leaq 0x6b31(%rip), %rsi      # 0x140a7
movq %rax, %rdi
callq 0x2120
leaq 0x6a9f(%rip), %rsi      # 0x14024
movq %rax, %rdi
callq 0x2120
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movl 0xc(%r14), %esi
movq %rax, %rdi
callq 0x20e0
leaq 0x6a72(%rip), %rsi      # 0x14027
movq %rax, %rdi
callq 0x2120
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
movl 0xc(%r14), %esi
movq %rax, %rdi
callq 0x20e0
leaq 0x7511(%rip), %rsi      # 0x14af6
movq %rax, %rdi
callq 0x2120
movq %rax, %rdi
callq 0x20b0
cmpl $0x0, 0xc(%r14)
je 0xd7ec
xorl %ebp, %ebp
leaq 0x6a1e(%rip), %r13      # 0x14027
leaq 0x74e6(%rip), %r15      # 0x14af6
movl 0x10(%r14,%rbp,8), %ebx
movq 0x10(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x6, 0x20(%rsp,%rax)
leaq 0x10(%rsp), %rdi
leaq 0xb6f8(%rip), %rsi      # 0x18d2b
callq 0x2120
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq $0x2a, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
movl $0xffffff4f, %esi       # imm = 0xFFFFFF4F
andl %esi, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
leaq 0xab3b(%rip), %rsi      # 0x181a3
callq 0x2120
movq %rax, %rdi
leaq 0x6a30(%rip), %rsi      # 0x140a7
callq 0x2120
movq %rax, %rdi
leaq 0x699e(%rip), %rsi      # 0x14024
callq 0x2120
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movl 0x10(%r14,%rbp,8), %esi
movq %rax, %rdi
callq 0x20e0
movq %rax, %rdi
movq %r13, %rsi
callq 0x2120
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
movl 0x10(%r14,%rbp,8), %esi
movq %rax, %rdi
callq 0x20e0
movq %rax, %rdi
movq %r15, %rsi
callq 0x2120
movq %rax, %rdi
callq 0x20b0
leaq 0xaad1(%rip), %r12      # 0x181c5
cmpl $0x2, %ebx
jb 0xd706
leaq 0xaae4(%rip), %r12      # 0x181e4
jne 0xd7da
movq 0x10(%rsp), %rax
movq -0x18(%rax), %rax
movq $0x6, 0x20(%rsp,%rax)
leaq 0x10(%rsp), %rdi
leaq 0xb607(%rip), %rsi      # 0x18d2b
callq 0x2120
movq (%rax), %rcx
movq -0x18(%rcx), %rdx
movq $0x2a, 0x10(%rax,%rdx)
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
movl $0xffffff4f, %esi       # imm = 0xFFFFFF4F
andl %esi, %edx
orl $0x20, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
movq %r12, %rsi
callq 0x2120
movq %rax, %rdi
leaq 0x6943(%rip), %rsi      # 0x140a7
callq 0x2120
movq %rax, %rdi
leaq 0x68b1(%rip), %rsi      # 0x14024
callq 0x2120
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movl 0x14(%r14,%rbp,8), %esi
movq %rax, %rdi
callq 0x20e0
movq %rax, %rdi
movq %r13, %rsi
callq 0x2120
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
movl 0x14(%r14,%rbp,8), %esi
movq %rax, %rdi
callq 0x20e0
movq %rax, %rdi
movq %r15, %rsi
callq 0x2120
movq %rax, %rdi
callq 0x20b0
cmpq $0x2, %rbp
ja 0xd7ec
incq %rbp
cmpl $0x3, %ebx
jne 0xd610
leaq 0x18(%rsp), %rsi
movq 0x8(%rsp), %rbx
movq %rbx, %rdi
callq 0x2230
leaq 0x10(%rsp), %rdi
callq 0x2080
movq %rbx, %rax
addq $0x188, %rsp            # imm = 0x188
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
nop