// File: 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:
subq $0x1f8, %rsp            # imm = 0x1F8
movq %rdi, 0x20(%rsp)
movq %rdi, %rax
movq %rax, 0x28(%rsp)
movq %rdi, 0x1f0(%rsp)
movq %rsi, 0x1e8(%rsp)
movq 0x1e8(%rsp), %rax
movq %rax, 0x38(%rsp)
leaq 0x70(%rsp), %rdi
callq 0x2230
leaq 0x70(%rsp), %rdi
leaq 0x17d83(%rip), %rsi     # 0x23cda
callq 0x2140
movq %rax, %rdi
movq 0x22042(%rip), %rsi     # 0x2dfa8
callq 0x2180
movl $0x4, %edi
callq 0x45f0
movl %eax, 0x6c(%rsp)
movl 0x6c(%rsp), %esi
leaq 0x70(%rsp), %rdi
callq 0x21b0
movq %rax, %rdi
leaq 0x1c201(%rip), %rsi     # 0x28192
callq 0x2140
movq %rax, 0x30(%rsp)
movl $0x2c, %edi
callq 0x45f0
movq 0x30(%rsp), %rdi
movl %eax, 0x68(%rsp)
movl 0x68(%rsp), %esi
callq 0x21b0
movq %rax, %rdi
leaq -0x79b1(%rip), %rsi     # 0x4610
callq 0x20a0
movq %rax, %rdi
leaq 0x17d31(%rip), %rsi     # 0x23d01
callq 0x2140
movq %rax, %rdi
leaq 0x18367(%rip), %rsi     # 0x24346
callq 0x2140
movq %rax, %rdi
leaq 0x1724f(%rip), %rsi     # 0x2323d
callq 0x2140
movq %rax, %rdi
leaq -0x79cd(%rip), %rsi     # 0x4630
callq 0x20a0
movq %rax, %rdi
movq 0x38(%rsp), %rax
movl 0xc(%rax), %esi
callq 0x2220
movq %rax, %rdi
leaq 0x17224(%rip), %rsi     # 0x23240
callq 0x2140
movq %rax, %rdi
leaq -0x79db(%rip), %rsi     # 0x4650
callq 0x20a0
movq %rax, %rdi
movq 0x38(%rsp), %rax
movl 0xc(%rax), %esi
callq 0x2220
movq %rax, %rdi
leaq 0x18373(%rip), %rsi     # 0x243bd
callq 0x2140
movq %rax, %rdi
movq 0x21f4f(%rip), %rsi     # 0x2dfa8
callq 0x2180
movq 0x38(%rsp), %rax
cmpl $0x0, 0xc(%rax)
je 0xc3df
movq $0x0, 0x58(%rsp)
movq 0x38(%rsp), %rax
movq 0x58(%rsp), %rcx
movl 0x10(%rax,%rcx,8), %eax
movl %eax, 0x64(%rsp)
movl $0x6, %edi
callq 0x45f0
movl %eax, 0x54(%rsp)
movl 0x54(%rsp), %esi
leaq 0x70(%rsp), %rdi
callq 0x21b0
movq %rax, %rdi
leaq 0x1c0e4(%rip), %rsi     # 0x28192
callq 0x2140
movq %rax, 0x18(%rsp)
movl $0x2a, %edi
callq 0x45f0
movq 0x18(%rsp), %rdi
movl %eax, 0x50(%rsp)
movl 0x50(%rsp), %esi
callq 0x21b0
movq %rax, %rdi
leaq -0x7ace(%rip), %rsi     # 0x4610
callq 0x20a0
movq %rax, %rdi
leaq 0x17c36(%rip), %rsi     # 0x23d23
callq 0x2140
movq %rax, %rdi
leaq 0x1824a(%rip), %rsi     # 0x24346
callq 0x2140
movq %rax, %rdi
leaq 0x17132(%rip), %rsi     # 0x2323d
callq 0x2140
movq %rax, %rdi
leaq -0x7aea(%rip), %rsi     # 0x4630
callq 0x20a0
movq %rax, %rdi
movq 0x38(%rsp), %rax
movq 0x58(%rsp), %rcx
movl 0x10(%rax,%rcx,8), %esi
callq 0x2220
movq %rax, %rdi
leaq 0x17101(%rip), %rsi     # 0x23240
callq 0x2140
movq %rax, %rdi
leaq -0x7afe(%rip), %rsi     # 0x4650
callq 0x20a0
movq %rax, %rdi
movq 0x38(%rsp), %rax
movq 0x58(%rsp), %rcx
movl 0x10(%rax,%rcx,8), %esi
callq 0x2220
movq %rax, %rdi
leaq 0x1824a(%rip), %rsi     # 0x243bd
callq 0x2140
movq %rax, %rdi
movq 0x21e26(%rip), %rsi     # 0x2dfa8
callq 0x2180
cmpl $0x0, 0x64(%rsp)
je 0xc199
cmpl $0x1, 0x64(%rsp)
jne 0xc29d
movl $0x6, %edi
callq 0x45f0
movl %eax, 0x4c(%rsp)
movl 0x4c(%rsp), %esi
leaq 0x70(%rsp), %rdi
callq 0x21b0
movq %rax, %rdi
leaq 0x1bfd3(%rip), %rsi     # 0x28192
callq 0x2140
movq %rax, 0x10(%rsp)
movl $0x2a, %edi
callq 0x45f0
movq 0x10(%rsp), %rdi
movl %eax, 0x48(%rsp)
movl 0x48(%rsp), %esi
callq 0x21b0
movq %rax, %rdi
leaq -0x7bdf(%rip), %rsi     # 0x4610
callq 0x20a0
movq %rax, %rdi
leaq 0x17b47(%rip), %rsi     # 0x23d45
callq 0x2140
movq %rax, %rdi
leaq 0x18139(%rip), %rsi     # 0x24346
callq 0x2140
movq %rax, %rdi
leaq 0x17021(%rip), %rsi     # 0x2323d
callq 0x2140
movq %rax, %rdi
leaq -0x7bfb(%rip), %rsi     # 0x4630
callq 0x20a0
movq %rax, %rdi
movq 0x38(%rsp), %rax
movq 0x58(%rsp), %rcx
movl 0x14(%rax,%rcx,8), %esi
callq 0x2220
movq %rax, %rdi
leaq 0x16ff0(%rip), %rsi     # 0x23240
callq 0x2140
movq %rax, %rdi
leaq -0x7c0f(%rip), %rsi     # 0x4650
callq 0x20a0
movq %rax, %rdi
movq 0x38(%rsp), %rax
movq 0x58(%rsp), %rcx
movl 0x14(%rax,%rcx,8), %esi
callq 0x2220
movq %rax, %rdi
leaq 0x18139(%rip), %rsi     # 0x243bd
callq 0x2140
movq %rax, %rdi
movq 0x21d15(%rip), %rsi     # 0x2dfa8
callq 0x2180
jmp 0xc3a9
cmpl $0x2, 0x64(%rsp)
jne 0xc3a7
movl $0x6, %edi
callq 0x45f0
movl %eax, 0x44(%rsp)
movl 0x44(%rsp), %esi
leaq 0x70(%rsp), %rdi
callq 0x21b0
movq %rax, %rdi
leaq 0x1bec4(%rip), %rsi     # 0x28192
callq 0x2140
movq %rax, 0x8(%rsp)
movl $0x2a, %edi
callq 0x45f0
movq 0x8(%rsp), %rdi
movl %eax, 0x40(%rsp)
movl 0x40(%rsp), %esi
callq 0x21b0
movq %rax, %rdi
leaq -0x7cee(%rip), %rsi     # 0x4610
callq 0x20a0
movq %rax, %rdi
leaq 0x17a57(%rip), %rsi     # 0x23d64
callq 0x2140
movq %rax, %rdi
leaq 0x1802a(%rip), %rsi     # 0x24346
callq 0x2140
movq %rax, %rdi
leaq 0x16f12(%rip), %rsi     # 0x2323d
callq 0x2140
movq %rax, %rdi
leaq -0x7d0a(%rip), %rsi     # 0x4630
callq 0x20a0
movq %rax, %rdi
movq 0x38(%rsp), %rax
movq 0x58(%rsp), %rcx
movl 0x14(%rax,%rcx,8), %esi
callq 0x2220
movq %rax, %rdi
leaq 0x16ee1(%rip), %rsi     # 0x23240
callq 0x2140
movq %rax, %rdi
leaq -0x7d1e(%rip), %rsi     # 0x4650
callq 0x20a0
movq %rax, %rdi
movq 0x38(%rsp), %rax
movq 0x58(%rsp), %rcx
movl 0x14(%rax,%rcx,8), %esi
callq 0x2220
movq %rax, %rdi
leaq 0x1802a(%rip), %rsi     # 0x243bd
callq 0x2140
movq %rax, %rdi
movq 0x21c06(%rip), %rsi     # 0x2dfa8
callq 0x2180
jmp 0xc3a9
movq 0x58(%rsp), %rax
addq $0x1, %rax
movq %rax, 0x58(%rsp)
xorl %eax, %eax
cmpq $0x4, 0x58(%rsp)
movb %al, 0x7(%rsp)
jae 0xc3d1
cmpl $0x3, 0x64(%rsp)
setne %al
movb %al, 0x7(%rsp)
movb 0x7(%rsp), %al
testb $0x1, %al
jne 0xc076
jmp 0xc3df
movq 0x20(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x2170
leaq 0x70(%rsp), %rdi
callq 0x2080
movq 0x28(%rsp), %rax
addq $0x1f8, %rsp            # imm = 0x1F8
retq
nopw %cs:(%rax,%rax)
nop